platform/upstream/gcc.git
8 years agoFix PR # in last change
Jeff Law [Mon, 1 Feb 2016 22:05:58 +0000 (15:05 -0700)]
Fix PR # in last change

From-SVN: r233054

8 years agore PR testsuite/68580 (FAIL: c-c++-common/tsan/pr65400-1.c -O0 execution test)
Jeff Law [Mon, 1 Feb 2016 22:03:57 +0000 (15:03 -0700)]
re PR testsuite/68580 (FAIL: c-c++-common/tsan/pr65400-1.c -O0 execution test)

PR tree-optimization/68580
* params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
* tree-ssa-threadbackward.c
(fsm_find_control_statement_thread_paths): Do not try to walk
through large PHI nodes.

From-SVN: r233053

8 years agoifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false when count is incremente...
Jakub Jelinek [Mon, 1 Feb 2016 20:37:49 +0000 (21:37 +0100)]
ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false when count is incremented above limit...

* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
when count is incremented above limit, don't analyze further
insns afterwards.

From-SVN: r233050

8 years agoRemove duplicate copy of the test body inadvertently inserted by patch.
Martin Sebor [Mon, 1 Feb 2016 19:38:53 +0000 (19:38 +0000)]
Remove duplicate copy of the test body inadvertently inserted by patch.

From-SVN: r233045

8 years agoomp-low.c (oacc_parse_default_dims): Avoid -Wsign-compare warning...
Jakub Jelinek [Mon, 1 Feb 2016 19:14:59 +0000 (20:14 +0100)]
omp-low.c (oacc_parse_default_dims): Avoid -Wsign-compare warning...

* omp-low.c (oacc_parse_default_dims): Avoid
-Wsign-compare warning, make sure value fits into int
rather than just unsigned int.

From-SVN: r233044

