2010-04-28 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / ChangeLog
index 5e6b3a234fb5e85b3128f7de9e56d124d22e9d29..edbf94e071a33c608ae74051919d803d68ad6bfd 100644 (file)
@@ -1,3 +1,417 @@
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #600398
+       * convert.cs: Actually use effective base type for the comparison.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #600326
+       * ecore.cs: Pass arity to base member lookup.
+
+2010-04-28  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #573385
+       * expression.cs: MemberAccess is of generic type based on right
+       arity length only.
+
+2010-05-28  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs: Made tab size configurable.
+
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * attribute.cs: Ensure Obsolete members are defined before doing
+       ctor look-up.
+
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * visit.cs: Add DOM visitor skeleton.
+       
+       * *.cs: Updated.
+
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * attribute.cs, codegen.cs: Drop COMPILER_ACCESS hack.
+       
+2010-05-27  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Major rewrite of compiler internals to better work with
+       unmodified System.Reflection.Emit. Some of the key changes are
+       - TypeSpec replaces reflection specific System.Type.
+       - All Type(TypeSpec) operations are now done in compiler therefore
+       no dependency on SRE to inflate generic members and types or to
+       query unclosed types.
+       - MemberCache is now the only and full hierarchical topology.
+       - Generic constraints are implemented properly.
+       - And as a bonus compilation is on average 30% faster.
+
+2010-04-15  Jb Evain  <jbevain@novell.com>
+
+       * dmcs.exe.config: update the runtime version to .net 4.0 RTM.
+
+2010-04-12  Marek Safar  <marek.safar@gmail.com>
+
+       * expression.cs, attribute.cs, parameter.cs: More attribute type
+       checks.
+
+2010-04-12  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #593342
+
+       * generic.cs, parameter.cs, argument.cs, field.cs, property.cs,
+       decl.cs, roottypes.cs, constant.cs, nullable.cs, expression.cs,
+       method.cs, ecore.cs, class.cs, delegate.cs, attribute.cs,
+       codegen.cs: Add custom attribute encoder to deal with unfinished
+       types and easier corlib bootstrap from its own types.
+
+2010-03-26  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Report invalid constraint types.
+
+2010-03-16  Jb Evain  <jbevain@novell.com>
+
+       * Makefile: rename the net_2_1 profile to moonlight.
+
+2010-03-11  Marek Safar  <marek.safar@gmail.com>
+
+       * statement.cs, cs-parser.jay: Use correct location for empty
+       statements.
+
+2010-03-11  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Disable Location from expression.
+       
+       * generic.cs: Check constraints for overrides in the parser.
+
+2010-03-09  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay (GetLocation): Use an expression when available.
+
+2010-03-04  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #582579
+       * ecore.cs (FieldExpr): Don't optimize cross reference loads.
+
+2010-03-04  Marek Safar  <marek.safar@gmail.com>
+
+       A patch by kornelpal@gmail.com
+       
+       * dynamic.cs, anonymous.cs, rootcontext.cs, class.cs: Don't make
+       compiler generated classes sealed by default. Emit and close top
+       level compiler generated classes as well. 
+       
+       * support.cs: Use RuntimeHelpers.GetHashCode.
+
+2010-03-03  Rolf Bjarne Kvinge  <RKvinge@novell.com>
+
+       * Makefile: We need to use the internal bootstrapping gmcs for
+       net_2_1_bootstrap too now.
+
+2010-03-02  Raja R Harinath  <harinath@hurrynot.org>
+
+       * expression.cs (IndexerAccess.ResolveAccessor): Add CS1540 check.
+
+2010-03-02  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs: Missed few locations in previous fix.
+
+2010-03-02  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, argument.cs, dynamic.cs, assign.cs, anonymous.cs,
+       nullable.cs, expression.cs, statement.cs, cs-parser.jay, cfold.cs:
+       Report correct location for operator errors.
+
+2010-03-02  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs (IsDynamicType): Don't check external types when
+       the attribute is not external.
+
+2010-02-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #582579
+       * decl.cs (IsExposedFromAssembly): Use PartialContainer for parent
+       modifiers.
+
+2010-02-24  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #581804
+       * ecore.cs: Fixed type comparison.
+
+2010-02-08  Miguel de Icaza  <miguel@novell.com>
+
+       * namespace.cs (CompletionGetTypesStartingWith): Do not include
+       private types in the completion results.
+
+       * cs-parser.jay: Bubble completions after "from x in ?" and "from x
+       ... let ?"
+
+2010-02-17  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs, field.cs, decl.cs, cs-parser.jay: Simplify special
+       constraint parsing.
+
+2010-02-14  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs: Do not do the report printer dance unless the user has
+       set the DescribeTypes feature.
+
+2010-02-10  Marek Safar  <marek.safar@gmail.com>
+
+       * argument.cs, dynamic.cs, expression.cs: Track RC API changes.
+
+2010-02-08  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #577029
+       * anonymous.cs: Fixed TypeBuilder* check.
+
+2010-02-06  Miguel de Icaza  <miguel@novell.com>
+
+       * eval.cs (CompileBlock): Also undo if there are problems during
+       semantic analysis, fixes various cases where invalid C# code would
+       be reported, but the internal changes would not be undone.
+
+2010-02-03  Miguel de Icaza  <miguel@novell.com>
+
+       * driver.cs: Change the --fatal flag to allow a number to be
+       passed, this ignores the first N fatal errors.   Useful to debug
+       errors that do not happen on the first hit.
+
+       * cs-parser.jay (invocation_expression): accept both the
+       CLOSE_PARENS and COMPLETE_COMPLETION, this allows completions
+       inside an invocation.
+
+       * driver.cs: Expose FatalErrors.
+
+       * eval.cs: Initialize the printer's Fatal property from the
+       Driver's FatalError flag, this allows csharp --fatal to work
+       again. 
+
+       Add support for calling Describe (typeof (TYPE)) if the expression
+       entered is a TYPE.
+       
+2010-02-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #574991
+       * rootcontext.cs, class.cs, driver.cs: Hide enhanced warnings behind
+       --lint.
+
+2010-02-02  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #575986
+       * expression.cs: Don't mutate typeof type definitions.
+
+2010-01-28  Marek Safar  <marek.safar@gmail.com>
+
+       * decl.cs: Use only one set of modifiers.
+
+2010-01-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #573329
+       * eval.cs: Don't disable error reporting completely on silent mode.
+       
+2010-01-25  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #573312
+       * constant.cs, expression.cs, ecore.cs: Emit correct offset for
+       pointer index of unknown size types greater than 2.
+
+2010-01-15  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Use only 1 member kind enum.
+
+2010-01-15  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Add event specification.
+
+2010-01-14  Marek Safar  <marek.safar@gmail.com>
+
+       * membercache.cs: Extracted from decl.cs.
+       
+       * *.cs: Put more infrastructure in place.
+
+2010-01-13  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Add property specification, unused yet.
+
+2010-01-13  Marek Safar  <marek.safar@gmail.com>
+
+       * property.cs: Move all property based declarations into a new file.
+
+2010-01-13  Marek Safar  <marek.safar at gmail.com>
+
+       * expression.cs (Conditional): Resolve reduced expression.
+
+2010-01-13  Marek Safar  <marek.safar at gmail.com>
+
+       * *.cs: Introduced non-generic method specification.
+
+2010-01-07  Marek Safar  <marek.safar@gmail.com>
+
+       * method.cs: Move all method based declarations into a new file.
+
+2010-01-07  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Extract field specification.
+
+2009-12-17  Marek Safar  <marek.safar@gmail.com>
+
+       * field.cs: Extracted from class.cs
+
+2009-12-15  Marek Safar  <marek.safar@gmail.com>
+
+       * attribute.cs (GetFixedBuffer): Work on field definition only.
+
+2009-12-15  Marek Safar  <marek.safar@gmail.com>
+
+       * *.cs: Clean up NET_4_0 conditional where possible.
+
+2009-12-14 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       support.cs (DynamicType): Assembly property returns the assembly builder.
+       This is required due to how compiler context works in corlib.
+
+2009-12-14  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #564376
+       * assign.cs (LocalTemporary): Removed no longer needed special
+       by-ref handling.
+
+2009-12-11  Marek Safar  <marek.safar@gmail.com>
+
+       * modifiers.cs, decl.cs, iterators.cs, const.cs, anonymous.cs,
+       class.cs, delegate.cs, cs-parser.jay, enum.cs: Turn modifiers into
+       enum for easier debugging.
+
+2009-12-10  Marek Safar  <marek.safar@gmail.com>
+
+       * decl.cs, anonymous.cs, class.cs: Sealed Define it's now main entry
+       point.
+       
+       * parameter.cs, delegate.cs, dynamic.cs: Don't use builder methods
+       directly.
+
+2009-12-10  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay, statement.cs: Handle parser error in code
+       completition.
+
+2009-12-10  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs: Ignore base imported methods when they are already
+       in method bag.
+       
+       * eval.cs: Handle non-existent keys.
+       
+       * report.cs, driver.cs: Make fatal work with console printer only.
+
+2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * typemanager.cs (MakeGenericMethod): Fix stupid mistake.
+
+2009-12-08 Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * typemanager.cs: Add MakeGenericMethod that checks if the method
+       is really the generic method definition.
+
+       ecore.cs (MethodGroupExpr:IsApplicable): Use new TypeManager function
+       to inflate generic methods.
+
+2009-12-08  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #561149
+       * anonymous.cs: Use actual type parameters when checking for generic
+       method host.
+
+2009-12-08  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #561369
+       * expression.cs (DoNumericPromotion): Fixed typo.
+
+2009-12-08  Marek Safar  <marek.safar@gmail.com>
+
+       *.cs: Moving to generics world.
+
+       cs-parser.jay: Removed current_array_type.
+
+2009-12-07  Marek Safar  <marek.safar@gmail.com>
+
+       *.cs: Moving to generics world.
+
+2009-12-04  Marek Safar  <marek.safar@gmail.com>
+
+       *.cs: Moving to generics world (day 2).
+
+2009-12-03  Marek Safar  <marek.safar@gmail.com>
+
+       *.cs: Moving to generics world.
+
+2009-12-02  Marek Safar  <marek.safar@gmail.com>
+
+       * typemanager.cs, parameter.cs, class.cs, delegate.cs, attribute.cs:
+       Encode dynamic type attribute for elements where attributes cannot
+       be used.
+
+2009-12-01  Marek Safar  <marek.safar@gmail.com>
+
+        argument.cs, assign.cs, expression.cs, cs-parser.jay: Named
+        arguments by ref.
+
+2009-12-01  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #360455
+       * class.cs: Never report a unused warning for generic events to
+       workaround wrong expression type.
+
+2009-11-30  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #558305
+       * decl.cs, class.cs: Check partial method definitions using correct
+       flag.
+
+2009-11-30  Marek Safar  <marek.safar@gmail.com>
+
+       * argument.cs: Don't cache rarely used dynamic flag.
+
+2009-11-27  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-parser.jay: Use jay global stacks (saves over 3MB for corlib).
+
+2009-11-27  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs (SimpleName): Removed no longer needed in_transit as
+       Resolve is now non-reentrant (saves ~0.6MB for corlib).
+
+2009-11-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #545081
+       * decl.cs: Check private nested types of nested types recursively.
+
+2009-11-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #558305
+       * location.cs: Ignore self referencing #line directive
+
+2009-11-26  Marek Safar  <marek.safar@gmail.com>
+
+       A fix for bug #558292
+       * class.cs: Allow single unsafe fixed buffer fields.
+
+2009-11-26  Marek Safar  <marek.safar@gmail.com>
+
+       * expression: Optimize few more zero-based operations.
+
+2009-11-26  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, cs-parser.jay: Simplify literal parsing, also
+       avoids boxing of literal values.
+
+2009-11-26  Marek Safar  <marek.safar@gmail.com>
+
+       * cs-tokenizer.cs, argument.cs, eval.cs, linq.cs, decl.cs,
+       expression.cs, ecore.cs, location.cs, cs-parser.jay, attribute.cs,
+       codegen.cs: LocatedToken redesing to avoid excessive allocation and
+       boxing (saves ~7MB for corlib). Also fixes presise token location.
+
 2009-11-25  Marek Safar  <marek.safar@gmail.com>
 
        * ecore.cs, cs-parser.jay: Keep parser structures local. Share