<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/155179>155179</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Crash when using -x hip with unexpected declaration of hipLaunchKernel
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          misos1
      </td>
    </tr>
</table>

<pre>
    a.cpp:

``` c++
void hipLaunchKernel();

__global__ void kernel() {}
```

Run with:

```
clang++ -x hip a.cpp
```

<details>
<summary>Stack dump</summary>

Stack dump:
0.      Program arguments: /usr/lib/llvm-22/bin/clang -cc1 -triple x86_64-pc-linux-gnu -aux-triple amdgcn-amd-amdhsa -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name a.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/a -fcoverage-compilation-dir=/home/a -resource-dir /usr/lib/llvm-22/lib/clang/22 -internal-isystem /usr/lib/llvm-22/lib/clang/22/include/cuda_wrappers -idirafter /opt/rocm/include -include __clang_hip_runtime_wrapper.h -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/backward -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/backward -internal-isystem /usr/lib/llvm-22/lib/clang/22/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /usr/lib/llvm-22/lib/clang/22/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/13/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -ferror-limit 19 -fmessage-length=150 -fhip-new-launch-api -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -fcuda-include-gpubinary /tmp/a-9d9e3a.hipfb -cuid=8cd077ff4dbb1ca8 -fcuda-allow-variadic-functions -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/a-48ab45.o -x hip a.cpp
1.      <eof> parser at end of file
2.      a.cpp:3:17: LLVM IR generation of declaration 'kernel'
3.      a.cpp:3:17: Generating code for declaration 'kernel'
 #0 0x00007ade399d2d3f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-22/bin/../lib/libLLVM.so.22.0+0xbd2d3f)
 #1 0x00007ade399d05f7 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-22/bin/../lib/libLLVM.so.22.0+0xbd05f7)
 #2 0x00007ade399d3afa (/usr/lib/llvm-22/bin/../lib/libLLVM.so.22.0+0xbd3afa)
 #3 0x00007ade38645330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
 #4 0x00007ade430f16d8 (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x1cf16d8)
 #5 0x00007ade433a9ec6 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x1fa9ec6)
 #6 0x00007ade433cd551 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x1fcd551)
 #7 0x00007ade433c6a43 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x1fc6a43)
 #8 0x00007ade433cab5a clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x1fcab5a)
 #9 0x00007ade433c5624 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x1fc5624)
#10 0x00007ade4346f7cc (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x206f7cc)
#11 0x00007ade4339a506 clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x1f9a506)
#12 0x00007ade41f88469 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0xb88469)
#13 0x00007ade43b8d79a clang::FrontendAction::Execute() (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x278d79a)
#14 0x00007ade43b067d4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x27067d4)
#15 0x00007ade43c15a7c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-22/bin/../lib/libclang-cpp.so.22.0+0x2815a7c)
#16 0x000058af667aaf5c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-22/bin/clang+0x13f5c)
#17 0x000058af667a7c84 (/usr/lib/llvm-22/bin/clang+0x10c84)
#18 0x000058af667a706b clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-22/bin/clang+0x1006b)
#19 0x000058af667b5083 main (/usr/lib/llvm-22/bin/clang+0x1e083)
#20 0x00007ade3862a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#21 0x00007ade3862a28b call_init ./csu/../csu/libc-start.c:128:20
#22 0x00007ade3862a28b __libc_start_main ./csu/../csu/libc-start.c:347:5
#23 0x000058af667a59c5 _start (/usr/lib/llvm-22/bin/clang+0xe9c5)
clang++: error: unable to execute command: Segmentation fault (core dumped)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 22.0.0 (++20250812082130+296e057d0bf2-1~exp1~20250812082146.1091)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-22/bin
clang++: note: diagnostic msg: Error generating preprocessed source(s).

