// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep baz | grep global | grep {struct.bar}
// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep ccc | grep global | grep {struct.CC}
// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep quux | grep global | grep {struct.bar}
// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep foo | grep global | grep {struct.SRCFilter::FilterEntry}
// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep {struct.bar} | grep {1 x i32}
// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep {struct.CC} | grep {struct.bar}
// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep {struct.bar} | grep {1 x i32}
// RUN: %llvmgxx -S -m32 -emit-llvm %s -o - | grep {struct.SRCFilter::FilterEntry} | not grep {1 x i32}
// XFAIL: *
// XTARGET: powerpc-apple-darwin

template<class _T1, class _T2>     struct payre     {
  _T1 first;
  _T2 second;
  payre()       : first(), second() {    }
};
struct KBFP {
  double mCutoffFrequency;
};
class SRCFilter {
  struct FilterEntry: public payre<KBFP, float*>{};
  static FilterEntry foo;
};
SRCFilter::FilterEntry SRCFilter::foo;    // 12 bytes
payre<KBFP, float*> baz;                  // 16 bytes
class CC {                                // 16 bytes
  public: payre<KBFP, float*> x;          
};
class CC ccc;

struct bar { KBFP x; float* y;};          // 16 bytes
struct bar quux;
