c-family/
* c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
cp/
* class.c (accessible_nvdtor_p): New.
(check_bases): Don't check base destructor here ...
(check_bases_and_members): ... check them here. Trigger on
Wnon-virtual-dtor flag.
(finish_struct_1): Use accessible_nvdtor_p.
Martin Jambor [Thu, 3 Apr 2014 09:35:41 +0000 (11:35 +0200)]
ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and mention gcc_unreachable before failing.
2014-04-03 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
mention gcc_unreachable before failing.
* ipa.c (symtab_remove_unreachable_nodes): Also print order of
removed symbols.
Jan Hubicka [Thu, 3 Apr 2014 03:55:59 +0000 (05:55 +0200)]
re PR ipa/60659 (ICE in get_polymorphic_call_info, at ipa-devirt.c:1292)
PR ipa/60659
* ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type inconsistent
code and instead mark the context inconsistent.
(possible_polymorphic_call_targets): For inconsistent contexts
return empty complete list.
* testsuite/g++.dg/torture/pr60659.C: New testcase.
Anthony Green [Thu, 3 Apr 2014 02:11:34 +0000 (02:11 +0000)]
This patch does three related things for the moxie port...
1. Changes char to be unsigned by default
2. Changes WCHAR_TYPE from long int to unsigned int
3. Zero- and sign-extends values properly, sometimes using the new
sign-extension instructions.
Bill Schmidt [Wed, 2 Apr 2014 22:07:30 +0000 (22:07 +0000)]
re PR tree-optimization/60733 (ICE due to SLSR on valid code at -O3 on x86_64-linux-gnu)
[gcc]
2014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60733
* gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
insertion point for PHI candidates to be the end of the feeding
block for the PHI argument.
[gcc/testsuite]
2014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60733
* gcc.dg/torture/pr60733.c: New test.
Joseph Myers [Wed, 2 Apr 2014 20:10:45 +0000 (21:10 +0100)]
funcspec-2.c, [...]: Skip for -march= options different from those in dg-options.
* gcc.target/i386/funcspec-2.c, gcc.target/i386/funcspec-3.c,
gcc.target/i386/funcspec-9.c, gcc.target/i386/isa-1.c,
gcc.target/i386/memcpy-strategy-1.c,
gcc.target/i386/memcpy-strategy-2.c,
gcc.target/i386/memcpy-vector_loop-1.c,
gcc.target/i386/memcpy-vector_loop-2.c,
gcc.target/i386/memset-vector_loop-1.c,
gcc.target/i386/memset-vector_loop-2.c,
gcc.target/i386/sse2-init-v2di-2.c, gcc.target/i386/ssetype-1.c,
gcc.target/i386/ssetype-2.c, gcc.target/i386/ssetype-5.c: Skip for
-march= options different from those in dg-options.
re PR target/60735 (GCC targeting E500 with SPE has errors with the _Decimal64 type)
2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60735
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
software floating point or no floating point registers, do not
allow any type in the FPRs. Eliminate a test for SPE SIMD types
in GPRs that occurs after we tested for GPRs that would never be
true.
* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
specifically allow DDmode, since that does not use the SPE SIMD
instructions.
PR target/54083
* gcc.dg/attr-weakref-1.c: Allow the test on darwin
with the additional options -Wl,-undefined,dynamic_lookup
and -Wl,-flat_namespace.
* gcc.dg/torture/pr53922.c: Additional option
-Wl,-flat_namespace for darwin[89].
* gcc.dg/torture/pr60092.c: Additional options
-Wl,-undefined,dynamic_lookup and -Wl,-flat_namespace
for darwin[89].
re PR target/60604 (GCC incorrectly compiles s_csinh function on MIPS32 (32bit fp))
gcc/
PR rtl-optimization/60604
* recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
check from register_operand.
(register_operand): Redefine in terms of general_operand.
(nonmemory_operand): Use register_operand for the non-constant cases.
re PR libstdc++/60270 ([C++1y] std::quoted is too eager to clear the string)
2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/60270
* include/std/iomanip (_Quoted_string operator>>): Do not clear
string if input is not quoted.
* testsuite/27_io/manipulators/standard/char/60270.cc: New.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r208966
Martin Jambor [Mon, 31 Mar 2014 12:28:33 +0000 (14:28 +0200)]
re PR middle-end/60647 (ICE in visit_ref_for_mod_analysis, at ipa-prop.c:2112)
2014-03-31 Martin Jambor <mjambor@suse.cz>
PR middle-end/60647
* tree-sra.c (callsite_has_enough_arguments_p): Renamed to
callsite_arguments_match_p. Updated all callers. Also check types of
corresponding formal parameters and actual arguments.
(not_all_callers_have_enough_arguments_p) Renamed to
some_callers_have_mismatched_arguments_p.
testsuite/
* gcc.dg/pr60647-1.c: New test.
* gcc.dg/pr60647-2.c: Likewise.
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.
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.
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.
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.
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.
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 (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.
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.