platform/upstream/gcc.git
7 years agore PR testsuite/80416 (FAIL: g++.dg/torture/pr79671.C -O2 execution test)
Richard Biener [Thu, 13 Apr 2017 11:17:38 +0000 (11:17 +0000)]
re PR testsuite/80416 (FAIL: g++.dg/torture/pr79671.C   -O2  execution test)

2017-04-13  Richard Biener  <rguenther@suse.de>

PR testsuite/80416
* g++.dg/torture/pr79671.C: Fix asm constraints.

From-SVN: r246902

7 years agore PR debug/80321 (infinite recursion with inlining of nested function and debug...
Jakub Jelinek [Thu, 13 Apr 2017 11:05:09 +0000 (13:05 +0200)]
re PR debug/80321 (infinite recursion with inlining of nested function and debug info)

PR debug/80321
* dwarf2out.c (decls_for_scope): Ignore declarations of
current_function_decl in BLOCK_NONLOCALIZED_VARS.

* gcc.dg/debug/pr80321.c: New test.

2017-04-13  Eric Botcazou  <ebotcazou@adacore.com>

* gnat.dg/debug10.adb: New test.
* gnat.dg/debug10_pkg.ads: New helper.

From-SVN: r246900

7 years agore PR c++/69953 (Using lto causes gtkmm/gparted and gtkmm/inkscape compile to fail)
Jan Hubicka [Thu, 13 Apr 2017 08:04:52 +0000 (10:04 +0200)]
re PR c++/69953 (Using lto causes gtkmm/gparted and gtkmm/inkscape compile to fail)

PR lto/69953
* ipa-visibility.c (non_local_p): Fix typos.
(localize_node): When localizing symbol in same comdat group,
dissolve the group only when we know external symbols are going
to be privatized.
(function_and_variable_visibility): Do not localize DECL_EXTERNAL.

From-SVN: r246899

7 years agoDaily bump.
GCC Administrator [Thu, 13 Apr 2017 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246898

7 years agore PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)
Jakub Jelinek [Wed, 12 Apr 2017 18:09:47 +0000 (20:09 +0200)]
re PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)

PR tree-optimization/79390
* optabs.c (emit_conditional_move): If the preferred op2/op3 operand
order does not result in usable sequence, retry with reversed operand
order.

* gcc.target/i386/pr70465-2.c: Xfail the scan-assembler-not test.

From-SVN: r246882

7 years agore PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expres...
Jakub Jelinek [Wed, 12 Apr 2017 18:08:29 +0000 (20:08 +0200)]
re PR sanitizer/80403 (UBSAN: compile time crash with "type mismatch in binary expression" message in / and % expr)

PR sanitizer/80403
PR sanitizer/80404
PR sanitizer/80405
* fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument
to fold_build2_loc.  Convert TREE_OPERAND (tem, 0) to type.  Use
op0 instead of fold_convert_loc (loc, type, arg0).

* g++.dg/ubsan/pr80403.C: New test.
* g++.dg/ubsan/pr80404.C: New test.
* g++.dg/ubsan/pr80405.C: New test.

From-SVN: r246881

7 years agogenattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in...
Jeff Law [Wed, 12 Apr 2017 16:08:18 +0000 (10:08 -0600)]
genattrtab.c (write_eligible_delay): Verify DELAY_INSN still has a delay slot in the generated code.

* genattrtab.c (write_eligible_delay): Verify DELAY_INSN still
has a delay slot in the generated code.

From-SVN: r246879

7 years agocris.md (cris_preferred_reload_class): Return GENNONACR_REGS rather than GENERAL_REGS.
Jeff Law [Wed, 12 Apr 2017 14:58:23 +0000 (08:58 -0600)]
cris.md (cris_preferred_reload_class): Return GENNONACR_REGS rather than GENERAL_REGS.

* config/cris/cris.md (cris_preferred_reload_class): Return
GENNONACR_REGS rather than GENERAL_REGS.

From-SVN: r246877

7 years agore PR middle-end/80163 (ICE on hopefully valid code)
Jakub Jelinek [Wed, 12 Apr 2017 13:57:45 +0000 (15:57 +0200)]
re PR middle-end/80163 (ICE on hopefully valid code)

PR c/80163
* expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND
vs. ZERO_EXTEND based on signedness of treeop0's type rather than
signedness of the result type.

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

From-SVN: r246876

7 years agore PR tree-optimization/80359 (DSE causes error: invalid reference prefix)
Richard Biener [Wed, 12 Apr 2017 13:47:26 +0000 (13:47 +0000)]
re PR tree-optimization/80359 (DSE causes error: invalid reference prefix)

2017-04-12  Richard Biener  <rguenther@suse.de>
Jeff Law  <law@redhat.com>

PR tree-optimization/80359
* tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not
trim stores to TARGET_MEM_REFs.

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

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r246875

7 years agore PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)
Richard Biener [Wed, 12 Apr 2017 09:41:02 +0000 (09:41 +0000)]
re PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)

2017-04-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79390
* gimple-ssa-split-paths.c (is_feasible_trace): Restrict
threading case even more.

From-SVN: r246869

7 years agors6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)
Segher Boessenkool [Wed, 12 Apr 2017 08:32:56 +0000 (10:32 +0200)]
rs6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)

Whatever expand expands to should be valid instructions.  The defined
instructions here have a quad_memory_operand predicate, which boils
down to quad_address_p on the address, so let's test for that instead
of only disallowing indexed addresses.

* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
for quad_address_p for TImode, instead of just not indexed_address.

From-SVN: r246868

7 years agors6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)
Segher Boessenkool [Wed, 12 Apr 2017 08:31:40 +0000 (10:31 +0200)]
rs6000: Enforce quad_address_p in TImode atomic_load/store (PR80382)

Whatever expand expands to should be valid instructions.  The defined
instructions here have a quad_memory_operand predicate, which boils
down to quad_address_p on the address, so let's test for that instead
of only disallowing indexed addresses.

* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
for quad_address_p for TImode, instead of just not indexed_address.

From-SVN: r246867

