Craig Burley [Sun, 8 Feb 1998 23:50:28 +0000 (23:50 +0000)]
Fix -fpedantic combined with `F()' invocation,
also -fugly-comma combined with `IARGC()' invocation:
* bad.def (FFEBAD_NULL_ARGUMENT_W): New diagnostic.
* expr.c (ffeexpr_finished_): Don't reject null expressions
in the argument-expression context -- let outer context
handle that.
(ffeexpr_token_arguments_): Warn about null expressions
here if -fpedantic (as appropriate).
Obey -fugly-comma for only external-procedure invocations.
Jim Wilson [Wed, 24 Dec 1997 22:06:54 +0000 (22:06 +0000)]
mips.c (mips_expand_epilogue): Emit blockage insn before call to save_restore_insns if...
* mips.c (mips_expand_epilogue): Emit blockage insn before call to
save_restore_insns if no FP and GP will be restored.
* abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
and define __LONG_MAX__ appropriately. Add support for -mabi=X,
-mlong64, and -mgp{32,64} options.
* mips.c (mips_abi): Change type to int.
* mips.h (enum mips_abi_type): Delete.
(ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
(mips_abi): Change type to int.
Jeff Law [Mon, 22 Dec 1997 08:55:43 +0000 (01:55 -0700)]
haifa-sched.c (create_reg_dead_note): Detect and handle another case where we kill more regs after sched than were...
* haifa-sched.c (create_reg_dead_note): Detect and handle another
case where we kill more regs after sched than were killed before
sched.
* sched.c (create_reg_dead_note): Similarly.
Paul Eggert [Sat, 20 Dec 1997 12:37:59 +0000 (12:37 +0000)]
frame.h (__register_frame, [...]): New.
* frame.h (__register_frame, __register_frame_table,
__deregister_frame): New.
* frame.c (__register_frame, __register_frame_table,
__deregister_frame): New.
* frame.c (__deregister_frame_info): Return void *.
* frame.h (__deregister_frame_info): Ditto.
* collect2.c (__deregister_frame_info): Ditto.
* frame.h (__register_frame_info_table): Fix typo in declaration.
* frame.c (__register_frame_info): Renamed from __register_frame.
(__register_frame_info_table, __deregister_frame_info): Similarly.
* frame.h (__{,de}register_frame_info): Likewise.
(__register_frame_info_table): New declaration.
* crtstuff.c (__do_global_dtors{,_aux}): Rename __deregister_frame.
(frame_dummy, __do_global_ctors): Likewise for __register_frame.
* collect2.c (write_c_file_{stat,glob}): Rename __register_frame
to __register_frame_info and similarly for __deregister_frame and
__register_frame_table.
* collect2.c (write_c_file_glob):
Allocate initial frame object in static storage and pass its address.
* crtstuff.c (__do_global_ctors): Fix typo in last change.
* crtstuff.c (__do_global_ctors): Add missing arg to __register_frame.
* collect2.c (write_c_file_stat): Fix error in last change;
use __SIZE_TYPE__, not size_t.
Alter C startup code so that it doesn't invoke malloc on Solaris.
* frame.h (struct object): Decl moved here from frame.c.
* frame.c (struct object): Move decl to frame.h.
("frame.h"): Include after <stddef.h>, so that size_t is defined.
(__register_frame, __register_frame_table, __deregister_frame):
It's now the caller's responsibility to allocate storage for object.
* crtstuff.c (frame_dummy), collect2.c (write_c_file_stat):
Allocate initial frame object in static storage and pass its address.
* crtstuff.c (<stddef.h>, "frame.h"): Include.
* Makefile.in ($(T)crtbegin.o, $(T)crtend.o, stamp-crtS):
Depend on defaults.h and frame.h.
The oh so fun changes in __register_frame* interface stuff.
Co-Authored-By: H.J. Lu <hjl@gnu.org> Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
From-SVN: r17160
Jason Merrill [Fri, 19 Dec 1997 08:38:33 +0000 (08:38 +0000)]
cp-tree.h (struct lang_decl_flags): Add comdat.
* cp-tree.h (struct lang_decl_flags): Add comdat.
(DECL_COMDAT): New macro.
* decl.c (duplicate_decls): Propagate it.
(cp_finish_decl): Handle it.
* decl2.c (import_export_decl): Just set DECL_COMDAT on VAR_DECLs.
Michael Meissner [Thu, 27 Nov 1997 00:06:53 +0000 (00:06 +0000)]
rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
* rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
(print_operand): Use SMALL_DATA_REG for the register involved in
small data relocations.
(print_operand_address): Ditto.
* rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
-dynamic linker is not used.
* rs6000.md (call insns): For local calls, use @local suffix under
System V. Don't use @plt under Solaris.
* configure.in (target frags): Add alpha*-linux-gnulibc1.
(pic frags): Its alpha*- not alpha-.
(stdio-lock): Kill everything. Add alpha*-linux-gnulibc1.
* libio.h: Check __GLIBC_MINOR__ to find stdio-lock.h. If not
_IO_MTSAFE_IO & GLIBC, make sure the lock pointer is still there.
* libioP.h: Check __GLIBC_MINOR__ to find libc-lock.h.
* config/linuxaxp1-libc-lock.h: New file.
* config/linuxaxp1-stdio-lock.h: New file.
* config/linuxaxp1.mt: New file.
* gen-params (va_list): Check for and use __gnuc_va_list.
(NULL): Work around some linux kernel headers and redefine NULL.
Cater to RH powerpc & alpha Linux systems with pre-release versions
of glibc2.
Michael Meissner [Wed, 26 Nov 1997 21:26:23 +0000 (21:26 +0000)]
(patches originally from Geoffrey Keating)
(patches originally from Geoffrey Keating)
* rs6000.c (function_arg): Excess floating point arguments don't
go into GPR registers after exhausting FP registers under the
System V.4 ABI.
(function_arg_partial_nregs): Ditto.
* rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
suffix to calls.
J"orn Rennecke [Tue, 25 Nov 1997 21:09:44 +0000 (21:09 +0000)]
va-sh.h (__va_arg_sh1): Define.
* va-sh.h (__va_arg_sh1): Define.
(va_arg): Use it.
SH3E doesn't use any integer registers for subsequent arguments
once a non-float value was passed in the stack.
* sh.h (PASS_IN_REG_P): Fix SH3E case.