diff options
| author | Lukasz Anforowicz <lukasza@chromium.org> | 2023-12-13 21:14:18 +0000 |
|---|---|---|
| committer | Lukasz Anforowicz <lukasza@chromium.org> | 2023-12-13 21:14:23 +0000 |
| commit | 981c4e3ce6f3d89f681fbb0de753d03425c6a209 (patch) | |
| tree | 45fac0a87e9435e05ef8b63941ba36ed650f885d /compiler/rustc_session/src | |
| parent | 56d25ba5ea3515ba2b361b6c4636373734eb27cc (diff) | |
| download | rust-981c4e3ce6f3d89f681fbb0de753d03425c6a209.tar.gz rust-981c4e3ce6f3d89f681fbb0de753d03425c6a209.zip | |
Add unstable `-Zdefault-hidden-visibility` cmdline flag for `rustc`.
The new flag has been described in the Major Change Proposal at https://github.com/rust-lang/compiler-team/issues/656
Diffstat (limited to 'compiler/rustc_session/src')
| -rw-r--r-- | compiler/rustc_session/src/options.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_session/src/session.rs | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/compiler/rustc_session/src/options.rs b/compiler/rustc_session/src/options.rs index d666c5d4d70..a3835c085da 100644 --- a/compiler/rustc_session/src/options.rs +++ b/compiler/rustc_session/src/options.rs @@ -1552,6 +1552,8 @@ options! { "compress debug info sections (none, zlib, zstd, default: none)"), deduplicate_diagnostics: bool = (true, parse_bool, [UNTRACKED], "deduplicate identical diagnostics (default: yes)"), + default_hidden_visibility: Option<bool> = (None, parse_opt_bool, [TRACKED], + "overrides the `default_hidden_visibility` setting of the target"), dep_info_omit_d_target: bool = (false, parse_bool, [TRACKED], "in dep-info output, omit targets for tracking dependencies of the dep-info files \ themselves (default: no)"), diff --git a/compiler/rustc_session/src/session.rs b/compiler/rustc_session/src/session.rs index 24c7459392a..69b861ea380 100644 --- a/compiler/rustc_session/src/session.rs +++ b/compiler/rustc_session/src/session.rs @@ -961,6 +961,14 @@ impl Session { termize::dimensions().map_or(default_column_width, |(w, _)| w) } } + + /// Whether the default visibility of symbols should be "hidden" rather than "default". + pub fn default_hidden_visibility(&self) -> bool { + self.opts + .unstable_opts + .default_hidden_visibility + .unwrap_or(self.target.options.default_hidden_visibility) + } } // JUSTIFICATION: defn of the suggested wrapper fns |
