From: Jason Merrill Date: Fri, 12 May 2023 16:19:25 +0000 (-0400) Subject: c++: make -fpermissive avoid -Werror=narrowing X-Git-Tag: basepoints/gcc-15~8681 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0a479c31b515ee872f48d5b53254a01da0fba61f;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/cp/typeck2.cc b/gcc/cp/typeck2.cc index 8724877058fb..1c204c8612b1 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",