Commit Graph

19 Commits

Author SHA1 Message Date
Zack Weinberg
2a611d21ac system.h: Always prototype abort.
1999-04-16 22:44 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
	* system.h: Always prototype abort.  Prototype fatal.  Define
	abort to call fatal, not fprintf/exit.  Define a stub macro
	for trim_filename.
	* toplev.c: Define DIR_SEPARATOR.  (trim_filename): New
	function.
	* toplev.h: Prototype trim_filename, and #undef system.h's stub.
	* gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
	genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
	genpeep.c, genrecog.c: Make fatal non-static.
	* gcov.c, gengenrtl.c, protoize.c: #undef abort after
	including system.h.
	* config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
	relating to abort.

From-SVN: r26511
1999-04-16 19:52:44 +00:00
Richard Henderson
0133b7d92c Move over patch from Bernd Schmidt from GC branch:
* emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
        (gen_rtx): Call it.  Tidy cases.
        * rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
        * gengenrtl.c: Add commentary.
        (special_rtx): Also match CONST_DOUBLE.
        (gencode): Emit call to memset instead of bzero.

From-SVN: r26110
1999-04-01 09:06:09 -08:00
Jeff Law
4283012f9f Copyright fixes.
From-SVN: r24535
1999-01-06 13:44:41 -07:00
Jeffrey A Law
ba476f7531 gengenrtl.c (gencode): Always use bzero to clear memory instead of dangerous casts and stores.
* gengenrtl.c (gencode): Always use bzero to clear memory instead
        of dangerous casts and stores.
Fixes alpha & sparc -O3 bootstrap problems.

From-SVN: r24420
1998-12-26 02:31:42 -07:00
Kaveh R. Ghazi
2778b98d90 system.h: Include libiberty.h.
* system.h: Include libiberty.h.
        * c-aux-info.c: Remove prototypes for concat/concat3.  Change
        function `concat' from fixed parameters to variable parameters,
        as is done in libiberty.  All callers of concat/concat3
        changed to use the new `concat' with variable args.
        * cccp.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        * cexp.y: Likewise.
        * collect2.c: Likewise.
        * config/1750a/1750a.h: Likewise.
        * cppalloc.c: Likewise.
        * cppexp.c: Likewise.
        * cppfiles.c: Likewise.
        * cpphash.c: Likewise.
        * cpplib.c: Likewise.
        * dyn-string.c: Likewise.
        * fix-header.c: Likewise.
        * gcc.c: Likewise.
        * gcov.c: Likewise.
        * genattr.c: Likewise.
        * genattrtab.c: Likewise.
        * gencheck.c: Likewise.
        * gencodes.c: Likewise.
        * genconfig.c: Likewise.
        * genemit.c: Likewise.
        * genextract.c: Likewise.
        * genflags.c: Likewise.
        * gengenrtl.c: Likewise.
        * genopinit.c: Likewise.
        * genoutput.c: Likewise.
        * genpeep.c: Likewise.
        * genrecog.c: Likewise.
        * getpwd.c: Likewise.
        * halfpic.c: Likewise.
        * hash.c: Likewise.
        * mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
        in NEED_DECLARATION_* macros.
        * mips-tfile.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        (fatal): Fix const-ification of variable `format' in
        !ANSI_PROTOTYPES case.
        * prefix.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        * print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
        conflicting with function `spaces' from libiberty.
        * profile.c: Remove things made redundant by libiberty.h and/or
        conform to libiberty standards.
        * protoize.c: Likewise.
        * rtl.h: Likewise.
        * scan.h: Likewise.
        * tlink.c: Likewise.
        * toplev.c: Likewise.
        * toplev.h: Likewise.
        * tree.h: Likewise.

From-SVN: r23931
1998-11-27 10:09:17 +00:00
Richard Henderson
402cdad5e7 alloca.c: Respect USE_C_ALLOCA.
* alloca.c: Respect USE_C_ALLOCA.
        * gencheck.c (xmalloc): Ignore __GNUC__ for definition.
        * gengenrtl.c (xmalloc): Likewise.

