summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/frame-pointer-elim.c
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2019-08-13 17:37:09 +0000
committerNico Weber <nicolasweber@gmx.de>2019-08-13 17:37:09 +0000
commit2346b92f2bff05ef9d83706787bd38e32e0079c5 (patch)
treeadd08375491d424b3609e62e43b487ae6581564f /clang/test/Driver/frame-pointer-elim.c
parent64517a6419ca7f7b4f349f512c7cc65c30dae2bf (diff)
downloadbcm5719-llvm-2346b92f2bff05ef9d83706787bd38e32e0079c5.tar.gz
bcm5719-llvm-2346b92f2bff05ef9d83706787bd38e32e0079c5.zip
clang: Don't warn on unused momit-leaf-frame-pointer when frame pointers are off.
This fixes a regression from r365860: As that commit message states, there are 3 valid states targeted by the combination of -f(no-)omit-frame-pointer and -m(no-)omit-leaf-frame-pointer. After r365860 it's impossible to get from state 10 (omit just leaf frame pointers) to state 11 (omit all frame pointers) in a single command line without getting a warning. This change restores that functionality. Fixes PR42966. Differential Revision: https://reviews.llvm.org/D66142 llvm-svn: 368728
Diffstat (limited to 'clang/test/Driver/frame-pointer-elim.c')
-rw-r--r--clang/test/Driver/frame-pointer-elim.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Driver/frame-pointer-elim.c b/clang/test/Driver/frame-pointer-elim.c
index 6bb8da67da7..099df7175f6 100644
--- a/clang/test/Driver/frame-pointer-elim.c
+++ b/clang/test/Driver/frame-pointer-elim.c
@@ -1,5 +1,8 @@
+// KEEP-ALL-NOT: warning:
// KEEP-ALL: "-mframe-pointer=all"
+// KEEP-NON-LEAF-NOT: warning:
// KEEP-NON-LEAF: "-mframe-pointer=non-leaf"
+// KEEP-NONE-NOT: warning:
// KEEP-NONE: "-mframe-pointer=none"
// On Linux x86, omit frame pointer when optimization is enabled.
@@ -25,6 +28,13 @@
// RUN: %clang -### -target i386-linux -S -O1 -momit-leaf-frame-pointer %s 2>&1 | \
// RUN: FileCheck --check-prefix=KEEP-NONE %s
+// fno-omit-frame-pointer -momit-leaf-frame-pointer can be overwritten by
+// fomit-frame-pointer later on the command without warning
+// RUN: %clang -### -target i386-linux -S -O1 -fno-omit-frame-pointer -momit-leaf-frame-pointer -fomit-frame-pointer %s 2>&1 | \
+// RUN: FileCheck --check-prefix=KEEP-NONE %s
+
+// RUN: %clang -### -target i386-linux -S -O1 -fno-omit-frame-pointer -momit-leaf-frame-pointer %s 2>&1 | \
+// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s
// Explicit or default -fomit-frame-pointer wins over -mno-omit-leaf-frame-pointer.
// RUN: %clang -### -target i386 -S %s -fomit-frame-pointer -mno-omit-leaf-frame-pointer 2>&1 | \
// RUN: FileCheck --check-prefix=KEEP-NONE %s
OpenPOWER on IntegriCloud