aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2023-12-11 15:09:16 -0300
committerAlexandre Oliva <oliva@gnu.org>2023-12-11 15:09:16 -0300
commit60decd36cd4b242e7814b5d34412fceae735406c (patch)
tree2303fa757f6c2c477062022231a365760777cbae
parente4fc59e0d50cd3d2bb3a004fff135f5955621d01 (diff)
downloadgcc-60decd36cd4b242e7814b5d34412fceae735406c.zip
gcc-60decd36cd4b242e7814b5d34412fceae735406c.tar.gz
gcc-60decd36cd4b242e7814b5d34412fceae735406c.tar.bz2
strub: disable on rl78
rl78 allocation of virtual registers to physical registers doesn't operate on asm statements, and strub uses asm statements in the runtime and in the generated code, to the point that the runtime won't build. Force strub disabled on that target. for gcc/ChangeLog * config/rl78/rl78.cc (TARGET_HAVE_STRUB_SUPPORT_FOR): Disable.
-rw-r--r--gcc/config/rl78/rl78.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/rl78/rl78.cc b/gcc/config/rl78/rl78.cc
index 5d8fddb..f350728 100644
--- a/gcc/config/rl78/rl78.cc
+++ b/gcc/config/rl78/rl78.cc
@@ -4972,6 +4972,11 @@ rl78_preferred_reload_class (rtx x ATTRIBUTE_UNUSED, reg_class_t rclass)
}
+/* The strub runtime uses asms, and physical register allocation won't
+ deal with them, so disable it. */
+#undef TARGET_HAVE_STRUB_SUPPORT_FOR
+#define TARGET_HAVE_STRUB_SUPPORT_FOR hook_bool_tree_false
+
struct gcc_target targetm = TARGET_INITIALIZER;
#include "gt-rl78.h"