aboutsummaryrefslogtreecommitdiff
path: root/include/gdb/gdb-index.h
diff options
context:
space:
mode:
authorNathaniel Shead <nathanieloshead@gmail.com>2024-07-07 13:56:25 +1000
committerNathaniel Shead <nathanieloshead@gmail.com>2024-07-26 14:55:36 +1000
commitfd599d96d464caed8bf78e4a43120d9a121b7e7a (patch)
treedc15445c620e39801ad512d90290e274d9e235e6 /include/gdb/gdb-index.h
parent18eb6ca136fcd22b381d222cab81265d812ea7b9 (diff)
downloadgcc-fd599d96d464caed8bf78e4a43120d9a121b7e7a.zip
gcc-fd599d96d464caed8bf78e4a43120d9a121b7e7a.tar.gz
gcc-fd599d96d464caed8bf78e4a43120d9a121b7e7a.tar.bz2
c++/modules: Stream warning suppressions [PR115757]
Currently we don't stream the contents of 'nowarn_map'; this means that warning suppressions don't get applied in importers, which is particularly relevant for templates (as in the linked testcase). Rather than streaming the whole contents of 'nowarn_map', this patch instead just streams the exported suppressions for each tree node individually, to not build up additional locations and suppressions for tree nodes that do not need to be streamed. PR c++/115757 gcc/cp/ChangeLog: * module.cc (trees_out::core_vals): Write warning specs for DECLs and EXPRs. (trees_in::core_vals): Read warning specs. gcc/ChangeLog: * tree.h (put_warning_spec_at): Declare new function. (has_warning_spec): Likewise. (get_warning_spec): Likewise. (put_warning_spec): Likewise. * diagnostic-spec.h (nowarn_spec_t::from_bits): New function. * diagnostic-spec.cc (put_warning_spec_at): New function. * warning-control.cc (has_warning_spec): New function. (get_warning_spec): New function. (put_warning_spec): New function. gcc/testsuite/ChangeLog: * g++.dg/modules/warn-spec-1_a.C: New test. * g++.dg/modules/warn-spec-1_b.C: New test. Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Diffstat (limited to 'include/gdb/gdb-index.h')
0 files changed, 0 insertions, 0 deletions