summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2012-08-16 23:50:41 +0000
committerEric Christopher <echristo@apple.com>2012-08-16 23:50:41 +0000
commit9e49188a01806042704e7e9e768cfa26cab7b964 (patch)
tree6c7ce9c11c3e7a3f8688f57c863e1b440a2fad44
parentae6b9d2de3294d0b233eeb0b53fcdd7359b5b6b3 (diff)
downloadbcm5719-llvm-9e49188a01806042704e7e9e768cfa26cab7b964.tar.gz
bcm5719-llvm-9e49188a01806042704e7e9e768cfa26cab7b964.zip
Add a missing 'break' to ensure that we reject inline assembly
constraints we don't recognize. llvm-svn: 162064
-rw-r--r--clang/lib/Basic/Targets.cpp2
-rw-r--r--clang/test/Sema/arm-asm.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 883864fd9a1..769f777dc8f 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -3085,7 +3085,7 @@ public:
TargetInfo::ConstraintInfo &Info) const {
// FIXME: Check if this is complete
switch (*Name) {
- default:
+ default: break;
case 'l': // r0-r7
case 'h': // r8-r15
case 'w': // VFP Floating point register single precision
diff --git a/clang/test/Sema/arm-asm.c b/clang/test/Sema/arm-asm.c
new file mode 100644
index 00000000000..3fc0eeb7543
--- /dev/null
+++ b/clang/test/Sema/arm-asm.c
@@ -0,0 +1,7 @@
+// RUN: %clang_cc1 %s -triple armv7-apple-darwin -verify -fsyntax-only
+
+void f (void) {
+ int Val;
+ asm volatile ("lw (r1), %0[val]": "=&b"(Val)); // expected-error {{invalid output constraint '=&b' in asm}}
+ return;
+}
OpenPOWER on IntegriCloud