aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-backend.h
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2021-08-03 22:38:48 +0200
committerMark Wielaard <mark@klomp.org>2021-08-03 23:13:18 +0200
commit4292110a0aecd4ad3b48d16370c640679c3f2adf (patch)
tree1e8ea266706945f4a3ac816125eb48719ff6aea3 /gcc/rust/rust-backend.h
parentc707190b29e1e5b2d20fa9d68dcd7f043659aed4 (diff)
downloadgcc-4292110a0aecd4ad3b48d16370c640679c3f2adf.zip
gcc-4292110a0aecd4ad3b48d16370c640679c3f2adf.tar.gz
gcc-4292110a0aecd4ad3b48d16370c640679c3f2adf.tar.bz2
Remove split-stack from backend
The backend was derived from the go backend which enables split stack support by default. This inserts a __morestack call at the start of each function. This is not needed for the rust backend. Remove the split stack support code from the rust backend and spec.
Diffstat (limited to 'gcc/rust/rust-backend.h')
-rw-r--r--gcc/rust/rust-backend.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/gcc/rust/rust-backend.h b/gcc/rust/rust-backend.h
index 4635796..1af76cf 100644
--- a/gcc/rust/rust-backend.h
+++ b/gcc/rust/rust-backend.h
@@ -790,27 +790,23 @@ public:
// recover and must be visible for correct panic recovery.
static const unsigned int function_is_inlinable = 1 << 2;
- // Set if the function may not split the stack. This is set for the
- // implementation of recover itself, among other things.
- static const unsigned int function_no_split_stack = 1 << 3;
-
// Set if the function does not return. This is set for the
// implementation of panic.
- static const unsigned int function_does_not_return = 1 << 4;
+ static const unsigned int function_does_not_return = 1 << 3;
// Set if the function should be put in a unique section if
// possible. This is used for field tracking.
- static const unsigned int function_in_unique_section = 1 << 5;
+ static const unsigned int function_in_unique_section = 1 << 4;
// Set if the function should be available for inlining in the
// backend, but should not be emitted as a standalone function. Any
// call to the function that is not inlined should be treated as a
// call to a function defined in a different compilation unit. This
// is like a C99 function marked inline but not extern.
- static const unsigned int function_only_inline = 1 << 6;
+ static const unsigned int function_only_inline = 1 << 5;
// const function
- static const unsigned int function_read_only = 1 << 7;
+ static const unsigned int function_read_only = 1 << 6;
// Declare or define a function of FNTYPE.
// NAME is the Go name of the function. ASM_NAME, if not the empty