7 years agore PR target/79671 (mapnik miscompilation on armv7hl since r235622)
Richard Biener [Wed, 12 Apr 2017 07:35:49 +0000 (07:35 +0000)]
re PR target/79671 (mapnik miscompilation on armv7hl since r235622)

2017-04-12  Richard Biener  <rguenther@suse.de>
Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR middle-end/79671
* alias.c (component_uses_parent_alias_set_from): Handle
TYPE_TYPELESS_STORAGE.
(get_alias_set): Likewise.
* tree-core.h (tree_type_common): Add typeless_storage flag.
* tree.h (TYPE_TYPELESS_STORAGE): New macro.
* stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE
for types containing members with TYPE_TYPELESS_STORAGE.
(place_field): Likewise.
(layout_type): Likewise for ARRAY_TYPE.
* lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream
TYPE_TYPELESS_STORAGE.
* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.

lto/
* lto.c (compare_tree_sccs_1): Compare TYPE_TYPELESS_STORAGE.

cp/
* tree.c (build_cplus_array_type): Set TYPE_TYPELESS_STORAGE
for arrays of character or std::byte type.

* g++.dg/torture/pr79671.C: New testcase.
* g++.dg/lto/pr79671_0.C: Likewise.
* g++.dg/lto/pr79671_1.c: Likewise.

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

