Files
CMake/Help/release
Sergiu Deitsch 1e5e049c02 GenerateExportHeader: use C++11 attributes if available
The minimum compiler versions were determined in the GCC and LLVM
repositories as follows. The first release containing a commit is the
lowest release tag listed by ``git tag --contains <commit>``. Since a
point release of an older series can be listed although it lacks the
commit, ``git grep`` at the tag confirms the change.

1. The header requires __has_cpp_attribute to accept scoped names such
   as gnu::visibility.  The commit adding this is the oldest one whose
   diff touches a line parsing the "::" token:

     gcc$ git log --reverse --format=%H -G'CPP_SCOPE' \
            -- gcc/c-family/c-lex.c
     llvm-project$ git log --reverse --format=%H \
            -G'Ident__has_cpp_attribute.*coloncolon' -- clang/lib/Lex

   This yields 42fd12b1e7fc50183bcf62861aae81301a9efbcf in
   releases/gcc-5.1.0 and a0344c5d7b9b748a2244dce393ceb55e83b495d6 in
   llvmorg-3.6.0.

2. The GCC commit accepting mixed attribute spellings references its bug
   https://gcc.gnu.org/PR69585 in the message:

     gcc$ git log --format=%H --grep=c++/69585

   This yields aec868578d8515763d75693c1fdfbc30ff0a1e68 in
   releases/gcc-13.1.0.

Fixes: #22908
Issue: #20527
2026-10-28 20:13:16 +01:00
..
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2025-08-10 07:57:11 +02:00
…
…
…
…
…
2026-04-20 13:40:12 -04:00
2026-10-27 10:43:57 -04:00
2026-10-27 11:28:05 -04:00
…