OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years agoFix minor issues
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

12 years agoPR target/50493
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

12 years agogcc:
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

12 years ago2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
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

12 years ago2011-11-19 Tobias Burnus <burnus@net-b.de>
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

12 years ago * config/i386/i386.c (atom_cost): Disable SSE loop until alignment
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

12 years agoDaily bump.
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

12 years ago * gcc.dg/cpp/assert4.c: Test __linux__, not __gnu_linux__.
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

12 years ago2011-11-18 Steve Ellcey <sje@cup.hp.com>
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

12 years ago * config/cris/cris.c (cris_function_value_regno_p): Make static.
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

12 years agogcc/testsuite/ChangeLog
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

12 years agoAdd _mm_stream_si64.
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

12 years agogcc/testsuite/ChangeLog
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

12 years ago * gcc.c-torture/compile/pr44707.c: Do not assume assembler
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

12 years agogcc/
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

12 years agoSupport libitm on Solaris 8 and 9/x86 with Sun as
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

12 years ago2011-11-18 Harti Brandt <hartmut.brandt@dlr.de>
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

12 years ago/cp
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

12 years ago2011-11-18 Martin Jambor <mjambor@suse.cz>
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

12 years ago2011-11-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
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

12 years agoPR c++/51191 - ICE on alias of alias template instantiation
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

12 years agogcc/ada:
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

12 years ago2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
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

12 years agogcc/ada:
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

12 years agotoplevel:
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

12 years ago PR tree-optimization/51118
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

12 years ago * MAINTAINERS (Write After Approval): Add myself.
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

12 years ago PR bootstrap/51134
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

12 years agoPR libstdc++/51181
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

12 years agoDaily bump.
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

12 years ago * testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
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

12 years agoMerge branch 'rth/atomic/ppc'
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

12 years agoRemove accidentally committed duplicate ChangeLog entry.
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

12 years ago2011-11-17 Steve Ellcey <sje@cup.hp.com>
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

12 years ago2011-11-17 Andrew Pinski <apinski@cavium.com>
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

12 years ago PR c++/51186
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

12 years ago * lib/gcc-simulate-thread.exp (simulate-thread): Improve error message.
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

12 years ago2011-11-17 Andrew MacLeod <amacleod@redhat.com>
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

12 years ago * lib/gcc-simulate-thread.exp (simulate-thread): Run on all targets.
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

12 years agoUnify implementations of __builtin_mem_*_fence and __sync_synchronize.
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

12 years ago PR rtl-optimization/50663
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

12 years ago N3203
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

12 years ago PR c++/51137
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

12 years ago PR middle-end/50644
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

12 years agoProvide all dummy functions in alloc_cpp.cc, eh_cpp.cc
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

12 years agoSkip simulate-thread tests on all alpha targets
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

12 years ago * doc/xml/manual/status_cxx2011.xml: Status of piecewise construction
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

12 years agoCopy ALIAS_SET_MEMORY_BARRIER when creating a new MEM for atomic ops.
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

12 years ago * inclhack.def (aix_once_init_[12]): New fixes.
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

12 years agoDaily bump.
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

12 years ago * gcc.dg/tm/memopt-6.c: Cleanup tmedge tree dump.
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

12 years agogcc/fortran
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

12 years ago * config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
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

12 years ago * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
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

12 years ago * config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
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

12 years ago2011-10-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
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

12 years ago2011-11-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
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

12 years ago* doc/invoke.texi: Document AMD bdver1 and btver1.
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

12 years ago2011-11-16 Richard Earnshaw <rearnsha@arm.com>
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

12 years ago2011-11-16 Andrew MacLeod <amacleod@redhat.com>
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

12 years ago PR tree-optimization/49960
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

12 years ago PR tree-optimization/49960
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

12 years ago PR tree-optimization/49960
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

12 years ago PR bootstrap/51098
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

12 years ago2011-11-16 Paolo Carlini <paolo.carlini@oracle.com>
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

12 years ago2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
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

12 years ago2011-11-16 Tristan Gingold <gingold@adacore.com>
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

12 years ago * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
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

12 years agoDaily bump.
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

12 years agoalpha: Convert to atomic optabs.
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

12 years ago2011-11-15 Paolo Carlini <paolo.carlini@oracle.com>
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

12 years ago2011-11-16 Tom de Vries <tom@codesourcery.com>
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

12 years ago2011-11-16 Tom de Vries <tom@codesourcery.com>
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

12 years ago PR rtl-optimization/51051
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

12 years ago * gcc.target/i386/sse2-cvt-vec.c: New test.
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

12 years ago * config/epiphany/epiphany.md (mov<mode>cc): Fix code to
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

12 years ago * config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
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

12 years agogcc/testsuite:
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

12 years agoRequire parentheses when parsing transaction expressions.
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

12 years ago2011-11-15 Jason Dick <dickphd@gmail.com>
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

12 years ago2011-11-15 Tristan Gingold <gingold@adacore.com>
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

12 years ago2011-11-15 Tristan Gingold <gingold@adacore.com>
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

12 years agogcc/
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

12 years ago * ipa-cp.c (ipa_value_from_jfunc): Make global.
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

12 years agoDaily bump.
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

12 years ago2011-11-15 Tom de Vries <tom@codesourcery.com>
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

12 years ago PR rtl-optimization/51051
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

12 years agors6000: Rewrite sync patterns for atomic; expand early.
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

12 years ago * config/i386/sse.md (round<mode>2): Use register_operand for
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

12 years agoruntime: Use some of 6g runtime.c for easier merging.
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

12 years ago * gcov.c (canonicalize_name): Protect use of S_ISLNK.
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

12 years agoTrivial: add cleanup-tree-dump in testcase, fix typo in comment.
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

