Commit Graph

19023 Commits

Author SHA1 Message Date
Richard Henderson
c2b7e122db flow.c (find_basic_blocks): Correctly determine when a call is within an exception region.
* flow.c (find_basic_blocks): Correctly determine when a call
        is within an exception region.

From-SVN: r22928
1998-10-08 10:01:01 -07:00
Jeffrey A Law
0cc291f759 Makefile.in (cpplib.o): Use unlibsubdir.
* Makefile.in (cpplib.o): Use unlibsubdir.
Somehow lost during unlibsubdir changes.

From-SVN: r22925
1998-10-08 10:17:12 -06:00
Anthony Green
6e9438cf7c semantics.c (finish_asm_stmt): Revert my 1998-09-28 change.
* semantics.c (finish_asm_stmt): Revert my 1998-09-28
	change.

From-SVN: r22924
1998-10-08 16:04:13 +00:00
Catherine Moore
dfa8a4ddfd * execute/941014-1.x: New file.
From-SVN: r22923
1998-10-08 08:11:11 -06:00
Jim Wilson
12f289ac32 Fix for powerpc/c4x problem with missed loop optimizations.
* loop.c (get_condition): Allow combine when either compare is
	VOIDmode.

From-SVN: r22922
1998-10-08 05:52:52 -07:00
Alexandre Oliva
1636b950f9 expr6.C: New test.
* g++.old-deja/g++.pt/expr6.C: New test.  operator?: breaks
	matching of template brackets.

From-SVN: r22921
1998-10-08 12:02:21 +00:00
Jeffrey A Law
6cf9bfcf53 Bump for snapshot
From-SVN: r22919
1998-10-08 05:31:05 -06:00
Richard Frith-Macdonald
f1488abaa3 c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
* c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
        (init_lex): Initialize ridpointers[RID_BYREF].
        * c-lex.h (enum rid): Add RID_BYREF.
        * c-parse.gperf: Add RID_BYREF as a type qualifier.
        * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
        (encode_type_qualifiers): Similarly
        * c-gperf.h: Rebuilt.

From-SVN: r22918
1998-10-08 05:28:08 -06:00
Richard Frith-Macdonald
1df287f8fb encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
        (objc_get_type_qualifiers): Similarly.
        * objc/encoding.h (_C_BYREF): Define.
        (_F_BYREF): Define.

From-SVN: r22917
1998-10-08 05:23:35 -06:00
Jeffrey A Law
946dc1c8ad typeck.c (unsigned_type): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* typeck.c (unsigned_type): Only return TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
        (signed_type): Similarly.
        * decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.
        (init_decl_processing): Only create TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
        * cp-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.

