You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm working toward getting IL2CPP to convert FSharp.Core.dll and I stumbled on some problematic IL. Looking at the IL for CompilerMessageAttribute, there is a recursive constructor declared that has an empty body. The C++ that IL2CPP generates for this constructor ends up causing a compiler warning because the code is infinitely recursive.
} // end of method CompilerMessageAttribute::.ctor
Repro steps
Provide the steps required to reproduce the problem
Open FSharp.Core.dll (I checked versions 4.0, 4.3, 4.4) in ILSpy or ILDASM
Find the type CompilerMessageAttribute
Notice there are two constructors. The expected one CompilerMessageAttribute(string, int), and the problematic CompilerMessageAttribute(object, object)
I'm working toward getting IL2CPP to convert FSharp.Core.dll and I stumbled on some problematic IL. Looking at the IL for CompilerMessageAttribute, there is a recursive constructor declared that has an empty body. The C++ that IL2CPP generates for this constructor ends up causing a compiler warning because the code is infinitely recursive.
.method assembly specialname rtspecialname
instance void .ctor (
object message,
object messageNumber
) cil managed
{
// Method begins at RVA 0x258c
// Code size 10 (0xa)
.maxstack 8
} // end of method CompilerMessageAttribute::.ctor
Repro steps
Provide the steps required to reproduce the problem
Expected behavior
I don't believe this constructor should exist.
Related information
Notes from @ReedCopsey :
https://github.com/Microsoft/visualfsharp/blob/65b178e13805410f27bed0679f6f2889868b6c96/src/fsharp/FSharp.Core/prim-types.fs#L348
https://github.com/Microsoft/visualfsharp/blob/65b178e13805410f27bed0679f6f2889868b6c96/src/fsharp/FSharp.Core/prim-types.fsi#L653
The text was updated successfully, but these errors were encountered: