#ifndef __has_attribute __has_attribute()??? Quesako? #define __has_attribute(x) 0 #else "has __has_attribute(), yeah!" #endif 123 __has_attribute(nothinx) def #if __has_attribute(nothinx) #error "not a attribute!" #endif #if 1 \ && __has_attribute(packed) \ && __has_attribute(aligned) \ && __has_attribute(const) \ && __has_attribute(pure) \ && __has_attribute(noreturn) \ && __has_attribute(designated_init) \ && __has_attribute(transparent_union) \ "ok gcc" #endif #if 1 \ && __has_attribute(fastcall) \ "ok gcc ignore" #endif #if 1 \ && __has_attribute(nocast) \ && __has_attribute(noderef) \ && __has_attribute(safe) \ && __has_attribute(force) \ && __has_attribute(bitwise) \ && __has_attribute(address_space) \ && __has_attribute(context) \ "ok sparse specific" #endif /* * check-name: has-attribute * check-command: sparse -E $file * * check-output-start "has __has_attribute(), yeah!" 123 0 def "ok gcc" "ok gcc ignore" "ok sparse specific" * check-output-end */