platform/upstream/gcc.git
12 years agore PR tree-optimization/51118 (ICE: tree check: expected tree that contains ‘typed...
Uros Bizjak [Fri, 18 Nov 2011 09:54:02 +0000 (10:54 +0100)]
re PR tree-optimization/51118 (ICE: tree check: expected tree that contains ‘typed’ structure, have ‘block’ in fold_checksum_tree, at fold-const.c:14160)

PR tree-optimization/51118
* fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
before using TREE_TYPE accessor on expr.

From-SVN: r181468

12 years ago* MAINTAINERS (Write After Approval): Add myself.
Jiangning Liu [Fri, 18 Nov 2011 07:44:19 +0000 (07:44 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r181467

12 years agore PR target/51134 (x86 memset/memcpy expansion is broken)
Jan Hubicka [Fri, 18 Nov 2011 02:18:28 +0000 (03:18 +0100)]
re PR target/51134 (x86 memset/memcpy expansion is broken)

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.

From-SVN: r181466

12 years agore PR libstdc++/51181 (libstdc++.so __sync_sub_and_fetch_4 linkage error causing...
Richard Henderson [Fri, 18 Nov 2011 01:38:48 +0000 (17:38 -0800)]
re PR libstdc++/51181 (libstdc++.so __sync_sub_and_fetch_4 linkage error causing many test suite failures on m68k-linux)

PR libstdc++/51181
        * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use
        of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4.

From-SVN: r181465

12 years agoDaily bump.
GCC Administrator [Fri, 18 Nov 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181464

12 years agotypesizes.cc: Do not run on darwin.
Jonathan Wakely [Fri, 18 Nov 2011 00:15:55 +0000 (00:15 +0000)]
typesizes.cc: Do not run on darwin.

* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
on darwin.

From-SVN: r181460

12 years agoMerge branch 'rth/atomic/ppc'
Richard Henderson [Thu, 17 Nov 2011 22:12:31 +0000 (14:12 -0800)]
Merge branch 'rth/atomic/ppc'

From-SVN: r181459

12 years agoRemove accidentally committed duplicate ChangeLog entry.
Jonathan Wakely [Thu, 17 Nov 2011 22:10:09 +0000 (22:10 +0000)]
Remove accidentally committed duplicate ChangeLog entry.

From-SVN: r181458

12 years agore PR middle-end/51144 (r181279 possibly miscompilation of genmddeps)
Steve Ellcey [Thu, 17 Nov 2011 21:22:11 +0000 (21:22 +0000)]
re PR middle-end/51144 (r181279 possibly miscompilation of genmddeps)

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.

From-SVN: r181457

12 years agohost-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.
Andrew Pinski [Thu, 17 Nov 2011 21:01:08 +0000 (21:01 +0000)]
host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.

2011-11-17  Andrew Pinski  <apinski@cavium.com>

* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.

From-SVN: r181456

12 years agore PR c++/51186 (declaring main() with auto but without --std=c++11 gives inconsisten...
Jason Merrill [Thu, 17 Nov 2011 21:00:30 +0000 (16:00 -0500)]
re PR c++/51186 (declaring main() with auto but without --std=c++11 gives inconsistent error messages)

PR c++/51186
* decl.c (grokdeclarator): Improve C++98 trailing return diagnostic.

From-SVN: r181455

12 years ago* lib/gcc-simulate-thread.exp (simulate-thread): Improve error message.
Uros Bizjak [Thu, 17 Nov 2011 21:00:16 +0000 (22:00 +0100)]
* lib/gcc-simulate-thread.exp (simulate-thread): Improve error message.

From-SVN: r181454

12 years agobuiltins.c (expand_builtin): Remove 4th parameter representing weak/strong mode when...
Andrew MacLeod [Thu, 17 Nov 2011 20:51:51 +0000 (20:51 +0000)]
builtins.c (expand_builtin): Remove 4th parameter representing weak/strong mode when...

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.

From-SVN: r181453

12 years agogcc-simulate-thread.exp (simulate-thread): Run on all targets.
Uros Bizjak [Thu, 17 Nov 2011 19:56:39 +0000 (20:56 +0100)]
gcc-simulate-thread.exp (simulate-thread): Run on all targets.

* 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.

From-SVN: r181452

12 years agoUnify implementations of __builtin_mem_*_fence and __sync_synchronize.
Richard Henderson [Thu, 17 Nov 2011 19:29:04 +0000 (11:29 -0800)]
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.

From-SVN: r181451

12 years agore PR rtl-optimization/50663 (conditional propagation missed in cprop.c pass)
Bin Cheng [Thu, 17 Nov 2011 17:11:16 +0000 (17:11 +0000)]
re PR rtl-optimization/50663 (conditional propagation missed in cprop.c pass)

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.

From-SVN: r181446

12 years agoclass.c (add_implicitly_declared_members): Update move conditions.
Jason Merrill [Thu, 17 Nov 2011 16:35:11 +0000 (11:35 -0500)]
class.c (add_implicitly_declared_members): Update move conditions.

N3203
* class.c (add_implicitly_declared_members): Update move
conditions.

From-SVN: r181445

12 years agore PR c++/51137 ([C++0x] [4.7 Regression] ICE with -std=c++0x and virtual inheritance)
Jason Merrill [Thu, 17 Nov 2011 16:34:59 +0000 (11:34 -0500)]
re PR c++/51137 ([C++0x] [4.7 Regression] ICE with -std=c++0x and virtual inheritance)

PR c++/51137
* class.c (build_base_path): Don't do calculation in templates.

From-SVN: r181444

12 years agore PR tree-optimization/50644 (ICE in set_is_used added today)
Michael Matz [Thu, 17 Nov 2011 16:03:56 +0000 (16:03 +0000)]
re PR tree-optimization/50644 (ICE in set_is_used added today)

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.

From-SVN: r181443

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

From-SVN: r181442

12 years agoSkip simulate-thread tests on all alpha targets
Rainer Orth [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*-*-*.

From-SVN: r181441

12 years agostatus_cxx2011.xml: Status of piecewise construction and ios_base::failure.
Jonathan Wakely [Thu, 17 Nov 2011 10:14:11 +0000 (10:14 +0000)]
status_cxx2011.xml: Status of piecewise construction and ios_base::failure.

* 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.

From-SVN: r181438

12 years agoCopy ALIAS_SET_MEMORY_BARRIER when creating a new MEM for atomic ops.
Richard Henderson [Thu, 17 Nov 2011 04:44:27 +0000 (20:44 -0800)]
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.

From-SVN: r181436

12 years agoinclhack.def (aix_once_init_[12]): New fixes.
David Edelsohn [Thu, 17 Nov 2011 02:28:07 +0000 (02:28 +0000)]
inclhack.def (aix_once_init_[12]): New fixes.

        * inclhack.def (aix_once_init_[12]): New fixes.
        * fixincl.x: Regenerate.
        * tests/base/pthread.h: Update.

From-SVN: r181434

12 years agoDaily bump.
GCC Administrator [Thu, 17 Nov 2011 00:18:35 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181431

12 years agomemopt-6.c: Cleanup tmedge tree dump.
Uros Bizjak [Wed, 16 Nov 2011 23:09:17 +0000 (00:09 +0100)]
memopt-6.c: Cleanup tmedge tree dump.

* 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.

From-SVN: r181426

12 years agore PR fortran/39427 (F2003: Procedures with same name as types/type constructors)
Tobias Burnus [Wed, 16 Nov 2011 21:37:43 +0000 (22:37 +0100)]
re PR fortran/39427 (F2003: Procedures with same name as types/type constructors)

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.

From-SVN: r181425

12 years ago* config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
Joseph Myers [Wed, 16 Nov 2011 20:35:27 +0000 (20:35 +0000)]
* config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.

From-SVN: r181423

12 years agors6000.c (rs6000_xcoff_section_type_flags): Default to minimum alignment if decl...
David Edelsohn [Wed, 16 Nov 2011 18:33:52 +0000 (18:33 +0000)]
rs6000.c (rs6000_xcoff_section_type_flags): Default to minimum alignment if decl is NULL.

        * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
        Default to minimum alignment if decl is NULL.

From-SVN: r181422

12 years agosse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode sequence for AVX.
Uros Bizjak [Wed, 16 Nov 2011 18:28:08 +0000 (19:28 +0100)]
sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode sequence for AVX.

* config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
sequence for AVX.
(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.

From-SVN: r181421

12 years agopr30858.c: Update expected output for architectures with multiple vector sizes.
Matthew Gretton-Dann [Wed, 16 Nov 2011 18:19:37 +0000 (18:19 +0000)]
pr30858.c: Update expected output for architectures with multiple vector sizes.

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.

From-SVN: r181420

12 years agolib1funcs.asm (udivsi3): Add support for divide functions.
Matthew Gretton-Dann [Wed, 16 Nov 2011 18:02:12 +0000 (18:02 +0000)]
lib1funcs.asm (udivsi3): Add support for divide functions.

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.

From-SVN: r181419

12 years ago* doc/invoke.texi: Document AMD bdver1 and btver1.
Venkataramanan Kumar [Wed, 16 Nov 2011 17:31:38 +0000 (17:31 +0000)]
* doc/invoke.texi: Document AMD bdver1 and btver1.

From-SVN: r181417

12 years agore PR target/49641 (Wrong code for ARMv4T and stmia)
Richard Earnshaw [Wed, 16 Nov 2011 17:02:44 +0000 (17:02 +0000)]
re PR target/49641 (Wrong code for ARMv4T and stmia)

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.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>
Co-Authored-By: Sebastian Huber <sebastian.huber@embedded-brains.de>
From-SVN: r181416

12 years agore PR libstdc++/51102 (missing macros in <atomic>)
Andrew MacLeod [Wed, 16 Nov 2011 15:43:15 +0000 (15:43 +0000)]
re PR libstdc++/51102 (missing macros in <atomic>)

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.

From-SVN: r181414

12 years agore PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self...
Razya Ladelsky [Wed, 16 Nov 2011 15:01:47 +0000 (15:01 +0000)]
re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)

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.

From-SVN: r181411

12 years agore PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self...
Razya Ladelsky [Wed, 16 Nov 2011 14:59:14 +0000 (14:59 +0000)]
re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)

PR tree-optimization/49960

* gcc.dg/autopar/pr49960.c: New test.
* gcc.dg/autopar/pr49960-1.c: New test.

From-SVN: r181410

12 years agore PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self...
Razya Ladelsky [Wed, 16 Nov 2011 14:58:04 +0000 (14:58 +0000)]
re PR tree-optimization/49960 (inconsistent outputs when enabling autopar for a self -dependence testcase)

PR tree-optimization/49960

* gcc.dg/autopar/pr49960.c: New test.
* gcc.dg/autopar/pr49960-1.c: New test.

From-SVN: r181409

12 years agore PR bootstrap/51098 (bootstrap failed on avx i686, svn revision 181259 to 181267)
Uros Bizjak [Wed, 16 Nov 2011 14:51:13 +0000 (15:51 +0100)]
re PR bootstrap/51098 (bootstrap failed on avx i686, svn revision 181259 to 181267)

PR bootstrap/51098
* acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector.
* configure: Regenerate.

From-SVN: r181408

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

From-SVN: r181407

12 years agore PR middle-end/50325 (76 new fails with rev. 177691)
Andreas Krebbel [Wed, 16 Nov 2011 09:27:56 +0000 (09:27 +0000)]
re PR middle-end/50325 (76 new fails with rev. 177691)

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.

From-SVN: r181405

12 years agoqrnnd.S: Use specific pseudos for VMS.
Tristan Gingold [Wed, 16 Nov 2011 08:36:46 +0000 (08:36 +0000)]
qrnnd.S: Use specific pseudos for VMS.

2011-11-16  Tristan Gingold  <gingold@adacore.com>

* config/alpha/qrnnd.S: Use specific pseudos for VMS.

From-SVN: r181403

12 years agoi386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT.
Joseph Myers [Wed, 16 Nov 2011 00:21:56 +0000 (00:21 +0000)]
i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT.

* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
ELF_STRING_LIMIT.

From-SVN: r181400

12 years agoDaily bump.
GCC Administrator [Wed, 16 Nov 2011 00:18:50 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181399

12 years agoalpha: Convert to atomic optabs.
Richard Henderson [Tue, 15 Nov 2011 23:43:08 +0000 (15:43 -0800)]
alpha: Convert to atomic optabs.

From-SVN: r181395

12 years agore PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.)
Paolo Carlini [Tue, 15 Nov 2011 23:28:49 +0000 (23:28 +0000)]
re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.)

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.

From-SVN: r181394

12 years agopr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
Tom de Vries [Tue, 15 Nov 2011 23:04:46 +0000 (23:04 +0000)]
pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.

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.

From-SVN: r181393

12 years agotree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.
Tom de Vries [Tue, 15 Nov 2011 23:04:39 +0000 (23:04 +0000)]
tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.

2011-11-16  Tom de Vries  <tom@codesourcery.com>

* tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.

From-SVN: r181392

12 years agore PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)
Alan Modra [Tue, 15 Nov 2011 22:10:46 +0000 (08:40 +1030)]
re PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)

PR rtl-optimization/51051
PR bootstrap/51086
* function.c (thread_prologue_and_epilogue_insns): Guard
emitting return with single_succ_p test.

From-SVN: r181391

12 years agosse2-cvt-vec.c: New test.
Uros Bizjak [Tue, 15 Nov 2011 19:40:04 +0000 (20:40 +0100)]
sse2-cvt-vec.c: New test.

* 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.

From-SVN: r181390

12 years agoepiphany.md (mov<mode>cc): Fix code to get mode from CMP_OP1 if CMP_OP0 is VOIDmode.
Joern Rennecke [Tue, 15 Nov 2011 19:06:32 +0000 (19:06 +0000)]
epiphany.md (mov<mode>cc): Fix code to get mode from CMP_OP1 if CMP_OP0 is VOIDmode.

        * config/epiphany/epiphany.md (mov<mode>cc): Fix code to
        get mode from CMP_OP1 if CMP_OP0 is VOIDmode.

From-SVN: r181388

12 years agosse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
Uros Bizjak [Tue, 15 Nov 2011 18:45:20 +0000 (19:45 +0100)]
sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.

* 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.

From-SVN: r181387

12 years agogcc-simulate-thread.exp (simulate-thread): Do not run on powerpc*-*-darwin* targets.
Iain Sandoe [Tue, 15 Nov 2011 13:16:17 +0000 (13:16 +0000)]
gcc-simulate-thread.exp (simulate-thread): Do not run on powerpc*-*-darwin* targets.

gcc/testsuite:

* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
powerpc*-*-darwin* targets.

From-SVN: r181384

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

From-SVN: r181383

12 years agore PR libstdc++/51133 (Incorrect implementation of std::tr1::hermite())
Jason Dick [Tue, 15 Nov 2011 10:49:00 +0000 (10:49 +0000)]
re PR libstdc++/51133 (Incorrect implementation of std::tr1::hermite())

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.

From-SVN: r181381

12 years agoincpath.c (get_added_cpp_dirs): New function.
Tristan Gingold [Tue, 15 Nov 2011 10:25:36 +0000 (10:25 +0000)]
incpath.c (get_added_cpp_dirs): New function.

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.

From-SVN: r181380

12 years agoc-pragma.h (pragma_extern_prefix): Declare.
Tristan Gingold [Tue, 15 Nov 2011 10:22:55 +0000 (10:22 +0000)]
c-pragma.h (pragma_extern_prefix): Declare.

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.

From-SVN: r181379

12 years agore PR target/49868 (Implement named address space to place/access data in flash memory)
Georg-Johann Lay [Tue, 15 Nov 2011 09:01:46 +0000 (09:01 +0000)]
re PR target/49868 (Implement named address space to place/access data in flash memory)

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.

From-SVN: r181378

12 years agoipa-cp.c (ipa_value_from_jfunc): Make global.
Maxim Kuvyrkov [Tue, 15 Nov 2011 03:46:08 +0000 (03:46 +0000)]
ipa-cp.c (ipa_value_from_jfunc): Make global.

* 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.

From-SVN: r181377

12 years agoDaily bump.
GCC Administrator [Tue, 15 Nov 2011 00:18:38 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181376

12 years agore PR tree-optimization/51005 (-ftree-tail-merge slows down compilation of 20001226...
Tom de Vries [Tue, 15 Nov 2011 00:12:45 +0000 (00:12 +0000)]
re PR tree-optimization/51005 (-ftree-tail-merge slows down compilation of 20001226-1.c)

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.

From-SVN: r181372

12 years agore PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)
Bernd Schmidt [Mon, 14 Nov 2011 23:31:13 +0000 (23:31 +0000)]
re PR rtl-optimization/51051 (build fails on cris-elf building libstdc++-v3)

PR rtl-optimization/51051
* cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the
move would cause fallthrough into the exit block.

From-SVN: r181371

12 years agors6000: Rewrite sync patterns for atomic; expand early.
Richard Henderson [Mon, 14 Nov 2011 22:59:02 +0000 (14:59 -0800)]
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.

From-SVN: r181370

12 years agosse.md (round<mode>2): Use register_operand for operand 1 predicate.
Uros Bizjak [Mon, 14 Nov 2011 22:27:13 +0000 (23:27 +0100)]
sse.md (round<mode>2): Use register_operand for operand 1 predicate.

* 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.

From-SVN: r181369

12 years agoruntime: Use some of 6g runtime.c for easier merging.
Ian Lance Taylor [Mon, 14 Nov 2011 22:26:45 +0000 (22:26 +0000)]
runtime: Use some of 6g runtime.c for easier merging.

From-SVN: r181368

12 years ago* gcov.c (canonicalize_name): Protect use of S_ISLNK.
Nathan Sidwell [Mon, 14 Nov 2011 21:44:01 +0000 (21:44 +0000)]
* gcov.c (canonicalize_name): Protect use of S_ISLNK.

From-SVN: r181367

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

From-SVN: r181366

12 years agoi386.c (core cost model): Correct pasto.
Jan Hubicka [Mon, 14 Nov 2011 21:05:12 +0000 (22:05 +0100)]
i386.c (core cost model): Correct pasto.

gcc:

2011-11-14  Jan Hubicka  <jh@suse.cz>

* config/i386/i386.c (core cost model): Correct pasto.

From-SVN: r181365

12 years agoavx-recip-vec.c: New test.
Uros Bizjak [Mon, 14 Nov 2011 20:25:14 +0000 (21:25 +0100)]
avx-recip-vec.c: New test.

* 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.

From-SVN: r181364

12 years agore PR c++/51107 ([C++11] Accepts invalid literal operator with void argument list.)
Ed Smith-Rowland [Mon, 14 Nov 2011 20:05:12 +0000 (20:05 +0000)]
re PR c++/51107 ([C++11] Accepts invalid literal operator with void argument list.)

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.

From-SVN: r181363

12 years agosse.md (round<mode>2_sfix): New expander.
Uros Bizjak [Mon, 14 Nov 2011 19:36:33 +0000 (20:36 +0100)]
sse.md (round<mode>2_sfix): New expander.

* 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.

From-SVN: r181361

12 years agoCheck ia32 instead of ilp32.
H.J. Lu [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.

From-SVN: r181360

12 years agore PR c++/6936 (member "using" binds wrong)
Fabien Chêne [Mon, 14 Nov 2011 17:55:57 +0000 (18:55 +0100)]
re PR c++/6936 (member "using" binds wrong)

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.

From-SVN: r181359

12 years agore PR middle-end/50598 (Undefined symbols: "___emutls_v.*", ... on *-apple-darwin*)
Jan Hubicka [Mon, 14 Nov 2011 17:32:47 +0000 (17:32 +0000)]
re PR middle-end/50598 (Undefined symbols: "___emutls_v.*", ... on *-apple-darwin*)

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.

From-SVN: r181358

12 years agosw-1.c: Force rep;movsb.
Zolotukhin Michael [Mon, 14 Nov 2011 17:28:11 +0000 (17:28 +0000)]
sw-1.c: Force rep;movsb.

* 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.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r181357

12 years agore PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
Dimitrios Apostolou [Mon, 14 Nov 2011 16:55:56 +0000 (16:55 +0000)]
re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)

PR bootstrap/51094
PR middle-end/51116
* config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove.
* varasm.c (default_elf_internal_label): Remove.

From-SVN: r181355

12 years agogcov.c (generate_results): Add missing semicolon and correct indent.
Kai Tietz [Mon, 14 Nov 2011 16:38:23 +0000 (17:38 +0100)]
gcov.c (generate_results): Add missing semicolon and correct indent.

        * gcov.c (generate_results): Add missing semicolon and
        correct indent.

From-SVN: r181353

12 years agore PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on...
Iain Sandoe [Mon, 14 Nov 2011 11:53:33 +0000 (11:53 +0000)]
re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on *-apple-darwin*)

gcc/testsuite:

PR testsuite/51059
* gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
dg-additional-options.

From-SVN: r181350

12 years agocmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the pointer...
Paolo Carlini [Mon, 14 Nov 2011 11:29:26 +0000 (11:29 +0000)]
cmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the pointer parameter.

2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
not viable anyway due to the pointer parameter.

From-SVN: r181349

12 years agore PR fortran/51073 (_gfortran_caf_register incorrectly assumes malloc(0) returns...
Tobias Burnus [Mon, 14 Nov 2011 08:15:09 +0000 (09:15 +0100)]
re PR fortran/51073 (_gfortran_caf_register incorrectly assumes malloc(0) returns non-NULL)

2011-11-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51073
        * trans-decl.c (generate_coarray_sym_init): Handle zero-sized
        * arrays.

From-SVN: r181348

12 years agore PR bootstrap/51112 (LTO bootstrap failed with bootstrap-profiled)
Ira Rosen [Mon, 14 Nov 2011 06:41:09 +0000 (06:41 +0000)]
re PR bootstrap/51112 (LTO bootstrap failed with bootstrap-profiled)

        PR bootstrap/51112
        * tree-vect-stmts.c (vectorizable_condition): Initialize
        comp_vectype.

From-SVN: r181347

12 years agoFix a cross reference.
Mingjie Xing [Mon, 14 Nov 2011 05:53:18 +0000 (05:53 +0000)]
Fix a cross reference.

From-SVN: r181346

12 years agoDaily bump.
GCC Administrator [Mon, 14 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181345

12 years agocmath (atan2, [...]): Simplify constraining on the return type.
Paolo Carlini [Sun, 13 Nov 2011 23:51:42 +0000 (23:51 +0000)]
cmath (atan2, [...]): Simplify constraining on the return type.

2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
constraining on the return type.
* include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
nextafter, remainder, remquo): Likewise.

From-SVN: r181341

12 years agore PR target/50694 (SH Target: SH2A little endian does not actually work)
Oleg Endo [Sun, 13 Nov 2011 23:00:10 +0000 (23:00 +0000)]
re PR target/50694 (SH Target: SH2A little endian does not actually work)

PR target/50694
* config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A):
New macros.
(DRIVER_SELF_SPECS): Use new macros to filter out
unsupported options taking the default configuration into
account.
* gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is
specified.  Remove redundant runtime checks.
* gcc.target/sh/20080410-1.c: Skip if -mb is specified.
Allow for other than -m4.  Fix typos in comments.

From-SVN: r181340

12 years agoconfig.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.
John David Anglin [Sun, 13 Nov 2011 20:17:01 +0000 (20:17 +0000)]
config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.

* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
tmake_file list.
* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
* config/pa/t-stublib64: Delete.

From-SVN: r181339

12 years agoinstall.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*.
Jonathan Wakely [Sun, 13 Nov 2011 16:39:22 +0000 (16:39 +0000)]
install.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*.

* doc/install.texi (Specific): Fix anchor for
x86_64-*-solaris2.1[0-9]*.

From-SVN: r181338

12 years agogcov.c (source_prefix, [...]): New globals.
Nathan Sidwell [Sun, 13 Nov 2011 10:26:23 +0000 (10:26 +0000)]
gcov.c (source_prefix, [...]): New globals.

* gcov.c (source_prefix, source_length): New globals.
(flag_relative_only): Likewise.
(print_usage, options, process_args): Update.
(generate_results): Use coverage.name, check
flag_relative_only. Adjust messages.
(find_source): Check source_prefix.
(output_lines): Use coverage.name, adjust messages.
* doc/gcov.texi (Invoking Gcov): Document new options.

From-SVN: r181335

12 years agore PR c++/986 (g++ misses warning for reference on temporary that invokes undefined...
Jason Merrill [Sun, 13 Nov 2011 05:09:36 +0000 (00:09 -0500)]
re PR c++/986 (g++ misses warning for reference on temporary that invokes undefined behaviour)

PR c++/986
* call.c (set_up_extended_ref_temp): Warn about references
bound to non-static reference members.
* init.c (perform_member_init): Pass in the member.

From-SVN: r181334

12 years ago* using.xml: Use GNU/Linux.
Gerald Pfeifer [Sun, 13 Nov 2011 04:27:22 +0000 (04:27 +0000)]
* using.xml: Use GNU/Linux.

From-SVN: r181333

12 years agore PR c++/51060 (Temporary object stack space is not re-used)
Jason Merrill [Sun, 13 Nov 2011 00:44:39 +0000 (19:44 -0500)]
re PR c++/51060 (Temporary object stack space is not re-used)

PR c++/51060
* gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
(gimplify_modify_expr): Don't try to simplify it.
* cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.

From-SVN: r181332

12 years agoDaily bump.
GCC Administrator [Sun, 13 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181331

12 years agore PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
Dimitrios Apostolou [Sat, 12 Nov 2011 21:40:07 +0000 (21:40 +0000)]
re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)

PR bootstrap/51094
* config/elfos.h (STRING_ASM_OP): Define.
* varasm.c (default_elf_asm_output_limited_string): Use it.

From-SVN: r181327

12 years agore PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
Dimitrios Apostolou [Sat, 12 Nov 2011 21:39:59 +0000 (21:39 +0000)]
re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)

PR bootstrap/51094
* gcc/configure.ac: Check for stpcpy declaration.
* system.h: Declare it if not.
* config.in, configure: Regenerate.

From-SVN: r181326

12 years agoppc-linux: Fix call to _Unwind_SetGRPtr
Richard Henderson [Sat, 12 Nov 2011 17:20:58 +0000 (09:20 -0800)]
ppc-linux: Fix call to _Unwind_SetGRPtr

        * config/rs6000/linux-unwind.h (frob_update_context): Properly
        cast the pointer argument to _Unwind_SetGRPtr.

From-SVN: r181325

12 years agors6000: fix*_trunc insns use nonimmediate_operand
Richard Henderson [Sat, 12 Nov 2011 17:19:39 +0000 (09:19 -0800)]
rs6000: fix*_trunc insns use nonimmediate_operand

        * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
        nonimmediate_operand for the destination.
        (fixuns_trunc<SFDF>si2_stfiwx): Likewise.

From-SVN: r181324

12 years agobuiltins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the...
Richard Henderson [Sat, 12 Nov 2011 17:17:54 +0000 (09:17 -0800)]
builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap.

        * builtins.c (expand_builtin_compare_and_swap): If target is const0,
        don't pass the target to expand_atomic_compare_and_swap.
        (expand_builtin_atomic_compare_exchange): Likewise.

From-SVN: r181323

12 years agosh-linux: Install __sync libfuncs.
Richard Henderson [Sat, 12 Nov 2011 17:17:45 +0000 (09:17 -0800)]
sh-linux: Install __sync libfuncs.

        * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
        * config/sh/sh.c (sh_init_sync_libfuncs): New.

From-SVN: r181322

12 years agore PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not...
Jonathan Wakely [Sat, 12 Nov 2011 15:57:03 +0000 (15:57 +0000)]
re PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not constrained)

PR libstdc++/51083
* include/ext/type_traits.h (__promote): Only define __type member
for integral and floating point types, to prevent math functions
participating in overload resolution for other types.
(__promote_2, __promote_3, __promote_4): Use __promote in default
template argument values, so deduction only succeeds for integral and
floating point types.
* testsuite/26_numerics/cmath/51083.cc: New.
* testsuite/26_numerics/complex/51083.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
* testsuite/tr1/8_c_compatibility/complex/51083.cc: New.

From-SVN: r181321

12 years agohppa: Install __sync libfuncs for linux.
Richard Henderson [Sat, 12 Nov 2011 15:39:44 +0000 (07:39 -0800)]
hppa: Install __sync libfuncs for linux.

        * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
        * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
        * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.

From-SVN: r181320