<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/65568>65568</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
C++17: [Boost-1.83.0] Assertion failure while parsing MemInitializer of a constructor
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:frontend,
new issue,
crash
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kiranktp
</td>
</tr>
</table>
<pre>
Building Boost-1.83.0 Libraries with latest clang compiler fails.
Note: Build of the Boost-1.83.0 Libraries succeeds with cxxstd=14 instead of cxxstd=17.
$ clang++ --version
clang version 18.0.0 (https://github.com/llvm/llvm-project.git c0703eaec1df4cde861f15e244507ef79f2d3d82)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/tpki/compilers/aocc/up2-dbg/bin
$ clang++ repro.cpp -O3 -std=c++20
...
clang-18: /home/tpki/llvm-flang-src/llvm-project1/llvm/include/llvm/Support/Casting.h:578: decltype(auto) llvm::cast(From *) [To = clang::CXXConstructExpr, From = clang::Expr]: Assertion `isa
<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
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: /home/tpki/llvm-flang-src/llvm-project1/install_dbg/bin/clang-18 -cc ....
1. repro.cpp:53404:1: current parser token '{'
2. repro.cpp:53390:1: parsing namespace 'boost'
3. repro.cpp:53391:1: parsing namespace 'boost::urls'
#0 0x00007f7104a65c7d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/tpki/llvm-flang-src/llvm-project1/llvm/lib/Support/Unix/Signals.inc:723:11
#1 0x00007f7104a6616b PrintStackTraceSignalHandler(void*) /home/tpki/llvm-flang-src/llvm-project1/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x00007f7104a641d6 llvm::sys::RunSignalHandlers() /home/tpki/llvm-flang-src/llvm-project1/llvm/lib/Support/Signals.cpp:105:5
#3 0x00007f7104a66925 SignalHandler(int) /home/tpki/llvm-flang-src/llvm-project1/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x00007f7104160520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x00007f71041b4a7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x00007f71041b4a7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x00007f71041b4a7c pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x00007f7104160476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#9 0x00007f71041467f3 abort ./stdlib/abort.c:81:7
#10 0x00007f710414671b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x00007f7104157e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#12 0x00007f70fd321018 decltype(auto) llvm::cast<clang::CXXConstructExpr, clang::Expr>(clang::Expr*) /home/tpki/llvm-flang-src/llvm-project1/llvm/include/llvm/Support/Casting.h:579:10
#13 0x00007f70fd53db82 clang::Sema::BuildDelegatingInitializer(clang::TypeSourceInfo*, clang::Expr*, clang::CXXRecordDecl*) /home/tpki/llvm-flang-src/llvm-project1/clang/lib/Sema/SemaDeclCXX.
cpp:4720:5
#14 0x00007f70fd53d01c clang::Sema::BuildBaseInitializer(clang::QualType, clang::TypeSourceInfo*, clang::Expr*, clang::CXXRecordDecl*, clang::SourceLocation) /home/tpki/llvm-flang-src/llvm-pr
oject1/clang/lib/Sema/SemaDeclCXX.cpp:4801:14
[repro.tar.gz](https://github.com/llvm/llvm-project/files/12545058/repro.tar.gz)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8V1tzI6sR_jXohdIUl7k-6EGXVWWrNsnm2En5TcUAGhEjmAJmLZ9fn4LRfX02Xmdz_GBJQH90f_3RNMx71RkpZ6BYgGI1YUPYWTd7Vo6Z59BPWiteZ4tBaaFMBxfW-jDFWU0zBL-o1jGnpIcvKuygZkH6ALlmpoPc7nulpYNbprTPAFoBNB___80GCegcJlBotzDs5B8B-4FzKcVxB344-CAAXeEcKuODZMn-MlzdbARIPnoDyAKQBZxOv0nnlTXj9OjocQjiOkMZgoDUuxB6D-gckDUg606F3dBm3O4BWWv97fQx7Z39t-Qh61SAHFWISiY5FtucC1mXeIsLSfK8QJXcVs2WCCpqAkgz7v3IXCdDZOFQl5synw7m2dgXM9XKDIdpZ4bjup2LQe6tkDqu7q1Xh3Hqs_GBaS3FSrk4Bch6Z_cSkHXonxUg61MKPCBrZjkHZD30ZCraDpB1q8zbJDnZO5vxvofTv1M4HYnl4yRBo02WZVcUTnH95v6JpW1a4R2_ow1f2FSG60HIy8DD0PfWBUDWS-aDMl22A3ReVGkbIbkOr70EpGZDsIA0MJnROaBzznwApF47u4eAzOMkKBaPFgK6OkaZ1i2fnpbW-OAGHj4degfIEo5Gt-vSXLGK-869ly5EpYASKc-O7NHlowX0EyD1v5hO-5ESkBICQpIzdPn4Os7HSea6YS9NiKpVJiaIBdVqCceIMCAEkCqdGSmOHH_98mn-8An6od2rABlshy4myboAg4U_J9bItveDjJKAzAh45D4dQe6Y38GW8efgGJeRkz6pgUvvpYDeDm4cjpbMe8sVC1JANxjouVN9OLr8EBh_hmLY99GzNIQy-NXZzrH9mQT_MdWoUfebi47J-qRDOOUcZmd54gymv7Omo4xojnJA5zjuzgfnYjp65rx0MNhnaSAgFagW8X8CIdmdPW3QyT7axbJo2F76nnEZjdtYys7m9E0faIPfgZE0ODjtz2gQEIogOiCEULWtMMpZWfBKXJ0B_-rHL1-dMiGl4nHMZ31Z5NjLxvrgJNsnwS6hMmGU7wdPsVbtzdH9p1GHOKA6w7TPlOGAzitCY9j4Egy-C6bEZQvvPB8x_sKM0NIBUn-zSpxO9__X3aZOWTp7S-68zbEo36L-t8HcOO2P5_-XuXvyc9QTRkVU1cVPes9qQwp4T-OfkvEc01sK8xvXcIkKkm7dM-DxQrxchGmCZ95mJSALdMhJQdD5Jo2YxS1mm7OKw82mD-n23DwrrTdq32sZyw5LRTwDZG36oAFZXy_Lks-xPlTlBb98D74J0hmmf4icrjCMLsjVW8jXZj-Eq5s7uPqe3LwqYedTRhLS-BWQdZZ-vXoh-3gZjH0FWTumvEzYpAJ0fsVBcwudl9WWQtbGayhBBTGmLw2N3sXyVp26DIrRdwi4hRujN9oysRF2z9SYF2VSuHF47zvORjiMq-hScwG8rR24qGRT_pyUaCOb8iyliHl1wtFWUIIRrt_Rc9Dlf-ku7puK1BLcD_6PNe3djdS1bGLQ9Cbogoq2JtceP8g9G7-lnn0ltexYxPtsVFBMq99TQbmyeHzt5UPqFz6brU2Bfc_Bd6PLp6ffJLdOrCTXH2bj2M2e6lP0ffyIqMunp1PvmkpnXhF0qZ2RjPyeDIT5D8hYMC__kIZ_DEw_JuHcxPmr2LmZHgG_WJ4K3E9RNwb_fgKP1NUoNTH5kbtiMfY4gbms-z22zT_7lgJkvVU6daeYFHmBiniWb1BPZ3UiZlQ0tGETOcNlk6OyKPJqspvRCpOqxLit8xoXJcaC5TUpG85E0eCymagZQYSiBlWoyIu8ymgjWyllKVglt1tMQY7knimdRdcy67pJ6plnZVGU9USzVmqfXsuEnOjfOmuCNCL170tAiJEvMFmdR1J3HX8Vq4mbpajbofMgR1r54C-bBRW0nC3HFxeuUpNcLK7fx6BYXT1H4mNhcBK-7JSW527yr3J_pcr43mCQn4qSdZPB6dnH3w6Jiv8EAAD___G-82g">