diff options
author | David Drysdale <drysdale@google.com> | 2021-11-26 01:42:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-26 02:42:47 +0100 |
commit | 7bd23291e29e1874f57a628e94d7632b3b367ae6 (patch) | |
tree | a7381f98e6fb46c2020bccb344e98ba0e38523ab /src/options.rs | |
parent | 04f5c0715832feee6c059128cd5cd70056e861f7 (diff) |
Add --blocklist-file option (#2097)
Update Item to hold a `clang::SourceLocation` and use this to allow
blocklisting based on filename.
The existing code has a special case that always maps <stdint.h> integer
types to corresponding Rust integer types, even if the C types are
blocklisted. To match this special case behaviour, also treat these
C <stdint.h> types as being eligible for derived Copy/Clone/Debug
traits.
Fixes #2096
Diffstat (limited to 'src/options.rs')
-rw-r--r-- | src/options.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/options.rs b/src/options.rs index 9aac5dae..bc7431c5 100644 --- a/src/options.rs +++ b/src/options.rs @@ -164,6 +164,14 @@ where .takes_value(true) .multiple(true) .number_of_values(1), + Arg::with_name("blocklist-file") + .alias("blacklist-file") + .long("blocklist-file") + .help("Mark all contents of <path> as hidden.") + .value_name("path") + .takes_value(true) + .multiple(true) + .number_of_values(1), Arg::with_name("no-layout-tests") .long("no-layout-tests") .help("Avoid generating layout tests for any type."), @@ -630,6 +638,12 @@ where } } + if let Some(hidden_files) = matches.values_of("blocklist-file") { + for file in hidden_files { + builder = builder.blocklist_file(file); + } + } + if matches.is_present("builtins") { builder = builder.emit_builtins(); } |