Jakub Jelinek [Sat, 29 Mar 2014 11:10:25 +0000 (12:10 +0100)]
re PR target/60648 (ICE (segmentation fault) in expand_binop)
PR target/60648
* g++.dg/pr60648.C: Move test to...
* g++.dg/torture/pr60648.C: ... here. Run on all targets, remove
dg-options, add for fpic targets dg-additional-options -fPIC.
From-SVN: r208933
GCC Administrator [Sat, 29 Mar 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208930
Jan Hubicka [Fri, 28 Mar 2014 22:19:27 +0000 (22:19 +0000)]
cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear static chain if needed.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
static chain if needed.
* g++.dg/torture/pr60659.C: New testcase.
From-SVN: r208927
Vladimir Makarov [Fri, 28 Mar 2014 22:14:36 +0000 (22:14 +0000)]
re PR target/60697 ([aarch64] LRA ICE (Segfault) while building 435.gromacs)
2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
PR target/60697
* lra-constraints.c (index_part_to_reg): New.
(process_address): Use it.
2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
PR target/60697
* gcc.target/aarch64/pr60697.c: New.
From-SVN: r208926
Jakub Jelinek [Fri, 28 Mar 2014 22:10:12 +0000 (23:10 +0100)]
Fixup ChangeLog formatting.
From-SVN: r208925
Jeff Law [Fri, 28 Mar 2014 22:02:32 +0000 (16:02 -0600)]
re PR target/60648 (ICE (segmentation fault) in expand_binop)
PR target/60648
* expr.c (do_tablejump): Use simplify_gen_binary rather than
gen_rtx_{PLUS,MULT} to build up the address expression.
* i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
creating non-canonical RTL.
PR target/60648
* g++.dg/pr60648.C: New test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r208924
Adam Butcher [Fri, 28 Mar 2014 20:41:45 +0000 (20:41 +0000)]
re PR c++/60573 ([c++1y] ICE with defining generic function of nested class in class scope)
Fix PR c++/60573
PR c++/60573
* name-lookup.h (cp_binding_level): New transient field defining_class_p
to indicate whether a scope is in the process of defining a class.
* semantics.c (begin_class_definition): Set defining_class_p.
* name-lookup.c (leave_scope): Reset defining_class_p.
* parser.c (synthesize_implicit_template_parm): Use cp_binding_level::
defining_class_p rather than TYPE_BEING_DEFINED as the predicate for
unwinding to class-defining scope to handle the erroneous definition of
a generic function of an arbitrarily nested class within an enclosing
class.
PR c++/60573
* g++.dg/cpp1y/pr60573.C: New testcase.
From-SVN: r208921
Jakub Jelinek [Fri, 28 Mar 2014 20:30:36 +0000 (21:30 +0100)]
Add PR60576 to the ChangeLog entry.
From-SVN: r208920
Mikael Morin [Fri, 28 Mar 2014 20:04:01 +0000 (20:04 +0000)]
re PR fortran/60576 (FAIL: gfortran.dg/assumed_rank_7.f90)
2014-03-28 Mikael Morin <mikael@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/60576
* trans-expr.c (gfc_conv_derived_to_class): Avoid
generation of out-of-bounds range expr.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r208918
Jan Hubicka [Fri, 28 Mar 2014 19:50:28 +0000 (20:50 +0100)]
re PR ipa/60243 (IPA is slow on large cgraph tree)
PR ipa/60243
* ipa-inline.c (want_inline_small_function_p): Short circuit large
functions; reorganize to make cheap checks first.
(inline_small_functions): Do not estimate growth when dumping;
it is expensive.
* ipa-inline.h (inline_summary): Add min_size.
(growth_likely_positive): New function.
* ipa-inline-analysis.c (dump_inline_summary): Add min_size.
(set_cond_stmt_execution_predicate): Cleanup.
(estimate_edge_size_and_time): Compute min_size.
(estimate_calls_size_and_time): Likewise.
(estimate_node_size_and_time): Likewise.
(inline_update_overall_summary): Update min_size.
(do_estimate_edge_time): Likewise.
(do_estimate_edge_size): Update.
(do_estimate_edge_hints): Update.
(growth_likely_positive): New function.
From-SVN: r208916
Jakub Jelinek [Fri, 28 Mar 2014 19:31:17 +0000 (20:31 +0100)]
re PR target/60693 (ICE on funny memcpy)
PR target/60693
* config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
also if addr has VOIDmode.
* gcc.target/i386/pr60693.c: New test.
From-SVN: r208915
Vishnu K S [Fri, 28 Mar 2014 19:19:03 +0000 (19:19 +0000)]
pr59940.c (si): Use 32-bit SI mode instead of int.
2014-03-28 Vishnu K S <Vishnu.k_s@atmel.com>
* gcc.dg/pr59940.c (si): Use 32-bit SI mode instead of int.
From-SVN: r208914
Mikael Morin [Fri, 28 Mar 2014 18:58:44 +0000 (18:58 +0000)]
re PR fortran/60677 (FAIL: gfortran.dg/ichar_3.f90 -O (test for excess errors))
fortran/
PR fortran/60677
* trans-intrinsic.c (gfc_conv_intrinsic_ichar): Enlarge argument
list buffer.
From-SVN: r208913
Jakub Jelinek [Fri, 28 Mar 2014 18:16:32 +0000 (19:16 +0100)]
re PR c++/60689 (Bogus error with atomic::exchange)
PR c++/60689
* c-tree.h (c_build_function_call_vec): New prototype.
* c-typeck.c (build_function_call_vec): Don't call
resolve_overloaded_builtin here.
(c_build_function_call_vec): New wrapper function around
build_function_call_vec. Call resolve_overloaded_builtin here.
(convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
Call c_build_function_call_vec instead of build_function_call_vec.
* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
* c-decl.c (finish_decl): Likewise.
* c-common.c (add_atomic_size_parameter): When creating new
params vector, push the size argument first.
* c-c++-common/pr60689.c: New test.
From-SVN: r208912
Kyrylo Tkachov [Fri, 28 Mar 2014 17:24:52 +0000 (17:24 +0000)]
[ARM/AArch64][2/2] Crypto intrinsics tuning for Cortex-A53 - pipeline description
* config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
* config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
Declare extern.
* config/arm/cortex-a53.md: Add reservations and bypass for crypto
instructions as well as AdvancedSIMD loads.
From-SVN: r208910
Kyrylo Tkachov [Fri, 28 Mar 2014 17:22:47 +0000 (17:22 +0000)]
[ARM/AArch64][1/2] Crypto intrinsics tuning for Cortex-A53 - "type" Attribute restructuring
* config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
Use crypto_aese type.
(aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
* config/arm/arm.md (is_neon_type): Replace crypto_aes with
crypto_aese, crypto_aesmc. Move to types.md.
* config/arm/types.md (crypto_aes): Split into crypto_aese,
crypto_aesmc.
* config/arm/iterators.md (crypto_type): Likewise.
From-SVN: r208908
Jakub Jelinek [Fri, 28 Mar 2014 17:17:56 +0000 (18:17 +0100)]
re PR c++/58678 (pykde4-4.11.2 link error (devirtualization too trigger happy))
PR c++/58678
* g++.dg/abi/thunk6.C: Scan assembler for _ZTv0_n32_N1CD1Ev
only for lp64 targets and scan for _ZTv0_n16_N1CD1Ev for ilp32
targets.
From-SVN: r208907
Jan Hubicka [Fri, 28 Mar 2014 15:30:58 +0000 (16:30 +0100)]
cgraph.c: Include expr.h and tree-dfa.h.
* cgraph.c: Include expr.h and tree-dfa.h.
(cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn; remove LHS.
From-SVN: r208901
Vladimir Makarov [Fri, 28 Mar 2014 15:27:58 +0000 (15:27 +0000)]
re PR target/60675 ([aarch64] internal compiler error: Max. number of generated reload insns per insn is achieved (90))
2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
PR target/60675
* lra-assigns.c (find_hard_regno_for): Remove unavailable hard
regs from checking multi-reg pseudos.
2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
PR target/60675
* gcc.target/aarch64/pr60675.C: New.
From-SVN: r208900
Richard Biener [Fri, 28 Mar 2014 14:05:49 +0000 (14:05 +0000)]
simple-object.c (simple_object_internal_read): Handle EINTR and short reads.
2014-03-28 Richard Biener <rguenther@suse.de>
libiberty/
* simple-object.c (simple_object_internal_read): Handle
EINTR and short reads.
lto-plugin/
* lto-plugin.c (process_symtab): Handle EINTR and short reads.
From-SVN: r208898
Andreas Krebbel [Fri, 28 Mar 2014 13:44:58 +0000 (13:44 +0000)]
ssa-dom-thread-4.c: Remove s390 special option.
2014-03-28 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Remove s390 special
option.
* lib/target-supports.exp: Return true for s390
in check_effective_logical_op_short_circuit.
From-SVN: r208897
Ramana Radhakrishnan [Fri, 28 Mar 2014 13:43:21 +0000 (13:43 +0000)]
Fix A12 multilib rule.
This affects only arm-none-eabi targets and those using t-aprofile in
their multilib lists. The problem here is that when the A12 support
was added, we mistakenly added this to the MULTILIB_MATCHES rule for
the A15 rather than putting out a separate line for this.
Fixed thusly and verified that the correct multilibs are now chosen.
* config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
From-SVN: r208896
Ulrich Weigand [Fri, 28 Mar 2014 12:42:40 +0000 (12:42 +0000)]
rs6000.c (fusion_gpr_load_p): Refuse optimization if it would clobber the stack pointer, even temporarily.
* config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
if it would clobber the stack pointer, even temporarily.
From-SVN: r208895
Kirill Yukhin [Fri, 28 Mar 2014 11:10:13 +0000 (11:10 +0000)]
avx512f-vshuff32x4-2.c: Fix initialization of second source operand.
gcc/testsuite
* gcc.target/i386/avx512f-vshuff32x4-2.c: Fix initialization
of second source operand.
* gcc.target/i386/avx512f-vshuff64x2-2.c: Ditto.
* gcc.target/i386/avx512f-vshufi32x4-2.c: Ditto.
* gcc.target/i386/avx512f-vshufi64x2-2.c: Ditto.
From-SVN: r208894
Jakub Jelinek [Fri, 28 Mar 2014 10:25:34 +0000 (11:25 +0100)]
re PR ipa/60315 (template constructor switch optimization)
PR ipa/60315
* g++.dg/torture/pr60315.C: Add -std=c++11 to dg-options.
From-SVN: r208893
Eric Botcazou [Fri, 28 Mar 2014 10:20:41 +0000 (10:20 +0000)]
* mode-switching.c: Make small adjustments to the top comment.
From-SVN: r208892
Tobias Burnus [Fri, 28 Mar 2014 06:57:54 +0000 (07:57 +0100)]
cilk-plus-dg.exp: New.
2014-03-28 Tobias Burnus <burnus@net-b.de>
* lib/cilk-plus-dg.exp: New.
* g++.dg/cilk-plus/cilk-plus.exp: Use it.
* gcc.dg/cilk-plus/cilk-plus.exp: Use it.
From-SVN: r208889
Ian Lance Taylor [Fri, 28 Mar 2014 05:20:48 +0000 (05:20 +0000)]
re PR other/59545 (Signed integer overflow issues)
PR other/59545
compiler: Fix bogus invalid static_cast to Unary_expression.
From-SVN: r208888
GCC Administrator [Fri, 28 Mar 2014 00:17:18 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208886
Thomas Koenig [Thu, 27 Mar 2014 22:21:35 +0000 (22:21 +0000)]
re PR fortran/60522 (WHERE construct causes an ICE in gfc_trans_where_2)
2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60522
* frontend-passes.c (cfe_code): Do not walk subtrees
for WHERE.
2014-04-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60522
* gfortran.dg/where_4.f90: New test case.
From-SVN: r208883
Michael Meissner [Thu, 27 Mar 2014 21:43:27 +0000 (21:43 +0000)]
extend.texi (PowerPC AltiVec/VSX Built-in Functions): Document use of vec_xxsldwi and vec_xxpermdi builtins.
2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
Document use of vec_xxsldwi and vec_xxpermdi builtins.
From-SVN: r208880
Tobias Burnus [Thu, 27 Mar 2014 21:17:43 +0000 (22:17 +0100)]
re PR fortran/58880 ([OOP] ICE on valid with FINAL function and type extension)
2014-03-27 Tobias Burnus <burnus@net-b.de>
PR fortran/58880
* trans-expr.c (gfc_conv_scalar_to_descriptor): Fix handling
of nonpointers.
2014-03-27 Tobias Burnus <burnus@net-b.de>
PR fortran/58880
* gfortran.dg/finalize_24.f90: New.
From-SVN: r208879
Michael Meissner [Thu, 27 Mar 2014 20:07:16 +0000 (20:07 +0000)]
re PR testsuite/60672 (FAIL: g++.dg/cpp1y/auto-fn25.C -std=gnu++1y (test for errors, line 7))
[gcc]
2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/constraints.md (wD constraint): New constraint to
match the constant integer to get the top DImode/DFmode out of a
vector in a VSX register.
* config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
match the constant integer to get the top DImode/DFmode out of a
vector in a VSX register.
* config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
for ISA 2.07.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
vbpermq builtins.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): If
-mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
* config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
Optimize vec_extract of 64-bit values, where the value being
extracted is in the top word, where we can use scalar
instructions. Add direct move and store support. Combine the big
endian/little endian vector select load support into a single
insn.
(vsx_extract_<mode>_internal1): Likewise.
(vsx_extract_<mode>_internal2): Likewise.
(vsx_extract_<mode>_load): Likewise.
(vsx_extract_<mode>_store): Likewise.
(vsx_extract_<mode>_zero): Delete, big and little endian insns are
combined into vsx_extract_<mode>_load.
(vsx_extract_<mode>_one_le): Likewise.
* config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
define the top 64-bit vector element.
* doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
constraint.
PR target/60672
* config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
enable use of xxsldwi and xxpermdi builtin functions.
(vec_xxpermdi): Likewise.
* doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
Document use of vec_xxsldwi and vec_xxpermdi builtins.
[gcc/testsuite]
2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-vbpermq.c: New test to test the
vbpermq builtin.
* gcc.target/powerpc/vsx-extract-1.c: New test to test VSX
vec_select optimizations.
* gcc.target/powerpc/vsx-extract-2.c: Likewise.
* gcc.target/powerpc/vsx-extract-3.c: Likewise.
PR target/60672
* gcc.target/powerpc/pr60676.c: New file, make sure xxsldwi and
xxpermdi builtins are supported.
From-SVN: r208877
Vladimir Makarov [Thu, 27 Mar 2014 18:49:44 +0000 (18:49 +0000)]
re PR rtl-optimization/60650 ([ARM] LRA ICE in assign_by_spills)
2014-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/60650
* lra-asign.c (find_hard_regno_for, spill_for): Add parameter
first_p. Use it.
(find_spills_for): New.
(assign_by_spills): Pass the new parameter to find_hard_regno_for.
Spill all pseudos on the second iteration.
2014-03-27 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/60650
* gcc.target/arm/pr60650.c: New.
From-SVN: r208876
Jonathan Wakely [Thu, 27 Mar 2014 18:22:46 +0000 (18:22 +0000)]
* doc/html/*: Regenerate.
From-SVN: r208875
Jonathan Wakely [Thu, 27 Mar 2014 18:22:38 +0000 (18:22 +0000)]
containers.xml (associative.bitset.size_variable): Fix bad s/part/chapter/ substitutions.
* doc/xml/manual/containers.xml (associative.bitset.size_variable):
Fix bad s/part/chapter/ substitutions.
* doc/xml/manual/io.xml (std.io): Likewise.
* doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
* doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
From-SVN: r208874
Jonathan Wakely [Thu, 27 Mar 2014 18:22:33 +0000 (18:22 +0000)]
faq.xml (faq): Refer to clauses instead of chapters.
* doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
* doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
Likewise.
* doc/xml/manual/backwards_compatibility.xml (backwards.third):
Likewise.
* doc/xml/manual/test.xml (test.organization.layout): Likewise.
From-SVN: r208873
Jonathan Wakely [Thu, 27 Mar 2014 18:22:27 +0000 (18:22 +0000)]
* doc/xml/manual/io.xml (std.io.objects): Additional markup.
From-SVN: r208872
Jonathan Wakely [Thu, 27 Mar 2014 18:07:25 +0000 (18:07 +0000)]
re PR libstdc++/60612 (Throwing exception, catching and rethrowing (std::exception_ptr) in destructor leads to segfault)
PR libstdc++/60612
* libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
compatible with __cxa_exception.
* libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
Fix typos in comments.
* testsuite/18_support/exception_ptr/60612-terminate.cc: New.
* testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
From-SVN: r208871
Marek Polacek [Thu, 27 Mar 2014 15:59:07 +0000 (15:59 +0000)]
re PR c/50347 (unexpected -Wconversion error from gcc builtin)
PR c/50347
* doc/extend.texi (ffs Builtins): Change unsigned types to signed
types.
From-SVN: r208870
Andreas Krebbel [Thu, 27 Mar 2014 15:40:31 +0000 (15:40 +0000)]
config.host: Append t-floattodi to tmake_file depending on host_address.
2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config.host: Append t-floattodi to tmake_file depending on
host_address.
From-SVN: r208868
Andreas Krebbel [Thu, 27 Mar 2014 15:38:29 +0000 (15:38 +0000)]
s390.c (s390_can_use_return_insn): Check for call-saved FPRs on 31 bit.
2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_can_use_return_insn): Check for
call-saved FPRs on 31 bit.
2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/
20140327-1.c: New testcase.
From-SVN: r208867
Yaakov Selkowitz [Thu, 27 Mar 2014 13:36:21 +0000 (13:36 +0000)]
Makefile.def (dependencies): Make all-ld depend on all-binutils for WINDRES_FOR_TARGET in default-manifest.o...
* Makefile.def (dependencies): Make all-ld depend on all-binutils
for WINDRES_FOR_TARGET in default-manifest.o rule.
* Makefile.in: Regenerate.
From-SVN: r208865
Jakub Jelinek [Thu, 27 Mar 2014 13:18:52 +0000 (14:18 +0100)]
re PR middle-end/60682 ([OpenMP] ICE on an assignment of local variable inside SIMD loop)
PR middle-end/60682
* omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
if they need regimplification, just drop them instead of
calling gimple_regimplify_operands on them.
* g++.dg/gomp/pr60682.C: New test.
From-SVN: r208864
John David Anglin [Thu, 27 Mar 2014 12:33:06 +0000 (12:33 +0000)]
pr60092.c: Remove default dg-skip-if arguments.
* gcc.dg/torture/pr60092.c: Remove default dg-skip-if arguments.
From-SVN: r208863
Marcus Shawcroft [Thu, 27 Mar 2014 10:13:50 +0000 (10:13 +0000)]
[PR 60580, AArch64] Fix __attribute__ ((optimize("no-omit-frame-pointer")))
The implementation of -m[no-]omit-leaf-frame-pointer and
-f[no-]omit-frame-pointer in the AArch64 target does not behave
correctly in the presence of __attribute__ optimize.
This patch adjusts the implementation to work in a similar fashion to
the same functionality in the i386 target.
The problem occurs because the current implementation uses a global
'faked_omit_frame_pointer' to retain the original value of
flag_omit_frame_pointer. The global does not form part of the
optimization save state.
This solution removes the global and instead tracks required behaviour
using only flag_omit_frame_pointer and flag_omit_leaf_frame_pointer.
These two form part of the optimziation save state and target save
state respectively.
The additional complication for AArch64 is that the PCS requires that
given -fno-omit-frame-pointer -momit-leave-frame-pointer, a leaf
function that kills LR must create a frame record. This is readily
handled in aarch64_frame_pointer_required(). I've dropped logic in
aarch64_can_eliminate() that attempts to detect this scenario since it
From-SVN: r208862
Dehao Chen [Thu, 27 Mar 2014 01:01:07 +0000 (01:01 +0000)]
* ipa-inline.c (early_inliner): Update node's inline info.
From-SVN: r208861
Dehao Chen [Thu, 27 Mar 2014 00:41:10 +0000 (00:41 +0000)]
dojump.c (do_compare_rtx_and_jump): Sets correct probability for compiler inserted conditional jumps for NAN float...
* dojump.c (do_compare_rtx_and_jump): Sets correct probability for
compiler inserted conditional jumps for NAN float check.
* gcc.dg/predict-8.c: New test.
From-SVN: r208860
GCC Administrator [Thu, 27 Mar 2014 00:16:59 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208859
Jakub Jelinek [Wed, 26 Mar 2014 21:52:16 +0000 (22:52 +0100)]
futex_bits.h: Include errno.h.
* config/linux/futex_bits.h: Include errno.h.
(sys_futex0): If syscall returns -1, return -errno rather than
-1.
From-SVN: r208855
Fabien Chêne [Wed, 26 Mar 2014 21:33:28 +0000 (22:33 +0100)]
re PR c++/52369 (Const-qualified non-class base member and defaulted default constructor)
2014-03-26 Fabien Chene <fabien@gcc.gnu.org>
PR c++/52369
* cp/method.c (walk_field_subobs): improve the diagnostic
locations for both REFERENCE_TYPEs and non-static const members.
* cp/init.c (diagnose_uninitialized_cst_or_ref_member): use %q#D
instead of %qD to be consistent with the c++11 diagnostic.
2014-03-26 Fabien Chene <fabien@gcc.gnu.org>
PR c++/52369
* g++.dg/init/const10.C: New.
* g++.dg/init/const11.C: New.
* g++.dg/init/pr25811.C: Adjust.
* g++.dg/init/pr29043.C: Likewise.
* g++.dg/init/pr43719.C: Likewise.
* g++.dg/init/pr44086.C: Likewise.
* g++.dg/init/ctor8.C: Likewise.
* g++.dg/init/uninitialized1.C: Likewise.
From-SVN: r208854
Joseph Myers [Wed, 26 Mar 2014 21:20:04 +0000 (21:20 +0000)]
* libitm.texi (Index): Rename to Library Index.
From-SVN: r208853
Dominique d'Humieres [Wed, 26 Mar 2014 20:39:42 +0000 (21:39 +0100)]
re PR fortran/34928 (Extension: volatile common blocks)
PR fortran/34928
* fortran.texi: Document Volatile COMMON as not supported.
From-SVN: r208852
Tobias Burnus [Wed, 26 Mar 2014 19:43:17 +0000 (20:43 +0100)]
Add libcilkrts/libcilkrts.spec.in, missing from r208847
From-SVN: r208851
Jakub Jelinek [Wed, 26 Mar 2014 19:33:40 +0000 (20:33 +0100)]
ubsan.h (ubsan_create_data): Change second argument's type to const location_t *.
* ubsan.h (ubsan_create_data): Change second argument's type
to const location_t *.
* ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
_("<unknown>").
(ubsan_create_data): Change second argument to const location_t *PLOC.
Create Loc field whenever PLOC is non-NULL.
(ubsan_instrument_unreachable, ubsan_expand_null_ifn,
ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
callers.
c-family/
* c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
ubsan_instrument_vla, ubsan_instrument_return): Adjust
ubsan_create_data callers.
From-SVN: r208849
Jakub Jelinek [Wed, 26 Mar 2014 19:32:40 +0000 (20:32 +0100)]
re PR other/59545 (Signed integer overflow issues)
PR other/59545
* real.c (real_to_integer2): Change type of low to UHWI.
From-SVN: r208848
Tobias Burnus [Wed, 26 Mar 2014 19:16:35 +0000 (20:16 +0100)]
gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
gcc/
2014-03-26 Tobias Burnus <burnus@net-b.de>
* gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
(CILK_SELF_SPECS): New define.
(driver_self_specs): Use it.
libcilkrts/
2014-03-26 Tobias Burnus <burnus@net-b.de>
* libcilkrts.spec.in: New.
* Makefile.am: Handle libcilkrts.spec.
* configure.ac: Determine link options for libcilkrts.spec.
* Makefile.in: Regenerate.
* configure: Regenerate.
* aclocal.m4: Regenerate.
From-SVN: r208847
Dominique d'Humieres [Wed, 26 Mar 2014 17:33:09 +0000 (18:33 +0100)]
MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r208846
Jason Merrill [Wed, 26 Mar 2014 16:50:26 +0000 (12:50 -0400)]
re PR c++/60566 (r208573 omits needed thunks)
PR c++/60566
PR c++/58678
* class.c (build_vtbl_initializer): Handle abstract dtors here.
* search.c (get_pure_virtuals): Not here.
From-SVN: r208845
Richard Biener [Wed, 26 Mar 2014 09:47:36 +0000 (09:47 +0000)]
tree-pretty-print.c (percent_K_format): Implement special case for LTO and its stripped down BLOCK tree.
2014-03-26 Richard Biener <rguenther@suse.de>
* tree-pretty-print.c (percent_K_format): Implement special
case for LTO and its stripped down BLOCK tree.
From-SVN: r208843
Jakub Jelinek [Wed, 26 Mar 2014 09:19:44 +0000 (10:19 +0100)]
re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
* Makefile.def: Set bootstrap=true; for host fixincludes.
* configure.ac: Don't bootstrap host fixincludes unless
--with-build-config=bootstrap-{a,ub}san.
* Makefile.in: Regenerated.
* configure: Regenerated.
From-SVN: r208842
Jakub Jelinek [Wed, 26 Mar 2014 09:18:26 +0000 (10:18 +0100)]
re PR sanitizer/60636 (ubsan doesn't instrument signed integer ABS_EXPR)
PR sanitizer/60636
* ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
* c-c++-common/ubsan/pr60636.c: New test.
From-SVN: r208841
Jakub Jelinek [Wed, 26 Mar 2014 09:17:10 +0000 (10:17 +0100)]
tree-vrp.c (simplify_internal_call_using_ranges): If only one range is range_int_cst_p...
* tree-vrp.c (simplify_internal_call_using_ranges): If only
one range is range_int_cst_p, but not both, at least optimize
addition/subtraction of 0 and multiplication by 0 or 1.
* gimple-fold.c (gimple_fold_call): Fold
IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
(gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
INTEGER_CSTs, try to fold at least x * 0 and y - y.
From-SVN: r208840
Andreas Schwab [Wed, 26 Mar 2014 08:31:30 +0000 (08:31 +0000)]
* g++.dg/torture/pr60315.C: Remove duplication.
From-SVN: r208839
Eric Botcazou [Wed, 26 Mar 2014 07:38:30 +0000 (07:38 +0000)]
re PR rtl-optimization/60452 (wrong code at -O1 with large offsets in the frame)
PR rtl-optimization/60452
* rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
<case REG>: Return 1 for invalid offsets from the frame pointer.
From-SVN: r208837
Marek Polacek [Wed, 26 Mar 2014 06:58:15 +0000 (06:58 +0000)]
re PR c/37428 (GNU VLA-in-structure extension is undocumented)
PR c/37428
* doc/extend.texi (C Extensions): Mention variable-length arrays in
a structure/union.
From-SVN: r208836
Marek Polacek [Wed, 26 Mar 2014 06:55:39 +0000 (06:55 +0000)]
re PR c/39525 ([easy to fix bug] Docs for C99 "designated initializers" isn't clear what happens to omitted field members)
PR c/39525
* doc/extend.texi (Designated Inits): Describe what happens to omitted
field members.
From-SVN: r208835
Marek Polacek [Wed, 26 Mar 2014 06:46:27 +0000 (06:46 +0000)]
re PR other/59545 (Signed integer overflow issues)
PR other/59545
* ira-color.c (update_conflict_hard_regno_costs): Perform the
multiplication in unsigned type.
From-SVN: r208834
Chung-Ju Wu [Wed, 26 Mar 2014 03:14:42 +0000 (03:14 +0000)]
* doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
From-SVN: r208833
Chung-Ju Wu [Wed, 26 Mar 2014 02:59:36 +0000 (02:59 +0000)]
* doc/contrib.texi: Add myself as Andes nds32 port contributor.
From-SVN: r208832
Jan Hubicka [Wed, 26 Mar 2014 02:11:57 +0000 (03:11 +0100)]
re PR ipa/60315 (template constructor switch optimization)
PR ipa/60315
* cif-code.def (UNREACHABLE) New code.
* ipa-inline.c (inline_small_functions): Skip edges to __builtlin_unreachable.
(estimate_edge_growth): Allow edges to __builtlin_unreachable.
* ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
predicate to __bulitin_unreachable.
(set_cond_stmt_execution_predicate): Fix issue when invert_tree_comparison
returns ERROR_MARK.
* ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
propagate to inline clones.
* cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
to unreachable.
* ipa-cp.c (create_specialized_node): Be ready for new node to appear.
* cgraphclones.c (cgraph_clone_node): If call destination is already
ureachable, do not redirect it back.
* tree-inline.c (fold_marked_statements): Hanlde calls becoming
unreachable.
From-SVN: r208831
Jan Hubicka [Wed, 26 Mar 2014 02:07:51 +0000 (03:07 +0100)]
ipa-pure-const.c (propagate_pure_const, [...]): Do not modify inline clones.
* ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
Do not modify inline clones.
From-SVN: r208830
GCC Administrator [Wed, 26 Mar 2014 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r208829
Jakub Jelinek [Tue, 25 Mar 2014 21:47:41 +0000 (22:47 +0100)]
i386.md (general_sext_operand): New mode attr.
* config/i386/i386.md (general_sext_operand): New mode attr.
(addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
don't generate (sign_extend (const_int)).
(*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
operands[2]. Use We constraint instead of <i> and <general_sext_operand>
predicate instead of <general_operand>.
(*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
* config/i386/constraints.md (We): New constraint.
* config/i386/predicates.md (x86_64_sext_operand,
sext_operand): New predicates.
From-SVN: r208824
Jonathan Wakely [Tue, 25 Mar 2014 19:39:52 +0000 (19:39 +0000)]
re PR libstdc++/60658 (std::atomic<T*> is unexpectedly not lock-free)
PR libstdc++/60658
* include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
Use sizeof pointer type not the element type.
* testsuite/29_atomics/atomic/60658.cc: New.
From-SVN: r208819
Martin Jambor [Tue, 25 Mar 2014 18:22:41 +0000 (19:22 +0100)]
re PR ipa/60600 (ICE in ipa_get_indirect_edge_target_1)
2014-03-25 Martin Jambor <mjambor@suse.cz>
PR ipa/60600
* ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
inconsistent devirtualizations to __builtin_unreachable.
testsuite/
* g++.dg/ipa/pr60600.C: New test.
From-SVN: r208818
Jason Merrill [Tue, 25 Mar 2014 18:00:37 +0000 (14:00 -0400)]
re PR c++/60375 ([c++11] ICE with invalid use of lambda)
PR c++/60375
* parser.c (cp_parser_lambda_expression): Don't parse the body of
a lambda in unevaluated context.
From-SVN: r208817
Jason Merrill [Tue, 25 Mar 2014 18:00:30 +0000 (14:00 -0400)]
re PR c++/60628 ([c++11] ICE initializing array of auto)
PR c++/60628
* decl.c (create_array_type_for_decl): Complain about array of auto.
From-SVN: r208816
Marek Polacek [Tue, 25 Mar 2014 16:50:54 +0000 (16:50 +0000)]
re PR c/35449 (extended asm documentation wrong)
PR c/35449
* doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
From-SVN: r208815
Alan Lawrence [Tue, 25 Mar 2014 15:59:48 +0000 (15:59 +0000)]
[PATCH AArch64] Fix aarch64_simd_valid_immediate for Bigendian
gcc/
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
order of elements for big-endian.
From-SVN: r208814
John David Anglin [Tue, 25 Mar 2014 12:06:17 +0000 (12:06 +0000)]
re PR testsuite/58013 (main() not generated in assembler output)
PR testsuite/58013
* g++.dg/opt/pr56999.C: Pop hidden visibility.
From-SVN: r208813
Richard Biener [Tue, 25 Mar 2014 11:43:03 +0000 (11:43 +0000)]
re PR lto/60635 (ICE when mixing C and Fortran lto1: error: use operand missing for stmt)
2014-03-25 Richard Biener <rguenther@suse.de>
PR middle-end/60635
* gimplify-me.c (gimple_regimplify_operands): Update the
re-gimplifed stmt.
* gfortran.dg/lto/pr60635_0.f90: New testcase.
* gfortran.dg/lto/pr60635_1.c: Likewise.
From-SVN: r208811
Martin Jambor [Tue, 25 Mar 2014 10:57:07 +0000 (11:57 +0100)]
re PR ipa/59176 (ICE edge points to wrong declaration / verify_cgraph_node failed)
2014-03-25 Martin Jambor <mjambor@suse.cz>
PR ipa/59176
* lto-cgraph.c (lto_output_node): Stream body_removed flag.
(lto_output_varpool_node): Likewise.
(input_overwrite_node): Likewise.
(input_varpool_node): Likewise.
From-SVN: r208809
Richard Biener [Tue, 25 Mar 2014 10:10:31 +0000 (10:10 +0000)]
lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
2014-03-25 Richard Biener <rguenther@suse.de>
* lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like
OPT_fpie.
(run_gcc): Likewise.
From-SVN: r208807
Jakub Jelinek [Tue, 25 Mar 2014 09:30:10 +0000 (10:30 +0100)]
re PR c++/60331 (ICE with OpenMP #pragma omp declare reduction in template class)
PR c++/60331
* semantics.c (potential_constant_expression_1): Handle
DECL_EXPR.
* testsuite/libgomp.c++/udr-11.C: New test.
* testsuite/libgomp.c++/udr-12.C: New test.
* testsuite/libgomp.c++/udr-13.C: New test.
* testsuite/libgomp.c++/udr-14.C: New test.
* testsuite/libgomp.c++/udr-15.C: New test.
* testsuite/libgomp.c++/udr-16.C: New test.
* testsuite/libgomp.c++/udr-17.C: New test.
* testsuite/libgomp.c++/udr-18.C: New test.
* testsuite/libgomp.c++/udr-19.C: New test.
From-SVN: r208806
Jakub Jelinek [Tue, 25 Mar 2014 09:28:33 +0000 (10:28 +0100)]
combine.c (simplify_compare_const): Add MODE argument.
* combine.c (simplify_compare_const): Add MODE argument.
Handle mode_width 0 as very large mode_width.
(try_combine, simplify_comparison): Adjust callers.
From-SVN: r208805
Jakub Jelinek [Tue, 25 Mar 2014 09:27:54 +0000 (10:27 +0100)]
cselib.c (cselib_hash_rtx): Perform addition in unsigned type to avoid signed integer overflow.
* cselib.c (cselib_hash_rtx): Perform addition in unsigned
type to avoid signed integer overflow.
* explow.c (plus_constant): Likewise.
From-SVN: r208804
Dominik Vogt [Tue, 25 Mar 2014 09:12:18 +0000 (09:12 +0000)]
generic.texi: Correct typos.
2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
* doc/generic.texi: Correct typos.
From-SVN: r208803
GCC Administrator [Tue, 25 Mar 2014 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208802
Adam Butcher [Mon, 24 Mar 2014 20:40:15 +0000 (20:40 +0000)]
re PR c++/60627 ([c++1y] ICE in explicit template instantiation containing auto parameter)
Fix PR c++/60627
PR c++/60627
* parser.c (cp_parser_parameter_declaration_clause): Prevent 'auto' from
introducing an implicit function template parameter within an explicit
instantiation.
PR c++/60627
* g++.dg/cpp1y/pr60627.C: New testcase.
From-SVN: r208799
Tobias Burnus [Mon, 24 Mar 2014 19:53:52 +0000 (20:53 +0100)]
invoke.texi (-flto): Expand section about using static libraries with LTO.
2014-03-24 Tobias Burnus <burnus@net-b.de>
* doc/invoke.texi (-flto): Expand section about
using static libraries with LTO.
From-SVN: r208798
Jakub Jelinek [Mon, 24 Mar 2014 19:48:12 +0000 (20:48 +0100)]
baseline_symbols.txt: Update.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
entries.
From-SVN: r208797
Andreas Krebbel [Mon, 24 Mar 2014 17:38:09 +0000 (17:38 +0000)]
re PR rtl-optimization/60501 (LRA emits add patterns which might clobber cc)
2014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR rtl-optimization/60501
* optabs.def (addptr3_optab): New optab.
* optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
* doc/md.texi ("addptrm3"): Document new RTL standard expander.
* expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
* lra.c (emit_add3_insn): Use the addptr pattern if available.
* config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
From-SVN: r208796
Ulrich Drepper [Mon, 24 Mar 2014 16:27:36 +0000 (16:27 +0000)]
avx512fintrin.h: Define _mm512_set1_ps and _mm512_set1_pd.
2014-03-24 Ulrich Drepper <drepper@gmail.com>
* config/i386/avx512fintrin.h: Define _mm512_set1_ps and
_mm512_set1_pd.
From-SVN: r208794
Ulrich Drepper [Mon, 24 Mar 2014 16:17:51 +0000 (16:17 +0000)]
avxintrin.h (_mm256_undefined_si256): Define.
2014-03-24 Ulrich Drepper <drepper@gmail.com>
* config/i386/avxintrin.h (_mm256_undefined_si256): Define.
(_mm256_undefined_ps): Define.
(_mm256_undefined_pd): Define.
* config/i386/emmintrin.h (_mm_undefined_si128): Define.
(_mm_undefined_pd): Define.
* config/i386/xmmintrin.h (_mm_undefined_ps): Define.
* config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
(_mm512_undefined_ps): Define.
(_mm512_undefined_pd): Define.
Use _mm*_undefined_*.
* config/i386/avx2intrin.h: Use _mm*_undefined_*.
From-SVN: r208793
Jason Merrill [Mon, 24 Mar 2014 15:55:43 +0000 (11:55 -0400)]
re PR c++/60574 ([c++1y] ICE with deduced return type in virtual function and LTO)
PR c++/60574
* decl.c (grokdeclarator): Change permerror about 'virtual auto'
to error.
From-SVN: r208792
Joseph Myers [Mon, 24 Mar 2014 15:04:14 +0000 (15:04 +0000)]
* sv.po: Update.
From-SVN: r208791
Alex Velenko [Mon, 24 Mar 2014 12:05:38 +0000 (12:05 +0000)]
[AArch64] Logical vector shift right conformance
gcc/
* config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
(lshr_simd): DI mode added.
* config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
(aarch64_ushr_simddi): Likewise.
* config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
* config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
(vshrd_n_u64): Likewise.
gcc/testsuite/
* gcc.target/aarch64/ushr64_1.c: New testcase.
From-SVN: r208789
James Greenhalgh [Mon, 24 Mar 2014 11:47:33 +0000 (11:47 +0000)]
[AArch64 testsuite] Make vect-abs.c C99 compliant
* gcc.target/aarch64/vect-abs.c (dg-options): Add -std=c99.
(LONG_LONG): Use LLONG.
(set_rvector_long): Explicitly return void.
(set_vector_long): Likewise.
(check_vector_long): Likewise.
From-SVN: r208788
Marek Polacek [Mon, 24 Mar 2014 10:20:15 +0000 (10:20 +0000)]
div-by-zero-4.c: Don't include limits.h.
* c-c++-common/ubsan/div-by-zero-4.c: Don't include limits.h. Define
INT_MIN.
* c-c++-common/ubsan/overflow-1.c: Check for unwanted output.
* c-c++-common/ubsan/overflow-add-1.c: Likewise.
* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
* c-c++-common/ubsan/overflow-mul-3.c: Likewise.
* c-c++-common/ubsan/overflow-negate-2.c: Likewise.
* c-c++-common/ubsan/overflow-sub-1.c: Likewise.
* c-c++-common/ubsan/pr59503.c: Likewise.
* c-c++-common/ubsan/pr60613-1.c: Likewise.
* c-c++-common/ubsan/save-expr-1.c: Likewise.
* c-c++-common/ubsan/shift-3.c: Likewise.
* c-c++-common/ubsan/shift-6.c: Likewise.
* c-c++-common/ubsan/undefined-1.c: Likewise.
* c-c++-common/ubsan/vla-2.c: Likewise.
* c-c++-common/ubsan/vla-3.c: Likewise.
* c-c++-common/ubsan/vla-4.c: Likewise.
* g++.dg/ubsan/cxx11-shift-1.C: Likewise.
* g++.dg/ubsan/return-2.C: Likewise.
From-SVN: r208787