112a9d9c8Sopenharmony_ci<!-- Thanks for filing a bindgen issue! We appreciate it :-) -->
212a9d9c8Sopenharmony_ci
312a9d9c8Sopenharmony_ci### Input C/C++ Header
412a9d9c8Sopenharmony_ci
512a9d9c8Sopenharmony_ci```C++
612a9d9c8Sopenharmony_ci// Insert your minimal C or C++ header here.
712a9d9c8Sopenharmony_ci//
812a9d9c8Sopenharmony_ci// It should *NOT* have any `#include`s! Not all systems have the same header
912a9d9c8Sopenharmony_ci// files, and therefore any `#include` harms reproducibility. Additionally,
1012a9d9c8Sopenharmony_ci// the test case isn't minimal since the included file almost assuredly
1112a9d9c8Sopenharmony_ci// contains things that aren't necessary to reproduce the bug, and makes
1212a9d9c8Sopenharmony_ci// tracking it down much more difficult.
1312a9d9c8Sopenharmony_ci//
1412a9d9c8Sopenharmony_ci// Use the `--dump-preprocessed-input` flag or the
1512a9d9c8Sopenharmony_ci// `bindgen::Builder::dump_preprocessed_input` method to make your test case
1612a9d9c8Sopenharmony_ci// standalone and without `#include`s, and then use C-Reduce to minimize it:
1712a9d9c8Sopenharmony_ci// https://github.com/rust-lang/rust-bindgen/blob/master/CONTRIBUTING.md#using-creduce-to-minimize-test-cases
1812a9d9c8Sopenharmony_ci```
1912a9d9c8Sopenharmony_ci
2012a9d9c8Sopenharmony_ci### Bindgen Invocation
2112a9d9c8Sopenharmony_ci
2212a9d9c8Sopenharmony_ci<!-- Place either the `bindgen::Builder` or the command line flags used here. -->
2312a9d9c8Sopenharmony_ci
2412a9d9c8Sopenharmony_ci```Rust
2512a9d9c8Sopenharmony_cibindgen::Builder::default()
2612a9d9c8Sopenharmony_ci    .header("input.h")
2712a9d9c8Sopenharmony_ci    .generate()
2812a9d9c8Sopenharmony_ci    .unwrap()
2912a9d9c8Sopenharmony_ci```
3012a9d9c8Sopenharmony_ci
3112a9d9c8Sopenharmony_cior
3212a9d9c8Sopenharmony_ci
3312a9d9c8Sopenharmony_ci```
3412a9d9c8Sopenharmony_ci$ bindgen input.h --whatever --flags
3512a9d9c8Sopenharmony_ci```
3612a9d9c8Sopenharmony_ci
3712a9d9c8Sopenharmony_ci### Actual Results
3812a9d9c8Sopenharmony_ci
3912a9d9c8Sopenharmony_ci```
4012a9d9c8Sopenharmony_ciInsert panic message and backtrace (set the `RUST_BACKTRACE=1` env var) here.
4112a9d9c8Sopenharmony_ci```
4212a9d9c8Sopenharmony_ci
4312a9d9c8Sopenharmony_ciand/or
4412a9d9c8Sopenharmony_ci
4512a9d9c8Sopenharmony_ci```rust
4612a9d9c8Sopenharmony_ci// Insert the (incorrect/buggy) generated bindings here
4712a9d9c8Sopenharmony_ci```
4812a9d9c8Sopenharmony_ci
4912a9d9c8Sopenharmony_ciand/or
5012a9d9c8Sopenharmony_ci
5112a9d9c8Sopenharmony_ci```
5212a9d9c8Sopenharmony_ciInsert compilation errors generated when compiling the bindings with rustc here
5312a9d9c8Sopenharmony_ci```
5412a9d9c8Sopenharmony_ci
5512a9d9c8Sopenharmony_ci### Expected Results
5612a9d9c8Sopenharmony_ci
5712a9d9c8Sopenharmony_ci<!--
5812a9d9c8Sopenharmony_ciReplace this with a description of what you expected instead of the actual
5912a9d9c8Sopenharmony_ciresults. The more precise, the better! For example, if a struct in the generated
6012a9d9c8Sopenharmony_cibindings is missing a field that exists in the C/C++ struct, note that here.
6112a9d9c8Sopenharmony_ci-->
62