From rodney.m.bates at acm.org Sun Aug 2 02:36:54 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Sat, 01 Aug 2015 17:36:54 -0700 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Message-ID: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. From jay.krell at cornell.edu Sun Aug 2 04:20:51 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 2 Aug 2015 02:20:51 +0000 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Message-ID: Rodney, Do you have a test case that was broken before and fixed afterward? If possible, though not required, check something into m3-sys/m3tests? I don't mean to imply the code was correct before. I don't know, at all. Thank you, - Jay Date: Sat, 1 Aug 2015 17:36:54 -0700 From: rodney.m.bates at acm.org To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 2 11:23:12 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 2 Aug 2015 09:23:12 +0000 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail>, Message-ID: Eh, these finally procedures cause other problems..I have code to alloca a jmpbuf per try in a procedure..and it is broken by finally generating procedures in a custom way.. so I have to move shared code to something called...ProcedureOrFinallyProcedure?that otherwise was just in Procedure. - Jay From: jay.krell at cornell.edu To: rodney.m.bates at acm.org; m3commit at elegosoft.com Subject: RE: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Date: Sun, 2 Aug 2015 02:20:51 +0000 Rodney, Do you have a test case that was broken before and fixed afterward? If possible, though not required, check something into m3-sys/m3tests? I don't mean to imply the code was correct before. I don't know, at all. Thank you, - Jay Date: Sat, 1 Aug 2015 17:36:54 -0700 From: rodney.m.bates at acm.org To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney_bates at lcwb.coop Sun Aug 2 21:57:28 2015 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Sun, 02 Aug 2015 14:57:28 -0500 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Message-ID: <55BE7628.4020105@lcwb.coop> AFAIK, it was not causing an observable failure in any of the the established back ends. But it was causing Peter trouble in translating to llvm. Here is part of the thread (which somehow got on to the unrelated SUBARRAY thread,.) -------------------------------------------------------------------------------------- So far not doing anything with free_temp, declare_temp just does an alloca but does it at the end of the first basic block to avoid dominate all uses problems. ( I have since discovered that there is a flag -alloca-hoisting which does this for you). The language ref hardly mentions temps except that they are referred to as unnamed values ie %1 %2 etc whether the optimiser does anything with these I dont know. I think I'm giving the temps names like %tmp.1 etc The workaround I have at the moment is that if in the store, (which I think is the first place one of these temps is referenced) the var is a temp ie having NoID and is not declared in the current procedure then declare it ie alloca it. Seems to work but seems pretty kludgy. My first thought when I struck this problem was that I should put all temps on the static link (since there is no parameter in declare_temp to say its uplevel and hence say which could be nested proc material) but that didnt work and really it was a pretty dumb idea. I cant see why the front end couldnt just declare a new temp in the finally proc. Commit 496e9be1dcdcf87bda8e72239fc90132591b4cf4 fixes this, for this test case. Regards Peter On Sun, Jul 26, 2015 at 2:26 AM, Rodney M. Bates wrote: More on this: I appears that, in the CM3 IR, "variables" declared by declare_local and one declared by declare_temp (and a few others, too), while declared with different operators, are accessible interchangeably. In this example, the FINALLY procedure accesses both s and the temporary nonlocally, in the same way. The difference is, the temp, unlike a local variable, has the possibility that its space in the activation record is freed prior to the end of the corresponding code. What llvm IR are you translating declare_temp and free_temp into? Llvm might have different rules for temps. On 07/25/2015 10:25 AM, Rodney M. Bates wrote: I compiled this and looked at the cm3 IR for it. At first glance, it looks like a bug in the front end. The FINALLY code is translated as a nested procedure, inside the one containing the entire TRY..FINALLY statement. The temp is created by a declare_temp in the outer procedure, freed by a free_temp in the inner one, and used in both, the 2 uses being unrelated. In m3-sys/m3middle/src/M3CG_Ops.i3, I see: ----------------------------------------------------------------------------- declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ free_temp (v: Var); (* releases the space occupied by temp 'v' so that it may be reused by other new temporaries. *) ----------------------------------------------------------------------------- And it also seems strange for the temp to be freed inside the nested procedure, although this does not violate what the comment says. The fact that every temp has a unique variable number would take care of matching the free_temp to the right declare_temp, and maybe the code generators can handle freeing a nonlocal temp. Apparently, this has caused no problems with preexisting code generators. But it certainly looks wrong, and clearly violates the comments. I recall that the gcc-derived code generator and the integrated x86 code generator both unnest nested procedures, in opposite ways (one pulls them out in front, the other in back), which might have something to do with how they handle this. What happens in the llvm back end for a programmer-declared nested procedure making a nonlocal reference to a programmer-declared local variable of the containing procedure? If you can handle this latter case, can you handle the failing one the same way? Maybe this is what is happening in the other code generators, and the comment is just too strict. On 07/24/2015 08:13 PM, Peter McKinna wrote: On the subject of temporaries can I get your thoughts on the following? TRY s := s & "a"; FINALLY s := s & "b"; END; The front end declares a temp in the try block as part of its concat and then refers to the same temp in the finally block. The trouble is that the finally code is generated in a separate procedure and references a temp declared in the proc of the try. In llvm the first you know of the problem is a store to the temp which has not been declared. Just wondering whether the front end should redeclare this temp? Also is the front end generating similar temps for other runtime operations? Regards Peter -------------------------------------------------------------------------------------- It really was strange IR. I doubt this change would cause any new problems, and could fix others. Here is the test case: MODULE TryTemp EXPORTS Main ; PROCEDURE P ( ) = VAR s : TEXT := "z" ; BEGIN TRY s := s & "a" FINALLY s := s & "b" END END P ; BEGIN P ( ) END TryTemp . I'm not sure where to put it. m3-sys/tests seems to have some kind of organization and infrastructure, which I have never understand. I don't have any automated results check for this one. I do have before and after output from m3cgc. On 08/01/2015 09:20 PM, Jay K wrote: > Rodney, Do you have a test case that was broken before and fixed afterward? > > If possible, though not required, check something into m3-sys/m3tests? > > I don't mean to imply the code was correct before. I don't know, at all. > > Thank you, > - Jay > > > > Date: Sat, 1 Aug 2015 17:36:54 -0700 > From: rodney.m.bates at acm.org > To: m3commit at elegosoft.com > Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... > > Branch: refs/heads/master > Home:https://github.com/modula3/cm3 > Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 > https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 > Author: Rodney Bates > Date: 2015-08-01 (Sat, 01 Aug 2015) > > Changed paths: > M m3-sys/m3front/src/misc/CG.m3 > > Log Message: > ----------- > Fix compiler-generated FINALLY procedure using parent procedure's temporary. > > Changes to be committed: > > modified: m3-sys/m3front/src/misc/CG.m3 > > CG was not stacking global variables used for keeping track of temporaries > when entering nested procedures. In the case of a compiler-generated > nested procedure for the finally part of a TRY--FINALLY block, this > meant the finally code could use a temporary allocated by the parent, > though not in use at the time. This violated the comment in M3CG_Ops.i3: > > declare_temp (s: ByteSize; a: Alignment; t: Type; > in_memory: BOOLEAN): Var; > (* declares an anonymous local variable. Temps are declared > and freed between their containing procedure's begin_procedure and > end_procedure calls. Temps are never referenced by nested procedures. *) > > In cases of nested procedures explicitly declared in source code, this > didn't matter because they are located ahead of any of the parent > procedure's executable code, when it has no allocated temps, and they > free their own temps at their end, restoring the previous state. > > > > > _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > _______________________________________________ > M3commit mailing list > M3commit at elegosoft.com > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > -- Rodney Bates rodney.m.bates at acm.org From rodney.m.bates at acm.org Tue Aug 4 20:37:22 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Tue, 04 Aug 2015 11:37:22 -0700 Subject: [M3commit] [modula3/cm3] f7619d: Change misleading comment about Modula-2 syntax. Message-ID: <55c10662cc32f_19d73fad8e89729c7618c@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: f7619d4e9e1f3fe766d4817866fd34cf10710962 https://github.com/modula3/cm3/commit/f7619d4e9e1f3fe766d4817866fd34cf10710962 Author: Rodney Bates Date: 2015-08-04 (Tue, 04 Aug 2015) Changed paths: M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- Change misleading comment about Modula-2 syntax. This code recovers from, not accepts Modula-2 syntax here. Changes to be committed: modified: Procedure.m3 From jay.krell at cornell.edu Wed Aug 5 20:48:46 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 11:48:46 -0700 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... Message-ID: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6e1d2c208282b2222ec76d6fd54baa93eb287004 https://github.com/modula3/cm3/commit/6e1d2c208282b2222ec76d6fd54baa93eb287004 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/common/RTLinkerC.c M m3-libs/m3core/src/unix/Common/UnixC.c M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c M scripts/python/boot2.sh M scripts/python/pylib.py Log Message: ----------- Several fixes for Mac OS X 10.10.4 Yosemite. More to do. Previously I was using 10.5.8 (and this should all work there too). - 10.5.8 gcc defaults to x86 10.10.4 defaults to AMD64. Therefore when bootstrapping via C, use explicit -arch i386. - -gstabs and -gstabs+ give errors. Use -g. - dbxout causes assembler errors. Guard it with m3gdb. - m3cc/src/m3makefile fails to ship, workaround the regression - brk and sark are deprecated and declaration errors; omit them; probably they are not used. - g++ 1.c used to compile 1.c as C++; now it warns or errors use g++ -xc++ 1.c to workaround - gcc (clang) on 10.10.4 warns/errors for extra parenthesis! if ((foo == bar)) change to if (foo == bar) Even then, we get: ../src/types/ASCII.m3: In function 'ASCII_M3': ../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. m3_backend => 4 m3cc (aka cm3cg) failed compiling: ASCII.mc and gdb is gone from the system alas. More to do. Also, using the C backend, we get confused somewhere and run either C compiler on IR file or cm3cg on .c file. More to do. From jay.krell at cornell.edu Thu Aug 6 02:04:10 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:04:10 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu> Message-ID: I think I have it -- -g probably always crashed.I'm testing -g1 now. That seemed to work on a small test case. We should perhaps fix -g though.It is a null dereference generating dwarf output. A valid workflow in Xcode is to debug by name, you canenter the name of a process that isn't running yet, and then run cm3cg. i.e. if you don't yet know how to use lldb on the command line andhaven't gone through the trouble of building/installing gdb.If gdb even still works. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:54:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu This one rings a bell, but I can?t put my finger on it.Perhaps check the m3cc commit logs? On Aug 6, 2015, at 4:48 AM, jaykrell wrote:Even then, we get:../src/types/ASCII.m3: In function 'ASCII_M3':../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11Please submit a full bug report,with preprocessed source if appropriate.See for instructions. m3_backend => 4m3cc (aka cm3cg) failed compiling: ASCII.mc -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:14:31 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:14:31 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <5C2250D5-B31C-4F54-BE89-2B2158B8F530@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu>, , <5C2250D5-B31C-4F54-BE89-2B2158B8F530@purdue.edu> Message-ID: Clarification: -gstabs/-gstabs+ didn't crash or error.They error in the assembler now. The data was likely not consumed by anything. m3gdb declines to build for Mac OSX.I suspect just because it is old but I haven't followed up. So I removed -gstabs and -gstabs+, and left -g.But that crashes.And probably always did. That should probably be fixed, but -g1 for now is my suggestion. Once I fix "the driver matter", I'll go back to the C backend anyway, wherefairly rich debugging information is builtin. :)But not knowledge of texts and open arrays. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 10:10:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu It probably used to work only with -gstabs. On Aug 6, 2015, at 10:04 AM, Jay K wrote:I think I have it -- -g probably always crashed.I'm testing -g1 now. That seemed to work on a small test case. We should perhaps fix -g though.It is a null dereference generating dwarf output. A valid workflow in Xcode is to debug by name, you canenter the name of a process that isn't running yet, and then run cm3cg. i.e. if you don't yet know how to use lldb on the command line andhaven't gone through the trouble of building/installing gdb.If gdb even still works. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:54:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu This one rings a bell, but I can?t put my finger on it.Perhaps check the m3cc commit logs? On Aug 6, 2015, at 4:48 AM, jaykrell wrote:Even then, we get:../src/types/ASCII.m3: In function 'ASCII_M3':../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11Please submit a full bug report,with preprocessed source if appropriate.See for instructions. m3_backend => 4m3cc (aka cm3cg) failed compiling: ASCII.mc -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:18:29 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:18:29 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <6A446D9D-078C-4D54-B6E5-D8642F2043B6@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <6A446D9D-078C-4D54-B6E5-D8642F2043B6@purdue.edu> Message-ID: The problem was actually the wrapper in m3-libs/m3core/src/unix/common/*.c.You know, I kind of wrap everything now. Declaration was maybe ok in the C backend. I was mixing up OpenBSD'smore severe level of deprecation, where the compiler watches for the symbols. I'll see about removing the new special case in M3C.m3 later. and "sark" was a typo or auto-correct! for "sbrk" of course. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:52:54 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu These should not be used anywhere any more. On Aug 6, 2015, at 4:48 AM, jaykrell wrote:- brk and sark are deprecated and declaration errors; omit them; probably they are not used. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:45:49 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 17:45:49 -0700 Subject: [M3commit] [modula3/cm3] 57c90d: fix #! prefix so the file can be run Message-ID: <55c2ae3de793f_53793fd31cd6b29c92549@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57c90d6d9c6ea77300ed5c045754c9e45d419e63 https://github.com/modula3/cm3/commit/57c90d6d9c6ea77300ed5c045754c9e45d419e63 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/boot2.sh Log Message: ----------- fix #! prefix so the file can be run Commit: a41dffd810c066a3afdae6ef7e18f983133e6dca https://github.com/modula3/cm3/commit/a41dffd810c066a3afdae6ef7e18f983133e6dca Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- - use -g1 instead of -g to not crash on Darwin - split SYSTEM_CC into SYSTEM_CC and SYSTEM_CC_LD SYSTEM_CC is for compiling C++ SYSTEM_CC_LD is for linking, but using the C/C++ compiler -x c++ is on the first only Still have to port the fix for: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509 which breaks assembling libm3 Compare: https://github.com/modula3/cm3/compare/6e1d2c208282...a41dffd810c0 From jay.krell at cornell.edu Thu Aug 6 03:21:41 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 18:21:41 -0700 Subject: [M3commit] [modula3/cm3] 019a7b: Port: Message-ID: <55c2b6a56432f_f273f815b2f92b81053b0@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 019a7b42365546138a7c814b6582e11860bc51c5 https://github.com/modula3/cm3/commit/019a7b42365546138a7c814b6582e11860bc51c5 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/configure M m3-sys/m3cc/gcc-4.7/gcc/configure.ac Log Message: ----------- Port: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509 https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=225158 To fix incompatibility between cm3cg and LLVM assembler, that does break in libm3. i.e. to fix on 10.10.4 Yosemite. Commit: 25aea33ef16e5789f19b87c307803ded1f9bd815 https://github.com/modula3/cm3/commit/25aea33ef16e5789f19b87c307803ded1f9bd815 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/sysutils/src/POSIX/SystemPosixC.c Log Message: ----------- change const to extern const for C++ compatibility, like m3core does Compare: https://github.com/modula3/cm3/compare/a41dffd810c0...25aea33ef16e From jay.krell at cornell.edu Thu Aug 6 10:46:54 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Thu, 06 Aug 2015 01:46:54 -0700 Subject: [M3commit] [modula3/cm3] 41299f: a Message-ID: <55c31efebdde5_eab3fa6e21992b8844a1@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 41299f4707b85a764e5aa6443b87181069122629 https://github.com/modula3/cm3/commit/41299f4707b85a764e5aa6443b87181069122629 Author: Jay Krell Date: 2015-07-29 (Wed, 29 Jul 2015) Changed paths: M m3-sys/m3tests/src/p2/p259/Main.m3 Log Message: ----------- a extend test case with nested functions Commit: 6b6ae8b0e2fd631d8e465b048aed91edb9367556 https://github.com/modula3/cm3/commit/6b6ae8b0e2fd631d8e465b048aed91edb9367556 Author: Jay Krell Date: 2015-08-02 (Sun, 02 Aug 2015) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- use U/INT64 instead of unsigned/__int64 of course, my mistake Commit: a9ce94babc387a7e38ae62d08ddccba2d4656097 https://github.com/modula3/cm3/commit/a9ce94babc387a7e38ae62d08ddccba2d4656097 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/pylib.py Log Message: ----------- newer Apple tools default to amd64 instead of x86, so I386_DARWIN needs -arch i386 (or -m32) Commit: d5ed5b1eb9d2caed810fae9576570d28fa94eefb https://github.com/modula3/cm3/commit/d5ed5b1eb9d2caed810fae9576570d28fa94eefb Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/pylib.py Log Message: ----------- add comments as to which versions have which behavior, at least 10.5.8 and 10.10.4 Yosemite Commit: f3fdc253cb6b938ef095b13de07a5d3649ffa095 https://github.com/modula3/cm3/commit/f3fdc253cb6b938ef095b13de07a5d3649ffa095 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3front/src/values/Module.m3 Log Message: ----------- remove whitespace from ends of lines, ahead of other changes Commit: de2adc0e2180b8cc3dddcaeccb1548f67b50358d https://github.com/modula3/cm3/commit/de2adc0e2180b8cc3dddcaeccb1548f67b50358d Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3back/src/M3x86.m3 Log Message: ----------- settle on just alloca and not m3_alloca Commit: b65d81f754a05eb4353a98ba3f6d936badb33ef5 https://github.com/modula3/cm3/commit/b65d81f754a05eb4353a98ba3f6d936badb33ef5 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/C/Common/Csetjmp.i3 Log Message: ----------- remove Csetjmp__Jumpbuf_size from Modula-3 interface, will replace with private C/m3front-only m3_jmpbuf_size Commit: 7c70951d55252ea40944b3e83b0a9a65165fc9a6 https://github.com/modula3/cm3/commit/7c70951d55252ea40944b3e83b0a9a65165fc9a6 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/unix/Common/Uconstants.c Log Message: ----------- Switch from Csetjmp__Jumpbuf_size to m3_jmpbuf_size. Commit: 1941851b3970ac2c713f89b667952158946d59b8 https://github.com/modula3/cm3/commit/1941851b3970ac2c713f89b667952158946d59b8 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p251/Main.m3 Log Message: ----------- Increase TRY/jmpbuf test case.# Commit: fa436a101675f015f9c849a2bb6d42dce72e668d https://github.com/modula3/cm3/commit/fa436a101675f015f9c849a2bb6d42dce72e668d Author: Jay Krell Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- fix and comments wrt detecting 64bit INTEGER Commit: e4a095d022da3c10cfea13946183d21a94092977 https://github.com/modula3/cm3/commit/e4a095d022da3c10cfea13946183d21a94092977 Author: Jay Krell Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-libs/libunicode/src/UnsafeUniRd.m3 M m3-libs/m3core/src/runtime/common/RTLinkerC.c M m3-libs/m3core/src/unix/Common/UnixC.c M m3-libs/sysutils/src/POSIX/SystemPosixC.c M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/M3Backend.m3 M m3-sys/cm3/src/M3Build.m3 M m3-sys/cm3/src/Makefile.m3 A m3-sys/cm3/src/llvmdummy/LLGen.i3 A m3-sys/cm3/src/llvmdummy/LLGen.m3 A m3-sys/cm3/src/llvmdummy/README A m3-sys/cm3/src/llvmdummy/m3makefile M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/llvmbindings/src/LLVM.i3 A m3-sys/llvmbindings/src/LLVMTypes.i3 A m3-sys/llvmbindings/src/M3DIBuilder.cpp A m3-sys/llvmbindings/src/M3DIBuilder.h A m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h M m3-sys/llvmbindings/src/Makefile M m3-sys/llvmbindings/src/README M m3-sys/llvmbindings/src/m3makefile M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc-4.7/gcc/configure M m3-sys/m3cc/gcc-4.7/gcc/configure.ac M m3-sys/m3cc/gcc/gcc/m3cg/parse.c M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 M m3-sys/m3quake/src/M3Path.i3 M m3-sys/m3quake/src/M3Path.m3 M scripts/python/boot2.sh M scripts/python/pylib.py Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 conflicts resolved Compare: https://github.com/modula3/cm3/compare/25aea33ef16e...e4a095d022da From rodney.m.bates at acm.org Thu Aug 6 22:10:46 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 06 Aug 2015 13:10:46 -0700 Subject: [M3commit] [modula3/cm3] 8646ea: In llvmbindins, cleanups, consistifications, and a... Message-ID: <55c3bf463a8be_611d3fe7dc2f32b8695d6@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8646ea6fcf99919c6384b437bd27341f89fe8ac0 https://github.com/modula3/cm3/commit/8646ea6fcf99919c6384b437bd27341f89fe8ac0 Author: Rodney Bates Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-sys/llvmbindings/src/LLVM.i3 M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.cpp M m3-sys/llvmbindings/src/M3DIBuilder.h M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h Log Message: ----------- In llvmbindins, cleanups, consistifications, and a new getDebugLoc. Changes to be committed: modified: LLVM.i3 modified: LLVMTypes.i3 modified: M3DIBuilder.cpp modified: M3DIBuilder.h modified: M3DIBuilder.i3 modified: M3Extras.cpp modified: M3Extras.h From rodney.m.bates at acm.org Thu Aug 6 22:33:07 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 06 Aug 2015 13:33:07 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... Message-ID: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 Author: Rodney Bates Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/llvmdummy/LLGen.i3 M m3-sys/cm3/src/llvmdummy/LLGen.m3 M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/m3middle/src/Target.i3 Log Message: ----------- Add backend modes for standalone cm3-IR->llvm-IR translator executable. On branch master Changes to be committed: modified: m3-sys/cm3/src/Builder.m3 modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 modified: m3-sys/cm3/src/m3makefile modified: m3-sys/cm3/src/version.quake modified: m3-sys/cminstall/src/config-no-install/Unix.common modified: m3-sys/m3middle/src/Target.i3 Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, in the case of StAloneLlvmAsm, run asm separately. From jay.krell at cornell.edu Thu Aug 6 23:28:13 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 14:28:13 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Message-ID: Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? Heck, maybe we should have quake functions for: save IR convert IR file to C in-proc convert IR file to LLVM IR save LLVM IR to file etc? Problem is that IR cannot be represented in quake? - Jay On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > Branch: refs/heads/master > Home: https://github.com/modula3/cm3 > Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > Author: Rodney Bates > Date: 2015-08-06 (Thu, 06 Aug 2015) > > Changed paths: > M m3-sys/cm3/src/Builder.m3 > M m3-sys/cm3/src/llvmdummy/LLGen.i3 > M m3-sys/cm3/src/llvmdummy/LLGen.m3 > M m3-sys/cm3/src/m3makefile > M m3-sys/cm3/src/version.quake > M m3-sys/cminstall/src/config-no-install/Unix.common > M m3-sys/m3middle/src/Target.i3 > > Log Message: > ----------- > Add backend modes for standalone cm3-IR->llvm-IR translator executable. > > On branch master > Changes to be committed: > > modified: m3-sys/cm3/src/Builder.m3 > modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > modified: m3-sys/cm3/src/m3makefile > modified: m3-sys/cm3/src/version.quake > modified: m3-sys/cminstall/src/config-no-install/Unix.common > modified: m3-sys/m3middle/src/Target.i3 > > Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > in the case of StAloneLlvmAsm, run asm separately. > > > _______________________________________________ > M3commit mailing list > M3commit at elegosoft.com > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit From rodney_bates at lcwb.coop Fri Aug 7 04:55:27 2015 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Thu, 06 Aug 2015 21:55:27 -0500 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Message-ID: <55C41E1F.1080900@lcwb.coop> On 08/06/2015 04:28 PM, Jay wrote: > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? That would not be hard. > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > Heck, maybe we should have quake functions for: > save IR > convert IR file to C in-proc > convert IR file to LLVM IR > save LLVM IR to file > etc? > > Problem is that IR cannot be represented in quake? > In working on this, I've thought about a Cartesian factoring of the various modes. But there are already way more combinations than anybody has any use for now, or even likely use. It does get complicated, figuring out the sequence of input and output file names, etc. And it's full of stuff to include files in various intermediate formats that were not produced by the cm3 compiler. > - Jay > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > >> Branch: refs/heads/master >> Home: https://github.com/modula3/cm3 >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >> Author: Rodney Bates >> Date: 2015-08-06 (Thu, 06 Aug 2015) >> >> Changed paths: >> M m3-sys/cm3/src/Builder.m3 >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >> M m3-sys/cm3/src/m3makefile >> M m3-sys/cm3/src/version.quake >> M m3-sys/cminstall/src/config-no-install/Unix.common >> M m3-sys/m3middle/src/Target.i3 >> >> Log Message: >> ----------- >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >> >> On branch master >> Changes to be committed: >> >> modified: m3-sys/cm3/src/Builder.m3 >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >> modified: m3-sys/cm3/src/m3makefile >> modified: m3-sys/cm3/src/version.quake >> modified: m3-sys/cminstall/src/config-no-install/Unix.common >> modified: m3-sys/m3middle/src/Target.i3 >> >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >> in the case of StAloneLlvmAsm, run asm separately. >> >> >> _______________________________________________ >> M3commit mailing list >> M3commit at elegosoft.com >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > -- Rodney Bates rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 06:46:32 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 21:46:32 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55C41E1F.1080900@lcwb.coop> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> <55C41E1F.1080900@lcwb.coop> Message-ID: Gentle reminder that m3cgcat fills some of this. I believe it should subsume m3llvm. Or, really, cm3 with certain flags. I prefer fewer tools with more switches and fewer devolves to 1. Going through IR files is great for development and debugging, and then just inefficient and pointless when things are working. And for "license isolation". And *maybe* as a distribution or jit format. Yes, besides -keep, as that doesn't cause the files to get created. Thank you for agreeing. :) Yes some refactoring will be appreciated. I believe there really just meant to be 2 bits- internal & external, producing assembly or object files. But we have multiple internal backends (3) and likely a desire to keep them all. So the original 2 bits don't suffice. I don't remember why I needed C to be a separate case, except maybe that -- to have multiple selectable internal backends. - Jay On Aug 6, 2015, at 7:55 PM, "Rodney M. Bates" wrote: > > > On 08/06/2015 04:28 PM, Jay wrote: >> Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > >> And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? >> >> Heck, maybe we should have quake functions for: >> save IR >> convert IR file to C in-proc >> convert IR file to LLVM IR >> save LLVM IR to file >> etc? >> >> Problem is that IR cannot be represented in quake? > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > >> - Jay >> >> On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: >> >>> Branch: refs/heads/master >>> Home: https://github.com/modula3/cm3 >>> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>> Author: Rodney Bates >>> Date: 2015-08-06 (Thu, 06 Aug 2015) >>> >>> Changed paths: >>> M m3-sys/cm3/src/Builder.m3 >>> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >>> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >>> M m3-sys/cm3/src/m3makefile >>> M m3-sys/cm3/src/version.quake >>> M m3-sys/cminstall/src/config-no-install/Unix.common >>> M m3-sys/m3middle/src/Target.i3 >>> >>> Log Message: >>> ----------- >>> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >>> >>> On branch master >>> Changes to be committed: >>> >>> modified: m3-sys/cm3/src/Builder.m3 >>> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >>> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >>> modified: m3-sys/cm3/src/m3makefile >>> modified: m3-sys/cm3/src/version.quake >>> modified: m3-sys/cminstall/src/config-no-install/Unix.common >>> modified: m3-sys/m3middle/src/Target.i3 >>> >>> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >>> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >>> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >>> in the case of StAloneLlvmAsm, run asm separately. >>> >>> >>> _______________________________________________ >>> M3commit mailing list >>> M3commit at elegosoft.com >>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > -- > Rodney Bates > rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 06:48:56 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 21:48:56 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> <55C41E1F.1080900@lcwb.coop> Message-ID: Clarification : I am often developing/debugging so "like" IR files. - Jay On Aug 6, 2015, at 9:46 PM, Jay wrote: > Gentle reminder that m3cgcat fills some of this. I believe it should subsume m3llvm. Or, really, cm3 with certain flags. I prefer fewer tools with more switches and fewer devolves to 1. > > > Going through IR files is great for development and debugging, and then just inefficient and pointless when things are working. > And for "license isolation". > And *maybe* as a distribution or jit format. > > > Yes, besides -keep, as that doesn't cause the files to get created. > > > Thank you for agreeing. :) > Yes some refactoring will be appreciated. > > > I believe there really just meant to be 2 > bits- internal & external, producing assembly or object files. > > > But we have multiple internal backends (3) and likely a desire to keep them all. > So the original 2 bits don't suffice. > > > I don't remember why I needed C to be a separate case, except maybe that -- to have multiple selectable internal backends. > > > > - Jay > > On Aug 6, 2015, at 7:55 PM, "Rodney M. Bates" wrote: > >> >> >> On 08/06/2015 04:28 PM, Jay wrote: >>> Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. >> >> Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? >> That would not be hard. >> >>> And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? >>> >>> Heck, maybe we should have quake functions for: >>> save IR >>> convert IR file to C in-proc >>> convert IR file to LLVM IR >>> save LLVM IR to file >>> etc? >>> >>> Problem is that IR cannot be represented in quake? >> >> In working on this, I've thought about a Cartesian factoring of the various >> modes. But there are already way more combinations than anybody has any >> use for now, or even likely use. It does get complicated, figuring out >> the sequence of input and output file names, etc. And it's full of stuff >> to include files in various intermediate formats that were not produced >> by the cm3 compiler. >> >>> - Jay >>> >>> On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: >>> >>>> Branch: refs/heads/master >>>> Home: https://github.com/modula3/cm3 >>>> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>>> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>>> Author: Rodney Bates >>>> Date: 2015-08-06 (Thu, 06 Aug 2015) >>>> >>>> Changed paths: >>>> M m3-sys/cm3/src/Builder.m3 >>>> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >>>> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >>>> M m3-sys/cm3/src/m3makefile >>>> M m3-sys/cm3/src/version.quake >>>> M m3-sys/cminstall/src/config-no-install/Unix.common >>>> M m3-sys/m3middle/src/Target.i3 >>>> >>>> Log Message: >>>> ----------- >>>> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >>>> >>>> On branch master >>>> Changes to be committed: >>>> >>>> modified: m3-sys/cm3/src/Builder.m3 >>>> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >>>> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >>>> modified: m3-sys/cm3/src/m3makefile >>>> modified: m3-sys/cm3/src/version.quake >>>> modified: m3-sys/cminstall/src/config-no-install/Unix.common >>>> modified: m3-sys/m3middle/src/Target.i3 >>>> >>>> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >>>> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >>>> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >>>> in the case of StAloneLlvmAsm, run asm separately. >>>> >>>> >>>> _______________________________________________ >>>> M3commit mailing list >>>> M3commit at elegosoft.com >>>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit >> >> -- >> Rodney Bates >> rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 10:35:18 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 01:35:18 -0700 Subject: [M3commit] [modula3/cm3] dd8587: Don't say -fPIC on assembler -- llvm warns every t... Message-ID: <55c46dc6cc190_1d233fd2ad69f2c03214376@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: dd85873ce8afbf9932f33ea0a2e6738721186cc9 https://github.com/modula3/cm3/commit/dd85873ce8afbf9932f33ea0a2e6738721186cc9 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- Don't say -fPIC on assembler -- llvm warns every time, and I don't think it ever did anything. From jay.krell at cornell.edu Fri Aug 7 10:43:57 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 01:43:57 -0700 Subject: [M3commit] [modula3/cm3] a1b984: deleted one too many lines Message-ID: <55c46fcd9a46d_45fa3f7e46b8d2c022621@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a1b9842ae79081cc0c644f89f87e0a6ffb228973 https://github.com/modula3/cm3/commit/a1b9842ae79081cc0c644f89f87e0a6ffb228973 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- deleted one too many lines From jay.krell at cornell.edu Sat Aug 8 07:09:16 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 22:09:16 -0700 Subject: [M3commit] [modula3/cm3] 3c3a09: restore build_standalone Message-ID: <55c58efc1830d_47cb3ff3f07b52b879688@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3c3a09b42bc969213d0ee0cc5346cefa46bf6d80 https://github.com/modula3/cm3/commit/3c3a09b42bc969213d0ee0cc5346cefa46bf6d80 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cm3/src/m3makefile Log Message: ----------- restore build_standalone it is quite important as long as we use "buildship" in upgrade we should switch to a copy all at the end "make install destdir=" approach.. From jay.krell at cornell.edu Sat Aug 8 10:45:23 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 01:45:23 -0700 Subject: [M3commit] [modula3/cm3] a99f62: move cm3 and m3cc to the end Message-ID: <55c5c1a3dff4_4cf83f81282152bc7117f@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a99f62669accd565156010b98ed0416426ccae13 https://github.com/modula3/cm3/commit/a99f62669accd565156010b98ed0416426ccae13 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M scripts/pkginfo.txt Log Message: ----------- move cm3 and m3cc to the end in particular, after mklib and cm3cgcat, so that upgrade.py from 5.8.6 with gcc backend works From jay.krell at cornell.edu Sat Aug 8 17:17:03 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 08:17:03 -0700 Subject: [M3commit] [modula3/cm3] 67052a: Add upgrade-full.sh that reuses upgrade.py and is Message-ID: <55c61d6f52f09_619e3f8dd1ff32c0575a4@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 67052a69f9dfd91777304118c20d288cf6714f6f https://github.com/modula3/cm3/commit/67052a69f9dfd91777304118c20d288cf6714f6f Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: A scripts/python/upgrade-full.sh Log Message: ----------- Add upgrade-full.sh that reuses upgrade.py and is much more like upgrade.sh. i.e. When I was writing uprade.py to emulate upgrade.sh, I misread upgrade.sh. upgrade.sh updates the compiler and then rebuilds everything with it. upgrade.py only updates the compiler and requisite libm3/m3core. upgrade-full.sh calls upgrade.py and then rebuilds everything. From jay.krell at cornell.edu Sat Aug 8 20:29:13 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 11:29:13 -0700 Subject: [M3commit] [modula3/cm3] 44fbd1: allocate jmpbufs with alloca(external variable ini... Message-ID: <55c64a791d503_1bd73fdfddff32bc19462@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 44fbd1608a73affa0625a9df4bff1c7248cc6f3c https://github.com/modula3/cm3/commit/44fbd1608a73affa0625a9df4bff1c7248cc6f3c Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- allocate jmpbufs with alloca(external variable initialized in C) instead of having cm3 know any target-specfic jmp_buf sizeA The point is: This removes a chunk of target-specific code (in Target.m3). It is a slight deoptimization in otherwise already very inefficient code, which might be replaced be something much more efficient than it previously was. From jay.krell at cornell.edu Sat Aug 8 20:49:10 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sat, 08 Aug 2015 11:49:10 -0700 Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Message-ID: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. From jay.krell at cornell.edu Sat Aug 8 20:55:05 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 11:55:05 -0700 Subject: [M3commit] [modula3/cm3] 175cfa: script to capture cm3, cm3cg, config, m3core, libm... Message-ID: <55c650892e1fe_5c213faa03dc92bc206f6@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 175cfa19ec1198a040daec27baeb335748d91446 https://github.com/modula3/cm3/commit/175cfa19ec1198a040daec27baeb335748d91446 Author: Jay Krell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: A scripts/python/capture-boot.py Log Message: ----------- script to capture cm3, cm3cg, config, m3core, libm3 from existing install Commit: 6d71769c2d2067a375fd01be865b8733a4e2b5b0 https://github.com/modula3/cm3/commit/6d71769c2d2067a375fd01be865b8733a4e2b5b0 Author: Jay Krell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M .gitignore M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/llvmdummy/LLGen.i3 M m3-sys/cm3/src/llvmdummy/LLGen.m3 M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/llvm/src/M3CG_LLVM.m3 M m3-sys/llvmbindings/src/LLVM.i3 M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.cpp M m3-sys/llvmbindings/src/M3DIBuilder.h M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h M m3-sys/m3middle/src/Target.i3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Commit: 235f6e05efb230df7f8b6c79ad325c233589268f https://github.com/modula3/cm3/commit/235f6e05efb230df7f8b6c79ad325c233589268f Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: A scripts/python/upgrade-full.sh Log Message: ----------- upgrade and rebuild everything, like sh upgrade does Commit: b2c6582d0731b41c4088dbc2edafe9cd70b0db07 https://github.com/modula3/cm3/commit/b2c6582d0731b41c4088dbc2edafe9cd70b0db07 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M scripts/pkginfo.txt Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 Commit: 29b9219511a425356e20ea406dd2b240d88cc797 https://github.com/modula3/cm3/commit/29b9219511a425356e20ea406dd2b240d88cc797 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/57ad34f5034d...29b9219511a4 From jay.krell at cornell.edu Sat Aug 8 20:59:55 2015 From: jay.krell at cornell.edu (Jay K) Date: Sat, 8 Aug 2015 18:59:55 +0000 Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... In-Reply-To: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> References: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> Message-ID: I believe this is working ok on MacOS X 10.5.8 with cm3cg and C backend.However things do not work on 10.10.4. I'm guessing for another unknownreason but I want to debug that separately for now. If anyone else can give the previous a try on their configuration, that'd be appreciated.(In github app, you can revert my revert. I haven't found how to do w/ git command line). Thank you. Specifically on 10.0.4 I get: * thread #1: tid = 0x3a9861, 0x002b7360 cm3`RTAllocator__GetTracedObj + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x24) frame #0: 0x002b7360 cm3`RTAllocator__GetTracedObj + 36 * frame #1: 0x002b6e90 cm3`RTHooks__AllocateTracedObj + 17 frame #2: 0x00281272 cm3`TextUtils_M3 + 49 frame #3: 0x002c705c cm3`RTLinker__RunMainBody + 763 frame #4: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #5: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #6: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #7: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #8: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #9: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #10: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #11: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #12: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #13: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #14: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #15: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #16: 0x002c64e8 cm3`RTLinker__AddUnitI + 287 frame #17: 0x002c6563 cm3`RTLinker__AddUnit + 116 frame #18: 0x00002341 cm3`main(argc=1, argv=0xbffffca8, envp=0xbffffcb0) + 97 at _m3main.c:22 frame #19: 0x9518e6d9 libdyld.dylib`start + 1 - Jay Date: Sat, 8 Aug 2015 11:49:10 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 00:09:00 2015 From: jay.krell at cornell.edu (Jay K) Date: Sat, 8 Aug 2015 22:09:00 +0000 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55C41E1F.1080900@lcwb.coop> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail>, , <55C41E1F.1080900@lcwb.coop> Message-ID: This or the previous seems to have broken the C mode.I'm debugging. - Jay > Date: Thu, 6 Aug 2015 21:55:27 -0500 > From: rodney_bates at lcwb.coop > To: jay.krell at cornell.edu > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... > > > > On 08/06/2015 04:28 PM, Jay wrote: > > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > > > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > > > Heck, maybe we should have quake functions for: > > save IR > > convert IR file to C in-proc > > convert IR file to LLVM IR > > save LLVM IR to file > > etc? > > > > Problem is that IR cannot be represented in quake? > > > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > > > - Jay > > > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > > > >> Branch: refs/heads/master > >> Home: https://github.com/modula3/cm3 > >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> Author: Rodney Bates > >> Date: 2015-08-06 (Thu, 06 Aug 2015) > >> > >> Changed paths: > >> M m3-sys/cm3/src/Builder.m3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> M m3-sys/cm3/src/m3makefile > >> M m3-sys/cm3/src/version.quake > >> M m3-sys/cminstall/src/config-no-install/Unix.common > >> M m3-sys/m3middle/src/Target.i3 > >> > >> Log Message: > >> ----------- > >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. > >> > >> On branch master > >> Changes to be committed: > >> > >> modified: m3-sys/cm3/src/Builder.m3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> modified: m3-sys/cm3/src/m3makefile > >> modified: m3-sys/cm3/src/version.quake > >> modified: m3-sys/cminstall/src/config-no-install/Unix.common > >> modified: m3-sys/m3middle/src/Target.i3 > >> > >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > >> in the case of StAloneLlvmAsm, run asm separately. > >> > >> > >> _______________________________________________ > >> M3commit mailing list > >> M3commit at elegosoft.com > >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > > -- > Rodney Bates > rodney.m.bates at acm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 02:57:56 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 17:57:56 -0700 Subject: [M3commit] [modula3/cm3] 98666c: Repair recently broken C mode in Builder.m3. Message-ID: <55c6a5943b6fc_47413f9679eef29c4025@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 98666cf851ab0f0e0999d4941f593f27f1858713 https://github.com/modula3/cm3/commit/98666cf851ab0f0e0999d4941f593f27f1858713 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- Repair recently broken C mode in Builder.m3. Some cleanup/refactoring in Builder.m3. From jay.krell at cornell.edu Sun Aug 9 03:15:07 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 9 Aug 2015 01:15:07 +0000 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail>, , <55C41E1F.1080900@lcwb.coop>, Message-ID: I fixed Builder.m3 and cleaned it up a little.Hopefully didn't break the LLVM paths. I think the model I followed for C is a good one. I extended m3cgcat to have more output types, i.e. so it can input m3cg (same as before) and output C (new). cm3cgcat is the Modula-3 BSD-licensed executable that canread the .mc files. (Unfortunately we have no basis for BSD-licensed C/C++ reading .mc files.If someone could make a "preprocessor-friendly cm3cg description"outside of the m3cc directory, that'd be good..) I used an existing mode: ExternalObject I introduced a config variable: USE_C_BACKEND_VIA_M3CGCAT Maybe not the best name. And then conditionally replaced m3_backend in cm3cfg.common: if USE_C_BACKEND_VIA_M3CGCATM3_BACKEND_MODE = "ExternalObject" proc m3_backend(source, object, optimize, debug) is ret_code = try_exec("m3cgcat", "-in-binary:" & source, "-out-c:" & source & ".c") if not equal(ret_code, 0) return ret_code end return compile_c(source & ".c", object, [ ], FALSE, TRUE)endend Builder.m3 didn't need any changes to get everything working and forquicker turnaround on small changes. Efficiency compiling the entiretree was a bit off. And then, I ran cm3, I guess cm3 -boot or cm3 -keep. It was a while ago. :)Generating a bunch of ".mc" files. I then ran cm3cgat in my "inner loop". Once things were further along, I added the C mode for efficiency,to avoid writing/reading the .mc files. More likely I should have added a separate variable: InternalBackend = "C". I think in your work, you'd again want the .mc files for the bulkof development time, and then you'd want, I think just one LLVM mode afterward,that constructs the LLVM IR in memory and writes out object files. If you have the wherewithall to write LLVM IR bit code w/o linking to LLVM,then that might be another mode. - Jay From: jay.krell at cornell.edu To: rodney.m.bates at acm.org CC: m3commit at elegosoft.com Subject: RE: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... Date: Sat, 8 Aug 2015 22:09:00 +0000 This or the previous seems to have broken the C mode.I'm debugging. - Jay > Date: Thu, 6 Aug 2015 21:55:27 -0500 > From: rodney_bates at lcwb.coop > To: jay.krell at cornell.edu > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... > > > > On 08/06/2015 04:28 PM, Jay wrote: > > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > > > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > > > Heck, maybe we should have quake functions for: > > save IR > > convert IR file to C in-proc > > convert IR file to LLVM IR > > save LLVM IR to file > > etc? > > > > Problem is that IR cannot be represented in quake? > > > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > > > - Jay > > > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > > > >> Branch: refs/heads/master > >> Home: https://github.com/modula3/cm3 > >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> Author: Rodney Bates > >> Date: 2015-08-06 (Thu, 06 Aug 2015) > >> > >> Changed paths: > >> M m3-sys/cm3/src/Builder.m3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> M m3-sys/cm3/src/m3makefile > >> M m3-sys/cm3/src/version.quake > >> M m3-sys/cminstall/src/config-no-install/Unix.common > >> M m3-sys/m3middle/src/Target.i3 > >> > >> Log Message: > >> ----------- > >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. > >> > >> On branch master > >> Changes to be committed: > >> > >> modified: m3-sys/cm3/src/Builder.m3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> modified: m3-sys/cm3/src/m3makefile > >> modified: m3-sys/cm3/src/version.quake > >> modified: m3-sys/cminstall/src/config-no-install/Unix.common > >> modified: m3-sys/m3middle/src/Target.i3 > >> > >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > >> in the case of StAloneLlvmAsm, run asm separately. > >> > >> > >> _______________________________________________ > >> M3commit mailing list > >> M3commit at elegosoft.com > >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > > -- > Rodney Bates > rodney.m.bates at acm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 03:31:14 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 9 Aug 2015 01:31:14 +0000 Subject: [M3commit] alloca(jmpbuf_size) is in In-Reply-To: References: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail>, Message-ID: I've seen it work now on AMD64_LINUX, SPARC32_SOLARIS, and I386_DARWIN 10.5.8.I think MacOSX 10.10.4 has something else wrong with it that'll take a while to figure out. So I commited it again. PLEASE NOTE that the upgrade procedure is tricky like with cm3cg, but the results of getting it wrong are worse than the recent round of cm3cg changes.You will get runtime crashes. upgrade.py and upgrade-full.sh and likely upgrade.sh all do the right thing, same as always. Not only is cm3 closely tied with cm3cg, but it also closely tied with m3core.The compiler and runtime collaborate on producing and consuming certain data structures,and these data structures have changed now. At least it should be more debuggable now with the C backend -- so I can see local variables for example.Fixing cm3cg to work with plain -g would be good. Is anyone else running 10.10? Thanks, - Jay From: jay.krell at cornell.edu To: m3commit at elegosoft.com Date: Sat, 8 Aug 2015 18:59:55 +0000 Subject: Re: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... I believe this is working ok on MacOS X 10.5.8 with cm3cg and C backend.However things do not work on 10.10.4. I'm guessing for another unknownreason but I want to debug that separately for now. If anyone else can give the previous a try on their configuration, that'd be appreciated.(In github app, you can revert my revert. I haven't found how to do w/ git command line). Thank you. Specifically on 10.0.4 I get: * thread #1: tid = 0x3a9861, 0x002b7360 cm3`RTAllocator__GetTracedObj + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x24) frame #0: 0x002b7360 cm3`RTAllocator__GetTracedObj + 36 * frame #1: 0x002b6e90 cm3`RTHooks__AllocateTracedObj + 17 frame #2: 0x00281272 cm3`TextUtils_M3 + 49 frame #3: 0x002c705c cm3`RTLinker__RunMainBody + 763 frame #4: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #5: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #6: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #7: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #8: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #9: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #10: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #11: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #12: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #13: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #14: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #15: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #16: 0x002c64e8 cm3`RTLinker__AddUnitI + 287 frame #17: 0x002c6563 cm3`RTLinker__AddUnit + 116 frame #18: 0x00002341 cm3`main(argc=1, argv=0xbffffca8, envp=0xbffffcb0) + 97 at _m3main.c:22 frame #19: 0x9518e6d9 libdyld.dylib`start + 1 - Jay Date: Sat, 8 Aug 2015 11:49:10 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Aug 9 04:03:09 2015 From: jkrell at elego.de (Jay Krell) Date: Sat, 08 Aug 2015 19:03:09 -0700 Subject: [M3commit] [modula3/cm3] 5b04af: Revert "Revert "allocate jmpbufs with alloca(exter... Message-ID: <55c6b4ddc5c07_19283fbc35f252c035033@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5b04afe9134e5807196ba6af13fa4cd28401f054 https://github.com/modula3/cm3/commit/5b04afe9134e5807196ba6af13fa4cd28401f054 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "Revert "allocate jmpbufs with alloca(external variable initialized in C)"" This reverts commit 57ad34f5034d5000bd5d63fb384851921bc782a1. Commit: db5a8d55d030950ab2f922f1342e618258750be6 https://github.com/modula3/cm3/commit/db5a8d55d030950ab2f922f1342e618258750be6 Author: Jay Krell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- Merge branch 'master' of git at github.com:modula3/cm3 Compare: https://github.com/modula3/cm3/compare/98666cf851ab...db5a8d55d030 From jay.krell at cornell.edu Sun Aug 9 04:42:09 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 19:42:09 -0700 Subject: [M3commit] [modula3/cm3] d22bef: Should fix problem with newer gcc -- I've been usi... Message-ID: <55c6be0175247_1d233fd2ad69f2c03240999@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d22befacfc44f3ceed436bce8247c279ed67375c https://github.com/modula3/cm3/commit/d22befacfc44f3ceed436bce8247c279ed67375c Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- Should fix problem with newer gcc -- I've been using default gcc 4.0.1 a while oops! Commit: 2e7bb8751d625abe4518ffdc8d78e5bec255e4f0 https://github.com/modula3/cm3/commit/2e7bb8751d625abe4518ffdc8d78e5bec255e4f0 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/db5a8d55d030...2e7bb8751d62 From jay.krell at cornell.edu Sun Aug 9 04:50:20 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 19:50:20 -0700 Subject: [M3commit] [modula3/cm3] 59f7ea: fix typo Message-ID: <55c6bfecae788_3c343fe7b7e0d2b8602e2@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 59f7ea5192b65ef9e18450a7ece86e5259dd15d4 https://github.com/modula3/cm3/commit/59f7ea5192b65ef9e18450a7ece86e5259dd15d4 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- fix typo Commit: 602ec25e457abd17e37bcff294989e74d8cea735 https://github.com/modula3/cm3/commit/602ec25e457abd17e37bcff294989e74d8cea735 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/Jmpbufs.m3 Log Message: ----------- fix unused warning due to debug code Compare: https://github.com/modula3/cm3/compare/2e7bb8751d62...602ec25e457a From jay.krell at cornell.edu Sun Aug 9 10:37:26 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sun, 09 Aug 2015 01:37:26 -0700 Subject: [M3commit] [modula3/cm3] a1489e: fix "autoconf" program to be more modern so it is ... Message-ID: <55c71146d2011_26043fd5ed6db2a0902af@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a1489e895f6b9fd3e17266b0cfc72d8b7e45c7dc https://github.com/modula3/cm3/commit/a1489e895f6b9fd3e17266b0cfc72d8b7e45c7dc Author: jaykrell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- fix "autoconf" program to be more modern so it is not rejected comments about X11 and OpenGL but ultimately no change..and X programs are not working Commit: 79655166d3ba5042a0be4c6f5f5664990b7aa49e https://github.com/modula3/cm3/commit/79655166d3ba5042a0be4c6f5f5664990b7aa49e Author: jaykrell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3front/src/misc/Jmpbufs.m3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/602ec25e457a...79655166d3ba From jay.krell at cornell.edu Tue Aug 11 13:36:22 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 11 Aug 2015 04:36:22 -0700 Subject: [M3commit] [modula3/cm3] 37b167: possible techniques to be like autoconf but differ... Message-ID: <55c9de3669ba7_34bd3fe315b012a0111c0@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 37b167b2d8fce7e38f32f33d9d1bbb8a816bcafb https://github.com/modula3/cm3/commit/37b167b2d8fce7e38f32f33d9d1bbb8a816bcafb Author: jaykrell Date: 2015-08-10 (Mon, 10 Aug 2015) Changed paths: A scratch/jconf/jconf1.c A scratch/jconf/jconf1.sh Log Message: ----------- possible techniques to be like autoconf but different, and not nearly as general Commit: 56a7834bd4e023e599db1edc3c3828efd35ffcaa https://github.com/modula3/cm3/commit/56a7834bd4e023e599db1edc3c3828efd35ffcaa Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: A m3-libs/m3core/src/runtime/common/RT0.h Log Message: ----------- C++ version of RT0.i3 might be useful, though I ended up not using it. Commit: 8eb697cca2b6c6c45226612e6ca52105d8fecf3b https://github.com/modula3/cm3/commit/8eb697cca2b6c6c45226612e6ca52105d8fecf3b Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c Log Message: ----------- Switch Darwing config to use "as" instead of "gcc -x assembler" to assemble. gcc on 10.0.4 Yosemite is clang and runs the clang assembler which has a big problem if any non-lazy pointers precede any stubs -- stubs are hooked up incorrectly and the wrong functions are called. The non-LLVM assembler doesn't have this problem. I also attempted dropping support for 10.4 which should have worked but didn't. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67183 (suggest gcc output in llvm-as-compatible order) https://llvm.org/bugs/show_bug.cgi?id=24428 (clearly a bug) This configuration change might break some things. All the information around what hosts have what assemblers supporting what targets is not well contained. This is perhaps why gcc made a nice assembler driver. Compare: https://github.com/modula3/cm3/compare/79655166d3ba...8eb697cca2b6 From jay.krell at cornell.edu Wed Aug 12 10:11:25 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 12 Aug 2015 01:11:25 -0700 Subject: [M3commit] [modula3/cm3] afe7b0: removal of Objective-C, C, and driver Message-ID: <55caffad4f7b5_2b583f91ab3712bc19789@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: afe7b06c74f22f9e765e6461c76cae802b4b0f7c https://github.com/modula3/cm3/commit/afe7b06c74f22f9e765e6461c76cae802b4b0f7c Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config/darwin-sections.def M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.h M m3-sys/m3cc/gcc-4.7/gcc/config/darwin10.h M m3-sys/m3cc/gcc-4.7/gcc/config/darwin9.h Log Message: ----------- removal of Objective-C, C, and driver Commit: 26a3a558f9360400f8a45889604484584a3d465d https://github.com/modula3/cm3/commit/26a3a558f9360400f8a45889604484584a3d465d Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/cm3cfg.common Log Message: ----------- Give C compiler -fno-reorder-blocks -funwind-tables if they are accepted. gcc accepts both. clang accepts one of them. The point of unwind-tables is to prepare for a future in which we generate code using C++ exception handling. This helps us exercise *some* of that earlier. Commit: 14d5e667e19abaab679b52bc8fd35a4e38073330 https://github.com/modula3/cm3/commit/14d5e667e19abaab679b52bc8fd35a4e38073330 Author: jaykrell Date: 2015-08-12 (Wed, 12 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c Log Message: ----------- Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67183. Establish a partial ordering of the outputs, so that stubs precede non-lazy pointers. Note that I couldn't get weak references to occur (even in C). Note that I still think we shouldn't output in hash order, but I didn't fix that. Compare: https://github.com/modula3/cm3/compare/8eb697cca2b6...14d5e667e19a From jay.krell at cornell.edu Wed Aug 12 10:18:28 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 12 Aug 2015 01:18:28 -0700 Subject: [M3commit] [modula3/cm3] a61b4d: With cm3cg now splitting stubs from non-lazy point... Message-ID: <55cb01546124d_26bc3fd2ee4b32b81879@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a61b4d7a910671fde943b43da75c6543d3342a7e https://github.com/modula3/cm3/commit/a61b4d7a910671fde943b43da75c6543d3342a7e Author: jaykrell Date: 2015-08-12 (Wed, 12 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- With cm3cg now splitting stubs from non-lazy pointers, go back to gcc -x assembler to find the assembler.# From jay.krell at cornell.edu Thu Aug 13 18:43:23 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 09:43:23 -0700 Subject: [M3commit] [modula3/cm3] 0f8cd7: a little shorter Message-ID: <55ccc92b35df5_70633f8d961ad2a0208d@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 0f8cd79bb3a669d5094891ffd54226c0a1757000 https://github.com/modula3/cm3/commit/0f8cd79bb3a669d5094891ffd54226c0a1757000 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p251/Main.m3 Log Message: ----------- a little shorter Commit: e3eace4829a32e9ed73382b56ae485f9802c6bee https://github.com/modula3/cm3/commit/e3eace4829a32e9ed73382b56ae485f9802c6bee Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.i3 M m3-libs/m3core/src/thread/PTHREAD/ThreadPThreadC.c Log Message: ----------- There is no longer a need to wrap pthread_equal so remove it. Commit: 879eb7f6da0e358707ed7801cf2f522599e6c37b https://github.com/modula3/cm3/commit/879eb7f6da0e358707ed7801cf2f522599e6c37b Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/analyze_coverage.c M m3-tools/coverage/src/report_coverage.c M m3-ui/glut/test/src/m3makefile Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 Commit: 8559cea261272f574c06a0e5cd1766827b42124a https://github.com/modula3/cm3/commit/8559cea261272f574c06a0e5cd1766827b42124a Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p261/A.i3 A m3-sys/m3tests/src/p2/p261/A.m3 A m3-sys/m3tests/src/p2/p261/B.i3 A m3-sys/m3tests/src/p2/p261/B.m3 A m3-sys/m3tests/src/p2/p261/Main.m3 A m3-sys/m3tests/src/p2/p261/m3makefile Log Message: ----------- test of errors in a module stopping package compilation Commit: ff9855193deeb4c4edde3fe51103f56438ab3206 https://github.com/modula3/cm3/commit/ff9855193deeb4c4edde3fe51103f56438ab3206 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- minimal fix to regression from: https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/cm3/src/Builder.m3.diff?r1=1.37;r2=1.38 https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/cm3/src/Builder.m3 Revision 1.38: download - view: text, markup, annotated - select for diffs Wed Jan 30 12:57:50 2013 MET (2 years, 6 months ago) by jkrell Branches: MAIN Diff to: previous 1.37: preferred, unified Changes since revision 1.37: +151 -105 lines add "C" mode to builder The exact logic as to what to keep in error paths could use more attention. Compare: https://github.com/modula3/cm3/compare/abba22a056dd...ff9855193dee From jay.krell at cornell.edu Fri Aug 14 04:14:52 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 19:14:52 -0700 Subject: [M3commit] [modula3/cm3] 954f39: add source path to error as was intended Message-ID: <55cd4f1cd0384_1693f90205952a062783@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 954f3998555e184c001d4a54d1a492faa210167c https://github.com/modula3/cm3/commit/954f3998555e184c001d4a54d1a492faa210167c Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- add source path to error as was intended From jay.krell at cornell.edu Fri Aug 14 05:13:54 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 20:13:54 -0700 Subject: [M3commit] [modula3/cm3] 778bb5: ANSI-ify, make it valid C++, no longer valid K&R, ... Message-ID: <55cd5cf280fdb_8a33fc05454929c10485a@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 778bb5a55029836903c96ae0765132ac5878c0a7 https://github.com/modula3/cm3/commit/778bb5a55029836903c96ae0765132ac5878c0a7 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/analyze_coverage.c M m3-tools/coverage/src/report_coverage.c Log Message: ----------- ANSI-ify, make it valid C++, no longer valid K&R, hopefully that is ok, it was already a mix, and therefore not valid K&R use sizeof instead of strlen From jay.krell at cornell.edu Fri Aug 14 10:37:52 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 14 Aug 2015 01:37:52 -0700 Subject: [M3commit] [modula3/cm3] 647e93: comments as to why this m3makefile is so unusual Message-ID: <55cda8e0e0b83_45833f7ee79332bc13887@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 647e932726a16a8f865335e92a2b3a38ae05ed2f https://github.com/modula3/cm3/commit/647e932726a16a8f865335e92a2b3a38ae05ed2f Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/m3makefile Log Message: ----------- comments as to why this m3makefile is so unusual Commit: 20aa9fe8c9fe0fb424b02c6fa5a0eef747b54196 https://github.com/modula3/cm3/commit/20aa9fe8c9fe0fb424b02c6fa5a0eef747b54196 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/report_coverage.c Log Message: ----------- spell out "dir" as "direction" remove null statement add volatile to be sure unused reads aren't optimized away reove unused type Commit: 226eef82f1fb53db844deaef48f7256b2807c5b4 https://github.com/modula3/cm3/commit/226eef82f1fb53db844deaef48f7256b2807c5b4 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3cc/src/buildmany.sh Log Message: ----------- move ARM_DARWIN to the bottom while figuring out why it doesn't compile Commit: 9db79f78e7ae15648c366b48a26beffb2f03676b https://github.com/modula3/cm3/commit/9db79f78e7ae15648c366b48a26beffb2f03676b Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config.gcc M m3-sys/m3cc/gcc-4.7/gcc/config/alpha/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/arm/freebsd.h R m3-sys/m3cc/gcc-4.7/gcc/config/darwin-driver.c M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.h M m3-sys/m3cc/gcc-4.7/gcc/config/freebsd-spec.h M m3-sys/m3cc/gcc-4.7/gcc/config/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/i386/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/i386/sol2-bi.h M m3-sys/m3cc/gcc-4.7/gcc/config/ia64/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/lynx.h M m3-sys/m3cc/gcc-4.7/gcc/config/netbsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/openbsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/rtems.h R m3-sys/m3cc/gcc-4.7/gcc/config/sol2-bi.h M m3-sys/m3cc/gcc-4.7/gcc/config/sol2.h M m3-sys/m3cc/gcc-4.7/gcc/config/sparc/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/vx-common.h M m3-sys/m3cc/gcc-4.7/gcc/config/vxworks.h Log Message: ----------- remove move parts of the driver and the C/C++ frontend Commit: 6a6ca0fe3cae55a08a1db9e218e4c2578566c2f1 https://github.com/modula3/cm3/commit/6a6ca0fe3cae55a08a1db9e218e4c2578566c2f1 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Interix.common M m3-sys/cminstall/src/config-no-install/Linux.common M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- A slight increase in portability -- making everything have the same code. In particular, we can use ar cru + ranlib on almost every system, as long as we ignore the result of ranlib. On old systems, ar cru or ar cr + ranlib is the only right way. On most current systems, ranlib doesn't do anything. On some systems (Irix?) ranlib does not exist so will fail. I am pretty certain that the "s" flag is not needed and the "u" flag sometimes help. gcc makes libbackend without the u flag though, but otherwise is like that -- ar + ranlib, ignores the result ranlib result and doesn't autoconf this aspect. and we still make Compare: https://github.com/modula3/cm3/compare/778bb5a55029...6a6ca0fe3cae From jay.krell at cornell.edu Fri Aug 14 21:32:40 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 14 Aug 2015 12:32:40 -0700 Subject: [M3commit] [modula3/cm3] 782ff5: whitespace Message-ID: <55ce425853ea1_4b073fcde53f12c09107b@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 782ff59d7e3d256174b5269d7c568df98a68d684 https://github.com/modula3/cm3/commit/782ff59d7e3d256174b5269d7c568df98a68d684 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/HPUX.common Log Message: ----------- whitespace Commit: b8ebada3c0907c27dc9acfcdce475172943ea962 https://github.com/modula3/cm3/commit/b8ebada3c0907c27dc9acfcdce475172943ea962 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- remove workaround for old toolsets (e.g. LINUXLIBC6 release 5.4.0) Compare: https://github.com/modula3/cm3/compare/6a6ca0fe3cae...b8ebada3c090 From jay.krell at cornell.edu Sun Aug 16 08:19:08 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sat, 15 Aug 2015 23:19:08 -0700 Subject: [M3commit] [modula3/cm3] 71aa66: upgrade PA64_HPUX from no debug info to -g1, simil... Message-ID: <55d02b5caa43b_145e3f9353c7d2bc71258@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 71aa66236d76e701609a4212f71031c8b522aadb https://github.com/modula3/cm3/commit/71aa66236d76e701609a4212f71031c8b522aadb Author: jaykrell Date: 2015-08-15 (Sat, 15 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/PA64_HPUX Log Message: ----------- upgrade PA64_HPUX from no debug info to -g1, similar to Darwin -gstabs is not supported plain -g crashes -g1 produces some extra information tested with a cross cm3cg and cross GNU as, not actually run or debugged From jay.krell at cornell.edu Sun Aug 16 12:14:53 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sun, 16 Aug 2015 03:14:53 -0700 Subject: [M3commit] [modula3/cm3] bd1ff6: Fix structure_size_boundary for PA and indicate th... Message-ID: <55d0629d8b76c_24753fbf4ce2f2c051f1@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: bd1ff6363a8751b56da160a516aea2bf46093203 https://github.com/modula3/cm3/commit/bd1ff6363a8751b56da160a516aea2bf46093203 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Fix structure_size_boundary for PA and indicate that is fairly irrelevant. From rodney.m.bates at acm.org Thu Aug 20 00:04:06 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Wed, 19 Aug 2015 15:04:06 -0700 Subject: [M3commit] [modula3/cm3] 945c1a: Fix llvm binding problems and automate build of pa... Message-ID: <55d4fd563d01f_4c53f8efbfd12bc9044@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 945c1a2ff937db07c8eab1df4379eab54a43c0f6 https://github.com/modula3/cm3/commit/945c1a2ff937db07c8eab1df4379eab54a43c0f6 Author: Rodney Bates Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: A m3-sys/llvm/src/DIBuilderBindings.cpp A m3-sys/llvm/src/DIBuilderBindings.h M m3-sys/llvm/src/M3CG_LLVM.m3 A m3-sys/llvm/src/M3Extras.cpp A m3-sys/llvm/src/M3Extras.h A m3-sys/llvm/src/Makefile M m3-sys/llvm/src/m3makefile M m3-sys/llvm/src/readme Log Message: ----------- Fix llvm binding problems and automate build of package llvm. Commit binding files provided by Peter McKinna via email. Add m3makefile and Makefile lines to build them and link with Modula-3 code. Fix build problems. This is for llvm 3.5.0 See file readme for information on building. Changes to be committed: new file: DIBuilderBindings.cpp new file: DIBuilderBindings.h modified: M3CG_LLVM.m3 new file: M3Extras.cpp new file: M3Extras.h new file: Makefile modified: m3makefile modified: readme From rodney.m.bates at acm.org Thu Aug 20 00:12:23 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Wed, 19 Aug 2015 15:12:23 -0700 Subject: [M3commit] [modula3/cm3] 02210e: Changes to allow a version of m3llvm, modified for... Message-ID: <55d4ff47afce_7d803fdb0affb2a036610@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 02210e7088cea5303efb720d5b17ca2a41f7a329 https://github.com/modula3/cm3/commit/02210e7088cea5303efb720d5b17ca2a41f7a329 Author: Rodney Bates Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/m3makefile Log Message: ----------- Changes to allow a version of m3llvm, modified for llvm 3.6.1, to build. Changes to be committed: modified: LLVMTypes.i3 modified: M3DIBuilder.i3 modified: M3Extras.cpp modified: m3makefile From jay.krell at cornell.edu Thu Aug 20 11:34:49 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 20 Aug 2015 02:34:49 -0700 Subject: [M3commit] [modula3/cm3] e5d73c: A Message-ID: <55d59f393f9a6_34cf3fe9cc9332bc99532@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: e5d73c8056d4dc5b76feb791a632130ecef8b297 https://github.com/modula3/cm3/commit/e5d73c8056d4dc5b76feb791a632130ecef8b297 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p262/Main.m3 A m3-sys/m3tests/src/p2/p262/m3makefile A m3-sys/m3tests/src/p2/p262/m3overrides A m3-sys/m3tests/src/p2/p262/p262.sh Log Message: ----------- A test case for PA structure_size_boundary and partial demo of cross compilation, at least to assembly You can see the resulting struct sizes in the assembly. The other part of the cross-use is m3cc/src/buildmany.sh and a config file change that lets you specify cc/as/ld on the cm3 command line, or at least as. Commit: aee6544481020f13368945a016412c91936aef1a https://github.com/modula3/cm3/commit/aee6544481020f13368945a016412c91936aef1a Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/PA32_HPUX M m3-sys/cminstall/src/config-no-install/PA64_HPUX Log Message: ----------- Allow specifying SYSTEM_ASM on the command line -- only replace it here if it is not defined. Commit: f8eb60e050691cffbb8048f7f7185afa820dc953 https://github.com/modula3/cm3/commit/f8eb60e050691cffbb8048f7f7185afa820dc953 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p262/p262.sh Log Message: ----------- more verbose -- -commnds Commit: d5b58fc572499ca91008fdbeb5ad34f079951d59 https://github.com/modula3/cm3/commit/d5b58fc572499ca91008fdbeb5ad34f079951d59 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p263/Main.m3 A m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- a test for First_readable_addr Commit: c35778feb117193a25322a674081b36ff35f7c1b https://github.com/modula3/cm3/commit/c35778feb117193a25322a674081b36ff35f7c1b Author: jaykrell Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p263/F0.i3 A m3-sys/m3tests/src/p2/p263/F0.m3 A m3-sys/m3tests/src/p2/p263/F1.i3 A m3-sys/m3tests/src/p2/p263/F1.m3 A m3-sys/m3tests/src/p2/p263/F4095.i3 A m3-sys/m3tests/src/p2/p263/F4095.m3 A m3-sys/m3tests/src/p2/p263/F4095x8.i3 A m3-sys/m3tests/src/p2/p263/F4095x8.m3 A m3-sys/m3tests/src/p2/p263/F4096.i3 A m3-sys/m3tests/src/p2/p263/F4096.m3 A m3-sys/m3tests/src/p2/p263/F4096x8.i3 A m3-sys/m3tests/src/p2/p263/F4096x8.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- test First_readable_addr Commit: 38ed5b223ebce27a131b3fd15f8cac25a6b6a854 https://github.com/modula3/cm3/commit/38ed5b223ebce27a131b3fd15f8cac25a6b6a854 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-apple/gcc/config/arm/arm.c Log Message: ----------- fix from https://gcc.gnu.org/ml/gcc-patches/2008-06/msg01641.html and http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu/gcc/gcc/config/arm/arm.c?r1=1.2#diff already in 4.7 Commit: 9c0de0f5910943fd45900b2c582ce6384074ad80 https://github.com/modula3/cm3/commit/9c0de0f5910943fd45900b2c582ce6384074ad80 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-apple/gcc/Makefile.in M m3-sys/m3cc/gcc-apple/gcc/config/arm/arm.h M m3-sys/m3cc/gcc-apple/gcc/loop-doloop.c M m3-sys/m3cc/gcc-apple/gcc/toplev.h M m3-sys/m3cc/gcc-apple/gcc/vmsdbgout.c M m3-sys/m3cc/gcc-apple/gcc/xcoffout.c Log Message: ----------- Fix some-of-many warnings and all of of a few errors when building gcc-apple for ARM_DARWIN. Note that this is originally from Apple, but we don't have Apple's current. Commit: 1a3f11227f42e5ecdea861d430a4da11d6fa51e6 https://github.com/modula3/cm3/commit/1a3f11227f42e5ecdea861d430a4da11d6fa51e6 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: A m3-sys/llvm/src/DIBuilderBindings.cpp A m3-sys/llvm/src/DIBuilderBindings.h M m3-sys/llvm/src/M3CG_LLVM.m3 A m3-sys/llvm/src/M3Extras.cpp A m3-sys/llvm/src/M3Extras.h A m3-sys/llvm/src/Makefile M m3-sys/llvm/src/m3makefile M m3-sys/llvm/src/readme M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/m3makefile Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/02210e7088ce...1a3f11227f42 From jay.krell at cornell.edu Tue Aug 25 11:57:08 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 02:57:08 -0700 Subject: [M3commit] [modula3/cm3] b3f343: make it legal C90 Message-ID: <55dc3bf4ae9f4_444b3fb060afb2c05681d@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b3f343d30c9580244fb44ace0d9dd811fdd6a714 https://github.com/modula3/cm3/commit/b3f343d30c9580244fb44ace0d9dd811fdd6a714 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/tree-ssa-loop-ivopts.c Log Message: ----------- make it legal C90 From jkrell at elego.de Tue Aug 25 12:09:16 2015 From: jkrell at elego.de (Jay Krell) Date: Tue, 25 Aug 2015 03:09:16 -0700 Subject: [M3commit] [modula3/cm3] 602336: give it command line parameters for in and out Message-ID: <55dc3ecc27f66_4ee93feb683a729c1835f@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 60233667bc5bb23a6e22e8583428066a03ec34fa https://github.com/modula3/cm3/commit/60233667bc5bb23a6e22e8583428066a03ec34fa Author: Jay Krell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M scripts/python/capture-boot.py Log Message: ----------- give it command line parameters for in and out Commit: ba4852b58fd59bdcceb51d379a6d4441cf314f79 https://github.com/modula3/cm3/commit/ba4852b58fd59bdcceb51d379a6d4441cf314f79 Author: Jay Krell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/tree-ssa-loop-ivopts.c Log Message: ----------- Merge branch 'master' of git at github.com:modula3/cm3 Compare: https://github.com/modula3/cm3/compare/b3f343d30c95...ba4852b58fd5 From jay.krell at cornell.edu Wed Aug 26 02:15:03 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 17:15:03 -0700 Subject: [M3commit] [modula3/cm3] fa3d1c: First_readable_addr: Message-ID: <55dd050741f5_14f83f834a22b2a061964@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: fa3d1cdca4acb1834fdacfa754400546e708a282 https://github.com/modula3/cm3/commit/fa3d1cdca4acb1834fdacfa754400546e708a282 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 M m3-sys/m3tests/src/p2/p263/F0.m3 M m3-sys/m3tests/src/p2/p263/F1.i3 M m3-sys/m3tests/src/p2/p263/F1.m3 M m3-sys/m3tests/src/p2/p263/F4095.i3 M m3-sys/m3tests/src/p2/p263/F4095.m3 M m3-sys/m3tests/src/p2/p263/F4095x8.i3 M m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096.i3 M m3-sys/m3tests/src/p2/p263/F4096.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- First_readable_addr: - is based on size of surrounding type, not the accessed offset - is off by a factor of 8 Commit: 0f6bfed88b87938a8611e580eeb36e758f5b7aaf https://github.com/modula3/cm3/commit/0f6bfed88b87938a8611e580eeb36e758f5b7aaf Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M scripts/python/capture-boot.py Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/ba4852b58fd5...0f6bfed88b87 From jay.krell at cornell.edu Wed Aug 26 07:52:23 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 22:52:23 -0700 Subject: [M3commit] [modula3/cm3] 5f14b2: explore the edge more.. Message-ID: <55dd54172b3fd_19403fe006e6f2a066398@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5f14b2956377da39f0013f6489dc823dec830040 https://github.com/modula3/cm3/commit/5f14b2956377da39f0013f6489dc823dec830040 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 A m3-sys/m3tests/src/p2/p263/F2.i3 A m3-sys/m3tests/src/p2/p263/F2.m3 A m3-sys/m3tests/src/p2/p263/F4094.i3 A m3-sys/m3tests/src/p2/p263/F4094.m3 R m3-sys/m3tests/src/p2/p263/F4095x8.i3 R m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m5.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m5.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.m3 A m3-sys/m3tests/src/p2/p263/F4097.i3 A m3-sys/m3tests/src/p2/p263/F4097.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- explore the edge more.. Commit: 2831d3abbba413bf307d0bc35db67b2f5524d2c8 https://github.com/modula3/cm3/commit/2831d3abbba413bf307d0bc35db67b2f5524d2c8 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 R m3-sys/m3tests/src/p2/p263/F4096x8m5.i3 R m3-sys/m3tests/src/p2/p263/F4096x8m5.m3 Log Message: ----------- First_readable_addr testing Commit: e1df15b8e251b317c740645e3a6ba0658ba5a0b8 https://github.com/modula3/cm3/commit/e1df15b8e251b317c740645e3a6ba0658ba5a0b8 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/Main.m3 Log Message: ----------- First_readable_addr testing Compare: https://github.com/modula3/cm3/compare/0f6bfed88b87...e1df15b8e251 From jay.krell at cornell.edu Wed Aug 26 09:22:53 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 26 Aug 2015 00:22:53 -0700 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: Message-ID: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4k * 8 on most targets First_readable_addr = 8k * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4k on all targets could be but isn't 8k on ia64/alpha/sparc Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. From jay.krell at cornell.edu Wed Aug 26 09:24:31 2015 From: jay.krell at cornell.edu (Jay K) Date: Wed, 26 Aug 2015 07:24:31 +0000 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: In-Reply-To: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> References: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> Message-ID: Sorry, this checkin comment didn't adequately emphasize the removal of the "* 8*".Not just making it 4k, but not 4k * 8. - Jay Date: Wed, 26 Aug 2015 00:22:53 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 39cbbb: previously: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4k * 8 on most targets First_readable_addr = 8k * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4k on all targets could be but isn't 8k on ia64/alpha/sparc Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Aug 26 09:31:55 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 26 Aug 2015 00:31:55 -0700 Subject: [M3commit] [modula3/cm3] ca69e1: previously: Message-ID: <55dd6b6ba6aec_19b03fd9305292b831095@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ca69e1df6c62a8a6995059ae0f635e259b248d65 https://github.com/modula3/cm3/commit/ca69e1df6c62a8a6995059ae0f635e259b248d65 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4K * 8 on most targets First_readable_addr = 8K * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4K on all targets -- not 4K * 8, but just 4K m3front does the multiplication by 8 and doing it twice made the value too high. Could be but isn't 8K on ia64/alpha/sparc. It'd be a small optimization in unusual code, and isn't worth the targets varying. Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. From jay.krell at cornell.edu Wed Aug 26 17:51:34 2015 From: jay.krell at cornell.edu (Jay) Date: Wed, 26 Aug 2015 08:51:34 -0700 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: In-Reply-To: <31742C56-1F57-4B80-A960-766F9BA1341B@purdue.edu> References: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> <31742C56-1F57-4B80-A960-766F9BA1341B@purdue.edu> Message-ID: Yes -- m3front does another multiply here though. - Jay On Aug 26, 2015, at 2:43 AM, Antony Hosking wrote: > Quick question: was the 4K*8 a bit-size instead of bytes? Much of the front end expresses offsets in bits. > > Sent from my iPhone > >> On Aug 26, 2015, at 5:22 PM, jaykrell wrote: >> >> Branch: refs/heads/master >> Home: https://github.com/modula3/cm3 >> Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 >> https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 >> Author: jaykrell >> Date: 2015-08-26 (Wed, 26 Aug 2015) >> >> Changed paths: >> M m3-sys/m3middle/src/Target.i3 >> M m3-sys/m3middle/src/Target.m3 >> >> Log Message: >> ----------- >> previously: >> First_readable_addr = 4k * 8 on most targets >> First_readable_addr = 8k * 8 on sparc >> could be but isn't 8k on alpha/ia64 >> >> now: >> 4k on all targets >> could be but isn't 8k on ia64/alpha/sparc >> >> Test case is p263. >> >> Still maybe want to eliminate it, but at least >> all targets are now the same here. >> >> >> _______________________________________________ >> M3commit mailing list >> M3commit at elegosoft.com >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit From rodney.m.bates at acm.org Thu Aug 27 19:04:15 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 27 Aug 2015 10:04:15 -0700 Subject: [M3commit] [modula3/cm3] 79a4ce: Add a bunch of command-line parameters and options... Message-ID: <55df430fadca4_13063fca690cf29c451ed@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 79a4ce1113ceeed3d1f81b680c04daf14b6b1349 https://github.com/modula3/cm3/commit/79a4ce1113ceeed3d1f81b680c04daf14b6b1349 Author: Rodney Bates Date: 2015-08-27 (Thu, 27 Aug 2015) Changed paths: M m3-sys/llvm/src/M3CG_LLVM.i3 M m3-sys/llvm/src/M3CG_LLVM.m3 M m3-sys/llvm/src/Main.m3 M m3-sys/llvm/src/readme Log Message: ----------- Add a bunch of command-line parameters and options to m3llvm. Here is the help text for command-line options: m3llvm: standalone converter from cm3 IR to llvm IR, version 0.1 Usage:m3llvm {-{option}} If is absent, read from standard input. Options are: -a Treat input file as ascii cm3 IR. -b Treat input file as binary cm3 IR (the default). -d Enable debug output. -h Display help text and terminate. -v Display program version and terminate. -o or -o Write llvm bitcode to -O or -O Write llvm assembly code to Either or both bitcode and assembly output may be specified. If neither is specified, write llvm assembly to 'm3test.ll' Changes to be committed: (all in m3-sys/llvm/src) modified: M3CG_LLVM.i3 modified: M3CG_LLVM.m3 modified: Main.m3 modified: readme Commit: 0f6c86ef2c53e10dfa94b570a474305cf5fad0d2 https://github.com/modula3/cm3/commit/0f6c86ef2c53e10dfa94b570a474305cf5fad0d2 Author: Rodney Bates Date: 2015-08-27 (Thu, 27 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 M m3-sys/m3tests/src/p2/p263/F0.i3 M m3-sys/m3tests/src/p2/p263/F0.m3 M m3-sys/m3tests/src/p2/p263/F1.i3 M m3-sys/m3tests/src/p2/p263/F1.m3 A m3-sys/m3tests/src/p2/p263/F2.i3 A m3-sys/m3tests/src/p2/p263/F2.m3 A m3-sys/m3tests/src/p2/p263/F4094.i3 A m3-sys/m3tests/src/p2/p263/F4094.m3 M m3-sys/m3tests/src/p2/p263/F4095.i3 M m3-sys/m3tests/src/p2/p263/F4095.m3 R m3-sys/m3tests/src/p2/p263/F4095x8.i3 R m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096.i3 M m3-sys/m3tests/src/p2/p263/F4096.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.m3 A m3-sys/m3tests/src/p2/p263/F4097.i3 A m3-sys/m3tests/src/p2/p263/F4097.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- Merge branch 'master' of https://github.com/modula3/cm3 Compare: https://github.com/modula3/cm3/compare/a12819d21443...0f6c86ef2c53 From rodney.m.bates at acm.org Fri Aug 28 19:04:49 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Fri, 28 Aug 2015 10:04:49 -0700 Subject: [M3commit] [modula3/cm3] d2bd85: More graceful and consistent handling of failures ... Message-ID: <55e094b16d04a_1a713fd50ea7f29c21765f6@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d2bd85d34a9514bd758ba16a31a4dc90371bda29 https://github.com/modula3/cm3/commit/d2bd85d34a9514bd758ba16a31a4dc90371bda29 Author: Rodney Bates Date: 2015-08-28 (Fri, 28 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- More graceful and consistent handling of failures and their leftover files. Consistently do: If a compilation phase fails, remove its output file, but only if -keep was not specified. If a compilation phase fails, don't run later phases. Also, delete some redundant file remove actions in PushOneM3 that are already done in the Run* procedure. Some duplicate remove cases remain when a failing phase is not the final phase, thus its output file is also a temp file. It is easier to leave this alone, as the Run* procedures are also called from other places besides PushOneM3, if a compilation starts with other than Modula-3 code. And a small off-by-one bugfix in an assertion. Changes to be committed: modified: Builder.m3 Commit: f29ee554a48e05c85ff778a4fa4dfd1e15e97d4c https://github.com/modula3/cm3/commit/f29ee554a48e05c85ff778a4fa4dfd1e15e97d4c Author: Rodney Bates Date: 2015-08-28 (Fri, 28 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- Adapt to invoke m3llvm with its new command-line options. Changes to be committed: modified: Unix.common Compare: https://github.com/modula3/cm3/compare/0f6c86ef2c53...f29ee554a48e From rodney.m.bates at acm.org Mon Aug 31 16:59:43 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Mon, 31 Aug 2015 07:59:43 -0700 Subject: [M3commit] [modula3/cm3] b068a3: Initial create of package llvm3.6.1 Message-ID: <55e46bdfae850_3b753faf3a0f72a09147a@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b068a306fe87411f734d87f7c78a95e71c8a85a7 https://github.com/modula3/cm3/commit/b068a306fe87411f734d87f7c78a95e71c8a85a7 Author: Rodney Bates Date: 2015-08-31 (Mon, 31 Aug 2015) Changed paths: A m3-sys/llvm3.6.1/src/LLVM.i3 A m3-sys/llvm3.6.1/src/M3CG_LLVM.i3 A m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 A m3-sys/llvm3.6.1/src/Main.m3 A m3-sys/llvm3.6.1/src/m3makefile Log Message: ----------- Initial create of package llvm3.6.1 Package llvm3.6.1 contains a version of the m3llvm, modified to use the bindings to llvm 3.6.1, found in package llvmbindings. Currently compiles but seqfaults in C++ code, probably due to a type problem in the new bindings. Changes to be committed: new file: src/LLVM.i3 new file: src/M3CG_LLVM.i3 new file: src/M3CG_LLVM.m3 new file: src/Main.m3 new file: src/m3makefile From rodney.m.bates at acm.org Sun Aug 2 02:36:54 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Sat, 01 Aug 2015 17:36:54 -0700 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Message-ID: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. From jay.krell at cornell.edu Sun Aug 2 04:20:51 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 2 Aug 2015 02:20:51 +0000 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Message-ID: Rodney, Do you have a test case that was broken before and fixed afterward? If possible, though not required, check something into m3-sys/m3tests? I don't mean to imply the code was correct before. I don't know, at all. Thank you, - Jay Date: Sat, 1 Aug 2015 17:36:54 -0700 From: rodney.m.bates at acm.org To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 2 11:23:12 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 2 Aug 2015 09:23:12 +0000 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail>, Message-ID: Eh, these finally procedures cause other problems..I have code to alloca a jmpbuf per try in a procedure..and it is broken by finally generating procedures in a custom way.. so I have to move shared code to something called...ProcedureOrFinallyProcedure?that otherwise was just in Procedure. - Jay From: jay.krell at cornell.edu To: rodney.m.bates at acm.org; m3commit at elegosoft.com Subject: RE: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Date: Sun, 2 Aug 2015 02:20:51 +0000 Rodney, Do you have a test case that was broken before and fixed afterward? If possible, though not required, check something into m3-sys/m3tests? I don't mean to imply the code was correct before. I don't know, at all. Thank you, - Jay Date: Sat, 1 Aug 2015 17:36:54 -0700 From: rodney.m.bates at acm.org To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney_bates at lcwb.coop Sun Aug 2 21:57:28 2015 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Sun, 02 Aug 2015 14:57:28 -0500 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Message-ID: <55BE7628.4020105@lcwb.coop> AFAIK, it was not causing an observable failure in any of the the established back ends. But it was causing Peter trouble in translating to llvm. Here is part of the thread (which somehow got on to the unrelated SUBARRAY thread,.) -------------------------------------------------------------------------------------- So far not doing anything with free_temp, declare_temp just does an alloca but does it at the end of the first basic block to avoid dominate all uses problems. ( I have since discovered that there is a flag -alloca-hoisting which does this for you). The language ref hardly mentions temps except that they are referred to as unnamed values ie %1 %2 etc whether the optimiser does anything with these I dont know. I think I'm giving the temps names like %tmp.1 etc The workaround I have at the moment is that if in the store, (which I think is the first place one of these temps is referenced) the var is a temp ie having NoID and is not declared in the current procedure then declare it ie alloca it. Seems to work but seems pretty kludgy. My first thought when I struck this problem was that I should put all temps on the static link (since there is no parameter in declare_temp to say its uplevel and hence say which could be nested proc material) but that didnt work and really it was a pretty dumb idea. I cant see why the front end couldnt just declare a new temp in the finally proc. Commit 496e9be1dcdcf87bda8e72239fc90132591b4cf4 fixes this, for this test case. Regards Peter On Sun, Jul 26, 2015 at 2:26 AM, Rodney M. Bates wrote: More on this: I appears that, in the CM3 IR, "variables" declared by declare_local and one declared by declare_temp (and a few others, too), while declared with different operators, are accessible interchangeably. In this example, the FINALLY procedure accesses both s and the temporary nonlocally, in the same way. The difference is, the temp, unlike a local variable, has the possibility that its space in the activation record is freed prior to the end of the corresponding code. What llvm IR are you translating declare_temp and free_temp into? Llvm might have different rules for temps. On 07/25/2015 10:25 AM, Rodney M. Bates wrote: I compiled this and looked at the cm3 IR for it. At first glance, it looks like a bug in the front end. The FINALLY code is translated as a nested procedure, inside the one containing the entire TRY..FINALLY statement. The temp is created by a declare_temp in the outer procedure, freed by a free_temp in the inner one, and used in both, the 2 uses being unrelated. In m3-sys/m3middle/src/M3CG_Ops.i3, I see: ----------------------------------------------------------------------------- declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ free_temp (v: Var); (* releases the space occupied by temp 'v' so that it may be reused by other new temporaries. *) ----------------------------------------------------------------------------- And it also seems strange for the temp to be freed inside the nested procedure, although this does not violate what the comment says. The fact that every temp has a unique variable number would take care of matching the free_temp to the right declare_temp, and maybe the code generators can handle freeing a nonlocal temp. Apparently, this has caused no problems with preexisting code generators. But it certainly looks wrong, and clearly violates the comments. I recall that the gcc-derived code generator and the integrated x86 code generator both unnest nested procedures, in opposite ways (one pulls them out in front, the other in back), which might have something to do with how they handle this. What happens in the llvm back end for a programmer-declared nested procedure making a nonlocal reference to a programmer-declared local variable of the containing procedure? If you can handle this latter case, can you handle the failing one the same way? Maybe this is what is happening in the other code generators, and the comment is just too strict. On 07/24/2015 08:13 PM, Peter McKinna wrote: On the subject of temporaries can I get your thoughts on the following? TRY s := s & "a"; FINALLY s := s & "b"; END; The front end declares a temp in the try block as part of its concat and then refers to the same temp in the finally block. The trouble is that the finally code is generated in a separate procedure and references a temp declared in the proc of the try. In llvm the first you know of the problem is a store to the temp which has not been declared. Just wondering whether the front end should redeclare this temp? Also is the front end generating similar temps for other runtime operations? Regards Peter -------------------------------------------------------------------------------------- It really was strange IR. I doubt this change would cause any new problems, and could fix others. Here is the test case: MODULE TryTemp EXPORTS Main ; PROCEDURE P ( ) = VAR s : TEXT := "z" ; BEGIN TRY s := s & "a" FINALLY s := s & "b" END END P ; BEGIN P ( ) END TryTemp . I'm not sure where to put it. m3-sys/tests seems to have some kind of organization and infrastructure, which I have never understand. I don't have any automated results check for this one. I do have before and after output from m3cgc. On 08/01/2015 09:20 PM, Jay K wrote: > Rodney, Do you have a test case that was broken before and fixed afterward? > > If possible, though not required, check something into m3-sys/m3tests? > > I don't mean to imply the code was correct before. I don't know, at all. > > Thank you, > - Jay > > > > Date: Sat, 1 Aug 2015 17:36:54 -0700 > From: rodney.m.bates at acm.org > To: m3commit at elegosoft.com > Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... > > Branch: refs/heads/master > Home:https://github.com/modula3/cm3 > Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 > https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 > Author: Rodney Bates > Date: 2015-08-01 (Sat, 01 Aug 2015) > > Changed paths: > M m3-sys/m3front/src/misc/CG.m3 > > Log Message: > ----------- > Fix compiler-generated FINALLY procedure using parent procedure's temporary. > > Changes to be committed: > > modified: m3-sys/m3front/src/misc/CG.m3 > > CG was not stacking global variables used for keeping track of temporaries > when entering nested procedures. In the case of a compiler-generated > nested procedure for the finally part of a TRY--FINALLY block, this > meant the finally code could use a temporary allocated by the parent, > though not in use at the time. This violated the comment in M3CG_Ops.i3: > > declare_temp (s: ByteSize; a: Alignment; t: Type; > in_memory: BOOLEAN): Var; > (* declares an anonymous local variable. Temps are declared > and freed between their containing procedure's begin_procedure and > end_procedure calls. Temps are never referenced by nested procedures. *) > > In cases of nested procedures explicitly declared in source code, this > didn't matter because they are located ahead of any of the parent > procedure's executable code, when it has no allocated temps, and they > free their own temps at their end, restoring the previous state. > > > > > _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > _______________________________________________ > M3commit mailing list > M3commit at elegosoft.com > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > -- Rodney Bates rodney.m.bates at acm.org From rodney.m.bates at acm.org Tue Aug 4 20:37:22 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Tue, 04 Aug 2015 11:37:22 -0700 Subject: [M3commit] [modula3/cm3] f7619d: Change misleading comment about Modula-2 syntax. Message-ID: <55c10662cc32f_19d73fad8e89729c7618c@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: f7619d4e9e1f3fe766d4817866fd34cf10710962 https://github.com/modula3/cm3/commit/f7619d4e9e1f3fe766d4817866fd34cf10710962 Author: Rodney Bates Date: 2015-08-04 (Tue, 04 Aug 2015) Changed paths: M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- Change misleading comment about Modula-2 syntax. This code recovers from, not accepts Modula-2 syntax here. Changes to be committed: modified: Procedure.m3 From jay.krell at cornell.edu Wed Aug 5 20:48:46 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 11:48:46 -0700 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... Message-ID: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6e1d2c208282b2222ec76d6fd54baa93eb287004 https://github.com/modula3/cm3/commit/6e1d2c208282b2222ec76d6fd54baa93eb287004 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/common/RTLinkerC.c M m3-libs/m3core/src/unix/Common/UnixC.c M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c M scripts/python/boot2.sh M scripts/python/pylib.py Log Message: ----------- Several fixes for Mac OS X 10.10.4 Yosemite. More to do. Previously I was using 10.5.8 (and this should all work there too). - 10.5.8 gcc defaults to x86 10.10.4 defaults to AMD64. Therefore when bootstrapping via C, use explicit -arch i386. - -gstabs and -gstabs+ give errors. Use -g. - dbxout causes assembler errors. Guard it with m3gdb. - m3cc/src/m3makefile fails to ship, workaround the regression - brk and sark are deprecated and declaration errors; omit them; probably they are not used. - g++ 1.c used to compile 1.c as C++; now it warns or errors use g++ -xc++ 1.c to workaround - gcc (clang) on 10.10.4 warns/errors for extra parenthesis! if ((foo == bar)) change to if (foo == bar) Even then, we get: ../src/types/ASCII.m3: In function 'ASCII_M3': ../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. m3_backend => 4 m3cc (aka cm3cg) failed compiling: ASCII.mc and gdb is gone from the system alas. More to do. Also, using the C backend, we get confused somewhere and run either C compiler on IR file or cm3cg on .c file. More to do. From jay.krell at cornell.edu Thu Aug 6 02:04:10 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:04:10 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu> Message-ID: I think I have it -- -g probably always crashed.I'm testing -g1 now. That seemed to work on a small test case. We should perhaps fix -g though.It is a null dereference generating dwarf output. A valid workflow in Xcode is to debug by name, you canenter the name of a process that isn't running yet, and then run cm3cg. i.e. if you don't yet know how to use lldb on the command line andhaven't gone through the trouble of building/installing gdb.If gdb even still works. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:54:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu This one rings a bell, but I can?t put my finger on it.Perhaps check the m3cc commit logs? On Aug 6, 2015, at 4:48 AM, jaykrell wrote:Even then, we get:../src/types/ASCII.m3: In function 'ASCII_M3':../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11Please submit a full bug report,with preprocessed source if appropriate.See for instructions. m3_backend => 4m3cc (aka cm3cg) failed compiling: ASCII.mc -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:14:31 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:14:31 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <5C2250D5-B31C-4F54-BE89-2B2158B8F530@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu>, , <5C2250D5-B31C-4F54-BE89-2B2158B8F530@purdue.edu> Message-ID: Clarification: -gstabs/-gstabs+ didn't crash or error.They error in the assembler now. The data was likely not consumed by anything. m3gdb declines to build for Mac OSX.I suspect just because it is old but I haven't followed up. So I removed -gstabs and -gstabs+, and left -g.But that crashes.And probably always did. That should probably be fixed, but -g1 for now is my suggestion. Once I fix "the driver matter", I'll go back to the C backend anyway, wherefairly rich debugging information is builtin. :)But not knowledge of texts and open arrays. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 10:10:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu It probably used to work only with -gstabs. On Aug 6, 2015, at 10:04 AM, Jay K wrote:I think I have it -- -g probably always crashed.I'm testing -g1 now. That seemed to work on a small test case. We should perhaps fix -g though.It is a null dereference generating dwarf output. A valid workflow in Xcode is to debug by name, you canenter the name of a process that isn't running yet, and then run cm3cg. i.e. if you don't yet know how to use lldb on the command line andhaven't gone through the trouble of building/installing gdb.If gdb even still works. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:54:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu This one rings a bell, but I can?t put my finger on it.Perhaps check the m3cc commit logs? On Aug 6, 2015, at 4:48 AM, jaykrell wrote:Even then, we get:../src/types/ASCII.m3: In function 'ASCII_M3':../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11Please submit a full bug report,with preprocessed source if appropriate.See for instructions. m3_backend => 4m3cc (aka cm3cg) failed compiling: ASCII.mc -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:18:29 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:18:29 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <6A446D9D-078C-4D54-B6E5-D8642F2043B6@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <6A446D9D-078C-4D54-B6E5-D8642F2043B6@purdue.edu> Message-ID: The problem was actually the wrapper in m3-libs/m3core/src/unix/common/*.c.You know, I kind of wrap everything now. Declaration was maybe ok in the C backend. I was mixing up OpenBSD'smore severe level of deprecation, where the compiler watches for the symbols. I'll see about removing the new special case in M3C.m3 later. and "sark" was a typo or auto-correct! for "sbrk" of course. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:52:54 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu These should not be used anywhere any more. On Aug 6, 2015, at 4:48 AM, jaykrell wrote:- brk and sark are deprecated and declaration errors; omit them; probably they are not used. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:45:49 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 17:45:49 -0700 Subject: [M3commit] [modula3/cm3] 57c90d: fix #! prefix so the file can be run Message-ID: <55c2ae3de793f_53793fd31cd6b29c92549@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57c90d6d9c6ea77300ed5c045754c9e45d419e63 https://github.com/modula3/cm3/commit/57c90d6d9c6ea77300ed5c045754c9e45d419e63 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/boot2.sh Log Message: ----------- fix #! prefix so the file can be run Commit: a41dffd810c066a3afdae6ef7e18f983133e6dca https://github.com/modula3/cm3/commit/a41dffd810c066a3afdae6ef7e18f983133e6dca Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- - use -g1 instead of -g to not crash on Darwin - split SYSTEM_CC into SYSTEM_CC and SYSTEM_CC_LD SYSTEM_CC is for compiling C++ SYSTEM_CC_LD is for linking, but using the C/C++ compiler -x c++ is on the first only Still have to port the fix for: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509 which breaks assembling libm3 Compare: https://github.com/modula3/cm3/compare/6e1d2c208282...a41dffd810c0 From jay.krell at cornell.edu Thu Aug 6 03:21:41 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 18:21:41 -0700 Subject: [M3commit] [modula3/cm3] 019a7b: Port: Message-ID: <55c2b6a56432f_f273f815b2f92b81053b0@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 019a7b42365546138a7c814b6582e11860bc51c5 https://github.com/modula3/cm3/commit/019a7b42365546138a7c814b6582e11860bc51c5 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/configure M m3-sys/m3cc/gcc-4.7/gcc/configure.ac Log Message: ----------- Port: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509 https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=225158 To fix incompatibility between cm3cg and LLVM assembler, that does break in libm3. i.e. to fix on 10.10.4 Yosemite. Commit: 25aea33ef16e5789f19b87c307803ded1f9bd815 https://github.com/modula3/cm3/commit/25aea33ef16e5789f19b87c307803ded1f9bd815 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/sysutils/src/POSIX/SystemPosixC.c Log Message: ----------- change const to extern const for C++ compatibility, like m3core does Compare: https://github.com/modula3/cm3/compare/a41dffd810c0...25aea33ef16e From jay.krell at cornell.edu Thu Aug 6 10:46:54 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Thu, 06 Aug 2015 01:46:54 -0700 Subject: [M3commit] [modula3/cm3] 41299f: a Message-ID: <55c31efebdde5_eab3fa6e21992b8844a1@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 41299f4707b85a764e5aa6443b87181069122629 https://github.com/modula3/cm3/commit/41299f4707b85a764e5aa6443b87181069122629 Author: Jay Krell Date: 2015-07-29 (Wed, 29 Jul 2015) Changed paths: M m3-sys/m3tests/src/p2/p259/Main.m3 Log Message: ----------- a extend test case with nested functions Commit: 6b6ae8b0e2fd631d8e465b048aed91edb9367556 https://github.com/modula3/cm3/commit/6b6ae8b0e2fd631d8e465b048aed91edb9367556 Author: Jay Krell Date: 2015-08-02 (Sun, 02 Aug 2015) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- use U/INT64 instead of unsigned/__int64 of course, my mistake Commit: a9ce94babc387a7e38ae62d08ddccba2d4656097 https://github.com/modula3/cm3/commit/a9ce94babc387a7e38ae62d08ddccba2d4656097 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/pylib.py Log Message: ----------- newer Apple tools default to amd64 instead of x86, so I386_DARWIN needs -arch i386 (or -m32) Commit: d5ed5b1eb9d2caed810fae9576570d28fa94eefb https://github.com/modula3/cm3/commit/d5ed5b1eb9d2caed810fae9576570d28fa94eefb Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/pylib.py Log Message: ----------- add comments as to which versions have which behavior, at least 10.5.8 and 10.10.4 Yosemite Commit: f3fdc253cb6b938ef095b13de07a5d3649ffa095 https://github.com/modula3/cm3/commit/f3fdc253cb6b938ef095b13de07a5d3649ffa095 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3front/src/values/Module.m3 Log Message: ----------- remove whitespace from ends of lines, ahead of other changes Commit: de2adc0e2180b8cc3dddcaeccb1548f67b50358d https://github.com/modula3/cm3/commit/de2adc0e2180b8cc3dddcaeccb1548f67b50358d Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3back/src/M3x86.m3 Log Message: ----------- settle on just alloca and not m3_alloca Commit: b65d81f754a05eb4353a98ba3f6d936badb33ef5 https://github.com/modula3/cm3/commit/b65d81f754a05eb4353a98ba3f6d936badb33ef5 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/C/Common/Csetjmp.i3 Log Message: ----------- remove Csetjmp__Jumpbuf_size from Modula-3 interface, will replace with private C/m3front-only m3_jmpbuf_size Commit: 7c70951d55252ea40944b3e83b0a9a65165fc9a6 https://github.com/modula3/cm3/commit/7c70951d55252ea40944b3e83b0a9a65165fc9a6 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/unix/Common/Uconstants.c Log Message: ----------- Switch from Csetjmp__Jumpbuf_size to m3_jmpbuf_size. Commit: 1941851b3970ac2c713f89b667952158946d59b8 https://github.com/modula3/cm3/commit/1941851b3970ac2c713f89b667952158946d59b8 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p251/Main.m3 Log Message: ----------- Increase TRY/jmpbuf test case.# Commit: fa436a101675f015f9c849a2bb6d42dce72e668d https://github.com/modula3/cm3/commit/fa436a101675f015f9c849a2bb6d42dce72e668d Author: Jay Krell Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- fix and comments wrt detecting 64bit INTEGER Commit: e4a095d022da3c10cfea13946183d21a94092977 https://github.com/modula3/cm3/commit/e4a095d022da3c10cfea13946183d21a94092977 Author: Jay Krell Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-libs/libunicode/src/UnsafeUniRd.m3 M m3-libs/m3core/src/runtime/common/RTLinkerC.c M m3-libs/m3core/src/unix/Common/UnixC.c M m3-libs/sysutils/src/POSIX/SystemPosixC.c M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/M3Backend.m3 M m3-sys/cm3/src/M3Build.m3 M m3-sys/cm3/src/Makefile.m3 A m3-sys/cm3/src/llvmdummy/LLGen.i3 A m3-sys/cm3/src/llvmdummy/LLGen.m3 A m3-sys/cm3/src/llvmdummy/README A m3-sys/cm3/src/llvmdummy/m3makefile M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/llvmbindings/src/LLVM.i3 A m3-sys/llvmbindings/src/LLVMTypes.i3 A m3-sys/llvmbindings/src/M3DIBuilder.cpp A m3-sys/llvmbindings/src/M3DIBuilder.h A m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h M m3-sys/llvmbindings/src/Makefile M m3-sys/llvmbindings/src/README M m3-sys/llvmbindings/src/m3makefile M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc-4.7/gcc/configure M m3-sys/m3cc/gcc-4.7/gcc/configure.ac M m3-sys/m3cc/gcc/gcc/m3cg/parse.c M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 M m3-sys/m3quake/src/M3Path.i3 M m3-sys/m3quake/src/M3Path.m3 M scripts/python/boot2.sh M scripts/python/pylib.py Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 conflicts resolved Compare: https://github.com/modula3/cm3/compare/25aea33ef16e...e4a095d022da From rodney.m.bates at acm.org Thu Aug 6 22:10:46 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 06 Aug 2015 13:10:46 -0700 Subject: [M3commit] [modula3/cm3] 8646ea: In llvmbindins, cleanups, consistifications, and a... Message-ID: <55c3bf463a8be_611d3fe7dc2f32b8695d6@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8646ea6fcf99919c6384b437bd27341f89fe8ac0 https://github.com/modula3/cm3/commit/8646ea6fcf99919c6384b437bd27341f89fe8ac0 Author: Rodney Bates Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-sys/llvmbindings/src/LLVM.i3 M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.cpp M m3-sys/llvmbindings/src/M3DIBuilder.h M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h Log Message: ----------- In llvmbindins, cleanups, consistifications, and a new getDebugLoc. Changes to be committed: modified: LLVM.i3 modified: LLVMTypes.i3 modified: M3DIBuilder.cpp modified: M3DIBuilder.h modified: M3DIBuilder.i3 modified: M3Extras.cpp modified: M3Extras.h From rodney.m.bates at acm.org Thu Aug 6 22:33:07 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 06 Aug 2015 13:33:07 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... Message-ID: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 Author: Rodney Bates Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/llvmdummy/LLGen.i3 M m3-sys/cm3/src/llvmdummy/LLGen.m3 M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/m3middle/src/Target.i3 Log Message: ----------- Add backend modes for standalone cm3-IR->llvm-IR translator executable. On branch master Changes to be committed: modified: m3-sys/cm3/src/Builder.m3 modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 modified: m3-sys/cm3/src/m3makefile modified: m3-sys/cm3/src/version.quake modified: m3-sys/cminstall/src/config-no-install/Unix.common modified: m3-sys/m3middle/src/Target.i3 Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, in the case of StAloneLlvmAsm, run asm separately. From jay.krell at cornell.edu Thu Aug 6 23:28:13 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 14:28:13 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Message-ID: Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? Heck, maybe we should have quake functions for: save IR convert IR file to C in-proc convert IR file to LLVM IR save LLVM IR to file etc? Problem is that IR cannot be represented in quake? - Jay On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > Branch: refs/heads/master > Home: https://github.com/modula3/cm3 > Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > Author: Rodney Bates > Date: 2015-08-06 (Thu, 06 Aug 2015) > > Changed paths: > M m3-sys/cm3/src/Builder.m3 > M m3-sys/cm3/src/llvmdummy/LLGen.i3 > M m3-sys/cm3/src/llvmdummy/LLGen.m3 > M m3-sys/cm3/src/m3makefile > M m3-sys/cm3/src/version.quake > M m3-sys/cminstall/src/config-no-install/Unix.common > M m3-sys/m3middle/src/Target.i3 > > Log Message: > ----------- > Add backend modes for standalone cm3-IR->llvm-IR translator executable. > > On branch master > Changes to be committed: > > modified: m3-sys/cm3/src/Builder.m3 > modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > modified: m3-sys/cm3/src/m3makefile > modified: m3-sys/cm3/src/version.quake > modified: m3-sys/cminstall/src/config-no-install/Unix.common > modified: m3-sys/m3middle/src/Target.i3 > > Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > in the case of StAloneLlvmAsm, run asm separately. > > > _______________________________________________ > M3commit mailing list > M3commit at elegosoft.com > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit From rodney_bates at lcwb.coop Fri Aug 7 04:55:27 2015 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Thu, 06 Aug 2015 21:55:27 -0500 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Message-ID: <55C41E1F.1080900@lcwb.coop> On 08/06/2015 04:28 PM, Jay wrote: > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? That would not be hard. > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > Heck, maybe we should have quake functions for: > save IR > convert IR file to C in-proc > convert IR file to LLVM IR > save LLVM IR to file > etc? > > Problem is that IR cannot be represented in quake? > In working on this, I've thought about a Cartesian factoring of the various modes. But there are already way more combinations than anybody has any use for now, or even likely use. It does get complicated, figuring out the sequence of input and output file names, etc. And it's full of stuff to include files in various intermediate formats that were not produced by the cm3 compiler. > - Jay > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > >> Branch: refs/heads/master >> Home: https://github.com/modula3/cm3 >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >> Author: Rodney Bates >> Date: 2015-08-06 (Thu, 06 Aug 2015) >> >> Changed paths: >> M m3-sys/cm3/src/Builder.m3 >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >> M m3-sys/cm3/src/m3makefile >> M m3-sys/cm3/src/version.quake >> M m3-sys/cminstall/src/config-no-install/Unix.common >> M m3-sys/m3middle/src/Target.i3 >> >> Log Message: >> ----------- >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >> >> On branch master >> Changes to be committed: >> >> modified: m3-sys/cm3/src/Builder.m3 >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >> modified: m3-sys/cm3/src/m3makefile >> modified: m3-sys/cm3/src/version.quake >> modified: m3-sys/cminstall/src/config-no-install/Unix.common >> modified: m3-sys/m3middle/src/Target.i3 >> >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >> in the case of StAloneLlvmAsm, run asm separately. >> >> >> _______________________________________________ >> M3commit mailing list >> M3commit at elegosoft.com >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > -- Rodney Bates rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 06:46:32 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 21:46:32 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55C41E1F.1080900@lcwb.coop> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> <55C41E1F.1080900@lcwb.coop> Message-ID: Gentle reminder that m3cgcat fills some of this. I believe it should subsume m3llvm. Or, really, cm3 with certain flags. I prefer fewer tools with more switches and fewer devolves to 1. Going through IR files is great for development and debugging, and then just inefficient and pointless when things are working. And for "license isolation". And *maybe* as a distribution or jit format. Yes, besides -keep, as that doesn't cause the files to get created. Thank you for agreeing. :) Yes some refactoring will be appreciated. I believe there really just meant to be 2 bits- internal & external, producing assembly or object files. But we have multiple internal backends (3) and likely a desire to keep them all. So the original 2 bits don't suffice. I don't remember why I needed C to be a separate case, except maybe that -- to have multiple selectable internal backends. - Jay On Aug 6, 2015, at 7:55 PM, "Rodney M. Bates" wrote: > > > On 08/06/2015 04:28 PM, Jay wrote: >> Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > >> And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? >> >> Heck, maybe we should have quake functions for: >> save IR >> convert IR file to C in-proc >> convert IR file to LLVM IR >> save LLVM IR to file >> etc? >> >> Problem is that IR cannot be represented in quake? > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > >> - Jay >> >> On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: >> >>> Branch: refs/heads/master >>> Home: https://github.com/modula3/cm3 >>> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>> Author: Rodney Bates >>> Date: 2015-08-06 (Thu, 06 Aug 2015) >>> >>> Changed paths: >>> M m3-sys/cm3/src/Builder.m3 >>> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >>> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >>> M m3-sys/cm3/src/m3makefile >>> M m3-sys/cm3/src/version.quake >>> M m3-sys/cminstall/src/config-no-install/Unix.common >>> M m3-sys/m3middle/src/Target.i3 >>> >>> Log Message: >>> ----------- >>> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >>> >>> On branch master >>> Changes to be committed: >>> >>> modified: m3-sys/cm3/src/Builder.m3 >>> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >>> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >>> modified: m3-sys/cm3/src/m3makefile >>> modified: m3-sys/cm3/src/version.quake >>> modified: m3-sys/cminstall/src/config-no-install/Unix.common >>> modified: m3-sys/m3middle/src/Target.i3 >>> >>> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >>> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >>> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >>> in the case of StAloneLlvmAsm, run asm separately. >>> >>> >>> _______________________________________________ >>> M3commit mailing list >>> M3commit at elegosoft.com >>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > -- > Rodney Bates > rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 06:48:56 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 21:48:56 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> <55C41E1F.1080900@lcwb.coop> Message-ID: Clarification : I am often developing/debugging so "like" IR files. - Jay On Aug 6, 2015, at 9:46 PM, Jay wrote: > Gentle reminder that m3cgcat fills some of this. I believe it should subsume m3llvm. Or, really, cm3 with certain flags. I prefer fewer tools with more switches and fewer devolves to 1. > > > Going through IR files is great for development and debugging, and then just inefficient and pointless when things are working. > And for "license isolation". > And *maybe* as a distribution or jit format. > > > Yes, besides -keep, as that doesn't cause the files to get created. > > > Thank you for agreeing. :) > Yes some refactoring will be appreciated. > > > I believe there really just meant to be 2 > bits- internal & external, producing assembly or object files. > > > But we have multiple internal backends (3) and likely a desire to keep them all. > So the original 2 bits don't suffice. > > > I don't remember why I needed C to be a separate case, except maybe that -- to have multiple selectable internal backends. > > > > - Jay > > On Aug 6, 2015, at 7:55 PM, "Rodney M. Bates" wrote: > >> >> >> On 08/06/2015 04:28 PM, Jay wrote: >>> Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. >> >> Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? >> That would not be hard. >> >>> And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? >>> >>> Heck, maybe we should have quake functions for: >>> save IR >>> convert IR file to C in-proc >>> convert IR file to LLVM IR >>> save LLVM IR to file >>> etc? >>> >>> Problem is that IR cannot be represented in quake? >> >> In working on this, I've thought about a Cartesian factoring of the various >> modes. But there are already way more combinations than anybody has any >> use for now, or even likely use. It does get complicated, figuring out >> the sequence of input and output file names, etc. And it's full of stuff >> to include files in various intermediate formats that were not produced >> by the cm3 compiler. >> >>> - Jay >>> >>> On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: >>> >>>> Branch: refs/heads/master >>>> Home: https://github.com/modula3/cm3 >>>> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>>> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>>> Author: Rodney Bates >>>> Date: 2015-08-06 (Thu, 06 Aug 2015) >>>> >>>> Changed paths: >>>> M m3-sys/cm3/src/Builder.m3 >>>> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >>>> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >>>> M m3-sys/cm3/src/m3makefile >>>> M m3-sys/cm3/src/version.quake >>>> M m3-sys/cminstall/src/config-no-install/Unix.common >>>> M m3-sys/m3middle/src/Target.i3 >>>> >>>> Log Message: >>>> ----------- >>>> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >>>> >>>> On branch master >>>> Changes to be committed: >>>> >>>> modified: m3-sys/cm3/src/Builder.m3 >>>> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >>>> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >>>> modified: m3-sys/cm3/src/m3makefile >>>> modified: m3-sys/cm3/src/version.quake >>>> modified: m3-sys/cminstall/src/config-no-install/Unix.common >>>> modified: m3-sys/m3middle/src/Target.i3 >>>> >>>> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >>>> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >>>> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >>>> in the case of StAloneLlvmAsm, run asm separately. >>>> >>>> >>>> _______________________________________________ >>>> M3commit mailing list >>>> M3commit at elegosoft.com >>>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit >> >> -- >> Rodney Bates >> rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 10:35:18 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 01:35:18 -0700 Subject: [M3commit] [modula3/cm3] dd8587: Don't say -fPIC on assembler -- llvm warns every t... Message-ID: <55c46dc6cc190_1d233fd2ad69f2c03214376@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: dd85873ce8afbf9932f33ea0a2e6738721186cc9 https://github.com/modula3/cm3/commit/dd85873ce8afbf9932f33ea0a2e6738721186cc9 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- Don't say -fPIC on assembler -- llvm warns every time, and I don't think it ever did anything. From jay.krell at cornell.edu Fri Aug 7 10:43:57 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 01:43:57 -0700 Subject: [M3commit] [modula3/cm3] a1b984: deleted one too many lines Message-ID: <55c46fcd9a46d_45fa3f7e46b8d2c022621@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a1b9842ae79081cc0c644f89f87e0a6ffb228973 https://github.com/modula3/cm3/commit/a1b9842ae79081cc0c644f89f87e0a6ffb228973 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- deleted one too many lines From jay.krell at cornell.edu Sat Aug 8 07:09:16 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 22:09:16 -0700 Subject: [M3commit] [modula3/cm3] 3c3a09: restore build_standalone Message-ID: <55c58efc1830d_47cb3ff3f07b52b879688@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3c3a09b42bc969213d0ee0cc5346cefa46bf6d80 https://github.com/modula3/cm3/commit/3c3a09b42bc969213d0ee0cc5346cefa46bf6d80 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cm3/src/m3makefile Log Message: ----------- restore build_standalone it is quite important as long as we use "buildship" in upgrade we should switch to a copy all at the end "make install destdir=" approach.. From jay.krell at cornell.edu Sat Aug 8 10:45:23 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 01:45:23 -0700 Subject: [M3commit] [modula3/cm3] a99f62: move cm3 and m3cc to the end Message-ID: <55c5c1a3dff4_4cf83f81282152bc7117f@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a99f62669accd565156010b98ed0416426ccae13 https://github.com/modula3/cm3/commit/a99f62669accd565156010b98ed0416426ccae13 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M scripts/pkginfo.txt Log Message: ----------- move cm3 and m3cc to the end in particular, after mklib and cm3cgcat, so that upgrade.py from 5.8.6 with gcc backend works From jay.krell at cornell.edu Sat Aug 8 17:17:03 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 08:17:03 -0700 Subject: [M3commit] [modula3/cm3] 67052a: Add upgrade-full.sh that reuses upgrade.py and is Message-ID: <55c61d6f52f09_619e3f8dd1ff32c0575a4@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 67052a69f9dfd91777304118c20d288cf6714f6f https://github.com/modula3/cm3/commit/67052a69f9dfd91777304118c20d288cf6714f6f Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: A scripts/python/upgrade-full.sh Log Message: ----------- Add upgrade-full.sh that reuses upgrade.py and is much more like upgrade.sh. i.e. When I was writing uprade.py to emulate upgrade.sh, I misread upgrade.sh. upgrade.sh updates the compiler and then rebuilds everything with it. upgrade.py only updates the compiler and requisite libm3/m3core. upgrade-full.sh calls upgrade.py and then rebuilds everything. From jay.krell at cornell.edu Sat Aug 8 20:29:13 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 11:29:13 -0700 Subject: [M3commit] [modula3/cm3] 44fbd1: allocate jmpbufs with alloca(external variable ini... Message-ID: <55c64a791d503_1bd73fdfddff32bc19462@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 44fbd1608a73affa0625a9df4bff1c7248cc6f3c https://github.com/modula3/cm3/commit/44fbd1608a73affa0625a9df4bff1c7248cc6f3c Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- allocate jmpbufs with alloca(external variable initialized in C) instead of having cm3 know any target-specfic jmp_buf sizeA The point is: This removes a chunk of target-specific code (in Target.m3). It is a slight deoptimization in otherwise already very inefficient code, which might be replaced be something much more efficient than it previously was. From jay.krell at cornell.edu Sat Aug 8 20:49:10 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sat, 08 Aug 2015 11:49:10 -0700 Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Message-ID: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. From jay.krell at cornell.edu Sat Aug 8 20:55:05 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 11:55:05 -0700 Subject: [M3commit] [modula3/cm3] 175cfa: script to capture cm3, cm3cg, config, m3core, libm... Message-ID: <55c650892e1fe_5c213faa03dc92bc206f6@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 175cfa19ec1198a040daec27baeb335748d91446 https://github.com/modula3/cm3/commit/175cfa19ec1198a040daec27baeb335748d91446 Author: Jay Krell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: A scripts/python/capture-boot.py Log Message: ----------- script to capture cm3, cm3cg, config, m3core, libm3 from existing install Commit: 6d71769c2d2067a375fd01be865b8733a4e2b5b0 https://github.com/modula3/cm3/commit/6d71769c2d2067a375fd01be865b8733a4e2b5b0 Author: Jay Krell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M .gitignore M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/llvmdummy/LLGen.i3 M m3-sys/cm3/src/llvmdummy/LLGen.m3 M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/llvm/src/M3CG_LLVM.m3 M m3-sys/llvmbindings/src/LLVM.i3 M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.cpp M m3-sys/llvmbindings/src/M3DIBuilder.h M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h M m3-sys/m3middle/src/Target.i3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Commit: 235f6e05efb230df7f8b6c79ad325c233589268f https://github.com/modula3/cm3/commit/235f6e05efb230df7f8b6c79ad325c233589268f Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: A scripts/python/upgrade-full.sh Log Message: ----------- upgrade and rebuild everything, like sh upgrade does Commit: b2c6582d0731b41c4088dbc2edafe9cd70b0db07 https://github.com/modula3/cm3/commit/b2c6582d0731b41c4088dbc2edafe9cd70b0db07 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M scripts/pkginfo.txt Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 Commit: 29b9219511a425356e20ea406dd2b240d88cc797 https://github.com/modula3/cm3/commit/29b9219511a425356e20ea406dd2b240d88cc797 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/57ad34f5034d...29b9219511a4 From jay.krell at cornell.edu Sat Aug 8 20:59:55 2015 From: jay.krell at cornell.edu (Jay K) Date: Sat, 8 Aug 2015 18:59:55 +0000 Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... In-Reply-To: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> References: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> Message-ID: I believe this is working ok on MacOS X 10.5.8 with cm3cg and C backend.However things do not work on 10.10.4. I'm guessing for another unknownreason but I want to debug that separately for now. If anyone else can give the previous a try on their configuration, that'd be appreciated.(In github app, you can revert my revert. I haven't found how to do w/ git command line). Thank you. Specifically on 10.0.4 I get: * thread #1: tid = 0x3a9861, 0x002b7360 cm3`RTAllocator__GetTracedObj + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x24) frame #0: 0x002b7360 cm3`RTAllocator__GetTracedObj + 36 * frame #1: 0x002b6e90 cm3`RTHooks__AllocateTracedObj + 17 frame #2: 0x00281272 cm3`TextUtils_M3 + 49 frame #3: 0x002c705c cm3`RTLinker__RunMainBody + 763 frame #4: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #5: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #6: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #7: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #8: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #9: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #10: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #11: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #12: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #13: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #14: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #15: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #16: 0x002c64e8 cm3`RTLinker__AddUnitI + 287 frame #17: 0x002c6563 cm3`RTLinker__AddUnit + 116 frame #18: 0x00002341 cm3`main(argc=1, argv=0xbffffca8, envp=0xbffffcb0) + 97 at _m3main.c:22 frame #19: 0x9518e6d9 libdyld.dylib`start + 1 - Jay Date: Sat, 8 Aug 2015 11:49:10 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 00:09:00 2015 From: jay.krell at cornell.edu (Jay K) Date: Sat, 8 Aug 2015 22:09:00 +0000 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55C41E1F.1080900@lcwb.coop> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail>, , <55C41E1F.1080900@lcwb.coop> Message-ID: This or the previous seems to have broken the C mode.I'm debugging. - Jay > Date: Thu, 6 Aug 2015 21:55:27 -0500 > From: rodney_bates at lcwb.coop > To: jay.krell at cornell.edu > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... > > > > On 08/06/2015 04:28 PM, Jay wrote: > > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > > > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > > > Heck, maybe we should have quake functions for: > > save IR > > convert IR file to C in-proc > > convert IR file to LLVM IR > > save LLVM IR to file > > etc? > > > > Problem is that IR cannot be represented in quake? > > > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > > > - Jay > > > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > > > >> Branch: refs/heads/master > >> Home: https://github.com/modula3/cm3 > >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> Author: Rodney Bates > >> Date: 2015-08-06 (Thu, 06 Aug 2015) > >> > >> Changed paths: > >> M m3-sys/cm3/src/Builder.m3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> M m3-sys/cm3/src/m3makefile > >> M m3-sys/cm3/src/version.quake > >> M m3-sys/cminstall/src/config-no-install/Unix.common > >> M m3-sys/m3middle/src/Target.i3 > >> > >> Log Message: > >> ----------- > >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. > >> > >> On branch master > >> Changes to be committed: > >> > >> modified: m3-sys/cm3/src/Builder.m3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> modified: m3-sys/cm3/src/m3makefile > >> modified: m3-sys/cm3/src/version.quake > >> modified: m3-sys/cminstall/src/config-no-install/Unix.common > >> modified: m3-sys/m3middle/src/Target.i3 > >> > >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > >> in the case of StAloneLlvmAsm, run asm separately. > >> > >> > >> _______________________________________________ > >> M3commit mailing list > >> M3commit at elegosoft.com > >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > > -- > Rodney Bates > rodney.m.bates at acm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 02:57:56 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 17:57:56 -0700 Subject: [M3commit] [modula3/cm3] 98666c: Repair recently broken C mode in Builder.m3. Message-ID: <55c6a5943b6fc_47413f9679eef29c4025@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 98666cf851ab0f0e0999d4941f593f27f1858713 https://github.com/modula3/cm3/commit/98666cf851ab0f0e0999d4941f593f27f1858713 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- Repair recently broken C mode in Builder.m3. Some cleanup/refactoring in Builder.m3. From jay.krell at cornell.edu Sun Aug 9 03:15:07 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 9 Aug 2015 01:15:07 +0000 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail>, , <55C41E1F.1080900@lcwb.coop>, Message-ID: I fixed Builder.m3 and cleaned it up a little.Hopefully didn't break the LLVM paths. I think the model I followed for C is a good one. I extended m3cgcat to have more output types, i.e. so it can input m3cg (same as before) and output C (new). cm3cgcat is the Modula-3 BSD-licensed executable that canread the .mc files. (Unfortunately we have no basis for BSD-licensed C/C++ reading .mc files.If someone could make a "preprocessor-friendly cm3cg description"outside of the m3cc directory, that'd be good..) I used an existing mode: ExternalObject I introduced a config variable: USE_C_BACKEND_VIA_M3CGCAT Maybe not the best name. And then conditionally replaced m3_backend in cm3cfg.common: if USE_C_BACKEND_VIA_M3CGCATM3_BACKEND_MODE = "ExternalObject" proc m3_backend(source, object, optimize, debug) is ret_code = try_exec("m3cgcat", "-in-binary:" & source, "-out-c:" & source & ".c") if not equal(ret_code, 0) return ret_code end return compile_c(source & ".c", object, [ ], FALSE, TRUE)endend Builder.m3 didn't need any changes to get everything working and forquicker turnaround on small changes. Efficiency compiling the entiretree was a bit off. And then, I ran cm3, I guess cm3 -boot or cm3 -keep. It was a while ago. :)Generating a bunch of ".mc" files. I then ran cm3cgat in my "inner loop". Once things were further along, I added the C mode for efficiency,to avoid writing/reading the .mc files. More likely I should have added a separate variable: InternalBackend = "C". I think in your work, you'd again want the .mc files for the bulkof development time, and then you'd want, I think just one LLVM mode afterward,that constructs the LLVM IR in memory and writes out object files. If you have the wherewithall to write LLVM IR bit code w/o linking to LLVM,then that might be another mode. - Jay From: jay.krell at cornell.edu To: rodney.m.bates at acm.org CC: m3commit at elegosoft.com Subject: RE: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... Date: Sat, 8 Aug 2015 22:09:00 +0000 This or the previous seems to have broken the C mode.I'm debugging. - Jay > Date: Thu, 6 Aug 2015 21:55:27 -0500 > From: rodney_bates at lcwb.coop > To: jay.krell at cornell.edu > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... > > > > On 08/06/2015 04:28 PM, Jay wrote: > > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > > > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > > > Heck, maybe we should have quake functions for: > > save IR > > convert IR file to C in-proc > > convert IR file to LLVM IR > > save LLVM IR to file > > etc? > > > > Problem is that IR cannot be represented in quake? > > > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > > > - Jay > > > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > > > >> Branch: refs/heads/master > >> Home: https://github.com/modula3/cm3 > >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> Author: Rodney Bates > >> Date: 2015-08-06 (Thu, 06 Aug 2015) > >> > >> Changed paths: > >> M m3-sys/cm3/src/Builder.m3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> M m3-sys/cm3/src/m3makefile > >> M m3-sys/cm3/src/version.quake > >> M m3-sys/cminstall/src/config-no-install/Unix.common > >> M m3-sys/m3middle/src/Target.i3 > >> > >> Log Message: > >> ----------- > >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. > >> > >> On branch master > >> Changes to be committed: > >> > >> modified: m3-sys/cm3/src/Builder.m3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> modified: m3-sys/cm3/src/m3makefile > >> modified: m3-sys/cm3/src/version.quake > >> modified: m3-sys/cminstall/src/config-no-install/Unix.common > >> modified: m3-sys/m3middle/src/Target.i3 > >> > >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > >> in the case of StAloneLlvmAsm, run asm separately. > >> > >> > >> _______________________________________________ > >> M3commit mailing list > >> M3commit at elegosoft.com > >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > > -- > Rodney Bates > rodney.m.bates at acm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 03:31:14 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 9 Aug 2015 01:31:14 +0000 Subject: [M3commit] alloca(jmpbuf_size) is in In-Reply-To: References: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail>, Message-ID: I've seen it work now on AMD64_LINUX, SPARC32_SOLARIS, and I386_DARWIN 10.5.8.I think MacOSX 10.10.4 has something else wrong with it that'll take a while to figure out. So I commited it again. PLEASE NOTE that the upgrade procedure is tricky like with cm3cg, but the results of getting it wrong are worse than the recent round of cm3cg changes.You will get runtime crashes. upgrade.py and upgrade-full.sh and likely upgrade.sh all do the right thing, same as always. Not only is cm3 closely tied with cm3cg, but it also closely tied with m3core.The compiler and runtime collaborate on producing and consuming certain data structures,and these data structures have changed now. At least it should be more debuggable now with the C backend -- so I can see local variables for example.Fixing cm3cg to work with plain -g would be good. Is anyone else running 10.10? Thanks, - Jay From: jay.krell at cornell.edu To: m3commit at elegosoft.com Date: Sat, 8 Aug 2015 18:59:55 +0000 Subject: Re: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... I believe this is working ok on MacOS X 10.5.8 with cm3cg and C backend.However things do not work on 10.10.4. I'm guessing for another unknownreason but I want to debug that separately for now. If anyone else can give the previous a try on their configuration, that'd be appreciated.(In github app, you can revert my revert. I haven't found how to do w/ git command line). Thank you. Specifically on 10.0.4 I get: * thread #1: tid = 0x3a9861, 0x002b7360 cm3`RTAllocator__GetTracedObj + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x24) frame #0: 0x002b7360 cm3`RTAllocator__GetTracedObj + 36 * frame #1: 0x002b6e90 cm3`RTHooks__AllocateTracedObj + 17 frame #2: 0x00281272 cm3`TextUtils_M3 + 49 frame #3: 0x002c705c cm3`RTLinker__RunMainBody + 763 frame #4: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #5: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #6: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #7: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #8: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #9: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #10: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #11: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #12: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #13: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #14: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #15: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #16: 0x002c64e8 cm3`RTLinker__AddUnitI + 287 frame #17: 0x002c6563 cm3`RTLinker__AddUnit + 116 frame #18: 0x00002341 cm3`main(argc=1, argv=0xbffffca8, envp=0xbffffcb0) + 97 at _m3main.c:22 frame #19: 0x9518e6d9 libdyld.dylib`start + 1 - Jay Date: Sat, 8 Aug 2015 11:49:10 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Aug 9 04:03:09 2015 From: jkrell at elego.de (Jay Krell) Date: Sat, 08 Aug 2015 19:03:09 -0700 Subject: [M3commit] [modula3/cm3] 5b04af: Revert "Revert "allocate jmpbufs with alloca(exter... Message-ID: <55c6b4ddc5c07_19283fbc35f252c035033@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5b04afe9134e5807196ba6af13fa4cd28401f054 https://github.com/modula3/cm3/commit/5b04afe9134e5807196ba6af13fa4cd28401f054 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "Revert "allocate jmpbufs with alloca(external variable initialized in C)"" This reverts commit 57ad34f5034d5000bd5d63fb384851921bc782a1. Commit: db5a8d55d030950ab2f922f1342e618258750be6 https://github.com/modula3/cm3/commit/db5a8d55d030950ab2f922f1342e618258750be6 Author: Jay Krell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- Merge branch 'master' of git at github.com:modula3/cm3 Compare: https://github.com/modula3/cm3/compare/98666cf851ab...db5a8d55d030 From jay.krell at cornell.edu Sun Aug 9 04:42:09 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 19:42:09 -0700 Subject: [M3commit] [modula3/cm3] d22bef: Should fix problem with newer gcc -- I've been usi... Message-ID: <55c6be0175247_1d233fd2ad69f2c03240999@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d22befacfc44f3ceed436bce8247c279ed67375c https://github.com/modula3/cm3/commit/d22befacfc44f3ceed436bce8247c279ed67375c Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- Should fix problem with newer gcc -- I've been using default gcc 4.0.1 a while oops! Commit: 2e7bb8751d625abe4518ffdc8d78e5bec255e4f0 https://github.com/modula3/cm3/commit/2e7bb8751d625abe4518ffdc8d78e5bec255e4f0 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/db5a8d55d030...2e7bb8751d62 From jay.krell at cornell.edu Sun Aug 9 04:50:20 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 19:50:20 -0700 Subject: [M3commit] [modula3/cm3] 59f7ea: fix typo Message-ID: <55c6bfecae788_3c343fe7b7e0d2b8602e2@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 59f7ea5192b65ef9e18450a7ece86e5259dd15d4 https://github.com/modula3/cm3/commit/59f7ea5192b65ef9e18450a7ece86e5259dd15d4 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- fix typo Commit: 602ec25e457abd17e37bcff294989e74d8cea735 https://github.com/modula3/cm3/commit/602ec25e457abd17e37bcff294989e74d8cea735 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/Jmpbufs.m3 Log Message: ----------- fix unused warning due to debug code Compare: https://github.com/modula3/cm3/compare/2e7bb8751d62...602ec25e457a From jay.krell at cornell.edu Sun Aug 9 10:37:26 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sun, 09 Aug 2015 01:37:26 -0700 Subject: [M3commit] [modula3/cm3] a1489e: fix "autoconf" program to be more modern so it is ... Message-ID: <55c71146d2011_26043fd5ed6db2a0902af@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a1489e895f6b9fd3e17266b0cfc72d8b7e45c7dc https://github.com/modula3/cm3/commit/a1489e895f6b9fd3e17266b0cfc72d8b7e45c7dc Author: jaykrell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- fix "autoconf" program to be more modern so it is not rejected comments about X11 and OpenGL but ultimately no change..and X programs are not working Commit: 79655166d3ba5042a0be4c6f5f5664990b7aa49e https://github.com/modula3/cm3/commit/79655166d3ba5042a0be4c6f5f5664990b7aa49e Author: jaykrell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3front/src/misc/Jmpbufs.m3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/602ec25e457a...79655166d3ba From jay.krell at cornell.edu Tue Aug 11 13:36:22 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 11 Aug 2015 04:36:22 -0700 Subject: [M3commit] [modula3/cm3] 37b167: possible techniques to be like autoconf but differ... Message-ID: <55c9de3669ba7_34bd3fe315b012a0111c0@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 37b167b2d8fce7e38f32f33d9d1bbb8a816bcafb https://github.com/modula3/cm3/commit/37b167b2d8fce7e38f32f33d9d1bbb8a816bcafb Author: jaykrell Date: 2015-08-10 (Mon, 10 Aug 2015) Changed paths: A scratch/jconf/jconf1.c A scratch/jconf/jconf1.sh Log Message: ----------- possible techniques to be like autoconf but different, and not nearly as general Commit: 56a7834bd4e023e599db1edc3c3828efd35ffcaa https://github.com/modula3/cm3/commit/56a7834bd4e023e599db1edc3c3828efd35ffcaa Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: A m3-libs/m3core/src/runtime/common/RT0.h Log Message: ----------- C++ version of RT0.i3 might be useful, though I ended up not using it. Commit: 8eb697cca2b6c6c45226612e6ca52105d8fecf3b https://github.com/modula3/cm3/commit/8eb697cca2b6c6c45226612e6ca52105d8fecf3b Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c Log Message: ----------- Switch Darwing config to use "as" instead of "gcc -x assembler" to assemble. gcc on 10.0.4 Yosemite is clang and runs the clang assembler which has a big problem if any non-lazy pointers precede any stubs -- stubs are hooked up incorrectly and the wrong functions are called. The non-LLVM assembler doesn't have this problem. I also attempted dropping support for 10.4 which should have worked but didn't. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67183 (suggest gcc output in llvm-as-compatible order) https://llvm.org/bugs/show_bug.cgi?id=24428 (clearly a bug) This configuration change might break some things. All the information around what hosts have what assemblers supporting what targets is not well contained. This is perhaps why gcc made a nice assembler driver. Compare: https://github.com/modula3/cm3/compare/79655166d3ba...8eb697cca2b6 From jay.krell at cornell.edu Wed Aug 12 10:11:25 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 12 Aug 2015 01:11:25 -0700 Subject: [M3commit] [modula3/cm3] afe7b0: removal of Objective-C, C, and driver Message-ID: <55caffad4f7b5_2b583f91ab3712bc19789@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: afe7b06c74f22f9e765e6461c76cae802b4b0f7c https://github.com/modula3/cm3/commit/afe7b06c74f22f9e765e6461c76cae802b4b0f7c Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config/darwin-sections.def M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.h M m3-sys/m3cc/gcc-4.7/gcc/config/darwin10.h M m3-sys/m3cc/gcc-4.7/gcc/config/darwin9.h Log Message: ----------- removal of Objective-C, C, and driver Commit: 26a3a558f9360400f8a45889604484584a3d465d https://github.com/modula3/cm3/commit/26a3a558f9360400f8a45889604484584a3d465d Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/cm3cfg.common Log Message: ----------- Give C compiler -fno-reorder-blocks -funwind-tables if they are accepted. gcc accepts both. clang accepts one of them. The point of unwind-tables is to prepare for a future in which we generate code using C++ exception handling. This helps us exercise *some* of that earlier. Commit: 14d5e667e19abaab679b52bc8fd35a4e38073330 https://github.com/modula3/cm3/commit/14d5e667e19abaab679b52bc8fd35a4e38073330 Author: jaykrell Date: 2015-08-12 (Wed, 12 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c Log Message: ----------- Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67183. Establish a partial ordering of the outputs, so that stubs precede non-lazy pointers. Note that I couldn't get weak references to occur (even in C). Note that I still think we shouldn't output in hash order, but I didn't fix that. Compare: https://github.com/modula3/cm3/compare/8eb697cca2b6...14d5e667e19a From jay.krell at cornell.edu Wed Aug 12 10:18:28 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 12 Aug 2015 01:18:28 -0700 Subject: [M3commit] [modula3/cm3] a61b4d: With cm3cg now splitting stubs from non-lazy point... Message-ID: <55cb01546124d_26bc3fd2ee4b32b81879@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a61b4d7a910671fde943b43da75c6543d3342a7e https://github.com/modula3/cm3/commit/a61b4d7a910671fde943b43da75c6543d3342a7e Author: jaykrell Date: 2015-08-12 (Wed, 12 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- With cm3cg now splitting stubs from non-lazy pointers, go back to gcc -x assembler to find the assembler.# From jay.krell at cornell.edu Thu Aug 13 18:43:23 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 09:43:23 -0700 Subject: [M3commit] [modula3/cm3] 0f8cd7: a little shorter Message-ID: <55ccc92b35df5_70633f8d961ad2a0208d@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 0f8cd79bb3a669d5094891ffd54226c0a1757000 https://github.com/modula3/cm3/commit/0f8cd79bb3a669d5094891ffd54226c0a1757000 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p251/Main.m3 Log Message: ----------- a little shorter Commit: e3eace4829a32e9ed73382b56ae485f9802c6bee https://github.com/modula3/cm3/commit/e3eace4829a32e9ed73382b56ae485f9802c6bee Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.i3 M m3-libs/m3core/src/thread/PTHREAD/ThreadPThreadC.c Log Message: ----------- There is no longer a need to wrap pthread_equal so remove it. Commit: 879eb7f6da0e358707ed7801cf2f522599e6c37b https://github.com/modula3/cm3/commit/879eb7f6da0e358707ed7801cf2f522599e6c37b Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/analyze_coverage.c M m3-tools/coverage/src/report_coverage.c M m3-ui/glut/test/src/m3makefile Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 Commit: 8559cea261272f574c06a0e5cd1766827b42124a https://github.com/modula3/cm3/commit/8559cea261272f574c06a0e5cd1766827b42124a Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p261/A.i3 A m3-sys/m3tests/src/p2/p261/A.m3 A m3-sys/m3tests/src/p2/p261/B.i3 A m3-sys/m3tests/src/p2/p261/B.m3 A m3-sys/m3tests/src/p2/p261/Main.m3 A m3-sys/m3tests/src/p2/p261/m3makefile Log Message: ----------- test of errors in a module stopping package compilation Commit: ff9855193deeb4c4edde3fe51103f56438ab3206 https://github.com/modula3/cm3/commit/ff9855193deeb4c4edde3fe51103f56438ab3206 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- minimal fix to regression from: https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/cm3/src/Builder.m3.diff?r1=1.37;r2=1.38 https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/cm3/src/Builder.m3 Revision 1.38: download - view: text, markup, annotated - select for diffs Wed Jan 30 12:57:50 2013 MET (2 years, 6 months ago) by jkrell Branches: MAIN Diff to: previous 1.37: preferred, unified Changes since revision 1.37: +151 -105 lines add "C" mode to builder The exact logic as to what to keep in error paths could use more attention. Compare: https://github.com/modula3/cm3/compare/abba22a056dd...ff9855193dee From jay.krell at cornell.edu Fri Aug 14 04:14:52 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 19:14:52 -0700 Subject: [M3commit] [modula3/cm3] 954f39: add source path to error as was intended Message-ID: <55cd4f1cd0384_1693f90205952a062783@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 954f3998555e184c001d4a54d1a492faa210167c https://github.com/modula3/cm3/commit/954f3998555e184c001d4a54d1a492faa210167c Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- add source path to error as was intended From jay.krell at cornell.edu Fri Aug 14 05:13:54 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 20:13:54 -0700 Subject: [M3commit] [modula3/cm3] 778bb5: ANSI-ify, make it valid C++, no longer valid K&R, ... Message-ID: <55cd5cf280fdb_8a33fc05454929c10485a@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 778bb5a55029836903c96ae0765132ac5878c0a7 https://github.com/modula3/cm3/commit/778bb5a55029836903c96ae0765132ac5878c0a7 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/analyze_coverage.c M m3-tools/coverage/src/report_coverage.c Log Message: ----------- ANSI-ify, make it valid C++, no longer valid K&R, hopefully that is ok, it was already a mix, and therefore not valid K&R use sizeof instead of strlen From jay.krell at cornell.edu Fri Aug 14 10:37:52 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 14 Aug 2015 01:37:52 -0700 Subject: [M3commit] [modula3/cm3] 647e93: comments as to why this m3makefile is so unusual Message-ID: <55cda8e0e0b83_45833f7ee79332bc13887@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 647e932726a16a8f865335e92a2b3a38ae05ed2f https://github.com/modula3/cm3/commit/647e932726a16a8f865335e92a2b3a38ae05ed2f Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/m3makefile Log Message: ----------- comments as to why this m3makefile is so unusual Commit: 20aa9fe8c9fe0fb424b02c6fa5a0eef747b54196 https://github.com/modula3/cm3/commit/20aa9fe8c9fe0fb424b02c6fa5a0eef747b54196 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/report_coverage.c Log Message: ----------- spell out "dir" as "direction" remove null statement add volatile to be sure unused reads aren't optimized away reove unused type Commit: 226eef82f1fb53db844deaef48f7256b2807c5b4 https://github.com/modula3/cm3/commit/226eef82f1fb53db844deaef48f7256b2807c5b4 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3cc/src/buildmany.sh Log Message: ----------- move ARM_DARWIN to the bottom while figuring out why it doesn't compile Commit: 9db79f78e7ae15648c366b48a26beffb2f03676b https://github.com/modula3/cm3/commit/9db79f78e7ae15648c366b48a26beffb2f03676b Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config.gcc M m3-sys/m3cc/gcc-4.7/gcc/config/alpha/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/arm/freebsd.h R m3-sys/m3cc/gcc-4.7/gcc/config/darwin-driver.c M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.h M m3-sys/m3cc/gcc-4.7/gcc/config/freebsd-spec.h M m3-sys/m3cc/gcc-4.7/gcc/config/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/i386/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/i386/sol2-bi.h M m3-sys/m3cc/gcc-4.7/gcc/config/ia64/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/lynx.h M m3-sys/m3cc/gcc-4.7/gcc/config/netbsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/openbsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/rtems.h R m3-sys/m3cc/gcc-4.7/gcc/config/sol2-bi.h M m3-sys/m3cc/gcc-4.7/gcc/config/sol2.h M m3-sys/m3cc/gcc-4.7/gcc/config/sparc/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/vx-common.h M m3-sys/m3cc/gcc-4.7/gcc/config/vxworks.h Log Message: ----------- remove move parts of the driver and the C/C++ frontend Commit: 6a6ca0fe3cae55a08a1db9e218e4c2578566c2f1 https://github.com/modula3/cm3/commit/6a6ca0fe3cae55a08a1db9e218e4c2578566c2f1 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Interix.common M m3-sys/cminstall/src/config-no-install/Linux.common M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- A slight increase in portability -- making everything have the same code. In particular, we can use ar cru + ranlib on almost every system, as long as we ignore the result of ranlib. On old systems, ar cru or ar cr + ranlib is the only right way. On most current systems, ranlib doesn't do anything. On some systems (Irix?) ranlib does not exist so will fail. I am pretty certain that the "s" flag is not needed and the "u" flag sometimes help. gcc makes libbackend without the u flag though, but otherwise is like that -- ar + ranlib, ignores the result ranlib result and doesn't autoconf this aspect. and we still make Compare: https://github.com/modula3/cm3/compare/778bb5a55029...6a6ca0fe3cae From jay.krell at cornell.edu Fri Aug 14 21:32:40 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 14 Aug 2015 12:32:40 -0700 Subject: [M3commit] [modula3/cm3] 782ff5: whitespace Message-ID: <55ce425853ea1_4b073fcde53f12c09107b@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 782ff59d7e3d256174b5269d7c568df98a68d684 https://github.com/modula3/cm3/commit/782ff59d7e3d256174b5269d7c568df98a68d684 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/HPUX.common Log Message: ----------- whitespace Commit: b8ebada3c0907c27dc9acfcdce475172943ea962 https://github.com/modula3/cm3/commit/b8ebada3c0907c27dc9acfcdce475172943ea962 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- remove workaround for old toolsets (e.g. LINUXLIBC6 release 5.4.0) Compare: https://github.com/modula3/cm3/compare/6a6ca0fe3cae...b8ebada3c090 From jay.krell at cornell.edu Sun Aug 16 08:19:08 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sat, 15 Aug 2015 23:19:08 -0700 Subject: [M3commit] [modula3/cm3] 71aa66: upgrade PA64_HPUX from no debug info to -g1, simil... Message-ID: <55d02b5caa43b_145e3f9353c7d2bc71258@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 71aa66236d76e701609a4212f71031c8b522aadb https://github.com/modula3/cm3/commit/71aa66236d76e701609a4212f71031c8b522aadb Author: jaykrell Date: 2015-08-15 (Sat, 15 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/PA64_HPUX Log Message: ----------- upgrade PA64_HPUX from no debug info to -g1, similar to Darwin -gstabs is not supported plain -g crashes -g1 produces some extra information tested with a cross cm3cg and cross GNU as, not actually run or debugged From jay.krell at cornell.edu Sun Aug 16 12:14:53 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sun, 16 Aug 2015 03:14:53 -0700 Subject: [M3commit] [modula3/cm3] bd1ff6: Fix structure_size_boundary for PA and indicate th... Message-ID: <55d0629d8b76c_24753fbf4ce2f2c051f1@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: bd1ff6363a8751b56da160a516aea2bf46093203 https://github.com/modula3/cm3/commit/bd1ff6363a8751b56da160a516aea2bf46093203 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Fix structure_size_boundary for PA and indicate that is fairly irrelevant. From rodney.m.bates at acm.org Thu Aug 20 00:04:06 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Wed, 19 Aug 2015 15:04:06 -0700 Subject: [M3commit] [modula3/cm3] 945c1a: Fix llvm binding problems and automate build of pa... Message-ID: <55d4fd563d01f_4c53f8efbfd12bc9044@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 945c1a2ff937db07c8eab1df4379eab54a43c0f6 https://github.com/modula3/cm3/commit/945c1a2ff937db07c8eab1df4379eab54a43c0f6 Author: Rodney Bates Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: A m3-sys/llvm/src/DIBuilderBindings.cpp A m3-sys/llvm/src/DIBuilderBindings.h M m3-sys/llvm/src/M3CG_LLVM.m3 A m3-sys/llvm/src/M3Extras.cpp A m3-sys/llvm/src/M3Extras.h A m3-sys/llvm/src/Makefile M m3-sys/llvm/src/m3makefile M m3-sys/llvm/src/readme Log Message: ----------- Fix llvm binding problems and automate build of package llvm. Commit binding files provided by Peter McKinna via email. Add m3makefile and Makefile lines to build them and link with Modula-3 code. Fix build problems. This is for llvm 3.5.0 See file readme for information on building. Changes to be committed: new file: DIBuilderBindings.cpp new file: DIBuilderBindings.h modified: M3CG_LLVM.m3 new file: M3Extras.cpp new file: M3Extras.h new file: Makefile modified: m3makefile modified: readme From rodney.m.bates at acm.org Thu Aug 20 00:12:23 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Wed, 19 Aug 2015 15:12:23 -0700 Subject: [M3commit] [modula3/cm3] 02210e: Changes to allow a version of m3llvm, modified for... Message-ID: <55d4ff47afce_7d803fdb0affb2a036610@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 02210e7088cea5303efb720d5b17ca2a41f7a329 https://github.com/modula3/cm3/commit/02210e7088cea5303efb720d5b17ca2a41f7a329 Author: Rodney Bates Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/m3makefile Log Message: ----------- Changes to allow a version of m3llvm, modified for llvm 3.6.1, to build. Changes to be committed: modified: LLVMTypes.i3 modified: M3DIBuilder.i3 modified: M3Extras.cpp modified: m3makefile From jay.krell at cornell.edu Thu Aug 20 11:34:49 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 20 Aug 2015 02:34:49 -0700 Subject: [M3commit] [modula3/cm3] e5d73c: A Message-ID: <55d59f393f9a6_34cf3fe9cc9332bc99532@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: e5d73c8056d4dc5b76feb791a632130ecef8b297 https://github.com/modula3/cm3/commit/e5d73c8056d4dc5b76feb791a632130ecef8b297 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p262/Main.m3 A m3-sys/m3tests/src/p2/p262/m3makefile A m3-sys/m3tests/src/p2/p262/m3overrides A m3-sys/m3tests/src/p2/p262/p262.sh Log Message: ----------- A test case for PA structure_size_boundary and partial demo of cross compilation, at least to assembly You can see the resulting struct sizes in the assembly. The other part of the cross-use is m3cc/src/buildmany.sh and a config file change that lets you specify cc/as/ld on the cm3 command line, or at least as. Commit: aee6544481020f13368945a016412c91936aef1a https://github.com/modula3/cm3/commit/aee6544481020f13368945a016412c91936aef1a Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/PA32_HPUX M m3-sys/cminstall/src/config-no-install/PA64_HPUX Log Message: ----------- Allow specifying SYSTEM_ASM on the command line -- only replace it here if it is not defined. Commit: f8eb60e050691cffbb8048f7f7185afa820dc953 https://github.com/modula3/cm3/commit/f8eb60e050691cffbb8048f7f7185afa820dc953 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p262/p262.sh Log Message: ----------- more verbose -- -commnds Commit: d5b58fc572499ca91008fdbeb5ad34f079951d59 https://github.com/modula3/cm3/commit/d5b58fc572499ca91008fdbeb5ad34f079951d59 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p263/Main.m3 A m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- a test for First_readable_addr Commit: c35778feb117193a25322a674081b36ff35f7c1b https://github.com/modula3/cm3/commit/c35778feb117193a25322a674081b36ff35f7c1b Author: jaykrell Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p263/F0.i3 A m3-sys/m3tests/src/p2/p263/F0.m3 A m3-sys/m3tests/src/p2/p263/F1.i3 A m3-sys/m3tests/src/p2/p263/F1.m3 A m3-sys/m3tests/src/p2/p263/F4095.i3 A m3-sys/m3tests/src/p2/p263/F4095.m3 A m3-sys/m3tests/src/p2/p263/F4095x8.i3 A m3-sys/m3tests/src/p2/p263/F4095x8.m3 A m3-sys/m3tests/src/p2/p263/F4096.i3 A m3-sys/m3tests/src/p2/p263/F4096.m3 A m3-sys/m3tests/src/p2/p263/F4096x8.i3 A m3-sys/m3tests/src/p2/p263/F4096x8.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- test First_readable_addr Commit: 38ed5b223ebce27a131b3fd15f8cac25a6b6a854 https://github.com/modula3/cm3/commit/38ed5b223ebce27a131b3fd15f8cac25a6b6a854 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-apple/gcc/config/arm/arm.c Log Message: ----------- fix from https://gcc.gnu.org/ml/gcc-patches/2008-06/msg01641.html and http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu/gcc/gcc/config/arm/arm.c?r1=1.2#diff already in 4.7 Commit: 9c0de0f5910943fd45900b2c582ce6384074ad80 https://github.com/modula3/cm3/commit/9c0de0f5910943fd45900b2c582ce6384074ad80 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-apple/gcc/Makefile.in M m3-sys/m3cc/gcc-apple/gcc/config/arm/arm.h M m3-sys/m3cc/gcc-apple/gcc/loop-doloop.c M m3-sys/m3cc/gcc-apple/gcc/toplev.h M m3-sys/m3cc/gcc-apple/gcc/vmsdbgout.c M m3-sys/m3cc/gcc-apple/gcc/xcoffout.c Log Message: ----------- Fix some-of-many warnings and all of of a few errors when building gcc-apple for ARM_DARWIN. Note that this is originally from Apple, but we don't have Apple's current. Commit: 1a3f11227f42e5ecdea861d430a4da11d6fa51e6 https://github.com/modula3/cm3/commit/1a3f11227f42e5ecdea861d430a4da11d6fa51e6 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: A m3-sys/llvm/src/DIBuilderBindings.cpp A m3-sys/llvm/src/DIBuilderBindings.h M m3-sys/llvm/src/M3CG_LLVM.m3 A m3-sys/llvm/src/M3Extras.cpp A m3-sys/llvm/src/M3Extras.h A m3-sys/llvm/src/Makefile M m3-sys/llvm/src/m3makefile M m3-sys/llvm/src/readme M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/m3makefile Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/02210e7088ce...1a3f11227f42 From jay.krell at cornell.edu Tue Aug 25 11:57:08 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 02:57:08 -0700 Subject: [M3commit] [modula3/cm3] b3f343: make it legal C90 Message-ID: <55dc3bf4ae9f4_444b3fb060afb2c05681d@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b3f343d30c9580244fb44ace0d9dd811fdd6a714 https://github.com/modula3/cm3/commit/b3f343d30c9580244fb44ace0d9dd811fdd6a714 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/tree-ssa-loop-ivopts.c Log Message: ----------- make it legal C90 From jkrell at elego.de Tue Aug 25 12:09:16 2015 From: jkrell at elego.de (Jay Krell) Date: Tue, 25 Aug 2015 03:09:16 -0700 Subject: [M3commit] [modula3/cm3] 602336: give it command line parameters for in and out Message-ID: <55dc3ecc27f66_4ee93feb683a729c1835f@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 60233667bc5bb23a6e22e8583428066a03ec34fa https://github.com/modula3/cm3/commit/60233667bc5bb23a6e22e8583428066a03ec34fa Author: Jay Krell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M scripts/python/capture-boot.py Log Message: ----------- give it command line parameters for in and out Commit: ba4852b58fd59bdcceb51d379a6d4441cf314f79 https://github.com/modula3/cm3/commit/ba4852b58fd59bdcceb51d379a6d4441cf314f79 Author: Jay Krell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/tree-ssa-loop-ivopts.c Log Message: ----------- Merge branch 'master' of git at github.com:modula3/cm3 Compare: https://github.com/modula3/cm3/compare/b3f343d30c95...ba4852b58fd5 From jay.krell at cornell.edu Wed Aug 26 02:15:03 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 17:15:03 -0700 Subject: [M3commit] [modula3/cm3] fa3d1c: First_readable_addr: Message-ID: <55dd050741f5_14f83f834a22b2a061964@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: fa3d1cdca4acb1834fdacfa754400546e708a282 https://github.com/modula3/cm3/commit/fa3d1cdca4acb1834fdacfa754400546e708a282 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 M m3-sys/m3tests/src/p2/p263/F0.m3 M m3-sys/m3tests/src/p2/p263/F1.i3 M m3-sys/m3tests/src/p2/p263/F1.m3 M m3-sys/m3tests/src/p2/p263/F4095.i3 M m3-sys/m3tests/src/p2/p263/F4095.m3 M m3-sys/m3tests/src/p2/p263/F4095x8.i3 M m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096.i3 M m3-sys/m3tests/src/p2/p263/F4096.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- First_readable_addr: - is based on size of surrounding type, not the accessed offset - is off by a factor of 8 Commit: 0f6bfed88b87938a8611e580eeb36e758f5b7aaf https://github.com/modula3/cm3/commit/0f6bfed88b87938a8611e580eeb36e758f5b7aaf Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M scripts/python/capture-boot.py Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/ba4852b58fd5...0f6bfed88b87 From jay.krell at cornell.edu Wed Aug 26 07:52:23 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 22:52:23 -0700 Subject: [M3commit] [modula3/cm3] 5f14b2: explore the edge more.. Message-ID: <55dd54172b3fd_19403fe006e6f2a066398@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5f14b2956377da39f0013f6489dc823dec830040 https://github.com/modula3/cm3/commit/5f14b2956377da39f0013f6489dc823dec830040 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 A m3-sys/m3tests/src/p2/p263/F2.i3 A m3-sys/m3tests/src/p2/p263/F2.m3 A m3-sys/m3tests/src/p2/p263/F4094.i3 A m3-sys/m3tests/src/p2/p263/F4094.m3 R m3-sys/m3tests/src/p2/p263/F4095x8.i3 R m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m5.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m5.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.m3 A m3-sys/m3tests/src/p2/p263/F4097.i3 A m3-sys/m3tests/src/p2/p263/F4097.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- explore the edge more.. Commit: 2831d3abbba413bf307d0bc35db67b2f5524d2c8 https://github.com/modula3/cm3/commit/2831d3abbba413bf307d0bc35db67b2f5524d2c8 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 R m3-sys/m3tests/src/p2/p263/F4096x8m5.i3 R m3-sys/m3tests/src/p2/p263/F4096x8m5.m3 Log Message: ----------- First_readable_addr testing Commit: e1df15b8e251b317c740645e3a6ba0658ba5a0b8 https://github.com/modula3/cm3/commit/e1df15b8e251b317c740645e3a6ba0658ba5a0b8 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/Main.m3 Log Message: ----------- First_readable_addr testing Compare: https://github.com/modula3/cm3/compare/0f6bfed88b87...e1df15b8e251 From jay.krell at cornell.edu Wed Aug 26 09:22:53 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 26 Aug 2015 00:22:53 -0700 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: Message-ID: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4k * 8 on most targets First_readable_addr = 8k * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4k on all targets could be but isn't 8k on ia64/alpha/sparc Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. From jay.krell at cornell.edu Wed Aug 26 09:24:31 2015 From: jay.krell at cornell.edu (Jay K) Date: Wed, 26 Aug 2015 07:24:31 +0000 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: In-Reply-To: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> References: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> Message-ID: Sorry, this checkin comment didn't adequately emphasize the removal of the "* 8*".Not just making it 4k, but not 4k * 8. - Jay Date: Wed, 26 Aug 2015 00:22:53 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 39cbbb: previously: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4k * 8 on most targets First_readable_addr = 8k * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4k on all targets could be but isn't 8k on ia64/alpha/sparc Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Aug 26 09:31:55 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 26 Aug 2015 00:31:55 -0700 Subject: [M3commit] [modula3/cm3] ca69e1: previously: Message-ID: <55dd6b6ba6aec_19b03fd9305292b831095@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ca69e1df6c62a8a6995059ae0f635e259b248d65 https://github.com/modula3/cm3/commit/ca69e1df6c62a8a6995059ae0f635e259b248d65 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4K * 8 on most targets First_readable_addr = 8K * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4K on all targets -- not 4K * 8, but just 4K m3front does the multiplication by 8 and doing it twice made the value too high. Could be but isn't 8K on ia64/alpha/sparc. It'd be a small optimization in unusual code, and isn't worth the targets varying. Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. From jay.krell at cornell.edu Wed Aug 26 17:51:34 2015 From: jay.krell at cornell.edu (Jay) Date: Wed, 26 Aug 2015 08:51:34 -0700 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: In-Reply-To: <31742C56-1F57-4B80-A960-766F9BA1341B@purdue.edu> References: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> <31742C56-1F57-4B80-A960-766F9BA1341B@purdue.edu> Message-ID: Yes -- m3front does another multiply here though. - Jay On Aug 26, 2015, at 2:43 AM, Antony Hosking wrote: > Quick question: was the 4K*8 a bit-size instead of bytes? Much of the front end expresses offsets in bits. > > Sent from my iPhone > >> On Aug 26, 2015, at 5:22 PM, jaykrell wrote: >> >> Branch: refs/heads/master >> Home: https://github.com/modula3/cm3 >> Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 >> https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 >> Author: jaykrell >> Date: 2015-08-26 (Wed, 26 Aug 2015) >> >> Changed paths: >> M m3-sys/m3middle/src/Target.i3 >> M m3-sys/m3middle/src/Target.m3 >> >> Log Message: >> ----------- >> previously: >> First_readable_addr = 4k * 8 on most targets >> First_readable_addr = 8k * 8 on sparc >> could be but isn't 8k on alpha/ia64 >> >> now: >> 4k on all targets >> could be but isn't 8k on ia64/alpha/sparc >> >> Test case is p263. >> >> Still maybe want to eliminate it, but at least >> all targets are now the same here. >> >> >> _______________________________________________ >> M3commit mailing list >> M3commit at elegosoft.com >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit From rodney.m.bates at acm.org Thu Aug 27 19:04:15 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 27 Aug 2015 10:04:15 -0700 Subject: [M3commit] [modula3/cm3] 79a4ce: Add a bunch of command-line parameters and options... Message-ID: <55df430fadca4_13063fca690cf29c451ed@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 79a4ce1113ceeed3d1f81b680c04daf14b6b1349 https://github.com/modula3/cm3/commit/79a4ce1113ceeed3d1f81b680c04daf14b6b1349 Author: Rodney Bates Date: 2015-08-27 (Thu, 27 Aug 2015) Changed paths: M m3-sys/llvm/src/M3CG_LLVM.i3 M m3-sys/llvm/src/M3CG_LLVM.m3 M m3-sys/llvm/src/Main.m3 M m3-sys/llvm/src/readme Log Message: ----------- Add a bunch of command-line parameters and options to m3llvm. Here is the help text for command-line options: m3llvm: standalone converter from cm3 IR to llvm IR, version 0.1 Usage:m3llvm {-{option}} If is absent, read from standard input. Options are: -a Treat input file as ascii cm3 IR. -b Treat input file as binary cm3 IR (the default). -d Enable debug output. -h Display help text and terminate. -v Display program version and terminate. -o or -o Write llvm bitcode to -O or -O Write llvm assembly code to Either or both bitcode and assembly output may be specified. If neither is specified, write llvm assembly to 'm3test.ll' Changes to be committed: (all in m3-sys/llvm/src) modified: M3CG_LLVM.i3 modified: M3CG_LLVM.m3 modified: Main.m3 modified: readme Commit: 0f6c86ef2c53e10dfa94b570a474305cf5fad0d2 https://github.com/modula3/cm3/commit/0f6c86ef2c53e10dfa94b570a474305cf5fad0d2 Author: Rodney Bates Date: 2015-08-27 (Thu, 27 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 M m3-sys/m3tests/src/p2/p263/F0.i3 M m3-sys/m3tests/src/p2/p263/F0.m3 M m3-sys/m3tests/src/p2/p263/F1.i3 M m3-sys/m3tests/src/p2/p263/F1.m3 A m3-sys/m3tests/src/p2/p263/F2.i3 A m3-sys/m3tests/src/p2/p263/F2.m3 A m3-sys/m3tests/src/p2/p263/F4094.i3 A m3-sys/m3tests/src/p2/p263/F4094.m3 M m3-sys/m3tests/src/p2/p263/F4095.i3 M m3-sys/m3tests/src/p2/p263/F4095.m3 R m3-sys/m3tests/src/p2/p263/F4095x8.i3 R m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096.i3 M m3-sys/m3tests/src/p2/p263/F4096.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.m3 A m3-sys/m3tests/src/p2/p263/F4097.i3 A m3-sys/m3tests/src/p2/p263/F4097.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- Merge branch 'master' of https://github.com/modula3/cm3 Compare: https://github.com/modula3/cm3/compare/a12819d21443...0f6c86ef2c53 From rodney.m.bates at acm.org Fri Aug 28 19:04:49 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Fri, 28 Aug 2015 10:04:49 -0700 Subject: [M3commit] [modula3/cm3] d2bd85: More graceful and consistent handling of failures ... Message-ID: <55e094b16d04a_1a713fd50ea7f29c21765f6@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d2bd85d34a9514bd758ba16a31a4dc90371bda29 https://github.com/modula3/cm3/commit/d2bd85d34a9514bd758ba16a31a4dc90371bda29 Author: Rodney Bates Date: 2015-08-28 (Fri, 28 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- More graceful and consistent handling of failures and their leftover files. Consistently do: If a compilation phase fails, remove its output file, but only if -keep was not specified. If a compilation phase fails, don't run later phases. Also, delete some redundant file remove actions in PushOneM3 that are already done in the Run* procedure. Some duplicate remove cases remain when a failing phase is not the final phase, thus its output file is also a temp file. It is easier to leave this alone, as the Run* procedures are also called from other places besides PushOneM3, if a compilation starts with other than Modula-3 code. And a small off-by-one bugfix in an assertion. Changes to be committed: modified: Builder.m3 Commit: f29ee554a48e05c85ff778a4fa4dfd1e15e97d4c https://github.com/modula3/cm3/commit/f29ee554a48e05c85ff778a4fa4dfd1e15e97d4c Author: Rodney Bates Date: 2015-08-28 (Fri, 28 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- Adapt to invoke m3llvm with its new command-line options. Changes to be committed: modified: Unix.common Compare: https://github.com/modula3/cm3/compare/0f6c86ef2c53...f29ee554a48e From rodney.m.bates at acm.org Mon Aug 31 16:59:43 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Mon, 31 Aug 2015 07:59:43 -0700 Subject: [M3commit] [modula3/cm3] b068a3: Initial create of package llvm3.6.1 Message-ID: <55e46bdfae850_3b753faf3a0f72a09147a@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b068a306fe87411f734d87f7c78a95e71c8a85a7 https://github.com/modula3/cm3/commit/b068a306fe87411f734d87f7c78a95e71c8a85a7 Author: Rodney Bates Date: 2015-08-31 (Mon, 31 Aug 2015) Changed paths: A m3-sys/llvm3.6.1/src/LLVM.i3 A m3-sys/llvm3.6.1/src/M3CG_LLVM.i3 A m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 A m3-sys/llvm3.6.1/src/Main.m3 A m3-sys/llvm3.6.1/src/m3makefile Log Message: ----------- Initial create of package llvm3.6.1 Package llvm3.6.1 contains a version of the m3llvm, modified to use the bindings to llvm 3.6.1, found in package llvmbindings. Currently compiles but seqfaults in C++ code, probably due to a type problem in the new bindings. Changes to be committed: new file: src/LLVM.i3 new file: src/M3CG_LLVM.i3 new file: src/M3CG_LLVM.m3 new file: src/Main.m3 new file: src/m3makefile From rodney.m.bates at acm.org Sun Aug 2 02:36:54 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Sat, 01 Aug 2015 17:36:54 -0700 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Message-ID: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. From jay.krell at cornell.edu Sun Aug 2 04:20:51 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 2 Aug 2015 02:20:51 +0000 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Message-ID: Rodney, Do you have a test case that was broken before and fixed afterward? If possible, though not required, check something into m3-sys/m3tests? I don't mean to imply the code was correct before. I don't know, at all. Thank you, - Jay Date: Sat, 1 Aug 2015 17:36:54 -0700 From: rodney.m.bates at acm.org To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 2 11:23:12 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 2 Aug 2015 09:23:12 +0000 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail>, Message-ID: Eh, these finally procedures cause other problems..I have code to alloca a jmpbuf per try in a procedure..and it is broken by finally generating procedures in a custom way.. so I have to move shared code to something called...ProcedureOrFinallyProcedure?that otherwise was just in Procedure. - Jay From: jay.krell at cornell.edu To: rodney.m.bates at acm.org; m3commit at elegosoft.com Subject: RE: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Date: Sun, 2 Aug 2015 02:20:51 +0000 Rodney, Do you have a test case that was broken before and fixed afterward? If possible, though not required, check something into m3-sys/m3tests? I don't mean to imply the code was correct before. I don't know, at all. Thank you, - Jay Date: Sat, 1 Aug 2015 17:36:54 -0700 From: rodney.m.bates at acm.org To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 Author: Rodney Bates Date: 2015-08-01 (Sat, 01 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/CG.m3 Log Message: ----------- Fix compiler-generated FINALLY procedure using parent procedure's temporary. Changes to be committed: modified: m3-sys/m3front/src/misc/CG.m3 CG was not stacking global variables used for keeping track of temporaries when entering nested procedures. In the case of a compiler-generated nested procedure for the finally part of a TRY--FINALLY block, this meant the finally code could use a temporary allocated by the parent, though not in use at the time. This violated the comment in M3CG_Ops.i3: declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) In cases of nested procedures explicitly declared in source code, this didn't matter because they are located ahead of any of the parent procedure's executable code, when it has no allocated temps, and they free their own temps at their end, restoring the previous state. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney_bates at lcwb.coop Sun Aug 2 21:57:28 2015 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Sun, 02 Aug 2015 14:57:28 -0500 Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... In-Reply-To: References: <55bd6626bc310_52df3f9e055cb2b8121d8@hookshot-fe2-cp1-prd.iad.github.net.mail> Message-ID: <55BE7628.4020105@lcwb.coop> AFAIK, it was not causing an observable failure in any of the the established back ends. But it was causing Peter trouble in translating to llvm. Here is part of the thread (which somehow got on to the unrelated SUBARRAY thread,.) -------------------------------------------------------------------------------------- So far not doing anything with free_temp, declare_temp just does an alloca but does it at the end of the first basic block to avoid dominate all uses problems. ( I have since discovered that there is a flag -alloca-hoisting which does this for you). The language ref hardly mentions temps except that they are referred to as unnamed values ie %1 %2 etc whether the optimiser does anything with these I dont know. I think I'm giving the temps names like %tmp.1 etc The workaround I have at the moment is that if in the store, (which I think is the first place one of these temps is referenced) the var is a temp ie having NoID and is not declared in the current procedure then declare it ie alloca it. Seems to work but seems pretty kludgy. My first thought when I struck this problem was that I should put all temps on the static link (since there is no parameter in declare_temp to say its uplevel and hence say which could be nested proc material) but that didnt work and really it was a pretty dumb idea. I cant see why the front end couldnt just declare a new temp in the finally proc. Commit 496e9be1dcdcf87bda8e72239fc90132591b4cf4 fixes this, for this test case. Regards Peter On Sun, Jul 26, 2015 at 2:26 AM, Rodney M. Bates wrote: More on this: I appears that, in the CM3 IR, "variables" declared by declare_local and one declared by declare_temp (and a few others, too), while declared with different operators, are accessible interchangeably. In this example, the FINALLY procedure accesses both s and the temporary nonlocally, in the same way. The difference is, the temp, unlike a local variable, has the possibility that its space in the activation record is freed prior to the end of the corresponding code. What llvm IR are you translating declare_temp and free_temp into? Llvm might have different rules for temps. On 07/25/2015 10:25 AM, Rodney M. Bates wrote: I compiled this and looked at the cm3 IR for it. At first glance, it looks like a bug in the front end. The FINALLY code is translated as a nested procedure, inside the one containing the entire TRY..FINALLY statement. The temp is created by a declare_temp in the outer procedure, freed by a free_temp in the inner one, and used in both, the 2 uses being unrelated. In m3-sys/m3middle/src/M3CG_Ops.i3, I see: ----------------------------------------------------------------------------- declare_temp (s: ByteSize; a: Alignment; t: Type; in_memory: BOOLEAN): Var; (* declares an anonymous local variable. Temps are declared and freed between their containing procedure's begin_procedure and end_procedure calls. Temps are never referenced by nested procedures. *) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ free_temp (v: Var); (* releases the space occupied by temp 'v' so that it may be reused by other new temporaries. *) ----------------------------------------------------------------------------- And it also seems strange for the temp to be freed inside the nested procedure, although this does not violate what the comment says. The fact that every temp has a unique variable number would take care of matching the free_temp to the right declare_temp, and maybe the code generators can handle freeing a nonlocal temp. Apparently, this has caused no problems with preexisting code generators. But it certainly looks wrong, and clearly violates the comments. I recall that the gcc-derived code generator and the integrated x86 code generator both unnest nested procedures, in opposite ways (one pulls them out in front, the other in back), which might have something to do with how they handle this. What happens in the llvm back end for a programmer-declared nested procedure making a nonlocal reference to a programmer-declared local variable of the containing procedure? If you can handle this latter case, can you handle the failing one the same way? Maybe this is what is happening in the other code generators, and the comment is just too strict. On 07/24/2015 08:13 PM, Peter McKinna wrote: On the subject of temporaries can I get your thoughts on the following? TRY s := s & "a"; FINALLY s := s & "b"; END; The front end declares a temp in the try block as part of its concat and then refers to the same temp in the finally block. The trouble is that the finally code is generated in a separate procedure and references a temp declared in the proc of the try. In llvm the first you know of the problem is a store to the temp which has not been declared. Just wondering whether the front end should redeclare this temp? Also is the front end generating similar temps for other runtime operations? Regards Peter -------------------------------------------------------------------------------------- It really was strange IR. I doubt this change would cause any new problems, and could fix others. Here is the test case: MODULE TryTemp EXPORTS Main ; PROCEDURE P ( ) = VAR s : TEXT := "z" ; BEGIN TRY s := s & "a" FINALLY s := s & "b" END END P ; BEGIN P ( ) END TryTemp . I'm not sure where to put it. m3-sys/tests seems to have some kind of organization and infrastructure, which I have never understand. I don't have any automated results check for this one. I do have before and after output from m3cgc. On 08/01/2015 09:20 PM, Jay K wrote: > Rodney, Do you have a test case that was broken before and fixed afterward? > > If possible, though not required, check something into m3-sys/m3tests? > > I don't mean to imply the code was correct before. I don't know, at all. > > Thank you, > - Jay > > > > Date: Sat, 1 Aug 2015 17:36:54 -0700 > From: rodney.m.bates at acm.org > To: m3commit at elegosoft.com > Subject: [M3commit] [modula3/cm3] 496e9b: Fix compiler-generated FINALLY procedure using par... > > Branch: refs/heads/master > Home:https://github.com/modula3/cm3 > Commit: 496e9be1dcdcf87bda8e72239fc90132591b4cf4 > https://github.com/modula3/cm3/commit/496e9be1dcdcf87bda8e72239fc90132591b4cf4 > Author: Rodney Bates > Date: 2015-08-01 (Sat, 01 Aug 2015) > > Changed paths: > M m3-sys/m3front/src/misc/CG.m3 > > Log Message: > ----------- > Fix compiler-generated FINALLY procedure using parent procedure's temporary. > > Changes to be committed: > > modified: m3-sys/m3front/src/misc/CG.m3 > > CG was not stacking global variables used for keeping track of temporaries > when entering nested procedures. In the case of a compiler-generated > nested procedure for the finally part of a TRY--FINALLY block, this > meant the finally code could use a temporary allocated by the parent, > though not in use at the time. This violated the comment in M3CG_Ops.i3: > > declare_temp (s: ByteSize; a: Alignment; t: Type; > in_memory: BOOLEAN): Var; > (* declares an anonymous local variable. Temps are declared > and freed between their containing procedure's begin_procedure and > end_procedure calls. Temps are never referenced by nested procedures. *) > > In cases of nested procedures explicitly declared in source code, this > didn't matter because they are located ahead of any of the parent > procedure's executable code, when it has no allocated temps, and they > free their own temps at their end, restoring the previous state. > > > > > _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > _______________________________________________ > M3commit mailing list > M3commit at elegosoft.com > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > -- Rodney Bates rodney.m.bates at acm.org From rodney.m.bates at acm.org Tue Aug 4 20:37:22 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Tue, 04 Aug 2015 11:37:22 -0700 Subject: [M3commit] [modula3/cm3] f7619d: Change misleading comment about Modula-2 syntax. Message-ID: <55c10662cc32f_19d73fad8e89729c7618c@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: f7619d4e9e1f3fe766d4817866fd34cf10710962 https://github.com/modula3/cm3/commit/f7619d4e9e1f3fe766d4817866fd34cf10710962 Author: Rodney Bates Date: 2015-08-04 (Tue, 04 Aug 2015) Changed paths: M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- Change misleading comment about Modula-2 syntax. This code recovers from, not accepts Modula-2 syntax here. Changes to be committed: modified: Procedure.m3 From jay.krell at cornell.edu Wed Aug 5 20:48:46 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 11:48:46 -0700 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... Message-ID: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6e1d2c208282b2222ec76d6fd54baa93eb287004 https://github.com/modula3/cm3/commit/6e1d2c208282b2222ec76d6fd54baa93eb287004 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/common/RTLinkerC.c M m3-libs/m3core/src/unix/Common/UnixC.c M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c M scripts/python/boot2.sh M scripts/python/pylib.py Log Message: ----------- Several fixes for Mac OS X 10.10.4 Yosemite. More to do. Previously I was using 10.5.8 (and this should all work there too). - 10.5.8 gcc defaults to x86 10.10.4 defaults to AMD64. Therefore when bootstrapping via C, use explicit -arch i386. - -gstabs and -gstabs+ give errors. Use -g. - dbxout causes assembler errors. Guard it with m3gdb. - m3cc/src/m3makefile fails to ship, workaround the regression - brk and sark are deprecated and declaration errors; omit them; probably they are not used. - g++ 1.c used to compile 1.c as C++; now it warns or errors use g++ -xc++ 1.c to workaround - gcc (clang) on 10.10.4 warns/errors for extra parenthesis! if ((foo == bar)) change to if (foo == bar) Even then, we get: ../src/types/ASCII.m3: In function 'ASCII_M3': ../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. m3_backend => 4 m3cc (aka cm3cg) failed compiling: ASCII.mc and gdb is gone from the system alas. More to do. Also, using the C backend, we get confused somewhere and run either C compiler on IR file or cm3cg on .c file. More to do. From jay.krell at cornell.edu Thu Aug 6 02:04:10 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:04:10 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu> Message-ID: I think I have it -- -g probably always crashed.I'm testing -g1 now. That seemed to work on a small test case. We should perhaps fix -g though.It is a null dereference generating dwarf output. A valid workflow in Xcode is to debug by name, you canenter the name of a process that isn't running yet, and then run cm3cg. i.e. if you don't yet know how to use lldb on the command line andhaven't gone through the trouble of building/installing gdb.If gdb even still works. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:54:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu This one rings a bell, but I can?t put my finger on it.Perhaps check the m3cc commit logs? On Aug 6, 2015, at 4:48 AM, jaykrell wrote:Even then, we get:../src/types/ASCII.m3: In function 'ASCII_M3':../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11Please submit a full bug report,with preprocessed source if appropriate.See for instructions. m3_backend => 4m3cc (aka cm3cg) failed compiling: ASCII.mc -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:14:31 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:14:31 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <5C2250D5-B31C-4F54-BE89-2B2158B8F530@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <51745BA9-80AD-4DBC-8EB5-F21B5CE7369E@purdue.edu>, , <5C2250D5-B31C-4F54-BE89-2B2158B8F530@purdue.edu> Message-ID: Clarification: -gstabs/-gstabs+ didn't crash or error.They error in the assembler now. The data was likely not consumed by anything. m3gdb declines to build for Mac OSX.I suspect just because it is old but I haven't followed up. So I removed -gstabs and -gstabs+, and left -g.But that crashes.And probably always did. That should probably be fixed, but -g1 for now is my suggestion. Once I fix "the driver matter", I'll go back to the C backend anyway, wherefairly rich debugging information is builtin. :)But not knowledge of texts and open arrays. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 10:10:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu It probably used to work only with -gstabs. On Aug 6, 2015, at 10:04 AM, Jay K wrote:I think I have it -- -g probably always crashed.I'm testing -g1 now. That seemed to work on a small test case. We should perhaps fix -g though.It is a null dereference generating dwarf output. A valid workflow in Xcode is to debug by name, you canenter the name of a process that isn't running yet, and then run cm3cg. i.e. if you don't yet know how to use lldb on the command line andhaven't gone through the trouble of building/installing gdb.If gdb even still works. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:54:07 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu This one rings a bell, but I can?t put my finger on it.Perhaps check the m3cc commit logs? On Aug 6, 2015, at 4:48 AM, jaykrell wrote:Even then, we get:../src/types/ASCII.m3: In function 'ASCII_M3':../src/types/ASCII.m3:26:0: internal compiler error: Segmentation fault: 11Please submit a full bug report,with preprocessed source if appropriate.See for instructions. m3_backend => 4m3cc (aka cm3cg) failed compiling: ASCII.mc -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:18:29 2015 From: jay.krell at cornell.edu (Jay K) Date: Thu, 6 Aug 2015 00:18:29 +0000 Subject: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... In-Reply-To: <6A446D9D-078C-4D54-B6E5-D8642F2043B6@purdue.edu> References: <55c25a8e422b3_19f53fc3935cb2a0525e1@hookshot-fe3-cp1-prd.iad.github.net.mail>, <6A446D9D-078C-4D54-B6E5-D8642F2043B6@purdue.edu> Message-ID: The problem was actually the wrapper in m3-libs/m3core/src/unix/common/*.c.You know, I kind of wrap everything now. Declaration was maybe ok in the C backend. I was mixing up OpenBSD'smore severe level of deprecation, where the compiler watches for the symbols. I'll see about removing the new special case in M3C.m3 later. and "sark" was a typo or auto-correct! for "sbrk" of course. - Jay Subject: Re: [M3commit] [modula3/cm3] 6e1d2c: Several fixes for Mac OS X 10.10.4 Yosemite. More ... From: hosking at purdue.edu Date: Thu, 6 Aug 2015 09:52:54 +1000 CC: m3commit at elegosoft.com To: jay.krell at cornell.edu These should not be used anywhere any more. On Aug 6, 2015, at 4:48 AM, jaykrell wrote:- brk and sark are deprecated and declaration errors; omit them; probably they are not used. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Thu Aug 6 02:45:49 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 17:45:49 -0700 Subject: [M3commit] [modula3/cm3] 57c90d: fix #! prefix so the file can be run Message-ID: <55c2ae3de793f_53793fd31cd6b29c92549@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57c90d6d9c6ea77300ed5c045754c9e45d419e63 https://github.com/modula3/cm3/commit/57c90d6d9c6ea77300ed5c045754c9e45d419e63 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/boot2.sh Log Message: ----------- fix #! prefix so the file can be run Commit: a41dffd810c066a3afdae6ef7e18f983133e6dca https://github.com/modula3/cm3/commit/a41dffd810c066a3afdae6ef7e18f983133e6dca Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- - use -g1 instead of -g to not crash on Darwin - split SYSTEM_CC into SYSTEM_CC and SYSTEM_CC_LD SYSTEM_CC is for compiling C++ SYSTEM_CC_LD is for linking, but using the C/C++ compiler -x c++ is on the first only Still have to port the fix for: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509 which breaks assembling libm3 Compare: https://github.com/modula3/cm3/compare/6e1d2c208282...a41dffd810c0 From jay.krell at cornell.edu Thu Aug 6 03:21:41 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 05 Aug 2015 18:21:41 -0700 Subject: [M3commit] [modula3/cm3] 019a7b: Port: Message-ID: <55c2b6a56432f_f273f815b2f92b81053b0@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 019a7b42365546138a7c814b6582e11860bc51c5 https://github.com/modula3/cm3/commit/019a7b42365546138a7c814b6582e11860bc51c5 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/configure M m3-sys/m3cc/gcc-4.7/gcc/configure.ac Log Message: ----------- Port: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66509 https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=225158 To fix incompatibility between cm3cg and LLVM assembler, that does break in libm3. i.e. to fix on 10.10.4 Yosemite. Commit: 25aea33ef16e5789f19b87c307803ded1f9bd815 https://github.com/modula3/cm3/commit/25aea33ef16e5789f19b87c307803ded1f9bd815 Author: jaykrell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/sysutils/src/POSIX/SystemPosixC.c Log Message: ----------- change const to extern const for C++ compatibility, like m3core does Compare: https://github.com/modula3/cm3/compare/a41dffd810c0...25aea33ef16e From jay.krell at cornell.edu Thu Aug 6 10:46:54 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Thu, 06 Aug 2015 01:46:54 -0700 Subject: [M3commit] [modula3/cm3] 41299f: a Message-ID: <55c31efebdde5_eab3fa6e21992b8844a1@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 41299f4707b85a764e5aa6443b87181069122629 https://github.com/modula3/cm3/commit/41299f4707b85a764e5aa6443b87181069122629 Author: Jay Krell Date: 2015-07-29 (Wed, 29 Jul 2015) Changed paths: M m3-sys/m3tests/src/p2/p259/Main.m3 Log Message: ----------- a extend test case with nested functions Commit: 6b6ae8b0e2fd631d8e465b048aed91edb9367556 https://github.com/modula3/cm3/commit/6b6ae8b0e2fd631d8e465b048aed91edb9367556 Author: Jay Krell Date: 2015-08-02 (Sun, 02 Aug 2015) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- use U/INT64 instead of unsigned/__int64 of course, my mistake Commit: a9ce94babc387a7e38ae62d08ddccba2d4656097 https://github.com/modula3/cm3/commit/a9ce94babc387a7e38ae62d08ddccba2d4656097 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/pylib.py Log Message: ----------- newer Apple tools default to amd64 instead of x86, so I386_DARWIN needs -arch i386 (or -m32) Commit: d5ed5b1eb9d2caed810fae9576570d28fa94eefb https://github.com/modula3/cm3/commit/d5ed5b1eb9d2caed810fae9576570d28fa94eefb Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M scripts/python/pylib.py Log Message: ----------- add comments as to which versions have which behavior, at least 10.5.8 and 10.10.4 Yosemite Commit: f3fdc253cb6b938ef095b13de07a5d3649ffa095 https://github.com/modula3/cm3/commit/f3fdc253cb6b938ef095b13de07a5d3649ffa095 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3front/src/values/Module.m3 Log Message: ----------- remove whitespace from ends of lines, ahead of other changes Commit: de2adc0e2180b8cc3dddcaeccb1548f67b50358d https://github.com/modula3/cm3/commit/de2adc0e2180b8cc3dddcaeccb1548f67b50358d Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3back/src/M3x86.m3 Log Message: ----------- settle on just alloca and not m3_alloca Commit: b65d81f754a05eb4353a98ba3f6d936badb33ef5 https://github.com/modula3/cm3/commit/b65d81f754a05eb4353a98ba3f6d936badb33ef5 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/C/Common/Csetjmp.i3 Log Message: ----------- remove Csetjmp__Jumpbuf_size from Modula-3 interface, will replace with private C/m3front-only m3_jmpbuf_size Commit: 7c70951d55252ea40944b3e83b0a9a65165fc9a6 https://github.com/modula3/cm3/commit/7c70951d55252ea40944b3e83b0a9a65165fc9a6 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-libs/m3core/src/unix/Common/Uconstants.c Log Message: ----------- Switch from Csetjmp__Jumpbuf_size to m3_jmpbuf_size. Commit: 1941851b3970ac2c713f89b667952158946d59b8 https://github.com/modula3/cm3/commit/1941851b3970ac2c713f89b667952158946d59b8 Author: Jay Krell Date: 2015-08-05 (Wed, 05 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p251/Main.m3 Log Message: ----------- Increase TRY/jmpbuf test case.# Commit: fa436a101675f015f9c849a2bb6d42dce72e668d https://github.com/modula3/cm3/commit/fa436a101675f015f9c849a2bb6d42dce72e668d Author: Jay Krell Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- fix and comments wrt detecting 64bit INTEGER Commit: e4a095d022da3c10cfea13946183d21a94092977 https://github.com/modula3/cm3/commit/e4a095d022da3c10cfea13946183d21a94092977 Author: Jay Krell Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-libs/libunicode/src/UnsafeUniRd.m3 M m3-libs/m3core/src/runtime/common/RTLinkerC.c M m3-libs/m3core/src/unix/Common/UnixC.c M m3-libs/sysutils/src/POSIX/SystemPosixC.c M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/M3Backend.m3 M m3-sys/cm3/src/M3Build.m3 M m3-sys/cm3/src/Makefile.m3 A m3-sys/cm3/src/llvmdummy/LLGen.i3 A m3-sys/cm3/src/llvmdummy/LLGen.m3 A m3-sys/cm3/src/llvmdummy/README A m3-sys/cm3/src/llvmdummy/m3makefile M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/llvmbindings/src/LLVM.i3 A m3-sys/llvmbindings/src/LLVMTypes.i3 A m3-sys/llvmbindings/src/M3DIBuilder.cpp A m3-sys/llvmbindings/src/M3DIBuilder.h A m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h M m3-sys/llvmbindings/src/Makefile M m3-sys/llvmbindings/src/README M m3-sys/llvmbindings/src/m3makefile M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc-4.7/gcc/configure M m3-sys/m3cc/gcc-4.7/gcc/configure.ac M m3-sys/m3cc/gcc/gcc/m3cg/parse.c M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 M m3-sys/m3quake/src/M3Path.i3 M m3-sys/m3quake/src/M3Path.m3 M scripts/python/boot2.sh M scripts/python/pylib.py Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 conflicts resolved Compare: https://github.com/modula3/cm3/compare/25aea33ef16e...e4a095d022da From rodney.m.bates at acm.org Thu Aug 6 22:10:46 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 06 Aug 2015 13:10:46 -0700 Subject: [M3commit] [modula3/cm3] 8646ea: In llvmbindins, cleanups, consistifications, and a... Message-ID: <55c3bf463a8be_611d3fe7dc2f32b8695d6@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8646ea6fcf99919c6384b437bd27341f89fe8ac0 https://github.com/modula3/cm3/commit/8646ea6fcf99919c6384b437bd27341f89fe8ac0 Author: Rodney Bates Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-sys/llvmbindings/src/LLVM.i3 M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.cpp M m3-sys/llvmbindings/src/M3DIBuilder.h M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h Log Message: ----------- In llvmbindins, cleanups, consistifications, and a new getDebugLoc. Changes to be committed: modified: LLVM.i3 modified: LLVMTypes.i3 modified: M3DIBuilder.cpp modified: M3DIBuilder.h modified: M3DIBuilder.i3 modified: M3Extras.cpp modified: M3Extras.h From rodney.m.bates at acm.org Thu Aug 6 22:33:07 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 06 Aug 2015 13:33:07 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... Message-ID: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 Author: Rodney Bates Date: 2015-08-06 (Thu, 06 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/llvmdummy/LLGen.i3 M m3-sys/cm3/src/llvmdummy/LLGen.m3 M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/m3middle/src/Target.i3 Log Message: ----------- Add backend modes for standalone cm3-IR->llvm-IR translator executable. On branch master Changes to be committed: modified: m3-sys/cm3/src/Builder.m3 modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 modified: m3-sys/cm3/src/m3makefile modified: m3-sys/cm3/src/version.quake modified: m3-sys/cminstall/src/config-no-install/Unix.common modified: m3-sys/m3middle/src/Target.i3 Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, in the case of StAloneLlvmAsm, run asm separately. From jay.krell at cornell.edu Thu Aug 6 23:28:13 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 14:28:13 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Message-ID: Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? Heck, maybe we should have quake functions for: save IR convert IR file to C in-proc convert IR file to LLVM IR save LLVM IR to file etc? Problem is that IR cannot be represented in quake? - Jay On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > Branch: refs/heads/master > Home: https://github.com/modula3/cm3 > Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > Author: Rodney Bates > Date: 2015-08-06 (Thu, 06 Aug 2015) > > Changed paths: > M m3-sys/cm3/src/Builder.m3 > M m3-sys/cm3/src/llvmdummy/LLGen.i3 > M m3-sys/cm3/src/llvmdummy/LLGen.m3 > M m3-sys/cm3/src/m3makefile > M m3-sys/cm3/src/version.quake > M m3-sys/cminstall/src/config-no-install/Unix.common > M m3-sys/m3middle/src/Target.i3 > > Log Message: > ----------- > Add backend modes for standalone cm3-IR->llvm-IR translator executable. > > On branch master > Changes to be committed: > > modified: m3-sys/cm3/src/Builder.m3 > modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > modified: m3-sys/cm3/src/m3makefile > modified: m3-sys/cm3/src/version.quake > modified: m3-sys/cminstall/src/config-no-install/Unix.common > modified: m3-sys/m3middle/src/Target.i3 > > Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > in the case of StAloneLlvmAsm, run asm separately. > > > _______________________________________________ > M3commit mailing list > M3commit at elegosoft.com > https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit From rodney_bates at lcwb.coop Fri Aug 7 04:55:27 2015 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Thu, 06 Aug 2015 21:55:27 -0500 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> Message-ID: <55C41E1F.1080900@lcwb.coop> On 08/06/2015 04:28 PM, Jay wrote: > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? That would not be hard. > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > Heck, maybe we should have quake functions for: > save IR > convert IR file to C in-proc > convert IR file to LLVM IR > save LLVM IR to file > etc? > > Problem is that IR cannot be represented in quake? > In working on this, I've thought about a Cartesian factoring of the various modes. But there are already way more combinations than anybody has any use for now, or even likely use. It does get complicated, figuring out the sequence of input and output file names, etc. And it's full of stuff to include files in various intermediate formats that were not produced by the cm3 compiler. > - Jay > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > >> Branch: refs/heads/master >> Home: https://github.com/modula3/cm3 >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >> Author: Rodney Bates >> Date: 2015-08-06 (Thu, 06 Aug 2015) >> >> Changed paths: >> M m3-sys/cm3/src/Builder.m3 >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >> M m3-sys/cm3/src/m3makefile >> M m3-sys/cm3/src/version.quake >> M m3-sys/cminstall/src/config-no-install/Unix.common >> M m3-sys/m3middle/src/Target.i3 >> >> Log Message: >> ----------- >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >> >> On branch master >> Changes to be committed: >> >> modified: m3-sys/cm3/src/Builder.m3 >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >> modified: m3-sys/cm3/src/m3makefile >> modified: m3-sys/cm3/src/version.quake >> modified: m3-sys/cminstall/src/config-no-install/Unix.common >> modified: m3-sys/m3middle/src/Target.i3 >> >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >> in the case of StAloneLlvmAsm, run asm separately. >> >> >> _______________________________________________ >> M3commit mailing list >> M3commit at elegosoft.com >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > -- Rodney Bates rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 06:46:32 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 21:46:32 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55C41E1F.1080900@lcwb.coop> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> <55C41E1F.1080900@lcwb.coop> Message-ID: Gentle reminder that m3cgcat fills some of this. I believe it should subsume m3llvm. Or, really, cm3 with certain flags. I prefer fewer tools with more switches and fewer devolves to 1. Going through IR files is great for development and debugging, and then just inefficient and pointless when things are working. And for "license isolation". And *maybe* as a distribution or jit format. Yes, besides -keep, as that doesn't cause the files to get created. Thank you for agreeing. :) Yes some refactoring will be appreciated. I believe there really just meant to be 2 bits- internal & external, producing assembly or object files. But we have multiple internal backends (3) and likely a desire to keep them all. So the original 2 bits don't suffice. I don't remember why I needed C to be a separate case, except maybe that -- to have multiple selectable internal backends. - Jay On Aug 6, 2015, at 7:55 PM, "Rodney M. Bates" wrote: > > > On 08/06/2015 04:28 PM, Jay wrote: >> Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > >> And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? >> >> Heck, maybe we should have quake functions for: >> save IR >> convert IR file to C in-proc >> convert IR file to LLVM IR >> save LLVM IR to file >> etc? >> >> Problem is that IR cannot be represented in quake? > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > >> - Jay >> >> On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: >> >>> Branch: refs/heads/master >>> Home: https://github.com/modula3/cm3 >>> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>> Author: Rodney Bates >>> Date: 2015-08-06 (Thu, 06 Aug 2015) >>> >>> Changed paths: >>> M m3-sys/cm3/src/Builder.m3 >>> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >>> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >>> M m3-sys/cm3/src/m3makefile >>> M m3-sys/cm3/src/version.quake >>> M m3-sys/cminstall/src/config-no-install/Unix.common >>> M m3-sys/m3middle/src/Target.i3 >>> >>> Log Message: >>> ----------- >>> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >>> >>> On branch master >>> Changes to be committed: >>> >>> modified: m3-sys/cm3/src/Builder.m3 >>> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >>> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >>> modified: m3-sys/cm3/src/m3makefile >>> modified: m3-sys/cm3/src/version.quake >>> modified: m3-sys/cminstall/src/config-no-install/Unix.common >>> modified: m3-sys/m3middle/src/Target.i3 >>> >>> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >>> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >>> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >>> in the case of StAloneLlvmAsm, run asm separately. >>> >>> >>> _______________________________________________ >>> M3commit mailing list >>> M3commit at elegosoft.com >>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > -- > Rodney Bates > rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 06:48:56 2015 From: jay.krell at cornell.edu (Jay) Date: Thu, 6 Aug 2015 21:48:56 -0700 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail> <55C41E1F.1080900@lcwb.coop> Message-ID: Clarification : I am often developing/debugging so "like" IR files. - Jay On Aug 6, 2015, at 9:46 PM, Jay wrote: > Gentle reminder that m3cgcat fills some of this. I believe it should subsume m3llvm. Or, really, cm3 with certain flags. I prefer fewer tools with more switches and fewer devolves to 1. > > > Going through IR files is great for development and debugging, and then just inefficient and pointless when things are working. > And for "license isolation". > And *maybe* as a distribution or jit format. > > > Yes, besides -keep, as that doesn't cause the files to get created. > > > Thank you for agreeing. :) > Yes some refactoring will be appreciated. > > > I believe there really just meant to be 2 > bits- internal & external, producing assembly or object files. > > > But we have multiple internal backends (3) and likely a desire to keep them all. > So the original 2 bits don't suffice. > > > I don't remember why I needed C to be a separate case, except maybe that -- to have multiple selectable internal backends. > > > > - Jay > > On Aug 6, 2015, at 7:55 PM, "Rodney M. Bates" wrote: > >> >> >> On 08/06/2015 04:28 PM, Jay wrote: >>> Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. >> >> Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? >> That would not be hard. >> >>> And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? >>> >>> Heck, maybe we should have quake functions for: >>> save IR >>> convert IR file to C in-proc >>> convert IR file to LLVM IR >>> save LLVM IR to file >>> etc? >>> >>> Problem is that IR cannot be represented in quake? >> >> In working on this, I've thought about a Cartesian factoring of the various >> modes. But there are already way more combinations than anybody has any >> use for now, or even likely use. It does get complicated, figuring out >> the sequence of input and output file names, etc. And it's full of stuff >> to include files in various intermediate formats that were not produced >> by the cm3 compiler. >> >>> - Jay >>> >>> On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: >>> >>>> Branch: refs/heads/master >>>> Home: https://github.com/modula3/cm3 >>>> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>>> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 >>>> Author: Rodney Bates >>>> Date: 2015-08-06 (Thu, 06 Aug 2015) >>>> >>>> Changed paths: >>>> M m3-sys/cm3/src/Builder.m3 >>>> M m3-sys/cm3/src/llvmdummy/LLGen.i3 >>>> M m3-sys/cm3/src/llvmdummy/LLGen.m3 >>>> M m3-sys/cm3/src/m3makefile >>>> M m3-sys/cm3/src/version.quake >>>> M m3-sys/cminstall/src/config-no-install/Unix.common >>>> M m3-sys/m3middle/src/Target.i3 >>>> >>>> Log Message: >>>> ----------- >>>> Add backend modes for standalone cm3-IR->llvm-IR translator executable. >>>> >>>> On branch master >>>> Changes to be committed: >>>> >>>> modified: m3-sys/cm3/src/Builder.m3 >>>> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 >>>> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 >>>> modified: m3-sys/cm3/src/m3makefile >>>> modified: m3-sys/cm3/src/version.quake >>>> modified: m3-sys/cminstall/src/config-no-install/Unix.common >>>> modified: m3-sys/m3middle/src/Target.i3 >>>> >>>> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. >>>> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, >>>> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, >>>> in the case of StAloneLlvmAsm, run asm separately. >>>> >>>> >>>> _______________________________________________ >>>> M3commit mailing list >>>> M3commit at elegosoft.com >>>> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit >> >> -- >> Rodney Bates >> rodney.m.bates at acm.org From jay.krell at cornell.edu Fri Aug 7 10:35:18 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 01:35:18 -0700 Subject: [M3commit] [modula3/cm3] dd8587: Don't say -fPIC on assembler -- llvm warns every t... Message-ID: <55c46dc6cc190_1d233fd2ad69f2c03214376@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: dd85873ce8afbf9932f33ea0a2e6738721186cc9 https://github.com/modula3/cm3/commit/dd85873ce8afbf9932f33ea0a2e6738721186cc9 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- Don't say -fPIC on assembler -- llvm warns every time, and I don't think it ever did anything. From jay.krell at cornell.edu Fri Aug 7 10:43:57 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 01:43:57 -0700 Subject: [M3commit] [modula3/cm3] a1b984: deleted one too many lines Message-ID: <55c46fcd9a46d_45fa3f7e46b8d2c022621@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a1b9842ae79081cc0c644f89f87e0a6ffb228973 https://github.com/modula3/cm3/commit/a1b9842ae79081cc0c644f89f87e0a6ffb228973 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- deleted one too many lines From jay.krell at cornell.edu Sat Aug 8 07:09:16 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 07 Aug 2015 22:09:16 -0700 Subject: [M3commit] [modula3/cm3] 3c3a09: restore build_standalone Message-ID: <55c58efc1830d_47cb3ff3f07b52b879688@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3c3a09b42bc969213d0ee0cc5346cefa46bf6d80 https://github.com/modula3/cm3/commit/3c3a09b42bc969213d0ee0cc5346cefa46bf6d80 Author: jaykrell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M m3-sys/cm3/src/m3makefile Log Message: ----------- restore build_standalone it is quite important as long as we use "buildship" in upgrade we should switch to a copy all at the end "make install destdir=" approach.. From jay.krell at cornell.edu Sat Aug 8 10:45:23 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 01:45:23 -0700 Subject: [M3commit] [modula3/cm3] a99f62: move cm3 and m3cc to the end Message-ID: <55c5c1a3dff4_4cf83f81282152bc7117f@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a99f62669accd565156010b98ed0416426ccae13 https://github.com/modula3/cm3/commit/a99f62669accd565156010b98ed0416426ccae13 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M scripts/pkginfo.txt Log Message: ----------- move cm3 and m3cc to the end in particular, after mklib and cm3cgcat, so that upgrade.py from 5.8.6 with gcc backend works From jay.krell at cornell.edu Sat Aug 8 17:17:03 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 08:17:03 -0700 Subject: [M3commit] [modula3/cm3] 67052a: Add upgrade-full.sh that reuses upgrade.py and is Message-ID: <55c61d6f52f09_619e3f8dd1ff32c0575a4@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 67052a69f9dfd91777304118c20d288cf6714f6f https://github.com/modula3/cm3/commit/67052a69f9dfd91777304118c20d288cf6714f6f Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: A scripts/python/upgrade-full.sh Log Message: ----------- Add upgrade-full.sh that reuses upgrade.py and is much more like upgrade.sh. i.e. When I was writing uprade.py to emulate upgrade.sh, I misread upgrade.sh. upgrade.sh updates the compiler and then rebuilds everything with it. upgrade.py only updates the compiler and requisite libm3/m3core. upgrade-full.sh calls upgrade.py and then rebuilds everything. From jay.krell at cornell.edu Sat Aug 8 20:29:13 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 11:29:13 -0700 Subject: [M3commit] [modula3/cm3] 44fbd1: allocate jmpbufs with alloca(external variable ini... Message-ID: <55c64a791d503_1bd73fdfddff32bc19462@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 44fbd1608a73affa0625a9df4bff1c7248cc6f3c https://github.com/modula3/cm3/commit/44fbd1608a73affa0625a9df4bff1c7248cc6f3c Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- allocate jmpbufs with alloca(external variable initialized in C) instead of having cm3 know any target-specfic jmp_buf sizeA The point is: This removes a chunk of target-specific code (in Target.m3). It is a slight deoptimization in otherwise already very inefficient code, which might be replaced be something much more efficient than it previously was. From jay.krell at cornell.edu Sat Aug 8 20:49:10 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sat, 08 Aug 2015 11:49:10 -0700 Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Message-ID: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. From jay.krell at cornell.edu Sat Aug 8 20:55:05 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 11:55:05 -0700 Subject: [M3commit] [modula3/cm3] 175cfa: script to capture cm3, cm3cg, config, m3core, libm... Message-ID: <55c650892e1fe_5c213faa03dc92bc206f6@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 175cfa19ec1198a040daec27baeb335748d91446 https://github.com/modula3/cm3/commit/175cfa19ec1198a040daec27baeb335748d91446 Author: Jay Krell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: A scripts/python/capture-boot.py Log Message: ----------- script to capture cm3, cm3cg, config, m3core, libm3 from existing install Commit: 6d71769c2d2067a375fd01be865b8733a4e2b5b0 https://github.com/modula3/cm3/commit/6d71769c2d2067a375fd01be865b8733a4e2b5b0 Author: Jay Krell Date: 2015-08-07 (Fri, 07 Aug 2015) Changed paths: M .gitignore M m3-sys/cm3/src/Builder.m3 M m3-sys/cm3/src/llvmdummy/LLGen.i3 M m3-sys/cm3/src/llvmdummy/LLGen.m3 M m3-sys/cm3/src/m3makefile M m3-sys/cm3/src/version.quake M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/Unix.common M m3-sys/llvm/src/M3CG_LLVM.m3 M m3-sys/llvmbindings/src/LLVM.i3 M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.cpp M m3-sys/llvmbindings/src/M3DIBuilder.h M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/M3Extras.h M m3-sys/m3middle/src/Target.i3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Commit: 235f6e05efb230df7f8b6c79ad325c233589268f https://github.com/modula3/cm3/commit/235f6e05efb230df7f8b6c79ad325c233589268f Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: A scripts/python/upgrade-full.sh Log Message: ----------- upgrade and rebuild everything, like sh upgrade does Commit: b2c6582d0731b41c4088dbc2edafe9cd70b0db07 https://github.com/modula3/cm3/commit/b2c6582d0731b41c4088dbc2edafe9cd70b0db07 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M scripts/pkginfo.txt Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 Commit: 29b9219511a425356e20ea406dd2b240d88cc797 https://github.com/modula3/cm3/commit/29b9219511a425356e20ea406dd2b240d88cc797 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/57ad34f5034d...29b9219511a4 From jay.krell at cornell.edu Sat Aug 8 20:59:55 2015 From: jay.krell at cornell.edu (Jay K) Date: Sat, 8 Aug 2015 18:59:55 +0000 Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... In-Reply-To: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> References: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail> Message-ID: I believe this is working ok on MacOS X 10.5.8 with cm3cg and C backend.However things do not work on 10.10.4. I'm guessing for another unknownreason but I want to debug that separately for now. If anyone else can give the previous a try on their configuration, that'd be appreciated.(In github app, you can revert my revert. I haven't found how to do w/ git command line). Thank you. Specifically on 10.0.4 I get: * thread #1: tid = 0x3a9861, 0x002b7360 cm3`RTAllocator__GetTracedObj + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x24) frame #0: 0x002b7360 cm3`RTAllocator__GetTracedObj + 36 * frame #1: 0x002b6e90 cm3`RTHooks__AllocateTracedObj + 17 frame #2: 0x00281272 cm3`TextUtils_M3 + 49 frame #3: 0x002c705c cm3`RTLinker__RunMainBody + 763 frame #4: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #5: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #6: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #7: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #8: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #9: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #10: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #11: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #12: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #13: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #14: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #15: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #16: 0x002c64e8 cm3`RTLinker__AddUnitI + 287 frame #17: 0x002c6563 cm3`RTLinker__AddUnit + 116 frame #18: 0x00002341 cm3`main(argc=1, argv=0xbffffca8, envp=0xbffffcb0) + 97 at _m3main.c:22 frame #19: 0x9518e6d9 libdyld.dylib`start + 1 - Jay Date: Sat, 8 Aug 2015 11:49:10 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 00:09:00 2015 From: jay.krell at cornell.edu (Jay K) Date: Sat, 8 Aug 2015 22:09:00 +0000 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: <55C41E1F.1080900@lcwb.coop> References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail>, , <55C41E1F.1080900@lcwb.coop> Message-ID: This or the previous seems to have broken the C mode.I'm debugging. - Jay > Date: Thu, 6 Aug 2015 21:55:27 -0500 > From: rodney_bates at lcwb.coop > To: jay.krell at cornell.edu > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... > > > > On 08/06/2015 04:28 PM, Jay wrote: > > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > > > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > > > Heck, maybe we should have quake functions for: > > save IR > > convert IR file to C in-proc > > convert IR file to LLVM IR > > save LLVM IR to file > > etc? > > > > Problem is that IR cannot be represented in quake? > > > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > > > - Jay > > > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > > > >> Branch: refs/heads/master > >> Home: https://github.com/modula3/cm3 > >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> Author: Rodney Bates > >> Date: 2015-08-06 (Thu, 06 Aug 2015) > >> > >> Changed paths: > >> M m3-sys/cm3/src/Builder.m3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> M m3-sys/cm3/src/m3makefile > >> M m3-sys/cm3/src/version.quake > >> M m3-sys/cminstall/src/config-no-install/Unix.common > >> M m3-sys/m3middle/src/Target.i3 > >> > >> Log Message: > >> ----------- > >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. > >> > >> On branch master > >> Changes to be committed: > >> > >> modified: m3-sys/cm3/src/Builder.m3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> modified: m3-sys/cm3/src/m3makefile > >> modified: m3-sys/cm3/src/version.quake > >> modified: m3-sys/cminstall/src/config-no-install/Unix.common > >> modified: m3-sys/m3middle/src/Target.i3 > >> > >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > >> in the case of StAloneLlvmAsm, run asm separately. > >> > >> > >> _______________________________________________ > >> M3commit mailing list > >> M3commit at elegosoft.com > >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > > -- > Rodney Bates > rodney.m.bates at acm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 02:57:56 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 17:57:56 -0700 Subject: [M3commit] [modula3/cm3] 98666c: Repair recently broken C mode in Builder.m3. Message-ID: <55c6a5943b6fc_47413f9679eef29c4025@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 98666cf851ab0f0e0999d4941f593f27f1858713 https://github.com/modula3/cm3/commit/98666cf851ab0f0e0999d4941f593f27f1858713 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- Repair recently broken C mode in Builder.m3. Some cleanup/refactoring in Builder.m3. From jay.krell at cornell.edu Sun Aug 9 03:15:07 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 9 Aug 2015 01:15:07 +0000 Subject: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... In-Reply-To: References: <55c3c4839b9e0_14fb3fa4f22f32b840291@hookshot-fe3-cp1-prd.iad.github.net.mail>, , <55C41E1F.1080900@lcwb.coop>, Message-ID: I fixed Builder.m3 and cleaned it up a little.Hopefully didn't break the LLVM paths. I think the model I followed for C is a good one. I extended m3cgcat to have more output types, i.e. so it can input m3cg (same as before) and output C (new). cm3cgcat is the Modula-3 BSD-licensed executable that canread the .mc files. (Unfortunately we have no basis for BSD-licensed C/C++ reading .mc files.If someone could make a "preprocessor-friendly cm3cg description"outside of the m3cc directory, that'd be good..) I used an existing mode: ExternalObject I introduced a config variable: USE_C_BACKEND_VIA_M3CGCAT Maybe not the best name. And then conditionally replaced m3_backend in cm3cfg.common: if USE_C_BACKEND_VIA_M3CGCATM3_BACKEND_MODE = "ExternalObject" proc m3_backend(source, object, optimize, debug) is ret_code = try_exec("m3cgcat", "-in-binary:" & source, "-out-c:" & source & ".c") if not equal(ret_code, 0) return ret_code end return compile_c(source & ".c", object, [ ], FALSE, TRUE)endend Builder.m3 didn't need any changes to get everything working and forquicker turnaround on small changes. Efficiency compiling the entiretree was a bit off. And then, I ran cm3, I guess cm3 -boot or cm3 -keep. It was a while ago. :)Generating a bunch of ".mc" files. I then ran cm3cgat in my "inner loop". Once things were further along, I added the C mode for efficiency,to avoid writing/reading the .mc files. More likely I should have added a separate variable: InternalBackend = "C". I think in your work, you'd again want the .mc files for the bulkof development time, and then you'd want, I think just one LLVM mode afterward,that constructs the LLVM IR in memory and writes out object files. If you have the wherewithall to write LLVM IR bit code w/o linking to LLVM,then that might be another mode. - Jay From: jay.krell at cornell.edu To: rodney.m.bates at acm.org CC: m3commit at elegosoft.com Subject: RE: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... Date: Sat, 8 Aug 2015 22:09:00 +0000 This or the previous seems to have broken the C mode.I'm debugging. - Jay > Date: Thu, 6 Aug 2015 21:55:27 -0500 > From: rodney_bates at lcwb.coop > To: jay.krell at cornell.edu > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] [modula3/cm3] 9ee098: Add backend modes for standalone cm3-IR->llvm-IR t... > > > > On 08/06/2015 04:28 PM, Jay wrote: > > Not contradicting this necessarily but I'd like a separate flag to indicate save the IR, even if it isn't being used. > > > > Besides -keep? Writing the cm3 IR, even when using a linked-in (to cm3) backend? > That would not be hard. > > > And then, indeed contradicting this, I wonder if "mode" is the right parameter. Maybe we can have "pipeline" and user lists a sequence of functions to call? > > > > Heck, maybe we should have quake functions for: > > save IR > > convert IR file to C in-proc > > convert IR file to LLVM IR > > save LLVM IR to file > > etc? > > > > Problem is that IR cannot be represented in quake? > > > > In working on this, I've thought about a Cartesian factoring of the various > modes. But there are already way more combinations than anybody has any > use for now, or even likely use. It does get complicated, figuring out > the sequence of input and output file names, etc. And it's full of stuff > to include files in various intermediate formats that were not produced > by the cm3 compiler. > > > - Jay > > > > On Aug 6, 2015, at 1:33 PM, Rodney Bates wrote: > > > >> Branch: refs/heads/master > >> Home: https://github.com/modula3/cm3 > >> Commit: 9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> https://github.com/modula3/cm3/commit/9ee0988a34e2ccfe8a0d95b9e12a249f8251be66 > >> Author: Rodney Bates > >> Date: 2015-08-06 (Thu, 06 Aug 2015) > >> > >> Changed paths: > >> M m3-sys/cm3/src/Builder.m3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> M m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> M m3-sys/cm3/src/m3makefile > >> M m3-sys/cm3/src/version.quake > >> M m3-sys/cminstall/src/config-no-install/Unix.common > >> M m3-sys/m3middle/src/Target.i3 > >> > >> Log Message: > >> ----------- > >> Add backend modes for standalone cm3-IR->llvm-IR translator executable. > >> > >> On branch master > >> Changes to be committed: > >> > >> modified: m3-sys/cm3/src/Builder.m3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.i3 > >> modified: m3-sys/cm3/src/llvmdummy/LLGen.m3 > >> modified: m3-sys/cm3/src/m3makefile > >> modified: m3-sys/cm3/src/version.quake > >> modified: m3-sys/cminstall/src/config-no-install/Unix.common > >> modified: m3-sys/m3middle/src/Target.i3 > >> > >> Add new backend modes StAloneLlvmAsm and StAloneLlvmObj. > >> These produce cm3-IR (.ic/.mc) in cm3, run "m3llvm" as a separate executable, > >> to translate to llvm-IR bitcode (.ib/.mb), run llc to compile that, and, > >> in the case of StAloneLlvmAsm, run asm separately. > >> > >> > >> _______________________________________________ > >> M3commit mailing list > >> M3commit at elegosoft.com > >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit > > > > -- > Rodney Bates > rodney.m.bates at acm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Sun Aug 9 03:31:14 2015 From: jay.krell at cornell.edu (Jay K) Date: Sun, 9 Aug 2015 01:31:14 +0000 Subject: [M3commit] alloca(jmpbuf_size) is in In-Reply-To: References: <55c64f262e181_45bc3fc0634072bc636e3@hookshot-fe6-cp1-prd.iad.github.net.mail>, Message-ID: I've seen it work now on AMD64_LINUX, SPARC32_SOLARIS, and I386_DARWIN 10.5.8.I think MacOSX 10.10.4 has something else wrong with it that'll take a while to figure out. So I commited it again. PLEASE NOTE that the upgrade procedure is tricky like with cm3cg, but the results of getting it wrong are worse than the recent round of cm3cg changes.You will get runtime crashes. upgrade.py and upgrade-full.sh and likely upgrade.sh all do the right thing, same as always. Not only is cm3 closely tied with cm3cg, but it also closely tied with m3core.The compiler and runtime collaborate on producing and consuming certain data structures,and these data structures have changed now. At least it should be more debuggable now with the C backend -- so I can see local variables for example.Fixing cm3cg to work with plain -g would be good. Is anyone else running 10.10? Thanks, - Jay From: jay.krell at cornell.edu To: m3commit at elegosoft.com Date: Sat, 8 Aug 2015 18:59:55 +0000 Subject: Re: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... I believe this is working ok on MacOS X 10.5.8 with cm3cg and C backend.However things do not work on 10.10.4. I'm guessing for another unknownreason but I want to debug that separately for now. If anyone else can give the previous a try on their configuration, that'd be appreciated.(In github app, you can revert my revert. I haven't found how to do w/ git command line). Thank you. Specifically on 10.0.4 I get: * thread #1: tid = 0x3a9861, 0x002b7360 cm3`RTAllocator__GetTracedObj + 36, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x24) frame #0: 0x002b7360 cm3`RTAllocator__GetTracedObj + 36 * frame #1: 0x002b6e90 cm3`RTHooks__AllocateTracedObj + 17 frame #2: 0x00281272 cm3`TextUtils_M3 + 49 frame #3: 0x002c705c cm3`RTLinker__RunMainBody + 763 frame #4: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #5: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #6: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #7: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #8: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #9: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #10: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #11: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #12: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #13: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #14: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #15: 0x002c6f2d cm3`RTLinker__RunMainBody + 460 frame #16: 0x002c64e8 cm3`RTLinker__AddUnitI + 287 frame #17: 0x002c6563 cm3`RTLinker__AddUnit + 116 frame #18: 0x00002341 cm3`main(argc=1, argv=0xbffffca8, envp=0xbffffcb0) + 97 at _m3main.c:22 frame #19: 0x9518e6d9 libdyld.dylib`start + 1 - Jay Date: Sat, 8 Aug 2015 11:49:10 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 57ad34: Revert "allocate jmpbufs with alloca(external vari... Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 57ad34f5034d5000bd5d63fb384851921bc782a1 https://github.com/modula3/cm3/commit/57ad34f5034d5000bd5d63fb384851921bc782a1 Author: jaykrell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c R m3-sys/m3front/src/misc/Jmpbufs.i3 R m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "allocate jmpbufs with alloca(external variable initialized in C)" This reverts commit 44fbd1608a73affa0625a9df4bff1c7248cc6f3c. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Aug 9 04:03:09 2015 From: jkrell at elego.de (Jay Krell) Date: Sat, 08 Aug 2015 19:03:09 -0700 Subject: [M3commit] [modula3/cm3] 5b04af: Revert "Revert "allocate jmpbufs with alloca(exter... Message-ID: <55c6b4ddc5c07_19283fbc35f252c035033@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5b04afe9134e5807196ba6af13fa4cd28401f054 https://github.com/modula3/cm3/commit/5b04afe9134e5807196ba6af13fa4cd28401f054 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Revert "Revert "allocate jmpbufs with alloca(external variable initialized in C)"" This reverts commit 57ad34f5034d5000bd5d63fb384851921bc782a1. Commit: db5a8d55d030950ab2f922f1342e618258750be6 https://github.com/modula3/cm3/commit/db5a8d55d030950ab2f922f1342e618258750be6 Author: Jay Krell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- Merge branch 'master' of git at github.com:modula3/cm3 Compare: https://github.com/modula3/cm3/compare/98666cf851ab...db5a8d55d030 From jay.krell at cornell.edu Sun Aug 9 04:42:09 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 19:42:09 -0700 Subject: [M3commit] [modula3/cm3] d22bef: Should fix problem with newer gcc -- I've been usi... Message-ID: <55c6be0175247_1d233fd2ad69f2c03240999@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d22befacfc44f3ceed436bce8247c279ed67375c https://github.com/modula3/cm3/commit/d22befacfc44f3ceed436bce8247c279ed67375c Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- Should fix problem with newer gcc -- I've been using default gcc 4.0.1 a while oops! Commit: 2e7bb8751d625abe4518ffdc8d78e5bec255e4f0 https://github.com/modula3/cm3/commit/2e7bb8751d625abe4518ffdc8d78e5bec255e4f0 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-libs/m3core/src/runtime/ex_frame/RTExFrame.m3 M m3-sys/m3cc/gcc/gcc/m3cg/parse.c A m3-sys/m3front/src/misc/Jmpbufs.i3 A m3-sys/m3front/src/misc/Jmpbufs.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/Marker.i3 M m3-sys/m3front/src/misc/Marker.m3 M m3-sys/m3front/src/misc/m3makefile M m3-sys/m3front/src/stmts/TryFinStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/values/Module.i3 M m3-sys/m3front/src/values/Module.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3RT.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/db5a8d55d030...2e7bb8751d62 From jay.krell at cornell.edu Sun Aug 9 04:50:20 2015 From: jay.krell at cornell.edu (Jay Krell) Date: Sat, 08 Aug 2015 19:50:20 -0700 Subject: [M3commit] [modula3/cm3] 59f7ea: fix typo Message-ID: <55c6bfecae788_3c343fe7b7e0d2b8602e2@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 59f7ea5192b65ef9e18450a7ece86e5259dd15d4 https://github.com/modula3/cm3/commit/59f7ea5192b65ef9e18450a7ece86e5259dd15d4 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- fix typo Commit: 602ec25e457abd17e37bcff294989e74d8cea735 https://github.com/modula3/cm3/commit/602ec25e457abd17e37bcff294989e74d8cea735 Author: Jay Krell Date: 2015-08-08 (Sat, 08 Aug 2015) Changed paths: M m3-sys/m3front/src/misc/Jmpbufs.m3 Log Message: ----------- fix unused warning due to debug code Compare: https://github.com/modula3/cm3/compare/2e7bb8751d62...602ec25e457a From jay.krell at cornell.edu Sun Aug 9 10:37:26 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sun, 09 Aug 2015 01:37:26 -0700 Subject: [M3commit] [modula3/cm3] a1489e: fix "autoconf" program to be more modern so it is ... Message-ID: <55c71146d2011_26043fd5ed6db2a0902af@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a1489e895f6b9fd3e17266b0cfc72d8b7e45c7dc https://github.com/modula3/cm3/commit/a1489e895f6b9fd3e17266b0cfc72d8b7e45c7dc Author: jaykrell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- fix "autoconf" program to be more modern so it is not rejected comments about X11 and OpenGL but ultimately no change..and X programs are not working Commit: 79655166d3ba5042a0be4c6f5f5664990b7aa49e https://github.com/modula3/cm3/commit/79655166d3ba5042a0be4c6f5f5664990b7aa49e Author: jaykrell Date: 2015-08-09 (Sun, 09 Aug 2015) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3front/src/misc/Jmpbufs.m3 Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/602ec25e457a...79655166d3ba From jay.krell at cornell.edu Tue Aug 11 13:36:22 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 11 Aug 2015 04:36:22 -0700 Subject: [M3commit] [modula3/cm3] 37b167: possible techniques to be like autoconf but differ... Message-ID: <55c9de3669ba7_34bd3fe315b012a0111c0@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 37b167b2d8fce7e38f32f33d9d1bbb8a816bcafb https://github.com/modula3/cm3/commit/37b167b2d8fce7e38f32f33d9d1bbb8a816bcafb Author: jaykrell Date: 2015-08-10 (Mon, 10 Aug 2015) Changed paths: A scratch/jconf/jconf1.c A scratch/jconf/jconf1.sh Log Message: ----------- possible techniques to be like autoconf but different, and not nearly as general Commit: 56a7834bd4e023e599db1edc3c3828efd35ffcaa https://github.com/modula3/cm3/commit/56a7834bd4e023e599db1edc3c3828efd35ffcaa Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: A m3-libs/m3core/src/runtime/common/RT0.h Log Message: ----------- C++ version of RT0.i3 might be useful, though I ended up not using it. Commit: 8eb697cca2b6c6c45226612e6ca52105d8fecf3b https://github.com/modula3/cm3/commit/8eb697cca2b6c6c45226612e6ca52105d8fecf3b Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c Log Message: ----------- Switch Darwing config to use "as" instead of "gcc -x assembler" to assemble. gcc on 10.0.4 Yosemite is clang and runs the clang assembler which has a big problem if any non-lazy pointers precede any stubs -- stubs are hooked up incorrectly and the wrong functions are called. The non-LLVM assembler doesn't have this problem. I also attempted dropping support for 10.4 which should have worked but didn't. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67183 (suggest gcc output in llvm-as-compatible order) https://llvm.org/bugs/show_bug.cgi?id=24428 (clearly a bug) This configuration change might break some things. All the information around what hosts have what assemblers supporting what targets is not well contained. This is perhaps why gcc made a nice assembler driver. Compare: https://github.com/modula3/cm3/compare/79655166d3ba...8eb697cca2b6 From jay.krell at cornell.edu Wed Aug 12 10:11:25 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 12 Aug 2015 01:11:25 -0700 Subject: [M3commit] [modula3/cm3] afe7b0: removal of Objective-C, C, and driver Message-ID: <55caffad4f7b5_2b583f91ab3712bc19789@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: afe7b06c74f22f9e765e6461c76cae802b4b0f7c https://github.com/modula3/cm3/commit/afe7b06c74f22f9e765e6461c76cae802b4b0f7c Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config/darwin-sections.def M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.h M m3-sys/m3cc/gcc-4.7/gcc/config/darwin10.h M m3-sys/m3cc/gcc-4.7/gcc/config/darwin9.h Log Message: ----------- removal of Objective-C, C, and driver Commit: 26a3a558f9360400f8a45889604484584a3d465d https://github.com/modula3/cm3/commit/26a3a558f9360400f8a45889604484584a3d465d Author: jaykrell Date: 2015-08-11 (Tue, 11 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common M m3-sys/cminstall/src/config-no-install/cm3cfg.common Log Message: ----------- Give C compiler -fno-reorder-blocks -funwind-tables if they are accepted. gcc accepts both. clang accepts one of them. The point of unwind-tables is to prepare for a future in which we generate code using C++ exception handling. This helps us exercise *some* of that earlier. Commit: 14d5e667e19abaab679b52bc8fd35a4e38073330 https://github.com/modula3/cm3/commit/14d5e667e19abaab679b52bc8fd35a4e38073330 Author: jaykrell Date: 2015-08-12 (Wed, 12 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.c Log Message: ----------- Workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67183. Establish a partial ordering of the outputs, so that stubs precede non-lazy pointers. Note that I couldn't get weak references to occur (even in C). Note that I still think we shouldn't output in hash order, but I didn't fix that. Compare: https://github.com/modula3/cm3/compare/8eb697cca2b6...14d5e667e19a From jay.krell at cornell.edu Wed Aug 12 10:18:28 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 12 Aug 2015 01:18:28 -0700 Subject: [M3commit] [modula3/cm3] a61b4d: With cm3cg now splitting stubs from non-lazy point... Message-ID: <55cb01546124d_26bc3fd2ee4b32b81879@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a61b4d7a910671fde943b43da75c6543d3342a7e https://github.com/modula3/cm3/commit/a61b4d7a910671fde943b43da75c6543d3342a7e Author: jaykrell Date: 2015-08-12 (Wed, 12 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Darwin.common Log Message: ----------- With cm3cg now splitting stubs from non-lazy pointers, go back to gcc -x assembler to find the assembler.# From jay.krell at cornell.edu Thu Aug 13 18:43:23 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 09:43:23 -0700 Subject: [M3commit] [modula3/cm3] 0f8cd7: a little shorter Message-ID: <55ccc92b35df5_70633f8d961ad2a0208d@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 0f8cd79bb3a669d5094891ffd54226c0a1757000 https://github.com/modula3/cm3/commit/0f8cd79bb3a669d5094891ffd54226c0a1757000 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p251/Main.m3 Log Message: ----------- a little shorter Commit: e3eace4829a32e9ed73382b56ae485f9802c6bee https://github.com/modula3/cm3/commit/e3eace4829a32e9ed73382b56ae485f9802c6bee Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.i3 M m3-libs/m3core/src/thread/PTHREAD/ThreadPThreadC.c Log Message: ----------- There is no longer a need to wrap pthread_equal so remove it. Commit: 879eb7f6da0e358707ed7801cf2f522599e6c37b https://github.com/modula3/cm3/commit/879eb7f6da0e358707ed7801cf2f522599e6c37b Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/analyze_coverage.c M m3-tools/coverage/src/report_coverage.c M m3-ui/glut/test/src/m3makefile Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 Commit: 8559cea261272f574c06a0e5cd1766827b42124a https://github.com/modula3/cm3/commit/8559cea261272f574c06a0e5cd1766827b42124a Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p261/A.i3 A m3-sys/m3tests/src/p2/p261/A.m3 A m3-sys/m3tests/src/p2/p261/B.i3 A m3-sys/m3tests/src/p2/p261/B.m3 A m3-sys/m3tests/src/p2/p261/Main.m3 A m3-sys/m3tests/src/p2/p261/m3makefile Log Message: ----------- test of errors in a module stopping package compilation Commit: ff9855193deeb4c4edde3fe51103f56438ab3206 https://github.com/modula3/cm3/commit/ff9855193deeb4c4edde3fe51103f56438ab3206 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- minimal fix to regression from: https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/cm3/src/Builder.m3.diff?r1=1.37;r2=1.38 https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/cm3/src/Builder.m3 Revision 1.38: download - view: text, markup, annotated - select for diffs Wed Jan 30 12:57:50 2013 MET (2 years, 6 months ago) by jkrell Branches: MAIN Diff to: previous 1.37: preferred, unified Changes since revision 1.37: +151 -105 lines add "C" mode to builder The exact logic as to what to keep in error paths could use more attention. Compare: https://github.com/modula3/cm3/compare/abba22a056dd...ff9855193dee From jay.krell at cornell.edu Fri Aug 14 04:14:52 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 19:14:52 -0700 Subject: [M3commit] [modula3/cm3] 954f39: add source path to error as was intended Message-ID: <55cd4f1cd0384_1693f90205952a062783@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 954f3998555e184c001d4a54d1a492faa210167c https://github.com/modula3/cm3/commit/954f3998555e184c001d4a54d1a492faa210167c Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- add source path to error as was intended From jay.krell at cornell.edu Fri Aug 14 05:13:54 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 13 Aug 2015 20:13:54 -0700 Subject: [M3commit] [modula3/cm3] 778bb5: ANSI-ify, make it valid C++, no longer valid K&R, ... Message-ID: <55cd5cf280fdb_8a33fc05454929c10485a@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 778bb5a55029836903c96ae0765132ac5878c0a7 https://github.com/modula3/cm3/commit/778bb5a55029836903c96ae0765132ac5878c0a7 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/analyze_coverage.c M m3-tools/coverage/src/report_coverage.c Log Message: ----------- ANSI-ify, make it valid C++, no longer valid K&R, hopefully that is ok, it was already a mix, and therefore not valid K&R use sizeof instead of strlen From jay.krell at cornell.edu Fri Aug 14 10:37:52 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 14 Aug 2015 01:37:52 -0700 Subject: [M3commit] [modula3/cm3] 647e93: comments as to why this m3makefile is so unusual Message-ID: <55cda8e0e0b83_45833f7ee79332bc13887@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 647e932726a16a8f865335e92a2b3a38ae05ed2f https://github.com/modula3/cm3/commit/647e932726a16a8f865335e92a2b3a38ae05ed2f Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/m3makefile Log Message: ----------- comments as to why this m3makefile is so unusual Commit: 20aa9fe8c9fe0fb424b02c6fa5a0eef747b54196 https://github.com/modula3/cm3/commit/20aa9fe8c9fe0fb424b02c6fa5a0eef747b54196 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-tools/coverage/src/report_coverage.c Log Message: ----------- spell out "dir" as "direction" remove null statement add volatile to be sure unused reads aren't optimized away reove unused type Commit: 226eef82f1fb53db844deaef48f7256b2807c5b4 https://github.com/modula3/cm3/commit/226eef82f1fb53db844deaef48f7256b2807c5b4 Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3cc/src/buildmany.sh Log Message: ----------- move ARM_DARWIN to the bottom while figuring out why it doesn't compile Commit: 9db79f78e7ae15648c366b48a26beffb2f03676b https://github.com/modula3/cm3/commit/9db79f78e7ae15648c366b48a26beffb2f03676b Author: jaykrell Date: 2015-08-13 (Thu, 13 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/config.gcc M m3-sys/m3cc/gcc-4.7/gcc/config/alpha/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/arm/freebsd.h R m3-sys/m3cc/gcc-4.7/gcc/config/darwin-driver.c M m3-sys/m3cc/gcc-4.7/gcc/config/darwin.h M m3-sys/m3cc/gcc-4.7/gcc/config/freebsd-spec.h M m3-sys/m3cc/gcc-4.7/gcc/config/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/i386/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/i386/sol2-bi.h M m3-sys/m3cc/gcc-4.7/gcc/config/ia64/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/lynx.h M m3-sys/m3cc/gcc-4.7/gcc/config/netbsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/openbsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/rtems.h R m3-sys/m3cc/gcc-4.7/gcc/config/sol2-bi.h M m3-sys/m3cc/gcc-4.7/gcc/config/sol2.h M m3-sys/m3cc/gcc-4.7/gcc/config/sparc/freebsd.h M m3-sys/m3cc/gcc-4.7/gcc/config/vx-common.h M m3-sys/m3cc/gcc-4.7/gcc/config/vxworks.h Log Message: ----------- remove move parts of the driver and the C/C++ frontend Commit: 6a6ca0fe3cae55a08a1db9e218e4c2578566c2f1 https://github.com/modula3/cm3/commit/6a6ca0fe3cae55a08a1db9e218e4c2578566c2f1 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Interix.common M m3-sys/cminstall/src/config-no-install/Linux.common M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- A slight increase in portability -- making everything have the same code. In particular, we can use ar cru + ranlib on almost every system, as long as we ignore the result of ranlib. On old systems, ar cru or ar cr + ranlib is the only right way. On most current systems, ranlib doesn't do anything. On some systems (Irix?) ranlib does not exist so will fail. I am pretty certain that the "s" flag is not needed and the "u" flag sometimes help. gcc makes libbackend without the u flag though, but otherwise is like that -- ar + ranlib, ignores the result ranlib result and doesn't autoconf this aspect. and we still make Compare: https://github.com/modula3/cm3/compare/778bb5a55029...6a6ca0fe3cae From jay.krell at cornell.edu Fri Aug 14 21:32:40 2015 From: jay.krell at cornell.edu (jaykrell) Date: Fri, 14 Aug 2015 12:32:40 -0700 Subject: [M3commit] [modula3/cm3] 782ff5: whitespace Message-ID: <55ce425853ea1_4b073fcde53f12c09107b@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 782ff59d7e3d256174b5269d7c568df98a68d684 https://github.com/modula3/cm3/commit/782ff59d7e3d256174b5269d7c568df98a68d684 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/HPUX.common Log Message: ----------- whitespace Commit: b8ebada3c0907c27dc9acfcdce475172943ea962 https://github.com/modula3/cm3/commit/b8ebada3c0907c27dc9acfcdce475172943ea962 Author: jaykrell Date: 2015-08-14 (Fri, 14 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- remove workaround for old toolsets (e.g. LINUXLIBC6 release 5.4.0) Compare: https://github.com/modula3/cm3/compare/6a6ca0fe3cae...b8ebada3c090 From jay.krell at cornell.edu Sun Aug 16 08:19:08 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sat, 15 Aug 2015 23:19:08 -0700 Subject: [M3commit] [modula3/cm3] 71aa66: upgrade PA64_HPUX from no debug info to -g1, simil... Message-ID: <55d02b5caa43b_145e3f9353c7d2bc71258@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 71aa66236d76e701609a4212f71031c8b522aadb https://github.com/modula3/cm3/commit/71aa66236d76e701609a4212f71031c8b522aadb Author: jaykrell Date: 2015-08-15 (Sat, 15 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/PA64_HPUX Log Message: ----------- upgrade PA64_HPUX from no debug info to -g1, similar to Darwin -gstabs is not supported plain -g crashes -g1 produces some extra information tested with a cross cm3cg and cross GNU as, not actually run or debugged From jay.krell at cornell.edu Sun Aug 16 12:14:53 2015 From: jay.krell at cornell.edu (jaykrell) Date: Sun, 16 Aug 2015 03:14:53 -0700 Subject: [M3commit] [modula3/cm3] bd1ff6: Fix structure_size_boundary for PA and indicate th... Message-ID: <55d0629d8b76c_24753fbf4ce2f2c051f1@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: bd1ff6363a8751b56da160a516aea2bf46093203 https://github.com/modula3/cm3/commit/bd1ff6363a8751b56da160a516aea2bf46093203 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- Fix structure_size_boundary for PA and indicate that is fairly irrelevant. From rodney.m.bates at acm.org Thu Aug 20 00:04:06 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Wed, 19 Aug 2015 15:04:06 -0700 Subject: [M3commit] [modula3/cm3] 945c1a: Fix llvm binding problems and automate build of pa... Message-ID: <55d4fd563d01f_4c53f8efbfd12bc9044@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 945c1a2ff937db07c8eab1df4379eab54a43c0f6 https://github.com/modula3/cm3/commit/945c1a2ff937db07c8eab1df4379eab54a43c0f6 Author: Rodney Bates Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: A m3-sys/llvm/src/DIBuilderBindings.cpp A m3-sys/llvm/src/DIBuilderBindings.h M m3-sys/llvm/src/M3CG_LLVM.m3 A m3-sys/llvm/src/M3Extras.cpp A m3-sys/llvm/src/M3Extras.h A m3-sys/llvm/src/Makefile M m3-sys/llvm/src/m3makefile M m3-sys/llvm/src/readme Log Message: ----------- Fix llvm binding problems and automate build of package llvm. Commit binding files provided by Peter McKinna via email. Add m3makefile and Makefile lines to build them and link with Modula-3 code. Fix build problems. This is for llvm 3.5.0 See file readme for information on building. Changes to be committed: new file: DIBuilderBindings.cpp new file: DIBuilderBindings.h modified: M3CG_LLVM.m3 new file: M3Extras.cpp new file: M3Extras.h new file: Makefile modified: m3makefile modified: readme From rodney.m.bates at acm.org Thu Aug 20 00:12:23 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Wed, 19 Aug 2015 15:12:23 -0700 Subject: [M3commit] [modula3/cm3] 02210e: Changes to allow a version of m3llvm, modified for... Message-ID: <55d4ff47afce_7d803fdb0affb2a036610@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 02210e7088cea5303efb720d5b17ca2a41f7a329 https://github.com/modula3/cm3/commit/02210e7088cea5303efb720d5b17ca2a41f7a329 Author: Rodney Bates Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/m3makefile Log Message: ----------- Changes to allow a version of m3llvm, modified for llvm 3.6.1, to build. Changes to be committed: modified: LLVMTypes.i3 modified: M3DIBuilder.i3 modified: M3Extras.cpp modified: m3makefile From jay.krell at cornell.edu Thu Aug 20 11:34:49 2015 From: jay.krell at cornell.edu (jaykrell) Date: Thu, 20 Aug 2015 02:34:49 -0700 Subject: [M3commit] [modula3/cm3] e5d73c: A Message-ID: <55d59f393f9a6_34cf3fe9cc9332bc99532@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: e5d73c8056d4dc5b76feb791a632130ecef8b297 https://github.com/modula3/cm3/commit/e5d73c8056d4dc5b76feb791a632130ecef8b297 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p262/Main.m3 A m3-sys/m3tests/src/p2/p262/m3makefile A m3-sys/m3tests/src/p2/p262/m3overrides A m3-sys/m3tests/src/p2/p262/p262.sh Log Message: ----------- A test case for PA structure_size_boundary and partial demo of cross compilation, at least to assembly You can see the resulting struct sizes in the assembly. The other part of the cross-use is m3cc/src/buildmany.sh and a config file change that lets you specify cc/as/ld on the cm3 command line, or at least as. Commit: aee6544481020f13368945a016412c91936aef1a https://github.com/modula3/cm3/commit/aee6544481020f13368945a016412c91936aef1a Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/PA32_HPUX M m3-sys/cminstall/src/config-no-install/PA64_HPUX Log Message: ----------- Allow specifying SYSTEM_ASM on the command line -- only replace it here if it is not defined. Commit: f8eb60e050691cffbb8048f7f7185afa820dc953 https://github.com/modula3/cm3/commit/f8eb60e050691cffbb8048f7f7185afa820dc953 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p262/p262.sh Log Message: ----------- more verbose -- -commnds Commit: d5b58fc572499ca91008fdbeb5ad34f079951d59 https://github.com/modula3/cm3/commit/d5b58fc572499ca91008fdbeb5ad34f079951d59 Author: jaykrell Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p263/Main.m3 A m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- a test for First_readable_addr Commit: c35778feb117193a25322a674081b36ff35f7c1b https://github.com/modula3/cm3/commit/c35778feb117193a25322a674081b36ff35f7c1b Author: jaykrell Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: A m3-sys/m3tests/src/p2/p263/F0.i3 A m3-sys/m3tests/src/p2/p263/F0.m3 A m3-sys/m3tests/src/p2/p263/F1.i3 A m3-sys/m3tests/src/p2/p263/F1.m3 A m3-sys/m3tests/src/p2/p263/F4095.i3 A m3-sys/m3tests/src/p2/p263/F4095.m3 A m3-sys/m3tests/src/p2/p263/F4095x8.i3 A m3-sys/m3tests/src/p2/p263/F4095x8.m3 A m3-sys/m3tests/src/p2/p263/F4096.i3 A m3-sys/m3tests/src/p2/p263/F4096.m3 A m3-sys/m3tests/src/p2/p263/F4096x8.i3 A m3-sys/m3tests/src/p2/p263/F4096x8.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- test First_readable_addr Commit: 38ed5b223ebce27a131b3fd15f8cac25a6b6a854 https://github.com/modula3/cm3/commit/38ed5b223ebce27a131b3fd15f8cac25a6b6a854 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-apple/gcc/config/arm/arm.c Log Message: ----------- fix from https://gcc.gnu.org/ml/gcc-patches/2008-06/msg01641.html and http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/gnu/gcc/gcc/config/arm/arm.c?r1=1.2#diff already in 4.7 Commit: 9c0de0f5910943fd45900b2c582ce6384074ad80 https://github.com/modula3/cm3/commit/9c0de0f5910943fd45900b2c582ce6384074ad80 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-apple/gcc/Makefile.in M m3-sys/m3cc/gcc-apple/gcc/config/arm/arm.h M m3-sys/m3cc/gcc-apple/gcc/loop-doloop.c M m3-sys/m3cc/gcc-apple/gcc/toplev.h M m3-sys/m3cc/gcc-apple/gcc/vmsdbgout.c M m3-sys/m3cc/gcc-apple/gcc/xcoffout.c Log Message: ----------- Fix some-of-many warnings and all of of a few errors when building gcc-apple for ARM_DARWIN. Note that this is originally from Apple, but we don't have Apple's current. Commit: 1a3f11227f42e5ecdea861d430a4da11d6fa51e6 https://github.com/modula3/cm3/commit/1a3f11227f42e5ecdea861d430a4da11d6fa51e6 Author: jaykrell Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: A m3-sys/llvm/src/DIBuilderBindings.cpp A m3-sys/llvm/src/DIBuilderBindings.h M m3-sys/llvm/src/M3CG_LLVM.m3 A m3-sys/llvm/src/M3Extras.cpp A m3-sys/llvm/src/M3Extras.h A m3-sys/llvm/src/Makefile M m3-sys/llvm/src/m3makefile M m3-sys/llvm/src/readme M m3-sys/llvmbindings/src/LLVMTypes.i3 M m3-sys/llvmbindings/src/M3DIBuilder.i3 M m3-sys/llvmbindings/src/M3Extras.cpp M m3-sys/llvmbindings/src/m3makefile Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/02210e7088ce...1a3f11227f42 From jay.krell at cornell.edu Tue Aug 25 11:57:08 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 02:57:08 -0700 Subject: [M3commit] [modula3/cm3] b3f343: make it legal C90 Message-ID: <55dc3bf4ae9f4_444b3fb060afb2c05681d@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b3f343d30c9580244fb44ace0d9dd811fdd6a714 https://github.com/modula3/cm3/commit/b3f343d30c9580244fb44ace0d9dd811fdd6a714 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/tree-ssa-loop-ivopts.c Log Message: ----------- make it legal C90 From jkrell at elego.de Tue Aug 25 12:09:16 2015 From: jkrell at elego.de (Jay Krell) Date: Tue, 25 Aug 2015 03:09:16 -0700 Subject: [M3commit] [modula3/cm3] 602336: give it command line parameters for in and out Message-ID: <55dc3ecc27f66_4ee93feb683a729c1835f@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 60233667bc5bb23a6e22e8583428066a03ec34fa https://github.com/modula3/cm3/commit/60233667bc5bb23a6e22e8583428066a03ec34fa Author: Jay Krell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M scripts/python/capture-boot.py Log Message: ----------- give it command line parameters for in and out Commit: ba4852b58fd59bdcceb51d379a6d4441cf314f79 https://github.com/modula3/cm3/commit/ba4852b58fd59bdcceb51d379a6d4441cf314f79 Author: Jay Krell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3cc/gcc-4.7/gcc/tree-ssa-loop-ivopts.c Log Message: ----------- Merge branch 'master' of git at github.com:modula3/cm3 Compare: https://github.com/modula3/cm3/compare/b3f343d30c95...ba4852b58fd5 From jay.krell at cornell.edu Wed Aug 26 02:15:03 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 17:15:03 -0700 Subject: [M3commit] [modula3/cm3] fa3d1c: First_readable_addr: Message-ID: <55dd050741f5_14f83f834a22b2a061964@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: fa3d1cdca4acb1834fdacfa754400546e708a282 https://github.com/modula3/cm3/commit/fa3d1cdca4acb1834fdacfa754400546e708a282 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 M m3-sys/m3tests/src/p2/p263/F0.m3 M m3-sys/m3tests/src/p2/p263/F1.i3 M m3-sys/m3tests/src/p2/p263/F1.m3 M m3-sys/m3tests/src/p2/p263/F4095.i3 M m3-sys/m3tests/src/p2/p263/F4095.m3 M m3-sys/m3tests/src/p2/p263/F4095x8.i3 M m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096.i3 M m3-sys/m3tests/src/p2/p263/F4096.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- First_readable_addr: - is based on size of surrounding type, not the accessed offset - is off by a factor of 8 Commit: 0f6bfed88b87938a8611e580eeb36e758f5b7aaf https://github.com/modula3/cm3/commit/0f6bfed88b87938a8611e580eeb36e758f5b7aaf Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M scripts/python/capture-boot.py Log Message: ----------- Merge branch 'master' of github.com:modula3/cm3 pull from master Compare: https://github.com/modula3/cm3/compare/ba4852b58fd5...0f6bfed88b87 From jay.krell at cornell.edu Wed Aug 26 07:52:23 2015 From: jay.krell at cornell.edu (jaykrell) Date: Tue, 25 Aug 2015 22:52:23 -0700 Subject: [M3commit] [modula3/cm3] 5f14b2: explore the edge more.. Message-ID: <55dd54172b3fd_19403fe006e6f2a066398@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5f14b2956377da39f0013f6489dc823dec830040 https://github.com/modula3/cm3/commit/5f14b2956377da39f0013f6489dc823dec830040 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 A m3-sys/m3tests/src/p2/p263/F2.i3 A m3-sys/m3tests/src/p2/p263/F2.m3 A m3-sys/m3tests/src/p2/p263/F4094.i3 A m3-sys/m3tests/src/p2/p263/F4094.m3 R m3-sys/m3tests/src/p2/p263/F4095x8.i3 R m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m5.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m5.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.m3 A m3-sys/m3tests/src/p2/p263/F4097.i3 A m3-sys/m3tests/src/p2/p263/F4097.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- explore the edge more.. Commit: 2831d3abbba413bf307d0bc35db67b2f5524d2c8 https://github.com/modula3/cm3/commit/2831d3abbba413bf307d0bc35db67b2f5524d2c8 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/F0.i3 R m3-sys/m3tests/src/p2/p263/F4096x8m5.i3 R m3-sys/m3tests/src/p2/p263/F4096x8m5.m3 Log Message: ----------- First_readable_addr testing Commit: e1df15b8e251b317c740645e3a6ba0658ba5a0b8 https://github.com/modula3/cm3/commit/e1df15b8e251b317c740645e3a6ba0658ba5a0b8 Author: jaykrell Date: 2015-08-25 (Tue, 25 Aug 2015) Changed paths: M m3-sys/m3tests/src/p2/p263/Main.m3 Log Message: ----------- First_readable_addr testing Compare: https://github.com/modula3/cm3/compare/0f6bfed88b87...e1df15b8e251 From jay.krell at cornell.edu Wed Aug 26 09:22:53 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 26 Aug 2015 00:22:53 -0700 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: Message-ID: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4k * 8 on most targets First_readable_addr = 8k * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4k on all targets could be but isn't 8k on ia64/alpha/sparc Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. From jay.krell at cornell.edu Wed Aug 26 09:24:31 2015 From: jay.krell at cornell.edu (Jay K) Date: Wed, 26 Aug 2015 07:24:31 +0000 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: In-Reply-To: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> References: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> Message-ID: Sorry, this checkin comment didn't adequately emphasize the removal of the "* 8*".Not just making it 4k, but not 4k * 8. - Jay Date: Wed, 26 Aug 2015 00:22:53 -0700 From: jay.krell at cornell.edu To: m3commit at elegosoft.com Subject: [M3commit] [modula3/cm3] 39cbbb: previously: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4k * 8 on most targets First_readable_addr = 8k * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4k on all targets could be but isn't 8k on ia64/alpha/sparc Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. _______________________________________________ M3commit mailing list M3commit at elegosoft.com https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Wed Aug 26 09:31:55 2015 From: jay.krell at cornell.edu (jaykrell) Date: Wed, 26 Aug 2015 00:31:55 -0700 Subject: [M3commit] [modula3/cm3] ca69e1: previously: Message-ID: <55dd6b6ba6aec_19b03fd9305292b831095@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ca69e1df6c62a8a6995059ae0f635e259b248d65 https://github.com/modula3/cm3/commit/ca69e1df6c62a8a6995059ae0f635e259b248d65 Author: jaykrell Date: 2015-08-26 (Wed, 26 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- previously: First_readable_addr = 4K * 8 on most targets First_readable_addr = 8K * 8 on sparc could be but isn't 8k on alpha/ia64 now: 4K on all targets -- not 4K * 8, but just 4K m3front does the multiplication by 8 and doing it twice made the value too high. Could be but isn't 8K on ia64/alpha/sparc. It'd be a small optimization in unusual code, and isn't worth the targets varying. Test case is p263. Still maybe want to eliminate it, but at least all targets are now the same here. From jay.krell at cornell.edu Wed Aug 26 17:51:34 2015 From: jay.krell at cornell.edu (Jay) Date: Wed, 26 Aug 2015 08:51:34 -0700 Subject: [M3commit] [modula3/cm3] 39cbbb: previously: In-Reply-To: <31742C56-1F57-4B80-A960-766F9BA1341B@purdue.edu> References: <55dd694df0637_6eb53fa84c53729c357e6@hookshot-fe6-cp1-prd.iad.github.net.mail> <31742C56-1F57-4B80-A960-766F9BA1341B@purdue.edu> Message-ID: Yes -- m3front does another multiply here though. - Jay On Aug 26, 2015, at 2:43 AM, Antony Hosking wrote: > Quick question: was the 4K*8 a bit-size instead of bytes? Much of the front end expresses offsets in bits. > > Sent from my iPhone > >> On Aug 26, 2015, at 5:22 PM, jaykrell wrote: >> >> Branch: refs/heads/master >> Home: https://github.com/modula3/cm3 >> Commit: 39cbbbe988fe56b6bf304630152d3ec8c71f5105 >> https://github.com/modula3/cm3/commit/39cbbbe988fe56b6bf304630152d3ec8c71f5105 >> Author: jaykrell >> Date: 2015-08-26 (Wed, 26 Aug 2015) >> >> Changed paths: >> M m3-sys/m3middle/src/Target.i3 >> M m3-sys/m3middle/src/Target.m3 >> >> Log Message: >> ----------- >> previously: >> First_readable_addr = 4k * 8 on most targets >> First_readable_addr = 8k * 8 on sparc >> could be but isn't 8k on alpha/ia64 >> >> now: >> 4k on all targets >> could be but isn't 8k on ia64/alpha/sparc >> >> Test case is p263. >> >> Still maybe want to eliminate it, but at least >> all targets are now the same here. >> >> >> _______________________________________________ >> M3commit mailing list >> M3commit at elegosoft.com >> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3commit From rodney.m.bates at acm.org Thu Aug 27 19:04:15 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Thu, 27 Aug 2015 10:04:15 -0700 Subject: [M3commit] [modula3/cm3] 79a4ce: Add a bunch of command-line parameters and options... Message-ID: <55df430fadca4_13063fca690cf29c451ed@hookshot-fe4-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 79a4ce1113ceeed3d1f81b680c04daf14b6b1349 https://github.com/modula3/cm3/commit/79a4ce1113ceeed3d1f81b680c04daf14b6b1349 Author: Rodney Bates Date: 2015-08-27 (Thu, 27 Aug 2015) Changed paths: M m3-sys/llvm/src/M3CG_LLVM.i3 M m3-sys/llvm/src/M3CG_LLVM.m3 M m3-sys/llvm/src/Main.m3 M m3-sys/llvm/src/readme Log Message: ----------- Add a bunch of command-line parameters and options to m3llvm. Here is the help text for command-line options: m3llvm: standalone converter from cm3 IR to llvm IR, version 0.1 Usage:m3llvm {-{option}} If is absent, read from standard input. Options are: -a Treat input file as ascii cm3 IR. -b Treat input file as binary cm3 IR (the default). -d Enable debug output. -h Display help text and terminate. -v Display program version and terminate. -o or -o Write llvm bitcode to -O or -O Write llvm assembly code to Either or both bitcode and assembly output may be specified. If neither is specified, write llvm assembly to 'm3test.ll' Changes to be committed: (all in m3-sys/llvm/src) modified: M3CG_LLVM.i3 modified: M3CG_LLVM.m3 modified: Main.m3 modified: readme Commit: 0f6c86ef2c53e10dfa94b570a474305cf5fad0d2 https://github.com/modula3/cm3/commit/0f6c86ef2c53e10dfa94b570a474305cf5fad0d2 Author: Rodney Bates Date: 2015-08-27 (Thu, 27 Aug 2015) Changed paths: M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 M m3-sys/m3tests/src/p2/p263/F0.i3 M m3-sys/m3tests/src/p2/p263/F0.m3 M m3-sys/m3tests/src/p2/p263/F1.i3 M m3-sys/m3tests/src/p2/p263/F1.m3 A m3-sys/m3tests/src/p2/p263/F2.i3 A m3-sys/m3tests/src/p2/p263/F2.m3 A m3-sys/m3tests/src/p2/p263/F4094.i3 A m3-sys/m3tests/src/p2/p263/F4094.m3 M m3-sys/m3tests/src/p2/p263/F4095.i3 M m3-sys/m3tests/src/p2/p263/F4095.m3 R m3-sys/m3tests/src/p2/p263/F4095x8.i3 R m3-sys/m3tests/src/p2/p263/F4095x8.m3 M m3-sys/m3tests/src/p2/p263/F4096.i3 M m3-sys/m3tests/src/p2/p263/F4096.m3 M m3-sys/m3tests/src/p2/p263/F4096x8.i3 M m3-sys/m3tests/src/p2/p263/F4096x8.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8m2.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p1.m3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.i3 A m3-sys/m3tests/src/p2/p263/F4096x8p2.m3 A m3-sys/m3tests/src/p2/p263/F4097.i3 A m3-sys/m3tests/src/p2/p263/F4097.m3 M m3-sys/m3tests/src/p2/p263/Main.m3 M m3-sys/m3tests/src/p2/p263/m3makefile Log Message: ----------- Merge branch 'master' of https://github.com/modula3/cm3 Compare: https://github.com/modula3/cm3/compare/a12819d21443...0f6c86ef2c53 From rodney.m.bates at acm.org Fri Aug 28 19:04:49 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Fri, 28 Aug 2015 10:04:49 -0700 Subject: [M3commit] [modula3/cm3] d2bd85: More graceful and consistent handling of failures ... Message-ID: <55e094b16d04a_1a713fd50ea7f29c21765f6@hookshot-fe5-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d2bd85d34a9514bd758ba16a31a4dc90371bda29 https://github.com/modula3/cm3/commit/d2bd85d34a9514bd758ba16a31a4dc90371bda29 Author: Rodney Bates Date: 2015-08-28 (Fri, 28 Aug 2015) Changed paths: M m3-sys/cm3/src/Builder.m3 Log Message: ----------- More graceful and consistent handling of failures and their leftover files. Consistently do: If a compilation phase fails, remove its output file, but only if -keep was not specified. If a compilation phase fails, don't run later phases. Also, delete some redundant file remove actions in PushOneM3 that are already done in the Run* procedure. Some duplicate remove cases remain when a failing phase is not the final phase, thus its output file is also a temp file. It is easier to leave this alone, as the Run* procedures are also called from other places besides PushOneM3, if a compilation starts with other than Modula-3 code. And a small off-by-one bugfix in an assertion. Changes to be committed: modified: Builder.m3 Commit: f29ee554a48e05c85ff778a4fa4dfd1e15e97d4c https://github.com/modula3/cm3/commit/f29ee554a48e05c85ff778a4fa4dfd1e15e97d4c Author: Rodney Bates Date: 2015-08-28 (Fri, 28 Aug 2015) Changed paths: M m3-sys/cminstall/src/config-no-install/Unix.common Log Message: ----------- Adapt to invoke m3llvm with its new command-line options. Changes to be committed: modified: Unix.common Compare: https://github.com/modula3/cm3/compare/0f6c86ef2c53...f29ee554a48e From rodney.m.bates at acm.org Mon Aug 31 16:59:43 2015 From: rodney.m.bates at acm.org (Rodney Bates) Date: Mon, 31 Aug 2015 07:59:43 -0700 Subject: [M3commit] [modula3/cm3] b068a3: Initial create of package llvm3.6.1 Message-ID: <55e46bdfae850_3b753faf3a0f72a09147a@hookshot-fe3-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b068a306fe87411f734d87f7c78a95e71c8a85a7 https://github.com/modula3/cm3/commit/b068a306fe87411f734d87f7c78a95e71c8a85a7 Author: Rodney Bates Date: 2015-08-31 (Mon, 31 Aug 2015) Changed paths: A m3-sys/llvm3.6.1/src/LLVM.i3 A m3-sys/llvm3.6.1/src/M3CG_LLVM.i3 A m3-sys/llvm3.6.1/src/M3CG_LLVM.m3 A m3-sys/llvm3.6.1/src/Main.m3 A m3-sys/llvm3.6.1/src/m3makefile Log Message: ----------- Initial create of package llvm3.6.1 Package llvm3.6.1 contains a version of the m3llvm, modified to use the bindings to llvm 3.6.1, found in package llvmbindings. Currently compiles but seqfaults in C++ code, probably due to a type problem in the new bindings. Changes to be committed: new file: src/LLVM.i3 new file: src/M3CG_LLVM.i3 new file: src/M3CG_LLVM.m3 new file: src/Main.m3 new file: src/m3makefile