Commit Graph

14631 Commits

Author SHA1 Message Date
Jeffrey A Law
f8671389c5 flow.c (find_basic_blocks): If we delete the label for an exception handler...
* flow.c (find_basic_blocks): If we delete the label for an
        exception handler, remove it from the EH label list and remove
        the EH_BEGIN/EH_END notes for that EH region.

From-SVN: r16265
1997-11-01 19:15:01 -07:00
Jeffrey A Law
e67edc156e * libF77/signal_.c: Undo last change until we can fix it right.
From-SVN: r16264
1997-11-01 18:02:05 -07:00
Jason Merrill
a886ae747e flow.c (find_basic_blocks): Generate correct flow control information when exception handling notes are present.
* flow.c (find_basic_blocks): Generate correct flow control
        information when exception handling notes are present.

From-SVN: r16263
1997-11-01 16:45:10 -07:00
Jeffrey A Law
c2c85462f3 dwarf2out.c (output_call_frame_info): Fix length argument to ASM_OUTPUT_ASCII.
* dwarf2out.c (output_call_frame_info): Fix length argument
        to ASM_OUTPUT_ASCII.
        (output_die, output_pubnames, output_line_info): Likewise.

From-SVN: r16262
1997-11-01 13:43:02 -07:00
Brendan Kehoe
b2bb2710f3 lex.c (FILE_NAME_NONDIRECTORY): Delete macro.
* lex.c (FILE_NAME_NONDIRECTORY): Delete macro.
        (file_name_nondirectory): New function, doing the same as the macro.
        (set_typedecl_interface_info): Use it instead of the macro.
        (check_newline): Likewise.
        (handle_cp_pragma): Likewise.

        * repo.c (get_base_filename): Cast result of rindex to char*.
        (open_repo_file): Likewise.
        * xref.c (open_xref_file): Likewise.
        * error.c (dump_char): Make its arg int, not char.

bring over the changes that went in yesterday to fix irix6 native cc
build problems

From-SVN: r16261
1997-11-01 14:50:18 -05:00
Brendan Kehoe
5a0fa1de62 except.c (expand_builtin_throw): Replace remaining use of saved_throw_type with a call to get_eh_type.
* except.c (expand_builtin_throw) [!DWARF2_UNWIND_INFO]: Replace
        remaining use of saved_throw_type with a call to get_eh_type.

From-SVN: r16260
1997-11-01 13:38:16 -05:00
Brendan Kehoe
cf9d67e3e8 except.c (push_eh_info): Pass the number of fields - 1 down, not the exact number of fields.
* except.c (push_eh_info): Pass the number of fields - 1 down, not
        the exact number of fields.

cuz in finish_builtin_type, its comment sez

   LEN is the number of elements
   in FIELDS minus one, or put another way, it is the maximum subscript
   used in FIELDS.

and its code does

  for (i = 0; i < len; i++)
    {
      layout_type (TREE_TYPE (fields[i]));
      DECL_FIELD_CONTEXT (fields[i]) = type;
      TREE_CHAIN (fields[i]) = fields[i+1];
    }
  DECL_FIELD_CONTEXT (fields[i]) = type;
  DECL_CLASS_CONTEXT (fields[i]) = type;

thus expecting the final ones to be fields[4], not fields[5] (which is
the actual size from 0, not the last field member)

From-SVN: r16257
1997-10-31 18:17:35 -05:00
Jeffrey A Law
27ca375af6 * version.c: Bump for snapshot.
From-SVN: r16255
1997-10-31 09:47:28 -07:00
Jeff Law
468c74c3f9 Fix typo.
From-SVN: r16253
1997-10-31 09:41:19 -07:00
Jeffrey A Law
53ca5d4fb4 Makefile.in (install targets): Add a dummy target for sunos make.
* Makefile.in (install targets): Add a dummy target for sunos make.
        (SUBDIR): Remove 'info'.  It's unneeded.

From-SVN: r16252
1997-10-31 09:38:44 -07:00
Jeffrey A Law
8d4e65a635 dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to output ASCII by default.
* dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
        output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
        flag_debug_asm is on.
        (output_die, output_pubnames, output_line_info): Likewise.

From-SVN: r16251
1997-10-31 09:30:48 -07:00
Jeffrey A Law
ec907dd81e alias.c (init_alias_analysis): Add struct_value_incoming_rtx and static_chain_rtx into the potential base...
* alias.c (init_alias_analysis): Add struct_value_incoming_rtx
        and static_chain_rtx into the potential base values array if
        they are registers.
Fixes bugs exposed by improved alias propagation code.

        * alias.c (new_reg_base_value): New array of potential base values.
        (unique_id): Now file scoped static.
        (find_base_value, case REG): Return the value in reg_base_value
        array for the REG if it exists.  Else, return the value from
        new_reg_base_value if copying args and REG is a hard register.
        (find_base_value, case PLUS): If either operand of the PLUS is
        a REG, try to get its base value.  Handle base + index and
        index + base.
        (record_set): Use new_reg_base_value instead of reg_base_value.
        (init_alias_analysis): Allocate space for new_reg_base_value too.
        Rework code to iterate over the insns propagating base value
        information until nothing changes.
