diff options
| author | bors <bors@rust-lang.org> | 2025-04-06 10:16:28 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-04-06 10:16:28 +0000 |
| commit | f5c510260bef89f7799d0b8e1aa70d7d7925cd99 (patch) | |
| tree | cfccb974a05c281d895cbdb9982541728609f1b7 /compiler/rustc_session/src/errors.rs | |
| parent | e7df5b055d1ea724b225c44bd5084141d6ab42b4 (diff) | |
| parent | 7e4379c4eb25a423b8484d99b01bfc8f5bb7efd8 (diff) | |
| download | rust-f5c510260bef89f7799d0b8e1aa70d7d7925cd99.tar.gz rust-f5c510260bef89f7799d0b8e1aa70d7d7925cd99.zip | |
Auto merge of #138947 - madsmtm:refactor-apple-versions, r=Noratrieb
Refactor Apple version handling in the compiler Move various Apple version handling code in the compiler out `rustc_codegen_ssa` and into a place where it can be accessed by `rustc_attr_parsing`, which I found to be necessary when doing https://github.com/rust-lang/rust/pull/136867. Thought I'd split it out to make it easier to land, and to make further changes like https://github.com/rust-lang/rust/pull/131477 have fewer conflicts / PR dependencies. There should be no functional changes in this PR. `@rustbot` label O-apple r? rust-lang/compiler
Diffstat (limited to 'compiler/rustc_session/src/errors.rs')
| -rw-r--r-- | compiler/rustc_session/src/errors.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_session/src/errors.rs b/compiler/rustc_session/src/errors.rs index 3979aea70d3..bf95014843d 100644 --- a/compiler/rustc_session/src/errors.rs +++ b/compiler/rustc_session/src/errors.rs @@ -1,4 +1,4 @@ -use std::num::NonZero; +use std::num::{NonZero, ParseIntError}; use rustc_ast::token; use rustc_ast::util::literal::LitError; @@ -14,6 +14,14 @@ use rustc_target::spec::{SplitDebuginfo, StackProtector, TargetTuple}; use crate::config::CrateType; use crate::parse::ParseSess; +#[derive(Diagnostic)] +pub(crate) enum AppleDeploymentTarget { + #[diag(session_apple_deployment_target_invalid)] + Invalid { env_var: &'static str, error: ParseIntError }, + #[diag(session_apple_deployment_target_too_low)] + TooLow { env_var: &'static str, version: String, os_min: String }, +} + pub(crate) struct FeatureGateError { pub(crate) span: MultiSpan, pub(crate) explain: DiagMessage, |
