PlayScriptRedux / playscript

PlayScript is an ActionScript compatible compiler and Flash compatible runtime that runs in the Mono/.NET environment
Other
17 stars 9 forks source link

Upstream Regression : tests/test-77.cs : error CS0121 #71

Closed sushihangover closed 9 years ago

sushihangover commented 9 years ago

The following merge is causing a regression on update test-77.cs

Commit : c1a3af342a4f044ac7c3f856621e73eb76f57a82
Info : 7/2/2014 3:33:16 PM +02:00 / Marek Safar / marek.safar@gmail.com
Msg : [mcs] Constant folding of null strings casted to object

Staged : mcs/mcs/cs-tokenizer.cs
Staged : mcs/mcs/nullable.cs
Staged : mcs/mcs/statement.cs
Staged : mcs/tests/gtest-409.cs
Staged : mcs/tests/test-77.cs
Staged : mcs/tests/ver-il-net_4_5.xml
Conflict : mcs/mcs/convert.cs
 ~ Manual intervention needed : mcs/mcs/convert.cs
Conflict : mcs/mcs/typemanager.cs
 ~ Manual intervention needed : mcs/mcs/typemanager.cs
sushihangover commented 9 years ago

Test results: "s = (string)null + (object)null;" and "s = (object)null + (string)null;"

./pcompile test-77.cs
test-77.cs(17,4): warning CS0162: Unreachable code detected
test-77.cs(61,7): error CS0121: The call is ambiguous between the following methods or properties: `string.Concat(params object[])' and `string.Concat(params string[])'
/Users/administrator/Documents/Code/playscript/playscriptredux/playscript/mcs/tests/../class/lib/net_4_5/mscorlib.dll (Location of the symbol related to previous error)
    in OverloadResolver.ResolveMember (Mono.CSharp.ResolveContext, Mono.CSharp.Arguments&)
    in StringConcat.Emit (Mono.CSharp.EmitContext)
    in VariableReference.EmitAssign (Mono.CSharp.EmitContext, Mono.CSharp.Expression, System.Boolean, System.Boolean)
    in Assign.Emit (Mono.CSharp.EmitContext, System.Boolean)
    in Assign.EmitStatement (Mono.CSharp.EmitContext)
    in StatementExpression.DoEmit (Mono.CSharp.EmitContext)
    in Statement.Emit (Mono.CSharp.EmitContext)
    in Block.DoEmit (Mono.CSharp.EmitContext)
    in ExplicitBlock.Emit (Mono.CSharp.EmitContext)
    in ParametersBlock.Emit (Mono.CSharp.EmitContext)
    in ToplevelBlock.Emit (Mono.CSharp.EmitContext)
    in MethodData.Emit (Mono.CSharp.TypeDefinition)
    in MethodOrOperator.Emit ()
    in Method.Emit ()
    in TypeDefinition.Emit ()
    in ClassOrStruct.Emit ()
    in Class.Emit ()
    in TypeDefinition.EmitContainer ()
    in TypeContainer.EmitContainer ()
    in NamespaceContainer.EmitContainer ()
    in TypeContainer.EmitContainer ()
    in ModuleContainer.EmitContainer ()
    in AssemblyDefinition.Emit ()
    in AssemblyDefinitionStatic.Emit ()
    in Driver.Compile ()
    in Driver.Main (System.String[])

test-77.cs(65,7): error CS0121: The call is ambiguous between the following methods or properties: `string.Concat(params object[])' and `string.Concat(params string[])'
/Users/administrator/Documents/Code/playscript/playscriptredux/playscript/mcs/tests/../class/lib/net_4_5/mscorlib.dll (Location of the symbol related to previous error)
    in OverloadResolver.ResolveMember (Mono.CSharp.ResolveContext, Mono.CSharp.Arguments&)
    in StringConcat.Emit (Mono.CSharp.EmitContext)
    in VariableReference.EmitAssign (Mono.CSharp.EmitContext, Mono.CSharp.Expression, System.Boolean, System.Boolean)
    in Assign.Emit (Mono.CSharp.EmitContext, System.Boolean)
    in Assign.EmitStatement (Mono.CSharp.EmitContext)
    in StatementExpression.DoEmit (Mono.CSharp.EmitContext)
    in Statement.Emit (Mono.CSharp.EmitContext)
    in Block.DoEmit (Mono.CSharp.EmitContext)
    in ExplicitBlock.Emit (Mono.CSharp.EmitContext)
    in ParametersBlock.Emit (Mono.CSharp.EmitContext)
    in ToplevelBlock.Emit (Mono.CSharp.EmitContext)
    in MethodData.Emit (Mono.CSharp.TypeDefinition)
    in MethodOrOperator.Emit ()
    in Method.Emit ()
    in TypeDefinition.Emit ()
    in ClassOrStruct.Emit ()
    in Class.Emit ()
    in TypeDefinition.EmitContainer ()
    in TypeContainer.EmitContainer ()
    in NamespaceContainer.EmitContainer ()
    in TypeContainer.EmitContainer ()
    in ModuleContainer.EmitContainer ()
    in AssemblyDefinition.Emit ()
    in AssemblyDefinitionStatic.Emit ()
    in Driver.Compile ()
    in Driver.Main (System.String[])

Compilation failed: 2 error(s), 1 warnings
sushihangover commented 9 years ago

Upstream merge fixed the issue:

Commit : c1a3af342a4f044ac7c3f856621e73eb76f57a82
Info : 7/2/2014 3:33:16 PM +02:00 / Marek Safar / marek.safar@gmail.com
Msg : [mcs] Constant folding of null strings casted to object

Conflict : mcs/mcs/cfold.cs
 ~ Manual intervention needed : mcs/mcs/cfold.cs