7 years agore PR sanitizer/80349 (UBSAN: compile time crash with "type mismatch in binary expres...
Jakub Jelinek [Wed, 12 Apr 2017 06:12:26 +0000 (08:12 +0200)]
re PR sanitizer/80349 (UBSAN: compile time crash with "type mismatch in binary expression" message)

PR sanitizer/80349
* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
first argument to type.

* g++.dg/ubsan/pr80349.C: New test.

From-SVN: r246865

7 years agore PR go/77857 (gccgo: vendoring doesn't work in gcc 6/7)
Ian Lance Taylor [Wed, 12 Apr 2017 04:26:15 +0000 (04:26 +0000)]
re PR go/77857 (gccgo: vendoring doesn't work in gcc 6/7)

PR go/77857
    cmd/go: generate vendor paths for -I arg on compile

    This change generates the vendor path to be used with -I
    on a gccgo compile to find imports from the vendor directories.

    Fixes golang/go#15628

    Reviewed-on: https://go-review.googlesource.com/39590

From-SVN: r246864

7 years agoDaily bump.
GCC Administrator [Wed, 12 Apr 2017 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246863

7 years agofaq.xml: Update reference link to C++ ABI for Itanium.
Gerald Pfeifer [Tue, 11 Apr 2017 22:36:40 +0000 (22:36 +0000)]
faq.xml: Update reference link to C++ ABI for Itanium.

* doc/xml/faq.xml: Update reference link to C++ ABI for Itanium.
* doc/xml/manual/abi.xml. Ditto (thrice).

From-SVN: r246860

7 years agore PR target/80376 (Some vec_xxpermdi usage lead to ICE)
Bill Schmidt [Tue, 11 Apr 2017 21:37:16 +0000 (21:37 +0000)]
re PR target/80376 (Some vec_xxpermdi usage lead to ICE)

2017-04-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/80376
PR target/80315
* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
CONST0_RTX (mode) rather than const0_rtx where appropriate.
(rs6000_expand_binop_builtin): Likewise.
(rs6000_expand_ternop_builtin): Likewise; also add missing
vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
vshasigma built-ins.
* doc/extend.texi: Document that vec_xxpermdi's third argument
must be a constant.

From-SVN: r246859

7 years agoPR c++/80294 - ICE with constexpr and inheritance.
Jason Merrill [Tue, 11 Apr 2017 21:07:32 +0000 (17:07 -0400)]
PR c++/80294 - ICE with constexpr and inheritance.

* constexpr.c (reduced_constant_expression_p):
A null constructor element is non-constant.
(cxx_eval_indirect_ref): Don't VERIFY_CONSTANT before
returning an empty base.

From-SVN: r246858

7 years agore PR c++/80370 (ICE when using structured bindings and nested generic lambdas (tsubs...
Jakub Jelinek [Tue, 11 Apr 2017 20:51:16 +0000 (22:51 +0200)]
re PR c++/80370 (ICE when using structured bindings and nested generic lambdas (tsubst_decomp_names))

PR c++/80370
* decl.c (cp_finish_decomp): If processing_template_decl on
non-dependent decl, only set TREE_TYPE on the v[i] decls, but don't
change their DECL_VALUE_EXPR nor cp_finish_decl them.  Instead make
sure DECL_VALUE_EXPR is the canonical NULL type ARRAY_REF for tsubst
processing.
* pt.c (value_dependent_expression_p) <case VAR_DECL>: For variables
with DECL_VALUE_EXPR, return true if DECL_VALUE_EXPR is type
dependent.

* g++.dg/cpp1z/decomp28.C: New test.

From-SVN: r246857

7 years agoi386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter...
Uros Bizjak [Tue, 11 Apr 2017 20:36:58 +0000 (22:36 +0200)]
i386.c (dimode_scalar_chain::compute_convert_gain): Use shift_const cost parameter when calculating gain of STV shifts.

* config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
Use shift_const cost parameter when calculating gain of STV shifts.

From-SVN: r246856

7 years agore PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack...
Vladimir Makarov [Tue, 11 Apr 2017 19:39:59 +0000 (19:39 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)

2017-04-11  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/70478
* lra-constraints.c (process_alt_operands): Check memory for
disfavoring memory insn operand.

From-SVN: r246854

7 years agore PR middle-end/80100 (simplify-rtx.c sanitizer detects undefined behaviour with...
Jakub Jelinek [Tue, 11 Apr 2017 17:21:51 +0000 (19:21 +0200)]
re PR middle-end/80100 (simplify-rtx.c sanitizer detects undefined behaviour with optimization)

PR middle-end/80100
* simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
left shift in unsigned HOST_WIDE_INT type.

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

From-SVN: r246851

7 years agore PR rtl-optimization/80385 (Segfault in commutative_operand_precedence() rtlanal...
Jakub Jelinek [Tue, 11 Apr 2017 17:19:56 +0000 (19:19 +0200)]
re PR rtl-optimization/80385 (Segfault in commutative_operand_precedence() rtlanal.c:3373)

PR rtl-optimization/80385
* simplify-rtx.c (simplify_unary_operation_1): Don't transform
(not (neg X)) into (plus X -1) for complex or non-integral modes.

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

From-SVN: r246850

7 years agore PR libgomp/80394 (Empty OpenMP task is wrongly removed when optimizing)
Jakub Jelinek [Tue, 11 Apr 2017 17:15:47 +0000 (19:15 +0200)]
re PR libgomp/80394 (Empty OpenMP task is wrongly removed when optimizing)

PR libgomp/80394
* omp-low.c (scan_omp_task): Don't optimize away empty tasks
if they have any depend clauses.

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

From-SVN: r246849

7 years agoAdd function part to a same comdat group (PR ipa/80212).
Martin Liska [Tue, 11 Apr 2017 16:38:19 +0000 (18:38 +0200)]
Add function part to a same comdat group (PR ipa/80212).

2017-04-11  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
* ipa-split.c (split_function): Create a local comdat symbol
if caller is in a comdat group.
2017-04-11  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* g++.dg/ipa/pr80212.C: New test.

From-SVN: r246848

7 years agoDo not create a constprop clone for calls_comdat_local nodes (PR ipa/80212).
Martin Liska [Tue, 11 Apr 2017 16:37:31 +0000 (18:37 +0200)]
Do not create a constprop clone for calls_comdat_local nodes (PR ipa/80212).

2017-04-11  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* ipa-cp.c (determine_versionability): Handle calls_comdat_local
flags.

From-SVN: r246847

7 years agoPR middle-end/80364 - sanitizer detects signed integer overflow in gimple-ssa-sprintf.c
Martin Sebor [Tue, 11 Apr 2017 16:35:34 +0000 (16:35 +0000)]
PR middle-end/80364 - sanitizer detects signed integer overflow in gimple-ssa-sprintf.c

gcc/ChangeLog:
PR middle-end/80364
* gimple-ssa-sprintf.c (get_int_range): Remove second argument and
always use the int type.  Use INTEGRAL_TYPE_P() rather than testing
for INTEGER_TYPE.
(directive::set_width, directive::set_precision, format_character):
Adjust.
(parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
INTEGER_TYPE.

gcc/testsuite/ChangeLog:
PR middle-end/80364
* gcc.dg/tree-ssa/builtin-sprintf-warn-16.c: New test.

From-SVN: r246846

7 years agodownload_prerequisites (md5_check): New function emulates Linux 'md5 --check' on...
Damian Rouson [Tue, 11 Apr 2017 16:34:07 +0000 (16:34 +0000)]
download_prerequisites (md5_check): New function emulates Linux 'md5 --check' on macOS.

2017-04-11  Damian Rouson  <damian@sourceryinstitute.org>

        * download_prerequisites (md5_check): New function emulates Linux
        'md5 --check' on macOS.  Modified script for macOS compatibility.

From-SVN: r246845

7 years ago[arm] PR 80389 - if architecture and cpu mismatch, don't print an architecture name...
Richard Earnshaw [Tue, 11 Apr 2017 14:57:41 +0000 (14:57 +0000)]
[arm] PR 80389 - if architecture and cpu mismatch, don't print an architecture name as a CPU name

In this PR we incorrectly print the architecture name in a .cpu
directive in the assembly file when the -mcpu and -march options
conflict (don't target the same base architecture).  In this case the
.arch overrides the .cpu directive and we should emit a .arch option.

PR target/80389
* config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch conflict,
set target->arch_name instead of target->cpu_name.

From-SVN: r246843

7 years agoclose.c: Fix white space in pointer declarations and comment formats where applicable.
Jerry DeLisle [Tue, 11 Apr 2017 14:51:25 +0000 (14:51 +0000)]
close.c: Fix white space in pointer declarations and comment formats where applicable.

2017-04-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* close.c: Fix white space in pointer declarations and comment
formats where applicable.
* fbuf.c: Likewise.
* fbuf.h: Likewise.
* format.c: Likewise.
* inquire.c: Likewise.
* intrinsics.c: Likewise.
* list_read.c: Likewise.
* lock.c: Likewise.
* open.c: Likewise.
* read.c: Likewise.
* transfer.c: Likewise.
* unit.c: Likewise.
* unix.c: Likewise.
* unix.h: Likewise.
* write.c: Likewise.

From-SVN: r246842

7 years agore PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)
Richard Biener [Tue, 11 Apr 2017 13:44:24 +0000 (13:44 +0000)]
re PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)

2017-04-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80374
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
build_zero_cst, remove fold_convertible_p check again.

From-SVN: r246840

7 years agoDo not instrument register variables in object-size sanitizer (PR sanitizer/70878).
Martin Liska [Tue, 11 Apr 2017 13:08:08 +0000 (15:08 +0200)]
Do not instrument register variables in object-size sanitizer (PR sanitizer/70878).

2017-04-11  Martin Liska  <mliska@suse.cz>

PR sanitizer/70878
* ubsan.c (instrument_object_size): Do not instrument register
variables.
2017-04-11  Martin Liska  <mliska@suse.cz>

PR sanitizer/70878
* gcc.dg/ubsan/pr70878.c: New test.

From-SVN: r246837

7 years agore PR target/80381 (AVX512: -O3, _mm512_srai_epi32, the last argument must be an...
Jakub Jelinek [Tue, 11 Apr 2017 08:54:54 +0000 (10:54 +0200)]
re PR target/80381 (AVX512: -O3, _mm512_srai_epi32, the last argument must be an 8-bit immediate)

PR target/80381
* config/i386/i386-builtin-types.def
(V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
* config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
__builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
__builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
__builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
__builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
__builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
__builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
__builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
__builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
__builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
__builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
__builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
__builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
__builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
__builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
__builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
__builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
__builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
__builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
__builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
__builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
__builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
__builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
__builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
__builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
__builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
__builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
__builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
aliases.
* config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
flag to second_arg_count, handle 4 argument function type _COUNT
aliases, handle second_arg_count on second argument rather than last.

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

From-SVN: r246835

7 years agore PR c++/80363 (#'vec_cond_expr' not supported by dump_expr#<expression error>)
Jakub Jelinek [Tue, 11 Apr 2017 08:51:40 +0000 (10:51 +0200)]
re PR c++/80363 (#'vec_cond_expr' not supported by dump_expr#<expression error>)

PR c++/80363
* error.c (dump_expr): Handle VEC_COND_EXPR like COND_EXPR.

* g++.dg/ext/pr80363.C: New test.

From-SVN: r246834

7 years agoFix pr80374 testcase
Markus Trippelsdorf [Tue, 11 Apr 2017 06:31:58 +0000 (06:31 +0000)]
Fix pr80374 testcase

From-SVN: r246832

7 years agoFix bogus builtin-sprintf-warn-{3,10}.c failures for avr.
Senthil Kumar Selvaraj [Tue, 11 Apr 2017 05:09:41 +0000 (05:09 +0000)]
Fix bogus builtin-sprintf-warn-{3,10}.c failures for avr.

This patch fixes a whole bunch of failures reported for
gcc.dg/tree-ssa/builtin-sprintf-warn-{3,10}.c for the avr target.

builtin-sprintf-warn-10.c fails because the bounds in the warning
messages expect 4 digit wide exponents i.e. __DBL_MAX_EXP__ > 999.
For the avr, floats and doubles are both 32 bits wide, __DBL_MAX_EXP__
== 128, and the max number of exponent digits can only be 3 .
The computed size thus ends up one short of the value the test
expects. The patch makes the test run only for targets with double64plus.

builtin-sprintf-warn-3.c fails because the test appears to assume all
non lp64 targets to be ilp32. For the avr, pointer size and int size
are equal, but both are 16 bits, not 32. The patch fixes this by
explicitly adding avr to the dejagnu selector.

gcc/testsuite

2017-04-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Require double64plus.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c (void test_too_large):
Add avr-*-* to non-lp64 selector.

From-SVN: r246831

7 years agoDaily bump.
GCC Administrator [Tue, 11 Apr 2017 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246830

7 years agoAdjust dg-bogus pattern to match the text of the changed diagnostic.
Martin Sebor [Mon, 10 Apr 2017 23:26:17 +0000 (17:26 -0600)]
Adjust dg-bogus pattern to match the text of the changed diagnostic.

gcc/testsuite:
* gcc.dg/pr40340-3.c: Adjust directive pattern.
* gcc.dg/pr40340-4.c: Same.

From-SVN: r246827

7 years agore PR fortran/69498 (ICE on disjunct cases with displaced or incomplete embedded...
Nicolas Koenig [Mon, 10 Apr 2017 20:58:21 +0000 (22:58 +0200)]
re PR fortran/69498 (ICE on disjunct cases with displaced or incomplete embedded statement)

2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>
            Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69498
* module.c (gfc_match_submodule): Add error
if function is called in the wrong state.

2017-04-10  Nicolas Koenig  <koenigni@student.ethz.ch>

PR fortran/69498
* gfortran.dg/submodule_unexp.f90: Modified test
to account for new error.
* gfortran.dg/submodule_twice.f90: New Test

Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>
From-SVN: r246826

7 years agore PR c++/80176 (cannot bind reference to static member function using object access...
Jakub Jelinek [Mon, 10 Apr 2017 20:49:11 +0000 (22:49 +0200)]
re PR c++/80176 (cannot bind reference to static member function using object access expression)

PR c++/80176
* tree.c (lvalue_kind): For COMPONENT_REF with BASELINK second
operand, if it is a static member function, recurse on the
BASELINK.

* g++.dg/init/ref23.C: New test.

From-SVN: r246825

7 years agore PR tree-optimization/80304 (Wrong result with do concurrent)
Thomas Koenig [Mon, 10 Apr 2017 20:40:48 +0000 (20:40 +0000)]
re PR tree-optimization/80304 (Wrong result with do concurrent)

2017-04-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR tree-optimization/80304
* gfortran.dg/do_concurrent_4.f90:  New test case.

From-SVN: r246824

7 years agore PR fortran/80046 ([F03] Explicit interface required: pointer argument)
Janus Weil [Mon, 10 Apr 2017 20:28:23 +0000 (22:28 +0200)]
re PR fortran/80046 ([F03] Explicit interface required: pointer argument)

2017-04-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80046
* expr.c (gfc_check_pointer_assign): Check if procedure pointer
components in a pointer assignment need an explicit interface.

2017-04-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80046
* gfortran.dg/proc_ptr_comp_48.f90: New test case.

From-SVN: r246823

7 years ago* g++.dg/torture/pr79905.C: Add -maltivec option.
David Edelsohn [Mon, 10 Apr 2017 19:50:33 +0000 (19:50 +0000)]
* g++.dg/torture/pr79905.C: Add -maltivec option.

From-SVN: r246820

7 years agore PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)
Jeff Law [Mon, 10 Apr 2017 19:19:42 +0000 (13:19 -0600)]
re PR tree-optimization/80374 (ICE in fold_convert_loc, at fold-const.c:2384)

PR tree-optimization/80374
* tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
record anything if we can not convert integer_zero_node to the
desired type.

PR tree-optimization/80374
* g++.dg/pr80374.c: New test.

From-SVN: r246819

7 years agore PR target/80108 (ICE in aggregate_value_p at function.c:2028)
Kelvin Nilsen [Mon, 10 Apr 2017 19:01:37 +0000 (19:01 +0000)]
re PR target/80108 (ICE in aggregate_value_p at function.c:2028)

gcc/ChangeLog:

2017-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>

PR target/80108
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Enhance special handling given to the TARGET_P9_MINMAX option in
relation to certain other options.

gcc/testsuite/ChangeLog:

2017-04-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>

PR target/80108
* gcc.target/powerpc/ppc-fortran/ppc-fortran.exp: New file.
* gcc.target/powerpc/ppc-fortran/pr80108-1.f90: New test.

From-SVN: r246818

7 years agounroll-7.c: Declare "a" as a pointer to external array.
Uros Bizjak [Mon, 10 Apr 2017 18:58:34 +0000 (20:58 +0200)]
unroll-7.c: Declare "a" as a pointer to external array.

* gcc.dg/unroll-7.c: Declare "a" as a pointer to external array.

From-SVN: r246817

7 years agore PR testsuite/79356 (XPASS in attr-alloc_size-11.c)
Uros Bizjak [Mon, 10 Apr 2017 18:51:42 +0000 (20:51 +0200)]
re PR testsuite/79356 (XPASS in attr-alloc_size-11.c)

PR testsuite/79356
* gcc.dg/attr-alloc_size-11.c: Don't xfail on alpha.

From-SVN: r246816

7 years agore PR testsuite/79867 ([cygwin] LD_LIBRARY_PATH ignored, contaminating (nearly?)...
Daniel Santos [Mon, 10 Apr 2017 17:45:35 +0000 (17:45 +0000)]
re PR testsuite/79867 ([cygwin] LD_LIBRARY_PATH ignored, contaminating (nearly?) all test results)

2017-04-10  Daniel Santos <daniel.santos@pobox.com>

PR testsuite/79867
* lib/target-libpath.exp: Merge in cygwin fix from libffi.

From-SVN: r246813

7 years agore PR sanitizer/80348 (UBSAN: compile time crash in ubsan_instrument_division)
Marek Polacek [Mon, 10 Apr 2017 17:18:15 +0000 (17:18 +0000)]
re PR sanitizer/80348 (UBSAN: compile time crash in ubsan_instrument_division)

PR sanitizer/80348
* typeck.c (cp_build_binary_op): Use NULL_TREE instead of NULL.  Set
ORIG_TYPE earlier and not only when shortening.

* g++.dg/ubsan/div-by-zero-3.C: New test.

From-SVN: r246812

7 years agore PR tree-optimization/80153 (ivopt generate wrong code)
Bin Cheng [Mon, 10 Apr 2017 16:54:14 +0000 (16:54 +0000)]
re PR tree-optimization/80153 (ivopt generate wrong code)

PR tree-optimization/80153
* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and
remove POINTER_PLUS_EXPR's base part directly, rather than through
aff_tree.

From-SVN: r246811

7 years agore PR tree-optimization/80153 (ivopt generate wrong code)
Bin Cheng [Mon, 10 Apr 2017 16:51:44 +0000 (16:51 +0000)]
re PR tree-optimization/80153 (ivopt generate wrong code)

PR tree-optimization/80153
* tree-affine.c (aff_combination_to_tree): Get base pointer from
the first element of pointer type aff_tree.  Build result expr in
aff_tree's type.
(add_elt_to_tree): Convert to type unconditionally.  Remove other
fold_convert calls.
* tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types.
(rewrite_use_nonlinear_expr): Check invariant using iv information.
gcc/testsuite
PR tree-optimization/80153
* gcc.c-torture/execute/pr80153.c: New.

From-SVN: r246810

7 years agotree-ssa-structalias.c (find_func_aliases): Properly handle asm inputs.
Richard Biener [Mon, 10 Apr 2017 15:34:19 +0000 (15:34 +0000)]
tree-ssa-structalias.c (find_func_aliases): Properly handle asm inputs.

2017-04-10  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (find_func_aliases): Properly handle
asm inputs.

From-SVN: r246809

7 years agore PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack...
Vladimir Makarov [Mon, 10 Apr 2017 14:58:33 +0000 (14:58 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)

2017-04-10  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/70478
* lra-constraints.c (curr_small_class_check): New.
(update_and_check_small_class_inputs): New.
(process_alt_operands): Update curr_small_class_check.  Disfavor
alternative insn memory operands.  Check available regs for small
class operands.

From-SVN: r246808

7 years agoUpdate MIPS -mvirt option description
Matthew Fortune [Mon, 10 Apr 2017 13:44:39 +0000 (13:44 +0000)]
Update MIPS -mvirt option description

gcc/
PR target/80057
* config/mips/mips.opt (-mvirt): Update description.
* doc/invoke.texi (-mvirt): Likewise.

From-SVN: r246807

7 years agore PR middle-end/80362 (gcc miscompiles arithmetic with signed char)
Richard Biener [Mon, 10 Apr 2017 13:02:12 +0000 (13:02 +0000)]
re PR middle-end/80362 (gcc miscompiles arithmetic with signed char)

2017-04-10  Richard Biener  <rguenther@suse.de>

PR middle-end/80362
* fold-const.c (fold_binary_loc): Look at unstripped ops when
looking for NEGATE_EXPR in -A / -B to A / B folding.

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

From-SVN: r246805

7 years agoSupport multiple files w/ -i option in gcov (PR gcov-profile/80224).
Martin Liska [Mon, 10 Apr 2017 11:37:14 +0000 (13:37 +0200)]
Support multiple files w/ -i option in gcov (PR gcov-profile/80224).

2017-04-10  Martin Liska  <mliska@suse.cz>

PR gcov-profile/80224
* gcov.c (print_usage): Fix usage string.
(get_gcov_intermediate_filename): Remove.
(output_gcov_file): Use both for normal and intermediate format.
(generate_results): Do not initialize special file for
intermediate format.

From-SVN: r246804

7 years agore PR tree-optimization/80304 (Wrong result with do concurrent)
Richard Biener [Mon, 10 Apr 2017 11:27:05 +0000 (11:27 +0000)]
re PR tree-optimization/80304 (Wrong result with do concurrent)

2017-04-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80304
* tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse
for safelen.

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

From-SVN: r246803

7 years agore PR target/79905 (ICE in canonical types differ for identical types __vector(4...
Nathan Sidwell [Mon, 10 Apr 2017 11:25:44 +0000 (11:25 +0000)]
re PR target/79905 (ICE in canonical types differ for identical types __vector(4) int and V4i {aka __vector(4) int})

PR target/79905
* config/rs6000/rs6000.c (rs6000_vector_type): New.
(rs6000_init_builtins): Use it.

PR target/79905
* g++.dg/torture/pr79905.C: New.

From-SVN: r246802

7 years ago[ARM] Add source mode to coprocessor pattern SETs
Kyrylo Tkachov [Mon, 10 Apr 2017 11:21:55 +0000 (11:21 +0000)]
[ARM] Add source mode to coprocessor pattern SETs

* config/arm/arm.md (<mrc>): Add mode to SET source.
(<mrrc>): Likewise.

From-SVN: r246801

7 years agore PR tree-optimization/80344 (-Wuninitialized triggering on a ctor on ARM)
Richard Biener [Mon, 10 Apr 2017 08:58:02 +0000 (08:58 +0000)]
re PR tree-optimization/80344 (-Wuninitialized triggering on a ctor on ARM)

2017-04-10  Richard Biener  <rguenther@suse.de>

PR middle-end/80344
* gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs.

From-SVN: r246800

7 years agoEvaluate a SAVE_EXPR before an UBSAN check (PR sanitizer/80350).
Martin Liska [Mon, 10 Apr 2017 07:29:29 +0000 (09:29 +0200)]
Evaluate a SAVE_EXPR before an UBSAN check (PR sanitizer/80350).

2017-04-10  Martin Liska  <mliska@suse.cz>

PR sanitizer/80350
* c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
doing an UBSAN check.
2017-04-10  Martin Liska  <mliska@suse.cz>

PR sanitizer/80350
* c-c++-common/ubsan/pr80350.c: New test.

From-SVN: r246799

7 years agore PR target/80324 (_mm512_reduce_xxx type instrinsics are missing)
Jakub Jelinek [Mon, 10 Apr 2017 06:53:28 +0000 (08:53 +0200)]
re PR target/80324 (_mm512_reduce_xxx type instrinsics are missing)

PR target/80324
* config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
_mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
_mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
_mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
_mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
_mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
_mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
_mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
_mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
_mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
_mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
_mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
_mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
_mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
_mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
_mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
_mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
_mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
_mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
_mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
_mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
_mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
_mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.

* gcc.target/i386/avx512f-reduce-op-1.c: New test.

From-SVN: r246798

7 years agoDaily bump.
GCC Administrator [Mon, 10 Apr 2017 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246797

7 years agoPR c++/80356 - ICE with reference to function template argument.
Jason Merrill [Sun, 9 Apr 2017 05:38:40 +0000 (01:38 -0400)]
PR c++/80356 - ICE with reference to function template argument.

PR c++/79294
* pt.c (convert_nontype_argument_function): Adjust type even with a
value-dependent argument.

From-SVN: r246794

7 years agoPR c++/80267 - ICE with nested capture of reference
Jason Merrill [Sun, 9 Apr 2017 05:06:08 +0000 (01:06 -0400)]
PR c++/80267 - ICE with nested capture of reference

PR c++/60992
* pt.c (tsubst_copy): Handle lookup finding a capture proxy.

From-SVN: r246793

7 years agoDaily bump.
GCC Administrator [Sun, 9 Apr 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246792

7 years agore PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack...
Vladimir Makarov [Sat, 8 Apr 2017 19:18:42 +0000 (19:18 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)

2017-04-08  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/70478
* lra-constraints.c: Reverse the last patch.

From-SVN: r246789

7 years agoaarch64-freebsd.h: Define MCOUNT_NAME.
Andreas Tobler [Sat, 8 Apr 2017 18:58:22 +0000 (20:58 +0200)]
aarch64-freebsd.h: Define MCOUNT_NAME.

2017-04-08  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
    Add comment for WCHAR_T.

From-SVN: r246786

7 years agoRevert r246759.
Martin Liska [Sat, 8 Apr 2017 17:09:58 +0000 (19:09 +0200)]
Revert r246759.

From-SVN: r246785

7 years agore PR rtl-optimization/80358 (ICE (cc1 killed) building glib with -O3 on powerpc64le...
Aaron Sawdey [Sat, 8 Apr 2017 16:10:26 +0000 (16:10 +0000)]
re PR rtl-optimization/80358 (ICE (cc1 killed) building glib with -O3 on powerpc64le-linux-gnu)

2017-04-08  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

PR target/80358
* config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.

From-SVN: r246784

7 years agoDaily bump.
GCC Administrator [Sat, 8 Apr 2017 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246783

7 years agors6000.c (vec_load_pendulum): Rename...
Pat Haugen [Fri, 7 Apr 2017 19:35:44 +0000 (19:35 +0000)]
rs6000.c (vec_load_pendulum): Rename...

* rs6000/rs6000.c (vec_load_pendulum): Rename...
(vec_pairing): ...to this.
(power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
(rs6000_sched_init): Adjust for name change.
(struct rs6000_sched_context): Likewise.
(rs6000_init_sched_context): Likewise.
(rs6000_set_sched_context): Likewise.

From-SVN: r246776

7 years agoavx512f-vgetmantps-2.c: Add -mfpmath=sse to dg-options.
Jakub Jelinek [Fri, 7 Apr 2017 19:23:24 +0000 (21:23 +0200)]
avx512f-vgetmantps-2.c: Add -mfpmath=sse to dg-options.

* gcc.target/i386/avx512f-vgetmantps-2.c: Add -mfpmath=sse to
dg-options.
* gcc.target/i386/avx512f-vgetmantpd-2.c: Likewise.

From-SVN: r246775

7 years agore PR target/80322 (convert intrinsics missing)
Jakub Jelinek [Fri, 7 Apr 2017 19:22:00 +0000 (21:22 +0200)]
re PR target/80322 (convert intrinsics missing)

PR target/80322
PR target/80323
PR target/80325
PR target/80326
* config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
intrinsics.
* config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
_mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
_mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.

* gcc.target/i386/avx512f-undefined-1.c: New test.
* gcc.target/i386/avx512f-cvtsd-1.c: New test.
* gcc.target/i386/avx-cvtsd-1.c: New test.
* gcc.target/i386/avx512f-cvtss-1.c: New test.
* gcc.target/i386/avx512f-abspd-1.c: New test.
* gcc.target/i386/avx-cvtss-1.c: New test.
* gcc.target/i386/avx512f-absps-1.c: New test.
* gcc.target/i386/avx512f-int2mask-1.c: New test.
* gcc.target/i386/avx512f-mask2int-1.c: New test.

From-SVN: r246774

7 years agoaarch64-freebsd.h: Define WCHAR_TYPE.
Andreas Tobler [Fri, 7 Apr 2017 18:50:11 +0000 (20:50 +0200)]
aarch64-freebsd.h: Define WCHAR_TYPE.

2017-04-07  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.

From-SVN: r246773

7 years agore PR c++/80095 (ICE with this pointer in NSDMI)
Marek Polacek [Fri, 7 Apr 2017 18:09:55 +0000 (18:09 +0000)]
re PR c++/80095 (ICE with this pointer in NSDMI)

PR c++/80095
* call.c (build_over_call): Don't check cxx_dialect.
* cp-gimplify.c (cp_gimplify_init_expr): Don't check cxx_dialect nor
whether SUB is a CONSTRUCTOR.
* init.c (build_new_1): Don't check cxx_dialect.
* tree.c (replace_placeholders): Add a function comment.  Return if
not in C++14, or if the object isn't a (member of a) class.
* typeck2.c (store_init_value): Don't check cxx_dialect nor whether
TYPE is CLASS_TYPE_P.

* g++.dg/cpp1y/nsdmi-aggr8.C: New test.

From-SVN: r246772

7 years agore PR sanitizer/80348 (UBSAN: compile time crash in ubsan_instrument_division)
Marek Polacek [Fri, 7 Apr 2017 17:51:55 +0000 (17:51 +0000)]
re PR sanitizer/80348 (UBSAN: compile time crash in ubsan_instrument_division)

PR sanitizer/80348
* typeck.c (cp_build_binary_op): Convert COP[01] to ORIG_TYPE.

* g++.dg/ubsan/div-by-zero-2.C: New test.

From-SVN: r246770

7 years agoMakefile.in: Swap definition of LIBGCC_LINKS and inclusion of target makefile fragment.
Jeff Law [Fri, 7 Apr 2017 16:11:57 +0000 (10:11 -0600)]
Makefile.in: Swap definition of LIBGCC_LINKS and inclusion of target makefile fragment.

* Makefile.in: Swap definition of LIBGCC_LINKS and inclusion of
target makefile fragment.
* config/sh/t-sh (unwind-dw2-Os-4-200.o): Depend on LIBGCC_LINKS.

From-SVN: r246766

7 years agore PR rtl-optimization/70703 (Regression in register usage on x86)
Vladimir Makarov [Fri, 7 Apr 2017 16:06:28 +0000 (16:06 +0000)]
re PR rtl-optimization/70703 (Regression in register usage on x86)

2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/70703
* ira-color.c (update_conflict_hard_regno_costs): Use
int64_t instead of HOST_WIDE_INT.

From-SVN: r246765

7 years agore PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack...
Vladimir Makarov [Fri, 7 Apr 2017 16:01:50 +0000 (16:01 +0000)]
re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)

2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/70478
* lra-constraints.c (process_alt_operands): Disfavor alternative
insn memory operands.

2017-04-07  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/70478
* gcc.target/s390/pr70478.c: New.

From-SVN: r246764

7 years agoiq2000.c (final_prescan_insn): Do not separate a CALL and NOTE_INSN_CALL_ARG_LOCATION.
Jeff Law [Fri, 7 Apr 2017 14:26:05 +0000 (08:26 -0600)]
iq2000.c (final_prescan_insn): Do not separate a CALL and NOTE_INSN_CALL_ARG_LOCATION.

* config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
CALL and NOTE_INSN_CALL_ARG_LOCATION.

From-SVN: r246761

7 years agoError message on target attribute on aarch64 target (PR target/79889).
Martin Liska [Fri, 7 Apr 2017 11:20:01 +0000 (13:20 +0200)]
Error message on target attribute on aarch64 target (PR target/79889).

2017-04-07  Martin Liska  <mliska@suse.cz>

PR target/79889
* g++.dg/ext/mv8.C: Add aarch64* targets.
2017-04-07  Martin Liska  <mliska@suse.cz>

PR target/79889
* config/aarch64/aarch64.c (aarch64_process_target_attr):
Show error message instead of an ICE.

From-SVN: r246760

7 years agoAdd function part to a same comdat group (PR ipa/80212).
Martin Liska [Fri, 7 Apr 2017 10:36:21 +0000 (12:36 +0200)]
Add function part to a same comdat group (PR ipa/80212).

2017-04-07  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* g++.dg/ipa/pr80212.C: New test.
2017-04-07  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* ipa-split.c (split_function): Add function part to a same comdat
group.

From-SVN: r246759

7 years ago[testsuite] Require c99_runtime for pr79800.c
Thomas Preud'homme [Fri, 7 Apr 2017 09:44:33 +0000 (09:44 +0000)]
[testsuite] Require c99_runtime for pr79800.c

2017-04-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.dg/tree-ssa/pr79800.c: Require c99_runtime.

From-SVN: r246758

7 years agore PR tree-optimization/80334 (Segfault when taking address of copy of unaligned...
Richard Biener [Fri, 7 Apr 2017 08:47:43 +0000 (08:47 +0000)]
re PR tree-optimization/80334 (Segfault when taking address of copy of unaligned struct)

2017-04-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80334
* g++.dg/torture/pr80334.C: Use __BIGGEST_ALIGNMENT__ for
alignas on stack.

From-SVN: r246757

7 years agore PR middle-end/80341 (gcc miscompiles division of signed char)
Richard Biener [Fri, 7 Apr 2017 08:20:24 +0000 (08:20 +0000)]
re PR middle-end/80341 (gcc miscompiles division of signed char)

2017-04-07  Richard Biener  <rguenther@suse.de>

PR middle-end/80341
* tree.c (get_unwidened): Also handle ! for_type case for
INTEGER_CSTs.
* convert.c (do_narrow): Split out from ...
(convert_to_integer_1): ... here.  Do not pass final truncation
type to get_unwidened for TRUNC_DIV_EXPR.

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

From-SVN: r246756

7 years agotree-affine.c (wide_int_ext_for_comb): Take type rather than aff_tree.
Richard Biener [Fri, 7 Apr 2017 08:04:32 +0000 (08:04 +0000)]
tree-affine.c (wide_int_ext_for_comb): Take type rather than aff_tree.

2017-04-07  Richard Biener  <rguenther@suse.de>

* tree-affine.c (wide_int_ext_for_comb): Take type rather
than aff_tree.
(aff_combination_const): Adjust.
(aff_combination_scale): Likewise.
(aff_combination_add_elt): Likewise.
(aff_combination_add_cst): Likewise.
(aff_combination_convert): Likewise.
(add_elt_to_tree): Likewise.  Remove unused argument.
(aff_combination_to_tree): Adjust calls to add_elt_to_tree.

From-SVN: r246755

7 years agoARM: Introduce ARM_DEFAULT_SHORT_ENUMS
Sebastian Huber [Fri, 7 Apr 2017 07:02:07 +0000 (07:02 +0000)]
ARM: Introduce ARM_DEFAULT_SHORT_ENUMS

Allow targets to define the default for the short enums option.

gcc/

* config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
definition.
* config/arm/arm.c (arm_default_short_enums): Use
ARM_DEFAULT_SHORT_ENUMS.
* config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.

From-SVN: r246753

7 years ago[RS6000] Out-of-line register save functions can't be used from crtend.o
Alan Modra [Fri, 7 Apr 2017 01:30:43 +0000 (11:00 +0930)]
[RS6000] Out-of-line register save functions can't be used from crtend.o

PR target/45053
* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2.

From-SVN: r246749

7 years agoDaily bump.
GCC Administrator [Fri, 7 Apr 2017 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r246748

7 years agore PR debug/80234 (ICE in splice_child_die at dwarfout.c:5265)
Jakub Jelinek [Thu, 6 Apr 2017 20:46:29 +0000 (22:46 +0200)]
re PR debug/80234 (ICE in splice_child_die at dwarfout.c:5265)

PR debug/80234
* dwarf2out.c (gen_member_die): Handle C++17 inline static data
members with redundant out-of-class redeclaration.

* g++.dg/debug/dwarf2/pr80234-1.C: New test.
* g++.dg/debug/dwarf2/pr80234-2.C: New test.

From-SVN: r246743

7 years agore PR target/80286 (AVX2 _mm_cvtsi128_si32 doesn't return a proper 32bits int)
Uros Bizjak [Thu, 6 Apr 2017 19:22:02 +0000 (21:22 +0200)]
re PR target/80286 (AVX2 _mm_cvtsi128_si32 doesn't return a proper 32bits int)

PR target/80286
* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
* config/i386/i386.md (*zero_extendsidi2):
Add (?*x,*x) and (?*v,*v) alternatives.

From-SVN: r246741

7 years agore PR target/79733 (ICE in int_mode_for_mode, at stor-layout.c:406)
Uros Bizjak [Thu, 6 Apr 2017 18:49:43 +0000 (20:49 +0200)]
re PR target/79733 (ICE in int_mode_for_mode, at stor-layout.c:406)

PR target/79733
* config/i386/i386.c (ix86_expand_builtin)
<case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
mode from insn data. Convert operands to insn operand mode.
Copy operands that don't satisfy insn predicate to a register.

testsuite/ChangeLog:

PR target/79733
* gcc.target/i386/pr79733.c: New test.

From-SVN: r246739

7 years agore PR target/80298 (<x86intrin.h> incompatible with -mno-sse)
Uros Bizjak [Thu, 6 Apr 2017 18:34:18 +0000 (20:34 +0200)]
re PR target/80298 (<x86intrin.h> incompatible with -mno-sse)

PR target/80298
* gcc.target/i386/pr80298-1.c: New test.
* gcc.target/i386/pr80298-2.c: Ditto.

From-SVN: r246737

7 years agox-aix: Increase memory limit for genautomata on AIX.
Sam Thursfield [Thu, 6 Apr 2017 16:56:49 +0000 (16:56 +0000)]
x-aix: Increase memory limit for genautomata on AIX.

2017-04-06  Sam Thursfield  <sam.thursfield@codethink.co.uk>

* config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
Update comments.

From-SVN: r246735

7 years ago[ARM] Compile atomic_loaddi_11 for Cortex-R5
Thomas Preud'homme [Thu, 6 Apr 2017 14:53:22 +0000 (14:53 +0000)]
[ARM] Compile atomic_loaddi_11 for Cortex-R5

2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com

    gcc/testsuite/
    PR target/80082
    * gcc.target/arm/atomic_loaddi_11.c: Target Cortex-R5 instead of
    ARMv7-R.

From-SVN: r246733

7 years agore PR tree-optimization/80334 (Segfault when taking address of copy of unaligned...
Richard Biener [Thu, 6 Apr 2017 13:56:35 +0000 (13:56 +0000)]
re PR tree-optimization/80334 (Segfault when taking address of copy of unaligned struct)

2017-04-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/80334
* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
preserve alignment of accesses.

* g++.dg/torture/pr80334.C: New testcase.

From-SVN: r246731

7 years agoCherry-pick upstream r299036 from libsanitizer (PR sanitizer/80166).
Martin Liska [Thu, 6 Apr 2017 13:42:24 +0000 (15:42 +0200)]
Cherry-pick upstream r299036 from libsanitizer (PR sanitizer/80166).

2017-04-06  Martin Liska  <mliska@suse.cz>

PR sanitizer/80166
* sanitizer_common/sanitizer_common_interceptors.inc (INTERCEPTOR):
Cherry-pick upstream r299036.
2017-04-06  Martin Liska  <mliska@suse.cz>

PR sanitizer/80166
* gcc.dg/asan/pr80166.c: New test.

From-SVN: r246730