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

From-SVN: r181278

12 years agoextend.texi: Document __atomic_test_and_set and __atomic_clear.
Andrew MacLeod [Thu, 10 Nov 2011 22:46:25 +0000 (22:46 +0000)]
extend.texi: Document __atomic_test_and_set and __atomic_clear.

2011-11-10  Andrew MacLeod  <amacleod@redhat.com>

* doc/extend.texi: Document __atomic_test_and_set and __atomic_clear.

From-SVN: r181273

12 years agore PR c++/50973 ([C++0x] internal compiler error defaulted destructor virtual inherit...
Jason Merrill [Thu, 10 Nov 2011 21:14:42 +0000 (16:14 -0500)]
re PR c++/50973 ([C++0x] internal compiler error defaulted destructor virtual inheritance)

PR c++/50973
* decl2.c (mark_used): Defer synthesis of virtual functions.
* method.c (use_thunk): Make sure the target function has
DECL_INTERFACE_KNOWN.

From-SVN: r181272

12 years agore PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc test_and_set/explicit.cc...
Andrew MacLeod [Thu, 10 Nov 2011 20:38:33 +0000 (20:38 +0000)]
re PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc test_and_set/explicit.cc implicit.cc)

PR middle-end/51038

libstdc++-v3
* include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
(atomic_signal_fence): Call built-in.
(test_and_set, clear): Call new atomic built-ins.

gcc
* builtins.c (expand_builtin_atomic_clear): New.  Expand atomic_clear.
(expand_builtin_atomic_test_and_set): New.  Expand atomic test_and_set.
(expand_builtin): Add cases for test_and_set and clear.
* sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
(BUILT_IN_ATOMIC_CLEAR): New.

testsuite
* gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
* gcc.dg/atomic-flag.c: New.  Test __atomic_test_and_set and
__atomic_clear.

From-SVN: r181271

12 years agoPR c++/51079, DR 495
Jason Merrill [Thu, 10 Nov 2011 20:28:16 +0000 (15:28 -0500)]
PR c++/51079, DR 495

PR c++/51079, DR 495
* call.c (joust): Check the second conversion sequence
before checking templates.

From-SVN: r181270

12 years agore PR debug/50983 (incorrect DW_LNS_negate_stmt)
Jason Merrill [Thu, 10 Nov 2011 20:28:04 +0000 (15:28 -0500)]
re PR debug/50983 (incorrect DW_LNS_negate_stmt)

PR debug/50983
* dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
value in the current line table.

From-SVN: r181269

12 years agofe.h (Serious_Errors_Detected): New macro.
Eric Botcazou [Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)]
fe.h (Serious_Errors_Detected): New macro.

