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

    <tr>
        <th>Summary</th>
        <td>
            ICE while compiling the module
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    ```txt
[build] 1.      /home/mpusz/repos/units_latest/src/core/include/mp-units/unit.h:607:107: current parser token '>'
[build] 2.      /home/mpusz/repos/units_latest/src/core/include/mp-units/unit.h:41:1: parsing namespace 'mp_units'
[build]  #0 0x00007f667fd37f3a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-18/bin/../lib/libLLVM-18.so.1+0xd92f3a)
[build]  #1 0x00007f667fd35f64 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-18/bin/../lib/libLLVM-18.so.1+0xd90f64)
[build]  #2 0x00007f667fd385fb (/usr/lib/llvm-18/bin/../lib/libLLVM-18.so.1+0xd935fb)
[build]  #3 0x00007f667ea52990 (/lib/x86_64-linux-gnu/libc.so.6+0x42990)
[build]  #4 0x00007f6687f0e325 clang::Sema::FindAssociatedClassesAndNamespaces(clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, llvm::SmallSetVector<clang::DeclContext*, 16u>&, llvm::SmallSetVector<clang::CXXRecordDecl*, 16u>&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x18b9325)
[build]  #5 0x00007f6687f10f13 clang::Sema::ArgumentDependentLookup(clang::DeclarationName, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::ADLResult&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x18bbf13)
[build]  #6 0x00007f6688003db7 clang::Sema::AddArgumentDependentLookupCandidates(clang::DeclarationName, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::TemplateArgumentListInfo*, clang::OverloadCandidateSet&, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x19aedb7)
[build]  #7 0x00007f66880108f4 clang::Sema::LookupOverloadedBinOp(clang::OverloadCandidateSet&, clang::OverloadedOperatorKind, clang::UnresolvedSetImpl const&, llvm::ArrayRef<clang::Expr*>, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x19bb8f4)
[build]  #8 0x00007f6688010c80 clang::Sema::CreateOverloadedBinOp(clang::SourceLocation, clang::BinaryOperatorKind, clang::UnresolvedSetImpl const&, clang::Expr*, clang::Expr*, bool, bool, clang::FunctionDecl*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x19bbc80)
[build]  #9 0x00007f6687d472ec (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x16f22ec)
[build] #10 0x00007f6687d46ed4 clang::Sema::BuildBinOp(clang::Scope*, clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x16f1ed4)
[build] #11 0x00007f6687d15ae8 clang::Sema::ActOnBinOp(clang::Scope*, clang::SourceLocation, clang::tok::TokenKind, clang::Expr*, clang::Expr*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x16c0ae8)
[build] #12 0x00007f668722fbb4 clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*, true>, clang::prec::Level) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbdabb4)
[build] #13 0x00007f6687231fc9 clang::Parser::ParseConstantExpressionInExprEvalContext(clang::Parser::TypeCastState) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbdcfc9)
[build] #14 0x00007f66872a4fa8 clang::Parser::ParseTemplateArgument() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc4ffa8)
[build] #15 0x00007f66872a4a6c clang::Parser::ParseTemplateArgumentList(llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&, clang::OpaquePtr<clang::TemplateName>, clang::SourceLocation) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc4fa6c)
[build] #16 0x00007f66872a4914 clang::Parser::ParseTemplateIdAfterTemplateName(bool, clang::SourceLocation&, llvm::SmallVector<clang::ParsedTemplateArgument, 16u>&, clang::SourceLocation&, clang::OpaquePtr<clang::TemplateName>) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc4f914)
[build] #17 0x00007f66872a357b clang::Parser::AnnotateTemplateIdToken(clang::OpaquePtr<clang::TemplateName>, clang::TemplateNameKind, clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&, bool, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc4e57b)
[build] #18 0x00007f668723ee59 clang::Parser::ParseOptionalCXXScopeSpecifier(clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>, bool, bool, bool*, bool, clang::IdentifierInfo**, bool, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbe9e59)
[build] #19 0x00007f668721c5b6 clang::Parser::ParseBaseTypeSpecifier(clang::SourceLocation&, clang::SourceLocation&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbc75b6)
[build] #20 0x00007f6687222464 clang::Parser::ParseBaseSpecifier(clang::Decl*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbcd464)
[build] #21 0x00007f6687221e6b clang::Parser::ParseBaseClause(clang::Decl*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbcce6b)
[build] #22 0x00007f6687220772 clang::Parser::SkipCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, unsigned int, clang::Decl*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbcb772)
[build] #23 0x00007f668721f217 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbca217)
[build] #24 0x00007f6687200824 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbab824)
[build] #25 0x00007f66872b26d4 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc5d6d4)
[build] #26 0x00007f66872b2417 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc5d417)
[build] #27 0x00007f66872b166b clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc5c66b)
[build] #28 0x00007f66872178eb clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbc28eb)
[build] #29 0x00007f6687217310 clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbc2310)
[build] #30 0x00007f66871fae13 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xba5e13)
[build] #31 0x00007f66872b0f25 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc5bf25)
[build] #32 0x00007f6687218344 clang::Parser::ParseExportDeclaration() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xbc3344)
[build] #33 0x00007f66872b1290 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc5c290)
[build] #34 0x00007f66872afada clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xc5aada)
[build] #35 0x00007f66871e705e clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0xb9205e)
[build] #36 0x00007f6689047e79 clang::FrontendAction::Execute() (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x29f2e79)
[build] #37 0x00007f6688fbf744 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x296a744)
[build] #38 0x00007f66890c381e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-18/bin/../lib/libclang-cpp.so.18+0x2a6e81e)
[build] #39 0x000055bd170c8696 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-18/bin/clang+0x14696)
[build] #40 0x000055bd170c5945 (/usr/lib/llvm-18/bin/clang+0x11945)
[build] #41 0x000055bd170c4af8 clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-18/bin/clang+0x10af8)
[build] #42 0x000055bd170d28ba main (/usr/lib/llvm-18/bin/clang+0x1e8ba)
[build] #43 0x00007f667ea38150 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
[build] #44 0x00007f667ea38209 call_init ./csu/../csu/libc-start.c:128:20
[build] #45 0x00007f667ea38209 __libc_start_main ./csu/../csu/libc-start.c:347:5
[build] #46 0x000055bd170c22a5 _start (/usr/lib/llvm-18/bin/clang+0xe2a5)
[build] clang++-18: error: unable to execute command: Segmentation fault
[build] clang++-18: error: clang frontend command failed due to signal (use -v to see invocation)
[build] Ubuntu clang version 18.1.0 (++20240218123357+82e17c153611-1~exp1~20240218003520.57)
[build] Target: x86_64-pc-linux-gnu
[build] Thread model: posix
[build] InstalledDir: /usr/bin
[build] clang++-18: note: diagnostic msg: 
[build] ********************
[build] 

[build] PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
[build] Preprocessed source(s) and associated run script(s) are located at:
[build] clang++-18: note: diagnostic msg: /tmp/mp-units-systems-93ed72.cppm
[build] clang++-18: note: diagnostic msg: /tmp/mp-units-systems-93ed72.sh
[build] clang++-18: note: diagnostic msg: 
[build] 
[build] ********************
```

