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

    <tr>
        <th>Summary</th>
        <td>
            Ice Issue in LLVM-Trunk with _Complex Type Handling
        </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>
    This crash can be observed in both LLVM 18 and LLVM trunk versions. [https://godbolt.org/z/j1Pedxvrq](https://godbolt.org/z/j1Pedxvrq)
# Command
`clang++ bug.cpp`
# Code
```cpp
_Complex float foo()
{
  float f;
  __real__ f = 0;
  __imag__ f = 0;
  return f;
}
_Complex float bar()
{
  float f;
  __real__ f = 0;
  __imag__ f = 0;
  return f;
}
_Complex float baz()
{
  float f;
  __real__ f = 0;
  __imag__ } 


typedef _Complex float C;
C foo()
{
  C f;
  __real__ f = 0;
 __imag__ f = 0;
  return f;
}
```

# Version
```sh
Ubuntu clang version 18.1.8 (++20240731025011+3b5b5c1ec4a3-1~exp1~20240731145104.143)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```

# Error Output
```sh
Stack dump:
0.      Program arguments: /usr/lib/llvm-18/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name uninit-12-O0_2.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/masked_data/gcc-11.1.0/gcc/testsuite/gcc.dg -fcoverage-compilation-dir=/home/masked_data/gcc-11.1.0/gcc/testsuite/gcc.dg -resource-dir /usr/lib/llvm-18/lib/clang/18 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/x86_64-linux-gnu/c++/13 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/backward -internal-isystem /usr/lib/llvm-18/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../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 -O0 -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -dwarf-debug-flags "/usr/lib/llvm-18/bin/clang --driver-mode=g++ uninit-12-O0_2.c -O0 -dumpdir a-" -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/uninit-12-O0_2-196ef2.o -x c++ uninit-12-O0_2.c
1.      uninit-12-O0_2.c:17:1: current parser token '_Complex'
2.      uninit-12-O0_2.c:10:16: LLVM IR generation of declaration 'foo'
3.      uninit-12-O0_2.c:10:16: Generating code for declaration 'foo'
 #0 0x00007feba0fdfb46 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-18.so.18.1+0xd93b46)
 #1 0x00007feba0fddaf0 llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-18.so.18.1+0xd91af0)
 #2 0x00007feba0fe0210 (/lib/x86_64-linux-gnu/libLLVM-18.so.18.1+0xd94210)
 #3 0x00007feb9fe2f090 (/lib/x86_64-linux-gnu/libc.so.6+0x43090)
 #4 0x00007feba96301ea clang::CodeGen::CodeGenFunction::emitAddrOfImagComponent(clang::CodeGen::Address, clang::QualType) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1de61ea)
 #5 0x00007feba96068a7 clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(clang::UnaryOperator const*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1dbc8a7)
 #6 0x00007feba9604018 clang::CodeGen::CodeGenFunction::EmitLValueHelper(clang::Expr const*, clang::CodeGen::KnownNonNull_t) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1dba018)
 #7 0x00007feba9601ebb clang::CodeGen::CodeGenFunction::EmitCheckedLValue(clang::Expr const*, clang::CodeGen::CodeGenFunction::TypeCheckKind) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1db7ebb)
 #8 0x00007feba9654295 (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1e0a295)
 #9 0x00007feba9648bad clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1dfebad)
#10 0x00007feba95f6ce9 clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1dacce9)
#11 0x00007feba974d70b clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f0370b)
#12 0x00007feba9758f7c clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f0ef7c)
#13 0x00007feba97b1b8f clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f67b8f)
#14 0x00007feba97b2657 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f68657)
#15 0x00007feba97d33c5 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f893c5)
#16 0x00007feba97ccceb clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f82ceb)
#17 0x00007feba97d0a33 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f86a33)
#18 0x00007feba97cba02 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f81a02)
#19 0x00007feba986a09c (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x202009c)
#20 0x00007feba97a2b7e clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x1f58b7e)
#21 0x00007feba83cfc9a clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0xb85c9a)
#22 0x00007febaa207415 clang::FrontendAction::Execute() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x29bd415)
#23 0x00007febaa181674 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x2937674)
#24 0x00007febaa28169e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18.1+0x2a3769e)
#25 0x000055b1c8e83c62 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-18/bin/clang+0x12c62)
#26 0x000055b1c8e81095 (/usr/lib/llvm-18/bin/clang+0x10095)
#27 0x000055b1c8e80256 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-18/bin/clang+0xf256)
#28 0x000055b1c8e8daf6 main (/usr/lib/llvm-18/bin/clang+0x1caf6)
#29 0x00007feb9fe10083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#30 0x000055b1c8e7db0e _start (/usr/lib/llvm-18/bin/clang+0xcb0e)
clang++-18: error: unable to execute command: Segmentation fault (core dumped)
clang++-18: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 18.1.8 (++20240731025011+3b5b5c1ec4a3-1~exp1~20240731145104.143)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang++-18: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
clang++-18: note: diagnostic msg: 
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWt9zo7iT_2uUF5VcQmB-POTBscezqe_sztwkO_voElKDtQGJEyJx9mH_9iuBPRgnmSSzrtu7KpcLhNT9-bRa3Y0Eb1tVaoBLNL9C89UF79zW2EvFa66NfqxN14r2Ijfy8fJ2q1osLG-3WHCNc8Amb8Heg8RK49y4Lf706duvOEgx13K4drbTd_gebKuMbmcYza-2zjUtCheIrRFbl0bmpnIzY0vE1n8htv4z-AJyd2__G81XiKVv784yRBeIhXhp6ppr6e9iKiquS8SuELvCeVfORNOgmH7vKWHoNvz8Q7rYLE3dVLDDRWW4w4UxiKV78ckVogt8eILC4XazscCrzQYXGIUrTMd2VfPyabsF11l9GI-S1VOtObf_ita__rFWlKywH97_3GMDEgp8omc5jFo-a9zlq8rew_D75O4xsRB_G_zx-GG7RXTxe95p1-HeZQ5Oi4N0FsxS3KP0XsQoi2gSBpTNaRAgdhXm83wuAhARD0nwN-ya4O9DpyCaBzSaBVE4ULzltgSHwgXepfEmjkgjSKV0tyOl7vzzrQUucW0kVL5XY1q1Q3RxrVvHqwrkSlnfjti6ay1i61zp5zl-sNZY_LlzTeeeEL1xXNxh2dWNX1l0QWeIZl-sKS2vMbdlV4N27URRpXL_X93XJEj3itl6MBURIsDEWdVU8BwxTKBWjpj8T0xqCxXfEV5VmHgAUlnMCSZStTyvgBQWABNRAbeEt47kUBgLJOfiDrQc-_VI7sGqQoHtmwW3ktzzqgOieQ0tJjVXmhSqGhpwp5VWjgSMfKYbNhMDGCO4U0aT3ua4UQKTRglSwT1UmA03qiWNAkzqwvIaSGOUdmBRuOppFDV3WwLWaoNJUTREGO0sFw6FK6MxKbQh1nRaKl0S3xeTWhjdOtsJZyzhleKtx1t0-kFpSZxn2KJwxTBxvccQ0XTesiSOMHGdhr6hBA3WA5aQd2UJ1j9SukThqpQ5JkXfToSpG1UNLKX3nxVi662pAbF1zds7kBvJHffhVQgSBLNgRocbxNYOWtd2ysHQMpMlJoUw92B5CecXbaE1nRXgpb3sfMP9PrSvgxSTfkI0r4hqH1sH9XSFsPVs9n3YoHzvpuPiY-sgPHQ8-VNaVJ30MMUQA_rO_2tKnxn1r-A4Vuplc3H3wK38kf7XJm6U_0MpRvDqbV3PQPiZvk8Vw85fiKcAXp62H49-vwpMPtN-jTcWBHcgSc2F9SEIfOwnlaqVw0GGSVHqTpB9QkPhKpqxWYBJ0d6phhhpidiCuCNKk7Iu_PLe7QjsBDR-Xfu4dHwjH7gthohDioqXLUaMvS1NEGnVPdg-1PoYtS_LnsZlT2xMDogxTAoupW1Viclqs_m4XG5-WXz7sFn9sfi6Zpvl-nqzuPkVhasAE-Mt5erGY5pIJkEWQ8FmBpMdFi8oR3QR-Gz4pD1cBIn_81lRdNaCdrjhtgWLnbkDjRFLDlUOYgmiC_aSHOr_Yi-oL5Kvvw6RvA-j2BRYgqj4_haxpK-RvMDwdYEf94J0iYWRgAtjXxSHEQsppjtKKU0KyDktZJFHMfbT5wuDcNE-tsPFF6u068uGW8sFIJaOnSx_2JjWWeA1YjFiS6y0Qywbaqa9SzyzqiqVe_4kSGetmfk6C7ErupNZmEfxUC95iMEJRMkL-hzEr52-UaXm1S9cywpsOxSWP40i4AUdUbApCqAsoD8tOmLBkejwSHRWACto9hbRwguNe4lRSLMjgdEx1iwOaQB8qGoHS_nXno-gJzfrTgvXhwff6Ou1hZT2c3Fd89J7tdHgJzV9SYzvDW3rZ_-oy391vLp9bGCchx-FiaOw7fl5MUQ0zcR4gYQ4AD6SnU_J0jjlyfvIfqiV-11z-_i5-fTN149TmvtHflkZi_vCDbHFORnlIuXJyCg-YRTRIH0_o4HKL1A1YKeEPuyaYx7LF2X_R5sH_ZvRv3VVtXFnZcxpkI6MkxPGAeT5-xkvfRYD-dwcvpnys8K9B_fC_6O0PKsZEsjz0Qzp1AzziGXzc-kCylk2H3VlU11RmnP5fpPfCF5x6637ir1zY6pzWs6jlt-3fIJJGsvmRSwgez-b61IbC_JVOuejwYWAbKQxSXVZEsmE_sQ6uHH1SaT2LZPpGNPnwlr--BUKFC6PBiycOyIcfjgj54KGCc1HzmzKeZ4WifiJte9TVKelZ_qHclvTuRthGjjNWGOvA714dM-Xw8KiLPuoclOZc8bBgkKRiNEW4dQWeZCnxfttcWi5MvLxh35wPh5xkqfFyCM64cHi-Ttz8r6OhX6HdsLhY2VyXq1AVFNH_j7-lQD_8dDxWhfmyAnOaIw0niejMaYFSiLDUMxfM8avRnYVjFM6kD4gX0Hh3wF6sm8xzdC-T4tnnfc0C8V8pDqtXBIhBLwav56n-n-IIhNwFK6Sk9mkPAx_juLLxM4IPuZhOIJPT-Yn55S9F_ytaT7BPeyhHlMYWs5r_IBTNuKfFi1pzGkmzqSLUUZpNsZiNi0pEs7yBI5tdTXsSC-Nbrsa7NA4vHr-2EQfrekan3HPaKd5micwYp_UEWkoCpFNXgC_cNvC4ub2JDtAzU_y4XnLtjydi4yPMCepnzOaRMEkMq6t0Q60XBwnuB2IzsHk3f4fz32WyygY4xib5GEepEGcRPikjlAV2P5YRguYQNujnZj2hMk58w3LwiROohF8NLVqGsTZxHH3MEcO9_sjkKe10oTjOVc242ESZ0cee0iS83keiBTSUMQMCxFsau6Fps8XrFt-UqUu8bSNLfG9UfLN2A-nxXQXMBGPkYfFJ_gC-qZXsyN5lGZHHpacyKNsHg-TdGDc76ENfHr4J3X7rTHV0jvVzr2ziBkxFWwej5DSE0iSFzH2YN7HU_DiSGg23dsKKE1DvNl4x9i0jlu3OdLwxt0uFtF0TGrftzD3uBOZU8CD8HchFzndO-TRNwO-a7jA_Y66v-g0zyvAzmAYlhEW-68NwgW-gbIG7Yad1oJ3VQ9AGAv9WSvIV8UPG-XFPlocZOOCqwokll2vue13Ob3orgVM7vs2AKyOVnL2__k4-6mBHrgdDjYX2FkY9rcR869OCVa66Rzm7b5hOKJK8MMWNFYaL_cb_f2hA1tit1UtzmHL75WxWLV4PEDBaH5F_hjv0Xz1LBptnA_5WCpeatM6JXDd9uBOzuIv5GUoszDjF3AZJGGYZixg2cX2EkSe5vk8k0VGecz5nKc55BlNkwjCJC8u1KW3ecCCgEYRo9ksYSxNxZwySAMBRYQiCjVX1cw79MzY8kK1bQeXQZBFWXpR8Ryqtv-qhzEND7h_ihhD89WFvexXQd6VLYpopVrXjmKcchVcXgvA136IN2G_iX3bf8rzoNx2_Jjj9rEB3Nc8SpcXna0uTz7XUW7b5TNh6v3KOyzAxpo_QTjE1j2uFrH1Hvj9JfufAAAA__82Sfw9">