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

    <tr>
        <th>Summary</th>
        <td>
            crash on parsing an ordinary C++ header
        </td>
    </tr>

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

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

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

<pre>
    Encountered during `swift build`, my understanding is that they ship their own clang, not sure if I should report to them or here. But I attached reprod source / script (these are from open-source MuJoCo, so we are good):

```
0.      Program arguments: /opt/swift-5.6.1/usr/bin/clang -target x86_64-unknown-linux-gnu -g -O0 -DSWIFT_PACKAGE=1 -DDEBUG=1 -fblocks -fmodules -fmodule-name=C_mujoco -I /home/li
Dropbox/workspace/mujoco/include -I /home/liu/Dropbox/workspace/mujoco/external/tinyxml2/include -fmodule-map-file=/home/liu/Dropbox/workspace/mujoco/.build/x86_64-unknown-linux-g
/user_composite.cc.o
/home/liu/Dropbox/workspace/mujoco/src/user/user_objects.h:174:8: at annotation token
2.      /home/liu/Dropbox/workspace/mujoco/src/user/user_objects.h:133:1: parsing struct/union/class body 'mjCBody'
 #0 0x0000000001e760d3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/swift-5.6.1/usr/bin/clang+0x1e760d3)
 #1 0x0000000001e73fde llvm::sys::RunSignalHandlers() (/opt/swift-5.6.1/usr/bin/clang+0x1e73fde)
 #2 0x0000000001e7557d llvm::sys::CleanupOnSignal(unsigned long) (/opt/swift-5.6.1/usr/bin/clang+0x1e7557d)
 #3 0x0000000001df9bb0 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
__restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)                                                                                                                        #5 0x0000000004254766 clang::TypeLoc::getFullDataSizeForType(clang::QualType) (/opt/swift-5.6.1/usr/bin/clang+0x4254766)
 #6 0x000000000425590c clang::TypeLoc::getBeginLoc() const (/opt/swift-5.6.1/usr/bin/clang+0x425590c)                                                                              )
)                                                                                                                                                                                   clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool, llvm::SmallVectorImpl<clang::TemplateArgument>&, bool,)                                                                                                                                                                                  /opt/swift-5.6.1/usr/bin/clang+0x3bb8975)
 clang::Sema::ActOnTemplateIdType(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::OpaquePtr<clang::TemplateName>, clang::IdentifierInfo*, clang::SourceLocation,
+0x3bbba92)
0x00000000035f5707 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, cl)
#14 0x00000000036187be clang::Parser::ParseCXXClassMemberDeclaration(clang::AccessSpecifier, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject*) (/opt/swift-5.6.1/usr/bin/clang+0x36187be)
 0x000000000361b262 clang::Parser::ParseCXXClassMemberDeclarationWithPragmas(clang::AccessSpecifier&, clang::ParsedAttributesWithRange&, clang::TypeSpecifierType, clang::Decl*) (/+0x361b262)
clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributesWithRange&, unsigned int, clang::Decl*) (/opt/swift-5.6.1/usr/bin/c0x36156ad)
#17 0x0000000003612d23 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributesWithRange&) (/opt/swift-5.6.1/usr/bin/clang+0x3612d23)
#18 0x00000000035f282e clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) (/opt/swift-5.6.1/usr/bin/clang+0x35f282e)
#19 0x00000000035da6ba clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/swift-5.6.1/usr/bin/clang+0x35da6ba)


)

)

+0x26fb5ea)
+0x9456c5)
 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#29 0x0000000002463b72 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_strin
 Job.cpp:0:0
0x1df9957)
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, bool*) const
0x2463699)
/opt/swift-5.6.1/usr/bin/clang+0x2430d24)
/opt/swift-5.6.1/usr/bin/clang+0x24311b7)
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/opt/swift-5.6.1/usr/bin/clang+0x24
49268)
 (/opt/swift-5.6.1/usr/bin/clang+0x943597)
 /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:342:3
/opt/swift-5.6.1/usr/bin/clang+0x94094e)
clang-13: error: clang frontend command failed with exit code 139 (use -v to see invocation)
clang version 13.0.0 (https://github.com/apple/llvm-project.git f765bf5b71fd3637a6f6d1d3e6ab95ca91892a0c)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/swift-5.6.1/usr/bin
clang-13: note: diagnostic msg:
********************

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

********************
[2/4] Compiling user_composite.cc
```
[user_composite-c931bc.tar.gz](https://github.com/llvm/llvm-project/files/8880944/user_composite-c931bc.tar.gz)



</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVWVl34jgW_jXkRQcf79gPeSAsVXSnm0xIT_UbR5YFqGJbHkmukPr1cyUbsIEiRTpnejqHcsnW1V2-u2hLePp6OykIrwpFBU1RWglWrFEvtOULWymUVCxL4a3njlD-iqoipUIqXKSaikmkNljBg74iuWGlbjGB-EuBSIaLtR5VcIVkJShiKzQDKl5lKRK05AIGcj0iR1ygDYi30F2lgAgrhcmGGjLBUyR5JQhFPXeKJBGsVNCMYKCkCAPjleDAoqRFvyH8rfqFj7gWLjl6qYnWnKc9N-55w5497tm7J1hW_8yrbSHz9yD4WuAcBq6rnBZKwjAtnpcKngaZfmCFlgNvlRTwTFgBT2M06isYRxXaRuEy9PtV8VwAIv2MFdW2vy4q1AeauY3648WX2fRp-TAc_Tr8NOl5Ywe-jSd3f3yq26sk4-RZQiPnaZXRQ6tf4JwC0WiZV1854ag_0_ptOHx1pxmrzRkLXiZ8C19euHiWJSa6tx4BDVaQrErp8dgKnm-MpFuIlgJn0FSseN3mmdvmt1Myx2V_xTKt6JUCrDru3Ol5DBvnafCpWBKel1wyRS1CLL7vu0aeFKThtmPKk6-UKGltwPXOwIdnpIMAoh0XENJYMV5A_D7TohboNqHzsYI9Tz-14BILqXNOKlERHYVVARrUMSclSiCRQfYg_zq6gya0arXgm2cje2vv_hw6CO3UQ1n2LdfJ4A3lq6wbD5D6agGp9_wkjJrRgUjglyUH2RTnPTfUqQW0kE86E382MXrunb1t5OtU3CvoHCnorSCKzij4WBULtoa4-wwFKINCZIS_SwctoqODe6RDEAzSczqMMoqLqpw3moDoqpDQhGqVcc3_XepoaR11vI466SpOEhuNBJabR0r4NypeO0iAyMYfHZoRh7K-VRYpS1DdNv-MiOVSUKm4oEuhGn0zlhzybV-r6o5SbcDzqSW5Zdcq-75ra3F_0x8gFLQR8t3AH4RhM-sYRz29lvSek_oFyvG0yrIxVnjBvtMpF7obDG8N-FeFs_rr9S5s5HdcGB4pGMQ2uaTgHV2zQn-og5rwQqr3KKLlfLhr9pb9jU7_C38t2Bc0x00qbyiUOpqXGVZ02Ez190yqblzsKMaUQLoPde1rszNLDnCbmRGOOs8xnxUr3pTQhPNM_38oM4scZ9m_of5zMYOhPW90gVvPm3QZ_SN9c1V4e0kSxYPgkGdnHTskal7s0Jqlp6m-IFx_Ovbl6M8_Tc-ipKRB9mc9PS_xfyr6oMR5l_1ulmuTo0GzFLzIVoyKOijejK1dCtZIJDh290i0ao0XrIKBPWhzeoDVA8wSh7YOZiwMX22tUUJ2QdIk55E44ZbuwQY76sp1OmpICJVyL-0Cz53kZvqqKVsVyHP8dm31QicaJPSihuDakV4o_UbzhIqW9V2bf0LHdKiUYEmlqPwoZB7qtZ3W6nE4m83NCtCEw_UzUQPGIUO6QCVu6L4PqC9MbR4EXudYvoHZWVBasGlOj9BLT0l1qu451Xnb6d_X4B0wO5u1XXub37CvNq0RQ85EwcVMv9j5lqn7taJZrV027U2fG8ODEKed1BgcedxNXe-yx7W7W-5rIwEbnMYxeqfzKyvSa9D4H1SQ3RR6TSX5SW-9K_c02h13RKhbmd3IvVyp_nmV-SzlPcg84Fuvqt5X0GrMOqDGXVBTHCb4TVDnAvbMROM6pqtZsTvBiN5XqVo1-7wrTkB9j-nGsoPp7efRx-NXGO6GqySgreH6Y-wHIWktoCZbSsDU0ch5MqkUXVyMbrDYBdFwt_yMUSoY7DZPd5l6W91xleuHXjJw0TfO2pvrVeMX2JSuQIrprXdBWoYhIaBKgsnzclV0V1i17LoNRox4nsOWuH5vbOsYNRQCvz4aOYeP81KLx1nn40Lpo1BDOkHN4k2qhvVySbZbx6lfEiwZWUpN36D6C09O4YBtM2zk42BwbqL6P7Nj3Xi7Q6w_LJXATB-I1t1H7MBLeirg4tBfixweivVwv7vdwaLDIozjVqBekSSu79mp6797sOMkbzpk3GrvEobnJcvOLB46jmwThW9t9fYolphpAE_XCEe8dYS00xEdUvLaUgMAGgD82A2j9jHGdWxi3wviQXv8dHeSu85YQvqL77Pvg7v9q2t5mhmR-qDJsvZN0ykVFsrSBySe7-rnOxwc-3bs065_-44-VUVUCB2nzR5S3yLAnGAArYFdYZbBSu0F5gBEt0xBR0qR4xlwK0lR_5u-wJCUwmru234F1JaEwFtSHxQ7nmVbth64Uao0R4l67TpdA_MKSgXP4QWXZWYOjiFG-qXgehdgAQVaDcIgWQXJwFmlXugNcLgKUyf1aIiTOCA4dqLYxebUpxb-ZC4gtG0_uoNo6MyxHsrBsExT62P0bd01g6iCAKXpmBmQ3kT9BN-CQ8mC_1OG1wWXihGUSxPIjRv_wq811T3cT4aLCRo-PQ1Hn9HT5wmazu_v519mv39C09n9ZIGe5ubz3R-f0OPkYf74tNfhwVww6Xma7m6ZwEVSJ5COAFgXc8JgIZMiURXN3dOeQFBkih30YrVn-VMIaDRVXp5cYPRJ7DkJMVPHB3LTl2kfyE9uamY_cuxHuTe407dKfi8Yo7qQ6vuPkxufsxd5MPa87lBSrPV3YHk5FU2Z7mYivOq7LPD9NIoiqCr-DwFqhJxbtt2kt14aezG-UUxl9Jbo43oEFWJ3v4MLxEXKCixe0QhKGPzQBpKUiptKZLdX68ykrIzSQRBH9s3mNvY8AjU6IHaYxIPI9j3YsvjRyiaRn0TEu8lwQjN5CxACTDfs1rVd1w4d2xl4nutaUUxx5PtRggdOGEMo-TbNoVRaWrDFxfpG3BodkmotoTODpb88dEJO6R0w3fHHldpwGMEq-N0YbW-Nqv8FIe0FUQ">