mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
490c2c885ee5de1659d8339ea6bedd908acfacea
On Sat, Aug 02, 2025 at 09:05:07PM +0200, Jakub Jelinek wrote: > Wonder how to automatically discover other missing exports (like in PR121373 > std::byteswap), maybe one could dig that stuff somehow from the raw > dump (look for identifiers in std namespace (and perhaps inlined namespaces > thereof at least) which don't start with underscore. To answer that question, I wrote a simple plugin which just dumps the names (which do not start with underscore) in std namespace (and its inlined namespaces) and for non-inline namespaces in there which do not start with underscore also recurses on those namespaces. Plugin source in https://gcc.gnu.org/pipermail/libstdc++/2025-August/062859.html I went through it all now, using cppreference as a quick check for stuff removed in C++17/C++20 and for everything added verified it is in corresponding eel.is/c++-draft/*.syn etc. and looked it up in the libstdc++ headers for guarding macros. After all the additions I've compiled std.cc with -std=c++20, -std=c++23 and -std=c++26, the first one revealed std::ranges::shift_{left,right} emitted an error in that case, the patch fixes that too. 2025-08-04 Jakub Jelinek <jakub@redhat.com> hexne <printfne@gmail.com> PR libstdc++/121373 * src/c++23/std.cc.in (std::ranges::shift_left, std::ranges::shift_right): Only export for C++23 and later. (std::ranges::fold_left_first_with_iter_result, std::ranges::fold_left_with_iter_result): Export. (std::byteswap): Export for C++23 and later. (std::ranges::iter_move, std::ranges::iter_swap): Export. (std::projected_value_t): Export for C++26 and later. (std::out_ptr_t, std::inout_ptr_t): Export. (std::ranges::iota_result): Export. (std::regex_constants): Export a lot of constants. (std::is_scoped_enum, std::is_scoped_enum_v): Export.
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
This directory contains the GNU Compiler Collection (GCC). The GNU Compiler Collection is free software. See the files whose names start with COPYING for copying permission. The manuals, and some of the runtime libraries, are under different terms; see the individual source files for details. The directory INSTALL contains copies of the installation information as HTML and plain text. The source of this information is gcc/doc/install.texi. The installation information includes details of what is included in the GCC sources and what files GCC installs. See the file gcc/doc/gcc.texi (together with other files that it includes) for usage and porting information. An online readable version of the manual is in the files gcc/doc/gcc.info*. See http://gcc.gnu.org/bugs/ for how to report bugs usefully. Copyright years on GCC source files may be listed using range notation, e.g., 1987-2012, indicating that every year in the range, inclusive, is a copyrightable year that could otherwise be listed individually.
Description
Languages
C++
30.7%
C
30.2%
Ada
14.4%
D
6.1%
Go
5.7%
Other
12.4%