Commit Graph

25482 Commits

Author SHA1 Message Date
Jakub Jelinek 04572513c7 calls.c (save_fixed_argument_area): If save_mode is BLKmode, always use move_by_pieces to avoid infinite recursion.
* calls.c (save_fixed_argument_area): If save_mode is BLKmode,
	always use move_by_pieces to avoid infinite recursion.
	(restore_fixed_argument_area): Likewise.

From-SVN: r30805
1999-12-06 11:31:13 -08:00
Brendan Kehoe 50352c9c62 dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be zero if there was an error.
* dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
    zero if there was an error.

From-SVN: r30804
1999-12-06 14:16:52 -05:00
Jakub Jelinek dcee55a29d sparc.c (input_operand): Allow HImode and QImode valid sethi operations when TARGET_ARCH64.
* config/sparc/sparc.c (input_operand): Allow HImode and QImode
	valid sethi operations when TARGET_ARCH64.

From-SVN: r30803
1999-12-06 09:45:23 -08:00
Jakub Jelinek 4de0633f4d * longlong.h: Fix clobbers in SPARC asm statements.
From-SVN: r30802
1999-12-06 09:41:19 -08:00
Jakub Jelinek 3a2ea093b3 sparc.md (return_losum_di): Fix typo in asm output string.
* config/sparc/sparc.md (return_losum_di): Fix typo in asm
	output string.

From-SVN: r30801
1999-12-06 09:38:07 -08:00
Richard Kenner 5826cacf19 fold-const.c (optimize_bit_field_compare): Only use one mode for both RHS and LHS in non-constant case.
* fold-const.c (optimize_bit_field_compare): Only use one mode
	for both RHS and LHS in non-constant case.

From-SVN: r30800
1999-12-06 12:28:18 -05:00
Nathan Sidwell d593d1d2b8 frame.c (start_fde_sort): Only allocate erratic array, if linear one was allocated.
* frame.c (start_fde_sort): Only allocate erratic array, if
	linear one was allocated. Return allocated flag.
	(fde_insert): Only insert, if there's a valid array.
	(fde_end_sort): Split, sort and merge if linear and erratic
	arrays exist, else just sort linear one.
	(search_fdes): New function. Linear search through original fde
	structure.
	(frame_init): Permit multiple initializations. Cope with
	memory shortages.
	(find_fde): Fallback on linear search, if failed to sort array.
	(__deregister_frame_info): Only free sorted array, if we
	allocated it.

From-SVN: r30799
1999-12-06 14:02:16 +00:00
Alexandre Oliva 8ab56d5de5 * gcc.dg/ultrasp2.c: New test.
From-SVN: r30798
1999-12-06 10:50:26 +00:00
Mark Mitchell 883298a5e7 decl.c (init_decl_processing): #if 0 last patch.
* decl.c (init_decl_processing): #if 0 last patch.
	(finish_function): Likewise.

From-SVN: r30797
1999-12-06 10:36:16 +00:00
Jakub Jelinek 7b0c7e62d7 * config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
From-SVN: r30796
1999-12-06 02:09:20 -08:00
Jeff Law 6d6365b282 Daily bump.
From-SVN: r30795
1999-12-06 01:45:07 -07:00
Anthony Green d3189ab7da jvm.h: Declare many functions with __attribute__((__malloc__)).
* include/jvm.h: Declare many functions with
	__attribute__((__malloc__)).
	* gcj/javaprims.h: Ditto.

From-SVN: r30794
1999-12-06 06:33:56 +00:00
Jakub Jelinek d4203cb4ad * config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
From-SVN: r30793
1999-12-05 17:54:50 -08:00
Mark Mitchell bccd95ae77 decl.c (init_decl_processing): Set flag_inline_trees if !flag_no_inline.
* decl.c (init_decl_processing): Set flag_inline_trees if
	!flag_no_inline.

From-SVN: r30792
1999-12-05 20:04:37 +00:00
Alex Samuel 77cf4d553d * g++.old-deja/g++.abi/align.C (main): Fix typo.
From-SVN: r30791
1999-12-05 18:29:15 +00:00
Mark Mitchell 08230f26ce splay-tree.h (struct splay_tree_node): Rename to ...
* splay-tree.h (struct splay_tree_node): Rename to ...
	(struct splay_tree_node_s): ... this.
	(struct splay_tree): Rename to ...
	(struct splay_tree_s): ... this.

	* splay-tree.c (splay_tree_new): Use struct splay_tree_node_s
	rather than struct splay_tree_node.
	(splay_tree_insert): Use struct splay_tree_s rather than struct
	splay_tree.

