]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
24 years agohashtab.c, [...]: Include string.h if HAVE_STRING_H.
Zack Weinberg [Mon, 29 May 2000 19:33:52 +0000 (19:33 +0000)] 
hashtab.c, [...]: Include string.h if HAVE_STRING_H.

* 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

24 years agocpplib.h (cpp_reader): Remove if_stack.
Zack Weinberg [Mon, 29 May 2000 16:19:32 +0000 (16:19 +0000)] 
cpplib.h (cpp_reader): Remove if_stack.

* 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

24 years agocp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.
Mark Mitchell [Mon, 29 May 2000 15:35:06 +0000 (15:35 +0000)] 
cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.

* cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.
* class.c (layout_empty_base): Use CLASSTYPE_ALIGN_UNIT, not
CLASSTYPE_ALIGN.

From-SVN: r34252

24 years agofunction.c (emit_return_into_block): New line_note arg; emit it.
Richard Henderson [Mon, 29 May 2000 08:18:30 +0000 (01:18 -0700)] 
function.c (emit_return_into_block): New line_note arg; emit it.

        * 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

24 years agolonglong.h [__alpha] (count_leading_zeros): New.
Richard Henderson [Mon, 29 May 2000 07:52:26 +0000 (00:52 -0700)] 
longlong.h [__alpha] (count_leading_zeros): New.

        * 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

24 years agoDaily bump.
Jeff Law [Mon, 29 May 2000 07:45:08 +0000 (01:45 -0600)] 
Daily bump.

From-SVN: r34249

24 years agocombine.c (force_to_mode): Convert subtraction from a constant to NEG or NOT when...
Richard Henderson [Mon, 29 May 2000 07:40:51 +0000 (00:40 -0700)] 
combine.c (force_to_mode): Convert subtraction from a constant to NEG or NOT when conditions allow.

        * combine.c (force_to_mode) [MINUS]: Convert subtraction from
        a constant to NEG or NOT when conditions allow.

From-SVN: r34248

24 years agocombine.c (combine_simplify_rtx): Don't create an if_then_else unless both args are...
Richard Henderson [Mon, 29 May 2000 07:29:13 +0000 (00:29 -0700)] 
combine.c (combine_simplify_rtx): Don't create an if_then_else unless both 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

24 years agotoplev.c (rest_of_compilation): Set no_new_pseudos after flow1; instead track registe...
Richard Henderson [Mon, 29 May 2000 07:09:53 +0000 (00:09 -0700)] 
toplev.c (rest_of_compilation): Set no_new_pseudos after flow1; instead 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

24 years agore GNATS gcj/242 (Compiler generates call to wrong method from inner class)
Bryce McKinlay [Mon, 29 May 2000 05:26:14 +0000 (05:26 +0000)] 
re GNATS gcj/242 (Compiler generates call to wrong method from inner class)

2000-05-29  Bryce McKinlay  <bryce@albatross.co.nz>

* libjava.lang/PR242.java: New file. PR gcj/242.

From-SVN: r34245

24 years agors6000.c (output_cbranch): Escape '%' characters so output_operand doesn't see them.
Geoff Keating [Mon, 29 May 2000 05:18:03 +0000 (05:18 +0000)] 
rs6000.c (output_cbranch): Escape '%' characters so output_operand doesn't see them.

* config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
so output_operand doesn't see them.

From-SVN: r34244

24 years agolcm.c (make_preds_opaque): Fix comment.
Clinton Popetz [Sun, 28 May 2000 23:40:20 +0000 (23:40 +0000)] 
lcm.c (make_preds_opaque): Fix comment.

* 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

24 years ago* gcc.c-torture/execute/20000528-1.c: New test.
Alexandre Oliva [Sun, 28 May 2000 23:31:55 +0000 (23:31 +0000)] 
* gcc.c-torture/execute/20000528-1.c: New test.

From-SVN: r34242

24 years ago* mklibgcc.in (all): Variable initialised to `libgcc'.
Philippe De Muyter [Sun, 28 May 2000 21:52:37 +0000 (23:52 +0200)] 
* mklibgcc.in (all): Variable initialised to `libgcc'.

From-SVN: r34241

24 years agotoplev.h (skip_leading_substring): New macro.
Gabriel Dos Reis [Sun, 28 May 2000 21:22:12 +0000 (21:22 +0000)] 
toplev.h (skip_leading_substring): New macro.

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

24 years agoDocuement that CONSITIONAL_REGISTER_USAGE can modify reg_names.
Nick Clifton [Sun, 28 May 2000 21:08:51 +0000 (21:08 +0000)] 
Docuement that CONSITIONAL_REGISTER_USAGE can modify reg_names.

From-SVN: r34239

24 years agoregclass.c (record_operand_costs): Protect reg_changes_size with CLASS_CANNOT_CHANGE_...
Richard Henderson [Sun, 28 May 2000 20:39:51 +0000 (13:39 -0700)] 
regclass.c (record_operand_costs): Protect reg_changes_size with CLASS_CANNOT_CHANGE_SIZE.

        * regclass.c (record_operand_costs): Protect reg_changes_size
        with CLASS_CANNOT_CHANGE_SIZE.

From-SVN: r34238

