forked from OSchip/llvm-project
Don't claim exception related arguments when looking at RTTIMode
Summary: We were claiming the -f*exceptions arguments when looking for the RTTIMode. This makes us not warn about unused arguments if compiling a C file with -fcxx-exceptions. This patch fixes it by not claiming the exception-related arguments at that point. Reviewers: rsmith, samsonov Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D8507 llvm-svn: 232860
This commit is contained in:
parent
008067aca9
commit
3e707d98ee
|
@ -48,7 +48,7 @@ static ToolChain::RTTIMode CalculateRTTIMode(const ArgList &Args,
|
||||||
|
|
||||||
// On the PS4, turning on c++ exceptions turns on rtti.
|
// On the PS4, turning on c++ exceptions turns on rtti.
|
||||||
// We're assuming that, if we see -fexceptions, rtti gets turned on.
|
// We're assuming that, if we see -fexceptions, rtti gets turned on.
|
||||||
Arg *Exceptions = Args.getLastArg(
|
Arg *Exceptions = Args.getLastArgNoClaim(
|
||||||
options::OPT_fcxx_exceptions, options::OPT_fno_cxx_exceptions,
|
options::OPT_fcxx_exceptions, options::OPT_fno_cxx_exceptions,
|
||||||
options::OPT_fexceptions, options::OPT_fno_exceptions);
|
options::OPT_fexceptions, options::OPT_fno_exceptions);
|
||||||
if (Exceptions &&
|
if (Exceptions &&
|
||||||
|
|
|
@ -3,6 +3,10 @@
|
||||||
// No warnings/errors should be emitted for unknown, except if combining
|
// No warnings/errors should be emitted for unknown, except if combining
|
||||||
// the vptr sanitizer with -fno-rtti
|
// the vptr sanitizer with -fno-rtti
|
||||||
|
|
||||||
|
// Special case: -fcxx-exceptions in C code should warn about unused arguments
|
||||||
|
// RUN: %clang -x c -### -c -fcxx-exceptions %s 2>&1 | FileCheck -check-prefix=CHECK-UNUSED %s
|
||||||
|
// CHECK-UNUSED: warning: argument unused during compilation: '-fcxx-exceptions'
|
||||||
|
|
||||||
// RUN: %clang -### -c -fno-rtti -frtti %s 2>&1 | FileCheck -check-prefix=CHECK-RTTI %s
|
// RUN: %clang -### -c -fno-rtti -frtti %s 2>&1 | FileCheck -check-prefix=CHECK-RTTI %s
|
||||||
// RUN: %clang -### -c -frtti -fno-rtti %s 2>&1 | FileCheck -check-prefix=CHECK-NO-RTTI %s
|
// RUN: %clang -### -c -frtti -fno-rtti %s 2>&1 | FileCheck -check-prefix=CHECK-NO-RTTI %s
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue