No branch protection metadata unless enabled Even if we emit metadata disabling branch protection, this metadata may conflict with other modules (e.g. during LTO) that have different branch protection metadata set. This is an unstable flag and feature, so ideally the flag not being specified should act as if the feature wasn't implemented in the first place. Additionally this PR also ensures we emit an error if `-Zbranch-protection` is set on targets other than the supported aarch64. For now the error is being output from codegen, but ideally it should be moved to earlier in the pipeline before stabilization.
38 lines
962 B
Rust
38 lines
962 B
Rust
#![feature(crate_visibility_modifier)]
|
|
#![feature(derive_default_enum)]
|
|
#![feature(let_else)]
|
|
#![feature(min_specialization)]
|
|
#![feature(once_cell)]
|
|
#![feature(option_get_or_insert_default)]
|
|
#![recursion_limit = "256"]
|
|
#![allow(rustc::potential_query_instability)]
|
|
|
|
#[macro_use]
|
|
extern crate rustc_macros;
|
|
|
|
pub mod cgu_reuse_tracker;
|
|
pub mod utils;
|
|
pub use lint::{declare_lint, declare_lint_pass, declare_tool_lint, impl_lint_pass};
|
|
pub use rustc_lint_defs as lint;
|
|
pub mod parse;
|
|
|
|
mod code_stats;
|
|
#[macro_use]
|
|
pub mod config;
|
|
pub mod cstore;
|
|
pub mod filesearch;
|
|
mod options;
|
|
pub mod search_paths;
|
|
|
|
mod session;
|
|
pub use session::*;
|
|
|
|
pub mod output;
|
|
|
|
pub use getopts;
|
|
|
|
/// Requirements for a `StableHashingContext` to be used in this crate.
|
|
/// This is a hack to allow using the `HashStable_Generic` derive macro
|
|
/// instead of implementing everything in `rustc_middle`.
|
|
pub trait HashStableContext: rustc_ast::HashStableContext + rustc_hir::HashStableContext {}
|