+2005-11-07 Miguel de Icaza <miguel@novell.com>
+
+ * expression.cs (New): Add support for invoking "new" on
+ interfaces that have been flagged with the ComImport attribute and
+ the CoClass. Fixes #76637
+
+ * statement.cs (Try.DoEmit): When a variable is captured, do not
+ try to emit the vi.LocalBuilder variable as it has been captured.
+ Create a temporary variable and store the results on the
+ FieldBuilder. Fixes #76642
+
+2005-11-07 Marek Safar <marek.safar@seznam.cz>
+
+ * class.cs (CheckPairedOperators): Made compilable with csc 2.0.
+
+ * ecore.cs (InstanceResolve): Fixed CS1540 detection.
+
+ * expression.cs (Binary.DoResolve): Added && optimalization.
+
+ * typemanager.cs (AddUserType): Removed useless argument.
+
+2005-11-04 Marek Safar <marek.safar@seznam.cz>
+
+ * statement.cs (Block.variables): Uses ListDictionary.
+
+2005-11-03 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #75969.
+ * class.cs (PartialContainer.EmitType): Customized to emit
+ security attributes.
+ (ClassPart.ApplyAttributeBuilder): Transform security attribute
+ for partial classes.
+
+2005-11-03 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #76599.
+ * expression.cs (ElementAccess.DoResolveLValue): Fixed buffer
+ access has to be fixed.
+
+ * typemanager.cs (IsUnmanagedType): Wrong common field type.
+
+2005-11-01 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #76590.
+ * ecore.cs (NullCast.Reduce): Implemented.
+
+ * expression.cs (ArrayCreation.CheckIndices): Correcly check
+ constant type.
+
+ * statement.cs (SwitchLabel.ResolveAndReduce): Catch null
+ properly.
+ (Foreach.Resolve): Catch null properly.
+
+2005-10-29 Marek Safar <marek.safar@seznam.cz>
+
+ * cs-tokenizer.cs: Warning text fix.
+
+ * driver.cs: AllWarningNumbers exposed on public interface.
+
+ * report.cs (): Reviewed warning numbers.
+ (IsValidWarning): Use binary search.
+
+2005-10-29 Marek Safar <marek.safar@seznam.cz>
+
+ * driver.cs: Implemeted resource visibility.
+ (Resources): New class for code sharing between /res: and
+ /linkres:
+
+2005-10-28 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #76568.
+ * cfold.cs (ConstantFold.BinaryFold): Implemented null cast
+ folding.
+
+ * convert (Convert.ImplicitReferenceConversion): NullCast holds
+ contants only.
+
+ * ecore.cs (NullCast): Child is contant only.
+
+ * literal.cs (NullLiteral.Reduce): null can be converted to any
+ reference type.
+
+2005-10-28 Kornél Pál <kornelpal@hotmail.com>
+
+ * driver.cs: Use Encoding.Default as default code page instead
+ of ISO-28591.
+
+2005-10-27 Raja R Harinath <rharinath@novell.com>
+
+ Fix #76085.
+ * expression.cs (Invocation.Error_InvalidArguments): Handle
+ __arglist parameters.
+ (Invocation.VerifyArgumentsCompat): Likewise.
+ * support.cs (ReflectionParameters.GetSignatureForError): Print
+ __arglist parameters.
+ (InternalParamters.GetSignatureForError): Likewise.
+ * parameter.cs (Parameters.GetSignatureForError): Likewise.
+
+2005-10-26 Marek Safar <marek.safar@seznam.cz>
+
+ * attribute.cs (GetPropertyValue): Made public.
+
+ * codegen.cs (AssemblyClass): ResolveClsCompliance renamed to
+ Resolve.
+ Add new property WrapNonExceptionThrows to handle 2.0 assembly
+ attribute.
+ (AssemblyClass.Emit): Emit RuntimeCompatibilityAttribute when it
+ is not defined.
+
+ * driver.cs: Reflect method name change.
+
+ * statement.cs (Try.Resolve): Warn when try has both general
+ exception handlers.
+
+ * typemanager.cs: runtime_compatibility_attr_type new predefined
+ type.
+
+2005-10-26 Raja R Harinath <harinath@gmail.com>
+
+ Fix #76419.
+ * pending.cs (InterfaceMethod): Allow tm.args [i] to be null --
+ treat it as an empty parameter list.
+
+2005-10-26 Raja R Harinath <rharinath@novell.com>
+
+ Fix #76271.
+ * ecore.cs (SimpleName.DoSimpleNameResolve): Make fall-back
+ ResolveAsTypeStep silent.
+ * statement.cs (Block.AddConstant): Mark block as used.
+ (Block.ResolveMeta): Avoid piling on error messages
+ if a constant initializer resolution fails.
+
+2005-10-25 Raja R Harinath <rharinath@novell.com>
+
+ * namespace.cs (RootNamespace.VerifyUsingForAll, Namespace.VerifyUsing):
+ Remove.
+ (NamespaceEntry.VerifyAllUsing): New.
+ (NamespaceEntry.AliasEntry.Resolve): New. Handles common error
+ behaviour. Delegates actual resolution of alias to ...
+ (NamespaceEntry.DoResolve): ... this. Renamed from Resolve.
+ (NamespaceEntry.LocalAliasEntry, NamespaceEntry.ExternAliasEntry):
+ Update.
+ * driver.cs (Driver.MainDriver): Update.
+
+ * namespace.cs (NamespaceEntry.DefineNamespace): Remove.
+ (NamespaceEntry.SymbolFileID): Make into a on-demand computed
+ property.
+ (Namespace.DefineNamespaces, RootNamespace.DefineNamespacesForAll):
+ Remove.
+ * symbolwriter.cs (SymbolWriter.Initialize): Don't call
+ RootNamespace.DefineNamespacesForAll.
+
+2005-10-24 Raja R Harinath <harinath@gmail.com>
+
+ * typemanager.cs (assemblies, external_aliases, modules)
+ (AddAssembly, AddExternAlias, AddModule GetAssemblies, Modules)
+ (ComputeNamespaces, GetRootNamespace): Remove extra staging
+ overhead. Move resposibility ...
+ * namespace.cs (GlobalRootNamespace): ... here. Update to changes.
+ * driver.cs, attribute.cs, codegen.cs: Update to changes.
+
+2005-10-23 Raja R Harinath <harinath@gmail.com>
+
+ * namespace.cs (RootNamespace.all_namespaces): Renamed from
+ cached_namespaces. Improve usage.
+ (RootNamespace.Reset, RootNamespace.RegisterNamespace)
+ (RootNamespace.VerifyUsingForAll, RootNamespace.DefineNamespacesForAll):
+ Move from GlobalRootNamespace and simplify.
+ (RootNamespace.Global): Make instance variable.
+ (RootNamespace.RootNamespace): Add "alias name" parameter.
+ (GlobalRootNamespace): Simplify drastically.
+ (Namespace.Lookup): Don't use GetNamespace.
+ * typemanager.cs (GetRootNamespace): Rename from
+ ComputeNamespaceForAlias.
+ (NamespaceClash): Use Global.IsNamespace instead of GetNamespace.
+
+2005-10-23 Marek Safar <marek.safar@seznam.cz>
+
+ * anonymous.cs (AnonymousContainer): Don't crash when container
+ doesn't exist.
+
+2005-10-23 Marek Safar <marek.safar@seznam.cz>
+
+ * expression.cs (Binary.DoResolve): Warn when comparing same
+ values.
+
+2005-10-23 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #76486.
+ * expression.cs (Binary.DoResolve): It looks like there are no
+ convetsion rules in enum context.
+
+2005-10-19 Carlos Alberto Cortez <calberto.cortez@gmail.com>
+
+ Add support for extern alias qualifiers.
+ * typemanager.cs: Move some LookupTypeReflection code
+ to namespace.cs, to have cleaner code. Added some methods
+ to help us keep track of the extern aliased references.
+ * driver.cs: Add suport for extern alias assemblies on command
+ line and check for their warnings/errors. Also keep track of the
+ extern aliased assemblies.
+ * namespace.cs: Move the global functionality of Namespace
+ to GlobalRootNamespace/RootNamespace. Now the global namespace
+ is GlobalRootNamespace.Globa. Also the code moved from
+ typemanager.cs lives in GlobalRootNames.cs/RootNamespace.cs.
+ Finally added LocalAliasEntry (AliasEntry before) and
+ ExternAliasEntry, to handle alias statements.
+ * cs-parser.jay: Add support in the grammar for extern alias
+ statement.
+ * doc.cs, delegate.cs, expression.cs ecore.cs, symbolwriter.cs:
+ Update callings to Namespace (now in GlobalRootNamespace).
+
+2005-10-18 Raja R Harinath <rharinath@novell.com>
+
+ Fix #76371.
+ * class.cs (TypeContainer.DefineType): Move updating of
+ topological sort earlier in the code.
+ * decl.cs (DeclSpace.ResolveBaseTypeExpr): Don't use TypeBuilder.
+
+2005-10-18 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #76273.
+ * cfold.cs (BinaryFold): Reduce constant in enum conversion.
+
+ * constant.cs (Constant.TryReduce): Moved from Cast class.
+ (Reduce): Made little bit more OO and fixed missing conversions.
+
+ * ecore.cs (Reduce): Implemented.
+ (Binary.EnumLiftUp): New method to upgrade values to enum values.
+
+ * literal.cs (Reduce): Implemented.
+
+ * class.cs: Reverted Miguel's wrong commit.
+
+2005-10-14 Miguel de Icaza <miguel@novell.com>
+
+ * ecore.cs (GetMemberType): Report the correct mapping for the MemberCore
+
+2005-10-14 Atsushi Enomoto <atsushi@ximian.com>
+
+ * cs-parser.jay, expression.cs : CS0214 was missing error location
+ for constants. Fixed bug #76404.
+
+2005-10-11 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #76370.
+ * convert.cs (ExplicitConversionCore): Fixed object->enum
+ conversion.
+
+2005-10-10 Raja R Harinath <rharinath@novell.com>
+
+ * ecore.cs (PropertyExpr.Emit): Use Invocation.EmitCall to emit
+ InstanceExpression.
+ (PropertyExpr.EmitCall): Likewise.
+ * expression.cs (Invocation.EmitArguments): Handle case where
+ arguments == null.
+ (Invocation.EmitCall): Avoid allocating temporary variable if
+ there are no arguments.
+
+2005-10-07 Raja R Harinath <rharinath@novell.com>
+
+ Fix #76323.
+ * convert.cs (ImplicitConversionStandard): Move conversion of
+ void* to arbitrary pointer types ...
+ (ExplicitConversionStandard): .. here.
+ * ecore.cs (Expression.Error_ValueCannotBeConverted): Fix CS0266
+ error to always print typenames.
+
+2005-10-07 Raja R Harinath <rharinath@novell.com>
+
+ * convert.cs (GetConversionOperator): Rename from
+ GetConversionOperators. Move operator selection code from ...
+ (UserDefinedConversion): ... here.
+
+2005-10-06 Marek Safar <marek.safar@seznam.cz>
+
+ * convert.cs (ExplicitConversionCore): Removed duplicate enum
+ conversion.
+
+2005-10-05 Marek Safar <marek.safar@seznam.cz>
+
+ * assign.cs (Assign.DoResolve): Error method changed.
+
+ * cfold.cs (DoConstantNumericPromotions): Error method changed.
+
+ * const.cs (ResolveValue): Reset in_transit immediately.
+
+ * constant.cs: Error method changed.
+
+ * convert.cs: Removed useless location parameter.
+ (ExplicitNumericConversion): Don't do double enum check.
+ (ExplicitConversionCore): Renamed from ExplicitConversion.
+ (ExplicitUnsafe): Extracted from ExplicitConversion.
+ (ExplicitConversion): Uses for error reporting.
+
+ * ecore.cs (Error_ValueCannotBeConverted): More logic for more
+ error messages.
+ (ResolveBoolean): Uses common error method.
+ (CastToDecimal): Get rid of ec.
+ (CastFromDecimal): Optimized.
+ (ConvCast): Get rid of ec.
+
+ * enum.cs (ResolveValue): Reset in_transit immediately.
+ (Emit): Return after first error.
+
+ * expression.cs: Convert changes.
+
+ * literal.cs: Error method changed.
+
+ * statement.cs: Error method changed.
+
+2005-10-03 Raja R Harinath <rharinath@novell.com>
+
+ * support.cs (SeekableStreamReader.Position): Don't error out when
+ the requested position is just beyond the end of the current
+ buffered data.
+
+2005-09-28 Raja R Harinath <rharinath@novell.com>
+
+ * support.cs (SeekableStreamReader): Simplify drastically. Don't
+ try to keep in sync with the byte count of the underlying Stream.
+ However, this limits us to a window size of 2048 characters: i.e.,
+ the maximum lookahead of our lexer/parser can be 2048 characters.
+
+2005-09-28 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #76255.
+ * driver.cs: Fix compilation files with full root path.
+
+2005-09-25 Miguel de Icaza <miguel@novell.com>
+
+ * report.cs (SymbolRelatedToPreviousError): Format the output so
+ it does not use an open parenthesis that is never closed.
+
+ * driver.cs: Follow coding guidelines
+
+2005-09-27 Marek Safar <marek.safar@seznam.cz>
+
+ Fix #72930.
+ * const.cs (Const.ResolveValue): Check for assigning non-null
+ value to reference type.
+
+2005-09-27 Marek Safar <marek.safar@seznam.cz>
+
+ * anonymous.cs: Implemented ExprClassName.
+
+ * assign.cs (Assign.DoResolve): Don't chrash when type is not
+ delegate.
+
+ * attribute.cs (ResolveArguments): Enabled MethodImplOptions
+ check.
+
+ * class.cs (StaticClass.DefineContainerMembers): Report protected
+ members as error.
+
+ * codegen.cs: if(ed) PRODUCTION.
+
+ * convert.cs (Error_CannotImplicitConversion): Better error
+ distinction.
+
+ * cs-parser.jay: More error checks.
+
+ * cs-tokenizer.cs (consume_identifier): Fixed Miguel's revert.
+
+ * driver.cs (CSCParseOption): Enabled wrong option check.
+
+ * ecore.cs (Expression.ExprClassName): Turned to property.
+ (MemberExpr.CheckIntermediateModification): For checking boxed
+ value types modification.
+
+ * statement.cs (Fixed.Resolve): Expression type must be
+ convertible to fixed type.
+ (CollectionForeach.GetEnumeratorFilter,TryType):
+ Small refactoring for easier error checking.
+
+2005-09-26 Marek Safar <marek.safar@seznam.cz>
+
+ * attribute.cs (Attribute.Resolve): Check Obsolete attribute for
+ attributes.
+
+ * class.cs (GeneratedBaseInitializer): New class for customization
+ compiler generated initializers.
+ (MemberBase.DoDefine): Check Obsolete attribute here.
+ (FieldMember.DoDefine): Ditto.
+
+ * const.cs (ExternalConstant.CreateDecimal): Builder for decimal
+ constants.
+
+ * decl.cs (MemberCore.EmitContext): Returns valid current ec.
+ (MemberCore.GetObsoleteAttribute): Removed argument.
+ (MemberCore.CheckObsoleteness): Obsolete attributes are hierarchic.
+ (MemberCore.CheckObsoleteType): New helper.
+
+ * delegate.cs,
+ * enum.cs,
+ * statement.cs: Updates after MemberCore changes.
+
+ * ecore.cs (TypeExpr.ResolveType): Check type obsoleteness here.
+ (FieldExpr.ResolveMemberAccess): Fixed decimal constants checks.
+
+ * expression.cs (ComposedCast.DoResolveAsTypeStep): Don't check
+ obsolete attribute for compiler construct.
+ (As.DoResolve): Cache result.
+
+ * iterators.cs (Define_Constructor): Use GeneratedBaseInitializer.
+
+2005-09-26 Raja R Harinath <rharinath@novell.com>
+
+ Fix #76133.
+ * expression.cs (This.VerifyFixed): In a value type T, the type of
+ 'this' is T&, iow, 'this' is either an out or ref parameter. In a
+ value type R, 'this' is treated as a value parameter.
+
+2005-09-22 Miguel de Icaza <miguel@novell.com>
+
+ * statement.cs (Lock): Use the TemporaryVariable class instead of
+ manually using local variables as those do not work when variables
+ are captured.
+
+ * ecore.cs: Moved the TemporaryVariable class from being a nested
+ class inside Foreach to be a public class that can be employed in
+ other places.
+
+2005-09-19 Marek Safar <marek.safar@seznam.cz>
+
+ * cs-parser.jay: interface_accessors replaced by
+ accessor_declarations.
+
+ * ecore.cs, literal.cs, statement.cs: NullLiteral holds null
+ location.
+
+ * statement.cs (GotoCase.Resolve): Convert null constant to
+ null case.
+ (SwitchLabel.ResolveAndReduce): Ditto.
+ (SwitchLabel.NullStringCase): Custom null stamp.
+ (Switch.SimpleSwitchEmit): Fix from NullLiteral to NullStringCase.
+
+ typemanager.cs (CSharpSignature): Don't skip first argument
+ for full names.
+
+2005-09-18 Miguel de Icaza <miguel@novell.com>
+
+ * driver.cs: Set InEmacs based on the environment variable EMACS.
+
+ * location.cs (InEmacs): in this mode, do not report column
+ location as it confuses Emacs.
+
+2005-09-16 Marek Safar <marek.safar@seznam.cz>
+
+ * cfold.cs, constant.cs, convert.cs, ecore.cs,
+ expression.cs, iterators.cs, literal.cs: Store constants and
+ literals location.
+
+ * class.cs (MemberBase.ShortName): Pass location.
+
+ * cs-parser.jay: Some location fixes.
+
+ * ecore.cs (Expression.Location): Made virtual.
+
+2005-09-05 Miguel de Icaza <miguel@novell.com>
+
+ * expression.cs (Cast.TryReduce): Only reduce to an EnumConstant
+ if the underlying types are the same, otherwise we need to produce
+ code that will do the proper cast.
+
+ This was exposed by Marek's constant rewrite which produced
+ invalid code for the call site:
+
+ enum X : long { a }
+ void Method (X v) {}
+
+ Method ((X) 5)
+
+ This fixes test-49.cs
+
+2005-09-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * attribute.cs : (Attribute.IsValidArgumentType): array of string/
+ Type/Object should be allowed as well. Fixed bug #75968.
+
+2005-09-05 Atsushi Enomoto <atsushi@ximian.com>
+
+ * expression.cs : (Binary.DoResolve): when one is enum constant and
+ another is constant 0, then return enum one *as enum type*.
+ Fixed bug 74846.
+
+2005-09-02 Raja R Harinath <rharinath@novell.com>
+
+ * attribute.cs (GetMarshal): Work even if "DefineCustom" is
+ internal.
+
+ Fix #75941.
+ * ecore.cs (SimpleNameResolve.DoSimpleNameResolve): Disable
+ flow-branching for LocalVariableReferences in case we were invoked
+ from a MemberAccess.
+ * expression.cs (LocalVariableReference.VerifyAssigned): New.
+ Carved out of ...
+ (LocalVariableReference.DoResolveBase): ... this.
+ (MemberAccess.Resolve): Do the check that was disabled during
+ SimpleNameResolve.
+
+2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * class.cs :
+ (PartialContainer.Create): check abstract/sealed/static strictly
+ but abstract/sealed can exist only at one side. Fixed bug #75883.
+
+2005-09-01 Kornél Pál <kornelpal@hotmail.com>
+
+ Fix #75945.
+ * attribute.cs (Attribute.GetMarshal): If ArraySubType is not
+ specified, don't default to UnmanagedType.I4.
+
+2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
+
+ * expression.cs : conditional operator should check possibly
+ incorrect assign expression. Fixed bug #75946.
+
+2005-08-31 Atsushi Enomoto <atsushi@ximian.com>
+
+ * cs-tokenizer.cs, cs-parser.jay, driver.cs, support.cs :
+ Reverting the change. gmcs is much complex than mcs on this matter.
+
+2005-08-31 Atsushi Enomoto <atsushi@ximian.com>
+
+ * cs-tokenizer.cs : To read another token ahead of the actual
+ consumption, use new SavedToken and cache token instead of moving
+ back the stream with SeekableStreamReader (it seemed problematic).
+ * cs-parser.jay,
+ driver.cs : Thus use StreamReader directly.
+ * support.cs : Thus removed SeekableStreamReader.
+
+2005-08-30 Raja R Harinath <rharinath@novell.com>
+
+ Fix #75934.
+ * anonymous.cs (ScopeInfo.MakeFieldName): New helper.
+ (ScopeInfo.EmitScopeType): Use it to construct field names from
+ names of captured locals.
+
+ Fix #75929.
+ * ecore.cs (BoxedCast.BoxedCast) [1-argument variant]: Remove.
+ * convert.cs (ImplicitReferenceConversion, TryImplicitIntConversion):
+ Pass 'target_type' to BoxedCast. Don't default to 'object'.
+ (ExplicitConversion): Remove enum cases already handled by
+ implicit conversion. Move implicit conversion check to the beginning.
+ * delegate.cs (DelegateCreation.ResolveMethodGroupExpr): Update.
+ * expression.cs (ArrayCreation.EmitDynamicInitializers):
+ Don't treat System.Enum as a struct.
+
+2005-08-30 Jb Evain <jbevain@gmail.com>
+
+ * attribute.cs: handles as expression in parameters.
+
+2005-08-30 Raja R Harinath <rharinath@novell.com>
+
+ Fix #75802.
+ * class.cs (TypeContainer.VerifyClsName): Don't use a
+ PartialContainer when verifying CLS compliance.
+ (AbstractPropertyEventMethod): Set Parent here, ...
+ (PropertyMethod): ... not here.
+
+2005-08-30 Atsushi Enomoto <atsushi@ximian.com>
+
+ * attribute.cs : escaped attribute name should not be allowed to be
+ resolved (e.g. @class as classAttribute). Fixed bug #75930.
+
+2005-08-29 Raja R Harinath <rharinath@novell.com>
+
+ Fix #75927.
+ * convert.cs (ImplicitStandardConversionExists): Allow zero also
+ when converting a long constant to unsigned long.
+ * expression.cs (Invocation.OverloadResolve): Add sanity check to
+ detect where IsApplicable and VerifyArgumentsCompat disagree.
+
+2005-08-29 Raja R Harinath <rharinath@novell.com>
+ and Carlos Alberto Cortez <carlos@unixmexico.org>
+
+ Fix #75848.
+ * class.cs (TypeContainer.CanElideInitializer): New helper.
+ (TypeContainer.EmitFieldInitializers): Use it to determine if we
+ can safely emitting the initializer of a field.
+
+2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * statement.cs : (Continue.Resolve()) Unlike break, continue is not
+ allowed inside a switch (without loop). Fixed bug #75433.
+
+2005-08-26 Kornél Pál <kornelpal@hotmail.com>
+
+ * AssemblyInfo.cs: Using Consts.MonoVersion instead of MonoVersion.cs.
+ * mcs.exe.sources: Using Consts.MonoVersion instead of MonoVersion.cs.
+
+2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * driver.cs : kinda reverting the default encoding changes (not exact
+ revert since I noticed that "codepage:reset" might not work fine).
+
+2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * class.cs : (AbstractPropertyEventMethod) SetupName() now takes
+ Location. Now getter and setter store location correctly.
+ (errors/cs0111-12.cs now reports the expected location.)
+
+2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
+
+ * driver.cs : Use default encoding on the environment.
+ Removed (now that) extra parameter for SeekableStreamReader.
+ * support.cs : (SeekableStreamReader) third .ctor() argument for
+ StreamReader is not required (always true). preamble size could
+ be acquired in simpler and safe way.
+
+2005-08-24 Atsushi Enomoto <atsushi@ximian.com>
+
+ * cs-parser.jay: report CS0642 at warning level 3
+ and report CS0642 for an if else statement also
+ fixes bug #74745. Patch by John Luke (and a bit
+ modified by me).
+ Removed extra CS0642 warning check for "while",
+ "for" and "fixed".
+ * statement.cs: In Block.Resolve(), CS0642 check
+ is reimplemented to check a sequence of an empty
+ statement and a block.
+
+ Both fix bug #66777.
+
+2005-08-24 Marek Safar <marek.safar@seznam.cz>
+
+ * attribute.cs (GetMethodObsoleteAttribute): Disabled obsolete properties
+ detection until I fix it.
+
+ * cs-tokenizer.cs: Changed error message.
+
+ * cs-parser.jay: Fixed 2 error locations.
+
+ * ecore.cs (Error_TypeDoesNotContainDefinition): Share error message.
+ (PropertyExpr.Error_PropertyNotFound): First attempt to detect non C#
+ properties.
+
+ * enum.cs (GetSignatureForError): Fixed.
+
+ * expression.cs (Invocation.IsSpecialMethodInvocation): Improved special
+ method detection.
+
+ * class.cs,
+ * typemanager.cs (RegisterProperty): Removed.
+
+ * statement.cs (CheckInvariantMeaningInBlock): Changed error message.
+
+2005-08-24 Raja R Harinath <rharinath@novell.com>
+
+ Fix #75874.
+ * expression.cs (ArrayAccess.EmitLoadOpcode): Emit ldelem.i for pointers.
+ (ArrayAccess.GetStoreOpcode): Return stelem.i for pointers.
+
+2005-08-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * expression.cs : tiny fix is required for not warning positive ulong.
+ See test-441.cs.
+
+2005-08-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * expression.cs : add CS0652 check for constant and integral
+ expression. Fixed bug #53974.
+
+2005-08-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * expression.cs : in DoNumericPromotions(), check if there is implicit
+ conversion overload for string (to check CS0034). Fixed bug #52492.
+
+2005-08-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * cs-tokenizer.cs : Check newline in char constant. Fixed bug #75245.
+
+2005-08-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * ecore.cs : report location when it is *not* Null.
+
+2005-08-23 Atsushi Enomoto <atsushi@ximian.com>
+
+ * codegen.cs,
+ ecore.cs,
+ flowanalysis.cs,
+ expression.cs:
+ Added OmitStructFlowAnalysis to EmitContext to handle CS0165 check
+ correctly. Fixed bug #75721.
+
2005-08-23 Raja R Harinath <rharinath@novell.com>
+ * support.cs (SeekableStreamReader.Position): Avoid an expensive
+ loop that performs 'min (pos, char_count)'.
+
Fix #75862.
* expression.cs (Unary.ResolveOperator): Don't discard implicit
converted value in Operator.OnesComplement.