gcc.git
20 years agore PR libstdc++/16154 (input iterator concept too restrictive)
Paolo Carlini [Wed, 23 Jun 2004 16:03:52 +0000 (16:03 +0000)]
re PR libstdc++/16154 (input iterator concept too restrictive)

2004-06-23  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/16154
* include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
Don't require the _DefaultConstructibleConcept.
(struct _ForwardIteratorConcept): Require it here.

From-SVN: r83554

20 years agore PR target/15948 (THUMB: ICE with non-commutative cbranch)
Richard Earnshaw [Wed, 23 Jun 2004 11:39:32 +0000 (11:39 +0000)]
re PR target/15948 (THUMB: ICE with non-commutative cbranch)

* PR target/15948
* arm.md (bicsi3_cbranch): Add alternative to handle tying operands
one and two.

From-SVN: r83549

20 years agore PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1)
Richard Earnshaw [Wed, 23 Jun 2004 10:39:50 +0000 (10:39 +0000)]
re PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1)

PR target/15927
* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
reload if CLASS is BASE_REGS.

From-SVN: r83548

20 years agoMakefile.tpl (HOST_EXPORTS): Fix pasto.
Paolo Bonzini [Wed, 23 Jun 2004 09:10:36 +0000 (09:10 +0000)]
Makefile.tpl (HOST_EXPORTS): Fix pasto.

2004-06-22  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.tpl (HOST_EXPORTS): Fix pasto.
* Makefile.in: Regenerate.

From-SVN: r83547

20 years agogengtype-yacc.y (option): Avoid use of non-constant struct initializer.
Richard Sandiford [Wed, 23 Jun 2004 09:08:21 +0000 (09:08 +0000)]
gengtype-yacc.y (option): Avoid use of non-constant struct initializer.

* gengtype-yacc.y (option): Avoid use of non-constant struct
initializer.

From-SVN: r83546

20 years agoremove stray conflict marker
Nathan Sidwell [Wed, 23 Jun 2004 08:43:25 +0000 (08:43 +0000)]
remove stray conflict marker

From-SVN: r83544

20 years ago* doc/extend.texi (Function Attributes): Alphabetize.
Nathan Sidwell [Wed, 23 Jun 2004 08:41:55 +0000 (08:41 +0000)]
* doc/extend.texi (Function Attributes): Alphabetize.

From-SVN: r83543

20 years agoMakefile.tpl (configure-build-[+module+], [...]): Pass [+extra_configure_args+].
Paolo Bonzini [Wed, 23 Jun 2004 08:36:05 +0000 (08:36 +0000)]
Makefile.tpl (configure-build-[+module+], [...]): Pass [+extra_configure_args+].

2004-06-22  Paolo Bonzini  <bonzini@gnu.org>

* Makefile.tpl (configure-build-[+module+],
configure-[+module+], configure-target-[+module+]): Pass
[+extra_configure_args+].
(all-build-[+module+], all-[+module+], check-[+module+],
install-[+module+], [+make_target+]-[+module+],
all-target-[+module+], check-target-[+module+],
install-target-[+module+], [+make_target+]-target-[+module+]):
Pass [+extra_make_args+].
(HOST_EXPORTS): Include the former GCC_HOST_EXPORTS.
(GCC_HOST_EXPORTS): Remove.
(configure-gcc, all-gcc, GCC_STRAP_TARGETS, profiledbootstrap,
cross, check-gcc, check-gcc-c++, install-gcc,
gcc-no-fixedincludes, [+make_target+]-gcc, stage[+id+]-bubble):
Replace GCC_HOST_EXPORTS with HOST_EXPORTS.
* Makefile.in: Regenerate.

From-SVN: r83542

20 years agoc-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.
Richard Henderson [Wed, 23 Jun 2004 07:43:21 +0000 (00:43 -0700)]
c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.

        * c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.
        Use gimplify_and_add.
        * c-typeck.c (c_finish_if_stmt): Use NULL instead of empty stmt.
        * gimplify.c (build_and_jump, gimplify_exit_expr,
        gimplify_init_constructor, gimplify_save_expr, gimple_push_cleanup,
        gimplify_stmt, gimplify_expr): Likewise.
        (shortcut_cond_expr): Handle NULL arms of COND_EXPR.
        (gimplify_statement_list): Remove NULL entries.
        (gimplify_to_stmt_list): Handle NULL results.
        (gimplify_type_sizes): Add list_p argument.
        (gimplify_one_sizepos): Don't use internal pre/post queue.
        * tree-gimple.h (gimplify_type_sizes): Update.
ada/
        * trans.c (gnat_gimplify_stmt): Update gimplify_type_sizes call.

From-SVN: r83539

20 years agors6000.md (*insvsi_internal5/6): New patterns.
Eric Christopher [Wed, 23 Jun 2004 05:54:21 +0000 (05:54 +0000)]
rs6000.md (*insvsi_internal5/6): New patterns.

2004-06-22  Eric Christopher  <echristo@redhat.com>

* config/rs6000/rs6000.md (*insvsi_internal5/6): New patterns.

From-SVN: r83538

20 years agocfghooks.c (make_forwarder_block): Decrement count on fallthru edge when redirecting...
Pat Haugen [Wed, 23 Jun 2004 04:09:46 +0000 (04:09 +0000)]
cfghooks.c (make_forwarder_block): Decrement count on fallthru edge when redirecting back edges.

       * cfghooks.c (make_forwarder_block): Decrement count on fallthru edge
        when redirecting back edges.

        * cfghooks.c (split_block): Call make_single_succ_edge so that edge
        count/probability are set correctly.

From-SVN: r83537

20 years ago* gcc.dg/noreturn-1.c (foo5): Update function does return lineno.
Richard Henderson [Wed, 23 Jun 2004 02:51:06 +0000 (19:51 -0700)]
* gcc.dg/noreturn-1.c (foo5): Update function does return lineno.

From-SVN: r83535

20 years agoc-typeck.c (emit_side_effect_warnings): Ignore error marks.
Richard Henderson [Wed, 23 Jun 2004 02:33:25 +0000 (19:33 -0700)]
c-typeck.c (emit_side_effect_warnings): Ignore error marks.

        * c-typeck.c (emit_side_effect_warnings): Ignore error marks.
        (c_finish_stmt_expr): Likewise.

From-SVN: r83534

20 years agoi386.c (TARGET_STRUCT_VALUE_RTX): New.
Richard Henderson [Wed, 23 Jun 2004 02:27:22 +0000 (19:27 -0700)]
i386.c (TARGET_STRUCT_VALUE_RTX): New.

        * config/i386/i386.c (TARGET_STRUCT_VALUE_RTX): New.
        (ix86_return_in_memory): Move SSE vector return warning ...
        (ix86_struct_value_rtx): ... here.  New.

From-SVN: r83533

20 years ago* gcc.dg/builtins-config.h: Handle FreeBSD.
Loren J. Rittle [Wed, 23 Jun 2004 02:25:06 +0000 (02:25 +0000)]
* gcc.dg/builtins-config.h: Handle FreeBSD.

From-SVN: r83532

20 years agotree.def (VTABLE_REF): Remove.
Richard Henderson [Wed, 23 Jun 2004 00:26:04 +0000 (17:26 -0700)]
tree.def (VTABLE_REF): Remove.

        * tree.def (VTABLE_REF): Remove.
        (OBJ_TYPE_REF): New.
        (TRY_CATCH_EXPR, TRY_FINALLY_EXPR): Set type 's'.
        * expr.c (expand_expr_real_1): Replace VTABLE_REF with OBJ_TYPE_REF.
        * fold-const.c (non_lvalue): Likewise.
        * gimplify.c (gimplify_expr): Likewise.
        (gimplify_call_expr): Use is_gimple_call_addr.
        * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
        * langhooks.h (fold_obj_type_ref): New.
        * tree-gimple.c (is_gimple_call_addr): New.
        * tree-gimple.h (is_gimple_call_addr): Declare.
        * tree-inline.c (inlinable_function_p): Fix merge error.
        (estimate_num_insns_1): Replace VTABLE_REF with OBJ_TYPE_REF.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        (print_call_name): Handle OBJ_TYPE_REF.
        * tree-ssa-ccp.c (fold_stmt): Fold OBJ_TYPE_REF.
        * tree-ssa-operands.c (get_expr_operands): Handle OBJ_TYPE_REF.
        * tree.h (OBJ_TYPE_REF_EXPR): New.
        (OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN): New.
        * doc/c-tree.texi (VTABLE_REF): Remove.
        * objc/objc-act.c (build_objc_method_call): Build an OBJ_TYPE_REF.
cp/
        * class.c (build_vfn_ref): Take a pointer not object.  Build
        an OBJ_TYPE_REF.
        (cp_fold_obj_type_ref): New.
        * call.c (build_over_call): Update build_vfn_ref call.
        * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
        * cp-tree.h (cp_fold_obj_type_ref): Declare.
testsuite/
        * g++.dg/opt/devirt1.C: New.

From-SVN: r83531

