diff options
Diffstat (limited to 'clang/test/Sema/Inputs/pragma-pack1.h')
-rw-r--r-- | clang/test/Sema/Inputs/pragma-pack1.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/clang/test/Sema/Inputs/pragma-pack1.h b/clang/test/Sema/Inputs/pragma-pack1.h new file mode 100644 index 00000000000..40e7ad18b2c --- /dev/null +++ b/clang/test/Sema/Inputs/pragma-pack1.h @@ -0,0 +1,23 @@ + +#ifdef SET_FIRST_HEADER +#pragma pack (16) +#ifndef SET_SECOND_HEADER +// expected-note@-2 2 {{previous '#pragma pack' directive that modifies alignment is here}} +#else +// expected-note@-4 1 {{previous '#pragma pack' directive that modifies alignment is here}} +#endif +// expected-warning@+3 {{non-default #pragma pack value might change the alignment of struct or union members in the included file}} +#endif + +#include "pragma-pack2.h" + +#ifdef SET_SECOND_HEADER +// expected-warning@-3 {{the current #pragma pack aligment value is modified in the included file}} +#endif + +#ifdef PUSH_POP_FIRST_HEADER +// This is fine, we don't change the current value. +#pragma pack (push, 4) + +#pragma pack (pop) +#endif |