summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2014-09-06 18:16:37 +0000
committerNico Weber <nicolasweber@gmx.de>2014-09-06 18:16:37 +0000
commitc839c2bc206d92873f2a41c5c02353514dcfa0ac (patch)
tree4719124bde7b1af100f7bb0de60846ce67f345e9
parent6211259759353be48519c5ae918da9419f44939d (diff)
downloadbcm5719-llvm-c839c2bc206d92873f2a41c5c02353514dcfa0ac.tar.gz
bcm5719-llvm-c839c2bc206d92873f2a41c5c02353514dcfa0ac.zip
Move x86-specific bits of warn-unused-local-typedef.cpp into their own file.
That way, most of the test can run everywhere. Also give the new file an x86 triple in addition to a REQUIRES line. llvm-svn: 217314
-rw-r--r--clang/test/SemaCXX/warn-unused-local-typedef-x86asm.cpp16
-rw-r--r--clang/test/SemaCXX/warn-unused-local-typedef.cpp17
2 files changed, 17 insertions, 16 deletions
diff --git a/clang/test/SemaCXX/warn-unused-local-typedef-x86asm.cpp b/clang/test/SemaCXX/warn-unused-local-typedef-x86asm.cpp
new file mode 100644
index 00000000000..d7792c0e11e
--- /dev/null
+++ b/clang/test/SemaCXX/warn-unused-local-typedef-x86asm.cpp
@@ -0,0 +1,16 @@
+// REQUIRES: x86-registered-target
+// RUN: %clang_cc1 -triple x86_64-unknown-unknown -fsyntax-only -std=c++11 -Wunused-local-typedef -verify -fasm-blocks %s
+// expected-no-diagnostics
+void use_in_asm() {
+ typedef struct {
+ int a;
+ int b;
+ } A;
+ __asm mov eax, [eax].A.b
+
+ using Alias = struct {
+ int a;
+ int b;
+ };
+ __asm mov eax, [eax].Alias.b
+}
diff --git a/clang/test/SemaCXX/warn-unused-local-typedef.cpp b/clang/test/SemaCXX/warn-unused-local-typedef.cpp
index 8861a48d47b..e4434276721 100644
--- a/clang/test/SemaCXX/warn-unused-local-typedef.cpp
+++ b/clang/test/SemaCXX/warn-unused-local-typedef.cpp
@@ -1,5 +1,4 @@
-// REQUIRES: x86-registered-target
-// RUN: %clang_cc1 -fsyntax-only -Wunused-local-typedef -verify -std=c++1y -fasm-blocks %s
+// RUN: %clang_cc1 -fsyntax-only -Wunused-local-typedef -verify -std=c++1y %s
struct S {
typedef int Foo; // no diag
@@ -120,20 +119,6 @@ void typedef_in_nested_name() {
A2::Foo adsf2;
}
-void use_in_asm() {
- typedef struct {
- int a;
- int b;
- } A;
- __asm mov eax, [eax].A.b
-
- using Alias = struct {
- int a;
- int b;
- };
- __asm mov eax, [eax].Alias.b
-}
-
auto sneaky() {
struct S {
// Local typedefs can be used after the scope they were in has closed:
OpenPOWER on IntegriCloud