gcc.git
13 years agoi386.md (*movxf_internal): Penalize FYx*r->o alternative to prevent partial memory...
Uros Bizjak [Mon, 30 May 2011 20:55:30 +0000 (22:55 +0200)]
i386.md (*movxf_internal): Penalize FYx*r->o alternative to prevent partial memory stalls.

* config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
to prevent partial memory stalls.  Do not move CONST_DOUBLEs directly
to memory for !TARGET_MEMORY_MISMATCH_STALL.
(*movdf_internal_rex64): Do not penalize F->r alternative.
(*movdf_internal):  Penalize FYd*r->o alternative to prevent partial
memory stalls.  Generate SSE and x87 CONST_DOUBLE immediates only
when optimizing function for size.  Do not move CONST_DOUBLEs
directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
(FP move splitters): Merge {TF,XF,DF}mode move splitters.  Do not
handle SUBREGs.  Do not check for MEM_P operands in the insn condition,
check for ANY_FP_REGNO_P instead.
* config/i386/constraints.md (Yd): Enable GENERAL_REGS for
TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
function for speed.
* config/i386/i386.c (ix86_option_override_internal): Do not
set TARGET_INTEGER_DFMODE_MOVES here.

From-SVN: r174453

13 years agoHandle misaligned TFmode load/store.
H.J. Lu [Mon, 30 May 2011 20:00:11 +0000 (20:00 +0000)]
Handle misaligned TFmode load/store.

gcc/

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

PR target/49168
* config/i386/i386.md (*movtf_internal): Handle misaligned
load/store.

gcc/testsuite/

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

PR target/49168
 * gcc.target/i386/pr49168-1.c: New.

From-SVN: r174451

13 years agodwarf2out.c (modified_type_die, [...]): Use DW_TAG_rvalue_reference_type even for...
Jakub Jelinek [Mon, 30 May 2011 19:21:26 +0000 (21:21 +0200)]
dwarf2out.c (modified_type_die, [...]): Use DW_TAG_rvalue_reference_type even for -gdwarf-4 -fno-debug-types-section.

* dwarf2out.c (modified_type_die, gen_reference_type_die): Use
DW_TAG_rvalue_reference_type even for
-gdwarf-4 -fno-debug-types-section.

From-SVN: r174449

13 years agore PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on...
Bill Schmidt [Mon, 30 May 2011 17:12:53 +0000 (17:12 +0000)]
re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)

2011-05-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/46728
* tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
(build_and_insert_binop): New.
(gimple_expand_builtin_pow): Reorder args for
build_and_insert_call; use build_and_insert_binop; add more
optimizations for fractional exponents.

From-SVN: r174446

13 years agore PR c/4910 (imacat <imacat@mail.imacat.idv.tw>)
Nathan Froyd [Mon, 30 May 2011 16:42:05 +0000 (16:42 +0000)]
re PR c/4910 (imacat <imacat@mail.imacat.idv.tw>)

fix PR bootstrap/4910
gcc/
PR bootstrap/49190

Revert:
2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>

* tree.h (struct tree_identifier): Inherit from tree_typed, not
tree_common.
(HT_IDENT_TO_GCC_IDENT): Adjust for said change.
* tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
TS_BASE instead of TS_COMMON.
* varasm.c (assemble_name): Remove assert.

gcc/c-family/
PR bootstrap/49190

Revert:
2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>

* c-common.h (struct c_common_identifier): Inherit from tree_typed,
not tree_common.

From-SVN: r174445

13 years agotuple: Implement uses-allocator construction.
Jonathan Wakely [Mon, 30 May 2011 16:31:17 +0000 (16:31 +0000)]
tuple: Implement uses-allocator construction.

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

* include/std/tuple: Implement uses-allocator construction.
* include/bits/allocator.h (uses_allocator): Move to ...
* include/bits/uses_allocator.h: New file.
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* testsuite/20_util/uses_allocator/cons_neg.cc: New.
* testsuite/20_util/uses_allocator/construction.cc: New.
* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
* testsuite/20_util/tuple/cons/allocators.cc: New.

From-SVN: r174443

13 years agoconfig.gcc: Keep obselete list sorted.
Richard Sandiford [Mon, 30 May 2011 16:27:54 +0000 (16:27 +0000)]
config.gcc: Keep obselete list sorted.

gcc/
* config.gcc: Keep obselete list sorted.

From-SVN: r174442

13 years agovar-tracking.c (vt_add_function_parameter): Remap incoming MEMs with crtl->args.inter...
Jakub Jelinek [Mon, 30 May 2011 15:16:40 +0000 (15:16 +0000)]
var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with crtl->args.internal_arg_pointer based address to...

