[M3devel] compiler bug
Rodney M. Bates
rodney_bates at lcwb.coop
Wed Jan 20 23:45:02 CET 2016
If I try to compile with an old cm3 executable named cm3-5.8.6, I get these
errors trying to compile the cm3 executable (and others too, e.g. mklib):
------------------------------------------------------------------------------
-> linking cm3
_m3main.c:7:11: error: ‘argc’ was not declared in this scope
int main (argc, argv, envp)
^
_m3main.c:7:17: error: ‘argv’ was not declared in this scope
int main (argc, argv, envp)
^
_m3main.c:7:23: error: ‘envp’ was not declared in this scope
int main (argc, argv, envp)
^
_m3main.c:7:27: error: expression list treated as compound expression in initializer [-fpermissive]
int main (argc, argv, envp)
^
_m3main.c:8:1: error: expected ‘,’ or ‘;’ before ‘int’
int argc;
^
_m3main.c:11:1: error: expected unqualified-id before ‘{’ token
{
^
------------------------------------------------------------------------------
This happens regardless of whether I use upgrade.py, upgrade.sh, do-cm3-front.sh,
or cm3 directly in the cm3 package.
If I use a cm3 executable compiled on 2015-8-28, compiling sysutils, I can compile
the libraries and compiler, but when I try to use them to recompile, I get:
--------------------------------------------------------------------------------
- -> archiving libsysutils.a
***
*** runtime error:
*** An array subscript was out of range.
*** file "../src/M3Build.m3", line 1719
***
Aborted (core dumped)
*** execution of [<function _BuildGlobalFunction at 0x7f9173b8daa0>, <function _ShipFunction at 0x7f9173b8db18>] failed ***
-------------------------------------------------------------------------------
This also happens when I use a saved executable dated 2015-10-18
On 01/19/2016 12:09 PM, Rodney M. Bates wrote:
> I have a simple fix that made this RT crash go away, but now I can't rebuild
> the libraries/compiler from all source, with different symptoms for different
> methods.
>
> On 01/17/2016 10:01 PM, Peter McKinna wrote:
>> This is unusual.
>>
>> PROCEDURE Test() =
>> VAR x,m := 1;
>> BEGIN
>> x := Word.Extract(x,m,n);
>> END Test;
>>
>> induces
>>
>> new source -> compiling test.m3
>> "../src/test.m3", line 190: undefined (n)
>>
>>
>> ***
>> *** runtime error:
>> *** An enumeration or subrange value was out of range.
>> *** file "../AMD64_LINUX/WordExtract.m3 => ../src/builtinWord/Extract.mg", l
>> ine 120
>> ***
>>
>> Aborted (core dumped)
>>
>>
>> fix the undefined n and it compiles ok.
>>
>> Any takers to fix this?
>>
>> Should have a bug tracking system really.
>>
>> Peter
>>
>>
>>
>> _______________________________________________
>> M3devel mailing list
>> M3devel at elegosoft.com
>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
>>
>
--
Rodney Bates
rodney.m.bates at acm.org
More information about the M3devel
mailing list