+2003-05-31 Andreas Jaeger <aj@suse.de>
+
+ * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
+ usage.
+
+ * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
+
+ * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
+
+ * system.h: Poison ALLOCATE_TRAMPOLINE.
+
+ * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
+ * system.h: Poison HANDLE_PRAGMA.
+
2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
* doc/invoke.texi: Update dump file names.
* toplev.c (flag_wrapv): Declare the variable with default false.
(lang_independent_options): New option "-fwrapv" to set the above.
- * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
+ * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
as x, when signed arithmetic overflow wraps around.
(fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
* loop.c (basic_induction_var): Ignore BIVs that rely on undefined
* config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
of unaligned offsets.
- * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
+ * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
of SYMBOL_GENERAL.
2003-03-22 Richard Sandiford <rsandifo@redhat.com>
2003-02-02 Eric Christopher <echristo@redhat.com>
- * config/mips/mips.c (mips_sign_extend): Remove.
+ * config/mips/mips.c (mips_sign_extend): Remove.
* config/mips/mips-protos.h: Ditto.
* config/mips/mips.md (movdi_internal2_extend): Remove.
(extendsidi2): Fix mode of convert_memory_address.
simple_memory_operand, double_memory_operand, mips_check_split,
mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
mips16_gp_offset_p, mips16_output_gp_offset,
- mips16_constant_after_function_p, mips16_constant): Remove.
+ mips16_constant_after_function_p, mips16_constant): Remove.
(call_insn_operand): Be more fussy about symbolic constants.
Use register_operand.
(move_operand): Use mips_symbolic_address_p to check symbolic
* cnfig/mips/mips.md (reload_incc): Change destination prediate
to fcc_register_operand. Remove misleading source constraint.
Use mips_emit_fcc_reload.
- (reload_outcc): Duplicate reload_incc.
+ (reload_outcc): Duplicate reload_incc.
2003-04-30 Diego Novillo <dnovillo@redhat.com>
/* Definitions of target machine for Mitsubishi D30V.
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Contributed by Cygnus Solutions.
#define INITIALIZE_TRAMPOLINE(ADDR, FNADDR, STATIC_CHAIN) \
d30v_initialize_trampoline (ADDR, FNADDR, STATIC_CHAIN)
-/* A C expression to allocate run-time space for a trampoline. The expression
- value should be an RTX representing a memory reference to the space for the
- trampoline.
-
- If this macro is not defined, by default the trampoline is allocated as a
- stack slot. This default is right for most machines. The exceptions are
- machines where it is impossible to execute instructions in the stack area.
- On such machines, you may have to implement a separate stack, using this
- macro in conjunction with output_function_prologue () and
- output_function_epilogue ().
-
- FP points to a data structure, a `struct function', which describes the
- compilation status of the immediate containing function of the function
- which the trampoline is for. Normally (when `ALLOCATE_TRAMPOLINE' is not
- defined), the stack slot for the trampoline is in the stack frame of this
- containing function. Other allocation strategies probably must do something
- analogous with this information. */
-/* #define ALLOCATE_TRAMPOLINE(FP) */
-
/* Implementing trampolines is difficult on many machines because they have
separate instruction and data caches. Writing into a stack location fails
to clear the memory in the instruction cache, so when the program jumps to
@var{addr}. If this macro is not defined, @var{addr} will be used for
function calls.
-@findex ALLOCATE_TRAMPOLINE
-@item ALLOCATE_TRAMPOLINE (@var{fp})
-A C expression to allocate run-time space for a trampoline. The
-expression value should be an RTX representing a memory reference to the
-space for the trampoline.
-
@cindex @code{TARGET_ASM_FUNCTION_EPILOGUE} and trampolines
@cindex @code{TARGET_ASM_FUNCTION_PROLOGUE} and trampolines
If this macro is not defined, by default the trampoline is allocated as
@var{fp} points to a data structure, a @code{struct function}, which
describes the compilation status of the immediate containing function of
-the function which the trampoline is for. Normally (when
-@code{ALLOCATE_TRAMPOLINE} is not defined), the stack slot for the
+the function which the trampoline is for. The stack slot for the
trampoline is in the stack frame of this containing function. Other
allocation strategies probably must do something analogous with this
information.
C++, which is to pretend that the file's contents are enclosed in
@samp{extern "C" @{@dots{}@}}.
-@findex HANDLE_PRAGMA
-@item HANDLE_PRAGMA (@var{getc}, @var{ungetc}, @var{name})
-This macro is no longer supported. You must use
-@code{REGISTER_TARGET_PRAGMAS} instead.
-
@findex REGISTER_TARGET_PRAGMAS
@findex #pragma
@findex pragma
+2003-05-31 Andreas Jaeger <aj@suse.de>
+
+ * lex.c (ffelex_hash_): Remove HANDLE_PRAGMA and
+ HANDLE_GENERIC_PRAGMA dependend code, remove #if 0 code.
+ (pragma_getc): Removed.
+ (pragma_ungetc): Removed.
+
2003-05-30 Roger Sayle <roger@eyesopen.com>
* com.c (ffecom_init_0): Define built-in functions for tan and atan.
2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
- * lex.c (ffelex_file_pop_): Adjust file_stack member use.
+ * lex.c (ffelex_file_pop_): Adjust file_stack member use.
(ffelex_file_push_): Likewise.
(ffelex_hash_): Likewise.
Returns the next character unhandled, which is always newline or EOF. */
-#if defined HANDLE_PRAGMA
-/* Local versions of these macros, that can be passed as function pointers. */
-static int
-pragma_getc ()
-{
- return getc (finput);
-}
-
-static void
-pragma_ungetc (arg)
- int arg;
-{
- ungetc (arg, finput);
-}
-#endif /* HANDLE_PRAGMA */
-
static int
ffelex_hash_ (FILE *finput)
{
&& ((c = getc (finput)) == ' ' || c == '\t' || c == '\n'
|| c == EOF))
{
-#if 0 /* g77 doesn't handle pragmas, so ignores them FOR NOW. */
- static char buffer [128];
- char * buff = buffer;
-
- /* Read the pragma name into a buffer.
- ISSPACE() may evaluate its argument more than once! */
- while (((c = getc (finput)), ISSPACE(c)))
- continue;
-
- do
- {
- * buff ++ = c;
- c = getc (finput);
- }
- while (c != EOF && ! ISSPACE (c) && c != '\n'
- && buff < buffer + 128);
-
- pragma_ungetc (c);
-
- * -- buff = 0;
-#ifdef HANDLE_PRAGMA
- if (HANDLE_PRAGMA (pragma_getc, pragma_ungetc, buffer))
- goto skipline;
-#endif /* HANDLE_PRAGMA */
-#ifdef HANDLE_GENERIC_PRAGMAS
- if (handle_generic_pragma (buffer))
- goto skipline;
-#endif /* !HANDLE_GENERIC_PRAGMAS */
-
- /* Issue a warning message if we have been asked to do so.
- Ignoring unknown pragmas in system header file unless
- an explcit -Wunknown-pragmas has been given. */
- if (warn_unknown_pragmas > 1
- || (warn_unknown_pragmas && ! in_system_header))
- warning ("ignoring pragma: %s", token_buffer);
-#endif /* 0 */
goto skipline;
}
}
/* Allocate run-time space for this trampoline
(usually in the defining function's stack frame). */
-#ifdef ALLOCATE_TRAMPOLINE
- tramp = ALLOCATE_TRAMPOLINE (fp);
-#else
/* If rounding needed, allocate extra space
to ensure we have TRAMPOLINE_SIZE bytes left after rounding up. */
#define TRAMPOLINE_REAL_SIZE \
(TRAMPOLINE_SIZE + (TRAMPOLINE_ALIGNMENT / BITS_PER_UNIT) - 1)
tramp = assign_stack_local_1 (BLKmode, TRAMPOLINE_REAL_SIZE, 0,
fp ? fp : cfun);
-#endif
-
/* Record the trampoline for reuse and note it for later initialization
by expand_function_end. */
if (fp != 0)
HAVE_DECL_PUTC_UNLOCKED actually indicates whether or not the stdio
code is multi-thread safe by default. If it is set to 0, then do
not worry about using the _unlocked functions.
-
+
fputs_unlocked, fwrite_unlocked, and fprintf_unlocked are
extensions and need to be prototyped by hand (since we do not
define _GNU_SOURCE). */
#endif
-/* ??? Glibc's fwrite/fread_unlocked macros cause
+/* ??? Glibc's fwrite/fread_unlocked macros cause
"warning: signed and unsigned type in conditional expression". */
#undef fread_unlocked
#undef fwrite_unlocked
FUNCTION_BLOCK_PROFILER_EXIT MACHINE_STATE_SAVE \
MACHINE_STATE_RESTORE SCCS_DIRECTIVE SECTION_ASM_OP \
ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL ASM_OUTPUT_INTERNAL_LABEL \
- OBJC_PROLOGUE
+ OBJC_PROLOGUE ALLOCATE_TRAMPOLINE HANDLE_PRAGMA
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \