diff options
author | Charles Li <charles.li@sony.com> | 2017-03-01 00:10:00 +0000 |
---|---|---|
committer | Charles Li <charles.li@sony.com> | 2017-03-01 00:10:00 +0000 |
commit | f22a68714f56906ed995088fc00b2d2977e9e42d (patch) | |
tree | 6943100b8a1c95171e302d319ff74db0486112ac | |
parent | 0c9bea4821957cc89581bee3243b46e9eed51a0d (diff) | |
download | bcm5719-llvm-f22a68714f56906ed995088fc00b2d2977e9e42d.tar.gz bcm5719-llvm-f22a68714f56906ed995088fc00b2d2977e9e42d.zip |
[Test] Make Lit tests C++11 compatible - IR ordering
Differential Revision: https://reviews.llvm.org/D30430
llvm-svn: 296549
-rw-r--r-- | clang/test/CodeGenCXX/template-instantiation.cpp | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/clang/test/CodeGenCXX/template-instantiation.cpp b/clang/test/CodeGenCXX/template-instantiation.cpp index 3d0ce234371..098f18dc479 100644 --- a/clang/test/CodeGenCXX/template-instantiation.cpp +++ b/clang/test/CodeGenCXX/template-instantiation.cpp @@ -1,21 +1,22 @@ -// RUN: %clang_cc1 %s -O1 -disable-llvm-passes -triple=x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s - -// CHECK: @_ZN7PR100011xE = global -// CHECK-NOT: @_ZN7PR100014kBarE = external global i32 -// -// CHECK-NOT: @_ZTVN5test118stdio_sync_filebufIwEE = constant -// CHECK-NOT: _ZTVN5test315basic_fstreamXXIcEE -// CHECK-NOT: @_ZTVN5test018stdio_sync_filebufIA1_iEE -// CHECK-NOT: @_ZTVN5test018stdio_sync_filebufIA2_iEE -// CHECK: @_ZTVN5test018stdio_sync_filebufIA3_iEE = weak_odr unnamed_addr constant - -// CHECK: @_ZN7PR100011SIiE3arrE = linkonce_odr global [3 x i32] -// CHECK-NOT: @_ZN7PR100011SIiE3arr2E = linkonce_odr global [3 x i32]A - -// CHECK: @_ZTVN5test018stdio_sync_filebufIA4_iEE = linkonce_odr unnamed_addr constant - -// CHECK-NOT: _ZTVN5test31SIiEE -// CHECK-NOT: _ZTSN5test31SIiEE +// RUN: %clang_cc1 %s -O1 -disable-llvm-passes -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -O1 -disable-llvm-passes -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -o - | FileCheck %s --check-prefix=CHECK2 + +// Instantiation order varies on different C++ dialects (IE, between C++98 and C++11). +// CHECK-DAG: @_ZN7PR100011xE = global +// CHECK-DAG: @_ZTVN5test018stdio_sync_filebufIA3_iEE = weak_odr unnamed_addr constant +// CHECK-DAG: @_ZN7PR100011SIiE3arrE = linkonce_odr global [3 x i32] +// CHECK-DAG: @_ZTVN5test018stdio_sync_filebufIA4_iEE = linkonce_odr unnamed_addr constant + +// Negative checks go under prefix "CHECK2" to avoid interference with CHECK and CHECK-DAG. +// CHECK2-NOT: @_ZN7PR100014kBarE = external global i32 +// CHECK2-NOT: @_ZTVN5test118stdio_sync_filebufIwEE = constant +// CHECK2-NOT: _ZTVN5test315basic_fstreamXXIcEE +// CHECK2-NOT: @_ZTVN5test018stdio_sync_filebufIA1_iEE +// CHECK2-NOT: @_ZTVN5test018stdio_sync_filebufIA2_iEE +// CHECK2-NOT: @_ZN7PR100011SIiE3arr2E = linkonce_odr global [3 x i32]A + +// CHECK2-NOT: _ZTVN5test31SIiEE +// CHECK2-NOT: _ZTSN5test31SIiEE // CHECK-LABEL: define linkonce_odr void @_ZN5test21CIiEC1Ev(%"class.test2::C"* %this) unnamed_addr // CHECK-LABEL: define linkonce_odr void @_ZN5test21CIiE6foobarIdEEvT_( @@ -152,7 +153,7 @@ class B { void f () {} }; // Should not instantiate class B since it is introduced in namespace scope. -// CHECK-NOT: _ZN6PR85051AILi0EE1B1fEv +// CHECK2-NOT: _ZN6PR85051AILi0EE1B1fEv template class A<0>; } |