From 6feaf57b46f0856127c84b03f3aee5fb51d0262b Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Sat, 12 Dec 2009 00:38:18 +0000 Subject: [PATCH] Make using '-fshort-enums' an error until it is actually implemented (changes the ABI, so it is dangerous to not error out if we don't support it). Fixes . git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91191 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Driver/Options.td | 1 + lib/Driver/Tools.cpp | 3 ++- test/Driver/clang_f_opts.c | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 176b10b1a1..db40ecb3d3 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -327,6 +327,7 @@ def fprofile_generate : Flag<"-fprofile-generate">, Group; def framework : Separate<"-framework">, Flags<[LinkerInput]>; def frtti : Flag<"-frtti">, Group; def fsched_interblock : Flag<"-fsched-interblock">, Group; +def fshort_enums : Flag<"-fshort-enums">, Group; def freorder_blocks : Flag<"-freorder-blocks">, Group; def fshort_wchar : Flag<"-fshort-wchar">, Group; def fshow_source_location : Flag<"-fshow-source-location">, Group; diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 724a3b4a61..1d82d82c04 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -798,7 +798,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Arg *Unsupported; if ((Unsupported = Args.getLastArg(options::OPT_MG)) || (Unsupported = Args.getLastArg(options::OPT_MQ)) || - (Unsupported = Args.getLastArg(options::OPT_iframework))) + (Unsupported = Args.getLastArg(options::OPT_iframework)) || + (Unsupported = Args.getLastArg(options::OPT_fshort_enums))) D.Diag(clang::diag::err_drv_clang_unsupported) << Unsupported->getOption().getName(); diff --git a/test/Driver/clang_f_opts.c b/test/Driver/clang_f_opts.c index 3756a2f4d1..0a5a478618 100644 --- a/test/Driver/clang_f_opts.c +++ b/test/Driver/clang_f_opts.c @@ -7,3 +7,6 @@ // RUN: grep -F '"-fno-math-errno"' %t // RUN: grep -F '"-fno-show-source-location"' %t // RUN: grep -F '"-fshort-wchar"' %t +// RUN: clang -fshort-enums -x c /dev/null 2>&1 | FileCheck -check-prefix=CHECK-SHORT-ENUMS %s + +// CHECK-SHORT-ENUMS: compiler does not support '-fshort-enums' -- 2.50.1