--- /dev/null
+// CS0165: Use of unassigned local variable `v'
+// Line: 52
+
+struct Vector3
+{
+ int field1, field2, field3;
+}
+
+public class C
+{
+ void Update ()
+ {
+ int v1 = 0;
+ int v2 = 0;
+ int v3 = 0;
+ int v4 = 0;
+ int v5 = 0;
+ int v6 = 0;
+ int v7 = 0;
+ int v8 = 0;
+ int v9 = 0;
+ int v10 = 0;
+ int v11 = 0;
+ int v12 = 0;
+ int v13 = 0;
+ int v14 = 0;
+ int v15 = 0;
+ int v16 = 0;
+ int v17 = 0;
+ int v18 = 0;
+ int v19 = 0;
+ int v20 = 0;
+ int v21 = 0;
+ int v22 = 0;
+ int v23 = 0;
+ int v24 = 0;
+ int v25 = 0;
+ int v26 = 0;
+ int v27 = 0;
+ int v29;
+
+ Vector3 v;
+ if (v1 == 0)
+ {
+ v = new Vector3 ();
+ }
+ else if (v2 >= 0.5)
+ {
+ v = new Vector3 ();
+ }
+
+ System.GC.KeepAlive (v);
+ }
+}
\ No newline at end of file
--- /dev/null
+// CS0165: Use of unassigned local variable `v'
+// Line: 52
+
+struct Vector3
+{
+ int field1, field2, field3;
+}
+
+public class C
+{
+ void Update ()
+ {
+ int v1 = 0;
+ int v2 = 0;
+ int v3 = 0;
+ int v4 = 0;
+ int v5 = 0;
+ int v6 = 0;
+ int v7 = 0;
+ int v8 = 0;
+ int v9 = 0;
+ int v10 = 0;
+ int v11 = 0;
+ int v12 = 0;
+ int v13 = 0;
+ int v14 = 0;
+ int v15 = 0;
+ int v16 = 0;
+ int v17 = 0;
+ int v18 = 0;
+ int v19 = 0;
+ int v20 = 0;
+ int v21 = 0;
+ int v22 = 0;
+ int v23 = 0;
+ int v24 = 0;
+ int v25 = 0;
+ int v26 = 0;
+ int v27 = 0;
+ int v29;
+
+ Vector3 v;
+ while (v8 != 0) {
+ v = new Vector3 ();
+ }
+
+ System.GC.KeepAlive (v);
+ }
+}
\ No newline at end of file
var da_false = new DefiniteAssignmentBitSet (fc.DefiniteAssignmentOnFalse);
- fc.DefiniteAssignment = fc.DefiniteAssignmentOnTrue;
+ fc.BranchDefiniteAssignment (fc.DefiniteAssignmentOnTrue);
var labels = fc.CopyLabelStack ();
var res = TrueStatement.FlowAnalysis (fc);
{
expr.FlowAnalysisConditional (fc);
- fc.DefiniteAssignment = fc.DefiniteAssignmentOnTrue;
var da_false = new DefiniteAssignmentBitSet (fc.DefiniteAssignmentOnFalse);
+ fc.BranchDefiniteAssignment (fc.DefiniteAssignmentOnTrue);
+
Statement.FlowAnalysis (fc);
//