[tmp.zip](https://github.com/llvm/llvm-project/files/14378277/tmp.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcW1tT5Db2_zTmxUWXJd8feDANnen6kzD_aZKdN0qWjhvtyLIjyQTykM--JffVbrsZZs2mdqsocNnSufzO0blIgmjN1xLgygmvnfDmgjTmqVJXZd3oPy_yir1eOZG3-TEvxvFuHC9zwuu84YI54Y2LZo6XOnjxVJXg4EU7z8ELBXWlHbxoJDf6URAD2jh4oRV18IJWyo7lkoqGbWZdtgO3E2ZPjp9FXuz4GWp_u7RRCqRxa6I0KNdU30C6Do4d_9b-PpEKf5RUAbJCWZGsKFyuXUlK0DWhYOUp68ftlAGhXAf7nuu9eJ7nxUUUxQXz48InrhDPpeNnjp_pV715-Ky4NCtD6LcHRSg4ODkMUuSPx0obBaR0cOTguculcXDqOjixsmrl4IXguf0tnstLZN_mXDp4MZsdPvH87u63ny9RMtPVDDn42nthKS584uB0WHjUEz4somBI-C-NXPG1JOITkUyA0q1gk8jnFVEwKh_uyZeERT4FUz8s8lGm_jFTICFOU2_LdEPzJYkeo-BScNm8XK5ls_lALYOoZRDYKaP0gyP6SVx44OPQpYLI9QbsFZRk87TgkmVaV5QTA2wuiNagM8l-2XmotcPxzKpRFO4qSgyvpPWjgy0zpcjrFygcf3404_alVg7O2lV3PHpVEiFWYH4DairVnXMDVMwraeDF2Kl47qKoaSlE309k_vXrF6CVYpbaKZn3u1ZL-5LWdWvnpLUDSvLUx-GoJcKuJZBXIH_YEplaNyVIcwM1SAbS3FXVt6buwm9VIarF3lrIqjShcY4-ZDd3X0A3wkyLVV4gfxSr6BirxPN8lscjWDE2AtecSMaZDdJ_E3APUNY2Sezku-PaLGVRbR3waOT9MyhREbYXeQVm6-B5VYnJUE8JsDweRT3uoo68pAiGUd8gvBMb2DWX9z3_PKPTwChg9zUoYir1f1yy3qBfpQJdiWdgKzDLshYuraQ2JyHge-wzLZ55nhTjCSXp40kTbxjPuQJi4Cyep4559PGaS6JefxjCAbRG324APPw9GrVoJLXC7aPsdDDTZDzFpZ3AyoIYA52GcVRgDHSQsa1nvB7jCNjIerm204aMSqsaTuH-92z9hgknMkpUIGDDvm-xQV1sUEggGYng1NzLibAx1bdt7LUl_t-HDfUIJKPY4A42GBd53vGbz22bcvT85dPqvtjY3YoKWreqH6OVtStvm6gH4x-eu0Y1cJqnagV0G9bhGSaLjjkjeT7uIH4XBB8VND0LwtwGLCLNAYGltM-3z-RQISYjFB5ea5gTbXsiA9NpSAuajmrYLb0xCQqSnNWwXzD8YN8zJCoNioKMe2TYF5VE9F2i2tqm02W25fhQLd5OZ6eq9gr74xqhJr838Nn0CO1ItEXciVP3w8RkMJJoPCFEfRhTdH5h73RYsqwwoDoq4WQgxfbVGmqCpkF9kNMPWGUy4FM0HkziHvB-GOdjwGdSVjYKHLBvk0Wvev0Rnzv-OpB75l-_tjltVdua4i28e-Xb7w0RvODAlqzTGUxb0dIAwnh4s8LCnPRiNkB4Pmbf11YZIo5Vt1qoLtrnkRmxxf83RNiw3ins-3-zkVJ1afvEVpJ9RzZQ3U6UJiCFcDxNdMtXjGiYR2dBvSYarOIjYL61cAe-T6QnjcM8GtMTe72qBwfR-eBo9RzRceIOI6csGNkYtJKjnuQIotHospd8Lkij4YPFphCNrlbcLzO9OMZjYq--8Xr-9evPUOagtqDvHOS7u9DTj41sjwfYZou5M3hyLPI4xqNY9KpNVGAUn682BdF6xPve7DLOomQVHw50J0LsE7YNUmMde0YpdEQdDHjHtHcS7Kvm05EsM0bxvGl3zyaMEASj4f0na6Rewex5CT4fIY628vb6D-z2fTDaP47yduQdMXBAfVNK91vUZVkLTrmxgV-SEvZUJ7IMyRM8HgF7_UGOI_a2Ze7VYUOoWEoDShIx0KL1fe1tbzwZweV63NAnJpuoVgpZNL4BgqM-ZMEbEefImTvIcclP4_CHANf3uY8DLjgTBXq1fI6iN7Lt7cvGtY4A_M-ANRUcNDqTxXs1N4oTOA_HUkpQ-0O7dzTlWyLd-ZvyeO4GtkvsBMUzuf2tEvRtuK-JIJICuwHBS25bY0XoN-uDEyYjnMA47v2yPPaRdxb3Y8gHjpsqNZwI3luuT6a8j4a31B3s-91aHRUEumeV54LXtOpPsXb7PKYrOkkII6eYFsVe35B7Rffs_X8vkuXFyAG4haPXj6DED84XEbcvdaVMF4zpFoDvB6PZ2_f7SQin51f_f73pKB65RWLh6G9lF4SR8xubVd0eJmy6vO_YWbMDf1JVU7fnt0P7kfsDo58r1ghYltY5tvv5kyUFGhLChq8wWRy6dTCC2AvhBIds9dBrmq3oH7dpl6fYC2FU5k4hmnpBDHFn026hbGCWbHOCtHl3-wK0scBOtt5wWmCIR3fBencPiryIu8FhXpU1F6CW7SEQhY6cW9E7oPfUms5FcBqR-EzoSLp4Uz9B0D1sbGU-KPRcDe20nCg83WLHJIIEjXvMrvQJw5yh2KNJlEYupeixJJZDMnzj4omoXX24vwzTeYfn7nPF2XcrsgGjPVANonR0YzHweuKGaRC-jzxKg9G0FaAe-YAU22O8HR67AviJqMNO8gGkh6raHVAeFdDvRMAjxejxXYC7IjKc5MS1wr2PByT5aOgLehcV_QSFnvv4aF3sURuizCMlQrSQuNYDqW52zqhfNYNaO3ghayO2ftmf1N6PjQPHz_xhAYK-ANhL3Xa67ZD7PDePltFly2hGHT9DOHH8DHvDDMIhBh0Nh5QbZOQHseNn4TCfqOdQGJPQ3XB4l70Ak2Gv3Q1x8LWd6WcuKGVbvsxtJMkFuKZyYROGXFqVJZHMflzBugRp2mDkFqQRAxe2z9BuP7nFNu7uCLsF4QKYy5qWrW5v9lo9Gw3u5XP7DsDlR2FwQKVf80aaZsviGZS2IqJkhmbb27JWIOzhwMMoQTZTxw6-TjCgmKLQjxC6RH_BS43-2g3yPD_E3iwc3oh4IGoNxmq1vX9b06MruKfDnxQQ5pYVA9He7q40fzkd1sZyIYDd8Baxvamtab8DalkZm_hcxslaVtpw6pZ63VIa8LTsx39OqW3enLz_fHebrW7d7OEhm39yHz7duov7u7v7fyx_-cldLO9uV-7Dffv6-tef3C-3n--_PNigeEpHQa0qCloDc3Xbrzk40TZMWh8i-3vJrmqkq6nitdkPUOAK6zzAXGIGyb8LSrwwZX10gf9Sv2oDpb5MfWAxntG6Lj-YhX6a3B0-wkF2_9rR8w5T1rM_ee2ENw5Onoyp24v9eOHgxZqbpyaf0archrZdhKtV9U-gxsGLggvb-yxQ4McJjuMNWC1BnF6wK5-lfkou4ArFXhLhJArQxdOVz_Ig9IAR4sdpnqOAFQkhCU7TgKZB4V3wq83KxxilXuChGcM-BAEtsE_SBFLmBB6UhIuZlWdWqfUF17qBqwRHcXwhSA5Ct__mgrGEP9z2o4OxE95cqKtWh7xZayfwBNdGH6gYbgRcLee37h9PXLQBt-aCy7VrnsCGjEbARaPE1buRakWwULUi_isAAP__qv9c2g">