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

    <tr>
        <th>Summary</th>
        <td>
            ICE "Size expression must be absolute"
        </td>
    </tr>

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

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

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

<pre>
    The code is:
```
asm(R"(
foo:
.size foo, FOO
)"); 
```

Clang 17.0.1 crashes with:
```
fatal error: error in backend: Size expression must be absolute.
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: /opt/compiler-explorer/clang-17.0.1/bin/clang++ -gdwarf-4 -g -o /app/output.s -c --gcc-toolchain=/opt/compiler-explorer/gcc-13.2.0 -fcolor-diagnostics -fno-crash-diagnostics -O3 <source>
1.      <eof> parser at end of file
2.      Code generation
 #0 0x0000000003349f18 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3349f18)
 #1 0x0000000003348044 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3348044)
 #2 0x000000000329c553 llvm::CrashRecoveryContext::HandleExit(int) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x329c553)
 #3 0x000000000334007e llvm::sys::Process::Exit(int, bool) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x334007e)
 #4 0x0000000000bd3b76 (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0xbd3b76)
 #5 0x00000000032a5583 llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x32a5583)
 #6 0x00000000032a56e8 (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x32a56e8)
 #7 0x00000000030a3367 (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x30a3367)
 #8 0x00000000030a53b6 (anonymous namespace)::ELFWriter::computeSymbolTable(llvm::MCAssembler&, llvm::MCAsmLayout const&, llvm::DenseMap<llvm::MCSectionELF const*, unsigned int, llvm::DenseMapInfo<llvm::MCSectionELF const*, void>, llvm::detail::DenseMapPair<llvm::MCSectionELF const*, unsigned int>> const&, llvm::DenseMap<llvm::MCSymbol const*, unsigned int, llvm::DenseMapInfo<llvm::MCSymbol const*, void>, llvm::detail::DenseMapPair<llvm::MCSymbol const*, unsigned int>> const&, std::map<llvm::MCSectionELF const*, std::pair<unsigned long, unsigned long>, std::less<llvm::MCSectionELF const*>, std::allocator<std::pair<llvm::MCSectionELF const* const, std::pair<unsigned long, unsigned long>>>>&) ELFObjectWriter.cpp:0:0
 #9 0x00000000030a856c (anonymous namespace)::ELFWriter::writeObject(llvm::MCAssembler&, llvm::MCAsmLayout const&) (.constprop.0) ELFObjectWriter.cpp:0:0
#10 0x00000000030aab33 (anonymous namespace)::ELFSingleObjectWriter::writeObject(llvm::MCAssembler&, llvm::MCAsmLayout const&) ELFObjectWriter.cpp:0:0
#11 0x00000000030097a6 llvm::MCAssembler::Finish() (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x30097a6)
#12 0x000000000302d678 llvm::MCELFStreamer::finishImpl() (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x302d678)
#13 0x000000000305a627 llvm::MCStreamer::finish(llvm::SMLoc) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x305a627)
#14 0x000000000404084f llvm::AsmPrinter::doFinalization(llvm::Module&) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x404084f)
#15 0x0000000002cefdbd llvm::FPPassManager::doFinalization(llvm::Module&) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x2cefdbd)
#16 0x0000000002cfc7a8 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x2cfc7a8)
#17 0x00000000035b10d0 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x35b10d0)
#18 0x00000000044f947c clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x44f947c)
#19 0x00000000058beb69 clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x58beb69)
#20 0x00000000044f8b05 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x44f8b05)
#21 0x0000000003dd5f21 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3dd5f21)
#22 0x0000000003d5b9fb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3d5b9fb)
#23 0x0000000003eb5c23 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3eb5c23)
#24 0x0000000000bd50c5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0xbd50c5)
#25 0x0000000000bce42d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#26 0x0000000003ba7489 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#27 0x000000000329c453 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x329c453)
#28 0x0000000003ba76a9 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#29 0x0000000003b6f477 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3b6f477)
#30 0x0000000003b6fe2d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3b6fe2d)
#31 0x0000000003b79d0c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0x3b79d0c)
#32 0x0000000000bd2d31 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0xbd2d31)
#33 0x0000000000acf511 main (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0xacf511)
#34 0x00007fc308c29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#35 0x00007fc308c29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#36 0x0000000000bcdc2e _start (/opt/compiler-explorer/clang-17.0.1/bin/clang+++0xbcdc2e)
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Compiler returned: 70
```

