aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2022-09-28 15:33:41 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2022-09-30 23:53:26 +0200
commitb220923f96344397c584245c09234a700b0ca243 (patch)
tree7d380bc0f1a49ccb29acaf0098a19aff523238ee /gcc
parentf97e0ca6e4e5efb33a47f8a1f0a49375fd1197f9 (diff)
downloadgcc-b220923f96344397c584245c09234a700b0ca243.zip
gcc-b220923f96344397c584245c09234a700b0ca243.tar.gz
gcc-b220923f96344397c584245c09234a700b0ca243.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/rust-session-manager.cc (Session::init): Call targetrustm.rust_os_info. * rust/rust-target.def (rust_os_info): New hook.
Diffstat (limited to 'gcc')
-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 638296d..75ae4b2 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -10895,6 +10895,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 911d5dc..c8c2b8b 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -7134,6 +7134,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 0947c18..ef1a85d 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -138,6 +138,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)