gcc.git
8 years agoPR c++/69912 - [6 regression] ICE in build_ctor_subob_ref initializing
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

8 years agoAvoid making unportable assumptions about the relationship between SIZE_MAX
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

8 years agore PR debug/61033 (Infinite loop in variable tracking)
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

8 years agoAdd -flifetime-dse=1.
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

8 years ago* cp-gimplify.c (cp_fold): Don't fold constexpr calls if -fno-inline.
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

8 years agoruntime: lock M during cgo call
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

8 years agore PR tree-optimization/69760 (Wrong 64-bit memory address caused by an unneeded...
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

8 years agoAdapt gcc.dg/debug/dwarf2/prod-options.c for Solaris assembler
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

8 years ago[ARM] Tests for arm_restrict_it patterns in thumb2.md
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

8 years agolibstdc++/69939 Qualify get and forward
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

8 years agore PR middle-end/69915 (ICE: SIGSEGV with -O -ftracer with broken backtrace)
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

8 years ago[gcse] PR rtl-optimization/69886: Check target mode in can_assign_to_reg_without_clob...
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

8 years agore PR tree-optimization/68963 (O3 vs. O2 discards part of loop and terminates early)
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

8 years ago[ARM] Add initial support for the Cortex-A32
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

8 years ago[ARM] PR target/69875 Fix atomic_loaddi expansion
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

8 years agore PR c/69918 (gcc.dg/torture/builtin-integral-1.c FAILs)
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

8 years agore PR middle-end/69909 (wrong code with -Os and vectors @ x86_64)
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

8 years agore PR tree-optimization/69907 (wrong code at -O3 on x86_64-linux-gnu)
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

8 years agoarm-c.c (arm_option_override): Initialize target_option_current_node.
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

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

From-SVN: r233652

8 years agore PR fortran/61156 (Internal compiler error for Fortran files when specifying a...
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

8 years agore PR target/69810 (PowerPC64: unrecognizable insn)
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

8 years agoTweak the pipeline model for Exynos M1
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

8 years agoaarch64.c (exynosm1_tunings): Enable the Newton series for reciprocal square root...
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

8 years agoDocument __STDCPP_WANT_MATH_SPEC_FUNCS__ macro
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

8 years agolibstdc++/69893 make <tr1/cmath> work with C++11
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

8 years agore PR objc/69844 (Possibly bogus error: unknown type name in ObjC code)
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

8 years agore PR fortran/69456 (Namelist value with trailing sign is ignored without error)
Jerry DeLisle [Tue, 23 Feb 2016 18:38:31 +0000 (18:38 +0000)]
re PR fortran/69456 (Namelist value with trailing sign is ignored without error)

2016-02-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/69456
* io/list_read.c (read_real): If digit is missing from exponent issue
an error. (parse_real): Likewise and adjusted error message to clarify
it is part of a complex number.
(nml_read_obj): Bump item count and add comment that this is used to
identify which item in a namelist read has a problem.

PR libgfortran/69456
* gfortran.dg/namelist_89.f90: New test.
* gfortran.dg/pr59700.f90: Update test..

From-SVN: r233641

8 years agoPR middle-end/69780 - [4.9/5/6 Regression] ICE on __builtin_alloca_with_align
Martin Sebor [Tue, 23 Feb 2016 18:09:37 +0000 (18:09 +0000)]
PR middle-end/69780 - [4.9/5/6 Regression] ICE on __builtin_alloca_with_align

PR middle-end/69780 - [4.9/5/6 Regression] ICE on __builtin_alloca_with_align
with small alignment
PR c/69759 - __builtin_alloca and __builtin_alloca_with_align undocumented

gcc/c-family/ChangeLog:
* c-common.c (check_builtin_function_arguments): Validate and reject
invalid arguments to __builtin_alloca_with_align.

gcc/ChangeLog:
* doc/extend.texi (Other Builtins): Document __builtin_alloca and
__builtin_alloca_with_align.

gcc/testsuite/ChangeLog:
* g++.dg/ext/builtin_alloca.C: New test.
* gcc.dg/builtins-68.c: New test.

From-SVN: r233640

8 years agoRemove __seg_tls before first release.
Richard Henderson [Tue, 23 Feb 2016 18:05:14 +0000 (10:05 -0800)]
Remove __seg_tls before first release.

  * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
  (ix86_register_pragmas): Remove __seg_tls.
  * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
  * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
  (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
  (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
  (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
  * doc/extend.texi (__seg_tls): Remove item.
testsuite/
  * gcc.target/i386/addr-space-3.c: Remove test.

From-SVN: r233639

8 years agoPR preprocessor/69126: avoid comparing ad-hoc and non-ad-hoc locations
David Malcolm [Tue, 23 Feb 2016 17:44:28 +0000 (17:44 +0000)]
PR preprocessor/69126: avoid comparing ad-hoc and non-ad-hoc locations

gcc/testsuite/ChangeLog:
PR preprocessor/69126
PR preprocessor/69543
* c-c++-common/pr69126-2-long.c: New test.
* c-c++-common/pr69126-2-short.c: New test.
* c-c++-common/pr69543-1.c: Remove xfail.

libcpp/ChangeLog:
PR preprocessor/69126
PR preprocessor/69543
* line-map.c (linemap_compare_locations): At the function top,
replace inlined bodies of get_location_from_adhoc_loc with calls
to get_location_from_adhoc_loc.  Add a pair of calls to
get_location_from_adhoc_loc at the bottom of the function, to
avoid meaningless comparisons of ad-hoc and non-ad-hoc locations.

From-SVN: r233638

8 years agoAdd test coverage for _Pragma (PR preprocessor 69126, 69543, 69558)
David Malcolm [Tue, 23 Feb 2016 17:39:16 +0000 (17:39 +0000)]
Add test coverage for _Pragma (PR preprocessor 69126, 69543, 69558)

We had some regressions in the ability for _Pragma to disable a warning
(PR preprocessor/69126, PR preprocessor/69543, PR preprocessor/69558).

This patch attempts to add more test coverage for this, for the
various combinations of:
  - various warnings:
    -Wunused-variable
    -Wuninitialized
    -Wdeprecated-declarations
  - various combinations of location of _Pragma relative to location of
    the warning:
     - _Pragma is in a macro, warning isn't a macro
     - neither is in a macro
     - _Pragma isnt't in a macro, warning is in a macro
     - in different macros
     - both in the same macro
  - C vs C++ frontend.

It adds some XFAILs:
  - pr69543-1.c for C++ (fixed in the followup patch)
  - pr69543-3.c for both C and C++
  - pr69543-4.c for both C and C++
  - pr69558.c for C++ (moving it from gcc.dg to c-c++-common,
    marking it as xfail for C++ for now)

gcc/testsuite/ChangeLog:
PR preprocessor/69126
PR preprocessor/69543
PR preprocessor/69558
* c-c++-common/pr69126.c (MACRO_1, test_1): New.
(f): Rename to...
(test_2): ...this, and add leading comment.
(MACRO_3, test_3): New.
(MACRO_4A, MACRO_4B, test_4): New.
(MACRO): Rename to...
(MACRO_5): ...this.
(g): Rename to...
(test_5): ...this, updating for renaming of MACRO, and
add leading comment.
* c-c++-common/pr69543-1.c: New.
* c-c++-common/pr69543-2.c: New.
* c-c++-common/pr69543-3.c: New.
* c-c++-common/pr69543-4.c: New.
* c-c++-common/pr69558-1.c: New.
* c-c++-common/pr69558-2.c: New.
* c-c++-common/pr69558-3.c: New.
* c-c++-common/pr69558-4.c: New.
* gcc.dg/pr69558.c: Move to...
* c-c++-common/pr69558.c: ...here.  Add dg-bogus directives, with
xfail for c++.

From-SVN: r233637

8 years agore PR libstdc++/69881 (with gcc-6 of today building gcc-4.9 fails)
Bernd Edlinger [Tue, 23 Feb 2016 15:57:09 +0000 (15:57 +0000)]
re PR libstdc++/69881 (with gcc-6 of today building gcc-4.9 fails)

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

        PR libstdc++/69881
        * include/c_global/cstdarg: Undefine __need___va_list.
        * include/c_global/cstddef: Undefine all kinds of __need_*.

From-SVN: r233636

8 years agoalloc-pool.h (struct allocation_object): Make id member conditional on CHECKING_P...
Richard Biener [Tue, 23 Feb 2016 15:19:17 +0000 (15:19 +0000)]
alloc-pool.h (struct allocation_object): Make id member conditional on CHECKING_P again.

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

* alloc-pool.h (struct allocation_object): Make id member
conditional on CHECKING_P again.
(get_instance): Adjust.
(base_pool_allocator): Likewise.

From-SVN: r233635

8 years agoUse plain -fopenacc to enable OpenACC kernels processing
Thomas Schwinge [Tue, 23 Feb 2016 15:07:54 +0000 (16:07 +0100)]
Use plain -fopenacc to enable OpenACC kernels processing

gcc/
* tree-parloops.c (create_parallel_loop, gen_parallel_loop)
(parallelize_loops): In OpenACC kernels mode, set n_threads to
zero.
(pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
flag_openacc.
* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
gcc/testsuite/
* c-c++-common/goacc/kernels-counter-vars-function-scope.c: Adjust
to -ftree-parallelize-loops/-fopenacc changes.
* c-c++-common/goacc/kernels-double-reduction-n.c: Likewise.
* c-c++-common/goacc/kernels-double-reduction.c: Likewise.
* c-c++-common/goacc/kernels-loop-2.c: Likewise.
* c-c++-common/goacc/kernels-loop-3.c: Likewise.
* c-c++-common/goacc/kernels-loop-g.c: Likewise.
* c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise.
* c-c++-common/goacc/kernels-loop-n.c: Likewise.
* c-c++-common/goacc/kernels-loop-nest.c: Likewise.
* c-c++-common/goacc/kernels-loop.c: Likewise.
* c-c++-common/goacc/kernels-one-counter-var.c: Likewise.
* c-c++-common/goacc/kernels-reduction.c: Likewise.
* gfortran.dg/goacc/kernels-loop-inner.f95: Likewise.
* gfortran.dg/goacc/kernels-loops-adjacent.f95: Likewise.
libgomp/
* oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
* plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
dims.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
-ftree-parallelize-loops/-fopenacc changes.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
Likewise.

From-SVN: r233634

8 years agomem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
Richard Biener [Tue, 23 Feb 2016 14:01:51 +0000 (14:01 +0000)]
mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.

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

* mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
* bitmap.h (struct bitmap_usage): Likewise.
(bitmap_move): Declare.
* bitmap.c (register_overhead): Take size_t argument.
(bitmap_move): New function.
* df-problems.c (df_rd_transfer_function): Use bitmap_move
to properly account overhead.
* tree.c (free_node): Use tree_size.

From-SVN: r233633

8 years agoRequire alias support in gcc.target/i386/chkp-hidden-def.c
Rainer Orth [Tue, 23 Feb 2016 13:52:01 +0000 (13:52 +0000)]
Require alias support in gcc.target/i386/chkp-hidden-def.c

* gcc.target/i386/chkp-hidden-def.c: Require alias support.

From-SVN: r233632

8 years agore PR c++/69902 (Bogus -Wnonnull-compare for: dynamic_cast<T*>(&ref) == nullptr)
Jakub Jelinek [Tue, 23 Feb 2016 12:58:53 +0000 (13:58 +0100)]
re PR c++/69902 (Bogus -Wnonnull-compare for: dynamic_cast<T*>(&ref) == nullptr)

PR c++/69902
* fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
when inverting comparison.

* g++.dg/warn/Wnonnull-compare-5.C: New test.

From-SVN: r233631

8 years agore PR c/69900 (Unhelpful diagnostic about Ignored options)
Jakub Jelinek [Tue, 23 Feb 2016 12:57:32 +0000 (13:57 +0100)]
re PR c/69900 (Unhelpful diagnostic about Ignored options)

PR c/69900
* common.opt (Wunreachable-code): Add Warning flag.

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

From-SVN: r233630

8 years agoPR c/69911 Check main_input_filename and DECL_SOURCE_FILE are not NULL.
Mark Wielaard [Tue, 23 Feb 2016 11:47:19 +0000 (11:47 +0000)]
PR c/69911 Check main_input_filename and DECL_SOURCE_FILE are not NULL.

DECL_SOURCE_FILE can be NULL (for example when DECL_ARTIFICIAL).
So make sure to check before comparing against main_input_filename.

gcc/ChangeLog

PR c/69911
* cgraphunit.c (check_global_declaration): Check main_input_filename
and DECL_SOURCE_FILE are not NULL.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r233627

8 years ago[pr 69666] No SRA default_def replacements for unscalarizable regions
Martin Jambor [Tue, 23 Feb 2016 10:55:47 +0000 (11:55 +0100)]
[pr 69666] No SRA default_def replacements for unscalarizable regions

2016-02-23  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/69666
* tree-sra.c (sra_modify_assign): Do not attempt to create
default_def replacements for unscalarizable regions.

testsuite/
* gcc.dg/tree-ssa/pr69666.c: New test.

From-SVN: r233626

8 years agore PR fortran/67451 ([F08] ICE with sourced allocation from coarray.)
Andre Vehreschild [Tue, 23 Feb 2016 10:29:26 +0000 (11:29 +0100)]
re PR fortran/67451 ([F08] ICE with sourced allocation from coarray.)

gcc/testsuite/ChangeLog:

2016-02-23  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/67451
* gfortran.dg/coarray_allocate_5.f08: New test.

gcc/fortran/ChangeLog:

2016-02-23  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/67451
* trans-array.c (gfc_array_allocate): Take the attributes from the
expression to allocate and not from the source=-expression.

From-SVN: r233625

8 years agoS/390: Move vcond-shift.c to vector subdir.
Andreas Krebbel [Tue, 23 Feb 2016 10:18:33 +0000 (10:18 +0000)]
S/390: Move vcond-shift.c to vector subdir.

gcc/testsuite/ChangeLog:

* gcc.target/s390/vcond-shift.c: Move to ...
* gcc.target/s390/vector/vcond-shift.c: ... here.

From-SVN: r233624

8 years agoS/390: Move movstr-2.c into vector subdir.
Andreas Krebbel [Tue, 23 Feb 2016 10:17:15 +0000 (10:17 +0000)]
S/390: Move movstr-2.c into vector subdir.

gcc/testsuite/ChangeLog:

* gcc.target/s390/md/movstr-2.c: Move and rename to ...
* gcc.target/s390/vector/stpcpy-1.c: ... this one.

From-SVN: r233623

8 years agoS/390: Turn movstr-1.c into compile only test.
Andreas Krebbel [Tue, 23 Feb 2016 10:15:31 +0000 (10:15 +0000)]
S/390: Turn movstr-1.c into compile only test.

gcc/testsuite/ChangeLog:

* gcc.target/s390/md/movstr-1.c: Turn into compile test.

From-SVN: r233622

8 years agosso tests need int32 machines.
Mike Stump [Tue, 23 Feb 2016 10:02:18 +0000 (10:02 +0000)]
sso tests need int32 machines.

From-SVN: r233621

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

From-SVN: r233620

8 years ago* sv.po, vi.po: Update.
Joseph Myers [Mon, 22 Feb 2016 22:56:21 +0000 (22:56 +0000)]
* sv.po, vi.po: Update.

From-SVN: r233617

8 years agoPR28901 Add two levels for -Wunused-const-variable.
Mark Wielaard [Mon, 22 Feb 2016 22:42:19 +0000 (22:42 +0000)]
PR28901 Add two levels for -Wunused-const-variable.

There is some controversy about enabling -Wunused-const-variable for all
unused static const variables because some feel there are too many errors
exposed in header files. Create two levels for -Wunused-const-variable.
One level to only check for unused static const variables in the main
compilation file. Which is enabled by -Wunused-variable. And a second
level that also checks for unused static const variables in included
files. Which must be explicitly enabled.

gcc/ChangeLog

PR c/28901
* cgraphunit.c (check_global_declaration): Check level of
warn_unused_const_variable and main_input_filename.
* doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
(-Wunused-variable): For C implies -Wunused-const-variable=1.
(-Wunused-const-variable): Explain levels 1 and 2.

gcc/c-family/ChangeLog

PR c/28901
* c.opt (Wunused-const-variable): Turn into Alias for...
(Wunused-const-variable=): New option.

gcc/testsuite/ChangeLog

PR c/28901
* gcc.dg/unused-variable-3.c: New test.

From-SVN: r233616

8 years agore PR target/69888 (ICE: SIGSEGV in decide_alg (i386.c:26169) due to infinite (?...
Jakub Jelinek [Mon, 22 Feb 2016 21:34:49 +0000 (22:34 +0100)]
re PR target/69888 (ICE: SIGSEGV in decide_alg (i386.c:26169) due to infinite (?) recursion with -minline-all-stringops -mmemset-strategy=no_stringop:-1:noalign)

PR target/69888
* config/i386/i386.c (decide_alg): Ensure we don't recurse with
identical arguments.  Formatting and spelling fixes.

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

From-SVN: r233615

8 years agore PR target/69888 (ICE: SIGSEGV in decide_alg (i386.c:26169) due to infinite (?...
Jakub Jelinek [Mon, 22 Feb 2016 21:34:07 +0000 (22:34 +0100)]
re PR target/69888 (ICE: SIGSEGV in decide_alg (i386.c:26169) due to infinite (?) recursion with -minline-all-stringops -mmemset-strategy=no_stringop:-1:noalign)

PR target/69888
* config/i386/i386.c (decide_alg): Ensure we don't recurse with
identical arguments.  Formatting and spelling fixes.

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

From-SVN: r233614

8 years agore PR bootstrap/69885 (ICE in maybe_legitimize_operand, at optabs.c:6903 on m68k...
Jakub Jelinek [Mon, 22 Feb 2016 21:27:08 +0000 (22:27 +0100)]
re PR bootstrap/69885 (ICE in maybe_legitimize_operand, at optabs.c:6903 on m68k-linux-gnu)

PR target/69885
* doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
be specified.

From-SVN: r233613

8 years agoAdd terminating line to output as prune can remove last \r from output.
Mike Stump [Mon, 22 Feb 2016 21:17:00 +0000 (21:17 +0000)]
Add terminating line to output as prune can remove last \r from output.

From-SVN: r233612

8 years agore PR target/69894 (dependency of gcc-plugin.h not installed on aarch64-linux-gnu)
Jakub Jelinek [Mon, 22 Feb 2016 19:55:47 +0000 (20:55 +0100)]
re PR target/69894 (dependency of gcc-plugin.h not installed on aarch64-linux-gnu)

PR target/69894
PR target/69895
* config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
and m68k-devices.def.
* config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.

From-SVN: r233611

8 years agoMAINTAINERS: add myself to libcpp and diagnostic messages
David Malcolm [Mon, 22 Feb 2016 17:35:45 +0000 (17:35 +0000)]
MAINTAINERS: add myself to libcpp and diagnostic messages

2016-02-22  David Malcolm  <dmalcolm@redhat.com>

* MAINTAINERS (libcpp): Add myself.
(diagnostic messages): Likewise.

From-SVN: r233608

8 years agonvptx.c (nvptx_gen_shuffle): Add support for QImode and HImode registers.
Cesar Philippidis [Mon, 22 Feb 2016 16:28:25 +0000 (08:28 -0800)]
nvptx.c (nvptx_gen_shuffle): Add support for QImode and HImode registers.

gcc/
* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
and HImode registers.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.

From-SVN: r233607

8 years agore PR tree-optimization/69882 (Excessive reduction statements generated by SLP)
Richard Biener [Mon, 22 Feb 2016 14:53:17 +0000 (14:53 +0000)]
re PR tree-optimization/69882 (Excessive reduction statements generated by SLP)

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

PR tree-optimization/69882
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
preserve permutations present because of gaps.
(vect_supported_load_permutation_p): Always continue checking
permutations after vect_attempt_slp_rearrange_stmts.

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

From-SVN: r233605

8 years agotree-vect-loop.c (vect_estimate_min_profitable_iters): Dump min_profitable_estimate...
Bin Cheng [Mon, 22 Feb 2016 14:38:10 +0000 (14:38 +0000)]
tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump min_profitable_estimate, rather than min_profitable_iters.

* tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
min_profitable_estimate, rather than min_profitable_iters.

From-SVN: r233604

8 years agore PR bootstrap/69885 (ICE in maybe_legitimize_operand, at optabs.c:6903 on m68k...
Jakub Jelinek [Mon, 22 Feb 2016 14:22:07 +0000 (15:22 +0100)]
re PR bootstrap/69885 (ICE in maybe_legitimize_operand, at optabs.c:6903 on m68k-linux-gnu)

PR target/69885
* config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
SImode for last match_operand.

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

From-SVN: r233603

8 years agoHSA: fix emission of clrsb{l,ll} builtins
Martin Liska [Mon, 22 Feb 2016 14:14:51 +0000 (15:14 +0100)]
HSA: fix emission of clrsb{l,ll} builtins

* hsa-gen.c (gen_hsa_clrsb): In case of zero value,
return bitsize - 1 as the return value.

From-SVN: r233602

8 years agore PR rtl-optimization/69806 ([SH] Combine doesn't see constant)
Oleg Endo [Mon, 22 Feb 2016 13:33:31 +0000 (13:33 +0000)]
re PR rtl-optimization/69806 ([SH] Combine doesn't see constant)

gcc/
PR target/69806
PR target/54089
* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
Handle negative shift counts.
* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
force_reg on the shift constant.
(lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
(lshrsi3_d): Handle negative shift counts.

gcc/testsuite/
PR target/69806
PR target/54089
* gcc.target/sh/pr54089-10.c: New.

From-SVN: r233601

8 years agoAdd dot-fn to gdbhooks.py
Richard Biener [Mon, 22 Feb 2016 10:31:41 +0000 (10:31 +0000)]
Add dot-fn to gdbhooks.py

2016-02-22  Richard Biener  <rguenther@suse.de>
    Tom de Vries  <tom@codesourcery.com>

* graph.c: Include dumpfile.h.
(print_graph_cfg): Split into three overloads.
* gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r233600

8 years agoAdd dump-fn to gdbhooks.py
Tom de Vries [Mon, 22 Feb 2016 10:31:32 +0000 (10:31 +0000)]
Add dump-fn to gdbhooks.py

2016-02-22  Tom de Vries  <tom@codesourcery.com>

* gdbhooks.py (class DumpFn): Add and instantiate, adding command
dump-fn.

From-SVN: r233599

8 years agore PR middle-end/37448 (cannot compile big function)
Richard Biener [Mon, 22 Feb 2016 09:32:35 +0000 (09:32 +0000)]
re PR middle-end/37448 (cannot compile big function)

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

PR ipa/37448
* ipa-inline-transform.c (inline_call): When not updating
overall summaries adjust self size by the growth estimate.
* ipa-inline.c (inline_to_all_callers_1): Add to the callers
hash-set, do not update overall summaries here.  Renamed from ...
(inline_to_all_callers): ... this which is now wrapping the
above and performing delayed overall summary update.
(early_inline_small_functions): Delay updating of the overall
summary.

From-SVN: r233598

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

From-SVN: r233597

8 years agoProperly initialize variable in tree-chkp.c (chkp_mark_invalid_bounds_walker)
Markus Trippelsdorf [Sun, 21 Feb 2016 11:25:31 +0000 (11:25 +0000)]
Properly initialize variable in tree-chkp.c (chkp_mark_invalid_bounds_walker)

* tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
variable.

From-SVN: r233593

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

From-SVN: r233592

8 years agore PR fortran/69423 (Invalid optimization with deferred-length character)
Paul Thomas [Sat, 20 Feb 2016 18:26:59 +0000 (18:26 +0000)]
re PR fortran/69423 (Invalid optimization with deferred-length character)

2016-02-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69423
* trans-decl.c (create_function_arglist): Deferred character
length functions, with and without declared results, address
the passed reference type as '.result' and the local string
length as '..result'.
(gfc_null_and_pass_deferred_len): Helper function to null and
return deferred string lengths, as needed.
(gfc_trans_deferred_vars): Call it, thereby reducing repeated
code, add call for deferred arrays and reroute pointer function
results. Avoid using 'tmp' for anything other that a temporary
tree by introducing 'type_of_array' for the arrayspec type.

2016-02-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69423
* gfortran.dg/deferred_character_15.f90 : New test.

From-SVN: r233589

8 years ago[multiple changes]
Dominique d'Humieres [Sat, 20 Feb 2016 14:10:55 +0000 (15:10 +0100)]
[multiple changes]

2016-02-20  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/57365
gfortran.dg/allocate_with_source_18.f03: New test.

2016-02-20  Harald Anlauf  <anlauf@gmx.de>

PR fortran/52531
gfortran.dg/gomp/pr52531.f90: New test.

From-SVN: r233588

8 years agoFix whitespace in libgomp/ChangeLog
Tom de Vries [Sat, 20 Feb 2016 11:42:54 +0000 (11:42 +0000)]
Fix whitespace in libgomp/ChangeLog

From-SVN: r233587

8 years agoFix whitespace in gcc/testsuite/ChangeLog
Tom de Vries [Sat, 20 Feb 2016 11:42:46 +0000 (11:42 +0000)]
Fix whitespace in gcc/testsuite/ChangeLog

From-SVN: r233586

8 years agoFix whitespace in gcc/ChangeLog
Tom de Vries [Sat, 20 Feb 2016 11:42:35 +0000 (11:42 +0000)]
Fix whitespace in gcc/ChangeLog

From-SVN: r233585

8 years agoFix whitespace in ChangeLog
Tom de Vries [Sat, 20 Feb 2016 11:42:25 +0000 (11:42 +0000)]
Fix whitespace in ChangeLog

From-SVN: r233584

8 years agoRemove stray log entry in gcc/ChangeLog-2015
Tom de Vries [Sat, 20 Feb 2016 11:42:16 +0000 (11:42 +0000)]
Remove stray log entry in gcc/ChangeLog-2015

From-SVN: r233583

8 years agoFix whitespace in MAINTAINERS
Tom de Vries [Sat, 20 Feb 2016 11:27:08 +0000 (11:27 +0000)]
Fix whitespace in MAINTAINERS

2016-02-20  Tom de Vries  <tom@codesourcery.com>

* MAINTAINERS: Fix whitespace.

From-SVN: r233582

8 years agore PR c++/69743 (function overload with variadic arguments - template instantiation...
Jason Merrill [Sat, 20 Feb 2016 04:31:16 +0000 (23:31 -0500)]
re PR c++/69743 (function overload with variadic arguments - template instantiation depth exceeds maximum (gcc4, clang - no problem))

PR c++/69743
* call.c (remaining_arguments): No longer static.
* cp-tree.h: Declare it.
* pt.c (more_specialized_fn): Use it.

From-SVN: r233579

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

From-SVN: r233578

8 years agore PR c++/69865 (-trigraphs option broken)
Bernd Edlinger [Fri, 19 Feb 2016 22:22:04 +0000 (22:22 +0000)]
re PR c++/69865 (-trigraphs option broken)

gcc/c-family/ChangeLog:
2016-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/69865
        * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
        here...
        (c_common_init_options): ...to here.
        (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.

gcc/testsuite/ChangeLog:
2016-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c++/69865
        * c-c++-common/Wshift-negative-value-6.c: Add -std=c++11 before
        -std=c++03.

From-SVN: r233574

8 years agore PR driver/69805 (ICE in greater_than_spec_func, at gcc.c:9722)
Jakub Jelinek [Fri, 19 Feb 2016 22:18:38 +0000 (23:18 +0100)]
re PR driver/69805 (ICE in greater_than_spec_func, at gcc.c:9722)

PR driver/69805
* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
:%* in %:gt() argument.
(greater_than_spec_func): Adjust for expecting only numbers,
if there are more than two numbers, compare the last two.

* testsuite/libgomp.c/pr69805.c: New test.

From-SVN: r233573

8 years agoMake-lang.in: Invoke gperf with -L C++.
Jakub Jelinek [Fri, 19 Feb 2016 22:13:29 +0000 (23:13 +0100)]
Make-lang.in: Invoke gperf with -L C++.

2016-02-19  Jakub Jelinek  <jakub@redhat.com>
            Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * Make-lang.in: Invoke gperf with -L C++.
        * cfns.gperf: Remove prototypes for hash and libc_name_p
        inlines.
        * cfns.h: Regenerated.
        * except.c (nothrow_libfn_p): Adjust.

Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de>
From-SVN: r233572

8 years agore PR c++/69826 (problem with cilkplus pragma and preprocessor variable)
Jakub Jelinek [Fri, 19 Feb 2016 22:12:54 +0000 (23:12 +0100)]
re PR c++/69826 (problem with cilkplus pragma and preprocessor variable)

PR c++/69826
* c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
(init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
flag_preprocess_only.

* c-c++-common/cilk-plus/CK/pr69826-1.c: New test.
* c-c++-common/cilk-plus/CK/pr69826-2.c: New test.

From-SVN: r233571

8 years agoinvoke.texi (C++ Dialect Options): Clarify interaction of -Wnarrowing with -std.
Jonathan Wakely [Fri, 19 Feb 2016 19:32:06 +0000 (19:32 +0000)]
invoke.texi (C++ Dialect Options): Clarify interaction of -Wnarrowing with -std.

* doc/invoke.texi (C++ Dialect Options): Clarify interaction of
-Wnarrowing with -std.

From-SVN: r233569

8 years agore PR c++/69850 (unnecessary -Wnonnull-compare warning)
Jakub Jelinek [Fri, 19 Feb 2016 19:16:31 +0000 (20:16 +0100)]
re PR c++/69850 (unnecessary -Wnonnull-compare warning)

PR c++/69850
* rtti.c (ifnonnull): Set TREE_NO_WARNING on the condition, use
NE_EXPR instead of EQ_EXPR and swap last two arguments on COND_EXPR.

* g++.dg/warn/Wnonnull-compare-4.C: New test.

From-SVN: r233568

8 years agoTweak comment further.
Jakub Jelinek [Fri, 19 Feb 2016 19:13:20 +0000 (20:13 +0100)]
Tweak comment further.

From-SVN: r233567

8 years agore PR c++/69851 (ICE: in assign_temp, at function.c:961)
Jakub Jelinek [Fri, 19 Feb 2016 19:11:58 +0000 (20:11 +0100)]
re PR c++/69851 (ICE:  in assign_temp, at function.c:961)

PR c++/69851
* expr.c (store_field): Don't use bit-field path if exp is
COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
and the assignment can be performed by bitwise copy.  Formatting
fix.

* g++.dg/torture/pr69851.C: New test.

From-SVN: r233566

8 years agoPR testsuite/69573 - FAIL: gcc.dg/pr61053.c (test for excess errors)
Martin Sebor [Fri, 19 Feb 2016 18:37:40 +0000 (18:37 +0000)]
PR testsuite/69573 - FAIL: gcc.dg/pr61053.c (test for excess errors)

Tested on x86_64 by running make check-c with
RUNTESTFLAGS='--target_board=unix/-m32/-m128bit-long-double dg.exp=pr61053.c'
gcc/testsuite/ChangeLog:
2016-01-30  Martin Sebor  <msebor@redhat.com>

PR testsuite/69573
* gcc.dg/pr61053.c: Tweaked test to avoid bogus failures.

From-SVN: r233564

8 years agoAdjust fix PR c++/68948
Patrick Palka [Fri, 19 Feb 2016 17:04:29 +0000 (17:04 +0000)]
Adjust fix PR c++/68948

gcc/cp/ChangeLog:

PR c++/68948
* pt.c (tsubst_baselink): Don't diagnose an invalid constructor
call here.
* semantics.c (finish_call_expr): Don't assume a constructor
call is dependent if only the "this" pointer is dependent.  When
building a constructor call, always use a dummy object.

From-SVN: r233563

8 years agore PR middle-end/69838 (Lra deletes EH_REGION)
Jakub Jelinek [Fri, 19 Feb 2016 16:25:58 +0000 (17:25 +0100)]
re PR middle-end/69838 (Lra deletes EH_REGION)

PR middle-end/69838
* lra.c (lra_process_new_insns): If non-call exceptions are enabled,
call copy_reg_eh_region_note_forward on before and/or after sequences
and remove note from insn if it no longer can throw.

From-SVN: r233562

8 years agore PR c++/69850 (unnecessary -Wnonnull-compare warning)
Jakub Jelinek [Fri, 19 Feb 2016 16:02:51 +0000 (17:02 +0100)]
re PR c++/69850 (unnecessary -Wnonnull-compare warning)

PR c++/69850
* init.c (build_vec_delete_1): Set TREE_NO_WARNING on the NE_EXPR
condition.
* cp-gimplify.c (cp_fold): Propagate TREE_NO_WARNING from binary
operators if folding preserved the binop, just with different
arguments.

* g++.dg/warn/Wnonnull-compare-2.C: New test.
* g++.dg/warn/Wnonnull-compare-3.C: New test.

From-SVN: r233561

8 years agore PR c++/67767 (-Wsuggest-attribute=noreturn suggests noreturn for function which...
Jakub Jelinek [Fri, 19 Feb 2016 16:01:50 +0000 (17:01 +0100)]
re PR c++/67767 (-Wsuggest-attribute=noreturn suggests noreturn for function which already has noreturn and cold.)

PR c++/67767
* parser.c (cp_parser_std_attribute_spec_seq): Don't assume
attr_spec is always single element chain, chain all the attributes
properly together in the right order.

* g++.dg/cpp0x/pr67767.C: New test.

From-SVN: r233560

8 years ago[AArch64] Skip gcc.target/aarch64/assembler_arch_1.c if assembler does not support it
Kyrylo Tkachov [Fri, 19 Feb 2016 14:20:27 +0000 (14:20 +0000)]
[AArch64] Skip gcc.target/aarch64/assembler_arch_1.c if assembler does not support it

* lib/target-supports.exp: Define aarch64_asm_FUNC_ok checks
for fp, simd, crypto, crc, lse.
* doc/sourcebuild.texi (AArch64-specific attributes): Document the
above.
* gcc.target/aarch64/assembler_arch_1.c: Add aarch64_asm_lse_ok
effective target check.

From-SVN: r233559

8 years agore PR tree-optimization/69820 (Test miscompiled with -O3 option)
Jakub Jelinek [Fri, 19 Feb 2016 13:42:38 +0000 (14:42 +0100)]
re PR tree-optimization/69820 (Test miscompiled with -O3 option)

PR target/69820
* config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
if TARGET_AVX512BW.

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

From-SVN: r233558

8 years agoS/390: z13 Add missing commutative operand markers.
Andreas Krebbel [Fri, 19 Feb 2016 10:39:15 +0000 (10:39 +0000)]
S/390: z13 Add missing commutative operand markers.

gcc/ChangeLog:

* config/s390/vector.md: Add missing commutative operand markers
to the patterns which qualify for one.
* config/s390/vx-builtins.md: Likewise.

From-SVN: r233556

8 years agoS/390: Add single element vector types to iterators.
Andreas Krebbel [Fri, 19 Feb 2016 10:38:22 +0000 (10:38 +0000)]
S/390: Add single element vector types to iterators.

gcc/ChangeLog:

* config/s390/vector.md (VI, VI_QHS): Add single element vector
types to mode iterators.
(vec_double): ... and mode attribute.
* config/s390/vx-builtins.md (non_vec_int): Likewise.

From-SVN: r233555

8 years agoS/390: z13 Change predicates of 128 bit add sub.
Andreas Krebbel [Fri, 19 Feb 2016 10:37:19 +0000 (10:37 +0000)]
S/390: z13 Change predicates of 128 bit add sub.

So far usage of 128 bit add/sub instruction was rejected if the second
operand was a constant because the predicate rejected this.

gcc/testsuite/ChangeLog:

* gcc.target/s390/vector/int128-1.c: New test.

gcc/ChangeLog:

* config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
Change the predicate of op2 from nonimmediate to general and let
reload fix it if necessary.

From-SVN: r233554

8 years agoS/390: Add vec_sub_u128 to vecintrin.h
Andreas Krebbel [Fri, 19 Feb 2016 10:35:48 +0000 (10:35 +0000)]
S/390: Add vec_sub_u128 to vecintrin.h

This adds a missing macro to the vecintrin.h header file.

gcc/ChangeLog:

* config/s390/vecintrin.h (vec_sub_u128): Define missing macro.

From-SVN: r233553

8 years agoS/390: z13 fix mode in vcond expansion
Andreas Krebbel [Fri, 19 Feb 2016 10:34:12 +0000 (10:34 +0000)]
S/390: z13 fix mode in vcond expansion

For floating point vector compares the target mode is an integer mode
which accidently was used as register mode when forcing the compare
operands into regs.

gcc/ChangeLog:

* config/s390/s390.c (s390_expand_vcond): Use the compare operand
mode.

gcc/testsuite/ChangeLog:

* gcc.target/s390/vector/vec-vcond-1.c: New test.

From-SVN: r233552

8 years agoS/390: Adjust movstr-1.c testcase to work with the z13 stpcpy implementation.
Andreas Krebbel [Fri, 19 Feb 2016 10:32:38 +0000 (10:32 +0000)]
S/390: Adjust movstr-1.c testcase to work with the z13 stpcpy implementation.

2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/md/movstr-1.c: Allow also the z13 strings
instruction pattern name to prevent the testcase from failing with
-march=z13.

From-SVN: r233551

8 years agoS/390: z13 inline stpcpy implementation.
Andreas Krebbel [Fri, 19 Feb 2016 10:31:05 +0000 (10:31 +0000)]
S/390: z13 inline stpcpy implementation.

A handwritten loop for stpcpy using the new z13 vector instructions
appears to be much faster than the millicoded instruction.  However,
the implementation is much longer and therefore will only be enabled
when optimization for speed.

gcc/testsuite/ChangeLog:

* gcc.target/s390/md/movstr-2.c: New test.

gcc/ChangeLog:

* config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
* config/s390/s390.c (s390_expand_vec_movstr): New function.
* config/s390/s390.md ("movstr<P:mode>"): Call
s390_expand_vec_movstr.

From-SVN: r233550

8 years agoS/390: z13 lcbb fix address operand.
Andreas Krebbel [Fri, 19 Feb 2016 10:28:45 +0000 (10:28 +0000)]
S/390: z13 lcbb fix address operand.

gcc/ChangeLog:

2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.md: Add missing output modifier for operand 1
to print it as address properly.

From-SVN: r233549