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

    <tr>
        <th>Summary</th>
        <td>
            Segmentation fault in clang
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    There is a segmentation fault when trying to compile the following program:
```c++
namespace N {

template <int N, class R, class A>
auto get_attribute(R const x) -> A = delete;

struct X {
 int x = 0;
};

template <>
auto get_attribute<0>(X const &x) -> decltype(auto) { return x.x; }

}
```

>From the crash reporter:
```
# Crash reproducer for Ubuntu clang version 17.0.6 (++20231209124227+6009708b4367-1~exp1~20231209124336.77)
"/usr/lib/llvm-17/bin/clang" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-emit-obj" "-mrelax-all" "-disable-free" "-clear-ast-before-backend" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "aggregate.cc" "-mrelocation-model" "pic" "-pic-level" "2" "-fhalf-no-semantic-interposition" "-mframe-pointer=all" "-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" "-sys-header-deps" "-std=c++20" "-fdeprecated-macro" "-ferror-limit" "19" "-fgnuc-version=4.2.1" "-fno-implicit-modules" "-fcxx-exceptions" "-fexceptions" "-fcolor-diagnostics" "-faddrsig" "-D__GCC_HAVE_DWARF2_CFI_ASM=1" "-x" "c++" "bug.cpp"
```

I extracted the relevant parts of the produced debug files. Let me know if you need more info.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VU2PozgQ_TXOxTICm0ByyCGdTHZH2p1Dz37MLTJ2QTxtbFQ23enL_PYVJEBmZnclhHC9st-jvixDMI0D2JH1E1kfV7KPF487fJGtceFlVXn9vvvjAgjUBCppgKYFF2U03tFa9jbStws4GvHduIZGT5VvO2OBxgvQ2lvr3wagQ9-gbInYk_RI0j0p0tujCH8antHqZAuhkwroJ0rKu_H2jtB2VkagRByMi_QT4QeqrAyBPi-feyI-3PxlHz1tIJ5ljGiqPgLhm2eqvAuRXgnfUkbEB7qnRBypBgsRiPiOMUTsVaRfFiV0IL6OO9LFuTz-sPFR6v_pEYd0gPnmy10W4cWiTIOy8b0bZA97BzspnyhC7NHRa3Il4okO5A_My3IK7yN6Qt-OaVEow4UidB4j4M85uS-5oIfJE73uFSCtPdI_q97Ffoi4a-grYBhqISuTNCko4ZtbQnnKRcbTbcZzzkvCn4o03ZbppspFUbLsG1y77NuDkxBFUpaEbydyTvipD0j4yZpqeNvXlmUl4afKOMJPIz3hnBLOmVLZ9BnRdBbuq-umOBc56xSzxvVX1rh-8oPWROarr9O6RbDyyqS1k0WbICsLrEaAmciCRCZDZBXUHoFVUr2A0z_uGdW-ApraAD6ASqJmr9L2wMZin9mlcaw29ma-W2XTIDQyQqLUo0yvxv5jrdcwqe3M7NIZxSy8zhCfgPoibc2cZwFa6aJRzLgI2PlghvNmihplC6zzI0rE8SEmdSvjhQGi87Op7pjyLqJUkYjjck7tPEPfO21cw4Z9M8FY7kN3eWTSGhmWQNS9ezNOsziEMRBxnNVHiQ1Eprp-SS4r8hnuHTyADTjAJSYaqr5hxtWevRiniTg-aJid3iTW7F7RRBzX3-1uAAcS4xoijo2uJjC8B3YBqQGZhm7-kRBHlqkb5v_T0CEoGUGzVipcwgiIHpk1rYl3W7adwcb16kFZnvAke4yzaTtrlIlDTfT2IZzqemVwVdANGV7M_2JS3npk2sjG-RCNWhCpNQYzN9vxfP7lcDj_uv_rw_n49_75xM-H08fz_vPvRBxnVdf7xzTgb6uqbxLVdUN7__eg-kjhOpYT6HFeIVh4lS7STmIM1Nej9T6TNB2zQ4fmCQn9DSJtgb44_0ZNTd99Tx2Apq0frjBX-2Sld0JvxVauYJeVaVnkZbEVq8tOFzJbV2uRVpDCti5yIXlR6s0WMpmqvFqZHU95nvIsy1KRr0VSrNdc1um60LlYAy9InkIrjU2G9k88NisTQg-7TZan5crKCmwYb1rOp_E1XLq4G8dF1TeB5Kk1IYblhGiihd3nn-9d424jeNWj3V1i7MIwyfmJ8FNj4qWvEuXb--Cc5meH_iuoSPhpFBYIP43a_gkAAP__yaNobg">