24 years ago* loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
Richard Henderson [Sun, 28 May 2000 20:01:28 +0000 (13:01 -0700)] 
* loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.

From-SVN: r34237

24 years agoRemove duplicate name and extraneous blank line
Alexandre Oliva [Sun, 28 May 2000 17:36:14 +0000 (17:36 +0000)] 
Remove duplicate name and extraneous blank line

From-SVN: r34236

24 years agorefs4.C: Mark as XFAIL.
Alexandre Oliva [Sun, 28 May 2000 17:35:16 +0000 (17:35 +0000)] 
refs4.C: Mark as XFAIL.

* g++.old-deja/g++.law/refs4.C: Mark as XFAIL.
* g++.old-deja/g++.law/temps4.C: Likewise.

From-SVN: r34235

24 years ago* expr2.C: New test.
Alexandre Oliva [Sun, 28 May 2000 14:20:27 +0000 (14:20 +0000)] 
* expr2.C: New test.

From-SVN: r34234

24 years agocode-gen4.C: Include stdio.h and stdlib.h.
Alexandre Oliva [Sun, 28 May 2000 13:42:47 +0000 (13:42 +0000)] 
code-gen4.C: Include stdio.h and stdlib.h.

* 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

24 years agooperators.def (<?): Duplicated, should have been...
Alexandre Oliva [Sun, 28 May 2000 13:24:58 +0000 (13:24 +0000)] 
operators.def (<?): Duplicated, should have been...

* operators.def (<?): Duplicated, should have been...
(>?): this.  Fixed.

From-SVN: r34232

24 years agobugs.texi: Note that debugging information for common block items is emitted now.
Toon Moene [Sun, 28 May 2000 12:34:53 +0000 (14:34 +0200)] 
bugs.texi: Note that debugging information for common block items is emitted 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

24 years agofunction.c (diddle_return_value): A pcc-style struct return returns a pointer.
Richard Henderson [Sun, 28 May 2000 12:31:40 +0000 (05:31 -0700)] 
function.c (diddle_return_value): A pcc-style struct return returns a pointer.

        * function.c (diddle_return_value): A pcc-style struct return
        returns a pointer.

From-SVN: r34230

24 years agoDaily bump.
Jeff Law [Sun, 28 May 2000 07:45:07 +0000 (01:45 -0600)] 
Daily bump.

From-SVN: r34229

24 years agocppfiles.c: Read files in, using mmap if possible, then prescan them separately.
Zack Weinberg [Sun, 28 May 2000 05:56:38 +0000 (05:56 +0000)] 
cppfiles.c: Read files in, using mmap if possible, then prescan them separately.

* 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

24 years agors6000.md (movsi): Constify 'name'.
Geoff Keating [Sun, 28 May 2000 05:51:16 +0000 (05:51 +0000)] 
rs6000.md (movsi): Constify 'name'.

* 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

24 years agoRelative to g++.dg/special:
Zack Weinberg [Sun, 28 May 2000 05:38:02 +0000 (05:38 +0000)] 
Relative to g++.dg/special:

* 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

24 years agoprint-rtl.c (reg_names): Remove const.
Richard Henderson [Sun, 28 May 2000 03:24:57 +0000 (20:24 -0700)] 
print-rtl.c (reg_names): Remove const.

        * 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

24 years ago* config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
Richard Henderson [Sun, 28 May 2000 02:59:35 +0000 (19:59 -0700)] 
* config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.

From-SVN: r34224

24 years agocp-tree.h (ansi_opname): Make it a macro.
Alex Samuel [Sun, 28 May 2000 02:58:19 +0000 (02:58 +0000)] 
cp-tree.h (ansi_opname): Make it a macro.

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

24 years agoalpha.c (alpha_does_function_need_gp): Test TARGET_PROFILING_NEEDS_GP in the if,...
Richard Henderson [Sun, 28 May 2000 02:25:46 +0000 (19:25 -0700)] 
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

24 years agoelf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h.
Richard Henderson [Sun, 28 May 2000 02:21:54 +0000 (19:21 -0700)] 
elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h.

        * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
        change to config/elfos.h.

From-SVN: r34221

24 years agoalpha-protos.h (alpha_arg_info_reg_val): Protect with RTX_CODE.
Richard Henderson [Sun, 28 May 2000 02:18:27 +0000 (19:18 -0700)] 
alpha-protos.h (alpha_arg_info_reg_val): Protect with RTX_CODE.

        * 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

24 years agoMakefile.in (resource.o): Depend on except.h.
Richard Henderson [Sun, 28 May 2000 02:17:59 +0000 (19:17 -0700)] 
Makefile.in (resource.o): Depend on except.h.

        * 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

24 years ago* reload.c (get_secondary_mem): Don't widen floating-point modes.
Geoff Keating [Sun, 28 May 2000 01:07:18 +0000 (01:07 +0000)] 
* reload.c (get_secondary_mem): Don't widen floating-point modes.

From-SVN: r34218

24 years agocombine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when substituting the REG in a...
Geoff Keating [Sun, 28 May 2000 01:06:11 +0000 (01:06 +0000)] 
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

24 years agocpplex.c (_cpp_lex_line): Merge vertical space.
Neil Booth [Sun, 28 May 2000 01:03:16 +0000 (01:03 +0000)] 
cpplex.c (_cpp_lex_line): Merge vertical space.

