summaryrefslogtreecommitdiffstats
path: root/clang/test/Sema/struct-packed-align.c
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-08-04 22:48:19 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-08-04 22:48:19 +0000
commit8c8dbc3622fc915aae24746d4c6e9c5c83d75bc9 (patch)
tree39d2094d925b6bca780f1de489428dcc8021e001 /clang/test/Sema/struct-packed-align.c
parentc59c64452354f880bfc47d54d65afddb21f273b4 (diff)
downloadbcm5719-llvm-8c8dbc3622fc915aae24746d4c6e9c5c83d75bc9.tar.gz
bcm5719-llvm-8c8dbc3622fc915aae24746d4c6e9c5c83d75bc9.zip
clang/test/Sema/struct-packed-align.c: Add the case in MS mode that alignment doesn't affect packing.
Also, revert a couple of suppressions. r214298, "Suppress clang/test/Sema/struct-packed-align.c for targeting LLP64." r214301, "Suppress clang/test/Sema/struct-packed-align.c also on msvc for investigating." llvm-svn: 214794
Diffstat (limited to 'clang/test/Sema/struct-packed-align.c')
-rw-r--r--clang/test/Sema/struct-packed-align.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/test/Sema/struct-packed-align.c b/clang/test/Sema/struct-packed-align.c
index e28399d56a0..291de6762cd 100644
--- a/clang/test/Sema/struct-packed-align.c
+++ b/clang/test/Sema/struct-packed-align.c
@@ -1,9 +1,6 @@
// RUN: %clang_cc1 %s -fsyntax-only -verify
// expected-no-diagnostics
-// FIXME: This test is incompatible to MS compat mode.
-// REQUIRES: shell
-
// Packed structs.
struct s {
char a;
@@ -123,7 +120,6 @@ extern int m1[sizeof(struct packed_fas2) == 1 ? 1 : -1];
extern int m2[__alignof(struct packed_fas2) == 1 ? 1 : -1];
// Attribute aligned can round down typedefs. PR9253
-// REQUIRES: LP64
typedef long long __attribute__((aligned(1))) nt;
struct nS {
@@ -131,5 +127,11 @@ struct nS {
nt start_lba;
};
+#if defined(_WIN32) && !defined(__declspec) // _MSC_VER is unavailable in cc1.
+// Alignment doesn't affect packing in MS mode.
+extern int n1[sizeof(struct nS) == 16 ? 1 : -1];
+extern int n2[__alignof(struct nS) == 8 ? 1 : -1];
+#else
extern int n1[sizeof(struct nS) == 9 ? 1 : -1];
extern int n2[__alignof(struct nS) == 1 ? 1 : -1];
+#endif
OpenPOWER on IntegriCloud