From noreply at github.com Tue May 4 09:04:06 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 00:04:06 -0700 Subject: [M3commit] [modula3/cm3] 9f4b60: m3-sys/cg/front/back/middle: Add QID to declare_pa... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9f4b60f5e425782546645c0daf64a6c84961cfb3 https://github.com/modula3/cm3/commit/9f4b60f5e425782546645c0daf64a6c84961cfb3 Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/types/NamedType.i3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3middle/src/M3CG.i3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys/cg/front/back/middle: Add QID to declare_param. This is so that m3c can generate much higher fidelity declarations of extern functions. This is some initial plumbing. More work is needed to pass and consume the values. A usefully-working prototype exists. declare_formal ought to be handled too, but it is unlikely to matter for the scenario in mind. From noreply at github.com Tue May 4 09:24:04 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 00:24:04 -0700 Subject: [M3commit] [modula3/cm3] 039b21: m3c: Add debugprint of qid. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 039b21ec0717d42cc5f414500d7a35b87ac03e49 https://github.com/modula3/cm3/commit/039b21ec0717d42cc5f414500d7a35b87ac03e49 Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Add debugprint of qid. From noreply at github.com Tue May 4 09:50:51 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 00:50:51 -0700 Subject: [M3commit] [modula3/cm3] d3b429: m3front: Rely more on type initializers than explicit Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d3b4291c8a3bfc616bce37d03ebc09507f51243f https://github.com/modula3/cm3/commit/d3b4291c8a3bfc616bce37d03ebc09507f51243f Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 Log Message: ----------- m3front: Rely more on type initializers than explicit initializer at each creation. Just cosmetically terser and hopefully no less clear. No semantic change. From noreply at github.com Tue May 4 10:06:48 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 01:06:48 -0700 Subject: [M3commit] [modula3/cm3] 7299c0: m3c: Fix unused warning. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 7299c05f08a064a323c224da6c2098a51fcd3940 https://github.com/modula3/cm3/commit/7299c05f08a064a323c224da6c2098a51fcd3940 Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Fix unused warning. From noreply at github.com Tue May 4 10:07:52 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 01:07:52 -0700 Subject: [M3commit] [modula3/cm3] 84b19e: tests: For qid/typename. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 84b19ee77ecd69211dafadade53a3fba8f49b617 https://github.com/modula3/cm3/commit/84b19ee77ecd69211dafadade53a3fba8f49b617 Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: A m3-sys/m3tests/src/c1/c144/Main.m3 A m3-sys/m3tests/src/c1/c144/m3makefile M m3-sys/m3tests/src/m3makefile Log Message: ----------- tests: For qid/typename. From noreply at github.com Tue May 4 10:54:57 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 01:54:57 -0700 Subject: [M3commit] [modula3/cm3] 37cccc: m3front: Move NamedType.qid to Type.Info. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 37cccce0f8cf75e5aaccbe57d12e51373743e375 https://github.com/modula3/cm3/commit/37cccce0f8cf75e5aaccbe57d12e51373743e375 Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/Type.i3 Log Message: ----------- m3front: Move NamedType.qid to Type.Info. This does bloat non-named types by two integers but this is likely the most elegant solution. From noreply at github.com Tue May 4 11:43:04 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 02:43:04 -0700 Subject: [M3commit] [modula3/cm3] Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 From noreply at github.com Tue May 4 11:53:12 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 02:53:12 -0700 Subject: [M3commit] [modula3/cm3] ea200e: m3front:Include typenames for imported types. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ea200ee5558a3cd63bef8705c0c2839833de8813 https://github.com/modula3/cm3/commit/ea200ee5558a3cd63bef8705c0c2839833de8813 Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3front/src/values/Tipe.m3 Log Message: ----------- m3front:Include typenames for imported types. From noreply at github.com Tue May 4 12:00:45 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 03:00:45 -0700 Subject: [M3commit] [modula3/cm3] 04a089: m3front: Start passing on qid to declare_param. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 04a0895b13f6fb69f810ea97f675dd3e6a11a8bf https://github.com/modula3/cm3/commit/04a0895b13f6fb69f810ea97f675dd3e6a11a8bf Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Start passing on qid to declare_param. From noreply at github.com Tue May 4 12:19:02 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 03:19:02 -0700 Subject: [M3commit] [modula3/cm3] c847fc: m3c/m3front: Change typenames from: Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: c847fcd6e22f7b8b674d107350b62ea3fa09b78a https://github.com/modula3/cm3/commit/c847fcd6e22f7b8b674d107350b62ea3fa09b78a Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3front/src/values/Tipe.m3 Log Message: ----------- m3c/m3front: Change typenames from: e.g. m3front passes:const_void_star, m3c produces:m3core_Uuio_const_void_star to m3front passes:Ctypes__const_void_star and m3c leaves it alone. Since types have no linkage, there is danger of collision. We'll see. From noreply at github.com Wed May 5 02:41:28 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 17:41:28 -0700 Subject: [M3commit] [modula3/cm3] 10d9e3: m3c: Fix regression for typenames with non-identif... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 10d9e35dd67b056062a8f2e39a8cf695c986ce49 https://github.com/modula3/cm3/commit/10d9e35dd67b056062a8f2e39a8cf695c986ce49 Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Fix regression for typenames with non-identifier chars like dot. From noreply at github.com Wed May 5 03:04:18 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 18:04:18 -0700 Subject: [M3commit] [modula3/cm3] 291f8a: m3-sys: Add import_procedure(return_type_qid). Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 291f8a613632d53c40d3a36ba4793c2f1344b8ec https://github.com/modula3/cm3/commit/291f8a613632d53c40d3a36ba4793c2f1344b8ec Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add import_procedure(return_type_qid). This is so things like INTERFACE Uuio; <*external*>PROCEDURE read(...):int can return "int" or "Ctypes__int", and not a type with a hash, so that m3core.h and C backend output can match, and be concatenated, and then bootstrap is from one large .c file. This is plumbing toward that goal. From noreply at github.com Wed May 5 06:35:43 2021 From: noreply at github.com (Jay Krell) Date: Tue, 04 May 2021 21:35:43 -0700 Subject: [M3commit] [modula3/cm3] e104f2: m3c: Add debugprint of import_procedure(return_typ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: e104f2e36418ab4ea2358a23f4e549e863eb16fa https://github.com/modula3/cm3/commit/e104f2e36418ab4ea2358a23f4e549e863eb16fa Author: JayKrell Date: 2021-05-04 (Tue, 04 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Add debugprint of import_procedure(return_type_qid). From noreply at github.com Wed May 5 23:49:49 2021 From: noreply at github.com (Jay Krell) Date: Wed, 05 May 2021 14:49:49 -0700 Subject: [M3commit] [modula3/cm3] 25eefe: m3front: Pass on result_qid to import_procedure. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 25eefe04c36575d9d0cd2c3301040a7e4b466ec9 https://github.com/modula3/cm3/commit/25eefe04c36575d9d0cd2c3301040a7e4b466ec9 Author: JayKrell Date: 2021-05-05 (Wed, 05 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.i3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- m3front: Pass on result_qid to import_procedure. m3c: Pass on result_qid. This is a bit of a temporary failure. The names are coming through with a single item, "int" instead of "Ctypes__int". We will maybe want to call GlobalName in m3front like we do for declare_typename and pass on a TEXT. (usually nil). Alternatively, we can change the few we care about on the .i3 side and have m3c only pay attention to ones with module # 0. As well we can mechanize "what we care about" as extern-only. There are likely more options, such as a narrow form of GlobalName, that returns the module M3ID. Or providing more typedefs like Uuio__int, etc. From noreply at github.com Thu May 6 00:13:05 2021 From: noreply at github.com (Jay Krell) Date: Wed, 05 May 2021 15:13:05 -0700 Subject: [M3commit] [modula3/cm3] 97303a: m3front: Default parameters to Value.GlobalName, t... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 97303abf47ba5e8b1738c691eedce73f0acb1470 https://github.com/modula3/cm3/commit/97303abf47ba5e8b1738c691eedce73f0acb1470 Author: JayKrell Date: 2021-05-05 (Wed, 05 May 2021) Changed paths: M m3-sys/m3front/src/exprs/CallExpr.m3 M m3-sys/m3front/src/exprs/MethodExpr.m3 M m3-sys/m3front/src/misc/ESet.m3 M m3-sys/m3front/src/types/OpaqueType.m3 M m3-sys/m3front/src/values/Constant.m3 M m3-sys/m3front/src/values/Exceptionz.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3front/src/values/Revelation.m3 M m3-sys/m3front/src/values/Tipe.m3 M m3-sys/m3front/src/values/Value.i3 M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Default parameters to Value.GlobalName, they are usually both true. From noreply at github.com Thu May 6 09:23:08 2021 From: noreply at github.com (VictorMiasnikov) Date: Thu, 06 May 2021 00:23:08 -0700 Subject: [M3commit] [modula3/cm3] 019c52: LLVM9 Add GCharTriple and GCharTriple for AMD64_NT Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 019c52a2a1b6b7e46e93ae9aa6c6614be38def29 https://github.com/modula3/cm3/commit/019c52a2a1b6b7e46e93ae9aa6c6614be38def29 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9/src/Main.m3 Log Message: ----------- LLVM9 Add GCharTriple and GCharTriple for AMD64_NT Add settings correlated with: target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-windows-msvc" Commit: 16c5c98bbafd849525b85685a032bd0e66f1b57b https://github.com/modula3/cm3/commit/16c5c98bbafd849525b85685a032bd0e66f1b57b Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- Add AMD64_NT to LLVM_LIB_DIR Added case "AMD_NT" to PickDir list of possible LLVM_LIB_DIR(s) Commit: b997e3d5b29e6f091b19fd63f7e2e9860e871ef5 https://github.com/modula3/cm3/commit/b997e3d5b29e6f091b19fd63f7e2e9860e871ef5 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- LLVM9 and AMD64_NT. Edit comment related using nmake nmake have used in both case, for 64-bit Windows and for 32-bit Windows Commit: 679e99ad2ce4061d560d71c2474c78afef653cb0 https://github.com/modula3/cm3/commit/679e99ad2ce4061d560d71c2474c78afef653cb0 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- LLVM9 and AMD64_NT. Linking with psapi.lib, gdi32.lib, shell32.lib, ole32.lib, oleaut32.lib, uuid.lib, msvcprt.lib, libvcruntime.lib, libcmt.lib, oldnames.lib We should be shue that kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib will be linked to our llvmbindings.lib / .dll Commit: 10efa390bb4dad46db23d7422cc121798a0247dc https://github.com/modula3/cm3/commit/10efa390bb4dad46db23d7422cc121798a0247dc Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- Add AMD64_NT to LLVM_SOURCE_DIR Added case "AMD64_NT" to PickDir list of possible LLVM_SOURCE_DIR(s) Commit: 92138fa1742d67930ebf072795067aa69ccfbca7 https://github.com/modula3/cm3/commit/92138fa1742d67930ebf072795067aa69ccfbca7 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- Add AMD64_NT to LLVM_BUILD_INCLUDE_DIR Added case "AMD64_NT" to PickDir list of possible LLVM_BUILD_INCLUDE_DIR(s) Commit: d7408e1c93b59e5864af21e34913aab80ef65219 https://github.com/modula3/cm3/commit/d7408e1c93b59e5864af21e34913aab80ef65219 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9/src/Main.m3 Log Message: ----------- Comments. "windows x64 a-ka windows x86_64" replaced to "windows amd64" "windows x64" known as "windows x86_64" or as "windows amd64". We choice last variant. Commit: d0b1ef54d472959c24470e8badcbb3173b7c2b47 https://github.com/modula3/cm3/commit/d0b1ef54d472959c24470e8badcbb3173b7c2b47 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- Comments. Mainly, replace "windows x64" to "windows amd64" 1) "windows x64" replaced to "windows amd64". "windows x64" known as "windows x86_64" or as "windows amd64". We choice last variant. 2) Fixed some orthography style issues. Commit: 41b2cb3fb6f316b8c62d40769e35ce789db5b626 https://github.com/modula3/cm3/commit/41b2cb3fb6f316b8c62d40769e35ce789db5b626 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- Comments. Remove OS naming in "else" statments. It is just for Windows. There is not need to say "Windows" and no need to list all architectures. Compare: https://github.com/modula3/cm3/compare/97303abf47ba...41b2cb3fb6f3 From noreply at github.com Thu May 6 09:25:52 2021 From: noreply at github.com (VictorMiasnikov) Date: Thu, 06 May 2021 00:25:52 -0700 Subject: [M3commit] [modula3/cm3] 18531f: Add "Windows 10" to cm3CommandShell.CMD Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 18531f1f076258d4bb050f4b2c8a09a723790924 https://github.com/modula3/cm3/commit/18531f1f076258d4bb050f4b2c8a09a723790924 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M scripts/install/windows/cm3CommandShell.CMD Log Message: ----------- Add "Windows 10" to cm3CommandShell.CMD Commit: 7293fc216f7261aa8834d3f6dd2144b583522fe9 https://github.com/modula3/cm3/commit/7293fc216f7261aa8834d3f6dd2144b583522fe9 Author: VictorMiasnikov Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M scripts/dev/windows/do-cm3.cmd Log Message: ----------- Add "Windows 10" to do-cm3.cmd Compare: https://github.com/modula3/cm3/compare/41b2cb3fb6f3...7293fc216f72 From noreply at github.com Thu May 6 09:34:26 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 00:34:26 -0700 Subject: [M3commit] [modula3/cm3] Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 From noreply at github.com Thu May 6 09:37:41 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 00:37:41 -0700 Subject: [M3commit] [modula3/cm3] 1c8e79: Revert "Add "Windows 10" to do-cm3.cmd" Message-ID: Branch: refs/heads/revert-398-RCC_upgradeCM3_Win10_Fix Home: https://github.com/modula3/cm3 Commit: 1c8e792da05ccabfafadc0e2fe70356b7382174e https://github.com/modula3/cm3/commit/1c8e792da05ccabfafadc0e2fe70356b7382174e Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: Log Message: ----------- Revert "Add "Windows 10" to do-cm3.cmd" This reverts commit 7293fc216f7261aa8834d3f6dd2144b583522fe9. Commit: 40b256ae09f9aef7abf1210ee63f7dfe5d9d325e https://github.com/modula3/cm3/commit/40b256ae09f9aef7abf1210ee63f7dfe5d9d325e Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: Log Message: ----------- Revert "Add "Windows 10" to cm3CommandShell.CMD" This reverts commit 18531f1f076258d4bb050f4b2c8a09a723790924. Compare: https://github.com/modula3/cm3/compare/1c8e792da05c%5E...40b256ae09f9 From noreply at github.com Thu May 6 09:46:31 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 00:46:31 -0700 Subject: [M3commit] [modula3/cm3] 0b7576: LLVM and Windows amd64 related improvements. (#415) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 0b7576b613e09ecf982862c0a4c28e66115025b1 https://github.com/modula3/cm3/commit/0b7576b613e09ecf982862c0a4c28e66115025b1 Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/llvm/llvm9/src/Main.m3 M m3-sys/llvm/llvm9bindings/src/m3makefile Log Message: ----------- LLVM and Windows amd64 related improvements. (#415) * LLVM9 Add GCharTriple and GCharTriple for AMD64_NT Add settings correlated with: target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-windows-msvc" * Add AMD64_NT to LLVM_LIB_DIR Added case "AMD_NT" to PickDir list of possible LLVM_LIB_DIR(s) * LLVM9 and AMD64_NT. Edit comment related using nmake nmake have used in both case, for 64-bit Windows and for 32-bit Windows * LLVM9 and AMD64_NT. Linking with psapi.lib, gdi32.lib, shell32.lib, ole32.lib, oleaut32.lib, uuid.lib, msvcprt.lib, libvcruntime.lib, libcmt.lib, oldnames.lib We should be shue that kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib will be linked to our llvmbindings.lib / .dll * Add AMD64_NT to LLVM_SOURCE_DIR Added case "AMD64_NT" to PickDir list of possible LLVM_SOURCE_DIR(s) * Add AMD64_NT to LLVM_BUILD_INCLUDE_DIR Added case "AMD64_NT" to PickDir list of possible LLVM_BUILD_INCLUDE_DIR(s) * Comments. "windows x64 a-ka windows x86_64" replaced to "windows amd64" "windows x64" known as "windows x86_64" or as "windows amd64". We choice last variant. * Comments. Mainly, replace "windows x64" to "windows amd64" 1) "windows x64" replaced to "windows amd64". "windows x64" known as "windows x86_64" or as "windows amd64". We choice last variant. 2) Fixed some orthography style issues. * Comments. Remove OS naming in "else" statments. It is just for Windows. There is not need to say "Windows" and no need to list all architectures. Co-authored-by: VictorMiasnikov From noreply at github.com Thu May 6 09:50:59 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 00:50:59 -0700 Subject: [M3commit] [modula3/cm3] 25f19b: scripts: Update some .cmd files for Windows 10. (#... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 25f19b04de7ff17a6c172cda6acf30dc2ff1daa8 https://github.com/modula3/cm3/commit/25f19b04de7ff17a6c172cda6acf30dc2ff1daa8 Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M scripts/dev/windows/do-cm3.cmd M scripts/install/windows/cm3CommandShell.CMD Log Message: ----------- scripts: Update some .cmd files for Windows 10. (#416) * Add "Windows 10" to cm3CommandShell.CMD * Add "Windows 10" to do-cm3.cmd Co-authored-by: VictorMiasnikov From noreply at github.com Thu May 6 21:17:51 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 12:17:51 -0700 Subject: [M3commit] [modula3/cm3] d28c1c: m3c: Flush upon error. (#417) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d28c1c12f1bcbf7bdef300dbf4805c02e64a48b6 https://github.com/modula3/cm3/commit/d28c1c12f1bcbf7bdef300dbf4805c02e64a48b6 Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Flush upon error. (#417) From noreply at github.com Thu May 6 21:20:53 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 12:20:53 -0700 Subject: [M3commit] [modula3/cm3] d777e8: m3front: Remove unused import. (#418) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d777e80ed89023f6c3c35793c35c6ee816597b32 https://github.com/modula3/cm3/commit/d777e80ed89023f6c3c35793c35c6ee816597b32 Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.i3 Log Message: ----------- m3front: Remove unused import. (#418) From noreply at github.com Thu May 6 21:50:17 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 12:50:17 -0700 Subject: [M3commit] [modula3/cm3] 41f5de: m3front: Cleanup LookUpQID. (#419) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 41f5de6fd15d5165f0ace7d34ce03ce661ea4eb0 https://github.com/modula3/cm3/commit/41f5de6fd15d5165f0ace7d34ce03ce661ea4eb0 Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/m3front/src/misc/Scope.m3 Log Message: ----------- m3front: Cleanup LookUpQID. (#419) From noreply at github.com Thu May 6 22:20:51 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 13:20:51 -0700 Subject: [M3commit] [modula3/cm3] 0da3bb: m3front: Pass fully qualified ids to backend. (#420) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 0da3bbac21f0b35f461899f56afc55e6bfe3ebd2 https://github.com/modula3/cm3/commit/0da3bbac21f0b35f461899f56afc55e6bfe3ebd2 Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/m3front/src/misc/Scope.i3 M m3-sys/m3front/src/misc/Scope.m3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- m3front: Pass fully qualified ids to backend. (#420) NamedTypes occur like either: INTERACE A; FROM B IMPORT C; PROCEDURE D():C; or INTERACE A; IMPORT B; PROCEDURE D():B.C; In the first case, merely C was being passed. Now B.C is. This will help with concatenating all m3c output and hand written .h/.c. Matching function declarations, without type hashes, will be trivial, using like: m3core.h: ifndef Ctypes__int define Ctypes__int Ctypes__int typedef int Ctypes__int endif Ctypes__int UnixFoo__Bar(void); cat m3core.h *.c cm3.c cc cm3.c This change is a little invasive, in its changing READONLY to VAR, but I think it is ok. It can be dialed back somewhat if there is a problem, or other approaches considered. Really I think it makes sense to canonicalize/lower and not just pass through equivalent varying forms. From noreply at github.com Thu May 6 22:35:06 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 13:35:06 -0700 Subject: [M3commit] [modula3/cm3] fd68a3: m3front: Pass fully qualified ids to backend. (#420) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: fd68a3cd6e3cdb3ab754cb117300588ec8b957d7 https://github.com/modula3/cm3/commit/fd68a3cd6e3cdb3ab754cb117300588ec8b957d7 Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/m3front/src/misc/Scope.i3 M m3-sys/m3front/src/misc/Scope.m3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- m3front: Pass fully qualified ids to backend. (#420) NamedTypes occur like either: INTERFACE A; FROM B IMPORT C; PROCEDURE D():C; or INTERFACE A; IMPORT B; PROCEDURE D():B.C; In the first case, merely C was being passed. Now B.C is. This will help with concatenating all m3c output and hand written .h/.c. Matching function declarations, without type hashes, will be trivial, using like: m3core.h: ifndef Ctypes__int define Ctypes__int Ctypes__int typedef int Ctypes__int endif Ctypes__int UnixFoo__Bar(void); cat m3core.h *.c cm3.c cc cm3.c This change is a little invasive, in its changing READONLY to VAR, but I think it is ok. It can be dialed back somewhat if there is a problem, or other approaches considered. Really I think it makes sense to canonicalize/lower and not just pass through equivalent varying forms. From noreply at github.com Thu May 6 23:44:19 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 14:44:19 -0700 Subject: [M3commit] [modula3/cm3] 55b3cf: m3front: Remove manual inlining in NamedType.m3. (... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 55b3cf733130c79558c4de772e099d711a13acee https://github.com/modula3/cm3/commit/55b3cf733130c79558c4de772e099d711a13acee Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 Log Message: ----------- m3front: Remove manual inlining in NamedType.m3. (#421) From noreply at github.com Fri May 7 07:13:07 2021 From: noreply at github.com (Jay Krell) Date: Thu, 06 May 2021 22:13:07 -0700 Subject: [M3commit] [modula3/cm3] 4b3ba7: m3core: Mostly cleanup Cstdio a little. (#422) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4b3ba7d1dcd68694434ba90d0ad9db2130f0199b https://github.com/modula3/cm3/commit/4b3ba7d1dcd68694434ba90d0ad9db2130f0199b Author: Jay Krell Date: 2021-05-06 (Thu, 06 May 2021) Changed paths: M m3-libs/m3core/src/C/Common/Cstdio.i3 M m3-libs/m3core/src/C/Common/CstdioC.c M m3-libs/m3core/src/C/Common/m3makefile M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: Mostly cleanup Cstdio a little. (#422) - Use wrapper macros even for returning void. - m3core.h: Add the higher level wrapper macros for returning void. (with the token pasting hazard). We should consider using m3quake + cm3 builtins to write this stuff out to avoid that hazard thoroughly. What we have instead is selective based on empirical findings (i.e. systems with macros like __malloc). Or remove all the pasting. - Add comments that Cstdio is unused, untested, but keep it "working". - Change unsigned to int. - A few comments here and there. e.g. todo change m3_socklen_t to int. From noreply at github.com Fri May 7 20:25:46 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 11:25:46 -0700 Subject: [M3commit] [modula3/cm3] 9b69d5: m3core: Fix Unix__fcntl signature: arg is always i... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9b69d502df73cacad297056d0c0b797ad9ff5533 https://github.com/modula3/cm3/commit/9b69d502df73cacad297056d0c0b797ad9ff5533 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h M m3-libs/m3core/src/unix/Common/UnixC.c Log Message: ----------- m3core: Fix Unix__fcntl signature: arg is always integer in cm3 codebase. (#423) From noreply at github.com Sat May 8 05:03:52 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 20:03:52 -0700 Subject: [M3commit] [modula3/cm3] 575063: m3front: Provide a qid to backend for non-named ty... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 575063b607bed4629111dcd4b3e2254b512796cd https://github.com/modula3/cm3/commit/575063b607bed4629111dcd4b3e2254b512796cd Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/Type.i3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Provide a qid to backend for non-named types. (#424) That is, tell backend "INTEGER" and not just int32/int64. Original attempt was to wrap all types in NamedType. That still seems reasonable. But it did not immediately work, I did not debug, and the approach here is to add M3ID name to every Type.info. This is wasteful but probably ok. Wrapping in NamedType is quite disruptive perhaps.. or should work. This way we can declare C code as taking/returning INTEGER and have it match m3c output (once m3c processes this data more). Perhaps at this point we should just change qid=m3idpair to typename=m3id, really. That is, remove the module: M3ID and have NamedType do a concat and M3ID.Add. However that has cost, and with most backends, no benefit. From noreply at github.com Sat May 8 05:18:12 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 20:18:12 -0700 Subject: [M3commit] [modula3/cm3] 9840a9: m3front: Cleanup initialization. (#425) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9840a9c06d73cf044f449a3c2df868b83abbdf13 https://github.com/modula3/cm3/commit/9840a9c06d73cf044f449a3c2df868b83abbdf13 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-sys/m3front/src/exprs/NamedExpr.m3 Log Message: ----------- m3front: Cleanup initialization. (#425) - Move zero/false/nil to type initializer. - Initialize fields in NEW(). From noreply at github.com Sat May 8 05:26:24 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 20:26:24 -0700 Subject: [M3commit] [modula3/cm3] d9b28f: Partially revert: (#426) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d9b28f378c43d44f9358a896c9f5c11b46adc1eb https://github.com/modula3/cm3/commit/d9b28f378c43d44f9358a896c9f5c11b46adc1eb Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-sys/m3front/src/misc/Scope.m3 Log Message: ----------- Partially revert: (#426) commit 41f5de6fd15d5165f0ace7d34ce03ce661ea4eb0 Author: Jay Krell Date: Thu May 6 12:49:57 2021 -0700 m3front: Cleanup LookUpQID. (#419) Because I do not really know if it implies a required null check before deference. From noreply at github.com Sat May 8 05:29:23 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 20:29:23 -0700 Subject: [M3commit] [modula3/cm3] 7e653a: m3core: Add const_int and const_UINT32 types. (#427) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 7e653aa7ecbc7c94cd003c9237ad26e8a75b5a44 https://github.com/modula3/cm3/commit/7e653aa7ecbc7c94cd003c9237ad26e8a75b5a44 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/C/Common/Ctypes.i3 M m3-libs/m3core/src/win32/WinBaseTypes.i3 Log Message: ----------- m3core: Add const_int and const_UINT32 types. (#427) This is a non-Modula3-type-system textual trick that should be useful shortly, as part of m3c+*.c concat. From noreply at github.com Sat May 8 05:36:38 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 20:36:38 -0700 Subject: [M3commit] [modula3/cm3] da9d7d: m3core: Use const_int and const_UINT32. (#428) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: da9d7db9c06f7dbfd31beba56e89706fd4aae752 https://github.com/modula3/cm3/commit/da9d7db9c06f7dbfd31beba56e89706fd4aae752 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.i3 M m3-libs/m3core/src/thread/WIN32/ThreadWin32.i3 M m3-libs/m3core/src/unix/Common/Unetdb.i3 M m3-libs/m3core/src/unix/Common/Unix.i3 M m3-libs/m3core/src/unix/Common/Ustat.i3 M m3-libs/m3core/src/unix/Common/Utermio.i3 Log Message: ----------- m3core: Use const_int and const_UINT32. (#428) This replaces constants. This is not enforced at Modula-3 compiler level. It is already enforced at runtime. And soon this will be more helpful, to let m3c output +*.c combine. (i.e. this is splitting up larger changes) From noreply at github.com Sat May 8 05:45:35 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 20:45:35 -0700 Subject: [M3commit] [modula3/cm3] Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 From noreply at github.com Sat May 8 05:55:05 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 20:55:05 -0700 Subject: [M3commit] [modula3/cm3] 344c2a: m3core: Use const_int and const_UINT32. (#429) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 344c2a34713fec5cb95c5aec78c1783c05122890 https://github.com/modula3/cm3/commit/344c2a34713fec5cb95c5aec78c1783c05122890 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/thread/PTHREAD/ThreadPThread.i3 M m3-libs/m3core/src/thread/WIN32/ThreadWin32.i3 M m3-libs/m3core/src/unix/Common/Unetdb.i3 M m3-libs/m3core/src/unix/Common/Unix.i3 M m3-libs/m3core/src/unix/Common/Ustat.i3 M m3-libs/m3core/src/unix/Common/Utermio.i3 Log Message: ----------- m3core: Use const_int and const_UINT32. (#429) This will be useful for m3c+*.c concat. From noreply at github.com Sat May 8 06:00:26 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 21:00:26 -0700 Subject: [M3commit] [modula3/cm3] 078e5f: m3core/Ustat.i3: const char_star to const_char_sta... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 078e5f2385e7df60fe2e1e47d7494b24248aad00 https://github.com/modula3/cm3/commit/078e5f2385e7df60fe2e1e47d7494b24248aad00 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Ustat.i3 Log Message: ----------- m3core/Ustat.i3: const char_star to const_char_star. (#430) At the Modula-3 level these are equivalent, but this will help with m3c + *.c concat. From noreply at github.com Sat May 8 06:01:12 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 21:01:12 -0700 Subject: [M3commit] [modula3/cm3] 4a2236: m3core/Ustat.i3: char_star to const_char_star. (#430) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4a22368414491e6be037361512349078856b4eb3 https://github.com/modula3/cm3/commit/4a22368414491e6be037361512349078856b4eb3 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Ustat.i3 Log Message: ----------- m3core/Ustat.i3: char_star to const_char_star. (#430) At the Modula-3 level these are equivalent, but this will help with m3c + *.c concat. From noreply at github.com Sat May 8 06:03:05 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 21:03:05 -0700 Subject: [M3commit] [modula3/cm3] 6484db: m3core: Remove leading underscores from structs. (... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6484dbe477df9c2fb757f43d9d42d4cfd2b6e65a https://github.com/modula3/cm3/commit/6484dbe477df9c2fb757f43d9d42d4cfd2b6e65a Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h M m3-libs/m3core/src/unix/Common/Ugrp.c M m3-libs/m3core/src/unix/Common/Unetdb.c M m3-libs/m3core/src/unix/Common/UstatC.c Log Message: ----------- m3core: Remove leading underscores from structs. (#431) From noreply at github.com Sat May 8 06:12:43 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 21:12:43 -0700 Subject: [M3commit] [modula3/cm3] ff0344: m3core: Fix BSD chflags to take unsigned_long inst... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ff0344b662689887b5dbf54f68b9848134a1536a https://github.com/modula3/cm3/commit/ff0344b662689887b5dbf54f68b9848134a1536a Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Ustat.i3 Log Message: ----------- m3core: Fix BSD chflags to take unsigned_long instead of INTEGER. (#432) From noreply at github.com Sat May 8 08:20:53 2021 From: noreply at github.com (Jay Krell) Date: Fri, 07 May 2021 23:20:53 -0700 Subject: [M3commit] [modula3/cm3] 4757f1: m3front: Missed part of naming types: (#433) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4757f14f5740f7781456e14f97f66b7210374045 https://github.com/modula3/cm3/commit/4757f14f5740f7781456e14f97f66b7210374045 Author: Jay Krell Date: 2021-05-07 (Fri, 07 May 2021) Changed paths: M m3-sys/m3front/src/values/Tipe.m3 Log Message: ----------- m3front: Missed part of naming types: (#433) commit 575063b607bed4629111dcd4b3e2254b512796cd Author: Jay Krell Date: Fri May 7 20:03:35 2021 -0700 m3front: Provide a qid to backend for non-named types. (#424) That is, tell backend "INTEGER" and not just int32/int64. When I tested that, I probably had a mix of attempts and it worked, but then I undid parts. The commented out line here seems correct but caused problems. From noreply at github.com Sun May 9 17:51:28 2021 From: noreply at github.com (Jay Krell) Date: Sun, 09 May 2021 08:51:28 -0700 Subject: [M3commit] [modula3/cm3] ca86e0: m3c: TextOrNil use regular if instead of ternary s... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ca86e01a34b7e28d1d9f4ce1ef7fbddc25555800 https://github.com/modula3/cm3/commit/ca86e01a34b7e28d1d9f4ce1ef7fbddc25555800 Author: Jay Krell Date: 2021-05-09 (Sun, 09 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: TextOrNil use regular if instead of ternary simulation. (#434) It sure looks correct and sure seemed to not work. But this is clearer. From noreply at github.com Sun May 9 17:56:05 2021 From: noreply at github.com (Jay Krell) Date: Sun, 09 May 2021 08:56:05 -0700 Subject: [M3commit] [modula3/cm3] a972e5: m3front: NamedType: Restore type.info.name after C... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a972e54f7b843a59d01f4380fdbcc6bf5e1e9888 https://github.com/modula3/cm3/commit/a972e54f7b843a59d01f4380fdbcc6bf5e1e9888 Author: Jay Krell Date: 2021-05-09 (Sun, 09 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 Log Message: ----------- m3front: NamedType: Restore type.info.name after CheckInfo overwrite. (#435) From noreply at github.com Mon May 10 08:05:18 2021 From: noreply at github.com (Jay Krell) Date: Sun, 09 May 2021 23:05:18 -0700 Subject: [M3commit] [modula3/cm3] c94f53: pkgs: add bitvector to front (#436) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: c94f535d2ccd0f6310292c4a30909dd2175629f1 https://github.com/modula3/cm3/commit/c94f535d2ccd0f6310292c4a30909dd2175629f1 Author: Jay Krell Date: 2021-05-09 (Sun, 09 May 2021) Changed paths: M scripts/pkginfo.txt Log Message: ----------- pkgs: add bitvector to front (#436) I will likely use it shortly in m3c. From noreply at github.com Tue May 11 08:14:04 2021 From: noreply at github.com (Jay Krell) Date: Mon, 10 May 2021 23:14:04 -0700 Subject: [M3commit] [modula3/cm3] Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 From noreply at github.com Wed May 12 03:06:27 2021 From: noreply at github.com (Jay Krell) Date: Tue, 11 May 2021 18:06:27 -0700 Subject: [M3commit] [modula3/cm3] 818c5f: m3-sys: Add return_type_qid to declare_procedure. ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 818c5f0f94dd699b27be263e2a1304f48a3de607 https://github.com/modula3/cm3/commit/818c5f0f94dd699b27be263e2a1304f48a3de607 Author: Jay Krell Date: 2021-05-11 (Tue, 11 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add return_type_qid to declare_procedure. (#437) Ultimately and soon, imports and declares "need" to match (for concat of m3c output and hand written *.c, and not a bad idea anyway). This is not yet used, and parameters are not handled yet, but both should change soon. From noreply at github.com Wed May 12 07:57:54 2021 From: noreply at github.com (Jay Krell) Date: Tue, 11 May 2021 22:57:54 -0700 Subject: [M3commit] [modula3/cm3] 5e6e80: m3-sys: Add return_type_qid to declare_procedure. ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5e6e80766608ac39633c2d65cc0b54e2ffe4fe5c https://github.com/modula3/cm3/commit/5e6e80766608ac39633c2d65cc0b54e2ffe4fe5c Author: Jay Krell Date: 2021-05-11 (Tue, 11 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add return_type_qid to declare_procedure. (#437) Imports and declares need to match for concat of m3c output and hand written *.c, and it is not a bad idea anyway. This is not yet used but will be shortly. From noreply at github.com Wed May 12 08:35:16 2021 From: noreply at github.com (Jay Krell) Date: Tue, 11 May 2021 23:35:16 -0700 Subject: [M3commit] [modula3/cm3] a9d2b2: scripts: Add set to front. (#438) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a9d2b2b57aedbb5bc8725263ae7eeaa310ebe877 https://github.com/modula3/cm3/commit/a9d2b2b57aedbb5bc8725263ae7eeaa310ebe877 Author: Jay Krell Date: 2021-05-11 (Tue, 11 May 2021) Changed paths: M scripts/examples/make-compiler.cmd M scripts/examples/make-compiler.sh M scripts/pkginfo.txt M scripts/python/make-dist.py M scripts/python/pylib.py M scripts/python/upgrade.py M scripts/upgrade.sh M scripts/win/upgrade.cmd Log Message: ----------- scripts: Add set to front. (#438) A dependency on this is likely to appear soon. From noreply at github.com Thu May 13 09:50:18 2021 From: noreply at github.com (Jay Krell) Date: Thu, 13 May 2021 00:50:18 -0700 Subject: [M3commit] [modula3/cm3] d16cc5: m3front: Spell out parent instead of par. (#439) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d16cc56bd7381ebd37a080fe60f56d6309761117 https://github.com/modula3/cm3/commit/d16cc56bd7381ebd37a080fe60f56d6309761117 Author: Jay Krell Date: 2021-05-13 (Thu, 13 May 2021) Changed paths: M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- m3front: Spell out parent instead of par. (#439) From noreply at github.com Thu May 13 10:15:48 2021 From: noreply at github.com (Jay Krell) Date: Thu, 13 May 2021 01:15:48 -0700 Subject: [M3commit] [modula3/cm3] 28aec1: m3back: Add printing of declare_procedure(return_t... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 28aec13334d75306bca46ecf121a7c96e9f58562 https://github.com/modula3/cm3/commit/28aec13334d75306bca46ecf121a7c96e9f58562 Author: Jay Krell Date: 2021-05-13 (Thu, 13 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3back: Add printing of declare_procedure(return_type_qid) (#440) Pass declare_procedure(return_type_qid) in multipass. Some shorthands. Comments in m3cgrd/wr that it is not handled, since the relevant backends do not use it and will not for long forseeable future. From noreply at github.com Tue May 18 05:51:19 2021 From: noreply at github.com (Jay Krell) Date: Mon, 17 May 2021 20:51:19 -0700 Subject: [M3commit] [modula3/cm3] 65efd9: m3front: Formal: Rename tipe to type. (#441) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 65efd9ee9af78564b700464307e39651eb3164bc https://github.com/modula3/cm3/commit/65efd9ee9af78564b700464307e39651eb3164bc Author: Jay Krell Date: 2021-05-17 (Mon, 17 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Formal: Rename tipe to type. (#441) From noreply at github.com Tue May 18 07:05:03 2021 From: noreply at github.com (Jay Krell) Date: Mon, 17 May 2021 22:05:03 -0700 Subject: [M3commit] [modula3/cm3] eca40a: m3front: Formal: Simplify calls to type compilatio... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: eca40ad74c30da972c1c866417613b89517620f5 https://github.com/modula3/cm3/commit/eca40ad74c30da972c1c866417613b89517620f5 Author: Jay Krell Date: 2021-05-17 (Mon, 17 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Formal: Simplify calls to type compilation. (#442) Reduce manual inlining. From noreply at github.com Tue May 18 07:34:43 2021 From: noreply at github.com (Jay Krell) Date: Mon, 17 May 2021 22:34:43 -0700 Subject: [M3commit] [modula3/cm3] 904434: m3front: Formal: Provide and use zero initialized ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9044341db7fbb676efdbbdec5b234f1416eafb34 https://github.com/modula3/cm3/commit/9044341db7fbb676efdbbdec5b234f1416eafb34 Author: Jay Krell Date: 2021-05-17 (Mon, 17 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.i3 M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Formal: Provide and use zero initialized types. (#443) This is "opinionated". The old fashion of uninitialized data to optimize away unnecessary initialization I think is long since not the way to go. From noreply at github.com Tue May 18 09:10:29 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 00:10:29 -0700 Subject: [M3commit] [modula3/cm3] 3ba983: m3-sys: Rename many qid to typename. (#444) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3ba9832c699a1494a9740527467fa39c10f01a5b https://github.com/modula3/cm3/commit/3ba9832c699a1494a9740527467fa39c10f01a5b Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.i3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/Type.i3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3front/src/values/Tipe.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Rename many qid to typename. (#444) Mostly my very recent introductions. Some preexisting. Retain type QID and constant NoQID. Type.Name existed (uid to text) so rename Type.QID to Type.Typename (yuck). If there was an agreed upon format (e.g. Module__Name), and needed by more backends, QID here could be M3.ID, but no preexisting backend uses these, and M3C will soon. From noreply at github.com Tue May 18 09:22:28 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 00:22:28 -0700 Subject: [M3commit] [modula3/cm3] 50167c: m3-sys: Rename return_type_qid to return_typename.... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 50167c286f4ee5d10bffb029bf4701dbd50100df https://github.com/modula3/cm3/commit/50167c286f4ee5d10bffb029bf4701dbd50100df Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Rename return_type_qid to return_typename. (#445) Like previous qid to typename. From noreply at github.com Tue May 18 09:31:49 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 00:31:49 -0700 Subject: [M3commit] [modula3/cm3] d0135d: m3front: Formal: Add original_type that takes the ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d0135d0bc93eb5f464e0ce30e3c23979b3d09525 https://github.com/modula3/cm3/commit/d0135d0bc93eb5f464e0ce30e3c23979b3d09525 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.i3 M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Formal: Add original_type that takes the (#446) first non-nil value of type, and then is not reduced/replaced upon calls to .Check/.CheckInfo. i.e. it retains NamedType. Return original_type in Formal.Info.type, so that splitting and reforming a Formal, as is done, retains the NamedType. This will lead to duplicate work to reduce the same types multiple times but that should be ok, not terrible, and ultimately required. From noreply at github.com Tue May 18 09:40:31 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 00:40:31 -0700 Subject: [M3commit] [modula3/cm3] 9b6bc9: m3front: Pass typename for return value of declare... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9b6bc9903db7244c1f18952b7ec60886d8da05ce https://github.com/modula3/cm3/commit/9b6bc9903db7244c1f18952b7ec60886d8da05ce Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/values/Procedure.m3 Log Message: ----------- m3front: Pass typename for return value of declared (#447) and not just imported procedures. From noreply at github.com Tue May 18 09:49:46 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 00:49:46 -0700 Subject: [M3commit] [modula3/cm3] 9dba84: m3front: NamedType.Create: Spell out m to module, ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9dba843569679aaa3764e711039459b103806290 https://github.com/modula3/cm3/commit/9dba843569679aaa3764e711039459b103806290 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.i3 M m3-sys/m3front/src/types/NamedType.m3 Log Message: ----------- m3front: NamedType.Create: Spell out m to module, n to name. (#448) From noreply at github.com Tue May 18 10:07:09 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 01:07:09 -0700 Subject: [M3commit] [modula3/cm3] 065b81: Move entire name:QID to Type instead of (#449) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 065b819ccd88185a6991aba5d176757986bd371d https://github.com/modula3/cm3/commit/065b819ccd88185a6991aba5d176757986bd371d Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/Type.i3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/Tipe.m3 Log Message: ----------- Move entire name:QID to Type instead of (#449) splitting it so all types single element names but only NamedTypes have module.name. This is a little wasteful but cleans things up nicely. From noreply at github.com Tue May 18 20:33:16 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 11:33:16 -0700 Subject: [M3commit] [modula3/cm3] 9d41a9: Move entire name:QID to Type instead of (#449) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9d41a937251c05677b880694789b8de091af5278 https://github.com/modula3/cm3/commit/9d41a937251c05677b880694789b8de091af5278 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/Type.i3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/Tipe.m3 Log Message: ----------- Move entire name:QID to Type instead of (#449) splitting it so all types single element names but only NamedTypes have module.name. This is a little wasteful but cleans things up nicely. From noreply at github.com Tue May 18 20:39:55 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 11:39:55 -0700 Subject: [M3commit] [modula3/cm3] 186d31: m3front:Variable "tipe" to "type" rename. (#450) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 186d31a990499eb2e8f5d796943775e36ccf6962 https://github.com/modula3/cm3/commit/186d31a990499eb2e8f5d796943775e36ccf6962 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front:Variable "tipe" to "type" rename. (#450) (Or was there a recent for the name, correlated to Tipe.i3 vs. Type.i3?) From noreply at github.com Tue May 18 21:40:29 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 12:40:29 -0700 Subject: [M3commit] [modula3/cm3] 9e272f: m3front:Variable: Provide some initialization/zero... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9e272f88a192a6557525474930c2b08c3f89af8f https://github.com/modula3/cm3/commit/9e272f88a192a6557525474930c2b08c3f89af8f Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front:Variable: Provide some initialization/zeroing in type. (#451) From noreply at github.com Tue May 18 22:46:48 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 13:46:48 -0700 Subject: [M3commit] [modula3/cm3] 3d8418: m3front: Variable: Add notion of original_type. (#... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3d841811d526557529ad7fac32978e8408308242 https://github.com/modula3/cm3/commit/3d841811d526557529ad7fac32978e8408308242 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Variable: Add notion of original_type. (#452) i.e. the value before Check lowers it i.e. it remains NamedType (if it is NamedType) and Typename "works" (not a hash). Starting using it for parameters, though put off handling indirect parameters briefly. We should probably introduce TypedValue.T as a common base of Formal.T and Variable.T, or push more functionality up to the base Value.T. From noreply at github.com Tue May 18 23:43:13 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 14:43:13 -0700 Subject: [M3commit] [modula3/cm3] 8eaad6: m3-sys: Add typename to declare_formal. (#453) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8eaad6740b5559ec4596ffe4ff0639428af2c148 https://github.com/modula3/cm3/commit/8eaad6740b5559ec4596ffe4ff0639428af2c148 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add typename to declare_formal. (#453) This might not be needed but it is the right thing. In particular, this is for function pointer types only, and if any of those occur where it matters, they can be replaced entirely instead via their pieces at low implementation cost, i.e. via the toplevel. We'll see. Add printing of declare_formal's typename in M3C. It is never currently passed from m3front. From noreply at github.com Wed May 19 00:11:07 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 15:11:07 -0700 Subject: [M3commit] [modula3/cm3] 3cb199: m3-sys: Add result_typename to declare_proctype. (... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3cb19910171e0fcd2dc6a231dbb7eb6662ca4da0 https://github.com/modula3/cm3/commit/3cb19910171e0fcd2dc6a231dbb7eb6662ca4da0 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add result_typename to declare_proctype. (#454) Again like declare_formal this might not be important and might not get filled in, but it is the right thing. From noreply at github.com Wed May 19 02:12:58 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 17:12:58 -0700 Subject: [M3commit] [modula3/cm3] 6d48f7: m3-sys: Use shortands for QID and NoQID, remove de... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6d48f763a60eda0545c83819bb022d6b3a7d2897 https://github.com/modula3/cm3/commit/6d48f763a60eda0545c83819bb022d6b3a7d2897 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/misc/ESet.i3 M m3-sys/m3front/src/misc/ESet.m3 M m3-sys/m3front/src/misc/Error.i3 M m3-sys/m3front/src/misc/Error.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/RunTyme.m3 M m3-sys/m3front/src/misc/Scanner.m3 M m3-sys/m3front/src/misc/Scope.i3 M m3-sys/m3front/src/misc/Scope.m3 M m3-sys/m3front/src/stmts/RaiseStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/types/NamedType.i3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.i3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/Type.i3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/External.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3front/src/values/Revelation.m3 M m3-sys/m3front/src/values/Tipe.m3 M m3-sys/m3front/src/values/Variable.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Use shortands for QID and NoQID, remove default parameters for typename:QID mostly. (#455) i.e. FROM M3CG IMPORT QID, NoQID and then use QID, NoQID. Except in a few cases there are other symbols named QID Fix warning about unused NamedType. From noreply at github.com Wed May 19 05:48:51 2021 From: noreply at github.com (Jay Krell) Date: Tue, 18 May 2021 20:48:51 -0700 Subject: [M3commit] [modula3/cm3] a2a863: m3-sys: Add target_typename to CG.declare_indirect... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a2a863cdba26c7b0e460ecd121dd31f6fd7ee742 https://github.com/modula3/cm3/commit/a2a863cdba26c7b0e460ecd121dd31f6fd7ee742 Author: Jay Krell Date: 2021-05-18 (Tue, 18 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add target_typename to CG.declare_indirect. (#456) From noreply at github.com Thu May 20 02:22:01 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 17:22:01 -0700 Subject: [M3commit] [modula3/cm3] 4995c2: m3front: Cleanup Type.{Strip, StripPacked, Base}. (#... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4995c2cdaf4e40cb0c1d467ec8660e775c191e96 https://github.com/modula3/cm3/commit/4995c2cdaf4e40cb0c1d467ec8660e775c191e96 Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Cleanup Type.{Strip,StripPacked,Base}. (#457) Just "do not yet repeat yourself", factor out repeating code into functions. From noreply at github.com Thu May 20 02:36:18 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 17:36:18 -0700 Subject: [M3commit] [modula3/cm3] 0d0f81: m3front: Cleanup: Do not partially inline Type.Str... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 0d0f81c09c658642334d1347973464a2ad5f61cd https://github.com/modula3/cm3/commit/0d0f81c09c658642334d1347973464a2ad5f61cd Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Cleanup: Do not partially inline Type.Strip into Type.Check. (#458) From noreply at github.com Thu May 20 05:47:54 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 20:47:54 -0700 Subject: [M3commit] [modula3/cm3] 180384: m3front: Type.IsStructured support Named types. (#... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 180384a1270aa9c300bb0aee36e8bbb9b3b2b4fc https://github.com/modula3/cm3/commit/180384a1270aa9c300bb0aee36e8bbb9b3b2b4fc Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Type.IsStructured support Named types. (#459) In case something needs not to lower. From noreply at github.com Thu May 20 07:14:05 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 22:14:05 -0700 Subject: [M3commit] [modula3/cm3] e2b902: m3-sys: Make lowering of types optional. (#460) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: e2b902de0e2c73e7f7877ffb10cef69dded93e27 https://github.com/modula3/cm3/commit/e2b902de0e2c73e7f7877ffb10cef69dded93e27 Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Variable.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- m3-sys: Make lowering of types optional. (#460) That is, given patterns like: procedure init: t.type := x ... procedure 1: t.type := Type.Check (t.type) foo (t.type) procedure 2: (* likely run after procedure 1 *) EVAL t.type Change to: procedure init: (* unchanged *) t.type := x ... procedure 1: VAR type := Type.Check (t.type) IF Target.LowerTypes THEN t.type := type; END; foo (type) (* maybe *) procedure 2: (* likely run after procedure 1 *) EVAL t.type And then LowerTypes defaults to TRUE, same behavior as before, but is FALSE when targeting C. This is expected to help preserve typenames down the line, without changing the IR (or only a little). If you survey for Type.Check you will find that I skipped most of them. This is probably ok or mostly ok, we will see. From noreply at github.com Thu May 20 07:23:37 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 22:23:37 -0700 Subject: [M3commit] [modula3/cm3] 1b8d85: m3core: Changes in anticipation of type matching b... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 1b8d85786b16a1bc37298aa97249a73252219992 https://github.com/modula3/cm3/commit/1b8d85786b16a1bc37298aa97249a73252219992 Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h M m3-libs/m3core/src/time/POSIX/DatePosixC.c M m3-libs/m3core/src/unix/Common/Umman.i3 M m3-libs/m3core/src/unix/Common/Unix.i3 M m3-libs/m3core/src/win32/WinReg.m3 Log Message: ----------- m3core: Changes in anticipation of type matching between (#461) m3c output and hand written C, so that they can all be concatented. Specifically patterns like m3core.h: ifndef Cstddef__size_t define Cstddef__size_t Cstddef__size_t typedef size_t Cstddef__size_t endif m3c will then say: ifndef Cstddef__size_t define Cstddef__size_t Cstddef__size_t typedef something-maybe-not-exactly-size_t Cstddef__size_t endif They will be concatented, m3core.h will come first. And then use types like Ctypes_const_char_star instead of const char*. Some char* vs. void*. Some TODO comments. From noreply at github.com Thu May 20 07:39:54 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 22:39:54 -0700 Subject: [M3commit] [modula3/cm3] 2dc146: m3core: Add RTIO.PutRef(REFANY). (#462) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 2dc14648abcbf3e03ff0787965f17edd989ed34b https://github.com/modula3/cm3/commit/2dc14648abcbf3e03ff0787965f17edd989ed34b Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M m3-libs/m3core/src/runtime/common/RTIO.i3 M m3-libs/m3core/src/runtime/common/RTIO.m3 Log Message: ----------- m3core: Add RTIO.PutRef(REFANY). (#462) Prior, callers had to be unsafe and loophole to address and call PutAddr. From noreply at github.com Thu May 20 08:14:38 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 23:14:38 -0700 Subject: [M3commit] [modula3/cm3] 144fe1: scripts: Add boot2min.py. (#463) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 144fe16fa042eb768c1abcb9fac74360b58d1541 https://github.com/modula3/cm3/commit/144fe16fa042eb768c1abcb9fac74360b58d1541 Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: A scripts/python/boot2min.py Log Message: ----------- scripts: Add boot2min.py. (#463) This is like boot2 but doesn't build all the packages. It only builds from nothing, up to cm3. So a nice workflow is: boot1 untar + make + put cm3 in path + boot2min instead of boot2, if you just want a working cm3+m3core+libm3 and not the much larger set of libraries and programs that is the entire system. From noreply at github.com Thu May 20 08:29:17 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 23:29:17 -0700 Subject: [M3commit] [modula3/cm3] 1da09a: scripts: Remove no-op function _MapTarget. (#464) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 1da09a53a596fb37f56f693536e06d0a00e5d6c3 https://github.com/modula3/cm3/commit/1da09a53a596fb37f56f693536e06d0a00e5d6c3 Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M scripts/python/pylib.py Log Message: ----------- scripts: Remove no-op function _MapTarget. (#464) From noreply at github.com Thu May 20 08:55:47 2021 From: noreply at github.com (Jay Krell) Date: Wed, 19 May 2021 23:55:47 -0700 Subject: [M3commit] [modula3/cm3] 346e1a: m3-sys: Add declare_procedure(return_typeid). (#465) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 346e1a26f31b0c3f195400d6f699ae2410e6a382 https://github.com/modula3/cm3/commit/346e1a26f31b0c3f195400d6f699ae2410e6a382 Author: Jay Krell Date: 2021-05-19 (Wed, 19 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add declare_procedure(return_typeid). (#465) From noreply at github.com Thu May 20 09:11:52 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 00:11:52 -0700 Subject: [M3commit] [modula3/cm3] 102f53: m3-sys: Add import_procedure(return_typeid). (#466) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 102f53bdde25dd78a77ec3133048ade34f710c14 https://github.com/modula3/cm3/commit/102f53bdde25dd78a77ec3133048ade34f710c14 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Add import_procedure(return_typeid). (#466) From noreply at github.com Thu May 20 09:28:31 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 00:28:31 -0700 Subject: [M3commit] [modula3/cm3] 3713a3: m3c: Use char* instead of ADDRESS for pointer math... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3713a33942923cc5100dde90dc0282d47e346fa3 https://github.com/modula3/cm3/commit/3713a33942923cc5100dde90dc0282d47e346fa3 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Use char* instead of ADDRESS for pointer math, (#467) so ADDRESS can be void* instead of char*. From noreply at github.com Thu May 20 09:37:32 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 00:37:32 -0700 Subject: [M3commit] [modula3/cm3] de207a: m3c: Remove some extra newlines from output. (#468) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: de207a7b00de7cd06c808801aac7eb3560c84541 https://github.com/modula3/cm3/commit/de207a7b00de7cd06c808801aac7eb3560c84541 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove some extra newlines from output. (#468) From noreply at github.com Thu May 20 20:42:06 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 11:42:06 -0700 Subject: [M3commit] [modula3/cm3] 4ec66b: m3c: Treat typeid = 0 like -1 in more places. (#471) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4ec66b8e420aa39c5ca730de0f5fa2e4d09d30e8 https://github.com/modula3/cm3/commit/4ec66b8e420aa39c5ca730de0f5fa2e4d09d30e8 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Treat typeid = 0 like -1 in more places. (#471) Otherwise we were badly confusing types, but not necessarily catastrophically. That is, a local struct that is at least pointer-sized, can be used in place of a pointer, given all the casting. It is big enough. From noreply at github.com Thu May 20 20:45:06 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 11:45:06 -0700 Subject: [M3commit] [modula3/cm3] feba92: m3c: Remove some spaces. (#472) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: feba9266a4f8c09ffb8571d423f8539e644afc43 https://github.com/modula3/cm3/commit/feba9266a4f8c09ffb8571d423f8539e644afc43 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove some spaces. (#472) From noreply at github.com Thu May 20 22:35:48 2021 From: noreply at github.com (VictorMiasnikov) Date: Thu, 20 May 2021 13:35:48 -0700 Subject: [M3commit] [modula3/cm3] 9b4128: Set "execute" to boot2min.py (#470) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9b4128e23467fbe5f00da5cfe8be1ed5bb5efb46 https://github.com/modula3/cm3/commit/9b4128e23467fbe5f00da5cfe8be1ed5bb5efb46 Author: VictorMiasnikov <48795548+VictorMiasnikov at users.noreply.github.com> Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M scripts/python/boot2min.py Log Message: ----------- Set "execute" to boot2min.py (#470) Technician: Set "execute" to boot2min.py From noreply at github.com Thu May 20 22:49:04 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 13:49:04 -0700 Subject: [M3commit] [modula3/cm3] 9eba81: m3c: Initial qid support. (#473) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9eba811f553be59cddab17e6ef220c45bbd1f29b https://github.com/modula3/cm3/commit/9eba811f553be59cddab17e6ef220c45bbd1f29b Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/m3makefile Log Message: ----------- m3c: Initial qid support. (#473) This will likely change a lot, to be instead typeid + declare_typename support, but it is also probably close to correct, and cleans things up, because same code is needed in a few places, i.e. parameters and return types and hopefully globals, locals and even temporaries). Specifically this steers m3c away from the low level types (int32, int64, addr, etc.) and even typeids as strings (T1234, etc.), more toward the notion that types have arbitrary text to representing them ("int", "Foo_T", "Foo_T*", etc.); which, granted, was already somewhat the case. This change tries to use qid to form the text when they are provided but possibly they will go away, and instead more declare_typename use. Add some comments. Introduce the ifndefs around typedefs, so that m3core.h can replace them. Add a cast on returns, there was a problem seen; this can probably benefit from the typeid/typename work, i.e. returning typed pointers instead of mere ADDRESS. This is also notably about the end of the line where I had gotten with qids in ir, before starting to reconsider after much progress. From noreply at github.com Thu May 20 22:52:09 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 13:52:09 -0700 Subject: [M3commit] [modula3/cm3] ad32db: m3c: Remove minor unnecessary condition. (#474) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ad32db69d2d6babfb9cb869284ec08fdcf157b83 https://github.com/modula3/cm3/commit/ad32db69d2d6babfb9cb869284ec08fdcf157b83 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove minor unnecessary condition. (#474) From noreply at github.com Thu May 20 23:15:26 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 14:15:26 -0700 Subject: [M3commit] [modula3/cm3] b5fe08: m3c: Remove minor unnecessary condition. (#475) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b5fe082edcf4af4d938262ffccad4687abbb60b6 https://github.com/modula3/cm3/commit/b5fe082edcf4af4d938262ffccad4687abbb60b6 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: Log Message: ----------- m3c: Remove minor unnecessary condition. (#475) From noreply at github.com Thu May 20 23:17:04 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 14:17:04 -0700 Subject: [M3commit] [modula3/cm3] Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 From noreply at github.com Fri May 21 03:33:00 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 18:33:00 -0700 Subject: [M3commit] [modula3/cm3] 19034b: m3c: Remove unnecessary brands. (#476) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 19034bcc968e23e3d61f436cec42fc9136fd8be6 https://github.com/modula3/cm3/commit/19034bcc968e23e3d61f436cec42fc9136fd8be6 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove unnecessary brands. (#476) (in m3c itself, no impact on its output) From noreply at github.com Fri May 21 03:34:52 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 18:34:52 -0700 Subject: [M3commit] [modula3/cm3] 5ac065: m3c: Remove write-only member data declareTypes. (... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5ac065b6ccbd0f9a4ad28dadb64d832d997213a8 https://github.com/modula3/cm3/commit/5ac065b6ccbd0f9a4ad28dadb64d832d997213a8 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove write-only member data declareTypes. (#477) From noreply at github.com Fri May 21 03:37:00 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 18:37:00 -0700 Subject: [M3commit] [modula3/cm3] b8ca14: m3c: Move type_text_tail to be a parameter to Type... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b8ca149940c51967c2c13ff86de9dc921522701c https://github.com/modula3/cm3/commit/b8ca149940c51967c2c13ff86de9dc921522701c Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Move type_text_tail to be a parameter to Type_Init (#478) instead of storing it in Type_t. From noreply at github.com Fri May 21 03:38:10 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 18:38:10 -0700 Subject: [M3commit] [modula3/cm3] 60ba44: m3c: Remove a newline. (#479) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 60ba44be33cdfa3cc2adaa6002fb235dff4aea54 https://github.com/modula3/cm3/commit/60ba44be33cdfa3cc2adaa6002fb235dff4aea54 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove a newline. (#479) From noreply at github.com Fri May 21 04:56:55 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 19:56:55 -0700 Subject: [M3commit] [modula3/cm3] 10e622: m3c: Rework typenames so they work very well, if t... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 10e622ab314421b4e218f2c81f4a910f5da80e47 https://github.com/modula3/cm3/commit/10e622ab314421b4e218f2c81f4a910f5da80e47 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Rework typenames so they work very well, if there is a one (#480) to one mapping of type hash to name. From noreply at github.com Fri May 21 08:01:53 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 23:01:53 -0700 Subject: [M3commit] [modula3/cm3] 8d9893: m3front: Fix some unused warnings. (#481) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8d9893fe5d70561e334873e51cb0fc3be211ed60 https://github.com/modula3/cm3/commit/8d9893fe5d70561e334873e51cb0fc3be211ed60 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3front/src/exprs/QualifyExpr.m3 M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Fix some unused warnings. (#481) NamedType, obj_offset, obj_align, prefixAlign From noreply at github.com Fri May 21 08:04:11 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 23:04:11 -0700 Subject: [M3commit] [modula3/cm3] deab7d: m3middle: Fix unused warning return_typeid. (#482) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: deab7de487534927b31a8eba13eed3c8001e54c2 https://github.com/modula3/cm3/commit/deab7de487534927b31a8eba13eed3c8001e54c2 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3middle/src/M3CG_MultiPass.m3 Log Message: ----------- m3middle: Fix unused warning return_typeid. (#482) Actual bug, sort of (in work in progress, nobody broken by it). From noreply at github.com Fri May 21 08:21:05 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 23:21:05 -0700 Subject: [M3commit] [modula3/cm3] b48e46: m3-sys: Remove some type lowering for all systems.... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b48e46f24e60d096a8f09716bde48ed505445a5f https://github.com/modula3/cm3/commit/b48e46f24e60d096a8f09716bde48ed505445a5f Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Variable.m3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- m3-sys: Remove some type lowering for all systems. (#483) From noreply at github.com Fri May 21 08:29:43 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 23:29:43 -0700 Subject: [M3commit] [modula3/cm3] b89d8f: m3front: Remove manual partial inlining. (#484) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b89d8fe4bab0bfbb8f64799127f3b0fab5863880 https://github.com/modula3/cm3/commit/b89d8fe4bab0bfbb8f64799127f3b0fab5863880 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Remove manual partial inlining. (#484) In IsEqual and IsSubtype, call StripPacked unconditionally. From noreply at github.com Fri May 21 08:40:55 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 23:40:55 -0700 Subject: [M3commit] [modula3/cm3] 35cc57: m3front: Make more StripPacked calls unconditional... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 35cc5707ed1581f3254d229607e2915bdfb55423 https://github.com/modula3/cm3/commit/35cc5707ed1581f3254d229607e2915bdfb55423 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Make more StripPacked calls unconditional. (#485) It is maybe slower, but maybe not measurably and seems slightly cleaner this way. From noreply at github.com Fri May 21 08:49:18 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 23:49:18 -0700 Subject: [M3commit] [modula3/cm3] 1cce43: m3front: Strip in Type.AddCell. (#486) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 1cce439885f6e2d38db54084e0b691c372b3984b https://github.com/modula3/cm3/commit/1cce439885f6e2d38db54084e0b691c372b3984b Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Strip in Type.AddCell. (#486) This is redundant with all callers so should not change anything. The point being to generally explicitly allow unlowered types, i.e. named typed (there are other unlowered forms like packed and subrange, but my concern is named). From noreply at github.com Fri May 21 08:55:42 2021 From: noreply at github.com (Jay Krell) Date: Thu, 20 May 2021 23:55:42 -0700 Subject: [M3commit] [modula3/cm3] a85f1c: m3front: Call StripPacked unconditionally in OpenA... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a85f1c2c31fa7036fbeef408b3571dcba7b1a022 https://github.com/modula3/cm3/commit/a85f1c2c31fa7036fbeef408b3571dcba7b1a022 Author: Jay Krell Date: 2021-05-20 (Thu, 20 May 2021) Changed paths: M m3-sys/m3front/src/types/OpenArrayType.m3 Log Message: ----------- m3front: Call StripPacked unconditionally in OpenArrayType.Reduce. (#487) This is to reduce manual inlining, i.e. an anti-pattern except for maybe perf. From noreply at github.com Fri May 21 09:08:07 2021 From: noreply at github.com (Jay Krell) Date: Fri, 21 May 2021 00:08:07 -0700 Subject: [M3commit] [modula3/cm3] cbcfdd: m3front: ArrayType.Reduce call StripPacked uncondi... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: cbcfdd50fd56fc48e9c8b40220aaacb3cb153ed3 https://github.com/modula3/cm3/commit/cbcfdd50fd56fc48e9c8b40220aaacb3cb153ed3 Author: Jay Krell Date: 2021-05-21 (Fri, 21 May 2021) Changed paths: M m3-sys/m3front/src/types/ArrayType.m3 Log Message: ----------- m3front: ArrayType.Reduce call StripPacked unconditionally. (#488) Reduce manual inlining. From noreply at github.com Fri May 21 09:19:43 2021 From: noreply at github.com (Jay Krell) Date: Fri, 21 May 2021 00:19:43 -0700 Subject: [M3commit] [modula3/cm3] ba1190: m3front: Reduce partial inlining of Type.Strip. (#... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ba1190b8656878dc11b484baa2b6e958da35a68c https://github.com/modula3/cm3/commit/ba1190b8656878dc11b484baa2b6e958da35a68c Author: Jay Krell Date: 2021-05-21 (Fri, 21 May 2021) Changed paths: M m3-sys/m3front/src/types/EnumType.m3 M m3-sys/m3front/src/types/OpaqueType.m3 M m3-sys/m3front/src/types/PackedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/RecordType.m3 M m3-sys/m3front/src/types/RefType.m3 M m3-sys/m3front/src/types/SetType.m3 M m3-sys/m3front/src/types/SubrangeType.m3 Log Message: ----------- m3front: Reduce partial inlining of Type.Strip. (#489) Most of these seem like they should be StripPacked. From noreply at github.com Fri May 21 09:25:32 2021 From: noreply at github.com (Jay Krell) Date: Fri, 21 May 2021 00:25:32 -0700 Subject: [M3commit] [modula3/cm3] 674e92: m3front: More type-based zeroing initializers. (#490) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 674e924bc44016a153f3fec652c682e2494ffb78 https://github.com/modula3/cm3/commit/674e924bc44016a153f3fec652c682e2494ffb78 Author: Jay Krell Date: 2021-05-21 (Fri, 21 May 2021) Changed paths: M m3-sys/m3front/src/types/ArrayType.m3 M m3-sys/m3front/src/types/OpenArrayType.m3 Log Message: ----------- m3front: More type-based zeroing initializers. (#490) Shorter and safer. From noreply at github.com Sat May 22 02:40:49 2021 From: noreply at github.com (Jay Krell) Date: Fri, 21 May 2021 17:40:49 -0700 Subject: [M3commit] [modula3/cm3] bd91b7: Fix my mistake in: (#492) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: bd91b78fc1d18f4267e77895b9719bf9b333ce5d https://github.com/modula3/cm3/commit/bd91b78fc1d18f4267e77895b9719bf9b333ce5d Author: Jay Krell Date: 2021-05-21 (Fri, 21 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- Fix my mistake in: (#492) commit b89d8fe4bab0bfbb8f64799127f3b0fab5863880 m3front: Remove manual partial inlining. (#484) In IsEqual and IsSubtype, call StripPacked unconditionally. There were two unintended changes there: - In IsEqual, call Strip, not StripPacked. - In IsSubtype, look at info.class after Strip, then call StripPacked. Symptom of the problem: C:\s\cm3\m3-comm\serial>rd /q/s AMD64_NT & cm3 Fatal Error: bad version stamps: SerialPort.m3 version stamp mismatch: WeakRef.FromRef => SerialPort.m3 <28bbb0fb20661e30> => WeakRef.i3 version stamp mismatch: WeakRef.T => SerialPort.m3 <74fc644f36110a26> => WeakRef.i3 SerialPort.m3: missing imported type: _t2a11fb7d SerialPort.m3: missing imported type: _tfb5d45cd SerialPort.m3: missing imported type: _t98a5b108 SerialPort.m3: missing imported type: _t554b42a0 From noreply at github.com Sat May 22 08:29:38 2021 From: noreply at github.com (Jay Krell) Date: Fri, 21 May 2021 23:29:38 -0700 Subject: [M3commit] [modula3/cm3] d94719: m3c: Remove some commented out code. (#493) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d94719c58b62bec13a8e18eba833241f1e27b60f https://github.com/modula3/cm3/commit/d94719c58b62bec13a8e18eba833241f1e27b60f Author: Jay Krell Date: 2021-05-21 (Fri, 21 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove some commented out code. (#493) Type text formation is confusing and churning enough. From noreply at github.com Sat May 22 09:53:20 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 00:53:20 -0700 Subject: [M3commit] [modula3/cm3] 50f3a6: m3c: Make unique names more unique. (#494) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 50f3a643350926bc78e7860f02aad56b97da3ed6 https://github.com/modula3/cm3/commit/50f3a643350926bc78e7860f02aad56b97da3ed6 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Make unique names more unique. (#494) So that m3c output can be concatenated. This affects segments that m3front provides no name for. Segment names for interfaces and modules were not discernable. The old names were like cm3_Arg + counter. The new names are like Arg_m + counter and Arg_i + counter. m for module, i for interface. cm3 being library/program. From noreply at github.com Sun May 23 06:43:51 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 21:43:51 -0700 Subject: [M3commit] [modula3/cm3] 6b7870: m3cg: Add initializer to type QID. (#495) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6b7870e28b1531b30b6cda89c947e56c8b6fe9e0 https://github.com/modula3/cm3/commit/6b7870e28b1531b30b6cda89c947e56c8b6fe9e0 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3middle/src/M3CG.i3 Log Message: ----------- m3cg: Add initializer to type QID. (#495) From noreply at github.com Sun May 23 07:38:41 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 22:38:41 -0700 Subject: [M3commit] [modula3/cm3] c33d89: m3front: If Record F() is lowered to void F(Record... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: c33d89f1bd9b1003dc90b79c3bba66e17b012c5a https://github.com/modula3/cm3/commit/c33d89f1bd9b1003dc90b79c3bba66e17b012c5a Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3front/src/types/ProcType.m3 Log Message: ----------- m3front: If Record F() is lowered to void F(Record*) (#496) then return typename:NoQID instead of typename:Record. From noreply at github.com Sun May 23 08:15:28 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:15:28 -0700 Subject: [M3commit] [modula3/cm3] efb7e6: m3c: Comment that qid.module=0 is for builtins suc... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: efb7e6f4683868f88e999465084c228b9419174a https://github.com/modula3/cm3/commit/efb7e6f4683868f88e999465084c228b9419174a Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Comment that qid.module=0 is for builtins such as INTEGER. (#497) From noreply at github.com Sun May 23 08:17:01 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:17:01 -0700 Subject: [M3commit] [modula3/cm3] 95977c: m3c: Comment that local names for example are for ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 95977cc397e2383004c7fa88fa3bd926fe25a251 https://github.com/modula3/cm3/commit/95977cc397e2383004c7fa88fa3bd926fe25a251 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Comment that local names for example are for explicit padding in structs (#498) From noreply at github.com Sun May 23 08:18:16 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:18:16 -0700 Subject: [M3commit] [modula3/cm3] 3b05e0: m3c: Var_FixName: check for static_link_id with va... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3b05e0ff21b2e659397f77995d19baee04e0a4e4 https://github.com/modula3/cm3/commit/3b05e0ff21b2e659397f77995d19baee04e0a4e4 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Var_FixName: check for static_link_id with value from before Proc_FixName. (#499) From noreply at github.com Sun May 23 08:19:38 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:19:38 -0700 Subject: [M3commit] [modula3/cm3] aaf248: m3c: Fix error in procedure TypeText to say TypeTe... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: aaf2480492255e7751622de7248a7fcbe808d28e https://github.com/modula3/cm3/commit/aaf2480492255e7751622de7248a7fcbe808d28e Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Fix error in procedure TypeText to say TypeText, instead of where it was copied from, declare_param. (#500) From noreply at github.com Sun May 23 08:20:32 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:20:32 -0700 Subject: [M3commit] [modula3/cm3] 505fa4: m3c: Rename qidtext to return_type_text. (#501) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 505fa4b560eecb075dbb9db81e13e55bab46a143 https://github.com/modula3/cm3/commit/505fa4b560eecb075dbb9db81e13e55bab46a143 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Rename qidtext to return_type_text. (#501) From noreply at github.com Sun May 23 08:21:37 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:21:37 -0700 Subject: [M3commit] [modula3/cm3] 216e60: m3front: Add comment explaining cycle detection (#... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 216e604dab7ffca11f71b67240a593317793a86e https://github.com/modula3/cm3/commit/216e604dab7ffca11f71b67240a593317793a86e Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Add comment explaining cycle detection (#502) in Type.{Strip,StripPacked,Base}. If there is a cycle, then advancing one at a time and two at a time will eventually make them equal. From noreply at github.com Sun May 23 08:22:40 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:22:40 -0700 Subject: [M3commit] [modula3/cm3] 02bf5d: m3front: NamedType: preserve name around Check but... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 02bf5ddfc9c6ce76ce421a6204b4ac8457d3ac28 https://github.com/modula3/cm3/commit/02bf5ddfc9c6ce76ce421a6204b4ac8457d3ac28 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3front/src/types/NamedType.m3 Log Message: ----------- m3front: NamedType: preserve name around Check but not Resolve. (#503) Otherwise was likely throwing out the resolved module yielding "T" instead of "Module__T". From noreply at github.com Sun May 23 08:23:52 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:23:52 -0700 Subject: [M3commit] [modula3/cm3] 75fc3c: m3front: Get proc result QID after resolution, so ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 75fc3cd2dee093924d1ecc1ea5c9705154425a50 https://github.com/modula3/cm3/commit/75fc3cd2dee093924d1ecc1ea5c9705154425a50 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3front/src/types/ProcType.m3 Log Message: ----------- m3front: Get proc result QID after resolution, so module usually not 0. (#504) Not before resolution. From noreply at github.com Sun May 23 08:25:00 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:25:00 -0700 Subject: [M3commit] [modula3/cm3] 3b69ce: m3front: Add comments to Type.m3. (#505) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3b69ce635ba7e846cfbcbeabf7776f46c864a8f3 https://github.com/modula3/cm3/commit/3b69ce635ba7e846cfbcbeabf7776f46c864a8f3 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Add comments to Type.m3. (#505) Presumably IsEqual, SubType => Error => True is to reduce error cascades. From noreply at github.com Sun May 23 08:26:16 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:26:16 -0700 Subject: [M3commit] [modula3/cm3] 3e60a0: m3front: Type: Change if/elseif chains to case. (#... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3e60a05752f4409518d85cf5d0185cba35c684f5 https://github.com/modula3/cm3/commit/3e60a05752f4409518d85cf5d0185cba35c684f5 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3front/src/types/Type.m3 Log Message: ----------- m3front: Type: Change if/elseif chains to case. (#506) A microoptimization, avoids repeated evaluation of u.info.class, with no loss in clarity. Sort the cases. From noreply at github.com Sun May 23 08:54:33 2021 From: noreply at github.com (Jay Krell) Date: Sat, 22 May 2021 23:54:33 -0700 Subject: [M3commit] [modula3/cm3] c0d0ca: m3cg implementations: Remove unnecessary parameter... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: c0d0caaded7b7755e4e817e00356c06319602664 https://github.com/modula3/cm3/commit/c0d0caaded7b7755e4e817e00356c06319602664 Author: Jay Krell Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3cg implementations: Remove unnecessary parameter defaulting. (#507) Can be added back if needed. Or seriously consider changing everything to take records, with initializers. The records would then imply an IR. The records are even already defined in the multipass stuff. From noreply at github.com Sun May 23 08:54:53 2021 From: noreply at github.com (VictorMiasnikov) Date: Sat, 22 May 2021 23:54:53 -0700 Subject: [M3commit] [modula3/cm3] 91f84a: Add mysql to pkginfo.txt (#491) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 91f84ab1fb7e36a3cfb8444274f53668b9161dd1 https://github.com/modula3/cm3/commit/91f84ab1fb7e36a3cfb8444274f53668b9161dd1 Author: VictorMiasnikov <48795548+VictorMiasnikov at users.noreply.github.com> Date: 2021-05-22 (Sat, 22 May 2021) Changed paths: M scripts/pkginfo.txt Log Message: ----------- Add mysql to pkginfo.txt (#491) Adding line: mysql database to file pkginfo.txt From noreply at github.com Sun May 23 12:23:30 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 03:23:30 -0700 Subject: [M3commit] [modula3/cm3] 3e986b: m3c: Enable QID for types. (#508) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3e986b2475dc2a55bd7dd9f5fd6f856fe5bc5773 https://github.com/modula3/cm3/commit/3e986b2475dc2a55bd7dd9f5fd6f856fe5bc5773 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 M m3-sys/m3front/src/misc/Scope.m3 Log Message: ----------- m3c: Enable QID for types. (#508) So we get like Ctypes__int instead of INTEGER. But disable for nested scopes, which do not produce good data currently. m3front should be using more like GlobalName instead of ModuleName. This much improves the C output. From noreply at github.com Sun May 23 12:31:00 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 03:31:00 -0700 Subject: [M3commit] [modula3/cm3] a3a738: m3c: Check for typename="NULL" e.g. in M3MiniShell... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a3a738345c238950d2964a296e787e31bd39b0ff https://github.com/modula3/cm3/commit/a3a738345c238950d2964a296e787e31bd39b0ff Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Check for typename="NULL" e.g. in M3MiniShell. (#509) From noreply at github.com Sun May 23 12:33:09 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 03:33:09 -0700 Subject: [M3commit] [modula3/cm3] 932778: mysql: Fix for systems without mysql. (#510) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 9327786c1423cee35ac2b895b178356a6ce4802d https://github.com/modula3/cm3/commit/9327786c1423cee35ac2b895b178356a6ce4802d Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-db/mysql/src/m3makefile Log Message: ----------- mysql: Fix for systems without mysql. (#510) From noreply at github.com Sun May 23 13:52:29 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 04:52:29 -0700 Subject: [M3commit] [modula3/cm3] 56963b: m3c: Disable qidtext. (#511) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 56963b6048db10823eb006a46243ee406289aeb6 https://github.com/modula3/cm3/commit/56963b6048db10823eb006a46243ee406289aeb6 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Disable qidtext. (#511) They don't yet full work. For example with generics. From noreply at github.com Sun May 23 14:26:47 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 05:26:47 -0700 Subject: [M3commit] [modula3/cm3] da5581: Fix the type of M3ID.NoID to be M3ID.T. (#512) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: da5581b4690ea5b954c476fb6b615cdf3d20b183 https://github.com/modula3/cm3/commit/da5581b4690ea5b954c476fb6b615cdf3d20b183 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/cm3/src/M3Loc.i3 M m3-sys/cm3ide/src/utils/ID.i3 M m3-sys/m3front/src/misc/Jmpbufs.i3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/RefType.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/m3loader/src/M3LoaderObj.i3 M m3-sys/m3tools/src/M3Const.m3 M m3-sys/m3tools/src/M3Parse.m3 Log Message: ----------- Fix the type of M3ID.NoID to be M3ID.T. (#512) And then change several: x: M3ID.T := M3ID.NoID to x := M3ID.NoID Also some x: M3ID.T := 0 to same. Though I am very partial to unabstracted 0. Some people prefer -1 or special other values on a case by case basis, so abstract it, or keep it abstracted. I kinda think the type really should be INTEGER or LONGINT but I did not change that. From noreply at github.com Sun May 23 14:56:59 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 05:56:59 -0700 Subject: [M3commit] [modula3/cm3] ecdb26: m3-sys: Rewrite recent qid work to use M3ID.T aka ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ecdb2618d814ae6a1f95676f89f45363d4e909d1 https://github.com/modula3/cm3/commit/ecdb2618d814ae6a1f95676f89f45363d4e909d1 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/misc/ESet.i3 M m3-sys/m3front/src/misc/ESet.m3 M m3-sys/m3front/src/misc/Error.i3 M m3-sys/m3front/src/misc/Error.m3 M m3-sys/m3front/src/misc/M3.i3 M m3-sys/m3front/src/misc/RunTyme.m3 M m3-sys/m3front/src/misc/Scope.i3 M m3-sys/m3front/src/misc/Scope.m3 M m3-sys/m3front/src/stmts/RaiseStmt.m3 M m3-sys/m3front/src/stmts/TryStmt.m3 M m3-sys/m3front/src/types/NamedType.i3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.i3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/Type.i3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/External.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Procedure.m3 M m3-sys/m3front/src/values/Revelation.m3 M m3-sys/m3front/src/values/Tipe.m3 M m3-sys/m3front/src/values/Variable.m3 M m3-sys/m3middle/src/M3CG.i3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 M m3-sys/m3middle/src/M3ID.i3 M m3-sys/m3middle/src/Target.i3 M m3-sys/m3middle/src/Target.m3 Log Message: ----------- m3-sys: Rewrite recent qid work to use M3ID.T aka Name. (#513) QID is moved back from M3CG to M3, how it was. All the extra parameters remain in M3CG but now of type Name (M3ID.T) instead of QID. Target.Typenames determines if m3front will bother with forming all these "extra" strings since it is perhaps too costly, only to be ignored by most backends. QID is moved back from Type to NamedType, how it was. NoQID is also moved back, but no longer used, since QID has an initializer. name is still added to Type; which NamedType uses to form the "full" name. The meaning of type.info.name is, um, what m3c wants. (And not formed for NamedTypes unless targeting C. Only then cheaply formed for builtin types; also not formed for anonymous types in either case; M3C will use hashes or declare_typename.) This fixes the problems with generics and nested scopes. ModuleName is replaced with GlobalName. From noreply at github.com Sun May 23 22:48:31 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 13:48:31 -0700 Subject: [M3commit] [modula3/cm3] 6f7c29: m3c: declare_typename is inferior to and conflicts... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6f7c29240b8b4ce9897107dbfb7ab6a8ca8b05c5 https://github.com/modula3/cm3/commit/6f7c29240b8b4ce9897107dbfb7ab6a8ca8b05c5 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: declare_typename is inferior to and conflicts with passing typenames from each site. (#514) Disable it in m3c. From noreply at github.com Sun May 23 22:49:53 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 13:49:53 -0700 Subject: [M3commit] [modula3/cm3] 09525c: m3core: Make Csignal__signal prototype agree betwe... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 09525c32592538f7f6ff604868e19e2248d6451c https://github.com/modula3/cm3/commit/09525c32592538f7f6ff604868e19e2248d6451c Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-libs/m3core/src/C/Common/CsignalC.c M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: Make Csignal__signal prototype agree between Modula-3 and C. (#515) When they are seen together -- the typedefs in m3core.h shall come first and win. From noreply at github.com Sun May 23 22:51:11 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 13:51:11 -0700 Subject: [M3commit] [modula3/cm3] 8f992d: m3core: Change void_star and const from char* to v... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8f992dd9efb89abf9075cf3da2ac3921feea3ba1 https://github.com/modula3/cm3/commit/8f992dd9efb89abf9075cf3da2ac3921feea3ba1 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: Change void_star and const from char* to void*. (#516) This helps prototypes match and be correct, when m3c output and hand written C are combined. From noreply at github.com Sun May 23 22:56:06 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 13:56:06 -0700 Subject: [M3commit] [modula3/cm3] cab1f7: m3c: Add comment about typedefs and ifdef. (#517) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: cab1f72f88a917716d7f834e568c6a8308266db6 https://github.com/modula3/cm3/commit/cab1f72f88a917716d7f834e568c6a8308266db6 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Add comment about typedefs and ifdef. (#517) From noreply at github.com Sun May 23 23:02:53 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 14:02:53 -0700 Subject: [M3commit] [modula3/cm3] 8c432e: m3core: Remove wrappers for memchr, strchr, strrch... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 8c432e3cb13a708f59e8fc8fb8db6417ac9e1bfc https://github.com/modula3/cm3/commit/8c432e3cb13a708f59e8fc8fb8db6417ac9e1bfc Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-libs/m3core/src/C/Common/Cstring.i3 M m3-libs/m3core/src/C/Common/CstringC.c Log Message: ----------- m3core: Remove wrappers for memchr, strchr, strrchr, strpbrk, strstr. (#518) They have const problems, and are trouble to get correct (C and C++ sort of disagree), and are not used. Null terminated strings rarely occur in Modula-3, good. If they are needed they can be put back here or where needed, or outside of cm3 itself (outside of m3core, libm3, sysutils), and likely const ignored. From noreply at github.com Sun May 23 23:27:21 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 14:27:21 -0700 Subject: [M3commit] [modula3/cm3] 06edc5: mysql: Really fix when mysql not present e.g. Wind... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 06edc54026ff615f7898345a64884cf10dc336a5 https://github.com/modula3/cm3/commit/06edc54026ff615f7898345a64884cf10dc336a5 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-db/mysql/src/m3makefile Log Message: ----------- mysql: Really fix when mysql not present e.g. Windows (#519) From noreply at github.com Sun May 23 23:35:53 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 14:35:53 -0700 Subject: [M3commit] [modula3/cm3] 2419b1: m3front: Remove my recent addition of original_typ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 2419b13b3fd8673a7361d6538b4a06c5086cb02b https://github.com/modula3/cm3/commit/2419b13b3fd8673a7361d6538b4a06c5086cb02b Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.i3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Remove my recent addition of original_type and OriginalTypeOf. (#520) They have been replaced by selectively not lowering type. To retain NamedType. This approach might not scale though. There are many other places in m3front where original types are lost, relying on backends to aggressively cast to a generic pointer type, and to have structs that are just arrays of bytes. From noreply at github.com Sun May 23 23:38:06 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 14:38:06 -0700 Subject: [M3commit] [modula3/cm3] df3c8c: m3core: Remove no longer used ulongjmp. (#521) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: df3c8cb16c4cd745be8e14192bf64721f852fa0b https://github.com/modula3/cm3/commit/df3c8cb16c4cd745be8e14192bf64721f852fa0b Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-libs/m3core/src/C/Common/Csetjmp.i3 M m3-libs/m3core/src/C/Common/CsetjmpC.c Log Message: ----------- m3core: Remove no longer used ulongjmp. (#521) It has been replaced with m3_longjmp. From noreply at github.com Sun May 23 23:49:35 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 14:49:35 -0700 Subject: [M3commit] [modula3/cm3] 909427: m3core: Arrange for Csetjmp__longjmp prototype to ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 909427c815901c37a79b89f2166128f2fb8e6b69 https://github.com/modula3/cm3/commit/909427c815901c37a79b89f2166128f2fb8e6b69 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-libs/m3core/src/C/Common/Csetjmp.i3 M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: Arrange for Csetjmp__longjmp prototype to match (#522) when m3c output and hand written .c combined. From noreply at github.com Mon May 24 07:09:39 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 22:09:39 -0700 Subject: [M3commit] [modula3/cm3] 72563d: m3core: More convincing coroutine code. (#523) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 72563df2dbf29951ca8ddebffcc952f285e15b22 https://github.com/modula3/cm3/commit/72563df2dbf29951ca8ddebffcc952f285e15b22 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-libs/m3core/src/coroutine/UCONTEXT/ContextC.c Log Message: ----------- m3core: More convincing coroutine code. (#523) To keep an array live on the stack, make it volatile, and access it at certain times. Mark some functions to avoid inlining. More likely this code should keep stuff on the stack, by passing its address to another function, rather than returning. Need test code to really change it though. From noreply at github.com Mon May 24 08:31:27 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 23:31:27 -0700 Subject: [M3commit] [modula3/cm3] 77e36f: m3core: coroutine: Fix newline format. (#525) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 77e36f1ad56ff4933b5002a6aa80d00366911d4f https://github.com/modula3/cm3/commit/77e36f1ad56ff4933b5002a6aa80d00366911d4f Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-libs/m3core/src/coroutine/Common/Coroutine.i3 M m3-libs/m3core/src/coroutine/UCONTEXT/CoroutineUcontext.m3 Log Message: ----------- m3core: coroutine: Fix newline format. (#525) dos2unix * From noreply at github.com Mon May 24 08:43:53 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 23:43:53 -0700 Subject: [M3commit] [modula3/cm3] 3d7732: m3front: Initialize some locals. (#526) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3d7732a01a6bd0315f7064bdf5278b16c4741403 https://github.com/modula3/cm3/commit/3d7732a01a6bd0315f7064bdf5278b16c4741403 Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Initialize some locals. (#526) One of these might be a recent regression. From noreply at github.com Mon May 24 08:46:05 2021 From: noreply at github.com (Jay Krell) Date: Sun, 23 May 2021 23:46:05 -0700 Subject: [M3commit] [modula3/cm3] ff464d: m3front: Initialize some locals. (#526) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ff464d30f02268d920921efd854e9f1f515b995a https://github.com/modula3/cm3/commit/ff464d30f02268d920921efd854e9f1f515b995a Author: Jay Krell Date: 2021-05-23 (Sun, 23 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Initialize some locals. (#526) Maybe a regression here but probably not (C backend aggressively zeros locals? Only C backend uses these. So only if targeting C from m3cc.) From noreply at github.com Mon May 24 09:50:47 2021 From: noreply at github.com (Jay Krell) Date: Mon, 24 May 2021 00:50:47 -0700 Subject: [M3commit] [modula3/cm3] 7faf91: m3core: Make the coroutine types match between C a... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 7faf912d2ac8e0a8dea5f63edc78b8731fb96d74 https://github.com/modula3/cm3/commit/7faf912d2ac8e0a8dea5f63edc78b8731fb96d74 Author: Jay Krell Date: 2021-05-24 (Mon, 24 May 2021) Changed paths: M m3-libs/m3core/src/coroutine/UCONTEXT/ContextC.c M m3-libs/m3core/src/coroutine/UCONTEXT/ContextC.i3 M m3-libs/m3core/src/coroutine/UCONTEXT/CoroutineUcontext.m3 M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: Make the coroutine types match between C and m3c output. (#527) From noreply at github.com Mon May 24 10:20:43 2021 From: noreply at github.com (Jay Krell) Date: Mon, 24 May 2021 01:20:43 -0700 Subject: [M3commit] [modula3/cm3] baed58: m3core: m3c/c convergence. (#528) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: baed5865bb89f621daf3d91492f38af4eddeb953 https://github.com/modula3/cm3/commit/baed5865bb89f621daf3d91492f38af4eddeb953 Author: Jay Krell Date: 2021-05-24 (Mon, 24 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: m3c/c convergence. (#528) There are some confusions around Word.T. - Is it Word__T or WORD_T? Both exist. - Is it INTEGER or INT64 or an unsigned type (UINT64 or size_t). Both kinda. - Does Word.Divide etc. deal in INTEGER or Word__T? Both appear in imports. This is a mess. WORD_T was likely my accidental introduction. It should be Word__T. However Modula-3's lack of full range unsigned types likely contributed to it. I made WORD_T full range unsigned. The varying imports of Word.Divide I suspect stem from Word being both builtin into m3front and there being Word.ig files to parse. It could also be lack of the new typename feature against the builtins. And this shows up as errors if you combine m3c and C. The builtins should probably use the typename Word__T and then m3c and m3core.h can decide what that is. For Modula3 semantics it does probably have to be signed. It might be desirable to have a full range unsigned type in the C, like size_t, except that size_t is larger than pointers on some systems. WORD cannot be used as that is 16bits on Windows, stemming from MS-DOS. CARDINAL is another entry to this field (and LONGCARD). In this PR, the mess is mostly left as is however m3core.h typedefs Word__T to INTEGER. INTEGER, while signed, is still preferable over INT64 since it is correct for hypothetical 32bit systems (does anyone still use them?) This allows compiling all the W*.c files with m3core.h. From noreply at github.com Mon May 24 10:44:27 2021 From: noreply at github.com (Jay Krell) Date: Mon, 24 May 2021 01:44:27 -0700 Subject: [M3commit] [modula3/cm3] 4b0425: m3cg:Add typename:M3ID.T in many signatures. (#529) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4b042523305602fffb787f76ff1ec4ece51e7587 https://github.com/modula3/cm3/commit/4b042523305602fffb787f76ff1ec4ece51e7587 Author: Jay Krell Date: 2021-05-24 (Mon, 24 May 2021) Changed paths: M m3-sys/llvm/llvm3.6.1/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm5/src/M3CG_LLVM.m3 M m3-sys/llvm/llvm9/src/M3CG_LLVM.m3 M m3-sys/m3back/src/M3C-save1.m3 M m3-sys/m3back/src/M3C.m3 M m3-sys/m3back/src/M3x86.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_AssertFalse.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_Check.m3 M m3-sys/m3middle/src/M3CG_DoNothing.m3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Ops.i3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3cg:Add typename:M3ID.T in many signatures. (#529) For locals/globals etc. this is pretty well motivated. For types (array, indirect, pointer) it is less well motivated. They are not worked through, i.e. not even supported by MultiPass, nor Rd/Wr. If/as m3front/m3c evolve, this will be fixed, at least MultiPass. It is not expected for m3llvm or m3cc or m3x86 to use these. m3c will likely use some. From noreply at github.com Tue May 25 09:10:23 2021 From: noreply at github.com (Jay Krell) Date: Tue, 25 May 2021 00:10:23 -0700 Subject: [M3commit] [modula3/cm3] 296c97: m3core:M3toC: const fixes (#530) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 296c97e5be2e0b84f9562be941cb4a449944c0bb https://github.com/modula3/cm3/commit/296c97e5be2e0b84f9562be941cb4a449944c0bb Author: Jay Krell Date: 2021-05-25 (Tue, 25 May 2021) Changed paths: M m3-libs/m3core/src/C/Common/M3toC.i3 M m3-libs/m3core/src/C/Common/M3toC.m3 Log Message: ----------- m3core:M3toC: const fixes (#530) Const is missing in a number of places here. This shows up when you combine m3c output with m3core.h, in which I made similar fixes. From noreply at github.com Wed May 26 08:47:10 2021 From: noreply at github.com (Jay Krell) Date: Tue, 25 May 2021 23:47:10 -0700 Subject: [M3commit] [modula3/cm3] 756547: m3c: Significantly improve declare_{pointer, indire... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 756547eabc636dffd78c140bf91bf771040e4edf https://github.com/modula3/cm3/commit/756547eabc636dffd78c140bf91bf771040e4edf Author: Jay Krell Date: 2021-05-25 (Tue, 25 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Significantly improve declare_{pointer,indirect,typename}. (#531) - Reenable declare_typename. - In declare_{pointer,indirect}, the new typehash is typedefed to target* (often a name instead of a hash) and is then rendered as target* instead of hash. (Perhaps the typedef is redundant, consider removing it later.) Refactor/rename how typename shares with {pointer,indirect}. Rename "points_to" to "refers_to" to try to capture the commonality. Introduce the base PointerOrTypename_t to Pointer_t and Typename_t to capture the common _canBeDefined. For _define they had very little code in common, like one or two lines, so do not share. From noreply at github.com Wed May 26 09:15:49 2021 From: noreply at github.com (Jay Krell) Date: Wed, 26 May 2021 00:15:49 -0700 Subject: [M3commit] [modula3/cm3] 4e8ffe: m3front: Handle typename on VAR/READONLY parameter... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4e8ffe6a9433c544ad90ef5e5e2b925902872ac1 https://github.com/modula3/cm3/commit/4e8ffe6a9433c544ad90ef5e5e2b925902872ac1 Author: Jay Krell Date: 2021-05-26 (Wed, 26 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Handle typename on VAR/READONLY parameters. (#532) This is for example, so DatePosix__FromTime is declared in a way for m3c and C to agree. From noreply at github.com Thu May 27 13:07:58 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 04:07:58 -0700 Subject: [M3commit] [modula3/cm3] 654aac: m3c / m3core: Repair integer types. (#533) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 654aacbdd1929538f54c26e11fa5662222d8b089 https://github.com/modula3/cm3/commit/654aacbdd1929538f54c26e11fa5662222d8b089 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c / m3core: Repair integer types. (#533) m3front issues: declare_typename INTEGER size_t very questionable declare_typename INTEGER ssize_t ok To cope with this, maybe more than necessary: - m3core.h: provide the various unsigned, unsigned_long, unsigned_int, etc. types. When combined with m3c output and m3core.h comes first, this will lock them in as unsigned as they probably should be. It is in their names, right? This is only needed in as much as these types occur in prototypes in hand written C, so this is probably overkill, which is why I said "and then some". - m3c: In declare_typename, stop replacing types with typenames; so for example INT64 will not change to size_t. Typenames remain for parameters, for which the aggressive typename work was initially intended, but not on types, where I was probably being too clever, not then being used where there are no typenames. This addresses the error resulting from the combination of: ADDRESS Cstddef_I3(Cstddef__ptrdiff_t) ADDRESS Cstddef_I3(Cstddef__size_t) which is obviously wrong. These typename-less prototypes come from special case code in m3front. Another fix would be to give them typenames for consistency. Which is to say, all parameters should have typenames. The types of variables matter less, because there is no "combination", and their uses are full of casts. In working on this, it struck me that VMS needs work. It violates the presumed size matches among pointer, size_t, intptr_t, INTEGER. Like m3core/src/C/VMS will be needed if we ever really run on VMS. From noreply at github.com Thu May 27 13:16:10 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 04:16:10 -0700 Subject: [M3commit] [modula3/cm3] fe32c0: m3core: Unix.i3:Change some int to mode_t to match... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: fe32c03d9384e1c9c8ae5a9b123e97b03913ae81 https://github.com/modula3/cm3/commit/fe32c03d9384e1c9c8ae5a9b123e97b03913ae81 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Unix.i3 Log Message: ----------- m3core: Unix.i3:Change some int to mode_t to match Posix and our C. (#534) From noreply at github.com Thu May 27 13:26:50 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 04:26:50 -0700 Subject: [M3commit] [modula3/cm3] 36c9d7: m3core:Add typename for DIR* so we can replace ADD... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 36c9d779281589a4e8966a7d81143a0a9b542fc3 https://github.com/modula3/cm3/commit/36c9d779281589a4e8966a7d81143a0a9b542fc3 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core:Add typename for DIR* so we can replace ADDRESS. (#535) From noreply at github.com Thu May 27 13:31:08 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 04:31:08 -0700 Subject: [M3commit] [modula3/cm3] 4f4871: m3c: st_mtime is a macro on Unix and cannot be use... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4f4871a921462eda100153e7279fe1a852651794 https://github.com/modula3/cm3/commit/4f4871a921462eda100153e7279fe1a852651794 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: st_mtime is a macro on Unix and cannot be used along with include (#536) sys/stat.h. Replace it with another. From noreply at github.com Thu May 27 13:41:47 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 04:41:47 -0700 Subject: [M3commit] [modula3/cm3] e9d5de: m3core: DragonT.strtod was declared incorrectly. (... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: e9d5de7e0725a9c1e008436a3e0b9c3e11bb9f92 https://github.com/modula3/cm3/commit/e9d5de7e0725a9c1e008436a3e0b9c3e11bb9f92 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-libs/m3core/src/float/Common/DragonT.i3 M m3-libs/m3core/src/float/IEEE/LongFloat.m3 M m3-libs/m3core/src/float/IEEE/RealFloat.m3 M m3-libs/m3core/src/float/VAX/LongFloat.m3 M m3-libs/m3core/src/float/VAX/RealFloat.m3 Log Message: ----------- m3core: DragonT.strtod was declared incorrectly. (#537) Use Cstdlib.strtod instead. From noreply at github.com Fri May 28 06:35:11 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 21:35:11 -0700 Subject: [M3commit] [modula3/cm3] f30341: m3c: Change M3ID.T to Name. (#538) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: f30341744eaada1f50765973467e74442c311335 https://github.com/modula3/cm3/commit/f30341744eaada1f50765973467e74442c311335 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Change M3ID.T to Name. (#538) Just cosmetic. From noreply at github.com Fri May 28 06:42:13 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 21:42:13 -0700 Subject: [M3commit] [modula3/cm3] 13c8ec: m3front: Move declare_typename check for noid from... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 13c8ec20c596561e419f60b99a014a1e46430a62 https://github.com/modula3/cm3/commit/13c8ec20c596561e419f60b99a014a1e46430a62 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Move declare_typename check for noid from caller to cg. (#539) From noreply at github.com Fri May 28 07:02:05 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 22:02:05 -0700 Subject: [M3commit] [modula3/cm3] c2808d: m3front: Pass typename to declare_formal. (#540) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: c2808d2669cbe8a22a078de2942d93e4d043282a https://github.com/modula3/cm3/commit/c2808d2669cbe8a22a078de2942d93e4d043282a Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Pass typename to declare_formal. (#540) From noreply at github.com Fri May 28 07:13:45 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 22:13:45 -0700 Subject: [M3commit] [modula3/cm3] 6c1786: m3front: Pass typename to declare_formal. (#540) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6c1786d0c0344bf9a5dd48475813e9de9ed5b4cd https://github.com/modula3/cm3/commit/6c1786d0c0344bf9a5dd48475813e9de9ed5b4cd Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Pass typename to declare_formal. (#540) From noreply at github.com Fri May 28 07:20:45 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 22:20:45 -0700 Subject: [M3commit] [modula3/cm3] 20596d: Parially revert "m3c / m3core: Repair integer type... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 20596dee04fc46d8f4f7dc5b828182ff448405c4 https://github.com/modula3/cm3/commit/20596dee04fc46d8f4f7dc5b828182ff448405c4 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- Parially revert "m3c / m3core: Repair integer types. (#533)" (#541) This partially reverts commit 654aacbdd1929538f54c26e11fa5662222d8b089. Only in m3c. The m3core change is ok. The m3c change is insufficient because of confusion around unsigned types. We get: declare_typename INTEGER Cstddef_ssize_t ok declare_typename INTEGER Cstddef_size_t not ok Something else will hopefully succeed. From noreply at github.com Fri May 28 07:30:12 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 22:30:12 -0700 Subject: [M3commit] [modula3/cm3] 4295ed: m3c: Cosmetic whitespace and naming in proctype ha... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4295edf561ed442b6754c63c5c55cc0863e0a8b8 https://github.com/modula3/cm3/commit/4295edf561ed442b6754c63c5c55cc0863e0a8b8 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Cosmetic whitespace and naming in proctype handling (#542) prior to consuming formals and return typenames. From noreply at github.com Fri May 28 07:50:40 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 22:50:40 -0700 Subject: [M3commit] [modula3/cm3] 448035: m3front: Fix build Forma.m3 from 6c1786d0c0344bf9a... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4480354f4b645d7ecddc35c1be4817131388fa2e https://github.com/modula3/cm3/commit/4480354f4b645d7ecddc35c1be4817131388fa2e Author: JayKrell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Fix build Forma.m3 from 6c1786d0c0344bf9a5dd48475813e9de9ed5b4cd From noreply at github.com Fri May 28 07:52:44 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 22:52:44 -0700 Subject: [M3commit] [modula3/cm3] 176b3d: m3front: Fix Formal.m3 more, and style. Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 176b3dbb5a958f26fb330dd94a51d4e62ae7758d https://github.com/modula3/cm3/commit/176b3dbb5a958f26fb330dd94a51d4e62ae7758d Author: JayKrell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3front/src/values/Formal.m3 Log Message: ----------- m3front: Fix Formal.m3 more, and style. From noreply at github.com Fri May 28 08:06:22 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 23:06:22 -0700 Subject: [M3commit] [modula3/cm3] 477770: m3c: Fix newlines. (#543) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 4777708dfc7f3d4b4c0e1a0a36be2710064a7467 https://github.com/modula3/cm3/commit/4777708dfc7f3d4b4c0e1a0a36be2710064a7467 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Fix newlines. (#543) From noreply at github.com Fri May 28 08:09:38 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 23:09:38 -0700 Subject: [M3commit] [modula3/cm3] 6f6351: m3c: Consume typenames for proctype return and for... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 6f6351984317fe6792928ce8c5fe872a26d0d353 https://github.com/modula3/cm3/commit/6f6351984317fe6792928ce8c5fe872a26d0d353 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Consume typenames for proctype return and formals. (#544) From noreply at github.com Fri May 28 08:32:36 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 23:32:36 -0700 Subject: [M3commit] [modula3/cm3] 45d884: m3c: Missed a spot consuming typenames for proctyp... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 45d8846d8c599ee1e3b2f00a51caf22d9cc42765 https://github.com/modula3/cm3/commit/45d8846d8c599ee1e3b2f00a51caf22d9cc42765 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Missed a spot consuming typenames for proctype formals. (#545) From noreply at github.com Fri May 28 08:35:51 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 23:35:51 -0700 Subject: [M3commit] [modula3/cm3] c92f74: m3c: whitespace/cosmetic (#546) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: c92f74d1a1d68474b89068b64a2474d7ee4dee52 https://github.com/modula3/cm3/commit/c92f74d1a1d68474b89068b64a2474d7ee4dee52 Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: whitespace/cosmetic (#546) From noreply at github.com Fri May 28 08:51:36 2021 From: noreply at github.com (Jay Krell) Date: Thu, 27 May 2021 23:51:36 -0700 Subject: [M3commit] [modula3/cm3] f1c3eb: m3c: Workaround unsigned type problems. (#547) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: f1c3eb005871b07aecb7e8fbc8855b09a29ed50d https://github.com/modula3/cm3/commit/f1c3eb005871b07aecb7e8fbc8855b09a29ed50d Author: Jay Krell Date: 2021-05-27 (Thu, 27 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Workaround unsigned type problems. (#547) We get declare_typename(INTEGER, "ssize_t") ok declare_typename(INTEGER, "size_t") wrong This is just wrong. The same type cannot be both signed and unsigned. Typenames become the names for the underlying type, and due to typenames occuring in inconsistent order, this leads to errors, when you combine m3c output with hand written C (m3core.h). The workaround is to have m3c try to know all the incorrectly specified types, and when seen, do not replace the underlying type's name with them. Another fix might be to ensure all parameters (locals? globals?) have typenames, and then the names of types without context would never be used. We should consider eliminating unsigned types from use, esp. uint64 on 64bit, and uint32 and uint64 on 32bit. Given C code that is usually just pass through, getting signedness correct doesn't really matter. It has been and remains wrong all along. We only notice when we try to make the declarations visible together. Modula-3 continues to interpret size_t as signed, unless you think to use size_t with Word.T. It is a mess. From noreply at github.com Sat May 29 02:34:56 2021 From: noreply at github.com (Jay Krell) Date: Fri, 28 May 2021 17:34:56 -0700 Subject: [M3commit] [modula3/cm3] 85a178: m3c: Disable typenames again. (#548) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 85a178fd74d5cca623fa1bd3f3897b15be2b8eb0 https://github.com/modula3/cm3/commit/85a178fd74d5cca623fa1bd3f3897b15be2b8eb0 Author: Jay Krell Date: 2021-05-28 (Fri, 28 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Disable typenames again. (#548) There are several problems to fix. - We are issuing typedefs for typenames before the base type is defined or forward declared. - Fixing that is at first easy, you hook Typename_t into the existing framework, where types are defined or forward declared as possible, until done. - However you then run into that m3front omits many typenames. - And possibly the hash collisions. From noreply at github.com Sun May 30 13:03:12 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 04:03:12 -0700 Subject: [M3commit] [modula3/cm3] 3fc7c4: m3front: RefType: declare_typename before declare_... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3fc7c4de10cd25f8ce3f3a911a9c645b829d6907 https://github.com/modula3/cm3/commit/3fc7c4de10cd25f8ce3f3a911a9c645b829d6907 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-sys/m3front/src/types/RefType.m3 Log Message: ----------- m3front: RefType: declare_typename before declare_pointer. (#549) This is a little gross. Most code does not care about the order. typenames are not much of a thing. The C backend however sees a bunch of typenames. Including that it will synthesize many missing typenames, like for parameters (or fix m3front?). Faced with so many typenames, the dilema becomes, what to use for a typeid in the absence of a nearby typename. The first name for most types is or shall be merely a string form of the hash. This suffices for most purposes, but is ugly, and does not suffice for quite all purposes. What will likely be the case, is the first non-hash form will stick. Specifically, the first typename for an indirect or pointer will be whatever is the underlying's current name, followed by a "*". Therefore it behooves us to try to give a nice typename before an indirect. Hopefully a better design will materialize, such as typeid always coming along with typename, and/or pass full "REF m3front Type" to all m3cg calls and let the caller decide what information to use. Again, this is a little gross. The ordering here is a bit of a private interface between m3front and m3c. m3c does work either way, as long as each file is compiled on its own. Another solution will be use nametyped indirect parameters interfacing to C and never var/readonly. C interop is considered fairly special, and small local interfaces are often used, instead of C masquerading as Modula-3, so that would be ok. The time/data code in particular is passing VAR to C. From noreply at github.com Sun May 30 13:05:52 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 04:05:52 -0700 Subject: [M3commit] [modula3/cm3] 77af6a: m3core: Uerror: Replace int with const_int. (#550) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 77af6a046f5964f81a020f9a4a31583984a1117e https://github.com/modula3/cm3/commit/77af6a046f5964f81a020f9a4a31583984a1117e Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Uerror.i3 Log Message: ----------- m3core: Uerror: Replace int with const_int. (#550) C backend will render this as const int shortly, to match up with C, which produces more efficient read only memory. From noreply at github.com Sun May 30 13:10:38 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 04:10:38 -0700 Subject: [M3commit] [modula3/cm3] 3f21ef: m3c: Remove CARDINAL as a special symbol. (#551) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 3f21efd9a140c5f2607b831226b781dd8651ca06 https://github.com/modula3/cm3/commit/3f21efd9a140c5f2607b831226b781dd8651ca06 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-sys/m3back/src/M3C.m3 Log Message: ----------- m3c: Remove CARDINAL as a special symbol. (#551) It was getting replaced with m3_CARDINAL in an upcoming change and breaking stuff. Putting it in the list here was confusing user code with m3c. CARDINAL will not occur in user code, because it is reserved in Modula-3. This is a list of reserved C and m3c identifiers, not a list of Modula-3 identifiers. From noreply at github.com Sun May 30 13:19:31 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 04:19:31 -0700 Subject: [M3commit] [modula3/cm3] 41c6fe: m3core: Usocket: int to const_int (#552) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 41c6feb578acaa72b480ee468f84473dd0b15872 https://github.com/modula3/cm3/commit/41c6feb578acaa72b480ee468f84473dd0b15872 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Usocket.i3 Log Message: ----------- m3core: Usocket: int to const_int (#552) For consistency between m3c and C. From noreply at github.com Sun May 30 13:25:21 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 04:25:21 -0700 Subject: [M3commit] [modula3/cm3] ec91e5: m3core: Usignal: int to const_int (#553) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ec91e5f4bc82ca1e9e26dc82bac0794831c1bacd https://github.com/modula3/cm3/commit/ec91e5f4bc82ca1e9e26dc82bac0794831c1bacd Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Usignal.i3 Log Message: ----------- m3core: Usignal: int to const_int (#553) To match up with C. From noreply at github.com Mon May 31 07:23:54 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 22:23:54 -0700 Subject: [M3commit] [modula3/cm3] 52a1c4: m3core: Usocket: Introduce and use {const_}struct_... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 52a1c4d560bc84f3b8e7eb476f1a88ea10eb495d https://github.com/modula3/cm3/commit/52a1c4d560bc84f3b8e7eb476f1a88ea10eb495d Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Usocket.i3 Log Message: ----------- m3core: Usocket: Introduce and use {const_}struct_sockaddr_in_star (#554) * m3core: Usocket: Introduce and use {const_}struct_sockaddr_in_star = UNTRACED REF struct_sockaddr_in This is "needed" for m3c/C matching, though it is more about a mechanism for const-correctness than about resolving the tremendous differences between Usocket.i3 declarations and Usocket.c reality, which will also be fixed. * m3core: Usocket: Fix sendto address to be const. From noreply at github.com Mon May 31 07:43:55 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 22:43:55 -0700 Subject: [M3commit] [modula3/cm3] f64d7d: m3core: Introduce Utime__time_t = m3_time64_t (=IN... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: f64d7d60c8f21f3d611e7b313a147ff991401b43 https://github.com/modula3/cm3/commit/f64d7d60c8f21f3d611e7b313a147ff991401b43 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h M m3-libs/m3core/src/unix/Common/UtimeC.c Log Message: ----------- m3core: Introduce Utime__time_t = m3_time64_t (=INT64=longlong). (#555) This is to aid in m3c/C convergence. This is a confusing area -- too many ideas to name. Some systems just have time_t. It traditionally was 32bits, but is these days 64bits. Some systems to retain compatibility and widen have a 32bit time_t and a 64bit time_t by some name, such as time64_t. Tru64 for example has time64_t. If the underlying system has an explicit 64bit time, we use that in C. And we call it m3_time_t. Otherwise, if there is no special 64bit time, we use "normal" time_t (hopefully 64bits), and call it m3_time_t also. In Modula3 we have just Utime.time_t and it is always 64 bits, and we convert back and forth through direct integer assignment/truncation/widening to m3_time_t. On some systems, maybe there is lossage, but there are likely no such systems under active development. Also, if all the times eminate from the underlying system and not Modula-3 code (math??) then there is no lossage. We could likely reduce this song and dance and just assume a 64bit time_t, or a sufficient time_t, but that would most likely degrade at least one platform, Tru64. Windows also has both time formats and possibly varying default. We should probably eliminate m3_time64_t and just call it Utime__time_t. i.e. we do have more names than necessary. Take away const, as something not crucial and not generally done well in the system. Maybe restore it later. From noreply at github.com Mon May 31 07:46:17 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 22:46:17 -0700 Subject: [M3commit] [modula3/cm3] 5face4: m3core: Umman: Change int to const_int. (#556) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 5face49039a9e861ab2bfdb3f47db237b702d571 https://github.com/modula3/cm3/commit/5face49039a9e861ab2bfdb3f47db237b702d571 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Umman.i3 Log Message: ----------- m3core: Umman: Change int to const_int. (#556) For m3c/C convergence. From noreply at github.com Mon May 31 07:47:37 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 22:47:37 -0700 Subject: [M3commit] [modula3/cm3] bca4d4: m3core:Umman: whitespace only (#557) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: bca4d416a9a90966e614b2a0dc9bd2612e101885 https://github.com/modula3/cm3/commit/bca4d416a9a90966e614b2a0dc9bd2612e101885 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/unix/Common/Umman.i3 Log Message: ----------- m3core:Umman: whitespace only (#557) From noreply at github.com Mon May 31 07:50:31 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 22:50:31 -0700 Subject: [M3commit] [modula3/cm3] d1b953: m3core:RTIO: Add FmtAddr, FmtHex, FmtRef. (#558) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: d1b953893d4f749ee674a0422f21cfeda83127e8 https://github.com/modula3/cm3/commit/d1b953893d4f749ee674a0422f21cfeda83127e8 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-libs/m3core/src/runtime/common/RTIO.i3 M m3-libs/m3core/src/runtime/common/RTIO.m3 Log Message: ----------- m3core:RTIO: Add FmtAddr, FmtHex, FmtRef. (#558) These do violate comments nearby, and are commented as such, in that they allocate, TEXTs. But I didn't see that mainstream safe Fmt supports Refs and I don't want to loophole just for that. From noreply at github.com Mon May 31 07:58:32 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 22:58:32 -0700 Subject: [M3commit] [modula3/cm3] 703846: m3front: Debug scaffolding. (#559) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 703846a060c2a05883d82272a57f6daf0ebeac7e https://github.com/modula3/cm3/commit/703846a060c2a05883d82272a57f6daf0ebeac7e Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/RefType.m3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Debug scaffolding. (#559) In a few modules Foo.m3, introduce: VAR debug := FALSE; .. . .. BEGIN debug := RTParams.Present ("m3front-debug-foo"); END Foo. so that later: IF debug THEN RTIO... END So then cm3 @M3m3front-debug-foo will enable printing. Even if/when m3c debugging is better, data intensive programs benefit from "logging". From noreply at github.com Mon May 31 08:18:11 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 23:18:11 -0700 Subject: [M3commit] [modula3/cm3] a8936d: m3-sys: Plumb typename through import_global. (#560) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: a8936d2b8a43a6ac931bede7e776b3e356c3f228 https://github.com/modula3/cm3/commit/a8936d2b8a43a6ac931bede7e776b3e356c3f228 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-sys/m3front/src/misc/CG.i3 M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/values/Variable.m3 M m3-sys/m3middle/src/M3CG.m3 M m3-sys/m3middle/src/M3CG_BinRd.m3 M m3-sys/m3middle/src/M3CG_BinWr.m3 M m3-sys/m3middle/src/M3CG_MultiPass.i3 M m3-sys/m3middle/src/M3CG_MultiPass.m3 M m3-sys/m3middle/src/M3CG_Rd.m3 M m3-sys/m3middle/src/M3CG_Wr.m3 Log Message: ----------- m3-sys: Plumb typename through import_global. (#560) This is needed so const_int and const_UINT32 are not lowered, and then m3c and C agree. The point is to preserve const, to keep the "variables" in read only memory, which is more efficient -- is unlikely to suffer copy on write (unless it is mprotected), and will remain backed by original executable not pagefile, and can remain in CPU cached shared instead of exclusive. Later better typing may also be possible. From noreply at github.com Mon May 31 08:30:32 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 23:30:32 -0700 Subject: [M3commit] [modula3/cm3] 983337: m3front: Add some printing, under if debug (#561) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 98333756d6efcfc9083b0997e49713c6a4b00bb0 https://github.com/modula3/cm3/commit/98333756d6efcfc9083b0997e49713c6a4b00bb0 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-sys/m3front/src/misc/CG.m3 M m3-sys/m3front/src/types/NamedType.m3 M m3-sys/m3front/src/types/ProcType.m3 M m3-sys/m3front/src/types/RefType.m3 M m3-sys/m3front/src/types/Type.m3 M m3-sys/m3front/src/values/Formal.m3 M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Add some printing, under if debug (#561) which is under RTParams (command line @M3...) From noreply at github.com Mon May 31 08:54:19 2021 From: noreply at github.com (Jay Krell) Date: Sun, 30 May 2021 23:54:19 -0700 Subject: [M3commit] [modula3/cm3] babe20: m3front: Variable.Declare refactor slightly indire... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: babe20a3ce2120cd0bb53b2e3e230104ef4de1f3 https://github.com/modula3/cm3/commit/babe20a3ce2120cd0bb53b2e3e230104ef4de1f3 Author: Jay Krell Date: 2021-05-30 (Sun, 30 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Variable.Declare refactor slightly indirect param vs. direct. (#562) It is nearly identical code, factor it better to reduce repitition. From noreply at github.com Mon May 31 09:03:59 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 00:03:59 -0700 Subject: [M3commit] [modula3/cm3] cbe1cb: m3front: Variable.Declare refactor slightly indire... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: cbe1cbfb7b1340b48eb86702ec4eea65becf3619 https://github.com/modula3/cm3/commit/cbe1cbfb7b1340b48eb86702ec4eea65becf3619 Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Variable.Declare refactor slightly indirect param vs. direct. (#562) It is nearly identical code, factor it better to reduce repitition. From noreply at github.com Mon May 31 09:16:05 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 00:16:05 -0700 Subject: [M3commit] [modula3/cm3] 1c5e26: m3front: Variable.Declare refactor slightly indire... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 1c5e26c4d9705245e636e6ad203222d1007e032e https://github.com/modula3/cm3/commit/1c5e26c4d9705245e636e6ad203222d1007e032e Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Variable.Declare refactor slightly indirect param vs. direct. (#562) It is nearly identical code, factor it better to reduce repitition. From noreply at github.com Mon May 31 09:17:14 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 00:17:14 -0700 Subject: [M3commit] [modula3/cm3] ba5deb: m3front: Variable.Declare refactor slightly indire... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: ba5deb3b473358f92e5dbb81b8aa494dfc4456da https://github.com/modula3/cm3/commit/ba5deb3b473358f92e5dbb81b8aa494dfc4456da Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Variable.Declare refactor slightly indirect param vs. direct. (#562) It is nearly identical code, factor it better to reduce repitition. From noreply at github.com Mon May 31 09:21:13 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 00:21:13 -0700 Subject: [M3commit] [modula3/cm3] 803b41: m3front: Pass typename for target of indirect para... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 803b41e104cdcb8348cf42836276b57ed8a7e69d https://github.com/modula3/cm3/commit/803b41e104cdcb8348cf42836276b57ed8a7e69d Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-sys/m3front/src/values/Variable.m3 Log Message: ----------- m3front: Pass typename for target of indirect parameters. (#563) From noreply at github.com Mon May 31 11:17:40 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 02:17:40 -0700 Subject: [M3commit] [modula3/cm3] 38c95d: m3middle: Remove unused import to fix warning. (#564) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: 38c95de67210ca62c974bbfcf4cda22a6ea05152 https://github.com/modula3/cm3/commit/38c95de67210ca62c974bbfcf4cda22a6ea05152 Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-sys/m3middle/src/M3CG.m3 Log Message: ----------- m3middle: Remove unused import to fix warning. (#564) From noreply at github.com Mon May 31 11:32:40 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 02:32:40 -0700 Subject: [M3commit] [modula3/cm3] b85b6e: m3core:Fix read/write last parameter to be size_t.... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b85b6e440132c1eb0b382493dfc981de60cb0624 https://github.com/modula3/cm3/commit/b85b6e440132c1eb0b382493dfc981de60cb0624 Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h M m3-libs/m3core/src/unix/Common/Uuio.c Log Message: ----------- m3core:Fix read/write last parameter to be size_t. (#565) From noreply at github.com Mon May 31 11:35:03 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 02:35:03 -0700 Subject: [M3commit] [modula3/cm3] b18fb2: m3core: Fill in various Utypes gid_t, uid_t, etc. ... Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: b18fb2d3638483631a0f5223282cdbd52de623c5 https://github.com/modula3/cm3/commit/b18fb2d3638483631a0f5223282cdbd52de623c5 Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: Fill in various Utypes gid_t, uid_t, etc. (#566) There are so many, you start to see why int or INTEGER have broad appeal. From noreply at github.com Mon May 31 11:37:34 2021 From: noreply at github.com (Jay Krell) Date: Mon, 31 May 2021 02:37:34 -0700 Subject: [M3commit] [modula3/cm3] cf0cde: m3core: Add the const in Ctypes__const_int. (#567) Message-ID: Branch: refs/heads/master Home: https://github.com/modula3/cm3 Commit: cf0cde0c95b21eaf6e5f832432db0deb4fe0d7fd https://github.com/modula3/cm3/commit/cf0cde0c95b21eaf6e5f832432db0deb4fe0d7fd Author: Jay Krell Date: 2021-05-31 (Mon, 31 May 2021) Changed paths: M m3-libs/m3core/src/m3core.h Log Message: ----------- m3core: Add the const in Ctypes__const_int. (#567)