driver: Don't imply -dD for -g3 -g0 [PR97989]
authorJakub Jelinek <jakub@redhat.com>
Tue, 1 Dec 2020 08:39:04 +0000 (09:39 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 1 Dec 2020 08:39:04 +0000 (09:39 +0100)
commit934a54180541d27139aecbd19e7f50cb73552c7c
tree2c9f8d88626b66c0f0343fcf0239bb9ee5f76a78
parent76ab0317cfb3201b9b68db9e8a0ced4f4e9f6cd4
driver: Don't imply -dD for -g3 -g0 [PR97989]

The driver enables -dD when preprocessing when -g3 is specified, for obvious reasons
that we need the macros to be preserved somewhere for them to make up the debug
info.  But it enables it even if -g3 is later overridden to -g2, -g1 or -g0,
where we in the end don't emit .debug_mac{ros,info}.

The following patch passes -dD only if we'll need it.

2020-12-01  Jakub Jelinek  <jakub@redhat.com>

PR debug/97989
* gcc.c (cpp_unique_options): Add -dD if %:debug-level-gt(2)
rather than g3|ggdb3|gstabs3|gxcoff3|gvms3.

* gcc.dg/cpp/pr97989-1.c: New test.
* gcc.dg/cpp/pr97989-2.c: New test.
gcc/gcc.c
gcc/testsuite/gcc.dg/cpp/pr97989-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cpp/pr97989-2.c [new file with mode: 0644]