In mcs:
[mono.git] / mcs / gmcs / ChangeLog
index 97c1be6581c04ca948bcee9b052c452d4c6fe91f..fcd6a0e93556f5a7f30520a84e8852004d92497e 100644 (file)
@@ -1,5 +1,64 @@
+2006-05-16  Raja R Harinath  <rharinath@novell.com>
+
+       * statement.cs (Goto.Resolve): Merge jump origins here ...
+       * flowanalysis.cs (FlowBranching.Label): ... rather than here.
+
+       * flowanalysis.cs (FlowBranching.LookupLabel): Move CS0159 check ...
+       (FlowBranchingToplevel.LookupLabel): ... here.  Add CS1632 check.
+       (FlowBranchingGoto.LookupLabel): New.  Handle back jumps.
+       (FlowBranchingBlock.LookupLabel): Call LabeledStatement.AddReference
+       here, ...
+       * statement.cs (Goto.Resolve): ... not here.
+       (Goto.Emit): Remove CS1632 check.
+
+2006-05-14  Marek Safar  <marek.safar@seznam.cz>
+
+       * ecore.cs (Expression.ResolveAsTypeTerminal): Fixed type in the obsolete
+       error message.
+
+2006-05-11  Raja R Harinath  <rharinath@novell.com>
+
+       * flowanalysis.cs (UsageVector.MergeJumpOrigins): Kill.
+       (FlowBranchingBlock.Label): Use UsageVector.MergeOrigins.
+       (FlowBranchingException.Label): Likewise.
+
+       * flowanalysis.cs (MyBitVector.SetAll): New.  Sets all bits to the
+       given value.
+       (MyBitVector.Or): Use it to avoid losing information (Count).
+       (FlowBranching.MergeOrigins): Likewise.
+
+       * flowanalysis.cs (UsageVector.IsDirty): Remove.
+       (UsageVector.Parameters, UsageVector.ParameterVector): Likewise.
+       (UsageVector.Locals, UsageVector.LocalVector): Likewise.
+       (UsageVector.ToString): Simplify.
+       (UsageVector.MergeSiblings): Move here from ...
+       (FlowBranching.Merge): ... here.
+       (FlowBranchingToplevel.CheckOutParameters): Take an UsageVector,
+       not a MyBitVector.
+
+2006-05-10  Raja R Harinath  <rharinath@novell.com>
+
+       * flowanalysis.cs (UsageVector.MergeOrigins): Simplify, now that a
+       null bitvector is treated as all-true.
+
+       * flowanalysis.cs (MyBitVector.And, MyBitVector.Or): Make lazier.
+       (MyBitVector): Rationalize invariants.  'vector != null' implies
+       that we have our own copy of the bitvector.  Otherwise,
+       'InheritsFrom == null' implies all inherited bits are true.
+
+2006-05-09  Marek Safar  <marek.safar@seznam.cz>
+
+       * statement.cs (LocalInfo): Add IsConstant.
+       (LocalInfo.DeclareLocal): Moved from EmitMeta and changed to don't emit
+       local variable for constants.
+
 2006-05-09  Raja R Harinath  <rharinath@novell.com>
 
+       * flowanalysis.cs (MyBitVector.Empty): New.
+       (MyBitVector): Don't allow InheritedFrom to be null.
+       (MyBitVector.And, MyBitVector.Or): Treat 'null' as all-ones.
+       (UsageVector, FlowBranching): Update to changes.
+
        * flowanalysis.cs (FlowBranching.InTryWithCatch): Don't terminate
        recursion.  The 'Parent == null' condition isn't sufficient for
        anonymous methods.