[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2023-01-04 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 Iain Sandoe changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2023-01-04 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #21 from CVS Commits --- The master branch has been updated by Iain D Sandoe : https://gcc.gnu.org/g:ec6d1fc09faea4a6be4df74babb73dca6b50ff0c commit r13-4996-gec6d1fc09faea4a6be4df74babb73dca6b50ff0c Author: Iain Sandoe Date: Fr

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2023-01-02 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 Iain Sandoe changed: What|Removed |Added URL||https://gcc.gnu.org/piperma

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2023-01-02 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 Iain Sandoe changed: What|Removed |Added See Also||https://gcc.gnu.org/bugzill

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2023-01-01 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #18 from CVS Commits --- The master branch has been updated by Iain D Sandoe : https://gcc.gnu.org/g:d423e8dc59045d8f281dcb1a02559cb6f91456bf commit r13-4943-gd423e8dc59045d8f281dcb1a02559cb6f91456bf Author: Iain Sandoe Date: We

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-31 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #17 from Iain Sandoe --- (In reply to Iain Sandoe from comment #16) > Created attachment 54170 [details] > Patch registration constructors > > This modifies the registration CTORs that are currently defined in C++ to be > defined as

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-31 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #16 from Iain Sandoe --- Created attachment 54170 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54170&action=edit Patch registration constructors This modifies the registration CTORs that are currently defined in C++ to be de

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-28 Thread gaius at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #15 from Gaius Mulley --- Yes the proposed changes to the C module ctor works well and matches the declaration in the compiler scaffold. I'd advocate adding the attribute to match the expected behaviour for all modules. The startup

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-24 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #14 from Iain Sandoe --- coming back to this code: === extern "C" void _M2_termios_init (int, char *[], char *[]) { } extern "C" void _M2_termios_fini (int, char *[], char *[]) { } extern "C" void _M2_termios_dep (void) { } struc

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-21 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #13 from Iain Sandoe --- oops - pasto on the power results: === gm2 Summary for unix/-m64 === # of expected passes11809 # of unexpected failures59 === gm2 Summary === # of expe

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-21 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #12 from Iain Sandoe --- With the change above (and adding an assert that the function is not defined/implemented) -- NOTE: plus a number of other hacks to workaround other PRs in progress ... we now have something more reasonable fo

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread gaius at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #11 from Gaius Mulley --- Many thanks for the analysis. Taking your idea and assuming that Sym 6114 is a procedure then I think the correction is: PROCEDURE IsExternal (sym: CARDINAL) : BOOLEAN ; VAR mod: CARDINAL ; BEGIN (*

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #10 from Iain Sandoe --- It looks to me that we never check if Sym is a definition/implementation - only that the containing scope is. I probably miss something subtle - but perhaps IF NOT IsDefImp(Sym) RETURN ( TRUE ) bef

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #9 from Iain Sandoe --- So we do set _M2_termios_ctor Symbol to extern. But then here: PreAddModGcc (Sym, BuildEndFunctionDeclaration (begin, end, KeyToCharStar (GetFullSy

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #8 from Richard Biener --- Btw, the way to see what's creating some tree is breaking on the 'return result;' line in ggc_internal_alloc conditional on result being the tree (or other GC allocated) object.

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #7 from Iain Sandoe --- note that these symbols seem to appear right at the end of the list - after the HelloWorld ones (which _are_ correctly non-external). Not sure if that's relevant information.

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #6 from Iain Sandoe --- OK so it seems that the reason for the marking of these object to be static is because that's what was requested, so the reason lies within the M2 symbol table and handling of imports ... * frame #0: 0x00

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #5 from Iain Sandoe --- so I guess gm2-libs/termios.def causes the declaration of _M2_termios_ctor to be created, but I still cannot figure out what the sequence is that causes it to be created as non-external (there is no external f

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #4 from Iain Sandoe --- (In reply to Gaius Mulley from comment #3) > The scaffold array (referencing each module ctor) is generated > gcc/m2/gm2-compiler/M2Quads.mod:2402 and ctors are created in: > gcc/m2/gm2-gcc/m2decl.cc terms w

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread gaius at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #3 from Gaius Mulley --- The scaffold array (referencing each module ctor) is generated gcc/m2/gm2-compiler/M2Quads.mod:2402 and ctors are created in: gcc/m2/gm2-gcc/m2decl.cc

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-20 Thread gaius at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #2 from Gaius Mulley --- For reference the source code is: /libgm2/libm2pim/termios.cc:1981

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-19 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 --- Comment #1 from Iain Sandoe --- example: a-hello.s:217:2: error: symbol '__M2_termios_ctor' can not be undefined in a subtraction expression leal__M2_termios_ctor-L5$pb(%eax), %edx #, _T53_57 (lldb) p (void) debug_tree(decl

[Bug modula2/108183] wrong code generated in the modula2 scaffold mechanism

2022-12-19 Thread iains at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108183 Iain Sandoe changed: What|Removed |Added Ever confirmed|0 |1 Target|