[all-commits] [llvm/llvm-project] b3c140: [clang] Fix std::tm etc. mangling on Solaris (#106...

Rainer Orth via All-commits all-commits at lists.llvm.org
Mon Oct 7 10:05:45 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b3c1403dc00a41c8222d4b1dd82cbb7c56fd61ae
      https://github.com/llvm/llvm-project/commit/b3c1403dc00a41c8222d4b1dd82cbb7c56fd61ae
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-10-07 (Mon, 07 Oct 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    A clang/test/AST/solaris-tm.cpp

  Log Message:
  -----------
  [clang] Fix std::tm etc. mangling on Solaris (#106353)

Recently, Solaris bootstrap got broken because Solaris uses a
non-standard mangling of `std::tm` and a few others. This was fixed with
a hack in PR #100724. The Solaris ABI requires mangling `std::tm` as
`tm` and similarly for `std::div_t`, `std::ldiv_t`, and `std::lconv`,
which is what this patch implements. The hack needs to stay in place to
allow building with older versions of `clang`.

Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11` (2-stage
builds with both `clang-19` and `gcc-14` as build compiler), and
`x86_64-pc-linux-gnu`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list