8 years agore PR tree-optimization/67921 ("internal compiler error: in build_polynomial_chrec...
Bin Cheng [Mon, 1 Feb 2016 17:17:47 +0000 (17:17 +0000)]
re PR tree-optimization/67921 ("internal compiler error: in build_polynomial_chrec, at tree-chrec.h:147" when using -fsanitize=undefined)

PR tree-optimization/67921
* fold-const.c (split_tree): New parameters.  Convert pointer
type variable part to proper type before negating.
(fold_binary_loc): Pass new arguments to split_tree.

gcc/testsuite/ChangeLog
PR tree-optimization/67921
* c-c++-common/ubsan/pr67921.c: New test.

From-SVN: r233042

8 years agonvptx.c (PTX_GANG_DEFAULT): New.
Nathan Sidwell [Mon, 1 Feb 2016 16:20:13 +0000 (16:20 +0000)]
nvptx.c (PTX_GANG_DEFAULT): New.

gcc/
* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
(nvptx_goacc_validate_dims): Extend to handle global defaults.
* target.def (OACC_VALIDATE_DIMS): Extend documentation.
* doc/tm.texti: Rebuilt.
* doc/invoke.texi (fopenacc-dim): Document.
* lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
(append_compiler_options): Likewise.
* omp-low.c (oacc_default_dims, oacc_min_dims): New.
(oacc_parse_default_dims): New.
(oacc_validate_dims): Add USED arg.  Select non-unity default when
possible.
(oacc_loop_fixed_partitions): Return mask of used partitions.
(oacc_loop_auto_partitions): Emit dump info.
(oacc_loop_partition): Return mask of used partitions.
(execute_oacc_device_lower): Parse default dimension arg.  Adjust
loop partitioning and validation calls.

gcc/c-family/
* c.opt (fopenacc-dim=): New option.

gcc/fortran/
* lang.opt (fopenacc-dim=): New option.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.

From-SVN: r233041

8 years agore PR tree-optimization/69556 (forwprop4/match.pd undoing work from recip)
Richard Biener [Mon, 1 Feb 2016 15:40:23 +0000 (15:40 +0000)]
re PR tree-optimization/69556 (forwprop4/match.pd undoing work from recip)

2016-02-01  Richard Biener  <rguenther@suse.de>

PR middle-end/69556
* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.

* gcc.dg/tree-ssa/recip-8.c: New testcase.

From-SVN: r233040

8 years agore PR tree-optimization/69574 (gcc ICE at -O2 and -O3 on x86_64-linux-gnu in hide_evo...
Richard Biener [Mon, 1 Feb 2016 15:38:08 +0000 (15:38 +0000)]
re PR tree-optimization/69574 (gcc ICE at -O2 and -O3 on x86_64-linux-gnu in hide_evolution_in_other_loops_than_loop)

2016-02-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69574
* tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
of asserting return chrec_dont_know.

* gcc.dg/torture/pr69574.c: New testcase.

From-SVN: r233039

8 years agoMissing copyright for mem-stats header files.
Martin Liska [Mon, 1 Feb 2016 13:57:09 +0000 (14:57 +0100)]
Missing copyright for mem-stats header files.

* mem-stats-traits.h: Add copyright header.
* mem-stats.h: Likewise.

From-SVN: r233037

8 years agore PR tree-optimization/69579 (gcc ICE at -O3 and __sigsetjmp with “tree check: expec...
Richard Biener [Mon, 1 Feb 2016 12:39:04 +0000 (12:39 +0000)]
re PR tree-optimization/69579 (gcc ICE at -O3 and __sigsetjmp with “tree check: expected ssa_name, have integer_cst in compute_optimized_partition_bases”)

2016-02-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69579
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
Do not propagate through abnormal PHI results.

* gcc.dg/setjmp-6.c: New testcase.

From-SVN: r233036

8 years agoDon't define guard macros when doing #include_next in math.h and stdlib.h
Bernd Edlinger [Mon, 1 Feb 2016 11:13:40 +0000 (11:13 +0000)]
Don't define guard macros when doing #include_next in math.h and stdlib.h

2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR libstdc++/69581
* include/c_compatibility/math.h: Move header guards.
* include/c_compatibility/stdlib.h: Likewise.

From-SVN: r233035

8 years ago* postreload.c (reload_cse_simplify): Remove dead code.
Eric Botcazou [Mon, 1 Feb 2016 11:04:22 +0000 (11:04 +0000)]
* postreload.c (reload_cse_simplify): Remove dead code.

From-SVN: r233034

8 years agore PR rtl-optimization/69570 (if-conversion bug on i?86)
Jakub Jelinek [Mon, 1 Feb 2016 08:47:27 +0000 (09:47 +0100)]
re PR rtl-optimization/69570 (if-conversion bug on i?86)

PR rtl-optimization/69570
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
if there is more than one set, not if there is a single set.

* g++.dg/opt/pr69570.C: New test.

From-SVN: r233033

8 years agore PR rtl-optimization/69535 (wrong code with -O -fno-tree-bit-ccp -fno-tree-reassoc...
Richard Henderson [Mon, 1 Feb 2016 07:32:01 +0000 (23:32 -0800)]
re PR rtl-optimization/69535 (wrong code with -O -fno-tree-bit-ccp -fno-tree-reassoc due to use of uninitialised value)

PR rtl-opt/69535

  * combine.c (make_compound_operation): When looking through a
  subreg, make sure to re-extend to the width of the outer mode.

From-SVN: r233032

8 years agore PR testsuite/69584 (FAIL: gcc.dg/pr67964.c (test for excess errors))
John David Anglin [Mon, 1 Feb 2016 01:12:23 +0000 (01:12 +0000)]
re PR testsuite/69584 (FAIL: gcc.dg/pr67964.c (test for excess errors))

PR testsuite/69584
* gcc.dg/tree-ssa/sra-17.c: Fix regexps to work on hpux.
* gcc.dg/tree-ssa/sra-18.c: Likewise.

From-SVN: r233030

8 years agore PR target/68741 (FAIL: tr1/8_c_compatibility/cstdio/functions.cc (test for excess...
John David Anglin [Mon, 1 Feb 2016 00:54:22 +0000 (00:54 +0000)]
re PR target/68741 (FAIL: tr1/8_c_compatibility/cstdio/functions.cc (test for excess errors))

PR target/68741
* inclhack.def (hpux_vsscanf): New fix.
* fixincl.x: Regenerated.
* tests/base/stdio.h [HPUX_VSSCANF_CHECK]: New test.

From-SVN: r233029

8 years agore PR debug/68244 (FAIL: g++.dg/parse/parens3.C -std=gnu++98 (internal compiler...
John David Anglin [Mon, 1 Feb 2016 00:38:17 +0000 (00:38 +0000)]
re PR debug/68244 (FAIL: g++.dg/parse/parens3.C  -std=gnu++98 (internal compiler error))

PR debug/68244
* g++.dg/parse/parens3.C: Use register "4" on hppa.

From-SVN: r233028

8 years agovector-5.c: Add -fno-common option on hppa*-*-hpux*.
John David Anglin [Mon, 1 Feb 2016 00:27:44 +0000 (00:27 +0000)]
vector-5.c: Add -fno-common option on hppa*-*-hpux*.

* gcc.dg/tree-ssa/vector-5.c: Add -fno-common option on hppa*-*-hpux*.

From-SVN: r233027

8 years agoDaily bump.
GCC Administrator [Mon, 1 Feb 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233026

8 years agoRegenerate .pot files.
Joseph Myers [Sun, 31 Jan 2016 15:54:00 +0000 (15:54 +0000)]
Regenerate .pot files.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r233023

8 years ago* fi.po: Update.
Joseph Myers [Sun, 31 Jan 2016 15:48:42 +0000 (15:48 +0000)]
* fi.po: Update.

From-SVN: r233021

8 years agore PR c++/68763 (ICE: in verify_unstripped_args, at cp/pt.c:1132)
Jakub Jelinek [Sun, 31 Jan 2016 14:53:26 +0000 (15:53 +0100)]
re PR c++/68763 (ICE: in verify_unstripped_args, at cp/pt.c:1132)

PR c++/68763

* tree.c (strip_typedefs) [FUNCTION_TYPE]: Avoid building a new
function type if nothing is changing.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r233020

8 years agore PR c++/69009 (ICE in instantiate_decl, at cp/pt.c:21511)
Jason Merrill [Sun, 31 Jan 2016 11:53:04 +0000 (06:53 -0500)]
re PR c++/69009 (ICE in instantiate_decl, at cp/pt.c:21511)

PR c++/69009

* pt.c (partial_specialization_p, impartial_args): New.
(instantiate_decl): Call impartial_args.

From-SVN: r233019

8 years agoFix abi-tag16.C.
Jason Merrill [Sun, 31 Jan 2016 11:52:56 +0000 (06:52 -0500)]
Fix abi-tag16.C.

* mangle.c (maybe_check_abi_tags): New.
(write_guarded_var_name): Call it.
(mangle_ref_init_variable): Call check_abi_tags.

From-SVN: r233018

8 years agoFix abi-tag17.C.
Jason Merrill [Sun, 31 Jan 2016 11:52:48 +0000 (06:52 -0500)]
Fix abi-tag17.C.

* pt.c (lookup_template_class_1): Don't share TYPE_ATTRIBUTES
between template and instantiation.

From-SVN: r233017

8 years agore PR fortran/67564 (Segfault on sourced allocattion statement with class(*) arrays)
Paul Thomas [Sun, 31 Jan 2016 10:22:05 +0000 (10:22 +0000)]
re PR fortran/67564 (Segfault on sourced allocattion statement with class(*) arrays)

2016-01-31  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67564
* trans-expr.c (gfc_conv_procedure_call): For the vtable copy
subroutines, add a string length argument, when the actual
argument is an unlimited polymorphic class object.

2016-01-31  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67564
* gfortran.dg/allocate_with_source_17.f03: New test.

From-SVN: r233016

8 years agoDaily bump.
GCC Administrator [Sun, 31 Jan 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233015

8 years agore PR middle-end/69546 (wrong code with -O and simple int128 arithmetics)
Jakub Jelinek [Sat, 30 Jan 2016 18:04:13 +0000 (19:04 +0100)]
re PR middle-end/69546 (wrong code with -O and simple int128 arithmetics)

PR tree-optimization/69546
* wide-int.cc (wi::divmod_internal): For unsigned division
where both operands fit into uhwi, if o1 is 1 and o0 has
msb set, if divident_prec is larger than bits per hwi,
clear another quotient word and return 2 instead of 1.
Similarly for remainder with msb in HWI set, if dividend_prec
is larger than bits per hwi.

* gcc.dg/torture/pr69546.c: New test.

From-SVN: r233012

8 years agore PR fortran/69566 ([OOP] Failure of SELECT TYPE with unlimited polymorphic function...
Paul Thomas [Sat, 30 Jan 2016 17:44:56 +0000 (17:44 +0000)]
re PR fortran/69566 ([OOP] Failure of SELECT TYPE with unlimited polymorphic function result)

2016-01-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69566
* trans-expr.c (gfc_conv_procedure_call): Correct expression
for 'ulim_copy', which was missing a test for 'comp'.

2016-01-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69566
* gfortran.dg/unlimited_polymorphic_25.f03: New test.

From-SVN: r233011

8 years agoPR r++/68490 - error initializing a structure with a flexible array membe
Martin Sebor [Sat, 30 Jan 2016 17:30:32 +0000 (17:30 +0000)]
PR r++/68490 - error initializing a structure with a flexible array membe

gcc/testsuite/ChangeLog:
2016-01-30  Martin Sebor  <msebor@redhat.com>

        PR c++/68490
        * g++.dg/ext/flexary10.C: New test.

From-SVN: r233010

8 years agore PR fortran/66707 (Endless compilation on wrong usage of common)
Dominique d'Humieres [Sat, 30 Jan 2016 14:07:19 +0000 (15:07 +0100)]
re PR fortran/66707 (Endless compilation on wrong usage of common)

2016-01-30  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/66707
gfortran.dg/common_23.f90: New test.

From-SVN: r233008

8 years agore PR target/65546 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c)
Bill Schmidt [Sat, 30 Jan 2016 01:18:43 +0000 (01:18 +0000)]
re PR target/65546 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c)

2016-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65546
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Correct
condition being checked, and disable it when the target supports
misaligned loads and stores.

From-SVN: r233006

8 years agoDaily bump.
GCC Administrator [Sat, 30 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233005

8 years ago[hsa] Atomic assess memory model fixes
Martin Jambor [Fri, 29 Jan 2016 22:53:28 +0000 (23:53 +0100)]
[hsa] Atomic assess memory model fixes

2016-01-29  Martin Jambor  <mjambor@suse.cz>

* hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
Use short lowercase names.
(get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
acq_rel one.  Protect warning agains segfaults if
get_memory_order_name returns NULL.
(gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
with release semantics.  Do not warn if get_memory_order already did.
(gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
semantics.  Fix check for relaxed or acquire semantics.  Do not warn
if get_memory_order already did.

From-SVN: r233000

8 years agore PR debug/69518 (Flag -g causes "error: type variant has different TYPE_VFIELD")
Jakub Jelinek [Fri, 29 Jan 2016 20:37:25 +0000 (21:37 +0100)]
re PR debug/69518 (Flag -g causes "error: type variant has different TYPE_VFIELD")

PR debug/69518
* c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in
all type variants, not just TYPE_MAIN_VARIANT.

* gcc.dg/torture/pr69518.c: New test.

From-SVN: r232998

8 years agodocument that isl-0.16 is supported
Sebastian Pop [Fri, 29 Jan 2016 20:26:04 +0000 (20:26 +0000)]
document that isl-0.16 is supported

* config/isl.m4: Add comments about isl-0.16.
* configure: Regenerate.

gcc/
* doc/install.texi: Document that isl-0.16 is supported.

From-SVN: r232997

8 years agore PR target/69299 (-mavx performance degradation with r232088)
Vladimir Makarov [Fri, 29 Jan 2016 18:47:17 +0000 (18:47 +0000)]
re PR target/69299 (-mavx performance degradation with r232088)

2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/69299
* config/i386/constraints.md (Bm): Describe as special memory
constraint.
* doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
* genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
* genpreds.c (struct constraint_data): Add is_special_memory.
(have_special_memory_constraints, special_memory_start): New
static vars.
(special_memory_end): Ditto.
(add_constraint): Add new arg is_special_memory.  Add code to
process its true value.  Update have_special_memory_constraints.
(process_define_constraint): Pass the new arg.
(process_define_register_constraint): Ditto.
(choose_enum_order): Process special memory.
(write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
function insn_extra_special_memory_constraint.
(main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
* gensupport.c (process_rtx): Process
DEFINE_SPECIAL_MEMORY_CONSTRAINT.
* ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
* ira-lives.c (single_reg_class): Use
insn_extra_special_memory_constraint.
* ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
* lra-constraints.c (process_alt_operands): Ditto.
(curr_insn_transform): Use insn_extra_special_memory_constraint.
* recog.c (asm_operand_ok, preprocess_constraints): Process
CT_SPECIAL_MEMORY.
* reload.c (find_reloads): Ditto.
* rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
* stmt.c (parse_input_constraint): Use
insn_extra_special_memory_constraint.

From-SVN: r232993

8 years agoRevert revsion 229087 changes in lra-spills.c
H.J. Lu [Fri, 29 Jan 2016 18:03:42 +0000 (18:03 +0000)]
Revert revsion 229087 changes in lra-spills.c

r229087, which caused PR 69530, was supposed to fix PR 67609.  r229458
has made r229087 unnecessary.

gcc/

PR target/69530
* lra-splill.c (lra_final_code_change): Revert r229087 by
removing all sub-registers.

gcc/testsuite/

PR target/69530
* gcc.target/i386/pr69530.c: New test.

From-SVN: r232991

8 years agore PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck...
Steve Ellcey [Fri, 29 Jan 2016 16:31:18 +0000 (16:31 +0000)]
re PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck-zero-division)

PR target/65604
* gcc.target/mips/div-delay.c: New test.

From-SVN: r232986

8 years agore PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck...
Steve Ellcey [Fri, 29 Jan 2016 16:29:58 +0000 (16:29 +0000)]
re PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck-zero-division)

PR target/65604
* config/mips/mips.c (mips_output_division): Check flag_delayed_branch.

From-SVN: r232985

8 years agore PR target/69551 (Wrong code with single element vector insert)
Jakub Jelinek [Fri, 29 Jan 2016 14:14:56 +0000 (15:14 +0100)]
re PR target/69551 (Wrong code with single element vector insert)

PR target/69551
* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
SSE1, copy target into the temporary reg first before recursing
on it.

* gcc.target/i386/pr69551.c: New test.

From-SVN: r232982

8 years agore PR target/66137 (ICE with -ffixed-ebp)
Jakub Jelinek [Fri, 29 Jan 2016 14:07:40 +0000 (15:07 +0100)]
re PR target/66137 (ICE with -ffixed-ebp)

PR target/66137
* gcc.target/i386/pr66137.c: New test.

From-SVN: r232981

8 years agop5600-bonding.c (dg-options): Force the test to be always built for p5600.
Andrew Bennett [Fri, 29 Jan 2016 13:54:53 +0000 (13:54 +0000)]
p5600-bonding.c (dg-options): Force the test to be always built for p5600.

testsuite/
2016-01-29  Andrew Bennett  <andrew.bennett@imgtec.com>

       * gcc.target/mips/p5600-bonding.c (dg-options): Force the test to be
       always built for p5600.
       * gcc.target/mips/mips.exp (mips-dg-options): Add support for the
       isa=p5600 dg-option.

From-SVN: r232980

8 years agoUse vm in sse2_cvtps2pd<mask_name>
H.J. Lu [Fri, 29 Jan 2016 13:03:51 +0000 (13:03 +0000)]
Use vm in sse2_cvtps2pd<mask_name>

sse2_cvtps2pd<mask_name> has

(define_insn "sse2_cvtps2pd<mask_name>"
  [(set (match_operand:V2DF 0 "register_operand" "=v")
        (float_extend:V2DF
          (vec_select:V2SF
            (match_operand:V4SF 1 "vector_operand" "vBm")
            (parallel [(const_int 0) (const_int 1)]))))]

The memory operand size is 8 bytes (2 floats).  We should use vm instead
of vBm.

* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
with vm.

From-SVN: r232979

8 years agoAdd myself as a hsa maintainer
Martin Jambor [Fri, 29 Jan 2016 12:47:56 +0000 (13:47 +0100)]
Add myself as a hsa maintainer

2016-01-29  Martin Jambor  <mjambor@suse.cz>

* MAINTAINERS (hsa maintainers): Add myself.

From-SVN: r232978

8 years agoTest __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__
Jonathan Wakely [Fri, 29 Jan 2016 12:29:42 +0000 (12:29 +0000)]
Test __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__

* ginclude/stdarg.h: Test __cplusplus instead of
__GXX_EXPERIMENTAL_CXX0X__.

From-SVN: r232977

8 years agore PR middle-end/69547 (no-op array initializer emits an empty loop)
Richard Biener [Fri, 29 Jan 2016 11:21:19 +0000 (11:21 +0000)]
re PR middle-end/69547 (no-op array initializer emits an empty loop)

2016-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69547
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
Do not mark clobbers necessary.
(mark_all_reaching_defs_necessary_1): Likewise.

* g++.dg/tree-ssa/pr69547.C: New testcase.

From-SVN: r232976

8 years agore PR debug/66869 (-Wunused-function no longer warns for static declarations without...
Jakub Jelinek [Fri, 29 Jan 2016 11:14:42 +0000 (12:14 +0100)]
re PR debug/66869 (-Wunused-function no longer warns for static declarations without definition)

PR debug/66869
* decl.c (wrapup_globals_for_namespace): Warn about unused static
function declarations.

* g++.dg/warn/Wunused-function2.C: New test.

From-SVN: r232975

8 years agoFix Cygwin bootstrap error due to TM symbols
Jonathan Wakely [Fri, 29 Jan 2016 10:52:08 +0000 (10:52 +0000)]
Fix Cygwin bootstrap error due to TM symbols

PR libstdc++/69506
* config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.

From-SVN: r232974

8 years agoS/390: Use %qs in error messages.
Dominik Vogt [Fri, 29 Jan 2016 10:17:03 +0000 (10:17 +0000)]
S/390: Use %qs in error messages.

gcc/ChangeLog

* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
declaration name with %qs and print it in both error messages.  Also
fix indentation.

From-SVN: r232973

8 years agoPR other/69006: S/390: Fix extra newlines after diagnostics.
Dominik Vogt [Fri, 29 Jan 2016 10:12:11 +0000 (10:12 +0000)]
PR other/69006: S/390: Fix extra newlines after diagnostics.

gcc/ChangeLog

PR other/69006
* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
trailing blank line from error message.

From-SVN: r232972

8 years agoS/390: Require a hardware vector support for test to succeed.
Dominik Vogt [Fri, 29 Jan 2016 10:09:13 +0000 (10:09 +0000)]
S/390: Require a hardware vector support for test to succeed.

The test case works on S/390 too, but only with -march=z13 or later
(i.e. if Gcc can make use of hardware vector support).  Otherwise the
optimization gets too complex.  The attached patch forces Gcc to use
-march=z13 instead of xfail'ing the test on S/390.

gcc/testsuite/ChangeLog

* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Require a hardware vector support for
test to succeed.

From-SVN: r232971

8 years agoPR c++/69462: Provide FLT_EVAL_METHOD and DECIMAL_DIG in float.h.
Jonathan Wakely [Fri, 29 Jan 2016 10:03:26 +0000 (10:03 +0000)]
PR c++/69462: Provide FLT_EVAL_METHOD and DECIMAL_DIG in float.h.

gcc/ChangeLog

PR c++/69462
* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
for C++-11.

From-SVN: r232970

8 years agore PR c++/69509 (infinite loop compiling a VLA in a recursive constexpr function)
Marek Polacek [Fri, 29 Jan 2016 09:25:14 +0000 (09:25 +0000)]
re PR c++/69509 (infinite loop compiling a VLA in a recursive constexpr function)

PR c++/69509
PR c++/69516
* constexpr.c (cxx_eval_array_reference): Give the "array subscript
out of bound" error earlier.
* init.c (build_vec_init): Change NE_EXPR into GT_EXPR.  Update the
commentary.

* g++.dg/ext/constexpr-vla2.C: New test.
* g++.dg/ext/constexpr-vla3.C: New test.
* g++.dg/ubsan/vla-1.C: Remove dg-shouldfail.

From-SVN: r232969

8 years agore PR middle-end/69537 (Incorrect -Wmaybe-uninitialized warning with enum variable)
Richard Biener [Fri, 29 Jan 2016 08:36:04 +0000 (08:36 +0000)]
re PR middle-end/69537 (Incorrect -Wmaybe-uninitialized warning with enum variable)

2016-01-29  Richard Biener  <rguenther@suse.de>

PR middle-end/69537
* match.pd: Allow all integral types when simplifying a
widening or sign-changing conversion.

* gcc.dg/uninit-21.c: New testcase.

From-SVN: r232968

8 years agoPR69545: revert patch
Sebastian Pop [Fri, 29 Jan 2016 04:31:40 +0000 (04:31 +0000)]
PR69545: revert patch

Revert 'assert instead of silently failing code gen' that produces an ICE with isl-0.14.

From-SVN: r232966

8 years agoFix cp_binding_level reuse logic
Patrick Palka [Fri, 29 Jan 2016 01:51:03 +0000 (01:51 +0000)]
Fix cp_binding_level reuse logic

gcc/cp/ChangeLog:

* name-lookup.c (begin_scope): After reusing a cp_binding_level
structure, update free_binding_level before the structure's
level_chain field gets cleared, not after.

From-SVN: r232965

8 years agoDaily bump.
GCC Administrator [Fri, 29 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232963

8 years agore PR pch/68176 (all pch tests fail on eglibc systems (with bits/predefs.h))
Jakub Jelinek [Thu, 28 Jan 2016 22:35:20 +0000 (23:35 +0100)]
re PR pch/68176 (all pch tests fail on eglibc systems (with bits/predefs.h))

PR pch/68176
* files.c (_cpp_find_file): Set file->implicit_preinclude even if
included from file->implicit_preinclude header.

From-SVN: r232956

8 years agore PR target/69459 (wrong code with -O2 and vector arithmetics @ x86_64)
Uros Bizjak [Thu, 28 Jan 2016 22:32:47 +0000 (23:32 +0100)]
re PR target/69459 (wrong code with -O2 and vector arithmetics @ x86_64)

PR target/69459
* config/i386/constraints.md (C): Only accept constant zero operand.
(BC): New constraint.
* config/i386/sse.md (*mov<mode>_internal): Use BC constraint
instead of C constraint.
* doc/md.texi (Machine Constraints): Update description
of C constraint.

testsuite/ChangeLog:

PR target/69459
* gcc.target/i386/pr69459.c: New test.

From-SVN: r232955

8 years agore PR target/68400 (ICE in change_address_1, at emit-rtl.c:2125)
Steve Ellcey [Thu, 28 Jan 2016 22:28:04 +0000 (22:28 +0000)]
re PR target/68400 (ICE in change_address_1, at emit-rtl.c:2125)

PR target/68400
* gcc.target/mips/mips.exp (mips_option_groups): Add stack-protector.
* gcc.target/mips/pr68400.c: New test.

From-SVN: r232954

8 years agore PR target/68400 (ICE in change_address_1, at emit-rtl.c:2125)
Steve Ellcey [Thu, 28 Jan 2016 22:25:55 +0000 (22:25 +0000)]
re PR target/68400 (ICE in change_address_1, at emit-rtl.c:2125)

2016-01-28  Steve Ellcey  <sellcey@imgtec.com>

PR target/68400
* config/mips/mips.c (and_operands_ok): Add MIPS16 check.

From-SVN: r232952

8 years agoPR target/17381 - Unnecessary register move for float extend
Martin Sebor [Thu, 28 Jan 2016 21:05:39 +0000 (21:05 +0000)]
PR target/17381 - Unnecessary register move for float extend

2016-01-28  Martin Sebor  <msebor@redhat.com>

PR target/17381
* gcc.target/powerpc/pr17381.c: New test.

From-SVN: r232947

8 years agore PR middle-end/69542 (-fcompare-debug failure in simplify-rtx.c on i?86 since r232905)
Jakub Jelinek [Thu, 28 Jan 2016 21:01:51 +0000 (22:01 +0100)]
re PR middle-end/69542 (-fcompare-debug failure in simplify-rtx.c on i?86 since r232905)

PR middle-end/69542
* lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
non-debug insns.

* gcc.dg/torture/pr69542.c: New test.

From-SVN: r232946

8 years agors6000.c (output_cbranch): Don't statically predict branches if using guessed profile.
Pat Haugen [Thu, 28 Jan 2016 20:34:49 +0000 (20:34 +0000)]
rs6000.c (output_cbranch): Don't statically predict branches if using guessed profile.

* config/rs6000/rs6000.c (output_cbranch): Don't statically predict
branches if using guessed profile.

From-SVN: r232945

8 years agoFix optimize_isl dump
H.J. Lu [Thu, 28 Jan 2016 18:23:24 +0000 (18:23 +0000)]
Fix optimize_isl dump

* graphite-optimize-isl.c (optimize_isl): Fix dump.

From-SVN: r232939

8 years agore PR target/69305 (wrong code with -O and int128 @ aarch64)
Richard Henderson [Thu, 28 Jan 2016 17:48:22 +0000 (09:48 -0800)]
re PR target/69305 (wrong code with -O and int128 @ aarch64)

PR target/69305

  * config/aarch64/aarch64-modes.def (CC_Cmode): New
  * config/aarch64/aarch64-protos.h: Update.
  * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
  (aarch64_select_cc_mode): Add check for use of CC_Cmode.
  (aarch64_get_condition_code_1): Handle CC_Cmode.
  * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
  (*add<mode>3_compareC_cconly_imm): New.
  (*add<mode>3_compareC_cconly): New.
  (*add<mode>3_compareC_imm): New.
  (add<mode>3_compareC): New.
  (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
  to be first.  Use aarch64_carry_operation.
  (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
  (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
  (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
  (subti3): Use subdi3_compare1.
  (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
  (sub<mode>3_compare1): New.
  (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
  (*sub<mode>3_carryin): Use aarch64_borrow_operation.
  (*subsi3_carryin_uxtw): Likewise.
  (*ngc<mode>, *ngcsi_uxtw): Likewise.
  (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
  * config/aarch64/iterators.md (DWI): New.
  * config/aarch64/predicates.md (aarch64_carry_operation): New.
  (aarch64_borrow_operation): New.

From-SVN: r232936

8 years agomake debug comment more explicit
Abderrazek Zaafrani [Thu, 28 Jan 2016 16:39:18 +0000 (16:39 +0000)]
make debug comment more explicit

2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>

* graphite-optimize-isl.c (optimize_isl): Print a different debug
message when isl does not return a valid schedule.

From-SVN: r232935

8 years agoremove out of sync comments
Sebastian Pop [Thu, 28 Jan 2016 16:39:10 +0000 (16:39 +0000)]
remove out of sync comments

* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
Remove comments from class declarations: they are already in the code
close by the defs.

From-SVN: r232934

8 years agouse codegen_error_p
Sebastian Pop [Thu, 28 Jan 2016 16:39:01 +0000 (16:39 +0000)]
use codegen_error_p

* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call codegen_error_p.
(ternary_op_to_tree): Same.
(unary_op_to_tree): Same.
(nary_op_to_tree): Same.
(gcc_expression_from_isl_expr_op): Same.
(gcc_expression_from_isl_expression): Same.
(graphite_create_new_loop): Same.
(graphite_create_new_loop_guard): Same.
(build_iv_mapping): Same.
(graphite_create_new_guard): Same.
(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.

From-SVN: r232933

8 years agoassert instead of silently failing code gen
Sebastian Pop [Thu, 28 Jan 2016 16:38:52 +0000 (16:38 +0000)]
assert instead of silently failing code gen

* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert instead of
setting codegen_error to fail codegen.

From-SVN: r232932

8 years ago* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
Jason Merrill [Thu, 28 Jan 2016 15:45:44 +0000 (10:45 -0500)]
* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.

From-SVN: r232931

8 years agoA recent change added UNSPEC to the CCMP patterns to stop combine optimizing the...
Wilco Dijkstra [Thu, 28 Jan 2016 15:41:46 +0000 (15:41 +0000)]
A recent change added UNSPEC to the CCMP patterns to stop combine optimizing the immediate in a rare case.

A recent change added UNSPEC to the CCMP patterns to stop combine optimizing
the immediate in a rare case.  This requires a fix to the CCMP cost
calculation as the CCMP instruction with unspec is no longer recognized.
Fix the ccmp_1.c test by adding -ffinite-math-only so FCCMPE is emitted on
relational compares.

2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
Remove CONST_INT_P check in CCMP cost calculation.

    gcc/testsuite/
* gcc.target/aarch64/ccmp_1.c: Fix test issue.

From-SVN: r232930

8 years agore PR c++/67407 (ice in friend_accessible_p)
Jason Merrill [Thu, 28 Jan 2016 15:07:56 +0000 (10:07 -0500)]
re PR c++/67407 (ice in friend_accessible_p)

PR c++/67407

* search.c (dfs_walk_once, dfs_walk_once_r)
(dfs_walk_once_accessible_r, dfs_walk_once_accessible): Use
hash_set instead of BINFO_MARKED.
(dfs_unmark_r): Remove.

From-SVN: r232929

8 years ago* directives.c (destringize_and_run): Adjust prototype.
Jakub Jelinek [Thu, 28 Jan 2016 14:33:55 +0000 (15:33 +0100)]
* directives.c (destringize_and_run): Adjust prototype.

From-SVN: r232928

8 years agopr65980.c: Skip on AIX.
David Edelsohn [Thu, 28 Jan 2016 13:52:06 +0000 (13:52 +0000)]
pr65980.c: Skip on AIX.

        * gcc.dg/pr65980.c: Skip on AIX.
        * gcc.dg/pr66688.c: Same.

From-SVN: r232927

8 years agore PR target/63679 ([AArch64] Failure to constant fold.)
David Edelsohn [Thu, 28 Jan 2016 13:48:00 +0000 (13:48 +0000)]
re PR target/63679 ([AArch64] Failure to constant fold.)

        PR target/63679
        * gcc.dg/tree-ssa/sra-17.c: Adjust regex for more label styles.
        * gcc.dg/tree-ssa/sra-18.c: Same.

From-SVN: r232926

8 years agore PR libstdc++/69450 (libstdc++-v3/include/math.h:66:1 2: error: 'constexpr bool...
John David Anglin [Thu, 28 Jan 2016 13:09:23 +0000 (13:09 +0000)]
re PR libstdc++/69450 (libstdc++-v3/include/math.h:66:1 2: error: 'constexpr bool std::isnan(double)' conflicts with a previous declaration)

PR libstdc++/69450
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
isinf and isnan functions into two independent checks.  Check on hpux.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath (isinf(double), isnan(double)): Use
_GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
respectively.

From-SVN: r232925

8 years agogigi.h (enum attr_type): Rename into...
Eric Botcazou [Thu, 28 Jan 2016 11:59:14 +0000 (11:59 +0000)]
gigi.h (enum attr_type): Rename into...

* gcc-interface/gigi.h (enum attr_type): Rename into...
(enum attrib_type): ...this.
(struct attrib): Adjust.
* gcc-interface/decl.c (prepend_one_attribute): Likewise.

From-SVN: r232923

8 years agoAdd support for vector permute cost since various permutes can expand into a complex...
Wilco Dijkstra [Thu, 28 Jan 2016 11:52:08 +0000 (11:52 +0000)]
Add support for vector permute cost since various permutes can expand into a complex sequence of instructions.

Add support for vector permute cost since various permutes can expand
into a complex sequence of instructions.  This fixes major performance
regressions due to recent changes in SLP vectorizer (which now vectorizes
more aggressively and emits many complex permutes).  Set the cost to > 1
for all microarchitectures so that the number of permutes is usually zero
and regressions disappear.

2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (generic_vector_cost):
Set vec_permute_cost.
(cortexa57_vector_cost): Likewise.
(exynosm1_vector_cost): Likewise.
(xgene1_vector_cost): Likewise.
(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
* config/aarch64/aarch64-protos.h (cpu_vector_cost):
Add vec_permute_cost entry.

From-SVN: r232922

8 years agoSeveral instructions disassemble a zero immediate as wzr/xzr due to using a register...
Wilco Dijkstra [Thu, 28 Jan 2016 11:45:06 +0000 (11:45 +0000)]
Several instructions disassemble a zero immediate as wzr/xzr due to using a register operand in the disassembly.

Several instructions disassemble a zero immediate as wzr/xzr due to
using a register operand in the disassembly.  Avoid this by removing
the register operand.

2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
immediate as %1.
(add<mode>3_compare0): Likewise.
(addsi3_compare0_uxtw): Likewise.
(add<mode>3nr_compare0): Likewise.
(compare_neg<mode>): Likewise.
(<optab><mode>3): Likewise.

From-SVN: r232921

8 years agoAdded missing testcase of r232919.
Andre Vehreschild [Thu, 28 Jan 2016 11:41:10 +0000 (12:41 +0100)]
Added missing testcase of r232919.

From-SVN: r232920

8 years agore PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)
Andre Vehreschild [Thu, 28 Jan 2016 11:34:03 +0000 (12:34 +0100)]
re PR fortran/62536 (ICE (segfault) for invalid END BLOCK statement)

gcc/fortran/ChangeLog:

2016-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/62536
* decl.c (gfc_match_end): Only unnest and remove BLOCK namespaces
when the END encountered does not match a BLOCK's end.

gcc/testsuite/ChangeLog:

2016-01-28  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/62536
* gfortran.dg/block_15.f08: New test.
* gfortran.dg/block_end_error_1.f90: Need to catch additional error
on incorrectly closed BLOCK.

From-SVN: r232919

8 years agotree-vect-stmts.c (vectorizable_comparison): Add NULL check for vectype.
Ilya Enkovich [Thu, 28 Jan 2016 10:09:12 +0000 (10:09 +0000)]
tree-vect-stmts.c (vectorizable_comparison): Add NULL check for vectype.

gcc/

* tree-vect-stmts.c (vectorizable_comparison): Add
NULL check for vectype.

gcc/testsuite/

* gcc.dg/declare-simd.c: New test.

From-SVN: r232917

8 years agore PR tree-optimization/69466 (ICE: Invalid PHI argument after vectorization (on...
Richard Biener [Thu, 28 Jan 2016 09:10:30 +0000 (09:10 +0000)]
re PR tree-optimization/69466 (ICE: Invalid PHI argument after vectorization (on -O2))

2016-01-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69466
* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
Account for PHIs we couldn't duplicate.

* gfortran.dg/vect/pr69466.f90: New testcase.

From-SVN: r232916

8 years agore PR pch/68758 (Invalid read of size 8 in gt_pch_save (ggc-common.c:551))
Martin Liska [Thu, 28 Jan 2016 08:39:05 +0000 (09:39 +0100)]
re PR pch/68758 (Invalid read of size 8 in gt_pch_save (ggc-common.c:551))

Fix PR pch/68758.

PR pch/68758
* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
instead of ENABLE_VALGRIND_CHECKING.

From-SVN: r232915

8 years agocorrect ChangeLogs for PR69422
Paul Thomas [Thu, 28 Jan 2016 06:52:15 +0000 (06:52 +0000)]
correct ChangeLogs for PR69422

From-SVN: r232914

8 years agopr67989.C: Remove ARM-specific option.
Thomas Preud'homme [Thu, 28 Jan 2016 06:29:10 +0000 (06:29 +0000)]
pr67989.C: Remove ARM-specific option.

2016-01-28  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * g++.dg/pr67989.C: Remove ARM-specific option.
    * gcc.target/arm/pr67989.C: New file.

From-SVN: r232913

8 years agoLow-hanging C++-lexer speedup (PR c++/24208)
Patrick Palka [Thu, 28 Jan 2016 01:06:29 +0000 (01:06 +0000)]
Low-hanging C++-lexer speedup (PR c++/24208)

gcc/cp/ChangeLog:

PR c++/24208
* parser.c (LEXER_DEBUGGING_ENABLED_P): New macro.
(cp_lexer_debugging_p): Use it.
(cp_lexer_start_debugging): Likewise.
(cp_lexer_stop_debugging): Likewise.

From-SVN: r232912

8 years agoDaily bump.
GCC Administrator [Thu, 28 Jan 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232911

8 years agopr68264.c: Disable log1p test for glibc < 2.22 and expm1 test for glibc < 2.11.
Uros Bizjak [Wed, 27 Jan 2016 23:04:25 +0000 (00:04 +0100)]
pr68264.c: Disable log1p test for glibc < 2.22 and expm1 test for glibc < 2.11.

* gcc.dg/torture/pr68264.c: Disable log1p test for glibc < 2.22
and expm1 test for glibc < 2.11.

From-SVN: r232907

8 years agore PR fortran/69484 (documentation issue: -Wtabs and -Wall)
Janus Weil [Wed, 27 Jan 2016 22:32:52 +0000 (23:32 +0100)]
re PR fortran/69484 (documentation issue: -Wtabs and -Wall)

2016-01-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/69484
* invoke.texi: Fix documentation of -Wall with respect to -Wtabs.

From-SVN: r232906

8 years agore PR rtl-optimization/69447 (wrong code with -O2 -fno-schedule-insns and mixed 8...
Richard Henderson [Wed, 27 Jan 2016 22:08:02 +0000 (14:08 -0800)]
re PR rtl-optimization/69447 (wrong code with -O2 -fno-schedule-insns and mixed 8/16/32/64bit arithmetics @ armv7a)

PR rtl-opt/69447

  * lra-remat.c (subreg_regs): New.
  (dump_candidates_and_remat_bb_data): Dump it.
  (operand_to_remat): Reject if operand in subreg_regs.
  (set_bb_regs): Collect subreg_regs.
  (lra_remat): Init and free subreg_regs.  Compute
  calculate_local_reg_remat_bb_data before create_cands.

From-SVN: r232905

8 years ago[multiple changes]
Paul Thomas [Wed, 27 Jan 2016 21:24:01 +0000 (21:24 +0000)]
[multiple changes]

2016-01-27  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69385
* trans-expr.c (is_scalar_reallocatable_lhs): Remove the check
for allocatable components, whilst checking if the symbol is a
derived or class entity..

2015-01-27  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69385
* gfortran.dg/alloc_comp_assign_15.f03: New test.

From-SVN: r232904

8 years agoDon't change stack_alignment_needed for __tls_get_addr
H.J. Lu [Wed, 27 Jan 2016 19:54:03 +0000 (19:54 +0000)]
Don't change stack_alignment_needed for __tls_get_addr

__tls_get_addr must be called with 16-byte aligned stack, which is
guaranted by setting preferred_stack_boundary to 128 bits.  There
is no need to change stack_alignment_needed for __tls_get_addr.

PR target/68986
* config/i386/i386.c (ix86_update_stack_boundary): Don't
change stack_alignment_needed for __tls_get_addr call.

From-SVN: r232901

8 years agors6000: Put back the 's' output modifier
Segher Boessenkool [Wed, 27 Jan 2016 19:44:31 +0000 (20:44 +0100)]
rs6000: Put back the 's' output modifier

It turns out the 's' output modifier is used in some glibc math code,
and is in an installed header even.  So let's put it back, it is much
less of a burden supporting it a bit longer than to deal with the fallout.
(It is also being fixed for glibc.)

* config/rs6000/rs6000.c (print_operand): Rollback 's' removal.

From-SVN: r232900

8 years agore PR debug/66869 (-Wunused-function no longer warns for static declarations without...
Jakub Jelinek [Wed, 27 Jan 2016 19:32:49 +0000 (20:32 +0100)]
re PR debug/66869 (-Wunused-function no longer warns for static declarations without definition)

PR debug/66869
* c-decl.c (c_write_global_declarations_1): Warn with
warn_unused_function if static prototype without definition
is not C_DECL_USED.

* gcc.dg/pr66869.c: New test.

From-SVN: r232899

8 years ago* testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
Jakub Jelinek [Wed, 27 Jan 2016 19:31:06 +0000 (20:31 +0100)]
* testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.

From-SVN: r232898

8 years agore PR tree-optimization/68398 (coremark regression due to r229685)
Jeff Law [Wed, 27 Jan 2016 19:19:47 +0000 (12:19 -0700)]
re PR tree-optimization/68398 (coremark regression due to r229685)

PR tree-optimization/68398
* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Only count PHIs in the last block in the path.  The others will
const/copy propagate away.  Add heuristic to allow more irreducible
subloops to be created when it is likely profitable to do so.

* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
check from within the loop.  Use gsi_next_nondebug rather than gsi_next.

PR tree-optimization/68398
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Add extra statements on thread
path to avoid new heuristic allowing more irreducible regions
* gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise.
* gcc.dg/tree-ssa/vrp46.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2g.c: New test.
* gcc.dg/tree-ssa/ssa-dom-thread-2h.c: Likewise.

From-SVN: r232897