112a9d9c8Sopenharmony_ci// bindgen-flags: --respect-cxx-access-specs
212a9d9c8Sopenharmony_ciclass PubPriv {
312a9d9c8Sopenharmony_ci  public:
412a9d9c8Sopenharmony_ci    int x;
512a9d9c8Sopenharmony_ci  private:
612a9d9c8Sopenharmony_ci    int y;
712a9d9c8Sopenharmony_ci};
812a9d9c8Sopenharmony_ci
912a9d9c8Sopenharmony_ciclass PrivateBitFields {
1012a9d9c8Sopenharmony_ci  unsigned int a : 4;
1112a9d9c8Sopenharmony_ci  unsigned int b : 4;
1212a9d9c8Sopenharmony_ci};
1312a9d9c8Sopenharmony_ciclass PublicBitFields {
1412a9d9c8Sopenharmony_ci public:
1512a9d9c8Sopenharmony_ci  unsigned int a : 4;
1612a9d9c8Sopenharmony_ci  unsigned int b : 4;
1712a9d9c8Sopenharmony_ci};
1812a9d9c8Sopenharmony_ciclass MixedBitFields {
1912a9d9c8Sopenharmony_ci  unsigned int a : 4;
2012a9d9c8Sopenharmony_ci public:
2112a9d9c8Sopenharmony_ci  unsigned int d : 4;
2212a9d9c8Sopenharmony_ci};
2312a9d9c8Sopenharmony_ci
2412a9d9c8Sopenharmony_ciclass Base {
2512a9d9c8Sopenharmony_ci public:
2612a9d9c8Sopenharmony_ci  int member;
2712a9d9c8Sopenharmony_ci};
2812a9d9c8Sopenharmony_ci
2912a9d9c8Sopenharmony_ciclass InheritsPrivately : Base {};
3012a9d9c8Sopenharmony_ciclass InheritsPublically : public Base {};
3112a9d9c8Sopenharmony_ci
3212a9d9c8Sopenharmony_ciclass WithAnonStruct {
3312a9d9c8Sopenharmony_ci  struct {
3412a9d9c8Sopenharmony_ci     int a;
3512a9d9c8Sopenharmony_ci  };
3612a9d9c8Sopenharmony_ci public:
3712a9d9c8Sopenharmony_ci  struct {
3812a9d9c8Sopenharmony_ci    int b;
3912a9d9c8Sopenharmony_ci  };
4012a9d9c8Sopenharmony_ci};
4112a9d9c8Sopenharmony_ci
4212a9d9c8Sopenharmony_ciclass WithAnonUnion {
4312a9d9c8Sopenharmony_ci  union {};
4412a9d9c8Sopenharmony_ci};