summaryrefslogtreecommitdiff
path: root/gcc/config/lm32/lm32.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/lm32/lm32.c')
-rw-r--r--gcc/config/lm32/lm32.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/config/lm32/lm32.c b/gcc/config/lm32/lm32.c
index 448da99e756..9677087cf0f 100644
--- a/gcc/config/lm32/lm32.c
+++ b/gcc/config/lm32/lm32.c
@@ -19,7 +19,7 @@
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-#define TARGET_C_FILE 1
+#define IN_TARGET_CODE 1
#include "config.h"
#include "system.h"
@@ -81,6 +81,7 @@ static void lm32_function_arg_advance (cumulative_args_t cum,
const_tree type, bool named);
static bool lm32_hard_regno_mode_ok (unsigned int, machine_mode);
static bool lm32_modes_tieable_p (machine_mode, machine_mode);
+static HOST_WIDE_INT lm32_starting_frame_offset (void);
#undef TARGET_OPTION_OVERRIDE
#define TARGET_OPTION_OVERRIDE lm32_option_override
@@ -118,6 +119,9 @@ static bool lm32_modes_tieable_p (machine_mode, machine_mode);
#undef TARGET_CONSTANT_ALIGNMENT
#define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings
+#undef TARGET_STARTING_FRAME_OFFSET
+#define TARGET_STARTING_FRAME_OFFSET lm32_starting_frame_offset
+
struct gcc_target targetm = TARGET_INITIALIZER;
/* Current frame information calculated by lm32_compute_frame_size. */
@@ -1251,3 +1255,11 @@ lm32_modes_tieable_p (machine_mode mode1, machine_mode mode2)
&& GET_MODE_SIZE (mode1) <= UNITS_PER_WORD
&& GET_MODE_SIZE (mode2) <= UNITS_PER_WORD);
}
+
+/* Implement TARGET_STARTING_FRAME_OFFSET. */
+
+static HOST_WIDE_INT
+lm32_starting_frame_offset (void)
+{
+ return UNITS_PER_WORD;
+}