* jump.c (jmp_uses_reg_or_mem): Deleted unused function.
(find_basic_blocks): Use computed_jump_p to determine if a
particular JUMP_INSN is a computed jump.
* reg-stack.c (find_blocks): Use computed_jump_p to determine
if a particular JUMP_INSN is a computed jump.
* rtlanal.c (jmp_uses_reg_or_mem): New function.
(computed_jump_p): Likewise.
* rtl.h (computed_jump_p): Declare.
* genattrtab.c (pc_rtx): Define and initialize.
* loop.c (loop_optimize): Always determine if the current
function has a computed jump.
(indirect_jump_in_function_p): Use computed_jump_p to determine
if a particular JUMP_INSN is a computed jump.
General (and haifa) cleanups.
Jeffrey A Law [Fri, 19 Sep 1997 05:16:54 +0000 (05:16 +0000)]
proj.h (FFEPROJ_BSEARCH): Delete all references.
* proj.h (FFEPROJ_BSEARCH): Delete all references.
(FFEPROJ_STRTOUL): Likewise.
* proj.c (bsearch): Compile this if no bsearch is provided by the
host system.
(strtoul): Similarly.
Jeffrey A Law [Fri, 19 Sep 1997 05:14:32 +0000 (05:14 +0000)]
configure.in (strtoul, bsearch): Have autoconf check for these functions.
* configure.in (strtoul, bsearch): Have autoconf check for these
functions.
* configure, config.in: Rebuilt.
So Fortran front end can use HAVE_STRTOUL and HAVE_BSEARCH.
Jeffrey A Law [Fri, 19 Sep 1997 03:12:55 +0000 (03:12 +0000)]
xm-mot3300.h (alloca): Properly declare if __STDC__.
* m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
* mips/mips.h (alloca): Likewise.
* rs6000/xm-rs6000.h (alloca): Likewise.
* rs6000/xm-sysv4.h: Likewise.
Fixes build problem when using an ANSI compiler that isn't gcc.
Jason Merrill [Thu, 18 Sep 1997 23:33:56 +0000 (23:33 +0000)]
final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
* final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
* dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
(dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
* except.c (end_eh_unwinder): Subtract 1 from return address.
* libgcc2.c (__throw): Likewise.
(find_exception_handler): Don't change PC here. Compare end with >.
configure.in, configure: Make sure to create the stage* and include symbolic links in each subdirectory...
* configure.in, configure: Make sure to create the stage* and include
symbolic links in each subdirectory, as we do in configure.lang for
non-autoconf configurations.
configure.in, configure: Make sure to create the stage* and include symbolic links in each subdirectory...
* configure.in, configure: Make sure to create the stage* and include
symbolic links in each subdirectory, as we do in configure.lang for
non-autoconf configurations.
Jim Wilson [Tue, 16 Sep 1997 20:59:22 +0000 (20:59 +0000)]
Fix H.J. Lu's alpha-linux bug with TImode constructors.
* expr.c (expand_expr): Remove previous incorrect change.
If target and slot has no DECL_RTL, then call mark_addressable
again for the slot after we give it RTL.
Jeff Law [Tue, 16 Sep 1997 04:39:46 +0000 (22:39 -0600)]
dwarf2out.c (gen_subprogram_die): Handle redefinition of an extern inline function.
* dwarf2out.c (gen_subprogram_die): Handle redefinition of an
extern inline function.
* dwarf2out.c (reg_loc_descriptor): Fix prototype.
(concat_loc_descriptor): New function.
(loc_descriptor): Call it.
(add_AT_location_description): Also elide the descriptor if both
halves of a CONCAT are pseudos.
(add_location_or_const_value_attribute): Recognize CONCAT too.
Bring over from devo/fsf.
Jeffrey A Law [Mon, 15 Sep 1997 21:37:39 +0000 (21:37 +0000)]
cse.c (simplify_relational_operation): If MODE specifies a mode wider than HOST_WIDE_INT...
* cse.c (simplify_relational_operation): If MODE specifies a
mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
is derived from the sign bit of the low word.
Jeff Law [Sun, 14 Sep 1997 18:29:43 +0000 (12:29 -0600)]
fixinc.math: New file to fix math.h on some systems.
* fixinc.math: New file to fix math.h on some systems.
* configure.in (freebsd, netbsd): Use fixinc.math on these
systems.
* configure: Rebuilt.
Should fix struct exception problems for freebsd, netbsd. Can be used
for others.
Jeffrey A Law [Sun, 14 Sep 1997 17:11:52 +0000 (17:11 +0000)]
regmove.c (regmove_optimize): If we end up moving the original insn due to lifetime overlaps...
* regmove.c (regmove_optimize): If we end up moving the
original insn due to lifetime overlaps, make sure to move
REG_NOTES too.
Fixes x86 (and maybe h8) failure.
Thu Sep 11 10:08:45 1997 Mark Mitchell <mmitchell@usa.net>
* pt.c (do_poplevel): Don't warn about unused local variables
while processing_template_decl since we don't always know whether
or not they will need constructing/destructing.
* pt.c (uses_template_parms): Check the values of an enumeration
type to make sure they don't depend on template parms.
* decl.c (make_typename_type): Don't lookup the field if the
context uses template parms, even if we're not
processing_template_decl at the moment.
* pt.c (coerce_template_parms): Avoid looking at the
TYPE_LANG_DECL portion of a typename type, since there won't be
one.
(tsubst): Do constant folding as necessary to make sure that
arguments passed to lookup_template_class really are constants.
Fred Fish [Fri, 12 Sep 1997 00:39:10 +0000 (00:39 +0000)]
Patches from Fred Fish for systems with sys/varargs.h but not varargs.h.
* protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
defined. If not defined, include <sys/varargs.h> if
HAVE_SYS_VARARGS_H is defined.
* configure.in: Test for varargs.h and sys/varargs.h.
* configure: Regenerate with autoconf.
* config.in: Regenerate with autoheader.
Jim Wilson [Thu, 11 Sep 1997 23:44:33 +0000 (16:44 -0700)]
Patches from H.J. Lu for alpha-linux -fPIC --enable-shared problem.
* Makefile.in (local-distclean): Also remove mh-frag mt-frag.
* configure.in (skipdirs): Add target-librx for Linux.
(alpha-*-linux*): Use config/mh-elfalphapic and config/mt-elfalphapic.
* mh-elfalphapic, mt-elfalphapic: New files.
Jeffrey A Law [Thu, 11 Sep 1997 19:53:52 +0000 (19:53 +0000)]
scope4.C: No longer expected to fail.
* g++.old-deja/g++.brendan/scope4.C: No longer expected to fail.
* g++.old-deja/g++.mike/p7325.C: Likewise.
* g++.old-deja/g++.mike/eh51.C: No longer expected to fail on the PA.