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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dodji Seketeli [Mon, 5 Dec 2011 09:20:59 +0000 (09:20 +0000)]
Add 'inline' to prototype of tokens_buff_remove_last_token
libcpp/
* macro.c (tokens_buff_remove_last_token)
(tokens_buff_put_token_to): Add an 'inline' function specifier to
the prototype.
From-SVN: r182002
Richard Guenther [Mon, 5 Dec 2011 08:51:53 +0000 (08:51 +0000)]
cgraph.c (cgraph_create_edge_1): Initialize call_stmt_cannot_inline_p from the stmt if possible.
2011-12-05 Richard Guenther <rguenther@suse.de>
* cgraph.c (cgraph_create_edge_1): Initialize
call_stmt_cannot_inline_p from the stmt if possible.
(cgraph_make_edge_direct): Likewise.
* gimple-streamer-in.c (input_gimple_stmt): Do not
call gimple_call_set_cannot_inline.
* gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift
values.
(gimple_call_set_cannot_inline): Remove.
(gimple_call_cannot_inline_p): Likewise.
* ipa-inline-analysis.c (initialize_inline_failed): Look
at the edge call_stmt_cannot_inline_p flag.
* ipa-inline.c (can_inline_edge_p): Likewise.
(early_inliner): Only update the edge flag.
* ipa-prop.c (update_indirect_edges_after_inlining): Likewise.
(ipa_modify_call_arguments): Do not call gimple_call_set_cannot_inline.
* cgraphunit.c (assemble_thunk): Likewise.
* gimple-fold.c (gimple_fold_call): Likewise.
* tree.h (CALL_CANNOT_INLINE_P): Remove.
* tree-mudflap.c (mf_xform_statements): Do not modify alloca calls.
* builtins.c (expand_builtin_alloca): With -fmudflap do not expand
alloca calls inline.
* cfgexpand.c (expand_call_stmt): Do not set CALL_CANNOT_INLINE_P.
* gimple.c (gimple_build_call_from_tree): Do not read
CALL_CANNOT_INLINE_P.
* gimplify.c (gimplify_call_expr): Do not copy CALL_CANNOT_INLINE_P.
From-SVN: r182001
Jakub Jelinek [Mon, 5 Dec 2011 08:15:23 +0000 (09:15 +0100)]
re PR middle-end/51323 (g++ confuses this with function argument in optimized call)
PR middle-end/51323
PR middle-end/50074
* calls.c (internal_arg_pointer_exp_state): New variable.
(internal_arg_pointer_based_exp_1,
internal_arg_pointer_exp_scan): New functions.
(internal_arg_pointer_based_exp): New function.
(mem_overlaps_already_clobbered_arg_p): Use it.
(expand_call): Free internal_arg_pointer_exp_state.cache vector
and clear internal_arg_pointer_exp_state.scan_start.
* gcc.c-torture/execute/pr51323.c: New test.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r182000
GCC Administrator [Mon, 5 Dec 2011 00:18:48 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r181999
Kaz Kojima [Sun, 4 Dec 2011 23:05:23 +0000 (23:05 +0000)]
linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
* config/sh/linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
* config/sh/sync.md: New file.
* config/sh/sh.md: Include sync.md.
* config/sh/sh.opt (msoft-atomic): New option.
* doc/invoke.texi (SH Options): Document it.
From-SVN: r181995
Nathan Sidwell [Sun, 4 Dec 2011 18:27:19 +0000 (18:27 +0000)]
gcov-io.h (struct gcov_info): Replace trailing array with pointer to array.
* gcov-io.h (struct gcov_info): Replace trailing array with
pointer to array.
* profile.c (branch_prob): Only call renamed
coverage_begin_function once.
* coverage.h (coverage_begin_output): Rename to ...
(coverage_begin_function): ... here.
* coverage.c (struct function_list): Rename to ...
(struct coverage_data): ... this. Update all uses.
(gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New
globals.
(bbg_file_opened, bbg_function_announced): Remove.
(get_coverage_counts): Adjust message.
(coverage_begin_ouput): Rename to ...
(coverage_begin_function): ... here. Move file opening to
coverage_init. Adjust for being called only once.
(coverage_end_function): Remove bbg file and inhibit further
output here on error.
(build_info_type): Adjust for change to pointer to array.
(build_info): Receive array of function pointers and adjust.
(create_coverage): Break into ...
(coverage_obj_init, coverage_obj_fn, coverage_obj_finish):
... these, and adjust.
(coverage_init): Open the notes file here. Tidy.
(coverage_finish): Call coverage_obj_init etc.
From-SVN: r181994
Jonathan Wakely [Sun, 4 Dec 2011 16:53:17 +0000 (16:53 +0000)]
type_traits: Doxygen improvements.
* include/std/type_traits: Doxygen improvements.
* include/bits/move.h: Likewise.
* include/tr1/type_traits: Likewise.
* include/tr2/type_traits: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line numbers
* testsuite/20_util/forward/c_neg.cc: Likewise.
* testsuite/20_util/forward/f_neg.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r181993
Tobias Burnus [Sun, 4 Dec 2011 16:33:15 +0000 (17:33 +0100)]
re PR fortran/51383 ([OOP] arrays of extended types break when associated)
2011-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/51383
* resolve.c (find_array_spec): Use ref->u.c.component
directly without starting from ts.u.derived.
2011-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/51383
* gfortran.dg/associate_10.f90: New.
From-SVN: r181992
Iain Sandoe [Sun, 4 Dec 2011 15:46:28 +0000 (15:46 +0000)]
t-darwin64 (LIB2ADD): Add fp and gp save routines.
libgcc:
* config/rs6000/t-darwin64 (LIB2ADD): Add fp and gp save routines.
From-SVN: r181991