aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorArthur Cohen <arthur.cohen@embecosm.com>2025-04-09 15:17:38 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2025-04-14 18:23:56 +0200
commit73d72498f97f601414919607ebf150b69694ce16 (patch)
treed5a7387b4b7aba687a9022c72c44aba25a33ca50 /gcc
parent9ed95c06977068cce86b5d35aee905533c757d57 (diff)
downloadgcc-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.cc1
-rw-r--r--gcc/rust/util/rust-attribute-values.h2
-rw-r--r--gcc/rust/util/rust-attributes.cc3
-rw-r--r--gcc/rust/util/rust-attributes.h5
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?
};