43 lines · plain
1// UNSUPPORTED: target={{.*}}-zos{{.*}}, target={{.*}}-aix{{.*}}2// RUN: %clang_cc1 %s -triple %itanium_abi_triple -emit-pch -o %t.pch3// RUN: %clang_cc1 %s -triple %itanium_abi_triple -emit-llvm -include-pch %t.pch -o - | FileCheck %s4 5#ifndef HEADER6#define HEADER7 8class OOArray{9public:10 ~OOArray();11};12 13class OOString {14public:15 OOString();16 OOString(char *);17};18 19class OOPattern {20public:21 OOArray matchAll(const OOString &)const {22 __attribute__((__blocks__(byref))) OOArray out;23 return {};24 }25};26 27OOArray operator & (const OOPattern & pattern) {28 pattern.matchAll(0);29 return {};30}31OOArray operator & (OOString, OOString);32 33#else34 35// We just make sure there is no crash on IRGen36// CHECK: _Z3foov()37void foo() {38 OOString str;39 str & "o";40}41 42#endif43