From-SVN: r30790
1999-12-05 18:13:48 +00:00
Mark Mitchell 95fabfd362 cp-tree.h (calls_setjmp_p): Declare.
* cp-tree.h (calls_setjmp_p): Declare.
	* decl.c (finish_function): Mark functions that call setjmp as
	uninlinable.
	* optimize.c (calls_setjmp_r): New function.
	(calls_setjmp_p): Likewise.

From-SVN: r30789
1999-12-05 17:58:46 +00:00
Mark Mitchell 3a8c995be7 tree.h (special_function_p): Declare.
* tree.h (special_function_p): Declare.
	* calls.c (special_function_p): Make it global.  Don't take `name'
	as a parameter.  Fix typo in 1999-11-28 change.
	(expand_cal): Adjust.

From-SVN: r30788
1999-12-05 17:53:14 +00:00
Mark Mitchell e6f696fc98 dwarf2out.c (add_abstract_origin_attribute): Don't abort when the original die cannot be found.
* dwarf2out.c (add_abstract_origin_attribute): Don't abort when
	the original die cannot be found.

From-SVN: r30787
1999-12-05 17:51:50 +00:00
Jeff Law 53c9c5ea90 Daily bump.
From-SVN: r30786
1999-12-05 01:45:07 -07:00
Mark Mitchell 1a50ed344f Fix another typo
From-SVN: r30785
1999-12-05 02:51:32 +00:00
Mark Mitchell 5679f67863 optimize.c (expand_call_inline): Wrap the expanded call in an EXPR_WITH_FILE_LOCATION node to get correct line...
* optimize.c (expand_call_inline): Wrap the expanded call in an
	EXPR_WITH_FILE_LOCATION node to get correct line numbers for
	inlined functions.

