gcc.git
7 years agore PR rtl-optimization/70703 (Regression in register usage on x86)
Vladimir Makarov [Wed, 5 Apr 2017 15:07:51 +0000 (15:07 +0000)]
re PR rtl-optimization/70703 (Regression in register usage on x86)

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

PR rtl-optimization/70703
* ira-color.c (update_costs_from_allocno): Use the smallest mode.
(update_conflict_hard_regno_costs): Use long instead of unsigned
arithmetic for cost calculation.

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

PR rtl-optimization/70703
* gcc.target/i386/pr70703.c: New.

From-SVN: r246707

7 years agore PR sanitizer/80308 (asan crash on big-endian powerpc-linux target)
Jakub Jelinek [Wed, 5 Apr 2017 13:17:15 +0000 (15:17 +0200)]
re PR sanitizer/80308 (asan crash on big-endian powerpc-linux target)

PR sanitizer/80308
* asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
for big endian.

* c-c++-common/asan/pr80308.c: New test.

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

7 years agore PR target/78002 (gcc.target/aarch64/stack-checking.c ICEs with -mabi=ilp32)
Eric Botcazou [Wed, 5 Apr 2017 11:48:02 +0000 (11:48 +0000)]
re PR target/78002 (gcc.target/aarch64/stack-checking.c ICEs with -mabi=ilp32)

PR target/78002
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
ptr_mode with Pmode throughout.
* config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
into probe_stack_range and use DImode.

From-SVN: r246702

7 years agoPR target/79890: S/390: Fix crash.
Dominik Vogt [Wed, 5 Apr 2017 08:28:18 +0000 (08:28 +0000)]
PR target/79890: S/390: Fix crash.

builtin_eh_return requires the return address to be saved on the
stack.  The patch prevents using an FPR for that.

gcc/ChangeLog:

2017-04-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>

PR target/79890
* config/s390/s390.c (s390_register_info_gprtofpr): Return if
call_eh_return is true.

gcc/testsuite/ChangeLog:

2017-04-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>

PR target/79890
* gcc.target/s390/pr79890.c: New test case.

From-SVN: r246701

7 years agoS/390: Initialize variable to avoid warning
Andreas Krebbel [Wed, 5 Apr 2017 08:24:34 +0000 (08:24 +0000)]
S/390: Initialize variable to avoid warning

gcc/ChangeLog:

2017-04-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390-c.c (s390_resolve_overloaded_builtin):
Initialize last_match_fntype_index.

From-SVN: r246700

7 years agore PR target/80310 (Bogus -Wpsabi warning with -fsanitize=signed-integer-overflow)
Jakub Jelinek [Wed, 5 Apr 2017 05:25:18 +0000 (07:25 +0200)]
re PR target/80310 (Bogus -Wpsabi warning with -fsanitize=signed-integer-overflow)

PR target/80310
* tree-nvr.c: Include internal-fn.h.
(pass_return_slot::execute): Ignore internal calls without
direct optab.

* c-c++-common/ubsan/pr80310.c: New test.

From-SVN: r246699

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

From-SVN: r246698

7 years agore PR go/80302 (FAIL: time on systems with tzdata2017b installed)
Ian Lance Taylor [Tue, 4 Apr 2017 19:37:22 +0000 (19:37 +0000)]
re PR go/80302 (FAIL: time on systems with tzdata2017b installed)

PR go/80302
    time: make the ParseInLocation test more robust

    This is a backport of https://golang.org/cl/37964 from the gc toolchain.

    Original description:

        The tzdata 2017a update (2017-02-28) changed the abbreviation of the
        Asia/Baghdad time zone (used in TestParseInLocation) from 'AST' to the
        numeric '+03'.

        Update the test so that it skips the checks if we're using a recent
        tzdata release.

    Updates golang/go#19457
    Fixes GCC PR 80302.

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

From-SVN: r246695

7 years agore PR c++/80297 (Compiler time crash: type mismatch in binary expression)
Jakub Jelinek [Tue, 4 Apr 2017 19:14:47 +0000 (21:14 +0200)]
re PR c++/80297 (Compiler time crash: type mismatch in binary expression)

PR c++/80297
* genmatch.c (capture::gen_transform): For GENERIC unshare_expr
captures used multiple times, except for the last use.
* generic-match-head.c: Include gimplify.h.

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

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r246693

7 years agore PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)
Jakub Jelinek [Tue, 4 Apr 2017 17:52:27 +0000 (19:52 +0200)]
re PR tree-optimization/79390 (10% performance drop in SciMark2 LU after r242550)

