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

    <tr>
        <th>Summary</th>
        <td>
            clang crash in CodeGen
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            crash-on-valid
      </td>
    </tr>

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

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

<pre>
    This code can be compiled by gcc but crash clang

```c++
void f(int (&&)[]);
void foo(int a) { f({a}); }
```

https://godbolt.org/z/3qb6x3Y48

error stack
```
8  clang-17                 0x0000000104b9fe48 clang::CodeGen::CodeGenFunction::EmitCallArgs(clang::CodeGen::CallArgList&, clang::CodeGen::CodeGenFunction::PrototypeWrapper, llvm::iterator_range<clang::Stmt::CastIterator<clang::Expr, clang::Expr const* const, clang::Stmt const* const>>, clang::CodeGen::CodeGenFunction::AbstractCallee, unsigned int, clang::CodeGen::CodeGenFunction::EvaluationOrder) + 996
9  clang-17 0x0000000104dab534 clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, clang::CodeGen::CGCallee const&, clang::CallExpr const*, clang::CodeGen::ReturnValueSlot, llvm::Value*) + 3004
10 clang-17 0x0000000104daa3e4 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 632
11 clang-17 0x0000000104e23130 (anonymous namespace)::ScalarExprEmitter::VisitCallExpr(clang::CallExpr const*) + 176
12 clang-17                 0x0000000104e1d08c clang::StmtVisitorBase<std::__1::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) + 4172
13 clang-17                 0x0000000104e13ea0 (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) + 60
14 clang-17 0x0000000104e24384 (anonymous namespace)::ScalarExprEmitter::VisitExprWithCleanups(clang::ExprWithCleanups*) + 80
15 clang-17                 0x0000000104e1d30c clang::StmtVisitorBase<std::__1::add_pointer, (anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) + 4812
16 clang-17                 0x0000000104e13ea0 (anonymous namespace)::ScalarExprEmitter::Visit(clang::Expr*) + 60
17 clang-17 0x0000000104e13de8 clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 204
18 clang-17                 0x0000000104d8ce9c clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*, clang::CodeGen::AggValueSlot, bool) + 148
19 clang-17 0x0000000104d8cd68 clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) + 108
20 clang-17                 0x0000000104fd2984 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) + 632
21 clang-17 0x0000000104fdcbf4 clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) + 844
22 clang-17 0x00000001050a37d0 clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::Stmt const*) + 128
23 clang-17                 0x00000001050a4420 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 1648
24 clang-17 0x00000001050d9c5c clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) + 476
25 clang-17                 0x00000001050cfc74 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) + 648
26 clang-17                 0x00000001050d52dc clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) + 1748
27 clang-17                 0x00000001050ce318 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 232
28 clang-17                 0x00000001052eb520 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) + 164

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUmF1v2zYXxz8NfSMkoEi9XvjCduo0QB88W1us2FVAkZSsjSY1kgrqffqBomRbjp3Ibi82Q2glii-_c_jnOScixtSV5HwO4iWIH2aktRul5x-51itSwxyms0Kx3fzrpjYBVYwHlMig4AFV26YWnAXFLqgoDYrWBlQTswmoILIC8AHARf9vAv1FAVq6q2t9UTULSoCyWtoAoAygpLtyT-Ju8KirUn1nAlAegHTZjQbpkoC07x64u_GaxyAbaxsD8AKgNUDrSrFCCXuvdAXQ-m-A1vivIvmOf4-y40Fca6UDYwn98-zUWeAtvgvT4PQHv0P_C2FU5CWPst47eAHwYqUYf-Ry9LBuJbW16hs_bGu7IkIsdGUAyi6O9V0-1cZ2Llxdt8ovWllldw3_pknTcO0mEOJl69_WlmtilX7WRFYc4NXR3F_s1g4Ixj71Pcd9Pnxv9AmSawqokg53MdyMeriJT3vgD-661rhFYawmtHMj5254KzvJs6CWp8tO2JEXIlrinv-vmXNVHgC0DPI88WrIj9RwvPuMFDGObtv98c7_2hLxddfwN9EfvbmDC19pgggx2oS3JvvMbavlb0S0_ItQdqyOrrmbwDsCQxh5T4TwkicI5jd6wmsp-2mWeOYEox45PI_MEQ4xdEGKSCV3W9WaQJItNw2hvIs8nWYpEUQ7GIdrue49VJsr4D1RmPZyCtG04MJDBjN6eoK6pZVeEuPOrbHMv3p-Dv0NYey5UbW0_sxfbd95Jbhzujd8bHAXLw5mRmE6eB5PtRNz8kM7MQbye7IHGmJ6GF0SQoSz6EeWd63fartZCU5k25jXOOO3e7RsQIsnKwLD_54isnBQRPLvUkR6QREhZvyGrH4Aer38KJYVSokBBu1jazbNOSyjPKfX0y3kbgLapWkXVTXKFscmhENxFeYX0kNGWXKDQ58qqTRn72L3GLDHQHCaJ0uG8uyGrOX1far4kRsPB2ahNdl95uW4gFpYe2SAK4FO0ha6kLZKRovylkyrto1qJXOkLhqp1n6hylUc4wr00GtUZ_jtniqPPrpFvbIROmtLDAlOGbzelqFlqdjuzX3odYEGXUxLSDEkUYSu5Hrk0hXK3L0cMz0KVRDxwKkYC2M__u2Dt3ocOj7JUh1tSm9cMhw-dD6_xZDlNH43XvxPsVbwg4899bD0Ay9rWXvaKbb59tM6MhoqIDQt38WQljR9V-zn0X8O8sG701JXDFmM2I3evgw6VJB7mnSqAzkO3w28pzRfVfOJv_B-7WMm37L3DtpHq2m5K0a8iNG7ib3H8n94Pm0b4Zs_EskEfxvuUau2cdH2cDzOfrWYsTlmOc7JjM_DJIthHOI0mm3mcRlmRcZJTNOShUmcJjhOoxCRMolKFLFZPUcQYRijGIVRjqN7XKI8TYoMpmWOU5qDCPItqcW909a90tWsNqbl8wTlUTwTpODCdF9mEPLwCAG0ck-amM2dkncvRNTMNccPMz1309wVbWVABEVtrDlMbGsr-Lybpf9OU8ug996s1WJ-8nGktpu2uKdqC9C6U77_767R6g9OLUDrDtUAtO5o_wkAAP__CRtVcw">