]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Preprocessor/has_attribute.c
Vendor import of clang trunk r238337:
[FreeBSD/FreeBSD.git] / test / Preprocessor / has_attribute.c
1 // RUN: %clang_cc1 -triple arm-unknown-linux -verify -E %s -o - | FileCheck %s
2
3 // CHECK: always_inline
4 #if __has_attribute(always_inline)
5 int always_inline();
6 #endif
7
8 // CHECK: __always_inline__
9 #if __has_attribute(__always_inline__)
10 int __always_inline__();
11 #endif
12
13 // CHECK: no_dummy_attribute
14 #if !__has_attribute(dummy_attribute)
15 int no_dummy_attribute();
16 #endif
17
18 // CHECK: has_has_attribute
19 #ifdef __has_attribute
20 int has_has_attribute();
21 #endif
22
23 // CHECK: has_something_we_dont_have
24 #if !__has_attribute(something_we_dont_have)
25 int has_something_we_dont_have();
26 #endif
27
28 // rdar://10253857
29 #if __has_attribute(__const)
30  int fn3() __attribute__ ((__const));
31 #endif
32
33 #if __has_attribute(const)
34  static int constFunction() __attribute__((const));
35 #endif
36
37 // CHECK: has_no_volatile_attribute
38 #if !__has_attribute(volatile)
39 int has_no_volatile_attribute();
40 #endif
41
42 // CHECK: has_arm_interrupt
43 #if __has_attribute(interrupt)
44   int has_arm_interrupt();
45 #endif
46
47 // CHECK: does_not_have_dllexport
48 #if !__has_attribute(dllexport)
49   int does_not_have_dllexport();
50 #endif
51
52 // CHECK: does_not_have_uuid
53 #if !__has_attribute(uuid)
54   int does_not_have_uuid
55 #endif
56
57 #if __has_cpp_attribute(selectany) // expected-error {{token is not a valid binary operator in a preprocessor subexpression}}
58 #endif