aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2000-05-30* call.c (joust): Fix handling of overloaded builtin operators.Mark Mitchell3-1/+18
From-SVN: r34269
2000-05-30alpha.md (*setne_internal): Use match_operator instead of working down from ↵Richard Henderson2-10/+17
insn. * config/alpha/alpha.md (*setne_internal): Use match_operator instead of working down from insn. From-SVN: r34268
2000-05-30cp-tree.h (DECL_ANTICIPATED): New macro.Zack Weinberg5-3/+37
* cp-tree.h (DECL_ANTICIPATED): New macro. Document new use of DECL_LANG_FLAG_7. * decl.c (builtin_function): Set DECL_ANTICIPATED on builtins in the user namespace. * lex.c (do_identifier): If the identifier's declaration has DECL_ANTICIPATED on, it has not yet been declared. But do not replace it with an ordinary implicit declaration. * tinfo2.cc: Include stdlib.h. From-SVN: r34267
2000-05-30* MAINTAINERS: Add self as i18n maintainerPhilipp Thomas2-0/+6
From-SVN: r34266
2000-05-30* invoke.texi (-Wtraditional): Update WRT function macros.Kaveh R. Ghazi2-0/+7
From-SVN: r34265
2000-05-30update explicit instantiation docsJason Merrill1-2/+6
From-SVN: r34264
2000-05-30* except.c (free_exception_table): Do not free NULL.Philippe De Muyter2-1/+6
From-SVN: r34263
2000-05-30Daily bump.Jeff Law5-5/+5
From-SVN: r34262
2000-05-29Document FUNCTION_OK_FOR_SIBCALL.Richard Henderson1-0/+19
From-SVN: r34261
2000-05-30cpplib.c (do_if): Don't save and restore only_seen_white here.Zack Weinberg4-10/+34
* cpplib.c (do_if): Don't save and restore only_seen_white here. * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white and skipping here. From-SVN: r34260
2000-05-29flow.c (mark_used_reg): If a register is unconditionally live, remove any ↵Richard Earnshaw2-0/+23
conditional death information. * flow.c (mark_used_reg): If a register is unconditionally live, remove any conditional death information. From-SVN: r34259
2000-05-29final.c (current_output_insn): New.Richard Henderson3-4/+13
* final.c (current_output_insn): New. (final_scan_insn): Set it. * output.h: Declare it. From-SVN: r34258
2000-05-29* stor-layout.c (finalize_record_size): Fix typo.Richard Henderson2-1/+3
From-SVN: r34257
2000-05-29jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END if nlabel is null.Richard Henderson2-1/+7
* jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END if nlabel is null. From-SVN: r34256
2000-05-29concatstr.c, exh.c: Include stdlib.h and string.h.Zack Weinberg11-2/+24
* concatstr.c, exh.c: Include stdlib.h and string.h. * delaycase.c, eqstr.c, memmove.c, printbuffer.c, printevent.c, sendbuffer.c, waitbuffer.c: Include string.h. From-SVN: r34255
2000-05-29hashtab.c, [...]: Include string.h if HAVE_STRING_H.Zack Weinberg10-16/+61
* hashtab.c, partition.c, sort.c, xmemdup.c: Include string.h if HAVE_STRING_H. * pexecute.c, xexit.c: Include stdlib.h if HAVE_STDLIB_H. * objalloc.c: Include config.h. Include stdlib.h and don't declare malloc or free if HAVE_STDLIB_H. * strerror.c, strsignal.c: Include stdlib.h if HAVE_STDLIB_H, else declare malloc without prototype. Include string.h if HAVE_STRING_H, else declare memset without prototype. Don't include stddef.h. From-SVN: r34254
2000-05-29cpplib.h (cpp_reader): Remove if_stack.Zack Weinberg13-369/+293
* cpplib.h (cpp_reader): Remove if_stack. Change potential_control_macro to a cpp_hashnode *. Add skipping flag. * cpphash.h (struct ihash): Change control_macro to a cpp_hashnode * and shorten name to cmacro. Add NEVER_REINCLUDE constant. * cppfiles.c (redundant_include_p): Drop cpp_reader argument. Examine the cmacro node directly, no need to call cpp_defined. (_cpp_execute_include, read_include_file): Set cmacro to NEVER_REINCLUDE, not U"". * cpplex.c (cpp_push_buffer): Don't set new->if_stack. (cpp_get_token): If pfile->skipping is true, discard text and keep scanning until we hit a directive; don't expand macros. * cpplib.c (struct if_stack): Remove if_succeeded, add was_skipping. Change control_macro to a cpp_hashnode * and shorten name to cmacro. Remove typedef IF_STACK. (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *. (conditional_skip, skip_if_group, consider_directive_while_skipping): Delete. (push_conditional): New. (_cpp_handle_directive): Don't process directives other than conditionals if we are skipping. (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif): Update to new scheme. (validate_else): Skip rest of line here, unconditionally. (_cpp_unwind_if_stack): The stack is per-buffer. Force pfile->skipping off. (all): Remove `scare quotes' from error messages. * gcc.dg/cpp-mi.c: Add another case, cpp-mix.h, where the guard macro is already defined when the header is first included. * gcc.dg/cpp-mix.h: New file. * gcc.dg/endif-label.c: Update patterns to match compiler. * g++.brendan/complex1.C: Declare abort. * g++.law/refs4.C: Remove XFAIL. * g++.oliva/expr2.C: Declare abort and exit. From-SVN: r34253
2000-05-29cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.Mark Mitchell3-1/+11
* cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro. * class.c (layout_empty_base): Use CLASSTYPE_ALIGN_UNIT, not CLASSTYPE_ALIGN. From-SVN: r34252
2000-05-29function.c (emit_return_into_block): New line_note arg; emit it.Richard Henderson2-23/+55
* function.c (emit_return_into_block): New line_note arg; emit it. (thread_prologue_and_epilogue_insns): Attempt to locate a line note for the close brace to accompany HAVE_return. Move all line notes following the epilogue to before the NOTE_INSN_EPILOGUE_BEG. From-SVN: r34251
2000-05-29longlong.h [__alpha] (count_leading_zeros): New.Richard Henderson6-17/+399
* longlong.h [__alpha] (count_leading_zeros): New. (count_trailing_zeros): New. (COUNT_LEADING_ZEROS_0): New. * config/alpha/alpha.c (alpha_zero_comparison_operator): New. (alpha_split_conditional_move): New. * config/alpha/alpha-protos.h: Prototype them. * config/alpha/alpha.h (PREDICATE_CODES): Update. (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67. * config/alpha/alpha.md: Update ffs cix commentary. (*ze_and_ne): New. (*nabssf2, *nabsdf2): New. (*mov[qhsd]icc_internal): Use add_operand. (if_then_else constant splitters): New. (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New. (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New. From-SVN: r34250
2000-05-29Daily bump.Jeff Law5-5/+5
From-SVN: r34249
2000-05-29combine.c (force_to_mode): Convert subtraction from a constant to NEG or NOT ↵Richard Henderson2-1/+25
when conditions allow. * combine.c (force_to_mode) [MINUS]: Convert subtraction from a constant to NEG or NOT when conditions allow. From-SVN: r34248
2000-05-29combine.c (combine_simplify_rtx): Don't create an if_then_else unless both ↵Richard Henderson2-31/+52
args are general_operand. * combine.c (combine_simplify_rtx): Don't create an if_then_else unless both args are general_operand. Don't canonicalize plus to ior unless it helps. From-SVN: r34247
2000-05-29toplev.c (rest_of_compilation): Set no_new_pseudos after flow1; instead ↵Richard Henderson2-12/+23
track register_life_up_to_date. * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1; instead track register_life_up_to_date. Toggle no_new_pseudos around if_convert. From-SVN: r34246
2000-05-29re GNATS gcj/242 (Compiler generates call to wrong method from inner class)Bryce McKinlay3-0/+43
2000-05-29 Bryce McKinlay <bryce@albatross.co.nz> * libjava.lang/PR242.java: New file. PR gcj/242. From-SVN: r34245
2000-05-29rs6000.c (output_cbranch): Escape '%' characters so output_operand doesn't ↵Geoff Keating2-0/+9
see them. * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters so output_operand doesn't see them. From-SVN: r34244
2000-05-28lcm.c (make_preds_opaque): Fix comment.Clinton Popetz4-51/+60
* lcm.c (make_preds_opaque): Fix comment. (optimize_mode_switching): Use NORMAL_MODE instead of MODE_USES_IN_EXIT_BLOCK. Change leftover instance of FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE. Handle insertions before an existing NOTE_INSN_BASIC_BLOCK. * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE. (MODE_USES_IN_EXIT_BLOCK): Delete. (MODE_AT_ENTRY) Rename to NORMAL_MODE. * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete. (MODE_AT_ENTRY): Rename to NORMAL_MODE. (MODE_NEEDED): Don't look for USE. (EPILOGUE_USES): Define. From-SVN: r34243
2000-05-28* gcc.c-torture/execute/20000528-1.c: New test.Alexandre Oliva2-0/+15
From-SVN: r34242
2000-05-28* mklibgcc.in (all): Variable initialised to `libgcc'.Philippe De Muyter2-1/+5
From-SVN: r34241
2000-05-28toplev.h (skip_leading_substring): New macro.Gabriel Dos Reis5-40/+68
2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com> * toplev.h (skip_leading_substring): New macro. * toplev.c (decode_f_option): Use skip_leading_substring instead of strncmp. (decode_W_option): Likewise. cp/ 2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com> * decl2.c (lang_decode_option): Use skip_leading_substring instead of plain strncmp. From-SVN: r34240
2000-05-28Docuement that CONSITIONAL_REGISTER_USAGE can modify reg_names.Nick Clifton2-7/+13
From-SVN: r34239
2000-05-28regclass.c (record_operand_costs): Protect reg_changes_size with ↵Richard Henderson2-0/+5
CLASS_CANNOT_CHANGE_SIZE. * regclass.c (record_operand_costs): Protect reg_changes_size with CLASS_CANNOT_CHANGE_SIZE. From-SVN: r34238
2000-05-28* loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.Richard Henderson2-4/+11
From-SVN: r34237
2000-05-28Remove duplicate name and extraneous blank lineAlexandre Oliva1-3/+0
From-SVN: r34236
2000-05-28refs4.C: Mark as XFAIL.Alexandre Oliva3-0/+11
* g++.old-deja/g++.law/refs4.C: Mark as XFAIL. * g++.old-deja/g++.law/temps4.C: Likewise. From-SVN: r34235
2000-05-28* expr2.C: New test.Alexandre Oliva2-0/+22
From-SVN: r34234
2000-05-28code-gen4.C: Include stdio.h and stdlib.h.Alexandre Oliva6-8/+24
* g++.old-deja/g++.brendan/code-gen4.C: Include stdio.h and stdlib.h. Call abort() on failure. * g++.old-deja/g++.law/refs4.C: Likewise. * g++.old-deja/g++.law/temps4.C: Likewise. * g++.old-deja/g++.brendan/complex1.C: Don't assume argc is 1. * gcc.c-torture/execute/20000112-1.c: Include string.h. From-SVN: r34233
2000-05-28operators.def (<?): Duplicated, should have been...Alexandre Oliva2-1/+6
* operators.def (<?): Duplicated, should have been... (>?): this. Fixed. From-SVN: r34232
2000-05-28bugs.texi: Note that debugging information for common block items is emitted ↵Toon Moene3-5/+18
now. 2000-05-28 Toon Moene <toon@moene.indiv.nluug.nl> * bugs.texi: Note that debugging information for common block items is emitted now. * news.texi: Ditto. From-SVN: r34231
2000-05-28function.c (diddle_return_value): A pcc-style struct return returns a pointer.Richard Henderson2-2/+19
* function.c (diddle_return_value): A pcc-style struct return returns a pointer. From-SVN: r34230
2000-05-28Daily bump.Jeff Law5-5/+5
From-SVN: r34229
2000-05-28cppfiles.c: Read files in, using mmap if possible, then prescan them separately.Zack Weinberg9-319/+372
* cppfiles.c: Read files in, using mmap if possible, then prescan them separately. (read_file, read_with_read): New functions. * cpplex.c: Don't define UCHAR_MAX. (_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read the file here. * cppinit.c (handle_option): Automatically define __cplusplus, __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see the respective -lang switch. * cpphash.h (enum node_type, struct hashnode, _cpp_lookup prototype): Move to... * cpplib.h: ... here. Rename struct hashnode to struct cpp_hashnode and give it a typedef. Rename _cpp_lookup to cpp_lookup. Add 'fe_value' slot, a union tree_node *. From-SVN: r34228
2000-05-28rs6000.md (movsi): Constify 'name'.Geoff Keating3-27/+74
* config/rs6000/rs6000.md (movsi): Constify 'name'. * regclass.c [CLASS_CANNOT_CHANGE_SIZE] (class_can_change_size): New variable. (reg_changes_size): New variable. (init_reg_sets_1): Initialise class_can_change_size. (record_operand_costs): Remove subreg_changes_size. Don't pass it around. Instead update reg_changes_size. (regclass): Initialise and free reg_changes_size. If a register changes size, don't preference it to a class that contains registers that can't change size. (record_reg_classes): Don't look at subreg_changes_size. From-SVN: r34227
2000-05-28Relative to g++.dg/special:Zack Weinberg39-10/+89
* conpr-1.C, conpr-2.C, conpr-3.C: Include stdlib.h. Relative to g++.old-deja: * g++.brendan/complex1.C, g++.jason/optimize2.C, g++.mike/p9732b.C, g++.other/addrof1.C, g++.other/dyncast5.C, g++.other/init5.C, g++.other/init7.C, g++.other/union2.C, g++.pt/vbase1.C, g++.robertl/eb14.C, g++.robertl/eh990323-1.C, g++.robertl/eh990323-2.C, g++.robertl/eh990323-3.C, g++.robertl/eh990323-4.C, g++.robertl/eh990323-5.C, g++.robertl/ice990323-2.C: Prototype exit and/or abort. * g++.brendan/nest21.C, g++.eh/rethrow3.C, g++.jason/init3.C, g++.law/arm15.C, g++.law/cvt2.C, g++.law/visibility17.C, g++.mike/eh23.C, g++.mike/eh25.C, g++.mike/eh34.C, g++.mike/eh48.C, g++.mike/eh55.C, g++.mike/p2736.C, g++.oliva/new1.C, g++.other/align.C, g++.robertl/eb39.C, g++.robertl/eb54.C, g++.robertl/eb63.C: Include stdlib.h and/or string.h. * g++.other/goto1.C: Update expectations for error messages. From-SVN: r34226
2000-05-27print-rtl.c (reg_names): Remove const.Richard Henderson5-4/+11
* print-rtl.c (reg_names): Remove const. * regclass.c (reg_names): Likewise. * regs.h (reg_names): Likewise. * hard-reg-set.h (reg_names): Likewise. From-SVN: r34225
2000-05-27* config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.Richard Henderson2-1/+5
From-SVN: r34224
2000-05-28cp-tree.h (ansi_opname): Make it a macro.Alex Samuel18-606/+752
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
2000-05-27alpha.c (alpha_does_function_need_gp): Test TARGET_PROFILING_NEEDS_GP in the ↵Richard Henderson6-12/+39
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
2000-05-27elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h.Richard Henderson2-4/+23
* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h. From-SVN: r34221
2000-05-27alpha-protos.h (alpha_arg_info_reg_val): Protect with RTX_CODE.Richard Henderson5-132/+146
* 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