aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2023-05-12 12:19:25 -0400
committerJason Merrill <jason@redhat.com>2023-05-31 23:17:37 -0400
commit0a479c31b515ee872f48d5b53254a01da0fba61f (patch)
tree920fa740f3dbde6921c0e78deddc21a9d8e03263
parent09ff83d4bc1405c9af803fb84bfc49d6001da47b (diff)
downloadgcc-0a479c31b515ee872f48d5b53254a01da0fba61f.zip
gcc-0a479c31b515ee872f48d5b53254a01da0fba61f.tar.gz
gcc-0a479c31b515ee872f48d5b53254a01da0fba61f.tar.bz2
c++: make -fpermissive avoid -Werror=narrowing
Currently we make -Wnarrowing an error by default by forcing pedantic_errors on, but for consistency -fpermissive should prevent that. In general I'm inclined to move away from using permerror in favor of this kind of model, with specific flags for each diagnostic. gcc/cp/ChangeLog: * typeck2.cc (check_narrowing): Check flag_permissive.
-rw-r--r--gcc/cp/typeck2.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/typeck2.cc b/gcc/cp/typeck2.cc
index 8724877..1c204c86 100644
--- a/gcc/cp/typeck2.cc
+++ b/gcc/cp/typeck2.cc
@@ -1109,7 +1109,8 @@ check_narrowing (tree type, tree init, tsubst_flags_t complain,
else if (complain & tf_error)
{
int savederrorcount = errorcount;
- global_dc->pedantic_errors = 1;
+ if (!flag_permissive)
+ global_dc->pedantic_errors = 1;
auto s = make_temp_override (global_dc->dc_warn_system_headers, true);
pedwarn (loc, OPT_Wnarrowing,
"narrowing conversion of %qE from %qH to %qI",