diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-12-18 20:11:37 +0000 |
commit | 461a67fa15370a9ec88f8f8a240bf7c123bb2029 (patch) | |
tree | 6942083d7d56bba40ec790a453ca58ad3baf6832 /test/Sema/Inputs | |
parent | 75c3240472ba6ac2669ee72ca67eb72d4e2851fc (diff) | |
download | src-test2-461a67fa15370a9ec88f8f8a240bf7c123bb2029.tar.gz src-test2-461a67fa15370a9ec88f8f8a240bf7c123bb2029.zip |
Notes
Diffstat (limited to 'test/Sema/Inputs')
-rw-r--r-- | test/Sema/Inputs/pragma-pack1.h | 27 | ||||
-rw-r--r-- | test/Sema/Inputs/pragma-pack2.h | 8 |
2 files changed, 35 insertions, 0 deletions
diff --git a/test/Sema/Inputs/pragma-pack1.h b/test/Sema/Inputs/pragma-pack1.h new file mode 100644 index 000000000000..abbf8a8609f1 --- /dev/null +++ b/test/Sema/Inputs/pragma-pack1.h @@ -0,0 +1,27 @@ + +#ifndef NO_RECORD_1 +struct ReceivesPragma { }; +#endif + +#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 changes 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 diff --git a/test/Sema/Inputs/pragma-pack2.h b/test/Sema/Inputs/pragma-pack2.h new file mode 100644 index 000000000000..a41621544d75 --- /dev/null +++ b/test/Sema/Inputs/pragma-pack2.h @@ -0,0 +1,8 @@ + +#ifndef NO_RECORD_2 +struct S { int x; }; +#endif + +#ifdef SET_SECOND_HEADER +#pragma pack (8) // expected-note 2 {{previous '#pragma pack' directive that modifies alignment is here}} +#endif |