Commit Graph

27768 Commits

Author SHA1 Message Date
Zack Weinberg
a7abcbbf92 cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now static.
* cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
	static.  Allocate the hashnode and its string in the same
	block of memory.
	(del_HASHNODE): Don't free h->name.
	(_cpp_lookup): If there is no entry for this string, create
	one, of type T_VOID.
	(_cpp_lookup_slot): Delete.
	* cpphash.h: Update prototypes.

	* cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
	not hp == NULL.
	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
	do_unassert, cpp_defined): Use _cpp_lookup.  Don't create a
	node here, just fill in the value field properly.  "Delete"
	entries by setting the value field to T_VOID.  Check for
	hp->type == T_VOID, not hp == NULL.

	* Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
	* cpperror.c, cppexp.c, cpplex.c, cpplib.c:  Don't include
	hashtab.h.

From-SVN: r33581
2000-05-01 18:20:10 +00:00
Benjamin Kosnik
b7fe530c1e atomicity.h: Fix typo.
2000-04-30  Benjamin Kosnik  <bkoz@gnu.org>

	* config/cpu/powerpc/bits/atomicity.h: Fix typo.
	* mknumeric_limits (trait_name): Fix copyright notice.
	* src/gen-num-limits.cc: Explicitly instantiate epsilon and
	round_error data members of struct value. This works around
	weak-linking issues on AIX, HPUX.

From-SVN: r33580
2000-05-01 18:14:03 +00:00
Jeff Law
2f9b43773f Update copyrights.
From-SVN: r33579
2000-05-01 11:32:22 -06:00
Jeff Law
0d1cd67541 Update copyright.
From-SVN: r33578
2000-05-01 11:31:40 -06:00
Alexandre Oliva
79e4122c87 mn10300.c (print_operand_address): Do not add zero to SP.
* config/mn10300/mn10300.c (print_operand_address): Do not add
zero to SP.

From-SVN: r33577
2000-05-01 17:28:26 +00:00
Jeff Law
c30b633064 Update copyrights.
From-SVN: r33576
2000-05-01 11:24:23 -06:00
Jeff Law
694805a8c1 Update copyright
From-SVN: r33575
2000-05-01 11:18:52 -06:00
Jeff Law
a864ec13a6 Update copyright.
From-SVN: r33574
2000-05-01 11:17:55 -06:00
Alexandre Oliva
ed6089d61b mn10300.c (expand_epilogue): If SP is to be adjusted by less than 256 bytes...
* config/mn10300/mn10300.c (expand_epilogue): If SP is to be
adjusted by less than 256 bytes, use ret regardless of having any
callee-saved register to restore.

From-SVN: r33573
2000-05-01 17:09:05 +00:00
Laurynas Biveinis
7c714ee1c3 * tm.texi (TARGET_HAS_F_SETFLKW): Fix typo.
From-SVN: r33572
2000-05-01 10:53:03 -06:00
Mark Mitchell
9edc391342 cp-tree.h (same_type_ignoring_top_level_qualifiers_p): New macro.
* cp-tree.h (same_type_ignoring_top_level_qualifiers_p): New
	macro.
	* call.c (standard_conversion): Use it.
	(direct_reference_binding): Likewise.
	(build_over_call): Likewise.
	(is_properly_derived_from): Likewise.
	(compare_ics): Likewise.
	* class.c (resolves_to_fixed_type_p): Likewise.
	* optimize.c (declare_return_variable): Likewise.
	* pt.c (is_specialization_of): Likewise.
	(unify): Likewise.
	* typeck.c (comp_target_parms): Likeiwse.
	(build_static_cast): Likewise.
	(build_reinterpret_cast): Likewise.
	(build_const_cast): Likewise.
	(comp_ptr_ttypes_real): Likewise.
	(comp_ptr_ttypes_const): Likewise.
	* typeck2.c (process_init_constructor): Likewise.

