Commit Graph

30754 Commits

Author SHA1 Message Date
Kaveh R. Ghazi 3f80e6acb1 Makefile.in (c-common.o): Depend on diagnostic.h.
* Makefile.in (c-common.o): Depend on diagnostic.h.

	* c-common.c: Include diagnostic.h.
	(tfaff): Delete.
	(status_warning): New function.
	(check_format_info, maybe_read_dollar_number, check_format_types,
	finish_dollar_format_checking, check_function_format): Accept a
	`status' parameter.  All callers changed.

	* c-common.h (check_function_format): Accept a `status' parameter.

	* c-typeck.c: Update call to `check_function_format'.

cp:
	* cp-tree.h (check_function_format): Accept a `status' parameter.

	* call.c, typeck.c: Updates calls to `check_function_format'.

From-SVN: r36524
2000-09-19 03:26:11 +00:00
Richard Henderson cfbd829cca c-decl.c (c_expand_body): Call mark_varargs before expand_function_start.
* c-decl.c (c_expand_body): Call mark_varargs before
        expand_function_start.

From-SVN: r36523
2000-09-18 19:14:33 -07:00
Richard Henderson 895b56ff0c 20000906-1.c: Move ...
* gcc.c-torture/execute/20000906-1.c: Move ...
        * gcc.dg/20000906-1.c: ... here.  Only run on targets
        that support __builtin_trap.

From-SVN: r36522
2000-09-18 19:10:27 -07:00
Geoff Keating c21d86e1b5 eabi-cn.asm: Use /**/ to delimit comments, not #.
* config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
	* config/rs6000/eabi-ci.asm: Likewise.

From-SVN: r36521
2000-09-19 01:25:31 +00:00
Richard Henderson f0417c8227 emit-rtl.c (init_emit_once): Initialize const_tiny_rtx for BImode.
* emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
        for BImode.

From-SVN: r36520
2000-09-18 16:48:35 -07:00
Jim Wilson 5c3c320ecd Fix IA-64 abort compiling ping.
* unroll.c (loop_iterations): Pass increment to extend_for_giv_value
	before passing it to fold_rtx_mult_add.

From-SVN: r36518
2000-09-18 16:19:53 -07:00
Jim Wilson ec919c984e Fix for IA-64 abort compiling xaaPCache.c from XFree86
Fix for IA-64 abort compiling xaaPCache.c from XFree86
	* unroll.c (final_giv_value): Pass increment through
	extend_value_for_giv before passing it to emit_iv_add_mult.

From-SVN: r36517
2000-09-18 15:48:52 -07:00
Bruno Haible e0efd58f0f dcgettext.c: Outside libc, use local variable names that don't clash with those in libc.
2000-09-18  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcgettext.c: Outside libc, use local variable names that don't
	clash with those in libc.
	* intl/bindtextdom.c: Likewise.
	* intl/textdomain.c: Likewise.

From-SVN: r36516
2000-09-18 22:05:52 +00:00
Jim Wilson 226ed43f1e Fix ia64-linux kernel fn_hash() miscompilation.
* function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
	paradoxical subreg, then directly substitute the replacement and
	return.

From-SVN: r36515
2000-09-18 14:37:37 -07:00
Neil Booth b542c0fb11 cpp.texi: Update documentation...
* cpp.texi: Update documentation, including some clarifications,
        the treatment of various newline combinations, and space
        between backslash and newline.

From-SVN: r36514
2000-09-18 21:14:44 +00:00
J"orn Rennecke 800a6a0ca9 sdbout.c (PUT_SDB_DEF, [...]): Replace ASM_OUTPUT_LABELREF with assemble_name.
* sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
	Replace ASM_OUTPUT_LABELREF with assemble_name.

From-SVN: r36513
2000-09-18 21:00:58 +01:00
J"orn Rennecke 50ceefc2f5 sh.c (addsubcosts): CONST is not cheap.
* sh.c (addsubcosts): CONST is not cheap.
	(find_barrier): For Sh1, take alignment after jumps into account.

From-SVN: r36512
2000-09-18 20:31:28 +01:00
Andrew Haley 659e47fb24 toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to remove all SETs of SUBREGs of hard registers.
2000-09-15  Andrew Haley  <aph@redhat.com>

        * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
        remove all SETs of SUBREGs of hard registers.
        * function.c (purge_hard_subreg_sets): New function.
        (purge_single_hard_subreg_set): New function.
        * rtl.h: (purge_hard_subreg_sets): New function.

From-SVN: r36511
2000-09-18 19:27:37 +00:00
Richard Henderson f2f90c63c8 ia64-protos.h: Update.
* config/ia64/ia64-protos.h: Update.
	* config/ia64/ia64.c (signed_inequality_operator): New.
	(ia64_expand_compare): New.
	(ia64_register_move_cost): Handle PR_REGS moves.
	(ia64_secondary_reload_class): Require a GR when moving to a PR.
	(struct reg_write_state): Add written_by_and/or.
	(struct reg_flags): Add is_and/or.
	(rws_update): Set them.
	(rws_access_regno): Test them to allow parallel comparisons.
	(rtx_needs_barrier): Recognize parallel comparisons.
	(emit_insn_group_barriers): Set prev_insn after a call stop bit.
	Call recog_memoized; ignore pred_rel_mutex.
	(emit_predicate_relation_info): Don't call find_basic_blocks here.
	(ia64_reorg): Do it here instead.
	* config/ia64/ia64.h: s/CCmode/BImode/g
	(MODES_TIEABLE_P): Don't tie BImode.
	(PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
	(CONST_COSTS): Pick sensible values for CONST_INT based on context.
	(RTX_COSTS): Make multiply 4 insns.
	(MEMORY_MOVE_COST): New.
	(PREDICATE_CODES): Update.
	* config/ia64/ia64.md: s/CCmode/BImode/g
	(movcci, movbi): New.
	(andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
	(cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
	(cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
	(tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
	(cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
	(cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
	(tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
	(mulsi, muldi): Use xmpy not xma.
	(cmpbi): New.
	(movcc, movcc_internal): Remove.
	(branch expanders): Use ia64_expand_compare.
	(setcc expanders): Likewise.
	(cmov insns): Use move_operand and ia64_move_ok.
	(pred_rel_mutex): Use unspec not unspec_volatile.  Prevent the
	scheduler from moving it past a use.
	* config/ia64/build.hacks: Remove.

From-SVN: r36510
2000-09-18 12:03:37 -07:00
Neil Booth 0d9f234d93 cpphash.h (HASHSTEP): Take character rather than pointer to character.
* cpphash.h (HASHSTEP): Take character rather than pointer
	to character.
	(_cpp_check_directive, _cpp_check_linemarker): Update prototypes.

	* cpphash.c (cpp_loookup): Update for new HASHSTEP.

	* cpplex.c (auto_expand_name_space, trigraph_replace,
	backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
	IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
	BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
	KNOWN_DIRECTIVE): Delete.

	(handle_newline, check_long_token, skip_escaped_newlines,
	unterminated): New functions.
	(ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.

	(parse_identifier): Was parse_name, new implementation.
	(skip_line_comment, skip_block_comment, skip_whitespace,
	parse_number, parse_string, trigraph_ok, save_comment,
	adjust_column, _cpp_get_line): New implementations.

	(lex_token): New function.  Lexes a token at a time, looking
	forwards.  Contains most of the guts of the old lex_line.
	(lex_line): New implementation, using lex_token to obtain
	individual tokens.
	(cpp_scan_buffer): Use the token's line, not the list's line.

	* cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
	 New implementations.
	(do_assert): Don't bother setting the answer's list's line.
	(cpp_push_buffer): Initialise new pfile and read_ahead members
	of struct cpp_buffer.

	* cpplib.h (cppchar_t): New typedef.
	(struct cpp_buffer): read_ahead, pfile and col_adjust are
	new members.
	(struct lexer_state): New structure that determines the state
	and behaviour of the lexer.
	(IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
	(struct cpp_reader): New member "state". Rename
	multiline_string_line and multiline_string_column. Delete
	col_adjust, in_lex_line members.
	(CPP_BUF_COLUMN): Update.

	* gcc.dg/cpp/cmdlne-C.c: Remove bogus warning test.

From-SVN: r36509
2000-09-18 18:43:05 +00:00
Richard Henderson 9f8e169eb7 combine.c (simplify_comparison): Shift a NOT out of a single bit test.
* combine.c (simplify_comparison): Shift a NOT out of a single
        bit test.

From-SVN: r36508
2000-09-18 11:39:03 -07:00
Richard Henderson 1f3f36d154 combine.c (if_then_else_cond): Canonicalize BImode true to STORE_FLAG_VALUE.
* combine.c (if_then_else_cond): Canonicalize BImode true to
        STORE_FLAG_VALUE.
        * explow.c (trunc_int_for_mode): Likewise.

From-SVN: r36507
2000-09-18 11:30:24 -07:00
Richard Henderson 5bd60ce6de combine.c (combine_simplify_rtx): Use gen_unary to distribute the NOT for De Morgan's rule.
* combine.c (combine_simplify_rtx): Use gen_unary to distribute
        the NOT for De Morgan's rule.
        * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
        of a comparison to the reverse comparison.

From-SVN: r36506
2000-09-18 11:24:32 -07:00
Yuri V. Baskakov b4927ead98 std_bitset.h (operator>>): Change to char_type.
2000-09-18  Yuri V. Baskakov  <yuribsk@lab.sun.mcst.ru>

	* bits/std_bitset.h (operator>>): Change to char_type.

From-SVN: r36505
2000-09-18 18:08:46 +00:00
Richard Henderson d340408c13 * combine.c (try_combine): Allow split to create a single insn.
From-SVN: r36504
2000-09-18 11:08:19 -07:00
Richard Henderson a191f0ee83 machmode.def: Add BImode.
* machmode.def: Add BImode.  Add a column for bitsize.
        * machmode.h (DEF_MACHMODE): Adjust for extra column.
        (GET_MODE_BITSIZE): Use it.
        * rtl.c (DEF_MACHMODE): Adjust for extra column.
        (mode_bitsize): New.
        (mode_mask_array): Use bitsize.
        * combine.c (combine_simplify_rtx): Require inner and outer
        modes to match on nonzero_bits optimizations.

From-SVN: r36501
2000-09-18 10:55:38 -07:00
Bernd Schmidt 42d5d0f171 Fix for sh minipool generation
From-SVN: r36500
2000-09-18 17:21:25 +00:00
Bernd Schmidt 2e361e5924 Avoid problems with reloading fpul in HImode
From-SVN: r36499
2000-09-18 17:12:32 +00:00
Bernd Schmidt 0fb8cb90e8 Proper fix for -m4-nofpu multilib problem
From-SVN: r36498
2000-09-18 17:01:32 +00:00
Bernd Schmidt 5d77a50c77 Fix a reload inheritance problem
From-SVN: r36497
2000-09-18 17:00:07 +00:00
Alexandre Oliva 40fc375d0a sh.c (sh_expand_prologue): Mark GOTaddr2picreg as MAYBE_DEAD.
* config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
MAYBE_DEAD.
(sh_expand_epilogue): Take the PIC register into account when
computing the frame size.

From-SVN: r36496
2000-09-18 16:45:48 +00:00
Alexandre Oliva 55eec6605c sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
* config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
* config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
LABEL_REFs with a PIC-safe unspec.

From-SVN: r36495
2000-09-18 16:41:22 +00:00
William Cohen 7bf2bde1c1 Describe changes to warn about initializers on zero length arrays.
From-SVN: r36494
2000-09-18 16:36:32 +00:00
Joseph Myers fc6df7e10b c-common.c (check_format_info): Properly save the argument number and parameter for $ operand number formats in...
* c-common.c (check_format_info): Properly save the argument
	number and parameter for $ operand number formats in case width
	and precision arguments are also used.  Allow printf width and
	precision arguments to have operand numbers even if none was
	specified for the main format, since this is OK for %*.*m.  Only
	object to missing $ operand number if the format used requires an
	argument.

testsuite:
	* gcc.dg/format-ext-1.c: Add tests for mixing %m with $ formats.
	* gcc.dg/format-xopen-1.c: Fix error in one $ format test.  Add
	more $ format tests.

From-SVN: r36493
2000-09-18 17:34:35 +01:00
Joseph Myers effa554103 c-common.c (format_char_info): Add 'W' flag to comment.
* c-common.c (format_char_info): Add 'W' flag to comment.
	(print_char_table, scan_char_table): Use it.
	(check_format_info): Use the 'W' flag to determine whether a
	format argument is written into.

From-SVN: r36492
2000-09-18 17:31:07 +01:00
Joseph Myers 65661a7274 * gcc.dg/format-errmk-1.c: New test.
From-SVN: r36491
2000-09-18 17:29:02 +01:00
Joseph Myers 99303ae4cc c-common.c (check_format_types): Reorganise and clean up...
* c-common.c (check_format_types): Reorganise and clean up,
	checking earlier for ERROR_MARKs and making cur_type into its
	TYPE_MAIN_VARIANT where convenient.

From-SVN: r36490
2000-09-18 17:27:16 +01:00
Joseph Myers 9231abf2ed * gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
From-SVN: r36489
2000-09-18 17:24:25 +01:00
Gerald Pfeifer 2bd429f4df * INSTALL/README: egcs -> GCC update.
From-SVN: r36488
2000-09-18 15:38:48 +00:00
Bernd Schmidt bd793c65b9 MMX/SSE builtin support
From-SVN: r36487
2000-09-18 09:50:19 +00:00
Bernd Schmidt cf67d23198 Set CONST_CALL_P for libcalls
From-SVN: r36486
2000-09-18 09:46:51 +00:00
Andreas Jaeger 4070d8853d configure.in: Define _GNU_SOURCE only when using the GNU C Library.
* configure.in: Define _GNU_SOURCE only when using the GNU C
	Library.
        * configure: Regenerated.
        * config.in: Regenerated.

From-SVN: r36485
2000-09-18 10:20:18 +02:00
Jeff Law b32aa13809 Daily bump.
From-SVN: r36482
2000-09-18 01:45:08 -06:00
Greg McGary ebeda05259 * gcc.c-torture/execute/20000917-1.x: Remove.
From-SVN: r36481
2000-09-18 07:15:26 +00:00
Mark Mitchell 31a1fdad32 cppinit.c (cpp_init): Don't use ANSI prototypes.
* cppinit.c (cpp_init): Don't use ANSI prototypes.
	* flow.c (flow_dump_loop): Likewise.
	(flow_loops_dump): Likewise.

From-SVN: r36480
2000-09-18 06:59:23 +00:00
Mark Mitchell 2ac86f90af * c-typeck.c (c_start_case): Fix typo.
From-SVN: r36479
2000-09-18 05:02:11 +00:00
Joseph Myers 60e9d01cf7 c-decl.c (grokdeclarator): Don't give a warning about defaulting to int for plain complex which defaults...
* c-decl.c (grokdeclarator): Don't give a warning about defaulting
	to int for plain complex which defaults to complex double.  Do
	warn about defaulting to complex double if pedantic.  Warn about
	complex integer types if pedantic.  Warn about complex types if
	pedantic and not in C99 mode.
	* c-typeck.c (build_unary_op): If pedantic, warn about use of ~
	for complex conjugation.

testsuite:
	* gcc.dg/c90-complex-1.c, gcc.dg/c99-complex-1.c: New tests.

From-SVN: r36478
2000-09-17 20:39:56 +01:00
Joseph Myers bc5006c725 * contrib.texi: Update my entry.
From-SVN: r36477
2000-09-17 18:43:43 +01:00
Richard Kenner ec56965643 alias.c (true_dependence): Allow non-unchanging read to conflict with unchanging write.
* alias.c (true_dependence): Allow non-unchanging read to conflict
	with unchanging write.

From-SVN: r36476
2000-09-17 11:33:30 -04:00
Richard Kenner 23cb1766e0 expr.c (store_constructor_field): Accept ALIAS_SET arg.
* expr.c (store_constructor_field): Accept ALIAS_SET arg.
	(store_constructor): Pass alias_set to it.

From-SVN: r36475
2000-09-17 11:29:18 -04:00
Denis Chertykov 7e3bd81e9b avr.md ("mcu_enhanced"): New attribute.
* config/avr/avr.md ("mcu_enhanced"): New attribute.
	("mcu_mega"): Likewise.
	("extendhisi2"): Use "mcu_enhanced".
	("zero_extendhisi2"): Likewise.
	("call_insn"): Use "mcu_enhanced" and "mcu_mega".
	("call_value_insn"): Likewise.
	("*sbrx_branch"): Use "mcu_mega".
	("*sbrx_and_branchsi"): Likewise.
	("*sbrx_and_branchhi"): Likewise.
	("*tablejump_lib"): Likewise.

From-SVN: r36474
2000-09-17 19:08:35 +04:00
Marc Espie d733f37476 Add myself
From-SVN: r36473
2000-09-17 14:58:14 +00:00
Richard Kenner a52fb89bed c-decl.c (grokdeclarator): Reorder tests to avoid looking at TYPE_MAIN_VARIANT of ERROR_MARK.
* c-decl.c (grokdeclarator): Reorder tests to avoid looking at
	TYPE_MAIN_VARIANT of ERROR_MARK.
	* c-lex.c (readescape): Avoid using printf syntax we don't recognize.

From-SVN: r36472
2000-09-17 10:37:55 -04:00
Richard Kenner 6a51f4a073 simplify-rtx.c (simplify_unary_operation): Add cases FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
* simplify-rtx.c (simplify_unary_operation): Add cases
	FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.

From-SVN: r36471
2000-09-17 10:33:37 -04:00
Richard Kenner 87c31d6b90 function.h (no_debugging_symbols): New field.
* function.h (no_debugging_symbols): New field.
	* integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
	Initialize no_debugging_symbols.
	(output_inline_function): Save and restore write_symbols and set from
	no_debugging_symbols.
	* toplev.c (rest_of_compilation): Call save_for_inline.
	* tree.h: Update comment.

From-SVN: r36470
2000-09-17 10:31:02 -04:00