llvm-project

Форк
0
/
chain-class-extension.m 
44 строки · 1.1 Кб
1
// Without PCH
2
// RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin10 -fobjc-arc %s -include %s -include %s
3

4
// With PCH
5
// RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin10 -fobjc-arc %s -chain-include %s -chain-include %s
6

7
// expected-no-diagnostics
8

9
#ifndef HEADER1
10
#define HEADER1
11
//===----------------------------------------------------------------------===//
12
// Primary header
13

14
@interface I
15
+(void)meth;
16
@end
17

18
//===----------------------------------------------------------------------===//
19
#elif !defined(HEADER2)
20
#define HEADER2
21
#if !defined(HEADER1)
22
#error Header inclusion order messed up
23
#endif
24

25
//===----------------------------------------------------------------------===//
26
// Dependent header
27

28
@interface I()
29
@property (assign) id prop;
30
+(void)meth2;
31
@end
32

33
//===----------------------------------------------------------------------===//
34
#else
35
//===----------------------------------------------------------------------===//
36

37
void foo(I *i) {
38
  [I meth];
39
  [I meth2];
40
  i.prop = 0;
41
}
42

43
//===----------------------------------------------------------------------===//
44
#endif
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.