236
|
1 // UNSUPPORTED: -zos, -aix
|
150
|
2 // RUN: %clang_cc1 %s -triple %itanium_abi_triple -emit-pch -o %t.pch
|
|
3 // RUN: %clang_cc1 %s -triple %itanium_abi_triple -emit-llvm -include-pch %t.pch -o - | FileCheck %s
|
|
4
|
|
5 #ifndef HEADER
|
|
6 #define HEADER
|
|
7
|
|
8 class OOArray{
|
|
9 public:
|
|
10 ~OOArray();
|
|
11 };
|
|
12
|
|
13 class OOString {
|
|
14 public:
|
|
15 OOString();
|
|
16 OOString(char *);
|
|
17 };
|
|
18
|
|
19 class OOPattern {
|
|
20 public:
|
|
21 OOArray matchAll(const OOString &)const {
|
|
22 __attribute__((__blocks__(byref))) OOArray out;
|
|
23 }
|
|
24 };
|
|
25
|
|
26 OOArray operator & (const OOPattern & pattern) {
|
|
27 pattern.matchAll(0);
|
|
28 }
|
|
29 OOArray operator & (OOString, OOString);
|
|
30
|
|
31 #else
|
|
32
|
|
33 // We just make sure there is no crash on IRGen (rdar://13114142)
|
|
34 // CHECK: _Z3foov()
|
|
35 void foo() {
|
|
36 OOString str;
|
|
37 str & "o";
|
|
38 }
|
|
39
|
|
40 #endif
|