Why three separate flags? The flag(s) need(s) to be documented in doc/invoke.texi.
@@ -721,7 +733,12 @@ case OPT_std_c__1y: case OPT_std_gnu__1y: if (!preprocessing_asm_p) - set_std_cxx1y (code == OPT_std_c__11 /* ISO */); + { + set_std_cxx1y (code == OPT_std_c__11 /* ISO */); + cpp_opts->imaginary_literals = 0; + cpp_opts->fixed_point_literals = 0; + cpp_opts->machine_defined_literals = 0; + }
I think I would disable the built-in extension in both C++11 and C++1y if we're in ISO mode, and leave it enabled if we're in GNU mode.
I think the ideal behavior for these suffixes would be to treat them as user-defined literals if a corresponding literal operator is available, or use the built-in extension if not. But that doesn't need to happen now.
Jason