platform/upstream/gcc.git
7 years agocp-tree.h (OVL_FIRST, OVL_NAME): New.
Nathan Sidwell [Tue, 16 May 2017 13:15:53 +0000 (13:15 +0000)]
cp-tree.h (OVL_FIRST, OVL_NAME): New.

* cp-tree.h (OVL_FIRST, OVL_NAME): New.
(ovl_first): New.
* constexpr.c (function_concept_check): Use OVL_FIRST.
* cvt.c (build_expr_type_conversion): Likewise.
* decl.c (poplevel, grokdeclarator): Use OVL_NAME.
* decl2.c (mark_used): Use OVL_FIRST.
* error.c (dump_decl): Use OVL_FIRST, OVL_NAME.
(dump_expr, location_of): Use OVL_FIRST.
* friend.c (do_friend): Use OVL_NAME.
* init.c (build_offset_ref): Use OVL_FIRST.
* mangle.c (write_member_name): Likewise.
(write_expression): Use OVL_NAME.
* method.c (strip_inheriting_ctors): Use OVL_FIRST.
* name-lookup.c (pushdecl_class_level): Use OVL_NAME.
* pt.c (check_explicit_specialization): Use OVL_FIRST.
(check_template_shadow): Likewise.
(tsubst_template_args): Use OVL_NAME.
(tsubst_baselink): Use OVL_FIRST.
* semantics.c (perform_koenig_lookup): Use OVL_NAME.
* tree.c (get_first_fn): Use OVL_FIRST.
* typeck.c (finish_class_member_access_expr): Use OVL_NAME.
(cp_build_addr_expr_1): Use OVL_FIRST.

From-SVN: r248108

7 years agoRegenerate libstdc++-v3/configure for versioned-namespace soname
Jonathan Wakely [Tue, 16 May 2017 13:12:16 +0000 (14:12 +0100)]
Regenerate libstdc++-v3/configure for versioned-namespace soname

* configure: Regenerate.

From-SVN: r248107

7 years agopt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF peeking.
Nathan Sidwell [Tue, 16 May 2017 13:12:01 +0000 (13:12 +0000)]
pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF peeking.

* pt.c (tsubst_copy_and_build): Remove unnecessary COMPONENT_REF
peeking.
* semantics.c (finish_id_expression): Directly init local var.
(finish_omp_reduction_clause): Use really_overloaded_fn.
* tree.c (get_fns): Document.  Assert we got an overload.
(get_first_fn) Document.
* typeck.c (cp_build_addr_expr_1): Pass arg directly to
really_overloaded_fn.
* typeck2.c (cxx_inomplete_type_diagnostic): Use get_first_fn directly.

From-SVN: r248106

7 years agooptional (_Optional_base::_M_get): Check precondition.
Marc Glisse [Tue, 16 May 2017 12:54:16 +0000 (14:54 +0200)]
optional (_Optional_base::_M_get): Check precondition.

2017-05-16  Marc Glisse  <marc.glisse@inria.fr>

* include/std/optional (_Optional_base::_M_get): Check precondition.
* testsuite/20_util/optional/cons/value_neg.cc: Update line numbers.

From-SVN: r248099

7 years agocp-tree.h (SCOPE_DEPTH): New.
Nathan Sidwell [Tue, 16 May 2017 11:32:40 +0000 (11:32 +0000)]
cp-tree.h (SCOPE_DEPTH): New.

* cp-tree.h (SCOPE_DEPTH): New.
* name-lookup.h (is_nested_namespace): Declare.
* name-lookup.c (is_nested_namespace): New.
(is_ancestor): Use it.
(set_decl_namespace): Likewise.
(push_namespace): Set SCOPE_DEPTH.
* pt.c (check_specialization_namespace): Use is_nested_namespace.
(check_unqualigied_spec_or_inst): Likewise.

From-SVN: r248095

7 years agodwarf2out.c (loc_list_from_tree_1): Do not create DW_OP_GNU_variable_value for DECL_I...
Richard Biener [Tue, 16 May 2017 11:00:59 +0000 (11:00 +0000)]
dwarf2out.c (loc_list_from_tree_1): Do not create DW_OP_GNU_variable_value for DECL_IGNORED_P decls.

2017-05-16  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (loc_list_from_tree_1): Do not create
DW_OP_GNU_variable_value for DECL_IGNORED_P decls.

From-SVN: r248094

7 years agodwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated.
Richard Biener [Tue, 16 May 2017 10:58:54 +0000 (10:58 +0000)]
dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE just generated.

2017-05-16  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (resolve_variable_value_in_expr): Lookup DIE
just generated.
(note_variable_value_in_expr): If we resolved the decl ref
do not push to the stack.

From-SVN: r248093

7 years agoAdd cross-reference for test permutations in libstdc++ manual
Jonathan Wakely [Tue, 16 May 2017 10:37:22 +0000 (11:37 +0100)]
Add cross-reference for test permutations in libstdc++ manual

