aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2022-09-28 15:33:41 +0200
committerArthur Cohen <arthur.cohen@embecosm.com>2023-09-21 11:15:02 +0200
commit335da4e99de5dab4678bac7d0a4dcc71c33eced0 (patch)
tree9d89375dd7ff32e5b21e5ffd99610b65f26e3814
parenta7ea90e4fb8e9b4a072424d2f136264cd0edf316 (diff)
downloadgcc-335da4e99de5dab4678bac7d0a4dcc71c33eced0.zip
gcc-335da4e99de5dab4678bac7d0a4dcc71c33eced0.tar.gz
gcc-335da4e99de5dab4678bac7d0a4dcc71c33eced0.tar.bz2
rust: Reintroduce TARGET_RUST_OS_INFO hook
gcc/ChangeLog: * doc/tm.texi: Regenerate. * doc/tm.texi.in: Document TARGET_RUST_OS_INFO. gcc/rust/ChangeLog: * rust-session-manager.cc (Session::init): Call targetrustm.rust_os_info. * rust-target.def (rust_os_info): New hook.
-rw-r--r--gcc/doc/tm.texi5
-rw-r--r--gcc/doc/tm.texi.in2
-rw-r--r--gcc/rust/rust-session-manager.cc1
-rw-r--r--gcc/rust/rust-target.def8
4 files changed, 16 insertions, 0 deletions
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index f7a2f8b..b077972 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -10975,6 +10975,11 @@ Configuration pairs predefined by this hook apply to all files that are being
compiled.
@end deftypefn
+@deftypefn {Rust Target Hook} void TARGET_RUST_OS_INFO (void)
+Similar to @code{TARGET_RUST_CPU_INFO}, but is used for configuration info
+relating to the target operating system.
+@end deftypefn
+
@node Named Address Spaces
@section Adding support for named address spaces
@cindex named address spaces
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index cd4e687..d3e1895 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -7150,6 +7150,8 @@ floating-point support; they are not included in this mechanism.
@hook TARGET_RUST_CPU_INFO
+@hook TARGET_RUST_OS_INFO
+
@node Named Address Spaces
@section Adding support for named address spaces
@cindex named address spaces
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 112960a..ce1fdbb 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -140,6 +140,7 @@ Session::init ()
{
// initialize target hooks
targetrustm.rust_cpu_info ();
+ targetrustm.rust_os_info ();
// target-independent values that should exist in all targets
options.target_data.insert_key_value_pair ("target_pointer_width",
diff --git a/gcc/rust/rust-target.def b/gcc/rust/rust-target.def
index 285b7503..9c72c1c 100644
--- a/gcc/rust/rust-target.def
+++ b/gcc/rust/rust-target.def
@@ -40,5 +40,13 @@ compiled.",
void, (void),
hook_void_void)
+/* Environmental OS info relating to the target OS. */
+DEFHOOK
+(rust_os_info,
+ "Similar to @code{TARGET_RUST_CPU_INFO}, but is used for configuration info\n\
+relating to the target operating system.",
+ void, (void),
+ hook_void_void)
+
/* Close the 'struct gcc_targetrustm' definition. */
HOOK_VECTOR_END (C90_EMPTY_HACK)