* var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
there is a DRAP register and arg_pointer_rtx is the CFA pointer.
(vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
(vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.

From-SVN: r174438

13 years agogimple.c (gimple_types_compatible_p_1): Compare record and union type members properly.
Richard Guenther [Mon, 30 May 2011 14:55:03 +0000 (14:55 +0000)]
gimple.c (gimple_types_compatible_p_1): Compare record and union type members properly.

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

* gimple.c (gimple_types_compatible_p_1): Compare record
and union type members properly.

From-SVN: r174436

13 years agore PR middle-end/49210 (verify_gimple fails building ada/einfo.o at -O3)
Richard Guenther [Mon, 30 May 2011 13:12:23 +0000 (13:12 +0000)]
re PR middle-end/49210 (verify_gimple fails building ada/einfo.o at -O3)

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

PR tree-optimization/49210
* ipa-split.c (split_function): Care for the case where the
call result is not trivially convertible to the result holding
variable.

* gnat.dg/boolean_subtype2.adb: New testcase.
* gnat.dg/boolean_subtype2.ads: Likewise.
* gnat.dg/boolean_subtype2_pkg.ads: Likewise.

From-SVN: r174435

13 years agore PR c++/49223 (Internal compiler error when using OpenMP)
Jakub Jelinek [Mon, 30 May 2011 12:16:04 +0000 (14:16 +0200)]
re PR c++/49223 (Internal compiler error when using OpenMP)

PR c++/49223
* semantics.c (finish_omp_clauses): Call require_complete_type
even for copyin/copyprivate clauses.  Only call
cxx_omp_create_clause_info if inner_type is COMPLETE_TYPE_P.

* g++.dg/gomp/pr49223-1.C: New test.
* g++.dg/gomp/pr49223-2.C: New test.

From-SVN: r174432

13 years agore PR middle-end/46500 (target.h includes tm.h)
Joern Rennecke [Mon, 30 May 2011 12:11:03 +0000 (12:11 +0000)]
re PR middle-end/46500 (target.h includes tm.h)

PR middle-end/46500
gcc/java:
* expr.c: Include "tm.h" .

From-SVN: r174431

13 years agore PR tree-optimization/49218 (Incorrect optimization of a 'for' loop creates an...
Richard Guenther [Mon, 30 May 2011 11:15:20 +0000 (11:15 +0000)]
re PR tree-optimization/49218 (Incorrect optimization of a 'for' loop creates an infinite loop)

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

PR tree-optimization/49218
* tree-vrp.c (adjust_range_with_scev): Properly check whether
overflow occured.

* gcc.c-torture/execute/pr49218.c: New testcase.

From-SVN: r174429

13 years agotree-ssa-forwprop.c (forward_propagate_into_comparison): New function split out from ...
Richard Guenther [Mon, 30 May 2011 09:19:58 +0000 (09:19 +0000)]
tree-ssa-forwprop.c (forward_propagate_into_comparison): New function split out from ...

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

* tree-ssa-forwprop.c (forward_propagate_into_comparison):
New function split out from ...
(forward_propagate_into_gimple_cond): ... here.  Adjust.
(forward_propagate_into_cond): Likewise.
(forward_propagate_comparison): Also propagate into
comparisons on assignment RHS.  Change return value to
behave similar to forward_propagate_into_cond.
(tree_ssa_forward_propagate_single_use_vars): Handle
strict-overflow warnings properly for forward_propagate_comparison.

From-SVN: r174428

13 years agoconfigure.ac (gcc_cv_lto_plugin): Determine lto plugin support from plugin linker.
Rainer Orth [Mon, 30 May 2011 08:45:07 +0000 (08:45 +0000)]
configure.ac (gcc_cv_lto_plugin): Determine lto plugin support from plugin linker.

* configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
from plugin linker.
* configure: Regenerate.

From-SVN: r174426

13 years agore PR tree-optimization/49199 (ICE: in vect_create_epilog_for_reduction at tree-vect...
Ira Rosen [Mon, 30 May 2011 07:15:31 +0000 (07:15 +0000)]
re PR tree-optimization/49199 (ICE: in vect_create_epilog_for_reduction at tree-vect-loop.c:3445 with -O -fno-tree-scev-cprop -ftree-vectorize -funswitch-loops)

        PR tree-optimization/49199
        * tree-vect-loop.c (vect_is_slp_reduction): Check that the
        non-reduction operands are either defined in the loop or
        by induction.

From-SVN: r174425

13 years agoRevert wrong checkin
Xinliang David Li [Mon, 30 May 2011 04:42:05 +0000 (04:42 +0000)]
Revert wrong checkin

From-SVN: r174424

13 years agoNew option to disable/enable optimization passes.
Xinliang David Li [Mon, 30 May 2011 04:38:42 +0000 (04:38 +0000)]
New option to disable/enable optimization passes.

From-SVN: r174423

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

From-SVN: r174422

13 years agoi386.md (*movoi_internal_avx): Use standard_sse_constant_opcode for alternative 0.
Uros Bizjak [Sun, 29 May 2011 21:33:27 +0000 (23:33 +0200)]
i386.md (*movoi_internal_avx): Use standard_sse_constant_opcode for alternative 0.

* config/i386/i386.md (*movoi_internal_avx): Use
standard_sse_constant_opcode for alternative 0.
(*movti_internal_sse): Ditto.
(*movti_internal_rex64): Use standard_sse_constant_opcode for
alternative 2.
(*movdi_internal_rex64): Use standard_sse_constant_opcode for
sselog1 type moves.
(*movsi_internal): Ditto.
(*movdi_internal): Ditto.  Add ssecvt type moves.

From-SVN: r174417

13 years agore PR fortran/47601 ([OOP] Internal Error: mio_component_ref(): Component not found)
Janus Weil [Sun, 29 May 2011 20:32:11 +0000 (22:32 +0200)]
re PR fortran/47601 ([OOP] Internal Error: mio_component_ref(): Component not found)

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

PR fortran/47601
* module.c (mio_component_ref): Handle components of extended types.
* symbol.c (gfc_find_component): Return is sym is NULL.

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

PR fortran/47601
* gfortran.dg/extends_13.f03: New.

From-SVN: r174416

13 years agoPR 48931 Use async-signal-safe execve instead of execvp
Janne Blomqvist [Sun, 29 May 2011 20:13:52 +0000 (23:13 +0300)]
PR 48931 Use async-signal-safe execve instead of execvp

From-SVN: r174415

13 years agore PR rtl-optimization/48830 (unrecognized insn: storing invalid upper FP reg in...
Eric Botcazou [Sun, 29 May 2011 20:01:41 +0000 (20:01 +0000)]
re PR rtl-optimization/48830 (unrecognized insn: storing invalid upper FP reg in SImode)

PR target/48830
* rtlanal.c (simplify_subreg_regno): Adjust comment.

From-SVN: r174414

13 years agore PR rtl-optimization/49095 (Horrible code generation for trivial decrement with...
Jakub Jelinek [Sun, 29 May 2011 18:51:48 +0000 (20:51 +0200)]
re PR rtl-optimization/49095 (Horrible code generation for trivial decrement with test)

PR rtl-optimization/49095
* config/i386/predicates.md (plusminuslogic_operator): New predicate.
* config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.

* gcc.target/i386/pr49095.c: New test.

From-SVN: r174413

13 years agore PR fortran/45786 (Relational operators .eq. and == are not recognized as equivalent)
Thomas Koenig [Sun, 29 May 2011 18:41:00 +0000 (18:41 +0000)]
re PR fortran/45786 (Relational operators .eq. and == are not recognized as equivalent)

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

PR fortran/45786
* interface.c (gfc_equivalent_op):  New function.
(gfc_check_interface):  Use gfc_equivalent_op instead
of switch statement.
* decl.c (access_attr_decl):  Also set access to an
equivalent operator.

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

PR fortran/45786
* gfortran.dg/operator_7.f90:  New test case.

From-SVN: r174412

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sun, 29 May 2011 18:17:40 +0000 (20:17 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * interface.c (compare_parameter): Add check for passing coarray
        to allocatable noncoarray dummy.

2011-05-29  Tobias Burnus  <burnus@net-b.de>

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

From-SVN: r174411

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sun, 29 May 2011 18:15:08 +0000 (20:15 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-29  Tobias Burnus  <burnus@net-b.de>
            Richard Guenther  <rguenther@suse.de>

        PR fortran/18918
        * trans-types.c (gfc_get_nodesc_array_type): Don't mess with
        the type's TREE_TYPE.
        * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.
        * trans.c (gfc_build_array_ref): Ditto.

2011-05-29  Tobias Burnus  <burnus@net-b.de>

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

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

13 years agoAdd PR target/43700 to an earlier changelog entry.
Richard Sandiford [Sun, 29 May 2011 17:45:27 +0000 (17:45 +0000)]
Add PR target/43700 to an earlier changelog entry.

From-SVN: r174403

13 years agore PR target/43995 (internal compiler error: Segmentation fault on Mips64 crossbuild...
Richard Sandiford [Sun, 29 May 2011 17:41:50 +0000 (17:41 +0000)]
re PR target/43995 (internal compiler error: Segmentation fault on Mips64 crossbuild of ext2progs)

gcc/
PR target/43995
* config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
recurse_p argument.  Only follow register copies if it is set,
and prevent mips_find_pic_call_symbol from recursing.
(mips_find_pic_call_symbol): Add a recurse_p argument.
Pass it to mips_pic_call_symbol_from_set.
(mips_annotate_pic_calls): Update accordingly.

From-SVN: r174402

13 years agoemit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs.
Richard Sandiford [Sun, 29 May 2011 17:40:05 +0000 (17:40 +0000)]
emit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs.

gcc/
* emit-rtl.c (try_split): Use a loop to search for
NOTE_INSN_CALL_ARG_LOCATIONs.

gcc/testsuite/
From Ryan Mansfield
* gcc.dg/pr48826.c: New test.

From-SVN: r174401

13 years agore PR tree-optimization/49217 (Wrong optimization of code)
Richard Guenther [Sun, 29 May 2011 17:03:38 +0000 (17:03 +0000)]
re PR tree-optimization/49217 (Wrong optimization of code)

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

PR tree-optimization/49217
* ipa-pure-const.c (propagate_pure_const): Fix typos.

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

From-SVN: r174400

13 years agore PR testsuite/49222 (FAIL: gcc.dg/vect/pr49038.c (test for excess errors) on *...
Ira Rosen [Sun, 29 May 2011 16:47:05 +0000 (16:47 +0000)]
re PR testsuite/49222 (FAIL: gcc.dg/vect/pr49038.c (test for excess errors) on *-apple-darwin*)

PR testsuite/49222
* gcc.dg/vect/pr49038.c: Use MAP_ANON if MAP_ANONYMOUS is not defined.

From-SVN: r174398

13 years agolto-streamer-out.c (hash_string_slot_node): Hash string based on its length.
Jan Hubicka [Sun, 29 May 2011 16:35:33 +0000 (18:35 +0200)]
lto-streamer-out.c (hash_string_slot_node): Hash string based on its length.

* lto-streamer-out.c (hash_string_slot_node): Hash string based on its
length.
(string_slot_free): Remove
(create_output_block): Initialize obstack.
(destroy_output_block): Free obstack.
(lto_string_index): Add PERSISTENT parameter; do not duplicate
the string unless it needs to be added into the hash.
(lto_output_string_with_length): Add persistent attribute;
handle NULL strings.
(lto_output_string): Add PERSISTENT parameter.
(output_string_cst, output_identifier): Simplify.
(lto_output_location_bitpack): Update.
(lto_output_builtin_tree): Update.
* lto-streamer.h (struct output_block): Add obstack.
(lto_output_string, lto_output_string_with_length): Remove declarations;
functions are static now.

From-SVN: r174397

13 years agoPR 49214 fd_gets should return NULL if nothing was read
Janne Blomqvist [Sun, 29 May 2011 13:17:17 +0000 (16:17 +0300)]
PR 49214 fd_gets should return NULL if nothing was read

From-SVN: r174395

13 years agolto-streamer-out.c (pack_ts_fixed_cst_value_fields, [...]): Use enum and variable...
Jan Hubicka [Sun, 29 May 2011 11:40:25 +0000 (13:40 +0200)]
lto-streamer-out.c (pack_ts_fixed_cst_value_fields, [...]): Use enum and variable length i/o.

* lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
pack_ts_function_decl_value_fields, lto_output_builtin_tree,
output_cfg, output_gimple_stmt): Use enum and variable length i/o.
* lto-streamer-in.c (input_cfg, input_gimple_stmt,
unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
unpack_ts_decl_with_vis_value_fields,
unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
lto_get_builtin_tree): Use enum and variable length i/o.
* basic-block.h (profile_status_d): Add PROFILE_LAST.
* lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
New functions.
(bp_pack_enum, bp_unpack_enum): New macros.

From-SVN: r174394

13 years agoPR 19155 Check for strtod failure via endptr
Janne Blomqvist [Sun, 29 May 2011 08:59:44 +0000 (11:59 +0300)]
PR 19155 Check for strtod failure via endptr

From-SVN: r174393

13 years agoboolean_subtype.adb: Rename to...
Eric Botcazou [Sun, 29 May 2011 07:56:50 +0000 (07:56 +0000)]
boolean_subtype.adb: Rename to...

* gnat.dg/boolean_subtype.adb: Rename to...
* gnat.dg/boolean_subtype1.adb: ...this.

From-SVN: r174392

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

From-SVN: r174391

13 years agore PR c++/46124 ([C++0x] ICE: tree check: expected var_decl or function_decl, have...
Jason Merrill [Sat, 28 May 2011 22:01:38 +0000 (18:01 -0400)]
re PR c++/46124 ([C++0x] ICE: tree check: expected var_decl or function_decl, have error_mark in cp_parser_lambda_declarator_opt, at cp/parser.c:7817 on invalid lambda function)

PR c++/46124
* parser.c (cp_parser_lambda_expression): Improve error recovery.
(cp_parser_lambda_declarator_opt): Likewise.  Return bool.

From-SVN: r174386

13 years agore PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler error...
Jason Merrill [Sat, 28 May 2011 22:01:28 +0000 (18:01 -0400)]
re PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler error with std=gnu++0x)

PR c++/47277
* parser.c (cp_parser_pseudo_destructor_name): Commit to parse
after we see the ~.

From-SVN: r174385

13 years agopointer_to.cc: Fix.
Jonathan Wakely [Sat, 28 May 2011 19:15:41 +0000 (19:15 +0000)]
pointer_to.cc: Fix.

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

* testsuite/20_util/pointer_traits/pointer_to.cc: Fix.

From-SVN: r174384

13 years agoacinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
Jonathan Wakely [Sat, 28 May 2011 17:27:01 +0000 (17:27 +0000)]
acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.

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

* acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
* configure.ac: Use them. Increase minor version.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/std/thread (thread::hardware_concurrency): Remove inline
definition.
* src/thread.cc (thread::hardware_concurrency): Define.
* config/abi/pre/gnu.ver: Export new symbol @3.4.17
* testsuite/util/testsuite_abi.cc: Add new version.
* testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
* testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
* testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
dg-require-nprocs and verify hardware_concurrency returns non-zero.

From-SVN: r174383

13 years agogenrecog.c: Remove redundant forward declarations.
Richard Sandiford [Sat, 28 May 2011 17:26:27 +0000 (17:26 +0000)]
genrecog.c: Remove redundant forward declarations.

gcc/
* genrecog.c: Remove redundant forward declarations.

From-SVN: r174382

13 years agopointer_to.cc: New.
Jonathan Wakely [Sat, 28 May 2011 17:13:48 +0000 (17:13 +0000)]
pointer_to.cc: New.

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

* testsuite/20_util/pointer_traits/pointer_to.cc: New.

From-SVN: r174381

13 years agoMakefile.am: Add new ptr_traits.h header.
Jonathan Wakely [Sat, 28 May 2011 13:27:43 +0000 (13:27 +0000)]
Makefile.am: Add new ptr_traits.h header.

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

* include/Makefile.am: Add new ptr_traits.h header.
* include/Makefile.in: Regenerate.
* include/bits/ptr_traits.h (pointer_traits): New.
* include/bits/allocator.h (allocator_traits): Add.
* include/ext/array_allocator.h (construct, destroy): Update C++0x
versions.
* include/ext/bitmap_allocator.h (construct, destroy): Likewise.
* include/ext/extptr_allocator.h (construct, destroy): Likewise.
* include/ext/malloc_allocator.h (construct, destroy): Likewise.
* include/ext/mt_allocator.h (construct, destroy): Likewise.
* include/ext/new_allocator.h (construct, destroy): Likewise.
* include/ext/pool_allocator.h (construct, destroy): Likewise.
* include/ext/throw_allocator.h (construct, destroy): Likewise.
* testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
* testsuite/20_util/allocator_traits/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/allocator_traits/members/max_size.cc: New.
* testsuite/20_util/allocator_traits/members/select.cc: New.
* testsuite/20_util/allocator_traits/members/construct.cc: New.
* testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
* testsuite/20_util/allocator_traits/members/destroy.cc: New.
* testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
* testsuite/20_util/pointer_traits/requirements/
explicit_instantiation.cc: New.

From-SVN: r174380

13 years agoconfig.gcc: Deprecate mips*-*-openbsd*.
Richard Sandiford [Sat, 28 May 2011 08:02:57 +0000 (08:02 +0000)]
config.gcc: Deprecate mips*-*-openbsd*.

gcc/
* config.gcc: Deprecate mips*-*-openbsd*.

From-SVN: r174379

13 years agore PR bootstrap/49195 (Error building libgcc for powerpc64 since r174305)
Richard Sandiford [Sat, 28 May 2011 07:38:07 +0000 (07:38 +0000)]
re PR bootstrap/49195 (Error building libgcc for powerpc64 since r174305)

gcc/
PR bootstrap/49195
* genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
for match_op_dup.

From-SVN: r174378

13 years agomangle.c (mangle_decl_string): Make sure we don't try to mangle templates.
Jason Merrill [Sat, 28 May 2011 00:53:58 +0000 (20:53 -0400)]
mangle.c (mangle_decl_string): Make sure we don't try to mangle templates.

* mangle.c (mangle_decl_string): Make sure we don't try to mangle
templates.

From-SVN: r174376

13 years agore PR c++/47049 ([C++0x] ICE in write_unnamed_type_name with lambda use)
Jason Merrill [Sat, 28 May 2011 00:53:49 +0000 (20:53 -0400)]
re PR c++/47049 ([C++0x] ICE in write_unnamed_type_name with lambda use)

PR c++/47049
* semantics.c (maybe_add_lambda_conv_op): Fix COMDAT sharing.
* decl.c (start_preparsed_function): Don't call comdat_linkage for
a template.

From-SVN: r174375

13 years agofuture (launch): Update enumerators and define operators required for bitmask type.
Jonathan Wakely [Sat, 28 May 2011 00:24:11 +0000 (00:24 +0000)]
future (launch): Update enumerators and define operators required for bitmask type.

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

* include/std/future (launch): Update enumerators and define
operators required for bitmask type. Remove trailing whitespace.
* src/future.cc: Remove trailing whitespace.
* testsuite/30_threads/async/any.cc: Adjust.
* testsuite/30_threads/async/sync.cc: Adjust.
* testsuite/30_threads/async/launch.cc: New.

From-SVN: r174374

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

From-SVN: r174373

13 years agofuture: Use noexcept.
Jonathan Wakely [Fri, 27 May 2011 23:25:54 +0000 (23:25 +0000)]
future: Use noexcept.

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

* include/std/future: Use noexcept.
* src/future.cc: Likewise.

From-SVN: r174368

13 years agoChange export code to use the backend interface.
Ian Lance Taylor [Fri, 27 May 2011 22:46:11 +0000 (22:46 +0000)]
Change export code to use the backend interface.

* go-backend.c: Include "output.h".
(go_write_export_data): New function.
* go-c.h (go_write_export_data): Declare.
* Make-lang.in (go/go-backend.o): Depend on output.h.
(go/export.o): Depend on $(GO_C_H).  Do not depend on
$(MACHMODE_H), output.h, or $(TARGET_H).

From-SVN: r174366

13 years agothread (this_thread::sleep_until): Move after sleep_for.
Jonathan Wakely [Fri, 27 May 2011 21:37:53 +0000 (21:37 +0000)]
thread (this_thread::sleep_until): Move after sleep_for.

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

* include/std/thread (this_thread::sleep_until): Move after sleep_for.

From-SVN: r174365

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Fri, 27 May 2011 21:29:19 +0000 (23:29 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * check.c (gfc_check_associated, gfc_check_null): Add coindexed
        * check.
        * match.c (gfc_match_nullify): Ditto.
        * resolve.c (resolve_deallocate_expr): Ditto.
        * trans-types.c (gfc_get_nodesc_array_type): Don't set
        * restricted
        for nonpointers.

2011-05-27  Tobias Burnus  <burnus@net-b.de>

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

From-SVN: r174364

13 years agore PR other/48981 (bootstrap-lto -O3 produces miscompiled, broken gcc)
Andrew Pinski [Fri, 27 May 2011 20:19:13 +0000 (13:19 -0700)]
re PR other/48981 (bootstrap-lto -O3 produces miscompiled, broken gcc)

2011-05-27  Andrew Pinski  <pinskia@gmail.com>

PR middle-end/48981
* gengtype.c (vec_prefix_type): New function.
(note_def_vec): Use vec_prefix_type and change the length
attribute to be based on the prefix.
* vec.c: Include coretypes.h before vec.h.
(struct vec_prefix): Remove.
(vec_gc_p_reserve): Change the offsetof to sizeof.
(vec_gc_p_reserve_exact): Likewise.
(vec_heap_p_reserve): Likewise.
(vec_heap_p_reserve_exact): Likewise.
(vec_stack_o_reserve_1): Copy from +1 instead of from vec.
(vec_stack_p_reserve): Change the offsetof to sizeof.
(vec_stack_p_reserve_exact): Likewise.
* vec.h (struct vec_prefix): New struct definition.
(VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
(VEC_T_GTY(T,B)): Likewise.
(DEF_VEC_FUNC_P(T)): Use prefix field.
(DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
(DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.

From-SVN: r174359

13 years agore PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on...
Bill Schmidt [Fri, 27 May 2011 19:39:07 +0000 (19:39 +0000)]
re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)

2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/46728
* gcc.target/powerpc/pr46728-1.c: New.
* gcc.target/powerpc/pr46728-2.c: New.
* gcc.target/powerpc/pr46728-3.c: New.
* gcc.target/powerpc/pr46728-4.c: New.
* gcc.target/powerpc/pr46728-5.c: New.
* gcc.dg/pr46728-6.c: New.
* gcc.target/powerpc/pr46728-7.c: New.
* gcc.target/powerpc/pr46728-8.c: New.
* gcc.dg/pr46728-9.c: New.
* gcc.target/powerpc/pr46728-10.c: New.
* gcc.target/powerpc/pr46728-11.c: New.
* gcc.dg/pr46728-12.c: New.
* gcc.target/powerpc/pr46728-13.c: New.
* gcc.target/powerpc/pr46728-14.c: New.
* gcc.target/powerpc/pr46728-15.c: New.
* gcc.target/powerpc/pr46728-16.c: New.

From-SVN: r174358

13 years agore PR c++/47132 ([C++0x] decltype can't deduce some operator return types when defini...
Jason Merrill [Fri, 27 May 2011 19:32:30 +0000 (15:32 -0400)]
re PR c++/47132 ([C++0x] decltype can't deduce some operator return types when defining an auto function's return)

PR c++/47132
* mangle.c (write_expression): Handle MODOP_EXPR.

From-SVN: r174357

13 years agore PR c++/49176 ([c++0x] valid code rejected with "error: uninitialized const")
Jason Merrill [Fri, 27 May 2011 19:32:22 +0000 (15:32 -0400)]
re PR c++/49176 ([c++0x] valid code rejected with "error: uninitialized const")

PR c++/49176
* g++.dg/template/const5.C: New.

From-SVN: r174356

13 years agore PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler error...
Jason Merrill [Fri, 27 May 2011 19:32:14 +0000 (15:32 -0400)]
re PR c++/47277 ([C++0x] pseudo destructor code that cause an internal compiler error with std=gnu++0x)

PR c++/47277
* parser.c (cp_parser_unqualified_id): Don't check
constructor_name_p for enums.

From-SVN: r174355

13 years agore PR c++/47687 ([C++0x] Crash on a lambda returning a lambda (using std::function))
Jason Merrill [Fri, 27 May 2011 19:32:07 +0000 (15:32 -0400)]
re PR c++/47687 ([C++0x] Crash on a lambda returning a lambda (using std::function))

PR c++/47687
* pt.c (dependent_type_p_r): Avoid infinite recursion.

From-SVN: r174354

13 years agore PR c++/48284 ([C++0x] incorrect printing of decltype operand in diagnostic)
Jason Merrill [Fri, 27 May 2011 19:31:59 +0000 (15:31 -0400)]
re PR c++/48284 ([C++0x] incorrect printing of decltype operand in diagnostic)

PR c++/48284
* error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot
with INDIRECT_REF of REFERENCE_TYPE.

From-SVN: r174353

13 years agore PR c++/49181 ([C++0x] Error reporting routines re-entered)
Jason Merrill [Fri, 27 May 2011 19:31:51 +0000 (15:31 -0400)]
re PR c++/49181 ([C++0x] Error reporting routines re-entered)

PR c++/49181
* pt.c (get_mostly_instantiated_function_type): Use push_access_scope.

From-SVN: r174352

13 years agore PR c++/49165 (ICE on for-loop/throw combination)
Jakub Jelinek [Fri, 27 May 2011 19:19:36 +0000 (21:19 +0200)]
re PR c++/49165 (ICE on for-loop/throw combination)

PR c++/49165
* c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
C++ don't call c_common_truthvalue_conversion on void type arms.

* g++.dg/eh/cond6.C: New test.

From-SVN: r174350

13 years agore PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on...
Bill Schmidt [Fri, 27 May 2011 19:11:19 +0000 (19:11 +0000)]
re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, 0.75)+y on powerpc)

2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/46728
* tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
(powi_as_mults): Add gimple_set_location.
(build_and_insert_call): New.
(gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
0.5, 0.25, 0.75, 1./3., or 1./6.

From-SVN: r174349

13 years agore PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
Tobias Burnus [Fri, 27 May 2011 18:51:31 +0000 (20:51 +0200)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)

2011-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48820
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
        * intrinsic.c (add_functions): Add rank intrinsic.
        (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
        * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add
        * prototypes.
        * simplify.c (gfc_simplify_rank): New function.
        * intrinsic.texi (RANK): Add description for rank intrinsic.
        * check.c (gfc_check_rank): New function.

2011-05-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48820
        * gfortran.dg/rank_3.f90: New.
        * gfortran.dg/rank_4.f90: New.

From-SVN: r174348

13 years ago* MAINTAINERS (Write After Approval): Update my email address.
Nathan Froyd [Fri, 27 May 2011 18:13:42 +0000 (18:13 +0000)]
* MAINTAINERS (Write After Approval): Update my email address.

From-SVN: r174347

13 years agocontrib.texi: Update copyright years.
Alexander Monakov [Fri, 27 May 2011 17:54:35 +0000 (21:54 +0400)]
contrib.texi: Update copyright years.

2011-05-27  Alexander Monakov  <amonakov@ispras.ru>

* doc/contrib.texi: Update copyright years.
(Contributors): Add Zdenek Sojka.

From-SVN: r174344

13 years agomove TS_STATEMENT_LIST to be a substructure of TS_TYPED
Nathan Froyd [Fri, 27 May 2011 17:43:44 +0000 (17:43 +0000)]
move TS_STATEMENT_LIST to be a substructure of TS_TYPED

move TS_STATEMENT_LIST to be a substructure of TS_TYPED
gcc/
* c-decl.c (c_push_function_context): Copy the current statement
list stack.
(add_stmt): Check building_stmt_list_p and push_stmt if necessary.
(finish_struct): Call building_stmt_list_p instead of checking
cur_stmt_list.
* c-parser.c (c_parser_postfix_expression): Likewise.
* c-typeck.c (c_end_compound_stmt): Likewise.
* print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
* tree-iterator.c (stmt_list_cache): Change to a VEC.
(alloc_stmt_list): Adjust for stmt_list_cache's new type.
(free_stmt_list): Likewise.
* tree.h (struct tree_statement_list): Include typed_tree instead
of tree_common.
* tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
as TS_TYPED instead of TS_COMMON.

gcc/c-family/
* c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
(stmt_list_stack): Define.
(cur_stmt_list): Adjust for new type of x_cur_stmt_list.
* c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.

gcc/cp/
* cp-tree.h (building_stmt_tree): Delete.
* decl.c (save_function_data): Tweak initializer for x_cur_stmt_list.
(build_aggr_init_full_exprs): Call building_stmt_list_p
instead of building_stmt_tree.
(initialize_local_var): Likewise.
(finish_function): Likewise.
* decl2.c (finish_anon_union): Likewise.
* init.c (begin_init_stmts): Likewise.
(finish_init_stmts): Likewise.
(expand_aggr_init_1): Likewise.
* name-lookup.c (do_local_using_decl): Likewise.
(do_namespace_alias): Likewise.
(do_using_directive): Likewise.
(cp_emit_debug_info_for_using): Likewise.
* semantics.c (add_stmt): Assert that stmt_list_stack is non-empty.

From-SVN: r174343

13 years agore PR libstdc++/49187 (parallel mode compilation broken - unqualified lookup? (bisected))
Paolo Carlini [Fri, 27 May 2011 16:35:36 +0000 (16:35 +0000)]
re PR libstdc++/49187 (parallel mode compilation broken - unqualified lookup? (bisected))

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

PR libstdc++/49187
* include/parallel/losertree.h: Add missing using declarations
of _Base::_M_comp.
* include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
* include/parallel/multiway_merge.h: Include <parallel/
multiseq_selection.h>, forward declare __merge_advance.
* include/parallel/multiseq_selection.h: Don't include <parallel/
sort.h> here.
* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
qualification of upper_bound.

* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
Use dg-require-debug-mode.
* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
Likewise.
* testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
Likewise.
* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
Likewise.
* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
Likewise.
* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
Likewise.
* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
Likewise.
* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
Likewise.
* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
Likewise.

* include/parallel/algo.h: Minor uglification fixes.

From-SVN: r174342

13 years agotree-ssa-pr43411.C: Rename function to be inlined and replace dump search.
Janis Johnson [Fri, 27 May 2011 16:11:27 +0000 (16:11 +0000)]
tree-ssa-pr43411.C: Rename function to be inlined and replace dump search.

* g++.dg/tree-ssa-pr43411.C: Rename function to be inlined and
replace dump search.

From-SVN: r174341

13 years agoconfigure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
Rainer Orth [Fri, 27 May 2011 15:45:56 +0000 (15:45 +0000)]
configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt

2011-05-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
    Uros Bizjak <ubizjak@gmail.com>

* configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
(HAVE_AS_IX86_TLSGDPTL): Define.
(gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
(HAVE_AS_IX86_TLSLDMPLT): Define.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/i386.c (ix86_print_operand): Handle code 'p'.
* config/i386/i386.md (*tls_global_dynamic_32_gnu): If
TARGET_SUN_TLS, use @tlsgdplt or @plt.
(*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
(*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
@tlsldmplt or @plt.
(*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.

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

13 years agobit_packed_array5.ads: Move dg directive to...
Eric Botcazou [Fri, 27 May 2011 14:25:39 +0000 (14:25 +0000)]
bit_packed_array5.ads: Move dg directive to...

* gnat.dg/bit_packed_array5.ads: Move dg directive to...
* gnat.dg/bit_packed_array5.adb: ...here.

From-SVN: r174338

13 years agore PR c++/42056 (ICE with invalid use of auto in template)
Paolo Carlini [Fri, 27 May 2011 14:21:33 +0000 (14:21 +0000)]
re PR c++/42056 (ICE with invalid use of auto in template)

/cp
2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/42056
* typeck2.c (build_functional_cast): Complain early for invalid uses
of 'auto' and set type to error_mark_node.

/testsuite
2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/42056
* testsuite/g++.dg/cpp0x/auto25.C: New.

From-SVN: r174337

13 years agosched-int.h (struct _haifa_deps_insn_data): New members cond and reverse_cond.
Bernd Schmidt [Fri, 27 May 2011 14:17:36 +0000 (14:17 +0000)]
sched-int.h (struct _haifa_deps_insn_data): New members cond and reverse_cond.

* sched-int.h (struct _haifa_deps_insn_data): New members cond
and reverse_cond.
(INSN_COND, INSN_REVERSE_COND): New macros.
* sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
once.
(sched_get_condition_with_rev): Cache the results, and look them up
if possible.
(sched_analyze_insn): Destroy INSN_COND of previous insns if they
are clobbered by the current insn.
* target.def (exposed_pipline): New sched data hook.
* doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
* doc/tm.texi: Regenerate.

From-SVN: r174336

13 years ago920711-1.x: Add -fwrapv.
Richard Guenther [Fri, 27 May 2011 14:13:02 +0000 (14:13 +0000)]
920711-1.x: Add -fwrapv.

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

* gcc.c-torture/execute/920711-1.x: Add -fwrapv.

From-SVN: r174335

13 years ago920612-1.x: Add -fwrapv.
Richard Guenther [Fri, 27 May 2011 14:01:29 +0000 (14:01 +0000)]
920612-1.x: Add -fwrapv.

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

* gcc.c-torture/execute/920612-1.x: Add -fwrapv.

From-SVN: r174334

13 years agoIndex...
Bill Schmidt [Fri, 27 May 2011 13:29:57 +0000 (13:29 +0000)]
Index...

Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog (revision 174330)
+++ gcc/ChangeLog (working copy)
@@ -1,3 +1,9 @@
+2011-05-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/49170
+ * tree-ssa-math-opts.c (execute_cse_sincos):  Add checks for
+ sincos or cexp.
+
 2011-05-27  Richard Guenther  <rguenther@suse.de>

  PR middle-end/49189
Index: gcc/tree-ssa-math-opts.c
===================================================================
--- gcc/tree-ssa-math-opts.c (revision 174330)
+++ gcc/tree-ssa-math-opts.c (working copy)
@@ -1093,6 +1093,10 @@ execute_cse_sincos (void)
  CASE_FLT_FN (BUILT_IN_COS):
  CASE_FLT_FN (BUILT_IN_SIN):
  CASE_FLT_FN (BUILT_IN_CEXPI):
+   /* Make sure we have either sincos or cexp.  */
+   if (!TARGET_HAS_SINCOS && !TARGET_C99_FUNCTIONS)
+     break;
+
    arg = gimple_call_arg (stmt, 0);
    if (TREE_CODE (arg) == SSA_NAME)
      cfg_changed |= execute_cse_sincos_1 (arg);

From-SVN: r174331

13 years agore PR middle-end/49189 (infinite recursion in constant folder)
Richard Guenther [Fri, 27 May 2011 13:13:28 +0000 (13:13 +0000)]
re PR middle-end/49189 (infinite recursion in constant folder)

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

PR middle-end/49189
* fold-const.c (fold_unary_loc): Do not re-fold folding conversions
of comparisons.

* gnat.dg/bit_packed_array5.adb: New testcase.
* gnat.dg/bit_packed_array5.ads: Likewise.

From-SVN: r174330

13 years agohaifa-sched.c (sched_scan_info): Remove.
Bernd Schmidt [Fri, 27 May 2011 10:47:48 +0000 (10:47 +0000)]
haifa-sched.c (sched_scan_info): Remove.

* haifa-sched.c (sched_scan_info): Remove.
(schedule_block): Call sched_extend_luids rather than sched_init_luids
with NULL args.
(extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
Remove functions.
(sched_scan): Remove.
(sched_extend_luids): Renamed from luids_extend_insn and no longer
static.  All callers changed.
(sched_init_insn_luid): Renamed from luids_init_insn and no longer
static.  All callers changed.
(sched_init_luids): Remove all arguments except the first.  All
callers changed.  Don't use sched_scan.
(haifa_init_h_i_d): Likewise.
(haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
manually rather than using sched_init_luids.  Likewise with
extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
* sel-sched.c (sel_region_target_finish): Call sched_extend_luids
rather than sched_init_luids with NULL args.
* sel-sched-ir.c (new_insns): Remove variable.
(sched_scan): New static function, previously in haifa-sched.c.  Remove
all arguments but the first two; all callers changed.
(sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
rather than sched_init_luids.
(sel_init_bbs): Remove second argument.  All callers changed.
(sel_add_bb): Call sched_extend_luids rather than sched_init_luids
with NULL arguments.
(create_insn_rtx_from_pattern): Likewise.
* sel-sched-ir.h (sel_init_bbs): Adjust declaration.
* sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
(sched_init_insn_luid, sched_extend_luids): Declare.
(sched_scan_info_def, sched_scan_info, sched_scan): Remove
declarations.

From-SVN: r174327

13 years agore PR middle-end/49177 (FAIL: gcc.dg/vect/fast-math-ifcvt-1.c)
Richard Biener [Fri, 27 May 2011 10:32:14 +0000 (10:32 +0000)]
re PR middle-end/49177 (FAIL: gcc.dg/vect/fast-math-ifcvt-1.c)

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

PR middle-end/49177
* fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
A CMP B ? (T) true : (T) false for non-integral types T again.

From-SVN: r174326

13 years agolto-streamer-out.c (lto_string_index): break out from...; offset by 1 so 0 means...
Jan Hubicka [Fri, 27 May 2011 09:57:40 +0000 (11:57 +0200)]
lto-streamer-out.c (lto_string_index): break out from...; offset by 1 so 0 means NULL string.

* lto-streamer-out.c (lto_string_index): break out from...; offset by 1
so 0 means NULL string.
(lto_output_string_with_length): ... here.
(lto_output_string, output_string_cst, output_identifier): Update handling
of NULL strings.
(lto_output_location_bitpack): New function.
(lto_output_location): Use it.
(lto_output_tree_ref): Use output_record_start.
(pack_ts_type_common_value_fields): Pack aliagn & alias set in var len values.
* lto-streamer-in.c (string_for_index): Break out from ...; offset values by 1.
(input_string_internal): ... here;
(input_string_cst, input_identifier, lto_input_string): Update handling of
NULL strings.
(lto_input_location_bitpack): New function
(lto_input_location): Use it.
(unpack_ts_type_common_value_fields): Pack align & alias in var len values.
* lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
(bp_pack_value): Sanity check the value range.
* lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
New functions.
* lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
New functions.

From-SVN: r174325

13 years agopicochip.c (reorder_var_tracking_notes): Drop call_arg_location instructions down...
Hariharan Sandanagobalane [Fri, 27 May 2011 08:27:23 +0000 (08:27 +0000)]
picochip.c (reorder_var_tracking_notes): Drop call_arg_location instructions down the floor.

        * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
        call_arg_location instructions down the floor.

From-SVN: r174322

13 years agore PR bootstrap/49173 (No rule to make target `../../../../work/libgcc/../gcc/libgcc...
Bernd Schmidt [Fri, 27 May 2011 07:53:51 +0000 (07:53 +0000)]
re PR bootstrap/49173 (No rule to make target `../../../../work/libgcc/../gcc/libgcc-std.ver', needed by `libgcc.map'.)

PR bootstrap/49173
* config/t-slibgcc-darwin (SHLIB_MAPFILES): Look for
libgcc-std.ver in the build directory.
* config/s390/t-linux (SHLIB_MAPFILES): Likewise.
* config/sh/t-linux (SHLIB_MAPFILES): Likewise.

From-SVN: r174321

13 years agore PR c++/47721 ([C++0x] Updated friendship rules?)
Jason Merrill [Fri, 27 May 2011 04:04:40 +0000 (00:04 -0400)]
re PR c++/47721 ([C++0x] Updated friendship rules?)

PR c++/47721
* parser.c (cp_parser_member_declaration): Allow friend T.
* friend.c (make_friend_class): Ignore non-classes.
* pt.c (instantiate_class_template_1): Handle TEMPLATE_TYPE_PARM.

From-SVN: r174319

13 years agoDR 1004
Jason Merrill [Fri, 27 May 2011 04:01:56 +0000 (00:01 -0400)]
DR 1004

DR 1004
* pt.c (convert_template_argument): Don't complain about using
injected-class-name as template template argument.

From-SVN: r174318

13 years agore PR c++/47956 ([C++0x] gcc accepts static data member declaration with initializer...
Jason Merrill [Fri, 27 May 2011 04:01:46 +0000 (00:01 -0400)]
re PR c++/47956 ([C++0x] gcc accepts static data member declaration with initializer for non-const literal type if type-specifier is auto)

PR c++/47956
* decl.c (check_static_variable_definition): Now static.
(cp_finish_decl): Call it here.
(grokdeclarator): Not here.
* pt.c (instantiate_class_template_1): Or here.
* cp-tree.h: Don't declare it.

From-SVN: r174317

13 years agoDaily bump.
GCC Administrator [Fri, 27 May 2011 00:17:38 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r174315

13 years ago* gcc.dg/march.c: Ignore a note for some targets.
Janis Johnson [Thu, 26 May 2011 22:22:17 +0000 (22:22 +0000)]
* gcc.dg/march.c: Ignore a note for some targets.

From-SVN: r174310

13 years agore PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressur...
Vladimir Makarov [Thu, 26 May 2011 21:01:57 +0000 (21:01 +0000)]
re PR rtl-optimization/49154 (build fails on cris-elf in libgcc: ICE in setup_pressure_classes, at ira.c:902)

2011-05-26  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/49154
* ira.c (setup_pressure_classes): Process class without sublcasses
as a candidate for pressure classes.

From-SVN: r174309

13 years agodetect C++ errors to fix 2288 and 18770
Janis Johnson [Thu, 26 May 2011 20:15:22 +0000 (20:15 +0000)]
detect C++ errors to fix 2288 and 18770

detect C++ errors to fix 2288 and 18770
gcc/cp/
PR c++/2288
PR c++/18770
* name-lookup.h (enum scope_kind): Add sk_cond.
* name-lookup.c (pushdecl_maybe_friend): Get scope of shadowed local.
Detect and report error for redeclaration from for-init or if
or switch condition.
(begin_scope): Handle sk_cond.
* semantics.c (begin_if_stmt): Use sk_cond.
(begin switch_stmt): Ditto.
gcc/testsuite/
PR c++/2288
PR c++/18770
* g++.old-deja/g++.jason/cond.C: Remove xfails.
* g++.dg/parse/pr18770.C: New test.
* g++.dg/cpp0x/range-for5.C: Add dg-error marker.

Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
From-SVN: r174307

13 years agore PR rtl-optimization/48575 (RTL vector patterns are limited to 26 elements)
Richard Sandiford [Thu, 26 May 2011 19:16:05 +0000 (19:16 +0000)]
re PR rtl-optimization/48575 (RTL vector patterns are limited to 26 elements)

gcc/
PR rtl-optimization/48575
* genrecog.c (position_type): New enum.
(position): New structure.
(decision): Use position structure instead of a string.
(root_pos, peep2_insn_pos_list): New variables.
(next_position, compare_positions): New functions.
(new_decision): Use position structures instead of strings.
(maybe_both_true): Likewise.
(change_state): Likewise.
(write_tree): Likewise.
(make_insn_sequence): Likewise.

From-SVN: r174305

13 years agore PR c++/48211 ([C++0x] Segment Fault When Compiling)
Jason Merrill [Thu, 26 May 2011 18:30:13 +0000 (14:30 -0400)]
re PR c++/48211 ([C++0x] Segment Fault When Compiling)

PR c++/48211
* name-lookup.h (cp_class_binding): Make base a pointer.
* name-lookup.c (new_class_binding): Adjust.
(poplevel_class): Adjust.

From-SVN: r174303

13 years ago[multiple changes]
Paul Thomas [Thu, 26 May 2011 18:19:36 +0000 (18:19 +0000)]
[multiple changes]

2011-05-26  Paul Thomas  <pault@gcc.gnu.org>
    Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48955
* trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
changed to GFC_ENABLE_REVERSE.
* trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
to GFC_INHIBIT_REVERSE.
* gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE,
GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
* dependency.c (gfc_dep_resolver): Change names for elements of
gfc_reverse as necessary. Change the logic so that forward
dependences are remembered as well as backward ones. When both
have appeared, force a temporary.

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

PR fortran/48955
* gfortran.dg/dependency_40.f90 : New test.

From-SVN: r174302

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

2011-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
        * trans-decl.c (has_coarray_vars, caf_init_block,
        gfor_fndecl_caf_register): New file-global variables.
        (gfc_finish_var_decl): Make sure that coarrays in main are static.
        (gfc_build_qualified_array): Generate coarray token variable.
        (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
        (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
        (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
        static coarrays.
        (generate_local_decl): Check for local coarrays.
        (create_main_function): SYNC ALL before calling MAIN.
        (generate_coarray_sym_init): Register static coarray.
        (generate_coarray_init): Generate CAF registering constructor
        function.
        (gfc_generate_function_code): Call it, if needed, do not create
        cgraph twice.
        (gfc_generate_module_vars, gfc_process_block_locals): Call
        generate_coarray_init.
        * trans-types.c (gfc_get_nodesc_array_type): Generate pointers
        * for
        -fcoarray=lib.
        * trans.h (gfor_fndecl_caf_register): New variable.
        (lang_type): New element caf_token.
        (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.

2011-05-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray/registering_1.f90: New.

From-SVN: r174301

13 years agomake TS_BLOCK a substructure of TS_BASE
Nathan Froyd [Thu, 26 May 2011 17:38:51 +0000 (17:38 +0000)]
make TS_BLOCK a substructure of TS_BASE

make TS_BLOCK a substructure of TS_BASE
gcc/
* tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
TS_BASE instead of TS_COMMON.
(find_decls_types_r): Check for TS_TYPED structure before looking at
TREE_TYPE.
* tree.h (struct tree_block): Inherit from tree_base, not tree_common.
Add chain field.
(BLOCK_CHAIN): Use new chain field.

gcc/c-family/
* c-common.c (warning_candidate_p): Check for BLOCKs.

gcc/java/
* decl.c (poplevel): Don't access TREE_TYPE of BLOCKs.
* expr.c (build_jni_stub): Likewise.

From-SVN: r174300

13 years agolto.c (uniquify_nodes): Fix bug in one of the previous changes.
Richard Guenther [Thu, 26 May 2011 15:53:23 +0000 (15:53 +0000)]
lto.c (uniquify_nodes): Fix bug in one of the previous changes.

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

lto/
* lto.c (uniquify_nodes): Fix bug in one of the previous changes.

From-SVN: r174296

13 years agolist.cc: Use noexcept per the FDIS.
Paolo Carlini [Thu, 26 May 2011 15:35:02 +0000 (15:35 +0000)]
list.cc: Use noexcept per the FDIS.

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

* src/list.cc: Use noexcept per the FDIS.
* src/compatibility-list-2.cc: Likewise.
* include/debug/set.h: Likewise.
* include/debug/unordered_map: Likewise.
* include/debug/multiset.h: Likewise.
* include/debug/forward_list: Likewise.
* include/debug/unordered_set: Likewise.
* include/debug/vector: Likewise.
* include/debug/map.h: Likewise.
* include/debug/deque: Likewise.
* include/debug/list: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/unordered_map: Likewise.
* include/profile/multiset.h: Likewise.
* include/profile/forward_list: Likewise.
* include/profile/vector: Likewise.
* include/profile/unordered_set: Likewise.
* include/profile/map.h: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/multimap.h: Likewise.
* include/bits/hashtable.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/hashtable_policy.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/forward_list.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_tree.h: Likewise.

From-SVN: r174295

13 years agors6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 also.
Pat Haugen [Thu, 26 May 2011 15:09:31 +0000 (15:09 +0000)]
rs6000.c (rs6000_register_move_cost): Make LR/CTR moves expensive on Power7 also.

        * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
        moves expensive on Power7 also.

From-SVN: r174292

13 years agofold-const.c (fold_unary_loc): Remove bogus code.
Richard Guenther [Thu, 26 May 2011 13:54:23 +0000 (13:54 +0000)]
fold-const.c (fold_unary_loc): Remove bogus code.

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

* fold-const.c (fold_unary_loc): Remove bogus code.

From-SVN: r174290