* doc/xml/manual/appendix_contributing.xml: Link to test docs and
note higher DejaGnu version requirement.
* doc/html/*: Regenerate.

From-SVN: r248092

7 years agoAdd cross-reference for BADNAMES in libstdc++ manual
Jonathan Wakely [Tue, 16 May 2017 09:46:21 +0000 (10:46 +0100)]
Add cross-reference for BADNAMES in libstdc++ manual

* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
identifiers.
* doc/html/*: Regenerate.

From-SVN: r248091

7 years agoCommitted on behalf of Matthew Wahab
Matthew Wahab [Tue, 16 May 2017 09:23:42 +0000 (09:23 +0000)]
Committed on behalf of Matthew Wahab

gcc/
2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* config/arm/arm_neon.h (vadd_f16): Use standard arithmetic
operations in fast-math mode.
(vaddq_f16): Likewise.
(vmul_f16): Likewise.
(vmulq_f16): Likewise.
(vsub_f16): Likewise.
(vsubq_f16): Likewise.
* config/arm/neon.md (add<mode>3): New.
(sub<mode>3): New.
(fma:<VH:mode>3): New.  Also remove outdated comment.
(mul<mode>3): New.

testsuite/
2017-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* gcc.target/arm/armv8_2-fp16-arith-1.c: Expand comment.  Update
expected output of vadd, vsub and vmul instructions.
* gcc.target/arm/armv8_2-fp16-arith-2.c: New.
* gcc.target/arm/armv8_2-fp16-neon-2.c: New.
* gcc.target/arm/armv8_2-fp16-neon-3.c: New.

From-SVN: r248090

7 years agoFix 2 typos in ipa-devirt.c.
Martin Liska [Tue, 16 May 2017 08:57:05 +0000 (10:57 +0200)]
Fix 2 typos in ipa-devirt.c.

2017-05-16  Martin Liska  <mliska@suse.cz>

PR ipa/79849.
PR ipa/79850.
* ipa-devirt.c (warn_types_mismatch): Fix typo.
(odr_types_equivalent_p): Likewise.

From-SVN: r248089

7 years agoplugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637)
Sylvestre Ledru [Tue, 16 May 2017 07:44:33 +0000 (07:44 +0000)]
plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637)

From-SVN: r248088

7 years agoobjc-runtime-shared-support.c (build_module_descriptor): Remove unnecessary condition...
Sylvestre Ledru [Tue, 16 May 2017 07:31:15 +0000 (07:31 +0000)]
objc-runtime-shared-support.c (build_module_descriptor): Remove unnecessary conditional when building instance of objc_module.

2017-05-16  Sylvestre Ledru  <sylvestre@debian.org>

        * objc-runtime-shared-support.c (build_module_descriptor):
        Remove unnecessary conditional when building instance of
        objc_module. CID 1406758

From-SVN: r248087

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

From-SVN: r248086

7 years agocompiler: better error messages for slicing invalid types
Ian Lance Taylor [Tue, 16 May 2017 00:05:05 +0000 (00:05 +0000)]
compiler: better error messages for slicing invalid types

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

From-SVN: r248082

7 years agocompiler: report correct errors for sink methods
Ian Lance Taylor [Tue, 16 May 2017 00:02:03 +0000 (00:02 +0000)]
compiler: report correct errors for sink methods

    If somebody writes

    func (s []int) _() {}

    we should report an error.  Before this patch we were silently
    accepting this code, because we didn't report any errors about the
    receiver if the method was a sink.

    This patch is unfortunately slightly complex to handle the case of

    func (x int) _() {}

    which we can only detect after define_global_names.

    This fixes blank1.go in the current gc testsuite.

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

From-SVN: r248081

7 years agore PR libfortran/80727 (Crash of runtime gfortran library during integer transformation)
Jerry DeLisle [Mon, 15 May 2017 23:48:39 +0000 (23:48 +0000)]
re PR libfortran/80727 (Crash of runtime gfortran library during integer transformation)

2017-05-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/80727
* transfer.c (read_sf_internal): Remove bogus code to detect EOR.
(read_block_form): For internal units, generate EOR if no more
bytes left in unit and we are trying to read with ADVANCE='NO'.

* gfortran.dg/read_3.f90: New test.

From-SVN: r248080

7 years agore PR fortran/80674 (trunk/gcc/fortran/trans-stmt.c:2578]: (style) Redundant condition)
Steven G. Kargl [Mon, 15 May 2017 23:46:23 +0000 (23:46 +0000)]
re PR fortran/80674 (trunk/gcc/fortran/trans-stmt.c:2578]: (style) Redundant condition)

2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/80674
* trans-stmt.c (gfc_trans_integer_select): Remove redundant condition.

From-SVN: r248079

7 years agore PR c++/79369 (namespace definition with qualified id)
Nathan Sidwell [Mon, 15 May 2017 20:26:19 +0000 (20:26 +0000)]
re PR c++/79369 (namespace definition with qualified id)

PR c++/79369
* g++.dg/cpp1z/nested-namespace-def1.C: Adjust.

From-SVN: r248075

7 years agore PR fortran/80765 (178.galgel in SPEC CPU 2000 fails to run)
Thomas Koenig [Mon, 15 May 2017 20:06:06 +0000 (20:06 +0000)]
re PR fortran/80765 (178.galgel in SPEC CPU 2000 fails to run)

2017-05-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/80765
        * m4/matmul_internal.m4: Set bystride to correct value in
vector-matrix multiplicatin for later calculation of buffer
size.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.

From-SVN: r248074

7 years agore PR c++/79369 (namespace definition with qualified id)
Nathan Sidwell [Mon, 15 May 2017 19:35:52 +0000 (19:35 +0000)]
re PR c++/79369 (namespace definition with qualified id)

gcc/cp/
PR c++/79369
* cp-tree.h (DECL_NAMESPACE_INLINE_P): New.
* name-lookup.h (push_namespace): Return int, add make_inline arg.
* name-lookup.c (push_namespace): Deal with inline directly.
Return pushed count.
* parser.c (cp_parser_namespace_definition): Adjust for
push_namespace change.

gcc/testsuite/
* g++.dg/cpp0x/pr65558.C: Adjust diagnostic location.
* g++.dg/cpp0x/pr79369.C: New.

From-SVN: r248073

7 years agore PR fortran/80752 (ICE with wrong type initialization)
Steven G. Kargl [Mon, 15 May 2017 19:34:52 +0000 (19:34 +0000)]
re PR fortran/80752 (ICE with wrong type initialization)

2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/80752
* expr.c (gfc_generate_initializer):  If type conversion fails,
check for error and return NULL.

2017-05-15  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/80752
gfortran.dg/pr80752.f90: New test.

From-SVN: r248072

7 years agoChangeLog: Add missing PR number.
Uros Bizjak [Mon, 15 May 2017 19:20:50 +0000 (21:20 +0200)]
ChangeLog: Add missing PR number.

* ChangeLog: Add missing PR number.
* testsuite/ChangeLog: Ditto.

From-SVN: r248071

7 years agoi386.i386.md (*zero_extendsidi2): Do not penalize non-interunit SSE move alternatives...
Uros Bizjak [Mon, 15 May 2017 19:04:35 +0000 (21:04 +0200)]
i386.i386.md (*zero_extendsidi2): Do not penalize non-interunit SSE move alternatives with '?'.

* config/i386.i386.md (*zero_extendsidi2): Do not penalize
non-interunit SSE move alternatives with '?'.
(zero-extendsidi peephole2): New peephole to skip intermediate
general register in SSE zero-extend sequence.

testsuite/ChangeLog:

* gcc.target/i386/pr80425-1.c: New test.
* gcc.target/i386/pr80425-2.c: Ditto.

From-SVN: r248070

7 years agoreorg.c (relax_delay_slots): Create a new variable to hold the temporary target rathe...
Jeff Law [Mon, 15 May 2017 17:21:31 +0000 (11:21 -0600)]
reorg.c (relax_delay_slots): Create a new variable to hold the temporary target rather than clobbering...

* reorg.c (relax_delay_slots): Create a new variable to hold
the temporary target rather than clobbering TARGET_LABEL.

* gcc.target/mips/reorgbug-1.c: New test.

From-SVN: r248067

7 years agotilegx.c (tilegx_expand_unaligned_load): Add missing argument to extract_bit_field...
Jeff Law [Mon, 15 May 2017 16:27:07 +0000 (10:27 -0600)]
tilegx.c (tilegx_expand_unaligned_load): Add missing argument to extract_bit_field call.

* config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Add
missing argument to extract_bit_field call.
* config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.

From-SVN: r248066

7 years ago* sv.po: Update.
Joseph Myers [Mon, 15 May 2017 14:20:15 +0000 (15:20 +0100)]
* sv.po: Update.

From-SVN: r248064

7 years agoFix order and types of members in C++17 insert_return_type structs
Jonathan Wakely [Mon, 15 May 2017 13:47:40 +0000 (14:47 +0100)]
Fix order and types of members in C++17 insert_return_type structs

PR libstdc++/80761
* include/bits/node_handle.h (_Node_insert_return): Reorder members.
(tuple_size, tuple_element): Remove partial specializations.
* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
const_iterator for std::set.
* testsuite/23_containers/map/modifiers/extract.cc: New.
* testsuite/23_containers/set/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.

From-SVN: r248062

7 years agoDo not allow empty argument of -o option (PR driver/31468).
Martin Liska [Mon, 15 May 2017 12:48:35 +0000 (14:48 +0200)]
Do not allow empty argument of -o option (PR driver/31468).

2017-05-15  Martin Liska  <mliska@suse.cz>

PR driver/31468
* gcc.c (process_command): Do not allow empty argument of -o option.

From-SVN: r248060

7 years ago[PATCH][AARCH64]Simplify call, call_value, sibcall, sibcall_value patterns.
Renlin Li [Mon, 15 May 2017 11:24:56 +0000 (11:24 +0000)]
[PATCH][AARCH64]Simplify call, call_value, sibcall, sibcall_value patterns.

gcc/ChangeLog

2017-05-15  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_expand_call): Declare.
* config/aarch64/aarch64.c (aarch64_expand_call): Define.
* config/aarch64/constraints.md (Usf): Add long call check.
* config/aarch64/aarch64.md (call): Use aarch64_expand_call.
(call_value): Likewise.
(sibcall): Likewise.
(sibcall_value): Likewise.
(call_insn): New.
(call_value_insn): New.
(sibcall_insn): Update rtx pattern.
(sibcall_value_insn): Likewise.
(call_internal): Remove.
(call_value_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(call_reg): Likewise.
(call_symbol): Likewise.
(call_value_reg): Likewise.
(call_value_symbol): Likewise.

From-SVN: r248056

7 years agogigi.h (get_elaboration_procedure): Delete.
Eric Botcazou [Mon, 15 May 2017 09:07:18 +0000 (09:07 +0000)]
gigi.h (get_elaboration_procedure): Delete.

* gcc-interface/gigi.h (get_elaboration_procedure): Delete.
* gcc-interface/trans.c (get_elaboration_procedure): Make static.

From-SVN: r248055

7 years agoutils.c (can_materialize_object_renaming_p): Synchronize with GNAT's Exp_Dbug.Debug_R...
Pierre-Marie de Rodat [Mon, 15 May 2017 08:58:56 +0000 (08:58 +0000)]
utils.c (can_materialize_object_renaming_p): Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration...

* gcc-interface/utils.c (can_materialize_object_renaming_p):
Synchronize with GNAT's Exp_Dbug.Debug_Renaming_Declaration:
process Original_Node instead of expanded names.

From-SVN: r248054

7 years agotrans.c (return_value_ok_for_nrv_p): Only apply the addressability check in the const...
Eric Botcazou [Mon, 15 May 2017 08:43:25 +0000 (08:43 +0000)]
trans.c (return_value_ok_for_nrv_p): Only apply the addressability check in the constrained case.

* gcc-interface/trans.c (return_value_ok_for_nrv_p): Only apply the
addressability check in the constrained case.

From-SVN: r248053

7 years agotrans.c (Identifier_to_gnu): Also accept incomplete types not coming from a limited...
Eric Botcazou [Mon, 15 May 2017 08:38:37 +0000 (08:38 +0000)]
trans.c (Identifier_to_gnu): Also accept incomplete types not coming from a limited context.

* gcc-interface/trans.c (Identifier_to_gnu): Also accept incomplete
types not coming from a limited context.

From-SVN: r248052

7 years agotrans.c (Compilation_Unit_to_gnu): Skip subprograms on the inlined list that are...
Eric Botcazou [Mon, 15 May 2017 08:27:44 +0000 (08:27 +0000)]
trans.c (Compilation_Unit_to_gnu): Skip subprograms on the inlined list that are not public.

* gcc-interface/trans.c (Compilation_Unit_to_gnu): Skip subprograms on
the inlined list that are not public.
* gcc-interface/utils.c (create_subprog_decl): Clear TREE_PUBLIC if
there is a pragma Inline_Always on the subprogram.

From-SVN: r248051

7 years agotrans.c (gnat_to_gnu): Fix formatting.
Eric Botcazou [Mon, 15 May 2017 08:14:32 +0000 (08:14 +0000)]
trans.c (gnat_to_gnu): Fix formatting.

* gcc-interface/trans.c (gnat_to_gnu) <N_Aggregate>: Fix formatting.
<N_Allocator>: Use properly typed constants.
(extract_values): Move around.
(pos_to_constructor): Minor tweaks.
(Sloc_to_locus): Fix formatting.
* gcc-interface/utils.c (process_deferred_decl_context): Minor tweaks.
* gcc-interface/gigi.h (MARK_VISITED): Remove blank line.
(Gigi_Equivalent_Type): Adjust head comment.
* gcc-interface/decl.c (Gigi_Equivalent_Type): Likewise.

From-SVN: r248050

7 years agodecl.c (gnat_to_gnu_entity): When there is a representation clause on an extension...
Eric Botcazou [Mon, 15 May 2017 08:00:41 +0000 (08:00 +0000)]
decl.c (gnat_to_gnu_entity): When there is a representation clause on an extension...

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: When there
is a representation clause on an extension, propagate the alignment of
the parent type only if the platform requires strict alignment.

From-SVN: r248049

7 years agolb1spc.S: Emit .note.GNU-stack section for a non-executable stack.
Adhemerval Zanella [Mon, 15 May 2017 07:36:18 +0000 (07:36 +0000)]
lb1spc.S: Emit .note.GNU-stack section for a non-executable stack.

* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
section for a non-executable stack.

From-SVN: r248043

7 years agoDaily bump.
GCC Administrator [Mon, 15 May 2017 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r248041

7 years agoPR target/80600 - hidden symbol '__cpu_model' is referenced by DSO
Krister Walfridsson [Sun, 14 May 2017 22:49:03 +0000 (22:49 +0000)]
PR target/80600 - hidden symbol '__cpu_model' is referenced by DSO

gcc/ChangeLog:

        PR target/80600
        * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.

libgcc/ChangeLog:

        PR target/80600
        * config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.

From-SVN: r248037

7 years agoi386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and...
Uros Bizjak [Sun, 14 May 2017 18:00:48 +0000 (20:00 +0200)]
i386.i386.c (ix86_cc_modes_compatible): CCNOmode is compatible with CCGOCmode and with CCZmode.

* config/i386.i386.c (ix86_cc_modes_compatible): CCNOmode is
compatible with CCGOCmode and with CCZmode.

From-SVN: r248036

7 years agoPR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s
Martin Sebor [Sun, 14 May 2017 17:50:28 +0000 (17:50 +0000)]
PR middle-end/77671 - missing -Wformat-overflow warning on sprintf overflow with %s

gcc/ChangeLog:

PR middle-end/77671
* gimple-fold.c (gimple_fold_builtin_sprintf): Make extern.
(gimple_fold_builtin_snprintf): Same.
* gimple-fold.h (gimple_fold_builtin_sprintf): Declare.
(gimple_fold_builtin_snprintf): Same.
* gimple-ssa-sprintf.c (get_format_string): Correct the detection
of character types.
(is_call_safe): New function.
(try_substitute_return_value): Call it.
(try_simplify_call): New function.
(pass_sprintf_length::handle_gimple_call): Call it.

gcc/testsuite/ChangeLog:

PR middle-end/77671
* gcc.dg/tree-ssa/builtin-sprintf-7.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-8.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.

From-SVN: r248035

7 years agoPR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy
Martin Sebor [Sun, 14 May 2017 16:06:41 +0000 (16:06 +0000)]
PR middle-end/80669 - Bad -Wstringop-overflow warnings for stpncpy

gcc/ChangeLog:

PR middle-end/80669
* builtins.c (expand_builtin_stpncpy): Simplify.

gcc/testsuite/ChangeLog:

PR middle-end/80669
* gcc.dg/builtin-stpncpy.c: New test.

From-SVN: r248034

7 years agoi386.opt: Add option -mcall-ms2sysv-xlogues.
Daniel Santos [Sun, 14 May 2017 10:22:08 +0000 (12:22 +0200)]
i386.opt: Add option -mcall-ms2sysv-xlogues.

gcc/ChangeLog:

* config/i386/i386.opt: Add option -mcall-ms2sysv-xlogues.
* config/i386/i386.h
(x86_64_ms_sysv_extra_clobbered_registers): Change type to unsigned.
(NUM_X86_64_MS_CLOBBERED_REGS): New macro.
(struct machine_function): Add new members call_ms2sysv,
call_ms2sysv_pad_in, call_ms2sysv_pad_out and call_ms2sysv_extra_regs.
(struct machine_frame_state): New fields sp_realigned and
sp_realigned_offset.
* config/i386/i386.c
(enum xlogue_stub): New enum.
(enum xlogue_stub_sets): New enum.
(class xlogue_layout): New class.
(struct ix86_frame): New fields stack_realign_allocate_offset,
stack_realign_offset and outlined_save_offset.  Modify comments to
detail stack layout when using out-of-line stubs.
(ix86_target_string): Add -mcall-ms2sysv-xlogues option.
(ix86_option_override_internal): Add sorry() for TARGET_SEH and
-mcall-ms2sysv-xlogues.
(stub_managed_regs): New static variable.
(ix86_save_reg): Add new parameter ignore_outlined to optionally omit
registers managed by out-of-line stub.
(disable_call_ms2sysv_xlogues): New function.
(ix86_compute_frame_layout): Modify re-alignment calculations, disable
m->call_ms2sysv when appropriate and compute frame layout for
out-of-line stubs.
(sp_valid_at, fp_valid_at): New inline functions.
(choose_basereg): New function.
(choose_baseaddr): Add align parameter, use choose_basereg and modify
all callers.
(ix86_emit_save_reg_using_mov, ix86_emit_restore_sse_regs_using_mov):
Use align parameter of choose_baseaddr to generated aligned SSE movs
when possible.
(pro_epilogue_adjust_stack): Modify to track
machine_frame_state::sp_realigned.
(ix86_nsaved_regs): Modify to accommodate changes to ix86_save_reg.
(ix86_nsaved_sseregs): Likewise.
(ix86_emit_save_regs): Likewise.
(ix86_emit_save_regs_using_mov): Likewise.
(ix86_emit_save_sse_regs_using_mov): Likewise.
(get_scratch_register_on_entry): Likewise.
(gen_frame_set): New function.
(gen_frame_load): Likewise.
(gen_frame_store): Likewise.
(emit_outlined_ms2sysv_save): Likewise.
(emit_outlined_ms2sysv_restore): Likewise.
(ix86_expand_prologue): Modify stack re-alignment code and call
emit_outlined_ms2sysv_save when appropriate.
(ix86_emit_leave): Clear machine_frame_state::sp_realigned.  Add
parameter rtx_insn *insn, which allows the function to be used to only
generate the notes.
(ix86_expand_epilogue): Modify validity checks of frame and stack
pointers, and call emit_outlined_ms2sysv_restore when appropriate.
(ix86_expand_call): Modify to enable m->call_ms2sysv when appropriate.
* config/i386/predicates.md
(save_multiple): New predicate.
(restore_multiple): Likewise.
* config/i386/sse.md
(save_multiple<mode>): New pattern.
(save_multiple_realign<mode>): Likewise.
(restore_multiple<mode>): Likewise.
(restore_multiple_and_return<mode>): Likewise.
(restore_multiple_leave_return<mode>): Likewise.
* Makefile.in: Export HOSTCXX and HOSTCXXFLAGS to site.exp

gcc/testsuite/ChangeLog:

* gcc.target/x86_64/abi/ms-sysv/do-test.S: New file.
* gcc.target/x86_64/abi/ms-sysv/gen.cc: Likewise.
* gcc.target/x86_64/abi/ms-sysv/ms-sysv.c: Likewise.
* gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp: Likewise.

libgcc/ChangeLog:

* config.host: Add i386/t-msabi to i386/t-linux file list.
* config/i386/i386-asm.h: New file.
* config/i386/resms64.S: New file.
* config/i386/resms64f.S: New file.
* config/i386/resms64fx.S: New file.
* config/i386/resms64x.S: New file.
* config/i386/savms64.S: New file.
* config/i386/savms64f.S: New file.
* config/i386/t-msabi: New file.

From-SVN: r248029

7 years agoi386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
Julia Koval [Sun, 14 May 2017 07:18:38 +0000 (09:18 +0200)]
i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.

* config/i386/i386-builtin-types.def (VOID_FTYPE_INT_INT64): New type.
* config/i386/i386-builtin.def (__builtin_ia32_xgetbv)
(__builtin_ia32_xsetbv): New builtins.
* config/i386/i386.c (ix86_expand_special_args_builtin):
Process new types.
(ix86_expand_builtin): Special expand for new intrinsics.
* config/i386/i386.md (UNSPECV_XGETBV, UNSPECV_XSETBV): New.
(xsetbv, xsetbv_rex64, xgetbv, xgetbv_rex64): New insn patterns.
* config/i386/xsaveintrin.h (_xsetbv, _getbv): New intrinsics.

testsuite/ChangeLog:

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

From-SVN: r248028

7 years agomake inverted_post_order_compute() operate on a vec
Trevor Saunders [Sun, 14 May 2017 00:39:23 +0000 (00:39 +0000)]
make inverted_post_order_compute() operate on a vec

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfganal.c (inverted_post_order_compute): Change argument type
to vec *.
* cfganal.h (inverted_post_order_compute): Adjust prototype.
* df-core.c (rest_of_handle_df_initialize): Adjust.
(rest_of_handle_df_finish): Likewise.
(df_analyze_1): Likewise.
(df_analyze): Likewise.
(loop_inverted_post_order_compute): Change argument to be a vec *.
(df_analyze_loop): Adjust.
(df_get_n_blocks): Likewise.
(df_get_postorder): Likewise.
* df.h (struct df_d): Change field to be a vec.
* lcm.c (compute_laterin): Adjust.
(compute_available): Likewise.
* lra-lives.c (lra_create_live_ranges_1): Likewise.
* tree-ssa-dce.c (remove_dead_stmt): Likewise.
* tree-ssa-pre.c (compute_antic): Likewise.

From-SVN: r248027

7 years agomake depth_first_search_ds a class
Trevor Saunders [Sun, 14 May 2017 00:39:13 +0000 (00:39 +0000)]
make depth_first_search_ds a class

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfganal.c (connect_infinite_loops_to_exit): Adjust.
(depth_first_search::depth_first_search): Change structure init
function to this constructor.
(depth_first_search::add_bb): Rename function to this member.
(depth_first_search::execute): Likewise.
(flow_dfs_compute_reverse_finish): Adjust.

From-SVN: r248026

7 years agomake more vars auto_sbitmaps
Trevor Saunders [Sun, 14 May 2017 00:39:08 +0000 (00:39 +0000)]
make more vars auto_sbitmaps

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* ddg.c (find_nodes_on_paths): Use auto_sbitmap.
(longest_simple_path): Likewise.
* shrink-wrap.c (spread_components): Likewise.
(disqualify_problematic_components): Likewise.
(emit_common_heads_for_components): Likewise.
(emit_common_tails_for_components): Likewise.
(insert_prologue_epilogue_for_components): Likewise.

From-SVN: r248025

7 years agomake a member an auto_sbitmap
Trevor Saunders [Sun, 14 May 2017 00:39:04 +0000 (00:39 +0000)]
make a member an auto_sbitmap

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* tree-ssa-dse.c (dse_dom_walker): Make m_live_byes a
auto_sbitmap.

From-SVN: r248024

7 years agouse auto_bitmap more with alternate obstacks
Trevor Saunders [Sun, 14 May 2017 00:38:59 +0000 (00:38 +0000)]
use auto_bitmap more with alternate obstacks

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* df-core.c (df_set_blocks): Start using auto_bitmap.
(df_compact_blocks): Likewise.
* df-problems.c (df_rd_confluence_n): Likewise.
* df-scan.c (df_insn_rescan_all): Likewise.
(df_process_deferred_rescans): Likewise.
(df_update_entry_block_defs): Likewise.
(df_update_exit_block_uses): Likewise.
(df_entry_block_bitmap_verify): Likewise.
(df_exit_block_bitmap_verify): Likewise.
(df_scan_verify): Likewise.
* lra-constraints.c (lra_constraints): Likewise.
(undo_optional_reloads): Likewise.
(lra_undo_inheritance): Likewise.
* lra-remat.c (calculate_gen_cands): Likewise.
(do_remat): Likewise.
* lra-spills.c (assign_spill_hard_regs): Likewise.
(spill_pseudos): Likewise.
* tree-ssa-pre.c (bitmap_set_and): Likewise.
(bitmap_set_subtract_values): Likewise.

From-SVN: r248023

7 years agomove several bitmaps from gc memory to the default obstack and use auto_bitmap
Trevor Saunders [Sun, 14 May 2017 00:38:53 +0000 (00:38 +0000)]
move several bitmaps from gc memory to the default obstack and use auto_bitmap

These places where probably trying to use the default bitmap obstack,
but passing 0 to bitmap_initialize actually uses gc allocation.  In any
case they are all cleaned up before going out of scope so using
auto_bitmap should be fine.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* haifa-sched.c (estimate_shadow_tick): Replace manual bitmap
management with auto_bitmap.
(fix_inter_tick): Likewise.
(fix_recovery_deps): Likewise.
* ira.c (add_store_equivs): Likewise.
(find_moveable_pseudos): Likewise.
(split_live_ranges_for_shrink_wrap): Likewise.
* print-rtl.c (rtx_reuse_manager::rtx_reuse_manager): Likewise.
(rtx_reuse_manager::seen_def_p): Likewise.
(rtx_reuse_manager::set_seen_def): Likewise.
* print-rtl.h (class rtx_reuse_manager): Likewise.

From-SVN: r248022

7 years agouse auto_bitmap more
Trevor Saunders [Sun, 14 May 2017 00:38:48 +0000 (00:38 +0000)]
use auto_bitmap more

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bt-load.c (combine_btr_defs): Use auto_bitmap to manage bitmap
lifetime.
(migrate_btr_def): Likewise.
* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
* df-core.c (loop_post_order_compute): Likewise.
(loop_inverted_post_order_compute): Likewise.
* hsa-common.h: Likewise.
* hsa-gen.c (hsa_bb::~hsa_bb): Likewise.
* init-regs.c (initialize_uninitialized_regs): Likewise.
* ipa-inline.c (resolve_noninline_speculation): Likewise.
(inline_small_functions): Likewise.
* ipa-reference.c (ipa_reference_write_optimization_summary): Likewise.
* ira.c (combine_and_move_insns): Likewise.
(build_insn_chain): Likewise.
* loop-invariant.c (find_invariants): Likewise.
* lower-subreg.c (propagate_pseudo_copies): Likewise.
* predict.c (tree_predict_by_opcode): Likewise.
(predict_paths_leading_to): Likewise.
(predict_paths_leading_to_edge): Likewise.
(estimate_loops_at_level): Likewise.
(estimate_loops): Likewise.
* shrink-wrap.c (try_shrink_wrapping): Likewise.
(spread_components): Likewise.
* tree-cfg.c (remove_edge_and_dominated_blocks): Likewise.
* tree-loop-distribution.c (rdg_build_partitions): Likewise.
* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
* tree-ssa-coalesce.c (coalesce_ssa_name): Likewise.
* tree-ssa-phionlycprop.c (pass_phi_only_cprop::execute): Likewise.
* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
* tree-ssa-threadupdate.c (compute_path_counts): Likewise.
(mark_threaded_blocks): Likewise.
(thread_through_all_blocks): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(execute_update_addresses_taken): Likewise.
* tree-ssanames.c (verify_ssaname_freelists): Likewise.

From-SVN: r248021

7 years agoreplace some manual stacks with auto_vec
Trevor Saunders [Sun, 14 May 2017 00:38:40 +0000 (00:38 +0000)]
replace some manual stacks with auto_vec

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfganal.c (mark_dfs_back_edges): Replace manual stack with
auto_vec.
(post_order_compute): Likewise.
(inverted_post_order_compute): Likewise.
(pre_and_rev_post_order_compute_fn): Likewise.

From-SVN: r248020

7 years agoallow constructing a auto_vec with a preallocation, and a possibly larger actual...
Trevor Saunders [Sun, 14 May 2017 00:38:35 +0000 (00:38 +0000)]
allow constructing a auto_vec with a preallocation, and a possibly larger actual allocation size

This allows us to set the capacity of the vector when we construct it,
and still use a stack buffer when the size is small enough.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genrecog.c (int_set::int_set): Explicitly construct our
auto_vec base class.
* vec.h (auto_vec::auto_vec): New constructor.

From-SVN: r248019

7 years agoallow auto_bitmap to use other bitmap obstacks
Trevor Saunders [Sun, 14 May 2017 00:38:29 +0000 (00:38 +0000)]
allow auto_bitmap to use other bitmap obstacks

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bitmap.h (class auto_bitmap): New constructor taking
bitmap_obstack * argument.

From-SVN: r248018

7 years agostore the bitmap_head within the auto_bitmap
Trevor Saunders [Sun, 14 May 2017 00:38:24 +0000 (00:38 +0000)]
store the bitmap_head within the auto_bitmap

This gets rid of one allocation per bitmap.  Often the bitmap_head is
now on the stack, when it isn't its part of some other struct on the
heap instead of being refered to by that struct.  On 64 bit platforms
this will increase the size of such structs by 24 bytes, but its an over
all win since we don't need an 8 byte pointer pointing at the
bitmap_head.  Given that the auto_bitmap owns the bitmap_head anyway we
know there would never be a place where two auto_bitmaps would refer to
the same bitmap_head object.

gcc/ChangeLog:

2017-05-13  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* bitmap.h (class auto_bitmap): Change type of m_bits to
bitmap_head, and adjust ctor / dtor and member operators.

From-SVN: r248017

7 years agoDaily bump.
GCC Administrator [Sun, 14 May 2017 00:16:26 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r248016

7 years agore PR fortran/80442 (Rejects DATA statement with array slice)
Nicolas Koenig [Sat, 13 May 2017 23:38:36 +0000 (01:38 +0200)]
re PR fortran/80442 (Rejects DATA statement with array slice)

2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>

PR fortran/80442
* array.c (gfc_ref_dimen_size): Simplify stride
expression
* data.c (gfc_advance_section): Simplify start,
end and stride expressions
(gfc_advance_section): Simplify start and end
expressions
(gfc_get_section_index): Simplify start expression

2017-05-09  Nicolas Koenig  <koenigni@student.ethz.ch>

PR fortran/80442
* gfortran.dg/impl_do_var_data.f90: New Test

From-SVN: r248012

7 years agocompare-elim.c (equivalent_reg_at_start): Return NULL_RTX when returned register...
Uros Bizjak [Sat, 13 May 2017 21:07:49 +0000 (23:07 +0200)]
compare-elim.c (equivalent_reg_at_start): Return NULL_RTX when returned register mode doesn't match original mode.

* compare-elim.c (equivalent_reg_at_start): Return NULL_RTX
when returned register mode doesn't match original mode.

From-SVN: r248009

7 years agoio.c (gfc_resolve_dt): Fix returns to bool type.
Jerry DeLisle [Sat, 13 May 2017 15:33:34 +0000 (15:33 +0000)]
io.c (gfc_resolve_dt): Fix returns to bool type.

2017-05-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

* io.c (gfc_resolve_dt): Fix returns to bool type.

From-SVN: r248008

7 years agomn10300.c (mn10300_match_ccmode): Fix where we look for cc setter after the compare...
Jeff Law [Sat, 13 May 2017 14:40:53 +0000 (08:40 -0600)]
mn10300.c (mn10300_match_ccmode): Fix where we look for cc setter after the compare-elim changes.

2017-05-12  Jeff Law  <law@redhat.com>
    Jakub Jelinek  <jakub@redhat.com>

* config/mn10300/mn10300.c (mn10300_match_ccmode): Fix where
we look for cc setter after the compare-elim changes.
* config/mn10300/mn10300.md (addsi3_flags): Fix order of patterns
within the vector to match what compare-elim now expects.
(subsi3_flags, andsi3_flags, iorsi3_flags): Likewise.
(xorsi3_flags, one_cmplsi2_flags): Likewise.

* config/rx/rx.c (rx_match_ccmode): Fix where we look cc setter
after the compare-elim changes.
* config/rx/rx.md (abssi2_flags): Fix order of patterns within
the vector to match what compare-elim now expects.
(addsi3_flags, adc_flags, addsi3_flags peepholes): Likewise.
(andsi3_flags, negsi2_flags, one_cmplsi2_flags): Likewise.
(iorsi3_flags, rotlsi3_flags, rotrsi3_flags): Likewise.
(ashrsi3_flags, lshrsi3_flags, ashlsi3_flags): Likewise.
(ssaddsi3, subsi3_flags, sbb_flags, xorsi3_flags): Likewise.

* config/visium/visium.c (single_set_and_flags): Fix where
we look for cc setter after the compare-elim changes.
* config/visium/visium.md (flags_subst_logic): Fix order of patterns
with the vector to match what compare-elim now expects.
(flags_subst_arith, add<mode>3_insn_set_carry): Likewise.
(add<mode>3_insn_set_overflow, addsi3_insn_set_carry): Likewise.
(addsi3_insn_set_overflow, sub<mode>3_insn_set_carry): Likewise.
(sub<mode>3_insn_set_overflow, subsi3_insn_set_carry): Likewise.
(subsi3_insn_set_overflow, negsi2_insn_set_carry): Likewise.
(neg<mode>2_insn_set_overflow): Likewise.

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

7 years agoBRIG FE: Fix an assertion when doing an 'lda' of
Pekka Jääskeläinen [Sat, 13 May 2017 11:57:16 +0000 (11:57 +0000)]
BRIG FE: Fix an assertion when doing an 'lda' of
a private array offset.

From-SVN: r248006

7 years agoPatch for RTL expand bug affecting aarch64 vector code.
Jim Wilson [Sat, 13 May 2017 01:32:40 +0000 (01:32 +0000)]
Patch for RTL expand bug affecting aarch64 vector code.

gcc/
PR middle-end/79794
     * expmed.c (extract_bit_field_1): Add alt_rtl argument.  Before
maybe_expand_insn call, set ops[0].target.  If still set after call,
set alt_rtl.  Add extra arg to recursive calls.
(extract_bit_field): Add alt_rtl argument.  Pass to
extract_bit_field.
* expmed.h (extract_bit_field): Fix prototype.
* expr.c (emit_group_load_1, copy_blkmode_from_reg)
(copy_blkmode_to_reg, read_complex_part, store_field): Pass extra NULL
to extract_bit_field_calls.
(expand_expr_real_1): Pass alt_rtl to expand_expr_real instead of 0.
Pass alt_rtl to extract_bit_field calls.
* calls.c (store_unaligned_arguments_into_psuedos)
load_register_parameters): Pass extra NULL to extract_bit_field calls.
* optabs.c (maybe_legitimize_operand): Clear op->target when call
gen_reg_rtx.
* optabs.h (struct expand_operand): Add target bitfield.

From-SVN: r248004

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

From-SVN: r248003

7 years agoRevert revision 247926.
François Dumont [Fri, 12 May 2017 21:19:39 +0000 (21:19 +0000)]
Revert revision 247926.

From-SVN: r247998

7 years ago* sv.po: Update.
Joseph Myers [Fri, 12 May 2017 20:29:43 +0000 (21:29 +0100)]
* sv.po: Update.

From-SVN: r247996

7 years agore PR testsuite/80643 (NA->FAIL: gcc.dg/pr79214.c gcc.dg/pr79222.c gcc.dg/pr79223...
Martin Sebor [Fri, 12 May 2017 19:23:00 +0000 (19:23 +0000)]
re PR testsuite/80643 (NA->FAIL: gcc.dg/pr79214.c gcc.dg/pr79222.c gcc.dg/pr79223.c gcc.dg/tree-ssa/builtins-folding-gimple-ub.c)

gcc/testsuite/ChangeLog:

PR testsuite/80643
* gfortran.dg/mvbits_7.f90: Prune diagnostic output incidental
to the purpose of the test.

From-SVN: r247993

7 years agocompare-elim.c (try_eliminate_compare): Canonicalize operation with embedded compare...
Uros Bizjak [Fri, 12 May 2017 19:04:05 +0000 (21:04 +0200)]
compare-elim.c (try_eliminate_compare): Canonicalize operation with embedded compare to [(set (reg:CCM) (compare:CCM...

* compare-elim.c (try_eliminate_compare): Canonicalize
operation with embedded compare to
[(set (reg:CCM) (compare:CCM (operation) (immediate)))
 (set (reg) (operation)].

* config/i386/i386.c (TARGET_FLAGS_REGNUM): New define.

From-SVN: r247992

7 years agore PR target/80723 (FAIL gcc.target/i386/cadd.c scan assembler sbb)
Uros Bizjak [Fri, 12 May 2017 18:52:51 +0000 (20:52 +0200)]
re PR target/80723 (FAIL gcc.target/i386/cadd.c scan assembler sbb)

PR target/80723
* config/i386/i386.c (ix86_rtx_cost) [case PLUS]: Ignore the
cost of adding a carry flag for ADC instruction.
[case MINUS]: Ignore the cost of subtracting a carry flag
for SBB instruction.

From-SVN: r247991

7 years agoconfig.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h, and x86intrin.h
Steven Munroe [Fri, 12 May 2017 18:34:44 +0000 (18:34 +0000)]
config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h, and x86intrin.h

[gcc]

2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>

* config.gcc (powerpc*-*-*): Add bmi2intrin.h, bmiintrin.h,
and x86intrin.h
* config/rs6000/bmiintrin.h: New file.
* config/rs6000/bmi2intrin.h: New file.
* config/rs6000/x86intrin.h: New file.

[gcc/testsuite]

2017-05-12  Steven Munroe  <munroesj@gcc.gnu.org>

* gcc.target/powerpc/bmi-andn-1.c: New file
* gcc.target/powerpc/bmi-andn-2.c: New file.
* gcc.target/powerpc/bmi-bextr-1.c: New file.
* gcc.target/powerpc/bmi-bextr-2.c: New file.
* gcc.target/powerpc/bmi-bextr-4.c: New file.
* gcc.target/powerpc/bmi-bextr-5.c: New file.
* gcc.target/powerpc/bmi-blsi-1.c: New file.
* gcc.target/powerpc/bmi-blsi-2.c: New file.
* gcc.target/powerpc/bmi-blsmsk-1.c: new file.
* gcc.target/powerpc/bmi-blsmsk-2.c: New file.
* gcc.target/powerpc/bmi-blsr-1.c: New file.
* gcc.target/powerpc/bmi-blsr-2.c: New File.
* gcc.target/powerpc/bmi-check.h: New File.
* gcc.target/powerpc/bmi-tzcnt-1.c: new file.
* gcc.target/powerpc/bmi-tzcnt-2.c: New file.
* gcc.target/powerpc/bmi2-bzhi32-1.c: New file.
* gcc.target/powerpc/bmi2-bzhi64-1.c: New file.
* gcc.target/powerpc/bmi2-bzhi64-1a.c: New file.
* gcc.target/powerpc/bmi2-check.h: New file.
* gcc.target/powerpc/bmi2-mulx32-1.c: New file.
* gcc.target/powerpc/bmi2-mulx32-2.c: New file.
* gcc.target/powerpc/bmi2-mulx64-1.c: New file.
* gcc.target/powerpc/bmi2-mulx64-2.c: New file.
* gcc.target/powerpc/bmi2-pdep32-1.c: New file.
* gcc.target/powerpc/bmi2-pdep64-1.c: New file.
* gcc.target/powerpc/bmi2-pext32-1.c: New File.
* gcc.target/powerpc/bmi2-pext64-1.c: New file.
* gcc.target/powerpc/bmi2-pext64-1a.c: New File.

From-SVN: r247988

7 years agore PR c++/60430 (static_assert and reference to const/constexpr)
Paolo Carlini [Fri, 12 May 2017 17:53:54 +0000 (17:53 +0000)]
re PR c++/60430 (static_assert and reference to const/constexpr)

2017-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60430
* g++.dg/cpp0x/pr60430.C: New.

From-SVN: r247986

7 years agotree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding markers.
Jeff Law [Fri, 12 May 2017 17:36:01 +0000 (11:36 -0600)]
tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding markers.

* tree-vrp.c (vrp_dom_walker::before_dom_childern): Push unwinding
markers.

* g++.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.

From-SVN: r247985

7 years agore PR middle-end/80707 (r247844 causes error: extra outgoing edge)
Peter Bergner [Fri, 12 May 2017 17:13:07 +0000 (12:13 -0500)]
re PR middle-end/80707 (r247844 causes error: extra outgoing edge)

gcc/
PR middle-end/80707
* tree-cfg.c: Remove cfg edges of unreachable case statements.

gcc/testsuite/
PR middle-end/80707
* g++.dg/pr80707.C: New test.

From-SVN: r247984

7 years agocompiler: add calling Bfunction Backend::call_expression
Than McIntosh [Fri, 12 May 2017 16:36:50 +0000 (16:36 +0000)]
compiler: add calling Bfunction Backend::call_expression

    Pass in the calling (containing) Bfunction when invoking the Backend
    method call_expression(), so as to handle the case where generation of
    the call forces the creation of a temp var within the calling
    function.

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

From-SVN: r247981

7 years agore PR ada/80117 (Standard'Word_Size is wrong for aarch64 ILP32)
Eric Botcazou [Fri, 12 May 2017 15:55:46 +0000 (15:55 +0000)]
re PR ada/80117 (Standard'Word_Size is wrong for aarch64 ILP32)

* system-linux-arm.ads (Memory_Size): Use Long_Integer'Size
instead of Word_Size.

Revert
2017-03-28  Andreas Schwab  <schwab@suse.de>

PR ada/80117
* system-linux-aarch64-ilp32.ads: New file.
* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS_COMMON): Rename
from LIBGNAT_TARGET_PAIRS.
(LIBGNAT_TARGET_PAIRS_32, LIBGNAT_TARGET_PAIRS_64): Define.
(LIBGNAT_TARGET_PAIRS): Use LIBGNAT_TARGET_PAIRS_COMMON, and
LIBGNAT_TARGET_PAIRS_64 or LIBGNAT_TARGET_PAIRS_32 for -mabi=lp64
or -mabi=ilp32, resp.

From-SVN: r247979

7 years agors6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector...
Will Schmidt [Fri, 12 May 2017 15:40:04 +0000 (15:40 +0000)]
rs6000.c (rs6000_gimple_fold_builtin): Add handling for early expansion of vector divide builtins.

[gcc]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
early expansion of vector divide builtins.
(builtin_function_type): Add VSX_BUILTIN_UDIV_V2DI to the list of
builtins identified as having unsigned arguments.

[gcc/testsuite]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-div-float.c: New.
* gcc.target/powerpc/fold-vec-div-floatdouble.c: New.
* gcc.target/powerpc/fold-vec-div-longlong.c: New.

From-SVN: r247977

7 years agors6000.c (gimple-fold.h): New #include.
Will Schmidt [Fri, 12 May 2017 15:35:17 +0000 (15:35 +0000)]
rs6000.c (gimple-fold.h): New #include.

[gcc]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* config/rs6000/rs6000.c (gimple-fold.h): New #include.
(rs6000_gimple_fold_builtin): Add handling for early GIMPLE
expansion of vector logical operations (and, andc, or, xor,
nor, orc, nand)

[gcc/testsuite]

2017-05-10  Will Schmidt  <will_schmidt@vnet.ibm.com>

* gcc.target/powerpc/fold-vec-logical-ands-char.c: New.
* gcc.target/powerpc/fold-vec-logical-ands-int.c: New.
* gcc.target/powerpc/fold-vec-logical-ands-longlong.c: New.
* gcc.target/powerpc/fold-vec-logical-ands-short.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-char.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-int.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-longlong.c: New.
* gcc.target/powerpc/fold-vec-logical-ors-short.c: New.
* gcc.target/powerpc/fold-vec-logical-other-char.c: New.
* gcc.target/powerpc/fold-vec-logical-other-int.c: New.
* gcc.target/powerpc/fold-vec-logical-other-longlong.c: New.
* gcc.target/powerpc/fold-vec-logical-other-short.c: New.

From-SVN: r247976

7 years agogimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
Will Schmidt [Fri, 12 May 2017 15:22:58 +0000 (15:22 +0000)]
gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.

2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>

[gcc]
        * gimple-fold.c (create_tmp_reg_or_ssa_name): Remove static declaration.
        * gimple-fold.h (create_tmp_reg_or_ssa_name): New prototype.

From-SVN: r247975

7 years agors6000.c (rs6000_gimple_fold_builtin): Add handling for early GIMPLE expansion of...
Will Schmidt [Fri, 12 May 2017 15:17:27 +0000 (15:17 +0000)]
rs6000.c (rs6000_gimple_fold_builtin): Add handling for early GIMPLE expansion of vector multiplies.

[gcc]

2017-05-12  Will Schmidt  <will_schmidt@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
        early GIMPLE expansion of vector multiplies.

From-SVN: r247974

7 years agoPR libstdc++/78939 make tuple_size<cv T> depend on tuple_size<T>
Jonathan Wakely [Fri, 12 May 2017 14:43:11 +0000 (15:43 +0100)]
PR libstdc++/78939 make tuple_size<cv T> depend on tuple_size<T>

PR libstdc++/78939
* include/std/utility (tuple_size<cv T>): Only define partial
specializations when tuple_size<T>::value is valid.
* testsuite/20_util/tuple/78939.cc: New.
* testsuite/20_util/tuple/cv_tuple_size_neg.cc: New.

From-SVN: r247973

7 years ago* gcc.target/i386/pr22152.c: Remove unneeded dg-additional-options.
Uros Bizjak [Fri, 12 May 2017 14:35:13 +0000 (16:35 +0200)]
* gcc.target/i386/pr22152.c: Remove unneeded dg-additional-options.

From-SVN: r247972

7 years ago[ARM] Add missing TARGET_32BIT conditional to movsi
Prakhar Bahuguna [Fri, 12 May 2017 14:16:52 +0000 (14:16 +0000)]
[ARM] Add missing TARGET_32BIT conditional to movsi

2017-05-12  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>

    gcc/
    * config/arm/arm.md (movsi): Add TARGET_32BIT in addition to the
    TARGET_HAVE_MOVT conditional.
    (movt splitter): Likewise.

From-SVN: r247971

7 years agore PR c++/49604 (forward-declared enum's elements in class scope gets default access...
Paolo Carlini [Fri, 12 May 2017 13:20:21 +0000 (13:20 +0000)]
re PR c++/49604 (forward-declared enum's elements in class scope gets default access (class vs struct))

2017-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49604
* g++.dg/cpp0x/forw_enum14.C: New.
* g++.dg/cpp0x/forw_enum15.C: Likewise.

From-SVN: r247969

7 years agoruntime: fix build for non-split-stack systems
Ian Lance Taylor [Fri, 12 May 2017 12:49:34 +0000 (12:49 +0000)]
runtime: fix build for non-split-stack systems

    Change memory allocation accounting for stacks to use stacks_sys,
    since that seems to be what it is for.

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

From-SVN: r247967

7 years agotree-ssa-sccvn.h (has_VN_INFO): Declare.
Richard Biener [Fri, 12 May 2017 12:04:31 +0000 (12:04 +0000)]
tree-ssa-sccvn.h (has_VN_INFO): Declare.

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

* tree-ssa-sccvn.h (has_VN_INFO): Declare.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Fold all stmts not inplace.

* g++.dg/tree-ssa/ssa-dse-2.C: Adjust.

From-SVN: r247966

7 years agore PR c++/67687 (ICE initializing constexpr member with constexpr constructor)
Paolo Carlini [Fri, 12 May 2017 11:24:56 +0000 (11:24 +0000)]
re PR c++/67687 (ICE initializing constexpr member with constexpr constructor)

2017-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67687
* g++.dg/cpp0x/constexpr-ice17.C: New.

From-SVN: r247964

7 years agore PR tree-optimization/80713 (recent crash in update_dep_bb)
Richard Biener [Fri, 12 May 2017 10:54:29 +0000 (10:54 +0000)]
re PR tree-optimization/80713 (recent crash in update_dep_bb)

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

PR tree-optimization/80713
* tree-ssa-pre.c (remove_dead_inserted_code): Clear
inserted_exprs bit for not removed stmts.

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

From-SVN: r247963

7 years agoLimit perf data buffer during profiling
Andi Kleen [Fri, 12 May 2017 10:09:50 +0000 (10:09 +0000)]
Limit perf data buffer during profiling

With high -j parallelism the autofdo tests can randomly fail.
autofdo uses Linux perf to record profiling data.
Linux perf uses a locked perf buffer. By default it has
around 516k buffer per uid (/proc/sys/kernel/perf_event_mlock_kb).

An individual perf record tries to grab the full 516k,
which makes parallel perf record fail.

This patch limits the perf buffer for individual perf record to 8k.
With the default settings this allows a parallelism of the test
cases of 16, which is hopefully good enough

(if not would need to add some kind of semaphore, or ask
the user to increase the limit as root)

I also removed an unneeded -o perf.data option

Thanks to Marcin to finally spotting the problem.

Passes bootstrap and test on x86_64-linux. Ok for trunk?

gcc/testsuite/:

2017-05-12  Andi Kleen  <ak@linux.intel.com>

PR testsuite/77684
* lib/target-supports.exp (profopt-perf-wrapper):
Add -m8 option to increase parallelism.

From-SVN: r247962

7 years agoOpenACC C front end maintenance: c_parser_oacc_single_int_clause
Thomas Schwinge [Fri, 12 May 2017 09:33:18 +0000 (11:33 +0200)]
OpenACC C front end maintenance: c_parser_oacc_single_int_clause

gcc/c/
* c-parser.c (c_parser_omp_clause_num_gangs)
(c_parser_omp_clause_num_workers)
(c_parser_omp_clause_vector_length): Merge functions into...
(c_parser_oacc_single_int_clause): ... this new function.  Adjust
all users.
gcc/testsuite/
* c-c++-common/goacc/parallel-dims-1.c: New file.
* c-c++-common/goacc/parallel-dims-2.c: Likewise.

From-SVN: r247960

7 years agoLoad new scanlang.exp
Rainer Orth [Fri, 12 May 2017 09:20:37 +0000 (09:20 +0000)]
Load new scanlang.exp

libitm:
* testsuite/lib/libitm.exp: Load scanlang.exp.

libgomp:
* testsuite/lib/libgomp.exp: Load scanlang.exp.

libatomic:
* testsuite/lib/libatomic.exp: Load scanlang.exp.

From-SVN: r247959

7 years ago[PR middle-end/69921] Use "oacc kernels parallelized" attribute for parallelized...
Thomas Schwinge [Fri, 12 May 2017 09:18:34 +0000 (11:18 +0200)]
[PR middle-end/69921] Use "oacc kernels parallelized" attribute for parallelized OpenACC kernels

gcc/
PR middle-end/69921
* tree-parloops.c (create_parallel_loop): Set "oacc kernels
parallelized" attribute for parallelized OpenACC kernels.
* omp-offload.c (execute_oacc_device_lower): Use it.
gcc/testsuite/
* c-c++-common/goacc/classify-kernels-unparallelized.c: Adjust.
* c-c++-common/goacc/classify-kernels.c: Likewise.
* c-c++-common/goacc/kernels-counter-vars-function-scope.c:
Likewise.
* c-c++-common/goacc/kernels-double-reduction-n.c: Likewise.
* c-c++-common/goacc/kernels-double-reduction.c: Likewise.
* c-c++-common/goacc/kernels-loop-2.c: Likewise.
* c-c++-common/goacc/kernels-loop-3.c: Likewise.
* c-c++-common/goacc/kernels-loop-g.c: Likewise.
* c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise.
* c-c++-common/goacc/kernels-loop-n.c: Likewise.
* c-c++-common/goacc/kernels-loop-nest.c: Likewise.
* c-c++-common/goacc/kernels-loop.c: Likewise.
* c-c++-common/goacc/kernels-one-counter-var.c: Likewise.
* c-c++-common/goacc/kernels-reduction.c: Likewise.
* gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise.
* gfortran.dg/goacc/classify-kernels.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-n.f95: Likewise.
* gfortran.dg/goacc/kernels-loop.f95: Likewise.

From-SVN: r247957

7 years agoUse "oacc kernels" attribute for OpenACC kernels
Thomas Schwinge [Fri, 12 May 2017 09:02:55 +0000 (11:02 +0200)]
Use "oacc kernels" attribute for OpenACC kernels

gcc/
* omp-expand.c (expand_omp_target) <GF_OMP_TARGET_KIND_OACC_KERNELS>:
Set "oacc kernels" attribute.
* omp-general.c (oacc_set_fn_attrib): Remove is_kernel formal
parameter.  Adjust all users.
(oacc_fn_attrib_kernels_p): Remove function.
* omp-offload.c (execute_oacc_device_lower): Look for "oacc
kernels" attribute instead of calling oacc_fn_attrib_kernels_p.
* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
* tree-parloops.c (create_parallel_loop): If oacc_kernels_p,
assert "oacc kernels" attribute is set.
gcc/testsuite/
* c-c++-common/goacc/classify-kernels-unparallelized.c: Adjust.
* c-c++-common/goacc/classify-kernels.c: Likewise.
* c-c++-common/goacc/classify-parallel.c: Likewise.
* c-c++-common/goacc/classify-routine.c: Likewise.
* gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise.
* gfortran.dg/goacc/classify-kernels.f95: Likewise.
* gfortran.dg/goacc/classify-parallel.f95: Likewise.
* gfortran.dg/goacc/classify-routine.f95: Likewise.

From-SVN: r247955

7 years agoTest cases to check OpenACC offloaded function's attributes and classification
Thomas Schwinge [Fri, 12 May 2017 08:42:31 +0000 (10:42 +0200)]
Test cases to check OpenACC offloaded function's attributes and classification

gcc/testsuite/
* c-c++-common/goacc/classify-kernels-unparallelized.c: New file.
* c-c++-common/goacc/classify-kernels.c: Likewise.
* c-c++-common/goacc/classify-parallel.c: Likewise.
* c-c++-common/goacc/classify-routine.c: Likewise.
* gfortran.dg/goacc/classify-kernels-unparallelized.f95: Likewise.
* gfortran.dg/goacc/classify-kernels.f95: Likewise.
* gfortran.dg/goacc/classify-parallel.f95: Likewise.
* gfortran.dg/goacc/classify-routine.f95: Likewise.

From-SVN: r247953

7 years agoTypo fixes for "Don't assume __secure_getenv is available"
Thomas Schwinge [Fri, 12 May 2017 07:56:41 +0000 (09:56 +0200)]
Typo fixes for "Don't assume __secure_getenv is available"

libgfortran/
* runtime/environ.c (weak_secure_getenv): Fix "__secure_gettime"
vs. "__secure_getenv" typo.
(secure_getenv): Fix "HAVE__SECURE_GETENV"
vs. "HAVE___SECURE_GETENV" typo.

From-SVN: r247952

7 years agomksigtab.sh: recurse once when adding signals to SIGLIST
Ian Lance Taylor [Fri, 12 May 2017 01:09:42 +0000 (01:09 +0000)]
mksigtab.sh: recurse once when adding signals to SIGLIST

    On MIPS, SIGABRT is defined like this:
     #define SIGIOT   6
     #define SIGABRT  SIGIOT

    This breaks addsig which tries to append __SIGIOT_ to SIGLIST. Signal
    number 6 is later added to the output and go complains about a
    duplicate signal number.

    Fix by recursing once when obtaining the signal number from
    gen-sysinfo.go if the signal is defined as an alias of another signal.
    Also modify the sed expression to 's/.* = //' which is equivalent to
    the original expression but is less misleading given that it might not
    match a number.

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

From-SVN: r247948

7 years agoos: use opendir64 and closedir64 on AIX
Ian Lance Taylor [Fri, 12 May 2017 00:59:15 +0000 (00:59 +0000)]
os: use opendir64 and closedir64 on AIX

    When using readdir64 on AIX, we must also use
    opendir64 and closedir64.

    Issue golang/go#19200

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

From-SVN: r247947

7 years ago* lib/gcc-dg.exp (schedule-cleanups): Add lang dump capability.
Nathan Sidwell [Fri, 12 May 2017 00:28:44 +0000 (00:28 +0000)]
* lib/gcc-dg.exp (schedule-cleanups): Add lang dump capability.

From-SVN: r247946

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

From-SVN: r247945

7 years agore PR go/64238 (ICE in get_partitioning_class, at symtab.c:1775)
Ian Lance Taylor [Thu, 11 May 2017 23:52:54 +0000 (23:52 +0000)]
re PR go/64238 (ICE in get_partitioning_class, at symtab.c:1775)

PR go/64238
* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
DECL_EXTERNAL, clear TREE_STATIC.

From-SVN: r247937

7 years agors6000-c: Add support for built-in functions vector unsigned char vec_popcnt (vector...
Carl Love [Thu, 11 May 2017 22:10:10 +0000 (22:10 +0000)]
rs6000-c: Add support for built-in functions vector unsigned char vec_popcnt (vector...

gcc/ChangeLog:

2017-05-11  Carl Love  <cel@us.ibm.com>

* config/rs6000/rs6000-c: Add support for built-in functions
vector unsigned char vec_popcnt (vector signed char)
vector unsigned char vec_popcnt (vector unsigned char)
vector unsigned short vec_popcnt (vector signed short)
vector unsigned short vec_popcnt (vector unsigned short)
vector unsigned int vec_popcnt (vector signed int)
vector unsigned int vec_popcnt (vector unsigned int)
vector unsigned long long vec_popcnt (vector signed long long)
vector unsigned long long vec_popcnt (vector unsigned long long)
vector signed long long vec_slo (vector signed long long,
                                         vector signed char)
vector signed long long vec_slo (vector signed long long,
                                         vector unsigned char)
vector unsigned long long vec_slo (vector unsigned long long,
                                           vector signed char)
vector unsigned long long vec_slo (vector unsigned long long,
                                           vector unsigned char)
* config/rs6000/rs6000-builtin.def: Add definitions for VPOPCNTUB,
VPOPCNTUH, VPOPCNTUW, and VPOPCNTUD overloads.
* config/rs6000/altivec.h: Add define for vec_popcnt, vec_popcntb,
vec_popcnth, vec_popcntw and vec_popcntd built-in functions.
* doc/extend.texi: Update the built-in documentation file for the
new built-in functions.

gcc/testsuite/ChangeLog:

2017-05-11  Carl Love  <cel@us.ibm.com>

* gcc.target/powerpc/builtins-3-p8.c: Add tests for the new built-ins
to the test suite file.
* gcc.target/powerpc/builtins-3.c: Add tests for the new built-ins
to the test suite file.

From-SVN: r247933