Eric Botcazou [Mon, 29 Feb 2016 09:30:09 +0000 (09:30 +0000)]
decl.c (gnat_to_gnu_entity): Retrofit handling of unconstrained array types as designated types into common...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Retrofit
handling of unconstrained array types as designated types into common
processing. Also handle array types as incomplete designated types.
From-SVN: r233807
Eric Botcazou [Mon, 29 Feb 2016 09:21:12 +0000 (09:21 +0000)]
decl.c (gnat_to_gnu_entity): In ASIS mode, fully lay out the minimal record type.
* gcc-interface/decl.c (gnat_to_gnu_entity) <Concurrent types>: In
ASIS mode, fully lay out the minimal record type.
From-SVN: r233806
Eric Botcazou [Mon, 29 Feb 2016 09:16:57 +0000 (09:16 +0000)]
trans.c (finalize_nrv_r): Remove obsolete code.
* gcc-interface/trans.c (finalize_nrv_r): Remove obsolete code.
(build_return_expr): Likewise.
(Call_to_gnu): If this is a function call and there is no target,
create a temporary for the return value for all aggregate types,
but never create it for a return statement. Push a binding level
around the call in more cases. Remove obsolete code.
From-SVN: r233805
Eric Botcazou [Mon, 29 Feb 2016 09:02:46 +0000 (09:02 +0000)]
ada-tree.h (DECL_RETURN_VALUE_P): New macro.
* gcc-interface/ada-tree.h (DECL_RETURN_VALUE_P): New macro.
* gcc-interface/gigi.h (gigi): Remove useless attribute.
(gnat_gimplify_expr): Likewise.
(gnat_to_gnu_external): Declare.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Factor out
code dealing with the expression of external constants into...
Invoke gnat_to_gnu_external instead.
<E_Variable>: Invoke gnat_to_gnu_external to translate renamed objects
when not for a definition. Deal with COMPOUND_EXPR and variables with
DECL_RETURN_VALUE_P set for renamings and with the case of a dangling
'reference to a function call in a renaming. Remove obsolete test and
adjust associated comment.
* gcc-interface/trans.c (Call_to_gnu): Set DECL_RETURN_VALUE_P on the
temporaries created to hold the return value, if any.
(gnat_to_gnu_external): ...this. New function.
* gcc-interface/utils.c (create_var_decl): Detect a constant created
to hold 'reference to function call.
* gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Add folding
for COMPOUND_EXPR in the DECL_RETURN_VALUE_P case.
From-SVN: r233804
Richard Biener [Mon, 29 Feb 2016 08:45:17 +0000 (08:45 +0000)]
re PR tree-optimization/69720 (wrong code at -O3 on x86_64-linux-gnu)
2016-02-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/69720
* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
the adjustment_def path for possibly vectorized defs.
(vect_create_epilog_for_reduction): Handle vectorized initial
defs properly.
* gcc.dg/vect/vect-outer-pr69720.c: New testcase.
From-SVN: r233803
GCC Administrator [Mon, 29 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233801
Thomas Koenig [Sun, 28 Feb 2016 22:27:55 +0000 (22:27 +0000)]
re PR fortran/68147 (Potential incorrect code generation for string self-assignment)
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/68147
PR fortran/47674
* frontend-passes.c (realloc_string_callback): Don't set
walk_subtrees.
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/68147
PR fortran/47674
* gfortran.dg/realloc_on_assign_26.f90: New test case.
From-SVN: r233797
Thomas Koenig [Sun, 28 Feb 2016 22:24:27 +0000 (22:24 +0000)]
dump-parse-tree.c (show_code_node): Print association list of a block if present.
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump-parse-tree.c (show_code_node): Print association
list of a block if present. Handle EXEC_END_BLOCK.
From-SVN: r233796
Harald Anlauf [Sun, 28 Feb 2016 19:07:42 +0000 (19:07 +0000)]
re PR fortran/56007 (Remarkably bad error message with DO array=1,2)
2016-02-28 Harald Anlauf <anlauf@gmx.de>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/56007
* match.c (gfc_match_iterator): Add diagnostic for array variable
as do loop index.
* gfortran.dg/coarray_8.f90: Adjust error message.
* gfortran.dg/pr56007.f90: New test.
* gfortran.dg/pr56007.f: New test.
Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r233795
H.J. Lu [Sun, 28 Feb 2016 17:41:45 +0000 (17:41 +0000)]
Add a test for PR tree-optimization/69989
PR tree-optimization/69989
* gcc.dg/torture/pr69989.c: New test.
From-SVN: r233792
Eric Botcazou [Sun, 28 Feb 2016 14:36:41 +0000 (14:36 +0000)]
* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
From-SVN: r233791
Harald Anlauf [Sun, 28 Feb 2016 13:39:39 +0000 (13:39 +0000)]
re PR fortran/60126 (Internal compiler error with code using pointer reshaping (gfortran 4.8.2))
2016-02-28 Harald Anlauf <anlauf@gmx.de>
PR fortran/60126
* gfortran.dg/pr60126.f90: New test.
From-SVN: r233790
Jeff Law [Sun, 28 Feb 2016 06:34:20 +0000 (23:34 -0700)]
Revert
2016-02-26 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR tree-optimization/69740
* cfghooks.c (remove_edge): Request loop fixups if we delete
an edge that might turn an irreducible loop into a natural
loop.
Revert
2016-02-26 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.
From-SVN: r233787
GCC Administrator [Sun, 28 Feb 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233786
Jerry DeLisle [Sat, 27 Feb 2016 22:04:08 +0000 (22:04 +0000)]
2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Fix ChangeLogs
From-SVN: r233783
Jerry DeLisle [Sat, 27 Feb 2016 19:07:13 +0000 (19:07 +0000)]
re PR fortran/69910 (ICE with NEWUNIT)
2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69110
* io.c (gfc_match_open): Check that open status is an expression
constant before comparing string to 'scratch' with NEWUNIT.
* gfortran.dg/newunit_4.f90: New test.
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r233782
Jakub Jelinek [Sat, 27 Feb 2016 13:31:39 +0000 (14:31 +0100)]
re PR target/69613 (wrong code with -O and simple 128bit arithmetics and vectors @ aarch64)
PR target/69613
PR rtl-optimization/69886
* gcc.dg/torture/pr69886.c: Add -w -Wno-psabi to dg-options.
* gcc.dg/torture/pr69613.c: Likewise. Guard -mavx with avx_runtime
target.
From-SVN: r233781
Alessandro Fanfarillo [Sat, 27 Feb 2016 11:57:16 +0000 (04:57 -0700)]
Right size for events
From-SVN: r233779
Jakub Jelinek [Sat, 27 Feb 2016 06:43:20 +0000 (07:43 +0100)]
re PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)
PR rtl-optimization/69896
* tree-vect-generic.c (get_compute_type): Avoid single element
vector types.
From-SVN: r233777
GCC Administrator [Sat, 27 Feb 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233775
Evandro Menezes [Fri, 26 Feb 2016 23:41:53 +0000 (23:41 +0000)]
Rename the tuning option and related functions to enable the Newton series for the reciprocal square root to reflect its approximative characteristic.
gcc/
* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
function to "aarch64_emit_approx_rsqrt".
* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
AARCH64_EXTRA_TUNE_APPROX_RSQRT.
* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
(xgene1_tunings): Likewise.
(use_rsqrt_p): Likewise.
(aarch64_emit_swrsqrt): Use new function name.
* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
text explaining this option.
* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
From-SVN: r233772
Martin Sebor [Fri, 26 Feb 2016 23:24:29 +0000 (23:24 +0000)]
PR tree-optimization/15826 - don't use "if" to extract a single bit
PR tree-optimization/15826 - don't use "if" to extract a single bit
bit-field
2016-02-26 Martin Sebor <msebor@redhat.com>
PR tree-optimization/15826
* gcc.dg/tree-ssa/pr15826.c: New test.
From-SVN: r233771
Jakub Jelinek [Fri, 26 Feb 2016 22:35:00 +0000 (23:35 +0100)]
re PR target/69969 (Function attribute no-vsx)
PR target/69969
* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
complain about -mallow-movmisalign without -mvsx if
TARGET_ALLOW_MOVMISALIGN was not set explicitly.
* gcc.target/powerpc/pr69969.c: New test.
From-SVN: r233767
Martin Sebor [Fri, 26 Feb 2016 21:50:15 +0000 (14:50 -0700)]
PR c++/15766 - bad parse error recovery (2 bugs)
gcc/testsuite/ChangeLog:
2016-02-26 Martin Sebor <msebor@redhat.com>
PR c++/15766
* g++.old-deja/g++.other/decl5.C: Add a test case.
From-SVN: r233765
Joel Sherrill [Fri, 26 Feb 2016 20:03:19 +0000 (20:03 +0000)]
config-list.mk: Add aarch64-rtems and x86_64-rtems
2016-02-26 Joel Sherrill <joel@rtems.org>
* config-list.mk: Add aarch64-rtems and x86_64-rtems
From-SVN: r233763
Joel Sherrill [Fri, 26 Feb 2016 20:02:28 +0000 (20:02 +0000)]
config.host: Add x86_64-*-rtems*.
2016-02-26 Joel Sherrill <joel@rtems.org>
* config.host: Add x86_64-*-rtems*.
From-SVN: r233762
Joel Sherrill [Fri, 26 Feb 2016 20:01:34 +0000 (20:01 +0000)]
config.gcc: Add x86_64-*-rtems*.
2016-02-26 Joel Sherrill <joel@rtems.org>
* config.gcc: Add x86_64-*-rtems*.
* gcc/config/i386/rtems-64.h: New file.
From-SVN: r233761
Joel Sherrill [Fri, 26 Feb 2016 19:59:55 +0000 (19:59 +0000)]
config.gcc: Add aarch64-*-rtems*.
2016-02-26 Joel Sherrill <joel@rtems.org>
* config.gcc: Add aarch64-*-rtems*.
* gcc/config/aarch64/rtems.h: New file.
From-SVN: r233760
Joel Sherrill [Fri, 26 Feb 2016 19:59:04 +0000 (19:59 +0000)]
config.host: Add aarch64-*-rtems*.
2016-02-26 Joel Sherrill <joel@rtems.org>
* libgcc/config.host: Add aarch64-*-rtems*.
From-SVN: r233759
Jason Merrill [Fri, 26 Feb 2016 19:54:33 +0000 (14:54 -0500)]
re PR c++/69958 (sizeof... computes wrong size)
PR c++/69958
* pt.c (make_argument_pack): New.
(tsubst_copy) [SIZEOF_EXPR]: Handle partial expansion.
(tsubst_copy_and_build): Likewise.
From-SVN: r233758
Keith McDaniel [Fri, 26 Feb 2016 19:42:31 +0000 (19:42 +0000)]
[hsa,testsuite] Introduce offload_device_shared_as effective target
2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
Martin Jambor <mjambor@suse.cz>
* testsuite/lib/libgomp.exp
(check_effective_target_offload_device_shared_as): New proc.
* testsuite/libgomp.c++/declare_target-1.C: New test.
Co-Authored-By: Martin Jambor <mjambor@suse.cz>
From-SVN: r233757
Paul E. Murphy [Fri, 26 Feb 2016 19:20:54 +0000 (19:20 +0000)]
sfp-machine.h (_FP_DECL_EX): Declare _fpsr as a union of u64 and double.
2016-02-26 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/sfp-machine.h (_FP_DECL_EX): Declare _fpsr as a
union of u64 and double.
(FP_TRAPPING_EXCEPTIONS): Return a bitmask of trapping exceptions.
(FP_INIT_ROUNDMODE): Read the fpscr instead of writing a mystery
value.
(FP_ROUNDMODE): Update the usage of _fpscr.
Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>
From-SVN: r233756
Segher Boessenkool [Fri, 26 Feb 2016 18:49:18 +0000 (19:49 +0100)]
powerpc: Handle DImode rotatert implemented with rlwinm (PR69946)
Some DImode rotate-right-and-mask can be implemented best with a rlwinm
instruction: those that could be a lshiftrt instead of a rotatert, while
the mask is not right-aligned. Why the rotate in the testcase is not
optimised to a plain shift is another question, but we need to handle
it here anyway. We compute the shift amount for a 64-bit rotate. This
is 32 too high in this case; if we print using %h that is masked out (and
this doesn't silently let through invalid instructions, everything is
checked by rs6000_is_valid_shift_mask which is much more thorough).
PR target/69946
* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
shift amount using %h. Add comment.
gcc/testsuite/
* gcc.target/powerpc/pr69946.c: New file.
From-SVN: r233755
Richard Biener [Fri, 26 Feb 2016 18:17:02 +0000 (18:17 +0000)]
re PR tree-optimization/69740 (gcc ICE at -O2 and above on valid code on x86_64-linux-gnu in "verify_loop_structure")
PR tree-optimization/69740
* cfghooks.c (remove_edge): Request loop fixups if we delete
an edge that might turn an irreducible loop into a natural
loop.
PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r233754
Martin Jambor [Fri, 26 Feb 2016 18:06:42 +0000 (19:06 +0100)]
[PR 69920] Prevent SRA from leaving a removed SSA_NAME in IL
2016-02-26 Martin Jambor <mjambor@suse.cz>
PR middle-end/69920
* tree-sra.c (sra_modify_assign): Do not remove loads of
uninitialized aggregates to SSA_NAMEs.
testsuite/
* gcc.dg/torture/pr69932.c: New test.
* gcc.dg/torture/pr69936.c: Likewise.
From-SVN: r233753
Andreas Krebbel [Fri, 26 Feb 2016 18:03:51 +0000 (18:03 +0000)]
S/390: PR69709 Fix risbg splitter
This fixes a wrong code generation problem with the splitters introduced
with that patch: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01840.html
The target operand is used as temporary. This fails if it matches the
source of the left shift which is read after writing the temporary.
Thanks to Dominik for debugging it and thanks to Richard for the fix!
Bootstrapped and regtested on s390x with-arch=z13.
Bye,
-Andreas-
gcc/ChangeLog:
2016-02-26 Richard Henderson <rth@redhat.com>
PR target/69709
* config/s390/s390.md (risbg and risbgn splitters): Allocate new
pseudo in case the target rtx matches the source of the left
shift.
gcc/testsuite/ChangeLog:
2016-02-26 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/69709
* gcc.target/s390/pr69709.c: New test.
From-SVN: r233752
Martin Jambor [Fri, 26 Feb 2016 17:48:19 +0000 (18:48 +0100)]
[hsa/69568] Fix ld instruction type for packed data
2016-02-26 Martin Jambor <mjambor@suse.cz>
PR hsa/69568
* hsa.h (hsa_type_packed_p): Declare.
* hsa.c (hsa_type_packed_p): New function.
* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
loads.
(gen_hsa_insns_for_store): Use hsa_type_packed_p.
* hsa-brig.c (emit_basic_insn): Likewise.
From-SVN: r233751
Martin Jambor [Fri, 26 Feb 2016 17:45:37 +0000 (18:45 +0100)]
[hsa/69674] Make testsuite libgomp.c/for-3.c compile with -m32
2016-02-26 Martin Jambor <mjambor@suse.cz>
pr hsa/69674
* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
pointers.
(gen_hsa_addr): Allow integer constants in TMR_INDEX2.
From-SVN: r233750
Martin Jambor [Fri, 26 Feb 2016 17:42:06 +0000 (18:42 +0100)]
[hsa] Satisfy conditional move operand type constrains
2016-02-26 Martin Jambor <mjambor@suse.cz>
* hsa.h (is_a_helper): New overload for hsa_op_immed for
hsa_op_with_type operands.
(hsa_unsigned_type_for_type): Declare.
* hsa.c (hsa_unsigned_type_for_type): New function.
* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
the finalizer. Do not emit extra move.
From-SVN: r233749
Martin Jambor [Fri, 26 Feb 2016 17:39:11 +0000 (18:39 +0100)]
[hsa] Fail in presence of atomic operations in private segment
2016-02-26 Martin Jambor <mjambor@suse.cz>
* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
atomic operations in private segment.
From-SVN: r233748
Ian Lance Taylor [Fri, 26 Feb 2016 17:36:00 +0000 (17:36 +0000)]
re PR go/69966 (libgo: Port syscall.SetsockoptUcred from golang)
PR go/69966
syscall: Add new Getsockopt functions.
Add GetsockoptICMPv6Filter, GetsockoptIPv6MTUInfo, GetsockoptUcred as
appropriate. These functions exist in the master library.
For GCC PR 69966.
Reviewed-on: https://go-review.googlesource.com/19960
From-SVN: r233747
Martin Jambor [Fri, 26 Feb 2016 17:35:29 +0000 (18:35 +0100)]
[omp, hsa] Do not gridify simd constructs
2016-02-26 Martin Jambor <mjambor@suse.cz>
* omp-low.c (grid_find_ungridifiable_statement): Store problematic
statements to wi->info. Also disallow omp simd constructs.
(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
for not gridifying. Dump special string for omp_for.
From-SVN: r233746
Kyrylo Tkachov [Fri, 26 Feb 2016 16:02:21 +0000 (16:02 +0000)]
[AArch64] Set TREE_TARGET_GLOBALS in aarch64_set_current_function when new tree is the default node to recalculate optab availability
PR target/69245
* config/aarch64/aarch64.c (aarch64_set_current_function):
Save/restore target globals when switching to
target_option_default_node.
* gcc.target/aarch64/pr69245_1.c: New test.
From-SVN: r233745
Kyrylo Tkachov [Fri, 26 Feb 2016 15:59:45 +0000 (15:59 +0000)]
[AArch64] PR target/69613: Return zero TARGET_SHIFT_TRUNCATION_MASK when SHIFT_COUNT_TRUNCATED is false
PR target/69613
* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
Return 0 if !SHIFT_COUNT_TRUNCATED.
* gcc.dg/torture/pr69613.c: New test.
From-SVN: r233744
Jakub Jelinek [Fri, 26 Feb 2016 15:53:43 +0000 (16:53 +0100)]
re PR rtl-optimization/69891 (wrong code with -mstringop-strategy=libcall @ i686)
PR rtl-optimization/69891
* dse.c (scan_insn): If we can't figure out memset arguments
or they are non-constant, call clear_rhs_from_active_local_stores.
* gcc.target/i386/pr69891.c: New test.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r233743
William Schmidt [Fri, 26 Feb 2016 15:30:18 +0000 (15:30 +0000)]
Fix ChangeLog formatting
From-SVN: r233742
William Schmidt [Fri, 26 Feb 2016 15:25:29 +0000 (15:25 +0000)]
Update ChangeLog to mention pr61397
From-SVN: r233740
Michael Meissner [Fri, 26 Feb 2016 15:24:55 +0000 (15:24 +0000)]
p8vector-ldst.c: Adjust to test desired functionality for both 32-bit and 64-bit.
2016-02-26 Michael Meissner <meissner@linux.vnet.ibm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired
functionality for both 32-bit and 64-bit.
Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>
From-SVN: r233739
Martin Liska [Fri, 26 Feb 2016 11:56:17 +0000 (12:56 +0100)]
Mention clog10{,f,l} in documentation (Builtins section)
* doc/extend.texi: Mention clog10, clog10f an clog10l
in Builtins section.
From-SVN: r233738
Martin Liska [Fri, 26 Feb 2016 10:46:48 +0000 (11:46 +0100)]
Replace ENABLE_CHECKING with CHECKING_P in dwarf2out
* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
CHECKING_P.
(resolve_args_picking_1): Likewise.
* dwarf2out.h (struct GTY): Likewise.
From-SVN: r233737
Martin Liska [Fri, 26 Feb 2016 10:10:11 +0000 (11:10 +0100)]
Replace ENABLE_CHECKING macro with flag_checking in HSA
* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
with flag_checking.
* hsa-regalloc.c (linear_scan_regalloc): Likewise.
From-SVN: r233736
Markus Trippelsdorf [Fri, 26 Feb 2016 10:02:45 +0000 (10:02 +0000)]
Mention --enable-valgrind-annotations in install.texi
Martin Liska <mliska@suse.cz>
* doc/install.texi: Mention --enable-valgrind-annotations.
Co-Authored-By: Martin Liska <mliska@suse.cz>
From-SVN: r233735
Richard Biener [Fri, 26 Feb 2016 08:34:58 +0000 (08:34 +0000)]
re PR target/69551 (Wrong code with single element vector insert)
2016-02-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/69551
* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
looking through aliases adjust DECL_PT_UID to refer to the
ultimate alias target.
* gcc.dg/torture/pr69951.c: New testcase.
From-SVN: r233734
Jason Merrill [Fri, 26 Feb 2016 04:53:58 +0000 (23:53 -0500)]
re PR c++/69889 (ICE: in assign_temp, at function.c:961)
PR c++/69889
* cp-tree.h (AGGR_INIT_FROM_THUNK_P): New.
* tree.c (build_aggr_init_expr): Set it.
* semantics.c (simplify_aggr_init_expr): Check it.
* cp-gimplify.c (cp_genericize_r): Don't walk into
a call/aggr_init from a thunk.
From-SVN: r233733
GCC Administrator [Fri, 26 Feb 2016 00:16:22 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233732
Martin Liska [Thu, 25 Feb 2016 16:57:39 +0000 (17:57 +0100)]
Do not gather mem stats in run_exit_handles (PR
PR middle-end/69919
* alloc-pool.c (after_memory_report): New variable.
* alloc-pool.h (base_pool_allocator ::release): Do not use
the infrastructure if after_memory_report.
* toplev.c (toplev::main): Mark after memory report.
From-SVN: r233722
Jason Merrill [Thu, 25 Feb 2016 15:23:47 +0000 (10:23 -0500)]
re PR c++/69842 (Parameter deduction in polymorphic lambdas)
PR c++/69842
* method.c (forward_parm): Handle parameter packs.
* lambda.c (maybe_add_lambda_conv_op): Use it for them.
From-SVN: r233719
Jason Merrill [Thu, 25 Feb 2016 14:09:24 +0000 (09:09 -0500)]
re PR c++/67364 ("accessing uninitialized member" error in constexpr context)
PR c++/67364
* constexpr.c (cxx_eval_component_reference): Don't complain about
unevaluated empty classes.
From-SVN: r233716
Jason Merrill [Thu, 25 Feb 2016 14:09:18 +0000 (09:09 -0500)]
re PR c++/68049 (template instantiation involving may_alias defines symbol twice)
PR c++/68049
* tree.c (strip_typedefs): Use DECL_ORIGINAL_TYPE.
From-SVN: r233715
Richard Biener [Thu, 25 Feb 2016 13:20:25 +0000 (13:20 +0000)]
re PR tree-optimization/48795 (-Warray-bounds false positive)
2016-02-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/48795
* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
* gcc.dg/Warray-bounds-18.c: New testcase.
From-SVN: r233714
Rainer Orth [Thu, 25 Feb 2016 12:47:28 +0000 (12:47 +0000)]
Require init_priority support for g++.dg/ext/attr-constructor1.C
* g++.dg/ext/attr-constructor1.C: Require init_priority support.
From-SVN: r233713
Ilya Verbin [Thu, 25 Feb 2016 12:23:52 +0000 (12:23 +0000)]
re PR driver/68463 (Offloading fails when some objects are compiled with LTO and some without)
gcc/
PR driver/68463
* config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
offloading is enabled and -fopenacc or -fopenmp is specified.
(CRTOFFLOADEND): Likewise.
(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
(offload_objects_file_name): New static var.
(tool_cleanup): Remove offload_objects_file_name file.
(find_offloadbeginend): Replace with ...
(find_crtoffloadtable): ... this.
(run_gcc): Remove offload_argc and offload_argv.
Get offload_objects_file_name from -foffload-objects=... option.
Read names of object files with offload from this file, pass them to
compile_images_for_offload_targets. Don't call find_offloadbeginend and
don't pass offloadbegin and offloadend to the linker. Don't pass
offload non-LTO files to the linker, because now they're not claimed.
libgcc/
PR driver/68463
* Makefile.in (crtoffloadtable$(objext)): New rule.
* configure.ac (extra_parts): Add crtoffloadtable$(objext) if
enable_offload_targets is not empty.
* configure: Regenerate.
* offloadstuff.c: Move __OFFLOAD_TABLE__ from crtoffloadend to
crtoffloadtable.
libgomp/
PR driver/68463
* testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
lto-plugin/
PR driver/68463
* lto-plugin.c (struct plugin_offload_file): New.
(offload_files): Change type.
(offload_files_last, offload_files_last_obj): New.
(offload_files_last_lto): New.
(free_2): Adjust accordingly.
(all_symbols_read_handler): Don't add offload files to lto_arg_ptr.
Don't call free_1 for offload_files. Write names of object files with
offloading to the temporary file. Add new option to lto_arg_ptr.
(claim_file_handler): Don't claim file if it contains offload sections
without LTO sections. If it contains offload sections, add to the list.
From-SVN: r233712
Jan Hubicka [Thu, 25 Feb 2016 12:10:04 +0000 (13:10 +0100)]
re PR lto/69630 (LTO ICE in types_same_for_odr at ipa-devirt.c:402)
PR ipa/69630
* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
on builtin_unreachable.
From-SVN: r233711
Jakub Jelinek [Thu, 25 Feb 2016 08:09:02 +0000 (09:09 +0100)]
re PR rtl-optimization/69896 (wrong code with -frename-registers @ x64_64)
PR rtl-optimization/69896
* regcprop.c: Include cfgrtl.h.
(copyprop_hardreg_forward_1): If noop_p insn uses narrower
than remembered mode, either delete it (if noop_move_p), or
treat like copy_p but not noop_p instruction.
* gcc.dg/pr69896.c: New test.
From-SVN: r233692
Patrick Palka [Thu, 25 Feb 2016 01:14:27 +0000 (01:14 +0000)]
re PR c++/69736 ("error: too few arguments to function" in c++14 but not c++11)
Fix PR c++/69736
gcc/cp/ChangeLog:
PR c++/69736
* cp-tree.h (REF_PARENTHESIZED_P): Adjust documentation.
(maybe_undo_parenthesized_ref): Declare.
* semantics.c (maybe_undo_parenthesized_ref): Split out from
check_return_expr.
(finish_call_expr): Use it.
* typeck.c (check_return_expr): Use it.
* pt.c (tsubst_copy_and_build) [INDIRECT_REF]: Retain the
REF_PARENTHESIZED_P flag.
gcc/testsuite/ChangeLog:
PR c++/69736
* g++.dg/cpp1y/paren2.C: New test.
From-SVN: r233691
GCC Administrator [Thu, 25 Feb 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233690
Martin Sebor [Wed, 24 Feb 2016 23:26:42 +0000 (23:26 +0000)]
PR c/51147 - attribute((mode(byte))) on an enum generates wrong code
gcc/testsuite/ChangeLog:
2016-02-24 Martin Sebor <msebor@redhat.com>
PR c/51147
* gcc.dg/enum-mode-2.c: New test.
From-SVN: r233686
Jakub Jelinek [Wed, 24 Feb 2016 22:04:09 +0000 (23:04 +0100)]
re PR debug/69705 (segfault in libgomp.fortran/task1.f90 with -flto -fno-use-linker-plugin -fno-toplevel-reorder -O1 -g)
PR debug/69705
* dwarf2out.c (gen_variable_die): Work around buggy LTO
- allow NULL decl for Fortran DW_TAG_common_block variables.
From-SVN: r233685
Jakub Jelinek [Wed, 24 Feb 2016 22:01:24 +0000 (23:01 +0100)]
re PR c++/69922 (Bogus -Wnonnull-compare for: ... ? static_cast<T*>(this) : nullptr)
PR c++/69922
* class.c (build_base_path): Set TREE_NO_WARNING on the null_test.
Avoid folding it.
* init.c (build_vec_delete_1, build_delete): Don't fold the non-NULL
tests.
* cp-gimplify.c (cp_fold): For TREE_NO_WARNING comparisons with NULL,
unless they are folded into INTEGER_CST, error_mark_node or some
comparison with NULL, avoid folding them and use either the original
comparison or non-folded comparison of folded arguments.
* cp-ubsan.c (cp_ubsan_instrument_vptr): Set TREE_NO_WARNING on the
comparison, don't fold the comparison right away.
* g++.dg/warn/Wnonnull-compare-6.C: New test.
* g++.dg/warn/Wnonnull-compare-7.C: New test.
* g++.dg/ubsan/pr69922.C: New test.
From-SVN: r233684
Marek Polacek [Wed, 24 Feb 2016 21:47:59 +0000 (21:47 +0000)]
re PR c/69819 (ICE on invalid code on x86_64-linux-gnu in tree check: expected function_type or method_type, have array_type in function_args_iter_init, at tree.h:4536)
PR c/69819
* c-decl.c (finish_decl): Don't update the copy of the type of a
different decl type.
* gcc.dg/pr69819.c: New test.
From-SVN: r233683
Jason Merrill [Wed, 24 Feb 2016 19:56:09 +0000 (14:56 -0500)]
PR c++/69323 - errors
* friend.c (make_friend_class): Likewise.
* decl.c (lookup_and_check_tag): Diagnose invalid dependent friend.
From-SVN: r233682
Jason Merrill [Wed, 24 Feb 2016 19:56:03 +0000 (14:56 -0500)]
PR c++/69323 - valid
* pt.c (instantiate_class_template_1): Set
processing_template_decl before substituting friend_type.
From-SVN: r233681
Jason Merrill [Wed, 24 Feb 2016 19:55:57 +0000 (14:55 -0500)]
* doc/invoke.texi: Adjust -flifetime-dse documentation.
From-SVN: r233680
Martin Sebor [Wed, 24 Feb 2016 17:23:35 +0000 (17:23 +0000)]
PR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
PR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
a flexible array member
gcc/testsuite/ChangeLog:
2016-02-24 Martin Sebor <msebor@redhat.com>
PR c++/69912
* g++.dg/ext/flexary15.C: New test.
gcc/cp/ChangeLog:
2016-02-24 Martin Sebor <msebor@redhat.com>
PR c++/69912
* tree.c (build_ctor_subob_ref): Compare types' main variants
instead of the types as they are.
From-SVN: r233678
Martin Sebor [Wed, 24 Feb 2016 17:04:03 +0000 (17:04 +0000)]
Avoid making unportable assumptions about the relationship between SIZE_MAX
and UINT_MAX.
gcc/testsuite/ChangeLog:
* gcc/testsuite/gcc.dg/builtins-68.c: Avoid making unportable
assumptions about the relationship between SIZE_MAX and UINT_MAX.
* gcc/testsuite/g++.dg/ext/builtin_alloca.C: Same.
From-SVN: r233677
Maxim Kuvyrkov [Wed, 24 Feb 2016 16:41:52 +0000 (16:41 +0000)]
re PR debug/61033 (Infinite loop in variable tracking)
PR debug/61033
* g++.dg/pr61033.C: Add a regression testcase for PR debug/61033.
Co-Authored-By: Charles Baylis <charles.baylis@linaro.org>
From-SVN: r233675
Jason Merrill [Wed, 24 Feb 2016 15:18:04 +0000 (10:18 -0500)]
Add -flifetime-dse=1.
gcc/
* common.opt (flifetime-dse): Add -flifetime-dse=1.
gcc/cp/
* decl.c (start_preparsed_function): Condition ctor clobber on
flag_lifetime_dse > 1.
From-SVN: r233672
Jason Merrill [Wed, 24 Feb 2016 15:17:58 +0000 (10:17 -0500)]
* cp-gimplify.c (cp_fold): Don't fold constexpr calls if -fno-inline.
From-SVN: r233671
Ian Lance Taylor [Wed, 24 Feb 2016 15:03:04 +0000 (15:03 +0000)]
runtime: lock M during cgo call
cgo should lock the M.
See also https://golang.org/cl/18882 .
Reviewed-on: https://go-review.googlesource.com/18883
From-SVN: r233670
Richard Biener [Wed, 24 Feb 2016 14:54:01 +0000 (14:54 +0000)]
re PR tree-optimization/69760 (Wrong 64-bit memory address caused by an unneeded overflowing 32-bit integer multiplication on x86_64 under -O2 and -O3 code optimization)
2016-02-24 Richard Biener <rguenther@suse.de>
Jakub Jelinek <jakub@redhat.com>
PR middle-end/69760
* tree-scalar-evolution.c (interpret_rhs_expr): Re-write
conditionally executed ops to well-defined overflow behavior.
* gcc.dg/torture/pr69760.c: New testcase.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r233669
Rainer Orth [Wed, 24 Feb 2016 14:46:07 +0000 (14:46 +0000)]
Adapt gcc.dg/debug/dwarf2/prod-options.c for Solaris assembler
* gcc.dg/debug/dwarf2/prod-options.c: Use different DW_AT_producer
pattern on Solaris with as.
From-SVN: r233668
Kyrylo Tkachov [Wed, 24 Feb 2016 14:21:52 +0000 (14:21 +0000)]
[ARM] Tests for arm_restrict_it patterns in thumb2.md
* gcc.target/arm/cond_sub_restrict_it.c: New test.
* gcc.target/arm/condarith_restrict_it.c: Likewise.
* gcc.target/arm/movcond_restrict_it.c: Likewise.
* gcc.target/arm/negscc_restrict_it.c: Likewise.
From-SVN: r233667
Jonathan Wakely [Wed, 24 Feb 2016 13:59:29 +0000 (13:59 +0000)]
libstdc++/69939 Qualify get and forward
PR libstdc++/69939
* include/experimental/tuple (__apply_impl): Qualify get and forward.
From-SVN: r233666
Jakub Jelinek [Wed, 24 Feb 2016 13:54:39 +0000 (14:54 +0100)]
re PR middle-end/69915 (ICE: SIGSEGV with -O -ftracer with broken backtrace)
PR middle-end/69915
* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
elements.
* gcc.dg/pr69915.c: New test.
From-SVN: r233664
Kyrylo Tkachov [Wed, 24 Feb 2016 13:00:10 +0000 (13:00 +0000)]
[gcse] PR rtl-optimization/69886: Check target mode in can_assign_to_reg_without_clobbers_p
PR rtl-optimization/69886
* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
argument. Use it when checking validity of set instructions.
(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
callsite.
* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
* store-motion.c (find_moveable_store): Update
can_assign_to_reg_without_clobbers_p callsite.
* gcc.dg/torture/pr69886.c: New test.
From-SVN: r233662
Richard Biener [Wed, 24 Feb 2016 12:03:27 +0000 (12:03 +0000)]
re PR tree-optimization/68963 (O3 vs. O2 discards part of loop and terminates early)
2016-02-24 Richard Biener <rguenther@suse.de>
PR middle-end/68963
* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
bogus check.
(record_nonwrapping_iv): Do not fall back to the low/high bound
for non-constant IV bases if the stmt is not always executed.
* gcc.dg/torture/pr68963.c: New testcase.
From-SVN: r233660
Kyrylo Tkachov [Wed, 24 Feb 2016 11:02:04 +0000 (11:02 +0000)]
[ARM] Add initial support for the Cortex-A32
* config/arm/arm-cores.def (cortex-a32): New entry.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
* config/arm/t-aprofile: Handle mcpu=cortex-a32.
* doc/invoke.texi (ARM Options): Document cortex-a32 as value
for -mcpu and -mtune.
From-SVN: r233659
Kyrylo Tkachov [Wed, 24 Feb 2016 11:00:28 +0000 (11:00 +0000)]
[ARM] PR target/69875 Fix atomic_loaddi expansion
PR target/69875
* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
* config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
(atomic_loaddi_1): Delete.
(atomic_loaddi): Rewrite expander using the above changes.
* gcc.target/arm/atomic_loaddi_acquire.x: New file.
* gcc.target/arm/atomic_loaddi_relaxed.x: Likewise.
* gcc.target/arm/atomic_loaddi_seq_cst.x: Likewise.
* gcc.target/arm/atomic_loaddi_1.c: New test.
* gcc.target/arm/atomic_loaddi_2.c: Likewise.
* gcc.target/arm/atomic_loaddi_3.c: Likewise.
* gcc.target/arm/atomic_loaddi_4.c: Likewise.
* gcc.target/arm/atomic_loaddi_5.c: Likewise.
* gcc.target/arm/atomic_loaddi_6.c: Likewise.
* gcc.target/arm/atomic_loaddi_7.c: Likewise.
* gcc.target/arm/atomic_loaddi_8.c: Likewise.
* gcc.target/arm/atomic_loaddi_9.c: Likewise.
From-SVN: r233658
Jakub Jelinek [Wed, 24 Feb 2016 08:37:41 +0000 (09:37 +0100)]
re PR c/69918 (gcc.dg/torture/builtin-integral-1.c FAILs)
PR c/69918
* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
2 to 3.
From-SVN: r233657
Jakub Jelinek [Wed, 24 Feb 2016 08:36:16 +0000 (09:36 +0100)]
re PR middle-end/69909 (wrong code with -Os and vectors @ x86_64)
PR middle-end/69909
* expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
set_mem_attributes if tem is SSA_NAME which got expanded
as a MEM.
* gcc.dg/torture/pr69909.c: New test.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r233656
Richard Biener [Wed, 24 Feb 2016 08:27:25 +0000 (08:27 +0000)]
re PR tree-optimization/69907 (wrong code at -O3 on x86_64-linux-gnu)
2016-02-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/69907
* tree-vect-stmts.c (vectorizable_load): Check for gaps at the
end of permutations for BB vectorization.
* gcc.dg/vect/bb-slp-pr69907.c: New testcase.
* gcc.dg/vect/bb-slp-34.c: XFAIL.
* gcc.dg/vect/bb-slp-pr68892.c: Likewise.
From-SVN: r233655
Christian Bruel [Wed, 24 Feb 2016 08:19:12 +0000 (09:19 +0100)]
arm-c.c (arm_option_override): Initialize target_option_current_node.
2016-02-24 Christian Bruel <christian.bruel@st.com>
* config/arm/arm-c.c (arm_option_override): Initialize
target_option_current_node.
* config/arm/arm.c (arm_pragma_target_parse): Replace
build_target_option_node call by target_option_current_node.
Set target_option_current_node.
Fix comments.
From-SVN: r233654
GCC Administrator [Wed, 24 Feb 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r233652
Jerry DeLisle [Tue, 23 Feb 2016 22:53:31 +0000 (22:53 +0000)]
re PR fortran/61156 (Internal compiler error for Fortran files when specifying a file instead of an include directory with -I)
2016-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/61156
* scanner.c (add_path_to_list): If include path is not a directory,
issue a fatal error.
PR fortran/61156
* gfortran.dg/include_6.f90: Update test.
From-SVN: r233649
David Edelsohn [Tue, 23 Feb 2016 22:28:23 +0000 (22:28 +0000)]
re PR target/69810 (PowerPC64: unrecognizable insn)
PR target/69810
* config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
define_insn_and_split to define_insn.
(zero_extendqi<mode>2_dot2): Same.
(extendqi<mode>2_dot): Same.
(extendqi<mode>2_dot2): Same.
From-SVN: r233648
Evandro Menezes [Tue, 23 Feb 2016 21:31:00 +0000 (21:31 +0000)]
Tweak the pipeline model for Exynos M1
gcc/
* config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
and AESMC pairs.
* config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
and add bypass for AES{D,E} and AESMC pairs.
From-SVN: r233647
Evandro Menezes [Tue, 23 Feb 2016 20:21:23 +0000 (20:21 +0000)]
aarch64.c (exynosm1_tunings): Enable the Newton series for reciprocal square root in Exynos M1.
* gcc/config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
series for reciprocal square root in Exynos M1.
From-SVN: r233646
Jonathan Wakely [Tue, 23 Feb 2016 20:03:30 +0000 (20:03 +0000)]
Document __STDCPP_WANT_MATH_SPEC_FUNCS__ macro
* doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
* doc/html/*: Regenerate.
From-SVN: r233645
Jonathan Wakely [Tue, 23 Feb 2016 19:49:31 +0000 (19:49 +0000)]
libstdc++/69893 make <tr1/cmath> work with C++11
PR libstdc++/69893
* include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
trunc) [__cplusplus >= 201103L]: Import from namespace std.
(fabs) [__cplusplus < 201103L]: Import from namespace std.
* include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
Likewise.
* testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
namespace before including TR1 headers.
* testsuite/tr1/headers/c++200x/math.cc: New test.
From-SVN: r233644
Jakub Jelinek [Tue, 23 Feb 2016 19:47:24 +0000 (20:47 +0100)]
re PR objc/69844 (Possibly bogus error: unknown type name in ObjC code)
PR objc/69844
* c-parser.c (c_parser_for_statement): Properly handle ObjC classes
in id_kind reclassification.
* objc.dg/pr69844.m: New test.
From-SVN: r233643