20 years agoDaily bump.
GCC Administrator [Wed, 23 Jun 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83529.2

20 years agoDaily bump.
GCC Administrator [Wed, 23 Jun 2004 00:16:10 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83527.2

20 years agore PR middle-end/16026 (ICE in function.c:4804, assign_parms, when -mpowerpc64 &...
Richard Henderson [Tue, 22 Jun 2004 23:54:46 +0000 (16:54 -0700)]
re PR middle-end/16026 (ICE in function.c:4804, assign_parms, when -mpowerpc64 & half-word operation)

        PR middle-end/16026
        * function.c (assign_parms): Don't abort for overaligned PARALLEL.

From-SVN: r83525

20 years ago* Makefile.in (distclean): Don't try to remove empty directories.
Joseph Myers [Tue, 22 Jun 2004 22:27:16 +0000 (23:27 +0100)]
* Makefile.in (distclean): Don't try to remove empty directories.

From-SVN: r83523

20 years agoistream.tcc (getline): Make sure arguments passed to min/max have the same type.
Alexandre Oliva [Tue, 22 Jun 2004 22:22:14 +0000 (22:22 +0000)]
istream.tcc (getline): Make sure arguments passed to min/max have the same type.

* include/bits/istream.tcc (getline): Make sure arguments passed
to min/max have the same type.
* include/bits/locale_facets.tcc (__verify_grouping): Likewise.
* include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.

From-SVN: r83522

20 years agofix
Jason Merrill [Tue, 22 Jun 2004 21:45:54 +0000 (17:45 -0400)]
fix

From-SVN: r83517

20 years agore PR target/15869 (No NOP after LW (with -mips1 -O0))
Richard Sandiford [Tue, 22 Jun 2004 21:28:05 +0000 (21:28 +0000)]
re PR target/15869 (No NOP after LW (with -mips1 -O0))

PR target/15869
* config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.

From-SVN: r83516

20 years agopr15551.C: New testcase.
Kelley Cook [Tue, 22 Jun 2004 21:17:16 +0000 (21:17 +0000)]
pr15551.C: New testcase.

2004-06-22 Kelley Cook <kcook@gcc.gnu.org>

* g++.dg/opt/pr15551.C: New testcase.

From-SVN: r83515

20 years agore PR c++/16112 (ICE with statement expression in return statement)
Jason Merrill [Tue, 22 Jun 2004 21:15:29 +0000 (17:15 -0400)]
re PR c++/16112 (ICE with statement expression in return statement)

        PR c++/16112
        * cp-gimplify.c (cp_gimplify_init_expr): Look through
        CLEANUP_POINT_EXPR.

From-SVN: r83514

20 years agore PR target/14800 (Some x86 tests aren't valid for x86_64)
H.J. Lu [Tue, 22 Jun 2004 19:52:33 +0000 (19:52 +0000)]
re PR target/14800 (Some x86 tests aren't valid for x86_64)

2004-06-22  H.J. Lu  <hongjiu.lu@intel.com>

PR target/14800
* gcc.misc-tests/linkage.exp: Set native_cflags to "-m32" for
x86_64-*-linux* when compiling for 32bit.

From-SVN: r83513

20 years agoBytesToUnicode.java (getDecoder): Pass original encoding name to iconv.
Bryce McKinlay [Tue, 22 Jun 2004 19:24:32 +0000 (19:24 +0000)]
BytesToUnicode.java (getDecoder): Pass original encoding name to iconv.

* gnu/gcj/convert/BytesToUnicode.java (getDecoder): Pass original
encoding name to iconv.
* gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Likewise.

From-SVN: r83512

20 years agoTestcases for my rs6000-specific change of this date.
Dale Johannesen [Tue, 22 Jun 2004 19:11:43 +0000 (19:11 +0000)]
Testcases for my rs6000-specific change of this date.

From-SVN: r83511

20 years agomn10300.md (movdi, movdf): Use high/low for movu operands.
Alexandre Oliva [Tue, 22 Jun 2004 18:38:00 +0000 (18:38 +0000)]
mn10300.md (movdi, movdf): Use high/low for movu operands.

* config/mn10300/mn10300.md (movdi, movdf): Use high/low for movu
operands.

From-SVN: r83510

20 years agore PR java/16113 (ICE: Segmentation fault when compiling bytecode with debugging...
Andrew Haley [Tue, 22 Jun 2004 18:22:43 +0000 (18:22 +0000)]
re PR java/16113 (ICE: Segmentation fault when compiling bytecode with debugging info and try/catch)

Fixes PR java/16113.
* decl.c (force_poplevels): Remove call to expand_end_bindings.

Co-Authored-By: Ranjit Mathew <rmathew@hotmail.com>
From-SVN: r83509

20 years agoparse.y (create_class): Correct diagnostic message about java.lang.Object extending...
Ranjit Mathew [Tue, 22 Jun 2004 18:17:12 +0000 (18:17 +0000)]
parse.y (create_class): Correct diagnostic message about java.lang.Object extending anything else.

* parse.y (create_class): Correct diagnostic message about
java.lang.Object extending anything else.

From-SVN: r83507

20 years agors6000.c (legitimate_offset_address_p): Make global, rename rs6000_legitimate_offset_...
Dale Johannesen [Tue, 22 Jun 2004 18:12:37 +0000 (18:12 +0000)]
rs6000.c (legitimate_offset_address_p): Make global, rename rs6000_legitimate_offset_address_p.

2004-06-22  Dale Johannesen  <dalej@apple.com>

* config/rs6000/rs6000.c (legitimate_offset_address_p): Make
global, rename rs6000_legitimate_offset_address_p.
(rs6000_legitimate_address_p): Adjust calls to it.
(lmw_operation): Ditto.
(stmw_operation): Ditto.
* config/rs6000/rs6000-protos.h: Declare it.
* config/rs6000/rs6000.md (*movdf_hardfloat32): Use it
instead of offsettable_memref_p.

2004-06-22  Dale Johannesen  <dalej@apple.com>

* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
[reg+reg] mode for TFmode memory accesses.
(rs6000_eliminate_indexed_memrefs): New.
(rs6000_emit_move): Call preceding for TImode and TFmode.

From-SVN: r83504

20 years agoFix ChangeLog entry.
Bryce McKinlay [Tue, 22 Jun 2004 17:23:13 +0000 (18:23 +0100)]
Fix ChangeLog entry.

From-SVN: r83502

20 years agore PR libgcj/16134 (Memory leak in String.getBytes())
Bryce McKinlay [Tue, 22 Jun 2004 17:21:23 +0000 (17:21 +0000)]
re PR libgcj/16134 (Memory leak in String.getBytes())

PR libgcj/16134:
* gnu/gcj/convert/BytesToUnicode.java: Canonicalize encoding name
before cache lookup. Thanks to Hannes Wallnoefer.
* gnu/gcj/convert/UnicodeToBytes.java: Likewise.

From-SVN: r83501

20 years agoabi.html: Update links.
Benjamin Kosnik [Tue, 22 Jun 2004 16:01:02 +0000 (16:01 +0000)]
abi.html: Update links.

2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>

* docs/html/abi.html: Update links.

From-SVN: r83498

20 years agocomplex_inserters_extractors.cc, [...]: Move to...
Paolo Carlini [Tue, 22 Jun 2004 10:52:14 +0000 (10:52 +0000)]
complex_inserters_extractors.cc, [...]: Move to...

2004-06-22  Paolo Carlini  <pcarlini@suse.de>

* testsuite/26_numerics/complex_inserters_extractors.cc,
complex_value.cc, buggy_complex.cc: Move to...
* testsuite/26_numerics/complex/: ... here.
* testsuite/26_numerics/c99_classification_macros_c++.cc,
c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
fabs_inline.cc: Move to...
* testsuite/26_numerics/cmath/: ... here.
* testsuite/26_numerics/binary_closure.cc, slice.cc,
slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
valarray_name_lookup.cc, valarray_operators.cc,
valarray_subset_assignment.cc: Move to...
* testsuite/26_numerics/valarray/: ... here (new dir).
* testsuite/26_numerics/sum_diff.cc: Move to...
* testsuite/26_numerics/numeric/: ... here (new dir).

From-SVN: r83489

20 years agotree-cfg.c (pass_warn_function_return): It needs CFG, not SSA.
Paolo Bonzini [Tue, 22 Jun 2004 10:06:49 +0000 (10:06 +0000)]
tree-cfg.c (pass_warn_function_return): It needs CFG, not SSA.

2004-06-22  Paolo Bonzini  <bonzini@gnu.org>

* tree-cfg.c (pass_warn_function_return): It needs
CFG, not SSA.

From-SVN: r83487

20 years agostd_istream.h (ignore(streamsize __n = 1, int_type __delim = traits_type::eof())...
Paolo Carlini [Tue, 22 Jun 2004 10:06:39 +0000 (10:06 +0000)]
std_istream.h (ignore(streamsize __n = 1, int_type __delim = traits_type::eof())): Split into...

2004-06-22  Paolo Carlini  <pcarlini@suse.de>

* include/std/std_istream.h (ignore(streamsize __n = 1,
int_type __delim = traits_type::eof())): Split into...
(ignore(), ignore(streamsize __n), ignore(streamsize __n,
int_type __delim)): The first two can be much more simpler
and efficient than the fully general case; also, the last
two can take advantage of the same mechanism already used
for getline.
* include/bits/istream.tcc (ignore(streamsize __n = 1,
int_type __delim = traits_type::eof()): Remove.
(ignore(), ignore(streamsize __n), ignore(streamsize __n,
int_type __delim)): New.

From-SVN: r83486

20 years agoinvoke.texi (Machine Dependent Options): Alphabetize.
Nathan Sidwell [Tue, 22 Jun 2004 08:32:31 +0000 (08:32 +0000)]
invoke.texi (Machine Dependent Options): Alphabetize.

* doc/invoke.texi (Machine Dependent Options): Alphabetize.
(Submodel Options): Likewise.

From-SVN: r83485

20 years agoRadar #: 3701874
Andrew Pinski [Tue, 22 Jun 2004 07:23:25 +0000 (07:23 +0000)]
Radar #: 3701874

2004-06-21  Andrew Pinski  <apinski@apple.com>

        Radar #: 3701874
        * c-decl.c (push_file_scope): Return early if we already
        have a file scope.

2004-06-21  Andrew Pinski  <apinski@apple.com>

        * gcc.dg/pch/struct-1.c: New.
        * gcc.dg/pch/struct-1.hs: New.

From-SVN: r83483

20 years agocp-tree.def (NEW_EXPR): Add a fourth slot.
Mark Mitchell [Tue, 22 Jun 2004 07:18:38 +0000 (07:18 +0000)]
cp-tree.def (NEW_EXPR): Add a fourth slot.

* cp-tree.def (NEW_EXPR): Add a fourth slot.
* cp-tree.h (PARMLIST_ELLIPSIS_P): Remove.
(TREE_PARMLIST): Likewise.
(CALL_DECLARATOR_PARMS): Likewise.
(CALL_DECLARATOR_QUALS): Likewise.
(CALL_DECLARATOR_EXCEPTION_SPEC): Likewise.
(cp_declarator_kind): New type.
(cp_parameter_declarator): Likewise.
(cp_declarator): Likewise.
(cp_error_declarator): Likewise.
(no_parameters): Likewise.
(groktypename): Change prototype.
(start_decl): Likewise.
(start_handler_parms): Likewise.
(get_scope_of_declarator): Likewise.
(start_function): Likewise.
(start_preparsed_function): New function.
(start_function): Change prototype.
(start_method): Likewise.
(grokfield): Likewise.
(grokbitfield): Likewise.
(build_new): Likewise.
(make_pointer_declarator): Remove.
(make_reference_declarator): Likewise.
(make_call_declarator): Likewise.
(set_quals_and_spec): Likewise.
(process_template_parm): Change prototype.
(begin_function_definition): Remove.
(finish_parmlist): Remove.
* decl.c (groktypename): Do not use trees to represent
declarators.
(start_decl): Likewise.
(start_handler_parms): Remove.
(get_scope_of_declarator): Reimplement.
(grokdeclarator): Do not use trees to represent declarators.
(grokparms): Likewise.
(start_function): Likewise.
(start_method): Likewise.
(build_void_list_mode): Do not use TREE_PARMLIST.
* decl.h (grokdeclarator): Change prototype.
* decl2.c (grok_method_quals): Robustify.
(grok_x_components): Do not use trees to represent declarators.
(grokfield): Likewise.
(grokbitfield): Likewise.
(start_objects): Build FUNCTION_DECLs, not declarators.
(start_static_storage_duration_function): Likewise.
* init.c (build_new): Simplify.
* lex.c (make_pointer_declarator): Remove.
(make_reference_declarator): Likewise.
(make_call_declarator): Likewise.
(set_quals_and_spec): Likewise.
* method.c (use_thunk): Use start_preparsed_function.
(synthesize_method): Likewise.
(implicitly_declare_fn): Build FUNCTION_DECLs, not declarators.
* optimize.c (maybe_clone_body): Use start_preparsed_function.
* parser.c (cp_error_declarator): New variable.
(declarator_obstack): Likewise.
(alloc_declarator): New function.
(make_declarator): Likewise.
(make_id_declarator): Likewise.
(make_pointer_declarator): Likewise.
(make_reference_declarator): Likewise.
(make_ptrmem_declarator): Likewise.
(make_call_declarator): Likewise.
(make_array_declarator): Likewise.
(no_parameters): New variable.
(make_parameter_declarator): Likewise.
(cp_parser_check_for_definition_in_return_type): Do not use trees
to represent declarators.
(cp_parser_translation_unit): Likewise.
(cp_parser_new_expression): Likewise.
(cp_parser_new_type_id): Likewise.
(cp_parser_new_declarator_opt): Likewise.
(cp_parser_direct_new_declarator): Likewise.
(cp_parser_condition): Likewise.
(cp_parser_declaration_statement): Likewise.
(cp_parser_declaration): Likewise.
(cp_parser_conversion_type_id): Likewise.
(cp_parser_conversion_declarator_opt): Likewise.
(cp_parser_template_parameter_list): Likewise.
(cp_parser_template_parameter): Likewise.
(cp_parser_explicit_instantiation): Likewise.
(cp_parser_init_declarator): Likewise.
(cp_parser_declarator): Likewise.
(cp_parser_direct_declarator): Likewise.
(cp_parser_type_id): Likewise.
(cp_parser_parameter_declaration_clause): Likewise.
(cp_parser_parameter_declaration_list): Likewise.
(cp_parser_parameter_declaration): Likewise.
(cp_parser_member_declaration): Likewise.
(cp_parser_exception_declaration): Likewise.
(cp_parser_check_declarator_template_parameters): Likewise.
(cp_parser_function_definition_from_specifiers_and_declarator):
Likewise.
(cp_parser_save_member_function_body): Likewise.
* pt.c (process_template_parm): Add is_non_type parameter.
(convert_template_argument): Adjust call to groktypename.
(tsubst_call_declarator_parms): Remove use of TREE_PARMLIST.
(tsubst): Do not expect declarators.
(tsubst_copy_and_build): Adjust NEW_EXPR case to handle additional
argument.
(instantiate_decl): Use start_preparsed_function.
* semantics.c (begin_function_definition): Remove.
(finish_parmlist): Remove.
* cp-mudflap.c (mflang_flush_calls): Build FUNCTION_DECLs, not
declarators.

From-SVN: r83482

20 years agoc-opts.c (c_common_handle_option): Handle -fpch-preprocess.
Geoffrey Keating [Tue, 22 Jun 2004 06:51:56 +0000 (06:51 +0000)]
c-opts.c (c_common_handle_option): Handle -fpch-preprocess.

2004-06-21  Geoffrey Keating  <geoffk@apple.com>

* c-opts.c (c_common_handle_option): Handle -fpch-preprocess.
* c-common.h (flag_pch_preprocess): Declare.
(c_common_pch_pragma): Likewise.
* c-common.c (flag_pch_preprocess): New.
* c-pch.c (c_common_read_pch): Support -fpreprocess-only.
(c_common_pch_pragma): New.
* c-ppoutput.c (cb_read_pch): New.
(init_pp_output): Support -fpch-preprocess.
* c-pragma.c (init_pragma): Support #pragma GNUC pch_preprocess.
* c.opt (fpch-preprocess): New.
* gcc.c (cpp_options): When save-temps, pass -fpch-preprocess.
* doc/cppopts.texi: Document -fpch-preprocess.
* doc/invoke.texi (Precompiled Headers): Mention that
-fpreprocessed is safe for PCH.  Mention that if an option is
listed as safe that doesn't mean it does what you expect.

Index: gcc/testsuite/ChangeLog
2004-06-21  Geoffrey Keating  <geoffk@apple.com>

* gcc.dg/pch/save-temps-1.c: New file.
* gcc.dg/pch/save-temps-1.hs: New file.

Index: libcpp/ChangeLog
2004-06-21  Geoffrey Keating  <geoffk@apple.com>

* files.c (should_stack_file): Correct swapped parameters to call
to cb.read_pch.
* pch.c (cpp_valid_state): Handle -fpreprocessed.

From-SVN: r83478

20 years ago* tree-ssa.c (ssa_redirect_edge): Correct leading comment.
Ben Elliston [Tue, 22 Jun 2004 06:08:37 +0000 (06:08 +0000)]
* tree-ssa.c (ssa_redirect_edge): Correct leading comment.

From-SVN: r83477

20 years agoMAINTAINERS: Added self to write-after-approval.
Matthew Sachs [Tue, 22 Jun 2004 04:13:32 +0000 (04:13 +0000)]
MAINTAINERS: Added self to write-after-approval.

From-SVN: r83476

20 years ago* Makefile.in (gimplify.o): Add cgraph.h.
Richard Kenner [Tue, 22 Jun 2004 03:18:15 +0000 (03:18 +0000)]
* Makefile.in (gimplify.o): Add cgraph.h.

From-SVN: r83475

20 years agoalias.c (adjust_offset_for_component_ref): Use component_ref_field_offset.
Richard Kenner [Tue, 22 Jun 2004 03:07:05 +0000 (03:07 +0000)]
alias.c (adjust_offset_for_component_ref): Use component_ref_field_offset.

* alias.c (adjust_offset_for_component_ref): Use
component_ref_field_offset.
* c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
* c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
(gimplify_decl_stmt): Call gimplify_type_sizes for type.
For decl, call gimplify_one_sizepos and use statement list.
(gimplify_compound_literal_expr): New arg PRE_P.
Add statement to PRE_P list and return DECL.
(c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
gimplify_compound_literal_expr.
* c-tree.h (getdecls): Deleted.
* c-typeck.c (build_component_ref): Add operand for COMPONENT_REF.
(build_array_ref): Add two operands for ARRAY_REF.
(build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for
COMPOUND_LITERAL_EXPR.
* coverage.c (tree_coverage_counter_ref): Add new operands
for ARRAY_REF.
* emit-rtl.c (component_ref_for_mem_expr): Add new operand
for COMPONENT_REF.
(set_mem_attributes_minus_bitpos): Use array_ref_low_bound
and array_ref_element_size.
(widen_memory_access):Use component_ref_field_offset.
* explow.c (update_nonlocal_goto_save_area): Add two operands
for ARRAY_REF.
* expr.c (array_ref_element_size, array_ref_low_bound): New functions.
(component_ref_field_offset): Likewise.
(get_inner_reference): Use them.
(expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound.
* fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE.
(fold_read_from_constant_string): Use array_ref_low_bound.
Verify that result is a character type.
(build_fold_indirect_ref): Add two operands for ARRAY_REF.
* function.c (expand_function_start): Likewise.
* gimple-low.c (expand_var_p): Delete duplicated line.
* gimplify.c: Add static decls for local functions.
(cgraph.h): Now included.
(create_tmp_var): Remove check for ARRAY_TYPE.
(copy_if_shared_r): Look at bounds and sizes of types.
(build_and_jump): Return alloc_stmt_list instead of build_empty_stmt.
(gimplify_exit_expr, shortcut_cond_expr): Likewise.
(gimplify_save_expr, gimple_push_cleanup): Likewise.
(gimplify_init_constructor): Likewise.
WANT_VALUE now bool.
If empty list with no result wanted, return GS_UNHANDLED.
Add additional operands for ARRAY_REF and COMPONENT_REF.
(canonicalize_component_ref): Convert to &array[L].
(gimplify_array_ref_to_plus): Use array_ref_element_size and
array_ref_lower_bound.
(build_addr_expr_with_type, build_addr_expr): New functions.
(gimplify_compound_lval): WANT_LVALUE now bool.
Major rework to allow handle_component_p and initialize and
gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and
COMPONENT_REF.
(gimplify_array_ref): Deleted.
(gimplify_self_mod_expr): WANT_VALUE now bool.
(gimplify_modify_expr): Gimplify to_p and from_p later.
Factor out code into gimplify_modify_expr_rhs and call twice.
Move variable-size code earlier and handle PLACEHOLDER_EXPR.
(gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns.
(gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case.
(gimplify_expr, case ARRAY_REF): Delete special case.
Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF,
IMAGPART, and REALPART the same way.
(gimplify_expr, case VIEW_CONVERT_EXPR): New case.
(gimplify_expr): Call gimplify_variable_sized_compare if applicable.
Call alloc_stmt_list instead of build_empty_stmt.
Deal with _REF that's volatile.
(gimplify_type_sizes, gimplify_one_sizepos): New functions.
(unshare_body, unvisit_body): New functions.
(gimplify_body): Call them.
* stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE.
* stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT.
* tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF.
* tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF
like ARRAY_REF.
(verify_expr, case ADDR_EXPR): Use handled_component_p.
* tree-dfa.c (get_virtual_var): Likewise.
* tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF):
New cases to dump new operands; likewise for ARRAY_RANGE_REF.
* tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF.
* tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF
and INDIRECT_REF.
(get_base_address): Use handled_component_p.
* tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New.
* tree-line.c (walk_tree): Walk more things for types and decls.
* tree-mudflap.c (mf_build_check_statement_for): Add new operands
for ARRAY_REF and COMPONENT_REF.
(mx_xform_derefs_1): Clean up usage of decl sizes.
* tree-nested.c (build_addr): Use handled_component_p.
(walk_stmts, case CATCH_EXPR): Add missing "break".
(get_static_chain, get_frame_field): Add new operand for COMPONENT_REF.
(finalize_nesting_tree_1): Likewise.
(convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF
and process additional operands.
(convert_local_reference): Likewise.
* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat
ARRAY_RANGE_REF similarly to ARRAY_REF.
* tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle
like RECORD_TYPE.
(dump_generic_node, case COMPONENT_REF): Print offset operand.
(dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF
and print lower bound and element size for both.
(op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF.
* tree-sra.c (csc_build_component_ref): Add new operand.
(scalarize_call_expr): Use get_base_address.
* tree-ssa-ccp.c (widen_bitfield): Clean up size handling.
(maybe_fold_offset_to_array_ref): Rework to handle input having an
ARRAY_REF, refine handling of lower bound, and add new operands
for ARRAY_REF.
(maybe_fold_to_component_ref): Add new operand for COMPONENT_REF.
(maybe_fold_stmt_indirect): Only fold *&B to B if types match.
(maybe_fold_stmt_addition): Only handle constant lower bound.
* tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands.
Look at new offset operand of COMPONENT_REF.
* tree-ssa.c (set_is_used): Use handled_component_p.
* tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand.
(stabilize_reference, case COMPONENT_REF): Likewise.
(stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly.
(recompute_tree_invariant_for_addr_expr): Completely rework to
be more precise.  Also set TREE_SIDE_EFFECTS.
(build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here.
(build2_stat, build3_stat, build4_stat): For references,
propagate TREE_THIS_VOLATILE.
(get_unwidened): Add new operand for COMPONENT_REF.
(get_narrower): Likewise; use host_integerp for DECL_SIZE.
* tree.def (COMPONENT_REF): Add new operand.
(ARRAY_REF, ARRAY_RANGE_REF): Add two new operands.
* tree.h (array_ref_element_size, array_ref_low_bound): New decls.
(component_ref_field_offset): Likewise.
* config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF.
(alpha_gimplify_va_arg): Likewise.
* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
* config/i860/i860.c (i860_va_start, i860_va_arg): Likewise.
* config/iq2000/iq2000.c (iq2000_va_arg): Likewise.
* config/mips/mips.c (mips_va_start, mips_va_arg): Likewise.
* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
Likewise.
* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
* config/sh/sh.c (sh_va_start, sh_va_arg): Likewise.
* config/stormy16/stormy16.c (xstormy1_expand_builin_va_start):
Likewise.
(xstormy16_expand_builtin_va_arg): Likewise.
* config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise.

* cp/call.c (build_vfield_ref): Add new operand for COMPONENT_REF.
(build_new_method_call): Likewise.
* cp/decl.c (local_variable_p_walkfn): Don't walk into types.
* cp/decl2.c (grok_array_decl): Add new operands for ARRAY_REF.
(build_anon_union_vars): Add new operand for COMPONENT_REF.
* cp/init.c (buld_new): Add new operand for ARRAY_REF.
* cp/method.c (do_build_copy_constructor): New op for COMPONENT_REF.
(do_build_assign_ref): Likewise.
* cp/parser.c (cp_parser_direct_new_declarator): Add new operands
for ARRAY_REF.
(cp_parser_direct_declarator): Likewise.
* cp/pt.c (tsubst): Likewise.
(tsubst_copy, tsubst_copy_and_build): Likewise; also add new operand
  for COMPONENT_REF.
* cp/semantics.c (finish_non_static_data_member): Add new operand
for COMPONENT_REF.
* cp/typeck.c (build_class_member_access_expr): Likewise.
(build_class_member_access_expr, finish_class_member_access_expr):
Likewise.
(build_ptrmemfunc_access_expr): Likewise.
(build_array_ref): Add new operands for ARRAY_REF.
* cp/typeck2.c (split_nonconstant_init_1): Likewise; COMPONENT_REF too.
* cp/tree.c (count_trees_r, no_linkage_helper): Don't walk in types.

* fortran/f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
* fortran/trans-array.c (gfc_conv_descriptor_data): Add operand
for COMPONENT_REF.
(gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
(gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
(gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
* fortran/trans-common.c (create_common): Likewise.
* fortran/trans-expr.c (gfc_conv_component_ref): Likewise.
* fortran/trans-io.c (set_parameter_value): Likewise.
(set_parameter_ref, set_string, set_flag, io_result): Likewise.
(transfer_expr): Likewise.
* fortran/trans-decl.c (gfc_trans_auto_character_variable):
Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
(gfc_simplify_function): New function.
(gfc_generate_function-code): Properly handle nested functions.
* fortran/trans.c (gfc_build_array_ref): Add two new operands
for ARRAY_REF.

* java/class.c (build_class_ref): Add new operand for COMPONENT_REF.
(build_static_field_ref): Likewise and add new operands for ARRAY_REF.
* java/constants.c (build_ref_from_constant_pool): Likewise.
* java/expr.c (build_java_array_length_access): Likewise.
(build_get_class, build_field_ref, build_known_method_ref): Likewise.
(invoke_build_dtable, build_invokevirtual): Likewise.
(build_invokeinterface, java_expand_expr): Likewise.
(emit_init_test_initialization): Likewise.
* java/java-gimplify.c (java_gimplify_new_array_init): Likewise.
* java/parse.y (make_qualifed_name, build_array_ref): Likewise.

* objc/ojbc-act.c (generate_static_references): Add additional
operands to ARRAY_REF.
(generate_strings, build_method_prototype_list_template): Likewise.
(generate_protocol_list): Likewise.

From-SVN: r83474

20 years agoconfigure.in: Check for srcdir/winsup rather than build directory winsup.
Christopher Faylor [Tue, 22 Jun 2004 01:37:04 +0000 (01:37 +0000)]
configure.in: Check for srcdir/winsup rather than build directory winsup.

* configure.in: Check for srcdir/winsup rather than build directory winsup.
* configure: Regenerate.

From-SVN: r83473

20 years agore PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)
Janne Blomqvist [Tue, 22 Jun 2004 00:43:55 +0000 (03:43 +0300)]
re PR fortran/15750 (IOLENGTH form of INQUIRE statement not implemented)

PR fortran/15750
* io.c (gfc_match_inquire): Bugfix for iolength related stuff.
(gfc_resolve_inquire): Resolve the iolength tag.  Return
SUCCESS at end of function if no failure has occured.
* resolve.c (resolve_code): Resolve if iolength is encountered.
* trans-io.c: (ioparm_iolength, iocall_iolength,
iocall_iolength_done): New variables.
(last_dt): Add IOLENGTH.
(gfc_build_io_library_fndecls ): Set iolength related variables.
(gfc_trans_iolength): Implement.
(gfc_trans_dt_end): Treat iolength as a third form of data transfer.
libgfortran/
PR fortran/15750
* inquire.c (st_inquire): Add comment
* io.h (st_parameter): Add iolength.
(st_iolength, st_iolength_done): Declare.
* transfer.c (iolength_transfer, iolength_transfer_init,
st_iolength, st_iolength_done): New functions.
testsuite/
* gfortran.fortran-torture/execute/iolength_1.f90: New test.
* gfortran.fortran-torture/execute/iolength_3.f90: New test.

From-SVN: r83472

20 years agolinker-map.gnu: Use wildcards for __basic_file::sys_open(FILE*, _Ios_Openmode).
Loren J. Rittle [Tue, 22 Jun 2004 00:24:52 +0000 (00:24 +0000)]
linker-map.gnu: Use wildcards for __basic_file::sys_open(FILE*, _Ios_Openmode).

* config/linker-map.gnu: Use wildcards for
__basic_file::sys_open(FILE*, _Ios_Openmode).

From-SVN: r83470

20 years agoDaily bump.
GCC Administrator [Tue, 22 Jun 2004 00:16:47 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83467.2

20 years agoDaily bump.
GCC Administrator [Tue, 22 Jun 2004 00:16:42 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83466.2

20 years agore PR rtl-optimization/14782 (produces an unaligned data access at -O2)
John David Anglin [Mon, 21 Jun 2004 23:49:04 +0000 (23:49 +0000)]
re PR rtl-optimization/14782 (produces an unaligned data access at -O2)

PR rtl-optimization/14782
* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
the address checks for secondary reloads for loads from and stores
to floating-point registers.
* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
in the address check.  Move work around for ELF32 targets to
GO_IF_LEGITIMATE_ADDRESS.
(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
correctly aligned for DImode loads and stores.  Don't allow long
SFmode displacements on ELF32.

From-SVN: r83464

20 years agore PR rtl-optimization/16114 (Hang in cse.c (flush_hash_table))
Richard Henderson [Mon, 21 Jun 2004 23:39:26 +0000 (16:39 -0700)]
re PR rtl-optimization/16114 (Hang in cse.c (flush_hash_table))

        PR rtl-opt/16114
        * cse.c (merge_equiv_classes): Also rehash in response to
        delete_reg_equiv changes.
        (rehash_using_reg): Don't exclude REGs from rehashing.

From-SVN: r83463

20 years agoc-common.def (RETURN_STMT): Remove.
Richard Henderson [Mon, 21 Jun 2004 23:30:30 +0000 (16:30 -0700)]
c-common.def (RETURN_STMT): Remove.

        * c-common.def (RETURN_STMT): Remove.
        * c-common.h (RETURN_STMT_EXPR): Remove.
        (c_expand_return, build_return_stmt): Remove.
        (c_common_stmt_codes): Remove RETURN_STMT.
        * c-dump.c (dump_next_stmt): Remove.
        (c_dump_tree): Remove RETURN_STMT.
        * c-decl.c (finish_function): Use c_finish_return.
        * c-parse.in (stmt): Likewise.
        * c-gimplify.c (gimplify_return_stmt): Remove.
        (c_gimplify_expr): Remove RETURN_STMT.
        * c-pretty-print.c (pp_c_statement): Likewise.
        * c-semantics.c (build_return_stmt): Remove.
        * c-tree.h (c_finish_return): Declare.
        * c-typeck.c (c_finish_return): Rename from c_expand_return.
        Return void.  Build RETURN_EXPR directly.
        * tree-dump.h (dump_next_stmt): Remove.
cp/
        * dump.c (cp_dump_tree): Don't use dump_next_stmt.
        * parser.c (cp_parser_jump_statement): Update commentary.
        * pt.c (tsubst_expr): Use RETURN_EXPR.
        * semantics.c (finish_return_stmt): Likewise.
        (finalize_nrv_r): Likewise.
        * typeck.c, typeck2.c: Update file start commentary.

From-SVN: r83461

20 years agoc-decl.c (start_function): Don't call make_decl_rtl.
Zack Weinberg [Mon, 21 Jun 2004 23:04:49 +0000 (23:04 +0000)]
c-decl.c (start_function): Don't call make_decl_rtl.

* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
look at TREE_ADDRESSABLE of symbol name.

From-SVN: r83460

20 years agoselect_1.f90: Rename function to fix type error.
Tobias Schlüter [Mon, 21 Jun 2004 22:56:34 +0000 (00:56 +0200)]
select_1.f90: Rename function to fix type error.

* gfortran.fortran-torture/execute/select_1.f90: Rename function
to fix type error.
* gfortran.fortran-torture/execute/intrinsic_associated.f90:
Remove trailing spaces.

From-SVN: r83459

20 years agore PR target/15551 (-mtune=pentium4 -O2 with sjlj EH breaks stack probe worker on...
Kelley Cook [Mon, 21 Jun 2004 22:52:04 +0000 (22:52 +0000)]
re PR target/15551 (-mtune=pentium4  -O2 with sjlj EH breaks stack probe worker on windows32  targets)

2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>

PR target/15551
* config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
(allocate_stack_worker): Make unspec_volatile.
(allocate_stack_worker_rex64):  Likewise.
(allocate_stack_worker_postreload):  Likewise.
(allocate_stack_worker_rex64_postreload):  Likewise.

From-SVN: r83458

20 years agoFix whitespace from previous checking
R. Kelley Cook [Mon, 21 Jun 2004 22:48:39 +0000 (22:48 +0000)]
Fix whitespace from previous checking

From-SVN: r83457

20 years agoetime.c (etime_sub): Remove array rank check; Add check for sufficient space.
Steven G. Kargl [Mon, 21 Jun 2004 22:25:12 +0000 (22:25 +0000)]
etime.c (etime_sub): Remove array rank check; Add check for sufficient space.

* etime.c (etime_sub): Remove array rank check;
Add check for sufficient space.

From-SVN: r83456

20 years agore PR fortran/15511 (Warning about truncated lines does not follow the standard gcc...
Tobias Schlüter [Mon, 21 Jun 2004 22:22:32 +0000 (00:22 +0200)]
re PR fortran/15511 (Warning about truncated lines does not follow the standard gcc error message format)

PR fortran/15511
* scanner.c (load_line): Don't truncate preprocessor lines.
Reformat error message.
(preprocessor_line): Issue warning in case of malformed
preprocessor line.

From-SVN: r83455

20 years agoNew test, extracted from 15982
Daniel Berlin [Mon, 21 Jun 2004 21:59:38 +0000 (21:59 +0000)]
New test, extracted from 15982

From-SVN: r83454

20 years agore PR tree-optimization/15982 (ICE in tree-ssa-pre due to GVN-PRE)
Daniel Berlin [Mon, 21 Jun 2004 21:57:33 +0000 (21:57 +0000)]
re PR tree-optimization/15982 (ICE in tree-ssa-pre due to GVN-PRE)

2004-06-21  Daniel Berlin  <dberlin@dberlin.org>

    Fix PR optimization/15982
    * tree-ssa-pre.c: Update a few comments and todos to
    reflect constants change.
    (get_value_handle): Constants now value number to themselves.
    (lookup): Constants lookup to themselves.
    (add_to_value): Adjust to always be on.
    (set_contains_value): Adjust for constants change.
    (find_leader): Ditto.
    (phi_translate): 'r' nodes are never ANTIC right now.
    (valid_in_set): Ditto.
    (get_expr_set): New function.
    (find_or_generate_expression): New function, broken out from
    insert_aux.
    (create_expression_by_pieces): Ditto, plus additional
    machinery to handle complex values.
    (compute_avail): Remove dead RETURN_EXPR handling.

From-SVN: r83453

20 years agoi386.c: Include insn-codes.h
Steven Bosscher [Mon, 21 Jun 2004 20:41:39 +0000 (20:41 +0000)]
i386.c: Include insn-codes.h

* config/i386/i386.c: Include insn-codes.h
* config/i386/i386.h (FLAGS_REG, FPSR_REG, DIRFLAG_REG): Don't
define here.
* config/i386/i386.md (BP_REG, SP_REG, FLAGS_REG, FPSR_REG,
DIRFLAG_REG): New define_constants.  Use them everywhere.

From-SVN: r83451

20 years agoTypo fix.
Joern Rennecke [Mon, 21 Jun 2004 19:11:23 +0000 (20:11 +0100)]
Typo fix.

From-SVN: r83445

20 years ago[multiple changes]
Joern Rennecke [Mon, 21 Jun 2004 18:18:40 +0000 (19:18 +0100)]
[multiple changes]

2004-06-21  Kaz Kojima  <kkojima@gcc.gnu.org>

* config/sh/t-linux (MULTILIB_OPTIONS): Remove.

2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>

* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations).  Support --with-endian, --with-cpu,
--with-multilib-list options.  Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.

From-SVN: r83444

20 years agoresolve.c (resolve_symbol): Add comment in function body.
Tobias Schlüter [Mon, 21 Jun 2004 17:23:52 +0000 (19:23 +0200)]
resolve.c (resolve_symbol): Add comment in function body.

* resolve.c (resolve_symbol): Add comment in function body.
(check_data_variable): Change type of mark to ar_type, adapt code
accordingly.

From-SVN: r83443

20 years agoarray.c (gfc_insert_constructor): Avoid redundant call to mpz_comp.
Tobias Schlüter [Mon, 21 Jun 2004 17:16:25 +0000 (19:16 +0200)]
array.c (gfc_insert_constructor): Avoid redundant call to mpz_comp.

* array.c (gfc_insert_constructor): Avoid redundant call to
mpz_comp. Add 2004 to copyright years.

From-SVN: r83442

20 years agojava-gimplify.c (java_gimplify_block): set TREE_USED on the new block.
Andrew Haley [Mon, 21 Jun 2004 16:55:07 +0000 (16:55 +0000)]
java-gimplify.c (java_gimplify_block): set TREE_USED on the new block.

2004-06-21  Andrew Haley  <aph@redhat.com>

* java-gimplify.c (java_gimplify_block): set TREE_USED on the new
block.

From-SVN: r83441

20 years agoObjectOutputStream.java: Add DEBUG statements everywhere.
Andrew Haley [Mon, 21 Jun 2004 16:52:14 +0000 (16:52 +0000)]
ObjectOutputStream.java: Add DEBUG statements everywhere.

2004-06-21  Andrew Haley  <aph@redhat.com>

* java/io/ObjectOutputStream.java: Add DEBUG statements
everywhere.
(dumpElementln): New method.
(depth): New field.
* java/io/ObjectInputStream.java
(currentClassLoader): Make native.
(callersClassLoader): New field.
(depth): New field.
(readObject): ENDBLOCKDATA is generated if the class has a write
method, not if it has a read method.
(readObject): Save and restore this.currentObject and
this.currentObjectStreamClass around calls to callReadMethod().
* java/io/natObjectInputStream.cc (getCallersClassLoader): New
method.

From-SVN: r83440

20 years agoAdding self to MAINTAINERS
Matthew Sachs [Mon, 21 Jun 2004 16:47:49 +0000 (16:47 +0000)]
Adding self to MAINTAINERS

From-SVN: r83439

20 years ago* encoding.c (BITS_PER_UNIT): Define if a definition is not provided.
Nick Clifton [Mon, 21 Jun 2004 16:39:21 +0000 (16:39 +0000)]
* encoding.c (BITS_PER_UNIT): Define if a definition is not provided.

From-SVN: r83438

20 years agoarm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need not imply FPA.
Paul Brook [Mon, 21 Jun 2004 13:32:09 +0000 (13:32 +0000)]
arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need not imply FPA.

* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need
not imply FPA.

From-SVN: r83434

20 years agofold-const.c (operand_equal_p): Pass flags in recursive calls for binary and relation...
Roger Sayle [Mon, 21 Jun 2004 12:59:58 +0000 (12:59 +0000)]
fold-const.c (operand_equal_p): Pass flags in recursive calls for binary and relational operations.

* fold-const.c (operand_equal_p): Pass flags in recursive calls for
binary and relational operations.  Add support for TRUTH_ANDIF_EXPR,
TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR.
* tree.c (commutative_tree_code): Also list UNORDERED_EXPR,
ORDERED_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR
and TRUTH_XOR_EXPR.

From-SVN: r83433

20 years agortlanal.c (may_trap_p): Mark LTGT as trapping.
Paolo Bonzini [Mon, 21 Jun 2004 12:51:37 +0000 (12:51 +0000)]
rtlanal.c (may_trap_p): Mark LTGT as trapping.

2004-06-21  Paolo Bonzini  <bonzini@gnu.org>

* rtlanal.c (may_trap_p): Mark LTGT as trapping.

From-SVN: r83432

20 years agotree-alias-common.h (struct tree_alias_ops): Change ip and ip_partial to unsigned...
Joseph Myers [Mon, 21 Jun 2004 12:37:46 +0000 (13:37 +0100)]
tree-alias-common.h (struct tree_alias_ops): Change ip and ip_partial to unsigned int.

* tree-alias-common.h (struct tree_alias_ops): Change ip and
ip_partial to unsigned int.

fortran:
* trans.h (stmtblock_t): Change has_scope to unsigned int.

java:
* jcf.h (struct JCF): Change java_source, right_zip and finished
to unsigned int.
* lex.h (struct java_lexer): Change hit_eof, read_anything,
byte_swap and use_fallback to unsigned int.
* parse.h (struct _jdep): Change flag0 to unsigned int.

From-SVN: r83430

20 years agoc-common.c (verify_sequence_points): Export.
Richard Henderson [Mon, 21 Jun 2004 09:15:29 +0000 (02:15 -0700)]
c-common.c (verify_sequence_points): Export.

        * c-common.c (verify_sequence_points): Export.
        (c_expand_expr_stmt): Move to c-typeck.c.
        * c-common.h (c_expand_expr_stmt): Remove.
        (verify_sequence_points): Declare.
        * c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt.
        * c-parse.in (for_init_stmt, stmt): Likewise.
        * c-tree.h (c_finish_expr_stmt): Declare.
        (c_tree_expr_nonnegative_p): Remove.
        * c-typeck.c (c_tree_expr_nonnegative_p): Remove.
        (build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p.
        (emit_side_effect_warnings): New.
        (c_finish_expr_stmt): Rename from c_expand_expr_stmt.  Use it.
        (c_finish_stmt_expr): Work without EXPR_STMT.  Handle eh regions.
        Use emit_side_effect_warnings.
        (push_cleanup): Copy STATEMENT_LIST_STMT_EXPR.
        * fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR.
        * gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR
        with void initializer.
        (gimplify_target_expr): Handle void BIND_EXPR initializer.
        * tree-inline.c (estimate_num_insns_1): Fix type lookup for
        INIT_EXPR and MODIFY_EXPR.
        * objc/objc-act.c (build_module_descriptor): Use add_stmt
        instead of c_expand_expr_stmt.
cp/
        * semantics.c (finish_expr_stmt): Call verify_sequence_points.
testsuite/
        * gcc.dg/tree-ssa/20030714-1.c: Rename variables to avoid
        merging && to BIT_FIELD_REF.

From-SVN: r83429

20 years agofold-const.c (fold_cond_expr_with_comparison): New function, extracted from fold.
Paolo Bonzini [Mon, 21 Jun 2004 08:34:12 +0000 (08:34 +0000)]
fold-const.c (fold_cond_expr_with_comparison): New function, extracted from fold.

2004-06-21  Paolo Bonzini  <bonzini@gnu.org>

* fold-const.c (fold_cond_expr_with_comparison):
New function, extracted from fold.
(fold): Extract code to fold A op B ? A : C, use
it to fold A op B ? C : A.  Really optimize
A & N ? N : 0 where N is a power of two.  Avoid
relying on canonicalization and recursion for
foldings of COND_EXPR to happen.

From-SVN: r83428

20 years ago* g++.dg/opt/placeholder1.C: New test.
Richard Sandiford [Mon, 21 Jun 2004 06:32:29 +0000 (06:32 +0000)]
* g++.dg/opt/placeholder1.C: New test.

From-SVN: r83427

20 years agoobjc-act.h (get_object_reference): Rename to get_protocol_reference.
David Ayers [Mon, 21 Jun 2004 01:50:18 +0000 (03:50 +0200)]
objc-act.h (get_object_reference): Rename to get_protocol_reference.

2004-06-20  David Ayers  <d.ayers@inode.at>

* objc/objc-act.h (get_object_reference): Rename to
get_protocol_reference.
(super_type): Rename to objc_super_type.
(selector_type): Rename to objc_selector_type.
(id_type): Rename to objc_id_type.
(instance_type): Rename to objc_instance_type.
(protocol_type): Rename to objc_protocol_type.
(IS_ID): Update reference to id_type.
* objc/objc-act.c (get_object_reference): Rename to
get_protocol_reference; add documentation; update references to
id_type.
(lookup_method_in_protocol_list): Rename class_meth to
is_class; add documentation.
(finish_message_expr): Rename is_class to class_tree.
(synth_module_prologue, objc_is_object_ptr, objc_build_exc_ptr,
next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
build_next_objc_exception_stuff, get_arg_type_list,
build_objc_method_call): Update references to id_type.
(synth_module_prologue, build_objc_symtab_template,
build_selector_reference_decl, build_selector,
build_selector_translation_table, build_typed_selector_reference,
get_arg_type_list, synth_self_and_ucmd_args, get_arg_type_list,
synth_self_and_ucmd_args): Update references to selector_type.
(build_private_template, build_ivar_reference): Update references
to instance_type.
(synth_module_prologue, build_protocol_reference,
build_protocol_expr, start_protocol): Update references to
protocol_type.
(synth_module_prologue, get_arg_type_list, build_objc_method_call):
Update references to super_type.
* c-parse.in: (typespec_nonreserved_nonattr): Update
references to get_object_reference.
* objc/objc-tree.def: Add C mode identifier sequence.

From-SVN: r83425

20 years agoDaily bump.
GCC Administrator [Mon, 21 Jun 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83423.2

20 years agoDaily bump.
GCC Administrator [Mon, 21 Jun 2004 00:16:11 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83422.2

20 years agoloop-invariant.c: New file.
Zdenek Dvorak [Sun, 20 Jun 2004 21:31:32 +0000 (23:31 +0200)]
loop-invariant.c: New file.

* loop-invariant.c: New file.
* Makefile.in (loop-invariant.o): New.
* cfgloop.h (global_cost_for_size, init_set_costs,
move_loop_invariants): Declare.
* cfgloopanal.c (seq_cost, init_set_costs, global_cost_for_size): New
functions.
(avail_regs, res_regs, small_cost, pres_cost, spill_cost): New
variables.
* common.opt (floop-optimize2, fmove-loop-invariants): New options.
* loop-init.c (loop_optimizer_init): Call init_set_costs.
* passes.c (rest_of_handle_loop2): Call move_loop_invariants.
(rest_of_compilation): Check flag_loop_optimize2.
* toplev.c (process_options): Handle flag_loop_optimize2.
* doc/invoke.texi (-floop-optimize2, -fmove-loop-invariants): Document.
* doc/passes.texi (loop-invariant.c): Document.

From-SVN: r83419

20 years ago* tree-ssa-pre.c (compute_antic): Keep BB_VISITED flag zeroed.
Zdenek Dvorak [Sun, 20 Jun 2004 21:12:55 +0000 (23:12 +0200)]
* tree-ssa-pre.c (compute_antic): Keep BB_VISITED flag zeroed.

From-SVN: r83418

20 years agoarith.c (gfc_range_check): correct complex underflow.
Steven G. Kargl [Sun, 20 Jun 2004 18:34:25 +0000 (18:34 +0000)]
arith.c (gfc_range_check): correct complex underflow.

2004-06-20  Steven G. Kargl  <kargls@comcast.net>

* arith.c (gfc_range_check): correct complex underflow.

From-SVN: r83417

20 years agostmt.c (warn_if_unused_value): Add locus argument.
Richard Henderson [Sun, 20 Jun 2004 17:16:27 +0000 (10:16 -0700)]
stmt.c (warn_if_unused_value): Add locus argument.

        * stmt.c (warn_if_unused_value): Add locus argument.
        * tree.h (warn_if_unused_value): Update decl.
        * c-typeck.c (internal_build_compound_expr): Update call.
        * c-gimplify.c (gimplify_expr_stmt): Likewise.

From-SVN: r83416

20 years agore PR middle-end/16089 (unwind-dw2.c:1311: error: insn outside basic block)
Andrew Pinski [Sun, 20 Jun 2004 17:03:04 +0000 (17:03 +0000)]
re PR middle-end/16089 (unwind-dw2.c:1311: error: insn outside basic block)

2004-06-20  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/16089
        * builtins.c (entry_of_function): Move to ...
        * cfgrtl.c (entry_of_function): Here and make non-static.
        * integrate.c (emit_initial_value_sets): Use entry_of_function.
        * rtl.h (entry_of_function): Prototype.

From-SVN: r83415

20 years agoi386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
Roger Sayle [Sun, 20 Jun 2004 15:10:34 +0000 (15:10 +0000)]
i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.

* config/i386/i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
(ix86_rtx_costs) <ASHIFT, PLUS>: Consider ix86_cost->lea even when
TARGET_DECOMPOSE_LEA.

From-SVN: r83413

20 years agostruct-complex-1_x.c: Add dummy symbol.
Eric Botcazou [Sun, 20 Jun 2004 12:46:33 +0000 (14:46 +0200)]
struct-complex-1_x.c: Add dummy symbol.

* gcc.dg/compat/struct-complex-1_x.c: Add dummy symbol.
* gcc.dg/compat/struct-complex-1_y.c: Likewise.
* gcc.dg/compat/union-m128-1_x.c: Likewise.
* gcc.dg/compat/union-m128-1_y.c: Likewise.

From-SVN: r83411

20 years agodecl.c (elaborate_expression, [...]): Arguments now bool instead of int.
Richard Kenner [Sun, 20 Jun 2004 11:19:47 +0000 (11:19 +0000)]
decl.c (elaborate_expression, [...]): Arguments now bool instead of int.

* decl.c (elaborate_expression, elaborate_expression_1): Arguments
now bool instead of int.
(gnat_to_gnu_entity, elaborate_expression_1): New arg to COMPONENT_REF.
* trans.c (gnu_switch_label_stack): New function.
(gnat_to_gnu, N_Object_Renaming_Declaration): Result is what the
elaboration of renamed entity returns.
(gnat_to_gnu, case N_Case_Statement): Add branches to end label.
(add_decl_stmt): Don't add TYPE_DECL for UNCONSTRAINED_ARRAY_TYPE.
(gnat_gimplify_stmt): Use alloc_stmt_list, not build_empty_stmt.
(gnat_gimplify_stmt, case DECL_STMT): gimplify DECL_SIZE and
DECL_SIZE_UNIT and simplify variable-sized case.
(gnat_gimplify_type_sizes, gnat_gimplify_one_sizepos): Deleted.
Callers changes to call gimplify_type_sizes and gimplify_one_sizepos.
(gnat_stabilize_reference): Add arg to COMPONENT_REF.
(build_unit_elab): Disable for now.
* utils.c (mark_visited): New function.
(pushdecl): Walk tree to call it for global decl.
(update_pointer_to): Update all variants of pointer and ref types.
Add arg to COMPONENT_REF.
(convert): Likewise.
Move check for converting between variants lower down.
* utils2.c (build_simple_component_ref): Add arg to COMPONENT_REF.
(build_allocator): Don't force type of MODIFY_EXPR.
(gnat_mark_addressable, case VAR_DECL): Unconditionally call
put_var_into_stack.

From-SVN: r83410

20 years agoc-common.h (add_decl_stmt): Move to cp-tree.h.
Richard Henderson [Sun, 20 Jun 2004 10:10:02 +0000 (03:10 -0700)]
c-common.h (add_decl_stmt): Move to cp-tree.h.

        * c-common.h (add_decl_stmt): Move to cp-tree.h.
        * c-decl.c (finish_decl): Don't use add_decl_stmt.
        * c-parse.in: Likewise.
        * c-gimplify.c (gimplify_expr_stmt): Don't build CLEANUP_POINT_EXPR.
        (gimplify_c_loop, gimplify_return_stmt, gimplify_decl_stmt): Likewise.
        * c-semantics.c (add_decl_stmt): Move to cp/semantics.c.
cp/
        * cp-tree.h (add_decl_stmt): Declare.
        * pt.c (tsubst_copy): Abort for CLEANUP_POINT_EXPR.
        * semantics.c (maybe_cleanup_point_expr): New.
        (add_decl_stmt, finish_expr_stmt, finish_return_stmt,
        finish_for_expr, finish_switch_cond): Use it.
        (finalize_nrv_r): Don't build an EXPR_STMT.  Don't frob TREE_CHAIN.

From-SVN: r83409

20 years ago3.cc: New.
Paolo Carlini [Sun, 20 Jun 2004 09:42:39 +0000 (09:42 +0000)]
3.cc: New.

2004-06-20  Paolo Carlini  <pcarlini@suse.de>

* testsuite/27_io/basic_istream/ignore/char/3.cc: New.

From-SVN: r83408

20 years agoc-common.def (IF_STMT, [...]): Move to cp-tree.def.
Richard Henderson [Sun, 20 Jun 2004 09:18:13 +0000 (02:18 -0700)]
c-common.def (IF_STMT, [...]): Move to cp-tree.def.

        * c-common.def (IF_STMT, CLEANUP_STMT): Move to cp-tree.def.
        * c-common.h (IF_COND, THEN_CLAUSE, ELSE_CLAUSE, CLEANUP_BODY,
        CLEANUP_EXPR, CLEANUP_DECL): Move to cp-tree.h.
        (c_common_stmt_codes): Remove IF_STMT, CLEANUP_STMT.
        * c-dump.c (c_dump_tree): Move IF_STMT, CLEANUP_STMT to cp_dump_tree.
        * c-pretty-print.c (pp_c_statement): Similarly.
        * c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts,
        gimplify_if_stmt): Move to cp-gimplify.c.
        (c_genericize, c_gimplify_expr): Don't call them.
        * c-semantics.c (push_cleanup): Move to cp/semantics.c.
        * c-typeck.c (push_cleanup): New.
        (c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_finish_else,
        c_finish_if_stmt): Use COND_EXPR.
        * tree.h (CLEANUP_EH_ONLY): Update documentation.
cp/
        * cp-tree.def (CLEANUP_STMT, IF_STMT): Move from c-common.def.
        * cp-gimplify.c (gimplify_if_stmt): Move from c-gimplify.c.
        (cp_gimplify_expr): Call it.
        (gimplify_cleanup_stmt): Move from c-gimplify.c.
        (cp_genericize): New.
        * decl.c (finish_function): Call it.
        * cp-tree.h (cp_stmt_codes): Add CLEANUP_STMT, IF_STMT.
        (CLEANUP_BODY, CLEANUP_EXPR, CLEANUP_DECL): Move from c-common.h.
        (IF_COND, THEN_CLAUSE, ELSE_CLAUSE): Likewise.
        (cp_genericize): Declare.
        * cxx-pretty-print.c (pp_cxx_statement): Add CLEANUP_STMT, IF_STMT.
        * dump.c (cp_dump_tree): Likewise.
        * semantics.c (push_cleanup): Move from c-semantics.c.

From-SVN: r83407

20 years agoMakefile.am: Add rule for .S files to fix bootstrap on solaris and alpha.
Andreas Tobler [Sun, 20 Jun 2004 09:14:17 +0000 (11:14 +0200)]
Makefile.am: Add rule for .S files to fix bootstrap on solaris and alpha.

2004-06-20  Andreas Tobler  <a.tobler@schweiz.ch>

* Makefile.am: Add rule for .S files to fix bootstrap on
solaris and alpha.
* Makefile.in: Regenerate.

From-SVN: r83406

20 years agoc-common.h (has_c_linkage): New interface.
Zack Weinberg [Sun, 20 Jun 2004 08:34:54 +0000 (08:34 +0000)]
c-common.h (has_c_linkage): New interface.

* c-common.h (has_c_linkage): New interface.
* c-cppbuiltin.c: Include target.h.
(c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and
__PRAGMA_EXTERN_PREFIX when appropriate.
* c-pragma.c: Include target.h.
Document clarified semantics of symbol-renaming #pragmas.
(handle_pragma_redefine_extname, handle_pragma_extern_prefix)
(maybe_apply_renaming_pragma): Rewrite according to clarified
semantics.  Always recognize, but do not necessarily execute.
(init_pragma): Unconditionally register symbol-renaming pragmas.
* system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME
and HANDLE_PRAGMA_EXTERN_PREFIX.
* target.h (struct gcc_target): Add handle_pragma_redefine_extname
and handle_pragma_extern_prefix flags.
* target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME
and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX.
* Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies.
* config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME,
not HANDLE_PRAGMA_REDEFINE_EXTNAME.
(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME.
(TRANSFER_FROM_TRAMPOLINE): Prototype mprotect.
* config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX,
not HANDLE_PRAGMA_EXTERN_PREFIX.
(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX.
* doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine
into one section "Symbol-Renaming Pragmas"; clarify; document
adjusted semantics.

* builtins.c (expand_builtin): Do not issue error for a builtin
with no special case code and no DECL_ASSEMBLER_NAME; just do the
library call.
* c-decl.c (builtin_function): Don't call make_decl_rtl.
* c-objc-common.c (has_c_linkage): Stub implementation.
* cgraphunit.c (cgraph_expand_function)
(cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS.

cp:
* cp-lang.c (has_c_linkage): Implement.

* cp-tree.h (set_mangled_name_for_decl): Don't prototype.
* decl.c (duplicate_decls): Use COPY_DECL_RTL.
(builtin_function_1): Don't call make_decl_rtl.
(build_cp_library_fn): Don't call set_mangled_name_for_decl.
(grokvardecl): Don't call mangle_decl.
* except.c (nothrow_libfn_p): Look at DECL_NAME, not
DECL_ASSEMBLER_NAME.
* method.c (set_mangled_name_for_decl): Delete.
* name-lookup.c (pushdecl): When a local extern shadows a
file-scope declaration of the same object, give both DECLs the
same DECL_UID.
* typeck.c (cxx_mark_addressable): Don't set TREE_ADDRESSABLE
on DECL_ASSEMBLER_NAME.

testsuite:
* g++.dg/expr/enum1.C, g++.dg/opt/const3.C: Declare abort with
extern "C".
* g++.dg/other/pragma-re-1.C: Add comments.

From-SVN: r83405

20 years agobuiltins.c (fold_builtin_unordered_cmp): Take an EXP argument instead of both an...
Roger Sayle [Sun, 20 Jun 2004 03:56:05 +0000 (03:56 +0000)]
builtins.c (fold_builtin_unordered_cmp): Take an EXP argument instead of both an ARGLIST and a result TYPE.

* builtins.c (fold_builtin_unordered_cmp): Take an EXP argument
instead of both an ARGLIST and a result TYPE.  Handle these C99
comparison functions as "polymorphic" builtins.  Also handle
lowering of BUILT_IN_ISUNORDERED to an UNORDERED_EXPR tree node.
(fold_builtin_1): Update calls to fold_builtin_unordered_cmp.
Move handling of BUILT_IN_ISUNORDERED from here to there.

From-SVN: r83404

20 years agoDaily bump.
GCC Administrator [Sun, 20 Jun 2004 00:16:17 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83402.2

20 years agoDaily bump.
GCC Administrator [Sun, 20 Jun 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.

[[Split portion of a mixed commit.]]

From-SVN: r83401.2

20 years agoTidied up/fixed compilation of exception.c
Alexander Malmberg [Sat, 19 Jun 2004 23:46:27 +0000 (23:46 +0000)]
Tidied up/fixed compilation of exception.c

From-SVN: r83399

20 years agoc-common.c, c-common.h (lang_gimplify_stmt): Remove.
Richard Henderson [Sat, 19 Jun 2004 19:34:23 +0000 (12:34 -0700)]
c-common.c, c-common.h (lang_gimplify_stmt): Remove.

        * c-common.c, c-common.h (lang_gimplify_stmt): Remove.
        * c-gimplify.c: Remove unnecessary prototypes.
        (c_gimplify_stmt): Merge into ...
        (c_gimplify_expr): ... here.  Don't play with prep_stmt.
        * c-semantics.c (prep_stmt): Remove.
        * gimplify.c (annotate_one_with_locus): Break out from ...
        (annotate_all_with_locus): ... here.
        (gimplify_expr): Add locus to expressions even if pre/post queues
        are not present.
cp/
        * cp-gimplify.c: Remove unnecessary prototypes.
        (cp_gimplify_stmt): Merge into ...
        (cp_gimplify_expr): ... here.  Move to end of file.  Handle
        stmts_are_full_exprs_p frobbing.
        * cp-tree.h (cp_gimplify_stmt): Remove.
        * pt.c (tsubst_expr): Merge prep_stmt and unify.
        * tree.c (init_tree): Don't set lang_gimplify_stmt.

From-SVN: r83397

20 years agore PR target/15941 (new fails gcc.dg/compat/struct-by-value-11 and gcc.dg/compat...
Richard Henderson [Sat, 19 Jun 2004 19:24:56 +0000 (12:24 -0700)]
re PR target/15941 (new fails gcc.dg/compat/struct-by-value-11 and gcc.dg/compat/struct-by-value-1)

PR target/15941
* function.c (assign_parms): If not padding upward or intentionally
forcing upward padding, take offset_rtx into account when determining
the alignment for stack_parm.

From-SVN: r83396