<!-- Thanks for filing a bindgen issue! We appreciate it :-) --> ### Input C/C++ Header part of `MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/hfs/hfs_format.h` ```C++ #define int8_t char struct FndrOpaqueInfo { int8_t opaque[16]; } __attribute__((aligned(2), packed)); ``` ### Bindgen Invocation <!-- Place either the `bindgen::Builder` or the command line flags used here. --> ``` $ bindgen has_format.h ``` ### Actual Results ```rust #[repr(C, packed(2))] #[repr(align(2))] #[derive(Debug, Copy, Clone)] pub struct FndrOpaqueInfo { pub opaque: [::std::os::raw::c_char; 16usize], } ``` ### Expected Results ```rust #[repr(C, packed(2))] #[derive(Debug, Copy, Clone)] pub struct FndrOpaqueInfo { pub opaque: [::std::os::raw::c_char; 16usize], } ``` The actual result is illegal in Rust. ```rust #[repr(C, packed(2))] #[repr(align(2))] ``` any of below will be accepted ```rust #[repr(C, packed(2))] ``` ```rust #[repr(C)] #[repr(align(2))] ```