platform/upstream/gcc.git
12 years agore PR fortran/50923 (No warning if function return value is not set)
Tobias Burnus [Sun, 11 Dec 2011 20:44:30 +0000 (21:44 +0100)]
re PR fortran/50923 (No warning if function return value is not set)

2011-12-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50923
        * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only
        if the front end has printed a warning.
        (gfc_generate_function_code): Fix unset-result warning.

2011-12-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50923
        * gfortran.dg/warn_function_without_result_2.f90: New.

From-SVN: r182211

12 years agore PR fortran/41539 ([OOP] Calling function which takes CLASS: Rank comparison does...
Paul Thomas [Sun, 11 Dec 2011 20:42:23 +0000 (20:42 +0000)]
re PR fortran/41539 ([OOP] Calling function which takes CLASS: Rank comparison does not work)

2011-12-11  Paul Thomas  <pault@gcc.gnu.org>
Tobias Burnus  <burnus@gcc.gnu.org>

PR fortran/41539
PR fortran/43214
PR fortran/43969
PR fortran/44568
PR fortran/46356
PR fortran/46990
PR fortran/49074
* interface.c(symbol_rank): Return the rank of the _data
component of class objects.
(compare_parameter): Also compare the derived type of the class
_data component for type mismatch.  Similarly, return 1 if the
formal and _data ranks match.
(compare_actual_formal): Do not compare storage sizes for class
expressions. It is an error if an actual class array, passed to
a formal class array is not full.
* trans-expr.c (gfc_class_data_get, gfc_class_vptr_get,
gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get,
gfc_vtable_extends_get, gfc_vtable_def_init_get,
gfc_vtable_copy_get): New functions for class API.
(gfc_conv_derived_to_class): For an array reference in an
elemental procedure call retain the ss to provide the
scalarized array reference. Moved in file.
(gfc_conv_class_to_class): New function.
        (gfc_conv_subref_array_arg): Use the type of the
class _data component as a basetype.
(gfc_conv_procedure_call): Ensure that class array expressions
have both the _data reference and an array reference. Use
gfc_conv_class_to_class to handle class arrays for elemental
functions in scalarized loops, class array elements and full
class arrays. Use a call to gfc_conv_subref_array_arg in order
that the copy-in/copy-out for passing class arrays to derived
type arrays occurs correctly.
(gfc_conv_expr): If it is missing, add the _data component
between a class object or component and an array reference.
(gfc_trans_class_array_init_assign): New function.
(gfc_trans_class_init_assign): Call it for array expressions.
* trans-array.c (gfc_add_loop_ss_code): Do not use a temp for
class scalars since their size will depend on the dynamic type.
(build_class_array_ref): New function.
(gfc_conv_scalarized_array_ref): Call build_class_array_ref.
(gfc_array_init_size): Add extra argument, expr3, that represents
the SOURCE argument. If present,use this for the element size.
(gfc_array_allocate): Also add argument expr3 and use it when
calling gfc_array_init_size.
(structure_alloc_comps): Enable class arrays.
* class.c (gfc_add_component_ref): Carry over the derived type
of the _data component.
(gfc_add_class_array_ref): New function.
(class_array_ref_detected): New static function.
(gfc_is_class_array_ref): New function that calls previous.
(gfc_is_class_scalar_expr): New function.
(gfc_build_class_symbol): Throw not implemented error for
assumed size class arrays.  Remove error that prevents
CLASS arrays.
(gfc_build_class_symbol): Prevent pointer/allocatable conflict.
Also unset codimension.
(gfc_find_derived_vtab): Make 'copy' elemental and set the
intent of the arguments accordingly.:
* trans-array.h : Update prototype for gfc_array_allocate.
* array.c (gfc_array_dimen_size): Return failure if class expr.
(gfc_array_size): Likewise.
* gfortran.h : New prototypes for gfc_add_class_array_ref,
gfc_is_class_array_ref and gfc_is_class_scalar_expr.
* trans-stmt.c (trans_associate_var): Exclude class targets
from test. Move the allocation of the _vptr to an earlier time
for class objects.
(trans_associate_var): Assign the descriptor directly for class
arrays.
(gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments.
Convert array element references into sections. Do not invoke
gfc_conv_procedure_call, use gfc_trans_call instead.
* expr.c (gfc_get_corank): Fix for BT_CLASS.
(gfc_is_simply_contiguous): Exclude class from test.
* trans.c (gfc_build_array_ref): Include class array refs.
* trans.h : Include prototypes for class API functions that are
new in trans-expr. Define GFC_DECL_CLASS(node).
* resolve.c (check_typebound_baseobject ): Remove error for
non-scalar base object.
(resolve_allocate_expr): Ensure that class _data component is
present. If array, call gfc_expr_to_intialize.
(resolve_select): Remove scalar error for SELECT statement as a
temporary measure.
(resolve_assoc_var): Update 'target' (aka 'selector') as
needed. Ensure that the target expression has the right rank.
(resolve_select_type): Ensure that target expressions have a
valid locus.
(resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS.
* trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where
appropriate.
(gfc_trans_deferred_vars): Get class arrays right.
* match.c(select_type_set_tmp): Add array spec to temporary.
(gfc_match_select_type): Allow class arrays.
* check.c (array_check): Ensure that class arrays have refs.
(dim_corank_check, dim_rank_check): Retrun success if class.
* primary.c (gfc_match_varspec): Fix for class arrays and
co-arrays. Make sure that class _data is present.
(gfc_match_rvalue): Handle class arrays.
*trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array
reference.
(gfc_conv_allocated): Add _data component to class expressions.
(gfc_add_intrinsic_ss_code): ditto.
* simplify.c (simplify_cobound): Fix for BT_CLASS.
(simplify_bound): Return NULL for class arrays.
(simplify_cobound): Obtain correct array_spec. Use cotype as
appropriate. Use arrayspec for bounds.

2011-12-11  Paul Thomas  <pault@gcc.gnu.org>
Tobias Burnus  <burnus@gcc.gnu.org>

PR fortran/41539
PR fortran/43214
PR fortran/43969
PR fortran/44568
PR fortran/46356
PR fortran/46990
PR fortran/49074
* gfortran.dg/class_array_1.f03: New.
* gfortran.dg/class_array_2.f03: New.
* gfortran.dg/class_array_3.f03: New.
* gfortran.dg/class_array_4.f03: New.
* gfortran.dg/class_array_5.f03: New.
* gfortran.dg/class_array_6.f03: New.
* gfortran.dg/class_array_7.f03: New.
* gfortran.dg/class_array_8.f03: New.
* gfortran.dg/coarray_poly_1.f90: New.
* gfortran.dg/coarray_poly_2.f90: New.
* gfortran.dg/coarray/poly_run_1.f90: New.
* gfortran.dg/coarray/poly_run_2.f90: New.
* gfortran.dg/class_to_type_1.f03: New.
* gfortran.dg/type_to_class_1.f03: New.
* gfortran.dg/typebound_assignment_3.f03: Remove the error.
* gfortran.dg/auto_dealloc_2.f90: Occurences of __builtin_free
now 2.
* gfortran.dg/class_19.f03: Occurences of __builtin_free now 8.

Co-Authored-By: Tobias Burnus <burnus@gcc.gnu.org>
From-SVN: r182210

12 years agore PR fortran/50690 (ICE with front end optimization and OMP workshare)
Thomas Koenig [Sun, 11 Dec 2011 17:43:22 +0000 (17:43 +0000)]
re PR fortran/50690 (ICE with front end optimization and OMP workshare)

2011-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50690
* frontend-passes.c (in_omp_workshare):  New variable.
(cfe_expr_0):  Don't eliminiate common function if it would put
the variable immediately into a WORKSHARE construct.
(optimize_namespace):  Set in_omp_workshare.
(gfc_code_walker):  Keep track of OMP PARALLEL and OMP WORKSHARE
constructs.

2011-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/50690
* gfortran.dg/gomp/workshare2.f90:  New test.
* gfortran.dg/gomp/workshare3.f90:  New test.

From-SVN: r182208

12 years agoabi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y...
Jonathan Wakely [Sun, 11 Dec 2011 14:59:26 +0000 (14:59 +0000)]
abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y...

* doc/xml/manual/abi.xml: Replace gcc-x.y.z with GCC x.y.z or x.y,
remove excessive duplication of version information.
* doc/html/*: Regenerate.

From-SVN: r182206

12 years agotrans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.
Patrick Marlier [Sun, 11 Dec 2011 14:02:52 +0000 (14:02 +0000)]
trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.

        * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove
        edge.

From-SVN: r182205

12 years ago* config/sparc/sol2-unwind.h: Use #ifdef directive consistently.
Eric Botcazou [Sun, 11 Dec 2011 11:23:15 +0000 (11:23 +0000)]
* config/sparc/sol2-unwind.h: Use #ifdef directive consistently.

From-SVN: r182204

12 years agoutils2.c (gnat_build_constructor): Test the TREE_STATIC flag of elements to compute...
Eric Botcazou [Sun, 11 Dec 2011 11:05:58 +0000 (11:05 +0000)]
utils2.c (gnat_build_constructor): Test the TREE_STATIC flag of elements to compute that of the constructor.

* gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
flag of elements to compute that of the constructor.

From-SVN: r182203

12 years agodecl.c (gnat_to_gnu_param): Set the restrict qualifier on references built for parame...
Eric Botcazou [Sun, 11 Dec 2011 10:54:52 +0000 (10:54 +0000)]
decl.c (gnat_to_gnu_param): Set the restrict qualifier on references built for parameters which aren't...

* gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
on references built for parameters which aren't specifically by-ref.

From-SVN: r182202

12 years agodecl.c (gnat_to_gnu_entity): If there is an alignment set on a renaming...
Eric Botcazou [Sun, 11 Dec 2011 10:40:08 +0000 (10:40 +0000)]
decl.c (gnat_to_gnu_entity): If there is an alignment set on a renaming...

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
alignment set on a renaming, assert that the renamed object is aligned
enough as to make it possible to honor it.

From-SVN: r182201

12 years ago2011-12-11 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sun, 11 Dec 2011 10:32:04 +0000 (10:32 +0000)]
2011-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak ChangeLog.

From-SVN: r182200

12 years ago* gcc-interface/trans.c (gigi): Initialize the linemap earlier.
Eric Botcazou [Sun, 11 Dec 2011 09:43:46 +0000 (09:43 +0000)]
* gcc-interface/trans.c (gigi): Initialize the linemap earlier.

From-SVN: r182199

12 years agoDaily bump.
GCC Administrator [Sun, 11 Dec 2011 00:18:45 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182198

12 years agotrans-decl.c (add_argument_checking): Fix syntax.
Tobias Burnus [Sat, 10 Dec 2011 21:15:37 +0000 (22:15 +0100)]
trans-decl.c (add_argument_checking): Fix syntax.

2011-12-10  Tobias Burnus  <burnus@net-b.de>

        * trans-decl.c (add_argument_checking): Fix syntax.

From-SVN: r182194

12 years agors6000: Implement vec_perm_const for all vector ISAs
Richard Henderson [Sat, 10 Dec 2011 21:14:04 +0000 (13:14 -0800)]
rs6000: Implement vec_perm_const for all vector ISAs

        * config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
        vec_select + vec_concat.
        (altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
        altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
        (vec_perm_constv16qi): New.
        (vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
        vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
        vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
        * config/rs6000/paired.md (paired_merge00): Rewrite pattern as
        vec_select + vec_concat.
        (paired_merge10, paired_merge01, paired_merge11): Likewise.
        (vec_perm_constv2sf): New.
        (vec_interleave_highv2sf, vec_interleave_lowv2sf,
        vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
        * config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
        vec_select + vec_concat.
        (spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
        (vec_perm_constv2si): New.
        * config/rs6000/vector.md (vec_interleave_highv4sf,
        vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
        vec_interleave_low<VEC_64>): Remove.
        * config/rs6000/vsx.md (VS_double): New mode attribute.
        (UNSPEC_VSX_XXPERMDI): Remove.
        (vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
        (vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
        (vsx_xxpermdi_<VSX_L>): Change to expander.
        (vec_perm_const<VSX_D>): New.
        (vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
        * config/rs6000/predicates.md (const_0_to_1_operand): New.
        (const_2_to_3_operand): New.
        * config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
        (altivec_expand_vec_perm_const): New.
        (rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
        (rs6000_vectorize_vec_perm_const_ok): New.
        (rs6000_do_expand_vec_perm): New.
        (rs6000_expand_extract_even, rs6000_expand_interleave): New.
        * config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
        * config/rs6000/rs6000-modes.def: Add double-wide vector modes.
        * config/rs6000/rs6000-protos.h: Update.

From-SVN: r182193

12 years agoForce the creation of a CONST_VECTOR for expand_vec_perm.
Richard Henderson [Sat, 10 Dec 2011 20:43:03 +0000 (12:43 -0800)]
Force the creation of a CONST_VECTOR for expand_vec_perm.

        * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
        CONST_INT to expand_vec_perm as the selector.
        * optabs.c (expand_vec_perm): Assert the selector is of a proper mode.

From-SVN: r182192

12 years agoLet GET_MODE_2XWIDER_MODE find a double-width vector mode.
Richard Henderson [Sat, 10 Dec 2011 20:42:55 +0000 (12:42 -0800)]
Let GET_MODE_2XWIDER_MODE find a double-width vector mode.

        * genmodes.c (struct mode_data): Remove wider_2x member.
        (blank_mode): Adjust initializer.
        (calc_wider_mode): Use XALLOCAVEC.
        (emit_move_wider): Select double-width same-element vectors for
        2xwider vectors.
        * machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
        * config/i386/i386.c (doublesize_vector_mode): Remove.
        (expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.

From-SVN: r182191

12 years agotrans-decl.c (add_argument_checking): Check ts.deferred earlier.
Tobias Burnus [Sat, 10 Dec 2011 20:13:59 +0000 (21:13 +0100)]
trans-decl.c (add_argument_checking): Check ts.deferred earlier.

2011-12-10  Tobias Burnus  <burnus@net-b.de>
            Kai Tietz  <ktietz@redhat.com>

        * trans-decl.c (add_argument_checking): Check ts.deferred earlier.
        * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.

Co-Authored-By: Kai Tietz <ktietz@redhat.com>
From-SVN: r182190

12 years agouser.cfg.in: Add macros, directories.
Benjamin Kosnik [Sat, 10 Dec 2011 15:33:06 +0000 (15:33 +0000)]
user.cfg.in: Add macros, directories.

2011-12-10  Benjamin Kosnik  <bkoz@redhat.com>

* doc/doxygen/user.cfg.in: Add macros, directories.
* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
* include/bits/locale_classes.tcc: Same.
* include/bits/shared_ptr.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_numeric.h: Same.
* include/debug/safe_base.h: Same.
* include/parallel/equally_split.h: Same.
* include/std/bitset: Same.
* include/std/complex: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/ostream: Same.
* include/tr2/dynamic_bitset: Same.
* scripts/run_doxygen: Remove munging for names that no longer exist.

* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust line numbers.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.

From-SVN: r182189

12 years agounordered_set: Minor formatting changes.
François Dumont [Sat, 10 Dec 2011 14:00:03 +0000 (14:00 +0000)]
unordered_set: Minor formatting changes.

2011-12-12  François Dumont <fdumont@gcc.gnu.org>

* include/profile/unordered_set: Minor formatting changes.
(unordered_set<>::_M_profile_destruct,
unordered_multiset<>::_M_profile_destruct): Fix implementation to not
rely on normal implementation details anymore.
(unordered_set<>::_M_profile_resize,
unordered_multiset<>::_M_profile_resize): Implement consistently
accross all unordered containers.
(unordered_set<>::emplace, unordered_set<>::emplace_hint,
unordered_multiset<>::emplace, unordered_multset<>::emplace_hint): Add
to signal rehash to profiling system.
* include/profile/unordered_map: Likewise for unordered_map<> and
unordered_multimap<>.

From-SVN: r182188

12 years agoepiphany-protos.h (epiphany_start_function): Declare.
Joern Rennecke [Sat, 10 Dec 2011 10:22:56 +0000 (10:22 +0000)]
epiphany-protos.h (epiphany_start_function): Declare.

gcc:
        * config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
        * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
        Split "timer" value into "timer0" and "timer1".
        Handle page_miss, message and wand.  Don't handle static_flag.
        Adjust warning text.
        (epiphany_start_function): New function.
        (epiphany_compute_function_type): Split "timer" value into "timer0"
        and "timer1".  Handle page_miss, message and wand.
        Don't handle static_flag.
        (epiphany_expand_epilogue): Don't use frame_insn for status / iret
        restore.
        * config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
        (enum epiphany_function_type):
        Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
        and EPIPHANY_FUNCTION_TIMER1.
        Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
        Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
        Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
gcc/testsuite:
        * gcc.target/epiphany/interrupt.c: Add dg-options "-g".
        Add a scan-assembler-time clause to test for the interupt vector jump.
        (f): Rename to ...
        (dma0_handler): ... this.

From-SVN: r182187

12 years agoepiphany.h (EPIPHANY_RETURN_REGNO): New macro, broken out of ..
Joern Rennecke [Sat, 10 Dec 2011 09:54:00 +0000 (09:54 +0000)]
epiphany.h (EPIPHANY_RETURN_REGNO): New macro, broken out of ..

        * config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
        broken out of ..
        (INCOMING_RETURN_ADDR_RTX) .. this.  Use EPIPHANY_RETURN_REGNO.
        (DWARF_FRAME_RETURN_COLUMN): New macro.

From-SVN: r182186

12 years agoepiphany.h (USE_LOAD_POST_INCREMENT): Define.
Joern Rennecke [Sat, 10 Dec 2011 09:40:02 +0000 (09:40 +0000)]
epiphany.h (USE_LOAD_POST_INCREMENT): Define.

        * config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
        (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
        (USE_STORE_POST_DECREMENT): Likewise.

From-SVN: r182185

12 years agore PR gcov-profile/51449 (Rev181994 causes tramp3d-v4 profiled build failure)
Nathan Sidwell [Sat, 10 Dec 2011 08:32:34 +0000 (08:32 +0000)]
re PR gcov-profile/51449 (Rev181994 causes tramp3d-v4 profiled build failure)

PR gcov-profile/51449
* coverage.c (coverage_end_function): Always process the coverage
variables.

testsuite/
* g++.dg/gcov/gcov-14.C: New.

From-SVN: r182184

12 years agoDaily bump.
GCC Administrator [Sat, 10 Dec 2011 00:19:08 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182183

12 years agotree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless language...
Aldy Hernandez [Fri, 9 Dec 2011 22:05:26 +0000 (22:05 +0000)]
tree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless language has support for TM.

        PR/51291
        * tree.c (build_common_builtin_nodes): Do not use TM_PURE
        attribute unless language has support for TM.
        * config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
        the absence of TM builtins.

From-SVN: r182179

12 years agogimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to recognize...
Eric Botcazou [Fri, 9 Dec 2011 21:11:21 +0000 (21:11 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to recognize useless pointer conversions.

* gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
Also check the TYPE_MODE to recognize useless pointer conversions.

From-SVN: r182178

12 years agore PR tree-optimization/51117 (rev.181172 causes glibc build failure)
Jakub Jelinek [Fri, 9 Dec 2011 20:50:40 +0000 (21:50 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)

PR tree-optimization/51117
* tree-eh.c (optimize_clobbers): Don't remove just one
clobber, but all consecutive clobbers before RESX.
Use gimple_clobber_p predicate.

From-SVN: r182177

12 years agore PR c++/51151 (Invalid -Woverflow warning in C++ frontend)
Jason Merrill [Fri, 9 Dec 2011 20:18:22 +0000 (15:18 -0500)]
re PR c++/51151 (Invalid -Woverflow warning in C++ frontend)

PR c++/51151
* call.c (perform_implicit_conversion_flags): Remove earlier kludge.
* parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
in templates even if decl isn't type-dependent.

From-SVN: r182175

12 years agohashtable.h (_Hashtable<>::emplace, [...]): Add.
François Dumont [Fri, 9 Dec 2011 20:01:04 +0000 (20:01 +0000)]
hashtable.h (_Hashtable<>::emplace, [...]): Add.

2011-12-09  François Dumont <fdumont@gcc.gnu.org>

* include/bits/hashtable.h (_Hashtable<>::emplace,
_Hashtable<>::emplace_hint): Add.
* include/debug/unordered_set (unordered_set<>::emplace,
unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
unordered_multiset<>::emplace_hint): Add.
* include/profile/unordered_set: Likewise.
* include/debug/unordered_map (unordered_map<>::emplace,
unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
unordered_multimap<>::emplace_hint): Add.
* include/profile/unordered_map: Likewise.
* testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
* testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
New.
* testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
* testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
New.
* testsuite/util/testsuite_container_traits.h
(traits_base::has_emplace): Add and defined as std::true_type for
unordered containers.
* testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
use them in basic_safety exception test case.
* doc/xml/manual/status_cxx2011.xml: Update unordered containers
status.

From-SVN: r182174

12 years agoPR c++/51289 - ICE with alias template for bound template template parm
Dodji Seketeli [Fri, 9 Dec 2011 18:12:45 +0000 (18:12 +0000)]
PR c++/51289 - ICE with alias template for bound template template parm

gcc/cp/

PR c++/51289
* cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
better support aliased types.
(TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
TYPE_DECL.
* pt.c (find_parameter_packs_r): Handle types aliases.
(push_template_decl_real): Check for bare parameter packs in the
underlying type of an alias template.

gcc/PR51289/gcc/testsuite/

PR c++/51289
* g++.dg/cpp0x/alias-decl-17.C: New test.

From-SVN: r182170

12 years agoFix PR51469 (attr-ifunc fails on ppc); Make #pragma GCC target ("...") change macros...
Michael Meissner [Fri, 9 Dec 2011 17:10:27 +0000 (17:10 +0000)]
Fix PR51469 (attr-ifunc fails on ppc); Make #pragma GCC target ("...") change macros on PPC

From-SVN: r182169

12 years agosyslog: Fix name of C syslog function.
Ian Lance Taylor [Fri, 9 Dec 2011 16:46:44 +0000 (16:46 +0000)]
syslog: Fix name of C syslog function.

From Rainer Orth.

From-SVN: r182168

12 years agoruntime: make print() built-in write to stderr.
Ian Lance Taylor [Fri, 9 Dec 2011 16:42:40 +0000 (16:42 +0000)]
runtime: make print() built-in write to stderr.

Fixes issue 2294.

From-SVN: r182167

12 years agoRestore errors.o dependency
H.J. Lu [Fri, 9 Dec 2011 15:59:51 +0000 (15:59 +0000)]
Restore errors.o dependency

2011-12-09  H.J. Lu  <hongjiu.lu@intel.com>

PR bootstrap/51479
* Makefile.in (errors.o): Restored.

From-SVN: r182166

12 years agoslp-13.c: Increase array size, add initialization.
Michael Zolotukhin [Fri, 9 Dec 2011 15:21:08 +0000 (15:21 +0000)]
slp-13.c: Increase array size, add initialization.

* gcc.dg/vect/slp-13.c: Increase array size, add initialization.
* gcc.dg/vect/slp-24.c: Ditto.
* gcc.dg/vect/slp-3.c: Likewise and fix scans.
* gcc.dg/vect/slp-34.c: Ditto.
* gcc.dg/vect/slp-4.c: Ditto.
* gcc.dg/vect/slp-cond-2.c: Ditto.
* gcc.dg/vect/slp-multitypes-11.c: Ditto.
* gcc.dg/vect/vect-1.c: Ditto.
* gcc.dg/vect/vect-10.c: Ditto.
* gcc.dg/vect/vect-105.c: Ditto.
* gcc.dg/vect/vect-112.c: Ditto.
* gcc.dg/vect/vect-15.c: Ditto.
* gcc.dg/vect/vect-2.c: Ditto.
* gcc.dg/vect/vect-31.c: Ditto.
* gcc.dg/vect/vect-32.c: Ditto.
* gcc.dg/vect/vect-33.c: Ditto.
* gcc.dg/vect/vect-34.c: Ditto.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-36.c: Ditto.
* gcc.dg/vect/vect-6.c: Ditto.
* gcc.dg/vect/vect-73.c: Ditto.
* gcc.dg/vect/vect-74.c: Ditto.
* gcc.dg/vect/vect-75.c: Ditto.
* gcc.dg/vect/vect-76.c: Ditto.
* gcc.dg/vect/vect-80.c: Ditto.
* gcc.dg/vect/vect-85.c: Ditto.
* gcc.dg/vect/vect-89.c: Ditto.
* gcc.dg/vect/vect-97.c: Ditto.
* gcc.dg/vect/vect-98.c: Ditto.
* gcc.dg/vect/vect-all.c: Ditto.
* gcc.dg/vect/vect-double-reduc-6.c: Ditto.
* gcc.dg/vect/vect-iv-8.c: Ditto.
* gcc.dg/vect/vect-iv-8a.c: Ditto.
* gcc.dg/vect/vect-outer-1.c: Ditto.
* gcc.dg/vect/vect-outer-1a.c: Ditto.
* gcc.dg/vect/vect-outer-1b.c: Ditto.
* gcc.dg/vect/vect-outer-2.c: Ditto.
* gcc.dg/vect/vect-outer-2a.c: Ditto.
* gcc.dg/vect/vect-outer-2c.c: Ditto.
* gcc.dg/vect/vect-outer-3.c: Ditto.
* gcc.dg/vect/vect-outer-3a.c: Ditto.
* gcc.dg/vect/vect-outer-4a.c: Ditto.
* gcc.dg/vect/vect-outer-4b.c: Ditto.
* gcc.dg/vect/vect-outer-4c.c: Ditto.
* gcc.dg/vect/vect-outer-4d.c: Ditto.
* gcc.dg/vect/vect-outer-4m.c: Ditto.
* gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
* gcc.dg/vect/vect-outer-fir.c: Ditto.
* gcc.dg/vect/vect-over-widen-1.c: Ditto.
* gcc.dg/vect/vect-over-widen-2.c: Ditto.
* gcc.dg/vect/vect-over-widen-3.c: Ditto.
* gcc.dg/vect/vect-over-widen-4.c: Ditto.
* gcc.dg/vect/vect-reduc-1char.c: Ditto.
* gcc.dg/vect/vect-reduc-2char.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
* gcc.dg/vect/vect-shift-2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.

From-SVN: r182165

12 years agodse.c (get_stored_val, [...]): Use gen_int_mode.
Joern Rennecke [Fri, 9 Dec 2011 14:10:02 +0000 (14:10 +0000)]
dse.c (get_stored_val, [...]): Use gen_int_mode.

        * dse.c (get_stored_val, get_call_args): Use gen_int_mode.
        * expmed.c (expand_divmod): Likewise.
        * combine.c (simplify_if_then_else): Likewise.

From-SVN: r182164

12 years agore PR lto/48042 (lto segfaults while building Qt 4.7.2 with -g -flto -fwhole-program)
Richard Guenther [Fri, 9 Dec 2011 13:49:22 +0000 (13:49 +0000)]
re PR lto/48042 (lto segfaults while building Qt 4.7.2 with -g -flto -fwhole-program)

2011-12-09  Richard Guenther  <rguenther@suse.de>

PR lto/48042
* tree.c (free_lang_data_in_decl): Remove freeing conditional
on debuginfo level.

* g++.dg/lto/pr48042_0.C: New testcase.

From-SVN: r182163

12 years agore PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681)
Joern Rennecke [Fri, 9 Dec 2011 12:57:24 +0000 (12:57 +0000)]
re PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681)

        PR middle-end/40154
        * emit-rtl.c (set_dst_reg_note): New function.
        * rtl.h (set_dst_reg_note): Declare.
        * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
        (emit_libcall_block, expand_fix): Likewise.
        * function.c (assign_parm_setup_reg, expand_function_start): Likewise.
        * expmed.c (expand_mult_const, expand_divmod): Likewise.
        * reload1.c (gen_reload): Likewise.

From-SVN: r182162

12 years agoira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of...
Kai Tietz [Fri, 9 Dec 2011 12:27:20 +0000 (13:27 +0100)]
ira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of %lld.

* ira-color.c (print_hard_regs_subforest): Use
HOST_WIDEST_INT_PRINT_DEC instead of %lld.
(allocno_hard_regs): Change type of cost member
to HOST_WIDEST_INT.
(add_allocno_hard_regs): Change type of argument cost
to HOST_WIDEST_INT.
* ira-conflict.c (build_conflict_bit_table): Replace use
of long-long by HOST_WIDEST_INT.

From-SVN: r182161

12 years agore PR target/49313 (Inefficient libgcc implementations for avr)
Georg-Johann Lay [Fri, 9 Dec 2011 12:02:06 +0000 (12:02 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)

PR target/49313
* config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
* config/avr/lib1funcs.S (__muldi3): New function.

From-SVN: r182160

12 years agore PR target/51425 (Compiler fails to produce SBIS/SBIC instructions)
Georg-Johann Lay [Fri, 9 Dec 2011 11:54:29 +0000 (11:54 +0000)]
re PR target/51425 (Compiler fails to produce SBIS/SBIC instructions)

PR target/51425
* config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
zero_extract:QIHI instead of zero_extract:HI.

From-SVN: r182159

12 years agore PR tree-optimization/51117 (rev.181172 causes glibc build failure)
Jakub Jelinek [Fri, 9 Dec 2011 11:48:30 +0000 (12:48 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)

PR tree-optimization/51117
* tree-eh.c (optimize_clobbers): New function.
(execute_lower_eh_dispatch): Call it.

Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r182158

12 years agore PR tree-optimization/51482 (ice: invalid types in conversion to floating point)
Richard Biener [Fri, 9 Dec 2011 11:22:59 +0000 (11:22 +0000)]
re PR tree-optimization/51482 (ice: invalid types in conversion to floating point)

2011-12-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51482
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Make sure to only create REAL_TYPE and INTEGER_TYPE component
vectors.

* g++.dg/torture/pr51482.C: New testcase.

From-SVN: r182156

12 years agoimplicit-zee.c (num_realized): Change type to long.
Kai Tietz [Fri, 9 Dec 2011 10:19:43 +0000 (11:19 +0100)]
implicit-zee.c (num_realized): Change type to long.

* implicit-zee.c (num_realized): Change type to long.
(num_ze_opportunities): Likewise.

From-SVN: r182155

12 years agocompiler: Another correction to hidden fields in composite literals.
Ian Lance Taylor [Fri, 9 Dec 2011 05:04:12 +0000 (05:04 +0000)]
compiler: Another correction to hidden fields in composite literals.

From-SVN: r182154

12 years agomips-cpus.def (octeon+): New CPU.
Andrew Pinski [Fri, 9 Dec 2011 03:56:36 +0000 (03:56 +0000)]
mips-cpus.def (octeon+): New CPU.

2011-12-08  Andrew Pinski  <apinski@cavium.com>

* config/mips/mips-cpus.def (octeon+): New CPU.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.h (MIPS_CPP_SET_PROCESSOR): Emit '+' as 'P'.

2011-12-08  Andrew Pinski  <apinski@cavium.com>

* cc.target/mips/mult-1.c: Forbid all Octeon processors.
* gcc.target/mips/dmult-1.c: Likewise.
* gcc.target/mips/branch-1.c: Likewise.
* gcc.target/mips/extend-1.c: Likewise.

From-SVN: r182152

12 years agore PR libgomp/51376 (libgomp taskwait failure)
Alan Modra [Fri, 9 Dec 2011 02:21:43 +0000 (12:51 +1030)]
re PR libgomp/51376 (libgomp taskwait failure)

PR libgomp/51376
* task.c (GOMP_taskwait): Don't access task->children outside of
task_lock mutex region.
(GOMP_task): Likewise.

From-SVN: r182151

12 years agoDaily bump.
GCC Administrator [Fri, 9 Dec 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182148

12 years agocompiler: It's OK to assign a struct with hidden fields in a literal.
Ian Lance Taylor [Fri, 9 Dec 2011 00:16:19 +0000 (00:16 +0000)]
compiler: It's OK to assign a struct with hidden fields in a literal.

From-SVN: r182144

12 years agocompiler: Don't check for hidden fields on struct assignments.
Ian Lance Taylor [Thu, 8 Dec 2011 23:27:33 +0000 (23:27 +0000)]
compiler: Don't check for hidden fields on struct assignments.

From-SVN: r182143

12 years agore PR c++/51318 (segfault on Eigen3)
Jason Merrill [Thu, 8 Dec 2011 22:28:38 +0000 (17:28 -0500)]
re PR c++/51318 (segfault on Eigen3)

PR c++/51318
* typeck.c (build_x_conditional_expr): Restrict glvalue games to C++11.

From-SVN: r182142

12 years agore PR c++/51459 ('double free or corruption' involving std::function and lambdas)
Jason Merrill [Thu, 8 Dec 2011 22:28:29 +0000 (17:28 -0500)]
re PR c++/51459 ('double free or corruption' involving std::function and lambdas)

PR c++/51459
* pt.c (tsubst_expr) [DECL_EXPR]: Handle capture proxies properly.
* semantics.c (insert_capture_proxy): No longer static.
* cp-tree.h: Declare it.

From-SVN: r182141

12 years agore PR middle-end/39976 (Big sixtrack degradation on powerpc 32/64 after revision...
Bill Schmidt [Thu, 8 Dec 2011 22:00:38 +0000 (22:00 +0000)]
re PR middle-end/39976 (Big sixtrack degradation on powerpc 32/64 after revision r146817)

2011-12-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR middle-end/39976
* tree-ssa-dom.c (enum expr_kind): Add EXPR_PHI.
(struct hashable_expr): Add struct phi field.
(initialize_hash_element): Handle phis; change to use XCNEWVEC.
(hashable_expr_equal_p): Handle phis.
(iterative_hash_hashable_expr): Likewise.
(print_expr_hash_elt): Likewise.
(free_expr_hash_elt): Likewise.
(dom_opt_enter_block): Create equivalences from redundant phis.
(eliminate_redundant_computations): Handle redundant phis.
(lookup_avail_expr): Handle phis.

From-SVN: r182140

12 years agore PR tree-optimization/51466 (ICE in gimple_rhs_has_side_effects,)
Jakub Jelinek [Thu, 8 Dec 2011 19:49:02 +0000 (20:49 +0100)]
re PR tree-optimization/51466 (ICE in gimple_rhs_has_side_effects,)

PR tree-optimization/51466
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
TREE_SIDE_EFFECTS.

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

From-SVN: r182136

12 years agore PR fortran/50815 (ICE on allocation of deferred length character scalar dummy...
Tobias Burnus [Thu, 8 Dec 2011 19:00:55 +0000 (20:00 +0100)]
re PR fortran/50815 (ICE on allocation of deferred length character scalar dummy argument when -fbounds-check)

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50815
        * trans-decl.c (add_argument_checking): Skip bound checking
        for deferred-length strings.

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50815
        * gfortran.dg/bounds_check_16.f90: New.

From-SVN: r182134

12 years agore PR fortran/51378 ([OOP] Structure constructor wrongly rejects parent components...
Tobias Burnus [Thu, 8 Dec 2011 18:56:58 +0000 (19:56 +0100)]
re PR fortran/51378 ([OOP] Structure constructor wrongly rejects parent components if only child has PRIVATE comps)

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51378
        * symbol.c (gfc_find_component): Fix access check of parent
        components.

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51378
        * gfortran.dg/private_type_14.f90: New.

From-SVN: r182133

12 years agore PR libfortran/51407 (Use of BOZ edit descriptors to edit real and complex data...
Tobias Burnus [Thu, 8 Dec 2011 18:54:27 +0000 (19:54 +0100)]
re PR libfortran/51407 (Use of BOZ edit descriptors to edit real and complex data and F2008)

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51407
        * io/transfer.c (require_numeric_type): New function.
        (formatted_transfer_scalar_read, formatted_transfer_scalar_write):
        Use it, allow BOZ edit descriptors with F2008.

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51407
        * gfortran.dg/io_real_boz_3.f90: New.
        * gfortran.dg/io_real_boz_4.f90: New.
        * gfortran.dg/io_real_boz_5.f90: New.

From-SVN: r182132

12 years agore PR fortran/51448 (Compiler crash when assigning floating point values of different...
Tobias Burnus [Thu, 8 Dec 2011 18:51:28 +0000 (19:51 +0100)]
re PR fortran/51448 (Compiler crash when assigning floating point values of different kinds)

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51448
        * fortran/trans-array.c (get_std_lbound): Fix handling of
        conversion functions.

2011-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51448
        * gfortran.dg/realloc_on_assign_8.f90: New.

From-SVN: r182131

12 years agore PR fortran/51310 (-finit-bla doesn't initialize *all* items of type bla to the...
Toon Moene [Thu, 8 Dec 2011 18:38:32 +0000 (18:38 +0000)]
re PR fortran/51310 (-finit-bla doesn't initialize *all* items of type bla to the requested constant.)

2011-12-08  Toon Moene  <toon@moene.org>

PR fortran/51310
* invoke.texi: Itemize the cases for which
-finit-<type>=<constant> doesn't work.

From-SVN: r182127

12 years agomovdi-rex64.c: Remove unnecessary unused label.
Teresa Johnson [Thu, 8 Dec 2011 17:01:21 +0000 (17:01 +0000)]
movdi-rex64.c: Remove unnecessary unused label.

        * gcc.target/i386/movdi-rex64.c: Remove unnecessary
        unused label.

From-SVN: r182123

12 years agomovdi-rex64.c: Remove unnecessary -Wwrite-strings option.
Teresa Johnson [Thu, 8 Dec 2011 16:45:21 +0000 (16:45 +0000)]
movdi-rex64.c: Remove unnecessary -Wwrite-strings option.

        * gcc.target/i386/movdi-rex64.c: Remove unnecessary
        -Wwrite-strings option.

From-SVN: r182121

12 years agomovdi-rex64.c: New.
Teresa Johnson [Thu, 8 Dec 2011 15:41:07 +0000 (15:41 +0000)]
movdi-rex64.c: New.

        * gcc.target/i386/movdi-rex64.c: New.

From-SVN: r182119

12 years agotree-ssa-operands.c (add_stmt_operand): Do not mark stmts volatile when processing...
Richard Guenther [Thu, 8 Dec 2011 15:08:16 +0000 (15:08 +0000)]
tree-ssa-operands.c (add_stmt_operand): Do not mark stmts volatile when processing operands of an ADDR_EXPR.

2011-12-08  Richard Guenther  <rguenther@suse.de>

* tree-ssa-operands.c (add_stmt_operand): Do not mark stmts
volatile when processing operands of an ADDR_EXPR.
(get_indirect_ref_operands): Likewise.
(get_tmr_operands): Likewise.
(get_expr_operands): Likewise.

* gcc.dg/volatile3.c: New testcase.

From-SVN: r182117

12 years agore PR target/50395 (Infinite loop when bootstrapping java)
Andreas Krebbel [Thu, 8 Dec 2011 14:37:19 +0000 (14:37 +0000)]
re PR target/50395 (Infinite loop when bootstrapping java)

2011-12-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

PR target/50395
* config/s390/s390.c (s390_mainpool_finish): Emit the jump over
the literal pool as jump insn.

From-SVN: r182116

12 years agore PR tree-optimization/51315 (unaligned memory accesses generated with -ftree-sra)
Georg-Johann Lay [Thu, 8 Dec 2011 13:57:43 +0000 (13:57 +0000)]
re PR tree-optimization/51315 (unaligned memory accesses generated with -ftree-sra)

* gcc.c-torture/execute/20111208-1.c (int16_t): Use __INT16_TYPE__
for typedef.
(int32_t): Use __INT32_TYPE__ for typedef.
PR tree-optimization/51315

From-SVN: r182115

12 years agore PR tree-optimization/49772 (ICE: in ipa_pta_execute, at tree-ssa-structalias.c...
Richard Guenther [Thu, 8 Dec 2011 13:23:54 +0000 (13:23 +0000)]
re PR tree-optimization/49772 (ICE: in ipa_pta_execute, at tree-ssa-structalias.c:6790 with -fipa-pta)

2011-12-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49772
* tree-inline.c (optimize_inline_calls): Remove bail out
on errors.

From-SVN: r182110

12 years agore PR tree-optimization/51315 (unaligned memory accesses generated with -ftree-sra)
Georg-Johann Lay [Thu, 8 Dec 2011 12:38:35 +0000 (12:38 +0000)]
re PR tree-optimization/51315 (unaligned memory accesses generated with -ftree-sra)

PR tree-optimization/51315
* gcc.c-torture/execute/20111208-1.c: Fix wrong assumption
sizeof(int)==4.

From-SVN: r182109

12 years agore PR lto/50747 (ICE in produce_symtab, at lto-streamer-out.c:1435)
Richard Guenther [Thu, 8 Dec 2011 12:32:19 +0000 (12:32 +0000)]
re PR lto/50747 (ICE in produce_symtab, at lto-streamer-out.c:1435)

2011-12-08  Richard Guenther  <rguenther@suse.de>

PR lto/50747
* lto-streamer-out.c (produce_symtab): Remove asserts.

* g++.dg/opt/pr50747-1_0.C: New testcase.
* g++.dg/opt/pr50747-2_0.C: Likewise.

From-SVN: r182108

12 years agore PR middle-end/49945 (gcc.dg/guality/vla-1.c FAILs with -flto)
Richard Guenther [Thu, 8 Dec 2011 11:43:12 +0000 (11:43 +0000)]
re PR middle-end/49945 (gcc.dg/guality/vla-1.c FAILs with -flto)

2011-12-08  Richard Guenther  <rguenther@suse.de>

PR lto/49945
* lto-streamer-out.c (tree_is_indexable): Localize variably
modified types and their FIELD_DECLs.

From-SVN: r182107

12 years agoatomic_base.h (__calculate_memory_order): Rename to...
Jonathan Wakely [Thu, 8 Dec 2011 09:44:57 +0000 (09:44 +0000)]
atomic_base.h (__calculate_memory_order): Rename to...

* include/bits/atomic_base.h (__calculate_memory_order): Rename to...
(__cmpexch_failure_order): This, and rewrite as constexpr function.
(compare_exchange_strong, compare_exchange_weak): Use it.
* include/std/atomic (compare_exchange_strong, compare_exchange_weak):
Likewise.

From-SVN: r182105

12 years agore PR tree-optimization/51315 (unaligned memory accesses generated with -ftree-sra)
Eric Botcazou [Thu, 8 Dec 2011 09:05:38 +0000 (09:05 +0000)]
re PR tree-optimization/51315 (unaligned memory accesses generated with -ftree-sra)

PR tree-optimization/51315
* tree.h (get_object_or_type_alignment): Declare.
* expr.c (get_object_or_type_alignment): Move to...
* builtins.c (get_object_or_type_alignment): ...here.  Add assertion.
* tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
(tree_non_aligned_mem_p): ...this.  Add ALIGN parameter.  Look into
MEM_REFs and use get_object_or_type_alignment for them.
(build_accesses_from_assign): Adjust for above change.
(access_precludes_ipa_sra_p): Likewise.

From-SVN: r182102

12 years agore PR lto/48437 (LTO crashes with block-local function declarations)
Richard Guenther [Thu, 8 Dec 2011 08:50:35 +0000 (08:50 +0000)]
re PR lto/48437 (LTO crashes with block-local function declarations)

2011-12-08  Richard Guenther  <rguenther@suse.de>

PR lto/48437
* lto-streamer-out.c (tree_is_indexable): Exclude block-local
extern declarations.

* gcc.dg/lto/20111207-2_0.c: New testcase.
* gcc.dg/guality/pr48437.c: Likewise.

From-SVN: r182100

12 years agore PR c++/51401 ([c++0x] [4.7 Regression] ICE with invalid use of auto in template)
Jakub Jelinek [Thu, 8 Dec 2011 00:50:26 +0000 (01:50 +0100)]
re PR c++/51401 ([c++0x] [4.7 Regression] ICE with invalid use of auto in template)

PR c++/51401
* decl.c (grokdeclarator): Error for auto on non-static data members.

* g++.dg/cpp0x/auto7.C: Adjust expected error message.
* g++.dg/cpp0x/auto29.C: New test.

From-SVN: r182097

12 years agoDaily bump.
GCC Administrator [Thu, 8 Dec 2011 00:19:28 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182096

12 years agore PR libffi/50051 (MIPS libffi does not compile for mips64octeon-linux-gnu)
Andrew Pinski [Wed, 7 Dec 2011 22:59:06 +0000 (14:59 -0800)]
re PR libffi/50051 (MIPS libffi does not compile for mips64octeon-linux-gnu)

2011-12-07  Andrew Pinski  <apinski@cavium.com>

PR libffi/50051
* src/mips/n32.S: Add ".set mips4".

From-SVN: r182092

12 years agon32.S: Add ".set mips4".
Andrew Pinski [Wed, 7 Dec 2011 22:58:31 +0000 (22:58 +0000)]
n32.S: Add ".set mips4".

2011-12-07  Andrew Pinski  <apinski@cavium.com>

* src/mips/n32.S: Add ".set mips4".

From-SVN: r182091

12 years agore PR bootstrap/50237 (bootstrap comparison failure for libcpp/lex.o)
Jakub Jelinek [Wed, 7 Dec 2011 22:05:59 +0000 (23:05 +0100)]
re PR bootstrap/50237 (bootstrap comparison failure for libcpp/lex.o)

PR bootstrap/50237
* internal.h (_cpp_init_lexer): New prototype.
* init.c (init_library): Call it.
* lex.c (init_vectorized_lexer): Remove constructor attribute,
add inline keyword.
(HAVE_init_vectorized_lexer): Define.
(_cpp_init_lexer): New function.

From-SVN: r182090

12 years agore PR c++/51429 (ICE with invalid use of overloaded member function)
Jakub Jelinek [Wed, 7 Dec 2011 20:46:38 +0000 (21:46 +0100)]
re PR c++/51429 (ICE with invalid use of overloaded member function)

PR c++/51429
* typeck2.c (cxx_incomplete_type_diagnostic): Don't
ICE if TREE_OPERAND (value, 1) is overloaded.

* g++.dg/parse/error45.C: New test.

From-SVN: r182089

12 years agore PR c++/51229 ([C++0x] [4.7 Regression] Broken diagnostic: 'integer_cst' not suppor...
Jakub Jelinek [Wed, 7 Dec 2011 20:43:06 +0000 (21:43 +0100)]
re PR c++/51229 ([C++0x] [4.7 Regression] Broken diagnostic: 'integer_cst' not supported by dump_dec)

PR c++/51229
* decl.c (reshape_init_class): Complain if d->cur->index is
INTEGER_CST.
* parser.c (cp_parser_initializer_list): If cp_parser_parse_definitely
fails, clear designator.

* g++.dg/ext/desig3.C: New test.

From-SVN: r182088

12 years agore PR c++/51369 ([c++0x] [4.7 Regression] ICE using constexpr in template)
Jakub Jelinek [Wed, 7 Dec 2011 19:51:54 +0000 (20:51 +0100)]
re PR c++/51369 ([c++0x] [4.7 Regression] ICE using constexpr in template)

PR c++/51369
* init.c (build_value_init): Allow array types even when
processing_template_decl.

* g++.dg/cpp0x/constexpr-51369.C: New test.

From-SVN: r182086

12 years agore PR libstdc++/51386 (23_containers/unordered_set/hash_policy/load_factor.cc executi...
François Dumont [Wed, 7 Dec 2011 19:47:03 +0000 (19:47 +0000)]
re PR libstdc++/51386 (23_containers/unordered_set/hash_policy/load_factor.cc execution timeout)

2011-12-07  François Dumont <fdumont@gcc.gnu.org>

PR libstdc++/51386
* include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt):
Fix computation of _M_prev_resize so that hashtable do not keep on
being rehashed when _M_max_load_factor is lower than 1.

From-SVN: r182085

12 years agore PR middle-end/45416 (Code size regression from 4.4 for ARM)
Andrew Pinski [Wed, 7 Dec 2011 19:23:10 +0000 (19:23 +0000)]
re PR middle-end/45416 (Code size regression from 4.4 for ARM)

2011-12-07  Andrew Pinski  <apinski@cavium.com>

PR middle-end/45416
* expr.c (do_store_flag): Rewrite code that looks for BIT_AND_EXPR for
SSA-expand.

2011-12-07  Andrew Pinski  <apinski@cavium.com>

PR middle-end/45416
* gcc.dg/pr45416.c: New testcase.

From-SVN: r182084

12 years agore PR c++/51420 ([c++0x] ICE with invalid user-defined literals)
Ed Smith-Rowland [Wed, 7 Dec 2011 15:41:03 +0000 (15:41 +0000)]
re PR c++/51420 ([c++0x] ICE with invalid user-defined literals)

PR c++/51420
* parser.c (lookup_literal_operator): Check that declaration is an
overloaded function.

From-SVN: r182083

12 years agore PR lto/48100 (Assertion failed in lto_varpool_replace_node, at lto-symtab.c:304...
Richard Guenther [Wed, 7 Dec 2011 13:53:30 +0000 (13:53 +0000)]
re PR lto/48100 (Assertion failed in lto_varpool_replace_node, at lto-symtab.c:304 with mixed LTO/non-LTO objects)

2011-12-07  Richard Guenther  <rguenther@suse.de>

PR lto/48100
* gcc.dg/lto/20111207-1_0.c: New testcase.
* gcc.dg/lto/20111207-1_1.c: Likewise.
* gcc.dg/lto/20111207-1_2.c: Likewise.
* gcc.dg/lto/20111207-1_3.c: Likewise.

From-SVN: r182082

12 years agore PR middle-end/50823 (ICE in inline_small_functions, at ipa-inline.c:1407)
Richard Guenther [Wed, 7 Dec 2011 11:55:16 +0000 (11:55 +0000)]
re PR middle-end/50823 (ICE in inline_small_functions, at ipa-inline.c:1407)

2011-12-07  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50823
* ipa-inline.c (edge_badness): Do not account for the number of
remaining calls.

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

From-SVN: r182077

12 years agore PR tree-optimization/50744 (ice in good_cloning_opportunity_p)
Martin Jambor [Wed, 7 Dec 2011 10:30:49 +0000 (11:30 +0100)]
re PR tree-optimization/50744 (ice in good_cloning_opportunity_p)

2011-12-07  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/50744
* ipa-cp.c (good_cloning_opportunity_p): Assert size_cost is positive,
compute evaluation in HOST_WIDEST_INT.
(safe_add): New function
(propagate_effects): Use safe_add to accumulate effects.

* testsuite/gcc.dg/ipa/pr50744.c: New test.

From-SVN: r182076

12 years agolibgo: Add back tests of syscall time.
Ian Lance Taylor [Wed, 7 Dec 2011 01:55:49 +0000 (01:55 +0000)]
libgo: Add back tests of syscall time.

From-SVN: r182075

12 years agolibgo: Remove debug/proc, os.Error.
Ian Lance Taylor [Wed, 7 Dec 2011 01:21:57 +0000 (01:21 +0000)]
libgo: Remove debug/proc, os.Error.

From-SVN: r182074

12 years agolibgo: Update to weekly 2011-11-09.
Ian Lance Taylor [Wed, 7 Dec 2011 01:11:29 +0000 (01:11 +0000)]
libgo: Update to weekly 2011-11-09.

From-SVN: r182073

12 years agoDaily bump.
GCC Administrator [Wed, 7 Dec 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182072

12 years agortems.h: Switch to using global_options_set in SUBSUBTARGET_OVERRIDE_OPTIONS.
Joel Sherrill [Tue, 6 Dec 2011 22:49:57 +0000 (22:49 +0000)]
rtems.h: Switch to using global_options_set in SUBSUBTARGET_OVERRIDE_OPTIONS.

2011-12-06  Joel Sherrill <joel.sherrill@oarcorp.com>

* config/rs6000/rtems.h: Switch to using global_options_set
in SUBSUBTARGET_OVERRIDE_OPTIONS.

From-SVN: r182068

12 years agosparc: Fix warnings when using visintrin.h with VIS level lower than 3.
David S. Miller [Tue, 6 Dec 2011 22:42:23 +0000 (22:42 +0000)]
sparc: Fix warnings when using visintrin.h with VIS level lower than 3.

* config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.

From-SVN: r182067

12 years agocrtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of func_ptr.
Andrew Pinski [Tue, 6 Dec 2011 21:35:41 +0000 (21:35 +0000)]
crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the size of func_ptr.

2011-12-06  Andrew Pinski  <apinski@cavium.com>

* crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the
size of func_ptr.
(__frame_dummy_init_array_entry): Likewise.

From-SVN: r182066

12 years agoMakefile.in (LIBGNAT_TARGET_PAIRS [windows targets]): Correctly detect cygwin...
Dave Korn [Tue, 6 Dec 2011 20:31:31 +0000 (20:31 +0000)]
Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]): Correctly detect cygwin...

* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):
Correctly detect cygwin, which no longer has the '32' suffix, and use
appropriate implementations of the sockets and memory packages.
* sysdep.c (WIN_SETMODE): New define to choose the correct spelling of
setmode/_setmode for MinGW and Cygwin, respectively.
(__gnat_set_binary_mode [windows targets]): Use the above, and enable
the windows version for Cygwin as well as MinGW.
(__gnat_set_text_mode [windows targets]): Likewise.
(__gnat_ttyname [windows targets]): Provide a Cygwin implementation
in addition to the MinGW version.
(__gnat_is_windows_xp): Make available to Cygwin as well as MinGW.
(__gnat_get_stack_bounds): Likewise.

From-SVN: r182065

12 years agore PR libstdc++/51438 (std::exception and derived classes are not compatible with...
Paolo Carlini [Tue, 6 Dec 2011 20:03:25 +0000 (20:03 +0000)]
re PR libstdc++/51438 (std::exception and derived classes are not compatible with std::nested_exception and C++11 in general)

2011-12-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/51438
* libsupc++/nested_exception.h (nested_exception::~nested_exception):
Declare noexcept.
* libsupc++/nested_exception.cc: Adjust.
* testsuite/18_support/nested_exception/51438.cc: New.
* testsuite/18_support/nested_exception/throw_with_nested.cc: Adjust.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc:
Likewise.

* src/shared_ptr.cc: Use noexcept where appropriate.
* include/std/system_error: Likewise.
* include/std/functional: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* src/stdexcept.cc: Use _GLIBCXX_USE_NOEXCEPT where appropriate.
* include/std/stdexcept: Likewise.
* libsupc++/bad_cast.cc: Likewise.
* libsupc++/bad_typeid.cc: Likewise.
* libsupc++/eh_exception.cc: Likewise.
* libsupc++/typeinfo: Likewise.
* libsupc++/exception: Likewise.
* libsupc++/eh_ptr.cc: Likewise.
* libsupc++/bad_alloc.cc: Likewise.
* libsupc++/exception_ptr.h: Likewise.

* include/std/chrono: Use noexcept where appropriate.
* src/chrono.cc: Likewise.

From-SVN: r182064

12 years agore PR c++/51430 (ICE with array as static const member)
Jakub Jelinek [Tue, 6 Dec 2011 19:52:39 +0000 (20:52 +0100)]
re PR c++/51430 (ICE with array as static const member)

PR c++/51430
* pt.c (tsubst_decl): Don't call strip_array_domain on
error_mark_node.

* g++.dg/template/static32.C: New test.

From-SVN: r182063

12 years agopr51396.C: Use dg-additional-options.
Uros Bizjak [Tue, 6 Dec 2011 18:46:18 +0000 (19:46 +0100)]
pr51396.C: Use dg-additional-options.

* g++.dg/opt/pr51396.C: Use dg-additional-options.

From-SVN: r182061

12 years agolibgo: Remove more os.Error cases.
Ian Lance Taylor [Tue, 6 Dec 2011 18:13:04 +0000 (18:13 +0000)]
libgo: Remove more os.Error cases.

From Rainer Orth.

From-SVN: r182060

12 years agore PR fortran/51435 (Bad association status after null() of derived type component)
Tobias Burnus [Tue, 6 Dec 2011 18:10:01 +0000 (19:10 +0100)]
re PR fortran/51435 (Bad association status after null() of derived type component)

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

        PR fortran/51435
        * expr.c (gfc_has_default_initializer): Fix handling of
        DT with initialized pointer components.

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

        PR fortran/51435
        * gfortran.dg/default_initialization_5.f90: New.

From-SVN: r182059

12 years agoavr.c (avr_file_start): Fix missing ,
Georg-Johann Lay [Tue, 6 Dec 2011 17:18:10 +0000 (17:18 +0000)]
avr.c (avr_file_start): Fix missing ,

* config/avr/avr.c (avr_file_start): Fix missing ,

From-SVN: r182058