platform/upstream/gcc.git
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

12 years agomacros.cc: Avoid -Wall warnings.
Paolo Carlini [Tue, 8 Nov 2011 12:34:40 +0000 (12:34 +0000)]
macros.cc: Avoid -Wall warnings.

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

* testsuite/29_atomics/headers/atomic/macros.cc: Avoid -Wall
warnings.
* testsuite/29_atomics/atomic/cons/user_pod.cc: Likewise.

From-SVN: r181159

12 years agosse.md (*avx_vperm2f128<mode>3_nozero): Emit mask 0x12 and 0x20 as vinsert[fi]128...
Jakub Jelinek [Tue, 8 Nov 2011 12:11:27 +0000 (13:11 +0100)]
sse.md (*avx_vperm2f128<mode>3_nozero): Emit mask 0x12 and 0x20 as vinsert[fi]128 instead of vperm2[fi]128.

* config/i386/sse.md (*avx_vperm2f128<mode>3_nozero): Emit mask
0x12 and 0x20 as vinsert[fi]128 instead of vperm2[fi]128.

From-SVN: r181158

12 years agotree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument.
Jakub Jelinek [Tue, 8 Nov 2011 12:09:57 +0000 (13:09 +0100)]
tree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument.

* tree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument.
Handle vectorization of SLP calls.
(vect_analyze_stmt): Adjust caller, add call to it for SLP too.
(vect_transform_stmt): Adjust vectorizable_call caller, remove
assertion.
* tree-vect-slp.c (vect_get_and_check_slp_defs): For calls start
with op_idx 3.
(vect_build_slp_tree): Allow CALL_EXPR.

* lib/target-supports.exp (check_effective_target_vect_call_sqrtf,
check_effective_target_vect_call_copysignf,
check_effective_target_vect_call_lrint): New procedures.
* gcc.dg/vect/vect.exp: Run fast-math-bb-slp* tests using
$VECT_SLP_CFLAGS with -ffast-math.
* gcc.dg/vect/fast-math-vect-call-1.c: New test.
* gcc.dg/vect/fast-math-vect-call-2.c: New test.
* gcc.dg/vect/fast-math-bb-slp-call-1.c: New test.
* gcc.dg/vect/fast-math-bb-slp-call-2.c: New test.

From-SVN: r181157

12 years agore PR libstdc++/51018 (Test failures on NetBSD)
Jonathan Wakely [Tue, 8 Nov 2011 12:02:26 +0000 (12:02 +0000)]
re PR libstdc++/51018 (Test failures on NetBSD)

PR libstdc++/51018
* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
on netbsd.

From-SVN: r181156

12 years agogimple-fold.c (canonicalize_constructor_val): Make sure we have referenced vars setup...
Richard Guenther [Tue, 8 Nov 2011 11:23:11 +0000 (11:23 +0000)]
gimple-fold.c (canonicalize_constructor_val): Make sure we have referenced vars setup before adding to them.

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

* gimple-fold.c (canonicalize_constructor_val): Make sure
we have referenced vars setup before adding to them.

From-SVN: r181155

12 years agoMerge from transactional-memory branch.
Aldy Hernandez [Tue, 8 Nov 2011 11:13:41 +0000 (11:13 +0000)]
Merge from transactional-memory branch.

From-SVN: r181154

