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

From-SVN: r248356

7 years agore PR target/80718 (GCC generates slow code for offsettable vec_duplicate)
Michael Meissner [Mon, 22 May 2017 22:44:45 +0000 (22:44 +0000)]
re PR target/80718 (GCC generates slow code for offsettable vec_duplicate)

[gcc]
2017-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80718
* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Split
V2DF/V2DI splat into two separate patterns, one that handles
registers, and the other that only handles memory.  Drop support
for splatting from a GPR on ISA 2.07 and then splitting the
splat into direct move and splat.
(vsx_splat_<mode>_reg): Likewise.
(vsx_splat_<mode>_mem): Likewise.

[gcc/testsuite]
2017-05-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80718
* gcc.target/powerpc/pr80718.c: New test.

From-SVN: r248352

7 years agocfgcleanup: Ignore clobbers in bb_is_just_return
Segher Boessenkool [Mon, 22 May 2017 21:20:51 +0000 (23:20 +0200)]
cfgcleanup: Ignore clobbers in bb_is_just_return

The function bb_is_just_return finds if the BB it is asked about does
just a return and nothing else.  It currently does not allow clobbers
in the block either, which we of course can allow just fine.

This patch changes that.

* cfgcleanup.c (bb_is_just_return): Allow CLOBBERs.

gcc/testsuite/

From-SVN: r248351

7 years agop8-vec-xl-xst.c: Fix target string to LE-only.
Bill Schmidt [Mon, 22 May 2017 19:43:36 +0000 (19:43 +0000)]
p8-vec-xl-xst.c: Fix target string to LE-only.

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

* gcc.target/powerpc/p8-vec-xl-xst.c: Fix target string to
LE-only.

From-SVN: r248348

7 years agoc-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal result for SAVE_EXPR...
Jakub Jelinek [Mon, 22 May 2017 18:55:29 +0000 (20:55 +0200)]
c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal result for SAVE_EXPR operand and set...

* c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal
result for SAVE_EXPR operand and set SAVE_EXPR_FOLDED_P even if
it returned invariant.  Call tree_invariant_p unconditionally
afterwards to decide whether to return expr or op0.

From-SVN: r248347