* 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

24 years agocpplex.c (_cpp_init_toklist): No comment space to initialise.
Neil Booth [Sat, 27 May 2000 23:27:36 +0000 (23:27 +0000)] 
cpplex.c (_cpp_init_toklist): No comment space to initialise.

        * 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

24 years agocppexp.c (parse_assertion): Supply extra argument to _cpp_init_toklist.
Neil Booth [Sat, 27 May 2000 23:19:56 +0000 (23:19 +0000)] 
cppexp.c (parse_assertion): Supply extra argument to _cpp_init_toklist.

* 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

24 years agoconfigure.in (stage1_warn_cflags): Add -Wstrict-prototypes -Wmissing-prototypes.
Zack Weinberg [Sat, 27 May 2000 22:34:05 +0000 (22:34 +0000)] 
configure.in (stage1_warn_cflags): Add -Wstrict-prototypes -Wmissing-prototypes.

* 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

24 years agoconfigure.in: Add AC_CHECK_TYPE(ssize_t).
Zack Weinberg [Sat, 27 May 2000 22:05:01 +0000 (22:05 +0000)] 
configure.in: Add AC_CHECK_TYPE(ssize_t).

* 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

24 years agoMakefile.in (libgcc2.ready): Rename to libgcc.ready.
Zack Weinberg [Sat, 27 May 2000 21:37:17 +0000 (21:37 +0000)] 
Makefile.in (libgcc2.ready): Rename to libgcc.ready.

        * 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

24 years ago* Make-lang.in (cplib2.ready): Eradicate.
Zack Weinberg [Sat, 27 May 2000 21:36:52 +0000 (21:36 +0000)] 
* Make-lang.in (cplib2.ready): Eradicate.

From-SVN: r34210

24 years agoalpha.c (hard_fp_register_operand): Mind the mode.
Richard Henderson [Sat, 27 May 2000 20:34:12 +0000 (13:34 -0700)] 
alpha.c (hard_fp_register_operand): Mind the mode.

        * 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

24 years agoMakefile.in (recog.o): Don't depend on resource.h.
Richard Henderson [Sat, 27 May 2000 20:23:15 +0000 (13:23 -0700)] 
Makefile.in (recog.o): Don't depend on resource.h.

* 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

24 years agofunction.c (thread_prologue_epilogue_insns): Don't move the line note at the head...
Richard Henderson [Sat, 27 May 2000 20:10:38 +0000 (13:10 -0700)] 
function.c (thread_prologue_epilogue_insns): Don't move the line note at the head of the chain.

        * 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

24 years agogensupport.c (collect_insn_data): Record the maximum number of alternatives, not...
Richard Henderson [Sat, 27 May 2000 20:03:31 +0000 (13:03 -0700)] 
gensupport.c (collect_insn_data): Record the maximum number of alternatives, not the last seen.

        * gensupport.c (collect_insn_data): Record the maximum number
        of alternatives, not the last seen.

From-SVN: r34206

24 years agogenoutput.c: Don't include errors.h.
Richard Henderson [Sat, 27 May 2000 20:01:10 +0000 (13:01 -0700)] 
genoutput.c: Don't include errors.h.

        * 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

24 years agod30v.c (d30v_print_operand): Handle ':'.
Richard Henderson [Sat, 27 May 2000 19:53:21 +0000 (12:53 -0700)] 
d30v.c (d30v_print_operand): Handle ':'.

        * 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

24 years agotree.h (TREE_CODE_LENGTH): New macro.
Richard Kenner [Sat, 27 May 2000 15:21:17 +0000 (15:21 +0000)] 
tree.h (TREE_CODE_LENGTH): New macro.

* 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

24 years agoDaily bump.
Jeff Law [Sat, 27 May 2000 07:45:07 +0000 (01:45 -0600)] 
Daily bump.

From-SVN: r34202

24 years agors6000.md (movsi_internal1): Use '%a1' rather than '%1(%*)'.
Geoff Keating [Sat, 27 May 2000 07:44:25 +0000 (07:44 +0000)] 
rs6000.md (movsi_internal1): Use '%a1' rather than '%1(%*)'.

* config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
than '%1(%*)'.
(movdi_internal64): Likewise.

From-SVN: r34201

24 years agors6000.md: Correct order of operands for DImode boolean patterns.
Geoff Keating [Sat, 27 May 2000 02:24:32 +0000 (02:24 +0000)] 
rs6000.md: Correct order of operands for DImode boolean patterns.

* 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

24 years agotree.h (struct record_layout_info): Rename to (struct record_layout_info_s).
Mark Mitchell [Fri, 26 May 2000 21:40:01 +0000 (21:40 +0000)] 
tree.h (struct record_layout_info): Rename to (struct record_layout_info_s).

* 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

24 years agoFix goto checking.
Jason Merrill [Fri, 26 May 2000 21:05:05 +0000 (21:05 +0000)] 
Fix goto checking.

        * 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

24 years agoacinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): If strtoll isn't available, force --disable.
Phil Edwards [Fri, 26 May 2000 19:59:46 +0000 (19:59 +0000)] 
acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): If strtoll isn't available, force --disable.

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