12 years agogcc:
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

12 years ago * gcc.target/i386/avx-recip-vec.c: New test.
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

12 years ago PR c++/51107
jason [Mon, 14 Nov 2011 20:05:12 +0000 (20:05 +0000)]
PR c++/51107
* typeck.c (check_literal_operator_args): Add processing_specialization
to check for void template fn. Test for exact arity for non-template fn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181363 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/i386/sse.md (round<mode>2_sfix): New expander.
uros [Mon, 14 Nov 2011 19:36:33 +0000 (19:36 +0000)]
* config/i386/sse.md (round<mode>2_sfix): New expander.
(round<mode>2_vec_pack_sfix): Ditto.
(<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
* config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND,
V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND,
V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types.
* config/i386/i386.c (ix86_builtins): Add
IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and
IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines.
(bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256},
__builtin_ia32_roundpd_az_vec_pack_sfix{,256},
__builtin_ia32_{floorps,ceilps}_sfix{,256}and
__builtin_ia32_roundps_az_sfix{,256} descriptions.
(ix86_expand_sse_round_vec_pack_sfix): New.
(ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND,
V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and
V8SI_FTYPE_V4DF_V4DF_ROUND types.  Check last argument of
CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix,
CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256.
(ix86_builtin_vectorized_function): Handle
BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and
BUILT_IN_{I,L,LL}ROUND{,F}

testsuite/ChangeLog:

* gcc.target/i386/sse4_1-floor-sfix-vec.c: New test.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-floor-sfix-vec.c: Ditto.
* gcc.target/i386/avx-floorf-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-ceil-sfix-vec.c: Ditto.
* gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-round-sfix-vec.c: Ditto.
* gcc.target/i386/avx-roundf-sfix-vec.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181361 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoCheck ia32 instead of ilp32.
hjl [Mon, 14 Nov 2011 18:12:24 +0000 (18:12 +0000)]
Check  ia32 instead of ilp32.

2011-11-14  H.J. Lu  <hongjiu.lu@intel.com>

* testsuite/lib/libitm.exp: Check ia32 instead of ilp32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181360 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/6936
jason [Mon, 14 Nov 2011 17:55:57 +0000 (17:55 +0000)]
PR c++/6936
PR c++/25994
PR c++/26256
PR c++/30195
* search.c (lookup_field_1): Look through USING_DECL.
(lookup_field_r): Call lookup_fnfields_slot instead of
lookup_fnfields_1.
* semantics.c (finish_member_declaration): Remove the check that
prevents USING_DECLs from being verified by
pushdecl_class_level. Call add_method for using declarations that
designates functions if the using declaration is in a template
class. Set DECL_IGNORED_P on class-scope using declarations.
* typeck.c (build_class_member_access_expr): Handle USING_DECLs.
* class.c (check_field_decls): Keep using declarations.
(add_method): Remove two diagnostics about conflicting using
declarations.
* parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
* decl.c (start_enum): Call xref_tag whenever possible.
* cp-tree.h (strip_using_decl): Declare, and reident the previous
function.
* name-lookup.c (strip_using_decl): New function.
(supplement_binding_1): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped.  Also
check that the target decl and the target bval does not refer to
the same declaration. Allow pushing an enum multiple times in a
template class. Adjustment to diagnose using redeclarations. Call
diagnose_name_conflict.
(push_class_level_binding): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped. Return
true if both decl and bval refer to USING_DECLs and are dependent.
(diagnose_name_conflict): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181359 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/50598
hubicka [Mon, 14 Nov 2011 17:32:47 +0000 (17:32 +0000)]
PR middle-end/50598
* cgraph.h (varpool_externally_visible_p): Declare.
(varpool_add_new_variable): Declare.
* tree-emultls.c (get_emutls_init_templ_addr,
new_emutls_decl): Use varpool_add_new_variable.
* ipa.c (varpool_externally_visible_p): Export.
* varpool.c (varpool_add_new_variable): New function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181358 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.target/i386/sw-1.c: Force rep;movsb.
hubicka [Mon, 14 Nov 2011 17:28:11 +0000 (17:28 +0000)]
* gcc.target/i386/sw-1.c: Force rep;movsb.

        * config/i386/i386.h (processor_costs): Add second dimension to
        stringop_algs array.
        * config/i386/i386.c (cost models): Initialize second dimension of
        stringop_algs arrays.
(core_cost): New costs based on generic64 costs with updated stringop
values.
        (promote_duplicated_reg): Add support for vector modes, add
        declaration.
        (promote_duplicated_reg_to_size): Likewise.
(processor_target): Set core costs for core variants.
        (expand_set_or_movmem_via_loop_with_iter): New function.
        (expand_set_or_movmem_via_loop): Enable reuse of the same iters in
        different loops, produced by this function.
        (emit_strset): New function.
        (expand_movmem_epilogue): Add epilogue generation for bigger sizes,
        use SSE-moves where possible.
        (expand_setmem_epilogue): Likewise.
        (expand_movmem_prologue): Likewise for prologue.
        (expand_setmem_prologue): Likewise.
        (expand_constant_movmem_prologue): Likewise.
        (expand_constant_setmem_prologue): Likewise.
        (decide_alg): Add new argument align_unknown.  Fix algorithm of
        strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop
        (decide_alignment): Update desired alignment according to chosen move
        mode.
        (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves.
        (ix86_expand_setmem): Likewise.
        (ix86_slow_unaligned_access): Implementation of new hook
        slow_unaligned_access.
        * config/i386/i386.md (strset): Enable half-SSE moves.
        * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si.
        (vec_dupv2di): Add expand for vec_dupv2di.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181357 138bc75d-0d04-0410-961f-82ee72b054a4