// RUN: %clang_cc1 -Wall -Wno-unused -Wno-uninitialized -verify -std=c17 %s // RUN: %clang_cc1 -Wall -Wno-unused -Wno-uninitialized -verify -std=c23 %s #define CFI_UNCHECKED_CALLEE __attribute__((cfi_unchecked_callee)) #if __STDC_VERSION__ >= 202311L // expected-no-diagnostics #endif #if __STDC_VERSION__ < 202311L // expected-note@+2 2 {{previous definition is here}} #endif struct field_attr_test { void (CFI_UNCHECKED_CALLEE *func)(void); }; #if __STDC_VERSION__ < 202311L // expected-error@+2{{redefinition of 'field_attr_test'}} #endif struct field_attr_test { void (CFI_UNCHECKED_CALLEE *func)(void); }; typedef void (CFI_UNCHECKED_CALLEE func_t)(void); #if __STDC_VERSION__ < 202311L // expected-error@+2{{redefinition of 'field_attr_test'}} #endif struct field_attr_test { func_t *func; };