Testcase for recent pragma pack stuff
authorAnton Korobeynikov <asl@math.spbu.ru>
Tue, 11 Sep 2007 22:12:26 +0000 (22:12 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Tue, 11 Sep 2007 22:12:26 +0000 (22:12 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41869 91177308-0d34-0410-b5e6-96231b3b80d8

test/CFrontend/2007-09-19-PragmaPack.c [new file with mode: 0644]

diff --git a/test/CFrontend/2007-09-19-PragmaPack.c b/test/CFrontend/2007-09-19-PragmaPack.c
new file mode 100644 (file)
index 0000000..187d5e3
--- /dev/null
@@ -0,0 +1,32 @@
+// RUN: %llvmgcc -O3 -S -o - %s | grep {26}
+
+#include <stdint.h>
+
+#pragma pack(push, 1)
+typedef struct
+{
+        uint32_t        a;
+        uint8_t *       b;
+} foo;
+
+typedef struct {
+        uint8_t         major;
+        uint8_t         minor;
+        uint16_t        build;
+} VERSION;
+
+typedef struct {
+        uint8_t       a[5];
+        VERSION       version;
+        uint8_t       b;
+        char *        c;
+        foo           d;
+        uint32_t      guard;
+} bar;
+#pragma pack(pop)
+
+
+unsigned barsize(void) {
+  return sizeof(bar);
+}
+