* fe.h (Serious_Errors_Detected): New macro.
* gcc-interface/gigi.h (build_atomic_load): Declare.
(build_atomic_store): Likewise.
* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
(call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
Build an atomic load for an In or In Out parameter if needed.
Build an atomic store for the assignment of an Out parameter if needed.
Build an atomic store to the target if ATOMIC_SYNC is true.
(present_in_lhs_or_actual_p): New predicate.
(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
<N_Explicit_Dereference>: Likewise.
<N_Indexed_Component>: Likewise.
<N_Selected_Component>: Likewise.
<N_Assignment_Statement>: Adjust call to call_to_gnu.
Build an atomic store to the LHS if needed.
<N_Function_Call>:  Adjust call to call_to_gnu.
* gcc-interface/utils2.c: Include toplev.h.
(resolve_atomic_size): New static function.
(build_atomic_load): New function.
(build_atomic_store): Likewise.
* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.

From-SVN: r181267

12 years agoconfigure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
Richard Henderson [Thu, 10 Nov 2011 19:34:57 +0000 (11:34 -0800)]
configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.

        * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
        * configure, aclocal.m4: Rebuild.

From-SVN: r181266

12 years agogcov.c (struct function_info): Make src an index, not a pointer.
Nathan Sidwell [Thu, 10 Nov 2011 19:17:13 +0000 (19:17 +0000)]
gcov.c (struct function_info): Make src an index, not a pointer.

* gcov.c (struct function_info): Make src an index, not a pointer.
(struct source_info): Remove index and next source fields.
(fn_end): New static var.
(sources_index): Remove.
(sources): Now a pointer to an array, not a list.
(n_sources, a_sources): New.
(process_file): Adjust for changes to read_graph_file. Insert
functions into source lists and check line numbers here.
(generate_results): Only allocate lines for sources with
contents.  Adjust for source array.
(release_structures): Likewise.
(find_source): Return source index, adjust for source array.
(read_graph_file): Return function list.  Don't insert into source
lists here.
(read_count_file): Take list of functions.
(solve_flow_graph): Reverse the arc lists here.
(add_line_counts): Adjust for source array.

From-SVN: r181265

12 years agore PR middle-end/51077 (Endless recursion with __builtin_object_size)
Jakub Jelinek [Thu, 10 Nov 2011 19:02:30 +0000 (20:02 +0100)]
re PR middle-end/51077 (Endless recursion with __builtin_object_size)

PR middle-end/51077
* tree-object-size.c (addr_object_size): Check TREE_CODE of
MEM_REF's operand rather than code of the MEM_REF itself.

* gcc.c-torture/compile/pr51077.c: New test.

From-SVN: r181263

12 years agolibitm port to Tru64 UNIX
Rainer Orth [Thu, 10 Nov 2011 17:15:33 +0000 (17:15 +0000)]
libitm port to Tru64 UNIX

* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
.hidden.
(.note.GNU-stack): Only use if __linux__.
* alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
* testsuite/libitm.c/notx.c: Use dg-options "-pthread".
* testsuite/libitm.c/reentrant.c: Likewise.
* testsuite/libitm.c/simple-2.c: Likewise.
* testsuite/libitm.c/txrelease.c: Likewise.
* testsuite/libitm.c++/static_ctor.C: Likewise.

From-SVN: r181262

12 years agolibitm: Don't add -mavx if the assembler doesn't support avx.
Richard Henderson [Thu, 10 Nov 2011 17:09:04 +0000 (09:09 -0800)]
libitm: Don't add -mavx if the assembler doesn't support avx.

        * config/x86/x86_avx.cc: Remove #undef __AVX__ hack.  Tidy comments.
        * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
        * configure.ac (ARCH_X86_AVX): New conditional.
        * Makefile.in, configure: Rebuild.

From-SVN: r181261

12 years agoLet the compiler decide whether to inline.
Janne Blomqvist [Thu, 10 Nov 2011 17:08:24 +0000 (19:08 +0200)]
Let the compiler decide whether to inline.

2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
* intrinsics/random.c (rnumber_4): Remove inline attribute.
(rnumber_8, rnumber_10, rnumber_16): Likewise.
* intrinsics/system_clock.c (gf_gettime_mono): Likewise.
* intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
(gf_cputime): Add inline attribute for MingW version.
* io/format.c (format_hash): Remove inline attribute.
* io/io.h (memset4): Inline function from transfer.c and write.c
moved here.
* io/transfer.c (min_off): Remove inline attribute.
(memset4): Move to io.h.
* io/write.c (memset4): Likewise.
(memcpy4): Remove inline attribute.
* io/write_float.def (calculate_exp): Likewise.

From-SVN: r181260

12 years agore PR rtl-optimization/51040 (ICE: RTL check: access of elt 1 of 'not' with last...
Andrew MacLeod [Thu, 10 Nov 2011 16:39:32 +0000 (16:39 +0000)]
re PR rtl-optimization/51040 (ICE: RTL check: access of elt 1 of 'not' with last elt 0 in gen_rtx_fmt_ee_stat, at ./genrtl.h:33 with __atomic_nand_fetch())

PR rtl-optimization/51040
* optabs.c (expand_atomic_fetch_op): Patchup code for NAND should be AND
followed by NOT.
* builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
should be AND followed by NOT.
* testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and
patchup code.

From-SVN: r181259

12 years agovec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if...
Jakub Jelinek [Thu, 10 Nov 2011 15:40:34 +0000 (16:40 +0100)]
vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if P is NULL.

* vec.h (VEC_BASE): If base is at offset 0 in the structure,
use &(P)->base even if P is NULL.

From-SVN: r181258

12 years agore PR rtl-optimization/51023 (likely integer wrong code bug)
Jakub Jelinek [Thu, 10 Nov 2011 15:36:48 +0000 (16:36 +0100)]
re PR rtl-optimization/51023 (likely integer wrong code bug)

PR rtl-optimization/51023
* combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
val_signbit_known_clear_p for signed comparison narrowing
optimization.  Don't check for non-VOIDmode, use
HWI_COMPUTABLE_MODE_P macro.
<case ZERO_EXTEND>: Don't check for non-VOIDmode.
Optimize even when const_op is equal to GET_MODE_MASK (mode),
don't optimize if const_op is negative.

* gcc.c-torture/execute/pr51023.c: New test.

From-SVN: r181257

12 years agore PR tree-optimization/51042 (endless recursion in phi_translate)
Richard Guenther [Thu, 10 Nov 2011 15:28:57 +0000 (15:28 +0000)]
re PR tree-optimization/51042 (endless recursion in phi_translate)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51042
* tree-ssa-pre.c (phi_translate_1): Avoid recursing on
self-referential expressions.  Refactor code to avoid duplication.

* gcc.dg/torture/pr51042.c: New testcase.

From-SVN: r181256

12 years agore PR tree-optimization/51070 (ICE verify_gimple failed)
Richard Guenther [Thu, 10 Nov 2011 13:46:27 +0000 (13:46 +0000)]
re PR tree-optimization/51070 (ICE verify_gimple failed)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51070
* tree-loop-distribution.c (generate_builtin): Do not replace
the loop with a builtin if the partition contains statements which
results are used outside of the loop.
(pass_loop_distribution): Verify and collect.

* gcc.dg/torture/pr51070.c: New testcase.

From-SVN: r181255

12 years agore PR tree-optimization/51030 (PHI opt does not handle value-replacement with a trans...
Richard Guenther [Thu, 10 Nov 2011 12:24:52 +0000 (12:24 +0000)]
re PR tree-optimization/51030 (PHI opt does not handle value-replacement with a transfer function)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51030
* tree-ssa-phiopt.c (jump_function_from_stmt): New function.
(value_replacement): Use it to handle trivial non-empty
intermediate blocks.

* gcc.dg/tree-ssa/phi-opt-6.c: New testcase.

From-SVN: r181254

12 years agore PR middle-end/51071 (ICE in gimple_has_side_effects, at gimple.c:2513)
Richard Guenther [Thu, 10 Nov 2011 12:22:46 +0000 (12:22 +0000)]
re PR middle-end/51071 (ICE in gimple_has_side_effects, at gimple.c:2513)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR middle-end/51071
* gimple.c (gimple_has_side_effects): Remove checking code
that doesn't belong here.

* gcc.dg/torture/pr51071.c: New testcase.

From-SVN: r181253

12 years ago* gnat.dg/loop_optimization9.ad[sb]: New test.
Eric Botcazou [Thu, 10 Nov 2011 10:48:11 +0000 (10:48 +0000)]
* gnat.dg/loop_optimization9.ad[sb]: New test.

From-SVN: r181252

12 years agore PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark...
Ira Rosen [Thu, 10 Nov 2011 10:14:24 +0000 (10:14 +0000)]
re PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1992)

        PR tree-optimization/51058
        * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.

From-SVN: r181251

12 years agore PR tree-optimization/51000 (ICE: in vect_get_store_cost, at tree-vect-stmts.c...
Jakub Jelinek [Thu, 10 Nov 2011 08:29:52 +0000 (09:29 +0100)]
re PR tree-optimization/51000 (ICE: in vect_get_store_cost, at tree-vect-stmts.c:923 on powerpc-apple-darwin9)

PR tree-optimization/51000
* tree-vect-patterns.c (vect_recog_bool_pattern): If adding
a pattern stmt for a bool store, adjust DR_STMT too.
Don't handle bool conversions to single bit precision lhs.
* tree-vect-stmts.c (vect_remove_stores): If next is a pattern
stmt, remove its related stmt and free its stmt_vinfo.
(free_stmt_vec_info): Free also pattern stmt's vinfo and
pattern def stmt's vinfo.
* tree-vect-loop.c (destroy_loop_vec_info): Don't try to
free pattern stmt's vinfo here.
(vect_transform_loop): When calling vect_remove_stores,
do gsi_next first and don't call gsi_remove.  If not strided
store, free stmt vinfo for gsi_stmt (si) rather than stmt.

* gcc.dg/vect/pr51000.c: New test.

From-SVN: r181250

12 years agore PR c++/50837 ([c++0x] static_assert and constexpr in template class)
Paolo Carlini [Thu, 10 Nov 2011 02:27:16 +0000 (02:27 +0000)]
re PR c++/50837 ([c++0x] static_assert and constexpr in template class)

/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50837
* pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
pass allow_non_integral_constant_expression_p = true to
finish_id_expression.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50837
* g++.dg/cpp0x/static_assert5.C: New.
* g++.dg/template/nontype13.C: Tweak.

From-SVN: r181248

12 years agolibitm: Work around assembler missing AVX insns.
Richard Henderson [Thu, 10 Nov 2011 00:29:38 +0000 (16:29 -0800)]
libitm: Work around assembler missing AVX insns.

From-SVN: r181246

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

From-SVN: r181245

12 years agolibitm: Remove unused code.
Richard Henderson [Wed, 9 Nov 2011 22:54:55 +0000 (14:54 -0800)]
libitm: Remove unused code.

In particular, unused code that's presenting portability problems.

From-SVN: r181241

12 years agore PR c++/50972 ([C++0x] ICE on undeclared identifier)
Jason Merrill [Wed, 9 Nov 2011 22:25:25 +0000 (17:25 -0500)]
re PR c++/50972 ([C++0x] ICE on undeclared identifier)

PR c++/50972
* pt.c (maybe_instantiate_noexcept): Check the return value of
push_tinst_level.

From-SVN: r181240

12 years agore PR c++/51046 ([C++0x] ICE by unexpanded template param pack in range-based for)
Jason Merrill [Wed, 9 Nov 2011 22:25:12 +0000 (17:25 -0500)]
re PR c++/51046 ([C++0x] ICE by unexpanded template param pack in range-based for)

PR c++/51046
* parser.c (cp_parser_range_for): check_for_bare_parameter_packs.

From-SVN: r181239

12 years agore PR target/50911 (assertion failure in expand_vec_perm_interleave2 with -msse)
Jakub Jelinek [Wed, 9 Nov 2011 21:37:27 +0000 (22:37 +0100)]
re PR target/50911 (assertion failure in expand_vec_perm_interleave2 with -msse)

PR target/50911
* config/i386/i386.c (expand_vec_perm_interleave2): If d->vmode is
V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode
to V4SFmode.

* gcc.dg/torture/vshuf-16.inc: Add interleave low and high
permutations.
* gcc.dg/torture/vshuf-32.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.

From-SVN: r181238

12 years ago* gcc.dg/tm/memopt-1.c: Fix up regexp.
Jakub Jelinek [Wed, 9 Nov 2011 21:36:13 +0000 (22:36 +0100)]
* gcc.dg/tm/memopt-1.c: Fix up regexp.

From-SVN: r181237

12 years agofunction.h (requires_stack_frame_p): New prototype.
Jakub Jelinek [Wed, 9 Nov 2011 21:28:57 +0000 (22:28 +0100)]
function.h (requires_stack_frame_p): New prototype.

* function.h (requires_stack_frame_p): New prototype.
* function.c (requires_stack_frame_p): No longer static.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): If
stack_realign_fp was just a conservative guess for a function
which doesn't use sp/fp/argp at all, clear frame_pointer_needed
and stack realignment.

From-SVN: r181236

12 years agoallocator.h (__shrink_to_fit_aux::_S_do_it): Create the new object with the same...
Jonathan Wakely [Wed, 9 Nov 2011 21:14:03 +0000 (21:14 +0000)]
allocator.h (__shrink_to_fit_aux::_S_do_it): Create the new object with the same allocator.

* include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
the new object with the same allocator.
* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New.

From-SVN: r181235

12 years agogeneric-morestack.c: Include <string.h>.
Ian Lance Taylor [Wed, 9 Nov 2011 20:06:31 +0000 (20:06 +0000)]
generic-morestack.c: Include <string.h>.

libgcc/:
* generic-morestack.c: Include <string.h>.
(uintptr_type): Define.
(struct initial_sp): Add dont_block_signals field.  Reduce size of
extra array by 1.
(allocate_segment): Set prev field to NULL.  Don't set
__morestack_current_segment or __morestack_segments.
(__generic_morestack): Update current->prev and *pp after calling
allocate_segment.
(__morestack_block_signals): Don't do anything if
dont_block_signals is set.
(__morestack_unblock_signals): Likewise.
(__generic_findstack): Check for initial_sp == NULL.  Add casts to
uintptr_type.
(__splitstack_block_signals): New function.
(enum __splitstack_content_offsets): Define.
(__splitstack_getcontext, __splitstack_setcontext): New functions.
(__splitstack_makecontext): New function.
(__splitstack_block_signals_context): New function.
(__splitstack_find_context): New function.
* config/i386/morestack.S (__morestack_get_guard): New function.
(__morestack_set_guard, __morestack_make_guard): New functions.
* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_ucontext_h): New
procedure.
* gcc.dg/split-5.c: New test.

From-SVN: r181234

12 years agolibitm: Avoid non-portable x86 branch prediction mnemonic.
Richard Henderson [Wed, 9 Nov 2011 19:51:49 +0000 (11:51 -0800)]
libitm: Avoid non-portable x86 branch prediction mnemonic.

From-SVN: r181233

12 years agosymbol.c (clear_sym_mark, [...]): Remove functions.
Tobias Burnus [Wed, 9 Nov 2011 19:36:54 +0000 (20:36 +0100)]
symbol.c (clear_sym_mark, [...]): Remove functions.

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

        * symbol.c (clear_sym_mark, traverse_ns): Remove functions.
        (count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.
        (gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.

From-SVN: r181232

12 years agoPR c++/51043 - ICE in LTO
Dodji Seketeli [Wed, 9 Nov 2011 19:25:01 +0000 (19:25 +0000)]
PR c++/51043 - ICE in LTO

* cp-tree.h (TYPE_ALIAS_P, TYPE_TEMPLATE_INFO): Don't crash on
NULL TYPE_NAME.

From-SVN: r181231

12 years agoconfigure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
Roland McGrath [Wed, 9 Nov 2011 18:57:26 +0000 (18:57 +0000)]
configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.

2011-11-09  Roland McGrath  <mcgrathr@google.com>
* configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
* configure: Rebuild.
* Makefile.def (flags_to_pass): Add READELF_FOR_TARGET.
* Makefile.tpl (READELF, READELF_FOR_TARGET): New variables.
(HOST_EXPORTS): Add READELF, READELF_FOR_TARGET.
(BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET.
(BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS):
Add READELF.
* Makefile.in: Rebuild.

From-SVN: r181230

12 years agolibitm: de-ELF-ize x86/sjlj.S.
Richard Henderson [Wed, 9 Nov 2011 18:38:21 +0000 (10:38 -0800)]
libitm: de-ELF-ize x86/sjlj.S.

        * config/x86/sjlj.S: Protect elf directives with __ELF__.
        Protect .note.GNU-stack with __linux__.

From-SVN: r181229

12 years agoSimplify time() usage.
Janne Blomqvist [Wed, 9 Nov 2011 18:30:38 +0000 (20:30 +0200)]
Simplify time() usage.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/time_1.h (gf_gettime): Simplify time() usage.

From-SVN: r181228

12 years agoConfigure cleanup.
Janne Blomqvist [Wed, 9 Nov 2011 18:25:58 +0000 (20:25 +0200)]
Configure cleanup.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

* configure.ac (AC_STDC_HEADERS): Remove.
(AC_HEADER_TIME): Remove.
(AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation
of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers.
(AC_CHECK_MEMBERS): Use single invocation.
(AC_CHECK_FUNCS): Move into single invocation of
AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions.
* config.h.in: Regenerate.
* configure: Regenerate.
* intrinsics/clock.c: Include time.h.
(mclock): Assume clock() is present.
(mclock8): Likewise.
* intrinsics/ctime.c (strctime): Assume strftime is present.
(fdate): Assume time() is present.
(fdate_sub): Likewise.
(ctime): Likewise.
* intrinsics/date_and_time.c: Don't provide abs macro.
(HAVE_NO_DATE_TIME): Remove code related to macro which is never
set.
* intrinsics/execute_command_line.c: Assume stdlib.h is present.
* intrinsics/exit.c: Likewise.
* intrinsics/extends_type_of.c: Likewise.
* intrinsics/gerror.c: Assume strerror() is present.
* intrinsics/kill.c: Assume signal.h is present.
* intrinsics/malloc.c: Assume stdlib.h is present.
* intrinsics/move_alloc.c: Likewise.
* intrinsics/perror.c: Assume perror() is present.
* intrinsics/signal.c: Assume signal.h is present.
* intrinsics/stat.c: Assume stdlib.h is present.
* intrinsics/system.c: Likewise.
* intrinsics/time.c: Include time.h, assume time() is present.
* intrinsics/time_1.h: Conditionally include sys/time.h,
unconditionally time.h.
(gf_cputime): Do division in double, fallback using clock().
(gf_gettime): Assume time() is present.
* intrinsics/umask.c: Assume stdlib.h is present.
* runtime/backtrace.c: Likewise.
* runtime/compile_options.c: Assume signal.h is present, assume
C89 signals are present.
* runtime/error.c: Assume signal.h and stdlib.h are present.

From-SVN: r181227

12 years ago* gcc.dg/tm/memopt-1.c: Adjust regexp.
Patrick Marlier [Wed, 9 Nov 2011 18:14:32 +0000 (18:14 +0000)]
* gcc.dg/tm/memopt-1.c:  Adjust regexp.

From-SVN: r181226

12 years agore PR c++/51029 ([C++0x] [4.7 Regression] ICE with -std=c++0x)
Jason Merrill [Wed, 9 Nov 2011 18:13:09 +0000 (13:13 -0500)]
re PR c++/51029 ([C++0x] [4.7 Regression] ICE with -std=c++0x)

PR c++/51029
* class.c (build_base_path): Don't ICE in fold_non_dependent_expr.

From-SVN: r181225

12 years agolibitm: Configure for gas cfi pseudo ops.
Richard Henderson [Wed, 9 Nov 2011 18:09:53 +0000 (10:09 -0800)]
libitm: Configure for gas cfi pseudo ops.

* asmcfi.m4: New file.

* configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
* configure, aclocal.m4, config.h.in: Rebuild.
* config/generic/asmcfi.h: New file.
* config/x86/sjlj.S: Use it.

From-SVN: r181224

12 years agore PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer...
Francois-Xavier Coudert [Wed, 9 Nov 2011 18:09:42 +0000 (10:09 -0800)]
re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast)

PR libfortran/47972
* runtime/error.c (gf_strerror): Silence warning.

From-SVN: r181223

12 years agoRun most tests in both C++98 and C++11 modes.
Jason Merrill [Wed, 9 Nov 2011 17:53:53 +0000 (12:53 -0500)]
Run most tests in both C++98 and C++11 modes.

gcc/testsuite/
* lib/target-supports.exp (check_effective_target_c++11): New.
(check_effective_target_c++98): New.
* lib/g++-dg.exp (g++-dg-runtest): New.
* [various.exp]: Use g++-dg-runtest.
* [various.C]: Fix for C++11 mode.
gcc/cp/
* Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
(check-c++0x): Obsolete.
/
* Makefile.def (language=c++): Remove check-c++0x.
* Makefile.in (check-gcc-c++): Regenerate.

From-SVN: r181222

12 years ago* [various.C]: Adjust for C++11 mode.
Jason Merrill [Wed, 9 Nov 2011 17:53:37 +0000 (12:53 -0500)]
* [various.C]: Adjust for C++11 mode.

From-SVN: r181221

12 years ago* pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".
Jason Merrill [Wed, 9 Nov 2011 17:53:24 +0000 (12:53 -0500)]
* pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".

From-SVN: r181220

12 years agopt.c (convert_nontype_argument): Only integral arguments get early folding.
Jason Merrill [Wed, 9 Nov 2011 17:53:12 +0000 (12:53 -0500)]
pt.c (convert_nontype_argument): Only integral arguments get early folding.

* pt.c (convert_nontype_argument): Only integral arguments
get early folding.

From-SVN: r181219

12 years agoparser.c (cp_parser_alias_declaration): Don't do semantic processing if parsing failed.
Jason Merrill [Wed, 9 Nov 2011 17:52:57 +0000 (12:52 -0500)]
parser.c (cp_parser_alias_declaration): Don't do semantic processing if parsing failed.

* parser.c (cp_parser_alias_declaration): Don't do semantic
processing if parsing failed.

From-SVN: r181218

12 years agoPR 46686 Fix incorrect comment.
Janne Blomqvist [Wed, 9 Nov 2011 17:52:11 +0000 (19:52 +0200)]
PR 46686 Fix incorrect comment.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/46686
* runtime/backtrace.c (show_backtrace): Fix incorrect comment.

From-SVN: r181217

12 years agore PR preprocessor/51061 (Deprecated -I- option causes segfault)
Paolo Carlini [Wed, 9 Nov 2011 17:26:37 +0000 (17:26 +0000)]
re PR preprocessor/51061 (Deprecated -I- option causes segfault)

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

PR preprocessor/51061
* incpath.c (merge_include_chains): Make sure to not pass null
pointers to free_path.

From-SVN: r181216

12 years agore PR c++/51045 (erroneous zero as null pointer constant warning at delete)
Paolo Carlini [Wed, 9 Nov 2011 17:22:22 +0000 (17:22 +0000)]
re PR c++/51045 (erroneous zero as null pointer constant warning at delete)

/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* init.c (build_new_1, build_vec_delete_1, build_delete):
Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.

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

* doc/invoke.texi ([Option Summary, C++ Language Options]):
Add -Wzero-as-null-pointer-constant.

From-SVN: r181215

12 years agore PR c++/51045 (erroneous zero as null pointer constant warning at delete)
Paolo Carlini [Wed, 9 Nov 2011 17:21:19 +0000 (17:21 +0000)]
re PR c++/51045 (erroneous zero as null pointer constant warning at delete)

/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* init.c (build_new_1, build_vec_delete_1, build_delete):
Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.

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

* doc/invoke.texi ([Option Summary, C++ Language Options]):
Add -Wzero-as-null-pointer-constant.

From-SVN: r181214

12 years agore PR c++/51047 ([C++0x] SFINAE does not handle errors of ambiguous base members)
Paolo Carlini [Wed, 9 Nov 2011 17:19:12 +0000 (17:19 +0000)]
re PR c++/51047 ([C++0x] SFINAE does not handle errors of ambiguous base members)

/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51047
* search.c (lookup_member): Change to take also a tsubst_flags_t
parameter.
(lookup_field, lookup_fnfields): Adjust calls.
* typeck.c (lookup_destructor, finish_class_member_access_expr,
build_ptrmemfunc_access_expr): Likewise.
* class.c (handle_using_decl, maybe_note_name_used_in_class):
Likewise.
* pt.c (resolve_typename_type): Likewise.
* semantics.c (lambda_function): Likewise.
* parser.c (cp_parser_perform_range_for_lookup,
cp_parser_lookup_name): Likewise.
* friend.c (make_friend_class): Likewise.
* name-lookup.c (pushdecl_maybe_friend_1, get_class_binding,
do_class_using_decl, lookup_qualified_name): Likewise.
* cp-tree.h (lookup_member): Adjust declaration.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51047
* g++.dg/cpp0x/sfinae29.C: New.

From-SVN: r181213

12 years agoconfigure.ac: Make more cross-compile friendly.
Tobias Burnus [Wed, 9 Nov 2011 17:17:57 +0000 (18:17 +0100)]
configure.ac: Make more cross-compile friendly.

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

        * configure.ac: Make more cross-compile friendly.
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * config.h.in: Regenerate.
        * configure: Regenerate.

From-SVN: r181212

12 years agosparc.c (output_v8plus_shift): Take INSN parameter first and adjust head comment.
Eric Botcazou [Wed, 9 Nov 2011 16:41:22 +0000 (16:41 +0000)]
sparc.c (output_v8plus_shift): Take INSN parameter first and adjust head comment.

* config/sparc/sparc.c (output_v8plus_shift): Take INSN parameter first
and adjust head comment.
(output_v8plus_mult): Change NAME into OPCODE and adjust throughout.
(vector_init_bshuffle): Add head comment.
(vector_init_move_words): Likewise.
(vector_init_prepare_elts): Likewise.  Take LOCS parameter first.
(sparc_expand_vector_init): Likewise.  Adjust call to above function.
(sparc_expand_vector_init_vis2): Likewise.
(sparc_expand_vector_init_vis1): Likewise.
(sparc_expand_conditional_move): Likewise.
(sparc_expand_vcond): Likewise.
* config/sparc/sparc-protos.h (output_v8plus_shift): Adjust.
* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
output_v8plus_shift.
(ashrdi3_v8plus): Likewise.
(lshrdi3_v8plus): Likewise.

From-SVN: r181211

12 years agoMatthew Gretton-Dann <matthew.gretton-dann@arm.com>
Matthew Gretton-Dann [Wed, 9 Nov 2011 16:23:15 +0000 (16:23 +0000)]
Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* config/arm/arm-cores.def: Add -mcpu=cortex-a7.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Likewise.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
* doc/invoke.texi: Document -mcpu=cortex-a7.

From-SVN: r181210

12 years agoPR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.
Janne Blomqvist [Wed, 9 Nov 2011 16:04:42 +0000 (18:04 +0200)]
PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/46686
* configure.ac: Don't check execinfo.h, backtrace,
backtrace_symbols_fd. Check execve instead of execvp. Call
GCC_CHECK_UNWIND_GETIPINFO.
* runtime/backtrace.c: Don't include unused headers, include
limits.h and unwind.h.
(CAN_FORK): Check execve instead of execvp.
(GLIBC_BACKTRACE): Remove.
(bt_header): Conform to gdb backtrace format.
(struct bt_state): New struct.
(trace_function): New function.
(show_backtrace): Use _Unwind_Backtrace from libgcc instead of
glibc backtrace functions.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.

From-SVN: r181209

12 years agore PR fortran/50960 ([OOP] vtables not marked as constant)
Janus Weil [Wed, 9 Nov 2011 15:56:53 +0000 (16:56 +0100)]
re PR fortran/50960 ([OOP] vtables not marked as constant)

2011-11-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50960
* gfortran.dg/typebound_call_22.f03: New test case.

From-SVN: r181208

12 years agoPR 50016 Slow I/O on MingW due to _commit
Janne Blomqvist [Wed, 9 Nov 2011 15:46:15 +0000 (17:46 +0200)]
PR 50016 Slow I/O on MingW due to _commit

frontend ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/50016
* gfortran.texi (Data consistency and durability): New section.

testsuite ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/50016
* gfortran.dg/inquire_size.f90: Don't flush the unit.

libgfortran ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/50016
* io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
* io/unix.c (buf_flush): Don't call _commit.

From-SVN: r181207

12 years agorevert: tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p...
Richard Guenther [Wed, 9 Nov 2011 15:05:20 +0000 (15:05 +0000)]
revert: tree-cfg.c (verify_gimple_call): Verify that gimple_call_cannot_inline_p is returning a conservative correct...

2011-11-09  Richard Guenther  <rguenther@suse.de>

Revert
2011-11-09  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_call): Verify that
gimple_call_cannot_inline_p is returning a conservative
correct result according to gimple_check_call_matching_types.

From-SVN: r181206

12 years agore PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline...
Richard Guenther [Wed, 9 Nov 2011 13:43:02 +0000 (13:43 +0000)]
re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)

2011-11-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51039
* tree-cfg.c (verify_gimple_call): Verify that
gimple_call_cannot_inline_p is returning a conservative
correct result according to gimple_check_call_matching_types.
* ipa-inline-analysis.c (estimate_function_body_sizes): Remove
code dealing with un-inlinablility.
* gimple-streamer-in.c (input_gimple_stmt): Update the
non-inlinable flag.

* gcc.dg/pr51039.c: New testcase.

From-SVN: r181205

12 years agore PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline...
Richard Guenther [Wed, 9 Nov 2011 13:25:17 +0000 (13:25 +0000)]
re PR tree-optimization/51039 (ICE: in estimate_function_body_sizes, at ipa-inline-analysis.c:1977 with -finline-small-functions -fno-ipa-pure-const and passing incompatible function ptr)

2011-11-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51039
* gimple-low.c (gimple_check_call_args): Remove.
(gimple_check_call_matching_types): Always return true.
* tree-inline.c (setup_one_parameter): Always perform a
valid gimple type change.
(declare_return_variable): Likewise.

From-SVN: r181204

12 years agoUse t-mingw-pthread on MingW
Rainer Orth [Wed, 9 Nov 2011 13:11:47 +0000 (13:11 +0000)]
Use t-mingw-pthread on MingW

* config.host (i[34567]86-*-cygwin*): Move i386/t-mingw-pthread ...
(i[34567]86-*-mingw*): ... here.
(x86_64-*-mingw*): ... here.

From-SVN: r181203

12 years agovector.md (vcondv4sfv4si, [...]): New patterns.
Jakub Jelinek [Wed, 9 Nov 2011 12:22:17 +0000 (13:22 +0100)]
vector.md (vcondv4sfv4si, [...]): New patterns.

* config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
vconduv4sfv4si): New patterns.
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle
different dest_mode from comparison mode.

* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
Enable also for powerpc*-*-*.

From-SVN: r181202

12 years agore PR fortran/50540 (Internal Error: Can't convert UNKNOWN to INTEGER(4) (r178939))
Francois-Xavier Coudert [Wed, 9 Nov 2011 09:51:49 +0000 (09:51 +0000)]
re PR fortran/50540 (Internal Error: Can't convert UNKNOWN to INTEGER(4)  (r178939))

PR fortran/50540
* resolve.c (resolve_forall_iterators): Transform internal errors
to normal errors.
* gfortran.dg/forall_16.f90: New test.

From-SVN: r181200

12 years agore PR fortran/50960 ([OOP] vtables not marked as constant)
Janus Weil [Wed, 9 Nov 2011 09:45:36 +0000 (10:45 +0100)]
re PR fortran/50960 ([OOP] vtables not marked as constant)

2011-11-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50960
* class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
* expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
their value.
* resolve.c (resolve_values): Use-associated symbols do not need to
be resolved again.
(resolve_fl_parameter): Make sure the symbol has a value.

From-SVN: r181199

12 years agore PR fortran/38718 (some simplifiers for elemental intrinsics missing; required...
Francois-Xavier Coudert [Wed, 9 Nov 2011 09:41:17 +0000 (09:41 +0000)]
re PR fortran/38718 (some simplifiers for elemental intrinsics missing; required for init expressions)

PR fortran/38718

* intrinsic.c (add_functions): Add gfc_simplify_dreal.
* intrinsic.h (gfc_simplify_dreal): New proto.
* simplify.c (gfc_simplify_dreal): New function.

* gfortran.dg/initialization_29.f90: Expand test.

From-SVN: r181198

12 years agogimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable.
Richard Guenther [Wed, 9 Nov 2011 08:32:26 +0000 (08:32 +0000)]
gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable.

2011-11-09  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (canonicalize_constructor_val): Mark
address-taken variables addressable.

From-SVN: r181197

12 years agounordered_map: Add missing copy constructors.
Jonathan Wakely [Wed, 9 Nov 2011 08:23:30 +0000 (08:23 +0000)]
unordered_map: Add missing copy constructors.

* include/profile/unordered_map: Add missing copy constructors.
* include/profile/unordered_set: Likewise.

From-SVN: r181196

12 years agoPR c++/51027 - accepts alias-declaration without ';'
Dodji Seketeli [Wed, 9 Nov 2011 08:00:58 +0000 (08:00 +0000)]
PR c++/51027 - accepts alias-declaration without ';'

gcc/cp/

* parser.c (cp_parser_alias_declaration): Require ';' at the end
of the declaration.

libstdc++-v3/

* include/ext/pointer.h (rebind): Append missing ';'.

gcc/testsuite

* g++.dg/cpp0x/alias-decl-12.C: New test.
* g++.dg/ext/alias-decl-attr4.C: Append missing ';'.

From-SVN: r181195

12 years agoFix entry
Eric Botcazou [Wed, 9 Nov 2011 07:58:34 +0000 (07:58 +0000)]
Fix entry

From-SVN: r181194

12 years agoPR debug/51032 - ICE in dbxout_type, at dbxout.c:2372
Dodji Seketeli [Wed, 9 Nov 2011 07:51:12 +0000 (07:51 +0000)]
PR debug/51032 - ICE in dbxout_type, at dbxout.c:2372

gcc/cp/

* decl2.c (check_member_template): Accept alias templates and ...
* parser.c (cp_parser_alias_declaration): ... use it here.

gcc/testsuite/

* g++.dg/cpp0x/alias-decl-debug-0.C: New test.

From-SVN: r181193

12 years agore PR fortran/21881 (ICE instead of error for large arrays in derived types)
Francois-Xavier Coudert [Wed, 9 Nov 2011 06:57:10 +0000 (06:57 +0000)]
re PR fortran/21881 (ICE instead of error for large arrays in derived types)

PR fortran/21881
* trans-types.c (gfc_get_dtype): Issue a fatal error instead of
an internal error.

From-SVN: r181192

12 years agore PR tree-optimization/51015 (ice in vect_determine_vectorization_factor with -O3)
Ira Rosen [Wed, 9 Nov 2011 06:41:59 +0000 (06:41 +0000)]
re PR tree-optimization/51015 (ice in vect_determine_vectorization_factor with -O3)

        PR tree-optimization/51015
        * tree-vect-loop.c (vect_determine_vectorization_factor): Expect
        vectype to be set for pattern def stmts.

From-SVN: r181191

12 years agoImplement vect_cmdline_needed properly on sparc.
David S. Miller [Wed, 9 Nov 2011 05:23:02 +0000 (05:23 +0000)]
Implement vect_cmdline_needed properly on sparc.

* lib/target-supports.exp (check_effective_target_sparc_vis): New.
(check_effective_target_vect_cmdline_needed): Use it when sparc*-*-*

From-SVN: r181190

12 years agostl_vector.h (vector::_Alloc_traits): Make private.
Jonathan Wakely [Wed, 9 Nov 2011 01:26:04 +0000 (01:26 +0000)]
stl_vector.h (vector::_Alloc_traits): Make private.

* include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
* include/debug/vector: Add allocator-extended constructors, ensure
move assignment and swap have same allocator propagation semantics
and exceptions specification as base class.
* include/profile/vector: Likewise.
(vector::push_back(_Tp&&)): Forward argument as rvalue.
* testsuite/23_containers/vector/debug/alloc_prop.cc: New.
* doc/xml/manual/status_cxx2011.xml: Clarify status of container
requirements with respect to allocators.
(status.iso.200x): Add anchor for old ID to preserve existing links.

From-SVN: r181189

12 years agofunction.c (bb_active_p): Delete.
Alan Modra [Wed, 9 Nov 2011 01:20:14 +0000 (11:50 +1030)]
function.c (bb_active_p): Delete.

* function.c (bb_active_p): Delete.
(dup_block_and_redirect, active_insn_between): New functions.
(convert_jumps_to_returns, emit_return_for_exit): New functions,
split out from..
(thread_prologue_and_epilogue_insns): ..here.  Delete
shadowing variables.  Don't do prologue register clobber tests
when shrink wrapping already failed.  Delete all last_bb_active
code.  Instead compute tail block candidates for duplicating
exit path.  Remove these from antic set.  Duplicate tails when
reached from both blocks needing a prologue/epilogue and
blocks not needing such.
* ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and
HAVE_simple_return.
* bb-reorder.c (get_uncond_jump_length): Make global.
* bb-reorder.h (get_uncond_jump_length): Declare.
* cfgrtl.c (rtl_create_basic_block): Comment typo fix.
(rtl_split_edge): Likewise.  Warning fix.
(rtl_duplicate_bb): New function.
(rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block.
* Makefile.in (function.o): Update dependencies.

From-SVN: r181188

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

From-SVN: r181187

12 years agore PR fortran/50404 (SIGSEGV in gfc_resolve_close)
Francois-Xavier Coudert [Tue, 8 Nov 2011 23:54:43 +0000 (23:54 +0000)]
re PR fortran/50404 (SIGSEGV in gfc_resolve_close)

PR fortran/50404
* io.c (gfc_resolve_close): CLOSE requires a UNIT.
* gfortran.dg/io_constraints_3.f90: Improve testcase.

From-SVN: r181183

12 years agoFix a darwin10 build problem.
Richard Henderson [Tue, 8 Nov 2011 23:36:33 +0000 (15:36 -0800)]
Fix a darwin10 build problem.

local.cc:113:6: error: only weak aliases are supported in this configuration

* local.cc (_ITM_LB): Use a normal call, not a function alias.

From-SVN: r181182

12 years agore PR fortran/50409 (SIGSEGV in gfc_simplify_expr)
Francois-Xavier Coudert [Tue, 8 Nov 2011 23:15:11 +0000 (23:15 +0000)]
re PR fortran/50409 (SIGSEGV in gfc_simplify_expr)

PR fortran/50409
* expr.c (gfc_simplify_expr): Substrings can't have negative
length.
* gcc/testsuite/gfortran.dg/string_5.f90: Improve testcase.

From-SVN: r181181

12 years agore PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer...
Francois-Xavier Coudert [Tue, 8 Nov 2011 21:58:47 +0000 (21:58 +0000)]
re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast)

PR libfortran/47972
* runtime/error.c (gf_strerror): Silence warning.

From-SVN: r181180

12 years agoTest for libitm directory present before testing for support.
Richard Henderson [Tue, 8 Nov 2011 21:18:26 +0000 (13:18 -0800)]
Test for libitm directory present before testing for support.

From-SVN: r181179

12 years agotm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument.
Ulrich Weigand [Tue, 8 Nov 2011 17:36:45 +0000 (17:36 +0000)]
tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument.

* doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space
argument.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
* doc/tm.texi: Regenerate.

* config/cris/cris.h (MODE_CODE_BASE_REG_CLASS): Add address
space argument.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
* config/bfin/bfin.h (MODE_CODE_BASE_REG_CLASS): Likewise.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
* config/avr/avr.h (MODE_CODE_BASE_REG_CLASS): Add address space
argument.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Ditto.
* config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
(avr_regno_mode_code_ok_for_base_p): Ditto.
* config/avr/avr.c (avr_mode_code_base_reg_class): Ditto.
(avr_regno_mode_code_ok_for_base_p): Ditto.
(avr_reg_ok_for_addr_p): Pass AS down to
avr_regno_mode_code_ok_for_base_p.

* addresses.h (base_reg_class): Add address space argument.
Pass to MODE_CODE_BASE_REG_CLASS.
(ok_for_base_p_1): Add address space argument.  Pass to
REGNO_MODE_CODE_OK_FOR_BASE_P.
(regno_ok_for_base_p): Add address space argument.  Pass to
ok_for_base_p_1.

* regrename.c (scan_rtx_address): Add address space argument.
Pass address space to regno_ok_for_base_p and base_reg_class.
Update recursive calls.
(scan_rtx): Pass address space to scan_rtx_address.
(build_def_use): Likewise.
* regcprop.c (replace_oldest_value_addr): Add address space
argument.  Pass to regno_ok_for_base_p and base_reg_class.
Update recursive calls.
(replace_oldest_value_mem): Pass address space to
replace_oldest_value_addr.
(copyprop_hardreg_forward_1): Likewise.

* reload.c (find_reloads_address_1): Add address space argument.
Pass address space to base_reg_class and regno_ok_for_base_p.
Update recursive calls.
(find_reloads_address): Pass address space to base_reg_class,
regno_ok_for_base_p, and find_reloads_address_1.
(find_reloads): Pass address space to base_reg_class.
(find_reloads_subreg_address): Likewise.

* ira-costs.c (record_reg_classes): Update calls to base_reg_class.
(ok_for_base_p_nonstrict): Add address space argument.  Pass to
ok_for_base_p_1.
(record_address_regs): Add address space argument.  Pass to
base_reg_class and ok_for_base_p_nonstrict.  Update recursive calls.
(record_operand_costs): Pass address space to record_address_regs.
(scan_one_insn): Likewise.

* caller-save.c (init_caller_save): Update call to base_reg_class.
* ira-conflicts.c (ira_build_conflicts): Likewise.
* reload1.c (maybe_fix_stack_asms): Likewise.

Co-Authored-By: Georg-Johann Lay <avr@gjlay.de>
From-SVN: r181175

12 years agore PR c++/50835 (Lvalue-ness of conditional operator results is incorrect in a functi...
Jason Merrill [Tue, 8 Nov 2011 17:10:09 +0000 (12:10 -0500)]
re PR c++/50835 (Lvalue-ness of conditional operator results is incorrect in a function template)

PR c++/50835
* typeck.c (build_x_conditional_expr): Preserve lvalue/xvalueness.
* tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Return clk_ordinary
in C++98.

From-SVN: r181174

12 years agoBuild softfp for c6x
Rainer Orth [Tue, 8 Nov 2011 16:50:37 +0000 (16:50 +0000)]
Build softfp for c6x

* config/c6x/t-elf (LIB2ADD): Add instead of assigning.

From-SVN: r181173

12 years agogengtype.c (write_field_root): Avoid out-of-scope access of newv.
Michael Matz [Tue, 8 Nov 2011 16:47:16 +0000 (16:47 +0000)]
gengtype.c (write_field_root): Avoid out-of-scope access of newv.

* gengtype.c (write_field_root): Avoid out-of-scope access of newv.

* tree-stdarg.c (execute_optimize_stdarg): Accept clobbers.

* tree.h (TREE_CLOBBER_P): New macro.
* gimple.h (gimple_clobber_p): New inline function.
* gimplify.c (gimplify_bind_expr): Add clobbers for all variables
that go out of scope and live in memory.
* tree-ssa-operands.c (get_expr_operands): Transfer volatility also
for constructors.
* cfgexpand.c (decl_to_stack_part): New static variable.
(add_stack_var): Allocate it, and remember mapping.
(fini_vars_expansion): Deallocate it.
(stack_var_conflict_p): Add early outs.
(visit_op, visit_conflict, add_scope_conflicts_1,
add_scope_conflicts): New static functions.
(expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy.
(expand_used_vars): Add scope conflicts.
(expand_gimple_stmt_1): Expand clobbers to nothing.
(expand_debug_expr): Ditto.

* tree-pretty-print.c (dump_generic_node): Dump clobbers nicely.
* tree-ssa-live.c (remove_unused_locals): Remove clobbers that
refer to otherwise unused locals.
* tree-sra.c (build_accesses_from_assign): Ignore clobbers.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of
SSA names aren't necessary.
(propagate_necessity): Accept and ignore constructors on the rhs,
tidy.
* gimple.c (walk_gimple_op): Accept constructors like mem_rhs.
* tree-ssa-structalias.c (find_func_aliases): Clobbers don't store
any known value.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they
don't zero-initialize something.
* tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore
clobber RHS, we don't want PHI nodes with those.

testsuite/
* gcc.dg/tree-ssa/20031015-1.c: Adjust.
* g++.dg/tree-ssa/ehcleanup-1.C: Ditto.
* g++.dg/eh/builtin1.C: Rewrite to not use local variables.
* g++.dg/eh/builtin2.C: Ditto.
* g++.dg/eh/builtin3.C: Ditto.

From-SVN: r181172

12 years agoshared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
Jonathan Wakely [Tue, 8 Nov 2011 16:45:54 +0000 (16:45 +0000)]
shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.

* include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
(_Sp_counted_deleter): Make 'final'. Use allocator_traits.
(_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits.
Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO
for the allocator.
(__shared_count, __shared_ptr): Use allocator_traits.
* include/std/future (__future_base::_Result_alloc): Make 'final'. Use
allocator traits.
(__future_base::_Task_state): Make 'final'.
(__future_base::_Deferred_state): Likewise.
(__future_base::_Async_state): Likewise.
* testsuite/20_util/shared_ptr/cons/alloc_min.cc: New.
* testsuite/20_util/shared_ptr/creation/alloc_min.cc: New.
* testsuite/20_util/shared_ptr/creation/private.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
* testsuite/30_threads/packaged_task/cons/alloc_min.cc: New.
* testsuite/30_threads/promise/cons/alloc_min.cc: New.

From-SVN: r181171

12 years agoi386.c (ix86_preferred_simd_mode): Even for TARGET_AVX if not TARGET_PREFER_AVX128...
Jakub Jelinek [Tue, 8 Nov 2011 16:29:51 +0000 (17:29 +0100)]
i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX if not TARGET_PREFER_AVX128 return 32-byte integer vectors.

* config/i386/i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX
if not TARGET_PREFER_AVX128 return 32-byte integer vectors.

* gcc.target/i386/avx-cvt-2.c: Adjust for 32-byte integer vectors
being prefered even for -mavx.
* gcc.target/i386/avx-cvt-3.c: New test.

From-SVN: r181170

12 years agoFix tests for libitm support.
Richard Henderson [Tue, 8 Nov 2011 16:28:30 +0000 (08:28 -0800)]
Fix tests for libitm support.

From-SVN: r181169

12 years agoCheck for libitm support at top-level.
Richard Henderson [Tue, 8 Nov 2011 16:06:25 +0000 (08:06 -0800)]
Check for libitm support at top-level.

From-SVN: r181168

12 years agore PR tree-optimization/51012 (ICE: in fold_convert_loc, at fold-const.c:1897 with...
Richard Guenther [Tue, 8 Nov 2011 15:16:22 +0000 (15:16 +0000)]
re PR tree-optimization/51012 (ICE: in fold_convert_loc, at fold-const.c:1897 with -fno-early-inlining and passing incompatible function ptr)

2011-11-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51012
* ipa-prop.c (update_indirect_edges_after_inlining): Fixup
non-inlinable state.
* cgraph.c (cgraph_make_edge_direct): Likewise.

* gcc.dg/pr51012-1.c: New testcase.
* gcc.dg/pr51012-2.c: Likewise.

From-SVN: r181166

12 years agore PR middle-end/51010 (bad diagnostics: #'ssa_name' not supported by pp_c_expression#]')
Richard Guenther [Tue, 8 Nov 2011 15:14:21 +0000 (15:14 +0000)]
re PR middle-end/51010 (bad diagnostics: #'ssa_name' not supported by pp_c_expression#]')

2011-11-08  Richard Guenther  <rguenther@suse.de>

PR middle-end/51010
c-family/
* c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.

cp/
* error.c (dump_expr): Handle SSA_NAMEs.

* c-c++-common/uninit-pr51010.c: New testcase.

From-SVN: r181165

12 years agoChangeLog for last change.
Rainer Orth [Tue, 8 Nov 2011 15:13:00 +0000 (15:13 +0000)]
ChangeLog for last change.

From-SVN: r181164

12 years agoFix Solaris/x86 libitm build
Rainer Orth [Tue, 8 Nov 2011 14:58:57 +0000 (14:58 +0000)]
Fix Solaris/x86 libitm build

* configure.tgt: Handle i386 like i[456]86.
* config/generic/tls.h [!HAVE_ARCH_GTM_THREAD] (gtm_thr): Don't
take address.
* config/generic/tls.cc [!HAVE_ARCH_GTM_THREAD ||
!HAVE_ARCH_GTM_THREAD_DISP] (_gtm_thr_tls): New variable.

From-SVN: r181163

12 years agoacinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to [GLIBCXX_ENABLE_LIBSTDCXX_VISIB...
Paolo Carlini [Tue, 8 Nov 2011 14:07:27 +0000 (14:07 +0000)]
acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to [GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY]...

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

* acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to
[GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY], likewise for the
option itself, to --enable-libstdcxx-visibility.
* configure.ac: Adjust call.
* doc/xml/manual/configure.xml: Update.
* configure: Regenerate.

From-SVN: r181162

12 years agore PR rtl-optimization/47698 (CMOV accessing volatile memory with read side effect)
Eric Botcazou [Tue, 8 Nov 2011 13:44:11 +0000 (13:44 +0000)]
re PR rtl-optimization/47698 (CMOV accessing volatile memory with read side effect)

PR rtl-optimization/47698
* ifcvt.c (noce_operand_ok): Move around comment.

From-SVN: r181161

12 years agore PR regression/50999 (g++.dg/lto/20081109 execute -O2 -flto -flto-partition=1to1...
Richard Guenther [Tue, 8 Nov 2011 13:41:57 +0000 (13:41 +0000)]
re PR regression/50999 (g++.dg/lto/20081109 execute -O2 -flto -flto-partition=1to1 -fno-use-linker-plugin)

2011-11-08  Richard Guenther  <rguenther@suse.de>

PR lto/50999
* lto-opts.c (append_to_collect_gcc_options): Split out from...
(lto_write_options): ... here.  Prepend frontend specific flags.

From-SVN: r181160