]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
16 years agoMakefile.am (install-data-local): Remove pch-install rules.
Benjamin Kosnik [Wed, 22 Aug 2007 01:26:43 +0000 (01:26 +0000)] 
Makefile.am (install-data-local): Remove pch-install rules.

2007-08-21  Benjamin Kosnik  <bkoz@montsouris.artheist.org>

* include/Makefile.am (install-data-local): Remove pch-install rules.
(host_headers): Add stdc++.h, stdtr1c++.h, extc++.h.
* include/Makefile.in: Regenerate.
* config.h.in: Same.

* scripts/check_compile: Remove space between outputs.
* include/ext/throw_allocator.h: Correct doxygen markup.
* include/bits/char_traits.h: Correct spacing.
* include/bits/stl_function.h: Same, for 80 column.
* include/std/valarray: Same.
* testsuite/util/testsuite_iterators.h: Same.
* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Format.

From-SVN: r127685

16 years agoDaily bump.
GCC Administrator [Wed, 22 Aug 2007 00:17:11 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r127683

16 years agore PR tree-optimization/33134 (ICE in set_value_range, at tree-vrp.c:325)
Ian Lance Taylor [Tue, 21 Aug 2007 21:35:06 +0000 (21:35 +0000)] 
re PR tree-optimization/33134 (ICE in set_value_range, at tree-vrp.c:325)

./: PR tree-optimization/33134
* tree-vrp.c (adjust_range_with_scev): Call
set_value_range_to_value.
testsuite/:
PR tree-optimization/33134
* g++.dg/tree-ssa/pr33134.C: New test.

From-SVN: r127679

16 years agovalue-prof.h (gimple_remove_histogram_value): Remove duplicate prototype.
Aldy Hernandez [Tue, 21 Aug 2007 21:16:40 +0000 (21:16 +0000)] 
value-prof.h (gimple_remove_histogram_value): Remove duplicate prototype.

* value-prof.h (gimple_remove_histogram_value): Remove duplicate
prototype.

From-SVN: r127678

16 years agotree-flow-inline.h (next_imm_use_stmt): Remove unecessary whitespace.
Aldy Hernandez [Tue, 21 Aug 2007 19:03:49 +0000 (19:03 +0000)] 
tree-flow-inline.h (next_imm_use_stmt): Remove unecessary whitespace.

        * tree-flow-inline.h (next_imm_use_stmt): Remove unecessary
        whitespace.

From-SVN: r127674

16 years agors6000.c (expand_block_clear): Add TARGET_SPE cases to set eight bytes at a time.
Nathan Froyd [Tue, 21 Aug 2007 17:22:46 +0000 (17:22 +0000)] 
rs6000.c (expand_block_clear): Add TARGET_SPE cases to set eight bytes at a time.

gcc/
* config/rs6000/rs6000.c (expand_block_clear): Add TARGET_SPE
cases to set eight bytes at a time.
(expand_block_move): Likewise.

gcc/testsuite/
* gcc.target/powerpc/spe-vector-memset.c: New testcase.
* gcc.target/powerpc/spe-vector-memcpy.c: New testcase.

From-SVN: r127670

16 years agore PR debug/32610 (ICE in gen_tagged_type_instantiation_die, at dwarf2out.c:12762)
Jakub Jelinek [Tue, 21 Aug 2007 17:11:20 +0000 (19:11 +0200)] 
re PR debug/32610 (ICE in gen_tagged_type_instantiation_die, at dwarf2out.c:12762)

PR debug/32610
* dwarf2out.c (gen_decl_die): Don't call
gen_tagged_type_instantiation_die if decl doesn't have tagged type.

* gcc.dg/debug/pr32610.c: New test.

From-SVN: r127669

16 years agoinit.c (build_new_1): Use get_target_expr instead of save_expr.
Jakub Jelinek [Tue, 21 Aug 2007 17:03:23 +0000 (19:03 +0200)] 
init.c (build_new_1): Use get_target_expr instead of save_expr.

* init.c (build_new_1): Use get_target_expr instead of save_expr.

* g++.dg/init/new24.C: New test.

From-SVN: r127668

16 years agoconfigure.ac: Add --with-pkgversion and --with-bugurl.
Paul Brook [Tue, 21 Aug 2007 15:35:30 +0000 (15:35 +0000)] 
configure.ac: Add --with-pkgversion and --with-bugurl.

gcc:
2007-08-21  Paul Brook  <paul@codesourcery.com>
    Nathan Sidwell  <nathan@codesourcery.com>
    Mark Mitchell  <mark@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>

* configure.ac: Add --with-pkgversion and --with-bugurl.
* configure: Regenerate.
* doc/install.texi: Document them.
* version.c (version_string): Remove VERSUFFIX.
(VERSUFFIX): Remove.
(pkgversion_string): New.
(bug_report_url): Do not hard-code initializer.
* version.h (pkgversion_string): Declare.
* Makefile.in (PKGVERSION_s, BUGURL_s, PKGVERSION, BUGURL_TEXI):
Define.
(version.o): Define PKGVERSION and BUGURL.
(gcc-vers.texi): Define VERSION_PACKAGE and BUGURL.
(%.pod): Define BUGURL.
* gcc.c (process_command, main): Use pkgversion_string.
* toplev.c (compile_file, print_version): Likewise.
* protoize.c (main): Likewise.
* gcov.c (print_version): Likewise.  Update copyright date.
* gcov-dump.c (print_version): Likewise.  Update copyright date.
* mips-tdump.c (main): Likewise.  Update copyright date.
* mips-tfile.c (main): Likewise.  Update copyright date.
* doc/include/gcc-common.texi: Include VERSION_PACKAGE as subtitle.
* doc/bugreport.texi: Use BUGURL for bug-reporting instructions;
shorten description.
* doc/gcc.texi: Include VERSION_PACKAGE in version description.
* doc/gccint.texi: Likewise.
* doc/invoke.texi: Use BUGURL for bug-reporting instructions.
Update copyright date.

gcc/fortran:
2007-08-21  Paul Brook  <paul@codesourcery.com>
    Nathan Sidwell  <nathan@codesourcery.com>
    Mark Mitchell  <mark@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>

* gfortranspec.c (lang_specific_driver): Use pkgversion_string.
* Make-lang.in (gfortran.pod): Define BUGURL.
* invoke.texi: Use BUGURL for bug-reporting instructions.

gcc/java:
2007-08-21  Paul Brook  <paul@codesourcery.com>
    Nathan Sidwell  <nathan@codesourcery.com>
    Mark Mitchell  <mark@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>

* jcf-dump.c (version): Use pkgversion_string.  Update copyright
date.

gcc/treelang:
2007-08-21  Paul Brook  <paul@codesourcery.com>
    Nathan Sidwell  <nathan@codesourcery.com>
    Mark Mitchell  <mark@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>

* tree1.c (treelang_handle_option): Use pkgversion_string.
* treelang.texi (which-treelang): Define to use VERSION_PACKAGE.

maintainer-scripts:
2007-08-21  Paul Brook  <paul@codesourcery.com>
    Nathan Sidwell  <nathan@codesourcery.com>
    Mark Mitchell  <mark@codesourcery.com>
    Joseph Myers  <joseph@codesourcery.com>

* gcc_release: Do not include copies of bugs.html in releases.
* update_web_docs_svn: Set VERSION_PACKAGE and BUGURL in
gcc-vers.texi.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
From-SVN: r127667

16 years agoi386.c (ix86_expand_clear): Use FLAGS_REG.
Uros Bizjak [Tue, 21 Aug 2007 12:26:12 +0000 (14:26 +0200)] 
i386.c (ix86_expand_clear): Use FLAGS_REG.

* config/i386/i386.c (ix86_expand_clear): Use FLAGS_REG.
(ix86_expand_strlensi_unroll_1): Ditto.
(ix86_expand_branch): Use FLAGS_REG and FPSR_REG.
(ix86_expand_carry_flag_compare): Update comment.

From-SVN: r127666

16 years agobe.po, [...]: Update.
Joseph Myers [Tue, 21 Aug 2007 11:46:39 +0000 (12:46 +0100)] 
be.po, [...]: Update.

* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po: Update.
* uk.po: New.

From-SVN: r127664

16 years agobe.po, [...]: Update.
Joseph Myers [Tue, 21 Aug 2007 11:42:31 +0000 (12:42 +0100)] 
be.po, [...]: Update.

* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
ru.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r127662

16 years agore PR middle-end/32912 (ICE with vector code)
Jakub Jelinek [Tue, 21 Aug 2007 09:22:14 +0000 (11:22 +0200)] 
re PR middle-end/32912 (ICE with vector code)

PR middle-end/32912
* fold-const.c (fold_unary): Optimize BIT_NOT_EXPR of VECTOR_CST.
(fold_binary): Handle vectors in X | ~X and X ^ ~X optimizations.

* gcc.dg/pr32912-1.c: New test.
* gcc.dg/pr32912-2.c: New test.
* gcc.dg/pr32912-3.c: New test.

From-SVN: r127661

16 years agofold-const.c (fold_binary): Revert removing of index +p PTR
Richard Guenther [Tue, 21 Aug 2007 09:18:15 +0000 (09:18 +0000)] 
fold-const.c (fold_binary): Revert removing of index +p PTR

2007-08-21  Richard Guenther  <rguenther@suse.de>

        * fold-const.c (fold_binary): Revert removing of index +p PTR
        * folding.

        * gcc.dg/pointer-arith-10.c: New testcase.

From-SVN: r127660

16 years agore PR middle-end/33122 (Mistaken type mismatch error prevents bootstrap)
Richard Guenther [Tue, 21 Aug 2007 08:23:50 +0000 (08:23 +0000)] 
re PR middle-end/33122 (Mistaken type mismatch error prevents bootstrap)

2007-08-21  Richard Guenther  <rguenther@suse.de>

PR middle-end/33122
* fold-const.c (fold_binary): Remove index +p PTR folding.
Fix types of POINTER_PLUS_EXPR generated by folding of
(PTR +p B) +p A.

        * gcc.c-torture/compile/pr33122.c: New testcase.

From-SVN: r127659

16 years agoDaily bump.
GCC Administrator [Tue, 21 Aug 2007 00:17:31 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r127656

16 years agoc-common.h (enum rid): Add new enumeration values of RID_SAT, RID_FRACT, and RID_ACCUM.
Chao-ying Fu [Mon, 20 Aug 2007 22:26:47 +0000 (22:26 +0000)] 
c-common.h (enum rid): Add new enumeration values of RID_SAT, RID_FRACT, and RID_ACCUM.

* c-common.h (enum rid): Add new enumeration values of RID_SAT,
RID_FRACT, and RID_ACCUM.  RID_SAT needs to be inserted before
RID_ONEWAY, so that it can be checked in declspecs_add_type.
(c_common_fixed_point_type_for_size): Declare.
* c-parser.c (reswords): Add _Fract, _Accum, and _Sat.
(c_token_starts_typename): Handle RID_FRACT, RID_ACCUM, and RID_SAT.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_attributes): Likewise.
* c-tree.h (enum c_typespec_keyword): Add cts_fract and cts_accum.
(c_declspecs): Add saturating_p.
* c-decl.c (build_null_declspecs): Initialize saturating_p.
(declspecs_add_type): Avoid using complex with _Fract, _Accum, or _Sat.
Handle RID_SAT.
Avoid using void, bool, char, int, float, double, _Decimal32,
_Decimal64, _Decimal128, and complex with _Sat.
Handle RID_FRACT and RID_ACCUM.
Make sure _Sat is used with _Fract or _Accum.
(finish_declspecs): Handle cts_fract and cts_accum.
* c-common.c (fixed-value.h): New include.
(constant_expression_warning): Handle FIXED_CST.
(overflow_warning): Likewise.
(warnings_for_convert_and_check): Likewise.
(c_common_fixed_point_type_for_size): New.
(c_common_type_for_mode): Handle fixed-point modes to
return various saturating/non-saturating, signed/unsigned types.
(c_common_signed_or_unsigned_type): Support fixed-point types.
(shorten_compare): Check fixed-point zero.
Handle FIXED_POINT_TYPE.
(c_common_truthvalue_conversion): Handle FIXED_CST.
Handle FIXED_POINT_TYPE.
(c_common_nodes_and_builtins): Record builtin types for fixed-point
types.
(handle_mode_attribute): Handle fixed-point modes.  Need to check
if the signness of base type and fixed-point modes are consistent.
(handle_vector_size_attribute): Handle fixed-point modes.
(same_scalar_type_ignoring_signedness): Handle FIXED_POINT_TYPE.
(warn_for_div_by_zero): Check fixed-point zero.
* c-typeck.c (c_common_type): Check FIXED_POINT_TYPE.  Build
a common fixed-point type based on fbit, ibit, sign, and saturation.
(build_unary_op): Allow FIXED_POINT_TYPE for CONVERT_EXPR,
NEGATE_EXPR, TRUTH_NOT_EXPR, PREINCREMENT_EXPR, POSTINCREMENT_EXPR,
PREDECREMENT_EXPR, and POSTDECREMENT_EXPR.
(convert_for_assignment): Support FIXED_POINT_TYPE.
(digest_init): Handle FIXED_POINT_TYPE.
(build_binary_op): Support FIXED_POINT_TYPE in *_DIV_EXPR,
TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
TRUTH_XOR_EXPR, RSHIFT_EXPR, LSHIFT_EXPR, EQ_EXPR, NE_EXPR, LE_EXPR,
GE_EXPR, LT_EXPR, GT_EXPR.
* target-def.h (TARGET_FIXED_POINT_SUPPORTED_P): New.
(TARGET_INITIALIZER): Add TARGET_FIXED_POINT_SUPPORTED_P.
* target.h (gcc_target): Add fixed_point_supported_p.
* targhooks.c (default_scalar_mode_supported_p): Handle MODE_FRACT,
MODE_UFRACT, MODE_ACCUM, and MODE_UACCUM.
(default_fixed_point_supported_p): Define.
* targhooks.h (default_fixed_point_supported_p): Declare.
* doc/tm.texi (TARGET_FIXED_POINT_SUPPORTED_P): Add.
* doc/install.texi (Configuration): Add --enable-fixed-point.
* configure.ac (--enable-fixed-point): New to enable fixed-point
arithmetic extension to C.  For mips targets, we enable it by default.
* configure, config.in: Regenerate.

From-SVN: r127652

16 years agore PR c++/7302 (-Wnon-virtual-dtor should't complain of protected dtor)
Pawel Sikora [Mon, 20 Aug 2007 15:08:24 +0000 (15:08 +0000)] 
re PR c++/7302 (-Wnon-virtual-dtor should't complain of protected dtor)

        PR c++/7302
        * cp/class.c (finish_struct_1): Warn when a class has virtual
        functions and accessible non-virtual destructor.

        * doc/invoke.texi (-Wnon-virtual-dtor): Update documentation.

        * g++.dg/warn/Wnvdtor-2.C: New testcase.

From-SVN: r127649

16 years agodwarf2out.c (text_section_used): Move declaration outside ifdef DWARF2_DEBUGGING_INFO.
David Edelsohn [Mon, 20 Aug 2007 13:52:16 +0000 (13:52 +0000)] 
dwarf2out.c (text_section_used): Move declaration outside ifdef DWARF2_DEBUGGING_INFO.

        * dwarf2out.c (text_section_used): Move declaration outside ifdef
        DWARF2_DEBUGGING_INFO.
        (cold_text_section_used): Same.
        (cold_text_section): Same.

From-SVN: r127648

16 years agore PR c++/22369 (C++ produces mis-matched types with pointers to member functions)
Richard Guenther [Mon, 20 Aug 2007 12:31:44 +0000 (12:31 +0000)] 
re PR c++/22369 (C++ produces mis-matched types with pointers to member functions)

2007-08-20  Richard Guenther  <rguenther@suse.de>

PR c++/22369
PR c++/22451
        * call.c (build_new_method_call): Convert initializer to
        the basetype.
        * init.c (build_aggr_init): Do not fiddle with types.
        (build_vec_delete_1): Use correct type for POINTER_PLUS_EXPR.
        * except.c (build_throw): Do not drop qualifiers for the
        pointer type.
        * typeck.c (get_member_function_from_ptrfunc): Do not
        fiddle with types, instead convert.
        (build_ptrmemfunc1): Convert to the target type for
        initialization.
        (gfc_trans_allocate): Convert result to target type.
* cp-objcp-common.c (cxx_get_alias_set): Pointers to
pointer-to-member structures shall have alias set zero as well.

From-SVN: r127647

16 years agoc-typeck.c (convert_for_assignment): Use the type of the member for the initialization.
Richard Guenther [Mon, 20 Aug 2007 11:41:30 +0000 (11:41 +0000)] 
c-typeck.c (convert_for_assignment): Use the type of the member for the initialization.

2007-08-20  Richard Guenther  <rguenther@suse.de>

        * c-typeck.c (convert_for_assignment): Use the type of
        the member for the initialization.

From-SVN: r127646

16 years ago* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add missing }.
Dorit Nuzman [Mon, 20 Aug 2007 11:37:39 +0000 (11:37 +0000)] 
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add missing }.

From-SVN: r127645

16 years agoc-objc-common.c (c_disregard_inline_limits): Remove.
Richard Guenther [Mon, 20 Aug 2007 11:37:08 +0000 (11:37 +0000)] 
c-objc-common.c (c_disregard_inline_limits): Remove.

2007-08-20  Richard Guenther  <rguenther@suse.de>

* c-objc-common.c (c_disregard_inline_limits): Remove.
* c-objc-common.h (c_disregard_inline_limits): Likewise.
* cgraphunit.c (cgraph_process_new_functions): Call
disregard_inline_limits_p.
(cgraph_preserve_function_body_p): Likewise.
* ipa-inline.c (compute_inline_parameters): Likewise.
* langhooks-def.h (lhd_tree_inlining_disregard_inline_limits):
Remove.
(LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS): Remove.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
disregard_inline_limits langhook.
* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
Remove.
* langhooks.h (lang_hooks_for_tree_inlining): Remove
disregard_inline_limits langhook.
* tree-inline.c (disregard_inline_limits_p): New function.
* tree-inline.h (disregard_inline_limits_p): Declare.

From-SVN: r127644

16 years agolanghooks-def.h (lhd_tree_inlining_auto_var_in_fn_p): Remove.
Richard Guenther [Mon, 20 Aug 2007 11:28:14 +0000 (11:28 +0000)] 
langhooks-def.h (lhd_tree_inlining_auto_var_in_fn_p): Remove.

2007-08-20  Richard Guenther  <rguenther@suse.de>

* langhooks-def.h (lhd_tree_inlining_auto_var_in_fn_p): Remove.
(LANG_HOOKS_TREE_INLINING_AUTO_VAR_IN_FN_P): Likewise.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
auto_var_in_fn_p langhook.
* langhooks.c (lhd_tree_inlining_auto_var_in_fn_p): Rename and
move ...
* tree.c (auto_var_in_fn_p): ... here.
(find_var_from_fn): Call auto_var_in_fn_p directly.
* langhooks.h (lang_hooks_for_tree_inlining): Remove
auto_var_in_fn_p langhook.
* tree-inline.c (remap_decls): Call auto_var_in_fn_p directly.
(copy_body_r): Likewise.
(self_inlining_addr_expr): Likewise.
* tree.h (auto_var_in_fn_p): Declare.

cp/
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_AUTO_VAR_IN_FN_P):
Remove.
* cp-tree.h (cp_auto_var_in_fn_p): Remove.
(nonstatic_local_decl_p): Likewise.
* tree.c (cp_auto_var_in_fn_p): Remove.
* decl.c (nonstatic_local_decl_p): Remove.

