struct foo1
{
  int a;
  char b;
};

struct foo2
{
  char a;
  int b;
};

struct foo3
{
  long long a;
  char b;
  int c;
};

struct foo4
{
  short a;
  char b;
};

struct foo5
{
  int a:4;
  char b:5;
};

struct foo6
{
  char a:4;
  char b:5;
};

struct foo7
{
  char a:4;
  int:0;
  char b:4;
};

struct foo8
{
  char a;
  int:0;
  char b;
};

struct foo9
{
  int a;
  char *b;
};

struct __attribute__((aligned(227), aligned(449))) foo10
{
  char a;
  char b;
};

union foo11
{
  int a;
  char *b;
};

enum foo12
{
  foo12_a, foo12_b
};

enum __attribute__((packed)) foo13
{
  foo13_a, foo13_b
};
