Commit Graph

30625 Commits

Author SHA1 Message Date
Neil Booth 7eea5554ce cpplex.c (lex_line): Drop the EOF token for unknown directives in assembler.
* cpplex.c (lex_line): Drop the EOF token for unknown
	directives in assembler.

From-SVN: r36545
2000-09-19 21:41:26 +00:00
Phil Edwards c2f099e7fa Dummy checkin of footer.html to force web update.
From-SVN: r36544
2000-09-19 21:41:11 +00:00
David Edelsohn d2300e844e configure.in: Add AIX multithread support fragment.
* configure.in: Add AIX multithread support fragment.
	* config/aix.mt: Define _PTHREADS in MT_CFLAGS if -pthread
	commandline option present.

From-SVN: r36543
2000-09-19 16:36:39 -04:00
David Edelsohn fd60bf96e7 Fix previous ChangeLog entry
From-SVN: r36542
2000-09-19 16:31:53 -04:00
David Edelsohn a473fe45fa configure.in: Allow enable_threads_flag value of "aix".
* configure.in: Allow enable_threads_flag value of "aix".  Define
	thread_file as "aix" for AIX 4.3 and above..
	* configure: Regenerated.

	* gthr-aix.h: New file.

	* rs6000/t-aix43: Replace soft-float multilib with pthread.
	Remove 403 processor multilib match.  Fix rios2 processor multilib
	match.

	* rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
	to return to appropriate csect.

From-SVN: r36541
2000-09-19 16:30:27 -04:00
Kaveh R. Ghazi ad3fd36f73 builtins.c (is_valid_printf_arglist, [...]): New functions.
* builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
	functions.
	(expand_builtin_fputs): Set `target' parameter for `expand_expr'.
	(expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
	BUILT_IN_PRINTF.

	* builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
	New entries.

	* c-common.c (init_function_format_info): Handle __builtin_printf.
	Set `check_function_format_ptr'.
	(c_common_nodes_and_builtins): Set `puts_ftype' and
	`printf_ftype'.  Declare __builtin_putchar, __builtin_puts,
	__builtin_printf and printf.

	* tree.c, tree.h (check_function_format_ptr): Declare.

testsuite:
	* g++.old-deja/g++.other/virtual8.C: Declare printf correctly.

From-SVN: r36540
2000-09-19 18:19:44 +00:00
Neil Booth 6f3d20a022 cppfiles.c (read_include_file): Take no special action for zero-length files.
* cppfiles.c (read_include_file): Take no special action for
        zero-length files.

From-SVN: r36539
2000-09-19 17:28:46 +00:00
Bernd Schmidt afc6898e10 Fix shorten_branches bugs
From-SVN: r36538
2000-09-19 16:43:36 +00:00
Richard Henderson 3fbef42f14 Fix target selector regexp.
From-SVN: r36537
2000-09-19 09:29:22 -07:00
Bernd Schmidt b4f75276d6 Kill recombine_givs.
From-SVN: r36536
2000-09-19 09:01:13 -07:00
Bernd Schmidt 0f80560663 Some sh.md fixes (fallout from earlier changes)
From-SVN: r36535
2000-09-19 15:33:16 +00:00
Richard Henderson 0d97fd9ebe i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols in addition to pentium and pentiumpro symbols.
* config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
        in addition to pentium and pentiumpro symbols.
        (CPP_CPU_DEFAULT_SPEC): Likewise.

From-SVN: r36534
2000-09-19 07:41:56 -07:00
Richard Henderson 39b726dd63 c-typeck.c (c_expand_asm_operands): Restore the output tree after expanding.
* c-typeck.c (c_expand_asm_operands): Restore the output tree
        after expanding.

From-SVN: r36533
2000-09-19 07:26:38 -07:00
Richard Henderson 9790cefdd4 stmt.c (expand_expr_stmt): Only call warn_if_unused_value if the tree has side effects.
* stmt.c (expand_expr_stmt): Only call warn_if_unused_value
        if the tree has side effects.
        (warn_if_unused_value): Do not warn about void constructs.

From-SVN: r36532
2000-09-19 06:39:10 -07:00
Richard Henderson 8e5a0fcb75 * c-decl.c (poplevel): Invoke warn_about_unused_variables.
From-SVN: r36531
2000-09-19 00:59:58 -07:00
Jeff Law 0b534c3f27 Daily bump.
From-SVN: r36530
2000-09-19 01:45:08 -06:00
Richard Henderson 8aa0e19417 unroll.c (copy_loop_body): Update LABEL_NUSES before calling invert_jump.
* unroll.c (copy_loop_body): Update LABEL_NUSES before
        calling invert_jump.

From-SVN: r36529
2000-09-19 00:35:55 -07:00
Richard Henderson 033b5a34bb * gcc.dg/compare2.c (case 10): XFAIL.
From-SVN: r36528
2000-09-19 00:33:44 -07:00
Mark Mitchell 78c120b567 * decl.c (start_function): Robustify.
From-SVN: r36527
2000-09-19 07:29:33 +00:00
Benjamin Kosnik 8bc603eeeb locale-inst.cc: Add time_put_byname and time_get_byname instantiations.
2000-09-18  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* src/locale-inst.cc: Add time_put_byname and
	time_get_byname instantiations.
	* bits/locale_facets.h: Correct default, private derivation to
	public derivation in _byname declarations.
	* src/locale.cc (locale::classic()): Simplify.
	* src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
	const string& __name, category __cat, size_t __refs): Re-work for
	named locales.
	(_M_normalize_category_names): Remove.

	* testsuite/22_locale/global_templates.cc (test01): Tweaks.
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.

From-SVN: r36526
2000-09-19 06:47:52 +00:00
Geoff Keating 62f7f1f568 combine.c (can_combine_p): Don't substitute an ASM_OPERANDS into anything.
* combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
	into anything.

From-SVN: r36525
2000-09-19 04:49:44 +00:00
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