This code compiles fine with C11.0 but fails to compile with C11.1:
PROGRAM
Class1 CLASS,TYPE
Function1 PROCEDURE,STRING
END
MAP
Function1 PROCEDURE,STRING
END
CODE
BIND('Function1',Function1)
Class1.Function1 PROCEDURE!,STRING
CODE
RETURN ''
Function1 PROCEDURE!,STRING
CODE
RETURN ''
The error is: Parameter type label ambiguous (CODE or DATA) - Test.clw:13,20
Probably it’s related to this fix in Build 11.1.13744: FIX: Compiler: incorrect code could be generated for a BIND statement
.
The obvious solution is to rename one or the other function, but as both are widely used in a relatively large code base (Function1
is a bindable stub used in FRB reports to call the class function), I wonder if anyone had this problem before and found a simpler workaround.
This is a minimal test project: BindProcMethod.zip (1.2 KB)