1 // RUN: %clang_cc1 -fdouble-square-bracket-attributes -std=c11 -E %s -o - | FileCheck %s 2 // RUN: %clang_cc1 -std=c2x -E %s -o - | FileCheck %s 3 4 // CHECK: has_fallthrough 5 #if __has_c_attribute(fallthrough) 6 int has_fallthrough(); 7 #endif 8 9 // CHECK: does_not_have_selectany 10 #if !__has_c_attribute(selectany) 11 int does_not_have_selectany(); 12 #endif 13 14 // CHECK: has_nodiscard_underscore 15 #if __has_c_attribute(__nodiscard__) 16 int has_nodiscard_underscore(); 17 #endif 18 19 // CHECK: has_clang_annotate 20 #if __has_c_attribute(clang::annotate) 21 int has_clang_annotate(); 22 #endif 23