Improve alias propagation significantly.

From-SVN: r16250
1997-10-31 08:35:31 -07:00
Jeffrey A Law
8c316ae21c global.c (global_alloc): Free the conflict matrix after reload has finished.
* global.c (global_alloc): Free the conflict matrix after
        reload has finished.

From-SVN: r16249
1997-10-31 07:08:40 -07:00
Jason Merrill
6874c2647b [multiple changes]
Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>

	* libgcc2.c (L_eh): Define __eh_pc.
	Replace __eh_type with generic pointer __eh_info.

Fri Oct 31 01:47:57 1997  Jason Merrill  <jason@yorick.cygnus.com>

	Support for nested exceptions.
	* tinfo2.cc (__is_pointer): New fn.
	* exception.cc (struct cp_eh_info): Define.
	(__cp_exception_info, __uncatch_exception): New fns.
	(__cp_push_exception, __cp_pop_exception): New fns.
	* except.c: Lose saved_throw_{type,value,cleanup,in_catch}.
 	Lose empty_fndecl.
	(init_exception_processing): Likewise.  __eh_pc is now external.
	(push_eh_info): New fn.
	(get_eh_{info,value,type,caught}): New fns.
	(push_eh_cleanup): Just call __cp_pop_exception.
	(expand_start_catch_block): Use push_eh_info.  Start the eh region
	sooner.
	(expand_end_eh_spec): Use push_eh_info.
	(expand_throw): Call __cp_push_exception to set up the exception info.
	Just pass the destructor or 0 as the cleanup.  Call __uncatch_exception
	when we rethrow.
	(expand_builtin_throw): Don't refer to empty_fndecl.

From-SVN: r16248
1997-10-31 04:52:55 -05:00
J"orn Rennecke
59fe8c2c20 expr.c (expand_increment): When enqueing a postincrement for a MEM...
* expr.c (expand_increment): When enqueing a postincrement for a MEM,
	use copy_to_reg if address is not a general_operand.

From-SVN: r16247
1997-10-31 00:40:46 +00:00
J"orn Rennecke
d1271dedce profile.c (output_func_start_profiler): Clear flag_inline_functions for the duration of the call to rest_of_compilation.
* profile.c (output_func_start_profiler): Clear flag_inline_functions
	for the duration of the call to rest_of_compilation.

From-SVN: r16246
1997-10-31 00:23:07 +00:00
Doug Evans
c0498f4395 Clean up pass over sparc -m{cpu,tune} docs.
From-SVN: r16245
1997-10-30 23:01:26 +00:00
Doug Evans
ac52b80b6d configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
* configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
	Set extra_parts.
	(sparc*-*-*): Recognize --with-cpu=v9.
	* sparc/elf.h: New file.
	* sparc/t-elf: New file.

From-SVN: r16243
1997-10-30 22:52:41 +00:00
Doug Evans
5a36007ac0 New files for embedded sparc/elf support.
From-SVN: r16240
1997-10-30 22:38:32 +00:00
Doug Evans
70f62f4b17 New files for embedded sparc/elf support.
From-SVN: r16239
1997-10-30 22:38:04 +00:00
Jeffrey A Law
f891229781 mn10300.c (const_8bit_operand): New function.
* mn10300.c (const_8bit_operand): New function.
        (mask_ok_for_mem_btst): New funtion.
        * mn10300.md (btst patterns with mem operands): Use new functions
        to avoid creating btst instructions with invalid operands.

From-SVN: r16236
1997-10-30 13:34:59 -07:00
Jason Merrill
5da07ba3ac * gen-params: Override NULL.
From-SVN: r16232
1997-10-29 23:00:21 -07:00
Robert Lipe
70f89f0d1d termdep.h: If POSIX...
* info/termdep.h: If POSIX, #undef TIOCGETC for benefit of systems
        that provide TIOCETC but not struct tchars.

From-SVN: r16231
1997-10-29 22:55:14 -07:00
Michael Meissner
05ef204d6d Fix duplicate SIG_SYSLIST warnings on PowerPC Linux
From-SVN: r16230
1997-10-29 22:00:14 +00:00
Gavin Koch
feecabdf83 elf64.h (PREFERRED_DEBUGGING_TYPE): Only define if not previously defined.
* config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
	if not previously defined.

From-SVN: r16229
1997-10-29 18:21:18 +00:00
Doug Evans
de95730392 function.c (assign_parms): Correct mode of stack_parm if entry_parm underwent a mode conversion.
* function.c (assign_parms): Correct mode of stack_parm if
        entry_parm underwent a mode conversion.

From-SVN: r16228
1997-10-28 23:54:49 -07:00
Jeff Law
074c2cffc8 Expect this test to fail.
Don't even bother trying to even compile the testcase.