From-SVN: r21264
1998-07-17 08:00:11 -07:00
Mark Mitchell
41472af877 invoke.texi (-fstrict-aliasing): Document.
* invoke.texi (-fstrict-aliasing): Document.
	* rtl.texi (MEM_ALIAS_SET): Document.
	* flags.h (flag_strict_aliasing): Declare.
	* toplev.c (flag_strict_aliasing): Define.
	(f_options): Add -strict-aliasing.
	(main): Set flag_strict_aliasing if -O2 or higher.
	* tree.h (tree_type): Add alias_set field.
	(TYPE_ALIAS_SET): New macro.
	(TYPE_ALIAS_SET_KNOWN_P): Likewise.
	(get_alias_set): Declare.
	* tree.c (lang_get_alias_set): Define.
	(make_node): Initialize TYPE_ALIAS_SET.
	(get_alias_set): New function.
	* print-tree.c (print_node): Dump the alias set for a type.
	* c-tree.h (c_get_alias_set): Declare.
	* c-common.c (c_get_alias_set): New function.
	* c-decl.c (init_decl_processing): Set lang_get_alias_set.
	* expr.c (protect_from_queue): Propogage alias sets.
	(expand_assignment): Calculate alias set for new MEMs.
	(expand_expr): Likewise.
	* function.c (put_var_into_stack): Likewise.
	(put_reg_into_stack): Likewise.
	(gen_mem_addressof): Likewise.
	(assign_parms): Likewise.
	* stmt.c (expand_decl): Likewise.
	* varasm.c (make_decl_rtl): Eliminate redundant clearing of
	DECL_RTL.  Calculate alias set for new MEMs.
	* rtl.def (REG): Add dummy operand.
	(MEM): Add extra operand to store the MEM_ALIAS_SET.
	* rtl.h (MEM_ALIAS_SET): New macro.
	(gen_rtx_MEM): Declare.
	* emit-rtl.c (gen_rtx_MEM): New function.
	* gengenrtl.c (sepcial_rtx): Make MEMs special.
	* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
	(DIFFERENT_ALIAS_SETS_P): Likewise.
	(canon_rtx): Propogate the alias set to the new MEM.
	(true_dependence): Check the alias sets.
	(anti_dependence): Likewise.
	(output_dependence): Likewise.
	* explow.c (stabilize): Progoate alias sets.
	* integrate.c (copy_rtx_and_substitute): Likewise.
	* final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
	in an unpredictable state.  Propogate alias sets.
	* reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
	we have no alias information.

From-SVN: r20719
1998-06-25 15:14:41 +00:00
Kaveh R. Ghazi
fd97443cb6 ANSI does not allow a prototype to specify an item smaller than an int if the function uses an old-style definition.
ANSI does not allow a prototype to specify an item smaller than an int
if the function uses an old-style definition.  This only worked as a
GNUC extension, so stop doing it.
       * gengenrtl.c (type_from_format, accessor_from_format): Change
       type of parameter `c' from `char' to `int'.