From-SVN: r127643

16 years agotree.c (WALK_SUBTREE): Call walk_tree_1.
Richard Guenther [Mon, 20 Aug 2007 11:19:22 +0000 (11:19 +0000)] 
tree.c (WALK_SUBTREE): Call walk_tree_1.

2007-08-20  Richard Guenther  <rguenther@suse.de>

* tree.c (WALK_SUBTREE): Call walk_tree_1.
(walk_type_fields): Take lh parameter.
(walk_tree): Rename to ...
(walk_tree_1): ... this.  Do not call the walk_subtrees
langhook but the now passed callback.  Pass lh on recursion.
(walk_tree_without_duplicates): Rename to ...
(walk_tree_without_duplicates_1): ... this.  Take lh parameter
and call walk_tree_1.
* tree.h (walk_tree_lh): New typedef.
(walk_tree_1): Declare.
(walk_tree_without_duplicates_1): Likewise.
(walk_tree): New define to walk_tree_1 with NULL lh parameter.
(walk_tree_without_duplicates): New define to
walk_tree_without_duplicates_1 with NULL lh parameter.
* langhooks.c (lhd_tree_inlining_walk_subtrees): Remove.
* langhooks.h (lang_hooks_for_tree_inlining): Remove walk_subtrees
langhook.
* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Remove.
(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove walk_subtrees
initializer.

java/
* lang.c (java_tree_inlining_walk_subtrees): Remove.
(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove.

cp/
* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_WALK_SUBTREES):
Remove define.
* tree.h (cp_walk_tree): New define to walk_tree_1 with
cp_walk_subtrees lh parameter.
(cp_walk_tree_without_duplicates): New define to
walk_tree_without_duplicates_1 with cp_walk_subtrees lh parameter.
* tree.c (count_trees): Call
cp_walk_tree_without_duplicates.
(verify_stmt_tree): Call cp_walk_tree.
(break_out_target_exprs): Likewise.
(WALK_SUBTREE): Likewise.
* cp-gimplify.c (cp_genericize): Likewise.
* cp-pt.c (find_parameter_packs_r): Likewise.
(uses_parameter_packs): Likewise.
(make_pack_expansion): Likewise.
(check_for_bare_parameter_packs): Likewise.
(for_each_template_parm): Likewise.
* decl.c (check_default_argument): Call
cp_walk_tree_without_duplicates.
* except.c (build_throw): Likewise.
* decl2.c (type_visibility): Likewise.
* semantics.c (expand_or_defer_fn): Likewise.
(finalize_nrv): Call cp_walk_tree.

From-SVN: r127642

16 years agore PR c++/33025 (Wrong calling of placement new with conditionals)
Jakub Jelinek [Mon, 20 Aug 2007 07:53:58 +0000 (09:53 +0200)] 
re PR c++/33025 (Wrong calling of placement new with conditionals)

PR c++/33025
* init.c (build_new_1): Rename placement_var variable to placement_expr.
Initialize it with save_expr rather than get_temp_regvar.

* g++.dg/init/new23.C: New test.

From-SVN: r127639

16 years agore PR tree-optimization/30564 (ice for legal code with -O3)
Andrew Pinski [Mon, 20 Aug 2007 07:42:55 +0000 (07:42 +0000)] 
re PR tree-optimization/30564 (ice for legal code with -O3)

2007-08-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30564
        * tree-inline.c (optimize_inline_calls): Move the cgraph checking
        code in front of the compacting of basic blocks.
        Move the folding of statements inbetween the cgraph checking
        and compacting of basic blocks.

2007-08-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30564
        * gcc.c-torture/compile/pr30564-1.c: New test.
        * gcc.c-torture/compile/pr30564-2.c: New test.

From-SVN: r127638

16 years agore PR target/32522 (Bootstrap failure on Alpha due to pointer-plus changes)
Andrew Pinski [Mon, 20 Aug 2007 06:53:05 +0000 (06:53 +0000)] 
re PR target/32522 (Bootstrap failure on Alpha due to pointer-plus changes)

2007-08-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
           Serge Belyshev  <belyshev@depni.sinp.msu.ru>

        PR target/32522
        * config/alpha/alpha.c (va_list_skip_additions): Check for
        POINTER_PLUS_EXPR in addition to PLUS_EXPR.
        (alpha_stdarg_optimize_hook): Look for POINTER_PLUS_EXPR instead of
        PLUS_EXPR when checking ap.__base.
        (alpha_va_start): Create POINTER_PLUS_EXPR instead of PLUS_EXPR
        when doing addition on pointer types.  Use size_int instead of
        build_int_cst.
        (alpha_gimplify_va_arg_1): Likewise, but use sizetype instead of
        ptr_type in the second operand.

Co-Authored-By: Serge Belyshev <belyshev@depni.sinp.msu.ru>
From-SVN: r127637

16 years agomatch.c (intrinsic_operators): Make static.
Roger Sayle [Mon, 20 Aug 2007 06:11:15 +0000 (06:11 +0000)] 
match.c (intrinsic_operators): Make static.

* match.c (intrinsic_operators): Make static.
(gfc_op2string): New function for converting a gfc_intrinsic_op to
to a "const char*", replacing the macro of the same name.
* gfortran.h (intrinsic_operators): Delete prototype.
(gfc_op2string): Replace macro with function prototype.

From-SVN: r127636

16 years agore PR target/33115 (-march=native is not supported under x86 darwin)
Andrew Pinski [Mon, 20 Aug 2007 05:16:10 +0000 (22:16 -0700)] 
re PR target/33115 (-march=native is not supported under x86 darwin)

2007-08-19  Andrew Pinski  <pinskia@gmail.com>

        PR target/33115
        * config/i386/darwin.h (CC1_SPEC): Add %(cc1_cpu) in front.

From-SVN: r127635

16 years agore PR middle-end/32940 (REG_POINTER attribute on DECL_ARTIFICIAL pointers)
Andrew Pinski [Mon, 20 Aug 2007 00:48:09 +0000 (00:48 +0000)] 
re PR middle-end/32940 (REG_POINTER attribute on DECL_ARTIFICIAL pointers)

2007-08-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/32940
        * cfgexpand.c  (expand_one_register_var): Mark pointer
        DECL_ARTIFICIAL as REG_POINTER also.
        * stmt.c (expand_decl): Likewise.

From-SVN: r127634

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

From-SVN: r127632

16 years agoFix PR 32772 Fix PR 32716 Fix PR 32328 Fix PR 32303
Daniel Berlin [Sun, 19 Aug 2007 23:23:29 +0000 (23:23 +0000)] 
Fix PR 32772 Fix PR 32716 Fix PR 32328 Fix PR 32303

2007-08-19  Daniel Berlin  <dberlin@dberlin.org>

Fix PR 32772
Fix PR 32716
Fix PR 32328
Fix PR 32303

* tree-flow.h (struct stmt_ann_d): Remove makes_clobbering_call.
* tree-ssa-alias.c (init_transitive_clobber_worklist): Add
on_worklist argument and avoid adding things to worklist multiple
times.
(add_to_worklist): Ditto.
(mark_aliases_call_clobbered): Mark entire structure clobbered if
single SFT is clobbered.
(set_initial_properties): Ditto.
(compute_call_clobbered): Update for changes to function
arguments.
(create_overlap_variables_for): Always create SFT for offset 0.
(create_structure_vars): Handle PHI's, since we are in SSA form at
this point.
* tree-ssa-loop-ivopts.c (get_ref_tag): Don't return subvars.
* tree-ssa-operands.c (access_can_touch_variable): Don't handle
TARGET_MEM_REF.
(add_vars_for_offset): Figure out aliases from access + points-to.
(add_virtual_operand): Use add_vars-for_offset.
(get_tmr_operands): Update for NMT changes, rewrite to be correct.
(add_call_clobber_ops): Remove makes_clobbering_call set.
(get_expr_operands): Always pass through the INDIRECT_REF
reference.
* tree-ssa-structalias.c (struct constraint_graph): Remove
variables member.
Add pe, pe_rep, pointer_label, loc_label, pointed_by, points_to,
address_taken, pt_used, number_incoming.
(FIRST_ADDR_NODE): Removed.
(merge_graph_nodes): Remove broken code for the moment.
(init_graph): New function.
(build_pred_graph): Remove code to init_graph.
Add location equivalence support.
(struct scc_info): Rename roots to deleted.
(scc_visit): Ditto.
(init_scc_info): Ditto
(init_topo_info): Use graph->size.
(compute_topo_order): Ditto.
(do_da_constraint): Removed.
(do_sd_constraint): Remove calls to find().
set_union_with_increment should always get 0 as last arg here.
(do_complex_constraint): Replace do_da_constraint with assert.
Stop calling find.
(struct equiv_class_label): New.
(pointer_equiv_class_table): Ditto.
(location_equiv_class_table): Ditto.
(equiv_class_label_hash): Ditto.
(equiv_class_label_eq): Ditto
(equiv_class_lookup): Ditto.
(equiv_class_ladd): Ditto.
(pointer_equiv_class): Ditto.
(location_equiv_class): Ditto.
(condense_visit): Rename and rewrite from label_visit to do only
SCC related stuff for HU.
(label_visit): Do HU work for HU.
(perform_var_substitution): Update to do HU and location
equivalence.
(free_var_substitution_info): Update to free HU and location
equivalence structures.  */
(find_equivalent_node): Update for pointer but not location
equivalence.
(unite_pointer_equivalences): New function.
(move_complex_constraints): Rewrite to only do moving.
(rewrite_constraints): Split out of move_complex_constraints.
(solve_graph): Use graph->size.
(process_constraint_1): Add from_call argument, use it.
Split *a = &b into two constraints.
(process_constraint): Use new process_constraint_1.
(get_constraint_for_component_ref): Handle bitmaxsize == -1 case.
(get_constraint_for): Handle non-pointer integers properly.
Remove code that used to handle structures.
(handle_ptr_arith): Fix a few bugs in pointer arithmetic handling
with unknown addends.
(handle_rhs_call): New function.
(find_func_aliases): Use handle_rhs_call.
(set_uids_in_ptset): Add an assert.
(set_used_smts): Fix bug in not considering unified vars.
(compute_tbaa_pruning): Stop initing useless iteration_obstack.
(compute_points_to_sets): Update for other function changes.
(delete_points_to_sets): Ditto.
(ipa_pta_execute): Ditto.
(pass_ipa_pta): We need to update SSA after ipa_pta.

From-SVN: r127629

16 years ago* i386.md: Replace "rim" and "mri" constraints by "g".
Jan Hubicka [Sun, 19 Aug 2007 23:09:15 +0000 (01:09 +0200)] 
* i386.md: Replace "rim" and "mri" constraints by "g".

From-SVN: r127628

16 years agodwarf2out.c (text_section_used, [...]): New.
Joseph Myers [Sun, 19 Aug 2007 23:07:15 +0000 (00:07 +0100)] 
dwarf2out.c (text_section_used, [...]): New.

* dwarf2out.c (text_section_used, cold_text_section_used,
cold_text_section, dwarf2out_note_section_used): New.
(dwarf2out_init): Initialize cold_text_section.
(dwarf2out_switch_text_section, dwarf2out_begin_function): Call
dwarf2out_note_section_used.
(size_of_aranges): Only count entry for text section if it was
used.  Count entry for cold text section if it was used.
(output_aranges): Only output entries for text section and cold
text section if they were used.

testsuite:
* gcc.dg/debug/dwarf2/aranges-fnsec-1.c: New test.

From-SVN: r127627

16 years ago[multiple changes]
Tobias Burnus [Sun, 19 Aug 2007 20:08:14 +0000 (22:08 +0200)] 
[multiple changes]

2007-08-18  Tobias Burnus  <burnus@net-b.de>

* gfortran.h (gfc_is_intrinsic_typename): Add declaration.
* symbol.c (gfc_is_intrinsic_typename): New function.
* parse.c (decode_statement): Check for space in ABSTRACT INTERFACE.
(parse_interface): Use gfc_is_intrinsic_typename.
* decl.c (gfc_match_derived_decl): Ditto.
* module.c (gfc_match_use): Use gcc_unreachable() for
INTERFACE_ABSTRACT in switch().

2007-08-19  Tobias Burnus  <burnus@net-b.de>

* gfortran.dg/interface_abstract_2.f90: New.
* gfortran.dg/interface_abstract_1.f90: Fix typo.

From-SVN: r127626

16 years agotree-pretty-print.c (debug_generic_expr): Add a comment about the function.
Andrew Pinski [Sun, 19 Aug 2007 18:33:06 +0000 (11:33 -0700)] 
tree-pretty-print.c (debug_generic_expr): Add a comment about the function.

2007-08-19  Andrew Pinski  <pinskia@gmail.com>

        * tree-pretty-print.c (debug_generic_expr): Add a comment about
        the function.
        (debug_generic_stmt): Likewise.
        (debug_tree_chain): Likewise.

From-SVN: r127625

16 years agotree-data-refs.c (split_constant_offset): Expose.
Dorit Nuzman [Sun, 19 Aug 2007 12:02:48 +0000 (12:02 +0000)] 
tree-data-refs.c (split_constant_offset): Expose.

        * tree-data-refs.c (split_constant_offset): Expose.
        * tree-data-refs.h (split_constant_offset): Add declaration.

        * tree-vectorizer.h (dr_alignment_support): Renamed
        dr_unaligned_software_pipeline to dr_explicit_realign_optimized.
        Added a new value dr_explicit_realign.
        (_stmt_vec_info): Added new fields: dr_base_address, dr_init,
        dr_offset, dr_step, and dr_aligned_to, along with new access
        functions for these fields: STMT_VINFO_DR_BASE_ADDRESS,
        STMT_VINFO_DR_INIT, STMT_VINFO_DR_OFFSET, STMT_VINFO_DR_STEP, and
        STMT_VINFO_DR_ALIGNED_TO.

        * tree-vectorizer.c (vect_supportable_dr_alignment): Add
        documentation.
        In case of outer-loop vectorization with non-fixed misalignment - use
        the dr_explicit_realign scheme instead of the optimized realignment
        scheme.
        (new_stmt_vec_info): Initialize new fields.

        * tree-vect-analyze.c (vect_compute_data_ref_alignment): Handle the
        'nested_in_vect_loop' case. Change verbosity level.
        (vect_analyze_data_ref_access): Handle the 'nested_in_vect_loop' case.
        Don't fail on zero step in the outer-loop for loads.
        (vect_analyze_data_refs): Call split_constant_offset to calculate base,
        offset and init relative to the outer-loop.

        * tree-vect-transform.c (vect_create_data_ref_ptr): Replace the unused
        BSI function argument with a new function argument - at_loop.
        Simplify the condition that determines STEP. Takes additional argument
        INV_P. Support outer-loop vectorization (handle the nested_in_vect_loop
        case), including zero step in the outer-loop. Call
        vect_create_addr_base_for_vector_ref with additional argument.
        (vect_create_addr_base_for_vector_ref): Takes additional argument LOOP.
        Updated function documentation. Handle the 'nested_in_vect_loop' case.
        Fixed and simplified calculation of step.
        (vectorizable_store): Call vect_create_data_ref_ptr with loop instead
        of bsi, and with additional argument. Call bump_vector_ptr with
        additional argument. Fix typos. Handle the 'nested_in_vect_loop' case.
        (vect_setup_realignment): Takes additional arguments INIT_ADDR and
        DR_ALIGNMENT_SUPPORT. Returns another value AT_LOOP. Handle the case
        when the realignment setup needs to take place inside the loop.  Support
        the dr_explicit_realign scheme. Allow generating the optimized
        realignment scheme for outer-loop vectorization. Added documentation.
        (vectorizable_load): Support the dr_explicit_realign scheme. Handle the
        'nested_in_vect_loop' case, including loads that are invariant in the
        outer-loop and the realignment schemes. Handle the case when the
        realignment setup needs to take place inside the loop. Call
        vect_setup_realignment with additional arguments.  Call
        vect_create_data_ref_ptr with additional argument and with loop instead
        of bsi. Fix 80-column overflow. Fix typos. Rename PHI_STMT to PHI.
        (vect_gen_niters_for_prolog_loop): Call
        vect_create_addr_base_for_vector_ref with additional arguments.
        (vect_create_cond_for_align_checks): Likewise.
        (bump_vector_ptr): Updated to support the new dr_explicit_realign
        scheme: takes additional argument bump; argument ptr_incr is now
        optional; updated documentation.
        (vect_init_vector): Takes additional argument (bsi). Use it, if
        available, to insert the vector initialization.
        (get_initial_def_for_induction): Pass additional argument in call to
        vect_init_vector.
        (vect_get_vec_def_for_operand): Likewise.
        (vect_setup_realignment): Likewise.
        (vectorizable_load): Likewise.

From-SVN: r127624

16 years agotree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info as argument inste...
Dorit Nuzman [Sun, 19 Aug 2007 09:39:50 +0000 (09:39 +0000)] 
tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info as argument instead of struct loop.

        * tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info
        as argument instead of struct loop.
        (nested_in_vect_loop_p): New function.
        (vect_relevant): Add enum values vect_used_in_outer_by_reduction and
        vect_used_in_outer.
        (is_loop_header_bb_p): New. Used to differentiate loop-header phis
        from other phis in the loop.
        (destroy_loop_vec_info): Add additional argument to declaration.

        * tree-vectorizer.c (supportable_widening_operation): Also check if
        nested_in_vect_loop_p (don't allow changing the order in this case).
        (vect_is_simple_reduction): Takes a loop_vec_info as argument instead
        of struct loop. Call nested_in_vect_loop_p and don't require
        flag_unsafe_math_optimizations if it returns true.
        (new_stmt_vec_info): When setting def_type for phis differentiate
        loop-header phis from other phis.
        (bb_in_loop_p): New function.
        (new_loop_vec_info): Inner-loop phis already have a stmt_vinfo, so just
        update their loop_vinfo.  Order of BB traversal now matters - call
        dfs_enumerate_from with bb_in_loop_p.
        (destroy_loop_vec_info): Takes additional argument to control whether
        stmt_vinfo of the loop stmts should be destroyed as well.
        (vect_is_simple_reduction): Allow the "non-reduction" use of a
        reduction stmt to be defines by a non loop-header phi.
        (vectorize_loops): Call destroy_loop_vec_info with additional argument.

        * tree-vect-transform.c (vectorizable_reduction): Call
        nested_in_vect_loop_p. Check for multitypes in the inner-loop.
        (vectorizable_call): Likewise.
        (vectorizable_conversion): Likewise.
        (vectorizable_operation): Likewise.
        (vectorizable_type_promotion): Likewise.
        (vectorizable_type_demotion): Likewise.
        (vectorizable_store): Likewise.
        (vectorizable_live_operation): Likewise.
        (vectorizable_reduction): Likewise. Also pass loop_info to
        vect_is_simple_reduction instead of loop.
        (vect_init_vector): Call nested_in_vect_loop_p.
        (get_initial_def_for_reduction): Likewise.
        (vect_create_epilog_for_reduction): Likewise.
        (vect_init_vector): Check which loop to work with, in case there's an
        inner-loop.
        (get_initial_def_for_inducion): Extend to handle outer-loop
        vectorization. Fix indentation.
        (vect_get_vec_def_for_operand): Support phis in the case vect_loop_def.
        In the case vect_induction_def get the vector def from the induction
        phi node, instead of calling get_initial_def_for_inducion.
        (get_initial_def_for_reduction): Extend to handle outer-loop
        vectorization.
        (vect_create_epilog_for_reduction): Extend to handle outer-loop
        vectorization.
        (vect_transform_loop): Change assert to just skip this case.  Add a
        dump printout.
        (vect_finish_stmt_generation): Add a couple asserts.

        (vect_estimate_min_profitable_iters): Multiply
        cost of inner-loop stmts (in outer-loop vectorization) by estimated
        inner-loop bound.
        (vect_model_reduction_cost): Don't add reduction epilogue cost in case
        this is an inner-loop reduction in outer-loop vectorization.

        * tree-vect-analyze.c (vect_analyze_scalar_cycles_1): New function.
        Same code as what used to be vect_analyze_scalar_cycles, only with
        additional argument loop, and loop_info passed to
        vect_is_simple_reduction instead of loop.
        (vect_analyze_scalar_cycles): Code factored out into
        vect_analyze_scalar_cycles_1. Call it for each relevant loop-nest.
        Updated documentation.
        (analyze_operations): Check for inner-loop loop-closed exit-phis during
        outer-loop vectorization that are live or not used in the outerloop,
        cause this requires special handling.
        (vect_enhance_data_refs_alignment): Don't consider versioning for
        nested-loops.
        (vect_analyze_data_refs): Check that there are no datarefs in the
        inner-loop.
        (vect_mark_stmts_to_be_vectorized): Also consider vect_used_in_outer
        and vect_used_in_outer_by_reduction cases.
        (process_use): Also consider the case of outer-loop stmt defining an
        inner-loop stmt and vice versa.
        (vect_analyze_loop_1): New function.
        (vect_analyze_loop_form): Extend, to allow a restricted form of nested
        loops.  Call vect_analyze_loop_1.
        (vect_analyze_loop): Skip (inner-)loops within outer-loops that have
        been vectorized.  Call destroy_loop_vec_info with additional argument.

        * tree-vect-patterns.c (vect_recog_widen_sum_pattern): Don't allow
        in the inner-loop when doing outer-loop vectorization. Add
        documentation and printout.
        (vect_recog_dot_prod_pattern): Likewise. Also add check for
        GIMPLE_MODIFY_STMT (in case we encounter a phi in the loop).

From-SVN: r127623

16 years agopr20122.c: Fix test (now vectorized, with versioning for aliasing).
Dorit Nuzman [Sun, 19 Aug 2007 09:32:22 +0000 (09:32 +0000)] 
pr20122.c: Fix test (now vectorized, with versioning for aliasing).

        * testsuite/gcc.dg/vect/pr20122.c: Fix test (now vectorized, with
        versioning for aliasing).
        * testsuite/gcc.dg/vect/vect-35.c: Likewise.

        * testsuite/gcc.dg/vect/vect-iv-6.c: Fix test for vect_no_align targets.
        * testsuite/gcc.dg/vect/vect-multitypes-11.c: Likewise.

From-SVN: r127621

16 years agoprimary.c (match_logical_constant_string): New function to match a ".true." or a...
Roger Sayle [Sun, 19 Aug 2007 01:52:23 +0000 (01:52 +0000)] 
primary.c (match_logical_constant_string): New function to match a ".true." or a ".false.".

* primary.c (match_logical_constant_string): New function to match
a ".true." or a ".false.".
(match_logical_constant): Use it instead of gfc_match_strings.

From-SVN: r127620

16 years agoDaily bump.
GCC Administrator [Sun, 19 Aug 2007 00:18:54 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r127618

16 years agotree-affine.h (print_aff): New prototype.
Andrew Pinski [Sat, 18 Aug 2007 20:53:02 +0000 (13:53 -0700)] 
tree-affine.h (print_aff): New prototype.

2007-08-18  Andrew Pinski  <pinskia@gmail.com>

        * tree-affine.h (print_aff): New prototype.
        (debug_aff): Likewise.
        * tree-affine.c (print_aff): New function.
        (debug_aff): Likewise.

From-SVN: r127615

16 years agore PR preprocessor/32974 (#pragma GCC dependency generates extra token error.)
Tom Tromey [Sat, 18 Aug 2007 17:54:11 +0000 (17:54 +0000)] 
re PR preprocessor/32974 (#pragma GCC dependency generates extra token error.)

gcc/testsuite
PR preprocessor/32974:
* gcc.dg/cpp/pr32974.c: New file.
libcpp
PR preprocessor/32974:
* directives.c (parse_include): Don't check for EOL when
processing #pragma dependency.

From-SVN: r127614

16 years agoMakefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
Paul Brook [Sat, 18 Aug 2007 15:15:39 +0000 (15:15 +0000)] 
Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.

2007-08-18  Paul Brook  <paul@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

* Makefile.tpl (DEBUG_PREFIX_CFLAGS_FOR_TARGET): New.
(CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Include it.
* Makefile.in: Regenerate.
* configure.ac (--with-debug-prefix-map): New.
* configure: Regenerate.

config:
2007-08-18  Paul Brook  <paul@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

* mt-gnu (CXXFLAGS_FOR_TARGET): Add
$(DEBUG_PREFIX_CFLAGS_FOR_TARGET).

gcc:
2007-08-18  Paul Brook  <paul@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

* common.opt (-fdebug-prefix-map=): New option.
* opts.c: Include debug.h.
(common_handle_option): Handle -fdebug-prefix-map.
* final.c: Include ggc.h.
(struct debug_prefix_map, debug_prefix_maps, add_debug_prefix_map,
remap_debug_filename): New.
* Makefile.in (final.o, opts.o): Update dependencies.
* debug.h (remap_debug_filename, add_debug_prefix_map): Declare.
* configure.ac: Check for assembler --debug-prefix-map support.
* configure, config.in: Regenerate.
* gcc.c (ASM_MAP): Define conditional on HAVE_AS_DEBUG_PREFIX_MAP.
(ASM_DEBUG_SPEC): Include ASM_MAP.
* doc/install.texi (--with-debug-prefix-map): Document.
* doc/invoke.texi (-fdebug-prefix-map): Document.
* dbxout.c (dbxout_init, dbxout_start_source_file,
dbxout_source_file): Call remap_debug_filename.
* dwarf2out.c (add_comp_dir_attribute, maybe_emit_file,
dwarf2out_start_source_file, dwarf2out_finish): Call
remap_debug_filename.
(file_table_relative_p): Do not check d->emitted_number.
* toplev.c (output_file_directive): Call remap_debug_filename.
* vmsdbgout.c (write_srccorr): Call remap_debug_filename.
* xcoffout.c (xcoffout_source_file): Call remap_debug_filename.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r127613

16 years ago[multiple changes]
Tobias Burnus [Sat, 18 Aug 2007 14:57:21 +0000 (16:57 +0200)] 
[multiple changes]

2007-08-18  Paul Thomas  <pault@gcc.gnu.org>
    Janus Weil  <jaydub66@gmail.com>

* interface.c (gfc_match_interface,gfc_match_abstract_interface,
gfc_match_end_interface,gfc_add_interface): Add abstract interface.
* dump-parse-tree.c (gfc_show_attr): Ditto.
* gfortran.h (interface_type,symbol_attribute): Ditto.
* module.c (gfc_match_use,ab_attribute,attr_bits,
mio_symbol_attribute): Ditto.
* resolve.c (resolve_function): Ditto.
* match.h: Ditto.
* parse.c (decode_statement): Ditto.
(parse_interface): Ditto, check for C1203 (name of abstract interface
cannot be the same as an intrinsic type).
* decl.c (gfc_match_bind_c): Check for NAME= with abstract interfaces.
(access_attr_decl): Handle Abstract interfaces.

2007-08-17  Tobias Burnus  <burnus@net-b.de>

* gfortran.dg/interface_abstract_1.f90: New.

From-SVN: r127612

16 years agore PR fortran/32881 (PURE attribute escapes from contained procedure)
Paul Thomas [Sat, 18 Aug 2007 10:47:58 +0000 (10:47 +0000)] 
re PR fortran/32881 (PURE attribute escapes from contained procedure)

2007-08-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32881
* expr.c (gfc_check_pointer_assign): If the rhs is the
initialization expression for the rhs, there is no error.

2007-08-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32881
* gfortran.dg/pure_initializer_1.f90: New test.

From-SVN: r127611

16 years agore PR fortran/32875 (Not Implemented: complex character array constructor)
Paul Thomas [Sat, 18 Aug 2007 08:34:42 +0000 (08:34 +0000)] 
re PR fortran/32875 (Not Implemented: complex character array constructor)

2007-08-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32875
* trans-array.c (get_array_ctor_strlen): Set the character
length of a zero length array to zero.

2007-08-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/32875
* gfortran.dg/array_constructor_18.f90: New test.

From-SVN: r127608

16 years agoDaily bump.
GCC Administrator [Sat, 18 Aug 2007 00:18:03 +0000 (00:18 +0000)] 
Daily bump.

From-SVN: r127606

16 years agore PR c++/28989 (post-increment of bool variable accepted as lvalue)
Andrew Pinski [Fri, 17 Aug 2007 22:14:47 +0000 (22:14 +0000)] 
re PR c++/28989 (post-increment of bool variable accepted as lvalue)

2007-08-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c++/28989
        * tree.c (lvalue_p_1 <case SAVE_EXPR>): SAVE_EXPRs are never
        lvalues.

2007-08-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR c++/28989
        * g++.dg/expr/lval3.C: New test.
        * g++.dg/expr/lval4.C: New test.

From-SVN: r127603

16 years agotypeck.c (find_method_in_interfaces): Update.
Tom Tromey [Fri, 17 Aug 2007 22:08:04 +0000 (22:08 +0000)] 
typeck.c (find_method_in_interfaces): Update.

* typeck.c (find_method_in_interfaces): Update.
* jcf-parse.c (load_class): Update.
* java-gimplify.c (java_gimplify_component_ref): Removed.
(java_gimplify_modify_expr): Update.  Removed pre_p and post_p
arguments.
(java_gimplify_expr): Update.
* decl.c (java_init_decl_processing): Update.
* class.c (set_constant_value): Update.
(make_class_data): Update.
(finish_class): Update.
(build_static_field_ref): Update.
(is_compiled_class): Update.
(maybe_layout_super_class): Update.
(layout_class): Update.
(layout_class_method): Update.
* java-tree.h (CAN_COMPLETE_NORMALLY): Removed.
(lang_decl_var) <am, final_iud, cif>: Removed fields.
(lang_decl_func) <init_calls_this>: Removed field.
(lang_type) <dot_class, verify_method>: Removed fields.
(FIELD_NESTED_ACCESS): Removed.
(FIELD_NESTED_ACCESS_P): Removed.
(DECL_FIELD_FINAL_IUD): Removed.
(DECL_LOCAL_FINAL_IUD): Removed
(LOCAL_FINAL_P): Removed.
(FINAL_VARIABLE_P): Removed.
(CLASS_FINAL_VARIABLE_P): Removed.
(DECL_BIT_INDEX): Removed.
(DECL_INIT_CALLS_THIS): Removed.
(FIELD_LOCAL_ALIAS): Removed.
(FIELD_LOCAL_ALIAS_USED): Removed.
(FIELD_THISN): Removed.
(DECL_FUNCTION_INIT_TEST_CLASS): Removed.
(LOCAL_CLASS_INITIALIZATION_FLAG): Removed.
(LOCAL_CLASS_INITIALIZATION_FLAG_P): Removed.
(TYPE_DOT_CLASS): Removed.
(TYPE_VERIFY_METHOD): Removed.
(ID_CLASSDOLLAR_P): Removed.
(enum java_tree_index) <JTI_CLASSDOLLAR_IDENTIFIER_NODE>:
Removed.
(classdollar_identifier_node): Removed.
(TYPE_UNKNOWN): Removed.
(CLASS_FROM_SOURCE_P): Removed.
* expr.c (build_jni_stub): Update.
(force_evaluation_order): Update.
(build_java_empty_stmt): Update.
(build_class_init): Update.
(java_stack_swap): Update.
(build_jni_stub): Update.

From-SVN: r127602

16 years agore PR c++/31749 (ICE with invalid redeclaration of builtin)
Ollie Wild [Fri, 17 Aug 2007 21:42:38 +0000 (21:42 +0000)] 
re PR c++/31749 (ICE with invalid redeclaration of builtin)

PR c++/31749

gcc/cp/
* name-lookup.c (do_nonmember_using_decl): Shift implicit type
declarations into appropriate slots for comparison.  Fix type
comparison.

gcc/testsuite/
* g++.dg/lookup/builtin3.C: New test.
* g++.dg/lookup/builtin4.C: New test.
* g++.dg/lookup/using19.C: New test.

From-SVN: r127600

16 years agore PR c++/32190 (wrong error recovery on parsing template arguments)
Paolo Carlini [Fri, 17 Aug 2007 21:31:40 +0000 (21:31 +0000)] 
re PR c++/32190 (wrong error recovery on parsing template arguments)

2007-08-17  Paolo Carlini  <pcarlini@suse.de>

PR c++/32190
* g++.dg/parse/error31.C: New.

From-SVN: r127597

16 years agore PR c++/32112 (#'unbound_class_template' not supported by dump_decl#)
Paolo Carlini [Fri, 17 Aug 2007 20:46:59 +0000 (20:46 +0000)] 
re PR c++/32112 (#'unbound_class_template' not supported by dump_decl#)

/cp
2007-08-17  Paolo Carlini  <pcarlini@suse.de>

PR c++/32112
* error.c (dump_decl): Deal with UNBOUND_CLASS_TEMPLATE.
* cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise.

/testsuite
2007-08-17  Paolo Carlini  <pcarlini@suse.de>

PR c++/32112
* g++.dg/template/error26.C: New.

From-SVN: r127596

16 years agomake-relative-prefix.c (make_relative_prefix_1): Resource leaks.
Michael Snyder [Fri, 17 Aug 2007 19:28:22 +0000 (19:28 +0000)] 
make-relative-prefix.c (make_relative_prefix_1): Resource leaks.

2007-08-17  Michael Snyder  <msnyder@access-company.com>
* make-relative-prefix.c (make_relative_prefix_1): Resource leaks.

From-SVN: r127595

16 years agoloop-invariant.c (find_invariants_to_move): Add missing macro argument.
Kaveh R. Ghazi [Fri, 17 Aug 2007 17:56:28 +0000 (17:56 +0000)] 
loop-invariant.c (find_invariants_to_move): Add missing macro argument.

* loop-invariant.c (find_invariants_to_move): Add missing macro
argument.

From-SVN: r127591

16 years agore PR testsuite/31884 (priority_queue_dijkstra.cc operates on deallocated memory)
Daniel Jacobowitz [Fri, 17 Aug 2007 17:24:22 +0000 (17:24 +0000)] 
re PR testsuite/31884 (priority_queue_dijkstra.cc operates on deallocated memory)

PR testsuite/31884
* testsuite/ext/pb_ds/example/priority_queue_dijkstra.cc (main): Do
not access deleted nodes.

* testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc,
testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc,
testsuite/27_io/basic_filebuf/open/char/4.cc,
testsuite/27_io/objects/char/9.cc: Use dg-require-fileio.
* testsuite/ext/forced_exception_error/cons_virtual_derivation.cc,
testsuite/ext/pb_ds/regression/hash_data_map_rand.cc,
testsuite/ext/pb_ds/regression/trie_data_map_rand.cc,
testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc,
testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc,
testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc,
testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc,
testsuite/ext/pb_ds/regression/priority_queue_rand.cc,
testsuite/ext/pb_ds/regression/tree_data_map_rand.cc,
testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc,
testsuite/ext/throw_allocator/deallocate_global.cc,
testsuite/ext/throw_allocator/check_delete.cc,
testsuite/ext/throw_allocator/check_allocate_max_size.cc,
testsuite/ext/throw_allocator/check_deallocate_null.cc,
testsuite/ext/throw_allocator/check_new.cc,
testsuite/ext/throw_allocator/deallocate_local.cc,
testsuite/tr1/5_numerical_facilities/random/subtract_with_carry_01/cons/gen1.cc,
testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/cons/gen1.cc,
testsuite/tr1/5_numerical_facilities/random/linear_congruential/cons/gen1.cc,
testsuite/tr1/5_numerical_facilities/random/mersenne_twister/cons/gen1.cc,
testsuite/23_containers/list/modifiers/insert/25288.cc: Use
dg-require-time.

From-SVN: r127590

16 years agotypedefs_neg.cc: Adjust dg-error lines.
Paolo Carlini [Fri, 17 Aug 2007 16:50:35 +0000 (16:50 +0000)] 
typedefs_neg.cc: Adjust dg-error lines.

2007-08-17  Paolo Carlini  <pcarlini@suse.de>

* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error lines.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Ditto.

From-SVN: r127589

16 years agore PR libstdc++/33098 ([c++0x] __is_convertible_helper in type_traits uses deprecated...
Chris Fairles [Fri, 17 Aug 2007 16:39:10 +0000 (16:39 +0000)] 
re PR libstdc++/33098 ([c++0x] __is_convertible_helper in type_traits uses deprecated add_reference)

2007-08-17  Chris Fairles  <chris.fairles@gmail.com>

PR libstdc++/33098
* include/std/type_traits (__is_convertible_helper):
Use add_lvalue_reference.

From-SVN: r127588

16 years agotree.h (struct tree_label_decl): Removed old "java" fields.
Tom Tromey [Fri, 17 Aug 2007 15:19:39 +0000 (15:19 +0000)] 
tree.h (struct tree_label_decl): Removed old "java" fields.

gcc:
* tree.h (struct tree_label_decl): Removed old "java" fields.
gcc/java:
* java-tree.h (LABEL_TYPE_STATE): Removed.
(load_type_state): Removed.
(LABEL_PC): Removed.
(LABEL_VERIFIED): Removed.
(type_states): Declare.
* expr.c (type_states): New global.
(load_type_state): Now static.  Use type_states.  Changed
argument.
(lookup_label): Don't set LABEL_PC.
(expand_byte_code): Don't use LABEL_VERIFIED.
(note_instructions): Initialize type_states.
* verify-glue.c (vfy_note_stack_depth): Rewrote.
(vfy_note_stack_type): Use type_states.
(vfy_note_local_type): Likewise.

From-SVN: r127587

16 years agomt-sde: New file.
Richard Sandiford [Fri, 17 Aug 2007 13:12:22 +0000 (13:12 +0000)] 
mt-sde: New file.

2007-08-17  Richard Sandiford  <richard@codesourcery.com>
    Nigel Stephens  <nigel@mips.com>

* config/mt-sde: New file.
* configure.ac (mips*-sde-elf*): New stanza.  Use config/mt-sde
as target_makefile_frag.
* configure: Regenerate.

gcc/
2007-08-17  Richard Sandiford  <richard@codesourcery.com>
    Nigel Stephens  <nigel@mips.com>

* config/mips/sde.h (DRIVER_SELF_SPECS): Add commas.
Treat -mno-data-in-code and -mcode-xonly as aliases for
-mcode-readable=no and -mcode-readable=pcrel respectively.
* config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Add -mcode-xonly.
(MULTILIB_OPTIONS): Add -mcode-readable=no multilibs.
(MULTILIB_DIRNAMES): Update accordingly.

Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r127586

16 years agore PR libfortran/33079 (Optional empty strings do not appear to be 'PRESENT')
Francois-Xavier Coudert [Fri, 17 Aug 2007 13:09:23 +0000 (13:09 +0000)] 
re PR libfortran/33079 (Optional empty strings do not appear to be 'PRESENT')

PR fortran/33079

* intrinsics/string_intrinsics.c (string_trim, string_minmax): Fix
the zero-length result case.

* gfortran.dg/zero_length_2.f90: New test.

From-SVN: r127584

16 years agoMakefile.in (version.o): Depend on $(REVISION) only if REVISION_s is defined.
H.J. Lu [Fri, 17 Aug 2007 13:08:36 +0000 (06:08 -0700)] 
Makefile.in (version.o): Depend on $(REVISION) only if REVISION_s is defined.

2007-08-17  H.J. Lu  <hongjiu.lu@intel.com>

* Makefile.in (version.o): Depend on $(REVISION) only if
REVISION_s is defined.

From-SVN: r127583

16 years agokind_tests_2.f03: Add cleanup-modules.
Tobias Burnus [Fri, 17 Aug 2007 11:01:56 +0000 (13:01 +0200)] 
kind_tests_2.f03: Add cleanup-modules.

2007-08-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/kind_tests_2.f03: Add cleanup-modules.
        * gfortran.dg/kind_tests_3.f03: Ditto.
        * gfortran.dg/global_vars_f90_init.f90: Ditto.
        * gfortran.dg/interface_13.f90: Ditto.
        * gfortran.dg/pr32738.f90: Ditto.
        * gfortran.dg/module_private_1.f90: Ditto.
        * gfortran.dg/test_only_clause.f90: Ditto.
        * gfortran.dg/bind_c_vars.f90: Ditto.
        * gfortran.dg/bind_c_dts.f90: Ditto.
        * gfortran.dg/use_9.f90: Ditto.
        * gfortran.dg/generic_8.f90: Ditto.
        * gfortran.dg/bind_c_implicit_vars.f03: Ditto.
        * gfortran.dg/private_type_6.f90: Ditto.
        * gfortran.dg/c_assoc.f90: Ditto.
        * gfortran.dg/private_type_7.f90: Ditto.
        * gfortran.dg/global_vars_c_init.f90: Ditto.
        * gfortran.dg/bind_c_dts_2.f03: Ditto.
        * gfortran.dg/c_f_pointer_tests.f90: Ditto.
        * gfortran.dg/c_size_t_test.f03: Ditto.
        * gfortran.dg/used_types_12.f90: Ditto.
        * gfortran.dg/pr25923.f90: Ditto.
        * gfortran.dg/test_com_block.f90: Ditto.
        * gfortran.dg/iso_c_binding_rename_1.f03: Ditto.
        * gfortran.dg/equiv_constraint_7.f90: Ditto.
        * gfortran.dg/com_block_driver.f90: Ditto.
        * gfortran.dg/iso_c_binding_rename_2.f03: Ditto.
        * gfortran.dg/use_iso_c_binding.f90: Ditto.
        * gfortran.dg/c_loc_test.f90: Ditto.
        * gfortran.dg/c_ptr_tests.f03: Ditto.
        * gfortran.dg/module_interface_1.f90: Ditto.

From-SVN: r127582

16 years agore PR c++/32870 (Unclear error message when declaring struct in wrong namespace)
Paolo Carlini [Fri, 17 Aug 2007 09:35:23 +0000 (09:35 +0000)] 
re PR c++/32870 (Unclear error message when declaring struct in wrong namespace)

/cp
2007-08-17  Paolo Carlini  <pcarlini@suse.de>

PR c++/32870
* parser.c (cp_parser_class_head): Improve error message.

/testsuite
2007-08-17  Paolo Carlini  <pcarlini@suse.de>

PR c++/32870
* g++.dg/other/error17.C: Adjust.

From-SVN: r127581

16 years agore PR libstdc++/33084 (Small typo in valarray header)
Johannes Willkomm [Fri, 17 Aug 2007 09:27:06 +0000 (09:27 +0000)] 
re PR libstdc++/33084 (Small typo in valarray header)

2007-08-17  Johannes Willkomm  <willkomm@sc.rwth-aachen.de>

PR libstdc++/33084
* include/std/valarray (operator _Op(const _Tp&,
const valarray<>&)): Fix typo.
* testsuite/26_numerics/numeric_arrays/valarray/33084.cc: New.

From-SVN: r127579

16 years agore PR middle-end/32970 (C++ frontend can not handle vector pointer constant parameter)
Ben Elliston [Fri, 17 Aug 2007 05:24:24 +0000 (15:24 +1000)] 
re PR middle-end/32970 (C++ frontend can not handle vector pointer constant parameter)

PR middle-end/32970
gcc/
* tree.c (reconstruct_complex_type): For a pointer to a vector,
use build_qualified_type to retain qualifiers of the base type.
testsuite/
* g++.dg/ext/altivec-14.C: New test.

From-SVN: r127578

16 years agoscore.md: Update pattern tablejump.
Chen Liqin [Fri, 17 Aug 2007 03:38:47 +0000 (03:38 +0000)] 
score.md: Update pattern tablejump.

2007-08-17  Chen Liqin  <liqin@sunnorth.com.cn>
        * config/score/score.md : Update pattern tablejump.
        * config/score/score.c : Update score_initialize_trampoline
        function.
        * config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
        (TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
        * doc/contrib.texi: Add my entry.

From-SVN: r127577

16 years agoDaily bump.
GCC Administrator [Fri, 17 Aug 2007 00:17:35 +0000 (00:17 +0000)] 
Daily bump.

From-SVN: r127574

16 years agoMakefile.def (STAGE2_CFLAGS, [...]): Add to flags_to_pass.
Alexandre Oliva [Fri, 17 Aug 2007 00:00:00 +0000 (00:00 +0000)] 
Makefile.def (STAGE2_CFLAGS, [...]): Add to flags_to_pass.

ChangeLog:
* Makefile.def (STAGE2_CFLAGS, STAGE3_CFLAGS, STAGE4_CFLAGS):
Add to flags_to_pass.  Adjust uses of BOOT_CFLAGS.
(bootstrap2-debug, bootstrap-debug): New bootstrap stages.
* Makefile.tpl (STAGE2_CFLAGS, STAGE3_CFLAGS, STAGE4_CFLAGS): New.
(do-compare, do-compare3, do-compare-debug): New.
([+compare-target+]): Use them.
contrib/ChangeLog:
* compare-debug: New.

From-SVN: r127570

16 years agoMakefile.in (REVISION): New.
H.J. Lu [Thu, 16 Aug 2007 21:10:14 +0000 (21:10 +0000)] 
Makefile.in (REVISION): New.

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>

* Makefile.in (REVISION): New.
(REVISION_c): New.
(REVISION_s): New.
(version.o): Also depend on $(REVISION). Add
-DREVISION=$(REVISION_s).

* version.c (version_string): Add REVISION.

From-SVN: r127568

16 years agossa-dse-10.c: Clean up all dse dump files.
Uros Bizjak [Thu, 16 Aug 2007 20:28:43 +0000 (22:28 +0200)] 
ssa-dse-10.c: Clean up all dse dump files.

        * gcc.dg/tree-ssa/ssa-dse-10.c: Clean up all dse dump files.
        * gcc.dg/vect/dump-tree-dceloop-pr26359.c: Clean up all dceloop
        dump files.
        * gcc.dg/vect/pr25371.c: Clean up vect dump file.
        * gcc.dg/vect/pr32366.c: Ditto.

From-SVN: r127567

16 years agogcc_update: Use "svn info" for revision number.
H.J. Lu [Thu, 16 Aug 2007 19:05:48 +0000 (19:05 +0000)] 
gcc_update: Use "svn info" for revision number.

2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
    Andreas Schwab <schwab@suse.de>

* gcc_update: Use "svn info" for revision number.  Create
gcc/REVISION with branch name and revision number.

Co-Authored-By: Andreas Schwab <schwab@suse.de>
From-SVN: r127566

16 years agore PR testsuite/33082 (Revision 127491 causes FAIL: gcc.dg/dfp/convert-bfp-fold.c...
Uros Bizjak [Thu, 16 Aug 2007 18:30:14 +0000 (20:30 +0200)] 
re PR testsuite/33082 (Revision 127491 causes FAIL: gcc.dg/dfp/convert-bfp-fold.c (test for excess errors))

PR testsuite/33082
* gcc.dg/dfp/convert-dfp-fold.c: Use -O2 instead of -O in dg-options.
* gcc.dg/dfp/convert-bfp-fold.c: Ditto.
* gcc.dg/dfp/convert-int-fold.c: Ditto.
* gcc.dg/dfp/operator-arith-fold.c: Ditto.

From-SVN: r127565

16 years agore PR fortran/33072 ("use mod, only: operator(.sub.)" matches any procedure "sub")
Tobias Burnus [Thu, 16 Aug 2007 18:17:46 +0000 (20:17 +0200)] 
re PR fortran/33072 ("use mod, only: operator(.sub.)" matches any procedure "sub")

2007-08-16  Tobias Burnus  <burnus@net-b.de>

PR fortran/33072
* module.c (gfc_match_use): Mark user operators as such.
(find_use_name_n): Distinguish between operators and other symbols.
(find_use_name,number_use_names,mio_namelist,
 load_operator_interfaces,load_generic_interfaces,read_module,
 write_generic): Update find_use_name_n calls.

2007-08-16  Tobias Burnus  <burnus@net-b.de>

PR fortran/33072
* gfortran.dg/use_9.f90: New.

From-SVN: r127564

16 years agogcov-5.C: New test.
Seongbae Park [Thu, 16 Aug 2007 17:36:01 +0000 (17:36 +0000)] 
gcov-5.C: New test.

gcc/testsuite/ChangeLog:

2007-08-16  Seongbae Park <seongbae.park@gmail.com>

        * g++.dg/gcov/gcov-5.C: New test.

gcc/cp/ChangeLog:

2007-08-16  Seongbae Park <seongbae.park@gmail.com>

        * pt.c (instantiate_decl): Set input_location
        for the function end.

From-SVN: r127563

16 years agotree-eh.c (lower_try_finally_onedest): Reset the locus of GOTO that's relocated to...
Seongbae Park [Thu, 16 Aug 2007 17:30:20 +0000 (17:30 +0000)] 
tree-eh.c (lower_try_finally_onedest): Reset the locus of GOTO that's relocated to a different block.

gcc/ChangeLog:
2007-08-16  Seongbae Park <seongbae.park@gmail.com>

* tree-eh.c (lower_try_finally_onedest): Reset the locus
of GOTO that's relocated to a different block.

gcc/testsuite/ChangeLog:
2007-08-16  Seongbae Park  <seongbae.park@gmail.com>

* g++.dg/gcov/gcov-4.C: New test.
* lib/gcov.exp (verify-lines): Add support for
checking no-coverage lines.

From-SVN: r127562

16 years agoc-common.c (const_strip_array_types): New.
Kaveh R. Ghazi [Thu, 16 Aug 2007 14:31:21 +0000 (14:31 +0000)] 
c-common.c (const_strip_array_types): New.

* c-common.c (const_strip_array_types): New.
* c-common.h (lang_missing_noreturn_ok_p): Delete.
(const_strip_array_types): New.
* c-objc-common.c (c_disregard_inline_limits,
c_warn_unused_global_decl): Constify.
* c-tree.h (c_disregard_inline_limits, c_warn_unused_global_decl,
c_vla_type_p, c_incomplete_type_error): Likewise.
* c-typeck.c (c_incomplete_type_error, c_vla_type_p): Likewise.
* hooks.c (hook_bool_const_tree_false): New.
* hooks.h (hook_bool_const_tree_false): Likewise.
* langhooks-def.h (lhd_warn_unused_global_decl,
lhd_incomplete_type_error, lhd_expr_size,
lhd_tree_inlining_disregard_inline_limits,
lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
LANG_HOOKS_GENERIC_TYPE_P, LANG_HOOKS_TYPE_MAX_SIZE): Constify.
* langhooks.c (lhd_warn_unused_global_decl,
lhd_incomplete_type_error,
lhd_tree_inlining_disregard_inline_limits,
lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
lhd_expr_size): Likewise.
* langhooks.h (lang_hooks_for_tree_inlining,
lang_hooks_for_tree_dump, lang_hooks_for_types,
lang_hooks_for_decls, lang_hooks): Likewise.
* pointer-set.c (pointer_set_t, pointer_set_create,
pointer_set_contains, insert_aux, pointer_set_insert,
pointer_set_traverse, pointer_map_t, pointer_map_create,
pointer_map_contains, pointer_map_insert, pointer_map_traverse):
Likewise.
* pointer-set.h (pointer_set_contains, pointer_set_insert,
pointer_set_traverse, pointer_map_contains, pointer_map_insert,
pointer_map_traverse): Likewise.
* predict.c (assert_is_empty): Likewise.
* tree-affine.c (free_name_expansion): Likewise.
* tree-cfg.c (edge_to_cases_cleanup): Likewise.
* tree.c (size_in_bytes, max_int_size_in_bytes): Likewise.
* tree.h (size_in_bytes, max_int_size_in_bytes): Likewise.

ada:
* misc.c (gnat_type_max_size): Constify.

cp:
* cp-objcp-common.c (cxx_warn_unused_global_decl, cp_expr_size):
Constify.
* cp-tree.h (local_variable_p, nonstatic_local_decl_p,
class_tmpl_impl_spec_p, cp_auto_var_in_fn_p, cp_type_quals,
cxx_incomplete_type_diagnostic, cxx_incomplete_type_error,
cxx_warn_unused_global_decl, cp_expr_size): Likewise.
* decl.c (local_variable_p, nonstatic_local_decl_p): Likewise.
* tree.c (class_tmpl_impl_spec_p, cp_auto_var_in_fn_p): Likewise.
* typeck.c (cp_type_quals): Likewise.
* typeck2.c (cxx_incomplete_type_diagnostic,
cxx_incomplete_type_error): Likewise.

From-SVN: r127560

16 years agotree-vectorizer.c (new_loop_vec_info): Initialize new field.
Victor Kaplansky [Thu, 16 Aug 2007 14:20:39 +0000 (14:20 +0000)] 
tree-vectorizer.c (new_loop_vec_info): Initialize new field.

gcc/ChangeLog

* tree-vectorizer.c (new_loop_vec_info): Initialize new
field.
(destroy_loop_vec_info): Add call to VEC_free.
* tree-vectorizer.h (may_alias_ddrs): Define.
(LOOP_VINFO_MAY_ALIAS_DDRS): Define.
* tree-vect-analyze.c (vect_analyze_data_ref_dependence):
Change reporting to dump.
(vect_is_duplicate_ddr): New.
(vect_mark_for_runtime_alias_test): New.
(vect_analyze_data_ref_dependences) Add call to
vect_mark_for_runtime_alias_test.
(vect_enhance_data_refs_alignment): Define local variable
vect_versioning_for_alias_required, don't perform
peeling for alignment if versioning for alias is
required.
(vect_enhance_data_refs_alignment): Use
PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS instead of
PARAM_VECT_MAX_VERSION_CHECKS.
* tree-vect-transform.c
(vect_create_cond_for_alias_checks): New.
(vect_transform_loop): Add call to
vect_create_cond_for_alias_checks.
(vect_vfa_segment_size): New.
* params.def (PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS):
Rename.
(PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS): Define.
* gcc/doc/invoke.texi
(vect-max-version-for-alignment-checks): Document.
(vect-max-version-for-alias-checks): Document.
(vect-max-version-checks): Remove.

gcc/testsuite/ChangeLog

* gcc.dg/vect/vect-vfa-01.c: New.
* gcc.dg/vect/vect-vfa-02.c: New.
* gcc.dg/vect/vect-vfa-03.c: New.
* gcc.dg/vect/vect-vfa-04.c: New.
* gcc.dg/vect/vect-102a.c, gcc.dg/vect/vect-51.c,
gcc.dg/vect/pr29145.c, gcc.dg/vect/vect-43.c,
gcc.dg/vect/vect-61.c, gcc.dg/vect/vect-53.c,
gcc.dg/vect/vect-45.c, gcc.dg/vect/vect-101.c,
gcc.dg/vect/vect-37.c, gcc.dg/vect/vect-79.c,
gcc.dg/vect/vect-102.c, gcc.dg/vect/vect-dv-2.c,
gcc.dg/vect/vect-57.c, gcc.dg/vect/vect-49.c,
gfortran.dg/vect/pr19049.f90: Rename to start with
prefix no-vfa-.
* gcc.dg/vect/vect.exp: Disable versioning for alias
when test starts with no-vfa-.
* gfortran.dg/vect/vect.exp: Likewise.

From-SVN: r127559

16 years agoi386.md (*rep_movdi_rex64): Emit "rep" prefix on the same line as the instruction...
Uros Bizjak [Thu, 16 Aug 2007 14:01:53 +0000 (16:01 +0200)] 
i386.md (*rep_movdi_rex64): Emit "rep" prefix on the same line as the instruction for all asm dialects.

* config/i386/i386.md (*rep_movdi_rex64): Emit "rep" prefix on
the same line as the instruction for all asm dialects.
(*rep_movsi): Ditto.
(*rep_movsi_rex64): Ditto.
(*rep_movqi): Ditto.
(*rep_movqi_rex64): Ditto.
(*rep_stosdi_rex64): Ditto.
(*rep_stossi): Ditto.
(*rep_stossi_rex64): Ditto.
(*rep_stosqi): Ditto.
(*rep_stosqi_rex64): Ditto.
(*cmpstrnqi_nz_1): Ditto.
(*cmpstrnqi_nz_rex_1): Ditto.
(*cmpstrnqi_1): Ditto.
(*cmpstrnqi_rex_1): Ditto.
(*strlenqi_1): Ditto.
(*strlenqi_rex_1): Ditto.
* config/i386/sync.md (*sync_compare_and_swap<mode>): Emit "lock"
prefix on the same line as the instruction for all asm dialects.
(sync_double_compare_and_swap<mode>): Ditto.
(*sync_double_compare_and_swapdi_pic): Ditto.
(*sync_compare_and_swap_cc<mode>): Ditto.
(sync_double_compare_and_swap_cc<mode>): Ditto.
(*sync_double_compare_and_swap_ccdi_pic): Ditto.
(sync_old_add<mode>): Ditto.
(sync_add<mode>): Ditto.
(sync_sub<mode>): Ditto.
(sync_ior<mode>): Ditto.
(sync_and<mode>): Ditto.
(sync_xor<mode>): Ditto.

From-SVN: r127558

16 years agoAdd new tests.
Arnaud Charlet [Thu, 16 Aug 2007 13:58:54 +0000 (15:58 +0200)] 
Add new tests.

From-SVN: r127556

16 years agoAdd new tests.
Arnaud Charlet [Thu, 16 Aug 2007 13:51:43 +0000 (15:51 +0200)] 
Add new tests.

From-SVN: r127555

16 years agoAdd new tests.
Arnaud Charlet [Thu, 16 Aug 2007 13:29:34 +0000 (15:29 +0200)] 
Add new tests.

From-SVN: r127554

16 years agoResync
Arnaud Charlet [Thu, 16 Aug 2007 12:22:05 +0000 (14:22 +0200)] 
Resync

From-SVN: r127553

16 years ago[multiple changes]
Arnaud Charlet [Thu, 16 Aug 2007 12:21:37 +0000 (14:21 +0200)] 
[multiple changes]

2007-08-16  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Add note on preprocessing (output file not written)

2007-08-16  Thomas Quinot  <quinot@adacore.com>

* a-tags.adb: Minor reformatting.

2007-08-16  Bob Duff  <duff@adacore.com>

* sem_type.ads, sem_ch4.adb: Minor reformatting.

From-SVN: r127552

16 years agovms_conv.adb (Process_Argument): Ensure that project related options are not put...
Vincent Celier [Thu, 16 Aug 2007 12:21:20 +0000 (14:21 +0200)] 
vms_conv.adb (Process_Argument): Ensure that project related options are not put in the -cargs section when...

2007-08-16  Vincent Celier  <celier@adacore.com>

* vms_conv.adb (Process_Argument): Ensure that project related options
are not put in the -cargs section when using GNAT COMPILE.

From-SVN: r127551

16 years agosem_res.adb (Comes_From_Predefined_Lib_Unit): New.
Hristian Kirtchev [Thu, 16 Aug 2007 12:21:07 +0000 (14:21 +0200)] 
sem_res.adb (Comes_From_Predefined_Lib_Unit): New.

2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
    Bob Duff  <duff@adacore.com>
    Nicolas Setton  <setton@adacore.com>

* sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
(Resolve): Alphabetize local variables. Add new variable From_Lib. When
the statement which is being resolved comes from a predefined library
unit, all non-predefined library interpretations are skipped.
(Resolve_Op_Concat): If string concatenation was folded in the parser,
but the "&" is user defined, give an error, because the folding would
be wrong.

* sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
the parser has folded a long sequence of concatenations of string
literals.

* trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
and "JMP_BUF" variables as artificial.
(N_String_Literal): Do not use alloca for very long string literals. Use
xmalloc/free instead. Otherwise the stack might overflow.

* utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
compiler.

From-SVN: r127550

16 years agosem_disp.adb (Check_Dispatching_Operation): If the operation implements an operation...
Ed Schonberg [Thu, 16 Aug 2007 12:20:50 +0000 (14:20 +0200)] 
sem_disp.adb (Check_Dispatching_Operation): If the operation implements an operation inherited from a progenitor interface...

2007-08-16  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Dispatching_Operation): If the operation
implements an operation inherited from a progenitor interface, verify
that they are subtype-conformant.

From-SVN: r127549

16 years agosem_ch5.adb (Analyze_Assignment): Make sure we still note update in exception case
Robert Dewar [Thu, 16 Aug 2007 12:20:32 +0000 (14:20 +0200)] 
sem_ch5.adb (Analyze_Assignment): Make sure we still note update in exception case

2007-08-16  Robert Dewar  <dewar@adacore.com>

* sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
exception case

From-SVN: r127548

16 years agosem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to initialize a limite...
Gary Dismukes [Thu, 16 Aug 2007 12:20:13 +0000 (14:20 +0200)] 
sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to initialize a limited object.

2007-08-16  Gary Dismukes  <dismukes@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
initialize a limited object.
(Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
13/2 and 14/2.
Make sure Has_Complex_Representation is inherited by derived type.

From-SVN: r127547

16 years agosem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the generic for...
Ed Schonberg [Thu, 16 Aug 2007 12:20:00 +0000 (14:20 +0200)] 
sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the generic for an enclosing instance is a...

2007-08-16  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
generic for an enclosing instance is a global reference, even though
its scope is the enclosing instance.

From-SVN: r127546

16 years agosem_ch10.adb (Has_With_Clause): If the name of the with clause currently inspected...
Hristian Kirtchev [Thu, 16 Aug 2007 12:19:50 +0000 (14:19 +0200)] 
sem_ch10.adb (Has_With_Clause): If the name of the with clause currently inspected is a selected component...

2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch10.adb (Has_With_Clause): If the name of the with clause
currently inspected is a selected component, retrieve the entity of
its selector.
(Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
from the immediate ancestor of Main_Unit_Entity.
(Install_Limited_Withed_Unit): Do not install the limited view of
package P if P is reachable through an ancestor chain from package C
and C also has a with clause for P in its body.
(Has_Limited_With_Clause): New routine.
(Has_With_Clause): New routine.

From-SVN: r127545

16 years agoprj.ads (Project_Data): Add comments.
Vincent Celier [Thu, 16 Aug 2007 12:19:39 +0000 (14:19 +0200)] 
prj.ads (Project_Data): Add comments.

2007-08-16  Vincent Celier  <celier@adacore.com>

* prj.ads (Project_Data): Add comments.

* prj-attr.adb: New attribute Removed_Source_Dirs

* prj-nmsc.adb (Get_Directories): Take into account new attribute
Removed_Source_Dirs

* snames.ads, snames.adb: New standard name Removed_Source_Dirs

From-SVN: r127544

16 years agoMakefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub makefiles
Nicolas Roche [Thu, 16 Aug 2007 12:19:24 +0000 (14:19 +0200)] 
Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub makefiles

2007-08-16  Nicolas Roche  <roche@adacore.com>

* Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
makefiles

* Make-lang.in: Update dependencies

From-SVN: r127543

16 years agomake.adb (Collect_Arguments): Call Test_If_Relative_Path with Including_Non_Switch...
Vincent Celier [Thu, 16 Aug 2007 12:19:13 +0000 (14:19 +0200)] 
make.adb (Collect_Arguments): Call Test_If_Relative_Path with Including_Non_Switch set to False.

2007-08-16  Vincent Celier  <celier@adacore.com>

* make.adb (Collect_Arguments): Call Test_If_Relative_Path with
Including_Non_Switch set to False.
(Gnatmake): For the compiler, call Test_If_Relative_Path with
Including_Non_Switch set to False.

* makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
parameter Including_Non_Switch, defaulted to True. When
Including_Non_Switch is False, options that are not switches and
appear as relative path are not converted to absolute paths.

From-SVN: r127542

16 years agog-dyntab.adb, [...]: (Set_Item): Suppress Range_Check on Allocated_Table.
Thomas Quinot [Thu, 16 Aug 2007 12:19:02 +0000 (14:19 +0200)] 
g-dyntab.adb, [...]: (Set_Item): Suppress Range_Check on Allocated_Table.

2007-08-16  Thomas Quinot  <quinot@adacore.com>

* g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
Range_Check on Allocated_Table.

From-SVN: r127541

16 years agoexp_ch9.adb (Build_Protected_Entry): Undo previous change because it is not really...
Javier Miranda [Thu, 16 Aug 2007 12:18:37 +0000 (14:18 +0200)] 
exp_ch9.adb (Build_Protected_Entry): Undo previous change because it is not really required and can introduce...

2007-08-16  Javier Miranda  <miranda@adacore.com>

* exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
is not really required and can introduce regression with the debugger.
The original problem is fixed with the patch written for checks.adb.

From-SVN: r127540

16 years agoexp_attr.adb (Attribute_Priority): Add missing support for entries and entry barriers.
Javier Miranda [Thu, 16 Aug 2007 12:18:26 +0000 (14:18 +0200)] 
exp_attr.adb (Attribute_Priority): Add missing support for entries and entry barriers.

2007-08-16  Javier Miranda  <miranda@adacore.com>

* exp_attr.adb (Attribute_Priority): Add missing support for entries
and entry barriers.

From-SVN: r127539

16 years agoexp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given...
Gary Dismukes [Thu, 16 Aug 2007 12:18:16 +0000 (14:18 +0200)] 
exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given by an aggregate to test for an...

2007-08-16  Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
ancestor part given by an aggregate to test for an unchecked conversion,
since this can occur in some cases when the ancestor part is a function
call, and we don't want to fall into the recursive call to this
procedure in that case.

* exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
stream attributes on limited types to account for user-specified
attributes as well as whether Input (resp. Output) becomes available
due to Read (resp. Write) being available for the type. Change Boolean
variable to the more accurate name
Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
double-"not" predicate at beginning of return statement to more
understandable form.

* exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
return has an associated N_Handled_Sequence_Of_Statements, then wrap it
in a block statement and use that as the first statement of the
expanded return rather than incorrectly using the handled sequence as
the first statement.

* exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
operation, generate an explicit freeze node for it rather than
generating extra formals, to ensure that gigi has the proper order of
elaboration for anonymous subtypes in the signature of the subprograms.
(Build_In_Place_Formal): Move assertion to beginning of loop.
(Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
applied to a function call (occurs for some cases of 'Input).
(Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
applied to a function call (occurs for some cases of 'Input).

* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
2005, generate an extended return statement enclosing the result object
and 'Read call.

* freeze.adb (Freeze_Record_Type): Extend the current management of
components that are access type with an allocator as default value: add
missing support to the use of qualified expressions of the
allocator (which also cause freezing of the designated type!)
(Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
dispatching operation, since extra formals may be needed by calls to
build-in-place functions (such as stream 'Input).

* sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
formals for 'Constrained and accessibility level in the case of a
predefined dispatching operation.

* exp_util.adb (Insert_Actions): A protected body is a valid insertion
point, no need to find the parent node.

From-SVN: r127538

16 years agocstand.adb (Create_Standard): Create an entity for a zero-sized type associated with...
Gary Dismukes [Thu, 16 Aug 2007 12:17:54 +0000 (14:17 +0200)] 
cstand.adb (Create_Standard): Create an entity for a zero-sized type associated with...

2007-08-16  Gary Dismukes  <dismukes@adacore.com>

* cstand.adb (Create_Standard): Create an entity for a zero-sized type
associated with Standard_Debug_Renaming_Type, to be used as the type of
the special variables whose names provide debugger encodings for
renaming declarations.

* einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
(Set_Debug_Renaming_Link): Change to set Node25.
(Write_Field13_Name): Remove case for E_Enumeration_Literal.
(Write_Field25_Name): Add case for E_Variable to output
"Debug_Renaming_Link".
(Write_Field23_Name): Correct the output string for "Limited_View".

* exp_dbug.adb: Add with and use of Tbuild.
(Debug_Renaming_Declaration): Replace creation of an enumeration type
and literal with creation of a variable of type
Standard_Debug_Renaming_Type whose name encodes both the renamed object
and the entity of the renaming declaration.
(Qualify_Entity_Name): Add the delayed qualification of the entity name
part of the name of a variable that has a Debug_Renaming_Link.

* stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
special type to be associated with variables that provide debugger
encodings for renaming declarations.

From-SVN: r127537