platform/upstream/gcc.git
13 years ago* lex.c (init_vectorized_lexer): Fix comparison of masked value.
Uros Bizjak [Sun, 22 May 2011 19:04:54 +0000 (21:04 +0200)]
* lex.c (init_vectorized_lexer): Fix comparison of masked value.

From-SVN: r174037

13 years agore PR middle-end/48689 (ICE in fold-const.c:13798 with fold checking)
Tom de Vries [Sun, 22 May 2011 19:00:33 +0000 (19:00 +0000)]
re PR middle-end/48689 (ICE in fold-const.c:13798 with fold checking)

2011-05-22  Tom de Vries  <tom@codesourcery.com>

PR middle-end/48689
* fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
CODE_CONTAINS_STRUCT (TS_COMMON).

From-SVN: r174035

13 years agore PR middle-end/49029 (ICE in simplify_subreg, at simplify-rtx.c:5266)
Jakub Jelinek [Sun, 22 May 2011 19:00:00 +0000 (21:00 +0200)]
re PR middle-end/49029 (ICE in simplify_subreg, at simplify-rtx.c:5266)

PR middle-end/49029
* expmed.c (extract_fixed_bit_field): Test whether target can be used
only after deciding which mode to use.

* gcc.c-torture/compile/pr49029.c: New test.

