2004-01-04 David Sheldon <dave-mono@earth.li>
[mono.git] / mcs / mcs / ChangeLog
index 50368a2e573d02f3357fb244cbdd0df039d9b1d6..b7d35f1193feb561873fe05616f14141df49b029 100755 (executable)
@@ -1,3 +1,127 @@
+2004-01-04  David Sheldon <dave-mono@earth.li>
+
+  * expression.cs: Added matching ")" to error message for 
+  CS0077
+
+2004-01-03 Todd Berman <tberman@gentoo.org>
+       
+       * ecore.cs, attribute.cs:
+       Applying fix from #52429.
+
+2004-01-03 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * ecore.cs, expression.cs, statement.cs:
+       Total rewrite of how we handle branching. We
+       now handle complex boolean expressions with fewer
+       jumps. As well if (x == 0) no longer emits a ceq.
+
+       if (x is Foo) is much faster now, because we generate
+       better code.
+
+       Overall, we get a pretty big improvement on our benchmark
+       tests. The code we generate is smaller and more readable.
+
+       I did a full two-stage bootstrap. The patch was reviewed
+       by Martin and Miguel.
+
+2004-01-03 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * cs-parser.jay: Make primary_expression not take a QI.
+       we dont need this because the member_access rule covers
+       us here. So we replace the rule with just IDENTIFIER.
+
+       This has two good effects. First, we remove a s/r conflict.
+       Second, we allocate many fewer QualifiedIdentifier objects.
+
+2004-01-03 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * attribute.cs: Handle MarshalAs attributes as pseudo, and
+       set the correct information via SRE. This prevents
+       hanging on the MS runtime. Fixes #29374.
+
+2004-01-03 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * convert.cs: correctly handle conversions to value types
+       from Enum and ValueType as unboxing conversions.
+
+       Fixes bug #52569. Patch by Benjamin Jemlich.
+
+2004-01-02  Ravi Pratap  <ravi@ximian.com>
+
+       * expression.cs (BetterConversion): Prefer int -> uint
+       over int -> ulong (csc's behaviour). This fixed bug #52046.
+
+2004-01-02 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * decl.cs (MemberCache.FindMembers): now returns a
+       MemberInfo [].
+
+       * typemanager.cs: In general, go with with ^^.
+       (CopyNewMethods): take an IList.
+       (RealMemberLookup): Only allocate an arraylist
+       if we copy from two sets of methods.
+
+       This change basically does two things:
+       1) Fewer array lists allocated due to CopyNewMethods.
+       2) the explicit cast in MemberList costed ALOT.
+
+2004-01-02  Zoltan Varga  <vargaz@freemail.hu>
+
+       * cs-tokenizer.cs (consume_identifier) driver.cs: Cache identifiers in
+       a hashtable to avoid needless string allocations when an identifier is
+       used more than once (the common case).
+
+2004-01-01 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * pending.cs: MS's TypeBuilder.GetInterfaces ()
+       is broken, it will not return anything. So, we
+       have to use the information we have in mcs to
+       do the task.
+
+       * typemanager.cs: Add a cache for GetInterfaces,
+       since this will now be used more often (due to ^^)
+
+       (GetExplicitInterfaces) New method that gets the
+       declared, not effective, interfaces on a type
+       builder (eg, if you have interface IFoo, interface
+       IBar, Foo : IFoo, Bar : Foo, IBar, GetExplInt (Bar) ==
+       { IBar }.
+
+       This patch makes MCS able to bootstrap itself on
+       Windows again.
+
+2004-01-01 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * expression.cs: Remove the Nop's that Miguel put
+       in by mistake.
+
+2003-12-31 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * report.cs, codegen.cs: Give the real stack trace to
+       the error when an exception is thrown.
+
+2003-12-31 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * decl.cs: only allocate hashtables for ifaces if 
+       it is an iface!
+
+2003-12-31 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * expression.cs: fix the error from cs0121-2.cs
+       (a parent interface has two child interfaces that
+       have a function with the same name and 0 params
+       and the function is called through the parent).
+
+2003-12-30 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * class.cs, rootcontext.cs, typmanager.cs: do not
+       leak pointers.
+
+2003-12-28 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * codegen.cs: remove stack for the ec flow branching.
+       It is already a linked list, so no need.
+
 2003-12-27 Ben Maurer  <bmaurer@users.sourceforge.net>
 
        * Makefile: Allow custom profiler here.