+2006-10-28 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #78998
+ * generic.cs (ConstructedType.AsAccessible): Check accessibility of type
+ arguments as well.
+
+2006-10-26 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #76591
+ * cs-tokenizer.cs (IsCastToken): Enable a cast of anonymous methods.
+
+2006-10-25 Brian Crowell <brian@fluggo.com>
+
+ Fix #79703
+ * generic.cs (CheckConstraints): Allow generic parameters with
+ inheritance constraints to satisfy reference type constraints.
+
+2006-10-09 Martin Baulig <martin@ximian.com>
+
+ * generic.cs
+ (NullCoalescingOperator.DoResolve): Fix #78964; added gtest-294.cs.
+
+2006-09-25 Martin Baulig <martin@ximian.com>
+
+ * class.cs: Remove after unification with mcs source.
+
+2006-09-24 Raja R Harinath <harinath@gmail.com>
+
+ * convert.cs: Remove after unification with mcs source.
+
+2006-09-24 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs (MemberBase.VerifyClsCompliance): When method has type
+ parameters verify them as well.
+
+ * generic.cs (Constraints.VerifyClsCompliance): Verify CLS-Compliance of
+ the type parameter constraints.
+ (Generics.VerifyClsCompliance): Ditto.
+
+2006-09-24 Marek Safar <marek.safar@seznam.cz>
+
+ * anonymous.cs (AnonymousMethod.Compatible): Cannot generate arguments
+ for anonymous block with out argument.
+
+2006-09-24 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs (ClassOrStruct.VerifyMembers): Fixed to report correctly
+ not used private events only.
+
+2006-09-23 Marek Safar <marek.safar@seznam.cz>
+
+ * convert.cs (ImplicitReferenceConversion): NullCast to EmptyConstantCast.
+
+ * cs-parser.jay: Parse correctly cast of default (T).
+
+ * generic.cs (DefaultValueExpression.DoResolve): Check for void type.
+ Store original type via EmptyConstantCast.
+
+2006-09-22 Martin Baulig <martin@ximian.com>
+
+ * delegate.cs: Removed; this file is now shared with mcs.
+
+ * attribute.cs: Removed; this file is now shared with mcs.
+
+2006-09-22 Martin Baulig <martin@ximian.com>
+
+ * ecore.cs: Removed; this file is now shared with mcs.
+
+2006-09-21 Marek Safar <marek.safar@seznam.cz>
+
+ * convert.cs (ImplicitReferenceConversion): Reuse ToType.
+
+ * ecore.cs (NullCast): Derives from NullConstant.
+
+ * generic.cs (DefaultValueExpression): Fixed to cope with the constant
+ results.
+
+2006-09-21 Martin Baulig <martin@ximian.com>
+
+ * decl.cs: Removed; this file is now shared with mcs.
+
+2006-09-21 Raja R Harinath <rharinath@novell.com>
+
+ * rootcontext.cs: Remove after unification with mcs source.
+
+ * report.cs: Remove after unification with mcs source.
+ * generic.cs (AddTypeParameter, LookupTypeParameter): Move to
+ mcs/typemanager.cs.
+ (InitGenerics, CleanUpGenerics): Remove.
+
+ * support.cs: Remove after unification with mcs source.
+
+2006-09-20 Raja R Harinath <rharinath@novell.com>
+
+ * codegen.cs: Remove after unification with mcs source.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * expression.cs: Removed; this file is now shared with mcs.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * generic.cs
+ (TypeManager.IsEqual): Moved into ../mcs/typemanager.cs.
+ (TypeManager.DropGenericTypeArguments): Likewise.
+ (TypeManager.DropGenericMethodArguments): Likewise.
+ (TypeManager.GetTypeArguments): Likewise.
+ (TypeManager.HasGenericArguments): Likewise.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * ecore.cs (PropertyExpr.InstanceResolve): Fix the CS1540 check.
+
+2006-09-19 Martin Baulig <martin@ximian.com>
+
+ * typemanager.cs: Removed; this file is now shared with mcs.
+
+2006-09-16 Raja R Harinath <rharinath@novell.com>
+
+ * Makefile (LOCAL_MCS_FLAGS): Use instead of PROFILE_MCS_FLAGS.
+ * AssemblyInfo.cs, driver.cs: Remove after unification with mcs source.
+
+2006-09-16 Marek Safar <marek.safar@seznam.cz>
+
+ A fix for #79401
+ * class.cs (MethodCore.VerifyClsCompliance): Do check for abstract members
+ only if parent type is class.
+ * decl.cs (MemberCore.GetClsCompliantAttributeValue): Fixed missing cache
+ update.
+
+2006-09-15 Marek Safar <marek.safar@seznam.cz>
+
+ * cs-parser.jay,
+ * expression.cs(MemberAccess.DoResolve): Don't crash when not allowed
+ keywords are used.
+ * typemanager.cs(CSharpName): Converts NullType to null.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * pending.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * statement.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * rootcontext.cs (RootContext.BrokenCircularDeps): Removed.
+
+ * driver.cs: Removed the `--broken-cycles' argument.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * namespace.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * decl.cs (MemberName): Minor code cleanups.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * parameter.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * enum.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * Makefile: Define `GMCS_SOURCE'.
+
+ * flowanalysis.cs: Removed; this file is now shared with mcs.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ Removed modifiers.cs, literal.cs, location.cs, roottypes.cs,
+ assign.cs, const.cs, cfold.cs, constant.cs, symbolwriter.cs and
+ doc.cs - they are now shared with mcs.
+
+ * gmcs.exe.sources: Include these files from ../mcs/.
+
+2006-09-15 Martin Baulig <martin@ximian.com>
+
+ * old-code.cs, gen-il.cs, gen-treedump.cs: Removed old stuff.
+ * g1.cs, sample-hello.cs, sample-stack.il: Likewise.
+
+2006-09-14 Marek Safar <marek.safar@seznam.cz>
+
+ * assign.cs, ecore.cs, expression.cs: Share error message text.
+ * class.cs (FieldMember.Define): Check for variable of static type.
+ * decl.cs (check_type_parameter): Report correct type name.
+ * driver.cs (LoadAssembly): Uses error output for errors.
+ * generic.cs (Constraints.Resolve): Add check for constraint accessibility
+ (TypeArguments.Resolve): Static class cannot be used as an argument.
+ * statement.cs (ResolveMeta): Constants cannot be generic types.
+
+2006-09-12 Martin Baulig <martin@ximian.com>
+
+ * generic.cs (TypeManager.IsIList): Moved into convert.cs.
+
+ * convert.cs (Convert.Array_To_IList): Moved here and correctly
+ implement it; fixes #79345.
+
+2006-09-08 Marek Safar <marek.safar@seznam.cz>
+
+ * decl.cs (DeclSpace.SetParameterInfo): Check for nonexistent type
+ parameter.
+ * expression.cs (TypeOf.GetAttributableValue): Check for open generic
+ types.
+ * generic.cs: Improved error messages.
+ * typemanager.cs (RemoveGenericArity): Made public.
+
+2006-09-08 Martin Baulig <martin@ximian.com>
+
+ * typemanager.cs (TypeManager.interlocked_type): New public field.
+ (TypeManager.int_interlocked_compare-exchange): New public field.
+ (TypeManager.InitEnumUnderlyingTypes): Also initialize the
+ enumerator types here and call InitGenericCoreTypes().
+ (TypeManager.InitCoreTypes): Call InitEnumeratorTypes() right
+ after calling InitEnumUnderlyingTypes().
+
+ * rootcontext.cs
+ (RootContext.ResolveCore): Added `System.Threading.Interlocked' to
+ `classes_second_stage'.
+
+2006-09-07 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs, generic.cs (GenericMethod.Define): Check for type parameter
+ collisions.
+ * statement.cs (Block.Variables): Made public.
+
+2006-09-07 Martin Baulig <martin@ximian.com>
+
+ * driver.cs
+ (MainDriver): Revert r62663 from Marek; see #70506 for details.
+
+2006-09-01 Martin Baulig <martin@ximian.com>
+
+ * generic.cs
+ (TypeManager.IsIList): Also handle base classes and interfaces.
+
+2006-09-01 Raja R Harinath <rharinath@novell.com>
+
+ Fix #79238
+ * expression.cs (Invocation.MoreSpecific): Check for reference
+ types earlier.
+
+2006-08-29 Miguel de Icaza <miguel@novell.com>
+
+ * cs-parser.jay: Turn 1522 into a warning, instead of an error #79210
+
+2006-08-17 Miguel de Icaza <miguel@novell.com>
+
+ * cs-tokenizer.cs: Apply patch from Atsushi Enomoto that fixes
+ #52019 and #79064, the use of the \uXXXX sequence in source code
+ to represent unicode characters.
+
+2006-08-15 Marek Safar <marek.safar@seznam.cz>
+
+ * expression.cs (SizeOf.DoResolve): Check for void type. Fixed enum types
+ support.
+ * class.cs, ecore.cs, statement.cs: Merged to one error message.
+
+2006-08-14 Raja R Harinath <rharinath@novell.com>
+
+ Fix #79067
+ * cs-tokenizer.cs (parse_less_than): Allow '*' to appear in a type
+ parameter too. This only avoids a parse error -- the semantic
+ error is caught elsewhere.
+
+2006-08-13 Miguel de Icaza <miguel@novell.com>
+
+ * assign.cs: Catch attempts to assign to a method groups in += and
+ report as 1656
+
+2006-08-13 Marek Safar <marek.safar@seznam.cz>
+
+ A fix for #79056
+ * cs-parser.jay: Don't destroy current array type by typeof of array's.
+
+2006-08-12 Marek Safar <marek.safar@seznam.cz>
+
+ * cs-parser.jay: Check whether a constraint clause has already been
+ specified for type parameter.
+ * generic.cs (Constraints): Exposed location.
+
+2006-08-12 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs (Method.Define): Issue a warning when generic method looks like
+ an entry point.
+ * decl.cs (MemberCore.GetSignatureForError): Print member type arguments
+ as well.
+ * report.cs: New warning number.
+
+2006-08-09 Marek Safar <marek.safar@seznam.cz>
+
+ * anonymous.cs(AnonymousDelegate.Emit): Uses Constructor filter when
+ looking for ctor.
+ * decl.cs (MemberCache.FindMembers): When container is interface we need to
+ search all base interfaces as a member can be ambiguous.
+ * delegate.cs (Delegate.FindMembers): Fixed to return valid data for
+ Constructor member type filter.
+ (Delegate.ResolveConstructorMethod) Uses Constructor filter.
+ * ecore.cs: (Expression.MemberLookup): Implemented ambiguity error/warning
+ reporting for returned memberinfos.
+ * report.cs: Updated.
+ * typemanager.cs (TypeManager.LookupBaseInterfacesCache): Uses TypeManager
+ version to work on all runtimes.
+ (TypeManager.RealMemberLookup): Removed members filtering.
+
+2006-08-08 Raja R Harinath <rharinath@novell.com>
+
+ * ecore.cs (FieldExpr.EmitAssign): Release temporary.
+ (PropertyExpr.EmitAssign): Likewise.
+ * expression.cs (Indirection.EmitAssign): Likewise.
+ (LocalVariableReference.EmitAssign): Likewise.
+ (ParameterReference.EmitAssign): Likewise.
+ (Invocation.EmitArguments): Likewise.
+ (ArrayAccess.EmitAssign): Likewise.
+ (IndexerAccess.EmitAssign): Likewise.
+ (This.EmitAssign): Likewise.
+ (ConditionalLogicalOperator.Emit): Likewise.
+
+ Fix #79026
+ * codegen.cs (EmitContext.GetTemporaryLocal): Simplify. Use Stack
+ instead of ArrayList. If the hashtable has a LocalBuilder, don't
+ leave it in after returning it.
+ (EmitContext.FreeTemporaryLocal): Simplify. Update to changes.
+
+2006-08-06 Marek Safar <marek.safar@seznam.cz>
+
+ * expresssion.cs (IndexerAccess.DoResolve): Fixed to report correct error
+ message.
+
+2006-08-05 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs (TypeContainer.AddPartial): Add check for partial declarations
+ with different type names.
+ (TypeContainer.UpdateTypeParameterConstraints): Updated an error message.
+
+2006-08-03 Raja R Harinath <rharinath@novell.com>
+
+ Fix cs0146-3.cs and cs0146-4.cs.
+ * class.cs (TypeManager.CheckRecursiveDefinition): Check that
+ enclosing types don't depend on the current type.
+
+2006-08-02 Raja R Harinath <rharinath@novell.com>
+
+ Fix #77963
+ * class.cs (TypeContainer.DoDefineMembers): Use
+ FindBaseMemberWithSameName on Parent, since we're interested in
+ whether we hide inherited members or not.
+ (FindBaseMemberWithSameName): Make slightly more robust.
+
+ Fix #77396
+ * codegen.cs (IResolveContext.GenericDeclContainer): New.
+ (EmitContext): Implement new interface requirement.
+ * namespace.cs (UsingEntry, LocalAliasEntry): Likewise.
+ * decl.cs (MemberCore): Likewise.
+ (DeclSpace.GenericDeclContainer): Rename from DeclContainer.
+ * ecore.cs (SimpleName.ResolveAsTypeTerminal): Use
+ ec.GenericDeclContainer to check for generic parameters.
+ (SimpleName.DoSimpleNameResolve): Likewise.
+ * generic.cs (TypeParameter.DeclContainer): Remove override.
+
+ * namespace.cs (NamespaceEntry.Doppelganger): Create slave
+ declspaces for doppelgangers too.
+ (UsingEntry): Implement IResolveContext.
+ (UsingEntry.Resolve): Don't set ToplevelTypes.Namespace. Use
+ 'this' as the resolve context.
+ (LocalAliasEntry): Likewise.
+
+ Implement parts of #77403
+ * roottypes.cs (RootDeclSpace): New. Used to represent the
+ toplevel declaration space. Each namespace declaration introduces
+ a "partial" root declaretion space.
+ * namespace.cs (NamespaceEntry.SlaveDeclSpace): New.
+ (NamespaceEntry.ctor): Create a SlaveDeclSpace if necessary.
+ * cs-parser.jay (CSharpParser.ctor): Initialize 'current_class'
+ from 'current_namespace.SlaveDeclSpace'.
+ (namespace_declaration): Likewise.
+ * class.cs (TypeContainer.ctor): Remove parent==ToplevelTypes
+ check. It can't happen now.
+ * decl.cs (DeclSpace.LookupType): Likewise.
+ * driver.cs (MainDriver): Sanity check.
+
+2006-08-01 Raja R Harinath <rharinath@novell.com>
+
+ * decl.cs (DeclSpace.FindNestedType): Remove.
+ (DeclSpace.LookupNestedTypeINHierarchy): Use PartialContainer and
+ LookupTypeContainer to get the container of the nested type.
+ * class.cs (TypeContainer.FindNestedType): Make non-override.
+
+2006-07-31 Raja R Harinath <rharinath@novell.com>
+
+ * decl.cs (DeclSpace.PartialContainer): Move field from ...
+ * class.cs (TypeContainer.PartialContainer): ... here.
+ (TypeContainer.AddBasesForPart): New helper.
+ (MemberBase.ParentContainer): Remove. Use Parent.PartialContainer
+ instead.
+ * cs-parser.jay (current_class): Convert to DeclSpace.
+ (struct_declaration, interface_declaration, class_declaration):
+ Use AddBasesForPart instead of .Bases directly.
+ * const.cs, iterators.cs: Update to changes.
+
+2006-07-28 Raja R Harinath <rharinath@novell.com>
+
+ * class.cs (TypeContainer.AddMemberType): Rename from
+ AddToTypeContainer.
+ (TypeContainer.AddMember): Rename from AddToMemberContainer.
+ (AddTypeContainer): New. Combine AddClassOrStruct and
+ AddInterface.
+ (AddPartial): Update. Add 'is_partial' argument.
+ * roottypes.cs: Update to changes.
+ * cs-parser.jay (push_current_class): New helper for handling
+ current_container and current_class.
+ (struct_declaration, interface_declaration, class_declaration):
+ Use it.
+
+2006-07-26 Raja R Harinath <rharinath@novell.com>
+
+ * roottypes.cs: Rename from tree.cs.
+
+ Rename RootContext.Tree.Types to RootContext.ToplevelTypes.
+ * tree.cs (Tree, ITreeDump): Remove types.
+ * rootcontext.cs (tree, Tree): Remove fields.
+ (root, ToplevelTypes): New.
+ * *.cs: Update to rename.
+
+ * tree.cs (Tree.RecordDecl): Remove.
+ (RootTypes.AddToTypeContainer): Record the toplevel type in its
+ namespace here.
+ * class.cs, cs-parser.jay: Remove mention of RecordDecl.
+
+2006-07-23 Raja R Harinath <harinath@gmail.com>
+
+ * codegen.cs (EmitContext.Flags): Move InCatch, InFinally,
+ DoFlowAnalysis and OmitStructFlowAnalysis here.
+ (ec.With): Rename from WithUnsafe and generalize.
+ (ec.WithCheckState): Remove. All users can be handled by 'With'.
+ (ec.WithFlowAnalyis): New.
+ * ecore.cs, expression.cs, statement.cs: Update.
+