2008-12-30 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / ChangeLog
index e41b6cf9395bdf87a14e31a2558ede906b2ebf77..fb9bce2d368262795ff7a093d54e2617efd2e0a8 100644 (file)
@@ -1,3 +1,434 @@
+2008-12-30  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs (As): Mutate all type arguments.
+
+2008-12-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #462622
+       * anonymous.cs: Resolve anonymous type GetHashCode in unchecked
+       context.
+
+2008-12-29  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #450782
+       * ecore.cs: Consider more variables of form V.I to be fixed.
+
+2008-12-18  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #457087
+       * generic.cs: Don't crash when constraint comes from type
+       declaration.
+
+2008-12-03  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, namespace.cs, driver.cs: Allow ExtensionAttribute
+       to be imported from any assembly.
+
+2008-11-25  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #447027
+       * anonymous.cs (HoistedVariable): Cache also outer access to deal
+       with context variables stored as expression instances.
+
+2008-11-17  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #445303
+       * location.cs (IsConditionalDefined): Handle undefined global
+       defines.
+
+2008-11-17  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #444678
+       * expression.cs (TryReduceConstant): Always create new constant
+       instance.
+
+2008-11-17  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #444673
+       * ecore.cs: Ignore open generic types when used as generic type
+       instance fields.
+
+2008-11-13  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #444271
+       * anonymous.cs: Rescan parent storeys when best candidate was
+       undone.
+
+2008-11-10  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #442610
+       * anonymous.cs (MutateConstructor): More SRE hacking.
+
+2008-11-10  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #442579
+       * ecore.cs: Also initialize expanded form of a method with 1 params
+       parameter.
+
+2008-11-06  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs (UnaryMutator): Do early l-side check.
+
+2008-11-05  Miguel de Icaza  <miguel@novell.com>
+
+       * codegen.cs (InitDynamic): also setup Assembly.Name like we do in
+       Init, otherwise we would crash later on when checking for friend
+       assemblies. 
+
+       * eval.cs: Do not hide errors from invalid calls to LoadAssembly.
+       Otherwise we never get any meaningful information as to what
+       failed. 
+
+2008-11-05  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #436318
+       * driver.cs, report.cs: Add -warnaserror:Wn to command line options.
+
+2008-11-05  Miguel de Icaza  <miguel@novell.com>
+
+       * namespace.cs: Turns out that it was a really bad idea to hide
+       the errors for namespaces not found here in eval mode.    
+
+       * eval.cs: When we process using clauses, only enter those into
+       the list of valid using clauses after they have been validated.   
+
+       The above change gives the proper semantics: it does not
+       senselessly report the same errors with broken using statements by
+       never storing them in the first place when they are invalid.
+
+2008-11-05  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #421839
+       * cs-parser.jay: Remove expression from coalesce rule to force lower
+       priority than the assignment operator.
+
+2008-11-05  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #437875
+       * nullable.cs: Compile correctly method group operand used with null
+       coalescing operator.
+
+2008-11-04  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #434589
+       * expression.cs (Binary): Ignore lifted conversions when at least
+       one operand is of reference type.
+
+2008-11-04  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Better syntax error report.
+
+2008-11-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #436792
+       * cs-parser.jay: Use GetLocation to access location.
+
+2008-11-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #440774
+       * cs-parser.jay: Also set current_array_type when parsing local
+       variables types.
+
+2008-11-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #440785
+       * expression.cs (As): Don't resolve self modifing expression
+       multiple times.
+
+2008-11-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #439447
+       * cs-tokenizer.cs: Tokenize surrogates only where allowed.
+
+2008-11-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #437571
+       * cs-parser.jay: Fixes internal error for invalid expression
+       statements.
+
+2008-10-17  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs: Resolve correctly ambiguous params delegate methods.
+
+2008-10-17  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs, anonymous.cs: Simplified GetDeclarations.
+
+2008-10-17  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs: More precise cast parsing.
+
+2008-10-16  Martin Baulig  <martin@ximian.com>
+
+       * anonymous.cs (AnonymousMethodStorey): Put back the
+       `hoisted_locals' hashtable and use it in EmitType().
+
+2008-10-15  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, nullable.cs, expression.cs, statement.cs,
+       cs-parser.jay: Tokenizer optimizations and memory reduction, saves
+       ~5MB for corlib.
+
+2008-10-14  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs: Add bool type to the list of valid cast tokens.
+
+2008-10-14  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs: Mutate scope initializers.
+
+2008-10-14  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs: Use typeless value for This constant.
+       
+       * ecore.cs: Access FieldInfo via GetConstructedFieldInfo.
+
+2008-10-14  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, cs-parser.jay: Unify context sensite keyword
+       tokenizer.
+
+2008-10-13  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs: Add missing alias qualifier and dotted generic
+       type to type cast.
+
+2008-10-13  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, expression.cs, cs-parser.jay: Reworked parens
+       parser and tokenizer. Fixes many ambiguities including #433258.
+
+2008-10-10  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Fixed missing accessor recovery.
+
+2008-10-10  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #433701
+       * expression.cs: Better error message.
+
+2008-10-10  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay, expression.cs: Start reporting real parser errors.
+       
+       * Makefile: Disabled unused debug symbols.
+
+       Also fixes: #320556, #321097, #321656, #321876, #351316
+
+2008-10-09  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs: rename "<interactive>" to "{interactive}", to work
+       around a requirement in the compiler that this be a valid
+       filename, and in Windows it is not (433886).
+
+2008-10-09  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, cs-parser.jay: Fixed more subtle parser problems
+
+2008-10-08  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, eval.cs, anonymous.cs, statement.cs, class.cs
+       cs-parser.jay: Generic type declaration and type arguments cleanup.
+
+2008-10-05  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Allow parsing weird array creation construct.
+
+2008-10-05  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Conflicts reduction.
+
+2008-10-04  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Conflicts reduction.
+
+2008-10-04  Raja R Harinath  <harinath@hurrynot.org>
+
+       Fix #398325
+       * flowanalysis.cs (MyBitvector.MakeShared): Rename from 'Shared'
+       property.  Add a 'count' hint about the use of the shared vector.
+       Ensure that we don't leak out dirty bits.
+       (UsageVector.MergeChild): Throw away information about variables
+       in child vectors.
+       Based on patch and analysis by Moritz Kroll <Moritz.Kroll@gmx.de>.
+
+2008-10-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #431746
+       * iterators.cs, anonymous.cs: Re-initialize hoisted iterator
+       parameters when iterator is created.
+
+2008-10-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #431827
+       * expression.cs: Fixed right based pointer arithmetic operations
+       emit.
+
+2008-10-03  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #353779
+       * assign.cs, expression.cs: Fixed compound assignment conversions.
+
+2008-10-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #375262
+       * statement.cs: Refactor ArrayForeach to be usable with string
+       indexer. Optimized single dimentional arrays foreach.
+
+2008-10-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #431255
+       * anonymous.cs, expression.cs: Removed broken optimization.
+
+2008-10-01  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs: Use full type parameters of parent generic
+       containers. Removed unnecessary AddParentStoreyReference call.
+
+2008-10-01  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #324702
+       * class.cs: Use better shorter names for explicit interface member
+       implementations.
+
+       * ecore.cs, typemanager.cs: Convert only mscorlib predefined names.
+
+2008-10-01  Marek Safar  <marek.safar@gmail.com>
+       
+       * expression.cs: Use new interface to check fixed expression.
+
+2008-10-01  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #421101
+       * expression.cs, statement.cs, ecore.cs: Use IFixedExpression
+       interface to check for fixed fixed-buffers.
+
+2008-10-01  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #429264
+       * assign.cs, anonymous.cs, ecore.cs: More type mutators added.
+       
+       * delegate.cs: Removed unnecessary casts.
+
+2008-09-30  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #352151
+       * decl.cs, iterators.cs, anonymous.cs, report.cs, namespace.cs,
+       class.cs: Fixed already defined explicit interface members check.
+
+2008-09-29  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       cs-tokenizer.cs: Fix typo.
+
+2008-09-28  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs (InteractiveBase): The quit command now just sets a
+       flag, instead of calling Environment.Exit(), it is milder on
+       embedded hosts. 
+
+       CompiledMethod is now in Mono.CSharp, not nested inside
+       the Evaluator, it was inconvenient to use.
+
+2008-09-27  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs (Evaluator): Introduce Compile method, to allow compiled
+       code to be invoked without having to reparse.
+
+2008-09-27  Miguel de Icaza  <miguel@novell.com>
+
+       * ecore.cs: The recent changes to FieldExpr broke this as well.
+       Fixes LINQ queries in the interactive shell.
+
+       * Multiple files: indentation fixing for the Mono coding
+       guidelines for the switch statement.
+
+       * eval.cs: Make the Evaluator API thread safe.
+
+2008-09-26  Marek Safar  <marek.safar@gmail.com>
+
+       * anonymous.cs, statement.cs, class.cs, cs-parser.jay: Simplified
+       constructor parsing.
+
+2008-09-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #325326
+       * statement.cs: Check possible mistaken empty statement using
+       explicit blocks only.
+
+2008-09-25  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs (LoadAssembly, ReferenceAssembly): Call
+       RootNamespace.ComputeNamespaces to update the internal list of
+       namespaces, this is no longer done for us.
+
+       (InteractiveBase): Use the Evaluator APIs instead of calling into
+       Driver directly
+
+2008-09-25  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #429264
+       * expression.cs: Missing mutator for access to multidimensional
+       arrays.
+
+2008-09-25  Marek Safar  <marek.safar@gmail.com>
+
+       * class.cs, statement: Emit DebuggerHidden attribute for iterator
+       entry wrapper.
+       
+       * driver.cs: Missing input argument check.
+
+2008-09-25  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, generic.cs, eval.cs, decl.cs, anonymous.cs,
+       expression.cs, statement.cs, rootcontext.cs, class.cs, 
+       cs-parser.jay, driver.cs, generic-mcs.cs, enum.cs: Removed obsolete
+       DefineMembers.
+
+2008-09-24  Miguel de Icaza  <miguel@novell.com>
+
+       * ecore.cs (FieldExpr): Only initialize eclass when we return a
+       fully constructed FieldExpr, fixes the regression introduced in
+       the last commit.
+       
+       * ecore.cs, expression.cs: Plug back the eclass initialization as
+       otherwise it regresses `csharp'. 
+
+2008-09-24  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, decl.cs, convert.cs, assign.cs, expression.cs,
+       ecore.cs, attribute.cs: Moved obsolete method checks from emit
+       phase to resolve phase. It resolves problems with expression trees
+       and fixes bugs #323796, #325156.
+
+2008-09-23  Marek Safar  <marek.safar@gmail.com>
+
+       * codegen.cs: Report better error when symbol writer is missing.
+
+2008-09-23  Marek Safar  <marek.safar@gmail.com>
+
+       * codegen.cs: Set .NET symbol writer.
+       
+       * decl.cs: Guard against null generic arguments.
+       
+       * report.cs: Don't report exactly same additional details.
+
+2008-09-22  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #324917
+       * cs-parser.jay: Add missing multidimensional non-expression type
+       ranks.
+       
+2008-09-22  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #428191
+       * anonymous.cs: Create an outer generic fields also for non-storey
+       anonymous methods.
+
+2008-09-22  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #378294
+       * class.cs: Make fixed size buffers gmcs feature only.
+
 2008-09-22  Marek Safar  <marek.safar@gmail.com>
 
        A fix for bug #355622, #324993