7 years agore PR middle-end/80809 (Multi-free error for variable size array used within OpenMP...
Jakub Jelinek [Mon, 22 May 2017 18:54:54 +0000 (20:54 +0200)]
re PR middle-end/80809 (Multi-free error for variable size array used within OpenMP task)

PR middle-end/80809
* omp-low.c (finish_taskreg_remap): New function.
(finish_taskreg_scan): If unit size of ctx->record_type
is non-constant, unshare the size expression and replace
decls in it with possible outer var refs.

* testsuite/libgomp.c/pr80809-2.c: New test.
* testsuite/libgomp.c/pr80809-3.c: New test.

From-SVN: r248346

7 years agore PR middle-end/80809 (Multi-free error for variable size array used within OpenMP...
Jakub Jelinek [Mon, 22 May 2017 18:54:05 +0000 (20:54 +0200)]
re PR middle-end/80809 (Multi-free error for variable size array used within OpenMP task)

PR middle-end/80809
* gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use
GOVD_SHARED rather than GOVD_PRIVATE with it.
(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect
GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE.

* testsuite/libgomp.c/pr80809-1.c: New test.

From-SVN: r248345

7 years agore PR middle-end/80853 (OpenMP ICE in build_outer_var_ref with array reduction)
Jakub Jelinek [Mon, 22 May 2017 18:51:54 +0000 (20:51 +0200)]
re PR middle-end/80853 (OpenMP ICE in build_outer_var_ref with array reduction)

PR middle-end/80853
* omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE
as last argument to build_outer_var_ref for pointer bases of array
section reductions.

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

From-SVN: r248344

7 years ago* da.po, es.po: Update.
Joseph Myers [Mon, 22 May 2017 17:11:36 +0000 (18:11 +0100)]
* da.po, es.po: Update.

From-SVN: r248342

7 years agore PR fortran/80766 ([OOP] ICE with type-bound procedure returning an array)
Janus Weil [Mon, 22 May 2017 17:08:24 +0000 (19:08 +0200)]
re PR fortran/80766 ([OOP] ICE with type-bound procedure returning an array)

2017-05-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80766
* resolve.c (resolve_fl_derived): Make sure that vtype symbols are
properly resolved.

2017-05-22  Janus Weil  <janus@gcc.gnu.org>

PR fortran/80766
* gfortran.dg/typebound_call_28.f90: New test.

From-SVN: r248341

7 years agoprint-tree.c (print_node): Print DECL_READ_P flag.
Martin Sebor [Mon, 22 May 2017 16:17:59 +0000 (16:17 +0000)]
print-tree.c (print_node): Print DECL_READ_P flag.

gcc/ChangeLog:

* print-tree.c (print_node): Print DECL_READ_P flag.

From-SVN: r248339

7 years agoname-lookup.h (parse_using_directive): Replace with ...
Nathan Sidwell [Mon, 22 May 2017 16:00:35 +0000 (16:00 +0000)]
name-lookup.h (parse_using_directive): Replace with ...

* name-lookup.h (parse_using_directive): Replace with ...
(finish_namespace_using_directive): ... this and ...
(finish_local_using_directive): ... this.
* name-lookup.c (add_using_namespace_1): Move later.
(add_using_namespace): Move later, add namespace_p arg, remove
indirect arg.
(push_using_directive_1): Directly recurse.
(do_using_directive, parse_using_directive): Delete, split into
...
(finish_namespace_using_directive): ... this and ...
(finish_local_using_directive): ... this.
(push_namespace): Use add_using_namespace.
* parser.c (cp_parser_using_directive): Call
finish_namespace_using_directive or finish_local_using_directive.
* pt.c (tsubst_expr): Call finish_local_using_directive.

From-SVN: r248337

7 years agoMakefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h
Jan Hubicka [Mon, 22 May 2017 15:36:02 +0000 (17:36 +0200)]
Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h

* Makefile.in: Add ipa-fnsummary.o and ipa-fnsummary.h
* auto-profile.c: Replace ipa-inline.h by ipa-fnsummary.h
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* gengtype.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-predicate.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* ipa-inline-analysis.c (inline_summaries, ipa_call_summaries,
edge_predicate_pool, dump_inline_hints,
inline_summary::account_size_time, redirect_to_unreachable,
edge_set_predicate, set_hint_predicate,
evaluate_conditions_for_known_args, evaluate_properties_for_edge,
inline_summary_alloc, ipa_call_summary::reset, inline_summary::reset,
inline_summary_t::remove, remap_hint_predicate_after_duplication,
inline_summary_t::duplicate, ipa_call_summary_t::duplicate,
ipa_call_summary_t::remove, initialize_growth_caches,
free_growth_caches, dump_ipa_call_summary, dump_inline_summary,
debug_inline_summary, dump_inline_summaries, initialize_inline_failed,
mark_modified, unmodified_parm_1, unmodified_parm,
unmodified_parm_or_parm_agg_item, eliminated_by_inlining_prob,
set_cond_stmt_execution_predicate, set_switch_stmt_execution_predicate,
compute_bb_predicates, will_be_nonconstant_expr_predicate,
will_be_nonconstant_predicate, record_modified_bb_info,
get_minimal_bb, record_modified, param_change_prob,
phi_result_unknown_predicate, predicate_for_phi_result,
array_index_predicate, clobber_only_eh_bb_p, fp_expression_p,
estimate_function_body_sizes, compute_inline_parameters,
compute_inline_parameters_for_curren, pass_data_inline_parameters,
estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,
inline_update_callee_summaries, remap_edge_change_prob,
remap_edge_summaries, remap_hint_predicate, inline_merge_summary,
inline_update_overall_summary, inline_indirect_intraprocedural_analysis,
inline_analyze_function, inline_summary_t::insert,
inline_generate_summary, read_ipa_call_summary, inline_read_section,
inline_read_summary, write_ipa_call_summary, inline_write_summary,
inline_free_summary): Move to ipa-fnsummary.h
(predicate_t): Remove.
* ipa-fnsummary.c: New file.
* ipa-inline.h:  Do not include sreal.h and ipa-predicate.h
(enum inline_hints_vals, inline_hints, agg_position_info,
INLINE_SIZE_SCALE, size_time_entry, inline_summary, inline_summary_t,
inline_summaries, ipa_call_summary, ipa_call_summary_t,
ipa_call_summaries, debug_inline_summary, dump_inline_summaries,
dump_inline_summary, dump_inline_hints, inline_generate_summary,
inline_read_summary, inline_write_summary, inline_free_summary,
inline_analyze_function, initialize_inline_failed,
inline_merge_summary, inline_update_overall_summary,
compute_inline_parameters): Move to ipa-fnsummary.h
* ipa-fnsummary.h: New file.
* ipa-inline-transform.h: Include ipa-inline.h.
* ipa-inline.c: LIkewise.

* lto.c: Replace ipa-inline.h by ipa-fnsummary.h
* lto-partition.c: Replace ipa-inline.h by ipa-fnsummary.h

From-SVN: r248336

7 years agoipa-inline.c (edge_badness): Use inlined_time instead of inline_summaries->get.
Jan Hubicka [Mon, 22 May 2017 13:56:52 +0000 (15:56 +0200)]
ipa-inline.c (edge_badness): Use inlined_time instead of inline_summaries->get.

* ipa-inline.c (edge_badness): Use inlined_time instead of
inline_summaries->get.

From-SVN: r248334

7 years agoinvoke.texi (fdump-translation-unit): Delete documentation.
Nathan Sidwell [Mon, 22 May 2017 12:25:06 +0000 (12:25 +0000)]
invoke.texi (fdump-translation-unit): Delete documentation.

gcc/
* doc/invoke.texi (fdump-translation-unit): Delete documentation.
(fdump-lang): Document 'raw' option.
* dumpfile.h (TDI_tu): Delete.
* dumpfile.c (dump_files): Remove translation-unit.
(FIRST_AUTO_NUMBERED_DUMP): Decrement.
gcc/cp/
* cp-objcp-common.c (cp_register_dumps): Register raw dumper.
* cp-tree.h (raw_dump_id): Declare.
* decl2.c (raw_dump_id): Define.
(dump_tu): Use raw_dump_id.
gcc/c/
* c-decl.c (c_parse_final_cleanups): Drop TDI_tu handling.

From-SVN: r248333

7 years agoSimplify config/avr/genmultilib.awk.
Georg-Johann Lay [Mon, 22 May 2017 12:16:21 +0000 (12:16 +0000)]
Simplify config/avr/genmultilib.awk.

gcc/
Simplify config/avr/genmultilib.awk.
* config/avr/t-avr (AWK) [t-multilib]: Remove "-v FORMAT=Makefile"
command option from $(AWK) call.
* config/avr/genmultilib.awk: Simplify and rewrite so that it
generates MULTILIB_REQUIRED instead of MULTILIB_EXCEPTIONS.
[FORMAT]: Remove handling of variable.
* config/avr/t-multilib: Regenerate.

From-SVN: r248332

7 years ago* config-lang.in (gtfiles): Sort list, break lines.
Nathan Sidwell [Mon, 22 May 2017 12:07:51 +0000 (12:07 +0000)]
* config-lang.in (gtfiles): Sort list, break lines.

From-SVN: r248330

7 years agocp-tree.h (CPTI_TERMINATE, [...]): Rename to ...
Nathan Sidwell [Mon, 22 May 2017 11:32:16 +0000 (11:32 +0000)]
cp-tree.h (CPTI_TERMINATE, [...]): Rename to ...

* cp-tree.h (CPTI_TERMINATE, CPTI_CALL_UNEXPECTED): Rename to ...
(CPTI_TERMINATE_FN, CPTI_CALL_UNEXPECTED_FN): ... here.
( CPTI_GET_EXCEPTION_PTR_FN, CPTI_BEGIN_CATCH_FN)
(CPTI_END_CATCH_FN)
CPTI_ALLOCATE_EXCEPTION_FN, CPTI_FREE_EXCEPTION_FN, CPTI_THROW_FN,
CPTI_RETHROW_FN): New.
(noexcept_deferred_spec): New.
(terminate_node, call_unexpected_node): Rename to ...
(terminate_fn, call_unexpected_fn): ... here.
(get_exception_ptr_fn, begin_catch_fn, end_catch_fn)
allocate_exception_fn, free_exception_fn, throw_fn, rethrow_fn):
New.
* except.c (fn1..fn5, throw_fn, rethrow_rn, spec): Delete.
(init_exception_processing): Adjust.
(declare_library_fn): Create and push the fns here.
(do_get_exception_ptr, do_begin_catch, do_end_catch)
do_allocate_exception_ptr, do_free_exception_ptr): Adjust
declare_library_fn use.
(unevaluated_noexcept_spec): Adjust.
* cp-gimplify.c (genericize_eh_spec_block)
gimplify_most_not_throw_expr): Adjust.
((((--This line, and those below, will be ignored--

M    cp/cp-tree.h
M    cp/ChangeLog
M    cp/cp-gimplify.c
M    cp/except.c

From-SVN: r248328

7 years agoname-lookup.c (pushdecl_top_level) pushdecl_top_level_and_finish): Move after namespa...
Nathan Sidwell [Mon, 22 May 2017 11:16:49 +0000 (11:16 +0000)]
name-lookup.c (pushdecl_top_level) pushdecl_top_level_and_finish): Move after namespace pushing and popping functions.

* name-lookup.c (pushdecl_top_level)
pushdecl_top_level_and_finish): Move after namespace pushing and
popping functions.
(push_to_top_level): Rename to ...
(do_push_to_top_level): ... here.  Remove timing code.
(pop_from_top_level_1): Rename to ...
(do_pop_from_top_level): ... here.
(do_push_nested_namespace, do_pop_nested_namespace)
(push_to_top_level): New wrapper for do_push_to_top_level.
(pop_from_top_level): Adjust.
(push_nested_namepace, pop_nested_namespace): Wrappers for workers.
(--This line, and those below, will be ignored--

M    cp/ChangeLog
M    cp/name-lookup.c

From-SVN: r248327

7 years agoAdd MOVT testing for ARMv8-M Baseline
Thomas Preud'homme [Mon, 22 May 2017 10:52:26 +0000 (10:52 +0000)]
Add MOVT testing for ARMv8-M Baseline

2017-05-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    * gcc.target/arm/movsi_movt.c: New test.
    * gcc.target/arm/movdi_movt.c: New test.

From-SVN: r248326

7 years agoipa-inline-analysis.c (inline_summary::reset): Do not reset self_time.
Jan Hubicka [Mon, 22 May 2017 10:39:46 +0000 (12:39 +0200)]
ipa-inline-analysis.c (inline_summary::reset): Do not reset self_time.

* ipa-inline-analysis.c (inline_summary::reset): Do not reset
self_time.
(dump_inline_summary): Do not print self_time.
(estimate_function_body_sizes): Do not set self_time.
(compute_inline_parameters): Likewise.
(inline_read_section, inline_write_summary): Do not stream self_time.
* ipa-inline.h (inline_summary): Drop self_time.

From-SVN: r248325

7 years agodecl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are E_Access_Sub...
Eric Botcazou [Mon, 22 May 2017 09:38:09 +0000 (09:38 +0000)]
decl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are E_Access_Subtype.

* gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing
for Itypes that are E_Access_Subtype.
<E_Access_Subtype>: Use the DECL of the base type directly.

From-SVN: r248323

7 years agoipa-inline-analysis.c (account_size_time): Rename to ...
Jan Hubicka [Mon, 22 May 2017 09:35:21 +0000 (11:35 +0200)]
ipa-inline-analysis.c (account_size_time): Rename to ...

* ipa-inline-analysis.c (account_size_time): Rename to ...
(inline_summary::account_size_time): ... this one.
(reset_ipa_call_summary): Turn to ...
(ipa_call_summary::reset): ... this one.
(reset_inline_summary): Turn to ...
(inline_summary::reset): ... this one.
(inline_summary_t::remove): Update.
(inline_summary_t::duplicate): Update.
(ipa_call_summary_t::remove): Update.
(dump_inline_summary): Update.
(estimate_function_body_sizes): Update.
(compute_inline_parameters): Update.
(estimate_node_size_and_time): Update.
(inline_merge_summary): Update.
(inline_update_overall_summary): Update.
(inline_read_section): Update.
(inline_write_summary): Update.
* ipa-inline.h (inline_summary): Rename entry to size_time_table;
add account_size_time and reset member functions.
(ipa_call_summary): Add reset function.
* ipa-predicate.h (predicate::operator &): Constify.

From-SVN: r248322

7 years agosem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a limited view may...
Eric Botcazou [Mon, 22 May 2017 09:24:24 +0000 (09:24 +0000)]
sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a limited view may appear in the profile of...

* sem_ch4.adb (Analyze_Call): In Ada2012 an incomplete type from a
limited view may appear in the profile of a function, and a call to
that function in another unit in which the full view is available must
use this full view to spurious type errors at the point of call.
* inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading
of parent body with a with clause for the main unit.
* gcc-interface/decl.c (defer_limited_with_list): Document new usage.
(gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment
types declared in external units like types from limited with clauses.
Adjust final processing of defer_limited_with_list accordingly.
* gcc-interface/trans.c (gnat_to_gnu) < N_Selected_Component>: Try
again to translate the prefix after the field if it is incomplete.

From-SVN: r248321

7 years agodecl.c (gnat_to_gnu_field): Do not enforce strict alignment for simple volatile field...
Eric Botcazou [Mon, 22 May 2017 08:17:40 +0000 (08:17 +0000)]
decl.c (gnat_to_gnu_field): Do not enforce strict alignment for simple volatile fields and remove...

* gcc-interface/decl.c (gnat_to_gnu_field): Do not enforce strict
alignment for simple volatile fields and remove associated errors.
testsuite/
* gnat.dg/specs/volatile1.ads: Remove obsolete errors.
* gnat.dg/specs/clause_on_volatile.ads: Likewise.

From-SVN: r248320

7 years agoconfigure.ac: Add check for sys/capability.h header.
Eric Botcazou [Mon, 22 May 2017 07:17:48 +0000 (07:17 +0000)]
configure.ac: Add check for sys/capability.h header.

* configure.ac: Add check for sys/capability.h header.
(have_capability): New substitution.
* configure: Regenerate.
* Makefile.in (GNATLIBCFLAGS_FOR_C): Add @have_capability@.

From-SVN: r248319

7 years agodf-scan.c (df_insn_refs_verify): Speedup when not verifying.
Richard Biener [Mon, 22 May 2017 07:14:10 +0000 (07:14 +0000)]
df-scan.c (df_insn_refs_verify): Speedup when not verifying.

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

* df-scan.c (df_insn_refs_verify): Speedup when not verifying.

From-SVN: r248318

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

From-SVN: r248317

7 years agore PR c++/70265 (ICE on code with constexpr on x86_64-linux-gnu in tree check: expect...
Paolo Carlini [Sun, 21 May 2017 22:20:05 +0000 (22:20 +0000)]
re PR c++/70265 (ICE on code with constexpr on x86_64-linux-gnu in tree check: expected statement_list, have nop_expr in tsi_start, at tree-iterator.h:42)

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

PR c++/70265
* g++.dg/cpp1y/constexpr-70265-1.C: New.
* g++.dg/cpp1y/constexpr-70265-2.C: Likewise.

From-SVN: r248313

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

From-SVN: r248312

7 years agoenviron.h: Add #ifndef guard.
Eli Zaretskii [Sat, 20 May 2017 01:22:07 +0000 (01:22 +0000)]
environ.h: Add #ifndef guard.

2017-05-19  Eli Zaretskii <eliz@gnu.org>
* environ.h: Add #ifndef guard.

From-SVN: r248308

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

From-SVN: r248307

7 years agoc-warn.c (match_case_to_enum_1): Don't warn about enums with no enumerators.
Jason Merrill [Fri, 19 May 2017 19:31:52 +0000 (15:31 -0400)]
c-warn.c (match_case_to_enum_1): Don't warn about enums with no enumerators.

* c-warn.c (match_case_to_enum_1): Don't warn about enums with no
enumerators.

From-SVN: r248303

7 years ago* tree.c (make_tree_vec_stat, grow_tree_vec_stat): Use size_t.
Jason Merrill [Fri, 19 May 2017 18:55:17 +0000 (14:55 -0400)]
* tree.c (make_tree_vec_stat, grow_tree_vec_stat): Use size_t.

From-SVN: r248302

7 years agodwarf.c (free_line_header): Don't free dirs if dirs_count == 0.
Than McIntosh [Fri, 19 May 2017 16:07:24 +0000 (16:07 +0000)]
dwarf.c (free_line_header): Don't free dirs if dirs_count == 0.

* dwarf.c (free_line_header): Don't free dirs if dirs_count == 0.
(read_line_header): Don't allocate dirs if dirs_count == 0.
* edtest.c: New file.
* edtest2.c: New file.
* Makefile.am (edtest_SOURCES, edtest_LDADD): Define.
(check_PROGRAMS): Add edtest.
(edtest2_build.c, gen_edtest2_build): New targets.
* Makefile.in: Rebuild.

From-SVN: r248295

7 years ago[multiple changes]
Jerry DeLisle [Fri, 19 May 2017 15:48:35 +0000 (15:48 +0000)]
[multiple changes]

2017-05-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/80333
* trans-io.c (nml_get_addr_expr): If we are dealing with class
type data set tmp tree to get that address.
(transfer_namelist_element): Set the array spec to point to the
the class data.

2017-05-19  Paul Thomas  <pault@gcc.gnu.org>
    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/80333
* list_read.c (nml_read_obj): Compute pointer into class/type
arrays from the nl->dim information. Update it for each iteration
of the loop for the given object.

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

PR libgfortran/80333
* gfortran.dg/dtio_30.f03: New test.

From-SVN: r248293

7 years agore PR sanitizer/80800 (UBSAN: yet another false positive)
Marek Polacek [Fri, 19 May 2017 15:30:54 +0000 (15:30 +0000)]
re PR sanitizer/80800 (UBSAN: yet another false positive)

PR sanitizer/80800
* fold-const.c (extract_muldiv_1) <case TRUNC_DIV_EXPR>: Add
TYPE_OVERFLOW_WRAPS checks.

* c-c++-common/ubsan/pr80800.c: New test.
* c-c++-common/Wduplicated-branches-1.c: Adjust an expression.

From-SVN: r248291

7 years agoc-format.c (locus): Move out of function scope, add GTY attribute.
Bernd Edlinger [Fri, 19 May 2017 14:39:44 +0000 (14:39 +0000)]
c-format.c (locus): Move out of function scope, add GTY attribute.

gcc/c-family:
2017-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-format.c (locus): Move out of function scope,
        add GTY attribute.

gcc/cp:
2017-05-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config-lang.in (gtfiles): Add c-family/c-format.c,
        except.c, init.c, lambda.c and friend.c.
        * class.c (dvirt_fn): Move out of function scope,
        add GTY attribute.
        * except.c (fn1-5, throw_fn, rethrow_fn, spec): Likewise.
        * init.c (fn): Likewise.
        * lambda.c (ptr_id, max_id): Likewise.
        * friend.c (global_friend): Add GTY attribute.

From-SVN: r248290

7 years agocall.c (add_list_candidates): Use OVL_FIRST.
Nathan Sidwell [Fri, 19 May 2017 14:12:14 +0000 (14:12 +0000)]
call.c (add_list_candidates): Use OVL_FIRST.

* call.c (add_list_candidates): Use OVL_FIRST.
(build_new_method_call_1): Likewise.
* cp-tree.h (OVL_SINGLE_P): New.
(TYPE_HIDDEN_P): New.
* decl.c (xref_tag_1): Use TYPE_HIDDEN_P.
* dump.c (cp_tump_tree): Adjust overload dumping.
* error.c (dump_decl): Use OVL_SINGLE_P, simplify context
printing.
* method.c (lazily_declare_fn): Assert we added it.
* parser.c (cp_parser_nested_name_specifier): Use OVL_SINGLE_P,
OVL_FIRST.
(cp_parser_template_name): Use lkp_iterator.
* pt.c (begin_template_parm_list): Fixup comment.
(instantiate_class_template_1): Use TYPE_HIDDEN_P.
* tree.c (ovl_iterator::remove_node): Cope with inherited ctors.
(ovl_scope): Use lkp_iterator.

From-SVN: r248285

7 years agofortran: remove trailing exclamation mark from various diagnostics (PR fortran/79852)
David Malcolm [Fri, 19 May 2017 13:52:14 +0000 (13:52 +0000)]
fortran: remove trailing exclamation mark from various diagnostics (PR fortran/79852)

gcc/fortran/ChangeLog:
PR fortran/79852
* bbt.c (insert): Remove trailing exclamation mark from message.
* decl.c (gfc_match_final_decl): Likewise.
* dump-parse-tree.c (show_expr): Likewise.
* module.c (gfc_use_module): Likewise.
* primary.c (build_actual_constructor): Likewise.
(gfc_convert_to_structure_constructor): Likewise.

From-SVN: r248283

7 years agoMake the script executable.
Martin Liska [Fri, 19 May 2017 13:48:52 +0000 (13:48 +0000)]
Make the script executable.

From-SVN: r248282

7 years agoIntroduce new check_GNU_style.py script.
Martin Liska [Fri, 19 May 2017 13:47:53 +0000 (15:47 +0200)]
Introduce new check_GNU_style.py script.

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

* check_GNU_style.py: New file.

From-SVN: r248281

7 years agoOpenACC 2.5 default (present) clause
Thomas Schwinge [Fri, 19 May 2017 13:32:48 +0000 (15:32 +0200)]
OpenACC 2.5 default (present) clause

gcc/c/
* c-parser.c (c_parser_omp_clause_default): Handle
"OMP_CLAUSE_DEFAULT_PRESENT".
gcc/cp/
* parser.c (cp_parser_omp_clause_default): Handle
"OMP_CLAUSE_DEFAULT_PRESENT".
gcc/fortran/
* gfortran.h (enum gfc_omp_default_sharing): Add
"OMP_DEFAULT_PRESENT".
* dump-parse-tree.c (show_omp_clauses): Handle it.
* openmp.c (gfc_match_omp_clauses): Likewise.
* trans-openmp.c (gfc_trans_omp_clauses): Likewise.
gcc/
* tree-core.h (enum omp_clause_default_kind): Add
"OMP_CLAUSE_DEFAULT_PRESENT".
* tree-pretty-print.c (dump_omp_clause): Handle it.
* gimplify.c (enum gimplify_omp_var_data): Add
"GOVD_MAP_FORCE_PRESENT".
(gimplify_adjust_omp_clauses_1): Map it to
"GOMP_MAP_FORCE_PRESENT".
(oacc_default_clause): Handle "OMP_CLAUSE_DEFAULT_PRESENT".
gcc/testsuite/
* c-c++-common/goacc/default-1.c: Update.
* c-c++-common/goacc/default-2.c: Likewise.
* c-c++-common/goacc/default-4.c: Likewise.
* gfortran.dg/goacc/default-1.f95: Likewise.
* gfortran.dg/goacc/default-4.f: Likewise.
* c-c++-common/goacc/default-5.c: New file.
* gfortran.dg/goacc/default-5.f: Likewise.
libgomp/
* testsuite/libgomp.oacc-c++/template-reduction.C: Update.
* testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.

From-SVN: r248280

7 years agoClarify gcc/gimplify.c:oacc_default_clause
Thomas Schwinge [Fri, 19 May 2017 13:32:30 +0000 (15:32 +0200)]
Clarify gcc/gimplify.c:oacc_default_clause

gcc/
* gimplify.c (oacc_default_clause): Clarify.

From-SVN: r248279

7 years agoOpenACC default clause maintenance
Thomas Schwinge [Fri, 19 May 2017 13:32:19 +0000 (15:32 +0200)]
OpenACC default clause maintenance

gcc/cp/
* parser.c (cp_parser_omp_clause_default): Avoid printing more
than one syntax error message.
gcc/testsuite/
* c-c++-common/goacc/default-1.c: New file.
* c-c++-common/goacc/default-2.c: Likewise.
* c-c++-common/goacc/data-default-1.c: Remove file, including its
test cases in...
* c-c++-common/goacc/default-3.c: ... this new file, and...
* c-c++-common/goacc/default-4.c: ... this new file.
* gfortran.dg/goacc/default.f95: Remove file, including its test
cases in...
* gfortran.dg/goacc/default-1.f95: ... this new file, and...
* gfortran.dg/goacc/default-2.f: ... this new file.
* gfortran.dg/goacc/default-3.f95: New file.
* gfortran.dg/goacc/default-4.f: Likewise.

From-SVN: r248278

7 years agolibgomp hsa plugin: debug output for HSA runtime library loading failure
Thomas Schwinge [Fri, 19 May 2017 13:32:04 +0000 (15:32 +0200)]
libgomp hsa plugin: debug output for HSA runtime library loading failure

libgomp/
* plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
Debug output for failure.

From-SVN: r248277

7 years agoEnable by default -Werror just for bootstrap-debug.mk and default build.
Martin Liska [Fri, 19 May 2017 13:31:01 +0000 (15:31 +0200)]
Enable by default -Werror just for bootstrap-debug.mk and default build.

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

* configure.ac: Add --enable-werror-always just for
bootstrap-debug (or none build config) and do not add it
when we are on a release branch.
* configure: Regenerated.

From-SVN: r248276

7 years agotoplev.c (general_init): Call register dump lang hook.
Nathan Sidwell [Fri, 19 May 2017 13:10:36 +0000 (13:10 +0000)]
toplev.c (general_init): Call register dump lang hook.

LANG_HOOK_REGISTER_DUMPS
gcc/
* toplev.c (general_init): Call register dump lang hook.
* doc/invoke.texi: Document -fdump-lang option family.
* dumpfile.c (dump_files): Remove class dump here.
(FIRST_AUTO_NUMBERED_DUMP): Adjust.
* dumpfile.h (tree_dump_index): Remove TDI_class.
* langhooks-def.h (lhd_register_dumps): Declare.
(LANG_HOOKS_REGISTER_DUMPS): Define.
(LANG_HOOKS_INITIALIZER): Add it.
* langhooks.c (lhd_register_dumps): Define.
* langhooks.h (struct lang_hooks): Add register_dumps.
c-family/
* c-opts.c (class_dump_file, class_dump_flags): Delete.
(c_common_parse_file): Remove class dump handling.
(get_dump_info): Likewise.
cp/
* class.c (class_dump_id): Define.
(dump_class_hierarchy, dump_vtable, dump_vtt): Use it.
* cp-objcp-common.c (cp_register_dumps): New.
* cp-objcp-common.h (cp_register_dumps): Declare.
(LANG_HOOKS_REGISTER_DUMPS): Override.
* cp-tree.h (class_dump_id): Declare.
testsuite/
* g++.dg/inherit/covariant7.C: Adjust.

From-SVN: r248271

7 years ago[ARM] Only test tls-disable-literal-pool.c if target supports native TLS
Prakhar Bahuguna [Fri, 19 May 2017 13:04:27 +0000 (13:04 +0000)]
[ARM] Only test tls-disable-literal-pool.c if target supports native TLS

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

    gcc/testsuite/
    * gcc.target/arm/tls-disable-literal-pool.c: Change
    require-effective-target to tls_native.
    Move dg-error to return statement line and change to dg-message.

From-SVN: r248270

7 years agore PR c++/80593 (GCC 7, aligned_storage and “dereferencing type-punned pointer will...
Richard Biener [Fri, 19 May 2017 12:34:54 +0000 (12:34 +0000)]
re PR c++/80593 (GCC 7, aligned_storage and “dereferencing type-punned pointer will break strict-aliasing rules”)

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

PR c++/80593
* c-warn.c (strict_aliasing_warning): Do not warn for accesses
to alias-set zero memory.

* g++.dg/warn/Wstrict-aliasing-bogus-char-2.C: New testcase.
* g++.dg/warn/Wstrict-aliasing-6.C: Adjust expected outcome.

From-SVN: r248269

7 years agocontext.h (context::set_passes): New.
Nathan Sidwell [Fri, 19 May 2017 12:32:48 +0000 (12:32 +0000)]
context.h (context::set_passes): New.

* context.h (context::set_passes): New.
* context.c (context::context): Do not create pass manager.
* toplev.c (general_init): Create pass manager here.

From-SVN: r248268

7 years agoPR libstdc++/80796 Add new std::search overload for C++17
Jonathan Wakely [Fri, 19 May 2017 12:11:31 +0000 (13:11 +0100)]
PR libstdc++/80796 Add new std::search overload for C++17

PR libstdc++/80796
* include/bits/stl_algo.h (search): Add new overload for C++17.
* testsuite/25_algorithms/search/searcher.cc: New.

From-SVN: r248266

7 years agors6000: Make constant formation a tiny bit better
Segher Boessenkool [Fri, 19 May 2017 11:29:21 +0000 (13:29 +0200)]
rs6000: Make constant formation a tiny bit better

If we cannot load a constant into a register in one insn, and that
constant is a valid mask (for rotate instructions), we currently
prefer to load -1 and then mask it.  This patch makes us not do that if
instead we could use two add or or instructions, since those are
sometimes faster on certain CPUs (and never are slower).

* config/rs6000/rs6000.md (splitter to load of -1 and mask): Don't
use this splitter if two add or or instructions would also work for
the constant we want to generate.

From-SVN: r248265

7 years agore PR tree-optimization/80821 (genmatch conflicting predicates)
Richard Biener [Fri, 19 May 2017 11:13:48 +0000 (11:13 +0000)]
re PR tree-optimization/80821 (genmatch conflicting predicates)

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

PR build/80821
* genmatch.c (dt_node::gen_kids_1): Add missing scope around
predicate evaluation.

From-SVN: r248264

7 years agoipa-inline.h (ipa_call_summary): Turn sizes into signed; add ctor.
Jan Hubicka [Fri, 19 May 2017 09:36:56 +0000 (11:36 +0200)]
ipa-inline.h (ipa_call_summary): Turn sizes into signed; add ctor.

* ipa-inline.h (ipa_call_summary): Turn sizes into signed;
add ctor.
* ipa-inline.c (want_inline_small_function_p): Do not cast to
unsigned.

From-SVN: r248263

7 years agoipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove.
Jan Hubicka [Fri, 19 May 2017 08:52:26 +0000 (10:52 +0200)]
ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove.

* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
(inline_edge_summary_vec): Turn into ...
(ipa_call_summaries): ... this one.
(redirect_to_unreachable, edge_set_predicate,
evaluate_properties_for_edge, inline_summary_alloc,
reset_ipa_call_summary, reset_inline_summary,
inline_summary_t::duplicate): Update.
(inline_edge_duplication_hook): Turn to ...
(ipa_call_summary_t::duplicate): ... this one.
(inline_edge_removal_hook): Turn to ...
(ipa_call_summary_t::remove): ... this one.
(dump_inline_edge_summary): Turn to ...
(dump_ipa_call_summary): ... this one.
(estimate_function_body_sizes): Update.
(inline_update_callee_summaries): Update.
(remap_edge_change_prob): Update.
(remap_edge_summaries): Update.
(inline_merge_summary): Update.
(do_estimate_edge_time): Update.
(inline_generate_summary): Update.
(inline_read_section): Update.
(inline_read_summary): Update.
(inline_free_summary): Update.
* ipa-inline.c (can_inline_edge_p): Update.
(compute_inlined_call_time): Update.
(want_inline_small_function_p): Update.
(edge_badness): Update.
(early_inliner): Update.
* ipa-inline.h (inline_edge_summary): Turn to ...
(ipa_call_summary): ... this one.
(ipa_call_summary_t): New class.
(inline_edge_summary_t, inline_edge_summary_vec): Remove.
(ipa_call_summaries): New.
(inline_edge_summary): Remove.
(estimate_edge_growth): Update.
* ipa-profile.c (ipa_propagate_frequency_1): Update.
* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
* ipa-split.c (execute_split_functions): Update.
* ipa.c (symbol_table::remove_unreachable_nodes): Update.

From-SVN: r248262

7 years agore PR middle-end/80764 (ICE at -O3 in both 32-bit and 64-bit modes on x86_64-linux...
Richard Biener [Fri, 19 May 2017 08:23:37 +0000 (08:23 +0000)]
re PR middle-end/80764 (ICE at -O3 in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in verify_loop_structure, at cfgloop.c:1644))

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

PR middle-end/80764
* cfgexpand.c (expand_gimple_cond): Fix loop fixup.

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

From-SVN: r248261

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

From-SVN: r248260

7 years agors6000: Separate shrink-wrapping for FPRs
Segher Boessenkool [Thu, 18 May 2017 23:38:04 +0000 (01:38 +0200)]
rs6000: Separate shrink-wrapping for FPRs

This patch implements separate shrink-wrapping for the non-volatile
floating point registers (FPR14..FPR31).  It is pretty much exactly
analogous to the code for GPRs.

* config/rs6000/rs6000.c (struct machine_function): Add field
fpr_is_wrapped_separately.
(rs6000_get_separate_components): Use 64 components.  Handle the
new FPR components.
(rs6000_components_for_bb): Handle the FPR components.
(rs6000_emit_prologue_components): Handle the FPR components.
(rs6000_emit_epilogue_components): Handle the FPR components.
(rs6000_set_handled_components): Handle the FPR components.
(rs6000_emit_prologue): Don't output prologue code for those FPRs
that are already separately shrink-wrapped.
(rs6000_emit_epilogue): Don't output epilogue code for those FPRs
that are already separately shrink-wrapped.

From-SVN: r248256

7 years agore PR go/80814 (commit aa443150c83535fedccb3dee80daa7e01fafd92d causes a build error.)
Ian Lance Taylor [Thu, 18 May 2017 22:44:12 +0000 (22:44 +0000)]
re PR go/80814 (commit aa443150c83535fedccb3dee80daa7e01fafd92d causes a build error.)

PR go/80814
* Makefile.am (AM_GOCFLAGS): Define.
* Makefile.in: Rebuild.

From-SVN: r248255

7 years agore PR target/80510 (Optimize Power7/power8 Altivec load/stores)
Michael Meissner [Thu, 18 May 2017 19:34:13 +0000 (19:34 +0000)]
re PR target/80510 (Optimize Power7/power8 Altivec load/stores)

[gcc]
2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80510
* config/rs6000/predicates.md (simple_offsettable_mem_operand):
New predicate.

* config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
(define_peephole2 for Altivec d-form load): Add peepholes to catch
cases where the register allocator uses a move and an offsettable
memory operation to/from a FPR register on ISA 2.06/2.07.
(define_peephole2 for Altivec d-form store): Likewise.

[gcc/testsuite]
2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/80510
* gcc.target/powerpc/pr80510-1.c: New test.
* gcc.target/powerpc/pr80510-2.c: Likewise.

From-SVN: r248254

7 years agoAdd testcase to ensure that #pragma GCC diagnostic push/pop works with -Wtraditional
Eric Gallager [Thu, 18 May 2017 18:55:33 +0000 (18:55 +0000)]
Add testcase to ensure that #pragma GCC diagnostic push/pop works with -Wtraditional

2017-05-18  Eric Gallager  <egall@gwmail.gwu.edu>

* gcc.dg/pragma-diag-7.c: New test.

From-SVN: r248253

7 years agogcc_release (build_gzip): Build xz tarball instead of bz2 tarball.
Matthias Klose [Thu, 18 May 2017 18:49:16 +0000 (18:49 +0000)]
gcc_release (build_gzip): Build xz tarball instead of bz2 tarball.

2017-05-18  Matthias Klose  <doko@ubuntu.com>

        * gcc_release (build_gzip): Build xz tarball instead of bz2 tarball.
        (build_diffs): Handle building diffs from either bz2 or xz tarballs,
        compress diffs using xz instead of bz2.
        (build_diff): Likewise.
        (upload_files): Check for *.xz files instead of *.bz2 files.
        (announce_snapshot): Announce xz tarball instead of bz2 tarball.
        (XZ): New definition.
        (<toplevel>): Look for both bz2 and xz compressed old tarballs.

From-SVN: r248251

7 years agocp-tree.h (OVL_ARG_DEPENDENT): Delete.
Nathan Sidwell [Thu, 18 May 2017 18:18:04 +0000 (18:18 +0000)]
cp-tree.h (OVL_ARG_DEPENDENT): Delete.

* cp-tree.h (OVL_ARG_DEPENDENT): Delete.
(OVL_USED_P): New.
(lookup_keep): Declare.
* name-lookup.c (add_function): Don't set OVL_ARG_DEPENDENT.
* pt.c (tsubst_copy): Assert lookup is persistent.
* semantics.c (finish_call_expr): Use lkp_iterator, call
lookup_keep.
* tree.c (ovl_copy): New.
(ovl_insert, ovl_iterator::remove_node): Copy immutable nodes.
(lookup_keep): New.

From-SVN: r248250

7 years agocompiler: ignore struct field tags for type conversion
Ian Lance Taylor [Thu, 18 May 2017 18:04:29 +0000 (18:04 +0000)]
compiler: ignore struct field tags for type conversion

    Go 1.8 includes a language change (https://golang.org/doc/go1.8#language):
    in an explicit conversion from one struct type to another, any field
    tags are ignored.

    This CL implements this language change in the gofrontend.  The tests
    for this are in the gc testsuite, which will be copied into the gccgo
    repository in due course.

    Updates golang/go#16085.

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

From-SVN: r248248

7 years agore PR target/80799 (x86-32 bits generates MMX without EMMS)
Uros Bizjak [Thu, 18 May 2017 18:03:30 +0000 (20:03 +0200)]
re PR target/80799 (x86-32 bits generates MMX without EMMS)

PR target/80799
* config/i386/mmx.md (*mov<mode>_internal): Enable
alternatives 11, 12, 13 and 14 also for 32bit targets.
Remove alternatives 15, 16, 17 and 18.
* config/i386/sse.md (vec_concatv2di): Change
alternative (!x, *y) to (x, ?!*Yn).

testsuite/ChangeLog:

PR target/80799
* g++.dg/other/i386-11.C: New test.

From-SVN: r248246

7 years agoPR libstdc++/80478 make std::mem_fn work with noexcept functions
Jonathan Wakely [Thu, 18 May 2017 17:32:06 +0000 (18:32 +0100)]
PR libstdc++/80478 make std::mem_fn work with noexcept functions

PR libstdc++/80478
* include/std/functional (_Mem_fn_traits_base): Add specializations
for noexcept member function types.
* testsuite/20_util/function_objects/mem_fn/80478.cc: New test.

From-SVN: r248245

7 years agodumpfile.h (enum dump_kind): Remove stray comma.
Paolo Carlini [Thu, 18 May 2017 17:19:53 +0000 (17:19 +0000)]
dumpfile.h (enum dump_kind): Remove stray comma.

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

* dumpfile.h (enum dump_kind): Remove stray comma.

From-SVN: r248244

7 years agoMakefile.in: Add ipa-predicate.o and ipa-predicate.h
Jan Hubicka [Thu, 18 May 2017 17:04:25 +0000 (17:04 +0000)]
Makefile.in: Add ipa-predicate.o and ipa-predicate.h

* Makefile.in: Add ipa-predicate.o and ipa-predicate.h
* ipa-inline-analysis.c (NUM_CONDITIONS): turn into
predicate::num_conditions
(IS_NOT_CONSTANT): turn into predicate::is_not_constant.
(CHANGED): turn into predicate::changed.
(agg_position_info): Move to ipa-predicate.h
(add_condition, predicate::add_clause, predicate::operator &=,
predicate::or_with, predicate::evaluate, predicate::probability,
dump_condition, dump_clause, predicate::dump,
predicate::remap_after_duplication, predicate::remap_after_inlining,
predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c
(evaluate_conditions_for_known_args): Update.
(set_cond_stmt_execution_predicate): Update.
* ipa-inline.h: Include ipa-predicate.h
(condition, inline_param_summary, conditions, agg_position_info,
predicate): Move to ipa-predicate.h
* ipa-predicate.c: New file.
* ipa-predicate.h: New file.

From-SVN: r248243

7 years agoc-format.c (local_tree_type_node): Add GTY attribute.
Bernd Edlinger [Thu, 18 May 2017 16:15:59 +0000 (16:15 +0000)]
c-format.c (local_tree_type_node): Add GTY attribute.

gcc/c-family:
2017-05-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * c-format.c (local_tree_type_node): Add GTY attribute.

gcc/c:
2017-05-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * config-lang.in (gtfiles): Add c-family/c-format.c.

From-SVN: r248242

7 years agoMakefile.in: Add ipa-predicate.o and ipa-predicate.h
Jan Hubicka [Thu, 18 May 2017 16:14:10 +0000 (16:14 +0000)]
Makefile.in: Add ipa-predicate.o and ipa-predicate.h

* Makefile.in: Add ipa-predicate.o and ipa-predicate.h
* ipa-inline-analysis.c (NUM_CONDITIONS): turn into
predicate::num_conditions
(IS_NOT_CONSTANT): turn into predicate::is_not_constant.
(CHANGED): turn into predicate::changed.
(agg_position_info): Move to ipa-predicate.h
(add_condition, predicate::add_clause, predicate::operator &=,
predicate::or_with, predicate::evaluate, predicate::probability,
dump_condition, dump_clause, predicate::dump,
predicate::remap_after_duplication, predicate::remap_after_inlining,
predicate::stream_in, predicate::stream_out): Move to ipa-predicate.c
(evaluate_conditions_for_known_args): Update.
(set_cond_stmt_execution_predicate): Update.
* ipa-inline.h: Include ipa-predicate.h
(condition, inline_param_summary, conditions, agg_position_info,
predicate): Move to ipa-predicate.h
* ipa-predicate.c: New file.
* ipa-predicate.h: New file.

From-SVN: r248241

7 years agoAdd an assert to leaf_function_p to ensure it is not called from a prolog or...
Wilco Dijkstra [Thu, 18 May 2017 15:58:33 +0000 (15:58 +0000)]
Add an assert to leaf_function_p to ensure it is not called from a prolog or...

Add an assert to leaf_function_p to ensure it is not called from a
prolog or epilog sequence (which would incorrectly return true in a
non-leaf function).  There are several targets which still call
leaf_function_p, and while most appear safe or appear aware of the
issue, it is likely not all such calls are safe.  This check enables
any such latent bugs to be found.

    gcc/
* final.c (leaf_function_p): Check we are not in a sequence.

From-SVN: r248240

7 years agocp-tree.h (OVL_USED): Replace with ...
Nathan Sidwell [Thu, 18 May 2017 15:20:04 +0000 (15:20 +0000)]
cp-tree.h (OVL_USED): Replace with ...

* cp-tree.h (OVL_USED): Replace with ...
(OVL_USING_P): ... this.
(ovl_iterator::using_p): Adjust.
* name-lookup.c (push_overloaded_decl_1)
do_nonmember_using_decl): Adjust.
* search.c (lookup_field_r): Adjust.
* tree.c (ovl_insert, ovl_scope): Adjust.
(--This line, and those below, will be ignored--

M    cp/tree.c
M    cp/cp-tree.h
M    cp/name-lookup.c
M    cp/search.c
M    cp/ChangeLog

From-SVN: r248229

7 years agoTransform TDF_{lang,tree,ipa,rtl} to dump_kind enum.
Martin Liska [Thu, 18 May 2017 14:23:46 +0000 (16:23 +0200)]
Transform TDF_{lang,tree,ipa,rtl} to dump_kind enum.

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

* cfgrtl.c (rtl_verify_edges): Remove usage of TDF_RTL.
* dumpfile.c (dump_register): Use new enum dump_kind.
(get_dump_file_name): Likewise.
(dump_enable_all): Likewise.
(dump_switch_p_1): Likewise.
(enable_rtl_dump_file): Remove usage of TDF_RTL.
* dumpfile.h (enum dump_kind): New enum type.
(struct dump_file_info): Create constructor and
format fields and comments.
* passes.c (pass_manager::register_one_dump_file):
Use num dump_kind.
* statistics.c (statistics_early_init): Likewise.
* tree-ssa-loop-prefetch.c (dump_mem_details): Replace
TDF_TREE with TDF_SLIM.
(gather_memory_references_ref): Likewise.

From-SVN: r248206

7 years agoDefine CONSTEXPR macro and use it in vec.h.
Martin Liska [Thu, 18 May 2017 14:22:01 +0000 (16:22 +0200)]
Define CONSTEXPR macro and use it in vec.h.

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

* ansidecl.h: Define CONSTEXPR macro.
2017-05-18  Martin Liska  <mliska@suse.cz>

* vec.h (struct vnull): Use it.

From-SVN: r248205

7 years agoipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h (true_predicate...
Jan Hubicka [Thu, 18 May 2017 14:18:08 +0000 (16:18 +0200)]
ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h (true_predicate...

* ipa-inline-analysis.c (predicate_conditions): Move to ipa-inline.h
(true_predicate, false_predicate, true_predicate_p,
false_predicate_p): Remove.
(single_cond_predicate, not_inlined_predicate): Turn to member function
in ipa-inline.h
(add_condition): Update.
(add_clause): Turn to...
(predicate::add_clause): ... this one; update; allow passing NULL
as parameter.
(and_predicates): Turn to ...
(predicate::operator &=): ... this one.
(predicates_equal_p): Move to predicate::operator == in ipa-inline.h
(or_predicates): Turn to ...
(predicate::or_with): ... this one.
(evaluate_predicate): Turn to ...
(predicate::evaluate): ... this one.
(predicate_probability): Turn to ...
(predicate::probability): ... this one.
(dump_condition): Update.
(dump_predicate): Turn to ...
(predicate::dump): ... this one.
(account_size_time): Update.
(edge_set_predicate): Update.
(set_hint_predicate): UPdate.
(evaluate_conditions_for_known_args): Update.
(evaluate_properties_for_edge): Update.
(remap_predicate_after_duplication): Turn to...
(predicate::remap_after_duplication): ... this one.
(remap_hint_predicate_after_duplication): Update.
(inline_summary_t::duplicate): UPdate.
(dump_inline_edge_summary): Update.
(dump_inline_summary): Update.
(set_cond_stmt_execution_predicate): Update.
(set_switch_stmt_execution_predicate): Update.
(compute_bb_predicates): Update.
(will_be_nonconstant_expr_predicate): Update.
(will_be_nonconstant_predicate): Update.
(phi_result_unknown_predicate): Update.
(predicate_for_phi_result): Update.
(array_index_predicate): Update.
(estimate_function_body_sizes): Update.
(estimate_node_size_and_time): Update.
(estimate_ipcp_clone_size_and_time): Update.
(remap_predicate): Rename to ...
(predicate::remap_after_inlining): ... this one.
(remap_hint_predicate): Update.
(inline_merge_summary): Update.
(inline_update_overall_summary): Update.
(estimate_size_after_inlining): Update.
(read_predicate): Rename to ...
(predicate::stream_in): ... this one.
(read_inline_edge_summary): Update.
(write_predicate): Rename to ...
(predicate::stream_out): ... this one.
(write_inline_edge_summary): Update.
* ipa-inline.h (MAX_CLAUSES): Turn to predicate::max_clauses.
(clause_t): Turn to uint32_t
(predicate): Turn to class; implement constructor and operators
==, !=, &
(size_time_entry): Update.
(inline_summary): Update.
(inline_edge_summary): Update.

From-SVN: r248204

7 years agofold-vec-div-float.c: Update dg-requires and dg-options statements.
Will Schmidt [Thu, 18 May 2017 14:08:13 +0000 (14:08 +0000)]
fold-vec-div-float.c: Update dg-requires and dg-options statements.

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

[gcc/testsuite]

* fold-vec-div-float.c: Update dg-requires and dg-options statements.
* fold-vec-div-floatdouble.c: Likewise.
* fold-vec-logical-ands-char.c: Likewise.
* fold-vec-logical-ands-int.c: Likewise.
* fold-vec-logical-ands-short.c: Likewise.
* fold-vec-logical-ors-char.c: Likewise.
* fold-vec-logical-ors-int.c: Likewise.
* fold-vec-logical-ors-short.c: Likewise.
* fold-vec-logical-other-char.c: Likewise.
* fold-vec-mule-misc.c: Likewise.
* fold-vec-mult-float.c: Likewise.
* fold-vec-mult-floatdouble.c: Likewise.
* fold-vec-mult-int.c: Likewise.
* fold-vec-mult-int128-p9.c: Likewise.
* fold-vec-sub-floatdouble.c: Likewise.
* fold-vec-div-longlong.c: Update dg-requires and dg-options statements.
Add lp64 requirement.
* fold-vec-mult-int128-p8.c: Likewise.
* fold-vec-logical-ors-longlong.c: Fix comment typo.

From-SVN: r248202

7 years agoFix up dg-option to resolve problems reported by David Edelshon for AIX.
Steven Munroe [Thu, 18 May 2017 14:01:11 +0000 (14:01 +0000)]
Fix up dg-option to resolve problems reported by David Edelshon for AIX.

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

* gcc.target/powerpc/bmi-andn-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-andn-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-bextr-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-bextr-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-bextr-4.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-bextr-5.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-blsi-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-blsi-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-blsmsk-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-blsmsk-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-blsr-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-blsr-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-tzcnt-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi-tzcnt-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-bzhi32-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-bzhi64-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-bzhi64-1a.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-mulx32-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-mulx32-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-mulx64-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-mulx64-2.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-pdep32-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-pdep64-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-pext32-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-pext64-1.c: Fix-up dg-options.
* gcc.target/powerpc/bmi2-pext64-1a.c: Fix-up dg-options.

From-SVN: r248201

7 years agoMore dump_flags_t conversion
Thomas Schwinge [Thu, 18 May 2017 13:34:29 +0000 (15:34 +0200)]
More dump_flags_t conversion

gcc/brig/
* brigfrontend/brig-to-generic.h (class brig_to_generic): Use
"dump_flags_t" for "m_dump_flags" member.

From-SVN: r248200

7 years ago* c-decl.c (pushdecl_top_level): Delete unused function.
Nathan Sidwell [Thu, 18 May 2017 13:03:55 +0000 (13:03 +0000)]
* c-decl.c (pushdecl_top_level): Delete unused function.

From-SVN: r248199

7 years agocp-tree.h (lookup_add): Swap args.
Nathan Sidwell [Thu, 18 May 2017 12:55:11 +0000 (12:55 +0000)]
cp-tree.h (lookup_add): Swap args.

* cp-tree.h (lookup_add): Swap args.
(ovl_cons, build_overload): Delete.
* name-lookup.c (add_function, push_overloaded_decl_1)
do_nonmember_using_decl, merge_functions, remove_hidden_names):
Use lookup_add, ovl_insert.
* pt.c (check_explicit_specialization): Use lookup_add.
(do_class_deduction): Likewise. Refactor if.
* tree.c (lookup_add): Swap args.
(ovl_cons, build_overload): Delete.
(--This line, and those below, will be ignored--

M    cp/cp-tree.h
M    cp/name-lookup.c
M    cp/pt.c
M    cp/ChangeLog
M    cp/tree.c

From-SVN: r248198

7 years agoc-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
Marek Polacek [Thu, 18 May 2017 11:26:25 +0000 (11:26 +0000)]
c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.

* c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
(c_common_fixed_point_type_for_size): Likewise.
(c_common_type_for_mode): Likewise.
(shorten_compare): Likewise.
(c_promoting_integer_type_p): Use false/true instead of 0/1.
* c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.

* c-decl.c (match_builtin_function_types): Use NULL_TREE instead of 0.
(check_earlier_gotos): Likewise.
(define_label): Likewise.
(pending_xref_error): Likewise.
(smallest_type_quals_location): Likewise.
(grokdeclarator): Likewise.
(grokparms): Likewise.
(identifier_global_value): Likewise.
* c-typeck.c (set_nonincremental_init_from_string): Likewise.
(find_init_member): Likewise.

From-SVN: r248195

7 years agoMove X==15-X to match.pd
Marc Glisse [Thu, 18 May 2017 11:05:55 +0000 (13:05 +0200)]
Move X==15-X to match.pd

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

* fold-const.c (fold_binary_loc): Move transformation...
* match.pd (C - X CMP X): ... here.

From-SVN: r248193

7 years agoc-common.c (self_promoting_args_p): Change the return type to bool.
Marek Polacek [Thu, 18 May 2017 10:55:59 +0000 (10:55 +0000)]
c-common.c (self_promoting_args_p): Change the return type to bool.

* c-common.c (self_promoting_args_p): Change the return type to bool.
Use false/true instead of 0/1.
* c-common.h (self_promoting_args_p): Update.

* c-decl.c (start_decl): Use false/true instead of 0/1.
(grokdeclarator): Likewise.
(finish_struct): Likewise.
(start_function): Change the return type to bool.  Use false/true
instead of 0/1.
(declspecs_add_qual): Use UNKNOWN_LOCATION instead of 0.
* c-tree.h (start_function): Update.
* c-typeck.c (same_translation_unit_p): Change the return type to bool.
(set_designator): Change the return type to bool.  Use false/true
instead of 0/1.

From-SVN: r248192

7 years agoname-lookup.c (find_local_binding): New, broken out of ...
Nathan Sidwell [Thu, 18 May 2017 10:49:48 +0000 (10:49 +0000)]
name-lookup.c (find_local_binding): New, broken out of ...

* name-lookup.c (find_local_binding): New, broken out of ...
(lookup_name_innermost_nonclass_level_1): ... here.  Call it.
(set_namespace_binding): Swap scope & name args.
(namespace_binding_1): Likewise.
(pushdecl_maybe_friend_1): Adjust set_namespace_binding call.
(push_overloaded_decl_1): Likewise.
(set_global_binding): Likewise.
(get_namespace_binding): Adjust namespace_binding_1 call.

From-SVN: r248191

7 years agoFix typos in libstdc++ manual
Jonathan Wakely [Thu, 18 May 2017 10:26:02 +0000 (11:26 +0100)]
Fix typos in libstdc++ manual

* doc/xml/manual/policy_data_structures.xml: Fix typo.
* doc/xml/manual/test_policy_data_structures.xml: Likewise.
* doc/html/*: Regenerate.

From-SVN: r248189

7 years agore PR fortran/79968 (diagnostics: merge similar diagnostics containing -fdec-structure)
Fritz Reese [Thu, 18 May 2017 10:24:37 +0000 (10:24 +0000)]
re PR fortran/79968 (diagnostics: merge similar diagnostics containing -fdec-structure)

2017-05-18  Fritz Reese <fritzoreese@gmail.com>

    PR fortran/79968

    gcc/fortran/ChangeLog:

PR fortran/79968
* decl.c (match_attr_spec, gfc_match_automatic,
gfc_match_static, gfc_match_structure_decl): Unify diagnostic
errors regarding -fdec options.
* io.c (match_dec_etag, match_dec_vtag, match_dec_ftag): Ditto.

From-SVN: r248188

7 years agoUpdate libstdc++ version info in manual
Jonathan Wakely [Thu, 18 May 2017 10:09:32 +0000 (11:09 +0100)]
Update libstdc++ version info in manual

* doc/xml/manual/abi.xml: Document latest library versions.
* doc/xml/manual/build_hacking.xml: Document requirement to update
abi.xml when bumping library versions.
* doc/html/*: Regenerate.

From-SVN: r248186

7 years agoMAINTAINERS: Add self to Write After Approval
Sheldon Lobo [Thu, 18 May 2017 09:38:47 +0000 (09:38 +0000)]
MAINTAINERS: Add self to Write After Approval

* MAINTAINERS: Add self to Write After Approval

From-SVN: r248185

7 years agoMinor SPARC T4 and M7 fixes and additions.
Sheldon Lobo [Thu, 18 May 2017 09:34:26 +0000 (09:34 +0000)]
Minor SPARC T4 and M7 fixes and additions.

* config/sparc/sparc.c (sparc_option_override): Set function
alignment for -mcpu=niagara7 to 64 to match the I$ line.
* config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
latency to 1.
* config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
latency to 2.
* config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.
* gcc.target/sparc/niagara7-align.c: New test.

From-SVN: r248184

7 years agore PR sanitizer/80797 (-fsanitize=null doesn't instrument &s->x)
Marek Polacek [Thu, 18 May 2017 07:18:24 +0000 (07:18 +0000)]
re PR sanitizer/80797 (-fsanitize=null doesn't instrument &s->x)

PR sanitizer/80797
* ubsan.c (instrument_null): Unwrap ADDR_EXPRs.
(pass_ubsan::execute): Call gimple_assign_single_p instead of
gimple_assign_load_p.

* c-c++-common/ubsan/null-12.c: New test.

From-SVN: r248179

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

From-SVN: r248178

7 years agoFix comparison of decimal float zeroes (PR80692)
Segher Boessenkool [Wed, 17 May 2017 21:57:23 +0000 (23:57 +0200)]
Fix comparison of decimal float zeroes (PR80692)

Decimal float negative zero should compare equal to positive zero.
Decimal float zeroes are encoded as value class "normal" (in real.c);
they need to be handled specially, but in this one case that does not
yet happen.  This fixes it.

PR middle-end/80692
* real.c (do_compare): Give decimal_do_compare preference over
comparing just the signs.

gcc/testsuite/
PR middle-end/80692
* gcc.c-torture/execute/pr80692.c: New testcase.

From-SVN: r248174

7 years agounwind-arm.h: Make _Unwind_GetIP...
Andreas Tobler [Wed, 17 May 2017 20:54:39 +0000 (22:54 +0200)]
unwind-arm.h: Make _Unwind_GetIP...

2017-05-17  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/arm/unwind-arm.h: Make _Unwind_GetIP, _Unwind_GetIPInfo and
    _Unwind_SetIP available as functions for arm*-*-freebsd*.
    * config/arm/unwind-arm.c: Implement the above.

From-SVN: r248173

7 years agore PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect behaviour...
Jerry DeLisle [Wed, 17 May 2017 20:33:34 +0000 (20:33 +0000)]
re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect behaviour of namelist READ)

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

PR libgfortran/80741
* gfortran.dg/read_4.f90: New test.

From-SVN: r248172

7 years agore PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect behaviour...
Jerry DeLisle [Wed, 17 May 2017 20:33:27 +0000 (20:33 +0000)]
re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect behaviour of namelist READ)

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

PR libgfortran/80741
* gfortran.dg/read_4.f90: New test.

From-SVN: r248171

7 years agore PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect behaviour...
Jerry DeLisle [Wed, 17 May 2017 20:33:20 +0000 (20:33 +0000)]
re PR fortran/80741 ([Regression 7/8] DTIO wrong code causes incorrect behaviour of namelist READ)

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

PR libgfortran/80741
* transfer.c (finalize_transfer): Reset last_char to 'empty'.
* file_pos.c (formatted_backspace): Likewise.
(st_endfile): Likewise.
(st_rewind): Likewise.
(st_flush): Likewise.

PR fortran/80741
* trans-io.c (transfer_namelist_element): Change check from
NULL_TREE to null_pointer_node.

From-SVN: r248170

7 years agolibgo: add "vendor" to pkgpath for vendored standard packages
Ian Lance Taylor [Wed, 17 May 2017 20:16:13 +0000 (20:16 +0000)]
libgo: add "vendor" to pkgpath for vendored standard packages

    Ensure that the packages vendored into the standard library do not
    have the same pkgpath as the actual packages.  If we don't, attempts
    to build and test the actual packages will get confused.  The specific
    error I was seeing was import loops, causing some of the packages to
    fail to get initialized, causing an obscure run time crash.

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

From-SVN: r248168

7 years agopr78604.c: Fix typo in dg-options.
Bill Schmidt [Wed, 17 May 2017 17:39:55 +0000 (17:39 +0000)]
pr78604.c: Fix typo in dg-options.

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

* gcc.target/powerpc/pr78604.c: Fix typo in dg-options.

From-SVN: r248165

7 years agoc-common.c: Use NULL_TREE instead of 0 where appropriate.
Marek Polacek [Wed, 17 May 2017 16:30:53 +0000 (16:30 +0000)]
c-common.c: Use NULL_TREE instead of 0 where appropriate.

* c-common.c: Use NULL_TREE instead of 0 where appropriate.
* c-warn.c: Likewise.

* c-decl.c: Use NULL_TREE instead of 0 where appropriate.
* c-typeck.c: Likewise.

From-SVN: r248161