summaryrefslogtreecommitdiffstats
path: root/test/SemaCXX/pragma-pack.cpp
blob: 1bc738b087a94c1d15f72e58fc6df868277a72d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// RUN: %clang_cc1 -triple i686-apple-darwin9 -fsyntax-only -verify %s

namespace rdar8745206 {

struct Base {
  int i;
};

#pragma pack(push, 1)
struct Sub : public Base {
  char c;
};
#pragma pack(pop)

int check[sizeof(Sub) == 5 ? 1 : -1];

}

namespace check2 {

struct Base {
  virtual ~Base();
  int x;
};

#pragma pack(push, 1)
struct Sub : virtual Base {
  char c;
};
#pragma pack(pop)

int check[sizeof(Sub) == 13 ? 1 : -1];

}