</details>

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWUtz2zgS_jXwBQUVCT510EGWrExqM1VTSXb2qAKBJoUJCLAA0JYv89u3AErRw44TZ72ze5gqxSHx-PrrZgPdDTDnZKcBFqi4RcX6ho1-Z-yil8649KYx4nHBZnwYULZESfyVyfTDHNHb8EuW90YKvJPDBzZqvvsHWA0K0RrROcpup2nbbadMw9R2i-PoL2eDMKpuUbU-B58mfRw1fpB-91Q4SpZcMd1NFDDZB_F4YvoEBmUrAZ5J5VB2N727se-ZfUTZ3SfP-Bcsxn5A2QrRzalnmnzeH96TGUrmv1nTWdZjZruxB-0dypYY0c3oLKIbJZvwV933hFJEN43UiG4iX0w4TzHxVg4K8L4ut2VOBk6U1OOedHrEhI37Yz_rRcc1Yb0I_3aOYQK99MQ0f2ASKAlpMSOYCOlYo4C0FgATroBZwpwnDbTGAmkY_wJanMZFbvdgZSvBxmbOrCD3TI1ANOvBYdIzqUkr1dQw2RaT3oIynHlpNOmNAIUHyTEZJCcK7kFhOr1IRwYJmPStZT2QwUjtwaJszZTCpO2Z3xGwVhtMWm2INaMWUnckdGDSc6OdtyP3xhKmJHOBUTvqB6kF8UEHh7I1xcQz24EnfBiDNUmZY-JHDbGhAw02sBPQjF0HNnRJ3aFs3YkGkza2E276QapJJSEDR0Q3O9MDohuGScvNPVjWwfcGWnBmtBxC37edYXo_OO-GUkyiZTRTRLpH56H_8bmIbqTmahSBAR8F2z5YNgxgHSZSSMtaD5GKGTyiG2t4f5oSBE8P222E3O7ksLWj9rKHI9Bs931-HeeIbg6-_NWREd2kGaKb2ezpnzPShz0kDP7vSnpm1l8n_FxS2BAY__LArPjbtv9L2_7IunoRxXCmfnDoT2r5zNin0mAfHvhTqd_-QC_Pfr2Iv439lxq7FTBY4MyDID3jNgRRsNZYomQvPU7nIcSCcyFqKdBdSKHWaZFg0u7kQDQ8EBVzNcIGiUnb6ZGHfMBJo1G2zmd0lmLSui9yIEZYwnfAvxCpSde3ISLu9wT2HIYQCkNgvnjhRhlLhGSdNs5LHttGwY7xhnTD2EjN7GNQzfdDCJ9kLuaQsdlODm2DCR-lQNm65iKpqrbNRdOknNVHJKaUeSD3zEomJA-JAT9KZ0JYJztM1tvtu9Vq-8vy97vt-l_Ljxu6XW3eb5effg22wMScS89r1uTFzFxnkmnI9lC2AtOi7A4PzDqwmHkc0inT4pAfoWRJw7BjnpyhbJlWISP88OH3X_H7j1MiEvOGMEcAV-zwimh1zIQrlCyz53HeHebrDnMjALfGvoSCEc0SnOyTJEkqJiCbzwUVWYvDIgxZbLZ0j256-M1K7WOO-9kyDojWp0GWPWyN8xZYj2iJ6ApL7WO-HtL2F5PduKAOXbIJdpg5M6N0liB6m-ybyCfUBxPb9IptUrTVc2w_jvqT7DRTvzAtFFh3LCD-c0JB5IkQvSKUsZa9hZSAc5KSnUupy7zIsuQgZQJ5ZktSsuEBtIyIccoJMD8DzLOkTUtRv5p23JoJH4YL7imPaCdZxYWsjM2Bl3ja1uO3WhkB70BfvGwOC3VqPLg1hE5E67O572KtuAaugtedHOHrfLoMHd-U9u448L1uDY7FRPTg13vKN4zRRnVPxigvjcFFUaTfM8avRowKpqa7XvpJ6SPzNbRSy0nZHzHN1P57qOCidd5O1ajMSdXqStWS5dnPqfp_pGJQ4qRifaUiawr2cyp-W7E3JB_oncjPr8gXJc1fS_6zGT6Ean6ieq7C1PK2xg8MJ_4hFCQX_POyrTh_I1k0iWgnWemlreasSC72sNvp4GRltBt7sFPjFHteNtE7a8bhI7RvaafI7sT9PETlaVvXeTk_5_5byFWWnz5fkvsEPTsE88YYdfr_rXg2kciJZnZh4qYW1fxiLW2s0R60WJ4Fhrs98NHDTwb3b3z7Koo-EbuMlU1SVuJqnfSDVGDfa-eZ5nBB7cD2wrRXmrxlvKFVpHcifxl8eVqwip-TP9A86XB_OLS7pPxEx7dc2bSOtE6kj0GyqFlblhVjbcEx5-m2ZwH0LPNcWssew_LJVnzH7DGCL1F2F-P-RRtdxSPlH-Z-PDhO9mnWFmf8qit-Fa_z1-ElvD77SPU1XlI200c6ahzz6UmfSH95GfA-G6NWwan2_pVJzDmnpGxOnOaXnJoiqTMc2LwOFJI6-wpKk8s8lrKUM7zdBs_YOs-s33KmVFQaB8fhbjz6kHt0AgaH6EYPXh3c6XrSbIeyZZXHmmiSmF5LpHWD4_iQUVwLmR4DMonIMx5KK1qjbEmTAyJ9DvFCh-foP4uc5aFqKw7A2ZUXFHNe4AnyVTaHOS8mk5_dfITqMFb-4WHUrFGAvcEwLX_MTd8zLULnJ-h60H4qGFs2qiidGwvxcgPEy9jT7UV72OKOwLhlUoHAYoxiXazNAu7oAJP72AaA5dn2E4T8sxm1Hw-Yh2MHHPaN2aH8CeJpQoukTmlS0zTUOLd0XkJSVCJpWkrSP2E_pH-eD8rLWZrMD5nq53gvEJg_c8kS-ncWmMDxCiOMGoyTe5Qs406oFIi1tN-91HliLm18iBP4dPiBexf2WnwXDPn1IEB3eLAwWMPBORB4ujhAtHaIzmdfb60Q3VxcXN2IRSbm2ZzdwCKtijIpsnmd3OwWFWN5DXkCJUuaKkkznol5znjC6lbkRXYjF5OlaJ6WeUmTWTFv67Is6qYpyoLTFuUJ9EyqWdBwZmx3I50bYZEWRVrNbxRrQLl4SUiphgccexGlqFjf2EU0SzN2DuWJks67E4yXXsFiZZnb4YcdaDy6oP7hnOVB-h0eNewH4D440tmphmmv7xRvRqsWO--HeBxAN4huOul3YzPjpj98neNHGqz5A7hHdBOphh3moMv9gv47AAD__yla13s">