diff options
author | Arthur Cohen <arthur.cohen@embecosm.com> | 2025-04-09 15:17:38 +0200 |
---|---|---|
committer | CohenArthur <arthur.cohen@embecosm.com> | 2025-04-14 12:35:00 +0000 |
commit | 6068e7aac646703fb563785b6d93f913180970a9 (patch) | |
tree | 8cd81e04f218a40ef765ad60f553fafe3a28c0d3 | |
parent | 5bd41f967706556524cd1de172d03e7351402405 (diff) | |
download | gcc-6068e7aac646703fb563785b6d93f913180970a9.zip gcc-6068e7aac646703fb563785b6d93f913180970a9.tar.gz gcc-6068e7aac646703fb563785b6d93f913180970a9.tar.bz2 |
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.
-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 d5b6dec..d8013c1 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 1d69b7a..6e0aa48 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 0442ff1..2c1bd19 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 e7e5083..16e4847 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? }; |