opts: -Werror=foo always implies -Wfoo [PR106213]
commit32bab8b57ddf0df727f5eaf99a77e70882c4e6e2
authorJason Merrill <jason@redhat.com>
Tue, 19 Dec 2023 20:33:07 +0000 (19 15:33 -0500)
committerJason Merrill <jason@redhat.com>
Thu, 21 Dec 2023 02:06:35 +0000 (20 21:06 -0500)
treeadff706ff8049350430d5825460086026d4fa9df
parent7ad9058c042d473395ee90a4d2cdd33a456c3f7d
opts: -Werror=foo always implies -Wfoo [PR106213]

-Werror=foo implying -Wfoo wasn't working for -Wdeprecated-copy-dtor,
because it is specified as the value 2 of warn_deprecated_copy, which shows
up as CLVC_EQUAL, which is not one of the three var_types handled by
control_warning_option.  It seems to me that we can just unconditionally
handle_generated_option, and only have special argument handling for those
types.

PR c++/106213

gcc/ChangeLog:

* opts-common.cc (control_warning_option): Call
handle_generated_option for all cl_var_types.

gcc/testsuite/ChangeLog:

* g++.dg/cpp0x/depr-copy5.C: New test.
gcc/opts-common.cc
gcc/testsuite/g++.dg/cpp0x/depr-copy5.C [new file with mode: 0644]