Jakub Jelinek [Tue, 4 Feb 2014 13:08:00 +0000 (14:08 +0100)]
re PR tree-optimization/60023 (ICE: verify_gimple failed: dead STMT in EH table with -O3 -fnon-call-exceptions -mavx2)
PR tree-optimization/60023
* tree-if-conv.c (predicate_mem_writes): Pass true instead of
false to gsi_replace.
* tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
has been in some EH region and vec_stmt could throw, add
vec_stmt into the same EH region.
* tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
has no lhs, ignore it.
* internal-fn.c (expand_MASK_LOAD): Likewise.
* g++.dg/vect/pr60023.cc: New test.
From-SVN: r207464
Jakub Jelinek [Tue, 4 Feb 2014 13:04:37 +0000 (14:04 +0100)]
re PR ipa/60026 (ICE at -O3 on valid code (with the optimize pragma) on x86_64-linux-gnu)
PR ipa/60026
* tree-inline.c (copy_forbidden): Fail for
__attribute__((optimize (0))) functions.
* c-c++-common/torture/pr60026.c: New test.
From-SVN: r207463
Jakub Jelinek [Tue, 4 Feb 2014 12:31:30 +0000 (13:31 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)
PR other/58712
* omp-low.c (simd_clone_struct_copy): If from->inbranch
is set, copy one less argument.
(expand_simd_clones): Don't subtract clone_info->inbranch
from simd_clone_struct_alloc argument.
From-SVN: r207462
Jakub Jelinek [Tue, 4 Feb 2014 12:19:32 +0000 (13:19 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)
PR other/58712
* omp-low.c (simd_clone_struct_copy): If from->inbranch
is set, copy one less argument.
From-SVN: r207461
Jakub Jelinek [Tue, 4 Feb 2014 12:14:52 +0000 (13:14 +0100)]
re PR rtl-optimization/57915 (ICE in set_address_disp, at rtlanal.c:5537)
PR rtl-optimization/57915
* recog.c (simplify_while_replacing): If all unary/binary/relational
operation arguments are constant, attempt to simplify those.
* gcc.target/i386/pr57915.c: New test.
From-SVN: r207460
Jakub Jelinek [Tue, 4 Feb 2014 10:46:22 +0000 (11:46 +0100)]
re PR sanitizer/60055 (Invalid binding of __tsan_default_options)
PR sanitizer/60055
* tsan/tsan_flags.cc (__tsan_default_options): Add
SANITIZER_INTERFACE_ATTRIBUTE. Backport from upstream r200747.
* tsan/tsan_rtl.cc (__tsan::OnFinalize): Likewise.
From-SVN: r207459
Rainer Orth [Tue, 4 Feb 2014 10:22:23 +0000 (10:22 +0000)]
Fix g++.dg/init/dso_handle2.C on Solaris
* g++.dg/init/dso_handle2.C: Compile with -fuse-cxa-atexit.
From-SVN: r207458
Renlin Li [Tue, 4 Feb 2014 10:05:30 +0000 (10:05 +0000)]
* gcc.target/arm/ftest-armv7a-thumb.c: Change aramv7-a to armv7-a.
From-SVN: r207457
Jakub Jelinek [Tue, 4 Feb 2014 09:36:18 +0000 (10:36 +0100)]
re PR middle-end/59261 (FAIL: gcc.dg/vect/bb-slp-26.c -flto -ffat-lto-objects (internal compiler error))
PR middle-end/59261
* expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
* gcc.dg/pr59261.c: New test.
From-SVN: r207456
Richard Biener [Tue, 4 Feb 2014 09:34:58 +0000 (09:34 +0000)]
re PR tree-optimization/60012 (Vectorizer generates unnecessary loop versioning for alias)
2014-02-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/60012
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
TBAA disambiguation to all DDRs.
* gcc.dg/vect/pr60012.c: New testcase.
From-SVN: r207455
Rainer Orth [Tue, 4 Feb 2014 09:31:38 +0000 (09:31 +0000)]
Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)
gcc:
PR target/59788
* config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
(LINK_SPEC): Use it for -shared, -shared-libgcc.
libgcc:
PR target/59788
* config/t-slibgcc-sld (libgcc-unwind.map): New target.
(install-libgcc-unwind-map-forbuild): New target.
(all): Depend on install-libgcc-unwind-map-forbuild.
(install-libgcc-unwind-map): New target.
(install): Depend on install-libgcc-unwind-map.
gcc/testsuite:
PR target/59788
* g++.dg/eh/unwind-direct.C: New test.
toplevel:
PR target/59788
* ltmain.sh (opt_duplicate_compiler_generated_deps): Enable on
*solaris2*.
From-SVN: r207454
Uros Bizjak [Tue, 4 Feb 2014 09:08:38 +0000 (10:08 +0100)]
tsan-dg.exp (tsan_init): Set trivial testcase timeout value to 20s.
* lib/tsan-dg.exp (tsan_init): Set trivial testcase
timeout value to 20s.
From-SVN: r207453
Jakub Jelinek [Tue, 4 Feb 2014 07:37:44 +0000 (08:37 +0100)]
re PR sanitizer/60038 (AddressSanitizer CHECK failed ... "((*tls_addr + *tls_size)) <= ((*stk_addr + *stk_size))" on CentOS 5.10)
PR sanitizer/60038
* sanitizer_common/sanitizer_linux_libcdep.cc: Include
sanitizer_atomic.h and unistd.h.
(kThreadDescriptorSize): Made static, remove initializer and const,
change type to atomic_uintptr_t.
(ThreadDescriptorSize): Use confstr(_CS_GNU_LIBC_VERSION, ...) to
query glibc version, compute kThreadDescriptorSize depending on
glibc version minor number.
(GetThreadStackAndTls): Use ThreadDescriptorSize() instead of
kThreadDescriptorSize directly.
From-SVN: r207452
Jan Hubicka [Tue, 4 Feb 2014 06:28:22 +0000 (07:28 +0100)]
re PR ipa/59882 (internal compiler error: Segmentation fault)
PR ipa/59882
* tree.c (get_binfo_at_offset): Do not get confused by empty classes;
* g++.dg/torture/pr59882.C: New testcase
From-SVN: r207451
Jan Hubicka [Tue, 4 Feb 2014 06:04:32 +0000 (07:04 +0100)]
gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
* gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
From-SVN: r207450
Jan Hubicka [Tue, 4 Feb 2014 05:50:18 +0000 (06:50 +0100)]
re PR ipa/59469 (LLVM build failure with gcc LTO)
PR ipa/59469
* lto-symtab.c (lto_cgraph_replace_node, lto_varpool_replace_node):
merge force_output and forced_by_abi flags.
From-SVN: r207449
Jan Hubicka [Tue, 4 Feb 2014 05:40:21 +0000 (06:40 +0100)]
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...
* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
lookup via vtable pointer; check for type consistency
and turn inconsitent facts into UNREACHABLE.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* gimple-fold.c (gimple_get_virt_method_for_vtable):
Do not ICE on type inconsistent querries; return UNREACHABLE
instead.
* testsuite/g++.dg/ipa/devirt-25.C: New testcase.
From-SVN: r207448
Jan Hubicka [Tue, 4 Feb 2014 03:42:37 +0000 (04:42 +0100)]
ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct lookup via vtable pointer...
* ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
lookup via vtable pointer; check for type consistency
and turn inconsitent facts into UNREACHABLE.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
* gimple-fold.c (gimple_get_virt_method_for_vtable):
Do not ICE on type inconsistent querries; return UNREACHABLE
instead.
* g++.dg/ipa/devirt-25.C: New testcase.
From-SVN: r207447
Jakub Jelinek [Tue, 4 Feb 2014 00:46:42 +0000 (01:46 +0100)]
re PR tree-optimization/59924 (uninit memory hog)
PR tree-optimization/59924
* gcc.dg/pr59924.c: New test.
From-SVN: r207446
GCC Administrator [Tue, 4 Feb 2014 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207445
Richard Henderson [Mon, 3 Feb 2014 23:13:08 +0000 (15:13 -0800)]
re PR tree-optimization/59924 (uninit memory hog)
PR tree-opt/59924
* tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
already processed this node.
(normalize_one_pred_1): Pass along mark_set.
(normalize_one_pred): Create and destroy a pointer_set_t.
(normalize_one_pred_chain): Likewise.
From-SVN: r207442
Laurent Alfonsi [Mon, 3 Feb 2014 21:55:36 +0000 (14:55 -0700)]
re PR gcov-profile/58602 (.gcno files not truncated at gcov_close)
PR gcov-profile/58602
* gcc/gcov-io.c (gcov_open): Open with truncation when mode<0
From-SVN: r207441
Jan Hubicka [Mon, 3 Feb 2014 20:41:30 +0000 (21:41 +0100)]
re PR ipa/59831 (ice in cgraph_speculative_call_info with -O3)
PR ipa/59831
* g++.dg/ipa/devirt-24.C: New testcase.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on -fno-devirtualize;
Try to devirtualize by the knowledge of virtual table pointer given by
aggregate propagation.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
ipa_print_node_jump_functions): Dump also offset that
is relevant for polymorphic calls.
(determine_known_aggregate_parts): Add arg_type parameter; use it
instead of determining the type from pointer type.
(ipa_compute_jump_functions_for_edge): Update call of
determine_known_aggregate_parts.
* gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
(gimple_get_virt_method_for_binfo): ... here; simplify using
vtable_pointer_value_to_vtable.
* gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
* ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
to unsigned HOST_WIDE_INT; Use vtable_pointer_value_to_vtable.
(vtable_pointer_value_to_vtable): Break out from ...; handle also
POINTER_PLUS_EXPR.
(vtable_pointer_value_to_binfo): ... here.
* ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
From-SVN: r207439
Teresa Johnson [Mon, 3 Feb 2014 19:12:58 +0000 (19:12 +0000)]
tree-vect-slp.c (vect_supported_load_permutation_p): Avoid redef of outer loop index variable.
2014-02-03 Teresa Johnson <tejohnson@google.com>
* tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
redef of outer loop index variable.
From-SVN: r207437
Marc Glisse [Mon, 3 Feb 2014 19:07:55 +0000 (20:07 +0100)]
re PR c++/53017 (Integer constant expression not constant enough for vector_size)
2014-02-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/53017
PR c++/59211
gcc/c-family/
* c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
handle_vector_size_attribute, handle_nonnull_attribute): Call
default_conversion on the attribute argument.
(handle_nonnull_attribute): Increment the argument number.
gcc/cp/
* tree.c (handle_init_priority_attribute): Call default_conversion on
the attribute argument.
gcc/
* doc/extend.texi (Function Attributes): Typo.
gcc/testsuite/
* c-c++-common/attributes-1.c: New testcase.
* g++.dg/cpp0x/constexpr-attribute2.C: Likewise.
From-SVN: r207436
Paolo Carlini [Mon, 3 Feb 2014 18:22:46 +0000 (18:22 +0000)]
re PR c++/58871 ([c++11] ICE with defaulted copy constructor in broken template class hierarchy)
/cp
2014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58871
* method.c (synthesized_method_walk): If vbases is non-null but
is_empty is true, likewise don't worry about the virtual bases.
/testsuite
2014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58871
* g++.dg/cpp0x/pr58871.C: New.
From-SVN: r207434
Cong Hou [Mon, 3 Feb 2014 18:15:56 +0000 (13:15 -0500)]
re PR tree-optimization/60000 (GCC trunk build failure caused by the vectorizer)
2014-02-03 Cong Hou <congh@google.com>
PR tree-optimization/60000
* tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
if the vectorized statement is a store. A store statement can only
appear at the end of pattern statements.
2014-02-03 Cong Hou <congh@google.com>
PR tree-optimization/60000
* g++.dg/vect/pr60000.cc: New test.
From-SVN: r207433
Ian Lance Taylor [Mon, 3 Feb 2014 17:39:44 +0000 (17:39 +0000)]
ltmain.sh: Patch for Solaris.
From Rainer Orth.
From-SVN: r207432
Brooks Moses [Mon, 3 Feb 2014 17:21:33 +0000 (09:21 -0800)]
* gcc_update (files_and_dependencies): Add aarch64-tune.md.
From-SVN: r207429
H.J. Lu [Mon, 3 Feb 2014 15:18:44 +0000 (15:18 +0000)]
Add -mlong-double-128 and make it default for 64-bit Bionic
gcc/
* config/i386/i386.c (flag_opts): Add -mlong-double-128.
(ix86_option_override_internal): Default long double to 64-bit for
32-bit Bionic and to 128-bit for 64-bit Bionic.
* config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
TARGET_LONG_DOUBLE_128 is true.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
* config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
(mlong-double-64): Negate -mlong-double-128.
(mlong-double-128): New option.
* config/i386/i386-c.c (ix86_target_macros): Define
__LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
* doc/invoke.texi: Document -mlong-double-128.
gcc/testsuite/
* gcc.target/i386/long-double-64-1.c: Verify __multf3 isn't used.
* gcc.target/i386/long-double-64-4.c: Likewise.
* gcc.target/i386/long-double-80-1.c: Likewise.
* gcc.target/i386/long-double-80-2.c: Likewise.
* gcc.target/i386/long-double-80-3.c: Likewise.
* gcc.target/i386/long-double-80-4.c: Likewise.
* gcc.target/i386/long-double-80-5.c: Likewise.
* gcc.target/i386/long-double-64-2.c: Limit to ia32. Verify
__multf3 isn't used.
* gcc.target/i386/long-double-64-3.c: Likewise.
* gcc.target/i386/long-double-128-1.c: New test.
* gcc.target/i386/long-double-128-2.c: Likewise.
* gcc.target/i386/long-double-128-3.c: Likewise.
* gcc.target/i386/long-double-128-4.c: Likewise.
* gcc.target/i386/long-double-128-5.c: Likewise.
* gcc.target/i386/long-double-128-6.c: Likewise.
* gcc.target/i386/long-double-128-7.c: Likewise.
* gcc.target/i386/long-double-128-8.c: Likewise.
* gcc.target/i386/long-double-128-9.c: Likewise.
* gcc.target/i386/long-double-64-5.c: Likewise.
* gcc.target/i386/long-double-64-6.c: Likewise.
* gcc.target/i386/long-double-64-7.c: Likewise.
* gcc.target/i386/long-double-64-8.c: Likewise.
* gcc.target/i386/long-double-64-9.c: Likewise.
* gcc.target/i386/long-double-80-10.c: Likewise.
* gcc.target/i386/long-double-80-8.c: Likewise.
* gcc.target/i386/long-double-80-9.c: Likewise.
From-SVN: r207428
H.J. Lu [Mon, 3 Feb 2014 15:06:31 +0000 (15:06 +0000)]
Check if mode is OK first
PR rtl-optimization/60024
* sel-sched.c (init_regs_for_mode): Check if mode is OK first.
From-SVN: r207427
Markus Trippelsdorf [Mon, 3 Feb 2014 13:01:56 +0000 (13:01 +0000)]
invoke.texi: (fprofile-reorder-functions): Fix typo.
2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
* doc/invoke.texi: (fprofile-reorder-functions): Fix typo.
From-SVN: r207423
Andrey Belevantsev [Mon, 3 Feb 2014 12:04:33 +0000 (16:04 +0400)]
Actually add the test case from the previous commit.
From-SVN: r207422
Andrey Belevantsev [Mon, 3 Feb 2014 12:00:23 +0000 (16:00 +0400)]
re PR rtl-optimization/57662 (ICE: SIGSEGV in code_motion_process_successors with -fschedule-insns2 -fselective-scheduling2)
gcc/
PR rtl-optimization/57662
* sel-sched.c (code_motion_path_driver): Do not mark already not
existing blocks in the visiting bitmap.
testsuite/
PR rtl-optimization/57662
* g++.dg/pr57662.C: New test.
From-SVN: r207421
Andrey Belevantsev [Mon, 3 Feb 2014 11:56:56 +0000 (15:56 +0400)]
sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being emitted.
* sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
on the insn being emitted.
From-SVN: r207420
James Greenhalgh [Mon, 3 Feb 2014 11:51:40 +0000 (11:51 +0000)]
[Documentation] Remove documentation of gimple_asm_clear_volatile
2014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
Will Deacon <will.deacon@arm.com>
* doc/gimple.texi (gimple_asm_clear_volatile): Remove.
Co-Authored-By: Will Deacon <will.deacon@arm.com>
From-SVN: r207419
Kyrylo Tkachov [Mon, 3 Feb 2014 11:30:36 +0000 (11:30 +0000)]
* config/arm/arm-tables.opt: Regenerate.
From-SVN: r207418
Bill Schmidt [Mon, 3 Feb 2014 01:26:34 +0000 (01:26 +0000)]
rs6000.c (altivec_expand_vec_perm_le): Generalize for vector types other than V16QImode.
gcc:
2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
for vector types other than V16QImode.
* config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
define_expand, and call altivec_expand_vec_perm_le when producing
code with little endian element order.
(*altivec_vperm_<mode>_internal): New insn having previous
behavior of altivec_vperm_<mode>.
(altivec_vperm_<mode>_uns): Change to a define_expand, and call
altivec_expand_vec_perm_le when producing code with little endian
element order.
(*altivec_vperm_<mode>_uns_internal): New insn having previous
behavior of altivec_vperm_<mode>_uns.
gcc/testsuite:
2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/3b-15.c: Remove special handling for little endian.
* gcc.dg/vmx/perm.c: New.
* gcc.dg/vmx/perm-be-order.c: New.
From-SVN: r207415
Bill Schmidt [Mon, 3 Feb 2014 01:24:31 +0000 (01:24 +0000)]
altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
gcc:
2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
(altivec_vsumsws): Add handling for -maltivec=be with a little
endian target.
(altivec_vsumsws_direct): New.
(reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
gen_altivec_vsumsws.
gcc/testsuite:
2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/vsums.c: New.
* gcc.dg/vmx/vsums-be-order.c: New.
From-SVN: r207414
Jan Hubicka [Mon, 3 Feb 2014 00:24:52 +0000 (00:24 +0000)]
ipa-devirt.c (subbinfo_with_vtable_at_offset, [...]): New functions.
* ipa-devirt.c (subbinfo_with_vtable_at_offset,
vtable_pointer_value_to_binfo): New functions.
* ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
* ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
* g++.dg/ipa/devirt-23.C: New testcase.
* g++.dg/ipa/devirt-20.C: Fix template.
From-SVN: r207413
GCC Administrator [Mon, 3 Feb 2014 00:17:12 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207412
Sandra Loosemore [Sun, 2 Feb 2014 22:12:17 +0000 (17:12 -0500)]
nios2.md (load_got_register): Initialize GOT pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.md (load_got_register): Initialize GOT
pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
* config/nios2/nios2.c (nios2_function_profiler): Likewise.
libgcc/
* config/nios2/crti.S (_init): Initialize GOT pointer from
_gp_got instead of _GLOBAL_OFFSET_TABLE_.
From-SVN: r207409
Fabien Chêne [Sun, 2 Feb 2014 20:02:37 +0000 (21:02 +0100)]
re PR c++/37140 (type inherited from base class not recognized)
2014-02-02 Fabien Chene <fabien@gcc.gnu.org>
PR c++/37140
* parser.c (cp_parser_nonclass_name): Call strip_using_decl and
move the code handling dependent USING_DECLs...
* name-lookup.c (strip_using_decl): ...Here.
2014-02-02 Fabien Chene <fabien@gcc.gnu.org>
PR c++/37140
* g++.dg/template/using27.C: New.
* g++.dg/template/using28.C: New.
* g++.dg/template/using29.C: New.
From-SVN: r207408
Fabien Chêne [Sun, 2 Feb 2014 19:58:06 +0000 (20:58 +0100)]
re PR c++/37140 (type inherited from base class not recognized)
2014-02-02 Fabien Chene <fabien@gcc.gnu.org>
PR c++/37140
* parser.c (cp_parser_nonclass_name): Call strip_using_decl and
move the code handling dependent USING_DECLs...
* name-lookup.c (strip_using_decl): ...Here.
2014-02-02 Fabien Chene <fabien@gcc.gnu.org>
PR c++/37140
* g++.dg/template/using27.C: New.
* g++.dg/template/using28.C: New.
* g++.dg/template/using29.C: New.
From-SVN: r207407
Jan Hubicka [Sun, 2 Feb 2014 18:56:33 +0000 (19:56 +0100)]
ipa-prop.c (update_jump_functions_after_inlining): When type is not preserverd by passthrough, do not propagate the type.
* ipa-prop.c (update_jump_functions_after_inlining): When type is not
preserverd by passthrough, do not propagate the type.
* g++.dg/ipa/devirt-23.C: New testcase.
From-SVN: r207405
Joseph Myers [Sun, 2 Feb 2014 17:40:13 +0000 (17:40 +0000)]
gcc.pot: Regenerate.
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
From-SVN: r207404
Richard Sandiford [Sun, 2 Feb 2014 16:17:15 +0000 (16:17 +0000)]
configure.ac: Check __mips64 when setting host_address.
libgcc/
* configure.ac: Check __mips64 when setting host_address.
* configure: Regenerate.
* config.host (mips*-*-*): Add t-softfp-sfdf, mips/t-softfp-tf,
mips/t-mips64 and t-softfp.
(mips*-*-linux*): Don't add mips/t-tpbit.
* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS, FPBIT, FPBIT_CFLAGS)
(DPBIT, DPBIT_CFLAGS): Delete.
* config/mips/sfp-machine.h: New file.
* config/mips/t-mips64: Likewise.
* config/mips/t-softfp-tf: Likewise.
* config/mips/t-tpbit: Delete.
From-SVN: r207403
Richard Sandiford [Sun, 2 Feb 2014 16:10:12 +0000 (16:10 +0000)]
mips.c (MIPS_GET_FCSR, [...]): New macros.
gcc/
* config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
(mips_atomic_assign_expand_fenv): New function.
(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
From-SVN: r207402
Richard Sandiford [Sun, 2 Feb 2014 16:05:09 +0000 (16:05 +0000)]
extend.texi (__builtin_mips_get_fcsr): Document.
gcc/
* doc/extend.texi (__builtin_mips_get_fcsr): Document.
(__builtin_mips_set_fcsr): Likewise.
* config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
MIPS_USI_FTYPE_VOID.
* config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
(mips16_expand_set_fcsr): Likewise.
* config/mips/mips.c (mips16_get_fcsr_stub): New variable.
(mips16_set_fcsr_stub): Likewise.
(mips16_get_fcsr_one_only_stub): New class.
(mips16_set_fcsr_one_only_stub): Likewise.
(mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
(mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
(BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
(hard_float): New availability predicate.
(mips_builtins): Add get_fcsr and set_fcsr.
(mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
* config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
(GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
(mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
(mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
patterns.
gcc/testsuite/
* gcc.target/mips/get-fcsr-1.c, gcc.target/mips/get-fcsr-2.c,
gcc.target/mips/set-fcsr-1.c, gcc.target/mips/set-fcsr-2.c: New tests.
From-SVN: r207401
Richard Sandiford [Sun, 2 Feb 2014 15:58:38 +0000 (15:58 +0000)]
mips.c (mips_one_only_stub): New class.
gcc/
* config/mips/mips.c (mips_one_only_stub): New class.
(mips_need_mips16_rdhwr_p): Replace with...
(mips16_rdhwr_stub): ...this new variable.
(mips16_stub_call_address): New function.
(mips16_rdhwr_one_only_stub): New class.
(mips_expand_thread_pointer): Use mips16_stub_call_address.
(mips_output_mips16_rdhwr): Delete.
(mips_finish_stub): New function.
(mips_code_end): Use it to handle rdhwr stubs.
From-SVN: r207400
Uros Bizjak [Sun, 2 Feb 2014 15:35:53 +0000 (16:35 +0100)]
re PR target/60017 (Struct not returned correctly)
PR target/60017
* config/i386/i386.c (classify_argument): Fix handling of bit_offset
when calculating size of integer atomic types.
testsuite/ChangeLog:
PR target/60017
* gcc.c-torture/execute/pr60017.c: New test.
From-SVN: r207399
H.J. Lu [Sun, 2 Feb 2014 14:09:36 +0000 (14:09 +0000)]
Fix a typo in comments
* ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
From-SVN: r207398
Uros Bizjak [Sun, 2 Feb 2014 13:59:39 +0000 (14:59 +0100)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r207397
Mikael Morin [Sun, 2 Feb 2014 11:50:28 +0000 (11:50 +0000)]
re PR fortran/57033 (ICE on extended derived type and default initialization)
fortran/
PR fortran/57033
* primary.c (gfc_convert_to_structure_constructor): Avoid null pointer
dereference.
testsuite/
PR fortran/57033
* gfortran.dg/default_initialization_7.f90: New test.
From-SVN: r207396
GCC Administrator [Sun, 2 Feb 2014 00:16:55 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r207393
Paul Thomas [Sat, 1 Feb 2014 18:50:41 +0000 (18:50 +0000)]
re PR fortran/59906 (error: size of variable '<anonymous>' is too large)
2014-02-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/59906
* trans-stmt.c (gfc_add_loop_ss_code): In the case of character
SS_REFERENCE, use gfc_conv_string_parameter to ensure that a
pointer to the string is stored.
* trans-expr.c (gfc_conv_expr_reference): Likewise, use
gfc_conv_string_parameter to ensure that a pointer to is passed
to the elemental function.
2014-02-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/59906
* gfortran.dg/elemental_subroutine_9.f90 : New test
From-SVN: r207389
Dmitry Gorbachev [Sat, 1 Feb 2014 12:01:56 +0000 (12:01 +0000)]
re PR other/56653 (Warning when verifying checksums from MD5SUMS file in tarballs)
PR other/56653
* gcc_release: Avoid printing empty line to generated MD5SUMS files.
Bump copyright year.
From-SVN: r207387
Richard Sandiford [Sat, 1 Feb 2014 11:50:38 +0000 (11:50 +0000)]
ssa-dom-thread-4.c: Adjust expected MIPS output.
gcc/testsuite/
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Adjust expected MIPS output.
From-SVN: r207386
Richard Sandiford [Sat, 1 Feb 2014 10:41:37 +0000 (10:41 +0000)]
pr49718.C: Use -mno-relax-pic-calls for MIPS.
gcc/testsuite/
* g++.dg/pr49718.C: Use -mno-relax-pic-calls for MIPS.
From-SVN: r207385
Richard Sandiford [Sat, 1 Feb 2014 10:33:36 +0000 (10:33 +0000)]
vector26.C: Restrict scan-assembler test to ! c++98.
gcc/testsuite/
* g++.dg/ext/vector26.C: Restrict scan-assembler test to ! c++98.
From-SVN: r207384
Paolo Carlini [Sat, 1 Feb 2014 09:24:42 +0000 (09:24 +0000)]
re PR c++/51219 (ICE with empty bit-fields)
/cp
2014-02-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51219
* typeck2.c (process_init_constructor_record): Just skip unnamed
bit-fields.
/testsuite
2014-02-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51219
* g++.dg/init/bitfield5.C: New.
From-SVN: r207383
Jakub Jelinek [Sat, 1 Feb 2014 08:40:31 +0000 (09:40 +0100)]
re PR tree-optimization/60003 (wrong code with __builtin_setjmp/__builtin_longjmp and inlining)
PR tree-optimization/60003
* gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
* profile.c (branch_prob): Use gimple_call_builtin_p
to check for BUILT_IN_SETJMP_RECEIVER.
* tree-inline.c (copy_bb): Call notice_special_calls.
* gcc.c-torture/execute/pr60003.c: New test.
From-SVN: r207382
GCC Administrator [Sat, 1 Feb 2014 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207378
Vladimir Makarov [Fri, 31 Jan 2014 23:56:46 +0000 (23:56 +0000)]
re PR bootstrap/59985 (stage2/3 compare error on lto-streamer-in.o)
2014-01-31 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/59985
* lra-constraints.c (process_alt_operands): Update reload_sum only
on the first pass.
2014-01-31 Vladimir Makarov <vmakarov@redhat.com>
PR bootstrap/59985
* gcc.target/arm/pr59985.C: New.
From-SVN: r207375
Jakub Jelinek [Fri, 31 Jan 2014 21:25:23 +0000 (22:25 +0100)]
re PR sanitizer/59410 (tsan tests fail with address randomization disabled)
PR sanitizer/59410
* lib/tsan-dg.exp (tsan_init): Instead of not running any
tsan tests if trivial testcase doesn't run, set dg-do-what-default
to compile.
(tsan_finish): Restore dg-do-what-default.
* g++.dg/tsan/atomic_free.C: Remove dg-do line.
* g++.dg/tsan/fd_close_norace2.C: Likewise.
* g++.dg/tsan/default_options.C: Likewise.
* g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise.
* g++.dg/tsan/atomic_free2.C: Likewise.
* g++.dg/tsan/cond_race.C: Likewise.
* g++.dg/tsan/fd_close_norace.C: Likewise.
* g++.dg/tsan/benign_race.C: Likewise.
* c-c++-common/tsan/fd_pipe_race.c: Likewise.
* c-c++-common/tsan/simple_race.c: Likewise.
* c-c++-common/tsan/mutexset1.c: Likewise.
* c-c++-common/tsan/thread_leak2.c: Likewise.
* c-c++-common/tsan/tls_race.c: Likewise.
* c-c++-common/tsan/write_in_reader_lock.c: Likewise.
* c-c++-common/tsan/race_on_barrier2.c: Likewise.
* c-c++-common/tsan/free_race2.c: Likewise.
* c-c++-common/tsan/thread_leak.c: Likewise.
* c-c++-common/tsan/thread_leak1.c: Likewise.
* c-c++-common/tsan/race_on_barrier.c: Likewise.
* c-c++-common/tsan/free_race.c: Likewise.
* c-c++-common/tsan/sleep_sync.c: Likewise.
* c-c++-common/tsan/tiny_race.c: Likewise.
* c-c++-common/tsan/race_on_mutex2.c: Likewise.
* c-c++-common/tsan/atomic_stack.c: Likewise.
* c-c++-common/tsan/race_on_mutex.c: Likewise. Adjust line numbers
in dg-output regexps.
* c-c++-common/tsan/simple_stack.c: Likewise.
From-SVN: r207371
Richard Henderson [Fri, 31 Jan 2014 19:35:31 +0000 (11:35 -0800)]
re PR middle-end/60004 (Conditional return within transaction causes ICE)
PR middle-end/60004
* tree-eh.c (lower_try_finally_switch): Delay lowering finally block
until after else_eh is processed.
* g++.dg/tm/pr60004.C: New.
From-SVN: r207367
Jason Merrill [Fri, 31 Jan 2014 18:35:53 +0000 (13:35 -0500)]
re PR ipa/59469 (LLVM build failure with gcc LTO)
PR c++/59469
* pt.c (mark_decl_instantiated): Call mark_needed.
From-SVN: r207366
Jason Merrill [Fri, 31 Jan 2014 17:30:09 +0000 (12:30 -0500)]
* g++.dg/tls/thread_local8.C: Require tls.
From-SVN: r207364
Jason Merrill [Fri, 31 Jan 2014 17:30:03 +0000 (12:30 -0500)]
re PR c++/58672 ([c++11] ICE with thread_local and variable of broken class)
PR c++/58672
* decl2.c (handle_tls_init): Handle null init fn.
From-SVN: r207363
Jason Merrill [Fri, 31 Jan 2014 16:25:55 +0000 (11:25 -0500)]
re PR c++/55800 (Link failure with thread_local in unnamed namespace)
PR c++/55800
* decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
From-SVN: r207360
Paolo Carlini [Fri, 31 Jan 2014 16:22:53 +0000 (16:22 +0000)]
re PR c++/59082 (ICE with duplicate (virtual) base)
/cp
2014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59082
* class.c (build_vfield_ref): Early return error_mark_node if
TYPE_VFIELD (type) is null.
(build_base_path): Check return value of build_vfield_ref.
/testsuite
2014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59082
* g++.dg/inherit/crash4.C: New.
From-SVN: r207359
Arnaud Charlet [Fri, 31 Jan 2014 16:03:54 +0000 (17:03 +0100)]
[multiple changes]
2014-01-31 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb: Minor reformatting.
2014-01-31 Emmanuel Briot <briot@adacore.com>
* g-comlin.adb (Set_Command_Line): Take the switches
configuration from the Command_Line_Config.
2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Analyze_Refinement_Clause): Guard against a malformed
refinement clause.
2014-01-31 Vincent Celier <celier@adacore.com>
* projects.texi: Add more documentation about others used as an
index in indexed attributes.
From-SVN: r207358
Arnaud Charlet [Fri, 31 Jan 2014 15:59:59 +0000 (16:59 +0100)]
[multiple changes]
2014-01-31 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Minor update.
* gnat_rm.texi: Add example to Restriction_Warnings documentation.
* exp_util.adb: Minor reformatting.
2014-01-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch9.adb (Expand_Entry_Barrier): Warn if the barrier
depends on data that is not private to the protected object,
and potentially modifiable in unsynchronized fashion.
From-SVN: r207357
Arnaud Charlet [Fri, 31 Jan 2014 15:56:44 +0000 (16:56 +0100)]
[multiple changes]
2014-01-31 Yannick Moy <moy@adacore.com>
* erroutc.adb (Validate_Specific_Warnings): Remove special case for
GNATprove_Mode.
2014-01-31 Robert Dewar <dewar@adacore.com>
* prj-attr.ads (First_Attribute_Of): Returns Empty_Attribute
for Unknown_Package.
* sem_ch6.adb, sem_attr.adb: Minor comment addition.
2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
* exp_util.adb (Build_Allocate_Deallocate_Proc): Rewrite
the logic that generates a runtime check to determine the
controlled status of the object about to be allocated or
deallocated. Class-wide types now always use a runtime check
even if they appear as generic actuals.
(Find_Object): Detect
a special case that involves interface class-wide types because
the object appears as a complex expression.
From-SVN: r207356
Arnaud Charlet [Fri, 31 Jan 2014 15:53:25 +0000 (16:53 +0100)]
[multiple changes]
2014-01-31 Ed Schonberg <schonberg@adacore.com>
* sem_ch6.adb (Process_Formals): In
Ada2012 mode, place
subprogram with an incomplete untagged formals on the list of
private dependents, to verify that the type is properly completed
in the private part.
* sem_attr.adb: Code clean up.
2014-01-31 Robert Dewar <dewar@adacore.com>
* exp_ch6.adb: Minor reformatting.
2014-01-31 Vincent Celier <celier@adacore.com>
* prj-attr.adb (First_Attribute_Of): Return Unknown_Attribute
when Pkg is unknown.
From-SVN: r207354
Arnaud Charlet [Fri, 31 Jan 2014 15:51:51 +0000 (16:51 +0100)]
[multiple changes]
2014-01-31 Hristian Kirtchev <kirtchev@adacore.com>
* sem_res.adb (Resolve_Entity_Name): Comment
reformatting. Allow volatile objects in various generated checks.
2014-01-31 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Update): For a record
component association, set the etype of the identifier, for
SPARK use.
2014-01-31 Ed Schonberg <schonberg@adacore.com>
* exp_ch6.adb (Has_Visibility_Of_Subprogram): If type is not
declared in a package, not checks can apply to the subprogram.
From-SVN: r207353
Arnaud Charlet [Fri, 31 Jan 2014 15:46:40 +0000 (16:46 +0100)]
[multiple changes]
2014-01-31 Robert Dewar <dewar@adacore.com>
* erroutc.adb (Validate_Specific_Warnings): Warnings are
controlled -gnatw.W.
* gnat_ugn.texi: Document new warnings controlled by -gnatw.w.
* opt.ads (Warn_On_Warnings_Off): Now controls more cases.
2014-01-31 Arnaud Charlet <charlet@adacore.com>
* exp_disp.adb: Update comments.
2014-01-31 Yannick Moy <moy@adacore.com>
* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration,
Save_Global_References): Guard access to expression in aspect.
2014-01-31 Yannick Moy <moy@adacore.com>
* sem_prag.adb (Analyze_Pragma/Pragma_SPARK_Mode):
Issue an error when the pragma is applied to a generic unit,
a generic declaration, or inside a generic.
2014-01-31 Yannick Moy <moy@adacore.com>
* sem_ch8.adb (Analyze_Subprogram_Renaming): Set SPARK_Mode on renaming
entity.
From-SVN: r207352
Arnaud Charlet [Fri, 31 Jan 2014 15:45:08 +0000 (16:45 +0100)]
[multiple changes]
2014-01-31 Robert Dewar <dewar@adacore.com>
* exp_ch9.adb, s-tassta.adb, s-tposen.adb, s-tposen.ads: Minor
reformatting.
2014-01-31 Tristan Gingold <gingold@adacore.com>
* exp_disp.adb: Add a historic note.
2014-01-31 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Warn_On_Useless_Assignments): Add call to
Process_Deferred_References.
2014-01-31 Yannick Moy <moy@adacore.com>
* erroutc.adb (Validate_Specific_Warnings): Do not issue a message for
ineffective pragma Warnings(Off) in GNATprove_Mode.
From-SVN: r207351
Bob Duff [Fri, 31 Jan 2014 15:43:41 +0000 (15:43 +0000)]
s-taskin.ads: Minor comment fix.
2014-01-31 Bob Duff <duff@adacore.com>
* s-taskin.ads: Minor comment fix.
* s-tassta.adb (Abort_Dependents): Don't abort all dependents;
just direct dependents. If this is actually an abort, each task
will take care of aborting its dependents, so all dependents will
get aborted, as before. However, when this is called the second
time from Vulnerable_Complete_Master "for convenience" (i.e. to
kill off tasks waiting at terminate alternatives), aborting
indirect dependents is wrong, because it causes some unrelated
tasks to get aborted.
From-SVN: r207350
Arnaud Charlet [Fri, 31 Jan 2014 15:39:17 +0000 (16:39 +0100)]
[multiple changes]
2014-01-31 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb: Minor reformatting.
2014-01-31 Robert Dewar <dewar@adacore.com>
* exp_ch2.adb: New calling sequence for Is_LHS.
* frontend.adb: Add call to Process_Deferred_References.
* lib-xref.ads, lib-xref.adb (Process_Deferred_References): New.
(Deferred_References): New table.
* sem_ch8.adb (Find_Direct_Name): Make deferred reference table
entries.
(Find_Expanded_Name): Ditto.
* sem_res.adb: New calling sequence for Is_LHS.
* sem_util.ads, sem_util.adb (Is_LHS): New calling sequence.
* sem_warn.adb: Call Process_Deferred_References before issuing
warnings.
2014-01-31 Tristan Gingold <gingold@adacore.com>
* exp_util.adb (Corresponding_Runtime_Package): Restrict the
use of System_Tasking_Protected_Objects_Single_Entry.
* exp_ch9.adb (Build_Simple_Entry_Call): Remove Mode parameter
of Protected_Single_Entry_Call.
(Expand_N_Timed_Entry_Call): Remove single_entry case.
* exp_disp.adb (Make_Disp_Asynchronous_Select_Body): Remove
single_entry case.
(Make_Disp_Timed_Select_Body): Likewise.
* rtsfind.ads (RE_Timed_Protected_Single_Entry_Call): Remove.
* s-tposen.adb (Send_Program_Error, PO_Do_Or_Queue): Remove
Self_Id parameter.
(Wakeup_Entry_Caller): Remove Self_ID and New_State parameters.
(Wait_For_Completion_With_Timeout): Remove.
(Protected_Single_Entry_Call): Remove Mode parameter
(always Simple_Call).
(Service_Entry): Remove Self_Id constant (not used anymore).
(Timed_Protected_Single_Entry_Call): Remove.
* s-tposen.ads (Timed_Protected_Single_Entry_Call): Remove.
(Protected_Single_Entry_Call): Remove Mode parameter.
From-SVN: r207349
Jason Merrill [Fri, 31 Jan 2014 15:20:12 +0000 (10:20 -0500)]
re PR c++/59646 (ICE with volatile in initializer list)
PR c++/59646
* call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P.
[ck_list]: Check for error_mark_node.
(build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing.
From-SVN: r207346
Jason Merrill [Fri, 31 Jan 2014 15:20:05 +0000 (10:20 -0500)]
re PR c++/57043 (converting overloaded complex function pow in C++11 is ambiguous)
PR c++/57043
* pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
during partial ordering.
From-SVN: r207345
Max Ostapenko [Fri, 31 Jan 2014 13:42:10 +0000 (15:42 +0200)]
* c-c++-common/tsan/simple_race.c: Made test less flaky.
From-SVN: r207344
Ilya Tocar [Fri, 31 Jan 2014 13:29:08 +0000 (13:29 +0000)]
m512-check.h: Use correct rounding values.
gcc/testsuite/
* gcc.target/i386/m512-check.h: Use correct rounding values.
From-SVN: r207343
Ilya Tocar [Fri, 31 Jan 2014 13:22:57 +0000 (13:22 +0000)]
gcc/
* config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
(_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
(_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
in smmintrin.h, remove them.
(_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
* config/i386/i386.c (ix86_print_operand): Split sae and rounding.
* config/i386/i386.md (ROUND_SAE): Fix value.
* config/i386/predicates.md (const_4_or_8_to_11_operand): New.
(const48_operand): New.
* config/i386/subst.md (round), (round_expand): Use
const_4_or_8_to_11_operand.
(round_saeonly), (round_saeonly_expand): Use const48_operand.
gcc/testsuite/
* gcc.target/i386/avx-1.c: Use correct rounding values.
* gcc.target/i386/avx512f-vaddpd-1.c: Ditto.
* gcc.target/i386/avx512f-vaddps-1.c: Ditto.
* gcc.target/i386/avx512f-vaddsd-1.c: Ditto.
* gcc.target/i386/avx512f-vaddss-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtdq2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtpd2dq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtpd2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtpd2udq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtps2dq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtps2udq-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2si-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2si64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2ss-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2usi-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsd2usi64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsi2ss-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2si-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2si64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2usi-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtss2usi64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtudq2ps-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtusi2ss-1.c: Ditto.
* gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Ditto.
* gcc.target/i386/avx512f-vdivpd-1.c: Ditto.
* gcc.target/i386/avx512f-vdivps-1.c: Ditto.
* gcc.target/i386/avx512f-vdivsd-1.c: Ditto.
* gcc.target/i386/avx512f-vdivss-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmaddsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfmsubaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmaddXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXpd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXps-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXsd-1.c: Ditto.
* gcc.target/i386/avx512f-vfnmsubXXXss-1.c: Ditto.
* gcc.target/i386/avx512f-vmulpd-1.c: Ditto.
* gcc.target/i386/avx512f-vmulps-1.c: Ditto.
* gcc.target/i386/avx512f-vmulsd-1.c: Ditto.
* gcc.target/i386/avx512f-vmulss-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefpd-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefps-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefsd-1.c: Ditto.
* gcc.target/i386/avx512f-vscalefss-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtpd-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtps-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtsd-1.c: Ditto.
* gcc.target/i386/avx512f-vsqrtss-1.c: Ditto.
* gcc.target/i386/avx512f-vsubpd-1.c: Ditto.
* gcc.target/i386/avx512f-vsubps-1.c: Ditto.
* gcc.target/i386/avx512f-vsubsd-1.c: Ditto.
* gcc.target/i386/avx512f-vsubss-1.c: Ditto.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
From-SVN: r207342
Ilya Tocar [Fri, 31 Jan 2014 13:19:10 +0000 (13:19 +0000)]
constraints.md (Yk): Swap meaning with k.
gcc/
* config/i386/constraints.md (Yk): Swap meaning with k.
* config/i386/i386.md (movhi_internal): Change Yk to k.
(movqi_internal): Ditto.
(*k<logic><mode>): Ditto.
(*andhi_1): Ditto.
(*andqi_1): Ditto.
(kandn<mode>): Ditto.
(*<code>hi_1): Ditto.
(*<code>qi_1): Ditto.
(kxnor<mode>): Ditto.
(kortestzhi): Ditto.
(kortestchi): Ditto.
(kunpckhi): Ditto.
(*one_cmplhi2_1): Ditto.
(*one_cmplqi2_1): Ditto.
* config/i386/sse.md (): Change k to Yk.
(avx512f_load<mode>_mask): Ditto.
(avx512f_blendm<mode>): Ditto.
(avx512f_store<mode>_mask): Ditto.
(avx512f_storeu<ssemodesuffix>512_mask): Ditto.
(avx512f_storedqu<mode>_mask): Ditto.
(avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>): Ditto.
(avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
(avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
(avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
(avx512f_maskcmp<mode>3): Ditto.
(avx512f_fmadd_<mode>_mask<round_name>): Ditto.
(avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
(avx512f_fmsub_<mode>_mask<round_name>): Ditto.
(avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
(avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
(avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
(avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
(avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
(avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
(avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
(avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
(avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
(avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
(vec_extract_lo_<mode>_maskm): Ditto.
(vec_extract_hi_<mode>_maskm): Ditto.
(avx512f_vternlog<mode>_mask): Ditto.
(avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
(avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
(avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
(avx512f_<code>v8div16qi2_mask): Ditto.
(avx512f_<code>v8div16qi2_mask_store): Ditto.
(avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
(avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
(avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
(avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
(*avx512pf_gatherpf<mode>sf_mask): Ditto.
(*avx512pf_gatherpf<mode>df_mask): Ditto.
(*avx512pf_scatterpf<mode>sf_mask): Ditto.
(*avx512pf_scatterpf<mode>df_mask): Ditto.
(avx512cd_maskb_vec_dupv8di): Ditto.
(avx512cd_maskw_vec_dupv16si): Ditto.
(avx512f_vpermi2var<mode>3_maskz): Ditto.
(avx512f_vpermi2var<mode>3_mask): Ditto.
(avx512f_vpermi2var<mode>3_mask): Ditto.
(avx512f_vpermt2var<mode>3_maskz): Ditto.
(*avx512f_gathersi<mode>): Ditto.
(*avx512f_gathersi<mode>_2): Ditto.
(*avx512f_gatherdi<mode>): Ditto.
(*avx512f_gatherdi<mode>_2): Ditto.
(*avx512f_scattersi<mode>): Ditto.
(*avx512f_scatterdi<mode>): Ditto.
(avx512f_compress<mode>_mask): Ditto.
(avx512f_compressstore<mode>_mask): Ditto.
(avx512f_expand<mode>_mask): Ditto.
* config/i386/subst.md (mask): Change k to Yk.
(mask_scalar_merge): Ditto.
(sd): Ditto.
gcc/testsuite/
* gcc.target/i386/avx512f-inline-asm.c: Swap Yk and k.
* gcc.target/i386/avx512f-kmovw-1.c: Also allow k0.
From-SVN: r207341
Marc Glisse [Fri, 31 Jan 2014 12:59:44 +0000 (13:59 +0100)]
extend.texi (Vector Extensions): Document ?: in C++.
2014-01-31 Marc Glisse <marc.glisse@inria.fr>
gcc/
* doc/extend.texi (Vector Extensions): Document ?: in C++.
From-SVN: r207340
Jakub Jelinek [Fri, 31 Jan 2014 12:52:39 +0000 (13:52 +0100)]
Fix a typo.
From-SVN: r207339
Richard Biener [Fri, 31 Jan 2014 11:54:26 +0000 (11:54 +0000)]
re PR middle-end/59990 (incorrect memcpy optimization)
2014-01-31 Richard Biener <rguenther@suse.de>
PR middle-end/59990
* builtins.c (fold_builtin_memory_op): Make sure to not
use a floating-point mode or a boolean or enumeral type for
the copy operation.
* gcc.dg/torture/pr59990.c: New testcase.
From-SVN: r207338
Jakub Jelinek [Fri, 31 Jan 2014 11:30:46 +0000 (12:30 +0100)]
tsan-dg.exp (tsan_init): Try to run a trivial program, if it fails don't run any tsan tests.
* lib/tsan-dg.exp (tsan_init): Try to run a trivial program,
if it fails don't run any tsan tests.
From-SVN: r207337
Marek Polacek [Fri, 31 Jan 2014 08:13:50 +0000 (08:13 +0000)]
re PR c/59963 (Wrong column number for warning -Woverflow)
PR c/59963
c-family/
* c-common.c (add_atomic_size_parameter): Pass vNULL to
build_function_call_vec.
(resolve_overloaded_builtin): Likewise.
* c-common.h (build_function_call_vec): Adjust declaration.
cp/
* typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
c/
* c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
build_function_call_vec.
(build_function_call): Likewise.
(build_atomic_assign): Likewise.
(build_function_call_vec): Add arg_loc parameter. Use it.
(convert_arguments): Likewise.
(convert_for_assignment): Rename rhs_loc to expr_loc.
* c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
(c_parser_objc_keywordexpr): Likewise.
(c_parser_postfix_expression_after_primary): Call
build_function_call_vec with expr_loc rather than op_loc.
Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
build_function_call_vec.
(c_parser_expr_list): Add locations parameter. Fill it with locations
of function arguments.
* c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
objc/
* objc-next-runtime-abi-02.c (build_throw_stmt): Pass vNULL to
build_function_call_vec.
(finish_catch): Likewise.
(next_runtime_abi_02_get_class_reference): Likewise.
* objc-next-runtime-abi-01.c (build_objc_method_call): Pass vNULL to
build_function_call_vec.
(build_throw_stmt): Likewise.
* objc-gnu-runtime-abi-01.c: (build_objc_method_call): Pass vNULL to
build_function_call_vec.
(build_throw_stmt): Likewise.
testsuite/
* gcc.dg/pr59940.c (g): Adjust dg-warning.
(y): Adjust dg-error.
* gcc.dg/cast-function-1.c (bar): Adjust dg-warnings.
* gcc.dg/pr59963-1.c: New test.
* gcc.dg/pr59963-2.c: New test.
* gcc.dg/pr59963-3.c: New test.
From-SVN: r207335
DJ Delorie [Fri, 31 Jan 2014 04:17:38 +0000 (23:17 -0500)]
msp430.h (LIB_SPEC): Add -lcrt
* config/msp430/msp430.h (LIB_SPEC): Add -lcrt
* config/msp430/msp430.md (msp430_refsym_need_exit): New.
* config/msp430/msp430.c (msp430_expand_epilogue): Call it
whenever main() has an epilogue.
From-SVN: r207334
Jason Merrill [Fri, 31 Jan 2014 03:47:22 +0000 (22:47 -0500)]
re PR c++/57899 (bind/function with data member: infinite recursion)
PR c++/57899
* cp-tree.h (struct saved_scope): Add x_local_specializations.
(local_specializations): New macro.
* pt.c (local_specializations): Remove variable.
From-SVN: r207332
Ian Lance Taylor [Fri, 31 Jan 2014 01:58:12 +0000 (01:58 +0000)]
compiler: Use backend interface for conditional expressions.
From-SVN: r207330
GCC Administrator [Fri, 31 Jan 2014 00:16:31 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r207329
Bill Schmidt [Thu, 30 Jan 2014 22:36:13 +0000 (22:36 +0000)]
rs6000.c (rs6000_expand_vector_init): Remove unused variable "field".
2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
unused variable "field".
* config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
(vsx_mergeh_<mode>): Likewise.
* config/rs6000/altivec.md (altivec_vmrghb): Likewise.
(altivec_vmrghh): Likewise.
(altivec_vmrghw): Likewise.
(altivec_vmrglb): Likewise.
(altivec_vmrglh): Likewise.
(altivec_vmrglw): Likewise.
(altivec_vspltb): Add missing uses.
(altivec_vsplth): Likewise.
(altivec_vspltw): Likewise.
(altivec_vspltsf): Likewise.
From-SVN: r207326
Jakub Jelinek [Thu, 30 Jan 2014 21:48:08 +0000 (22:48 +0100)]
re PR regression/59923 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2239 with -mcpu=cortex-a15 -mthumb -O2 -fvisibility=hidden -g)
PR target/59923
* ifcvt.c (cond_exec_process_insns): Don't conditionalize
frame related instructions.
* gcc.target/arm/pr59923.c: New test.
From-SVN: r207324
Vladimir Makarov [Thu, 30 Jan 2014 21:15:51 +0000 (21:15 +0000)]
re PR rtl-optimization/59959 (LRA ICEs on a fortran case(Suspected to be similar to pr59915))
2014-01-30 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/59959
* lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
any reload of register whose subreg is invalid.
From-SVN: r207323
Jakub Jelinek [Thu, 30 Jan 2014 20:05:32 +0000 (21:05 +0100)]
f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
* config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing
warning.
* config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
Add missing return type - void.
From-SVN: r207321
Richard Sandiford [Thu, 30 Jan 2014 19:44:06 +0000 (19:44 +0000)]
re PR c++/58708 (string literal operator templates broken)
gcc/cp/
PR c++/58708
* parser.c (make_string_pack): Use double_int::from_buffer.
From-SVN: r207320