From-SVN: r30784
1999-12-05 02:46:48 +00:00
Mark Mitchell 86fff623af tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
* tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
	* tree.h (EXPR_WFL_FILENAME): Define in terms of
	EXPR_WFL_FILENAME_NODE.
	(EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
	the TREE_CHAIN.
	* print-tree.c (print_note): Print TREE_PRIVATE and
	TREE_PROTECTED.

From-SVN: r30783
1999-12-05 02:42:10 +00:00
Mark Mitchell c9818a41dc Fix typo
From-SVN: r30782
1999-12-05 02:11:11 +00:00
Mark Mitchell 390f4e9a7d optimize.c (inline_data): Remove fns_top.
* optimize.c (inline_data): Remove fns_top.  Add scope_stmt.  Add
	in_target_cleanup_p.
	(remap_decl): New function.
	(remap_block): Likewise.
	(copy_scope_stmt): Likewise.
	(copy_body_r): Use remap_decl and copy_scope_stmt.
	(copy_body): Use VARRAY_TOP_TREE.
	(initialize_inlined_parameters): Likewise.
	(declare_return_variable): Likewise.
	(inlinable_function_p): Check flag_inline_trees.
	(expand_call_inline): Handle SCOPE_STMTs and TARGET_EXPRs
	specially.  Use VARRAY_PUSH_TREE.  Create a BLOCK for the
	parameters of the inlined function.
	(optimize_function): Prevent recursion into partially complete
	functions.

From-SVN: r30781
1999-12-05 01:00:28 +00:00
Mark Mitchell 5a586e5083 cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
	* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
	(SCOPE_NULLIFIED_P): Redefine.
	(SCOPE_NO_CLEANUPS_P): New macro.
	(add_scope_stmt): Change prototype.
	* decl.c (poplevel): Tidy.  Warn about unused variables here.
	Record SCOPE_STMT_BLOCKs.
	(finish_function): Keep DECL_INITIAL for functions that might be
	inlined.
	* ir.texi: Document SCOPE_NO_CLEANUPS_P.
	* semantics.c: Include rtl.h.
	(add_scope_stmt): Return the new scope statement and, for an
	end-of-scope statement, its matching begin statement.  Don't set
	SCOPE_NULLIFIED_P.
	(do_pushlevel): Simplify, now that we are always
	function-at-a-time.
	(do_poplevel): Likewise.  Record SCOPE_STMT_BLOCKs.
	(expand_stmt): Don't call expand_start_bindings or
	expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
	* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
	SCOPE_NULLIFIED_P.
	* Makefile.in (semantics.o): Depend on RTL_H.

From-SVN: r30780
1999-12-05 00:51:38 +00:00
Mark Mitchell d9b2d9da75 cp-tree.def (SCOPE_STMT): Take one operand.
* cp-tree.def (SCOPE_STMT): Take one operand.
	* cp-tree.h (SCOPE_STMT_BLOCK): New macro.
	(SCOPE_NULLIFIED_P): Redefine.
	(SCOPE_NO_CLEANUPS_P): New macro.
	(add_scope_stmt): Change prototype.
	* decl.c (poplevel): Tidy.  Warn about unused variables here.
	Record SCOPE_STMT_BLOCKs.
	(finish_function): Keep DECL_INITIAL for functions that might be
	inlined.
	* ir.texi: Document SCOPE_NO_CLEANUPS_P.
	* semantics.c: Include rtl.h.
	(add_scope_stmt): Return the new scope statement and, for an
	end-of-scope statement, its matching begin statement.  Don't set
	SCOPE_NULLIFIED_P.
	(do_pushlevel): Simplify, now that we are always
	function-at-a-time.
	(do_poplevel): Likewise.  Record SCOPE_STMT_BLOCKs.
	(expand_stmt): Don't call expand_start_bindings or
	expand_end_bindings for a scope with SCOPE_NO_CLEANUPS_P set.
	* tree.c (copy_tree_r): Clear SCOPE_STMT_BLOCK rather than setting
	SCOPE_NULLIFIED_P.

From-SVN: r30779
1999-12-05 00:49:26 +00:00
Mark Mitchell 2c0f17dc4f decl2.c (pending_statics_used): Make it a macro.
* decl2.c (pending_statics_used): Make it a macro.
	(saved_inlines_used): Likewise.
	(finish_static_data_member_decl): Use VARRAY_PUSH_TREE.
	(mark_inline_for_output): Likewise.
	(ssdf_decls_used): Remove.
	(start_static_storage_duration_function): Use VARRAY_PUSH_TREE.
	(generate_ctor_or_dtor_function): Adjust accordingly.

From-SVN: r30778
1999-12-05 00:37:56 +00:00
Mark Mitchell a687360844 varray.h (varray_head_tag): Add elements_used.
* varray.h (varray_head_tag): Add elements_used.
	(VARRAY_PUSH): New macro.
	(VARRAY_POP): Likewise.
	(VARRAY_TOP): Likewise.
	Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
	types.
	* varray.c (varray_init): Initialize elements_used.
	* Makefile.in (BASIC_BLOCK_H): Add varray.h.
	(INTEGRATE_H): New variable.
	(integrate.o): Depend on INTEGRATE_H.
	(unroll.o): Likewise.

From-SVN: r30777
1999-12-05 00:20:43 +00:00
Mark Mitchell 4ce8936485 function.h (insert_block_after_note): Declare.
* function.h (insert_block_after_note): Declare.
	* function.c (insert_block_after_note): Split out from ...
	(retrofit_block): ... here.

From-SVN: r30776
1999-12-05 00:13:53 +00:00
Mark Mitchell 12f6122895 * stmt.c (expand_fixup): Fix typo in comment.
From-SVN: r30775
1999-12-05 00:10:31 +00:00
Jan Hubicka 1b7c4a3727 regmove.c (copy_src_to_dest): Remove loop_depth parameter.
* regmove.c (copy_src_to_dest): Remove loop_depth parameter.
	(optimize_reg_copy_1): Remove REG_N_REFS updating code.
	(optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
	(regmove_optimize, fixup_match_1): Likewise.

From-SVN: r30774
1999-12-04 13:21:53 +00:00
Michael Hayes b760c4b147 flow.c (flow_loops_dump): Add missing argument when calling flow_loop_nested_p.
* flow.c (flow_loops_dump): Add missing argument when calling
	flow_loop_nested_p.

From-SVN: r30773
1999-12-04 11:07:07 +00:00
Jeff Law 0de2d85cac Daily bump.
From-SVN: r30772
1999-12-04 01:45:08 -07:00
Geoff Keating a157febd0c c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
* c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
(init_attributes): Add A_NO_LIMIT_STACK.
(decl_attributes): Handle A_NO_LIMIT_STACK.
* c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
* explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
Handle stack bounds checking.
* flags.h (flag_stack_check): Use the word 'probe' rather than
'check', because the flag doesn't actually cause any checking to
be done.
* function.c (expand_function_start): Set
current_function_limit_stack.
* function.h (struct function): Add limit_stack.
(current_function_limit_stack): Define.
* invoke.texi (Code Gen Options): Document new options.
* rtl.h: Declare stack_limit_rtx.
* toplev.c (stack_limit_rtx): New variable.
(decode_f_option): Handle new options -fstack-limit-register=REG,
-fstack-limit-symbol=IDENT, -fno-stack-limit.
(main): Add stack_limit_rtx as GC root.
* tree.h (DECL_NO_LIMIT_STACK): New macro.
(struct tree_decl): New member no_limit_stack.

* config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
stack_limit_rtx.
* config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
(conditional_trap+1): Get new mnemonic correct.
(conditional_trap+2): New pattern for DImode traps.

* config/m68k/m68k.c (output_function_prologue): Handle
stack_limit_rtx.
* config/m68k/m68k.md (trap): New insn.
(conditional_trap): New insn.
* md.texi (Standard Names): Document `trap' and
`conditional_trap'.
* optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
so a cc0 setter doesn't get emitted at some random place in the
function.

* config/i960/i960.md (trap): New insn.
(conditional_trap): New expander.
(conditional_trap+1, conditional_trap+2): New insns for signed
and unsigned cases.
* config/i960/i960.c (i960_function_prologue): Use
STARTING_FRAME_OFFSET.  Handle stack_limit_rtx.

Co-Authored-By: Greg McGary <gkm@gnu.org>

From-SVN: r30771
1999-12-04 03:00:04 +00:00
Greg McGary 3c12fcc278 flags.h (warn_padded, [...]): Add global var decls.
* flags.h (warn_padded, warn_packed): Add global var decls.
* toplev.c (warn_padded, warn_packed): Add global var defns.
(W_options): Add warnings `-Wpacked' and `-Wpadded'.
* stor-layout.c (layout_record): Add local variable `type'
to hold often-used TREE_TYPE (field).  Add local variable
`unpacked_align' to hold alignment that would be in force
if no `packed' attribute were present.  Warn if `packed' attribute
is unnecessary, or even harmful.  Warn when gcc inserts padding
to satisfy alignment requirements of members.  Use NULL_TREE
when checking whether var_size is set.
* invoke.texi: Document new flags.

Co-Authored-By: Geoff Keating <geoffk@cygnus.com>

From-SVN: r30770
1999-12-03 19:02:20 +00:00
Alex Samuel 7337695dc2 align.C: New test.
* g++.old-deja/g++.abi/align.C: New test.
	* g++.old-deja/g++.abi/aggregates.C: Likewise.
	* g++.old-deja/g++.abi/bitfields.C: Likewise.

From-SVN: r30769
1999-12-03 16:45:53 +00:00
Nathan Sidwell ba54039439 * frame.c (fde_split): Reimplement to avoid variable sized array.
From-SVN: r30768
1999-12-03 11:58:27 +00:00
Jeff Law f7b6c6b528 Daily bump.
From-SVN: r30767
1999-12-03 01:45:06 -07:00
Alexandre Oliva eeda916a18 * config.guess, config.sub: Update from autoconf.
From-SVN: r30766
1999-12-03 04:17:09 +00:00
Mike Stump 2fbfe9b812 Fix p24939.
From-SVN: r30765
1999-12-03 03:31:44 +00:00
Anthony Green 38a7fbac35 Updated the thanks list.
From-SVN: r30764
1999-12-03 03:00:39 +00:00
Bryce McKinlay aa620e4294 natString.cc (equalsIgnoreCase): return false if anotherString is null.
* java/lang/natString.cc (equalsIgnoreCase): return false if
        anotherString is null.
        * java/lang/Boolean.java (valueOf): return FALSE if argument is
        null.

From-SVN: r30763
1999-12-02 19:59:30 +00:00
J"orn Rennecke e6770d3c8c combine.c (try_combine): Before fixing up LOG_LINKS for the i3_subst_into_i2 case...
* combine.c (try_combine): Before fixing up LOG_LINKS for the
	i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.

From-SVN: r30762
1999-12-02 19:09:23 +00:00
Gavin Romig-Koch 63357d93b3 * invoke.texi: Document the mips option -mno-crt0
From-SVN: r30761
1999-12-02 18:52:01 +00:00
Mike Karr 0e5732f2b5 cccp.c (argdata): Added free_ptr member.
1999-12-02  Mike Karr  <mkarr@mathworks.com>

	* cccp.c (argdata): Added free_ptr member.
	(macroexpand): Initialize free_ptr of each argument. When an
	argument's buffers are freed, if the argument's free_ptr corresponds
	to a buffer on the input stack, then return the free_ptr to that stack
	frame, otherwise, free it.
	(macarg): If an argument begins and ends on the same input stack level,
	then transfer the free_ptr of that buffer to the argument in case
	the stack is popped during the processing of a subsequent argument.

From-SVN: r30760
1999-12-02 11:31:58 -05:00
Bernd Schmidt bc622faec9 Four new tests
From-SVN: r30759
1999-12-02 12:37:50 +00:00
Bernd Schmidt 8571e492c8 Prevent invalid transformations
From-SVN: r30758
1999-12-02 11:27:31 +00:00
Nick Clifton 574531f245 remove compile time warnings about uninitilaised fileds
From-SVN: r30757
1999-12-02 10:53:39 +00:00
Nick Clifton 94f9afc2ec Pass pragma_getc and pragma_ungetc to HANDLE_PRAGMA.
From-SVN: r30756
1999-12-02 10:18:36 +00:00