Thread_local
Attempting to use your CompCert compiler because it supports the _Thread_local
attribute, but it's not working.
I'll try to get the changes needed for the build upstreamed in my project for you, so it's easy to replicate on your end, but perhaps the error details are enough to point to the problem.
The crash is happening when it encounters the _Thread_local attribute.
Fatal error: uncaught exception File "cparser/Rename.ml", line 265, characters 19-25: Assertion failed
Raised at Rename.reserve_public in file "cparser/Rename.ml", line 265, characters 19-31
Called from Rename.program in file "cparser/Rename.ml", line 281, characters 4-43
Called from Parse.preprocessed_file in file "cparser/Parse.ml", line 72, characters 2-242
Called from Frontend.parse_c_file in file "driver/Frontend.ml", line 93, characters 4-244
Called from Driver.compile_c_file in file "driver/Driver.ml", line 56, characters 16-45
Called from Driver.compile_i_file in file "driver/Driver.ml", line 91, characters 4-48
Called from Driveraux.perform_actions.perform in file "driver/Driveraux.ml", line 141, characters 34-40
Called from Driver in file "driver/Driver.ml", line 664, characters 22-70
The upstream CompCert-C (which doesn't support _Thread_local, so the error is expected, of course), for reference, outputs:
Ill-formed declaration.
The following identifier is used as a type, but has not been defined as such:
'_Thread_local'
Fatal error; compilation aborted.
1 error detected.
I built Chamois-CompCert from master today with OCaml 4.14.1, Coq 8.16.1, and Menhir 20230608.
Edited by EXT Jeffrey H. Johnson