implement a new CGIR and C code generator #644
compatibility.yml
on: pull_request
Build binaries with most recent GCC version
7m 55s
Matrix: test
All C compatibility tests passed
4s
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/tclosure_issues.nim#L7
imported and not used: 'mutils' [UnusedImport]
|
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
|
|