blob: 4e70e60fb63bd215ab7a2b981dffc3cede4076b3 [file] [edit]
// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-pc-windows-gnu -verify %s
struct {
int a;
}
// expected-note@+1 {{conflicting attribute is here}}
__attribute__((gcc_struct))
// expected-error@+1 {{'ms_struct' and 'gcc_struct' attributes are not compatible}}
__attribute__((ms_struct))
t1;
struct {
int a;
}
// expected-note@+1 {{conflicting attribute is here}}
__attribute__((ms_struct))
// expected-error@+1 {{'gcc_struct' and 'ms_struct' attributes are not compatible}}
__attribute__((gcc_struct))
t2;
#pragma ms_struct on
struct {
int a;
}
// No diagnostic for an attribute, unambiguously overriding the pragma.
__attribute__((gcc_struct))
t3;
struct {
int a;
}
// expected-note@+1 {{conflicting attribute is here}}
__attribute__((ms_struct))
// expected-error@+1 {{'gcc_struct' and 'ms_struct' attributes are not compatible}}
__attribute__((gcc_struct))
t4;
#pragma ms_struct off