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

    <tr>
        <th>Summary</th>
        <td>
            Internal compiler error in clang::Lexer::LexTokenInternal
        </td>
    </tr>

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

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

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

<pre>
    ```
$ ninja -C build -k 0
ninja: Entering directory `build'
[1/570] Building CXX object src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o
FAILED: src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o
/usr/bin/c++ -DBACKTRACE -DCMAKE -DGIT_VERSION -DLOCALIZE -DSDL_SOUND -DTILES -DUSE_HOME_DIR -I/home/username/github/Cataclysm-DDA/src -isystem /home/username/github/Cataclysm-DDA/src/third-party -isystem /usr/include/SDL2 -Werror -Wall -Wextra -Wformat-signedness -Wlogical-op -Wmissing-declarations -Wmissing-noreturn -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wpedantic -Wsuggest-override -Wunused-macros -Wzero-as-null-pointer-constant -Wno-unknown-warning-option -Wno-dangling-reference -Wno-c++20-compat -Wno-unknown-warning-option -Wredundant-decls  -fsigned-char -g1 -Og -g2 -std=c++17 -pthread -MD -MT src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o -MF src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o.d -o src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o -c /home/username/github/Cataclysm-DDA/src/advanced_inv_area.cpp
In file included from /home/username/github/Cataclysm-DDA/src/advanced_inv_area.cpp:29:
/home/username/github/Cataclysm-DDA/src/vehicle.h:1152:9: error: unknown type name 'vehicle_part_with_fakes_range'
 1152 | vehicle_part_with_fakes_range get_all_parts_with_fakes( bool with_inactive = false ) const;
      |         ^
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/bin/c++ -DBACKTRACE -DCMAKE -DGIT_VERSION -DLOCALIZE -DSDL_SOUND -DTILES -DUSE_HOME_DIR -I/home/username/github/Cataclysm-DDA/src -isystem /home/username/github/Cataclysm-DDA/src/third-party -isystem /usr/include/SDL2 -Werror -Wall -Wextra -Wformat-signedness -Wlogical-op -Wmissing-declarations -Wmissing-noreturn -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wpedantic -Wsuggest-override -Wunused-macros -Wzero-as-null-pointer-constant -Wno-unknown-warning-option -Wno-dangling-reference -Wno-c++20-compat -Wno-unknown-warning-option -Wredundant-decls -fsigned-char -g1 -Og -g2 -std=c++17 -pthread -MD -MT src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o -MF src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o.d -o src/CMakeFiles/cataclysm-tiles-common.dir/advanced_inv_area.cpp.o -c /home/username/github/Cataclysm-DDA/src/advanced_inv_area.cpp
1. <unknown> parser at unknown location
2. /home/username/github/Cataclysm-DDA/src/vehicle.h:809:1: parsing struct/union/class body 'vehicle'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  libLLVM.so.18.1 0x00007f93e23fc3bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 63
1  libLLVM.so.18.1      0x00007f93e23fa4f9 llvm::sys::RunSignalHandlers() + 89
2  libLLVM.so.18.1      0x00007f93e2346227
3  libc.so.6 0x00007f93e1202330
4  libclang-cpp.so.18.1 0x00007f93e9786c32 clang::Lexer::LexTokenInternal(clang::Token&, bool) + 114
5 libclang-cpp.so.18.1 0x00007f93e97f05ed clang::Preprocessor::Lex(clang::Token&) + 45
6  libclang-cpp.so.18.1 0x00007f93e97afafc clang::Preprocessor::CachingLex(clang::Token&) + 188
7 libclang-cpp.so.18.1 0x00007f93e97afe7d
8  libclang-cpp.so.18.1 0x00007f93e97f05ed clang::Preprocessor::Lex(clang::Token&) + 45
9 libclang-cpp.so.18.1 0x00007f93e97fe29d
10 libclang-cpp.so.18.1 0x00007f93e98bd652 clang::Parser::ExpectAndConsume(clang::tok::TokenKind, unsigned int, llvm::StringRef) + 1666
11 libclang-cpp.so.18.1 0x00007f93e98372a5 clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject*) + 7429
12 libclang-cpp.so.18.1 0x00007f93e98385a8 clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&, clang::ParsedAttributes&, clang::TypeSpecifierType, clang::Decl*) + 888
13 libclang-cpp.so.18.1 0x00007f93e9832cb2 clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributes&, unsigned int, clang::Decl*) + 3714
14 libclang-cpp.so.18.1 0x00007f93e9830284 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) + 6772
15 libclang-cpp.so.18.1 0x00007f93e9811e1d clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) + 4317
16 libclang-cpp.so.18.1 0x00007f93e98c3d0d clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) + 205
17 libclang-cpp.so.18.1 0x00007f93e98c3a39 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) + 489
18 libclang-cpp.so.18.1 0x00007f93e98c2c65 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 2197
19 libclang-cpp.so.18.1 0x00007f93e98c0f7b clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 1499
20 libclang-cpp.so.18.1 0x00007f93e97f847e clang::ParseAST(clang::Sema&, bool, bool) + 766
21 libclang-cpp.so.18.1 0x00007f93eb66762c clang::FrontendAction::Execute() + 92
22 libclang-cpp.so.18.1 0x00007f93eb5e40b4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 708
23 libclang-cpp.so.18.1 0x00007f93eb6e363d clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 765
24 c++ 0x000055fc462ee42e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 3694
25 c++                  0x000055fc462eb894
26 libclang-cpp.so.18.1 0x00007f93eb294972
27 libLLVM.so.18.1 0x00007f93e2345f77 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 151
28 libclang-cpp.so.18.1 0x00007f93eb294237 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const + 407
29 libclang-cpp.so.18.1 0x00007f93eb25c518 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 888
30 libclang-cpp.so.18.1 0x00007f93eb25c77f clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 159
31 libclang-cpp.so.18.1 0x00007f93eb278c20 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 352
32 c++                  0x000055fc462eb1ec clang_main(int, char**, llvm::ToolContext const&) + 11180
33 c++                  0x000055fc462f8383 main + 131
34 libc.so.6            0x00007f93e11e71ca
35 libc.so.6 0x00007f93e11e728b __libc_start_main + 139
36 c++ 0x000055fc462e8255 _start + 37
c++: error: clang frontend command failed with exit code 135 (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
c++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/advanced_inv_area-a55444.cpp
c++: note: diagnostic msg: /tmp/advanced_inv_area-a55444.sh
c++: note: diagnostic msg:

********************
[2/570] Building CXX object src/CMakeFiles/cataclysm-tiles-common.dir/action.cpp.o
FAILED: src/CMakeFiles/cataclysm-tiles-common.dir/action.cpp.o
/usr/bin/c++ -DBACKTRACE -DCMAKE -DGIT_VERSION -DLOCALIZE -DSDL_SOUND -DTILES -DUSE_HOME_DIR -I/home/username/github/Cataclysm-DDA/src -isystem /home/username/github/Cataclysm-DDA/src/third-party -isystem /usr/include/SDL2 -Werror -Wall -Wextra -Wformat-signedness -Wlogical-op -Wmissing-declarations -Wmissing-noreturn -Wnon-virtual-dtor -Wold-style-cast -Woverloaded-virtual -Wpedantic -Wsuggest-override -Wunused-macros -Wzero-as-null-pointer-constant -Wno-unknown-warning-option -Wno-dangling-reference -Wno-c++20-compat -Wno-unknown-warning-option -Wredundant-decls  -fsigned-char -g1 -Og -g2 -std=c++17 -pthread -MD -MT src/CMakeFiles/cataclysm-tiles-common.dir/action.cpp.o -MF src/CMakeFiles/cataclysm-tiles-common.dir/action.cpp.o.d -o src/CMakeFiles/cataclysm-tiles-common.dir/action.cpp.o -c /home/username/github/Cataclysm-DDA/src/action.cpp
In file included from /home/username/github/Cataclysm-DDA/src/action.cpp:42:
/home/username/github/Cataclysm-DDA/src/vehicle.h:1152:9: error: unknown type name 'vehicle_part_with_fakes_range'
 1152 | vehicle_part_with_fakes_range get_all_parts_with_fakes( bool with_inactive = false ) const;
      |         ^
1 error generated.
[2/570] Building CXX object src/CMakeFiles/cataclysm-tiles-common.dir/ammo.cpp.o^C
ninja: build stopped: interrupted by user.
```

/tmp/advanced_inv_area-a55444.cpp and /tmp/advanced_inv_area-a55444.sh: [advanced_inv_area-a55444.zip](https://github.com/user-attachments/files/18717496/advanced_inv_area-a55444.zip)

This is inside fresh-ish WSL Ubuntu 24.04.1 LTS with clang++-18

The crash did not reoccur when I stopped the build and tried anew, so I'm not sure I can provide any extra info

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWktT67iX_zRmo3LKluNHFixMHn3z79BQJN30zCYly3KixpY8kpwL_emnjuyAAwmkGW4vpi5FFcY6Pm_9ztGDaM03grFLJ7xywskFacxWqstKPnIiLjKZP106kdf9eqmDh0hw8RdB7hhlDS9z5D4gGLFvnSBFU2GY4mKDcq4YNVI9ISfyLK2DY-ARXvkOnoWx54QTdAUDQD7-808ks78YNUgr6uDZ-Jo8sBkvmXbwjBJDaPmkK9fAG5fKqpJikHPl4BnJd0RQlq-52K2JYmRA63ogHS-dpfPFdAJqfR1PB88aDSQZF8DFwVcOvkLu5Cod_7q6S8dT5E7G1-mv8PeX-Wr9x_RuOb_5DbmTxc04Xcz_GwaWk8V6efP7bxPkTlbzxXSJ3Mnvy-n62831dD2Z3yF37uDZVlbMymNKEPu44WbbZGDKs_aTCeikFUUu10_asAr9408dPDNbrnK3Jso8HTBqjeWClk0ObJaTBUbuPVNKKuTek7KE_x6NIsi9L6SqiHFtUuWCaY3c-1JuOCWlK2vk3ldcay42bs5oSRQxXArdey2kYqZRArn3Qgp3x5VpSOnmxsqSZe5q81QylxJt4MWOqVKSnOV7UuTe1ywnwnCK3HvdbDZMGxfoFM8Zcu8b0WiWuxWhSoLkv5mSLtGuaMrSrSWH9HWpFNoQYawabiMehPwu3O9ECVBS1qB2O5YTsSnhpWIFU0xQ1r7v0gJ7kFY1-YiTYnkjQG3rGI2QW7Q-dOmWKORufOTebJC7wcjVJneCSSfAj5Fbm61iJEfu9QS516uvynXkXs--itcgR678OsXopzL8KDvHS-cCFbxkqMvxHBVKfm4OHZcQpHjkBGmLHf-Y545tOS3ZYOsEqe-H2AlS4IbsBISHLqmQeaoZAp7IwXH31Rrm8_o7N9t1QR6YXisiNqwFYgTckBOP0bvEaMPMmpSlHdW9YQcnKJOyRPYVF4QavmPICSaoIKUGNUbIziQnuAJ59gfk7X-ccOp46e1imi6nSDdZxQ0iKGs2SLFaKoOMRFtjag3ew7NnXw2orBw8K8vd_o9bKwm1A5BK68amFiIi38cUmS1DVBG9RRmhD0YRyhw8RrVitZKUac1ypGWj2tfwJdFaUk4My5FqBNJU8doMHC9dGkIfUN5UdRtUb9Bac6vkRpEKEbVpKiYMaI1-Vouf1eKHV4ufxeLfKxb-ADnBuAuNE0xRTZRmChHzDMSlpDZVHS_Fg08J72N-4gHc-wAmIAp6ZW1UY7GuESAGz2hJtEbQrvewv0X5F7SyOC0bg_RTlcnSlgqNHJwwoRvF0JNs0JbsGLKA2hLxv5lCXMCYQrfp6huSCmlmLJ4yseNKCsA6tCMK-vzF4o_r9fK_rq9uALnu1vCJE3kA5Ha2wAM3zr4eegiVPIOPBloO_GTgI-_R8zwvLkYBw0FBg6yw-gB9kOon3T7cKi6MNW3VQnnyQqTI97XURjFSOTgCOOcCRCIA3iiAGL4Va38OZZNhMTom-64RS74RpPxGRF4yBYVwzz4ZQdDPYT-MsI1PYIkpUEZ9Ch97OAhgaTVsKUoiNi6k9BFPjeIkogFGlqjVcsEemXp-XMkHJuaAVoKUDk56hHaocxSU870pvj90vDQ8Q3bhhSzvy759rqryRYVTUltpw9Dx0ugcS0lBCvq-tDGhWy42Hwr1k8Tx0vgsoSzOHS9NztHwy_wxOkcYwyPQzPc-Jk6yPAoPsuTWglf7PH2sGTWpyMdS6AZgqq-gkQ89TX_lIoeEaURbedopNu5Nl6VRXGzuWPHs7CiKQE__DD2DGJPwlJ72efznn2MAvWtWZUxNXvqDQ61TCl5f1ozygjMFKr7mmqfGKJ41BkpMdIyiLzdfsaouiWFzUciuuz36FRcb0Oounc9vsrY1TfeuiIcYcMLH57giCUnyOVfcc7O9VWRTEf2BV46a_a5jVk81e2YA_7waBzV6Fid2pvnBOQZjmp3M0b3Bra2dAvRI4Je2l1_sK_Ghcu8OnrD9daaftjWILXL6w3OM9XAyfN9YCG0vVB_PyXMNBbWB8Vdl_ZG51taTk7z3GoylMOzxtVuPBqKr4nGMwcVnVKfE95mfv2tdb8o8a_9qxvwLvvq8j_Y1hRj24rMF1y3kHNDPq7rklBuYsdD_PXPtqk7gQ0_iR2f4lQa597Ffb9SsERRcO2HF8QbkTBT-kKJD3ONheuPw1mDsQZ31z2gBEhqQYHRuHh2YzQV_C1A_xOrX4T5h9dC2qX5yjtWYRu9X4uljG9STNfhHWdpF0B_ZlD2jV0qoV8TZu8asZL1gO1a2kN634qYm_9OwW6OcYPwKGH5Rsqmh0wmmbzVfsoq0T9cyb0o2r2qpYOliWL8THY7syuGMJi4ukmHM3liRLlevKiAI7rf1h-19bLsx_HE3lkVRHOGDjnumADZEntoM33ePjDZg0_NaaAQQjT_ucbKQDb3soAqOZVXzkqm53Vih7EBEJ_XA2FcavTg29qDxwB83HlnEgig4ALRO3osyO3ms1XijbK_RiwBe8BDt9_1agWFY0GGEGRtihij11xXh4mANmypFnmxKje2eTldGUptiY3T4Do_RTvK834JEI2hBcPgs-M3PoSZZ0n7wMfBneDQc2eqL4_cX78OwiOPeimCsiN7eMSp3TD3tC8_zipoUrHw68EHRIehaWT-AiahNL-uFbuKEPqjyMZSB3jiI-_HNFd_tZ_947I9lVRGRv07no0Gx22rwrt2TI6UTjI-tfYJpF7HnD9Zr-vjo--0_GdGcrrUl70J9QAwv1kYRbvR--BU7UtrdJql640CSvsz39HkfvgV_D_ASf4yXGQ5p6CcnPWbTnrxBgL0bD-bIqw-B4FRr9A5p-mqb4sWodn0RfAyfYFQcF__UqP_ITJ-26D8yg3brwKJeNlSkLP-wZ-HQfvWzpyYcAvd2SfGuE7oQn3CFH0IlCc4AdhwnFHunxE56zwdIeAQCT7nwX3RFB3whIFOAz8Y9n3WVbY_BewXsVEy7ifRiwUrKssOuXrj3O2Z-4oH44EzxRRIkAQLB7fcBYFkw7G0Ivvmy3Rv0WexTAsThid1Dn8U4ydB6DcNrbYgy654gmyLRibKU4DBE7Tfdgtbx0o704OTROg4VXe1FtItOQXjJcrvdjNgjB0flDPlBCPDdaIbcHTISacYQ79VU0On3rBGm6RjvmNJcCgSJOwjgY7-x435LvCJqw6CEoMckWkdDt6ZuyUXz6G5EA-PtSUclc1ba7XOp-aM979WGlCXLJ1y9OaM7sFRIA70HyjnZCKkNp6jSNi-9dJ8dn_r10peDz3S1Ssff0OrbFM1uFoub-_lvv6CZPeVb3djXV7__gu6mtzd3q1b07bFTy0RDHp48uXwmUKw9oGA5Iqbld47F4CVT1cdORlwShsPhsDsg-SJmevsPQvF_j0Z4hb_4UpLtXb7iJtIho58Hyj8PlP-fXT_qJfjnjpF7DD55dnygwicPjJ95fO2Vohe2QTrEzs97RKfuEfmtKWjDBFNQ3wY_BtirSnZoHE7H_auv7YVYbWRdM-hqkZ3Nqqmh1mZPCGJlderfqLXB_Liw2sJ-VtWE6hpenaT4m9dOOHFw8s7FKlDUJcYQum0vMuFZ0bnGT2I_Ho6i95QAEbZBsz0Y1wh-hQYALBTTW5frLbpfLlDX7eHhwBsOfLRYLdumse3-LcC4frJntL_AlfMcugGkmKS0Uej7lgk03_vd3kxoIwEuM4pDoyPYd7tslmju4Liy39tLD3NEiUC1kjtQj4gn1NYSLgqothf5ZZCPghG5YJd-HIw8D3tD72J7GfhFQRJSJGHMSJaNoqzwijjxwoB5XhQUF_wSezj0sJd4iRdjb5D5oTfyGc1jkmPPi5yhxyrCywEsLgZSbS7szbVLH0dBGF2UJGOltveyMe4cgp1wcqEu7f2MrNloZ-iVXBv9wsJwU7LL_T47dOR2a6qbGVyceUPgolHl5edv3nUm7C7x_wYAAP__pQ-ugg">