Skip to content

implement a new CGIR and C code generator #644

implement a new CGIR and C code generator

implement a new CGIR and C code generator #644

Triggered via pull request October 14, 2025 01:58
Status Failure
Total duration 15m 9s
Artifacts 1

compatibility.yml

on: pull_request
Build binaries with most recent GCC version
7m 55s
Build binaries with most recent GCC version
Matrix: test
All C compatibility tests passed
4s
All C compatibility tests passed
Fit to window
Zoom out
Zoom in

Annotations

14 errors and 30 warnings
Test the compiler and standard library (Batch 0): tests/misc/ttlsemulation.nim c#L0
Category: misc Name: tests/misc/ttlsemulation.nim c Action: run Result: reUnexpectedSuccess -------- Expected ------- --------- Given -------- -------------------------
Test the compiler and standard library (Batch 0): tests/misc/ttlsemulation.nim c#L0
Category: misc Name: tests/misc/ttlsemulation.nim c Action: run Result: reUnexpectedSuccess -------- Expected ------- --------- Given -------- -------------------------
Test the compiler and standard library (Batch 0): tests/misc/trunner.nim c#L0
Category: misc Name: tests/misc/trunner.nim c Action: run Result: reExitcodesDiffer -------- Expected ------- exitcode: 0 --------- Given -------- exitcode: 1 Output: trunner.nim(139) trunner trunner.nim(45) runNimCmdChk assertions.nim(35) failedAssertImpl assertions.nim(25) raiseAssert fatal.nim(50) sysFatal Error: unhandled exception: trunner.nim(45, 12) `status2 == status` ("misc/msizeof5.nim", "-d:checkAbi", 0, 1) /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:43:8: error: redefinition of ‘struct Foo1’ 43 | struct Foo1{ | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:23:8: note: originally defined here 23 | struct Foo1{ | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:46:8: error: redefinition of ‘struct Foo2’ 46 | struct Foo2{ | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:26:8: note: originally defined here 26 | struct Foo2{ | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:49:6: error: redeclaration of ‘enum Foo3’ 49 | enum Foo3{k1, k2}; | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:29:6: note: originally defined here 29 | enum Foo3{k1, k2}; | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:49:11: error: redeclaration of enumerator ‘k1’ 49 | enum Foo3{k1, k2}; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:29:11: note: previous definition of ‘k1’ with type ‘enum Foo3’ 29 | enum Foo3{k1, k2}; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:49:15: error: redeclaration of enumerator ‘k2’ 49 | enum Foo3{k1, k2}; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:29:15: note: previous definition of ‘k2’ with type ‘enum Foo3’ 29 | enum Foo3{k1, k2}; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:51:14: error: redeclaration of ‘enum Foo4’ 51 | typedef enum Foo4{k3, k4} Foo4; | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:31:14: note: originally defined here 31 | typedef enum Foo4{k3, k4} Foo4; | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:51:19: error: redeclaration of enumerator ‘k3’ 51 | typedef enum Foo4{k3, k4} Foo4; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:31:19: note: previous definition of ‘k3’ with type ‘enum Foo4’ 31 | typedef enum Foo4{k3, k4} Foo4; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:51:23: error: redeclaration of enumerator ‘k4’ 51 | typedef enum Foo4{k3, k4} Foo4; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:31:23: note: previous definition of ‘k4’ with type ‘enum Foo4’ 31 | typedef enum Foo4{k3, k4} Foo4; | ^~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:55:16: error: redefinition of ‘struct Foo6’ 55 | typedef struct Foo6{ | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:35:16: note: originally defined here 35 | typedef struct Foo6{ | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:60:3: error: conflicting types for ‘Foo6’; have ‘struct Foo6’ 60 | } Foo6; | ^~~~ /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c:40:3: note: previous declaration of ‘Foo6’ with type ‘Foo6’ 40 | } Foo6; | ^~~~ execution of an external program 'gcc -c -w -fmax-errors=3 -fmax-errors=100 -I/home/runner/work/nimskull/nimskull/lib -I/home/runner/work/nimskull/nimskull/tests/misc -o /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c.o /home/runner/.cache/nimskull/msizeof5_d/@mmsizeof5.nim.c' failed with exit code '1' [AssertionDefect] -------------------------
Test the compiler and standard library (Batch 0)
Process completed with exit code 1.
Test the compiler and standard library (Batch 1): tests/misc/tapp_lib_staticlib.nim c#L0
Category: misc Name: tests/misc/tapp_lib_staticlib.nim c Action: run Result: reExitcodesDiffer -------- Expected ------- exitcode: 0 --------- Given -------- exitcode: 1 Output: Hint: gc: orc; opt: none (DEBUG BUILD, `-d: release` generates faster code); 15159 lines; 10.9s; 22.844MiB peakmem; proj: tapp_lib_staticlib; out: libD20210205T172314.a [SuccessX] /home/runner/.cache/nimskull/tapp_lib_staticlib_d/stdlib_system.nim.c:696:36: error: redefinition of ‘NimMainInit’ 696 | /*PROCSECTION*/void NIM_POSIX_INIT NimMainInit() { NimMain(); } | ^~~~~~~~~~~ /home/runner/.cache/nimskull/tapp_lib_staticlib_d/stdlib_system.nim.c:695:36: note: previous definition of ‘NimMainInit’ with type ‘void()’ 695 | /*PROCSECTION*/void NIM_POSIX_INIT NimMainInit() { NimMain(); } | ^~~~~~~~~~~ execution of an external program 'gcc -c -w -fmax-errors=3 -fPIC -I/home/runner/work/nimskull/nimskull/lib -I/home/runner/work/nimskull/nimskull/tests/misc -o /home/runner/.cache/nimskull/tapp_lib_staticlib_d/stdlib_system.nim.c.o /home/runner/.cache/nimskull/tapp_lib_staticlib_d/stdlib_system.nim.c' failed with exit code '1' tapp_lib_staticlib.nim(27) tapp_lib_staticlib tapp_lib_staticlib.nim(24) test tapp_lib_staticlib.nim(18) runCmd assertions.nim(35) failedAssertImpl assertions.nim(25) raiseAssert fatal.nim(50) sysFatal Error: unhandled exception: tapp_lib_staticlib.nim(18, 14) `execShellCmd(cmd) == 0` /home/runner/work/nimskull/nimskull/bin/nim c -o:/home/runner/work/nimskull/nimskull/build/libD20210205T172720.so --nomain --app:lib -d:case2 -f /home/runner/work/nimskull/nimskull/tests/misc/tapp_lib_staticlib.nim [AssertionDefect] -------------------------
Test the compiler and standard library (Batch 1): tests/dll/visibility.nim c -d:release#L0
Category: dll Name: tests/dll/visibility.nim c -d:release Action: run Result: reOutputsDiffer -------- Expected ------- --------- Given -------- exported is not exported exported_thr is not exported exported_func is not exported -------------------------
Test the compiler and standard library (Batch 1): tests/dll/visibility.nim c#L0
Category: dll Name: tests/dll/visibility.nim c Action: run Result: reOutputsDiffer -------- Expected ------- --------- Given -------- exported is not exported exported_thr is not exported exported_func is not exported -------------------------
Test the compiler and standard library (Batch 1)
Process completed with exit code 1.
All C compatibility tests passed
Process completed with exit code 1.
Build binaries with most recent GCC version: compiler/sem/transf.nim#L1318
workaround for sem not sanitizing AST; transformDefSym is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1314
DEBUG proc, do not use in the final build!; inDebug is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1263
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1259
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1254
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1249
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1231
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1213
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1203
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Build binaries with most recent GCC version: compiler/utils/astrepr.nim#L1199
DEBUG proc, should not be used in the final build!; debugAux is deprecated [Deprecated]
Test the compiler and standard library (Batch 0): tests/lang_callable/closure/mutils.nim#L10
non-untyped param must not appear after an untyped param [rsemUntypedParamsFollwedByMoreSpecificType]
Test the compiler and standard library (Batch 0): tests/lang/s01_basics/s99_control_flow/t06_procedure_calls.nim#L112
unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
Test the compiler and standard library (Batch 0): tests/lang/s01_basics/s99_atoms/t02_expression.nim#L102
unreachable code after 'return' statement or '{.noReturn.}' proc [UnreachableCode]
Test the compiler and standard library (Batch 0): tests/global/tglobal.nim#L9
imported and not used: 'globalaux2' [UnusedImport]
Test the compiler and standard library (Batch 0): tests/ccgbugs/tmissingbracket.nim#L14
type pragmas follow the type name; this form of writing pragmas is deprecated [rparPragmaNotFollowingTypeName]
Test the compiler and standard library (Batch 0): tests/ccgbugs/tccgen1.nim#L10
type pragmas follow the type name; this form of writing pragmas is deprecated [rparPragmaNotFollowingTypeName]
Test the compiler and standard library (Batch 0): tests/assign/tassign.nim#L84
type pragmas follow the type name; this form of writing pragmas is deprecated [rparPragmaNotFollowingTypeName]
Test the compiler and standard library (Batch 0): tests/ambsym/mresolution_identifier_1.nim#L1
imported and not used: 'mresolution_identifier_2' [UnusedImport]
Test the compiler and standard library (Batch 0): tests/ambsym/mresolution_identifier_2.nim#L1
imported and not used: 'mresolution_identifier_2_copy' [UnusedImport]
Test the compiler and standard library (Batch 1): tests/lang_callable/macros/tgettypeinst.nim#L203
type pragmas follow the type name; this form of writing pragmas is deprecated [rparPragmaNotFollowingTypeName]
Test the compiler and standard library (Batch 1): tests/lang_callable/macros/tgettypeinst.nim#L196
type pragmas follow the type name; this form of writing pragmas is deprecated [rparPragmaNotFollowingTypeName]
Test the compiler and standard library (Batch 1): tests/lang_callable/macros/tfor_loop_expression_collect.nim#L13
genSym no longer takes a `kind` parameter; genSym is deprecated [Deprecated]
Test the compiler and standard library (Batch 1): tests/lang_callable/iter/titer2.nim#L18
imported and not used: 'hashes' [UnusedImport]
Test the compiler and standard library (Batch 1): tests/lang_callable/closure/tlate_inference.nim#L76
genSym no longer takes a `kind` parameter; genSym is deprecated [Deprecated]
Test the compiler and standard library (Batch 1): tests/lang_callable/closure/mutils.nim#L10
non-untyped param must not appear after an untyped param [rsemUntypedParamsFollwedByMoreSpecificType]
Test the compiler and standard library (Batch 1): tests/defaultprocparam/tdefaultprocparam.nim#L86
Deprecated since v1.4; there should not be `high(value)`. Use `high(type)`.; high is deprecated [Deprecated]
Test the compiler and standard library (Batch 1): tests/ccgbugs/ttypeinfo1.nim#L5
imported and not used: 'typeinfo' [UnusedImport]

Artifacts

Produced during runtime
Name Size Digest
compiler Linux X64 Expired
120 MB
sha256:e72c5f0869019d7487df65cfedc18de58538412090cebd45ef5c13257e5e6ba7