platform/upstream/gcc.git
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

12 years agore PR target/51354 (ICE in maybe_record_trace_start)
Jakub Jelinek [Tue, 6 Dec 2011 17:15:11 +0000 (18:15 +0100)]
re PR target/51354 (ICE in maybe_record_trace_start)

PR target/51354
* config/i386/i386.c (ix86_emit_leave): Call ix86_add_cfa_restore_note
unconditionally.

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

From-SVN: r182056

12 years agore PR c++/51431 (ICE with invalid use of abstract class)
Paolo Carlini [Tue, 6 Dec 2011 17:12:17 +0000 (17:12 +0000)]
re PR c++/51431 (ICE with invalid use of abstract class)

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

PR c++/51431
* init.c (build_value_init): Check build_aggr_init_expr return
value for error_mark_node.

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

PR c++/51431
* g++.dg/other/abstract3.C: New.

From-SVN: r182055

12 years agore PR libstdc++/51183 (pair piecewise_construct_t constructor copies)
Jonathan Wakely [Tue, 6 Dec 2011 15:13:04 +0000 (15:13 +0000)]
re PR libstdc++/51183 (pair piecewise_construct_t constructor copies)

2011-12-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
    Chris Jefferson  <chris@bubblescope.net>

PR libstdc++/51183
* include/std/stl_pair.h (pair<>::__cons, pair<>::__do_cons): Remove.
(pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Only declare.
(pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
Declare.
* include/std/tuple (pair<>::__cons, pair<>::__do_cons): Remove.
(pair<>::pair(tuple<>&, tuple<>&, _Index_tuple<>, _Index_tuple<>)):
Define.
(pair<>::pair(piecewise_construct_t, tuple<>, tuple<>): Define,
delegating to the latter.
* testsuite/20_util/pair/piecewise2.cc: New.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r182054

12 years agoavr-mcus.def (avr_mcu_types): ATtiny4313 and AT86RF401 have a 16-bit SP (their manual...
Georg-Johann Lay [Tue, 6 Dec 2011 15:08:39 +0000 (15:08 +0000)]
avr-mcus.def (avr_mcu_types): ATtiny4313 and AT86RF401 have a 16-bit SP (their manual is bogus).

* config/avr/avr-mcus.def (avr_mcu_types): ATtiny4313 and
AT86RF401 have a 16-bit SP (their manual is bogus).
Forward-port from gcc-4_6-branch r181936 2011-12-02.

From-SVN: r182053

12 years agoForward-port from gcc-4_6-branch r181936 2011-12-02.
Georg-Johann Lay [Tue, 6 Dec 2011 15:04:09 +0000 (15:04 +0000)]
Forward-port from gcc-4_6-branch r181936 2011-12-02.

libgcc/
Forward-port from gcc-4_6-branch r181936 2011-12-02.

PR target/51345
PR target/51002
* config/avr/lib1funcs.S (__prologue_saves__,
__epilogue_restores__, __divdi3_moddi3): Enclose parts using
__SP_H__ in !defined (__AVR_HAVE_8BIT_SP__).  Add FIXME comments.

gcc/
Forward-port from gcc-4_6-branch r181936 2011-12-02.

PR target/51002
* config/avr/avr.md (movhi_sp_r): Set insn condition to
!AVR_HAVE_8BIT_SP.
* config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in
%B0,__SP_H__" if AVR_HAVE_8BIT_SP.
(avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.

From-SVN: r182052

12 years agore PR target/51409 ([avr] Build fails if configured for other languages than from...
Georg-Johann Lay [Tue, 6 Dec 2011 14:39:25 +0000 (14:39 +0000)]
re PR target/51409 ([avr] Build fails if configured for other languages than from c-family)

PR target/51409
PR target/49868
* config/avr/avr.h (ADDR_SPACE_PGM, ADDR_SPACE_PGM1,
ADDR_SPACE_PGM2, ADDR_SPACE_PGM3, ADDR_SPACE_PGM4,
ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): Write as enum.
(avr_addrspace_t): New typedef.
(avr_addrspace): New declaration.
* config/avr/avr-c.c (avr_toupper): New static function.
(avr_register_target_pragmas, avr_cpu_cpp_builtins): Use
avr_addrspace to get address space information.
* config/avr/avr.c (avr_addrspace): New variable.
(avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes,
avr_asm_named_section, avr_section_type_flags,
avr_asm_select_section, avr_addr_space_address_mode,
avr_addr_space_convert, avr_emit_movmemhi): Use it.
(avr_addr_space_pointer_mode): Forward to avr_addr_space_address_mode.
(avr_pgm_segment): Remove.

From-SVN: r182051

12 years agore PR libgomp/51132 (FAIL: libgomp.graphite/force-parallel-[678].c)
Jakub Jelinek [Tue, 6 Dec 2011 14:32:54 +0000 (15:32 +0100)]
re PR libgomp/51132 (FAIL:  libgomp.graphite/force-parallel-[678].c)

PR libgomp/51132
* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
to file scope.
* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.

From-SVN: r182050

12 years agore PR tree-optimization/49997 (ICE in inline_small_functions with -fnon-call-exceptions)
Richard Guenther [Tue, 6 Dec 2011 13:45:19 +0000 (13:45 +0000)]
re PR tree-optimization/49997 (ICE in inline_small_functions with -fnon-call-exceptions)

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

PR tree-optimization/49997
* gcc.dg/torture/pr49997.c: New testcase.

From-SVN: r182049

12 years agore PR lto/50601 (New LTO failures)
Richard Guenther [Tue, 6 Dec 2011 13:26:09 +0000 (13:26 +0000)]
re PR lto/50601 (New LTO failures)

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

PR middle-end/50601
* varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
quirk adjustjment ...
* passes.c (rest_of_decl_compilation): ... here.

From-SVN: r182048

12 years agore PR middle-end/51436 (ICE(segfault) in gimplify_and_update_call_from_tree gimple...
Richard Guenther [Tue, 6 Dec 2011 12:17:31 +0000 (12:17 +0000)]
re PR middle-end/51436 (ICE(segfault) in gimplify_and_update_call_from_tree gimple-fold.c:603)

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

PR middle-end/51436
* gimple-fold.c (gimplify_and_update_call_from_tree): Guard
vdef check for the fact we do not have virtual operands when
not optimizing.

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

From-SVN: r182045

12 years agore PR tree-optimization/51245 (ICE in vn_reference_insert_pieces, at tree-ssa-sccvn...
Richard Guenther [Tue, 6 Dec 2011 11:41:00 +0000 (11:41 +0000)]
re PR tree-optimization/51245 (ICE in vn_reference_insert_pieces, at tree-ssa-sccvn.c:1983)

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

PR tree-optimization/51245
* tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
New function.
(vn_reference_lookup_3): Use it.  Properly valueize all refs
we create.

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

From-SVN: r182044

12 years agoPR c++/51427 - Better diagnostic when union/struct tags conflicts
Dodji Seketeli [Tue, 6 Dec 2011 10:06:49 +0000 (10:06 +0000)]
PR c++/51427 - Better diagnostic when union/struct tags conflicts

gcc/cp/

PR c++/51427
* parser.c (cp_parser_check_class_key): Add note about earlier
declaration.

gcc/testsuite/

PR c++/51427
* g++.dg/diagnostic/wrong-tag-1.C

From-SVN: r182043

12 years agors6000.c (darwin_rs6000_override_options): Initialize rs6000_current_abi.
Iain Sandoe [Tue, 6 Dec 2011 09:52:11 +0000 (09:52 +0000)]
rs6000.c (darwin_rs6000_override_options): Initialize rs6000_current_abi.

gcc:

* config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
rs6000_current_abi.

From-SVN: r182042

12 years agore PR tree-optimization/51363 (ICE: in gimple_rhs_has_side_effects, at gimple.c:2530...
Richard Guenther [Tue, 6 Dec 2011 09:02:17 +0000 (09:02 +0000)]
re PR tree-optimization/51363 (ICE: in gimple_rhs_has_side_effects, at gimple.c:2530 with -O -fno-tree-ccp)

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

PR tree-optimization/51363
* gimple.c (gimple_rhs_has_side_effects): Remove.
* gimple.h (gimple_rhs_has_side_effects): Likewise.
* tree-ssa-dom.c (optimize_stmt): Simplify conditional.

From-SVN: r182041

12 years agore PR target/50906 (e500 exception unwinding under "-Os" causes SIGSEGV)
Alan Modra [Tue, 6 Dec 2011 03:41:44 +0000 (14:11 +1030)]
re PR target/50906 (e500 exception unwinding under "-Os" causes SIGSEGV)

PR target/50906
* config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
Do not mark r11 setup as frame-related.  Pass correct offset to
rs6000_emit_savres_rtx.  Correct out-of-line rs6000_frame_related
arguments.  Correct sp_offset.  Remove "offset" fudge from
in-line rs6000_frame_related call.  Rename misleading variable.
Fix comments and whitespace.  Tidy some expressions.
(rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
to r11 in out-of-line case.  Correct sp_offset.  Pass correct
offset to rs6000_emit_savres_rtx.  Rename misleading variable.
Fix comments and whitespace.  Tidy some expressions.
(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
adjustment when !saving_GPRs_inline.  Correct register mode
used in address calcs.
(rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
!restoring_GPRs_inline.

From-SVN: r182039

12 years agoFix formatting character for vmov.f64 case.
Ramana Radhakrishnan [Tue, 6 Dec 2011 01:03:04 +0000 (01:03 +0000)]
Fix formatting character for vmov.f64 case.

From-SVN: r182038

12 years agoDaily bump.
GCC Administrator [Tue, 6 Dec 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182037

12 years agoFix earlier Changelog entry to match the
Ramana Radhakrishnan [Mon, 5 Dec 2011 23:56:25 +0000 (23:56 +0000)]
Fix earlier Changelog entry to match the
commit.

From-SVN: r182033

12 years agoinitializer_list: Do not declare anything if __GXX_EXPERIMENTAL_CXX0X__ is not defined.
Paolo Carlini [Mon, 5 Dec 2011 23:16:16 +0000 (23:16 +0000)]
initializer_list: Do not declare anything if __GXX_EXPERIMENTAL_CXX0X__ is not defined.

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

* libsupc++/initializer_list: Do not declare anything if
__GXX_EXPERIMENTAL_CXX0X__ is not defined.

From-SVN: r182031

12 years agoFix cp/ChangeLog
Fabien Chêne [Mon, 5 Dec 2011 22:07:06 +0000 (23:07 +0100)]
Fix cp/ChangeLog

From-SVN: r182030

12 years agore PR c++/51319 (Eigen3 enums not accepted)
Fabien Chêne [Mon, 5 Dec 2011 22:04:40 +0000 (23:04 +0100)]
re PR c++/51319 (Eigen3 enums not accepted)

gcc/testsuite/ChangeLog

2011-12-05  Fabien Chene  <fabien@gcc.gnu.org>

PR c++/51319
* g++.dg/lookup/using50.C: New.
* g++.dg/lookup/using51.C: New.

gcc/cp/ChangeLog

2011-12-05  Fabien Chene  <fabien@gcc.gnu.org>

PR c++/51319
* semantics.c (finish_id_expression): Strip using declarations
early in the function.

From-SVN: r182029

12 years agore PR tree-optimization/51396 (ICE: verify_flow_info failed: BB 4 can not throw but...
Jakub Jelinek [Mon, 5 Dec 2011 20:56:14 +0000 (21:56 +0100)]
re PR tree-optimization/51396 (ICE: verify_flow_info failed: BB 4 can not throw but has an EH edge with -O2 -fnon-call-exceptions -mfma4)

PR tree-optimization/51396
* tree-ssa-math-opts.c (convert_mult_to_fma): Don't optimize
if MUL_RESULT has zero uses.

* g++.dg/opt/pr51396.C: New test.

From-SVN: r182028

12 years agore PR debug/51410 (duplicate variable DIE)
Jakub Jelinek [Mon, 5 Dec 2011 20:51:07 +0000 (21:51 +0100)]
re PR debug/51410 (duplicate variable DIE)

PR debug/51410
* c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
for debug info if scope is file_scope.

* gcc.dg/debug/dwarf2/pr51410.c: New test.

From-SVN: r182027

12 years agore PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for)
Jakub Jelinek [Mon, 5 Dec 2011 20:49:38 +0000 (21:49 +0100)]
re PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for)

PR c/51339
* c-decl.c (c_finish_incomplete_decl, finish_decl): Call
relayout_decl instead of layout_decl.

* gcc.dg/gomp/pr51339.c: New test.

From-SVN: r182026

12 years agore PR c++/51399 ([c++0x] [4.7 Regression] ICE with invalid initializer list)
Paolo Carlini [Mon, 5 Dec 2011 20:44:50 +0000 (20:44 +0000)]
re PR c++/51399 ([c++0x] [4.7 Regression] ICE with invalid initializer list)

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

PR c++/51399
* init.c (perform_member_init): Early return if init is error_mark_node.

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

PR c++/51399
* g++.dg/cpp0x/initlist62.C: New.

From-SVN: r182025

12 years agore PR fortran/51338 (seg fault in gfc_dep_compare_expr with -O2)
Thomas Koenig [Mon, 5 Dec 2011 20:11:44 +0000 (20:11 +0000)]
re PR fortran/51338 (seg fault in gfc_dep_compare_expr with -O2)

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

PR fortran/51338
* dependency.c (are_identical_variables):  Handle case where
end fields of substring references are NULL.

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

PR fortran/51338
* gfortran.dg/assumed_charlen_substring_1.f90:  New test.

From-SVN: r182024

12 years agoresource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is in epilogue.
Richard Sandiford [Mon, 5 Dec 2011 19:32:16 +0000 (19:32 +0000)]
resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is in epilogue.

gcc/
* resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK
if there is in epilogue.

From-SVN: r182023

12 years agooptabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target to emit_library_call...
Richard Sandiford [Mon, 5 Dec 2011 19:24:53 +0000 (19:24 +0000)]
optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target to emit_library_call_value.

gcc/
* optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target
to emit_library_call_value.
(expand_atomic_compare_and_swap): Likewise.

From-SVN: r182021

12 years agopr46338.C: Add dg-require-profiling.
Richard Sandiford [Mon, 5 Dec 2011 19:24:30 +0000 (19:24 +0000)]
pr46338.C: Add dg-require-profiling.

gcc/testsuite/
* g++.dg/debug/pr46338.C: Add dg-require-profiling.
* g++.dg/torture/pr39732.C: Likewise.
* g++.dg/torture/pr40642.C: Likewise.
* gcc.c-torture/compile/pr44686.c: Likewise.
* gcc.dg/20050309-1.c: Likewise.
* gcc.dg/20050330-2.c: Likewise.
* gcc.dg/20051201-1.c: Likewise.
* gcc.dg/gomp/pr27573.c: Likewise.
* gcc.dg/pr46255.c: Likewise.
* gcc.dg/profile-dir-1.c: Likewise.
* gcc.dg/profile-dir-2.c: Likewise.
* gcc.dg/profile-dir-3.c: Likewise.
* gcc.dg/profile-generate-1.c: Likewise.
* gfortran.dg/gomp/pr27573.f90: Likewise.
* gcc.dg/profile-generate-3.c: Be specific about the type of
profiling required.

From-SVN: r182020

12 years agore PR c++/51414 (Broken diagnostic with invalid use of __underlying_type)
Paolo Carlini [Mon, 5 Dec 2011 18:21:18 +0000 (18:21 +0000)]
re PR c++/51414 (Broken diagnostic with invalid use of __underlying_type)

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

PR c++/51414
* semantics.c (finish_underlying_type): Use %qT, not %qE for the
error message.

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

PR c++/51414
* g++.dg/ext/underlying_type11.C: New.

From-SVN: r182017

12 years agore PR testsuite/51128 (New LTO failures)
Uros Bizjak [Mon, 5 Dec 2011 17:59:32 +0000 (18:59 +0100)]
re PR testsuite/51128 (New LTO failures)

PR testsuite/51128
* gcc.dg/torture/pr23821.c: Skip if -fno-fat-lto-objects was passed.
* gcc.dg/torture/pr39074.c: Ditto.
* gcc.dg/torture/pr39074-2.c: Ditto.
* gcc.dg/torture/pr42898.c: Ditto.
* gcc.dg/torture/pr42898-2.c: Ditto.
* gcc.dg/torture/pr45704.c: Ditto.
* gcc.dg/torture/pr50472.c: Ditto.
* gcc.dg/torture/pta-callused-1.c: Ditto.
* gcc.dg/torture/pta-ptrarith-1.c: Ditto.
* gcc.dg/torture/pta-ptrarith-2.c: Ditto.
* gcc.dg/torture/pta-ptrarith-3.c: Ditto.
* gcc.dg/torture/pta-escape-1.c: Ditto.
* gcc.dg/torture/ipa-pta-1.c: Ditto.
* gcc.dg/torture/ssa-pta-fn-1.c: Ditto.

From-SVN: r182016

12 years agore PR other/50775 (Register allocator sets up frame and frame pointer with low regist...
Vladimir Makarov [Mon, 5 Dec 2011 17:02:54 +0000 (17:02 +0000)]
re PR other/50775 (Register allocator sets up frame and frame pointer with low register pressure)

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

PR other/50775
* ira-int.h (struct ira_object): Remove add_data.
(OBJECT_ADD_DATA): Remove.

* ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA
initialization.

* ira-color.c (object_hard_regs_t, object_hard_regs): Rename to
allocno_hard_regs_t, allocno_hard_regs.
(object_hard_regs_node_t, object_hard_regs_node): Rename to
allocno_hard_regs_node_t and allocno_hard_regs_node.
(struct allocno_color_data): Add new member last_process.  Move
profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start
from object_color_data.
(object_color_data_t, object_color_data, OBJECT_COLOR_DATA):
Remove.
(curr_allocno_process): New static variable.
(object_hard_regs_eq, object_hard_regs_htab): Rename to
allocno_hard_regs_eq and allocno_hard_regs_htab.
(init_object_hard_regs, finish_object_hard_regs): Rename to
init_allocno_hard_regs and finish_allocno_hard_regs.
(object_hard_regs_compare, object_hard_regs_node_t): Rename to
allocno_hard_regs_compare and allocno_hard_regs_node_t.
(create_new_object_hard_regs_node): Rename to
create_new_allocno_hard_regs_node.
(add_new_object_hard_regs_node_to_forest): Rename to
add_new_allocno_hard_regs_node_to_forest.
(add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
Rename to add_allocno_hard_regs_to_forest and collect_allocno_hard_regs_cover.
(setup_object_hard_regs_nodes_parent): Rename to setup_allocno_hard_regs_nodes_parent.
(remove_unused_object_hard_regs_nodes): Rename to remove_unused_allocno_hard_regs_nodes.
(enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num):
Rename to enumerate_allocno_hard_regs_nodes and allocno_hard_regs_nodes_num.
(object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to
allocno_hard_regs_nodes and allocno_hard_regs_subnode_t.
(object_hard_regs_subnode, object_hard_regs_subnodes): Rename to
allocno_hard_regs_subnode and allocno_hard_regs_subnodes.
(object_hard_regs_subnode_index): Rename to allocno_hard_regs_subnode_index.
(setup_object_hard_regs_subnode_index): Rename to
setup_allocno_hard_regs_subnode_index.
(get_object_hard_regs_subnodes_num): Rename to get_allocno_hard_regs_subnodes_num.
(form_object_hard_regs_nodes_forest): Rename to form_allocno_hard_regs_nodes_forest.
(finish_object_hard_regs_nodes_tree): Rename to form_allocno_hard_regs_nodes_forest
(finish_object_hard_regs_nodes_forest): Rename to
finish_allocno_hard_regs_nodes_forest.
(setup_left_conflict_sizes_p): Use allocno data instead of object
ones.  Process conflict allocnos once.
(update_left_conflict_sizes_p): Use allocno data instead of object
ones.  Change prototype signature.
(empty_profitable_hard_regs): Use allocno data instead of object
ones.
(setup_profitable_hard_regs): Ditto.
(get_conflict_profitable_regs): Rename to
get_conflict_and_start_profitable_regs.  Use allocno data for
profitable regs calculation.
(check_hard_reg_p): Change prototype signature.  Check profitable
regs for allocno not the objects.
(assign_hard_reg): Process conflict allocnos only once for
updating conflict costs.
(setup_allocno_available_regs_num): Use allocno data instead of
object ones.  Modify debug output.
(color_pass): Remove initialization and finalization of object
color data.

From-SVN: r182015

12 years agore PR target/51408 (Miscompilation in arm.md:*minmax_arithsi)
Kazu Hirata [Mon, 5 Dec 2011 16:11:35 +0000 (16:11 +0000)]
re PR target/51408 (Miscompilation in arm.md:*minmax_arithsi)

gcc/
PR target/51408
* config/arm/arm.md (*minmax_arithsi): Always require the else
clause in the MINUS case.

gcc/testsuite/
PR target/51408
* gcc.dg/pr51408.c: New.

From-SVN: r182014

12 years ago* init.c (expand_default_init): Unshare args in ctor delegation.
Jason Merrill [Mon, 5 Dec 2011 15:49:34 +0000 (10:49 -0500)]
* init.c (expand_default_init): Unshare args in ctor delegation.

From-SVN: r182013

12 years agoImplement C++11 delegating constructors.
Ville Voutilainen [Mon, 5 Dec 2011 15:49:25 +0000 (17:49 +0200)]
Implement C++11 delegating constructors.

* cp-tree.h (enum cpp0x_warn_str): Add CPP0X_DELEGATING_CTORS.
* error.c (maybe_warn_cpp0x): Adjust.
* parser.c (cp_parser_mem_initializer_list): Use it.  Diagnose
multiple initializers if a delegating initializer is present.
* call.c (build_special_member_call): Convert an assert into an if.
* init.c (perform_target_ctor): New.
(emit_mem_initializers): Use it.
(expand_member_init, expand_default_init): Adjust.

Co-Authored-By: Pedro Lamarão <pedro.lamarao@gmail.com>
From-SVN: r182012

12 years agore PR c++/51404 ([c++0x] [4.7 Regression] ICE with invalid use of auto)
Paolo Carlini [Mon, 5 Dec 2011 15:46:30 +0000 (15:46 +0000)]
re PR c++/51404 ([c++0x] [4.7 Regression] ICE with invalid use of auto)

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

PR c++/51404
* typeck2.c (build_functional_cast): Early return error_mark_node
for invalid uses of 'auto'.
* parser.c (cp_parser_direct_declarator): When
cp_parser_constant_expression returns error do not produce further
diagnostic for the bound.

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

PR c++/51404
* g++.dg/cpp0x/auto28.C: New.

From-SVN: r182011

12 years agore PR tree-optimization/50904 (pessimization when -fno-protect-parens is enabled...
Richard Guenther [Mon, 5 Dec 2011 14:36:44 +0000 (14:36 +0000)]
re PR tree-optimization/50904 (pessimization when -fno-protect-parens is enabled by -Ofast)

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

PR tree-optimization/50904
* tree-ssa-loop-im.c (struct mem_ref): Remove vops member.
(MEM_ANALYZABLE): New.
(memory_references): Remove clobbered_vops and vop_ref_map
members, add all_refs_stored_in_loop member.
(memref_free): Adjust.
(mem_ref_alloc): Likewise.
(gather_mem_refs_stmt): Do not record clobbers, instead
record refs for unanalyzable stmts.
(gather_mem_refs_in_loops): Do not propagate clobbers.
(struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free,
record_vop_access, get_vop_accesses, get_vop_stores,
add_vop_ref_mapping): Remove.
(create_vop_ref_mapping_loop): Adjust to simply record all
stores.
(analyze_memory_references): Adjust.
(refs_independent_p): Check for not analyzable refs.
(can_sm_ref_p): Likewise.
(ref_indep_loop_p_1): Simplify.
(tree_ssa_lim_finalize): Adjust.

* tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE
rather than magic constants.  Assign zero cost to PAREN_EXPR
and SSA_NAME copies.  Assign cost proportional to the vector
size for vector constructors.

From-SVN: r182010

12 years agotree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
Richard Guenther [Mon, 5 Dec 2011 14:31:44 +0000 (14:31 +0000)]
tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.

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

* tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
* tree-ssa-alias.c (ao_ref_init): Initialize it.
(ao_ref_init_from_ptr_and_size): Likewise.
(refs_may_alias_p_1): Two volatile accesses conflict.
(ref_maybe_used_by_call_p_1): Likewise.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Initialize
volatile_p field.

From-SVN: r182009

12 years ago* gcc/testsuite/gcc.dg/torture/vec-cvt-1.c (FLTTEST): Call rand instead of random.
Matthew Gretton-Dann [Mon, 5 Dec 2011 12:02:22 +0000 (12:02 +0000)]
* gcc/testsuite/gcc.dg/torture/vec-cvt-1.c (FLTTEST): Call rand instead of random.

From-SVN: r182008

12 years agotree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA names.
Richard Guenther [Mon, 5 Dec 2011 11:05:24 +0000 (11:05 +0000)]
tree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA names.

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

* tree-ssa.c (verify_ssa): Verify SSA names in the loop
over all SSA names.  Remove SSA operand checking, call
verify_ssa_operands.
* tree-ssa-operands.h (verify_ssa_operands): Declare.
* tree-ssa-operands.c (verify_ssa_operands): New function.

From-SVN: r182007

12 years ago[multiple changes]
Arnaud Charlet [Mon, 5 Dec 2011 10:44:58 +0000 (11:44 +0100)]
[multiple changes]

2011-12-05  Bob Duff  <duff@adacore.com>

* sem_ch4.adb: Minor comment fix.

2011-12-05  Robert Dewar  <dewar@adacore.com>

* gnat_ugn.texi: Add documentation for -gnatw.e.

2011-12-05  Bob Duff  <duff@adacore.com>

* treepr.adb (pn): Print something useful for
Elmt_Ids. Add Write_Eol to 'when others' case, so the output
will be seen immediately in gdb.

2011-12-05  Ed Schonberg  <schonberg@adacore.com>

* lib-writ.adb (Output_Main_Program_Line): A generic subprogram
is never a main program.

2011-12-05  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb: Various minor adjustments to dominance markers
generation.

2011-12-05  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Expression_Function): If the function is
a completion, generate a body reference for its defining entity,
before rewriting the node as a body.
* sem_util.adb (Defining_Entity): Add entry for expression
function.

From-SVN: r182006

12 years agoUse vcvt from fixed to floating point where applicable.
Ramana Radhakrishnan [Mon, 5 Dec 2011 10:42:53 +0000 (10:42 +0000)]
Use vcvt from fixed to floating point where applicable.

2011-12-05  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

         * config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
         * config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
         * config/arm/constraints.md ("Dt"): New constraint.
         * config/arm/predicates.md (const_double_vcvt_power_of_two_reciprocal):
          New.
         * config/arm/vfp.md (*arm_combine_vcvt_f32_s32): New.
         (*arm_combine_vcvt_f32_u32): New.

From-SVN: r182005

12 years ago[multiple changes]
Arnaud Charlet [Mon, 5 Dec 2011 10:31:58 +0000 (11:31 +0100)]
[multiple changes]

2011-12-05  Bob Duff  <duff@adacore.com>

* sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
to the Comes_From_Source check, to deal properly with the case
of indirect inheritance of "=".

2011-12-05  Thomas Quinot  <quinot@adacore.com>

PR ada/51307
* s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
not a macro.

2011-12-05  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
information in SCOs.

From-SVN: r182004