forked from OSchip/llvm-project
[clang][ARM] When handling multiple -mimplicit-it mark all as used
Since 4468e5b899
clang will prefer
the last one it finds of "-mimplicit-it" or "-Wa,-mimplicit-it".
Due to a mistake in that patch the compiler argument "-mimplicit-it"
was never marked as used, even if it was the last one and was passed
to llvm.
Move the Claim call back to the start of the loop and update
the testing to check we don't get any unused argument warnings.
Reviewed By: mstorsjo
Differential Revision: https://reviews.llvm.org/D103086
This commit is contained in:
parent
67c3707b31
commit
8427053f81
|
@ -2410,6 +2410,8 @@ static void CollectArgsForIntegratedAssembler(Compilation &C,
|
|||
for (const Arg *A :
|
||||
Args.filtered(options::OPT_Wa_COMMA, options::OPT_Xassembler,
|
||||
options::OPT_mimplicit_it_EQ)) {
|
||||
A->claim();
|
||||
|
||||
if (A->getOption().getID() == options::OPT_mimplicit_it_EQ) {
|
||||
switch (C.getDefaultToolChain().getArch()) {
|
||||
case llvm::Triple::arm:
|
||||
|
@ -2427,8 +2429,6 @@ static void CollectArgsForIntegratedAssembler(Compilation &C,
|
|||
}
|
||||
}
|
||||
|
||||
A->claim();
|
||||
|
||||
for (StringRef Value : A->getValues()) {
|
||||
if (TakeNextArg) {
|
||||
CmdArgs.push_back(Value.data());
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
// RUN: %clang -target arm-linux-gnueabi -### -Wa,-mimplicit-it=always,-mimplicit-it=foo %s 2>&1 | FileCheck %s --check-prefix=INVALID
|
||||
|
||||
|
||||
/// Check that the argument we ignore is still marked as used.
|
||||
// ALWAYS-NOT: warning: argument unused during compilation: {{.*}}-mimplicit-it={{.*}}
|
||||
/// Check that there isn't a second -arm-implicit-it before or after the one
|
||||
/// that was the indended match.
|
||||
// ALWAYS-NOT: "-arm-implicit-it={{.*}}"
|
||||
|
|
Loading…
Reference in New Issue