Repository navigation
Generated C redeclares glibc's _setjmp when a translation unit has both setjmp and try
#234
thinkoid
started this conversation in
Issue Triage - Compilation
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Issue Summary
On Linux, the C generated for a
tryblock declaresextern int _setjmp(long [25]);. glibc's<setjmp.h>definessetjmp(env)as_setjmp (env), so a translation unit that also callssetjmpcarries glibc's declaration,extern int _setjmp(struct __jmp_buf_tag *), too. gcc rejects the conflict. A valid program that uses both does not compile. Either half alone compiles.Reproducing Source Code
Command-line Options
eccp -x -c t.cpp
Type of Issue
[Back End] There is a problem with the generated C code.
Additional Details
The same with
-A,--c++11 -x,--c++17 -xand--c++23 -x. Seen at e24bb9a.Reproducing (Standard) Configuration(s)
linux-gcc-debug, linux-gcc-release, linux-gcc-debuggable-release
Reproducing (Non-standard) Configuration
No response
I acknowledge that:
LICENSE.txtfile in my.zipor.tar.gzupload. If I included aLICENSE.txtfile, any tests created using the reproducing source code will be governed by the terms of the license I provided instead.All reactions