X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfig%2Fmmix%2Fmmix.h;h=6894337b2ff30c22c39fee937d31b1981be1dece;hb=b981d932962c8e9f6744359ef47d255a2c6b3be8;hp=01090b7771a9f10be5358ef6d652cde4e0cd8e8e;hpb=1934732785c2b3f204ef475da4aca96231152b79;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/config/mmix/mmix.h b/gcc/config/mmix/mmix.h index 01090b7771a..6894337b2ff 100644 --- a/gcc/config/mmix/mmix.h +++ b/gcc/config/mmix/mmix.h @@ -687,7 +687,7 @@ enum reg_class /* Node: Elimination */ /* FIXME: Is this requirement built-in? Anyway, we should try to get rid of it; we can deduce the value. */ -#define FRAME_POINTER_REQUIRED (nonlocal_goto_stack_level != NULL_RTX) +#define FRAME_POINTER_REQUIRED current_function_has_nonlocal_label /* The frame-pointer is stored in a location that either counts to the offset of incoming parameters, or that counts to the offset of the @@ -720,18 +720,7 @@ enum reg_class #define FUNCTION_INCOMING_ARG(CUM, MODE, TYPE, NAMED) \ mmix_function_arg (&(CUM), MODE, TYPE, NAMED, 1) -#define FUNCTION_ARG_PASS_BY_REFERENCE(CUM, MODE, TYPE, NAMED) \ - mmix_function_arg_pass_by_reference (&(CUM), MODE, TYPE, NAMED) - -/* This *sounds* good, but does not seem to be implemented correctly to - be a win; at least it wasn't in 2.7.2. FIXME: Check and perhaps - replace with a big comment. - The definition needs to match or be a subset of - FUNCTION_ARG_PASS_BY_REFERENCE, since not all callers check that before - usage. Watch lots of C++ testcases fail if set to 1, for example - g++.dg/init/byval1.C. */ -#define FUNCTION_ARG_CALLEE_COPIES(CUM, MODE, TYPE, NAMED) \ - mmix_function_arg_pass_by_reference (&(CUM), MODE, TYPE, NAMED) +#define FUNCTION_ARG_CALLEE_COPIES(CUM, MODE, TYPE, NAMED) 1 typedef struct { int regs; int lib; } CUMULATIVE_ARGS; @@ -740,7 +729,7 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS; #define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \ ((CUM).regs \ - = ((MUST_PASS_IN_STACK (MODE, TYPE)) \ + = ((targetm.calls.must_pass_in_stack (MODE, TYPE)) \ || (MMIX_FUNCTION_ARG_SIZE (MODE, TYPE) > 8 \ && !TARGET_LIBFUNC && !(CUM).lib)) \ ? (MMIX_MAX_ARGS_IN_REGS) + 1 \ @@ -789,13 +778,6 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS; #define FUNCTION_PROFILER(FILE, LABELNO) \ mmix_function_profiler (FILE, LABELNO) -/* Node: Varargs */ - -/* FIXME: This and other EXPAND_BUILTIN_VA_... target macros are not - documented, although used by several targets. */ -#define EXPAND_BUILTIN_VA_ARG(VALIST, TYPE) \ - mmix_expand_builtin_va_arg (VALIST, TYPE) - /* Node: Trampolines */ #define TRAMPOLINE_TEMPLATE(FILE) \ @@ -806,11 +788,6 @@ typedef struct { int regs; int lib; } CUMULATIVE_ARGS; mmix_initialize_trampoline (ADDR, FNADDR, STATIC_CHAIN) -/* Node: Library Calls */ - -#define TARGET_MEM_FUNCTIONS - - /* Node: Addressing Modes */ #define CONSTANT_ADDRESS_P(X) \