From-SVN: r174034

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Sun, 22 May 2011 18:57:19 +0000 (18:57 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-22  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
for call to get_shiftadd_cost.

From-SVN: r174033

13 years agore PR bootstrap/49104 (bootstrap failure on AMD K6-2 with illegal instruction (cmove...
Uros Bizjak [Sun, 22 May 2011 18:53:32 +0000 (20:53 +0200)]
re PR bootstrap/49104 (bootstrap failure on AMD K6-2 with illegal instruction (cmove) in stage2)

PR target/49104
* config/i386/cpuid.h (bit_MMXEXT): New define.

libcpp/ChangeLog:

2011-05-22  Uros Bizjak  <ubizjak@gmail.com>

PR target/49104
* lex.c (init_vectorized_lexer): Do not set "minimum" when __3dNOW_A__
is defined.  Check bit_MMXEXT and bit_CMOV to use search_line_mmx.

From-SVN: r174032

13 years agore PR c++/48647 ([C++0x] SFINAE does not handle incompatible pointer types well in...
Jason Merrill [Sun, 22 May 2011 18:48:39 +0000 (14:48 -0400)]
re PR c++/48647 ([C++0x] SFINAE does not handle incompatible pointer types well in conditional operator)

PR c++/48647
* typeck.c (composite_pointer_type_r): Return error_mark_node
on error in SFINAE context.

From-SVN: r174031

13 years agoPR 48931 Make backtrace async-signal-safe, reformat output
Janne Blomqvist [Sun, 22 May 2011 16:38:05 +0000 (19:38 +0300)]
PR 48931 Make backtrace async-signal-safe, reformat output

From-SVN: r174030

13 years agostormy16.c (xstormy16_init_builtins): prevent initialisation of non-existant args...
Nick Clifton [Sun, 22 May 2011 14:51:34 +0000 (14:51 +0000)]
stormy16.c (xstormy16_init_builtins): prevent initialisation of non-existant args[2] element.

* config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
initialisation of non-existant args[2] element.  Use args[] array
not arg[] array to pass arguments to build_function_type_list.

From-SVN: r174029

13 years agogcc_release (adjust_dirs, [...]): Remove.
Joseph Myers [Sun, 22 May 2011 14:20:12 +0000 (15:20 +0100)]
gcc_release (adjust_dirs, [...]): Remove.

* gcc_release (adjust_dirs, maybe_build_tarfile): Remove.
(build_tarfiles): Don't build separate files for languages and
core.
(build_diffs): Only build one set of diffs.
(announce_snapshot): Only announce one tar file.
(ADA_DIRS, CPLUSPLUS_DIRS, FORTRAN95_DIRS, GO_DIRS, JAVA_DIRS,
OBJECTIVEC_DIRS, TESTSUITE_DIRS): Remove.  Don't adjust names
relative to WORKING_DIRECTORY.

From-SVN: r174028

13 years agofrontend-passes.c (cfe_register_funcs): Also register character functions if their...
Thomas Koenig [Sun, 22 May 2011 10:38:09 +0000 (10:38 +0000)]
frontend-passes.c (cfe_register_funcs): Also register character functions if their charlens are known and constant.

2011-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (cfe_register_funcs):  Also register
character functions if their charlens are known and constant.
Also register allocatable functions.

2011-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>

* gfortran.dg/function_optimize_8.f90:  New test case.

From-SVN: r174027

13 years agore PR tree-optimization/49087 (crash in vect_is_slp_reduction)
Ira Rosen [Sun, 22 May 2011 08:04:43 +0000 (08:04 +0000)]
re PR tree-optimization/49087 (crash in vect_is_slp_reduction)

        PR tree-optimization/49087
        * tree-vect-loop.c (vect_is_slp_reduction): Fail if
        LHS has no uses.

From-SVN: r174026

13 years agore PR c++/49092 (ice in tree_add_const_value_attribute)
Jason Merrill [Sun, 22 May 2011 04:40:55 +0000 (00:40 -0400)]
re PR c++/49092 (ice in tree_add_const_value_attribute)

PR c++/49092
* dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
static storage duration.

From-SVN: r174024

13 years agoDaily bump.
GCC Administrator [Sun, 22 May 2011 00:18:45 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r174021

13 years agosparc.md (setjmp): Handle PIC mode and use the hard frame pointer.
Eric Botcazou [Sat, 21 May 2011 22:49:05 +0000 (22:49 +0000)]
sparc.md (setjmp): Handle PIC mode and use the hard frame pointer.

* config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
frame pointer.

From-SVN: r174013

13 years agosparc.c (eligible_for_return_delay): Do not return false if there are call-saved...
Eric Botcazou [Sat, 21 May 2011 22:03:37 +0000 (22:03 +0000)]
sparc.c (eligible_for_return_delay): Do not return false if there are call-saved registers here...

* config/sparc/sparc.c (eligible_for_return_delay): Do not return
false if there are call-saved registers here...
(sparc_can_use_return_insn_p): ...but here instead.
(save_or_restore_regs): Fix thinko.
(sparc_expand_prologue): Use current_function_is_leaf.
(sparc_frame_pointer_required): Likewise.

From-SVN: r174010

13 years agosparc.c (eligible_for_return_delay): Do not return false if there are call-saved...
Eric Botcazou [Sat, 21 May 2011 22:02:25 +0000 (22:02 +0000)]
sparc.c (eligible_for_return_delay): Do not return false if there are call-saved registers here...

* config/sparc/sparc.c (eligible_for_return_delay): Do not return
false if there are call-saved registers here...
(sparc_can_use_return_insn_p): ...but here instead.
(save_or_restore_regs): Fix thinko.
(sparc_expand_prologue): Use current_function_is_leaf.
(sparc_frame_pointer_required): Likewise.

From-SVN: r174008

13 years agore PR c++/48945 ([C++0x] static constexpr member function cannot be defined out-of...
Jason Merrill [Sat, 21 May 2011 22:01:45 +0000 (18:01 -0400)]
re PR c++/48945 ([C++0x] static constexpr member function cannot be defined out-of class)

PR c++/48945
* decl.c (grokdeclarator): Don't add set const function-cv-qual
for constexpr fns to memfn_quals, just add it to the type.
(revert_static_member_fn): Don't complain about quals.
(check_static_quals): New.
(grokfndecl): Call it.
(start_preparsed_function): Don't call revert_static_member_fn.

From-SVN: r174007

13 years agore PR c++/48945 ([C++0x] static constexpr member function cannot be defined out-of...
Jason Merrill [Sat, 21 May 2011 22:01:38 +0000 (18:01 -0400)]
re PR c++/48945 ([C++0x] static constexpr member function cannot be defined out-of class)

PR c++/48945
* decl.c (revert_static_member_fn): Ignore const on constexpr fn.

From-SVN: r174006

13 years agore PR c++/48780 ([C++0x] scoped enumerations and va_arg (default argument promotions))
Jason Merrill [Sat, 21 May 2011 22:01:29 +0000 (18:01 -0400)]
re PR c++/48780 ([C++0x] scoped enumerations and va_arg (default argument promotions))

PR c++/48780
* cvt.c (type_promotes_to): Don't promote scoped enums.

From-SVN: r174005

13 years agounique_ptr.h: Use noexcept per the FDIS.
Paolo Carlini [Sat, 21 May 2011 21:50:39 +0000 (21:50 +0000)]
unique_ptr.h: Use noexcept per the FDIS.

2011-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/unique_ptr.h: Use noexcept per the FDIS.

From-SVN: r174004

13 years agore PR ada/49097 (gnatbind link fails to find version_string, potential ranlib concurr...
Joseph Myers [Sat, 21 May 2011 19:45:27 +0000 (20:45 +0100)]
re PR ada/49097 (gnatbind link fails to find version_string, potential ranlib concurrency problem)

PR ada/49097
* gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on
$(LIBDEPS).

From-SVN: r174002

13 years agore PR fortran/48699 ([OOP] MOVE_ALLOC inside SELECT TYPE)
Janus Weil [Sat, 21 May 2011 19:12:51 +0000 (21:12 +0200)]
re PR fortran/48699 ([OOP] MOVE_ALLOC inside SELECT TYPE)

2011-05-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48699
* match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
selector is ALLOCATABLE.

2011-05-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48699
* gfortran.dg/select_type_23.f03: New.

From-SVN: r174001

13 years agore PR target/49098 (unused parameters in rx.c:rx_memory_move_cost)
Nick Clifton [Sat, 21 May 2011 16:35:38 +0000 (16:35 +0000)]
re PR target/49098 (unused parameters in rx.c:rx_memory_move_cost)

PR target/49098
* config/rx/rx.c (rx_memory_move_cost): Note unused parameters.

From-SVN: r173999

13 years agoIn gcc/objc/: 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Sat, 21 May 2011 15:57:11 +0000 (15:57 +0000)]
In gcc/objc/: 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/objc/:
2011-05-21  Nicola Pero  <nicola.pero@meta-innovation.com>

* config-lang.in (gtfiles): Updated order of files to fix building
when the gcc/cp directory is missing, as in the case of some
release tarballs.

From-SVN: r173998

13 years agoIn gcc/: 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Sat, 21 May 2011 13:08:18 +0000 (13:08 +0000)]
In gcc/: 2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/:
2011-05-21  Nicola Pero  <nicola.pero@meta-innovation.com>

* gengtype.c (walk_type): Implemented "atomic" GTY option.
* doc/gty.texi (GTY Options): Document "atomic" GTY option.

From-SVN: r173996

13 years agoopt-read.awk: New.
Joseph Myers [Sat, 21 May 2011 11:34:29 +0000 (12:34 +0100)]
opt-read.awk: New.

* opt-read.awk: New.  Split out of optc-gen.awk and opth-gen.awk.
* optc-gen.awk: Move common code to opt-read.awk.
* opth-gen.awk: Likewise.
* Makefile.in (options.c, s-options-h): Update to use
opt-read.awk.

From-SVN: r173995

13 years agore PR c++/49066 ([C++0x] Non-defining declaration of deleted function suppresses...
Jason Merrill [Sat, 21 May 2011 03:57:12 +0000 (23:57 -0400)]
re PR c++/49066 ([C++0x] Non-defining declaration of deleted function suppresses usage validation)

PR c++/49066
* decl.c (duplicate_decls): Preserve DECL_DELETED_FN.

From-SVN: r173993

13 years agopropagation_consistent.cc: Fix vs POD-ness of value_type.
Paolo Carlini [Sat, 21 May 2011 00:30:57 +0000 (00:30 +0000)]
propagation_consistent.cc: Fix vs POD-ness of value_type.

2011-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/21_strings/basic_string/requirements/exception/
propagation_consistent.cc: Fix vs POD-ness of value_type.
* testsuite/21_strings/basic_string/requirements/exception/
basic.cc: Likewise.
* testsuite/ext/vstring/requirements/exception/
propagation_consistent.cc: Likewise.
* testsuite/ext/vstring/requirements/exception/basic.cc: Likewise.

From-SVN: r173992

13 years agoDaily bump.
GCC Administrator [Sat, 21 May 2011 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173991

13 years agochar_traits.h: Use noexcept throughout.
Paolo Carlini [Sat, 21 May 2011 00:05:03 +0000 (00:05 +0000)]
char_traits.h: Use noexcept throughout.

2011-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/char_traits.h: Use noexcept throughout.
* include/std/typeindex: Likewise.

* include/std/tuple (_Tuple_impl<>_Tuple_impl(_Tuple_impl&&)): Use
noexcept; adjust callers.
* include/bits/stl_pair.h (pair<>::pair(pair<>&&)): Use noexcept.
* testsuite/20_util/tuple/cons/noexcept_move_construct.cc: New.
* testsuite/20_util/pair/cons/noexcept_move_construct.cc: Likewise.
* testsuite/20_util/pair/noexcept_swap.cc: Likewise.
* testsuite/20_util/pair/noexcept_move_assign.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line numbers.

From-SVN: r173986

13 years ago* tree.c (stabilize_expr): Fix typo.
Jason Merrill [Fri, 20 May 2011 20:40:06 +0000 (16:40 -0400)]
* tree.c (stabilize_expr): Fix typo.

From-SVN: r173982

13 years agoDR 1073 PR c++/49082
Jason Merrill [Fri, 20 May 2011 20:39:59 +0000 (16:39 -0400)]
DR 1073 PR c++/49082

DR 1073
PR c++/49082
* typeck.c (comp_except_specs): noexcept(false) is not compatible
with throw(type-list).
* typeck2.c (merge_exception_specifiers): noexcept(false)
beats any more limited specification.

From-SVN: r173981

13 years agoremove TYPE_ARG_TYPES from godump.c
Nathan Froyd [Fri, 20 May 2011 20:01:46 +0000 (20:01 +0000)]
remove TYPE_ARG_TYPES from godump.c

remove TYPE_ARG_TYPES from godump.c
* godump.c (go_format_type): Don't use TYPE_ARG_TYPES.

From-SVN: r173980

13 years agoremove some TYPE_ARG_TYPES usage in objc/
Nathan Froyd [Fri, 20 May 2011 19:57:52 +0000 (19:57 +0000)]
remove some TYPE_ARG_TYPES usage in objc/

remove some TYPE_ARG_TYPES usage in objc/
* objc-act.c (objc_compare_types): Use function_args_iterator
instead of TYPE_ARG_TYPES to compare function argument types.

From-SVN: r173977

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Fri, 20 May 2011 19:32:30 +0000 (19:32 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-20  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-ivopts.c: Include expmed.h.
(get_shiftadd_cost): New function.
(force_expr_to_var_cost): Declare forward.  Use get_shiftadd_cost.

From-SVN: r173976

13 years agore PR bootstrap/49086 (libgomp/task.c:79:1: internal compiler error: Segmentation...
Jakub Jelinek [Fri, 20 May 2011 18:22:49 +0000 (20:22 +0200)]
re PR bootstrap/49086 (libgomp/task.c:79:1: internal compiler error: Segmentation fault)

PR bootstrap/49086
* gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
for PHI args that are SSA_NAME_IS_DEFAULT_DEF.

From-SVN: r173967

13 years agore PR fortran/48706 (Type extension inside subroutine)
Janus Weil [Fri, 20 May 2011 18:05:26 +0000 (20:05 +0200)]
re PR fortran/48706 (Type extension inside subroutine)

2011-05-20  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48706
* module.c (write_dt_extensions): Do not write extended types which
are local to a subroutine.

2011-05-20  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48706
* gfortran.dg/extends_12.f03: New.

From-SVN: r173966

13 years agore PR c++/24163 (dependent Base class scope examined during unqualified name lookup...
Jason Merrill [Fri, 20 May 2011 18:01:22 +0000 (14:01 -0400)]
re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template)

PR c++/24163
PR c++/29131
gcc/cp/
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
unqualified lookup.
* semantics.c (perform_koenig_lookup): Add complain parm.
* cp-tree.h: Adjust.
* parser.c (cp_parser_postfix_expression): Adjust.
(cp_parser_perform_range_for_lookup): Adjust.
libstdc++-v3/
* include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
functions from dependent bases.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/tree_policy/
order_statistics_imp.hpp: Likewise.
* include/ext/pb_ds/detail/trie_policy/
prefix_search_node_update_imp.hpp: Likewise.
* include/ext/rc_string_base.h: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* testsuite/util/exception/safety.h: Likewise.
* testsuite/util/native_type/native_priority_queue.hpp: Likewise.
* testsuite/util/testsuite_io.h: Likewise.
* include/std/functional: Declare mem_fn earlier.
* include/tr1/functional: Likewise.
* include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.

From-SVN: r173965

13 years ago* semantics.c (finish_call_expr): SET_EXPR_LOCATION.
Jason Merrill [Fri, 20 May 2011 18:01:08 +0000 (14:01 -0400)]
* semantics.c (finish_call_expr): SET_EXPR_LOCATION.

From-SVN: r173964

13 years ago* Makefile.in: Update comment referring to $(OBJS-common).
Joseph Myers [Fri, 20 May 2011 16:38:24 +0000 (17:38 +0100)]
* Makefile.in: Update comment referring to $(OBJS-common).

From-SVN: r173963

13 years agogodump.c (go_output_typedef): Put enum constants in the macro hash table to avoid...
Ian Lance Taylor [Fri, 20 May 2011 16:21:48 +0000 (16:21 +0000)]
godump.c (go_output_typedef): Put enum constants in the macro hash table to avoid duplicate Go const definitions.

* godump.c (go_output_typedef): Put enum constants in the macro
hash table to avoid duplicate Go const definitions.

From-SVN: r173962

13 years agoMakefile.in (LIBDEPS): Add libcommon.a.
Joseph Myers [Fri, 20 May 2011 15:19:05 +0000 (16:19 +0100)]
Makefile.in (LIBDEPS): Add libcommon.a.

* Makefile.in (LIBDEPS): Add libcommon.a.
(LIBS): Likewise.
(GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
(OBJS-common): Remove diagnostic.o, input.o, intl.o,
pretty-print.o and version.o.
(OBJS-libcommon): New.
(ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
(BACKEND): Add libcommon.a.
(MOSTLYCLEANFILES): Likewise.
(libcommon.a): New.
(xgcc$(exeext)): Don't explicitly use version.o and intl.o.
(cpp$(exeext)): Likewise.
(COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
pretty-print.o and input.o.
(lto-wrapper$(exeext)): Don't explicitly use intl.o.
(lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
(errors.o): Remove.
(mips-tfile): Don't explicitly use version.o.
(mips-tdump): Likewise.
(gcov.o): Depend on $(DIAGNOSTIC_H).
(gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
(GCOV_OBJS): Remove intl.o, version.o and errors.o.
(GCOV_DUMP_OBJS): Remove version.o and errors.o.
* gcov-dump.c: Include intl.h and diagnostic.h.
(main): Initialize diagnostics.
* gcov.c: Include diagnostic.h.
(fnotice): Remove.
(main): Initialize diagnostics.
* lto-wrapper.c: Include diagnostic.h.
(main): Initialize diagnostics.

ada:
* gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove
version.o.
* gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
libcommon.a instead of version.o.

cp:
* Make-lang.in (GXX_OBJS): Remove intl.o and version.o.

fortran:
* Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.

go:
* Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.

java:
* Make-lang.in ($(XGCJ)$(exeext)): Don't explicitly use intl.o and
version.o.
(JCFDUMP_OBJS): Remove errors.o, version.o and intl.o.
(JVGENMAIN_OBJS): Remove errors.o and intl.o.
(java/jcf-dump.o, java/jvgenmain.o): Depend in $(DIAGNOSTIC_H).
* jcf-dump.c: Include diagnostic.h.
(main): Initialize diagnostics.
* jvgenmain.c: Include diagnostic.h.
(main): Initialize diagnostics.

From-SVN: r173958

13 years ago* Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
Michael Matz [Fri, 20 May 2011 15:10:14 +0000 (15:10 +0000)]
* Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.

From-SVN: r173957

13 years agolto-streamer.c (lto_record_common_node): Don't track seen nodes...
Michael Matz [Fri, 20 May 2011 15:09:35 +0000 (15:09 +0000)]
lto-streamer.c (lto_record_common_node): Don't track seen nodes...

* lto-streamer.c (lto_record_common_node): Don't track seen nodes,
use lto_streamer_cache_append directly instead of returning a VEC.
(preload_common_node): Remove.
(lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
track seen nodes.
(lto_streamer_cache_create): Call lto_preload_common_nodes.

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r173956

13 years agore PR tree-optimization/49079 (Bogus constant folding)
Richard Guenther [Fri, 20 May 2011 15:02:49 +0000 (15:02 +0000)]
re PR tree-optimization/49079 (Bogus constant folding)

2011-05-20  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49079
* tree-dfa.c (get_ref_base_and_extent): Handle view-converting
MEM_REFs correctly for the trailing array access detection.
Special case constants the same way as decls for overall size
constraining.

* gcc.dg/torture/pr49079.c: New testcase.

From-SVN: r173954

13 years agomingw32.h (OUTPUT_QUOTED_STRING): Fix macro argument expansion.
Uros Bizjak [Fri, 20 May 2011 14:49:56 +0000 (16:49 +0200)]
mingw32.h (OUTPUT_QUOTED_STRING): Fix macro argument expansion.

* config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
argument expansion.

From-SVN: r173953

13 years agoPR 48977 Denormal exception on glibc targets
Janne Blomqvist [Fri, 20 May 2011 14:45:51 +0000 (17:45 +0300)]
PR 48977 Denormal exception on glibc targets

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r173952

13 years agore PR tree-optimization/49073 (g++ optimizer breaks do-while code)
Jakub Jelinek [Fri, 20 May 2011 14:19:05 +0000 (16:19 +0200)]
re PR tree-optimization/49073 (g++ optimizer breaks do-while code)

PR tree-optimization/49073
* gimple-fold.c (and_comparisons_1, or_comparisons_1): Return
NULL if PHI argument is SSA_NAME, whose def_stmt is dominated
by the PHI.
* tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.

* gcc.c-torture/execute/pr49073.c: New test.

From-SVN: r173948

13 years agoClarify FP exception documentation and messages
Janne Blomqvist [Fri, 20 May 2011 12:55:45 +0000 (15:55 +0300)]
Clarify FP exception documentation and messages

From-SVN: r173944

13 years agore PR middle-end/48849 (SPEC CPU 2000/2006 failed to build with LTO)
Richard Guenther [Fri, 20 May 2011 09:35:44 +0000 (09:35 +0000)]
re PR middle-end/48849 (SPEC CPU 2000/2006 failed to build with LTO)

2011-05-20  Richard Guenther  <rguenther@suse.de>

PR middle-end/48849
* gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
of pointer types the same way the middle-end does.

From-SVN: r173939

13 years agogimple.c (gimple_register_type_1): Do not fiddle with main-variant or pointer-to...
Richard Guenther [Fri, 20 May 2011 09:35:03 +0000 (09:35 +0000)]
gimple.c (gimple_register_type_1): Do not fiddle with main-variant or pointer-to chains.

2011-05-20  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_register_type_1): Do not fiddle with
main-variant or pointer-to chains.  Delay all fixup to
uniquify_nodes.

lto/
* lto.c (lto_ft_common): Remove pointer-to chain teardown.
(lto_ft_type): Move main-variant and pointer-to chain building ...
(uniquify_nodes): ... here.  Compute TYPE_CANONICAL also here,
in a separate final loop.

From-SVN: r173938

13 years agoDaily bump.
GCC Administrator [Fri, 20 May 2011 00:19:26 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173935

13 years agoUpdate to current version of Go library.
Ian Lance Taylor [Fri, 20 May 2011 00:18:15 +0000 (00:18 +0000)]
Update to current version of Go library.

From-SVN: r173931

13 years agosse.md (fma4_fmsubadd): Use <ssemodesuffix>.
Quentin Neill [Thu, 19 May 2011 23:04:22 +0000 (23:04 +0000)]
sse.md (fma4_fmsubadd): Use <ssemodesuffix>.

2011-05-19  Quentin Neill  <quentin.neill@amd.com>

* config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
(fma4_fmaddsub): Likewise

From-SVN: r173929

13 years agogimple.c (gtc_visited, [...]): Remove.
Jan Hubicka [Thu, 19 May 2011 21:49:10 +0000 (23:49 +0200)]
gimple.c (gtc_visited, [...]): Remove.

* gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
(GIMPLE_TYPE_PAIR_SIZE): New macro.
(type_pair_cache): New static var.
(lookup_type_pair): Use fixed sized custom hash; make inline.
(gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
calls of lookup_type_pair.
(print_gimple_types_stats): Remove cache stats.
(free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
and gtc_ob.

From-SVN: r173925

13 years agoi386.c (option_override_internal): Enable TARGET_CMOVE when TARGET_RDRND is active.
Uros Bizjak [Thu, 19 May 2011 21:09:25 +0000 (23:09 +0200)]
i386.c (option_override_internal): Enable TARGET_CMOVE when TARGET_RDRND is active.

* config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
when TARGET_RDRND is active.
(ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
Generate dummy SImode target register when target is NULL.

From-SVN: r173921

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Thu, 19 May 2011 20:53:33 +0000 (22:53 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-06-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-types.c (gfc_get_element_type): Handle scalar coarrays.
        (gfc_get_nodesc_array_type): Make a variant-type copy for scalar
        coarrays.
        * trans.c (gfc_build_array_ref): Return original type not
        * variant
        copy for scalar coarrays.
        * trans-array.c (gfc_conv_array_ref): Ditto.

2011-06-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_21.f90: New.

From-SVN: r173920

13 years agotuple (tuple_element<__i, [...]): Add.
Paolo Carlini [Thu, 19 May 2011 20:48:39 +0000 (20:48 +0000)]
tuple (tuple_element<__i, [...]): Add.

2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (tuple_element<__i, const _Tp>,
tuple_element<__i, volatile _Tp>, tuple_element<__i,
const volatile _Tp>, tuple_size<const _Tp>, tuple_size<volatile _Tp>,
tuple_size<const volatile _Tp>): Add.
* include/std/utility (tuple_size<std::pair<_Tp1, _Tp2>>): Tweak.
* include/std/array (tuple_size<array<_Tp, _Nm>>): Likewise.
* testsuite/20_util/tuple/cv_tuple_size.cc: New.
* testsuite/20_util/tuple/cv_tuple_element.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-warning
line number.

From-SVN: r173919

13 years agotuple (tuple<>::operator=(tuple&&)): Specify as noexcept.
Paolo Carlini [Thu, 19 May 2011 17:20:22 +0000 (17:20 +0000)]
tuple (tuple<>::operator=(tuple&&)): Specify as noexcept.

2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
        noexcept.
(__get_helper): Likewise.
(_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
* include/bits/move.h (swap): Likewise.
* include/bits/algorithmfwd.h (swap): Adjust.
* include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
* testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
mode, prefer delete to access control to make the type not copy
assignable.
* testsuite/util/testsuite_tr1.h: Add test classes.
* testsuite/20_util/tuple/noexcept_swap.cc: New.
* testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
* testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
delete to access control.
* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
line numbers.

From-SVN: r173917

13 years agogcc_update (gcc/config/arm/arm-tables.opt): Also depend on gcc/config/arm/arm-fpus...
Joseph Myers [Thu, 19 May 2011 16:27:59 +0000 (17:27 +0100)]
gcc_update (gcc/config/arm/arm-tables.opt): Also depend on gcc/config/arm/arm-fpus.def.

contrib:
* gcc_update (gcc/config/arm/arm-tables.opt): Also depend on
gcc/config/arm/arm-fpus.def.

gcc:
* config/arm/arm-fpus.def: New.
* config/arm/genopt.sh: Generate Enum and EnumValue entries from
arm-fpus.def.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
(arm_option_override): Don't decode FPU name to string here.
* config/arm/arm.opt (mfpu=): Use Enum.
* config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
Update dependencies.

From-SVN: r173916

13 years agocollect2.c: Include diagnostic.h.
Joseph Myers [Thu, 19 May 2011 16:25:12 +0000 (17:25 +0100)]
collect2.c: Include diagnostic.h.

* collect2.c: Include diagnostic.h.
(fatal_perror, fatal, error, fancy_abort): Remove.
(main): Set progname.  Call xmalloc_set_program_name and
diagnostic_initialize.
(maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
scan_libraries, resolve_lib_name): Call fatal_error instead of
fatal and fatal_perror.
* collect2.h (error, fatal, fatal_perror): Don't declare.
* tlink.c: Include diagnostic-core.h.
(recompile_files): Call fatal_error instead of fatal_perror.
* Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
pretty-print.o and input.o.
(collect2.o, tlink.o): Update dependencies.

testsuite:
* lib/prune.exe (prune_gcc_output): Expect "error:" in collect2
output.

From-SVN: r173915

13 years ago* config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
Rainer Orth [Thu, 19 May 2011 14:37:14 +0000 (14:37 +0000)]
* config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.

From-SVN: r173914

13 years agore PR target/40483 (gcc 4.x needs to utilize better COMDAT mechanism under Solaris)
Rainer Orth [Thu, 19 May 2011 14:29:05 +0000 (14:29 +0000)]
re PR target/40483 (gcc 4.x needs to utilize better COMDAT mechanism under Solaris)

PR target/40483
* configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
COMDAT group syntax, both SPARC and x86 variants.
(HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
* configure: Regenerate.
* config/sol2.h (TARGET_SOLARIS): Define.
(PUSHSECTION_FORMAT): Remove.
(SECTION_NAME_FORMAT): Define.
* config/sol2.c: Include hashtab.h.
(solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
expansion, using SECTION_NAME_FORMAT.
(solaris_comdat_htab): New variable.
(struct comdat_entry): Define.
(comdat_hash): New function.
(comdat_eq): New function.
(solaris_elf_asm_comdat_section): New function.
(solaris_define_comdat_signature): New function.
(solaris_code_end): New function.
* config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
(solaris_code_end): Declare.
* config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
* config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
solaris_code_end.
(i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
Remove ATTRIBUTE_UNUSED.
[!USE_GAS]: Call solaris_elf_asm_comdat_section for
SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
* config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
Likewise.
* config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
* config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
* config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
(PUSHSECTION_FORMAT): Remove.
(SECTION_NAME_FORMAT): Redefine.

From-SVN: r173913

13 years agore PR c++/49043 ([OpenMP & C++0x]: Compiler error when lambda-function within OpenMP...
Jakub Jelinek [Thu, 19 May 2011 13:11:56 +0000 (15:11 +0200)]
re PR c++/49043 ([OpenMP & C++0x]: Compiler error when lambda-function within OpenMP loop)

PR c++/49043
* decl.c (check_omp_return): Stop searching on sk_function_parms.

* testsuite/libgomp.c++/pr49043.C: New test.

From-SVN: r173907

13 years agore PR middle-end/49063 (FAIL: gcc.dg/builtin-object-size-11.c)
Richard Guenther [Thu, 19 May 2011 13:07:50 +0000 (13:07 +0000)]
re PR middle-end/49063 (FAIL: gcc.dg/builtin-object-size-11.c)

2011-05-19  Richard Guenther  <rguenther@suse.de>

PR testsuite/49063
* gcc.dg/builtin-object-size-11.c: Use -std=gnu89.

From-SVN: r173906

13 years agotree-cfg.c (verify_gimple_assign_binary): Barf on TRUTH_AND_EXPR, TRUTH_OR_EXPR,...
Kai Tietz [Thu, 19 May 2011 11:16:20 +0000 (13:16 +0200)]
tree-cfg.c (verify_gimple_assign_binary): Barf on TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.

2011-05-19  Kai Tietz  <ktietz@redhat.com>

* tree-cfg.c (verify_gimple_assign_binary): Barf on
TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
(gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.

From-SVN: r173903

13 years agot-sol2 (sol2.o): Add $(TARGET_H) dependency.
Anatoly Sokolov [Thu, 19 May 2011 11:02:22 +0000 (15:02 +0400)]
t-sol2 (sol2.o): Add $(TARGET_H) dependency.

2011-05-19  Anatoly Sokolov <aesok@post.ru>
    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

* config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.

Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
From-SVN: r173902

13 years agore PR c/48985 (bogus buffer overflow warning and abort on static flexible array member)
Richard Guenther [Thu, 19 May 2011 10:45:26 +0000 (10:45 +0000)]
re PR c/48985 (bogus buffer overflow warning and abort on static flexible array member)

2011-05-19  Richard Guenther  <rguenther@suse.de>

PR middle-end/48985
* tree-object-size.c (addr_object_size): If the pointed-to
variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.

* gcc.dg/builtin-object-size-11.c: New testcase.

From-SVN: r173901

13 years agogimple.c (gimple_types_compatible_p_1): Compare names of the types themselves.
Richard Guenther [Thu, 19 May 2011 10:31:23 +0000 (10:31 +0000)]
gimple.c (gimple_types_compatible_p_1): Compare names of the types themselves.

2011-05-19  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_types_compatible_p_1): Compare names of
the types themselves.
(iterative_hash_gimple_type): And hash them that way.
(gimple_register_type_1): If we register a main variant properly
initialize the leader to ourselves.

lto/
* lto.c (uniquify_nodes): First register all types before
fixing up the tree SCC.

From-SVN: r173900

13 years ago[multiple changes]
Paolo Carlini [Thu, 19 May 2011 10:30:20 +0000 (10:30 +0000)]
[multiple changes]

2011-05-19  Daniel Krugler  <daniel.kruegler@googlemail.com>

* testsuite/util/testsuite_tr1.h: Add test classes.
* testsuite/20_util/is_nothrow_assignable/value.cc: Add.

2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_assignable, is_copy_assignable,
is_move_assignable, is_nothrow_assignable, is_nothrow_copy_assignable,
is_nothrow_move_assignable): Add; minor tweaks elsewhere.
(has_nothrow_copy_assign): Remove.
* testsuite/util/testsuite_tr1.h: Add test classes.
* testsuite/20_util/is_assignable/requirements/typedefs.cc: Add.
* testsuite/20_util/is_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_nothrow_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_move_assignable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_move_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_copy_assignable/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_copy_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_move_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_assignable/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r173899

13 years ago* zh_CN.po: Update.
Joseph Myers [Thu, 19 May 2011 09:59:13 +0000 (10:59 +0100)]
* zh_CN.po: Update.

From-SVN: r173897

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Thu, 19 May 2011 09:33:49 +0000 (09:33 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-19  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* gcc.target/arm/ivopts.c: New test.
* gcc.target/arm/ivopts-2.c: New test.

From-SVN: r173896

13 years agoscanasm.exp (object-size): Fix target selector handling.
Tom de Vries [Thu, 19 May 2011 09:13:16 +0000 (09:13 +0000)]
scanasm.exp (object-size): Fix target selector handling.

2011-05-19  Tom de Vries  <tom@codesourcery.com>

* lib/lib/scanasm.exp (object-size): Fix target selector handling.

From-SVN: r173895

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Thu, 19 May 2011 09:03:12 +0000 (09:03 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-19  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
get_loop_invariant_expr_id.
(get_loop_invariant_expr_id): Use get_expr_id.
(parm_decl_cost): New function.
(determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
Improve bound cost estimation.  Use different inv_expr_id for elim and
express cases.

From-SVN: r173894

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Thu, 19 May 2011 08:49:28 +0000 (08:49 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-19  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
cost_base.cost == 0.

From-SVN: r173893

13 years ago* gcc.c-torture/execute/960321-1.x: Remove.
Rainer Orth [Thu, 19 May 2011 08:02:26 +0000 (08:02 +0000)]
* gcc.c-torture/execute/960321-1.x: Remove.

From-SVN: r173890

13 years agore PR c++/48869 (OpenMP task construct fails to instantiate copy constructor(same...
Jakub Jelinek [Thu, 19 May 2011 07:44:31 +0000 (09:44 +0200)]
re PR c++/48869 (OpenMP task construct fails to instantiate copy constructor(same as Bug 36523))

PR c++/48869
* method.c (get_dtor, get_copy_ctor): Add COMPLAIN argument,
pass it down to locate_fn_flags.
* cp-tree.h (get_dtor, get_copy_ctor): Adjust prototypes.
* semantics.c (cxx_omp_create_clause_info): Adjust callers.
* cp-gimplify.c: Include splay-tree.h.
(splay_tree_compare_decl_uid, omp_var_to_track,
omp_cxx_notice_variable): New functions.
(struct cp_genericize_omp_taskreg): New type.
(struct cp_genericize_data): Add omp_ctx field.
(cp_genericize_r): Attempt to determine implicitly determined
firstprivate class type variables.
(cp_genericize): Clear omp_ctx.
* Make-lang.in (cp/cp-gimplify.o): Depend on $(SPLAY_TREE_H).

* testsuite/libgomp.c++/pr48869.C: New test.

From-SVN: r173888

13 years agoDaily bump.
GCC Administrator [Thu, 19 May 2011 00:19:33 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173887

13 years agoshared_ptr_base.h: Use noexcept.
Jonathan Wakely [Wed, 18 May 2011 22:59:17 +0000 (22:59 +0000)]
shared_ptr_base.h: Use noexcept.

2011-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/bits/shared_ptr_base.h: Use noexcept. Define special member
functions as defaulted/deleted.
* include/bits/shared_ptr.h: Use noexcept.
* 20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line numbers.
* 20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r173882

13 years agoProperly handle 256bit load cast.
H.J. Lu [Wed, 18 May 2011 22:12:28 +0000 (22:12 +0000)]
Properly handle 256bit load cast.

gcc/

2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>

PR target/49002
* config/i386/sse.md (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>):
Properly handle load cast.

gcc/testsuite/

2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>

PR target/49002
* gcc.target/i386/pr49002-1.c: New test.
* gcc.target/i386/pr49002-2.c: Likewise.

From-SVN: r173880

13 years ago* doc/xml/manual/bitmap_allocator.xml: Fix typos.
Jonathan Wakely [Wed, 18 May 2011 21:55:52 +0000 (21:55 +0000)]
* doc/xml/manual/bitmap_allocator.xml: Fix typos.

From-SVN: r173879

13 years agore PR c++/49039 (LLVM StringRef miscompilation with -O2)
Jakub Jelinek [Wed, 18 May 2011 20:39:05 +0000 (22:39 +0200)]
re PR c++/49039 (LLVM StringRef miscompilation with -O2)

PR tree-optimization/49039
* tree-vrp.c (extract_range_from_binary_expr): For
MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].

* gcc.c-torture/execute/pr49039.c: New test.
* gcc.dg/tree-ssa/pr49039.c: New test.
* g++.dg/torture/pr49039.C: New test.

From-SVN: r173876

13 years agore PR fortran/48700 (memory leak with MOVE_ALLOC)
Janus Weil [Wed, 18 May 2011 18:51:08 +0000 (20:51 +0200)]
re PR fortran/48700 (memory leak with MOVE_ALLOC)

2011-05-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48700
* trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'
argument to avoid memory leaks.

2011-05-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/48700
* gfortran.dg/move_alloc_4.f90: New.

From-SVN: r173874

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Wed, 18 May 2011 18:27:11 +0000 (18:27 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-18  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.

From-SVN: r173872

13 years agoinitializer_list: Use noexcept specifier.
Paolo Carlini [Wed, 18 May 2011 18:05:17 +0000 (18:05 +0000)]
initializer_list: Use noexcept specifier.

2011-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

* libsupc++/initializer_list: Use noexcept specifier.
(initializer_list<>::size, begin, end): Qualify as const.
* include/bits/move.h (__addressof, forward, move, addressof): Specify
as noexcept.
* include/std/bitset: Use noexcept specifier throughout.
* include/debug/bitset: Update.
* include/profile/bitset: Likewise.

From-SVN: r173871

13 years agoi386.md (*tls_global_dynamic_32_gnu): Split asm template.
Uros Bizjak [Wed, 18 May 2011 17:32:59 +0000 (19:32 +0200)]
i386.md (*tls_global_dynamic_32_gnu): Split asm template.

* config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
(*tls_global_dynamic_64): Ditto.
(*tls_local_dynamic_base_32_gnu): Ditto.
(*tls_local_dynamic_base_64): Ditto.
(tls_initial_exec_64_sun): Ditto.

From-SVN: r173870

13 years agore PR c++/48948 ([C++0x] constexpr friend function cannot be defined in-class)
Jason Merrill [Wed, 18 May 2011 17:19:15 +0000 (13:19 -0400)]
re PR c++/48948 ([C++0x] constexpr friend function cannot be defined in-class)

PR c++/48948
PR c++/49015
* class.c (finalize_literal_type_property): Do check
for constexpr member functions of non-literal class.
(finish_struct): Don't call check_deferred_constexpr_decls.
* cp-tree.h: Don't declare it.
(DECL_DEFERRED_CONSTEXPR_CHECK): Remove.
* decl.c (grok_special_member_properties): Don't check it
(grokfnedcl): Don't call validate_constexpr_fundecl.
(start_preparsed_function): Do call it.
* pt.c (tsubst_decl): Don't call it.
(instantiate_class_template_1): Don't call
check_deferred_constexpr_decls.
* semantics.c (literal_type_p): Check for any incompleteness.
(ensure_literal_type_for_constexpr_object): Likewise.
(is_valid_constexpr_fn): Revert deferral changes.
(validate_constexpr_fundecl): Likewise.
(register_constexpr_fundef): Likewise.
(check_deferred_constexpr_decls): Remove.

From-SVN: r173869

13 years agomcpu-bf592.c: New test.
Stuart Henderson [Wed, 18 May 2011 16:36:13 +0000 (16:36 +0000)]
mcpu-bf592.c: New test.

2011-05-18  Stuart Henderson  <shenders@gcc.gnu.org>

    * gcc.target/bfin/mcpu-bf592.c: New test.

From-SVN: r173868

13 years agoinvoke.texi (Blackfin Options): -mcpu accepts bf592.
Stuart Henderson [Wed, 18 May 2011 16:31:57 +0000 (16:31 +0000)]
invoke.texi (Blackfin Options): -mcpu accepts bf592.

2011-05-18  Stuart Henderson  <shenders@gcc.gnu.org>

    * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
    * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
    bf592-none.
    * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
    * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
    * config/bfin/bfin.c (bfin_cpus): Add bf592.
    * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
    __ADSPBF592__ and __ADSPBF59x__ for     BFIN_CPU_BF592.
    * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
    * config/bfin/elf.h (LIB_SPEC): Add bf592.

From-SVN: r173867

13 years agoarm-opts.h (enum arm_fp16_format_type, [...]): Move from arm.h.
Joseph Myers [Wed, 18 May 2011 14:54:23 +0000 (15:54 +0100)]
arm-opts.h (enum arm_fp16_format_type, [...]): Move from arm.h.

* config/arm/arm-opts.h (enum arm_fp16_format_type, enum
arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from
arm.h.
* config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
target_thread_pointer, arm_structure_size_boundary, struct
float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
struct abi_name, arm_all_abis): Remove.
(arm_option_override) Don't process most enumerated option values
here.  Don't process target_fpe_name here.  Work with integer not
string for structure size boundary; use separate diagnostics for
each case.
* config/arm/arm.h (enum float_abi_type, enum
arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
to arm-opts.h.
(arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
arm_structure_size_boundary): Remove.
* config/arm/arm.opt (mabi=): Use Enum and Init.
(arm_abi_type): New Enum and EnumValue entries.
(mfloat-abi=): Use Enum and Init.
(float_abi_type): New Enum and EnumValue entries.
(mfp=, mfpe=): Replace by separate Alias entries for each
argument.
(mfp16-format=): Use Enum and Init.
(arm_fp16_format_type): New Enum and EnumValue entries.
(mstructure-size-boundary=): Use UInteger and Init.
(mtp=): Use Enum and Init.
(arm_tp_type): New Enum and EnumValue entries.

From-SVN: r173864

13 years agore PR tree-optimization/49018 (Inline assembly block executed outside conditional...
Richard Guenther [Wed, 18 May 2011 13:33:21 +0000 (13:33 +0000)]
re PR tree-optimization/49018 (Inline assembly block executed outside conditional check with "-O1 -ftree-vrp")

2011-05-18  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49018
* gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
* tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
gimple_has_side_effects.

From-SVN: r173861

13 years agogimple.c (gimple_register_type_1): New function, split out from ...
Richard Guenther [Wed, 18 May 2011 11:34:43 +0000 (11:34 +0000)]
gimple.c (gimple_register_type_1): New function, split out from ...

2011-05-18  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_register_type_1): New function, split out from ...
(gimple_register_type): ... here.  Avoid infinite recursion.

From-SVN: r173857

13 years agore PR tree-optimization/41881 (Complete unrolling (inner) versus vectorization of...
Ira Rosen [Wed, 18 May 2011 11:27:51 +0000 (11:27 +0000)]
re PR tree-optimization/41881 (Complete unrolling (inner) versus vectorization of reduction)

        PR tree-optimization/41881
        * tree-vectorizer.h (struct _loop_vec_info): Add new field
        reduction_chains along with a macro for its access.
        * tree-vect-loop.c (new_loop_vec_info): Initialize
        reduction chains.
        (destroy_loop_vec_info): Free reduction chains.
        (vect_analyze_loop_2): Return false if
        vect_analyze_slp() returns false.
        (vect_is_slp_reduction): New function.
        (vect_is_simple_reduction_1): Call
        vect_is_slp_reduction.
        (vect_create_epilog_for_reduction): Support SLP
        reduction chains.
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
        different definition types for reduction chains.
        (vect_supported_load_permutation_p): Don't allow
        permutations for reduction chains.
        (vect_analyze_slp_instance): Support reduction chains.
        (vect_analyze_slp): Try to build SLP instance from
        reduction chains.
        (vect_get_constant_vectors):  Handle reduction chains.
        (vect_schedule_slp_instance): Mark the first statement
        of the reduction chain as reduction.

From-SVN: r173856

13 years agotree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new names for group...
Ira Rosen [Wed, 18 May 2011 11:09:44 +0000 (11:09 +0000)]
tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new names for group elements access.

        * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
        names for group elements access.
        * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
        reduction chains as well.  Remove data reference and interleaving
        related words from the fields names.
        * tree-vect-loop.c (vect_transform_loop): Use new names for group
        elements access.
        * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
         vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
        vect_update_interleaving_chain, vect_same_range_drs,
        vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
        vect_verify_datarefs_alignment, vector_alignment_reachable_p,
        vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
        vect_analyze_group_access, vect_analyze_data_ref_access,
        vect_create_data_ref_ptr, vect_transform_strided_load,
        vect_record_strided_load_vectors): Likewise.
        * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
        vect_model_load_cost, vectorizable_store, vectorizable_load,
        vect_remove_stores, new_stmt_vec_info): Likewise.
        * tree-vect-slp.c (vect_build_slp_tree,
        vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.

From-SVN: r173855

13 years agore PR middle-end/48989 (FAIL: gfortran.dg/lto/pr46036 f_lto_pr46036_0.o assemble)
Richard Guenther [Wed, 18 May 2011 10:36:45 +0000 (10:36 +0000)]
re PR middle-end/48989 (FAIL: gfortran.dg/lto/pr46036 f_lto_pr46036_0.o assemble)

2011-05-18  Richard Guenther  <rguenther@suse.de>

PR middle-end/48989
* tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
operand verification.
(verify_gimple_assign_binary): Likewise.
* tree-ssa.c (useless_type_conversion_p): Preserve conversions
to non-1-precision BOOLEAN_TYPEs.

From-SVN: r173854

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Wed, 18 May 2011 10:20:55 +0000 (10:20 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-18  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.

From-SVN: r173853

13 years agore PR tree-optimization/49000 (ICE: verify_ssa failed with -O2 -g)
Jakub Jelinek [Wed, 18 May 2011 09:22:41 +0000 (11:22 +0200)]
re PR tree-optimization/49000 (ICE: verify_ssa failed with -O2 -g)

PR tree-optimization/49000
* tree-ssa.c (execute_update_addresses_taken): Call
maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
be rewritten and decl has been marked for renaming, reset
the debug stmt.

* gcc.dg/pr49000.c: New test.

From-SVN: r173849

13 years agotrans.c (Exception_Handler_to_gnu_sjlj): Use boolean_false_node instead of integer_ze...
Kai Tietz [Wed, 18 May 2011 08:40:50 +0000 (10:40 +0200)]
trans.c (Exception_Handler_to_gnu_sjlj): Use boolean_false_node instead of integer_zero_node.

2011-05-18  Kai Tietz <ktietz@redhat.com>

* gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
boolean_false_node instead of integer_zero_node.
(convert_with_check): Likewise.
* gcc-interface/decl.c (choices_to_gnu): Likewise.

From-SVN: r173846

13 years agoi386.c (ix86_valid_target_attribute_tree): Use enum_opts_set when testing if attribut...
Joseph Myers [Wed, 18 May 2011 01:10:46 +0000 (02:10 +0100)]
i386.c (ix86_valid_target_attribute_tree): Use enum_opts_set when testing if attributes have set -mfpmath=.

* config/i386/i386.c (ix86_valid_target_attribute_tree): Use
enum_opts_set when testing if attributes have set -mfpmath=.

From-SVN: r173845

13 years agoDaily bump.
GCC Administrator [Wed, 18 May 2011 00:18:15 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173843