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};