dodji [Sun, 20 Nov 2011 07:10:24 +0000 (07:10 +0000)]
PR c++/51194 - ICE with invalid alias template
gcc/cp/
PR c++/51194
* pt.c (lookup_template_class_1): Go out early if the type of the
template is error_mark_node.
gcc/testsuite/
PR c++/51194
* g++.dg/cpp0x/alias-decl-15.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181523
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 20 Nov 2011 00:18:50 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181521
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 19 Nov 2011 23:17:12 +0000 (23:17 +0000)]
/cp
2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51216
* semantics.c (potential_constant_expression_1): Handle IF_STMT,
DO_STMT, FOR_STMT, and WHILE_STMT.
/testsuite
2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51216
* g++.dg/cpp0x/pr51216.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181517
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 19 Nov 2011 20:36:43 +0000 (20:36 +0000)]
PR rtl-optimization/51187
* reorg.c (relax_delay_slots): Do not consider a jump useless if there
is a barrier between the jump and its target label.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181513
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sat, 19 Nov 2011 19:29:18 +0000 (19:29 +0000)]
PR middle-end/51211
* tracer.c (ignore_bb_p): Don't copy GIMPLE_TRANSACTION.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181512
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 19 Nov 2011 18:20:36 +0000 (18:20 +0000)]
* expmed.c (store_bit_field_1): Revert bogus formatting change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181511
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 19 Nov 2011 16:24:22 +0000 (16:24 +0000)]
Fix minor issues
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181509
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Sat, 19 Nov 2011 13:47:35 +0000 (13:47 +0000)]
PR target/50493
* arm.c (neon_disambiguate_copy): Correctly handle partial overlap
of src and dest operands.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181508
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Sat, 19 Nov 2011 12:21:08 +0000 (12:21 +0000)]
gcc:
* config/darwin.h (ASM_DEBUG_SPEC): New.
* config/darwin9.h (ASM_DEBUG_SPEC): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181507
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Sat, 19 Nov 2011 11:50:44 +0000 (11:50 +0000)]
2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/bitset (operator[](size_t) const): Declare constexpr.
* include/profile/bitset: Likewise.
* testsuite/23_containers/bitset/operations/constexpr.cc: Split out
non portable bits to...
* testsuite/23_containers/bitset/operations/constexpr-2.cc: ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181506
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 19 Nov 2011 09:26:33 +0000 (09:26 +0000)]
2011-11-19 Tobias Burnus <burnus@net-b.de>
PR fortran/51207
* class.c (gfc_find_derived_vtab): Mark __def_init as PARAMETER
and hence as TREE_READONLY; add subroutine attribute to
__copy_ procedure.
PR fortran/50640
* trans.h (GFC_DECL_PUSH_TOPLEVEL): New DECL_LANG_FLAG_7.
* trans-decl.c (gfc_get_symbol_decl): Mark __def_init and vtab
as GFC_DECL_PUSH_TOPLEVEL.
(gfc_generate_function_code): If GFC_DECL_PUSH_TOPLEVEL, push it there.
(build_function_decl): Push __copy_ procedure to the toplevel.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181505
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 19 Nov 2011 01:34:55 +0000 (01:34 +0000)]
* config/i386/i386.c (atom_cost): Disable SSE loop until alignment
issues are fixed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181503
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 19 Nov 2011 00:18:48 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181501
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 18 Nov 2011 22:26:47 +0000 (22:26 +0000)]
* gcc.dg/cpp/assert4.c: Test __linux__, not __gnu_linux__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181496
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Fri, 18 Nov 2011 22:26:44 +0000 (22:26 +0000)]
2011-11-18 Steve Ellcey <sje@cup.hp.com>
* Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181495
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Fri, 18 Nov 2011 21:23:08 +0000 (21:23 +0000)]
* config/cris/cris.c (cris_function_value_regno_p): Make static.
(TARGET_FUNCTION_VALUE_REGNO_P): Define.
* config/cris/cris.h (FUNCTION_VALUE_REGNO_P): Remove.
* config/cris/cris-protos.h (cris_function_value_regno_p): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181493
138bc75d-0d04-0410-961f-
82ee72b054a4
fabien [Fri, 18 Nov 2011 20:32:04 +0000 (20:32 +0000)]
gcc/testsuite/ChangeLog
2011-11-18 Fabien Chene <fabien@gcc.gnu.org>
PR c++/51188
* g++.dg/lookup/using46.C: New.
* g++.dg/lookup/using47.C: New.
* g++.dg/lookup/using48.C: New.
* g++.dg/lookup/using49.C: New.
* g++.dg/lookup/using50.C: New.
gcc/cp/ChangeLog
2011-11-18 Fabien Chene <fabien@gcc.gnu.org>
PR c++/51188
* search.c (lookup_field_1): Handle USING_DECLs for the storted
case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181492
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Fri, 18 Nov 2011 19:02:45 +0000 (19:02 +0000)]
Add _mm_stream_si64.
2011-11-18 H.J. Lu <hongjiu.lu@intel.com>
PR target/33944
* doc/extend.texi: Document __builtin_ia32_movnti64.
* config/i386/emmintrin.h (_mm_stream_si64): New.
* config/i386/i386-builtin-types.def: Add VOID_FTYPE_PLONGLONG_LONGLONG.
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTI64.
(bdesc_special_args): Update __builtin_ia32_movnti. Add
__builtin_ia32_movnti64.
(ix86_expand_special_args_builtin): Handle
VOID_FTYPE_PLONGLONG_LONGLONG.
* config/i386/i386.md (UNSPEC_MOVNTI): New.
* config/i386/sse.md (sse2_movntsi): Renamed to ...
(sse2_movnti<mode>): This.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181491
138bc75d-0d04-0410-961f-
82ee72b054a4
fabien [Fri, 18 Nov 2011 18:44:23 +0000 (18:44 +0000)]
gcc/testsuite/ChangeLog
2011-11-18 Fabien Chene <fabien@gcc.gnu.org>
PR c++/51141
* g++.dg/lookup/using46.C: New.
* g++.dg/lookup/using47.C: New.
* g++.dg/lookup/using48.C: New.
* g++.dg/lookup/using49.C: New.
* g++.dg/lookup/using50.C: New.
gcc/cp/ChangeLog
2011-11-18 Fabien Chene <fabien@gcc.gnu.org>
PR c++/51141
* search.c (lookup_field_1): Handle USING_DECLs for the storted
case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181490
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Fri, 18 Nov 2011 18:17:05 +0000 (18:17 +0000)]
* gcc.c-torture/compile/pr44707.c: Do not assume assembler
supports /* ... */ comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181489
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Fri, 18 Nov 2011 16:44:00 +0000 (16:44 +0000)]
gcc/
PR target/49868
* config/avr/avr.h (base_arch_s): Add field n_segments.
(ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3,
ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): New address spaces.
(AVR_HAVE_ELPM, AVR_HAVE_ELPMX): New defines.
(INIT_EXPANDERS): New define.
* config/avr/avr-protos.h (avr_mem_pgmx_p): New.
(avr_init_expanders): New.
(avr_emit_movmemhi, avr_out_movmem): New.
(avr_xload_libgcc_p): New.
* config/avr/avr-c.c (avr_register_target_pragmas): Register
address spaces __pgm1, __pgm2, __pgm3, __pgm4 __pgm5, __pgmx.
(avr_cpu_cpp_builtins): Add built-in defines __PGM1,
__PGM2, __PGM3, __PGM4, __PGM5, __PGMX.
* config/avr/avr-devices.c (avr_arch_types): Set field n_segments.
* config/avr/avr.c (AVR_SECTION_PROGMEM): Change define to cover
3 bits instead of just 1.
(xstring_empty, xstring_e, rampz_rtx): New static GTYed variables.
(progmem_section): Change from section to array of sections.
(progmem_section_prefix): New static variable.
(avr_file_start): Print set for __RAMPZ__
(avr_option_override): Move initialization of RTXes from here...
(avr_init_expanders): ...to this new function.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p): Handle error_mark_node.
(avr_mem_pgmx_p, avr_decl_pgmx_p): New static functions.
(avr_out_xload, avr_find_unused_d_reg): New static functions.
(expand_prologue, expand_epilogue): Use rampz_rtx.
(print_operand): Hande CONST_STRING.
(avr_xload_libgcc_p): New static function.
(avr_out_lpm_no_lpmx, avr_out_lpm): Handle ELPM.
(avr_progmem_p): Return 2 for 24-bit flash address space.
(avr_out_sbxx_branch): Clean-up code from ASn macros.
(out_movqi_r_mr, out_movqi_mr_r): Ditto. And recognize RAMPZ's
address and print symbolically.
(avr_asm_named_section, avr_section_type_flags,
avr_encode_section_info, avr_asm_select_section,
avr_addr_space_address_mode, avr_addr_space_pointer_mode,
avr_addr_space_legitimate_address_p, avr_addr_space_convert,
avr_addr_space_legitimize_address): Handle new address spaces.
(avr_output_progmem_section_asm_op): New static function.
(avr_asm_init_sections): Initialize progmem_section[].
(adjust_insn_length): Handle ADJUST_LEN_XLOAD, ADJUST_LEN_MOVMEM.
(avr_const_address_lo16): New static function.
(avr_assemble_integer): Use it to handle 3-byte integers.
(avr_emit_movmemhi, avr_out_movmem): New functions.
* config/avr/predicates.md (nox_general_operand): Handle new
address spaces.
* config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.
(adjust_len): Add xload, movmem.
(SP_ADDR): New define_constants.
(isa): Add "lpm", "lpmx", "elpm", "elpmx".
(enabled): Handle them.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): Rename to load_<mode>_libgcc.
(xload8_A, xload<mode>_A): New insn-and-splits.
(xload_8, xload_<mode>_libgcc, xload_<mode>, loadmem_elpm): New insns.
(mov<mode>): Handle new address spaces.
(movmemhi): Rewrite using avr_emit_movmemhi.
(MOVMEM_r_d): New mode attribute.
(movmem_<mode>, movmem_qi_elpm): New insns.
(setmemhi, *clrmemqi, *clrmemhi, strlenhi, *strlenhi): Unquote
C-code. Use label instead of hard-coded instrunction lengths.
libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_2 _xload_3 _xload_4.
* config/avr/lib1funcs.S (__xload_2, __xload_3, __xload_4):
New functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181482
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 18 Nov 2011 16:15:59 +0000 (16:15 +0000)]
Support libitm on Solaris 8 and 9/x86 with Sun as
* config/generic/asmcfi.h: Fix comment.
* config/x86/sjlj.S (_ITM_beginTransaction): Provide ELF PIC code
sequence without .hidden support, error for non-ELF targets.
(GTM_longjmp) [__ELF__]: Only use .hidden if
HAVE_ATTRIBUTE_VISIBILITY.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181481
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 18 Nov 2011 16:09:29 +0000 (16:09 +0000)]
2011-11-18 Harti Brandt <hartmut.brandt@dlr.de>
PR libstdc++/51209
* include/bits/hashtable.h (_Hashtable<>::_M_find_node): Return
nullptr when no node is found.
* include/tr1/hashtable.h (_Hashtable<>::_M_find_node): Return
zero when no node is found.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181480
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 18 Nov 2011 15:31:38 +0000 (15:31 +0000)]
/cp
2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51150
* pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR.
/testsuite
2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51150
* g++.dg/cpp0x/pr51150.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181478
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 18 Nov 2011 15:13:54 +0000 (15:13 +0000)]
2011-11-18 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/50605
* gimple.c (is_gimple_ip_invariant_address): Also handle MEM_REFs
of IPA invariant decls.
* testsuite/g++.dg/ipa/pr50605.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181477
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 18 Nov 2011 14:15:38 +0000 (14:15 +0000)]
2011-11-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree-outof-ssa.c (insert_back_edge_copies): Add call to
mark_dfs_back_edges.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181476
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Fri, 18 Nov 2011 14:07:41 +0000 (14:07 +0000)]
PR c++/51191 - ICE on alias of alias template instantiation
gcc/cp/
PR c++/51191
* pt.c (primary_template_instantiation_p): Don't forget to
consider alias declarations.
gcc/testsuite/
PR c++/51191
* g++.dg/cpp0x/alias-decl-13.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181475
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 18 Nov 2011 13:19:25 +0000 (13:19 +0000)]
gcc/ada:
PR target/50678
* init.c (__gnat_error_handler) [Darwin]: Move work-around to the
bug filed as radar #
10302855 from __gnat_error_handler ...
... to (__gnat_adjust_context_for_raise) [Darwin]: New.
(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
(__gnat_error_handler) [Darwin]: Use __gnat_adjust_context_for_raise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181474
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 18 Nov 2011 12:37:06 +0000 (12:37 +0000)]
2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
* src/hash-long-double-aux.cc: Rename to...
* src/hash-long-double-tr1-aux.cc: ... this.
* src/compatibility-ldbl.cc: Adjust.
* src/hash_tr1.cc: Likewise.
* src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc.
* include/bits/functional_hash.h (hash<_Tp*>::operator(), specs
for integer types, hash<float>::operator(), hash<double>::operator(),
hash<long double>::operator()): Declare noexcept.
* include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
* include/debug/vector (hash<__debug::vector>::operator()): Likewise.
* include/std/system_error (hash<error_code>::operator()): Likewise.
* include/std/thread (hash<thread::id>::operator()): Likewise.
* include/std/bitset (hash<bitset>::operator()): Likewise.
* include/std/typeindex (hash<type_index>::operator()): Likewise.
* include/profile/bitset (hash<__profile::vector>::operator()):
Likewise.
* include/profile/vector (hash<__profile::vector>::operator()):
Likewise.
* include/ext/vstring.h (hash<__vstring>::operator(),
hash<__wvstring>::operator(), hash<__u16vstring>::operator(),
hash<__u32vstring>::operator()): Likewise.
* include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise.
* include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
Likewise.
* include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
* include/bits/basic_string.h (hash<string>::operator(),
hash<wstring>::operator(), hash<u16string>::operator(),
hash<u32string>::operator()): Likewise.
* include/bits/vector.tcc (hash<vector>::operator()): Likewise.
* include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
* libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
throw().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181473
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 18 Nov 2011 10:54:21 +0000 (10:54 +0000)]
gcc/ada:
2011-11-18 Tristan Gingold <gingold@adacore.com>
Iain Sandoe <iains@gcc.gnu.org>
PR target/49992
* mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
* gcc-interface/Makefile.in (darwin): Remove ranlib special-casing
for Darwin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181470
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Fri, 18 Nov 2011 10:52:32 +0000 (10:52 +0000)]
toplevel:
PR target/49992
* configure.ac: Remove ranlib special-casing for Darwin.
* configure: Regenerate.
gcc:
PR target/49992
* configure.ac: Remove ranlib special-casing for Darwin.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181469
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 18 Nov 2011 09:54:02 +0000 (09:54 +0000)]
PR tree-optimization/51118
* fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
before using TREE_TYPE accessor on expr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181468
138bc75d-0d04-0410-961f-
82ee72b054a4
liujiangning [Fri, 18 Nov 2011 07:44:19 +0000 (07:44 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181467
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 18 Nov 2011 02:18:28 +0000 (02:18 +0000)]
PR bootstrap/51134
* i386.c (atom_cost): Fix 32bit memset description.
(expand_set_or_movmem_via_loop_with_iter): Output proper bounds check for epilogue loops.
(expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing byte loop.
(decide_alg): sse_loop is not useable wthen SSE2 is disabled; when not optimizing always
use rep movsb or lincall; do not produce word sized loops when optimizing memset for
size (to avoid need for large constants).
(ix86_expand_movmem): Get into sync with ix86_expand_setmem; choose unroll factors
better; always do 128bit moves when producing SSE loops; do not produce loopy epilogue
when size is too small.
(promote_duplicated_reg_to_size): Do not look into desired alignments when
doing vector expansion.
(ix86_expand_setmem): Track better when promoted value is available; choose unroll factors
more sanely.; output loopy epilogue only when needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181466
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 18 Nov 2011 01:38:48 +0000 (01:38 +0000)]
PR libstdc++/51181
* libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use
of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181465
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 18 Nov 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181464
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 18 Nov 2011 00:15:55 +0000 (00:15 +0000)]
* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
on darwin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181460
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 17 Nov 2011 22:12:31 +0000 (22:12 +0000)]
Merge branch 'rth/atomic/ppc'
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181459
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 17 Nov 2011 22:10:09 +0000 (22:10 +0000)]
Remove accidentally committed duplicate ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181458
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Thu, 17 Nov 2011 21:22:11 +0000 (21:22 +0000)]
2011-11-17 Steve Ellcey <sje@cup.hp.com>
PR middle-end/51144
* output.h (fprint_w): Remove.
* final.c (fprint_w): Remove.
(output_addr_const): Change fprint_w back to fprintf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181457
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Thu, 17 Nov 2011 21:01:08 +0000 (21:01 +0000)]
2011-11-17 Andrew Pinski <apinski@cavium.com>
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181456
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 17 Nov 2011 21:00:30 +0000 (21:00 +0000)]
PR c++/51186
* decl.c (grokdeclarator): Improve C++98 trailing return diagnostic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181455
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 17 Nov 2011 21:00:16 +0000 (21:00 +0000)]
* lib/gcc-simulate-thread.exp (simulate-thread): Improve error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181454
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Thu, 17 Nov 2011 20:51:51 +0000 (20:51 +0000)]
2011-11-17 Andrew MacLeod <amacleod@redhat.com>
* builtins.c (expand_builtin): Remove 4th parameter representing
weak/strong mode when __atomic_compare_exchange becomes a library call.
* gcc.dg/atomic-generic-aux.c (__atomic_compare_exchange): Fail if
memory model parameters don't match expected values.
* gcc.dg/atomic-generic.c: Pass specific memory model parameters to
__atomic_compare_exchange.
* gcc.dg/atomic-noinline.c: Pass specific memory model parameters to
__atomic_compare_exchange_n.
* gcc.dg/atomic-noinline-aux.c (__atomic_compare_exchange_2): Remove
weak/strong parameter and fail if memory models aren't correct.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181453
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 17 Nov 2011 19:56:39 +0000 (19:56 +0000)]
* lib/gcc-simulate-thread.exp (simulate-thread): Run on all targets.
Look for simulate_thread_done to determine working gdb. Reduce timeout
to 10 seconds and fail when timeout occurs. Improve error messages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181452
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 17 Nov 2011 19:29:04 +0000 (19:29 +0000)]
Unify implementations of __builtin_mem_*_fence and __sync_synchronize.
* builtins.c (expand_builtin_mem_thread_fence): Remove.
(expand_builtin_mem_signal_fence): Remove.
(expand_builtin_atomic_thread_fence): Use expand_mem_thread_fence.
(expand_builtin_sync_synchronize): Likewise.
(expand_builtin_atomic_signal_fence): Use expand_mem_signal_fence.
* optabs.c (expand_asm_memory_barrier): Split out from
expand_builtin_mem_signal_fence.
(expand_mem_thread_fence): New, a combination of code from
expand_builtin_mem_thread_fence and expand_builtin_sync_synchronize.
(expand_mem_signal_fence): Moved and renamed from
expand_builtin_mem_signal_fence.
(expand_atomic_exchange): Use expand_mem_thread_fence.
(expand_atomic_load, expand_atomic_store): Likewise.
* expr.h, optabs.h: Update decls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181451
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 17 Nov 2011 17:11:16 +0000 (17:11 +0000)]
PR rtl-optimization/50663
* cprop.c (implicit_set_indexes): New global variable.
(insert_set_in_table): Add additional parameter and record implicit
set information.
(hash_scan_set): Add additional parameter and pass it to above.
(hash_scan_insn): Pass false to hash_scan_set.
(compute_hash_table_work): Pass true to hash_scan_set.
(compute_cprop_data): Add implicit set to AVIN of block which the
implicit set is recorded for.
(one_cprop_pass): Handle implicit_set_indexes array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181446
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 17 Nov 2011 16:35:11 +0000 (16:35 +0000)]
N3203
* class.c (add_implicitly_declared_members): Update move
conditions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181445
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 17 Nov 2011 16:34:59 +0000 (16:34 +0000)]
PR c++/51137
* class.c (build_base_path): Don't do calculation in templates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181444
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Thu, 17 Nov 2011 16:03:56 +0000 (16:03 +0000)]
PR middle-end/50644
PR middle-end/50741
* tree-ssa-live.c (mark_all_vars_used_1): Recurse only for decls of
current function.
(remove_unused_locals): Ditto.
testsuite/
* g++.dg/tree-ssa/pr50741.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181443
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 17 Nov 2011 11:34:33 +0000 (11:34 +0000)]
Provide all dummy functions in alloc_cpp.cc, eh_cpp.cc
* alloc_cpp.cc [__osf__] (_ZnwX, _ZdlPv, _ZnaX, _ZdaPv,
_ZnwXRKSt9nothrow_t, _ZdlPvRKSt9nothrow_t, _ZdaPvRKSt9nothrow_t):
Dummy functions.
* eh_cpp.cc [__osf__] (__cxa_allocate_exception, __cxa_throw,
__cxa_begin_catch, __cxa_end_catch, __cxa_tm_cleanup): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181442
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 17 Nov 2011 11:25:10 +0000 (11:25 +0000)]
Skip simulate-thread tests on all alpha targets
* lib/gcc-simulate-thread.exp (simulate-thread): Skip on
alpha*-*-*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181441
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 17 Nov 2011 10:14:11 +0000 (10:14 +0000)]
* doc/xml/manual/status_cxx2011.xml: Status of piecewise construction
and ios_base::failure.
* doc/xml/manual/backwards_compatibility.xml: List headers in
alphabetical order.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181438
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Thu, 17 Nov 2011 04:44:27 +0000 (04:44 +0000)]
Copy ALIAS_SET_MEMORY_BARRIER when creating a new MEM for atomic ops.
* config/alpha/alpha.c (alpha_split_compare_and_swap_12): Copy
ALIAS_SET_MEMORY_BARRIER when creating a new memory.
(alpha_split_atomic_exchange_12): Likewise.
* config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181436
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 17 Nov 2011 02:28:07 +0000 (02:28 +0000)]
* inclhack.def (aix_once_init_[12]): New fixes.
* fixincl.x: Regenerate.
* tests/base/pthread.h: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181434
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 17 Nov 2011 00:18:35 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181431
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 16 Nov 2011 23:09:17 +0000 (23:09 +0000)]
* gcc.dg/tm/memopt-6.c: Cleanup tmedge tree dump.
* gcc.dg/tm/memopt-13.c: Cleanup tmmark tree dump.
* g++.dg/eh/array1.C: Cleanup gimple tree dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181426
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 16 Nov 2011 21:37:43 +0000 (21:37 +0000)]
gcc/fortran
2011-11-16 Tobias Burnus <burnus@net-b.de>
PR fortran/39427
PR fortran/37829
* decl.c (match_data_constant, match_data_constant,
* variable_decl,
gfc_match_decl_type_spec, access_attr_decl,
check_extended_derived_type, gfc_match_derived_decl,
gfc_match_derived_decl, gfc_match_derived_decl) Modified to deal
with DT constructors.
* gfortran.h (gfc_find_dt_in_generic,
gfc_convert_to_structure_constructor): New function prototypes.
* interface.c (check_interface0, check_interface1,
gfc_search_interface): Ignore DT constructors in generic list.
* match.h (gfc_match_structure_constructor): Update prototype.
* match.c (match_derived_type_spec): Ensure that one uses the DT
not the generic function.
* module.c (MOD_VERSION): Bump.
(dt_lower_string, dt_upper_string): New functions.
(find_use_name_n, find_use_operator, compare_true_names,
find_true_name, add_true_name, fix_mio_expr, load_needed,
read_module, write_dt_extensions, write_symbol): Changes to deal with
different symtree vs. sym names.
(create_derived_type): Create also generic procedure.
* parse.c (gfc_fixup_sibling_symbols): Don't regard DT and
* generic
function as the same.
* primary.c (gfc_convert_to_structure_constructor): New
* function.
(gfc_match_structure_constructor): Restructured; calls
gfc_convert_to_structure_constructor.
(build_actual_constructor, gfc_match_rvalue): Update for DT generic
functions.
* resolve.c (resolve_formal_arglist, resolve_structure_cons,
is_illegal_recursion, resolve_generic_f, resolve_variable,
resolve_fl_variable_derived, resolve_fl_derived0,
resolve_symbol): Handle DT and DT generic constructors.
* symbol.c (gfc_use_derived, gfc_undo_symbols,
gen_special_c_interop_ptr, gen_cptr_param,
generate_isocbinding_symbol, gfc_get_derived_super_type): Handle
derived-types, which are hidden in the generic type.
(gfc_find_dt_in_generic): New function
* trans-array.c (gfc_conv_array_initializer): Replace
* FL_PARAMETER
expr by actual value.
* trans-decl.c (gfc_get_module_backend_decl,
* gfc_trans_use_stmts):
Ensure that we use the DT and not the generic function.
* trans-types.c (gfc_get_derived_type): Ensure that we use the
* DT
and not the generic procedure.
gcc/testsuite/
2011-11-16 Tobias Burnus <burnus@net-b.de>
PR fortran/39427
PR fortran/37829
* gfortran.dg/constructor_1.f90: New.
* gfortran.dg/constructor_2.f90: New.
* gfortran.dg/constructor_3.f90: New.
* gfortran.dg/constructor_4.f90: New.
* gfortran.dg/constructor_5.f90: New.
* gfortran.dg/constructor_6.f90: New.
* gfortran.dg/use_only_5.f90: New.
* gfortran.dg/c_ptr_tests_17.f90: New.
* gfortran.dg/c_ptr_tests_18.f90: New.
* gfortran.dg/used_types_25.f90: New.
* gfortran.dg/used_types_26.f90: New
* gfortran.dg/type_decl_3.f90: New.
* gfortran.dg/function_types_3.f90: Update dg-error.
* gfortran.dg/result_1.f90: Ditto.
* gfortran.dg/structure_constructor_3.f03: Ditto.
* gfortran.dg/structure_constructor_4.f03: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181425
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 16 Nov 2011 20:35:27 +0000 (20:35 +0000)]
* config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181423
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 16 Nov 2011 18:33:52 +0000 (18:33 +0000)]
* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
Default to minimum alignment if decl is NULL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181422
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 16 Nov 2011 18:28:08 +0000 (18:28 +0000)]
* config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
sequence for AVX.
(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181421
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Wed, 16 Nov 2011 18:19:37 +0000 (18:19 +0000)]
2011-10-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* gcc.dg/vect/pr30858.c: Update expected output for
architectures with multiple vector sizes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181420
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Wed, 16 Nov 2011 18:02:12 +0000 (18:02 +0000)]
2011-11-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* config/arm/lib1funcs.asm (udivsi3): Add support for divide
functions.
(aeabi_uidivmod): Likewise.
(umodsi3): Likewise.
(divsi3): Likewise.
(aeabi_idivmod): Likewise.
(modsi3): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181419
138bc75d-0d04-0410-961f-
82ee72b054a4
hjagasia [Wed, 16 Nov 2011 17:31:38 +0000 (17:31 +0000)]
* doc/invoke.texi: Document AMD bdver1 and btver1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181417
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Wed, 16 Nov 2011 17:02:44 +0000 (17:02 +0000)]
2011-11-16 Richard Earnshaw <rearnsha@arm.com>
Bernd Schmidt <bernds@coudesourcery.com>
Sebastian Huber <sebastian.huber@embedded-brains.de>
PR target/49641
* config/arm/arm.c (store_multiple_sequence): Avoid cases where
the base reg is stored iff compiling for Thumb1.
* gcc.target/arm/pr49641.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181416
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Wed, 16 Nov 2011 15:43:15 +0000 (15:43 +0000)]
2011-11-16 Andrew MacLeod <amacleod@redhat.com>
PR libstdc++/51102
* include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE,
ATOMIC_POINTER_LOCK_FREE): New. Add missing macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181414
138bc75d-0d04-0410-961f-
82ee72b054a4
razya [Wed, 16 Nov 2011 15:01:47 +0000 (15:01 +0000)]
PR tree-optimization/49960
* tree-data-ref.c (initialize_data_dependence_relation): Add initializations.
Remove call to compute_self_dependence.
(compute_affine_dependence): Remove the !DDR_SELF_REFERENCE condition.
(compute_self_dependence): Remove old code. Add call to compute_affine_dependence.
(compute_all_dependences): Remove call to compute_self_dependence.
Add call to compute_affine_dependence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181411
138bc75d-0d04-0410-961f-
82ee72b054a4
razya [Wed, 16 Nov 2011 14:59:14 +0000 (14:59 +0000)]
PR tree-optimization/49960
* gcc.dg/autopar/pr49960.c: New test.
* gcc.dg/autopar/pr49960-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181410
138bc75d-0d04-0410-961f-
82ee72b054a4
razya [Wed, 16 Nov 2011 14:58:04 +0000 (14:58 +0000)]
PR tree-optimization/49960
* gcc.dg/autopar/pr49960.c: New test.
* gcc.dg/autopar/pr49960-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181409
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Wed, 16 Nov 2011 14:51:13 +0000 (14:51 +0000)]
PR bootstrap/51098
* acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181408
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 16 Nov 2011 10:23:59 +0000 (10:23 +0000)]
2011-11-16 Paolo Carlini <paolo.carlini@oracle.com>
* Fix name in ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181407
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Wed, 16 Nov 2011 09:27:56 +0000 (09:27 +0000)]
2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR middle-end/50325
* expmed.c (store_bit_field_1): Use extract_bit_field on big
endian targets if the source cannot be exactly covered by word
mode chunks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181405
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Wed, 16 Nov 2011 08:36:46 +0000 (08:36 +0000)]
2011-11-16 Tristan Gingold <gingold@adacore.com>
* config/alpha/qrnnd.S: Use specific pseudos for VMS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181403
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 16 Nov 2011 00:21:56 +0000 (00:21 +0000)]
* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
ELF_STRING_LIMIT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181400
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 16 Nov 2011 00:18:50 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181399
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Tue, 15 Nov 2011 23:43:08 +0000 (23:43 +0000)]
alpha: Convert to atomic optabs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181395
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 15 Nov 2011 23:28:49 +0000 (23:28 +0000)]
2011-11-15 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51142
* include/debug/unordered_map (unordered_map<>::erase(iterator),
unordered_multimap<>::erase(iterator)): Add, consistently with
LWG 2059.
* include/debug/unordered_set (unordered_set<>::erase(iterator),
unordered_multiset<>::erase(iterator)): Likewise.
* include/debug/map.h (map<>::erase(iterator)): Likewise.
* include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
* include/profile/map.h (map<>::erase(iterator)): Likewise.
* include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
* include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
* include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
* include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
* include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
* testsuite/23_containers/unordered_map/erase/51142.cc: New.
* testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
* testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
* testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
* testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181394
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 15 Nov 2011 23:04:46 +0000 (23:04 +0000)]
2011-11-16 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
* gcc.dg/pr43864-2.c: Same.
* gcc.dg/pr43864-3.c: Same.
* gcc.dg/pr43864-4.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181393
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 15 Nov 2011 23:04:39 +0000 (23:04 +0000)]
2011-11-16 Tom de Vries <tom@codesourcery.com>
* tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181392
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Tue, 15 Nov 2011 22:10:46 +0000 (22:10 +0000)]
PR rtl-optimization/51051
PR bootstrap/51086
* function.c (thread_prologue_and_epilogue_insns): Guard
emitting return with single_succ_p test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181391
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 15 Nov 2011 19:40:04 +0000 (19:40 +0000)]
* gcc.target/i386/sse2-cvt-vec.c: New test.
* gcc.target/i386/avx-cvt-vec.c: Ditto.
* gcc.target/i386/avx-cvt-2-vec.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181390
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Tue, 15 Nov 2011 19:06:32 +0000 (19:06 +0000)]
* config/epiphany/epiphany.md (mov<mode>cc): Fix code to
get mode from CMP_OP1 if CMP_OP0 is VOIDmode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181388
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 15 Nov 2011 18:45:20 +0000 (18:45 +0000)]
* config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
(vec_pack_sfix_trunc_v2df): Ditto.
(vec_pack_sfix_v2df): Ditto.
(vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and
avx_vec_concatv8si patterns.
(vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and
avx_vec_concatv8si patterns.
testsuite/ChangeLog:
* gcc.target/i386/avx-floor-sfix-2-vec.c: New test.
* gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto.
* gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto.
* gcc.target/i386/avx-round-sfix-2-vec.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181387
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Tue, 15 Nov 2011 13:16:17 +0000 (13:16 +0000)]
gcc/testsuite:
* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
powerpc*-*-darwin* targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181384
138bc75d-0d04-0410-961f-
82ee72b054a4
torvald [Tue, 15 Nov 2011 12:16:13 +0000 (12:16 +0000)]
Require parentheses when parsing transaction expressions.
gcc/
* c-parser.c (c_parser_transaction_expression): Require parentheses
when parsing transaction expressions.
gcc/cp/
* parser.c (cp_parser_transaction_expression): Require parentheses
when parsing transaction expressions.
gcc/testsuite/
* c-c++-common/tm/trxn-expr-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181383
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 15 Nov 2011 10:49:00 +0000 (10:49 +0000)]
2011-11-15 Jason Dick <dickphd@gmail.com>
PR libstdc++/51133
* include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
wrong sign in recursion relation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181381
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Tue, 15 Nov 2011 10:25:36 +0000 (10:25 +0000)]
2011-11-15 Tristan Gingold <gingold@adacore.com>
* incpath.c (get_added_cpp_dirs): New function.
* incpath.h (get_added_cpp_dirs): Declare.
* config/vms/vms-c.c (vms_c_register_includes): New function.
(vms_std_modules): New variable.
* config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define.
(vms_c_register_includes): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181380
138bc75d-0d04-0410-961f-
82ee72b054a4
gingold [Tue, 15 Nov 2011 10:22:55 +0000 (10:22 +0000)]
2011-11-15 Tristan Gingold <gingold@adacore.com>
* c-family/c-pragma.h (pragma_extern_prefix): Declare.
* c-family/c-pragma.c (pragma_extern_prefix): Make it public.
* config/vms/vms-c.c (saved_extern_prefix): New variable.
(vms_pragma_extern_prefix): New function.
(vms_c_register_pragma): Register vms_pragma_extern_prefix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181379
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Tue, 15 Nov 2011 09:01:46 +0000 (09:01 +0000)]
gcc/
PR target/49868
* config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
(REGISTER_TARGET_PRAGMAS): New define.
* config/avr/avr-protos.h (avr_mem_pgm_p): New.
(avr_load_libgcc_p): New.
(asm_output_external_libcall): Remove.
(avr_register_target_pragmas): New.
(avr_log_t): Add field "progmem". Order alphabetically.
* config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
* config/avr/avr-c.c (langhooks.h): New include.
(avr_register_target_pragmas): New function. Register address
space __pgm.
(avr_cpu_cpp_builtins): Add built-in define __PGM.
* config/avr/avr.c: Include "c-family/c-common.h".
(TARGET_LEGITIMATE_ADDRESS_P): Remove define.
(TARGET_LEGITIMIZE_ADDRESS): Remove define.
(TARGET_ADDR_SPACE_SUBSET_P): Define to...
(avr_addr_space_subset_p): ...this new static function.
(TARGET_ADDR_SPACE_CONVERT): Define to...
(avr_addr_space_convert): ...this new static function.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
(avr_addr_space_address_mode): ...this new static function.
(TARGET_ADDR_SPACE_POINTER_MODE): Define to...
(avr_addr_space_pointer_mode): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
(avr_addr_space_legitimate_address_p): ...this new static function.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
(avr_addr_space_legitimize_address): ...this new static function.
(avr_mode_code_base_reg_class): Handle address spaces.
(avr_regno_mode_code_ok_for_base_p): Ditto.
(lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
(avr_option_override): Initialize them.
(output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
variables.
(avr_pgm_segment): New static function.
(avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
(avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
(output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
avr_out_lpm to handle loads from progmem.
(avr_load_libgcc_p): New static function.
(avr_progmem_p): Test if decl is in flash.
(avr_pgm_pointer_const_p): New static function.
(avr_nonconst_pointer_addrspace): New static function.
(avr_pgm_check_var_decl): New static function.
(avr_insert_attributes): Use it. Change error message to report
cause (progmem or address space) when code wants to write to flash.
(avr_section_type_flags): Unset section flag SECTION_BSS for
data in progmem.
* config/avr/predicates.md (nop_general_operand): New predicate.
(nox_general_operand): New predicate.
* config/avr/avr.md (LPM_REGNO): New define_constant.
(load<mode>_libgcc): New expander.
(*load.<mode>.libgcc): New insn.
(mov<mode>): Handle loads from non-generic AS.
(movmemhi): Ditto. Propagate address space information to newly
created MEM.
(movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
to nox_general_operand.
(ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand.
(ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
(lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
(split-lpmx): New split.
(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
*lshrhi3_const, *lshrsi3_const): Indent, unquote C.
libgcc/
PR target/49868
* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3, _load_4.
* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181378
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 15 Nov 2011 03:46:08 +0000 (03:46 +0000)]
* ipa-cp.c (ipa_value_from_jfunc): Make global.
(ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead.
(get_indirect_edge_target): Rename, make global.
(devirtualization_time_bonus, estimate_local_effects,)
(ipcp_discover_new_direct_edges): Update.
* ipa-inline-analysis.c (evaluate_conditions_for_edge):
Generalize to also handle types. Rename to ...
(evaluate_properties_for_edge): Use instead of
evaluate_conditions_for_edge.
(estimate_edge_devirt_benefit): New function.
(estimate_calls_size_and_time): Use it.
(estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,)
(inline_merge_summary): Update.
(do_estimate_edge_time, do_estimate_edge_growth): Update. Calculate
parameter information at the call site and pass it on to subroutines.
* tree-inline.c (estimate_num_insns): Distinguish between direct and
indirect calls.
(init_inline_once): Set size and time costs or indirect calls.
* tree-inline.h (eni_weights): Add indirect_call_cost.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181377
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 15 Nov 2011 00:18:38 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181376
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 15 Nov 2011 00:12:45 +0000 (00:12 +0000)]
2011-11-15 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/51005
* tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to
mark_basic_block_deleted.
(update_worklist): Inline purge_bbs.
(purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry)
(delete_block_update_dominator_info): Remove.
(replace_block_by): Remove update_vops parameter. Partially evaluate
for update_vops == false.
(apply_clusters): Remove update_vops parameter. Remove update_vops
argument in replace_block_by call.
(update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test.
(tail_merge_optimize): Remove update_vops argument to apply_clusters.
Remove call to purge_bbs. Add calls to calculate_dominance_info and
free_dominance_info. Add MAY_HAVE_DEBUG_STMTS before calling
update_debug_stmts. Mark vop var for renaming, if necessary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181372
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Mon, 14 Nov 2011 23:31:13 +0000 (23:31 +0000)]
PR rtl-optimization/51051
* cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the
move would cause fallthrough into the exit block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181371
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 14 Nov 2011 22:59:02 +0000 (22:59 +0000)]
rs6000: Rewrite sync patterns for atomic; expand early.
The conversion of the __sync post-reload splitters was half
complete. Since there are nearly no restrictions on what may
appear between LL and SC, expand all the patterns immediatly.
This allows significantly easier code generation for subword
atomic operations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181370
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 14 Nov 2011 22:27:13 +0000 (22:27 +0000)]
* config/i386/sse.md (round<mode>2): Use register_operand for
operand 1 predicate.
(round<mode>2_sfix): Ditto.
(round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181369
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 14 Nov 2011 22:26:45 +0000 (22:26 +0000)]
runtime: Use some of 6g runtime.c for easier merging.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181368
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Mon, 14 Nov 2011 21:44:01 +0000 (21:44 +0000)]
* gcov.c (canonicalize_name): Protect use of S_ISLNK.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181367
138bc75d-0d04-0410-961f-
82ee72b054a4
torvald [Mon, 14 Nov 2011 21:06:15 +0000 (21:06 +0000)]
Trivial: add cleanup-tree-dump in testcase, fix typo in comment.
gcc/testsuite:
* g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181366
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [Mon, 14 Nov 2011 21:05:12 +0000 (21:05 +0000)]
gcc:
2011-11-14 Jan Hubicka <jh@suse.cz>
* config/i386/i386.c (core cost model): Correct pasto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181365
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 14 Nov 2011 20:25:14 +0000 (20:25 +0000)]
* gcc.target/i386/avx-recip-vec.c: New test.
* gcc.target/i386/avx-lrintf-vec.c: Ditto.
* gcc.target/i386/avx-lrint-vec.c: Ditto.
* gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c.
* gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c.
* gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c.
* gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c.
* gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c.
* gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c.
* gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c.
* gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c.
* gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c.
* gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c.
* gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c.
* gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181364
138bc75d-0d04-0410-961f-
82ee72b054a4