+2006-05-26 Miguel de Icaza <miguel@novell.com>
+
+ * cs-parser.jay: Catch another parsing form for arglist being
+ followed by other arguments. Fixes #78313.
+
+2006-05-25 Raja R Harinath <rharinath@novell.com>
+
+ Fix #78324
+ * expression.cs (Binary.DoResolve): Use Nullable.LiftedBinaryOperator
+ also when one of the operands is a null literal.
+ * generic.cs (Nullable.LiftedBinaryOperator.EmitEquality): Rewrite
+ to improve clarity, and generate slightly better code.
+
+2006-05-24 Raja R Harinath <rharinath@novell.com>
+
+ * flowanalysis.cs (FlowBranchingToplevel.AddReturnOrigin): Move
+ checking of out parameters to ...
+ (FlowBranchingToplevel.Merge): ... here.
+ (FlowBranchingException.AddBreakOrigin): If 'finally_vector' is
+ set, propagate the origin upward, and only complain if there was
+ no other error.
+ (FlowBranchingException.AddContinueOrigin): Likewise.
+ (FlowBranchingException.AddReturnOrigin): Likewise.
+ (FlowBranchingException.AddGotoOrigin): Likewise.
+
+2006-05-23 Raja R Harinath <rharinath@novell.com>
+
+ * flowanalysis.cs (UsageVector.MergeOrigins): If an origin is
+ unreachable, skip it.
+ (FlowBranchingException.Merge): Always propagate jumps, even if
+ the finally block renders subsequent code unreachable.
+
2006-05-18 Raja R Harinath <rharinath@novell.com>
+ Fix #77601
+ * statement.cs (Goto.Resolve): Move responsibility for resolving
+ 'goto' to FlowBranching.AddGotoOrigin.
+ (Goto.SetResolvedTarget): New. Callback to set the
+ LabeledStatement that's the target of the goto.
+ (Goto.DoEmit): Use Leave instead of Br when crossing an
+ unwind-protect boundary.
+ * flowanalysis.cs (FlowBranching.AddGotoOrigin): Rename from
+ LookupLabel and adjust to new semantics.
+ (FlowBranchingToplevel.AddGotoOrigin): Likewise.
+ (FlowBranchingBlock.AddGotoOrigin): Likewise. Use
+ Goto.SetResolvedTarget to update target.
+ (FlowBranchingLabeled.AddGotoOrigin): Likewise.
+ (FlowBranchingException.AddGotoOrigin): Rewrite to be similar to
+ AddBreakOrigin & co. Delay propagation until ...
+ (FlowBranchingException.Merge): ... this.
+
+ * statement.cs (Block.Resolve): Always depend on flow-branching to
+ determine unreachability. Kill workaround that originally emitted
+ only one statement after an "unreachable" label (see infloop in
+ test-515.cs).
+
Fix #77869, #76148, #77755, #75255 and a host of other bugs.
This is still "wrong", but anything better would probably need a
multi-pass algorithm.