1 // RUN: rm -rf %t 2 // RUN: %clang_cc1 -x objective-c++ -fmodules -fmodules-cache-path=%t -I %S/Inputs -verify %s -Wno-objc-root-class 3 // RUN: %clang_cc1 -x objective-c++ -fmodules -fmodules-cache-path=%t -I %S/Inputs -emit-llvm %s -o - -Wno-objc-root-class | grep Emit | FileCheck %s 4 // expected-no-diagnostics 5 6 @import templates_left; 7 @import templates_right; 8 9 10 void testTemplateClasses() { 11 Vector<int> vec_int; 12 vec_int.push_back(0); 13 14 List<bool> list_bool; 15 list_bool.push_back(false); 16 17 N::Set<char> set_char; 18 set_char.insert('A'); 19 } 20 21 void testPendingInstantiations() { 22 // CHECK: call {{.*pendingInstantiationEmit}} 23 // CHECK: call {{.*pendingInstantiationEmit}} 24 // CHECK: define {{.*pendingInstantiationEmit.*[(]i}} 25 // CHECK: define {{.*pendingInstantiationEmit.*[(]double}} 26 triggerPendingInstantiation(); 27 triggerPendingInstantiationToo(); 28 } 29 30 void testRedeclDefinition() { 31 // CHECK: define {{.*redeclDefinitionEmit}} 32 redeclDefinitionEmit(); 33 } 34 35 // CHECK: call {{.*pendingInstantiation}} 36 // CHECK: call {{.*redeclDefinitionEmit}} 37