PR tree-optimization/79390
* target.h (struct noce_if_info): Declare.
* targhooks.h (default_noce_conversion_profitable_p): Declare.
* target.def (noce_conversion_profitable_p): New target hook.
* ifcvt.h (struct noce_if_info): New type, moved from ...
* ifcvt.c (struct noce_if_info): ... here.
(noce_conversion_profitable_p): Renamed to ...
(default_noce_conversion_profitable_p): ... this.  No longer
static nor inline.
(noce_try_store_flag_constants, noce_try_addcc,
noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p
instead of noce_conversion_profitable_p.
* config/i386/i386.c: Include ifcvt.h.
(ix86_option_override_internal): Don't override
PARAM_MAX_RTL_IF_CONVERSION_INSNS default.
(ix86_noce_conversion_profitable_p): New function.
(TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine.
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment.
* doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add.
* doc/tm.texi: Regenerated.

* gcc.target/i386/pr79390.c: New test.
* gcc.dg/ifcvt-4.c: Use -mtune-ctrl=^one_if_conv_insn for i?86/x86_64.

From-SVN: r246686

7 years agoextend.texi (PowerPC AltiVec Built-in Functions): Grammar correction.
Bill Schmidt [Tue, 4 Apr 2017 16:31:58 +0000 (16:31 +0000)]
extend.texi (PowerPC AltiVec Built-in Functions): Grammar correction.

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

* doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar
correction.

From-SVN: r246684

7 years agore PR c++/80296 (Broken diagnostic 'unary_plus_expr' not supported by expression)
Volker Reichelt [Tue, 4 Apr 2017 16:30:44 +0000 (16:30 +0000)]
re PR c++/80296 (Broken diagnostic 'unary_plus_expr' not supported by expression)

        PR c++/80296
        * cxx-pretty-print.c (cxx_pretty_printer::expression): Add
        UNARY_PLUS_EXPR case.

        * g++.dg/cpp0x/alias-decl-80296.C: New test.

From-SVN: r246683

7 years ago[ARM] Fix small multiply feature
Thomas Preud'homme [Tue, 4 Apr 2017 16:24:18 +0000 (16:24 +0000)]
[ARM] Fix small multiply feature

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

    gcc/
    PR target/80307
    * config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32
    instructions for small multiply cores.

    gcc/testsuite/
    PR target/80307
    * gcc.target/arm/small-multiply-m0-1.c: Do not skip test if not
    targeting any CPU or architecture.
    * gcc.target/arm/small-multiply-m0-2.c: Likewise.
    * gcc.target/arm/small-multiply-m0-3.c: Likewise.
    * gcc.target/arm/small-multiply-m0plus-1.c: Likewise.
    * gcc.target/arm/small-multiply-m0plus-2.c: Likewise.
    * gcc.target/arm/small-multiply-m0plus-3.c: Likewise.
    * gcc.target/arm/small-multiply-m1-1.c: Likewise.
    * gcc.target/arm/small-multiply-m1-2.c: Likewise.
    * gcc.target/arm/small-multiply-m1-3.c: Likewise.

From-SVN: r246682

7 years agomips.c (mips_multi_add): Zero initialize the newly added member.
Jeff Law [Tue, 4 Apr 2017 15:30:30 +0000 (09:30 -0600)]
mips.c (mips_multi_add): Zero initialize the newly added member.

* config/mips/mips.c (mips_multi_add): Zero initialize the newly
added member.
(mips_expand_vec_perm_const): Initialize elements in orig_perm
that are not set by the loop over the elements.

From-SVN: r246681

7 years ago* semantics.c (finish_template_type): Check CLASSTYPE_TEMPLATE_INFO.
Jason Merrill [Tue, 4 Apr 2017 15:25:21 +0000 (11:25 -0400)]
* semantics.c (finish_template_type): Check CLASSTYPE_TEMPLATE_INFO.

From-SVN: r246680

7 years ago[multiple changes]
Nicolas Koenig [Tue, 4 Apr 2017 13:41:41 +0000 (15:41 +0200)]
[multiple changes]

2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
PR fortran/69498
* symbol.c (gfc_delete_symtree): If there is a period in the name, ignore
everything before it.

2017-03-18  Nicolas Koenig  <koenigni@student.ethz.ch>
PR fortran/69498
* gfortran.dg/submodule_unexp.f90: New test.

From-SVN: r246679

7 years ago[Ada][S/390] Fix Memory_Size definition.
Andreas Krebbel [Tue, 4 Apr 2017 11:45:37 +0000 (11:45 +0000)]
[Ada][S/390] Fix Memory_Size definition.

-m31 -mzarch uses 64 as word size instead of 32.  This must not affect
the Address type definition which is based on Memory_Size.

gcc/ada/ChangeLog:

2017-04-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* system-linux-s390.ads: Use Long_Integer'Size to define
Memory_Size.

From-SVN: r246678

7 years ago* ansidecl.h (ATTRIBUTE_PACKED): Fix typo in comment.
Jonathan Wakely [Tue, 4 Apr 2017 11:19:47 +0000 (12:19 +0100)]
* ansidecl.h (ATTRIBUTE_PACKED): Fix typo in comment.

From-SVN: r246677

7 years agore PR target/80286 (AVX2 _mm_cvtsi128_si32 doesn't return a proper 32bits int)
Jakub Jelinek [Tue, 4 Apr 2017 10:45:55 +0000 (12:45 +0200)]
re PR target/80286 (AVX2 _mm_cvtsi128_si32 doesn't return a proper 32bits int)

PR target/80286
* config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
int mode, convert_modes it to mode as unsigned, otherwise use
lowpart_subreg to mode rather than SImode.
* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
Use DImode instead of SImode for the shift count operand.
* config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
Likewise.
testsuite/
* gcc.target/i386/avx-pr80286.c: New test.
* gcc.dg/pr80286.c: New test.

From-SVN: r246676

7 years agore PR libgomp/79876 (FAIL: libgomp.fortran/strassen.f90 -O execution test on x86_6...
Jakub Jelinek [Tue, 4 Apr 2017 10:41:33 +0000 (12:41 +0200)]
re PR libgomp/79876 (FAIL: libgomp.fortran/strassen.f90   -O  execution test on x86_64-apple-darwin16)

PR libgomp/79876
* config/posix/thread-stacksize.h: New file.
* config/darwin/thread-stacksize.h: New file.
* config/nvptx/thread-stacksize.h: New file.
* env.c: Include thread-stacksize.h.
(initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
instead of 0.  Call pthread_attr_setstacksize even if
GOMP_DEFAULT_STACKSIZE is non-zero.

From-SVN: r246675

7 years agore PR tree-optimization/80281 (Wrong constant folding)
Richard Biener [Tue, 4 Apr 2017 09:06:04 +0000 (09:06 +0000)]
re PR tree-optimization/80281 (Wrong constant folding)

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

PR middle-end/80281
* match.pd (A + (-B) -> A - B): Make sure to preserve unsigned
arithmetic done for the negate or the plus.  Simplify.
(A - (-B) -> A + B): Likewise.
* fold-const.c (split_tree): Make sure to not negate pointers.

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

From-SVN: r246674

7 years agore PR tree-optimization/80275 (Poor (but valid) code generated by optimizer passing...
Richard Biener [Tue, 4 Apr 2017 06:58:45 +0000 (06:58 +0000)]
re PR tree-optimization/80275 (Poor (but valid) code generated by optimizer passing optimizer list to function)

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

PR tree-optimization/80275
* g++.dg/opt/pr80275.C: Make g static.

From-SVN: r246671

7 years ago* sem_ch3.adb (Build_Derived_Record_Type): Fix long line.
Eric Botcazou [Tue, 4 Apr 2017 06:33:33 +0000 (06:33 +0000)]
* sem_ch3.adb (Build_Derived_Record_Type): Fix long line.

From-SVN: r246670

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

From-SVN: r246669

7 years agosimplify-rtx: Fix compare of comparisons (PR60818)
Segher Boessenkool [Tue, 4 Apr 2017 00:10:02 +0000 (02:10 +0200)]
simplify-rtx: Fix compare of comparisons (PR60818)

The function simplify_binary_operation_1 has code that does
/* Convert (compare (gt (flags) 0) (lt (flags) 0)) to (flags).  */
but this transformation is only valid if "flags" has the same machine
mode as the outer compare.  This fixes it.

PR rtl-optimization/60818
* simplify-rtx.c (simplify_binary_operation_1): Do not replace
a compare of comparisons with the thing compared if this results
in a different machine mode.

gcc/testsuite/
PR rtl-optimization/60818
* gcc.c-torture/compile/pr60818.c: New testcase.

From-SVN: r246666

7 years agoFix numerous typos in comments
Jonathan Wakely [Mon, 3 Apr 2017 22:30:56 +0000 (23:30 +0100)]
Fix numerous typos in comments

gcc:

* alias.c (base_alias_check): Fix typo in comment.
* cgraph.h (class ipa_polymorphic_call_context): Likewise.
* cgraphunit.c (symbol_table::compile): Likewise.
* collect2.c (maybe_run_lto_and_relink): Likewise.
* config/arm/arm.c (arm_thumb1_mi_thunk): Likewise.
* config/avr/avr-arch.h (avr_arch_info_t): Likewise.
* config/avr/avr.c (avr_map_op_t): Likewise.
* config/cr16/cr16.h (DATA_ALIGNMENT): Likewise.
* config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise.
* config/epiphany/epiphany.md (movcc): Likewise.
* config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise.
* config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue):
Likewise.
* config/mips/mips.c (mips_save_restore_reg): Likewise.
* config/rx/rx.c (rx_is_restricted_memory_address): Likewise.
* config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise.
* config/sh/sh.c (sh_rtx_costs): Likewise.
* fold-const.c (fold_truth_andor): Likewise.
* genautomata.c (collapse_flag): Likewise.
* gengtype.h (struct type::u::s): Likewise.
* gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise.
* input.c (FORMAT_AMOUNT): Likewise.
* ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector)
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise.
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
* loop-unroll.c (analyze_insn_to_expand_var): Likewise.
* lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos):
Likewise.
* modulo-sched.c (apply_reg_moves): Likewise.
* omp-expand.c (build_omp_regions_1): Likewise.
* trans-mem.c (struct tm_wrapper_hasher): Likewise.
* tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise.
* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
* value-prof.c: Likewise.
* var-tracking.c (val_reset): Likewise.

gcc/ada:

* doc/gnat_ugn/gnat_and_program_execution.rst: Fix typo.
* g-socket.adb (To_Host_Entry): Fix typo in comment.
* gnat_ugn.texi: Fix typo.
* raise.c (_gnat_builtin_longjmp): Fix capitalization in comment.
* s-stposu.adb (Allocate_Any_Controlled): Fix typo in comment.
* sem_ch3.adb (Build_Derived_Record_Type): Likewise.
* sem_util.adb (Mark_Coextensions): Likewise.
* sem_util.ads (Available_Full_View_Of_Component): Likewise.

gcc/c:

* c-array-notation.c: Fix typo in comment.

gcc/c-family:

* c-warn.c (do_warn_double_promotion): Fix typo in comment.

gcc/cp:

        * class.c (update_vtable_entry_for_fn): Fix typo in comment.
* decl2.c (one_static_initialization_or_destruction): Likewise.
* name-lookup.c (store_bindings): Likewise.
* parser.c (make_call_declarator): Likewise.
* pt.c (check_explicit_specialization): Likewise.

gcc/testsuite:

* g++.old-deja/g++.benjamin/scope02.C: Fix typo in comment.
* gcc.dg/20031012-1.c: Likewise.
* gcc.dg/ipa/ipcp-1.c: Likewise.
* gcc.dg/torture/matrix-3.c: Likewise.
* gcc.target/powerpc/ppc-spe.c: Likewise.
* gcc.target/rx/zero-width-bitfield.c: Likewise.

libcpp:

* include/line-map.h (LINEMAPS_MACRO_MAPS): Fix typo in comment.
* lex.c (search_line_fast): Likewise.
* pch.h (cpp_valid_state): Likewise.

libdecnumber:

* decCommon.c (decFloatFromPackedChecked): Fix typo in comment.
* decNumber.c (decNumberPower, decMultiplyOp): Likewise.

libgcc:

* config/c6x/pr-support.c (__gnu_unwind_execute): Fix typo in comment.

libitm:

* libitm_i.h (sutrct gtm_thread): Fix typo in comment.

From-SVN: r246664

7 years agoPR sanitizer/79993 - ICE with VLA initialization from string
Jason Merrill [Mon, 3 Apr 2017 21:15:36 +0000 (17:15 -0400)]
PR sanitizer/79993 - ICE with VLA initialization from string

PR c++/69487 - wrong VLA initialization from string
* init.c (finish_length_check): Split out from build_vec_init.
(build_vec_init): Handle STRING_CST.
* typeck2.c (split_nonconstant_init): Handle STRING_CST.
(digest_init_r): Don't give a STRING_CST VLA type.

From-SVN: r246662

7 years agoRemove duplicated entry in C++17 library status table
Jonathan Wakely [Mon, 3 Apr 2017 18:58:32 +0000 (19:58 +0100)]
Remove duplicated entry in C++17 library status table

* doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry.
* doc/html/*: Regenerate.

From-SVN: r246661

7 years agoUncomment std::reference_wrapper tests that no longer fail
Jonathan Wakely [Mon, 3 Apr 2017 17:16:11 +0000 (18:16 +0100)]
Uncomment std::reference_wrapper tests that no longer fail

* testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
that no longer fail.

From-SVN: r246658

7 years agoFix comments in libstdc++ header and test
Jonathan Wakely [Mon, 3 Apr 2017 17:16:06 +0000 (18:16 +0100)]
Fix comments in libstdc++ header and test

* include/bits/ios_base.h: Correct comment.
* testsuite/util/testsuite_hooks.h: Likewise.

From-SVN: r246657

7 years agoUpdate C++17 library status table in manual
Jonathan Wakely [Mon, 3 Apr 2017 17:16:01 +0000 (18:16 +0100)]
Update C++17 library status table in manual

* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
* doc/xml/manual/appendix_contributing.xml (contrib.organization): Add
directories for debug, parallel and profile headers.
* doc/html/*: Regenerate.

From-SVN: r246656

7 years agoImplement P0426R1 "Constexpr for std::char_traits" for C++17 (partial)
Jonathan Wakely [Mon, 3 Apr 2017 17:15:53 +0000 (18:15 +0100)]
Implement P0426R1 "Constexpr for std::char_traits" for C++17 (partial)

* include/bits/char_traits.h (__gnu_cxx::char_traits): Add
_GLIBCXX14_CONSTEXPR on assign, compare, find, and length.
(std::char_traits<char>, std::char_traits<wchar_t>): Add
_GLIBCXX17_CONSTEXPR on assign.
(std::char_traits<char16_t>, std::char_traits<char32_t>): Add
_GLIBCXX17_CONSTEXPR on assign, compare, find, and length.
* testsuite/21_strings/char_traits/requirements/
constexpr_functions_c++17.cc: New test.

From-SVN: r246655

7 years agore PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong types)
Peter Bergner [Mon, 3 Apr 2017 17:10:57 +0000 (12:10 -0500)]
re PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong types)

PR target/80246
* gcc.target/powerpc/dfp-builtin-1.c: Require hard_dfp, not
powerpc_vsx_ok.
(std, ld): Limit scan-assembler-times check to lp64.
(stwu, stw, lwz): Add scan-assembler-times check for ilp32.
* gcc.target/powerpc/dfp-builtin-2.c: Require hard_dfp, not
powerpc_vsx_ok.

From-SVN: r246654

7 years agore PR libstdc++/79141 (std::pair<int,int> p = {}; fails to compile due to ambiguous...
Ville Voutilainen [Mon, 3 Apr 2017 16:30:58 +0000 (19:30 +0300)]
re PR libstdc++/79141 (std::pair<int,int> p = {}; fails to compile due to ambiguous overload)

PR libstdc++/79141
* include/bits/stl_pair.h (__nonesuch_no_braces): New.
(operator=(typename conditional<
__and_<is_copy_assignable<_T1>,
is_copy_assignable<_T2>>::value,
const pair&, const __nonesuch&>::type)): Change __nonesuch
to __nonesuch_no_braces.
(operator=(typename conditional<
__not_<__and_<is_copy_assignable<_T1>,
is_copy_assignable<_T2>>>::value,
const pair&, const __nonesuch&>::type)): Likewise.
(operator=(typename conditional<
__and_<is_move_assignable<_T1>,
is_move_assignable<_T2>>::value,
pair&&, __nonesuch&&>::type)): Likewise.
* testsuite/20_util/pair/79141.cc: New.

From-SVN: r246653

7 years agore PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong types)
Peter Bergner [Mon, 3 Apr 2017 16:15:00 +0000 (11:15 -0500)]
re PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong types)

PR target/80246
* gcc.target/powerpc/pr80246.c: Require hard_dfp.

From-SVN: r246652

7 years agoImplement std::is_aggregate.
Ville Voutilainen [Mon, 3 Apr 2017 15:57:06 +0000 (18:57 +0300)]
Implement std::is_aggregate.

* include/std/type_traits (is_aggregate, is_aggregate_v): New.
* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
New.
* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_aggregate/value.cc: Likewise.

From-SVN: r246651

7 years agore PR tree-optimization/80275 (Poor (but valid) code generated by optimizer passing...
Richard Biener [Mon, 3 Apr 2017 12:22:22 +0000 (12:22 +0000)]
re PR tree-optimization/80275 (Poor (but valid) code generated by optimizer passing optimizer list to function)

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

PR tree-optimization/80275
* fold-const.c (split_address_to_core_and_offset): Handle
POINTER_PLUS_EXPR.

* g++.dg/opt/pr80275.C: New testcase.

From-SVN: r246648

7 years agotree-nested.c (get_descriptor_type): Make sure that the alignment of descriptors...
Eric Botcazou [Mon, 3 Apr 2017 11:02:59 +0000 (11:02 +0000)]
tree-nested.c (get_descriptor_type): Make sure that the alignment of descriptors is at least equal to that of functions.

* tree-nested.c (get_descriptor_type): Make sure that the alignment of
descriptors is at least equal to that of functions.

From-SVN: r246646

7 years agoDon't xfail on s390.
Dominik Vogt [Mon, 3 Apr 2017 10:57:41 +0000 (10:57 +0000)]
Don't xfail on s390.

The attached patch removes the XFAIL in attr-alloc_size-11.c on
s390.  (PR 79356).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79356

gcc/testsuite/ChangeLog:

2017-04-03  Dominik Vogt  <vogt@linux.vnet.ibm.com>

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

From-SVN: r246645

7 years agoFix s390 testcase vcond-shift
Robin Dapp [Mon, 3 Apr 2017 10:54:38 +0000 (10:54 +0000)]
Fix s390 testcase vcond-shift

This patch fixes the vcond shift testcase that failed since setting
PARAM_MIN_VECT_LOOP_BOUND in the s390 backend.

gcc/testsuite/ChangeLog:

2017-04-03  Robin Dapp  <rdapp@linux.vnet.ibm.com>

* gcc.target/s390/vector/vcond-shift.c (foo, foo2, foo3, baz, baf)
(bal): Increase iteration count and assume alignment.

From-SVN: r246644

7 years agopr71347.c: Add predcom and drop XFAILs.
Bin Cheng [Mon, 3 Apr 2017 10:08:46 +0000 (10:08 +0000)]
pr71347.c: Add predcom and drop XFAILs.

gcc/testsuite
* gcc.dg/tree-ssa/pr71347.c: Add predcom and drop XFAILs.

From-SVN: r246643

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

From-SVN: r246642

7 years agonested-3.c: New testcase.
Andrew Pinski [Sun, 2 Apr 2017 22:13:51 +0000 (22:13 +0000)]
nested-3.c: New testcase.

2017-04-02  Andrew Pinski  <apinski@cavium.com>

        * gcc.c-torture/compile/nested-3.c: New testcase.
        * gcc.c-torture/execute/20170401-1.c: New testcase.
        * gcc.c-torture/execute/20170401-2.c: New testcase.

From-SVN: r246639

7 years agosse.md (movdi_to_sse): Add missing DONE.
Uros Bizjak [Sun, 2 Apr 2017 19:07:58 +0000 (21:07 +0200)]
sse.md (movdi_to_sse): Add missing DONE.

* config/i386/sse.md (movdi_to_sse): Add missing DONE.

From-SVN: r246638

7 years agore PR target/80250 (ICE in in final_scan_insn, at final.c:3025 for __builtin_ia32_vp4...
Uros Bizjak [Sun, 2 Apr 2017 18:19:02 +0000 (20:19 +0200)]
re PR target/80250 (ICE in in final_scan_insn, at final.c:3025 for __builtin_ia32_vp4dpwssds_mask builtin)

PR target/80250
* config/i386/sse.md (mov<IMOD4:mode>): Remove insn pattern.
(mov<IMOD4:mode>): New expander.
(*mov<IMOD4:mode>_internal): New insn and split pattern.

From-SVN: r246637

7 years agossp.c (__guard_setup): Suppress unused variable warning.
Jonathan Yong [Sun, 2 Apr 2017 00:35:58 +0000 (00:35 +0000)]
ssp.c (__guard_setup): Suppress unused variable warning.

2017-04-01  Jonathan Yong  <10walls@gmail.com>

* ssp.c (__guard_setup): Suppress unused variable warning.

From-SVN: r246636

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

From-SVN: r246635

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

From-SVN: r246630

7 years agore PR rtl-optimization/79405 (Infinite loop in fwprop)
Segher Boessenkool [Fri, 31 Mar 2017 22:49:53 +0000 (00:49 +0200)]
re PR rtl-optimization/79405 (Infinite loop in fwprop)

PR rtl-optimization/79405
* fwprop.c (propagations_left): New variable.
(forward_propagate_into): Decrement it.
(fwprop_init): Initialize it.
(fw_prop): If the variable has reached zero, stop propagating.
(fwprop_addr): Ditto.

gcc/testsuite/
PR rtl-optimization/79405
gcc.dg/pr79405.c: New testcase.

From-SVN: r246627

7 years agore PR bootstrap/79255 (PGO bootstrap fails on x86_64/ppc64le building Ada)
Jakub Jelinek [Fri, 31 Mar 2017 18:40:35 +0000 (20:40 +0200)]
re PR bootstrap/79255 (PGO bootstrap fails on x86_64/ppc64le building Ada)

PR debug/79255
* dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is
a FUNCTION_DECL, pass it as decl instead of origin to
process_scope_var.

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

From-SVN: r246622

7 years agore PR sanitizer/79572 (reference binding to null pointer not reported with -fsanitize...
Jakub Jelinek [Fri, 31 Mar 2017 18:39:25 +0000 (20:39 +0200)]
re PR sanitizer/79572 (reference binding to null pointer not reported with -fsanitize=undefined)

PR c++/79572
* c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
tree *.
* c-ubsan.c (ubsan_maybe_instrument_reference): Likewise.  Handle
not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
REFERENCE_TYPE.

* cp-gimplify.c (cp_genericize_r): Sanitize INTEGER_CSTs with
REFERENCE_TYPE.  Adjust ubsan_maybe_instrument_reference caller
for NOP_EXPR to REFERENCE_TYPE.

* g++.dg/ubsan/null-8.C: New test.

From-SVN: r246621

7 years agonvptx: correct format string
Alexander Monakov [Fri, 31 Mar 2017 16:22:00 +0000 (19:22 +0300)]
nvptx: correct format string

* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format
string.

From-SVN: r246620

7 years agore PR target/80107 (ICE in final_scan_insn, at final.c:2964)
Pat Haugen [Fri, 31 Mar 2017 15:59:46 +0000 (15:59 +0000)]
re PR target/80107 (ICE in final_scan_insn, at final.c:2964)

PR target/80107
* config/rs6000/rs6000.md (extendhi<mode>2): Add test for
TARGET_VSX_SMALL_INTEGER.
* gfortran.dg/pr80107.f: New.

From-SVN: r246619

7 years agore PR tree-optimization/49498 (gcc.dg/uninit-pred-8_b.c bogus warning (predicate...
Jeff Law [Fri, 31 Mar 2017 15:26:18 +0000 (09:26 -0600)]
re PR tree-optimization/49498 (gcc.dg/uninit-pred-8_b.c bogus warning (predicate analysis bugs))

PR tree-optimization/49498
* gcc.dg/uninit-pred-8_b.c: Reenable DOM.

From-SVN: r246618

7 years agoextend.texi (PowerPC AltiVec Built-in Functions): Add reference to the OpenPOWER...
Bill Schmidt [Fri, 31 Mar 2017 15:04:34 +0000 (15:04 +0000)]
extend.texi (PowerPC AltiVec Built-in Functions): Add reference to the OpenPOWER 64-Bit ELF V2 ABI Specification.

2017-03-31  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
reference to the OpenPOWER 64-Bit ELF V2 ABI Specification.

From-SVN: r246617

7 years agoFix description of Wendif-labels (PR documentation/78732)
David Malcolm [Fri, 31 Mar 2017 14:24:27 +0000 (14:24 +0000)]
Fix description of Wendif-labels (PR documentation/78732)

gcc/c-family/ChangeLog:
PR documentation/78732
* c.opt (Wendif-labels): Fix description to refer to
#else rather than #elif.

From-SVN: r246616

7 years agoFix extraction from odd-numbered MSA registers
Matthew Fortune [Fri, 31 Mar 2017 09:21:57 +0000 (09:21 +0000)]
Fix extraction from odd-numbered MSA registers

This fixes a build-failure with gcc.c-torture/execute/20050604-1.c when
using -mabi=32 -mmsa -mno-odd-spreg.

gcc/
* config/mips/mips-msa.md (msa_vec_extract_<msafmt_f>): Update
extraction from odd-numbered MSA register.

From-SVN: r246613

7 years agopr71347.c: Put back XFAIL on sparc.
Richard Biener [Fri, 31 Mar 2017 09:18:18 +0000 (09:18 +0000)]
pr71347.c: Put back XFAIL on sparc.

2017-03-31  Richard Biener  <rguenther@suse.de>

* gcc.dg/tree-ssa/pr71347.c: Put back XFAIL on sparc.

From-SVN: r246612

7 years agopr71347.c: Put back XFAIL.
Richard Biener [Fri, 31 Mar 2017 09:14:52 +0000 (09:14 +0000)]
pr71347.c: Put back XFAIL.

2017-03-31  Richard Biener  <rguenther@suse.de>

* gcc.dg/tree-ssa/pr71347.c: Put back XFAIL.

From-SVN: r246611

7 years agore PR libstdc++/80251 (Is the is_aggregate meta function missing?)
Jakub Jelinek [Fri, 31 Mar 2017 06:40:39 +0000 (08:40 +0200)]
re PR libstdc++/80251 (Is the is_aggregate meta function missing?)

PR libstdc++/80251
c-family/
* c-common.h (enum rid): Add RID_IS_AGGREGATE.
* c-common.c (c_common_reswords): Add __is_aggregate trait.
cp/
* cp-tree.h (enum cp_trait_kind): Add CPTK_IS_AGGREGATE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Handle
CPTK_IS_AGGREGATE.
* semantics.c (trait_expr_value): Handle CPTK_IS_AGGREGATE.
Remove extraneous parens.
(finish_trait_expr): Handle CPTK_IS_AGGREGATE.
* parser.c (cp_parser_primary_expression): Handle RID_IS_AGGREGATE.
(cp_parser_trait_expr): Likewise.
testsuite/
* g++.dg/ext/is_aggregate.C: New test.

From-SVN: r246609

7 years agore PR middle-end/80173 (ICE in store_bit_field_1, at expmed.c:787)
Jakub Jelinek [Fri, 31 Mar 2017 06:38:35 +0000 (08:38 +0200)]
re PR middle-end/80173 (ICE in store_bit_field_1, at expmed.c:787)

PR middle-end/80173
* expmed.c (store_bit_field_1): Don't attempt to create
a word subreg out of hard registers wider than word if they
have HARD_REGNO_NREGS of 1 for their mode.

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

From-SVN: r246608

7 years agore PR middle-end/80163 (ICE on hopefully valid code)
Jakub Jelinek [Fri, 31 Mar 2017 06:32:46 +0000 (08:32 +0200)]
re PR middle-end/80163 (ICE on hopefully valid code)

PR middle-end/80163
* varasm.c (initializer_constant_valid_p_1): Disallow sign-extending
conversions to integer types wider than word and pointer.

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

From-SVN: r246607

7 years agore PR debug/80025 (ICE w/ -O2 (-O3, -Ofast) -g -ftracer (infinite recursion in rtx_eq...
Jakub Jelinek [Fri, 31 Mar 2017 06:05:47 +0000 (08:05 +0200)]
re PR debug/80025 (ICE w/ -O2 (-O3, -Ofast) -g -ftracer (infinite recursion in rtx_equal_for_cselib_1))

PR debug/80025
* cselib.h (rtx_equal_for_cselib_1): Add depth argument.
(rtx_equal_for_cselib_p): Pass 0 to it.
* cselib.c (cselib_hasher::equal): Likewise.
(rtx_equal_for_cselib_1): Add depth argument.  If depth
is 128, don't look up VALUE locs and punt.  Increment
depth in recursive calls when walking VALUE locs.

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

From-SVN: r246606

7 years agogcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
Bernd Edlinger [Fri, 31 Mar 2017 02:52:39 +0000 (02:52 +0000)]
gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.

2017-03-31  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
        (make_gcov_file_name): Use the canonical path name for generating
        the MD5 value.
        (read_line): Fix handling of files with ascii null bytes.

From-SVN: r246605

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

From-SVN: r246604

7 years agoFix ICE when expanding MSA constant vectors with replicated values
Matthew Fortune [Thu, 30 Mar 2017 22:47:38 +0000 (22:47 +0000)]
Fix ICE when expanding MSA constant vectors with replicated values

gcc/
* config/mips/mips.c (mips_expand_vector_init): Create
a const_vector to initialise a vector register instead of
using a const_int.

From-SVN: r246601

7 years agoFix pr52125.c test when built as -mno-abicalls -mabi=64
Matthew Fortune [Thu, 30 Mar 2017 21:59:20 +0000 (21:59 +0000)]
Fix pr52125.c test when built as -mno-abicalls -mabi=64

gcc/testsuite/
* gcc.target/mips/pr52125.c: Add -msym32.

From-SVN: r246600

7 years agore PR translation/80189 (gimplify.c: check whether parallel/task/teams should be...
Jakub Jelinek [Thu, 30 Mar 2017 20:31:40 +0000 (22:31 +0200)]
re PR translation/80189 (gimplify.c: check whether parallel/task/teams should be translated)

PR translation/80189
* gimplify.c (omp_default_clause): Use %qs instead of %s in
diagnostic messages.
testsuite/
* g++.dg/gomp/predetermined-1.C: Adjust expected diagnostics.
* g++.dg/gomp/sharing-1.C: Likewise.
* gfortran.dg/gomp/pr44536.f90: Likewise.
* gfortran.dg/gomp/pr44036-1.f90: Likewise.
* gfortran.dg/gomp/sharing-3.f90: Likewise.
* gfortran.dg/gomp/crayptr3.f90: Likewise.
* gfortran.dg/gomp/pr33439.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.24.1.f90: Likewise.
* gfortran.dg/gomp/sharing-1.f90: Likewise.
* gfortran.dg/gomp/sharing-2.f90: Likewise.
* gcc.dg/gomp/appendix-a/a.24.1.c: Likewise.
* gcc.dg/gomp/sharing-1.c: Likewise.

From-SVN: r246599

7 years ago* env.c (initialize_env): Initialize stacksize to 0.
Jakub Jelinek [Thu, 30 Mar 2017 20:29:20 +0000 (22:29 +0200)]
* env.c (initialize_env): Initialize stacksize to 0.

From-SVN: r246598

7 years agore PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong types)
Peter Bergner [Thu, 30 Mar 2017 19:57:20 +0000 (14:57 -0500)]
re PR target/80246 (Builtin's for POWER's dxex[q] and diex[q] use the wrong types)

gcc/
PR target/80246
* config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
(dfp_diex_<mode>): Update mode of operand 1.
* doc/extend.texi (dxex, dxexq): Document change to return type.
(diex, diexq): Document change to argument type.

gcc/testsuite/
PR target/80246
* gcc.target/powerpc/dfp-builtin-1.c: Remove unneeded dg-skip-if for
Darwin and SPE.
(dxex, dxexq): Update return type.
(diex, diexq): Update argument type.
* gcc.target/powerpc/pr80246.c: New test.

From-SVN: r246594

7 years ago[PR 77333] Fixup fntypes of gimple calls of clones
Martin Jambor [Thu, 30 Mar 2017 13:51:02 +0000 (15:51 +0200)]
[PR 77333] Fixup fntypes of gimple calls of clones

2017-03-30  Martin Jambor  <mjambor@suse.cz>

PR ipa/77333
* cgraph.h (cgraph_build_function_type_skip_args): Declare.
* cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
it reflects the signature changes performed at the callee side.
* cgraphclones.c (build_function_type_skip_args): Make public, renamed
to cgraph_build_function_type_skip_args.
(build_function_decl_skip_args): Adjust call to the above function.

testsuite/
* g++.dg/ipa/pr77333.C: New test.

From-SVN: r246589

7 years agore PR target/80206 (ICE in extract_insn, at recog.c:2327)
Jakub Jelinek [Thu, 30 Mar 2017 13:29:28 +0000 (15:29 +0200)]
re PR target/80206 (ICE in extract_insn, at recog.c:2327)

PR target/80206
* config/i386/sse.md
(<extract_type>_vextract<shuffletype><extract_suf>_mask): Use
register as dest whenever it is a MEM not rtx_equal_p to the
corresponding dup operand, and when forcing into reg move the
reg into the memory afterwards.
(<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask):
Likewise.  Use <ssehalfvecmode> instead of <ssequartermode>
for the force_reg mode.
(avx512vl_vextractf128<mode>): Use register as dest either
always when a MEM, or when it is a MEM not rtx_equal_p to the
corresponding dup operand, or even not when it is a CONST_VECTOR
depending on the mode and lo vs. hi.
(avx512dq_vextract<shuffletype>64x2_1_maskm): Remove extraneous
parens.
(avx512f_vextract<shuffletype>32x4_1_maskm): Likewise.
(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>):
Likewise.  Require that operands[2] is even.
(<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>):
Remove extraneous parens.  Require that operands[2] is a multiple
of 4.
(vec_extract_lo_<mode><mask_name>): Don't bother testing if
operands[0] is a MEM if <mask_applied>, the predicates/constraints
disallow memory then.

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

From-SVN: r246588

7 years agore PR tree-optimization/77498 (Performance drop after r239414 on spec2000/172mgrid)
Richard Biener [Thu, 30 Mar 2017 07:15:39 +0000 (07:15 +0000)]
re PR tree-optimization/77498 (Performance drop after r239414 on spec2000/172mgrid)

2017-03-30  Richard Biener  <rguenther@suse.de>

PR tree-optimization/77498
* tree-ssa-pre.c (phi_translate_1): Do not allow simplifications
to non-constants over backedges.

* gfortran.dg/pr77498.f: New testcase.

From-SVN: r246583

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

From-SVN: r246581

7 years agore PR c/79730 (ICE tree check: expected var_decl, have function_decl in finish_decl...
Marek Polacek [Wed, 29 Mar 2017 23:40:36 +0000 (23:40 +0000)]
re PR c/79730 (ICE tree check: expected var_decl, have function_decl in finish_decl, at c/c-decl.c:5063)

PR c/79730
* c-decl.c (finish_decl): Check VAR_P.

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

From-SVN: r246578

7 years agore PR fortran/78670 ([F03] Incorrect file position with namelist read under DTIO)
Jerry DeLisle [Wed, 29 Mar 2017 21:37:45 +0000 (21:37 +0000)]
re PR fortran/78670 ([F03] Incorrect file position with namelist read under DTIO)

2017-03-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/78670
* io/list_read.c (nml_get_obj_data): Delete code which calls the
child read procedure. (nml_read_obj): Insert the code which
calls the child procedure. Don't need to touch nodes if using
dtio since parent will not be traversing the components.

PR libgfortran/78670
* gfortran.dg/dtio_25.f90: Use 'a1' format when trying to read
a character of length 1. Update test for success.
* gfortran.dg/dtio_28.f03: New test.
* gfortran.dg/dtio_4.f90: Update to open test file with status =
'scratch' to delete the file when done.

From-SVN: r246576

7 years agocombine: Fix PR80233
Segher Boessenkool [Wed, 29 Mar 2017 20:53:59 +0000 (22:53 +0200)]
combine: Fix PR80233

If combine has added an unconditional trap there will be a new basic
block as well.  It will then end up considering the NOTE_INSN_BASIC_BLOCK
as the last_combined_insn, but then it tries to take the DF_INSN_LUID
of that and that dereferences a NULL pointer (since such a note is not
an INSN_P).

This fixes it by not taking non-insns as last_combined_insn.

PR rtl-optimization/80233
* combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns
as last_combined_insn.  Do not test for BARRIER_P separately.

gcc/testsuite/
PR rtl-optimization/80233
* gcc.c-torture/compile/pr80233.c: New testcase.

From-SVN: r246575

7 years ago* fr.po: Update.
Joseph Myers [Wed, 29 Mar 2017 19:47:51 +0000 (20:47 +0100)]
* fr.po: Update.

From-SVN: r246574

7 years agore PR fortran/80254 (Windows test failure: dec_io_2.f90)
Thomas Koenig [Wed, 29 Mar 2017 17:30:58 +0000 (17:30 +0000)]
re PR fortran/80254 (Windows test failure: dec_io_2.f90)

2017-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/80254
* gfortran.dg/dec_io_2.f90:  Do not run on MINGW, run
* gfortran.dg/dec_io_2a.f90:  instead (new test).

From-SVN: r246573

7 years agore PR ada/80146 (ICE in copy_to_mode_reg, at explow.c:612)
Andreas Schwab [Wed, 29 Mar 2017 14:18:07 +0000 (14:18 +0000)]
re PR ada/80146 (ICE in copy_to_mode_reg, at explow.c:612)

PR ada/80146
* calls.c (prepare_call_address): Convert funexp to Pmode before
copying to temp reg.

From-SVN: r246570

7 years agoChange log cleanup from 2017-03-21
William Schmidt [Wed, 29 Mar 2017 13:00:56 +0000 (13:00 +0000)]
Change log cleanup from 2017-03-21

From-SVN: r246569

7 years agore PR tree-optimization/80158 (ICE in all_phi_incrs_profitable)
Bill Schmidt [Wed, 29 Mar 2017 12:56:26 +0000 (12:56 +0000)]
re PR tree-optimization/80158 (ICE in all_phi_incrs_profitable)

2017-03-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/80158
* gimple-ssa-strength-reduction.c (replace_mult_candidate):
Handle possible future case of more than one alternate
interpretation.
(replace_rhs_if_not_dup): Likewise.
(replace_one_candidate): Likewise.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r246567

7 years agoAdjust optional's pretty printer for LWG 2900.
Ville Voutilainen [Wed, 29 Mar 2017 12:05:50 +0000 (15:05 +0300)]
Adjust optional's pretty printer for LWG 2900.

* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__):
Look at the nested payload in case of non-experimental optional.

From-SVN: r246566

7 years ago[g++, testsuite] XFAIL thread_local-order2.C on newlib
Jiong Wang [Wed, 29 Mar 2017 10:33:04 +0000 (10:33 +0000)]
[g++, testsuite] XFAIL thread_local-order2.C on newlib

testsuite/
* g++.dg/tls/thread_local-order2.C: XFAIL on newlib.

As commented by Mike, it's better that newlib support this feature, tracked by

  https://sourceware.org/bugzilla/show_bug.cgi?id=21325

From-SVN: r246563

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

From-SVN: r246560

7 years ago* es.po: Update.
Joseph Myers [Tue, 28 Mar 2017 23:27:18 +0000 (00:27 +0100)]
* es.po: Update.

From-SVN: r246557

7 years agoImplement LWG 2900, The copy and move constructors of optional are not constexpr.
Ville Voutilainen [Tue, 28 Mar 2017 23:05:21 +0000 (02:05 +0300)]
Implement LWG 2900, The copy and move constructors of optional are not constexpr.

Implement LWG 2900, The copy and move constructors
of optional are not constexpr.
* include/std/optional (_Optional_payload): New.
(_Optional_base): Remove the bool parameter.
(_Optional_base<_Tp, false>): Remove.
(_Optional_base()): Adjust.
(_Optional_base(nullopt_t)): Likewise.
(_Optional_base(in_place_t, _Args&&...)): Likewise.
(_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
Likewise.
(_Optional_base(const _Optional_base&)): Likewise.
(_Optional_base(_Optional_base&&)): Likewise.
(operator=(const _Optional_base&)): Likewise.
(operator=(_Optional_base&&)): Likewise.
(~_Optional_base()): Remove.
(_M_is_engaged()): Adjust.
(_M_get()): Likewise.
(_M_construct(_Args&&...)): Likewise.
(_M_destruct()): Likewise.
(_M_reset()): Likewise.
(_Optional_base::_Empty_byte): Remove.
(_Optional_base::_M_empty): Remove.
(_Optional_base::_M_payload): Adjust.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
* testsuite/20_util/optional/constexpr/cons/value.cc: Add tests.

From-SVN: r246556

7 years agors6000: Fix gcc.target/powerpc/gcse-1.c for PIC (PR43496)
Segher Boessenkool [Tue, 28 Mar 2017 22:26:17 +0000 (00:26 +0200)]
rs6000: Fix gcc.target/powerpc/gcse-1.c for PIC (PR43496)

With PIC a @ha relocation isn't generated, so skip that test then.

PR testsuite/43496
* gcc.target/powerpc/gcse-1.c: Skip scan-assembler-times "@ha" if
generating PIC code.

From-SVN: r246555

7 years agore PR rtl-optimization/80193 (ICE on valid (but hairy) C code at -O3 on x86_64-linux...
Vladimir Makarov [Tue, 28 Mar 2017 20:55:38 +0000 (20:55 +0000)]
re PR rtl-optimization/80193 (ICE on valid (but hairy) C code at -O3 on x86_64-linux-gnu: in check_allocation, at ira.c:2563)

2017-03-28  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/80193
* ira.c (ira): Do not check allocation for LRA.

2017-03-28  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/80193
* gcc.target/i386/pr80193.c: New.

From-SVN: r246554

7 years agore PR go/80226 (ICE gimple-expr.c:474 on Go function returning multiple empty struct...
Than McIntosh [Tue, 28 Mar 2017 20:08:31 +0000 (20:08 +0000)]
re PR go/80226 (ICE gimple-expr.c:474 on Go function returning multiple empty struct/array values)

PR go/80226
* go-gcc.cc (Gcc_backend::return_statement): Check for
void_type_node when checking result size.

From-SVN: r246553

7 years agoOpenMP/PTX privatization in SIMD regions
Alexander Monakov [Tue, 28 Mar 2017 17:24:57 +0000 (20:24 +0300)]
OpenMP/PTX privatization in SIMD regions

* config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
(nvptx_output_simt_exit): Declare.
* config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
cfun->machine->unisimt_location.  Handle NULL unisimt_predicate.
(init_softstack_frame): Move initialization of crtl->is_leaf to...
(nvptx_declare_function_name): ...here.  Emit declaration of local
memory space buffer for omp_simt_enter insn.
(nvptx_output_unisimt_switch): New.
(nvptx_output_softstack_switch): New.
(nvptx_output_simt_enter): New.
(nvptx_output_simt_exit): New.
* config/nvptx/nvptx.h (struct machine_function): New fields
has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
* config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
(UNSPECV_SIMT_EXIT): Ditto.
(omp_simt_enter_insn): New insn.
(omp_simt_enter): New expansion.
(omp_simt_exit): New insn.
* config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.

* internal-fn.c (expand_GOMP_SIMT_ENTER): New.
(expand_GOMP_SIMT_ENTER_ALLOC): New.
(expand_GOMP_SIMT_EXIT): New.
* internal-fn.def (GOMP_SIMT_ENTER): New internal function.
(GOMP_SIMT_ENTER_ALLOC): Ditto.
(GOMP_SIMT_EXIT): Ditto.
* target-insns.def (omp_simt_enter): New insn.
(omp_simt_exit): Ditto.
* omp-low.c (struct omplow_simd_context): New fields simt_eargs,
simt_dlist.
(lower_rec_simd_input_clauses): Implement SIMT privatization.
(lower_rec_input_clauses): Likewise.
(lower_lastprivate_clauses): Handle SIMT privatization.

* omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
(ompdevlow_adjust_simt_enter): New.
(find_simtpriv_var_op): New.
(execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.

* tree-inline.h (struct copy_body_data): New field dst_simt_vars.
* tree-inline.c (expand_call_inline): Handle SIMT privatization.
(copy_decl_for_dup_finish): Ditto.

* tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.

From-SVN: r246550

7 years agore PR fortran/78661 ([OOP] Namelist output missing object designator under DTIO)
Janus Weil [Tue, 28 Mar 2017 17:01:05 +0000 (19:01 +0200)]
re PR fortran/78661 ([OOP] Namelist output missing object designator under DTIO)

2017-03-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78661
* trans-io.c (transfer_namelist_element): Perform a polymorphic call
to a DTIO procedure if necessary.

2017-03-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78661
* gfortran.dg/dtio_25.f90: Modified test case.
* gfortran.dg/dtio_27.f90: New test case.

2017-03-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/78661
* io/write.c (nml_write_obj): Build a class container only if necessary.

From-SVN: r246546

7 years ago* ChangeLog: Fix my ChangeLog entry.
Uros Bizjak [Tue, 28 Mar 2017 16:53:50 +0000 (18:53 +0200)]
* ChangeLog: Fix my ChangeLog entry.

From-SVN: r246545

7 years agore PR target/53383 (Allow -mpreferred-stack-boundary=3 on x86-64)
Uros Bizjak [Tue, 28 Mar 2017 16:51:00 +0000 (18:51 +0200)]
re PR target/53383 (Allow -mpreferred-stack-boundary=3 on x86-64)

PR target/53383
* config/i386/i386.c (ix86_option_override_internal): Always
allow -mincoming-stack-boundary=3 for 64-bit targets.

testsuite/ChangeLog:

PR target/53383
* gcc.target/i386/pr53383-1.c (dg-options): Remove -mno-sse.
* gcc.target/i386/pr53383-2.c (dg-options): Ditto.
* gcc.target/i386/pr53383-3.c (dg-options): Ditto.

From-SVN: r246543

7 years agoPR libstdc++/80137 use std::nextafter instead of looping
Jonathan Wakely [Tue, 28 Mar 2017 16:09:49 +0000 (17:09 +0100)]
PR libstdc++/80137 use std::nextafter instead of looping

PR libstdc++/80137
* include/bits/random.tcc (generate_canonical): Use std::nextafter
or numeric_limits::epsilon() to reduce out-of-range values.
* testsuite/26_numerics/random/uniform_real_distribution/operators/
64351.cc: Verify complexity requirement is met.

From-SVN: r246542

7 years agotree-vect-loop.c (optimize_mask_stores): Add bb to the right loop.
Bin Cheng [Tue, 28 Mar 2017 15:35:56 +0000 (15:35 +0000)]
tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop.

* tree-vect-loop.c (optimize_mask_stores): Add bb to the right
loop.

From-SVN: r246541

7 years agotree-vect-loop-manip.c (slpeel_add_loop_guard): New param and mark new edge's irreduc...
Bin Cheng [Tue, 28 Mar 2017 15:32:29 +0000 (15:32 +0000)]
tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and mark new edge's irreducible flag accordign to it.

* tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
mark new edge's irreducible flag accordign to it.
(vect_do_peeling): Check loop preheader edge's irreducible flag
and pass it to function slpeel_add_loop_guard.
gcc/testsuite
* gcc.c-torture/compile/irreducible-loop.c: New.

From-SVN: r246540

7 years agore PR tree-optimization/80218 (tree-call-cdce does not update block frequencies)
Richard Sandiford [Tue, 28 Mar 2017 15:14:36 +0000 (15:14 +0000)]
re PR tree-optimization/80218 (tree-call-cdce does not update block frequencies)

gcc/
PR tree-optimization/80218
* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
Update block frequencies and counts.

gcc/testsuite/
PR tree-optimization/80218
* gcc.dg/pr80218.c: New test.

From-SVN: r246538

7 years agore PR ipa/78644 (ICE: SIGSEGV in is_gimple_reg_type with -Og -fipa-cp)
Richard Biener [Tue, 28 Mar 2017 13:57:43 +0000 (13:57 +0000)]
re PR ipa/78644 (ICE: SIGSEGV in is_gimple_reg_type with -Og -fipa-cp)

2017-03-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/78644
* tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
of a simplification result we may not use it at all.

* gcc.dg/pr78644-1.c: New testcase.
* gcc.dg/pr78644-2.c: Likewise.

From-SVN: r246534

7 years agoSkip pic-3,4.c and pie-3,4.c for mips*-*-linux-*.
Toma Tabacu [Tue, 28 Mar 2017 12:43:33 +0000 (12:43 +0000)]
Skip pic-3,4.c and pie-3,4.c for mips*-*-linux-*.

gcc/testsuite/

* gcc.dg/pic-3.c: Skip for mips*-*-linux-*.
* gcc.dg/pic-4.c: Likewise.
* gcc.dg/pie-3.c: Likewise.
* gcc.dg/pie-4.c: Likewise.

From-SVN: r246533