- 28 May, 2000 8 commits
-
-
2000-05-27 Alex Samuel <samuel@codesourcery.com> Mark Mitchell <mark@codesourcery.com> * cp-tree.h (ansi_opname): Make it a macro. (ansi_assopname): Likewise. (struct lang_decl_flags): Add assignment_operator_p. (struct lang_decl): Add operator_code. (DECL_VTT_PARM): Adjust. (DECL_OVERLOADED_OPERATOR_P): Return the operator_code for an overloaded operator. (SET_OVERLOADED_OPERATOR_CODE): New macro. (DECL_ASSIGNMENT_OPERATOR_P): New macro. (DECL_ARRAY_DELETE_OPERATOR_P): Adjust. (opname_tab): Remove. (assignop_tab): Likewise. (operator_name_info_t): New type. (operator_name_info): New variable. (assignment_operator_name_info): Likewise. (build_cp_library_fn): Remove declaration. (push_cp_library_fn): Likewise. (operator_name_string): Likewise. (build_decl_overload): Likewise. * call.c (print_z_candidates): Simplify. (build_object_call): Adjust usage of ansi_opname. Use DECL_OVERLOADED_OPERATOR_P. (op_error): Adjust operator name lookup. (build_conditional_expr): Adjust usage of ansi_opname. (build_new_op): Likewise. (build_op_delete_call): Likewise. (build_over_call): Likewise. (joust): Use DECL_OVERLOADED_OPERATOR_P. * decl.c (duplicate_decls): Copy operator_code. (init_decl_processing): Adjust parameters to push_cp_library_fn. (builtin_function): Adjust parameters to build_library_fn_1. (build_library_fn_1): Accept an overloaded operator code. (build_library_fn): Pass ERROR_MARK. (build_cp_library_fn): Accept an overloaded operator code. (push_cp_library_fn): Likewise. (grokfndecl): Tweak. (grokdeclarator): Simplify code to compute names of overloaded operators. Adjust use of ansi_opname. (ambi_op_p): Work on tree_codes, not identifiers. (unary_op_p): Likewise. (grok_op_properties): Likewise. (start_function): Use DECL_OVERLOADED_OPERATOR_P. (lang_mark_tree): Don't try to mark the operator_code. * decl2.c (grok_function_init): Use DECL_OVERLOADED_OPERATOR_P. * error.c (dump_decl): Remove special handling for operator names. (dump_function_name): Likewise. (dump_expr): Adjust name lookup of operators. (op_to_string): Simplify. (assop_to_string): Likewise. * init.c (build_new_1): Adjust use of ansi_opname. * lex.c (opname_tab): Remove. (assignop_tab): Likewise. (ansi_opname): Likewise. (ansi_assopname): Likewise. (operator_name_string): Likewise. (reinit_lang_specific): Likewise. (operator_name_info): New variable. (assignment_operator_name_info): Likewise. (init_operators): New function. (init_parse): Use it. (do_identifier): Adjust use of ansi_opname. * method.c (mangle_expression): Don't use ansi_opname for mangling. (build_decl_overload_real): Use DECL_OVERLOADED_OPERATOR_P. (build_decl_overload): Remove. (build_typename_overload): Use OPERATOR_TYPENAME_FORMAT directly. (do_build_assign_ref): Adjust use of ansi_opname. (synthesize_method): Likewise. (implicitly_declare_fn): Likewise. * operators.def: New file. * parse.y (operator): Adjust use of ansi_opname. * pt.c (tsubst_decl): Use IDENTIFIER_OPNAME_P. (set_mangled_name_for_template_decl): Don't play games with current_namespace. (special_function_p): Adjust use of ansi_opname. * typeck.c (check_return_expr): Likewise. * Make-lang.in (cc1plus): Depend on operators.def. * Makefile.in (lex.o): Likewise. (decl.o): Likewise. Co-Authored-By: Mark Mitchell <mark@codesourcery.com> From-SVN: r34223
Alex Samuel committed -
alpha.c (alpha_does_function_need_gp): Test TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef. * config/alpha/alpha.c (alpha_does_function_need_gp): Test TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef. (alpha_expand_prologue): Emit prologue_mcount if needed. * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0. * config/alpha/alpha.md (prologue_mcount): New. * config/alpha/linux.h (FUNCTION_PROFILER): Remove. (TARGET_PROFILING_NEEDS_GP): Undef before redefining. * config/alpha/netbsd.h: Likewise. From-SVN: r34222
Richard Henderson committed -
* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h. From-SVN: r34221
Richard Henderson committed -
* config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect with RTX_CODE. (alpha_write_linkage): Protect with BUFSIZ. (alpha_need_linkage): Update prototype. * config/alpha/alpha.c (function_arg): Move VMS code here. (alpha_links_base): Remove. (alpha_links): New. (mark_alpha_links_node, mark_alpha_links): New. (alpha_write_one_linkage): New. (alpha_need_linkage): Use a splay tree. Build the linkage symbol. (alpha_write_linkage): Use splay_tree_foreach. * config/alpha/alpha.md (call_vms): Use alpha_need_linkage to get the linkage symbol. (call_value_vms): Likewise. * config/alpha/elf.h (output_file_directive): Remove decl. (ctors_section, dtors_section): Prototype. (sbss_section, sdata_section): Prototype. * config/alpha/vms.h (FUNCTION_ARG): Remove. (readonly_section, link_section, literals_section): Prototype. (ctors_section, dtors_section): Prototype. (vms_valid_decl_attribute_p): Remove decl. (alpha_arg_type, alpha_arg_info_reg_val): Likewise. From-SVN: r34220
Richard Henderson committed -
* Makefile.in (resource.o): Depend on except.h. * except.h (output_exception_table_data): Prototype. * genconfig.c (gen_peephole2): Prototype. * genemit.c (main): Include ggc.h. * genoutput.c: Revert parts of last change: include errors.h (main): Set progname. * recog.c: Include hard-reg-set.h before recog.h. * resource.c: Include except.h. From-SVN: r34219
Richard Henderson committed -
From-SVN: r34218
Geoff Keating committed -
combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when substituting the REG in a (subreg:X (reg:Y... * combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when substituting the REG in a (subreg:X (reg:Y ...)). From-SVN: r34217
Geoff Keating committed -
* cpplex.c (_cpp_lex_line): Merge vertical space. Flag first token of a line BOL. Update EOF code for this. Remove illegal directive check - it appears in the (not yet committed) caller. * cpplib.h (BOL): New flag. From-SVN: r34216
Neil Booth committed
-
- 27 May, 2000 16 commits
-
-
* cpplex.c (_cpp_init_toklist): No comment space to initialise. (_cpp_free_toklist): No comment space to free. (expand_comment_space): Remove. (save_comment_space): Place the comment in the current token and not in a separate comment space. (_cpp_lex_line): Save comments during plain code and #define directives only. * cpplib.h (struct _cpp_toklist): Remove comment space. From-SVN: r34215
Neil Booth committed -
* cppexp.c (parse_assertion): Supply extra argument to _cpp_init_toklist. * cpplib.c (do_assert, do_unassert): Similarly. * cpphash.h (_cpp_init_toklist) Update. (_cpp_expand_token_space): New. (DUMMY_TOKEN, NO_DUMMY_TOKEN): New. * cpplex.c (_cpp_init_toklist): New argument. (parse_string2): New argument multiline_ok. (spell_token): Take a const cpp_token *. (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used. (SPELL_ macros): Replace with enum. (expand_token_space): Replace with _cpp_expand_token_space. Take COUNT argument. (IS_DIRECTIVE): Update. (_cpp_lex_line): Update token structure before parsing number. Don't assume start at beginning of token list. (save_comment): Use INIT_TOKEN_NAME. From-SVN: r34214
Neil Booth committed -
* configure.in (stage1_warn_cflags): Add -Wstrict-prototypes -Wmissing-prototypes. * configure: Regenerate. * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES. * builtins.c, calls.c: Change all instances of gen_call_* or gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*. * calls.c (struct_value_size_rtx): Separate definition from initialization to avoid unused variable warning. * genflags.c (gen_macro): New function. (gen_proto): Call it for gen_call_* and gen_sibcall_*. (gen_nonproto): Delete. (gen_insn): Put all insns on the same obstack. (main): Generate prototypes for everything unconditionally. From-SVN: r34213
Zack Weinberg committed -
* configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented out check for wchar_t. * acconfig.h: Add template for ssize_t. Remove @TOP@. * system.h: Add infrastructure for defining missing TYPE_MAX/TYPE_MIN macros. Use it to provide fallback definitions of UCHAR_MAX and SSIZE_MAX. * configure: Regenerate. * config.in: Regenerate. From-SVN: r34212
Zack Weinberg committed -
* Makefile.in (libgcc2.ready): Rename to libgcc.ready. Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed headers. (clean): No need to delete libgcc1.a, libgcc1-asm.a, libgcc2.a, or libgcc1.null. From-SVN: r34211
Zack Weinberg committed -
From-SVN: r34210
Zack Weinberg committed -
* config/alpha/alpha.c (hard_fp_register_operand): Mind the mode. (hard_int_register_operand): New. * config/alpha/alpha-protos.h: Declare it. * config/alpha/alpha.h (PREDICATE_CODES): Update. * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand as needed; use peep2_reg_dead_p instead of dead_or_set_p. From-SVN: r34209
Richard Henderson committed -
* Makefile.in (recog.o): Don't depend on resource.h. * recog.c: Don't include resource.h. (recog_last_allowed_insn): Remove. (recog_next_insn): Remove. (struct peep2_insn_data): New. (peep2_insn_data, peep2_current): New. (peep2_next_insn): New. (peep2_regno_dead_p, peep2_reg_dead_p): New. (peep2_find_free_register): New. (peephole2_optimize): Track life information by insn as we go. * recog.h: Update declarations. * resource.c (find_free_register, reg_dead_p): Remove. * resource.h: Remove their declarations. * toplev.c: Include hard-reg-set.h before recog.h. * genconfig.c (max_insns_per_peep2): New. (gen_peephole2): New. (main): Call it. * genemit.c (output_peephole2_scratches): Generate calls to peep2_find_free_register; adjust surrounding code. (main): Have insn-emit.c include hard-reg-set.h before recog.h. * genrecog.c (change_state): Don't track last_insn. (write_action): Write into *_pmatch_len before accepting. (write_tree): Adjust peephole2_insns and subroutines to match. * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p. From-SVN: r34208
Richard Henderson committed -
* function.c (thread_prologue_epilogue_insns): Don't move the line note at the head of the chain. Only force a lineno note before the end of block 0. From-SVN: r34207
Richard Henderson committed -
* gensupport.c (collect_insn_data): Record the maximum number of alternatives, not the last seen. From-SVN: r34206
Richard Henderson committed -
* genoutput.c: Don't include errors.h. (struct data): Add lineno member. (have_error): New. (scan_operands): Use message_with_line instead of error. (validate_insn_alternatives): Likewise. (gen_insn): Accept and store the pattern's line number. (gen_peephole, gen_expand, gen_split): Likewise. (main): Don't set progname. Pass line_no to gen_foo. From-SVN: r34205
Richard Henderson committed -
* config/d30v/d30v.c (d30v_print_operand): Handle ':'. * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'. * config/d30v/d30v.md (attr predicable): New. (all insn patterns): Mark non-predicable patterns; use %: on the rest. (andsi3*): Unify into one pattern. (iorsi3*, xorsi3*): Likewise. (peephole2 patterns): Use peep2_reg_dead_p; verify not a conditional return. (old cond_exec patterns): Remove. (define_cond_exec): New. From-SVN: r34204
Richard Henderson committed -
* tree.h (TREE_CODE_LENGTH): New macro. * c-common.c (c_find_base_decl): Use it. * expr.c (safe_from_p): Likewise. * print-tree.c (print_node): Likewise. * tree.c (make_node, copy_node, get_identifier): Likewie. (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise. (build, build_nt, build_parse_node, simple_cst_equal): Likewise. * fold-const.c (make_range): Likewise. (fold): Likewise; also use first_rtl_op. * c-iterate.c (collect_iterators): Use first_rtl_op. * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS. Use IS_EXPR_CODE_CLASS. (preexpand_calls): Likewise. * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op and TREE_CODE_LENGTH. * stmt.c (warn_if_unused_value): If no operands, no unused value. * ch/lang.c (deep_const_expr): Use first_rtl_op. * ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH. * cp/method.c (mangle_expression): Use TREE_CODE_LENGTH. * cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH. (built_min, cp_tree_equal): Likewise. From-SVN: r34203
Richard Kenner committed -
From-SVN: r34202
Jeff Law committed -
* config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather than '%1(%*)'. (movdi_internal64): Likewise. From-SVN: r34201
Geoff Keating committed -
* config/rs6000/rs6000.md: Correct order of operands for DImode boolean patterns. * config/rs6000/rs6000.c (boolean_or_operator): New function. * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it. * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator. * config/rs6000/rs6000.md: Use boolean_or_operator instead of boolean_operator for the boolean patterns without NOTs. * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename from reg_or_u_cint_operand. Change comment and behaviour. (logical_operand): Clean up, add assertion. (non_logical_cint_operand): Also check for reg_or_logical_cint_operand. * config/rs6000/rs6000.h (PREDICATE_CODES): Update. * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand in the expander. (xorsi3): Likewise. (iordi3): Likewise. (xordi3): Likewise. From-SVN: r34200
Geoff Keating committed
-
- 26 May, 2000 16 commits
-
-
* tree.h (struct record_layout_info): Rename to (struct record_layout_info_s). * stor-layout.c (start_record_layout): Replace `record_layout_info' with `record_layout_info_s'. * class.c (layout_nonempty_base_or_field): Replace `record_layout_info' with `record_layout_info_s'. From-SVN: r34199
Mark Mitchell committed -
* cp-tree.h (struct language_function): x_named_labels is now a struct named_label_list*. * decl.c (struct named_label_use_list): Renamed from... (struct named_label_list): ...this. New struct. (push_binding_level): Don't set eh_region. (note_level_for_eh): New fn. (pop_label): Take label and old value directly. (pop_labels): Adjust for new named_labels format. (lookup_label): Likewise. (poplevel): Note characteristics of a binding level containing a named label. Mess with named label lists earlier. (mark_named_label_lists): New fn. (mark_lang_function): Call it. (use_label): New fn, split out from... (make_label_decl): ...here. Don't call it. (decl_jump_unsafe, check_previous_goto, check_previous_goto_1, check_previous_gotos): New fns, split out from... (define_label): ...here. (check_switch_goto): New fn. (define_case_label): Call it. (check_goto): New fn. * semantics.c (finish_goto_stmt): Call it and use_label. (begin_compound_stmt): If we're a try block, call note_level_for_eh. (expand_stmt): Never pass 1 as DONT_JUMP_IN to expand_end_bindings. From-SVN: r34198
Jason Merrill committed -
2000-05-26 Phil Edwards <pme@sourceware.cygnus.com> * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): If strtoll isn't available, force --disable. Need to flesh this out; make smarter. * aclocal.m4: Regenerate. * configure: Regenerate. * mkcheck.in: Minor tweaks. * docs/download.html: Fix typo. From-SVN: r34197
Phil Edwards committed -
2000-05-26 Zack Weinberg <zack@wolery.cumb.org> * java/parse.y (find_applicable_accessible_methods_list): Don't add an uninitialized value to the list. From-SVN: r34196
Zack Weinberg committed -
* class.c (build_vtable_entry_ref): Correct usage of get_vtbl_decl_for_binfo. From-SVN: r34195
Mark Mitchell committed -
* decl2.c (grokclassfn): Set DECL_LANGUAGE here. * method.c (implicitly_declare_fn): Not here. From-SVN: r34194
Mark Mitchell committed -
* flow.c (find_label_refs): New function. (find_basic_blocks_1): Call it for each alternative of a call placeholder. From-SVN: r34193
Richard Earnshaw committed -
* ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC of get_pc. From-SVN: r34192
Richard Earnshaw committed -
* cp-tree.h (CPTI_PTMD_DESC_TYPE): Rename to ... (CPTI_PTMD_DESC_TYPE): ... here. (ptmd_desc_type_node): Rename to ... (ptm_desc_type_node): ... here. * decl.c: Likewise. * rtti.c (ptmd_initializer): Rename to ... (ptm_initializer): ... here. (sythesize_tinfo_var): Adjust. Deal with pointer to member function. (create_tinfo_types): Adjust. From-SVN: r34190
Nathan Sidwell committed -
From-SVN: r34189
Jeff Law committed -
* config/alpha/alpha.c (alpha_comparison_operator): Don't be so strict about DImode. (alpha_swapped_comparison_operator): Likewise. * config/alpha/alpha.md (*setne_internal): Name it. Allow any integer output mode. (*setcc_internal): Likewise. (*setcc_swapped_internal): Likewise. (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them. (*mov[qhs]icc_internal): New. (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New. From-SVN: r34188
Richard Henderson committed -
2000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca> * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified. From-SVN: r34187
J. David Anglin committed -
* bb-reorder.c (reorder_block_def): Reorder elements for size. Remove add_jump; add next; replace flags with visited. (rbd_init): Remove. (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove. (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove. (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove. (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove. (RBI): New. (reorder_index, reorder_last_visited): Remove. (skip_insns_after_block): Rewrite to use a switch. (get_common_dest): Remove. (chain_reorder_blocks): Remove. (record_effective_endpoints): Split out from reorder_basic_blocks. (make_reorder_chain): Likewise. Loop until all blocks are placed. (make_reorder_chain_1): Renamed from old make_reorder_chain. Only construct the reorder chain, do not move insns. Try harder to tail recurse. (label_for_bb, emit_jump_to_block_after): New. (fixup_reorder_chain): Use them. Do bulk block movement. Examine and adjust the jump insns appropriately. Fixup basic_block_info. (verify_insn_chain): Always define. (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko in allocation size. (make_new_scope): Don't write zeros to calloc'd space. (build_scope_forest): Rely on xrealloc to DTRT. (reorder_basic_blocks): Don't build loop nest. Don't fail if profile_arc_flag. Streamline EH test. * flow.c (redirect_edge_succ, redirect_edge_pred): New. * basic-block.h: Declare them. From-SVN: r34186
Richard Henderson committed -
From-SVN: r34185
Alexandre Oliva committed -
* emit-rtl.c (reset_used_decls): New function. (unshare_all_rtl_again): Call it. From-SVN: r34184
Alexandre Oliva committed -
cpplex.c (maybe_macroexpand): Warn about function-like macros used in non-function context, if -Wtraditional. * cpplex.c (maybe_macroexpand): Warn about function-like macros used in non-function context, if -Wtraditional. From-SVN: r34183
Zack Weinberg committed
-