From-SVN: r33571
2000-05-01 16:51:17 +00:00
Mark Elbrecht
52e45a606d djgpp.h (INT_ASM_OP): Define.
* config/i386/djgpp.h (INT_ASM_OP): Define.
        (CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
        (ASM_WEAKEN_LABEL): Define.
        (MASK_BNU210): Define.
        (SUBTARGET_SWITCHES): Define.
        (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
        (MAKE_DECL_ONE_ONLY): Define.
        (UNIQUE_SECTION_P, UNIQUE_SECTION): Define.

From-SVN: r33570
2000-05-01 10:50:49 -06:00
Mumit Khan
eb70f6289c * i386/cygwin.h (INT_ASM_OP): Define.
From-SVN: r33569
2000-05-01 10:47:22 -06:00
Denis Chertykov
afd1bb919d avr.c (address_cost): renamed to avr_address_cost.
* config/avr/avr.c (address_cost): renamed to avr_address_cost.
	* config/avr/avr.h (ADDRESS_COST): use avr_address_cost.

From-SVN: r33568
2000-05-01 18:37:11 +04:00
Denis Chertykov
368256d894 avr.c (asm_file_start): output 0 as r0 and 1 as r1 in __tmp_reg__ and __zero_reg__ initialization.
* config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
	__tmp_reg__ and __zero_reg__ initialization.

From-SVN: r33567
2000-05-01 18:11:51 +04:00
Martin v. Löwis
a47ad784b1 New file
From-SVN: r33566
2000-05-01 11:15:22 +00:00
Jeff Law
cac50545ec Daily bump.
From-SVN: r33565
2000-05-01 01:45:07 -06:00
Richard Henderson
5e9e738cd2 * flow.c (propagate_one_insn): Mark sets even when the insn is dead.
From-SVN: r33564
2000-05-01 00:21:29 -07:00
Richard Henderson
c4686982aa ifcvt.c (noce_process_if_block): Fail the conversion if X is referenced bewteen the condition and the jump.
* ifcvt.c (noce_process_if_block): Fail the conversion if X is
        referenced bewteen the condition and the jump.  Don't delete
        anything but the jump.

From-SVN: r33563
2000-04-30 23:55:44 -07:00
Scott Snyder
5724a0e641 decl.c (finish_destructor_body): Use the base destructor when destroying virtual bases.
* decl.c (finish_destructor_body): Use the base destructor when
	destroying virtual bases.

From-SVN: r33562
2000-05-01 06:01:33 +00:00
Mark Mitchell
738e281059 expr.c (cplus_expand_expr): Preserve temporaries when expanding STMT_EXPRs.
* expr.c (cplus_expand_expr): Preserve temporaries when expanding
	STMT_EXPRs.
	* optimize.c (struct inline_data): Add target_exprs field.
	(declare_return_variable): When a function returns an aggregate,
	use the variable declared in the TARGET_EXPR as the remapped
	DECL_RESULT.
	(expand_call_inline): Update the pending target_exprs stack.
	(optimize_function): Initialize the stack.

From-SVN: r33561
2000-05-01 05:50:40 +00:00
Jason Eckhardt
e3fdc58a35 bb-reorder.c (scope_def): New struct.
Sun Apr 30 22:48:24 2000  Jason Eckhardt  <jle@cygnus.com>

	* bb-reorder.c (scope_def): New struct.
	(scope_forest_info): New struct.
	(struct reorder_block_def): New member "scope".
	(REORDER_BLOCK_SCOPE): New macro.
	(relate_bbs_with_scopes): New function and prototype.
	(make_new_scope): Likewise.
	(build_scope_forest): Likewise.
	(remove_scope_notes): Likewise.
	(insert_intra_1): Likewise.
	(insert_intra_bb_scope_notes): Likewise.
	(insert_inter_bb_scope_notes): Likewise.
	(rebuild_scope_notes): Likewise.
	(free_scope_forest_1): Likewise.
	(free_scope_forest): Likewise.
	(dump_scope_forest): Likewise.
	(dump_scope_forest_1): Likewise.
	(chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
	Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
	block.
	(reorder_basic_blocks): Added calls to build_scope_scope_forest
	and remove_scope_notes before reordering is done. Added calls to
	rebuild_scope_notes, free_scope_forest, and reorder_blocks after
	after reordering is done.

From-SVN: r33560
2000-05-01 03:46:21 +00:00
Mark Mitchell
4c0aad2c08 * decl2.c (finish_file): Fix typo in comment.
From-SVN: r33559
2000-05-01 01:43:24 +00:00
Benjamin Kosnik
6dd4c3fd8f mknumeric_limits (trait_name): Fix copyright notice.
2000-04-30  Benjamin Kosnik  <bkoz@gnu.org>

	* mknumeric_limits (trait_name): Fix copyright notice.
	* src/gen-num-limits.cc: Explicitly instantiate epsilon and
	round_error data members of struct value. This works around
	weak-linking issues on AIX, HPUX.

From-SVN: r33558
2000-05-01 00:14:10 +00:00
Bruce Korb
82c3a53ec9 removed two stale entries
From-SVN: r33557
2000-04-30 23:59:45 +00:00
Bruce Korb
4c1880265e Added definitions needed by OSR5
From-SVN: r33556
2000-04-30 23:30:15 +00:00
Richard Henderson
0ca4f243d7 ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes from the last insn in the sequence.
* ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes
        from the last insn in the sequence.

From-SVN: r33555
2000-04-30 11:41:37 -07:00
Mark Mitchell
baf05df059 * method.c (emit_thunk): Don't try to return a `void' value.
From-SVN: r33554
2000-04-30 18:03:36 +00:00
Mark Mitchell
04dfcc8fbe optimize.c (initialize_inlined_parameters): If the parameter is addressable...
* optimize.c (initialize_inlined_parameters): If the parameter is
	addressable, we need to make a new VAR_DECL, even if the
	initializer is constant.

From-SVN: r33553
2000-04-30 18:02:10 +00:00
Zack Weinberg
6d2c2047b5 cpplex.c (cpp_idcmp): New function.
* cpplex.c (cpp_idcmp): New function.
	* cpplib.h: Prototype it.
	* scan_decls.c (scan_decls): Use it to inspect token names.
	* fix-header.c (read_scan_file): Likewise.  Set system_header_p on
	the file being run through the preprocessor.
	(check_macro_names): Provide length of token to cpp_defined.

	* Makefile.in: Remove stale warning message.

From-SVN: r33552
2000-04-30 17:30:25 +00:00
Zack Weinberg
638d694d84 cppfiles.c (redundant_include_p): Provide length of token to cpp_defined.
* cppfiles.c (redundant_include_p): Provide length of token to
	cpp_defined.
	* cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash
	values are unsigned int.
	(_cpp_lookup, _cpp_lookup_slot): Do not calculate the length.
	(_cpp_lookup_slot): Do not calculate the hash, either.
	* cpphash.h: Update prototypes.
	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert):
	Hashes are unsigned int.  Calculate hash here, pass by value
	to _cpp_lookup_slot.

From-SVN: r33551
2000-04-30 17:11:25 +00:00
Benjamin Kosnik
3f49b8429c mkcheck.in: Rely on exit status instead of the presence of a core file.
2000-04-28  Loren J. Rittle  <ljrittle@acm.org>

        * mkcheck.in: Rely on exit status instead of the presence of a
        core file.  Added comments on how/where to save core and exe
        files.  Move shell wildcards outside quotes and fix core path.

From-SVN: r33550
2000-04-30 16:12:56 +00:00
Bernd Schmidt
4d0482f6eb Fix memory corruption bug
From-SVN: r33549
2000-04-30 13:37:15 +00:00
Richard Henderson
a5c874cb02 d30v: New port.
* config/d30v: New port.

        * configure.in (d30v-*): Set fp format.
        * configure: Rebuild.

From-SVN: r33548
2000-04-30 04:17:13 -07:00
Richard Henderson
9ec6d7ab0f ifcvt.c: New file.
* ifcvt.c: New file.
        * Makefile.in (OBJS): Add it.
        (ifcvt.o): New target.
        * jump.c (jump_optimize_1): Remove all code related to if-conversion,
        and conditional arithmetic.
        (find_insert_position): Remove.
        * timevar.def (TV_IFCVT, TV_IFCVT2): New.
        * toplev.c (DFI_ce, DFI_ce2): New.
        (dump_file): Add ce and ce2 dumps.
        (rest_of_compilation): Run if_convert a couple o times.  Set
        cse_not_expected after cse2.  Don't set no_new_pseudos until
        after sched1 or recompute_reg_usage.

From-SVN: r33547
2000-04-30 04:01:53 -07:00
Richard Henderson
927b868f8c t-crtbe (crtbegin.o): Add "-I.".
* config/alpha/t-crtbe (crtbegin.o): Add "-I.".
        (crtend.o, crtbeginS.o, crtendS.o): Likewise.

From-SVN: r33546
2000-04-30 03:56:21 -07:00
Richard Henderson
4151b3135a Remove ifnottex block confusing makeinfo 3.12.
From-SVN: r33545
2000-04-30 03:50:57 -07:00
Richard Henderson
11ae508b7a flow.c (struct reg_cond_life_info): New.
* flow.c (struct reg_cond_life_info): New.
        (struct propagate_block_info): Add reg_cond_dead and reg_cond_reg.
        (init_propagate_block_info): Initialize them.
        (free_propagate_block_info): Destruct them.
        (mark_set_1): Consider conditional life before killing a register.
        (mark_regno_cond_dead): New.
        (free_reg_cond_life_info): New.
        (flush_reg_cond_reg_1, flush_reg_cond_reg): New.
        (ior_reg_cond, not_reg_cond, nand_reg_cond): New.
        (mark_used_reg): Record conditional life.

        * haifa-sched.c (schedule_insns): Disable death counting
        sanity check for HAVE_conditional_execution.

From-SVN: r33544
2000-04-30 03:37:57 -07:00
Richard Henderson
614f6bc164 Makefile.in (TIMEVAR_H): New.
* Makefile.in (TIMEVAR_H): New.
        (ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it.
        (timevar.h): Remove rule.

From-SVN: r33543
2000-04-30 03:31:01 -07:00
Richard Henderson
99eb5b266f Missed last config/alpha update.
From-SVN: r33540
2000-04-30 03:15:05 -07:00
Jeff Law
d77ffb2ada Daily bump.
From-SVN: r33539
2000-04-30 01:45:07 -06:00
Zack Weinberg
d2158690ae cpphash.h (enum node_type): Take out T_MCONST.
* cpphash.h (enum node_type: Take out T_MCONST.
	(union hashval): Move into struct hashnode.
	(struct hashnode): Pack tighter.  Remove file, line, col
	members.
	* cpphash.c: Constify most of the macro-definition structures.
	(struct definition): Replace by struct object_defn
	and struct funct_defn.  Put file, line, column information
	here.  All users updated to match.
	(_cpp_create_definition, _cpp_macroexpand): Remove special
	case for #define WORD OTHERWORD.
	* cpplib.c (do_undef): Remove T_MCONST case.

From-SVN: r33538
2000-04-30 01:34:00 +00:00
Richard Henderson
10d1117cbc crtend.asm: Use C comments instead of #.
* config/alpha/crtend.asm: Use C comments instead of #.
        * config/alpha/crtbegin.asm: Likewise.  Mark __dso_handle hidden.

        * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.

From-SVN: r33537
2000-04-29 14:12:45 -07:00
Zack Weinberg
5cebbd8de3 cpphash.h: Move struct reflist, struct definition, and the DEFINITION typedef to cpphash.c.
* cpphash.h: Move struct reflist, struct definition, and the
	DEFINITION typedef to cpphash.c.  Use 'struct definition *' in
	union hashval.  _cpp_free_definition takes a HASHNODE pointer.
	* cpphash.c (_cpp_free_definition): Free data pointed to by
	MCONST, XCONST, MACRO, and FMACRO nodes properly.
	(_cpp_create_definition, del_HASHNODE): Just call
	_cpp_free_definition to clear out a hashnode.
	* cpplib.c (do_pragma_poison): Likewise.

From-SVN: r33536
2000-04-29 20:58:12 +00:00
Phil Edwards
0bf0f02717 download.html: Add link to list of mirror sites.
2000-04-29  Phil Edwards  <pme@sourceware.cygnus.com>

	* docs/download.html:  Add link to list of mirror sites.

From-SVN: r33535
2000-04-29 20:41:19 +00:00
Alexandre Oliva
a47944e2be mn10300.h (FIRST_DATA_REGNUM, [...]): New macros.
* config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
(REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
REGNO_AM33_P): Redefine in terms of the new macros.
(CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
STRUCT_VALUE): Likewise.
(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise.  Moved.

From-SVN: r33534
2000-04-29 15:28:42 +00:00
Alexandre Oliva
3b94497c20 Makefile.in (maintainer-clean-subdir): Fix handling of empty SUBDIRS.
* Makefile.in (maintainer-clean-subdir): Fix handling of empty
SUBDIRS.

From-SVN: r33533
2000-04-29 14:25:12 +00:00
Jeff Law
9fe4928b88 Daily bump.
From-SVN: r33532
2000-04-29 01:45:07 -06:00
Jason Merrill
0cc2105eb3 revert
From-SVN: r33531
2000-04-28 20:17:06 -04:00
Jan Hubicka
a2ee843035 regmove.c (struct record_stack_memrefs_data): New.
* regmove.c (struct record_stack_memrefs_data): New.
	(record_stack_memrefs): New function.
	(combine_stack_adjustments_for_block): Use it.

From-SVN: r33529
2000-04-28 23:27:40 +00:00