https://godbolt.org/z/TvnehKqTa

It takes just a typo in macro name, or not including a right header.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWs9y2zjSfxr6gpKKAkVSPPigyNY3mc8puyLv7lEFAk0JExLgAKBjz9NvAaBkgrZjz4Sze9iUk5Ag0P3r_w0YRGt-EACXUfopSq8uSGeOUl2yh6fum3y4KCV7urw_AqKSAeI6StZRfBXF6yiL-x_3SnQT4dXXCOMIr_xQJeV59lzzPwDZEbxB29vbngYu3IIiSj6hV8n6fzc1EQe0yOfxfIGoIvoIGn3n5vgWmooYUiNQSqooWfsHxAUqCf0GgtmxnQUEj60CrbkUqOm0QSUgUmpZdwbmntLdzfV6d410VzbcIILK7oAUtFIZZCQ6GtM6leBthLcHbo5dOaeyifC2rh9O_81aJX8DaiK85Vp3oCO8RUQwxAWtOwbIWP1asRxAowgFq6dWQaskBa2BIS075YftSqK1pJwYYEh1AmmqeGt6yDtD6DfEuqY9qyeeR3Fxp-RBkQYRdegaEMYCRxHeytYio7JpeQ1qBo9tLRUoO2b1PvN6j_C25OI0GOFPEf6EZgf2nahqtkSzA5pJS420raXZmbYzc41mFM1mB0pnRsqaHgkXUXL1Q6Z28iKZ43mMZhWVtVQzxslBSG041WhWCTlzygqHbxMUJZteS8m1l3th5Y6SDcgqSq5RS5QGhYhBIBiSFap4DX4mtjM31scPIEARw6XwX1CEkxjFj_HpT5Isi2qxQs7CyTpK1vpJ-4c7xYVx-r_3Rlw9T1Lk-15qo4A0Ec6sIbkwES6QDZifsUKEP8WPPSgbS2fUixHqVbxcvoZ6UwMRXXsrdvwgSB3hVSdcUmColpbLdBgthAAjDjDigqZpMsC4sYb-ClQ-gHraSGHg0fgvvxDBarh-5CbCq0k16UEEKJORJuM4h9ft78LVvwyxbVApZT2lJi2EAONyiDEuWVLm2TTcPK2AWRqajaTpamg2nyH3Lg3vfRoehsL9dy5sRRHa9KEwrXY8ngBwNgacwWo6bhmEkZcH3GKSJFk-ETdPLOC2GnFLk9JZnggpnhrZaSRIA7p1GanonfNm-y_FDSj_avF0BnZPTSnre1LWYe76sllrDU1ZW6DOYOG35oY8yc4EJn2ecQVCwxfSRslmuGwH1GbZ65vtad3arjvnnj5wXtL5LCr5MVoPkjNbDAIyDAzhdUjyjnD1F-Al17as_DmpnYonkPglnZ-S9h1YLyXVhvnFzUcte17Rev6jKjPg6Aa8JOdFtUus7_IZrSJ1LSkxtg_cjPm_Q-r08FeAn3-srgp0fbO9LW0L6GNuTlvbm8Xu7zmMi1EYr9KM_skw_m6fPaefjF-XiufuvVWynccfEsM2HfFIDFImyQfE2HFxqGFIfnqRPoQ_7JriuMhJhl7n6wa2XHB9dMl9qvrlmZ5zvEUV9kkxZlm-ClBZFbrm8oSrcrg-N209LTbHOsAWdkdxSjKcB9heAxYYc_flRtIJMToIAcagO1rGy3i1rAYY17pxvfsJI5NbLkjN__AbgcDxJOtsecwmw9vDCfAGDRamULGSDfBu7-6I1l-IIIf_CuQeUQA5CyFXNCdDF63hQOhT3yc_g3cO6pvG7u9H7UAFqMNWLS0XMYuRX-hTU8PNJ39scOs2tRFeDT5fPe9Br8WBC-iT0WDKL0AYqB0QRY-3rTWODgrpYKrdgP4fiHdm3RN1APPOpBsiDq9NGQSdUVwcvkI1Sp692tcjgr0S1tS713DJZ2FUp_kDfIVqI8ydCavrQ6VPqbKG3ZM20IzLdCf47x3s29FKu2duXQXYn3bOg0UMKtLVZs-gBgPvLOzL8VQpxjtK4ElBG75cVsUyp68ocCOF7s7J0G9j7xURunaB-w_BRy623t2fdr5TJh0PMJAg6EDSVQllVgwluCNKw3p3H-LbQUOCbdzE27keyBApjke6XpVx-kog9c7ab8eBdgZO_jtdSezZB_jCJoKxtMKLIb6tshY9R9MQ4KTV2nMOoIWdBEvLoipD1Xlmn4U2RFB4XXtvyzKhj_boAvhhswFlSnES5GsP9FmKB9v_vwD9Qkqb76aC7VEFsMenM2lMU0TpYt8QHpa9tVLkyWblZEOPRI13NuHYadc3IXqPLQCfhuApLDFDJ0VvFvcu2oftXEPq-p9AjezL-yuSjIqRpdFnuaBlZ4o_vNGp4_BMpyT5clU4dQzoVp1wbrlXTqPuq48wVxHc2Qep65LQb_tKWKTPPuJ59_6yWWxk0xDBxsH6quXONUq6EkzqoDo9V96-Kg2K2n5PHx8XC_9SEs2prWDcYnJaDCbbgb1RhBt9-vyD_e_pu52yfk7TznW8zt2SCOc1aUpGIttDn1SFV6ez4F9l-bo98vFZ7vKDZ7lfO7EjFdRPgTp_bLopj3uXaRisq7FjZSSog_9zjuEOA1qijD8HeNMDwiOMMquWef6m4pzFyIv6d9JmkK5HC-2EtxrfH0xdj06bz7JN4EZe2KEbjX5rVGYVYPZntfGrLPXbqvhVljdcv3Xu-jINjw-y-gPHj2rv-Ujrb9Mh4GBTOfodVpkXLKZv4b0aPAdtwCv1_y3d_wd1OFUC80oJtIZH3QZmSd9-nvqNE2qXONZ92L9fjifqMCyeAHDQ1cWEVuligSzUaTh6ggHHU0OWVzSJVxQXrIh7ZjUvI7x9XGX7bDmruegeZwfR-Q90ruU886cJdklAMx3ThGWM9nu7bK8NUWY_EOnDXGAZcslG3RijGJCnP5F9HMkzz-Hn02UK--DGUdV3_4j2nl4RXgNz1zMQPHLjb47kTrmdBjR7QEYiDYD4oDfveZ3acqTAdEqAu6qRxz-4GzK6giFZKWszl-oQ4e0fEd7ePwg4_v_v92S46LNBhnwDjX7rtEEEmadWIi5QQ6iS7nzahoNUSEjT39Lg4oAIUvxwNOjoTnTmF-wyYUVSkAu4XOTxEueLRZJfHC8ZKdIFEJIQltGMlIuiqGKWxwu6KjIG7IJf4hgv40WcxKtklebzjCwWRVnlec6KiiRFtIyhIbye25C00ly4myOXeZYX8UVNSqi1u7GDsYDvyH2MMI7Sqwt16e6clN1BR8u45troZyqGmxouP2-uUYTxe1dgIowvOlVf_vVbLg7uvwMAAP__3NPY2g">