aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-base.h
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-02-10 12:50:30 +0000
committerGitHub <noreply@github.com>2022-02-10 12:50:30 +0000
commitf6ba472caf42db1f5f2f98b73afccf448b36c322 (patch)
tree46d8ef5483a0acc2ee585c8fe176ae7438a5e800 /gcc/rust/backend/rust-compile-base.h
parent6d1ff568084ed86e6cf14e709fe6892256be824a (diff)
parentc598bbbcc1eadb178e74d908ce917b7cf4f556c1 (diff)
downloadgcc-f6ba472caf42db1f5f2f98b73afccf448b36c322.zip
gcc-f6ba472caf42db1f5f2f98b73afccf448b36c322.tar.gz
gcc-f6ba472caf42db1f5f2f98b73afccf448b36c322.tar.bz2
Merge #916
916: Support inline attribute by marking as DECL_DECLARED_INLINE_P r=philberty a=philberty This does a refactor by removing more flags for the fndecl construction from the rust-gcc wrapper code in favour of using the tree api directly. The ABI option attributes have also been refactored from the backend interface in favour of their own package. The gccgo wrapper tried to mark inline fns as extern inline but this refactor allows us to control the inline options specificly for the rust semantics. Fixes #857 Co-authored-by: Philip Herron <philip.herron@embecosm.com>
Diffstat (limited to 'gcc/rust/backend/rust-compile-base.h')
-rw-r--r--gcc/rust/backend/rust-compile-base.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/rust/backend/rust-compile-base.h b/gcc/rust/backend/rust-compile-base.h
index 902bedc..f318e81 100644
--- a/gcc/rust/backend/rust-compile-base.h
+++ b/gcc/rust/backend/rust-compile-base.h
@@ -71,6 +71,12 @@ protected:
tree resolve_deref_adjustment (Resolver::Adjustment &adjustment,
tree expression, Location locus);
+
+ static void setup_attributes_on_fndecl (
+ tree fndecl, bool is_main_entry_point, bool has_visibility,
+ const HIR::FunctionQualifiers &qualifiers, const AST::AttrVec &attrs);
+
+ static void setup_abi_options (tree fndecl, ABI abi);
};
} // namespace Compile