[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / PCH / irgen-rdar13114142.mm
blobd3687637eefab22bc7398e33a2646201dde5239c
1 // UNSUPPORTED: target={{.*}}-zos{{.*}}, target={{.*}}-aix{{.*}}
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
5 #ifndef HEADER
6 #define HEADER
8 class OOArray{
9 public:
10   ~OOArray();
13 class OOString {
14 public:
15     OOString();
16     OOString(char *);
19 class OOPattern {
20 public:
21     OOArray matchAll(const OOString &)const {
22         __attribute__((__blocks__(byref))) OOArray out;
23     }
26 OOArray operator & (const OOPattern & pattern) {
27     pattern.matchAll(0);
29 OOArray operator & (OOString, OOString);
31 #else
33 // We just make sure there is no crash on IRGen
34 // CHECK: _Z3foov()
35 void foo() {
36   OOString str;
37   str & "o";
40 #endif