From: Arthur Cohen Date: Wed, 9 Apr 2025 13:17:38 +0000 (+0200) Subject: gccrs: attributes: Handle external tool annotations like rustfmt:: X-Git-Tag: basepoints/gcc-16~101 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=73d72498f97f601414919607ebf150b69694ce16;p=thirdparty%2Fgcc.git gccrs: attributes: Handle external tool annotations like rustfmt:: gcc/rust/ChangeLog: * util/rust-attribute-values.h: Add RUSTFMT value. * util/rust-attributes.cc: Define the attribute. * util/rust-attributes.h (enum CompilerPass): Add EXTERNAL variant. * expand/rust-macro-builtins.cc: Fix formatting. --- diff --git a/gcc/rust/expand/rust-macro-builtins.cc b/gcc/rust/expand/rust-macro-builtins.cc index a1388fb1dfb..8b406fff9e6 100644 --- a/gcc/rust/expand/rust-macro-builtins.cc +++ b/gcc/rust/expand/rust-macro-builtins.cc @@ -83,7 +83,6 @@ const BiMap MacroBuiltin::builtins = {{ {"Ord", BuiltinMacro::Ord}, {"PartialOrd", BuiltinMacro::PartialOrd}, {"Hash", BuiltinMacro::Hash}, - }}; AST::MacroTranscriberFunc diff --git a/gcc/rust/util/rust-attribute-values.h b/gcc/rust/util/rust-attribute-values.h index 50ccb4ab6dc..47e6a175396 100644 --- a/gcc/rust/util/rust-attribute-values.h +++ b/gcc/rust/util/rust-attribute-values.h @@ -83,6 +83,8 @@ public: static constexpr auto &FUNDAMENTAL = "fundamental"; static constexpr auto &NON_EXHAUSTIVE = "non_exhaustive"; + + static constexpr auto &RUSTFMT = "rustfmt"; }; } // namespace Values } // namespace Rust diff --git a/gcc/rust/util/rust-attributes.cc b/gcc/rust/util/rust-attributes.cc index 7ddb476bbe6..c77e99c1ca5 100644 --- a/gcc/rust/util/rust-attributes.cc +++ b/gcc/rust/util/rust-attributes.cc @@ -94,7 +94,8 @@ static const BuiltinAttrDefinition __definitions[] {Attrs::RUSTC_ON_UNIMPLEMENTED, STATIC_ANALYSIS}, {Attrs::FUNDAMENTAL, TYPE_CHECK}, - {Attrs::NON_EXHAUSTIVE, TYPE_CHECK}}; + {Attrs::NON_EXHAUSTIVE, TYPE_CHECK}, + {Attrs::RUSTFMT, EXTERNAL}}; BuiltinAttributeMappings * BuiltinAttributeMappings::get () diff --git a/gcc/rust/util/rust-attributes.h b/gcc/rust/util/rust-attributes.h index 7e7cd2c3c63..7c7a1fc3f6b 100644 --- a/gcc/rust/util/rust-attributes.h +++ b/gcc/rust/util/rust-attributes.h @@ -40,7 +40,10 @@ enum CompilerPass HIR_LOWERING, TYPE_CHECK, STATIC_ANALYSIS, - CODE_GENERATION + CODE_GENERATION, + + // External Rust tooling attributes, like #[rustfmt::skip] + EXTERNAL, // Do we need to add something here for const fns? };