brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 0d90263 Raw
41 lines · plain
1// RUN: %clang_cc1 -DFIRST -fsyntax-only -verify %s2// RUN: %clang_cc1 -DSECOND -fsyntax-only -verify %s3// RUN: %clang_cc1 -DTHIRD -fsyntax-only -verify %s4// RUN: %clang_cc1 -DFOURTH -fsyntax-only -verify %s5 6@protocol P;7@interface NSObject8@end9@protocol X10@end11@interface X : NSObject <X>12@end13 14@class A;15 16#ifdef FIRST17id<X> F1(id<[P> v) { // expected-error {{expected a type}} expected-error {{use of undeclared identifier 'P'}} expected-error {{use of undeclared identifier 'v'}} expected-note {{to match this '('}} expected-note {{to match this '<'}}18  return 0;19} // expected-error {{expected '>'}}20#endif21 22#ifdef SECOND23id<X> F2(id<P[X> v) { // expected-error {{unknown type name 'P'}} expected-error {{unexpected interface name 'X': expected expression}} expected-error {{use of undeclared identifier 'v'}} expected-note {{to match this '('}} expected-note {{to match this '<'}}24  return 0;25} // expected-error {{expected '>'}}26#endif27 28#ifdef THIRD29id<X> F3(id<P, P *[> v) { // expected-error {{unknown type name 'P'}} expected-error {{expected expression}} expected-error {{use of undeclared identifier 'v'}} expected-note {{to match this '('}} expected-note {{to match this '<'}}30  return 0;31} // expected-error {{expected '>'}}32#endif33 34#ifdef FOURTH35id<X> F4(id<P, P *(> v { // expected-error {{unknown type name 'P'}} expected-error {{expected ')'}} expected-note {{to match this '('}} expected-note {{to match this '('}} expected-note {{to match this '<'}}36  return 0;37} // expected-error {{expected '>'}}38#endif39 40// expected-error {{expected parameter declarator}} // expected-error {{expected ')'}} // expected-error {{expected function body after function declarator}}41