<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113285>113285</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-19 crashed with nodebug atrribute at O1 level.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
iamanonymouscs
</td>
</tr>
</table>
<pre>
Clang-19 crashed with nodebug atrribute at O1 level.
Compiler explorer: https://godbolt.org/z/aKGP6Er7T
```
$cat mutant.c
int a;
void b();
static void c() { b(&a); }
void __attribute__((nodebug)) b(int *) { c; }
$clang-19 -g -O1 mutant.c
mutant.c:3:20: warning: passing arguments to 'b' without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
3 | static void c() { b(&a); }
| ^
mutant.c:2:6: warning: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C23, conflicting with a subsequent definition [-Wdeprecated-non-prototype]
2 | void b();
| ^
mutant.c:4:31: note: conflicting prototype is here
4 | void __attribute__((nodebug)) b(int *) { c; }
| ^
mutant.c:4:38: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
4 | void __attribute__((nodebug)) b(int *) { c; }
| ^
mutant.c:4:42: warning: expression result unused [-Wunused-value]
4 | void __attribute__((nodebug)) b(int *) { c; }
| ^
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /usr/lib/llvm-19/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mutant.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debug-info-kind=constructor -dwarf-version=5 -debugger-tuning=gdb -fdebug-compilation-dir=/home/code/reduce -fcoverage-compilation-dir=/home/code/reduce -resource-dir /usr/lib/llvm-19/lib/clang/19 -internal-isystem /usr/lib/llvm-19/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O1 -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/mutant-0696c3.o -x c mutant.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'mutant.c'.
4. Running pass 'Debug Variable Analysis' on function '@b'
#0 0x00007f803e302246 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea7246)
#1 0x00007f803e2ffe20 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea4e20)
#2 0x00007f803e30290b (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea790b)
#3 0x00007f803cf3b520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007f803e62b837 llvm::LexicalScopes::initialize(llvm::MachineFunction const&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x11d0837)
#5 0x00007f803e62f791 (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x11d4791)
#6 0x00007f803e6e2738 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0x1287738)
#7 0x00007f803e4506f4 llvm::FPPassManager::runOnFunction(llvm::Function&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xff56f4)
#8 0x00007f803e455fe3 llvm::FPPassManager::runOnModule(llvm::Module&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xffafe3)
#9 0x00007f803e450e4e llvm::legacy::PassManagerImpl::run(llvm::Module&) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xff5e4e)
#10 0x00007f8046e0dc7e clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1e20c7e)
#11 0x00007f80471b3132 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x21c6132)
#12 0x00007f8045c1c739 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xc2f739)
#13 0x00007f8047caf0b5 clang::FrontendAction::Execute() (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2cc20b5)
#14 0x00007f8047c1f2f4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2c322f4)
#15 0x00007f8047d2bdee clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2d3edee)
#16 0x0000555f81cd1bc5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-19/bin/clang+0x11bc5)
#17 0x0000555f81ccead5 (/usr/lib/llvm-19/bin/clang+0xead5)
#18 0x0000555f81ccdc9b clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-19/bin/clang+0xdc9b)
#19 0x0000555f81cdbf36 main (/usr/lib/llvm-19/bin/clang+0x1bf36)
#20 0x00007f803cf22d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#21 0x00007f803cf22e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#22 0x0000555f81ccc765 _start (/usr/lib/llvm-19/bin/clang+0xc765)
clang-19: error: unable to execute command: Segmentation fault (core dumped)
clang-19: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 19.0.0 (++20240722031324+65825cd5431c-1~exp1~20240722151445.1819)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
clang-19: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-19: note: diagnostic msg: /tmp/mutant-4e1a9b.c
clang-19: note: diagnostic msg: /tmp/mutant-4e1a9b.sh
clang-19: note: diagnostic msg:
********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8WU1z46jT_zTkQuGSkGTZhxwcO56ZejJPUpPs7tGFoCWzI4EWUCbZw372f4HkFznJTDKTXVcqtqDp_nXTbwJmrawUwDnKLlC2OmOd22pzLlnDlFaPje4st2eFFo_ny5qpisRzzA2zWxD4m3RbrLSAoqswc8bIonOAmcPXMa7hHuoJilYoWvT_l7ppZQ0Gw0NbawMGJQu8da61KFkgukZ0XWlR6NpNtKkQXf-N6Jr934eb6aXJ7445oWk0_PWPNOXM4aZzTLkJ7welcpih5KJ_utdS4ALRGaLz_aB1zEmOwxzv5zDKLwa6KetpMcpXR0w2G-Zcr-lmEwhngwk8OZ2H1V44oosdQz5icwC9MyipMLmOTxTYPyWLBCULGnlzfWNGSVX5n63fOlVhZqquAeUsdhojmheI5mFrdOcww63RTrvHFrC0WEBrgDMHAkuFWV3jezBWamWxLvESMyU8mdIO265ttRkolzTBKLsgfxwYEKUV2TNH2aAcxhgnGOVL_Fbr4vDxK5_5oOzyiVUoShbTE6MwXHaKO6kVFsBrZlj4_WvmcAYCDbOY4b_BaNIywxpwYI75BTMhusRcq7KW3PndCTHCsO0KC391oBwWUEolA6zXm5QGwzzrxQeTPWek1LtP7E2jtAP_fYxuZI0tGDhITA8Sf93lD3v7IsbZyU7qRrqA0W0BH-ytWBNMPdrovUGl3yHvrPDgQNm9jTlNyH7Ijiz7H-uZ0hM94aE1YANUA7arHe5UZ0H0wPvf5J7VHfyLsF-Iuuc_e9Vuri4Xt5fetxvpY8uXAQM-a_hUdJLZpdt2xYTrBtF1Xd_vvry__wncIbqW1nZgEV33cad43QkI2x8KDi4Y_-oM4-BjrDXQGs3BelNZ3Zl-2K9k1mouQ8SaTmHLjWzdUIluHeNfseia1iMLQ9GkV-vG6Mqw5pBP_e4guu6s8VhlsUMczxFdF1Ihug4ZHBPOY0yckW0N-GE23UxT0nJSS9U9kEp1mEAjHdHFn5h40UIazAgmQlpW1EBKA4AJr4EZwqwjBZTaAPH6ghIHuiD9HowsJZgwzJkZnIP4wLCYNEwqUsq6H9iXFEwaA7XmIR2SRguocSs5Jq3kJJRqTPsHaUkrAZOm9CFHWi2V86V6pbQCTMqGuS0BY5TGpCxbwrXym-JQstIKk1JpYnSnhFQV8bSYNFwr60zHnTaE1ZJZD7Ts1DepBHFeNYuSFcXEMVOBI7ztvBnJNMXEdQrCQAUKjEccPJtIVWryVSqBktURf0zEN2ZKMuRxlKyyYUUFxjMLUbeqRIFJ2XPioS3pDSOk1xTR9VY34PdXC_9lQHTcK8_1PRhWwVsWGejd09O97E_9c_AnRNe-Jwh2V6wm0j5aB83r1_pYGqLne1w0Z_UrSYOAinNE14N_753bS4wRXU8mT_89Q_tUms_LRvGnUgfSZ_h8f_XbRYTui5RgjDaklj6b-R0oK9XxI1dKJ3Ti6exX2RItDOFb4F-JVKRqyuAdtTZESFYpbZ3k3suZEMbKCpPVZvNhudx8XPx-uVn9sfiyppvl-tNmcfsZJasYE9-7rV3TIrrug5ZE0_mUJxONyQPmJ81hPCQtlCxBlyi59CXSgvHNt88ZusQ-CfTEdCBeagF9HAXH7SeTYfJLp1RoCZi1vo1c78rrjR_4zBSrwPjWUivcaNHV4Kn2qGg-ZNj0BX6r8JbwOzPSBzxeKFY_WmkHjvtijmiO0sj3sLvSRJMIRw9RFEV5OYsSSCJK0ykONSRZoGRhH23_48ZI5UKGv-vLxOxAZNi3jba-k2sQnfpSIZUL1dAXzO8m-eDKw5Qsrq5-_zyxehLPJxGiF9EDsJymU19q94DjEWBalkCj5wB_6dStrBSrPzIlajB21yb_OqYUaDTCRE-NOI-Kd1F-7nfrSFByLIiXSZHRaBDU83kmK9Sy4J7vNDBNaXYCPh2Bn9JiluRHBr2CB8lZfct1C4NpQ0fIavn32A0-M76VCvbOHUpHcIh3sHoci2iW5CPk2QnyMp_H7yIpzefxSNJ0LAlonszwi5r7qB4io1PXajc8MtZh8J3sQ2d5nsxGqPMR6jSLpmV6hHp944Huss9_jLcss2mZjuDOTuBmJSSvgPs5JMyxJw5D7wWVlZCMoM5PLQspHEGtoWL8cUicB9CfmrbeA_9XAWeQwh6wT5rHaT6dQiR4DrjvagKAy0a6i74nvu5c2zlEZ0fTq0PdvVSVVDDk-SOSj8AEmFtghm-vWxde9A8ZYETqa-UHUD-gugsN6w-IrpiqniM5mPbWGamqL1COh3cWX5wwHIywGJz9eMkn5Uxn5T18gXKp3I0zKFkepu_LIejXsobb0Ayh5NKzsE70M52Sf3WwaU9W-vrZfjPSwWZXRY8WCShZV7uNgBoc_GBhcjnIfKrSUivbNb7PWPyMl_UHarxtx2kHaMTzsa8dV-g0j4skTuj38PTuE6r0nWHK9q3_b0qeOOHi9m6plYOHny0qz6tAYz6NEzpS4bigpxmPeZ7Mj1W48Q3h4vZuDPAWGjb4X6F1ffh-L6iclnkyHyFNRsbmrIyK7Bjp2niT7R26D_YH4J2Dn2yIXrAi5zQqshG2dIwtLmmZjvNAf2j9SVnHFIcRul0Ezl5W5l29gCeUHhUkjz8b4Re0EDBOmj3Sgxr3wyHAGPUTNd8zAKlIQMA4AHfdSpZl5SzmIi54hjmPNw2T47qzMIY9-tyYLPmWmV0KXeySyGiM9mdir4Y_vDSHlqrgY9fIxxA5MJG9iaVfMOI4O-Eo-LzoN2undngp6ZUKOizG6f1O63rIL29sXQ-ovNARqvnJVhRlMsUez9vs55cd86XR-EWAUjF_44sAnYt5NOIZn_KENMKbjV-2sY4ZtzkC_mopkI6l0JN94vk0wz3_N9nEr9sz3t32hENfY3S4_upUeBt2GkMfqJjrpmHK11V8C1UDyvVXGKHAeulcGwgnmCC-z7s_nCyHfLRjjEsmaxBYdEGsDe-fnm9nAZP7MAaA5VGiGIT8VnTKdQPb4VQE-yCfDNt6gegFjWga5ZRGvqKmiF5MsxnNuMjSJOYk_gce2vifHVGcxWmaTeJZfCgYfUvl8T9zkjqQbA0wgcMpZrgJ01Y-9FMhf9U1iJU0Pzy_fWK63RXJ4QgHNzac0u984xf-ju7-hoPzxd3dYvkR3328xOvrq6vrPz79_we8_nR1eYvvrsPwxW8f8JfLm-svd_vj6pvnDr5n1meBFw-_9wQGcDgEBoGZ27N8pQlOjqdSiNm82B1I_RIPu_2JvXivHdndJZ-J80TMkzk7g_M4p_NsNqPT_Gx7zqJMiDnnRVbygpdRXmRZQfME5nw6p5E4k-feoeOI0mgex1E-YdMkmic8z2A6jUUiUBpBw2Q98f430aY6C3cd53Gc0Fl2VrMCahtu4ClV8A2HWUQpylZn5jw4bdFVFqVRLa2zBzZOuhrO-U9czJ91pj7_-SuaAfn9Of1fAAAA__-xnbBY">