From-SVN: r22915
1998-10-07 23:04:57 -06:00
Jeffrey A Law
e39b138b41 typeck (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* typeck (type_for_mode): Only return TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
        (type_for_size): Similarly.
        * decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.
        (init_decl_processing): Only create TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.

From-SVN: r22914
1998-10-07 23:01:10 -06:00
Jeff Law
b03fc8c9bd c-common.c (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-common.c (type_for_mode): Only return TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
        * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.
        (init_decl_processing): Only create TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
        * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.
Forgot to commit with last change.

From-SVN: r22913
1998-10-07 22:57:39 -06:00
Jeff Law
21a9616b39 c-common.c (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-common.c (type_for_mode): Only return TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
        * c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.
        (init_decl_processing): Only create TItype nodes when
        HOST_BITS_PER_WIDE_INT is >= 64 bits.
        * c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
        when HOST_BITS_PER_WIDE_INT is >= 64 bits.

From-SVN: r22912
1998-10-07 22:37:30 -06:00
Bernd Schmidt
2a230e9dc4 stmt.c (n_occurrences): New static function.
* stmt.c (n_occurrences): New static function.
        (expand_asm_operands): Verify that all constrains match in the
        number of alternatives.
        Verify that '+' or '=' are at the beginning of an output constraint.
        Don't allow '&' for input operands.
        Verify that '%' isn't written for the last operand.
        * reload.c (find_reloads): Abort if an asm is found with invalid
        constraints; all possible problems ought to be checked for earlier.

From-SVN: r22911
1998-10-07 22:07:40 -06:00
Michael Hayes
f1da172943 flags.h (flag_branch_on_count_reg): Always declare
* flags.h (flag_branch_on_count_reg): Always declare
	* toplev.c (flag_branch_on_count_reg): Likewise.
	* toplev.c: Fix typos.

From-SVN: r22910
1998-10-07 21:30:32 -06:00
Michael Hayes
eba0c7243e real.c (c4xtoe): Remove unused variables.
* real.c (c4xtoe): Remove unused variables.  Add some missing parens.
        (toc4x): Similarly.

From-SVN: r22909
1998-10-07 21:29:02 -06:00
Richard Henderson
5c35539b1a flow.c (find_basic_blocks): Calc upper bound for extra nops in max_uids_for_flow.
* flow.c (find_basic_blocks): Calc upper bound for extra nops in
        max_uids_for_flow.
        (find_basic_blocks_1): Add a nop to the end of a basic block when
        a trailing call insn does not have abnormal control flow.
        * gcse.c (pre_transpout): New variable.
        (alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
        (compute_pre_transpout): Calculate it.
        (compute_pre_ppinout): Use it to eliminate impossible placements
        due to abnormal control flow through calls.
        (compute_pre_data): Call compute_pre_transpout.

From-SVN: r22907
1998-10-07 18:26:18 -07:00
Jeff Law
58d9f9d9f2 Revert accidental checkin of reload_life_analysis work.
* reload1.c (reload): Call free before clobbering the memory
        locations or constants pointers.
And actually check this one in correctly.

From-SVN: r22906
1998-10-07 19:16:56 -06:00
Jeff Law
3cb13f6214 Daily bump.
From-SVN: r22905
1998-10-07 18:45:02 -06:00
David S. Miller
57fa4693b6 * config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
From-SVN: r22904
1998-10-07 15:48:31 -07:00
Alexandre Oliva
00b8ce6bac using4.C: New test.
* g++.old-deja/g++.other/using4.C: New test.  Test using
 	declarations of methods from base classes.

From-SVN: r22903
1998-10-07 21:22:16 +00:00
Alexandre Oliva
5e11b87c5f extern1.C: New test.
* g++.old-deja/g++.ns/extern1.C: New test.  Extern declarations
 	within functions should introduce names into the innermost
 	enclosing namespace

From-SVN: r22902
1998-10-07 20:59:13 +00:00
Alexandre Oliva
b01c911dca init7.C: New test: retry initialization of static locals if first initialization throws
* g++.old-deja/g++.other/init7.C: New test: retry initialization
 	of static locals if first initialization throws

From-SVN: r22901
1998-10-07 20:41:38 +00:00
Ken Raeburn
05714a4ffd add some short comments that should've been in the last checkin
From-SVN: r22900
1998-10-07 18:28:09 +00:00
Ken Raeburn
52db16fde4 981006-1.c: New test.
* special/981006-1.c: New test.  Make sure gcc doesn't lose track of the
possible targets of tablejump insns.
* special/special.exp: Run it.

From-SVN: r22899
1998-10-07 18:26:06 +00:00
Ken Raeburn
5924eecfbc mips.md (tablejump_internal3, [...]): Tack on a `use' of the table label, so flow analysis will recognize a tablejump.
* config/mips/mips.md (tablejump_internal3, tablejump_internal4 and matching
define_insns): Tack on a `use' of the table label, so flow analysis will
recognize a tablejump.

From-SVN: r22898
1998-10-07 18:23:51 +00:00
Richard Henderson
1bba619903 gcse.c (pre_insert_insn): Tweek to notice that calls do not always end basic blocks for abnormal edge reasons.
* gcse.c (pre_insert_insn): Tweek to notice that calls do not
        always end basic blocks for abnormal edge reasons.

From-SVN: r22897
1998-10-07 10:36:32 -07:00
Nick Clifton
c678a7f8bd Move definition of HANDLE_PRAGMA_PACK_PUSH_POP out of i386.h and into
target OS specific headers.

From-SVN: r22896
1998-10-07 14:50:58 +00:00
Nick Clifton
bf294d9262 Fix spelling typo in comment.
From-SVN: r22895
1998-10-07 14:48:02 +00:00
Nick Clifton
14ab9f5287 Do not insert packing attributes unless #pragma pack(push,<n>) is active.
From-SVN: r22894
1998-10-07 14:41:42 +00:00
Jim Wilson
10a9f2beac Fix for irix6 -O0 bug, see testcase gcc.c-torture/compile/981007-1.c.
* expr.c (emit_group_store): Handle a PARALLEL destination.

From-SVN: r22893
1998-10-07 05:12:21 -07:00
Jim Wilson
2883350489 Testcase for emit_group_store patch.
* gcc.c-torture/compile/981007-1.c: New test for irix6 -O0 core dump.

From-SVN: r22892
1998-10-07 05:07:52 -07:00
Richard Henderson
3947e2f984 gcse.c (pre_insert_insn): When a call ends a bb, insert the new insns before the argument regs are loaded.
* gcse.c (pre_insert_insn): When a call ends a bb, insert
        the new insns before the argument regs are loaded.

From-SVN: r22891
1998-10-07 03:08:16 -07:00
Kaveh R. Ghazi
8173d47720 * gperf-2.7-19981006.pat: New file, patch for egcs-local gperf.
From-SVN: r22890
1998-10-07 10:03:01 +00:00
Kaveh R. Ghazi
db127392bc Warning fixes:
* Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
        (c-parse.gperf): Update comments describing invocation flags.
        (c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).

From-SVN: r22889
1998-10-07 09:57:38 +00:00
Kaveh R. Ghazi
9e46e5e862 Warning fixes:
* Makefile.in (hash.h): Add -L KR-C -F ', 0, 0' flags to gperf.
        (gxx.gperf): Update comments describing invocation flags.
        (hash.h): Regenerate using gperf 2.7.1 (19981006 egcs).

From-SVN: r22888
1998-10-07 09:50:45 +00:00
Bernd Schmidt
d143a8907a jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all insns we're going to copy.
* jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
	insns we're going to copy.
	* regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.

From-SVN: r22887
1998-10-07 03:50:05 -06:00
Bernd Schmidt
237228c033 * loop.c (count_one_set): Add prototype.
From-SVN: r22886
1998-10-07 03:47:54 -06:00
Manfred Hollstein
b0c24c269a reload1.c (reload): Call free before clobbering the memory locations or constants pointers.
�
	* reload1.c (reload): Call free before clobbering the memory
	locations or constants pointers.

From-SVN: r22885
1998-10-07 03:45:58 -06:00
Mark Mitchell
9335e9a3a1 * class.c (finish_struct_1): Add commentary on prevous change.
From-SVN: r22884
1998-10-07 09:30:50 +00:00
Kaveh R. Ghazi
39828aec68 Warning fixes:
* Makefile.in (hash.h): Add -L KR-C -F ', 0, 0, 0' flags to gperf.
        (hash.h): Regenerate using gperf 2.7.1 (19981006 egcs).

From-SVN: r22883
1998-10-07 09:29:29 +00:00
Kaveh R. Ghazi
13abbf4781 Warning fixes:
* Makefile.in (keyword.h): Add -L KR-C -F ', 0' flags to gperf.
        (keyword.h): Regenerate using gperf 2.7.1 (19981006 egcs).

From-SVN: r22882
1998-10-07 09:18:39 +00:00
David S. Miller
07181a20e3 sarray.h: Make boffset be an unsigned long when sparc so it works out on 64-bit systems.
* objc/sarray.h: Make boffset be an unsigned long when sparc so it
	works out on 64-bit systems.

From-SVN: r22881
1998-10-06 19:21:54 -07:00
David S. Miller
959eb7588f sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework for efficiency by checking whether we need to modify the current stack...
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
	for efficiency by checking whether we need to modify the current
	stack permission at all.
	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
	* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
	__enable_execute_stack libcall here too if
	TRANSFER_FROM_TRAMPOLINE is defined.
	* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
	IN_LIBGCC2.

From-SVN: r22880
1998-10-06 19:17:57 -07:00
Mark Mitchell
849da744cd cp-tree.h (vtbl_ptr_type_node): New variable.
* cp-tree.h (vtbl_ptr_type_node): New variable.
	* class.c (build_vtbl_ref): Don't indirect through the vptr; it's
	already of the right type.
	(finish_struct_1): Make the vptr be of type vtbl_ptr_type_node.
	Simplify code to grow vtable.
	* decl.c (vtbl_ptr_type_node): Define.
	(init_decl_processing): Initialize it.

From-SVN: r22879
1998-10-07 02:08:55 +00:00
Jeffrey A Law
4c2f834629 Makefile.in (DRIVER_DEFINES): Remove last change.
* Makefile.in (DRIVER_DEFINES): Remove last change.
Depends on other changes not in the tree yet.

From-SVN: r22878
1998-10-06 19:29:42 -06:00
Jeff Law
f9cea9b7b6 Daily bump.
From-SVN: r22877
1998-10-06 18:45:03 -06:00
Bernd Schmidt
437a710df0 caller-save.c (restore_referenced_regs): Lose mode argument.
* caller-save.c (restore_referenced_regs): Lose mode argument.
	(insert_save): Lose mode argument.
	(insert_restore): Lose mode argument.
	(insert_one_insn): Lose mode argument.
	(save_call_clobbered_regs): Lose mode argument.
	(setup_save_areas): Take no argument and return void.  All callers
	changed.
	Don't verify validity of memory addresses.
	* reload.h (setup_save_ares): Adjust prototype.
	(save_call_clobbered_regs): Likewise.
	* reload1.c (delete_caller_save_insns): New function.
	(caller_save_spill_class): Delete variable.
	(caller_save_group_size): Delete variable.
	(reload): Call setup_save_areas and save_call_clobbered_regs
	in the main loop, before calling calculate_needs_all_insns.
	Don't call save_call_clobbered_regs after the loop.
	Call delete_caller_save_insns at the end of an iteration if
	something changed.
	Delete code to manage caller_save_spill_class.
	Emit the final note before setting reload_first_uid.
	Simplify test that determines whether reload_as_needed gets run.
	(calculate_needs): Delete code to manage caller_save_spill_class.

From-SVN: r22876
1998-10-06 18:13:49 -06:00
Bernd Schmidt
a4c3ddd83a loop.c (count_one_set): New static function, broken out of count_loop_regs_set
* loop.c (count_one_set): New static function, broken out of
	count_loop_regs_set
	(count_loop_regs_set): Call it.
	* global.c (mark_reg_store): Handle clobbers here by not calling
	set_preference.
	(mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
	is in fact a clobber.
	* integrate.c (process_reg_param): New function, broken out of
	expand_inline_function.
	(expand_inline_function): Call it.

From-SVN: r22875
1998-10-06 14:38:40 -06:00
Jeffrey A Law
9a07247c2a * Makefile.in: Revert last patch.
From-SVN: r22874
1998-10-06 14:18:21 -06:00