GCC Administrator [Sat, 10 Dec 2011 00:19:08 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r182183
Aldy Hernandez [Fri, 9 Dec 2011 22:05:26 +0000 (22:05 +0000)]
tree.c (build_common_builtin_nodes): Do not use TM_PURE attribute unless language has support for TM.
PR/51291
* tree.c (build_common_builtin_nodes): Do not use TM_PURE
attribute unless language has support for TM.
* config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
the absence of TM builtins.
From-SVN: r182179
Eric Botcazou [Fri, 9 Dec 2011 21:11:21 +0000 (21:11 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Also check the TYPE_MODE to recognize useless pointer conversions.
* gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
Also check the TYPE_MODE to recognize useless pointer conversions.
From-SVN: r182178
Jakub Jelinek [Fri, 9 Dec 2011 20:50:40 +0000 (21:50 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)
PR tree-optimization/51117
* tree-eh.c (optimize_clobbers): Don't remove just one
clobber, but all consecutive clobbers before RESX.
Use gimple_clobber_p predicate.
From-SVN: r182177
Jason Merrill [Fri, 9 Dec 2011 20:18:22 +0000 (15:18 -0500)]
re PR c++/51151 (Invalid -Woverflow warning in C++ frontend)
PR c++/51151
* call.c (perform_implicit_conversion_flags): Remove earlier kludge.
* parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
in templates even if decl isn't type-dependent.
From-SVN: r182175
François Dumont [Fri, 9 Dec 2011 20:01:04 +0000 (20:01 +0000)]
hashtable.h (_Hashtable<>::emplace, [...]): Add.
2011-12-09 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable.h (_Hashtable<>::emplace,
_Hashtable<>::emplace_hint): Add.
* include/debug/unordered_set (unordered_set<>::emplace,
unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
unordered_multiset<>::emplace_hint): Add.
* include/profile/unordered_set: Likewise.
* include/debug/unordered_map (unordered_map<>::emplace,
unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
unordered_multimap<>::emplace_hint): Add.
* include/profile/unordered_map: Likewise.
* testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
* testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
New.
* testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
* testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
New.
* testsuite/util/testsuite_container_traits.h
(traits_base::has_emplace): Add and defined as std::true_type for
unordered containers.
* testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
use them in basic_safety exception test case.
* doc/xml/manual/status_cxx2011.xml: Update unordered containers
status.
From-SVN: r182174
Dodji Seketeli [Fri, 9 Dec 2011 18:12:45 +0000 (18:12 +0000)]
PR c++/51289 - ICE with alias template for bound template template parm
gcc/cp/
PR c++/51289
* cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
better support aliased types.
(TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
TYPE_DECL.
* pt.c (find_parameter_packs_r): Handle types aliases.
(push_template_decl_real): Check for bare parameter packs in the
underlying type of an alias template.
gcc/PR51289/gcc/testsuite/
PR c++/51289
* g++.dg/cpp0x/alias-decl-17.C: New test.
From-SVN: r182170
Michael Meissner [Fri, 9 Dec 2011 17:10:27 +0000 (17:10 +0000)]
Fix PR51469 (attr-ifunc fails on ppc); Make #pragma GCC target ("...") change macros on PPC
From-SVN: r182169
Ian Lance Taylor [Fri, 9 Dec 2011 16:46:44 +0000 (16:46 +0000)]
syslog: Fix name of C syslog function.
From Rainer Orth.
From-SVN: r182168
Ian Lance Taylor [Fri, 9 Dec 2011 16:42:40 +0000 (16:42 +0000)]
runtime: make print() built-in write to stderr.
Fixes issue 2294.
From-SVN: r182167
H.J. Lu [Fri, 9 Dec 2011 15:59:51 +0000 (15:59 +0000)]
Restore errors.o dependency
2011-12-09 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/51479
* Makefile.in (errors.o): Restored.
From-SVN: r182166
Michael Zolotukhin [Fri, 9 Dec 2011 15:21:08 +0000 (15:21 +0000)]
slp-13.c: Increase array size, add initialization.
* gcc.dg/vect/slp-13.c: Increase array size, add initialization.
* gcc.dg/vect/slp-24.c: Ditto.
* gcc.dg/vect/slp-3.c: Likewise and fix scans.
* gcc.dg/vect/slp-34.c: Ditto.
* gcc.dg/vect/slp-4.c: Ditto.
* gcc.dg/vect/slp-cond-2.c: Ditto.
* gcc.dg/vect/slp-multitypes-11.c: Ditto.
* gcc.dg/vect/vect-1.c: Ditto.
* gcc.dg/vect/vect-10.c: Ditto.
* gcc.dg/vect/vect-105.c: Ditto.
* gcc.dg/vect/vect-112.c: Ditto.
* gcc.dg/vect/vect-15.c: Ditto.
* gcc.dg/vect/vect-2.c: Ditto.
* gcc.dg/vect/vect-31.c: Ditto.
* gcc.dg/vect/vect-32.c: Ditto.
* gcc.dg/vect/vect-33.c: Ditto.
* gcc.dg/vect/vect-34.c: Ditto.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-36.c: Ditto.
* gcc.dg/vect/vect-6.c: Ditto.
* gcc.dg/vect/vect-73.c: Ditto.
* gcc.dg/vect/vect-74.c: Ditto.
* gcc.dg/vect/vect-75.c: Ditto.
* gcc.dg/vect/vect-76.c: Ditto.
* gcc.dg/vect/vect-80.c: Ditto.
* gcc.dg/vect/vect-85.c: Ditto.
* gcc.dg/vect/vect-89.c: Ditto.
* gcc.dg/vect/vect-97.c: Ditto.
* gcc.dg/vect/vect-98.c: Ditto.
* gcc.dg/vect/vect-all.c: Ditto.
* gcc.dg/vect/vect-double-reduc-6.c: Ditto.
* gcc.dg/vect/vect-iv-8.c: Ditto.
* gcc.dg/vect/vect-iv-8a.c: Ditto.
* gcc.dg/vect/vect-outer-1.c: Ditto.
* gcc.dg/vect/vect-outer-1a.c: Ditto.
* gcc.dg/vect/vect-outer-1b.c: Ditto.
* gcc.dg/vect/vect-outer-2.c: Ditto.
* gcc.dg/vect/vect-outer-2a.c: Ditto.
* gcc.dg/vect/vect-outer-2c.c: Ditto.
* gcc.dg/vect/vect-outer-3.c: Ditto.
* gcc.dg/vect/vect-outer-3a.c: Ditto.
* gcc.dg/vect/vect-outer-4a.c: Ditto.
* gcc.dg/vect/vect-outer-4b.c: Ditto.
* gcc.dg/vect/vect-outer-4c.c: Ditto.
* gcc.dg/vect/vect-outer-4d.c: Ditto.
* gcc.dg/vect/vect-outer-4m.c: Ditto.
* gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
* gcc.dg/vect/vect-outer-fir.c: Ditto.
* gcc.dg/vect/vect-over-widen-1.c: Ditto.
* gcc.dg/vect/vect-over-widen-2.c: Ditto.
* gcc.dg/vect/vect-over-widen-3.c: Ditto.
* gcc.dg/vect/vect-over-widen-4.c: Ditto.
* gcc.dg/vect/vect-reduc-1char.c: Ditto.
* gcc.dg/vect/vect-reduc-2char.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
* gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
* gcc.dg/vect/vect-shift-2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
From-SVN: r182165
Joern Rennecke [Fri, 9 Dec 2011 14:10:02 +0000 (14:10 +0000)]
dse.c (get_stored_val, [...]): Use gen_int_mode.
* dse.c (get_stored_val, get_call_args): Use gen_int_mode.
* expmed.c (expand_divmod): Likewise.
* combine.c (simplify_if_then_else): Likewise.
From-SVN: r182164
Richard Guenther [Fri, 9 Dec 2011 13:49:22 +0000 (13:49 +0000)]
re PR lto/48042 (lto segfaults while building Qt 4.7.2 with -g -flto -fwhole-program)
2011-12-09 Richard Guenther <rguenther@suse.de>
PR lto/48042
* tree.c (free_lang_data_in_decl): Remove freeing conditional
on debuginfo level.
* g++.dg/lto/pr48042_0.C: New testcase.
From-SVN: r182163
Joern Rennecke [Fri, 9 Dec 2011 12:57:24 +0000 (12:57 +0000)]
re PR middle-end/40154 (internal compiler error: in do_SUBST, at combine.c:681)
PR middle-end/40154
* emit-rtl.c (set_dst_reg_note): New function.
* rtl.h (set_dst_reg_note): Declare.
* optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
(emit_libcall_block, expand_fix): Likewise.
* function.c (assign_parm_setup_reg, expand_function_start): Likewise.
* expmed.c (expand_mult_const, expand_divmod): Likewise.
* reload1.c (gen_reload): Likewise.
From-SVN: r182162
Kai Tietz [Fri, 9 Dec 2011 12:27:20 +0000 (13:27 +0100)]
ira-color.c (print_hard_regs_subforest): Use HOST_WIDEST_INT_PRINT_DEC instead of %lld.
* ira-color.c (print_hard_regs_subforest): Use
HOST_WIDEST_INT_PRINT_DEC instead of %lld.
(allocno_hard_regs): Change type of cost member
to HOST_WIDEST_INT.
(add_allocno_hard_regs): Change type of argument cost
to HOST_WIDEST_INT.
* ira-conflict.c (build_conflict_bit_table): Replace use
of long-long by HOST_WIDEST_INT.
From-SVN: r182161
Georg-Johann Lay [Fri, 9 Dec 2011 12:02:06 +0000 (12:02 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
* config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
* config/avr/lib1funcs.S (__muldi3): New function.
From-SVN: r182160
Georg-Johann Lay [Fri, 9 Dec 2011 11:54:29 +0000 (11:54 +0000)]
re PR target/51425 (Compiler fails to produce SBIS/SBIC instructions)
PR target/51425
* config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
zero_extract:QIHI instead of zero_extract:HI.
From-SVN: r182159
Jakub Jelinek [Fri, 9 Dec 2011 11:48:30 +0000 (12:48 +0100)]
re PR tree-optimization/51117 (rev.181172 causes glibc build failure)
PR tree-optimization/51117
* tree-eh.c (optimize_clobbers): New function.
(execute_lower_eh_dispatch): Call it.
Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r182158
Richard Biener [Fri, 9 Dec 2011 11:22:59 +0000 (11:22 +0000)]
re PR tree-optimization/51482 (ice: invalid types in conversion to floating point)
2011-12-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/51482
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Make sure to only create REAL_TYPE and INTEGER_TYPE component
vectors.
* g++.dg/torture/pr51482.C: New testcase.
From-SVN: r182156
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
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
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
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
GCC Administrator [Fri, 9 Dec 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182148
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 8 Dec 2011 00:19:28 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r182096
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
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
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
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
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
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
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
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
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
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
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
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
Ian Lance Taylor [Wed, 7 Dec 2011 01:55:49 +0000 (01:55 +0000)]
libgo: Add back tests of syscall time.
From-SVN: r182075
Ian Lance Taylor [Wed, 7 Dec 2011 01:21:57 +0000 (01:21 +0000)]
libgo: Remove debug/proc, os.Error.
From-SVN: r182074
Ian Lance Taylor [Wed, 7 Dec 2011 01:11:29 +0000 (01:11 +0000)]
libgo: Update to weekly 2011-11-09.
From-SVN: r182073
GCC Administrator [Wed, 7 Dec 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182072
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ramana Radhakrishnan [Tue, 6 Dec 2011 01:03:04 +0000 (01:03 +0000)]
Fix formatting character for vmov.f64 case.
From-SVN: r182038
GCC Administrator [Tue, 6 Dec 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r182037
Ramana Radhakrishnan [Mon, 5 Dec 2011 23:56:25 +0000 (23:56 +0000)]
Fix earlier Changelog entry to match the
commit.
From-SVN: r182033
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
Fabien Chêne [Mon, 5 Dec 2011 22:07:06 +0000 (23:07 +0100)]
Fix cp/ChangeLog
From-SVN: r182030
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
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
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