12 years agore PR libfortran/47970 (c99_functions.c:611:5: warning: implicit declaration of funct...
Francois-Xavier Coudert [Tue, 8 Nov 2011 10:31:04 +0000 (10:31 +0000)]
re PR libfortran/47970 (c99_functions.c:611:5: warning: implicit declaration of function 'round')

PR libfortran/47970
* intrinsics/c99_functions.c (round): Move higher in the file.

From-SVN: r181153

12 years agoFix context handling of alias-declaration
Dodji Seketeli [Tue, 8 Nov 2011 10:27:34 +0000 (10:27 +0000)]
Fix context handling of alias-declaration

gcc/cp/

* decl.c (start_decl): Update comment.
* error.c (dump_alias_template_specialization): Dump the context
of the specialization.
* parser.c (cp_parser_alias_declaration): Call pop_scope on the
pushed scope yielded by start_decl.

gcc/testsuite

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

From-SVN: r181152

12 years agore PR c++/50864 (ICE with decltype and "declval" from another namespace)
Paolo Carlini [Tue, 8 Nov 2011 10:23:53 +0000 (10:23 +0000)]
re PR c++/50864 (ICE with decltype and "declval" from another namespace)

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

PR c++/50864
* parser.c (cp_parser_postfix_dot_deref_expression): Reject invalid
uses of '->' and '.' as postfix-expression in namespace scope.

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

PR c++/50864
* g++.dg/parse/template26.C: New.
* g++.dg/template/crash45.C: Adjust dg-error string.

From-SVN: r181151

12 years agore PR fortran/50334 (interaction between -Wuninitialized and -finit-*)
Francois-Xavier Coudert [Tue, 8 Nov 2011 08:11:10 +0000 (08:11 +0000)]
re PR fortran/50334 (interaction between -Wuninitialized and -finit-*)

PR fortran/50334
* invoke.texi (-finit-*): Document interaction with
-Wuninitialized.

From-SVN: r181150

12 years agocompare_tests: Add ability to compare all .sum files from two build directories.
Quentin Neill [Tue, 8 Nov 2011 04:28:04 +0000 (04:28 +0000)]
compare_tests: Add ability to compare all .sum files from two build directories.

2011-11-07   Quentin Neill  <quentin.neill@amd.com>

* compare_tests: Add ability to compare all .sum
files from two build directories.

From-SVN: r181149

12 years agore PR libstdc++/51018 (Test failures on NetBSD)
Paolo Carlini [Tue, 8 Nov 2011 01:39:44 +0000 (01:39 +0000)]
re PR libstdc++/51018 (Test failures on NetBSD)

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

PR libstdc++/51018
* include/profile/impl/profiler_node.h (__stack_hash::
operator()(__stack_t)): Just use std::size_t everywhere.

From-SVN: r181147

12 years agofuture (__future_base::_Ptr): Use alias-declaration.
Jonathan Wakely [Tue, 8 Nov 2011 01:23:53 +0000 (01:23 +0000)]
future (__future_base::_Ptr): Use alias-declaration.

* include/std/future (__future_base::_Ptr): Use alias-declaration.
(__is_same_pkgdtask): Rename to __constrain_pkgdtask and use decay
instead of remove_reference so that cv-quals are removed.

From-SVN: r181145

12 years agore PR c++/50848 (ICE in derived template class missing using for member of template...
Jason Merrill [Tue, 8 Nov 2011 01:10:43 +0000 (20:10 -0500)]
re PR c++/50848 (ICE in derived template class missing using for member of template base class)

PR c++/50848
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't crash
if lookup finds a non-function.

From-SVN: r181143

12 years agostdc++.h: Add cstdalign.
Ed Smith-Rowland [Tue, 8 Nov 2011 01:02:06 +0000 (01:02 +0000)]
stdc++.h: Add cstdalign.

2011-11-08  Ed Smith-Rowland  <3dw4rd@verizon.net>

* include/precompiled/stdc++.h: Add cstdalign.

From-SVN: r181142

12 years agocomplex (complex<>::real(), [...]): Remove redundant const qualifiers.
Paolo Carlini [Tue, 8 Nov 2011 00:49:47 +0000 (00:49 +0000)]
complex (complex<>::real(), [...]): Remove redundant const qualifiers.

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

* include/std/complex (complex<>::real(), complex<>::imag()):
Remove redundant const qualifiers.

From-SVN: r181141

12 years agoptr_traits.h (__rebind): Replace with...
Jonathan Wakely [Tue, 8 Nov 2011 00:33:45 +0000 (00:33 +0000)]
ptr_traits.h (__rebind): Replace with...

* include/bits/ptr_traits.h (__rebind): Replace with...
(rebind): Implement using alias-declaration.
* include/ext/pointer.h (__rebind): Replace with...
(rebind): Implement using alias-declaration.
* include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits):
Replace with...
(rebind_alloc, rebind_traits): Implement using alias-declaration.
* include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of
__rebind_alloc.
* include/std/scoped_allocator (rebind): Likewise.

From-SVN: r181139

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

From-SVN: r181138

12 years agoAllow libcalls to be installed for legacy __sync optabs.
Richard Henderson [Mon, 7 Nov 2011 23:11:55 +0000 (15:11 -0800)]
Allow libcalls to be installed for legacy __sync optabs.

This allows a target which implements the __sync interfaces
in libgcc to continue to use them transparently with the
new __atomic builtins.

It is assumed that these libgcc routines DO NOT use spinlocks.
This is true of all extant libgcc instances.

        * optabs.h (OTI_sync_compare_and_swap, OTI_sync_lock_test_and_set,
        OTI_sync_old_add, OTI_sync_old_sub, OTI_sync_old_ior,
        OTI_sync_old_and, OTI_sync_old_xor, OTI_sync_old_nand,
        OTI_sync_new_add, OTI_sync_new_sub, OTI_sync_new_ior,
        OTI_sync_new_and, OTI_sync_new_xor, OTI_sync_new_nand): Move and
        rename from the direct_optab_index enum.
        (sync_compare_and_swap_optab, sync_lock_test_and_set_optab,
        sync_old_add_optab, sync_old_sub_optab, sync_old_ior_optab,
        sync_old_and_optab, sync_old_xor_optab, sync_old_nand_optab,
        sync_new_add_optab, sync_new_sub_optab, sync_new_ior_optab,
        sync_new_and_optab, sync_new_xor_optab, sync_new_nand_optab): Read
        from the optab_table, not the direct_optab_table.
        (init_sync_libfuncs): Declare.
        (can_compare_and_swap_p): Update parameters.
        * optabs.c (init_sync_libfuncs_1, init_sync_libfuncs): New.
        (can_compare_and_swap_p): Add allow_libcall parameter; if true,
        test for the legacy compare-and-swap libcall.
        (expand_atomic_exchange): Use the legacy test-and-set libcall.
        (expand_atomic_compare_and_swap): Use the legacy CAS libcall.
        (struct atomic_op_functions): Update for optab type changes.
        (maybe_emit_op): Likewise.
        (expand_atomic_fetch_op): Use the legacy fetch-op libcalls.
        * builtins.c (fold_builtin_atomic_always_lock_free): Update call
        to can_compare_and_swap_p.
        * omp-low.c (expand_omp_atomic_fetch_op): Likewise.
        (expand_omp_atomic_pipeline): Likewise.
        * genopinit.c (optabs): Make sync_old_*_optab, sync_new_*_optab,
        sync_compare_and_swap_optab, sync_lock_test_and_set_optab regular
        optabs.

From-SVN: r181134

12 years agore PR c++/50863 ([C++0x] list-initialization with lambda fails to deduce constructor...
Jason Merrill [Mon, 7 Nov 2011 22:52:32 +0000 (17:52 -0500)]
re PR c++/50863 ([C++0x] list-initialization with lambda fails to deduce constructor argument)

PR c++/50863
* parser.c (cp_parser_initializer_list): Parse C99
array designators tentatively.

From-SVN: r181132

12 years agore PR c++/50870 ([C++0x] [4.6/4.7 Regression] ICE with decltype, operator->, and...
Jason Merrill [Mon, 7 Nov 2011 22:52:23 +0000 (17:52 -0500)]
re PR c++/50870 ([C++0x] [4.6/4.7 Regression] ICE with decltype, operator->, and default template arguments)

PR c++/50870
* pt.c (tsubst_copy): Handle NAMESPACE_DECL.
(tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent
object.

From-SVN: r181131

12 years agomutex (call_once): Store closure in __once_functor as bound function wrapper might...
Jonathan Wakely [Mon, 7 Nov 2011 22:26:15 +0000 (22:26 +0000)]
mutex (call_once): Store closure in __once_functor as bound function wrapper might not be copyable.

* include/std/mutex (call_once): Store closure in __once_functor
as bound function wrapper might not be copyable.

From-SVN: r181128