24 years agoparse.y (find_applicable_accessible_methods_list): Don't add an uninitialized value...
Zack Weinberg [Fri, 26 May 2000 18:57:28 +0000 (18:57 +0000)] 
parse.y (find_applicable_accessible_methods_list): Don't add an uninitialized value to the list.

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

24 years agoclass.c (build_vtable_entry_ref): Correct usage of get_vtbl_decl_for_binfo.
Mark Mitchell [Fri, 26 May 2000 17:47:25 +0000 (17:47 +0000)] 
class.c (build_vtable_entry_ref): Correct usage of get_vtbl_decl_for_binfo.

* class.c (build_vtable_entry_ref): Correct usage of
get_vtbl_decl_for_binfo.

From-SVN: r34195

24 years agodecl2.c (grokclassfn): Set DECL_LANGUAGE here.
Mark Mitchell [Fri, 26 May 2000 16:54:18 +0000 (16:54 +0000)] 
decl2.c (grokclassfn): Set DECL_LANGUAGE here.

* decl2.c (grokclassfn): Set DECL_LANGUAGE here.
* method.c (implicitly_declare_fn): Not here.

From-SVN: r34194

24 years agoflow.c (find_label_refs): New function.
Richard Earnshaw [Fri, 26 May 2000 10:30:47 +0000 (10:30 +0000)] 
flow.c (find_label_refs): New function.

* flow.c (find_label_refs): New function.
(find_basic_blocks_1): Call it for each alternative of a call
placeholder.

From-SVN: r34193

24 years agoifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC of get_pc.
Richard Earnshaw [Fri, 26 May 2000 09:51:00 +0000 (09:51 +0000)] 
ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC of get_pc.

* ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
of get_pc.

From-SVN: r34192

24 years agocp-tree.h (CPTI_PTMD_DESC_TYPE): Rename to ...
Nathan Sidwell [Fri, 26 May 2000 08:50:47 +0000 (08:50 +0000)] 
cp-tree.h (CPTI_PTMD_DESC_TYPE): Rename to ...

* 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

24 years agoDaily bump.
Jeff Law [Fri, 26 May 2000 07:45:07 +0000 (01:45 -0600)] 
Daily bump.

From-SVN: r34189

24 years agoalpha.c (alpha_comparison_operator): Don't be so strict about DImode.
Richard Henderson [Fri, 26 May 2000 07:04:21 +0000 (00:04 -0700)] 
alpha.c (alpha_comparison_operator): Don't be so strict about DImode.

        * 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

24 years agovax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
J. David Anglin [Fri, 26 May 2000 03:36:25 +0000 (03:36 +0000)] 
vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.

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

24 years agobb-reorder.c (reorder_block_def): Reorder elements for size.
Richard Henderson [Fri, 26 May 2000 03:34:33 +0000 (20:34 -0700)] 
bb-reorder.c (reorder_block_def): Reorder elements for size.

        * 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

24 years ago* gcc.c-torture/compile/20000523-1.c: New test.
Alexandre Oliva [Fri, 26 May 2000 02:15:55 +0000 (02:15 +0000)] 
* gcc.c-torture/compile/20000523-1.c: New test.

From-SVN: r34185

24 years agoemit-rtl.c (reset_used_decls): New function.
Alexandre Oliva [Fri, 26 May 2000 01:49:38 +0000 (01:49 +0000)] 
emit-rtl.c (reset_used_decls): New function.

* emit-rtl.c (reset_used_decls): New function.
(unshare_all_rtl_again): Call it.

From-SVN: r34184

24 years agocpplex.c (maybe_macroexpand): Warn about function-like macros used in non-function...
Zack Weinberg [Fri, 26 May 2000 01:29:35 +0000 (01:29 +0000)] 
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

24 years agore GNATS gcj/162 (gcj does not initialize interfaces according to spec)
Tom Tromey [Fri, 26 May 2000 01:16:20 +0000 (01:16 +0000)] 
re GNATS gcj/162 (gcj does not initialize interfaces according to spec)

* parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC
when trying to see if field's class should be initialized.  Always
initialize field's declaring class, not qualified class.
For PR gcj/162.

From-SVN: r34182

24 years agore GNATS gcj/235 (source parser dies when Primitive.TYPE is used in an array declaration)
Tom Tromey [Fri, 26 May 2000 01:12:37 +0000 (01:12 +0000)] 
re GNATS gcj/235 (source parser dies when Primitive.TYPE is used in an array declaration)

* parse.y (array_constructor_check_entry): Pass `wfl_value', not
`wfl_operator', to maybe_build_primttype_type_ref.
Fixes PR gcj/235.

From-SVN: r34181

24 years ago* recog.c (peephole2_optimize): Use INSN_P.
Mark Mitchell [Thu, 25 May 2000 23:59:45 +0000 (23:59 +0000)] 
* recog.c (peephole2_optimize): Use INSN_P.

From-SVN: r34180

