https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95596
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- gcc/cp/typeck.c does: if (cxx_dialect >= cxx11) pedwarn (loc, OPT_Wwrite_strings, "ISO C++ forbids converting a string constant to %qT", totype); else warning_at (loc, OPT_Wwrite_strings, "deprecated conversion from string constant to %qT", totype); As the example above shows, allowing the conversion and then conditionally warning about it is not conforming.