Jeff Law [Fri, 9 Oct 1998 18:22:09 +0000 (12:22 -0600)]
920521-1.c: Fix bogus test.
�
* gcc.c-torture/special/920521-1.c: Fix bogus test.
From-SVN: r22965
Graham Stott [Fri, 9 Oct 1998 16:08:51 +0000 (09:08 -0700)]
flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk>
* flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
* gcc.c (add_preprocessor_option): Correct typo when allocating
memory, sizeof() argument had one too many `*'.
(add_assembler_option): Likewise.
(add_linker_option): Likewise.
* gcov.c (output_data): Likewise.
* local-alloc.c (memref_used_between_p): Likewise.
(update_equiv_regs): Likewise.
* loop.c (strength_reduce): Likewise.
* reg-stack.c (record_asm_reg_life): Likewise.
(subst_asm_stack_reg): Likewise.
* reorg.c (dbr_schedule): Likewise.
From-SVN: r22964
Bernd Schmidt [Fri, 9 Oct 1998 15:58:37 +0000 (08:58 -0700)]
flow.c (life_analysis_1): Break out some functions.
Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
* flow.c (life_analysis_1): Break out some functions.
(find_basic_blocks_1): Likewise. Also move some variables out and
make them static.
Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
new static var nonlocal_label_list with it.
(active_eh_region, nested_eh_region, label_value_list,
nonlocal_label_list): New static variables.
(make_edges, delete_unreachable_blocks, delete_block): New static
functions, broken out of find_basic_blocks_1.
(record_volatile_insns, mark_regs_live_at_end, set_noop_p,
noop_move_p): New static functions, broken out of life_analysis_1.
From-SVN: r22963
Richard Henderson [Fri, 9 Oct 1998 15:50:25 +0000 (08:50 -0700)]
expmed.c (store_bit_field): Pun non-integral str_rtx modes.
* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
Take extra care for op0 now possibly being a subreg.
(extract_bit_field): Likewise.
* function.c (purge_addressof_1): Revert Oct 4 change. Drop
the reg to memory if there is no equal sized integral mode.
* stor-layout.c (int_mode_for_mode): New function.
* machmode.h: Prototype it.
From-SVN: r22962
Jeffrey A Law [Fri, 9 Oct 1998 13:28:55 +0000 (13:28 +0000)]
global.c (build_insn_chain): Verify no real insns exist past the end of the last basic block, then exit the loop.
* global.c (build_insn_chain): Verify no real insns exist past the
end of the last basic block, then exit the loop.
From-SVN: r22961
Mark Mitchell [Fri, 9 Oct 1998 11:01:42 +0000 (11:01 +0000)]
search.c (expand_upcast_fixups): Tweak to match 1998-10-07 change to vtable types.
* search.c (expand_upcast_fixups): Tweak to match 1998-10-07
change to vtable types.
From-SVN: r22959
Mark Mitchell [Fri, 9 Oct 1998 10:32:01 +0000 (10:32 +0000)]
cvt.c (ocp_convert): Avoid infinite recursion caused by 1998-10-03 change.
* cvt.c (ocp_convert): Avoid infinite recursion caused by
1998-10-03 change.
From-SVN: r22958
Kaveh R. Ghazi [Fri, 9 Oct 1998 10:08:26 +0000 (10:08 +0000)]
Warning fixes:
* ch-tree.h (build_delay_case_end): Remove unused parameter.
(build_receive_case_end): Likewise.
(check_queue_size): Likewise.
* parse.c: Callers changed.
* satisfy.c: Likewise.
* tasking.c (build_receive_buffer_case_end): Remove unused
parameter `label_cnt'.
(build_receive_signal_case_end): Likewise.
(build_receive_case_end): Likewise.
(build_delay_case_end): Likewise.
(check_queue_size): Likewise for parameter `type'.
All callers changed.
From-SVN: r22957
Alexandre Oliva [Fri, 9 Oct 1998 09:48:27 +0000 (09:48 +0000)]
expr6.C: New test.
* g++.old-deja/g++.pt/expr6.C: New test. operator?: breaks
matching of template brackets.
(forgot to cvs add it yesterday)
From-SVN: r22956
David Edelsohn [Fri, 9 Oct 1998 08:42:34 +0000 (08:42 +0000)]
* loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
From-SVN: r22955
Jason Merrill [Fri, 9 Oct 1998 02:08:19 +0000 (22:08 -0400)]
new
From-SVN: r22954
Jeff Law [Fri, 9 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r22953
Ian Lance Taylor [Fri, 9 Oct 1998 00:15:05 +0000 (00:15 +0000)]
config.guess: Merge with FSF.
* config.guess: Merge with FSF.
Merged with devo.
From-SVN: r22952
Jason Merrill [Fri, 9 Oct 1998 00:10:57 +0000 (00:10 +0000)]
pt.c (resolve_overloaded_unification): New fn.
* pt.c (resolve_overloaded_unification): New fn.
(try_one_overload): Likewise.
(unify): Don't fail on unknown type.
(type_unification_real): Likewise. Use resolve_overloaded_unification
to handle an overloaded argument.
(template_args_equal): Split out...
(comp_template_args): From here.
(determine_specialization): Also allow a template with more
parms than were explicitly specified.
* cp-tree.h: Add template_args_equal.
* call.c (resolve_args): Remove TEMPLATE_ID_EXPR code.
From-SVN: r22951
Ian Lance Taylor [Fri, 9 Oct 1998 00:07:36 +0000 (18:07 -0600)]
config.sub: Merge with FSF.
8
* config.sub: Merge with FSF.
* config.sub: Accept m68060 and m5200 as CPU names.
Merge with devo/config.sub.
From-SVN: r22950
Ian Lance Taylor [Fri, 9 Oct 1998 00:07:35 +0000 (18:07 -0600)]
config.sub: Merge with FSF.
�
* config.sub: Merge with FSF.
* config.sub: Accept m68060 and m5200 as CPU names.
Merge with devo/config.sub.
From-SVN: r22949
Ian Lance Taylor [Thu, 8 Oct 1998 23:34:45 +0000 (23:34 +0000)]
config-ml.in: Default to being verbose, to match Feb 18 change to configure.
* config-ml.in: Default to being verbose, to match Feb 18 change to
configure.
From-SVN: r22948
Ian Lance Taylor [Thu, 8 Oct 1998 23:32:31 +0000 (23:32 +0000)]
Various libtool updates from devo, including update to libtool 1.2b
From-SVN: r22947
Ian Lance Taylor [Thu, 8 Oct 1998 23:28:38 +0000 (23:28 +0000)]
missing: Update to version from automake 1.3.
Wed Jun 10 11:19:47 1998 Ian Lance Taylor <ian@cygnus.com>
* missing: Update to version from automake 1.3.
Bring over from devo.
From-SVN: r22946
Marc Lehmann [Thu, 8 Oct 1998 23:26:54 +0000 (17:26 -0600)]
ylwrap: Change absolute path checks to check for DOS style path names.
�
* ylwrap: Change absolute path checks to check for DOS style path
names.
* ylwrap: Don't use a full path name if the source file is in the
same directory. From hjl@lucon.org (H.J. Lu).
Brought over from devo.
From-SVN: r22945
Marc Lehmann [Thu, 8 Oct 1998 23:26:53 +0000 (17:26 -0600)]
ylwrap: Change absolute path checks to check for DOS style path names.
�
* ylwrap: Change absolute path checks to check for DOS style path
names.
* ylwrap: Don't use a full path name if the source file is in the
same directory. From hjl@lucon.org (H.J. Lu).
Brought over from devo.
From-SVN: r22944
Gavin Koch [Thu, 8 Oct 1998 23:13:20 +0000 (23:13 +0000)]
Makefile.in (EXPECT): Look for "expect" in the correct place.
* Makefile.in (EXPECT) : Look for "expect" in the correct
place.
From-SVN: r22943
Jeff Law [Thu, 8 Oct 1998 23:04:13 +0000 (17:04 -0600)]
backport: libiberty.h (xexit): Change decl to use modern GCC attribute to indicate exit does not return.
* Merge devo and egcs include directories.
1998-08-03 Jason Molenda (jsm@bugshack.cygnus.com)
* libiberty.h (xexit): Change decl to use modern GCC attribute
to indicate exit does not return.
From-SVN: r22942
Jeff Law [Thu, 8 Oct 1998 22:48:52 +0000 (16:48 -0600)]
Thu Oct 8 23:42:08 1998 Jeffrey A Law (law@cygnus.com)
* Merge egcs & devo libiberty.
From-SVN: r22941
Ovidiu Predescu [Thu, 8 Oct 1998 22:19:22 +0000 (22:19 +0000)]
Add Ovidiu Predescu for objective-c maint.
From-SVN: r22940
Jeff Law [Thu, 8 Oct 1998 21:22:45 +0000 (15:22 -0600)]
Fix thinko in last change.
From-SVN: r22939
Jeffrey A Law [Thu, 8 Oct 1998 21:21:48 +0000 (21:21 +0000)]
* toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
From-SVN: r22938
Jeff Law [Thu, 8 Oct 1998 21:09:20 +0000 (15:09 -0600)]
emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
* emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
* cpplib.h: Protect from multiple inclusions.
* cpplib.c: Fix minor formatting problems.
From-SVN: r22937
David Edelsohn [Thu, 8 Oct 1998 21:04:53 +0000 (21:04 +0000)]
* rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
From-SVN: r22936
Jeff Law [Thu, 8 Oct 1998 19:17:41 +0000 (13:17 -0600)]
Update copyright dates.
From-SVN: r22934
Jeffrey A Law [Thu, 8 Oct 1998 19:16:44 +0000 (19:16 +0000)]
* i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
From-SVN: r22933
Jeff Law [Thu, 8 Oct 1998 18:21:50 +0000 (12:21 -0600)]
From Brendan:
date: 1998/07/15 18:18:49; author: brendan; state: Exp; lines: +2 -2
dd expected warning, remove first error loc (now only on line 13)
From-SVN: r22932
Nick Clifton [Thu, 8 Oct 1998 18:17:00 +0000 (18:17 +0000)]
* gcc.dg/dll-?.c Add thumb to target list.
Fix assembler scan patterns to match current assembler output.
From-SVN: r22931
Jeff Law [Thu, 8 Oct 1998 18:10:07 +0000 (12:10 -0600)]
Update copyrights.
From-SVN: r22930
Jeffrey A Law [Thu, 8 Oct 1998 17:45:02 +0000 (17:45 +0000)]
* jump.c (jump_optimize): Revert accidental patch.
From-SVN: r22929
Richard Henderson [Thu, 8 Oct 1998 17:01:01 +0000 (10:01 -0700)]
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
Jeffrey A Law [Thu, 8 Oct 1998 16:17:12 +0000 (16:17 +0000)]
Makefile.in (cpplib.o): Use unlibsubdir.
* Makefile.in (cpplib.o): Use unlibsubdir.
Somehow lost during unlibsubdir changes.
From-SVN: r22925
Anthony Green [Thu, 8 Oct 1998 16:04:13 +0000 (16:04 +0000)]
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
Catherine Moore [Thu, 8 Oct 1998 14:11:11 +0000 (14:11 +0000)]
* execute/941014-1.x: New file.
From-SVN: r22923
Jim Wilson [Thu, 8 Oct 1998 12:52:52 +0000 (12:52 +0000)]
Fix for powerpc/c4x problem with missed loop optimizations.
* loop.c (get_condition): Allow combine when either compare is
VOIDmode.
From-SVN: r22922
Alexandre Oliva [Thu, 8 Oct 1998 12:02:21 +0000 (12:02 +0000)]
expr6.C: New test.
* g++.old-deja/g++.pt/expr6.C: New test. operator?: breaks
matching of template brackets.
From-SVN: r22921
Jeffrey A Law [Thu, 8 Oct 1998 11:31:05 +0000 (05:31 -0600)]
Bump for snapshot
From-SVN: r22919
Richard Frith-Macdonald [Thu, 8 Oct 1998 11:28:08 +0000 (11:28 +0000)]
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
Richard Frith-Macdonald [Thu, 8 Oct 1998 11:23:35 +0000 (11:23 +0000)]
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
Jeffrey A Law [Thu, 8 Oct 1998 05:04:57 +0000 (05:04 +0000)]
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
Jeffrey A Law [Thu, 8 Oct 1998 05:01:10 +0000 (05:01 +0000)]
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
Jeff Law [Thu, 8 Oct 1998 04:57:39 +0000 (22:57 -0600)]
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
Jeff Law [Thu, 8 Oct 1998 04:37:30 +0000 (22:37 -0600)]
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
Bernd Schmidt [Thu, 8 Oct 1998 04:07:40 +0000 (22:07 -0600)]
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
Michael Hayes [Thu, 8 Oct 1998 03:30:32 +0000 (03:30 +0000)]
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
Michael Hayes [Thu, 8 Oct 1998 03:29:02 +0000 (03:29 +0000)]
real.c (c4xtoe): Remove unused variables.
* real.c (c4xtoe): Remove unused variables. Add some missing parens.
(toc4x): Similarly.
From-SVN: r22909
Richard Henderson [Thu, 8 Oct 1998 01:26:18 +0000 (18:26 -0700)]
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
Jeff Law [Thu, 8 Oct 1998 01:16:56 +0000 (19:16 -0600)]
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
Jeff Law [Thu, 8 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r22905
David S. Miller [Wed, 7 Oct 1998 22:48:31 +0000 (22:48 +0000)]
* config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
From-SVN: r22904
Alexandre Oliva [Wed, 7 Oct 1998 21:22:16 +0000 (21:22 +0000)]
using4.C: New test.
* g++.old-deja/g++.other/using4.C: New test. Test using
declarations of methods from base classes.
From-SVN: r22903
Alexandre Oliva [Wed, 7 Oct 1998 20:59:13 +0000 (20:59 +0000)]
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
Alexandre Oliva [Wed, 7 Oct 1998 20:41:38 +0000 (20:41 +0000)]
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
Ken Raeburn [Wed, 7 Oct 1998 18:28:09 +0000 (18:28 +0000)]
add some short comments that should've been in the last checkin
From-SVN: r22900
Ken Raeburn [Wed, 7 Oct 1998 18:26:06 +0000 (18:26 +0000)]
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
Ken Raeburn [Wed, 7 Oct 1998 18:23:51 +0000 (18:23 +0000)]
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
Richard Henderson [Wed, 7 Oct 1998 17:36:32 +0000 (10:36 -0700)]
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
Nick Clifton [Wed, 7 Oct 1998 14:50:58 +0000 (14:50 +0000)]
Move definition of HANDLE_PRAGMA_PACK_PUSH_POP out of i386.h and into
target OS specific headers.
From-SVN: r22896
Nick Clifton [Wed, 7 Oct 1998 14:48:02 +0000 (14:48 +0000)]
Fix spelling typo in comment.
From-SVN: r22895
Nick Clifton [Wed, 7 Oct 1998 14:41:42 +0000 (14:41 +0000)]
Do not insert packing attributes unless #pragma pack(push,<n>) is active.
From-SVN: r22894
Jim Wilson [Wed, 7 Oct 1998 12:12:21 +0000 (12:12 +0000)]
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
Jim Wilson [Wed, 7 Oct 1998 12:07:52 +0000 (12:07 +0000)]
Testcase for emit_group_store patch.
* gcc.c-torture/compile/981007-1.c: New test for irix6 -O0 core dump.
From-SVN: r22892
Richard Henderson [Wed, 7 Oct 1998 10:08:16 +0000 (03:08 -0700)]
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
Kaveh R. Ghazi [Wed, 7 Oct 1998 10:03:01 +0000 (10:03 +0000)]
* gperf-2.7-
19981006.pat: New file, patch for egcs-local gperf.
From-SVN: r22890
Kaveh R. Ghazi [Wed, 7 Oct 1998 09:57:38 +0000 (09:57 +0000)]
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
Kaveh R. Ghazi [Wed, 7 Oct 1998 09:50:45 +0000 (09:50 +0000)]
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
Bernd Schmidt [Wed, 7 Oct 1998 09:50:05 +0000 (03:50 -0600)]
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
Bernd Schmidt [Wed, 7 Oct 1998 09:47:54 +0000 (03:47 -0600)]
* loop.c (count_one_set): Add prototype.
From-SVN: r22886
Manfred Hollstein [Wed, 7 Oct 1998 09:45:58 +0000 (09:45 +0000)]
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
Mark Mitchell [Wed, 7 Oct 1998 09:30:50 +0000 (09:30 +0000)]
* class.c (finish_struct_1): Add commentary on prevous change.
From-SVN: r22884
Kaveh R. Ghazi [Wed, 7 Oct 1998 09:29:29 +0000 (09:29 +0000)]
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
Kaveh R. Ghazi [Wed, 7 Oct 1998 09:18:39 +0000 (09:18 +0000)]
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
David S. Miller [Wed, 7 Oct 1998 02:21:54 +0000 (02:21 +0000)]
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
David S. Miller [Wed, 7 Oct 1998 02:17:57 +0000 (02:17 +0000)]
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
Mark Mitchell [Wed, 7 Oct 1998 02:08:55 +0000 (02:08 +0000)]
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
Jeffrey A Law [Wed, 7 Oct 1998 01:29:42 +0000 (01:29 +0000)]
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
Jeff Law [Wed, 7 Oct 1998 00:45:03 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r22877
Bernd Schmidt [Wed, 7 Oct 1998 00:13:49 +0000 (18:13 -0600)]
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
Bernd Schmidt [Tue, 6 Oct 1998 20:38:40 +0000 (14:38 -0600)]
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
Jeffrey A Law [Tue, 6 Oct 1998 20:18:21 +0000 (20:18 +0000)]
* Makefile.in: Revert last patch.
From-SVN: r22874
Bernd Schmidt [Tue, 6 Oct 1998 19:41:52 +0000 (13:41 -0600)]
i386.md (addsidi3_1): Delete unused variable temp.
* i386.md (addsidi3_1): Delete unused variable temp.
(addsidi3_2): Likewise.
(clstrstrsi): Delete unused variable addr1.
From-SVN: r22873
Bernd Schmidt [Tue, 6 Oct 1998 19:39:34 +0000 (13:39 -0600)]
* rtl.h: Don't declare any functions also declared in recog.h.
From-SVN: r22872
Alexandre Oliva [Tue, 6 Oct 1998 19:33:27 +0000 (19:33 +0000)]
* Makefile.in (INCLUDES): Make it multilib-friendly
From-SVN: r22871
Richard Henderson [Tue, 6 Oct 1998 15:43:24 +0000 (08:43 -0700)]
* collect2.c (main): Initialize ld_file_name.
From-SVN: r22870
Mark Mitchell [Tue, 6 Oct 1998 14:20:30 +0000 (14:20 +0000)]
cp-tree.def (PTRMEM_CST): New tree node.
* cp-tree.def (PTRMEM_CST): New tree node.
* cp-tree.h (ptrmem_cst): New type.
(lang_type): Remove local_typedecls.
(dummy): Increase to 12 bits from 11.
(CLASSTYPE_LOCAL_TYPEDECLS): Remove.
(PTRMEM_CST_CLASS): New macro.
(PTRMEM_CST_MEMBER): Likewise.
(current_access_specifier): New variable.
(current_class_type): Remove duplicate declaration.
(finish_struct): Change prototype.
(unreverse_member_declarations): New function.
(pushdecl_class_level): Change prototype.
(grok_enum_decls): Remove.
(fixup_anonymous_union): New function.
(grok_x_components): Change prototype.
(tsubst_chain): Remove.
(finish_member_template_decl): Likewise.
(check_explicit_specialization): Fix indentation.
(finish_class_definition): Change prototype.
(finish_member_class_template): Likewise.
(finish_member_declaration): New function.
(check_multiple_declarators): Likewise.
* class.c (class_stack_node_t): New type.
(current_class_base): Remove.
(current_class_stack): Change type.
(current_access_specifier): New variable.
(grow_method): Remove.
(check_member_decl_is_same_in_complete_scope): Break out from
finish_struct.
(make_method_vec): New function.
(free_method_vec): Likewise.
(add_implicitly_declared_members): Break out from finish_struct_1.
(free_method_vecs): New variable.
(add_method): Rework for direct use from parser.
(handle_using_decl): Watch for NULL_TREE while iterating through
CLASSTYPE_METHOD_VEC.
(finish_struct_methods): Don't build CLASSTYPE_METHOD_VEC here;
just do some error-checking.
(warn_hidden): Change iteration through CLASSTYPE_METHOD_VEC.
(finish_struct_1): Simplify. Use add_implicitly_declared_members.
(finish_struct): Change prototype. Simplify; fields and methods
are already set up at this point.
(init_class_processing): Set up current_class_stack.
(pushclass): Save current_access_specifier.
(popclass): Restore it.
(currently_open_class): Simplify.
(build_self_reference): Remove use of CLASSTYPE_LOCAL_TYPEDECLS.
* decl.c (saved_scope): Add access_specifier.
(maybe_push_to_top_level): Save it.
(pop_from_top_level): Restore it.
(maybe_process_template_type_declaration): Use
finish_member_declaration.
(pushtag): Likewise.
(pushdecl_class_level): Don't return a value.
(fixup_anonymous_union): Break out from grok_x_components.
(shadow_tag): Use it.
(xref_tag): Complain about using an elaborated type specifier to
reference a template type parameter or typedef name.
(xref_basetypes): Don't set CLASSTYPE_LOCAL_TYPEDECLS.
(current_local_enum): Remove.
(build_enumerator): Call finish_member_declaration.
(grok_enum_decls): Remove.
* decl2.c (grok_x_components): Simplify.
(check_classfn): Change iteration through CLASSTYPE_METHOD_VEC.
(grokfield): Don't set CLASSTYPE_LOCAL_TYPEDECLS.
(merge_functions): Add to comment.
(arg_assoc_type): Prototype.
(arg_assoc): Pass as many arguments as there are parameters.
* error.c (dump_expr): Handle PTRMEM_CST. Improve handling of
OFFSET_REF.
* expr.c (cpls_expand_expr): Remove dead code. Handle
PTRMEM_CST.
* friend.c (do_friend): Lookup friends when in nested classes.
Change comments.
* init.c (build_offset_ref): Do lookup even for classes that are
only partially defined.
(decl_constant_value): Remove dead code.
* method.c (build_overload_value): Remove hack where by TYPE was
not a TYPE. Handle PTRMEM_CST.
(build_template_parm_names): Don't pass a PARM_DECL where a TYPE
should go.
* parse.y (components, notype_components, component_decl,
component_decl_1, component_declarator, component_declarator0):
Now all are itype rather than ttype. Rework to add members to
classes on the fly.
(typesqpecqual_reserved): Use check_multiple_declarators.
(structsp): Update class to finish_class_definition.
(do_xref_defn): Unsplit into named_class_head.
(access_specifier): Set current_access_specifier.
* pt.c (set_current_access_from_decl): New function.
(finish_member_template_decl): Don't take the parameters.
(comp_template_args): Make more robust.
(lookup_template_class): Don't use current_local_enum.
(for_each_template_parm): Handle PTRMEM_CST.
(instantiate_class_template): Use set_current_access_from_decl,
finish_member_declaration and unreverse_member_declarations. Set
lineno/input_filename before generating implicit member functions.
(type_unification_real): Don't assume back-unification happens
only for the last argument.
(regenerate_decl_from_template): Call pushclass a bit earlier.
(tsubst_chain): Remove.
(tsubst_enum): Use set_current_access_from_decl.
(set_mangled_name_for_template_decl): Fix indentation.
* search.c (lookup_fnfields_1): Change iteration through
CLASSTYPE_METHOD_VEC.
(dfs_pushdecls): Likewise.
(dfs_compress_decls): Likewise.
(add_conversions): Likewise.
* semantics.c (finish_class_definition): Don't take components.
Change call to finish_struct.
(finish_member_declaration): New function.
(finish_member_class_template): Don't take template parameters.
Change call to grok_x_components. Call finish_member_template_decl.
(check_multiple_declarators): New function.
* sig.c (append_signature_fields): Work from the TYPE_METHODS, not
a passed in fieldlist.
* tree.c (search_tree): Handle PTRMEM_CST.
(mapcar): Likewise.
* typeck.c (unary_complex_lvalue): Build PTRMEM_CSTs, not
INTEGER_CSTs, for pointer-to-data members.
From-SVN: r22869
Catherine Moore [Tue, 6 Oct 1998 13:47:21 +0000 (13:47 +0000)]
sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't check for flag_function_sections.
* config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
check for flag_function_sections.
From-SVN: r22868
Mark Mitchell [Tue, 6 Oct 1998 12:38:05 +0000 (12:38 +0000)]
call.c (resolve_args): Resolve template specializations, if possible.
* call.c (resolve_args): Resolve template specializations, if
possible.
From-SVN: r22867
J"orn Rennecke [Tue, 6 Oct 1998 12:04:55 +0000 (12:04 +0000)]
* cse.c (insert_regs): Fix bug in Sep 24 change.
From-SVN: r22866
J"orn Rennecke [Tue, 6 Oct 1998 09:03:38 +0000 (09:03 +0000)]
Cleanup for -fdump-unnumbered:
* flags.h (flag_dump_unnumbered): Declare.
* toplev.c (flag_dump_unnumbered): Don't declare.
* print-rtl.c (flags.h): Include.
(print_rtl_single): Add return value.
* rtl.h (print_rtl_single): Update declaration.
* flow.c (flag_dump_unnumbered): Don't declare.
(print_rtl_with_bb): Use return value of print_rtl_single.
From-SVN: r22865
Kaveh R. Ghazi [Tue, 6 Oct 1998 05:04:32 +0000 (05:04 +0000)]
Warning fixes:
* Makefile.in (spew.o): Depend on toplev.h.
* call.c (compare_ics): Initialize variables `deref_from_type2',
`deref_to_type1' and `deref_to_type2'.
* except.c (get_eh_type): Hide prototype and definition.
(process_start_catch_block_old): Remove unused static prototype.
* pt.c (tsubst_decl): Initialize variable `argvec'.
* spew.c: Include toplev.h.
From-SVN: r22864
Jeff Law [Tue, 6 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.
From-SVN: r22863
Bernd Schmidt [Tue, 6 Oct 1998 00:39:23 +0000 (18:39 -0600)]
Makefile.in (stupid.o): Update dependencies.
* Makefile.in (stupid.o): Update dependencies.
(global.o): Likewise.
* global.c: Include reload.h
(reg_becomes_live): New function.
(reg_dies): New function.
(build_insn_chain): New function.
(global_alloc): Call build_insn_chain before calling reload.
* reload.h (struct needs): New structure definition.
(struct insn_chain): Likewise.
(reload_insn_chain): Declare variable.
(new_insn_chain): Declare function.
* reload1.c (reload_startobj): New variable.
(reload_insn_chain): New variable.
(unused_insn_chains): New variable.
(new_insn_chain): New function.
(init_reload): Initialize reload_startobj, not reload_firstobj.
(reload): Initialize reload_firstobj.
Before returning, free everything on the reload_obstack.
* stupid.c: Include insn-config.h, reload.h and basic-block.h.
(reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
current_chain): New variables.
(reg_where_born): Delete variable.
(REG_WHERE_BORN): New macro.
(find_clobbered_regs): New function.
(stupid_life_analysis): Don't allocate/free reg_where_born.
Allocate and free reg_where_born_exact, reg_where_born_clobber,
reg_where_dead_chain.
Use REG_WHERE_BORN instead of reg_where_born.
While processing the insns, build the reload_insn_chain with
information about register lifetimes.
(stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
(stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers
changed.
Compute and information about birth and death of pseudo registers in
reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
Delete code to set elements of reg_where_born.
From-SVN: r22862
Alexandre Oliva [Tue, 6 Oct 1998 00:24:05 +0000 (00:24 +0000)]
friend35.C: New test.
* g++.old-deja/g++.pt/friend35.C: New test. A template function
must be declared before its specializations can be named in friend
declarations.
From-SVN: r22861
Alexandre Petit-Bianco [Mon, 5 Oct 1998 22:36:18 +0000 (15:36 -0700)]
tree.def (GOTO_EXPR): Modified documentation.
0
* tree.def (GOTO_EXPR): Modified documentation.
* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
goto.
From-SVN: r22860
Alexandre Petit-Bianco [Mon, 5 Oct 1998 22:36:16 +0000 (15:36 -0700)]
tree.def (GOTO_EXPR): Modified documentation.
8
* tree.def (GOTO_EXPR): Modified documentation.
* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
goto.
From-SVN: r22859