24 years agoifcvt.c (seq_contains_jump): New.
Richard Henderson [Thu, 25 May 2000 23:53:23 +0000 (16:53 -0700)] 
ifcvt.c (seq_contains_jump): New.

        * ifcvt.c (seq_contains_jump): New.
        (noce_try_store_flag_constants): Use it to fail conversion.
        (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.

From-SVN: r34179

24 years agoexcept.h (can_throw): Declare it.
Mark Mitchell [Thu, 25 May 2000 23:43:43 +0000 (23:43 +0000)] 
except.h (can_throw): Declare it.

* except.h (can_throw): Declare it.
* except.c (can_throw): Give it external linkage.
* resource.c (find_dead_or_set_registers): Use can_throw.

From-SVN: r34178

24 years agoFinish implementation of VTTs.
Mark Mitchell [Thu, 25 May 2000 23:27:18 +0000 (23:27 +0000)] 
Finish implementation of VTTs.

* cp-tree.h (cp_tree_index): Add CPTI_VTT_PARM_TYPE and
CPTI_VTT_PARM_IDENTIFIER.
(vtt_parm_identifier): New macro.
(vtt_parm_type): Likewise.
(BINFO_SUBVTT_INDEX): Likewise.
(BINFO_VPTR_INDEX): Likewise.
(struct lang_decl): Add vtt_parm.
(DECL_VTT_PARM): New macro.
(DECL_USE_VTT_PARM): Likewise.
(DECL_NEEDS_VTT_PARM_P): Likewise.
(get_vtt_name): Declare.
(build_artifical_parm): Likewise.
(fixup_all_virtual_upcast_offsets): Likewise.
(expand_indirect_vtbls_init): Remove.
* call.c (build_new_method_call): Pass the vtt to subobject
constructors and destructors.
* class.c (get_vtt_name): Give it external linkage.
(build_clone): Handle the magic VTT parameters for clones.
(clone_function_decl): Fix typo in comment.
(build_vtt): Keep track of the indices in the VTTs where various
entities are stored.
(build_vtt_inits): Likewise.
(dfs_build_vtt_inits): Likewise.
(build_ctor_vtbl_group): Tweak type of construction vtables.
(dfs_accumulate_vtbl_inits): Build vtables for all bases, even
primary bases, when building construction vtables.
* decl.c (duplicate_decls): Handle DECL_VTT_PARM.
(initialize_predefined_identifiers): Add vtt_parm_identifier.
(init_decl_processing): Initialize vtt_parm_type.
(grokfndecl): Use DECL_OVERLOADED_OPERATOR_P.
(lang_mark_tree): Make vtt_parm.
* decl2.c (build_artificial_parm): New function.
(maybe_retrofit_in_chrg): Use it.  Add VTT parameters.
(grokclassfn): Use build_artificial_parm.
* init.c (initialize_vtbl_ptrs): Call
fixup_all_virtual_upcast_offsets directly.
(perform_member_init): Use the complete subobject destructor for
member cleanups.
(build_vtbl_address): New function.
(expand_virtual_init): Handle VTTs.
* optimize (maybe_clone_body): Likewise.
* search.c (fixup_all_virtual_upcast_offsets): Give it external
linkage.
(expand_indirect_vtbls_init): Remove.
* semantics.c (setup_vtbl_ptr): Fix typos in comment.
* tree.c (make_binfo): Make them bigger.

From-SVN: r34177

24 years ago* flow.c (mark_set_1): Don't record conditionally dead memory.
Richard Henderson [Thu, 25 May 2000 23:19:35 +0000 (16:19 -0700)] 
* flow.c (mark_set_1): Don't record conditionally dead memory.

From-SVN: r34176

24 years agocombine.c (try_combine): Use any_condjump_p...
Jan Hubicka [Thu, 25 May 2000 21:38:49 +0000 (23:38 +0200)] 
combine.c (try_combine): Use any_condjump_p...

        * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
        and pc_set at the place of simplejump_p and condjump_p.
        * cse.c (record_jump_equiv): Likewise.
        * emit-rtl.c (emit): Likewise.
        * explow.c (find_next_ref): Likewise.
        * flow.c (tidy_fallthru_edge): Likewise.
        (init_propagate_block_info): Likewise.
        * gcse.c (delete_null_pointer_checks): Likewise.
        * ifcvt.c (cond_exec_get_condition, noce_get_condition,
        dead_or_predicable): Likewise.
        * integrate.c (copy_insn_list): Likewise.
        * loop.c (scan_loop, verify_dominator, find_and_verify_loops,
        for_each_insn_in_loop, check_dbra_loop, get_condition,
        insert_bct, load_mems): Likewise.
        * resource.c (find_dead_or_set_registers): Likewise.
        * sibcalls.c (simplejump_p): Likewise.
        * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.

From-SVN: r34175

24 years agors6000.c (expand_block_move): Add 64-bit PowerPC doubleword move to STRING case.
David Edelsohn [Thu, 25 May 2000 18:17:46 +0000 (18:17 +0000)] 
rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move to STRING case.

        * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
        to STRING case.  Use doubleword STRING move for TARGET_POWERPC64
        when unaligned.
        * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
        (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
        (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
        * rs6000.md: Name various internal patterns.

From-SVN: r34174

24 years agoEarly checkin of footer.html to trigger web checkout.
Phil Edwards [Thu, 25 May 2000 16:59:08 +0000 (16:59 +0000)] 
Early checkin of footer.html to trigger web checkout.

From-SVN: r34173

24 years ago* g++.old-deja/g++.abi/ptrflags.C: Use __pbase_type_info.
Nathan Sidwell [Thu, 25 May 2000 16:58:47 +0000 (16:58 +0000)] 
* g++.old-deja/g++.abi/ptrflags.C: Use __pbase_type_info.

From-SVN: r34172

24 years agoJan Hubicka <jh@suse.cz>
Jan Hubicka [Thu, 25 May 2000 16:41:30 +0000 (09:41 -0700)] 
Jan Hubicka  <jh@suse.cz>

        * jump.c (invert_exp_1): Remove first argument, use pc_set
        to get the expression.
        (redirect_exp): Make static; redirect only the pc_set expression,
        remove first argument.
        (invert_exp): Remove first argument, make static.
        (jump_optimize): Use any_condjump_p, any_uncondjump_p and
        any_onlyjump at most places where we originaly did condjump_p
        and simplejump_p.
        (jump_back_p, follow_jumps, thread_jumps): Likewise.
        (delete_barrier_succesors): Use pc_set.
        (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
        calls of invert_exp and redirect_exp.
        * rtl.h (redirect_exp, invert_exp): Remove.
        * unroll.c (copy_loop_body): Use invert_jump and redirect_jump.

From-SVN: r34171

24 years ago* stmt.c (expand_end_bindings): Fix thinko last change.
Richard Henderson [Thu, 25 May 2000 16:33:32 +0000 (09:33 -0700)] 
* stmt.c (expand_end_bindings): Fix thinko last change.

From-SVN: r34170

24 years agoexcept.c (func_eh_entry): Add emitted field.
Andrew MacLeod [Thu, 25 May 2000 15:21:51 +0000 (15:21 +0000)] 
except.c (func_eh_entry): Add emitted field.

2000-05-25  Andrew MacLeod  <amacleod@cygnus.com>
            Andrew Haley  <aph@cygnus.com>

* except.c  (func_eh_entry): Add emitted field.
(new_eh_region_entry): Set emitted field to 0;
(output_exception_table_entry): Only emit previously un-emitted data,
and send it to the eh_data section.
(output_exception_table): Break out common parts. Output
exception table for entire compilation unit to eh_data section.
(output_exception_table_data): Common parts of output_exception_table.
Send output to eh_data section.
(output_function_exception_table): Output exception table data for
a single function to eh_data section.
(free_exception_table): New external to free the table.
* except.h (free_exception_table): Add prototype.
(output_function_exception_table): Add prototype.
* final.c (final_end_function): Output function exception table
for IA64_UNWIND_INFO.
(final_scan_insn): Emit any unwind directives for an insn.

* frame-dwarf2.c: New file containing all DWARF 2 specific code
from frame.c.
* frame.c: Remove all DWARF 2 specific code.
* config/ia64/frame-ia64.c: New file.
(gthread_stuff): Make all gthread available with
IA64_UNWIND_INFO.
(dwarf_fde): Define an IA64 struct for dwarf_fde.
(__register_frame_info, __register_frame): Move to common area of file.
(__register_frame_info_table, __register_frame_table): Move to common i
area.
(__deregister_frame_info, __deregister_frame): Move to common area.
(__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
(read_uleb128): New version for ia64.
(get_unwind_record): Read the next IA-64 unwind record.
(read_R_record): Read a region header record.
(process_a_b_reg_code): X record helper.
(read_X_record): Read an X format record.
(read_B_record): Read a B format record.
(P3_record_types): List of record types matching the P3 format.
(P7_record_types): List of record types matching the P7 format.
(P8_record_types): List of record types matching the P8 format.
(read_P_record): Read a P format record.
(init_ia64_reg_loc): Set default fields for a register.
(init_ia64_unwind_frame): Set defaults for all register records.
(execute_one_ia64_descriptor): Execute one descriptor record.
(rse_address_add): Calculate the position of a local reg in memory.
(normalize_reg_loc): Turn a location descriptor into a memory address.
(maybe_normalize_reg_loc): Only normalize a descriptor if it falls
within a specified PC offset range.
(get_real_reg_value): Given a register location, retrieve its value.
(set_real_reg_value): Change the value of a register location.
(copy_reg_value): Copy reg values, if needed.
(copy_saved_reg_state): Copy all registers that need to be copied.
(process_state_between): Normalize all frame register records that
fall within the specified PC range.
(frame_translate): Take a processed frame description, and turn
everything into addresses.
(build_ia64_frame_state ): Find and create frame state record for a PC.
(get_personality): Get the personality routine for a given frame.
(get_except_table): Get the exception table for a given frame.
(record_name): Unwind record names for debugging.
(print_record): Print and unwind record.
(print_all_records): Print an entire unwind image.
(__ia64_backtrace): Print a backtrace.
(ia64_backtrace_helper): New function.
(__register_frame_info_aux): New function.
* config/ia64/crtend.asm (__do_frame_setup_aux): New function.

* frame.h (enum unw_record_type): New unwind record types.
(struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
(struct unw_r_record, unwind_record): New unwind record structs.
(struct unwind_info_ptr): Unwind information layout.
(IA64_UNW_LOC_TYPE_*): Macros for different types for location
descriptors.
(struct ia64_reg_loc): Register location description.
(struct ia64_frame_state): Location of all registers in a frame.
(struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
* libgcc2.c (__ia64_personality_v1): Personality routine.
(__calc_caller_bsp): Calculate the bsp register for the caller's
frame.
(ia64_throw_helper): Figure out who to return to and set up the
registers.
(__throw): Throw routine.

* output.h (assemble_eh_align, assemble_eh_label): New functions
to generate EH info where we want it.
(assemble_eh_integer): New function.
* toplev.c (compile_file): Output module level exception table for
non-ia64 targets.
(main): Set exceptions_via_longjump and flag_new_exceptions based
on IA64_UNWIND_INFO too.

* varasm.c (assemble_eh_label): Generate a label via
ASM_OUTPUT_EH_LABEL if it has been specified.
(assemble_eh_align): Generate an alignment directive via
ASM_OUTPUT_EH_ALIGN if it has been specified.
(assemble_eh_label): Generate an integer value via
ASM_OUTPUT_EH_type if they have been specified.
* config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
(ia64_init_builtins): Add __builtin_ia64_bsp
and __builtin_ia64_flushrs.
(ia64_expand_builtin): Add IA64_BUILTIN_BSP and
IA64_BUILTIN_FLUSHRS.
* config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
IA64_BUILTIN_FLUSHRS.

* config/ia64/ia64.md (flushrs): New insn to flush the register
stack.  Add to unspec list.

* config/ia64/crtbegin.asm (frame_object): Change size.
(__do_frame_setup_aux): New function.
* config/ia64/crtend.asm: call __do_frame_setup_aux.
* config/ia64/t-ia64 (LIB2ADDEH): Add.
* Makefile.in (LIB2ADDEH): Add.
(LIB2ADD): Use LIB2ADDEH.

Co-Authored-By: Andrew Haley <aph@cygnus.com>
From-SVN: r34169

24 years agoinclosure: Change to...
Benjamin Kosnik [Thu, 25 May 2000 13:25:46 +0000 (13:25 +0000)] 
inclosure: Change to...

2000-05-25  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>

* inclosure: Change to...
* mkinclosure: This.
Fix paths to bash.
* mkcshadow: Fix paths to bash.

* src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
* src/Makefile.in: Regnerate.
* acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
(GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
* aclocal.m4: Regenerate.
* mkcheck.in (INC_PATH): Tweak.

* configure.in: Enable long long by default.
* configure: Regenerate.

* mkcheck.in (LIB_PATH): Revert.

From-SVN: r34168

24 years agoinclosure: Change to...
Benjamin Kosnik [Thu, 25 May 2000 13:19:15 +0000 (13:19 +0000)] 
inclosure: Change to...

2000-05-25  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>

* inclosure: Change to...
* mkinclosure: This.
Fix paths to bash.
* mkcshadow: Fix paths to bash.

* src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
* src/Makefile.in: Regnerate.
* acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
(GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
* aclocal.m4: Regenerate.
* mkcheck.in (INC_PATH): Tweak.

* configure.in: Enable long long by default.
* configure: Regenerate.

* mkcheck.in (LIB_PATH): Revert.

From-SVN: r34167

24 years agoinclosure: Change to...
Benjamin Kosnik [Thu, 25 May 2000 13:09:01 +0000 (13:09 +0000)] 
inclosure: Change to...

2000-05-25  Benjamin Kosnik  <bkoz@milou.soma.redhat.com>

* inclosure: Change to...
* mkinclosure: This.
Fix paths to bash.
* mkcshadow: Fix paths to bash.

* src/Makefile.am: Tweaks. Do cshadow header trickery at build time.
* src/Makefile.in: Regnerate.
* acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
(GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
* aclocal.m4: Regenerate.

* configure.in: Enable long long by default.
* configure: Regenerate.

* mkcheck.in (LIB_PATH): Revert.

From-SVN: r34166

24 years agocxxabi.h (__pbase_type_info): Define, based on __pointer_type_info.
Nathan Sidwell [Thu, 25 May 2000 11:49:34 +0000 (11:49 +0000)] 
cxxabi.h (__pbase_type_info): Define, based on __pointer_type_info.

* inc/cxxabi.h (__pbase_type_info): Define, based on
__pointer_type_info.
(__pointer_type_info): Derive from __pbase_type_info. Adjust.
(__pointer_to_member_type_info): Likewise.
* tinfo2.cc (__pbase_type_info::~__pbase_type_info): Implement.
(__pointer_to_member_type_info::__is_pointer_p): Remove.
(__pointer_type_info::__do_catch): Rename to ...
(__pbase_type_info::__do_catch): ... here. Adjust.
(__pbase_type_info::__pointer_catch): Implement.
(__pointer_type_info::__pointer_catch): Adjust.
(__pointer_to_member_type_info::__pointer_catch): Adjust.

From-SVN: r34165

24 years agocatch11.C: New test.
Nathan Sidwell [Thu, 25 May 2000 11:16:11 +0000 (11:16 +0000)] 
catch11.C: New test.

* g++.old-deja/g++.eh/catch11.C: New test.
* g++.old-deja/g++.eh/catch12.C: New test.

From-SVN: r34164

24 years agotinfo.h (__user_type_info::contained_virtual_p): New predicate.
Nathan Sidwell [Thu, 25 May 2000 11:13:17 +0000 (11:13 +0000)] 
tinfo.h (__user_type_info::contained_virtual_p): New predicate.

* tinfo.h (__user_type_info::contained_virtual_p): New
predicate.
* tinfo.cc (__user_type_info::do_upcast): Fix bug with diamond
shaped heirarchy.
(__vmi_class_type_info::__do_upcast): Fix bug with NULL pointer to
diamond shaped heirarchy. Add early out for mixed diamond and
duplicate shaped heirarchy.

From-SVN: r34163

24 years ago[multiple changes]
Benjamin Kosnik [Thu, 25 May 2000 10:14:26 +0000 (10:14 +0000)] 
[multiple changes]

2000-05-24   Nathan "I don't write ChangeLog Entries" Myers  <ncm@cantrip.org>

* config/cpu/i486: New directory.
* config/cpu/i486/bits: New directory.
* config/cpu/i486/bits/atomicity.h: New file.
* config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
'cmpxchgl' asm.
* acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.

2000-05-24  Loren J. Rittle  <ljrittle@acm.org>

        * backward/alloc.h (__default_alloc_template): Only expose
          implementation-specific symbol, if it exists in the
          configuration.
        * backward/iostream.h (ends): Expose symbol.
        * backward/strstream.h: New file.
        * backward/stream.h: New file.
        * backward/ostream.h: New file.
        * backward/istream.h: New file.
        * backward/fstream.h: New file.
        * backward/complex.h: New file.
        * backward/iomanip.h: New file.

* mkcheck.in (LIB_PATH): Add -R bits.

* math/carg.c (carg): Replace __atan2 with atan2.

From-SVN: r34162

24 years agoalloc.h (__default_alloc_template): Only expose implementation-specific symbol, if...
Loren J. Rittle [Thu, 25 May 2000 10:06:30 +0000 (10:06 +0000)] 
alloc.h (__default_alloc_template): Only expose implementation-specific symbol, if it exists in the configuration.

2000-05-24  Loren J. Rittle  <ljrittle@acm.org>

        * backward/alloc.h (__default_alloc_template): Only expose
          implementation-specific symbol, if it exists in the
          configuration.
        * backward/iostream.h (ends): Expose symbol.
        * backward/strstream.h: New file.
        * backward/stream.h: New file.
        * backward/ostream.h: New file.
        * backward/istream.h: New file.
        * backward/fstream.h: New file.
        * backward/complex.h: New file.
        * backward/iomanip.h: New file.

* mkcheck.in (LIB_PATH): Add -R bits.

* math/carg.c (carg): Replace __atan2 with atan2.

From-SVN: r34161

24 years agoi486: New directory.
Nathan C. Myers [Thu, 25 May 2000 10:04:12 +0000 (10:04 +0000)] 
i486: New directory.

2000-05-19   Nathan "I don't write ChangeLog Entries" Myers  <ncm@cantrip.org>

* config/cpu/i486: New directory.
* config/cpu/i486/bits: New directory.
* config/cpu/i486/bits/atomicity.h: New file.
* config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
'cmpxchgl' asm.
* acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.

From-SVN: r34160

24 years agoDaily bump.
Jeff Law [Thu, 25 May 2000 07:45:06 +0000 (01:45 -0600)] 
Daily bump.

From-SVN: r34159

24 years agorecog.c (offsettable_address_p): If mode size is zero, assume BIGGEST_ALIGNMENT.
Richard Henderson [Thu, 25 May 2000 06:17:05 +0000 (23:17 -0700)] 
recog.c (offsettable_address_p): If mode size is zero, assume BIGGEST_ALIGNMENT.

        * recog.c (offsettable_address_p): If mode size is zero, assume
        BIGGEST_ALIGNMENT.

From-SVN: r34158

24 years agoMakefile.am (TAGS): Construct.
Benjamin Kosnik [Thu, 25 May 2000 05:11:42 +0000 (05:11 +0000)] 
Makefile.am (TAGS): Construct.

2000-05-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

* Makefile.am (TAGS): Construct.
* Makefile.in: Rengerate.
* src/Makefile.am: Tweak.
* src/Makefile.in: Tweak.
* configure.in: Tweak.

* bits/c++config.h: Rename to ...
* bits/c++config: This.
* mkc++config: Adjust.

From-SVN: r34157

24 years agoconfigure.in: Check for -Wno-long-long option support and improve handling of warning...
J. David Anglin [Thu, 25 May 2000 01:49:09 +0000 (01:49 +0000)] 
configure.in: Check for -Wno-long-long option support and improve handling of warning CFLAGS...

        * configure.in: Check for -Wno-long-long option support and improve
        handling of warning CFLAGS for stages 1 and 2.
        * Makefile.in (WARN_CFLAGS): Move definition to configure.in.
        * configure: Regenerate.

From-SVN: r34156

24 years agoFix minor goofs pointed out by Stan.
Jeff Law [Thu, 25 May 2000 01:44:42 +0000 (19:44 -0600)] 
Fix minor goofs pointed out by Stan.

From-SVN: r34155

24 years agoForgot to commit.
Jeff Law [Thu, 25 May 2000 01:38:25 +0000 (19:38 -0600)] 
Forgot to commit.

From-SVN: r34154