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

    <tr>
        <th>Summary</th>
        <td>
            Clang-19 crashed: Segmentation fault with pragma omp simd and linear clause.
        </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 `#pragma omp simd linear`.

Compiler explorer(assertion trunck): https://godbolt.org/z/e9arYevWx

```
$cat mutant.C
void a (int &x, int &y)
{
  #pragma omp simd linear (uval (x): y + 1)
  for (i = 0; i < 10; i++)
    x += y + 1;
}

$clang-19 -fopenmp mutant.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=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/code/reduce -fcoverage-compilation-dir=/home/code/reduce -resource-dir /usr/lib/llvm-19/lib/clang/19 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -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 -fdeprecated-macro -ferror-limit 19 -fopenmp -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/mutant-392e70.o -x c++ mutant.C
1.      mutant.C:3:44: at annotation token
2. mutant.C:2:1: parsing function body 'a'
3.      mutant.C:2:1: in compound statement ('{}')
 #0 0x00007f44f8fdd246 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea7246)
 #1 0x00007f44f8fdae20 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea4e20)
 #2 0x00007f44f8fdd90b (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea790b)
 #3 0x00007f44f7c16520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f45015193f5 clang::Sema::DefaultLvalueConversion(clang::Expr*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x18513f5)
 #5 0x00007f45017c7822 clang::SemaOpenMP::ActOnOpenMPLinearClause(llvm::ArrayRef<clang::Expr*>, clang::Expr*, clang::SourceLocation, clang::SourceLocation, clang::OpenMPLinearClauseKind, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1aff822)
 #6 0x00007f45017c4950 clang::SemaOpenMP::ActOnOpenMPVarListClause(llvm::omp::Clause, llvm::ArrayRef<clang::Expr*>, clang::OMPVarListLocTy const&, clang::SemaOpenMP::OpenMPVarListDataTy&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1afc950)
 #7 0x00007f450098f7ec clang::Parser::ParseOpenMPVarListClause(llvm::omp::Directive, llvm::omp::Clause, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xcc77ec)
 #8 0x00007f450097ca8a clang::Parser::ParseOpenMPClause(llvm::omp::Directive, llvm::omp::Clause, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xcb4a8a)
 #9 0x00007f450098b774 clang::Parser::ParseOpenMPExecutableDirective(clang::Parser::ParsedStmtContext, llvm::omp::Directive, clang::SourceLocation, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xcc3774)
#10 0x00007f450098bf5e clang::Parser::ParseOpenMPDeclarativeOrExecutableDirective(clang::Parser::ParsedStmtContext, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xcc3f5e)
#11 0x00007f45009ab305 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xce3305)
#12 0x00007f45009a9d56 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xce1d56)
#13 0x00007f45009b28c0 clang::Parser::ParseCompoundStatementBody(bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xcea8c0)
#14 0x00007f45009b39f2 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xceb9f2)
#15 0x00007f45009cd990 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd05990)
#16 0x00007f450090f47a clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xc4747a)
#17 0x00007f45009cc987 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd04987)
#18 0x00007f45009cc33b clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd0433b)
#19 0x00007f45009cb547 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd03547)
#20 0x00007f45009c9a27 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd01a27)
#21 0x00007f45009c930e clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd0130e)
#22 0x00007f45008f76c3 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xc2f6c3)
#23 0x00007f450298a0b5 clang::FrontendAction::Execute() (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2cc20b5)
#24 0x00007f45028fa2f4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2c322f4)
#25 0x00007f4502a06dee clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2d3edee)
#26 0x0000561261a74bc5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-19/bin/clang+0x11bc5)
#27 0x0000561261a71ad5 (/usr/lib/llvm-19/bin/clang+0xead5)
#28 0x0000561261a70c9b clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-19/bin/clang+0xdc9b)
#29 0x0000561261a7ef36 main (/usr/lib/llvm-19/bin/clang+0x1bf36)
#30 0x00007f44f7bfdd90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#31 0x00007f44f7bfde40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#32 0x0000561261a6f765 _start (/usr/lib/llvm-19/bin/clang+0xc765)
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 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: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/mutant-270f77.cpp
clang: note: diagnostic msg: /tmp/mutant-270f77.sh
clang: note: diagnostic msg: 

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWt9T47iT_2vMi0opW_79wENIyAx1zEEN7GzdEyVL7aAdW_LJMhPuYf_2K9lOiEzIwGx2a79Uijiy1D8-anW3pKZtK9YS4NyLL7x4eUY786j0uaA1lUo-16prWXtWKP58vqioXOMgR0zT9hE4-iHMI_IS3yNho-m6pkjVDWpFzVElJFDtJf7M85eePx_-L1TdiAo0gk1TKQ3aIxltW9BGKImM7iT77pHcC-fo0Zim9cK5R1YeWa0VL1RlZkqvPbL6P4-sIKf6f-Dp980-fSvL8Bl-kohRg-rOUGlmi6HxSQmOKPJIJqRBHkk2Hlmg8fnZch_GphfDA0JvqmeJdE-0st-bUe5n5JELFOzoIFSqvqNAXrhEvhdeIPu4QMHw7JGL_rPrj9DG0rC9t8TCi61QS0ddErHtnOBSNSDrZqLt7fXl_O4StV1RC4MoKro10tAobZBRU5CFeeyKGVO1R1ZV9bT9wo1WfwAzHlmJtu2g9cgKUcmRkKzqOCDzCINNoIKy70ZTBhbTRkOjFYO2BY5a1emh2Y6kbauYoAY40p1ELdOiMaOp3BnKviPe1Y2VrG_yZ-hWq7WmNaJ63dUgjRUbeWTVtdqKKYqtsEHukVUhpEdWPTgIMxYgbLRoKkCbLHlIItwwXAnZbfBadghDLQxWxR8IW65caEQxwly0tKgAlxoAYVYB1Zi2BhdQKg3YqgqSv_TruT-BFqUA3Tczqjl-olUHWNIaWoRrKiQuRTU07OYK4VpDpRi16wDXikOFGsEQbgTDFTxBhcjwQ7S4EYBwXWpaA26UkAa0Fy5pVSFc1tQ8YtBaKoTLssFMSTsdxguXSiJcSoW16iQXco1tX4RrpmRrdMeM0phWgrZWzrKTP4Tk2FjNWi9cEoQN1WswmDWdRREnEcKmk9A3rEGCtgJzKLr1GrR9JeTaC5drXiBc9u2Y9et_0JILK7ZHVo-qBjtZitsvDbxjgHDJ1BNouoaPDNIwmJnt97ZxDL974_DIyq6dHkRJKyza59ZAPR27Zswjq9F2doZjBwceWc1mr_-NS8Py2S7wVRD8vZwOjPrnmO9zsguQsu8_qOY_Z_r2vLzQP0pFMVq9s-svanmg72tusLEP7DXXtyfo-OiPs-jXWaOBWceKa8q0dQOgtdK4EjYA7AcKXK5lx6zHaoWSXriMZmQWIFy230WDFdeYPQL7joXE67q0K3KzwbBh0NilaJ2E84OpSmnMBV1L1RrBbBvlXLdijfDy4eHTYvHwef7t8mH5-_zrijwsVlcP87svXrgMEFZWF1M3HlkNPhGHOYHUnymEN2i0rUloC2ao_9u1hvPQC-dRZCMDNYhKqQwdMgv1HeQwisz2BxAvnAe2f0N1K-QalZ1k_RCb8SCPpNQj6TAyfM1vN1xIZN2Uda2oNdSADVE26tvR6YWN2yR9ifEeCX3kb3zf99Myisqs5JxECeqDbjj3wnn73A4Pt1pI04fE-yGuZi-dNP3xoFqjgdYeScY0xiP5wPhoaOztenwliuvrb19mrZoF-cz3yIW_AZqSKHEEDiYCUyD-IYG_dvJOrCWtPlPJK9BtL8xJZIqA-I5MZApi7hcnUT73C4dRuM8oZUESE39kNNA54CIqUTBLN-mJRiSeCB-90Iz9IA7ysIzR4P16IO-gpsPTEkraVea6TyUWSm6XLMn2ul9uGu2R-a9APSSRrGkcGIIsDsIydmSOHZlTlmaETGW-aUB-uR1-z5m5kUPDdZ8yLyrata4Vz7Wmz1-h9MLFAXXCS2vXh_R0Wu_6uH89plAfeflauv8Skp-M_IdenmzqaFlmhDhTl0ymLspj_51T943qa9GaA3OnhiQ9nG_fLdAvT-zNjtG1YvfPqE9MR792RE5HxCU19P65H3RCLFkeu0s33cfSz7MyBbYv4y3Vrc3Kd8_vxnEpNDAjniZQHsC5UKo6nZaMpSkwR8nMVTJlNKPvUPJfqV0R0Yw62uWTKSzSNHqHdpcbYF2_K9rTJTs2jt-Z2iyUNLAxb6jtwHLUd5x60sM0jV6OPEgY-FNYyhjeAcsSWEU1tTrc6L-O0cnVLGNw1AxcNWkR-vFRNe-2Sd2N3umq5Lw0oOfGaFF0BlrH6O9qWlXfwO6rXQdodR0DWEi63g9OfdxPATpiJNPIOIzfF_Igt2mPk4EPYejHDvhkAn7O4-QXwP-3oH06pAIeJw5SoYtUQTLmH5V8MW5CdohdKP7skezECwpoxnxH0mgiaZiX5Kikq3GjNZV0b4yd6zfs2bEOpho4sc0WeUkc_WJXP8bz_PhMbPVbQimkMK_S9dthw7m1Z6XfY5f3UDcVNXAlS_VWfrQ_6poaeFndNvc4qcVyP85z1w4SFye_jNLjSYMF4JNWXfMmPHeNTUymar4Ad3ihvtPtvQnvgcTzPY52pLdS-iuVa7iS4rSQsyiNUupAPklGGcuz9KeQ3-g9A70aD5gOROmPB45XPY5O45wxaFv7rj82P6VtRnmWOkBlU6DCsPgpUGOwcfB6c0GfHK6pjf2dcIVh4cA1yZBZEUfH7epyM5iRG6P_AYhOB0IYR47NkEk-zHJKjoNwr5preIJqCF6Zc9BA_7eDWzNJUHYOsN8pH0hPXs6BvijeVXBVN0qbPm6eNOpxP6DE1T6Yah_6x3cDK6Fb8x8NQeg7OwXiJqtZmSYsfAXB_O7eVbQXeFBjSL1OvqchZcJCR1InWSR5Rv3C2dOstA2Uks97N7Y9jLFbNfjFI9rDohHGiF84KT9x0kOSlZSUzm57WxhwJVtDJQNHulFgB-CJMqc0AsJCQkpnW0yc9I9QP-EA7qFkL-mLGk-7NCE7puYpvRfhIXBwrXebjsVJQJKAplHBYsRY8FBTId88hX2keptd7s7pnDayQE9K8HeLP97pXfibICiYaxrpRMSA8vhDJIFyl2I2oeizfIzzW7X7a5JBqV6HuXswc69UNWaVe1n2xxTlLHfCKcknUkEZJsjK8zH8ijJ09ojuRVJa9JcgH7uaIDl3s3j3rsfShMhHDw922ENrqDYPe4K_mwtELhfiIpKUaRKjgf6HMGFp8mIA29WG-mtP-9BJWlSAjEIwrFLEVF1Tye3LO1jbzedwTdjfsljWTGnoK1CAHyE8lJeUoyfaUkUlFRVwxLueZ9vfhfWVQi0g_NS3ASCx5yJGDr8VnTTdSHa840F2ec_GCb3wyAXxSeSnhPhhEJLIIxdJnJGY8TgKA4aDP2HTBH9uOwVxEEXxLMgsbiOX-76Mw8p_oBZm7PKogXLU16H0l6OqFWOdVe-5qgr4UuifVuC4uEllrF9HL1fEqG77N1uT-AufvaqoseRpfn8_X3xG958v0erm-vrm96v__oRWV9eXd-j-pm---O0T-np5e_P13tsWGt0eKlnKWrv43yxb2nXQgPoaHuCImh3J9-g_ufsmqV-m6Yw1zV8l0T5-dBJONRXbSrwzfh7yPMzpGZwHKUn8iEQkPXs8L3jOCprymEeMZmERk8zPwzznQeHTgPpn4rw34zwI_CwIo3QW5xAmfuKHYVmkEIMX-VBTUc2s1c2UXp_15Wnntn-SnFW0gKrt6xoJkfAD9W89Qrx4eabPe1MtunXrRX4lWtO-kDHCVPCq3PENd9EXQU7rA62xjDWCrL_TmJ11ujr_9Xq7Uaenc_L_AQAA__91DY-6">