diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-04-09 15:17:38 +0200 |
---|---|---|
committer | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-04-14 18:23:56 +0200 |
commit | 73d72498f97f601414919607ebf150b69694ce16 (patch) | |
tree | d5a7387b4b7aba687a9022c72c44aba25a33ca50 /gcc | |
parent | 9ed95c06977068cce86b5d35aee905533c757d57 (diff) | |
download | gcc-73d72498f97f601414919607ebf150b69694ce16.zip gcc-73d72498f97f601414919607ebf150b69694ce16.tar.gz gcc-73d72498f97f601414919607ebf150b69694ce16.tar.bz2 |
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.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/rust/expand/rust-macro-builtins.cc | 1 | ||||
-rw-r--r-- | gcc/rust/util/rust-attribute-values.h | 2 | ||||
-rw-r--r-- | gcc/rust/util/rust-attributes.cc | 3 | ||||
-rw-r--r-- | gcc/rust/util/rust-attributes.h | 5 |
4 files changed, 8 insertions, 3 deletions
diff --git a/gcc/rust/expand/rust-macro-builtins.cc b/gcc/rust/expand/rust-macro-builtins.cc index a1388fb..8b406ff 100644 --- a/gcc/rust/expand/rust-macro-builtins.cc +++ b/gcc/rust/expand/rust-macro-builtins.cc @@ -83,7 +83,6 @@ const BiMap<std::string, BuiltinMacro> 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 50ccb4a..47e6a17 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 7ddb476..c77e99c 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 7e7cd2c..7c7a1fc 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? }; |