diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index e7765dbe2c30b..86ef91c0b7fed 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -846,7 +846,10 @@ def Xoffload_linker : JoinedAndSeparate<["-"], "Xoffload-linker">, def Xpreprocessor : Separate<["-"], "Xpreprocessor">, Group, HelpText<"Pass to the preprocessor">, MetaVarName<"">; def X_Flag : Flag<["-"], "X">, Group; -def X_Joined : Joined<["-"], "X">, IgnoredGCCCompat; +// Used by some macOS projects. IgnoredGCCCompat is a misnomer since GCC doesn't allow it. +def : Flag<["-"], "Xparser">, IgnoredGCCCompat; +// FIXME -Xcompiler is misused by some ChromeOS packages. Remove it after a while. +def : Flag<["-"], "Xcompiler">, IgnoredGCCCompat; def Z_Flag : Flag<["-"], "Z">, Group; def all__load : Flag<["-"], "all_load">; def allowable__client : Separate<["-"], "allowable_client">; diff --git a/clang/test/Driver/warn-Xparser.c b/clang/test/Driver/warn-Xparser.c new file mode 100644 index 0000000000000..191826a6f4af9 --- /dev/null +++ b/clang/test/Driver/warn-Xparser.c @@ -0,0 +1,6 @@ +/// Some macOS projects use -Xparser. +// RUN: %clang -c -Xparser %s 2>&1 | FileCheck %s + +// CHECK: warning: argument unused during compilation: '-Xparser' [-Wunused-command-line-argument] + +void f(void) {} diff --git a/clang/test/Misc/warn-not-error-Xfoo.c b/clang/test/Misc/warn-not-error-Xfoo.c deleted file mode 100644 index 54d97c618cddf..0000000000000 --- a/clang/test/Misc/warn-not-error-Xfoo.c +++ /dev/null @@ -1,14 +0,0 @@ -// RUN: %clang -c %s -o /dev/null -Xfoo < %s 2>&1 | FileCheck --check-prefix=CHECK_STANDALONE_FOO %s -// RUN: %clang -c %s -o /dev/null -Xfoo=bar 2>&1 | FileCheck --check-prefix=CHECK_JOINED_FOO %s - -// This test ensures that we only warn on -X and -X -// in case it is used downstream. If we error, we can't ignore it and some -// use of these (ignored) flags are in legacy use. -// TODO: Deprecate with timebox warning so consumers can respond. - -// CHECK_STANDALONE_FOO: warning: argument unused during compilation: '-Xfoo' [-Wunused-command-line-argument] -// CHECK_JOINED_FOO: warning: argument unused during compilation: '-Xfoo=bar' [-Wunused-command-line-argument] - -// CHECK-NOT: clang{.*}: error: unknown argument: - -void f(void) {}