X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2FChangeLog;h=a4fe0b9d06195ef395c61428bd2b26dc13296244;hb=2f9913815e4eff4fbe15ce6f4532a27d7ace49e1;hp=51b4274371679a751e496a64bebb8901c69c28e1;hpb=95ef128d20b0262adfba9aae0356689d1d0eb8ef;p=mono.git diff --git a/mcs/mcs/ChangeLog b/mcs/mcs/ChangeLog index 51b42743716..a4fe0b9d061 100644 --- a/mcs/mcs/ChangeLog +++ b/mcs/mcs/ChangeLog @@ -1,7 +1,326 @@ +2008-03-27 Marek Safar + + A fix for bug #374214 + * ecore.cs: Correctly report argument type mismatch. + +2008-03-27 Marek Safar + + * convert.cs (ImplicitReferenceConversionCore): Correctly compare enum type + and not rely on broken IsEnum. + +2008-03-27 Marek Safar + + * nullable.cs: New file, extracted from generic.cs. + + * generic.cs, generic-mcs.cs, *.csproj, *.sources: Updated. + +2008-03-27 Marek Safar + + * generic.cs, convert.cs, generic-mcs.cs, expression.cs: Added lifting of + predefined comparison operators and null literals. + + * report.cs: New warning ID. + +2008-03-25 Marek Safar + + A fix for bug #370577 + * lambda.cs: Check return type too. + +2008-03-25 Marek Safar + + A fix for bug #372846 + * class.cs: Automatic properties can be declared as unsafe. + +2008-03-20 Marek Safar + + * location.cs: Use string based concatenation. + + * expression.cs: LiftedBinaryOperator is gmcs only. + +2008-03-20 Marek Safar + + * generic.cs, literal.cs, ecore.cs, expression.cs: Ongoing work on nullable + conversions rules and expression trees. + +2008-03-19 Marek Safar + + * delegate.cs: Use extension method source as delegate target. + +2008-03-19 Marek Safar + + * generic.cs, generic-mcs.cs, expression.cs, ecore.cs: Rewrote nullable + binary operations to be purely based on binary operations and optimized + emitted code (30% less in some cases). Introduced ReducedExpression for ETs + and other ET refactoring. + + * typemanager.cs: Fixed warning. + +2008-03-17 Marek Safar + + * class.cs, decl.cs, delegate.cs: Do protected modifier check on each member + + * symbolwriter.cs: Fixed. + +2008-03-17 Marek Safar + + * anonymous.cs, driver.cs: Reset anonymous types counters. + +2008-03-17 Marek Safar + + * ecore.cs (MethodGroupExpr): Skip first candidate, it's already the best. + + * class.cs: Use fullname for all type member definitions. + +2008-02-19 Martin Baulig + + * class.cs + (IMethodData.EmitExtraSymbolInfo): New interface method. + (MethodData.Emit): Call method.EmitExtraSymbolInfo(). + (MethodOrOperator.EmitExtraSymbolInfo): Implement this new + interface method here as an empty public virtual method. + + * anonymous.cs + (AnonymousMethodMethod.ctor): Added `string real_name' argument. + (AnonymousMethodMethod.EmitExtraSymbolInfo): Override and call + CodeGen.SymbolWriter.SetRealMethodName(). + +2008-02-18 Martin Baulig + + * anonymous.cs + (ScopeInfo.EmitType): Override this and emit debugging + information for captured variables. + (RootScopeInfo.EmitType): Override this and emit symbol + information for a captured `this'. + +2008-02-15 Martin Baulig + + * iterators.cs: Emit debugging info. + + * codegen.cs + (EmitContext.Flags): Add `OmitDebuggingInfo'. + (EmitContext.OmitDebuggingInfo): New public property. + + * statement.cs + (While): Override Emit() and don't emit symbol info there; do it + inside DoEmit() instead. + (Block.Emit): Omit symbol information while emitting the scope + initializers; don't ec.Mark() the `EndLocation'. Fix the lexical + block logic. + (ExplicitBlock.IsIterator): Moved here from `ToplevelBlock'. + (ToplevelBlock.MakeIterator): Pass the `flags' to `ExplicitBlock's + .ctor to make `IsIterator' work. + +2008-03-14 Martin Baulig + + * symbolwriter.cs: Added the new symbol writer function from the + debugger's `terrania' branch; temporarily enclose them inside + `#if !DISABLE_TERRANIA_CHANGES' conditionals until I'm back from + my vacations. + +2008-03-14 Martin Baulig + + * symbolwriter.cs + (SymbolWriter): Make this a public static class. + + * codegen.cs + (CodeGen.SymbolWriter): Removed; use the new static `SymbolWriter' + class instead of using `if (CodeGen.SymbolWriter != null)' everywhere. + +2008-03-14 Marek Safar + + A fix for bug #370577 + * statement.cs, lambda.cs: Added extra limitations when dealing with void + return type. + +2008-03-14 Marek Safar + + * typemanager.cs (CSharpName): Made 250 times faster. + +2008-03-13 Marek Safar + + * ecore.cs, expression.cs: Emit conversion for ET shift argument. + +2008-03-12 Marek Safar + + * generic.cs, typemanager.cs, enum.cs, codegen.cs, statement.cs: Try not to + crash when predefined field does not exist. + +2008-03-12 Marek Safar + + * ecore.cs (PropertyExpr): Fixed IsSingleDimensionalArrayLength regression. + +2008-03-12 Marek Safar + + * class.cs (FixedField): Don't crash when contructors are missing. + +2008-03-11 Marek Safar + + * typemanager.cs, namespace.cs, literal.cs, ecore.cs, class.cs, decl.cs, + convert.cs, constant.cs, expression.cs, statement.cs: Use same method to + check internal types accessibility for internal and external types. + Replaced EnumToUnderlying by GetEnumUnderlyingType. + +2008-03-11 Marek Safar + + * support.cs, typemanager.cs, pending.cs, ecore.cs, class.cs, delegate.cs + convert.cs, const.cs, anonymous.cs, constant.cs, expression.cs, + attribute.cs, statement: Use corect instance of predefined types (work + related to #364674). + +2008-03-07 Marek Safar + + * expression.cs (TypeOfVoid): Fixed predefined method initialization. + +2008-03-07 Marek Safar + + * generic.cs, typemanager.cs, parameter.cs, rootcontext.cs, ecore.cs, + class.cs, delegate.cs, iterators.cs, const.cs, constant.cs, driver.cs, + expression.cs, attribute.cs, codegen.cs, statement.cs: TypeManager optional + predefined types clean up, delayed predefined types members initialization + (work related to #364674). + +2008-03-05 Marek Safar + + * typemanager.cs (IsFriendAssembly): InternalsVisibleTo is not mandatory. + +2008-03-05 Marek Safar + + * typemanager.cs, parameter.cs, rootcontext.cs, ecore.cs, class.cs, decl.cs, + delegate.cs, convert.cs, driver.cs, attribute.cs, codegen.cs: TypeManager + predefined types clean up (work related to #364674). + +2008-03-04 Marek Safar + + * ecore.cs: Print an error message instead of throwing exception. + +2008-03-04 Marek Safar + + * generic.cs, typemanager.cs, literal.cs, convert.cs, cfold.cs, constant.cs, + expression.cs, statement.cs: Unififed null literal representation. + +2008-03-03 Marek Safar + + * anonymous.cs, cfold.cs, convert.cs, delegate.cs, doc.cs, ecore.cs, + expression.cs: Refactored binary operators resolve phase and improved speed. + The nullable code is still missing and won't work correctly, more fixes + required. + + It also fixes #323726, #324312, #324248, and many other unreported issues. + +2008-02-29 Zoltan Varga + + * report.cs (FeatureIsNotAvailable): Use 'mcs1' instead of 'mcs', and 'mcs' + instead of 'gmcs'. + +2008-02-27 Marek Safar + + * ecore.cs: Clean-up and split BetterConversion. + +2008-02-25 Raja R Harinath + + Fix #363791 + * enum.cs (EnumMember.Value): Only access 'value' if + ResolveValue says it's ok. + (EnumMember.DoResolveValue): Don't set prev_member.value. + (Enum.GetDefinition): Reverse arguments of Equals -- + EnumMember.Value can return 'null'. + + * statement.cs (Switch.Error_AlreadyOccurs): Fix typo in name. + +2008-02-22 Marek Safar + + * generic.cs, expression.cs: More ongoing work on expression trees. + +2008-02-21 Marek Safar + + * class.cs, typemanager.cs: Rewrote operator matching logic to correctly + handle missing matches when mutiple operators exist. + +2008-02-20 Marek Safar + + A fix for bug #363218 + * expression.cs (ArrayCreation.Clone): Deal with multi-dimensional + initializers. + +2008-02-20 Marek Safar + + * expression.cs, constant.cs, cfold.cs: Yet another side-effect constant + update. This time to deal correctly with SideEffectConstant expression used + as an argument for another constant folding. + +2008-02-20 Raja R Harinath + + * typemanager.cs (DropGenericMethodArguments): Ensure we get an underlying + MethodBuilder. + +2008-02-19 Marek Safar + + * constant.cs, cfold.cs: SideEffectConstant results can apply for folding. + +2008-02-19 Marek Safar + + A fix for bug #328136 + * expression.cs: Do not fold immediately LogicalAnd operators when the left + side is a false constant, because we still need to evaluate the right-hand + side. + + * statement.cs (If): Emit two types of boolean constants (simple constant, + side-effect constant). + +2008-02-19 Marek Safar + + * constant.cs (SideEffectConstant): Don't emit boolean constant. + + * expression.cs: Fold immediately LogicalAnd operators when both sides are + constants. + +2008-02-18 Marek Safar + + A fix for bug #361457 + * ecore.cs (IsApplicable): Params methods have lower priority. + + * support.cs: Return correct parameter modifier for params types. + +2008-02-18 Marek Safar + + * generic.cs (TypeParameter): Cache attribute target name. + + * support.cs: Removed unused variable. + + * typemanager.cs: Removed debugging leftover. + + * ecore.cs: Use local type instead of a property; + + * class.cs (VerifyMembers): Consider also parent to test whether type member + is local or public. + + * expression.cs (FullMethodDesc): Removed. + + * attribute.cs (IsValidArgumentType): Made static. + +2008-02-17 Raja R Harinath + + Cleanup to be more readable. + * Makefile (GMCS_PROFILE): Remove. + (COMPILER_NAME): New helper. + +2008-02-15 Miguel de Icaza + + * cs-tokenizer.cs: if a conditional expression happens inside a + (...) this also means that we do not need to de-ambiguate between + an parenthesized expression and a cast. + + Fixes 346484. + + * constant.cs (SideEffectConstant): a constant value that happens + to have a side effect. + + Fixes the build regressions introduced by the fix for #359789 + 2008-02-14 Rodrigo Kumpera * expression.cs (Conditional.Emit): when emitting the ternary - operator, use local variables to generate code verifiable code. + operator, use local variables to generate code verifiable code. The verifier cannot infer that the type on stack before the stloc.0 is executed is of type ParentB. This happens because the @@ -18,7 +337,7 @@ the expected type. Fixes: #358102 - + 2008-02-14 Miguel de Icaza * expression.cs: Do not fold BitwiseAnd operators when the left @@ -34,13 +353,13 @@ 2008-02-14 Marek Safar - * generic.cs (TypeParameter.GetMembers): Is not supported operation. - + * generic.cs (TypeParameter.GetMembers): Is not supported operation. + 2008-02-14 Marek Safar A fix for bug #361686 - * decl.cs: A protected types used inside a private class which parents - derives from the protected class are accessible. + * decl.cs: A protected types used inside a private class which parents + derives from the protected class are accessible. 2008-02-13 Marek Safar @@ -59,17 +378,17 @@ 2008-02-12 Marek Safar * Makefile: Fixed `qh' target to work on all machines. - - * report.cs, typemanager.cs, parameter.cs, ecore.cs, class.cs, anonymous.cs, - expression.cs, codegen.cs, statement.cs, doc.cs: Replaced type IsSubclassOf - and HasElementType with TypeManager implementation. + + * report.cs, typemanager.cs, parameter.cs, ecore.cs, class.cs, anonymous.cs, + expression.cs, codegen.cs, statement.cs, doc.cs: Replaced type IsSubclassOf + and HasElementType with TypeManager implementation. 2008-02-08 Marek Safar A fix for bugs #325134, #359749 - * expression.cs, ecore.cs: Try to resolve an extension method even if the - first binds point to non-method member expression. - + * expression.cs, ecore.cs: Try to resolve an extension method even if the + first binds point to non-method member expression. + 2008-02-08 Marek Safar * cs-parser.jay: Null coalescing operator is not part of ISO-1. @@ -77,8 +396,8 @@ 2008-02-08 Marek Safar A fix for bugs #321394, #323028 - * generic.cs, parameter.cs, ecore.cs, class.cs, decl.cs, delegate.cs: - Reworked naive IsAccessibleAs implementation to handle nested types. + * generic.cs, parameter.cs, ecore.cs, class.cs, decl.cs, delegate.cs: + Reworked naive IsAccessibleAs implementation to handle nested types. 2008-02-05 Jb Evain @@ -88,27 +407,27 @@ 2008-02-05 Marek Safar A fix for bug #325372 - * class.cs: Use generic type comparison when testing method signatures. + * class.cs: Use generic type comparison when testing method signatures. 2008-02-05 Marek Safar A fix for bug #357047 - * ecore.cs: Applied C# 3.0 changes to better conversion. + * ecore.cs: Applied C# 3.0 changes to better conversion. 2008-02-05 Marek Safar A fix for bug #358374 - * cs-parser.jay: Correctly set modifiers for all constructor types. + * cs-parser.jay: Correctly set modifiers for all constructor types. 2008-02-04 Marek Safar A fix for bug #355251 - * generic.cs: Added base class constraint based type inference. + * generic.cs: Added base class constraint based type inference. 2008-02-01 Marek Safar A fix for bug #357255 - * decl.cs: One more missing visibility check. + * decl.cs: One more missing visibility check. 2008-02-01 Marek Safar @@ -117,7 +436,7 @@ 2008-01-25 Marek Safar * report.cs: Correctly reset warnings count after probing. - + 2008-01-25 Martin Baulig * namespace.cs @@ -128,46 +447,46 @@ * expression.cs: Implemented Divide, Equal, ExclusiveOr, GreaterThanOrEqual expressions. - + 2008-01-25 Marek Safar - * generic.cs: Use full implicit conversion for type inference fixing. - + * generic.cs: Use full implicit conversion for type inference fixing. + 2008-01-24 Marek Safar - * ecore.cs, expression.cs, generic.cs: Implemented Convert, ConvertChecked. - Fixed user operator conversions. - + * ecore.cs, expression.cs, generic.cs: Implemented Convert, ConvertChecked. + Fixed user operator conversions. + 2008-01-24 Marek Safar - * generic.cs: Do nullable type to null comparison optimization during - resolve phase. - + * generic.cs: Do nullable type to null comparison optimization during + resolve phase. + 2008-01-24 Marek Safar A fix for bug #355163 - * generic.cs: Enabled l-value resolve on nullable expressions. - + * generic.cs: Enabled l-value resolve on nullable expressions. + 2008-01-24 Marek Safar A fix for bug #353986 - * class.cs: Ingore static ctors with parameters for any further checks. - + * class.cs: Ingore static ctors with parameters for any further checks. + 2008-01-24 Marek Safar A fix for bug #354310 - * namespace.cs: Removed redundant check. + * namespace.cs: Removed redundant check. 2008-01-24 Marek Safar A fix for bug #354928 - * expression.cs: ElementInitializers can be resolved only once. - + * expression.cs: ElementInitializers can be resolved only once. + 2008-01-24 Marek Safar * convert.cs, ecore.cs, expression.cs, generic.cs: Implemented Coalesce and Condition expressions. - + 2008-01-23 Marek Safar * codegen.cs: Fixed AssemblyBuilder initialization on other platforms. @@ -176,30 +495,30 @@ * ecore.cs, expression.cs, generic.cs: Implicit bool? to bool conversion is not allowed. - + * generic.cs: Implemented coalesce expression. 2008-01-22 Marek Safar A fix for bug #355145 - * anonymous.cs, convert.cs, ecore.cs, generic.cs, lambda.cs: Implemented - expression tree type inference. + * anonymous.cs, convert.cs, ecore.cs, generic.cs, lambda.cs: Implemented + expression tree type inference. 2008-01-22 Raja R Harinath Fix #354663 * expression.cs (Binary.IsUnsignedType): Fix typo. - + 2008-01-22 Marek Safar - * ecore.cs, expression.cs, generic.cs: Implemented NewArrayInit expression. - + * ecore.cs, expression.cs, generic.cs: Implemented NewArrayInit expression. + 2008-01-22 Marek Safar A fix for bug #355161 - * ecore.cs, expression.cs: Wider range of extension method supported - expressions. - + * ecore.cs, expression.cs: Wider range of extension method supported + expressions. + 2008-01-22 Gert Driesen * codegen.cs: Use magic value for AssemblyBuilderAccess to instruct @@ -209,8 +528,8 @@ 2008-01-22 Marek Safar A fix for bug #355148 - * ecore.cs, expression.cs: Correctly report misused ref and out modifiers. - + * ecore.cs, expression.cs: Correctly report misused ref and out modifiers. + 2008-01-22 Miguel de Icaza * expression.cs (CreateExpressionTree): Add support for or and