brintos

brintos / llvm-project-archived public Read only

0
0
Text · 793 B · 2257587 Raw
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