Age | Commit message (Collapse) | Author | Files | Lines |
|
The correct dialect for std::to_address is cxx20 not cxx11.
gcc/cp/ChangeLog:
PR libstdc++/107800
* cxxapi-data.csv <to_address>: Change dialect to cxx20.
* std-name-hint.gperf: Regenerate.
* std-name-hint.h: Regenerate.
|
|
|
|
|
|
This patch adds a CSV file with information about the API of the
standard C++ library. This information can be used in multiple ways.
So far there are two use cases:
- to generate the module export list for the standard C++ library
- to create the name hints to compiler emits when symbols in the
std namespace are not found
Adding more uses can be easily done by potentially adding more columns
to the CSV file and adding to the Python script which generates the
output file.
contrib/
2022-10-18 Jonathan Wakely <jwakely@redhat.com>
Ulrich Drepper <drepper@redhat.com>
* gcc_update: Add rule for gcc/cp/std-name-hint.gperf.
gcc/cp/
2022-10-18 Jonathan Wakely <jwakely@redhat.com>
Ulrich Drepper <drepper@redhat.com>
* Make-lang.in: Add rules to generate std-name-hint.gperf. Adjust
rule to generate std-name-hint.h to allow chain rule.
* std-name-hint.h: Regenerated.
* std-name-hint.gperf: This file is now generated.
* cxxapi-data.csv: New file. CSV file with C++ API data.
* gen-cxxapi-file.py: New file. Generate std-name-hint.gperf
and module export source (in future).
|
|
The get_std_name_hint function so far uses linear search to locate
matching entries. After adding more hint entries this might not be
appropriate anymore. Therefore this patch also replaces the linear
array with a gperf-generated hash table.
contrib/ChangeLog
* gcc_update (files_and_dependencies): Add rule for
gcc/cp/std-name-hint.h.
gcc/cp/ChangeLog
* Make-lang.in: Add rule to rebuild std-name-hint.h from
std-name-hint.gperf.
* name-lookup.cc (get_std_name_hint): Remove hints array.
Use gperf-generated class std_name_hint_lookup.
Include "std-name-hint.h".
* std-name-hint.gperf: New file.
* std-name-hint.h: New file. Generated from the .gperf file.
|