From-SVN: r16227
1997-10-28 23:41:58 -07:00
Jody Goldberg
0c23b0b21f * Makefile.in (CFILES): Add pexecute.c.
From-SVN: r16226
1997-10-28 23:39:04 -07:00
Brendan Kehoe
ba3b38784c global.c (global_alloc): Use xmalloc instead of alloca for CONFLICTS...
* global.c (global_alloc): Use xmalloc instead of alloca for
	CONFLICTS, since max_allocno * allocno_row_words alone can be more
	than 2.5Mb sometimes.

From-SVN: r16223
1997-10-28 18:39:28 -05:00
Richard Henderson
d540ae2cd8 reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of DEST for the spill...
* reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
DEST for the spill, adjust mode of SRC to compensate.

From-SVN: r16222
1997-10-28 15:29:44 -08:00
Michael Meissner
d24661605f update doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT
From-SVN: r16221
1997-10-28 22:56:06 +00:00
Michael Meissner
e119b68c3e update doc for CONST_{,DOUBLE_}OK_FOR_LETTER_P, EXTRA_CONTSTRAINT
From-SVN: r16220
1997-10-28 22:52:51 +00:00
Richard Henderson
42f4929d5a alpha.md (reload_inqi): Check for MEM before strict_memory_address_p...
* alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
since any_memory_operand() allows pseudos during reload.
(reload_inhi, reload_outqi, reload_outhi): Likewise.

From-SVN: r16219
1997-10-28 14:40:01 -08:00
Jim Wilson
0841747819 Fix coldfire/btst problems.
* m68k.md (btst patterns): Add 5200 support.

From-SVN: r16217
1997-10-28 11:56:50 -08:00
Toon Moene
750e83485a fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3) optimizations...
* fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
        optimizations, look inside dividend to determine if the expression
        can be simplified by using EXACT_DIV_EXPR.

From-SVN: r16216
1997-10-28 12:02:23 -07:00
Jason Merrill
ede1993290 * dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
From-SVN: r16215
1997-10-28 13:23:50 -05:00
Richard Henderson
66d91cb9ea * alpha.c (summarize_insn [SUBREG]): Propogate SET.
From-SVN: r16213
1997-10-28 00:34:06 -08:00
Richard Henderson
4f3f5e9fcb alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap on a CLOBBER.
* alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
on a CLOBBER.

From-SVN: r16212
1997-10-28 00:04:16 -08:00
Richard Henderson
f3352b9e9f alpha.md (movqi, movhi): Make sure new insns created during reload won't need reloading themselves.
* alpha.md (movqi, movhi): Make sure new insns created during reload
won't need reloading themselves.
(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.

From-SVN: r16211
1997-10-27 21:28:29 -08:00
Jeffrey A Law
0cecc1904d * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
From-SVN: r16209
1997-10-27 16:07:37 -07:00
Jason Merrill
c9670e62b9 * Makefile.in: check-target-libio depends on all-target-libstdc++.
From-SVN: r16206
1997-10-27 15:04:45 -05:00
Richard Henderson
a09ba5a2b5 alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
* alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
Patch from Klaus Kaempf <kkaempf@progis.de>.

From-SVN: r16196
1997-10-26 13:47:50 -08:00
Jim Wilson
7581a30fe2 expr.c (expand_expr, [...]): Optimize a reference to an element in a constant string.
* expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
        to an element in a constant string.

From-SVN: r16195
1997-10-26 13:33:27 -07:00
Jeff Law
edaa4ee062 Fix typo in last change.
From-SVN: r16194
1997-10-26 13:25:38 -07:00
Jason Merrill
16540e1b03 rebuild
From-SVN: r16193
1997-10-26 15:01:11 -05:00
Jason Merrill
d84e64d416 dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32 bit PC-relative offset.
* dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
 	bit PC-relative offset.  The exception range table pointer is now in
 	the CIE.
	* frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
	(count_fdes, add_fdes, get_cie): Adjust.
	(cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.

	From H.J. Lu:
	* frame.c (count_fdes, add_fdes): Skip linked once FDE entries.

From-SVN: r16192
1997-10-26 14:54:42 -05:00
Jeff Law
bd123dc9f2 Opps. Checked in some development patches by accident.
From-SVN: r16189
1997-10-26 11:55:13 -07:00
Richard Henderson
962867229a alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just like stack_pointer_rtx.
* alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
        like stack_pointer_rtx.

From-SVN: r16188
1997-10-26 11:48:31 -07:00
Manfred Hollstein
361e618f25 Makefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@" to provide support for...
* Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
        targets using "$@" to provide support for similar but not identical
        targets without having to duplicate code.
        (bootstrap4): New goal.

From-SVN: r16187
1997-10-26 11:45:07 -07:00
Manfred Hollstein
cc71c0ca1f Makefile.in (bootstrap-lean): Combined with `normal' bootstrap targets using "$@" to provide support for...
* Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
        targets using "$@" to provide support for similar but not identical
        targets without having to duplicate code.

From-SVN: r16186
1997-10-26 11:44:33 -07:00