]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Modules/Inputs/overloadable-attrs/a.h
Vendor import of clang trunk r300422:
[FreeBSD/FreeBSD.git] / test / Modules / Inputs / overloadable-attrs / a.h
1 namespace enable_if_attrs {
2 constexpr int fn1() __attribute__((enable_if(0, ""))) { return 0; }
3 constexpr int fn1() { return 1; }
4
5 constexpr int fn2() { return 1; }
6 constexpr int fn2() __attribute__((enable_if(0, ""))) { return 0; }
7
8 constexpr int fn3(int i) __attribute__((enable_if(!i, ""))) { return 0; }
9 constexpr int fn3(int i) __attribute__((enable_if(i, ""))) { return 1; }
10
11 constexpr int fn4(int i) { return 0; }
12 constexpr int fn4(int i) __attribute__((enable_if(i, ""))) { return 1; }
13
14 constexpr int fn5(int i) __attribute__((enable_if(i, ""))) { return 1; }
15 constexpr int fn5(int i) { return 0; }
16 }
17
18 namespace pass_object_size_attrs {
19 constexpr int fn1(void *const a __attribute__((pass_object_size(0)))) {
20   return 1;
21 }
22 constexpr int fn1(void *const a) { return 0; }
23
24 constexpr int fn2(void *const a) { return 0; }
25 constexpr int fn2(void *const a __attribute__((pass_object_size(0)))) {
26   return 1;
27 }
28 }