1 #ifndef __has_attribute 2 __has_attribute()??? Quesako? 3 #define __has_attribute(x) 0 4 #else 5 "has __has_attribute(), yeah!" 6 #endif 7 8 123 __has_attribute(nothinx) def 9 10 #if __has_attribute(nothinx) 11 #error "not a attribute!" 12 #endif 13 14 #if 1 \ 15 && __has_attribute(packed) \ 16 && __has_attribute(aligned) \ 17 && __has_attribute(const) \ 18 && __has_attribute(pure) \ 19 && __has_attribute(noreturn) \ 20 && __has_attribute(designated_init) \ 21 && __has_attribute(transparent_union) \ 22 23 "ok gcc" 24 #endif 25 26 #if 1 \ 27 && __has_attribute(fastcall) \ 28 29 "ok gcc ignore" 30 #endif 31 32 #if 1 \ 33 && __has_attribute(nocast) \ 34 && __has_attribute(noderef) \ 35 && __has_attribute(safe) \ 36 && __has_attribute(force) \ 37 && __has_attribute(bitwise) \ 38 && __has_attribute(address_space) \ 39 && __has_attribute(context) \ 40 41 "ok sparse specific" 42 #endif 43 44 /* 45 * check-name: has-attribute 46 * check-command: sparse -E $file 47 * 48 * check-output-start 49 50 "has __has_attribute(), yeah!" 51 123 0 def 52 "ok gcc" 53 "ok gcc ignore" 54 "ok sparse specific" 55 * check-output-end 56 */ 57