J"orn Rennecke [Mon, 18 Sep 2000 20:00:58 +0000 (20:00 +0000)]
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
J"orn Rennecke [Mon, 18 Sep 2000 19:31:28 +0000 (19:31 +0000)]
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
Andrew Haley [Mon, 18 Sep 2000 19:27:37 +0000 (19:27 +0000)]
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
Richard Henderson [Mon, 18 Sep 2000 19:03:37 +0000 (12:03 -0700)]
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
Neil Booth [Mon, 18 Sep 2000 18:43:05 +0000 (18:43 +0000)]
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
Richard Henderson [Mon, 18 Sep 2000 18:39:03 +0000 (11:39 -0700)]
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
Richard Henderson [Mon, 18 Sep 2000 18:30:24 +0000 (11:30 -0700)]
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
Richard Henderson [Mon, 18 Sep 2000 18:24:32 +0000 (11:24 -0700)]
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
Yuri V. Baskakov [Mon, 18 Sep 2000 18:08:46 +0000 (18:08 +0000)]
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
Richard Henderson [Mon, 18 Sep 2000 18:08:19 +0000 (11:08 -0700)]
* combine.c (try_combine): Allow split to create a single insn.
From-SVN: r36504
Richard Henderson [Mon, 18 Sep 2000 17:55:38 +0000 (10:55 -0700)]
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
Bernd Schmidt [Mon, 18 Sep 2000 17:21:25 +0000 (17:21 +0000)]
Fix for sh minipool generation
From-SVN: r36500
Bernd Schmidt [Mon, 18 Sep 2000 17:12:32 +0000 (17:12 +0000)]
Avoid problems with reloading fpul in HImode
From-SVN: r36499
Bernd Schmidt [Mon, 18 Sep 2000 17:01:32 +0000 (17:01 +0000)]
Proper fix for -m4-nofpu multilib problem
From-SVN: r36498
Bernd Schmidt [Mon, 18 Sep 2000 17:00:07 +0000 (17:00 +0000)]
Fix a reload inheritance problem
From-SVN: r36497
Alexandre Oliva [Mon, 18 Sep 2000 16:45:48 +0000 (16:45 +0000)]
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
Alexandre Oliva [Mon, 18 Sep 2000 16:41:22 +0000 (16:41 +0000)]
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
William Cohen [Mon, 18 Sep 2000 16:36:32 +0000 (16:36 +0000)]
Describe changes to warn about initializers on zero length arrays.
From-SVN: r36494
Joseph Myers [Mon, 18 Sep 2000 16:34:35 +0000 (17:34 +0100)]
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
Joseph Myers [Mon, 18 Sep 2000 16:31:07 +0000 (17:31 +0100)]
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
Joseph Myers [Mon, 18 Sep 2000 16:29:02 +0000 (17:29 +0100)]
* gcc.dg/format-errmk-1.c: New test.
From-SVN: r36491
Joseph Myers [Mon, 18 Sep 2000 16:27:16 +0000 (17:27 +0100)]
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
Joseph Myers [Mon, 18 Sep 2000 16:24:25 +0000 (17:24 +0100)]
* gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
From-SVN: r36489
Gerald Pfeifer [Mon, 18 Sep 2000 15:38:48 +0000 (17:38 +0200)]
* INSTALL/README: egcs -> GCC update.
From-SVN: r36488
Bernd Schmidt [Mon, 18 Sep 2000 09:50:19 +0000 (09:50 +0000)]
MMX/SSE builtin support
From-SVN: r36487
Bernd Schmidt [Mon, 18 Sep 2000 09:46:51 +0000 (09:46 +0000)]
Set CONST_CALL_P for libcalls
From-SVN: r36486
Andreas Jaeger [Mon, 18 Sep 2000 08:20:18 +0000 (10:20 +0200)]
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
Jeff Law [Mon, 18 Sep 2000 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r36482
Greg McGary [Mon, 18 Sep 2000 07:15:26 +0000 (07:15 +0000)]
* gcc.c-torture/execute/
20000917-1.x: Remove.
From-SVN: r36481
Mark Mitchell [Mon, 18 Sep 2000 06:59:23 +0000 (06:59 +0000)]
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
Mark Mitchell [Mon, 18 Sep 2000 05:02:11 +0000 (05:02 +0000)]
* c-typeck.c (c_start_case): Fix typo.
From-SVN: r36479
Joseph Myers [Sun, 17 Sep 2000 19:39:56 +0000 (20:39 +0100)]
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
Joseph Myers [Sun, 17 Sep 2000 17:43:43 +0000 (18:43 +0100)]
* contrib.texi: Update my entry.
From-SVN: r36477
Richard Kenner [Sun, 17 Sep 2000 15:33:30 +0000 (15:33 +0000)]
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
Richard Kenner [Sun, 17 Sep 2000 15:29:18 +0000 (11:29 -0400)]
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
Denis Chertykov [Sun, 17 Sep 2000 15:08:35 +0000 (15:08 +0000)]
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
Marc Espie [Sun, 17 Sep 2000 14:58:14 +0000 (14:58 +0000)]
Add myself
From-SVN: r36473
Richard Kenner [Sun, 17 Sep 2000 14:37:55 +0000 (14:37 +0000)]
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
Richard Kenner [Sun, 17 Sep 2000 14:33:37 +0000 (14:33 +0000)]
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
Richard Kenner [Sun, 17 Sep 2000 14:31:02 +0000 (10:31 -0400)]
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
Bernd Schmidt [Sun, 17 Sep 2000 12:45:51 +0000 (12:45 +0000)]
Bring back equal forms for libcalls
From-SVN: r36469
Bernd Schmidt [Sun, 17 Sep 2000 11:32:14 +0000 (11:32 +0000)]
Fix problem with last checkin - applied a slightly earlier version than what was approved
From-SVN: r36468
Geoff Keating [Sun, 17 Sep 2000 09:39:20 +0000 (09:39 +0000)]
decl2.c (handle_class_head): Always push some scope even in the error case.
* decl2.c (handle_class_head): Always push some scope even
in the error case.
From-SVN: r36467
Greg McGary [Sun, 17 Sep 2000 08:55:16 +0000 (08:55 +0000)]
20000917-1.c: New test.
* gcc.c-torture/execute/
20000917-1.c: New test.
* gcc.c-torture/execute/
20000917-1.x: XFAIL.
From-SVN: r36466
Jeff Law [Sun, 17 Sep 2000 07:45:07 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r36465
Mark Mitchell [Sun, 17 Sep 2000 07:38:23 +0000 (07:38 +0000)]
splay-tree.c (splay_tree_predecessor): Fix typo in comment.
* splay-tree.c (splay_tree_predecessor): Fix typo in comment.
Convert the C front-end to use function-at-a-time mode.
* c-common.h: Include splay-tree.h.
(C_DECLARED_LABEL_FLAG): New macro.
(struct language_function): Add x_scope_stmt_stack and
x_function_name_declared_p.
(RECHAIN_STMTS): Move definition.
(lang_statment_code_p): Likewise.
(lang_expand_stmt): Likewise.
(lang_expand_decl_stmt): New variable.
(lang_expand_function_end): Likewise.
(current_scope_stmt_stack): New function.
(add_decl_stmt): Likewise.
(add_scope_stmt): Likewise.
(mark_stmt_tree): Likewise.
(struct c_lang_decl): New structure.
(DECL_SAVED_TREE): Define.
(c_mark_lang_decl): New function.
(c_expand_start_cond): Change prototype.
(c_finish_then): New function.
(c_finish_else): Likewise.
(current_function_name_declared): Remove.
(set_current_function_name_declared): Likewise.
(mark_c_language_function): Declare.
(case_compare): Likewise.
(c_add_case_label): Likewise.
(c_expand_expr): Likewise.
(c_safe_from_p): Likewise.
* c-common.c (lang_expand_function_end): New variable.
(struct if_elt): Add if_stmt.
(c_expand_start_cond): Add the if-statement to the statement-tree,
rather than generating RTL.
(c_finish_then): New function.
(c_expand_start_else): Don't generate RTL.
(c_finish_else): New function.
(c_expand_expr_stmt): Don't generate RTL.
(statement_code_p): Add SCOPE_STMT.
(case_compare): New function.
(c_add_case_label): Likewise.
(mark_stmt_tree): Likewise.
(c_mark_lang_decl): Likewise.
(mark_c_language_function): Likewise.
(c_expand_expr): Likewise.
(c_safe_from_p): Likewise.
* c-decl.c (c_stmt_tree): New variable
(c_scope_stmt_stack): Likewise.
(c_function_name_declared_p): Likewise.
(lang_expand_expr_stmt): Remove.
(poplevel): Don't call output_inline_function for nested
functions.
(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
`extern' function.
(redeclaration_error_message): Change means of computing whether
or not a function is nested.
(lookup_label): Don't call label_rtx.
(init_decl_processing): Add more GC roots.
(start_decl): Add DECL_STMTs to the statement-tree, rather than
calling rest_of_decl_compilation.
(finish_decl): Don't call expand_decl.
(store_parm_decls): Begin the statement-tree, but don't generate
RTL.
(finish_function): Tie off the statement-tree. Call c_expand_body
if appropriate.
(c_expand_body): New function.
(push_c_function_context): Save more information.
(pop_c_function_contxt): Likewise.
(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
(lang_mark_tree): Mark it.
(current_stmt_tree): Adjust.
(current_scope_stmt_stack): New function.
(do_case): Remove.
(set_current_name_declared): Likewise.
(c_begin_compound_stmt): Define.
(c_expand_decl_stmt): Likewise.
* c-lang.c: Include rtl.h and expr.h.
(lang_init): Set more language-specific hooks.
* c-lex.c: Include expr.h.
* c-parse.in: Changes throughout to add statements to the
statement-tree, rather than generating RTL after every statement.
* c-semantics.c (lang_expand_decl_stmt): Define.
(add_decl_stmt): New function.
(add_scope_stmt): Likewise.
(finish_stmt_tree): Tweak.
(genrtl_expr_stmt): Likewise.
(genrtl_decl_stmt): Handle local labels, and call
lang_expand_decl_stmt if required.
(genrtl_for_stmt): Fix line-number handling.
(genrtl_case_label): Handle cleanups.
(genrtl_asm_stmt): Don't call combine_strings.
(genrtl_compound_stmt): Simplify.
(expand_stmt): Handle SCOPE_STMTs.
* c-tree.h (struct lang_decl): New structure.
(C_DECLARED_LABEL_FLAG): Remove.
(c_begin_compound_stmt): Declare.
(c_expand_decl_stmt): Likewise.
(c_expand_start_case): Rename to c_start_case.
(c_finish_case): New function.
* c-typeck.c (start_init): Tweak setting of
constructor_incremental.
(c_expand_asm_operands): Tweak error-handling. Add to the
statement-tree.
(c_expand_return): Add to the statement-tree.
(c_expand_start_case): Rename to ...
(c_start_case): ... this.
(struct c_switch): New type.
(switch_stack): New variable.
(do_case): Simplify.
(c_finish_case): New function.
* dependence.c: Include expr.h.
(enum dependence_type): Change spelling of enumerals.
(check_node_dependence): Adjust.
* expr.h (lang_safe_from_p): Declare.
(safe_from_p): Likewise.
* expr.c (lang_safe_from_p): New variable.
(safe_from_p): Give it external linkage. Use lang_safe_from_p.
* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
* toplev.c (rest_of_decl_compilation): Robustify.
* tree.c (contains_placeholder_p): Likewise.
* Makefile.in: Update dependencies.
* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
(objc_expand_function_end): New function.
(finish_method_def): Use it.
(init_objc): Initialize more language-specific hooks.
* objc/Make-lang.in: Update dependencies.
* cp-tree.h (struct cp_language_function): Remove
x_scope_stmt_stack and name_declared.
(current_scope_stmt_stack): Remove.
(function_name_declared_p): New macro.
(struct lang_decl_flags): Use c_lang_decl as a base class.
(context): Remove.
(struct lang_decl): Replace saved_tree with context.
(DECL_FRIEND_CONTEXT): Adjust accordingly.
(SET_DECL_FRIEND_CONTEXT): Likewise.
(DECL_VIRTUAL_CONTEXT): Likewise.
(DECL_SAVED_TREE): Remove.
(C_DECLARED_LABEL_FLAG): Likewise.
(cplus_expand_expr_stmt): Don't declare.
(add_decl_stmt): Likewise.
(add_scope_stmt): Likewise.
* decl.c (mark_stmt_tree): Remove.
(case_compare): Likewise.
(finish_case_label): Use c_add_case_label.
(init_decl_processing): Set more language-specific hooks.
(build_enumerator): Fix typo in comment.
(cplus_expand_expr_stmt): Remove.
(mark_lang_function): Use mark_c_language_function.
(lang_mark_tree): Use c_mark_lang_decl.
* decl2.c: Change order of inclusion.
* except.c: Likewise.
* expr.c (cplus_expand_expr): Remove handling of STMT_EXPR. Fall
back on c_expand_expr.
* friend.c: Include expr.h.
* init.c: Change order of inclusion.
* Makefile.in: Update dependencies.
* lex.h (free_lang_decl_chain): Remove.
* optimize.c (maybe_clone_body): Use function_name_declared_p.
* pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
it doesn't exist.
(instantiate_decl): Use function_name_declared_p.
* semantics.c (lang_expand_expr_stmt): Remove.
(set_current_function_name_declared): Likewise.
(current_function_name_declared): Likewise.
(begin_compound_stmt): Use function_name_declared_p.
(add_decl_stmt): Remove.
(setup_vtbl_ptr): Use function_name_declared_p.
(add_scope_stmt): Remove.
(current_scope_stmt_stack): New function.
(cp_expand_stmt): Don't handle SCOPE_STMTs.
(expand_body): Use function_name_declared_p.
* tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
* typeck.c: Change order of includes.
(convert_sequence): Remove.
From-SVN: r36464
Geoff Keating [Sun, 17 Sep 2000 00:12:34 +0000 (00:12 +0000)]
configure.in: Define macros that affect features before testing for features.
* configure.in: Define macros that affect features before
testing for features. Don't define _XOPEN_SOURCE.
* configure: Regenerated.
* config.in: Regenerated.
From-SVN: r36463
John Wehle [Sat, 16 Sep 2000 23:38:20 +0000 (23:38 +0000)]
rtlanal.c (rtx_varies_p): Volatile asms vary.
* rtlanal.c (rtx_varies_p): Volatile asms vary.
(rtx_unstable_p): Restructure code. Volatile asms
are unstable.
From-SVN: r36462
Richard Kenner [Sat, 16 Sep 2000 18:58:51 +0000 (14:58 -0400)]
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: r36461
Richard Kenner [Sat, 16 Sep 2000 18:31:00 +0000 (14:31 -0400)]
stor-layout.c (place_field): Don't do anything if field or its type are ERROR_MARK.
* stor-layout.c (place_field): Don't do anything if field or
its type are ERROR_MARK.
From-SVN: r36460
Laurynas Biveinis [Sat, 16 Sep 2000 18:17:53 +0000 (18:17 +0000)]
cppfiles.c (purge_cache): use munmap() only if MMAP_THRESHOLD defined.
* cppfiles.c (purge_cache): use munmap() only if MMAP_THRESHOLD
defined.
(read_include_file): Ensure inc->mmaped is initialized.
From-SVN: r36459
Richard Henderson [Sat, 16 Sep 2000 17:48:10 +0000 (10:48 -0700)]
* cppiles.c (purge_cache): Use PTR not caddr_t.
From-SVN: r36458
Richard Henderson [Sat, 16 Sep 2000 17:46:25 +0000 (10:46 -0700)]
Regenerate.
From-SVN: r36457
Hans-Peter Nilsson [Sat, 16 Sep 2000 13:29:43 +0000 (13:29 +0000)]
gcc.c: In description for %{<S}, say the option removed is -S.
* gcc.c: In description for %{<S}, say the option removed is -S.
* invoke.texi (Spec Files): Ditto.
From-SVN: r36456
Andreas Jaeger [Sat, 16 Sep 2000 13:13:49 +0000 (15:13 +0200)]
configure.in: Always define _GNU_SOURCE to make interfaces visible that were hidden by only...
2000-09-16 Andreas Jaeger <aj@suse.de>
* configure.in: Always define _GNU_SOURCE to make interfaces
visible that were hidden by only defining _GNU_SOURCE.
* configure: Regenerated.
From-SVN: r36455
Andreas Jaeger [Sat, 16 Sep 2000 12:14:12 +0000 (14:14 +0200)]
gcc_update: Remove gcc/c-parse.gperf.
2000-09-16 Andreas Jaeger <aj@suse.de>
* gcc_update: Remove gcc/c-parse.gperf.
From-SVN: r36454
Jeff Law [Sat, 16 Sep 2000 07:45:06 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r36453
Neil Booth [Sat, 16 Sep 2000 07:18:06 +0000 (07:18 +0000)]
cpplex.c (push_macro_context): Set an argument's level after calling parse_args.
* cpplex.c (push_macro_context): Set an argument's level after
calling parse_args. We could loop infinitely otherwise.
* gcc.dg/cpp/macro2.c: New testcase.
From-SVN: r36452
Benjamin Kosnik [Fri, 15 Sep 2000 22:52:52 +0000 (22:52 +0000)]
locale.cc (locale::locale(const char* __name)): Consolidate name setting.
2000-09-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/locale.cc (locale::locale(const char* __name)): Consolidate
name setting. Add checks for NULL __name pointers. Remove calls to
_S_initialize() as initial locale initialization can either be
assumed, or needs to be made consistent throughout locale
constructors.
(locale::locale(const locale& __other, const char* __name,
category __cat): Add checks for NULL name. Add checks for
assignment to self.
* src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
const string& __name, category __cat, size_t __refs)): Set correct
name, has_name values.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
* docs/22_locale/locale.html: New file, more unfinished docs...
From-SVN: r36451
Benjamin Kosnik [Fri, 15 Sep 2000 22:50:11 +0000 (22:50 +0000)]
locale.cc (locale::locale(const char* __name)): Consolidate name setting.
2000-09-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/locale.cc (locale::locale(const char* __name)): Consolidate
name setting. Add checks for NULL __name pointers. Remove calls to
_S_initialize() as initial locale initialization can either be
assumed, or needs to be made consistent throughout locale
construtors.
(locale::locale(const locale& __other, const char* __name,
category __cat): Add checks for NULL name. Add checks for
assignment to self.
* src/localename.cc (locale::_Impl:: _Impl(const _Impl& __other,
const string& __name, category __cat, size_t __refs)): Set correct
name, has_name values.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): More tests.
* docs/22_locale/locale.html: New file, more unfinished docs...
From-SVN: r36450
Tom Tromey [Fri, 15 Sep 2000 22:31:56 +0000 (22:31 +0000)]
* lex.h: Use HAVE_ICONV_H, not HAVE_ICONV.
From-SVN: r36449
Tom Tromey [Fri, 15 Sep 2000 22:05:48 +0000 (22:05 +0000)]
configure, config.in: Rebuilt.
* configure, config.in: Rebuilt.
* configure.in: Check for iconv.h. Define _XOPEN_SOURCE.
From-SVN: r36448
Greg McGary [Fri, 15 Sep 2000 21:25:02 +0000 (21:25 +0000)]
cppmacro.c (check_trad_stringification): Check token text pointers against limit before dereferencing.
* cppmacro.c (check_trad_stringification): Check token
text pointers against limit before dereferencing.
From-SVN: r36447
Joseph Myers [Fri, 15 Sep 2000 21:16:31 +0000 (22:16 +0100)]
c-common.c (format_wanted_type): New structure.
* c-common.c (format_wanted_type): New structure.
(check_format_types): New function.
(check_format_info): Pass all checking of types of format
arguments, including width and precision arguments, to this new
function.
From-SVN: r36446
Gerald Pfeifer [Fri, 15 Sep 2000 19:29:17 +0000 (21:29 +0200)]
* BUGS: Remove file.
From-SVN: r36445
Jakub Jelinek [Fri, 15 Sep 2000 19:02:22 +0000 (21:02 +0200)]
alpha.c (override_options): ev6 cache latencies from Richard Henderson.
* config/alpha/alpha.c (override_options): ev6 cache latencies
from Richard Henderson. Don't allow -mmemory-latency=L0.
From-SVN: r36444
Jakub Jelinek [Fri, 15 Sep 2000 18:10:11 +0000 (20:10 +0200)]
alpha.h (TARGET_CPU_EV5, [...]): Define.
* config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
(TARGET_OPTIONS): Add tune=.
(alpha_tune_string): Declare.
* config/alpha/alpha.c (override_options): Add cpu_table.
Use alpha_cpu_string first to set both alpha_cpu and target_flags
and then alpha_tune_string to set alpha_cpu only.
Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
* config/alpha/elf.h (ASM_FILE_START): Likewise.
* config/alpha/osf.h (ASM_FILE_START): Likewise.
* config/alpha/openbsd.h (ASM_FILE_START): Likewise.
From-SVN: r36443
Jan Hubicka [Fri, 15 Sep 2000 17:48:45 +0000 (17:48 +0000)]
i386-protos.h (no_comparison_operator, [...]): Remove.
* i386-protos.h (no_comparison_operator, uno_comparison_operator):
Remove.
(ix86_comparison_operator, ix86_cc_mode): Declare
* i386.h (CCGC, CCGCO): New modes.
(SELECT_CC_MODE): Move offline to ....
* i386.c (ix86_cc_mode): .... here; use new modes.
(ix86_comparison_operator): New.
(fcmov_comparison_operator): Ensure proper mode.
(put_condition_mode): More sanity checking.
(ix86_match_ccmode): Handle new modes.
(ix86_expand_fp_compare): GEU requires CCmode.
(ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
doing it by hand.
* i386.md (cmp?i_ccz_1): Remove
(cmp?i_ccno_1): Use ix86_match_ccmode.
(cmp?i_minus_1): New.
(cmpsi_1): New expander.
(cmpqi_ext_1): Use match_ccmode
(cmpqi_ext_3): New expander.
(cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
(cmpqi_ext_4): Use match_ccmode.
(add?i_?): Use match_ccmode.
(add?i_6): New.
(test?i_ccz_1): Remove
(test?i_1): New.
(testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
(testqi_ext_0): Use ix86_match_ccmode.
(*xorqi_cc_ext_1): Use ix86_match_ccmode.
(xorqi_cc_ext_1): New expander.
(shift patterns): Use CCGOCmode for all shifts except for sar.
(setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
(setcc_3, jcc_3, miv?icc_c): Remove.
From-SVN: r36442
William Cohen [Fri, 15 Sep 2000 17:43:25 +0000 (17:43 +0000)]
Described changes to dwarf2out.c.
From-SVN: r36441
William Cohen [Fri, 15 Sep 2000 17:41:27 +0000 (17:41 +0000)]
Revision to accurately generate debugging information
for constant parameters to inlined functions.
From-SVN: r36440
Kazu Hirata [Fri, 15 Sep 2000 17:09:19 +0000 (17:09 +0000)]
gcc.c: Fix formatting.
2000-09-15 Kazu Hirata <kazu@hxi.com>
* gcc.c: Fix formatting.
From-SVN: r36439
Kazu Hirata [Fri, 15 Sep 2000 17:05:41 +0000 (17:05 +0000)]
* MAINTAINERS: Add myself to Write After Approval list.
From-SVN: r36438
Kazu Hirata [Fri, 15 Sep 2000 17:01:40 +0000 (17:01 +0000)]
i386.md: Fix a comment typo.
2000-09-15 Kazu Hirata <kazu@hxi.com>
* config/i386/i386.md: Fix a comment typo.
From-SVN: r36437
Bernd Schmidt [Fri, 15 Sep 2000 16:33:52 +0000 (16:33 +0000)]
Avoid explicit references to fpul register in machine description
From-SVN: r36436
Bernd Schmidt [Fri, 15 Sep 2000 16:21:53 +0000 (16:21 +0000)]
Don't make bogus libcall blocks
From-SVN: r36435
Bernd Schmidt [Fri, 15 Sep 2000 16:16:33 +0000 (16:16 +0000)]
Make libcall blocks for truncations
From-SVN: r36434
Bernd Schmidt [Fri, 15 Sep 2000 15:35:03 +0000 (15:35 +0000)]
Avoid copying libcall results directly to user variables.
From-SVN: r36433
Michael Sokolov [Fri, 15 Sep 2000 15:16:14 +0000 (15:16 +0000)]
* splay-tree.c: #include <stdio.h>.
From-SVN: r36432
Richard Henderson [Fri, 15 Sep 2000 11:13:04 +0000 (04:13 -0700)]
expmed.c (store_bit_field): Consider naturally aligned memory for direct reference.
* expmed.c (store_bit_field): Consider naturally aligned
memory for direct reference.
From-SVN: r36431
Richard Henderson [Fri, 15 Sep 2000 11:09:07 +0000 (04:09 -0700)]
alpha.c (alpha_expand_unaligned_load): Force all AND addresses into alias set 0.
* config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
AND addresses into alias set 0.
(alpha_expand_unaligned_store): Likewise.
(alpha_expand_unaligned_load_words): Likewise.
(alpha_expand_unaligned_store_words): Likewise.
From-SVN: r36430
Bernd Schmidt [Fri, 15 Sep 2000 09:24:47 +0000 (09:24 +0000)]
Set rsize properly for args passed by reference.
From-SVN: r36429
Bernd Schmidt [Fri, 15 Sep 2000 09:02:15 +0000 (09:02 +0000)]
Make sure movstr_i4 libfuncs are compiled for -m4-nofpu
From-SVN: r36428
Jeff Law [Fri, 15 Sep 2000 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r36427
Benjamin Kosnik [Fri, 15 Sep 2000 07:06:46 +0000 (07:06 +0000)]
locale.cc (locale::name()): Implement.
2000-09-14 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* src/locale.cc (locale::name()): Implement.
(_Impl(size_t __numfacets, size_t __refs, bool __namep = false,
string __name = "*")): Change signature.
(locale::classic): Initialize the "C" locale as a named locale.
* bits/localefwd.h (locale): Change _M_num_references to
_M_references. Eliminate _M_cached_name_ok. Rename _M_cached_name
to _M_name.
* bits/localefwd.h: Tweaks.
* src/localename.cc: Tweaks.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): Add tests.
(test01): Fix.
* bits/basic_string.h: Consistency check, change _M_state ->
_M_references.
From-SVN: r36426
Neil Booth [Fri, 15 Sep 2000 05:55:36 +0000 (05:55 +0000)]
cpplex.c (ON_REST_ARG): Correct the test.
* cpplex.c (ON_REST_ARG): Correct the test.
(maybe_paste_with_next): Duplicate a token that fail pasting,
and clear its PASTE_LEFT flag, so that nested pasting attempts
do not occur.
* gcc.dg/cpp/paste10.c: Testcase.
From-SVN: r36424
Richard Henderson [Fri, 15 Sep 2000 02:56:02 +0000 (19:56 -0700)]
calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
* calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
* cse.c (rtx_cost): Likewise.
* optabls.c (expand_binop): Likewise.
(expand_twoval_binop, prepare_cmp_insn): Likewise.
* regclass.c (copy_cost): Likewise.
* reload1.c (reload_cse_move2add): Likewise.
From-SVN: r36423
Joseph Myers [Thu, 14 Sep 2000 23:44:47 +0000 (00:44 +0100)]
c-parse.in (reswords): Add _Complex.
* c-parse.in (reswords): Add _Complex.
cp:
* lex.c (reswords): Add _Complex.
From-SVN: r36422
J. David Anglin [Thu, 14 Sep 2000 23:04:51 +0000 (23:04 +0000)]
* gcc.1: Delete documentation for -undef preprocessor option.
From-SVN: r36421
Jeffrey A Law [Thu, 14 Sep 2000 22:48:20 +0000 (22:48 +0000)]
* gcc.c-torture/execute/
20000914-1.c: New test.
From-SVN: r36420
Neil Booth [Thu, 14 Sep 2000 21:13:10 +0000 (21:13 +0000)]
* paste9.c: New preprocessor ## test.
From-SVN: r36419
Alexandre Oliva [Thu, 14 Sep 2000 20:31:01 +0000 (20:31 +0000)]
sh.h (INIT_SECTION_ASM_OP, [...]): Remove define.
* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
Remove undefine before config/elfos.h.
* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
From-SVN: r36418
Benjamin Kosnik [Thu, 14 Sep 2000 19:44:03 +0000 (19:44 +0000)]
string.tcc (_Rep::_S_max_size): Use typename for its size_type return type.
2000-09-14 Brendan Kehoe <brendan@zen.org>
* bits/string.tcc (_Rep::_S_max_size): Use typename for its size_type
return type.
* src/Makefile.an (headers): Also install backward/fstream.h.
* src/Makefile.in: Regenerate.
* bits/char_traits.h (char_traits<_CharT>::get_state,
char_traits<char>::get_state, char_traits<wchar_t>::get_state): Pass
argument in by reference, not by value. Uglify to _S_get_state.
(char_traits<*>::__eos): Uglify to _S_eos.
* bits/std_ostream.h (ends(basic_ostream<_CharT, _Traits>& __os)):
Change __eos to _S_eos.
From-SVN: r36417
Alexandre Oliva [Thu, 14 Sep 2000 19:24:08 +0000 (19:24 +0000)]
Makefile.am: Re-work shell commands that exceeded command-line length limits.
* Makefile.am: Re-work shell commands that exceeded command-line
length limits.
* Makefile.in: Rebuilt.
From-SVN: r36416
Benjamin Kosnik [Thu, 14 Sep 2000 19:11:14 +0000 (19:11 +0000)]
static_members.cc: New file.
2000-09-13 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/static_members.cc: New file.
* testsuite/22_locale/ctor_copy_dtor.cc: New file.
* src/locale.cc: Minor formatting tweaks.
From-SVN: r36415
Kazu Hirata [Thu, 14 Sep 2000 18:09:16 +0000 (18:09 +0000)]
invoke.texi (H8/300 Options): Add -ms2600.
* invoke.texi (H8/300 Options): Add -ms2600.
* config/h8300.c (h8300_init_once): Output an error when -ms2600
is used without -ms.
* config/h8300.h (TARGET_MAC): New.
(TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
(CONDITIONA_REGISTER_USAGE): Disable the mac register on any
machine other than H8/S2600.
* config/h8300.md: Accept mac instructions on the H8/S2600 instead
of the H8/S2000.
From-SVN: r36414
Alexandre Oliva [Thu, 14 Sep 2000 17:42:48 +0000 (17:42 +0000)]
reload.c (find_reloads_address_1): Generate reloads for auto_inc pseudos that refer to the original pseudos...
* reload.c (find_reloads_address_1): Generate reloads for auto_inc
pseudos that refer to the original pseudos, not only to their
equivalent memory locations.
From-SVN: r36413
Richard Kenner [Thu, 14 Sep 2000 16:53:07 +0000 (16:53 +0000)]
expr.c (expand_expr, [...]): Copy memory attributes when making new MEM.
* expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
when making new MEM.
From-SVN: r36412
Richard Kenner [Thu, 14 Sep 2000 16:49:11 +0000 (16:49 +0000)]
Makefile.in (LN): Remove duplicate definition.
* Makefile.in (LN): Remove duplicate definition.
* cp/Make-lang.in (cplib2.txt): Depend on cp/Makefile.
From-SVN: r36411
Jeff Law [Thu, 14 Sep 2000 16:46:10 +0000 (10:46 -0600)]
reload.c (debug_reload_to_stream): Send all output to the requested stream or stderr if...
* reload.c (debug_reload_to_stream): Send all output to the
requested stream or stderr if no stream was explicitly requested.
From-SVN: r36410
Bernd Schmidt [Thu, 14 Sep 2000 16:45:42 +0000 (16:45 +0000)]
Generate REG_EQUAL notes when they'd be helpful
From-SVN: r36409