From-SVN: r19922
1998-05-21 06:29:55 +00:00
Michael Meissner
0dfa18604b Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
        (rtl.o, emit-rtl.o): Add dependency on bitmap.h.
        ($(HOST_PREFIX_1)rtl.o): Likewise.
        ($(HOST_PREFIX_1)bitmap.o): New host object.
        * emit-rtl.c (toplevel): Include bitmap.h.
        (gen_rtx): Handle 't' and 'b' nodes.
        * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
        Print block number for block begin/end notes.  Print 't' type
        nodes as a pointer.  Know that the 3rd argument of live range
        start/stop notes is really a range_info rtx.  If type is 'b', print
        out argument as a bitmap.
        * rtl.c: Include bitmap.c.
        (copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
        (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
        * rtl.def (RANGE_LIVE): New node to hold live information while we
        recalculate the basic blocks.
        (RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
        (RANGE_VAR): New node, to hold information saved in symbol node for New
        communicating live range information to the debug output functions.
        * rtl.h (rtunion_def): Add rttree and rtbit fields.
        (XBITMAP, XTREE): New accessor macros.
        (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
        (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
        (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
        (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
        (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
        (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
        (RANGE_INFO_*): Likewise.
        * sched.c (sched_analyze): Keep live range start/stop notes.
        (unlink_other_notes): Likewise.
        * haifa-sched.c (sched_analyze): Keep live range start/stop notes.
        (unlink_other_notes): Likewise.
        * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
        (BLOCK_LIVE_RANGE_FLAG): Likewise.
        (DECL_LIVE_RANGE_RTL): Likewise.
        (struct tree_block): Add live_range_flag, live_range_var_flag,
        live_range_start and live_range_end.
        (struct tree_decl): Add live_range_rtl field.
        * gengenrtl.c (type_from_format): Handle 'b' and 't'.
        (accessor_from_format): Likewise.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r19727
1998-05-13 15:13:47 -06:00
Kaveh R. Ghazi
d6f4ec5199 Warning fixes:
* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
	(c-lex.o): Depend on output.h.
	(c-common.o): Likewise.
	(stmt.o): Likewise.
	(calls.o): Likewise.
	(integrate.o): Depend on toplev.h.
	(regclass.o): Depend on output.h.
	(final.o): Depend on reload.h.
	* c-common.c: Include output.h.
	(check_format_info): Remove unused variable `integral_format'.
	* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
	`indent' with ATTRIBUTE_UNUSED.
	(print_lang_type): Likewise.
	(maybe_build_cleanup): Likewise for parameter `decl'.
	(copy_lang_decl): Likewise for parameter `node'.
	* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
	(lang_print_xnode): Mark parameters `file', `node' and `indent'
 	with ATTRIBUTE_UNUSED.
	(lookup_interface): Likewise for parameter `arg'.
	(is_class_name): Likewise.
	(maybe_objc_check_decl): Likewise for parameter `decl'.
	(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
	`reflexive'.
	(maybe_objc_method_name): Likewise for parameter `decl'.
	(build_objc_string): Likewise for parameters `len' and `str'.
	* c-lex.c: Include output.h.
	* c-lex.h (position_after_white_space): Correct typo in prototype.
	* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
 	c_expand_end_cond, init_iterators): Add prototypes.
	* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
	with ATTRIBUTE_UNUSED.
	* calls.c: Include output.h.
	* cccp.c (pipe_closed): Mark parameter `signo' with
 	ATTRIBUTE_UNUSED.
	* combine.c: Move inclusion of expr.h to after insn-config.h.
	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
	as empty, rather define as ((void)0).
	* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
	Add parentheses around assignment used as truth value.
	* cplus-dem.c (squangle_mop_up): Change return type to void.
	(internal_cplus_demangle): Remove unused parameter `options'.
	All callers changed.
	(cplus_demangle_opname): Remove function wide variable `int i' and
 	replace with `size_t i' at each location where it is used.
	(cplus_demangle_opname): change type of `i' from int to size_t.
	* cppexp.c (right_shift): Mark parameter `pfile' with
	ATTRIBUTE_UNUSED.
	* cpphash.c (cpp_lookup): Likewise.
	(cpp_hash_cleanup): Likewise.
	* cpplib.c (parse_name): Add a prototype and make it static.
	(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
	(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
	(macro_cleanup): Likewise for parameter `pfile'.
	(file_cleanup): Likewise.
	* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
 	cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
	* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
	__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
	* cse.c (cse_check_loop_start): Mark parameter `set' with
 	ATTRIBUTE_UNUSED.
	* dbxout.c (flag_minimal_debug, have_used_extensions,
	source_label_number): Move inside macro wrapper check against
	defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
	* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
	* except.h (doing_eh): Provide prototype.
	* expr.c: Move inclusion of expr.h to after insn-config.h.
	* final.c: Include reload.h.
	(shorten_branches): Cast the first argument of bzero to char *.
	* fix-header.c (cpp_print_containing_files): Mark parameter
 	`pfile' with ATTRIBUTE_UNUSED.
	(cpp_fatal): Likewise.
	* flow.c (find_basic_blocks_1): Cast the first argument of bzero
	to char *.
	* genattrtab.c (make_length_attrs): Change the type of variable
	`i' from int to size_t.
	(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
	(one_fn): Likewise.
	* genextract.c (main): When generating insn-extract.c, mark
	variable `junk' with ATTRIBUTE_UNUSED.
	* gengenrtl.c (gencode): When generating genrtl.c, cast the first
	argument of bzero to char*.
	* integrate.c: Include toplev.h.
	* libgcc2.c: Wrap `struct exception_table' and
	`find_exception_handler' in macro DWARF2_UNWIND_INFO.
	* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
	* objc/objc-act.c: Include toplev.h.
	(lang_print_xnode): Mark parameters `file', `node' and `indent'
	with ATTRIBUTE_UNUSED.
	(finish_protocol): Likewise for parameter `protocol'.
	* output.h (declare_weak): Add prototype.
	(decode_reg_name): Don't wrap with TREE_CODE macro.
	(assemble_alias): Add prototype.
	* regclass.c: Include output.h.
	* reload.h (reloads_conflict): Add prototype.
	* rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p,
	output_func_start_profiler): Add prototypes.
	* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
 	ATTRIBUTE_UNUSED.
	* scan-decls.c: Include scan.h.
	* scan.h (recognized_function, recognized_extern): Add prototypes.
	* stmt.c: Include output.h.
	* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
	(output_lang_identify): Hide prototype and definition.
	(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
	(pipe_closed): Likewise.
	* toplev.h (count_error, strip_off_ending, error_for_asm,
 	warning_for_asm): Add prototypes.

From-SVN: r19712
1998-05-13 12:40:39 +00:00
Kaveh R. Ghazi
d4ba0ead26 Consolidate support for "String-ification" into system.h:
* system.h: Define the STRINGIFY macro here.
        * protoize.c: Not here.
        * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.

From-SVN: r19696
1998-05-12 07:36:02 +00:00
Kaveh R. Ghazi
560bd19e94 Another minor system.h cutover:
* Makefile.in (genrtl.o): Depend on system.h.
        * gengenrtl.c (gencode): When creating genrtl.c, have it
        include system.h.

From-SVN: r19632
1998-05-08 06:51:04 +00:00
Bernd Schmidt
56c0e996b8 c-lex.c (is_class_name): Delete declaration.
* c-lex.c (is_class_name): Delete declaration.
        (whitespace_cr): Make static and add prototype.
        * c-lex.h (make_pointer_declarator, reinit_parse_for_function,
        yylex, get_directive_line): Turn declarations into prototypes.
        (position_after_whitespace, check_newline, yyerror,, is_class_name,
        forget_protocol_qualifiers, remember_protocol_qualifiers): Add
        prototypes.
        * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
        prototypes.
        * gencodes.c (gen_insn): Add prototype.
        * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
        gen_peephole): Add prototypes.
        * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
        prototypes.
        * gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
        special_format, find_formats, gendecl, genmacro, gendef, genlegend,
        genheader, gencode): Add prototypes.
        * genopinit.c (gen_insn): Add prototype.
        * genoutput.c (output_prologue, output_epilogue, scan_operands,
        process_template, validate_insn_alternatives, gen_insn, gen_peephole,
        gen_expand, gen_split, n_occurrences): Add prototypes.
        * genpeep.c (gen_peephole): Add prototype.
        * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
        reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
        labels_in_range_p, count_loop_regs_set, note_addr_stored,
        loop_reg_used_before_p, scan_loop, replace_call_address,
        skip_consec_insns, libcall_benefit, ignore_some_movables,
        force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
        strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
        check_final_value, record_giv, update_giv_derive, basic_induction_var,
        simplify_giv_expr, general_induction_var, consec_sets_giv,
        check_dbra_loop, express_from, combine_givs_p, combine_givs,
        product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
        last_use_this_basic_block, record_initial, update_reg_last_use,
        iteration_info, analyze_loop_iterations, insert_bct,
        instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
        into prototypes.

From-SVN: r19038
1998-04-07 17:47:11 -06:00
Kaveh R. Ghazi
b04cd50711 More cutover to system.h:
* Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
        cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
        gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
        system.h.
        * cpphash.c: Include config.h.
        * cppalloc.c: Include system.h.  Add parameters to various
        function prototypes.
        * cpperror.c: Likewise.
        * cppexp.c: Likewise.
        * cpphash.c: Likewise.
        * cpplib.c: Likewise.
        * cppmain.c: Likewise.
        * fix-header.c: Likewise.
        * gcov.c: Likewise.
        * gen-protos.c: Likewise.
        * gengenrtl.c: Likewise.
        * halfpic.c: Likewise.
        * hash.c: Likewise.
        * scan-decls.c: Likewise.
        * scan.c: Likewise.

From-SVN: r18911
1998-03-30 12:05:54 +00:00
Richard Henderson
7684433709 configure.in: Add cpp stringify test.
* configure.in: Add cpp stringify test.
        * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
        * gengenrtl.c: Use it.
        * configure, config.in: Rebuild.

From-SVN: r17419
1998-01-19 02:09:47 -08:00
Kaveh R. Ghazi
982255c878 gengenrtl.c (type_from_format): De-ANSIfy function signature.
* gengenrtl.c (type_from_format): De-ANSIfy function signature.
        (accessor_from_format): Likewise.
        (xmalloc): New function for use when linking with alloca.o.

From-SVN: r17386
1998-01-17 13:09:09 -07:00
Richard Henderson
5d483f6374 * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
From-SVN: r17380
1998-01-16 08:21:54 -08:00
John Carr
4b8140a62f gengenrtl.c (gencode): Emit new function obstack_alloc_rtx to allocate rtx.
* gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
to allocate rtx.
(gendef): Call obstack_alloc_rtx.

From-SVN: r17327
1998-01-13 01:06:31 -08:00
Richard Henderson
3b80f6ca69 Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
* Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
* emit-rtl.c (gen_rtx): Move special code to ...
(gen_rtx_CONST_INT): New function.
(gen_rtx_REG): New function.
(*): Update all calls to gen_rtx.
* genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
* rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
(GEN_INT): Call gen_rtx_CONST_INT.
* gengenrtl.c: New file.

From-SVN: r17312
1998-01-08 13:17:05 -08:00