diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index ab87d57d4353..fea77725a64d 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -275,6 +275,10 @@ def fextdirs_EQ : Joined<"-fextdirs=">, Group; def fhosted : Flag<"-fhosted">, Group; def ffast_math : Flag<"-ffast-math">, Group; def ffinite_math_only : Flag<"-ffinite-math-only">, Group; + +def ffor_scope : Flag<"-ffor-scope">, Group; +def fno_for_scope : Flag<"-fno-for-scope">, Group; + def ffreestanding : Flag<"-ffreestanding">, Group; def fgnu_keywords : Flag<"-fgnu-keywords">, Group; def fgnu_runtime : Flag<"-fgnu-runtime">, Group; diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 229cf608f3f0..8bce56636adb 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1406,12 +1406,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-fno-common"); // -fsigned-bitfields is default, and clang doesn't yet support - // --funsigned-bitfields. + // -funsigned-bitfields. if (!Args.hasFlag(options::OPT_fsigned_bitfields, options::OPT_funsigned_bitfields)) D.Diag(clang::diag::warn_drv_clang_unsupported) << Args.getLastArg(options::OPT_funsigned_bitfields)->getAsString(Args); + // -fsigned-bitfields is default, and clang doesn't support -fno-for-scope. + if (!Args.hasFlag(options::OPT_ffor_scope, + options::OPT_fno_for_scope)) + D.Diag(clang::diag::err_drv_clang_unsupported) + << Args.getLastArg(options::OPT_fno_for_scope)->getAsString(Args); + // -fcaret-diagnostics is default. if (!Args.hasFlag(options::OPT_fcaret_diagnostics, options::OPT_fno_caret_diagnostics, true))