diff options
author | Jason Merrill <jason@redhat.com> | 2025-04-01 19:22:18 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2025-04-03 11:19:30 -0400 |
commit | acfe19f03bccd1f3183fd5d70d7a3c8c85e62fac (patch) | |
tree | df1fade65c7da69b2569565ef19eb845dc82c104 /libjava/classpath/lib | |
parent | bd5597156ca0c7d6fb50c6fe92a7abe6717cb2b5 (diff) | |
download | gcc-acfe19f03bccd1f3183fd5d70d7a3c8c85e62fac.zip gcc-acfe19f03bccd1f3183fd5d70d7a3c8c85e62fac.tar.gz gcc-acfe19f03bccd1f3183fd5d70d7a3c8c85e62fac.tar.bz2 |
c++/modules: inline loaded at eof
std/format/string.cc and a few other libstdc++ tests were failing with
module std with undefined references to __failed_to_parse_format_spec. This
turned out to be because since r15-8012 we don't end up calling
note_vague_linkage_fn for functions loaded after at_eof is set.
But once import_export_decl decides on COMDAT linkage, we should be able to
just clear DECL_EXTERNAL and let cgraph take it from there.
I initially made this change in import_export_decl, but decided that for GCC
15 it would be safer to limit the change to modules. For GCC 16 I'd like to
do away with DECL_NOT_REALLY_EXTERN entirely, it's been obsolete since
cgraphunit in 2003.
gcc/cp/ChangeLog:
* module.cc (module_state::read_cluster)
(post_load_processing): Clear DECL_EXTERNAL if DECL_COMDAT.
Diffstat (limited to 'libjava/classpath/lib')
0 files changed, 0 insertions, 0 deletions