]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
6 years agoWrap is_static with COLLECT_EXPORT_LIST
dje [Tue, 19 Jun 2018 22:42:37 +0000 (22:42 +0000)] 
Wrap is_static with COLLECT_EXPORT_LIST

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261775 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR middle-end/85602 - -Warray-bounds fails to detect the out of bound array access
msebor [Tue, 19 Jun 2018 22:35:45 +0000 (22:35 +0000)] 
PR middle-end/85602 - -Warray-bounds fails to detect the out of bound array access

gcc/testsuite/ChangeLog:
  * c-c++-common/attr-nonstring-8.c: Adjust text of expected warning
  to also match C++.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261774 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at
ebotcazou [Tue, 19 Jun 2018 21:31:44 +0000 (21:31 +0000)] 
* tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at
-O0 if the locus represent UNKNOWN_LOCATION but have different values.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261770 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-19 Aaron Sawdey <acsawdey@linux.ibm.com>
acsawdey [Tue, 19 Jun 2018 21:23:39 +0000 (21:23 +0000)] 
2018-06-19  Aaron Sawdey  <acsawdey@linux.ibm.com>

* config/rs6000/rs6000-string.c (select_block_compare_mode): Check
TARGET_EFFICIENT_OVERLAPPING_UNALIGNED here instead of in caller.
(do_and3, do_and3_mask, do_compb3, do_rotl3): New functions.
(expand_block_compare): Change select_block_compare_mode call.
(expand_strncmp_align_check): Use new functions, fix comment.
(emit_final_str_compare_gpr): New function.
(expand_strn_compare): Refactor and clean up code.
* config/rs6000/vsx.md (vsx_mov<mode>_64bit): Remove *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261769 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-19 Tony Reix <tony.reix@atos.com>
dje [Tue, 19 Jun 2018 19:17:46 +0000 (19:17 +0000)] 
2018-06-19  Tony Reix  <tony.reix@atos.com>
            Damien Bergamini  <damien.bergamini@atos.com>
            David Edelsohn  <dje.gcc@gmail.com>

        * collect2.c (static_obj): New variable.
        (static_libs): New variable.
        (is_in_list): Uncomment declaration.
        (main): Track AIX libraries linked statically.
        (is_in_list): Uncomment definition.
        (scan_prog_file): Don't add AIX shared libraries initializer
        to constructor list if linking statically.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261759 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * cp-tree.h (CONSTRUCTOR_NO_IMPLICIT_ZERO): Remove.
jason [Tue, 19 Jun 2018 18:59:51 +0000 (18:59 +0000)] 
* cp-tree.h (CONSTRUCTOR_NO_IMPLICIT_ZERO): Remove.

* constexpr.c: Use CONSTRUCTOR_NO_CLEARING instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261758 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/86192 - ICE with anonymous union passed to template.
jason [Tue, 19 Jun 2018 18:46:51 +0000 (18:46 +0000)] 
PR c++/86192 - ICE with anonymous union passed to template.

* pt.c (tsubst_expr) [DECL_EXPR]: Handle an anonymous union type
used to declare a named variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261757 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoxtensa: fix PR target/65416
jcmvbkbc [Tue, 19 Jun 2018 18:26:07 +0000 (18:26 +0000)] 
xtensa: fix PR target/65416

The issue is caused by reordering of stack pointer update after stack
space allocation with instructions that write to the allocated stack
space. In windowed ABI register spill area for the previous call frame
is located just below the stack pointer and may be reloaded back into
the register file on movsp.
Implement allocate_stack pattern for windowed ABI configuration and
insert an instruction that prevents reordering of frame memory access
and stack pointer update.

gcc/
2018-06-19  Max Filippov  <jcmvbkbc@gmail.com>

* config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
constant.
(allocate_stack, frame_blockage, *frame_blockage): New patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261755 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agogcc/testsuite/ChangeLog:
msebor [Tue, 19 Jun 2018 17:30:47 +0000 (17:30 +0000)] 
gcc/testsuite/ChangeLog:

PR middle-end/85602
* c-c++-common/attr-nonstring-8.c: Adjust text of expected warning
to also match C++.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261751 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRemove unused <exception> header from <utility>
redi [Tue, 19 Jun 2018 17:19:16 +0000 (17:19 +0000)] 
Remove unused <exception> header from <utility>

This header was needed for the declaration of std::terminate but the
calls to it were removed in r242401.

* include/std/utility: Remove unused <exception> header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261749 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * tree.c (find_decls_types_r): Remove all non-VAR_DECLs from
hubicka [Tue, 19 Jun 2018 15:56:27 +0000 (15:56 +0000)] 
* tree.c (find_decls_types_r): Remove all non-VAR_DECLs from
blocks.
* g++.dg/lto/pr84805_0.C: Update template.
* g++.dg/lto/pr84805_1.C: Update template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261748 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * es.po: Update.
jsm28 [Tue, 19 Jun 2018 15:04:55 +0000 (15:04 +0000)] 
* es.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261745 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoClean-up usage of ipa_fn_summary and ipa_call_summary summaries.
marxin [Tue, 19 Jun 2018 14:31:20 +0000 (14:31 +0000)] 
Clean-up usage of ipa_fn_summary and ipa_call_summary summaries.

2018-06-19  Martin Liska  <mliska@suse.cz>

* config/i386/i386.c (ix86_can_inline_p): Do not use
        ipa_fn_summaries::get_create.
* ipa-cp.c (ipcp_cloning_candidate_p): Replace get_create with
        get.
(devirtualization_time_bonus): Likewise.
(ipcp_propagate_stage): Likewise.
* ipa-fnsummary.c (redirect_to_unreachable): Likewise.
(edge_set_predicate): Likewise.
(evaluate_conditions_for_known_args): Likewise.
(evaluate_properties_for_edge): Likewise.
(ipa_call_summary::reset): Tranform to ...
(ipa_call_summary::~ipa_call_summary): ... this.
(ipa_fn_summary::reset): Transform to ...
(ipa_fn_summary::~ipa_fn_summary): ... this.
(ipa_fn_summary_t::remove): Rename to ...
(ipa_fn_summary_t::remove_callees): ... this.
(ipa_fn_summary_t::duplicate): Use placement new
        instead of memory copy.
(ipa_call_summary_t::duplicate): Likewise.
(ipa_call_summary_t::remove): Remove.
(dump_ipa_call_summary): Change get_create to get.
(ipa_dump_fn_summary): Dump only when summary exists.
(analyze_function_body): Use symbol_summary::get instead
        of get_create.
(compute_fn_summary): Likewise.
(estimate_edge_devirt_benefit): Likewise.
(estimate_edge_size_and_time): Likewise.
(inline_update_callee_summaries): Likewise.
(remap_edge_change_prob): Likewise.
(remap_edge_summaries): Likewise.
(ipa_merge_fn_summary_after_inlining): Likewise.
(write_ipa_call_summary): Likewise.
(ipa_fn_summary_write): Likewise.
(ipa_free_fn_summary): Likewise.
* ipa-fnsummary.h (struct GTY): Add new ctor and copy ctor.
(struct ipa_call_summary): Likewise.
* ipa-icf.c (sem_function::merge): Use symbol_summary::get instead
        of get_create.
* ipa-inline-analysis.c (do_estimate_edge_time): Likewise.
(estimate_size_after_inlining): Likewise.
(estimate_growth): Likewise.
(growth_likely_positive): Likewise.
* ipa-inline-transform.c (clone_inlined_nodes): Likewise.
(inline_call): Likewise.
* ipa-inline.c (caller_growth_limits): Likewise.
(can_inline_edge_p): Likewise.
(can_inline_edge_by_limits_p): Likewise.
(compute_uninlined_call_time): Likewise.
(compute_inlined_call_time): Likewise.
(want_inline_small_function_p): Likewise.
(edge_badness): Likewise.
(update_caller_keys): Likewise.
(update_callee_keys): Likewise.
(inline_small_functions): Likewise.
(inline_to_all_callers_1): Likewise.
(dump_overall_stats): Likewise.
(early_inline_small_functions): Likewise.
(early_inliner): Likewise.
* ipa-profile.c (ipa_propagate_frequency_1): Likewise.
* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
* ipa-pure-const.c (malloc_candidate_p): Likewise.
* ipa-split.c (execute_split_functions): Likewise.
* symbol-summary.h: Likewise.
* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
2018-06-19  Martin Liska  <mliska@suse.cz>

* lto-partition.c (add_symbol_to_partition_1): Use symbol_summary::get instead
        of get_create.
(undo_partition): Likewise.
(lto_balanced_map): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261744 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoImprove gimple.vim syntax file.
marxin [Tue, 19 Jun 2018 12:46:26 +0000 (12:46 +0000)] 
Improve gimple.vim syntax file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261742 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoAdd initial version of rtl.vim syntax file.
marxin [Tue, 19 Jun 2018 12:45:57 +0000 (12:45 +0000)] 
Add initial version of rtl.vim syntax file.

2018-06-19  Martin Liska  <mliska@suse.cz>

* gcc-rtl.vim: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261741 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jun 2018 12:25:06 +0000 (12:25 +0000)] 
2018-06-19  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.c (try_vectorize_loop_1): Split out of ...
(vectorize_loops): ... here.  Fix dbgcnt handling.
(try_vectorize_loop): Wrap try_vectorize_loop_1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261740 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoAllow building of the zlib component when the building takes place in the source...
nickc [Tue, 19 Jun 2018 11:49:08 +0000 (11:49 +0000)] 
Allow building of the zlib component when the building takes place in the source directory.

* zlib/configure.ac: Restore old behaviour of only enabling
multilibs when a target subdirectory is defined.  This allows
building with srcdir == builddir.
* zlib/configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261739 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agors6000: Fix vector homogeneous aggregates (PR86197)
segher [Tue, 19 Jun 2018 10:52:39 +0000 (10:52 +0000)] 
rs6000: Fix vector homogeneous aggregates (PR86197)

The existing code allows only 4 vectors worth of ieee128 homogeneous
aggregates, but it should be 8.  This happens because at one spot it
is mistakenly qualified as being passed in floating point registers.

PR target/86197
* config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An
ieee128 argument takes up only one (vector) register, not two (floating
point) registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261738 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * gimplify.c (gimplify_init_constructor): Really never clear for an
ebotcazou [Tue, 19 Jun 2018 09:37:31 +0000 (09:37 +0000)] 
* gimplify.c (gimplify_init_constructor): Really never clear for an
incomplete constructor if CONSTRUCTOR_NO_CLEARING is set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261735 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRemove unused stagestuff in config-lang.in.
marxin [Tue, 19 Jun 2018 09:03:55 +0000 (09:03 +0000)] 
Remove unused stagestuff in config-lang.in.

2018-06-19  Martin Liska  <mliska@suse.cz>

* config-lang.in: Remove stagestuff.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261733 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jun 2018 06:53:04 +0000 (06:53 +0000)] 
2018-06-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/86179
* tree-vect-patterns.c (vect_pattern_recog_1): Clean up
after failed recognition.

* gcc.dg/pr86179.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261731 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * tree.c (cp_expr_location): New.
jason [Tue, 19 Jun 2018 00:38:44 +0000 (00:38 +0000)] 
* tree.c (cp_expr_location): New.

* cp-tree.h (cp_expr_loc_or_loc): New.
* call.c, cvt.c, constexpr.c, constraint.cc, cp-gimplify.c, decl.c,
error.c, init.c, lex.c, parser.c, pt.c, semantics.c, typeck.c,
typeck2.c: Use it instead of EXPR_LOC_OR_LOC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261728 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoUse a range for LAMBDA_EXPR_LOCATION.
jason [Tue, 19 Jun 2018 00:38:38 +0000 (00:38 +0000)] 
Use a range for LAMBDA_EXPR_LOCATION.

* parser.c (cp_parser_lambda_expression): Use a range for
LAMBDA_EXPR_LOCATION.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261727 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/86200 - ICE with unexpanded pack in lambda parameter.
jason [Tue, 19 Jun 2018 00:38:32 +0000 (00:38 +0000)] 
PR c++/86200 - ICE with unexpanded pack in lambda parameter.

* pt.c (find_parameter_packs_r) [LAMBDA_EXPR]: Also look into the
function type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261726 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/81060 - ICE with unexpanded parameter pack.
jason [Tue, 19 Jun 2018 00:38:26 +0000 (00:38 +0000)] 
PR c++/81060 - ICE with unexpanded parameter pack.

* pt.c (check_for_bare_parameter_packs): Add loc parameter.
* decl.c (grokdeclarator): Call it for qualifying_scope.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261725 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Tue, 19 Jun 2018 00:16:40 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261724 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR middle-end/85602 - -Wsizeof-pointer-memaccess for strncat with size of source
msebor [Mon, 18 Jun 2018 22:17:57 +0000 (22:17 +0000)] 
PR middle-end/85602 - -Wsizeof-pointer-memaccess for strncat with size of source

gcc/c-family/ChangeLog:

PR middle-end/85602
* c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
nonstring.

gcc/ChangeLog:

PR middle-end/85602
* calls.c (maybe_warn_nonstring_arg): Handle strncat.
* tree-ssa-strlen.c (is_strlen_related_p): Make extern.
Handle integer subtraction.
(maybe_diag_stxncpy_trunc): Handle nonstring source arguments.
* tree-ssa-strlen.h (is_strlen_related_p): Declare.

gcc/testsuite/ChangeLog:

PR middle-end/85602
* gcc.dg/attr-nonstring-2.c: Adjust text of expected warning.
* c-c++-common/attr-nonstring-8.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261718 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * Makefile.def (fortran): Add check-target-libgomp-fortran.
ebotcazou [Mon, 18 Jun 2018 22:01:58 +0000 (22:01 +0000)] 
* Makefile.def (fortran): Add check-target-libgomp-fortran.
* Makefile.tpl (check-target-libgomp-fortran): New phony target.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261717 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 2975 ensure construct(pair<T,U>*, ...) used to construct pairs
redi [Mon, 18 Jun 2018 20:17:44 +0000 (20:17 +0000)] 
LWG 2975 ensure construct(pair<T,U>*, ...) used to construct pairs

* include/std/scoped_allocator (__not_pair): Define SFINAE helper.
(construct(_Tp*, _Args&&...)): Remove from overload set when _Tp is
a specialization of std::pair.
* testsuite/20_util/scoped_allocator/construct_pair.cc: Ensure
pair elements are constructed correctly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261716 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoMore rtx to rtx_insn * cleanups
dmalcolm [Mon, 18 Jun 2018 19:59:13 +0000 (19:59 +0000)] 
More rtx to rtx_insn * cleanups

gcc/ChangeLog:
* config/frv/frv-protos.h (frv_ifcvt_modify_insn): Strengthen 3rd
param from rtx to rtx_insn *.
* config/frv/frv.c (frv_ifcvt_add_insn): Likewise for "insn"
param.
(frv_ifcvt_modify_insn): Likwise.
(frv_ifcvt_modify_final): Likwise for local "existing_insn",
adding an as_a <rtx_insn *> cast.  Likewise for local "insn".
* config/mips/mips.c (r10k_insert_cache_barriers): Add an
as_a <rtx_insn *> cast to local "unprotected_region" once
it's been established that it's not NULL or pc_rtx.
* config/nds32/nds32-relax-opt.c (nds32_group_insns): Strengthen
param "sethi" from rtx to rtx_insn *.
(nds32_group_float_insns): Likewise for param "insn".
* config/vax/vax-protos.h (vax_output_int_add): Likewise for 1st
param.
(vax_output_int_subtract): Likewise.
* config/vax/vax.c (vax_output_int_add): Likewise for param
"insn".
(vax_output_int_subtract): Likewise.
* emit-rtl.c (set_insn_deleted): Likewise, removing cast.
(emit_pattern_after): Likewise for param "after".
(emit_insn_after): Likewise.
(emit_jump_insn_after): Likewise.
(emit_call_insn_after): Likewise.
(emit_debug_insn_after): Likewise.
(emit_pattern_before): Likewise for param "before".
(emit_insn_before): Likewise.
(emit_jump_insn_before): Likewise.
* final.c (get_insn_template): Likewise for param "insn", removing
a cast.
* output.h (get_insn_template): Likewise for 2nd param.
* rtl.h (emit_insn_before): Likewise.
(emit_jump_insn_before): Likewise.
(emit_debug_insn_before_noloc): Likewise.
(emit_insn_after): Likewise.
(emit_jump_insn_after): Likewise.
(emit_call_insn_after): Likewise.
(emit_debug_insn_after): Likewise.
(set_insn_deleted): Likewise for param.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261715 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago[gcc]
meissner [Mon, 18 Jun 2018 19:10:08 +0000 (19:10 +0000)] 
[gcc]
2018-06-18  Michael Meissner  <meissner@linux.ibm.com>

PR target/85358
* config/rs6000/rs6000-modes.def (toplevel): Rework the 128-bit
floating point modes, so that IFmode is numerically greater than
TFmode, which is greater than KFmode using FRACTIONAL_FLOAT_MODE
to declare the ordering.  This prevents IFmode from being
converted to TFmode when long double is IEEE 128-bit on an ISA 3.0
machine.  Include rs6000-modes.h to share the fractional values
between genmodes* and the rest of the compiler.
(IFmode): Likewise.
(KFmode): Likewise.
(TFmode): Likewise.
* config/rs6000/rs6000-modes.h: New file.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Change the
meaning of rs6000_long_double_size so that 126..128 selects an
appropriate 128-bit floating point type.
(rs6000_option_override_internal): Likewise.
* config/rs6000/rs6000.h (toplevel): Include rs6000-modes.h.
(TARGET_LONG_DOUBLE_128): Change the meaning of
rs6000_long_double_size so that 126..128 selects an appropriate
128-bit floating point type.
(LONG_DOUBLE_TYPE_SIZE): Update comment.
* config/rs6000/rs6000.md (trunciftf2): Correct the modes of the
source and destination to match the standard usage.
(truncifkf2): Likewise.
(copysign<mode>3, IEEE iterator): Rework copysign of float128 on
ISA 2.07 to use an explicit clobber, instead of passing in a
temporary.
(copysign<mode>3_soft): Likewise.

[libgcc]
2018-06-18  Michael Meissner  <meissner@linux.ibm.com>

* config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128
support modules with -mno-gnu-attribute.
* config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261712 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 2989 hide path iostream operators from normal lookup
redi [Mon, 18 Jun 2018 18:59:44 +0000 (18:59 +0000)] 
LWG 2989 hide path iostream operators from normal lookup

By only defining these operators as friends (with no namespace-scope
declaration) they can only be found by ADL and do not participate in
overload resolution for arguments of types other than path.

LWG 2989 hide path iostream operators from normal lookup
* include/bits/fs_path.h (operator<<, operator>>): Define inline as
friends.
* testsuite/27_io/filesystem/path/io/dr2989.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261711 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoIntroduce DUMP_VECT_SCOPE macro
dmalcolm [Mon, 18 Jun 2018 18:49:40 +0000 (18:49 +0000)] 
Introduce DUMP_VECT_SCOPE macro

gcc/ChangeLog:
* tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
Replace dump_printf_loc call with DUMP_VECT_SCOPE.
(vect_slp_analyze_instance_dependence): Likewise.
(vect_enhance_data_refs_alignment): Likewise.
(vect_analyze_data_refs_alignment): Likewise.
(vect_slp_analyze_and_verify_instance_alignment
(vect_analyze_data_ref_accesses): Likewise.
(vect_prune_runtime_alias_test_list): Likewise.
(vect_analyze_data_refs): Likewise.
* tree-vect-loop-manip.c (vect_update_inits_of_drs): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
(vect_analyze_scalar_cycles_1): Likewise.
(vect_get_loop_niters): Likewise.
(vect_analyze_loop_form_1): Likewise.
(vect_update_vf_for_slp): Likewise.
(vect_analyze_loop_operations): Likewise.
(vect_analyze_loop): Likewise.
(vectorizable_induction): Likewise.
(vect_transform_loop): Likewise.
* tree-vect-patterns.c (vect_pattern_recog): Likewise.
* tree-vect-slp.c (vect_analyze_slp): Likewise.
(vect_make_slp_decision): Likewise.
(vect_detect_hybrid_slp): Likewise.
(vect_slp_analyze_operations): Likewise.
(vect_slp_bb): Likewise.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
(vectorizable_bswap): Likewise.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
* tree-vectorizer.h (DUMP_VECT_SCOPE): New macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261710 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/86171 - ICE with recursive alias instantiation.
jason [Mon, 18 Jun 2018 18:16:38 +0000 (18:16 +0000)] 
PR c++/86171 - ICE with recursive alias instantiation.

* pt.c (tsubst_decl): Handle recursive alias instantiation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261709 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 3050 Fix cv-qualification of convertibility constraints
redi [Mon, 18 Jun 2018 18:02:24 +0000 (18:02 +0000)] 
LWG 3050 Fix cv-qualification of convertibility constraints

LWG 3050 Fix cv-qualification of convertibility constraints
* include/std/chrono (duration, operator*, operator/, operator%): Use
const-qualified type as source type in is_convertible constraints.
* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
* testsuite/20_util/duration/cons/dr3050.cc: New.
* testsuite/20_util/duration/literals/range.cc: Rename to...
* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
dg-error lineno.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261708 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-18 Maya Rashish <coypu@sdf.org>
law [Mon, 18 Jun 2018 17:28:53 +0000 (17:28 +0000)] 
2018-06-18  Maya Rashish  <coypu@sdf.org>

* crossconfig.m4: Handle OpenBSD just like NetBSD.
* configure: Rebuilt.

* config/alpha/openbsd.h (TARGET_DEFAULT): Define.
(LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
(INTMAX_TYPE, UINTMAX_TYPE, WINT_TYPE): Likewise.

* config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Move from
here to ...
* config/alpha/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261707 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoP0754R2 <version> header
redi [Mon, 18 Jun 2018 16:42:11 +0000 (16:42 +0000)] 
P0754R2 <version> header

* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Change doxygen comment to suggest <version>
instead of <iosfwd>.
* include/precompiled/stdc++.h: Include <cwchar> and <cwctype>
unconditionally.  Add C++17 and C++20 headers.
* include/std/version: New header.
* testsuite/17_intro/headers/c++2017/all_attributes.cc: New.
* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++2017/all_no_rtti.cc: New.
* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: New.
* testsuite/17_intro/headers/c++2017/operator_names.cc: New.
* testsuite/17_intro/headers/c++2017/stdc++.cc: New.
* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
New.
* testsuite/17_intro/headers/c++2020/all_attributes.cc: New.
* testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++2020/all_no_rtti.cc: New.
* testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: New.
* testsuite/17_intro/headers/c++2020/operator_names.cc: New.
* testsuite/17_intro/headers/c++2020/stdc++.cc: New.
* testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc:
New.
* testsuite/18_support/headers/version/macros.cc: New.
* testsuite/18_support/headers/version/macros.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261706 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR tree-optimization/81384 - built-in form of strnlen missing
msebor [Mon, 18 Jun 2018 16:32:59 +0000 (16:32 +0000)] 
PR tree-optimization/81384 - built-in form of strnlen missing

gcc/ChangeLog:

PR tree-optimization/81384
* builtin-types.def (BT_FN_SIZE_CONST_STRING_SIZE): New.
* builtins.c (expand_builtin_strnlen): New function.
(expand_builtin): Call it.
(fold_builtin_n): Avoid setting TREE_NO_WARNING.
* builtins.def (BUILT_IN_STRNLEN): New.
* calls.c (maybe_warn_nonstring_arg): Handle BUILT_IN_STRNLEN.
Warn for bounds in excess of maximum object size.
* tree-ssa-strlen.c (maybe_set_strlen_range): Return tree representing
single-value ranges.  Handle strnlen.
(handle_builtin_strlen): Handle strnlen.
(strlen_check_and_optimize_stmt): Same.
* doc/extend.texi (Other Builtins): Document strnlen.

gcc/testsuite/ChangeLog:

PR tree-optimization/81384
* gcc.c-torture/execute/builtins/lib/strnlen.c: New test.
* gcc.c-torture/execute/builtins/strnlen-lib.c: New test.
* gcc.c-torture/execute/builtins/strnlen.c: New test.
* gcc.dg/attr-nonstring-2.c: New test.
* gcc.dg/attr-nonstring-3.c: New test.
* gcc.dg/attr-nonstring-4.c: New test.
* gcc.dg/strlenopt-45.c: New test.
* gcc.dg/strlenopt.h (strnlen):  Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261705 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoFix bootstrap failure for bare metal due to autoconf link tests
redi [Mon, 18 Jun 2018 16:01:24 +0000 (16:01 +0000)] 
Fix bootstrap failure for bare metal due to autoconf link tests

The AC_CHECK_FUNCS tests cause the build to fail for bare metal cross
compilers, where link tests are not allowed. Replace them with
GCC_TRY_COMPILE_OR_LINK tests instead. Skip all the Filesystem
dependency checks if not building the filesystem library.

* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Only check when
enable_libstdcxx_filesystem_ts = yes. Check for link, readlink and
symlink.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Remove AC_CHECK_FUNCS for link, readlink and symlink.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261704 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 3035. std::allocator's constructors should be constexpr
redi [Mon, 18 Jun 2018 15:47:07 +0000 (15:47 +0000)] 
LWG 3035. std::allocator's constructors should be constexpr

LWG 3035. std::allocator's constructors should be constexpr
* include/bits/allocator.h (allocator): Add constexpr to constructors
for C++2a. Replace dynamic exception specifications with NOTHROW
macro.
(allocator, operator==, operator!=): Replace USE_NOEXCEPT macro with
NOTHROW.
* include/bits/c++config (_GLIBCXX20_CONSTEXPR): Define.
* include/ext/malloc_allocator.h (malloc_allocator): Add constexpr
to constructors for C++2a.
* include/ext/new_allocator.h (new_allocator): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261703 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-18 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 18 Jun 2018 14:34:50 +0000 (14:34 +0000)] 
2018-06-18  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (duplicate_decls): Consistently use DECL_SOURCE_LOCATION
in errors about redefined default arguments; tidy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261702 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-18 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Mon, 18 Jun 2018 14:04:37 +0000 (14:04 +0000)] 
2018-06-18  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* tree.c (escaped_string::escape): Replace cast to char * by
const_cast<char *> (unescaped).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261700 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago[testsuite] Add target pthread to pr86076.c
wilco [Mon, 18 Jun 2018 12:17:10 +0000 (12:17 +0000)] 
[testsuite] Add target pthread to pr86076.c

Add missing target pthread to ensure test doesn't fail on bare-metal
targets. Committed as obvious.

    testsuite/
PR tree-optimization/86076
* gcc.dg/pr86076.c: Add target pthread for bare-metal targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261699 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago[testsuite] Remove xfail from vect-abs-compile.c
wilco [Mon, 18 Jun 2018 11:10:51 +0000 (11:10 +0000)] 
[testsuite] Remove xfail from vect-abs-compile.c

Since PR64946 has been fixed, we can remove the xfail from this test.
Committed as obvious.

    testsuite/
PR tree-optimization/64946
* gcc.target/aarch64/vect-abs-compile.c: Remove xfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261698 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoEnsure that control characters in user supplied error and warning messages are escaped.
nickc [Mon, 18 Jun 2018 10:39:01 +0000 (10:39 +0000)] 
Ensure that control characters in user supplied error and warning messages are escaped.

PR 84195
* tree.c (escaped_string): New class.  Converts an unescaped
string into its escaped equivalent.
(warn_deprecated_use): Use the new class to convert the
deprecation message, if present.
(test_escaped_strings): New self test.
(test_c_tests): Add test_escaped_strings.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261697 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * tree.c (decl_value_expr_lookup): Revert latest change.
ebotcazou [Mon, 18 Jun 2018 07:52:22 +0000 (07:52 +0000)] 
* tree.c (decl_value_expr_lookup): Revert latest change.
(decl_value_expr_insert): Likewise.
fortran/
* trans-decl.c (gfc_get_fake_result_decl): Revert latest change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261696 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Mon, 18 Jun 2018 00:16:42 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261695 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRemove superfluous prefix
ebotcazou [Sun, 17 Jun 2018 14:24:46 +0000 (14:24 +0000)] 
Remove superfluous prefix

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261688 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * gimplify.c (nonlocal_vlas): Delete.
ebotcazou [Sun, 17 Jun 2018 11:36:58 +0000 (11:36 +0000)] 
* gimplify.c (nonlocal_vlas): Delete.
(nonlocal_vla_vars): Likewise.
(gimplify_var_or_parm_decl): Do not add debug VAR_DECLs for non-local
referenced VLAs.
(gimplify_body): Do not create and destroy nonlocal_vlas.
* tree-nested.c: Include diagnostic.h.
(use_pointer_in_frame): Tweak.
(lookup_field_for_decl): Add assertion and declare the transformation.
(convert_nonlocal_reference_op) <PARM_DECL>: Rework and issue an
internal error when the reference is in a wrong context.  Do not
create a debug decl by default.
(note_nonlocal_block_vlas): Delete.
(convert_nonlocal_reference_stmt) <GIMPLE_BIND>: Do not call it.
(convert_local_reference_op) <PARM_DECL>: Skip the frame decl.  Do not
create a debug decl by default.
(convert_gimple_call) <GIMPLE_CALL>: Issue an internal error when the
call is in a wrong context.
(fixup_vla_decls): New function.
(finalize_nesting_tree_1): Adjust comment.  Call fixup_vla_decls if no
debug variables were created.
* tree.c (decl_value_expr_lookup): Add checking assertion.
(decl_value_expr_insert): Likewise.
fortran/
* fortran/trans-decl.c (nonlocal_dummy_decl_pset): Delete.
(nonlocal_dummy_decls): Likewise.
(gfc_nonlocal_dummy_array_decl): Likewise.
(gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl.
(gfc_get_fake_result_decl): Do not generate a new DECL if simply
reusing the result of a recursive call.
(gfc_generate_function_code): Do not create, insert and destroy
nonlocal_dummy_decls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261687 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Sun, 17 Jun 2018 00:16:41 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261686 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agogcc/ChangeLog:
kugan [Sat, 16 Jun 2018 21:39:31 +0000 (21:39 +0000)] 
gcc/ChangeLog:

2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/82479
* ipa-fnsummary.c (will_be_nonconstant_expr_predicate): Handle CALL_EXPR.
* tree-scalar-evolution.c (interpret_expr): Likewise.
(expression_expensive_p): Likewise.
* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Likewise.
* tree-ssa-loop-niter.c (number_of_iterations_popcount): New.
(number_of_iterations_exit_assumptions): Use number_of_iterations_popcount.
(ssa_defined_by_minus_one_stmt_p): New.

gcc/testsuite/ChangeLog:

2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/82479
* gcc.dg/tree-ssa/popcount.c: New test.
* gcc.dg/tree-ssa/popcount2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261682 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agogcc/ChangeLog:
kugan [Sat, 16 Jun 2018 21:34:29 +0000 (21:34 +0000)] 
gcc/ChangeLog:

2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/64946
* cfgexpand.c (expand_debug_expr): Hande ABSU_EXPR.
* config/i386/i386.c (ix86_add_stmt_cost): Likewise.
* dojump.c (do_jump): Likewise.
* expr.c (expand_expr_real_2): Check operand type's sign.
* fold-const.c (const_unop): Handle ABSU_EXPR.
(fold_abs_const): Likewise.
* gimple-pretty-print.c (dump_unary_rhs): Likewise.
* gimple-ssa-backprop.c (backprop::process_assign_use): Likesie.
(strip_sign_op_1): Likesise.
* match.pd: Add new pattern to generate ABSU_EXPR.
* optabs-tree.c (optab_for_tree_code): Handle ABSU_EXPR.
* tree-cfg.c (verify_gimple_assign_unary): Likewise.
* tree-eh.c (operation_could_trap_helper_p): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-vect-patterns.c (vect_recog_sad_pattern): Likewise.
* tree.def (ABSU_EXPR): New.

gcc/c-family/ChangeLog:

2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>

* c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.

gcc/c/ChangeLog:

2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>

* c-typeck.c (build_unary_op): Handle ABSU_EXPR;
* gimple-parser.c (c_parser_gimple_statement): Likewise.
(c_parser_gimple_unary_expression): Likewise.

gcc/cp/ChangeLog:

2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>

* constexpr.c (potential_constant_expression_1): Handle ABSU_EXPR.
* cp-gimplify.c (cp_fold): Likewise.

gcc/testsuite/ChangeLog:

2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR middle-end/64946
* gcc.dg/absu.c: New test.
* gcc.dg/gimplefe-29.c: New test.
* gcc.target/aarch64/pr64946.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261681 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR middle-end/86095
jakub [Sat, 16 Jun 2018 06:51:32 +0000 (06:51 +0000)] 
PR middle-end/86095
* common.opt (Wunsafe-loop-optimizations): Add Ignore, remove Var,
documented as preserved for backward compatibility only.
* doc/invoke.texi: Remove -Wunsafe-loop-optimizations documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261679 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR rtl-optimization/86108
jakub [Sat, 16 Jun 2018 06:50:31 +0000 (06:50 +0000)] 
PR rtl-optimization/86108
* bb-reorder.c (create_forwarder_block): Renamed to ...
(create_eh_forwarder_block): ... this.  Split OLD_BB after labels and
jump from new landing pad to the second part.
(sjlj_fix_up_crossing_landing_pad, dw2_fix_up_crossing_landing_pad):
Adjust callers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261678 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/86147 - wrong capture for template argument.
jason [Sat, 16 Jun 2018 06:35:53 +0000 (06:35 +0000)] 
PR c++/86147 - wrong capture for template argument.

* expr.c (mark_use): Look through NOP_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261676 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * config.guess: Import latest version.
bje [Sat, 16 Jun 2018 03:32:40 +0000 (03:32 +0000)] 
* config.guess: Import latest version.
* config.sub: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261675 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Sat, 16 Jun 2018 00:16:50 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261674 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 3076 basic_string CTAD ambiguity
redi [Fri, 15 Jun 2018 23:47:33 +0000 (23:47 +0000)] 
LWG 3076 basic_string CTAD ambiguity

When deduction guides are supported by the compiler (i.e. for C++17 and
later) replace two basic_string constructors by constrained function
templates as required by LWG 3075. In order to ensure that the pre-C++17
non-template constructors are still exported from the shared library
define a macro in src/c++11/string-inst.cc to force the non-template
declarations (this isn't strictly needed yet, because the string
instantiations are compiled with -std=gnu++11, but that is likely to
change).

LWG 3076 basic_string CTAD ambiguity
* doc/xml/manual/intro.xml: Document LWG 3076 change.
* include/bits/basic_string.h
[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
(basic_string(const _CharT*, const _Alloc&)): Turn into a function
template constrained by _RequireAllocator.
(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
Define.
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
deduction
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261670 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c/86093
jakub [Fri, 15 Jun 2018 20:53:54 +0000 (20:53 +0000)] 
PR c/86093
* c-typeck.c (pointer_diff): Cast both pointers to unqualified types
before doing POINTER_DIFF_EXPR.

* c-c++-common/pr86093.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261663 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR middle-end/85878
jakub [Fri, 15 Jun 2018 20:36:38 +0000 (20:36 +0000)] 
PR middle-end/85878
* expr.c (expand_assignment): Remove now redundant COMPLEX_MODE_P
check from first store_expr, use to_mode instead of GET_MODE (to_rtx).
Only call store_expr for halves if the mode is the same.

* gfortran.fortran-torture/compile/pr85878.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261659 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * pt.c (tsubst_default_argument): Use push_to/pop_from_top_level.
jason [Fri, 15 Jun 2018 20:23:00 +0000 (20:23 +0000)] 
* pt.c (tsubst_default_argument): Use push_to/pop_from_top_level.

* name-lookup.c (do_pushtag): Don't look through complete types, but
don't add to them either.  Get context from current_binding_level.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261656 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * decl.c (start_enum): Do compare dependent underlying type.
jason [Fri, 15 Jun 2018 20:22:55 +0000 (20:22 +0000)] 
* decl.c (start_enum): Do compare dependent underlying type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261655 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/82882 - ICE with lambda in template default argument.
jason [Fri, 15 Jun 2018 20:22:44 +0000 (20:22 +0000)] 
PR c++/82882 - ICE with lambda in template default argument.

* lambda.c (record_null_lambda_scope): New.
* pt.c (tsubst_lambda_expr): Use it.
* name-lookup.c (do_pushtag): Don't give a lambda DECL_CONTEXT of a
function that isn't open.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261654 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago * tree.c (maybe_warn_parm_abi): Inform the location of the class.
jason [Fri, 15 Jun 2018 20:22:38 +0000 (20:22 +0000)] 
* tree.c (maybe_warn_parm_abi): Inform the location of the class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261653 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR middle-end/86123
jakub [Fri, 15 Jun 2018 19:30:58 +0000 (19:30 +0000)] 
PR middle-end/86123
* match.pd ((X / Y) == 0 -> X < Y): Don't transform complex divisions.
Fix up comment formatting.

* gcc.c-torture/compile/pr86123.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261647 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Fri, 15 Jun 2018 19:17:19 +0000 (19:17 +0000)] 
2018-06-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * typed-splay-tree.h (typed_splay_tree::remove): New function.
        (typed_splay_tree::closure,
        typed_splay_tree::inner_foreach_fn, typed_splay_tree::m_inner): Deleted.
        (typed_splay_tree::typed_splay_tree,
        typed_splay_tree::operator =): Declared private.
        (typed_splay_tree::splay_tree_key, typed_splay_tree::splay_tree_value,
        typed_splay_tree::splay_tree_node_s, typed_splay_tree::KDEL,
        typed_splay_tree::VDEL, typed_splay_tree::splay_tree_delete_helper,
        typed_splay_tree::rotate_left, typed_splay_tree::rotate_right,
        typed_splay_tree::splay_tree_splay,
        typed_splay_tree::splay_tree_foreach_helper,
        typed_splay_tree::splay_tree_insert,
        typed_splay_tree::splay_tree_remove,
        typed_splay_tree::splay_tree_lookup,
        typed_splay_tree::splay_tree_predecessor,
        typed_splay_tree::splay_tree_successor,
        typed_splay_tree::splay_tree_min,
        typed_splay_tree::splay_tree_max): Took over from splay-tree.c/.h.
        (typed_splay_tree::root, typed_splay_tree::comp,
        typed_splay_tree::delete_key,
        typed_splay_tree::delete_value): New data members.
        * typed-splay-tree.c (selftest::test_str_to_int): Add a test for
        typed_splay_tree::remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261645 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago[testsuite] Run dg-final.exp sequentially
vries [Fri, 15 Jun 2018 18:51:07 +0000 (18:51 +0000)] 
[testsuite] Run dg-final.exp sequentially

2018-06-15  Tom de Vries  <tdevries@suse.de>

* gcc.dg-selftests/dg-final.exp: Force sequential execution.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261643 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR libstdc++/86169 unshare COW string when non-const data() called
redi [Fri, 15 Jun 2018 18:47:29 +0000 (18:47 +0000)] 
PR libstdc++/86169 unshare COW string when non-const data() called

PR libstdc++/86169
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::data()): Unshare string.
* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261642 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDecorate string_view members with nonnull attribute
redi [Fri, 15 Jun 2018 16:47:55 +0000 (16:47 +0000)] 
Decorate string_view members with nonnull attribute

The C++ committee has confirmed that passing a null pointer to the
unary basic_string_view constructor is undefined. This removes the check
from our implementation, and adds the nonnull attribute to warn when the
compiler can detect undefined input.

* include/std/string_view (basic_string_view(const CharT*)): Remove
check for null pointer and add nonnull attribute.
(compare(const CharT*), compare(size_type, size_type, const CharT*))
(find(const CharT*, size_type), rfind(const CharT*, size_type))
(find_first_of(const CharT*, size_type))
(find_last_of(const CharT*, size_type))
(find_first_not_of(const CharT*, size_type))
(find_last_not_of(const CharT*, size_type)): Add nonnull attribute.
* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: New.
* testsuite/21_strings/basic_string_view/operations/compare/char/
nonnull.cc: New.
* testsuite/21_strings/basic_string_view/operations/find/char/
nonnull.cc: New.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
nonnull.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261638 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR libstdc++/86168 fix ambiguous default constructor
redi [Fri, 15 Jun 2018 16:11:12 +0000 (16:11 +0000)] 
PR libstdc++/86168 fix ambiguous default constructor

PR libstdc++/86168
* include/bits/random.h (random_device(const string&)): Remove
default argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261636 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoMIPS: Add support for -mcrc and -mginv options.
rts [Fri, 15 Jun 2018 15:50:25 +0000 (15:50 +0000)] 
MIPS: Add support for -mcrc and -mginv options.

gcc/ChangeLog:

2018-06-15  Matthew Fortune  <matthew.fortune@mips.com>

* config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc,
-mginv and -mno-ginv to the assembler.
* config/mips/mips.opt (-mcrc): New option.
(-mginv): Likewise.
* doc/invoke.text (-mcrc): Document.
(-mginv): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261635 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoOnly define __cpp_lib_constexpr_char_traits for C++17
redi [Fri, 15 Jun 2018 15:47:56 +0000 (15:47 +0000)] 
Only define __cpp_lib_constexpr_char_traits for C++17

* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
define for C++17 and above.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261634 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoForce user provided warning and error messages to only occupy one line.
nickc [Fri, 15 Jun 2018 15:25:16 +0000 (15:25 +0000)] 
Force user provided warning and error messages to only occupy one line.

  PR 84195
gcc:  * tree.c (escaped_string): New class.  Converts an unescaped
  string into its escaped equivalent.
  (warn_deprecated_use): Use the new class to convert the
  deprecation message, if present.
  (test_escaped_strings): New self test.
  (test_c_tests): Add test_escaped_strings.
  * doc/extend.texi (deprecated): Add a note that the
  deprecation message is affected by the -fmessage-length
  option, and that control characters will be escaped.
  (#pragma GCC error): Document this pragma.
  (#pragma GCC warning): Likewise.
  * doc/invoke.texi (-fmessage-length): Document this option's
  effect on the #warning and #error preprocessor directives and
  the deprecated attribute.

testsuite;
  * gcc.c-torture/compile/pr84195.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261633 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 2993 reference_wrapper<T> conversion from T&&
redi [Fri, 15 Jun 2018 14:19:47 +0000 (14:19 +0000)] 
LWG 2993 reference_wrapper<T> conversion from T&&

* doc/xml/manual/intro.xml: Document LWG 2993 change.
* include/bits/refwrap.h (reference_wrapper(_Tp&)): Remove.
(reference_wrapper(_Tp&&)): Remove.
(reference_wrapper<_Up>(_Up&&)): Define new constructor as constrained
template.
(reference_wrapper): Add deduction guide.
* testsuite/20_util/reference_wrapper/deduction.cc: New.
* testsuite/20_util/reference_wrapper/lwg2993.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261632 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Jun 2018 12:41:46 +0000 (12:41 +0000)] 
2018-06-15  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_slp_bb): Dump MSG_OPTIMIZED_LOCATIONS
here, also noting vector size used.
* tree-vectorizer.c (vectorize_loops): Adjust.  Note vector
size used in MSG_OPTIMIZED_LOCATIONS dump.
(pass_slp_vectorize::execute): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261626 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago[ARC] Fix warning in arc_return_address_register.
claziss [Fri, 15 Jun 2018 11:22:10 +0000 (11:22 +0000)] 
[ARC] Fix warning in arc_return_address_register.

The if condition in arc_return_address_register which selects the arc
return address is not correct. The issue is signalized in bugzilla 85968.

gcc/
2018-06-15  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_return_address_register): Fix if-condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261623 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Jun 2018 11:08:30 +0000 (11:08 +0000)] 
2018-06-15  Richard Biener  <rguenther@suse.de>

PR middle-end/86159
* tree-cfg.c (gimplify_build3): Do not strip sign conversions,
leave useless conversion stripping to force_gimple_operand_gsi.
(gimplify_build2): Likewise.
(gimplify_build1): Likewise.

* g++.dg/pr86159.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261622 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-15 Richard Biener <rguenther@suse.de>
rguenth [Fri, 15 Jun 2018 07:25:13 +0000 (07:25 +0000)] 
2018-06-15  Richard Biener  <rguenther@suse.de>

PR middle-end/86076
* tree-cfg.c (move_stmt_op): unshare invariant addresses
before adjusting their block.

* gcc.dg/pr86076.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261620 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRISC-V: Add custom RTEMS multilibs
sh [Fri, 15 Jun 2018 05:19:44 +0000 (05:19 +0000)] 
RISC-V: Add custom RTEMS multilibs

Add multilib variants for -march=rv64imafd, e.g. to support the BOOMv2 core.

Add -mcmodel=medany as a variant of the 64-bit multilibs for RTEMS.  The
rationale for this change is that several existing RISC-V chips map the
RAM at 0x80000000.  In RTEMS, we do not use virtual memory, so
applications will run at this location which is outside the +-2GiB range
in a 64-bit configuration.

gcc/
* config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom
multilibs for *-*-rtems*.
* config/riscv/t-rtems: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261619 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 3039 Unnecessary decay in thread and packaged_task
redi [Fri, 15 Jun 2018 00:19:07 +0000 (00:19 +0000)] 
LWG 3039 Unnecessary decay in thread and packaged_task

* include/std/future (__constrain_pkgdtask): Replace with ...
(packaged_task::__not_same): New alias template, using
__remove_cvref_t instead of decay.
* include/std/thread (thread::__not_same): Add comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261618 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Fri, 15 Jun 2018 00:16:45 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261617 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/86063
mpolacek [Thu, 14 Jun 2018 21:07:14 +0000 (21:07 +0000)] 
PR c++/86063
* decl2.c (cp_check_const_attributes): Skip trees that are not
TREE_LISTs.

* g++.dg/cpp0x/gen-attrs-65.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261613 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 3075 basic_string needs deduction guides from basic_string_view
redi [Thu, 14 Jun 2018 20:27:04 +0000 (20:27 +0000)] 
LWG 3075 basic_string needs deduction guides from basic_string_view

* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
deduction from string views.
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261612 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoLWG 3074 make scalar types non-deduced in valarray non-member functions
redi [Thu, 14 Jun 2018 19:36:54 +0000 (19:36 +0000)] 
LWG 3074 make scalar types non-deduced in valarray non-member functions

* include/bits/valarray_after.h (_DEFINE_EXPR_BINARY_FUNCTION): Change
scalar parameters to be a non-deduced context.
* include/std/valarray (_DEFINE_BINARY_OPERATOR): Likewise. Adjust
whitespace.
* testsuite/26_numerics/valarray/operators.cc: Test scalar operands.
* testsuite/26_numerics/valarray/transcend.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261610 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR target/86048
jakub [Thu, 14 Jun 2018 19:16:14 +0000 (19:16 +0000)] 
PR target/86048
* gcc.target/i386/pr86048.c: Require sse2 effective target.  Add
-msse2 to dg-options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261608 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR middle-end/86122
jakub [Thu, 14 Jun 2018 19:07:45 +0000 (19:07 +0000)] 
PR middle-end/86122
* match.pd ((A +- CST1) +- CST2): Punt if last resort
unsigned_type_for returns NULL.

* gcc.c-torture/compile/pr86122.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261606 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago P0624R2 - Default constructible and assignable stateless lambdas
jakub [Thu, 14 Jun 2018 19:05:13 +0000 (19:05 +0000)] 
P0624R2 - Default constructible and assignable stateless lambdas
* method.c (synthesized_method_walk): For C++2a don't mark
sfk_constructor or sfk_copy_assignment as deleted if lambda has
no lambda-captures.

* g++.dg/cpp2a/lambda1.C: New test.
* g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust expected diagnostics
for -std=c++2a.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261605 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPartially revert move of std::tuple_element_t to <tuple>
redi [Thu, 14 Jun 2018 19:02:40 +0000 (19:02 +0000)] 
Partially revert move of std::tuple_element_t to <tuple>

Defining std::tuple_element_t in <utility> makes it available wherever
std::tuple_element is available.

* include/std/tuple (__cpp_lib_tuple_element_t, tuple_element_t):
Move back to <utility>.
* include/std/utility (__cpp_lib_tuple_element_t. tuple_element_t):
Restore to here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261604 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago/cp
paolo [Thu, 14 Jun 2018 17:49:21 +0000 (17:49 +0000)] 
/cp
2018-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (duplicate_decls): Use DECL_SOURCE_LOCATION in
OPT_Wshadow warning_at.
(grokfndecl): Consistently use the location_t argument in
literal operator diagnostic messages.
(grokdeclarator): Use declspecs->locations[ds_storage_class]
in error_at call.
* decl2.c (finish_static_data_member_decl): Use DECL_SOURCE_LOCATION
in permerror call.

/testsuite
2018-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/other/static3.C: New.
* g++.dg/other/static4.C: Likewise.
* g++.dg/warn/Wshadow-15.C: Likewise.
* g++.dg/cpp0x/gnu_fext-numeric-literals.C: Test locations too.
* g++.dg/cpp0x/std_fext-numeric-literals.C: Likewise.
* g++.dg/cpp0x/std_fno-ext-numeric-literals.C: Likewise.
* g++.dg/cpp0x/udlit-args-neg.C: Likewise.
* g++.dg/cpp0x/udlit-clink-neg.C: Likewise.
* g++.dg/cpp0x/udlit-extern-c.C: Likewise.
* g++.dg/cpp0x/udlit-member-neg.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261601 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoP0935R0 Eradicating unnecessarily explicit default constructors
redi [Thu, 14 Jun 2018 14:12:24 +0000 (14:12 +0000)] 
P0935R0 Eradicating unnecessarily explicit default constructors

More pieces of P0935R0, making default constructors non-explicit.

* include/backward/strstream (strstreambuf): Add non-explicit default
constructor.
* include/bits/locale_conv.h (wbuffer_convert, wstring_convert):
Likewise.
* include/bits/regex.h (match_results): Likewise.
* testsuite/22_locale/conversions/buffer/1.cc: Test for non-explicit
default constructor.
* testsuite/22_locale/conversions/string/1.cc: Likewise.
* testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261597 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDefine __cpp_lib_tuple_element_t in <tuple> not <utility>
redi [Thu, 14 Jun 2018 14:01:29 +0000 (14:01 +0000)] 
Define __cpp_lib_tuple_element_t in <tuple> not <utility>

* include/std/tuple (__cpp_lib_tuple_element_t): Move feature test
macro from <utility> and change type to long.
* include/std/utility (__cpp_lib_tuple_element_t): Remove.
* testsuite/20_util/tuple/tuple_element_t.cc: Check for feature test
macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261596 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR target/85945
jakub [Thu, 14 Jun 2018 13:35:06 +0000 (13:35 +0000)] 
PR target/85945
* lower-subreg.c (find_decomposable_subregs): Don't decompose float
subregs of multi-word pseudos unless the float mode has word size.

* gcc.c-torture/compile/pr85945.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261593 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoP0935R0 Eradicating unnecessarily explicit default constructors
redi [Thu, 14 Jun 2018 13:32:53 +0000 (13:32 +0000)] 
P0935R0 Eradicating unnecessarily explicit default constructors

The param_type constructors of each random number distribution should
mirror the constructors of the distribution itself, so make the same
changes w.r.t explicit on default constructors.

* include/bits/random.h (uniform_real_distribution::param_type)
(normal_distribution::param_type, lognormal_distribution::param_type)
(gamma_distribution::param_type, chi_squared_distribution::param_type)
(cauchy_distribution::param_type, fisher_f_distribution::param_type)
(student_t_distribution::param_type)
(bernoulli_distribution::param_type)
(binomial_distribution::param_type)
(geometric_distribution::param_type)
(negative_binomial_distribution::param_type)
(poisson_distribution::param_type)
(exponential_distribution::param_type)
(weibull_distribution::param_type)
(extreme_value_distribution::param_type): Add non-explicit default
constructors. Remove default argument for first parameter of explicit
constructors.
* include/bits/uniform_int_dist.h
(uniform_int_distribution::param_type): Likewise.
* include/ext/random
(beta_distribution::param_type, rice_distribution::param_type)
(nakagami_distribution::param_type, pareto_distribution::param_type)
(k_distribution::param_type, arcsine_distribution::param_type)
(hoyt_distribution::param_type, triangular_distribution::param_type)
(von_mises_distribution::param_type)
(hypergeometric_distribution::param_type)
(logistic_distribution::param_type)
(uniform_inside_sphere_distribution::param_type): Likewise.
(uniform_on_sphere_distribution::param_type): Make default constructor
non-explicit.
* testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
Test param_type for non-explicit default constructor.
* testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/discrete_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/triangular_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/von_mises_distribution/cons/default.cc:
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261592 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoFix errors in libstdc++-v3/ChangeLog entries.
redi [Thu, 14 Jun 2018 10:59:14 +0000 (10:59 +0000)] 
Fix errors in libstdc++-v3/ChangeLog entries.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261589 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-14 Richard Biener <rguenther@suse.de>
rguenth [Thu, 14 Jun 2018 10:55:31 +0000 (10:55 +0000)] 
2018-06-14  Richard Biener  <rguenther@suse.de>

PR middle-end/86139
* tree-vect-generic.c (build_word_mode_vector_type): Remove
duplicate and harmful type_hash_canon.
* tree.c (type_hash_canon): Assert we didn't find ourselves.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261588 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago2018-06-14 Richard Biener <rguenther@suse.de>
rguenth [Thu, 14 Jun 2018 10:55:00 +0000 (10:55 +0000)] 
2018-06-14  Richard Biener  <rguenther@suse.de>

PR ipa/86124
* tree-ssa-struct-alias.c (create_variable_info_for): Handle
NULL cgraph_node.

* gcc.dg/pr86124.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261587 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoPR libstdc++/83982 fix exception-safety guarantee of std::vector::resize
redi [Thu, 14 Jun 2018 09:26:51 +0000 (09:26 +0000)] 
PR libstdc++/83982 fix exception-safety guarantee of std::vector::resize

Construct new elements before moving existing ones, so that if a default
constructor throws, the existing elements are not left in a moved-from
state.

2018-06-14  Daniel Trebbien <dtrebbien@gmail.com>
    Jonathan Wakely  <jwakely@redhat.com>

PR libstdc++/83982
* include/bits/vector.tcc (vector::_M_default_append(size_type)):
Default-construct new elements before moving existing ones.
* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261585 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoRTEMS: Prefer int for int32_t
sh [Thu, 14 Jun 2018 05:10:51 +0000 (05:10 +0000)] 
RTEMS: Prefer int for int32_t

Common systems like glibc and FreeBSD define int32_t to int.  This means
a lot of third party code works well in these cases:

  #include <stdint.h>

  void f(int32_t);

  void f(int);

  void g(int32_t *);

  void h(void)
  {
    int i;
    g(&i);
  }

On RTEMS you got however in C

  test.c:5:6: error: conflicting types for 'f'
    void f(int);
        ^
  test.c:3:6: note: previous declaration of 'f' was here
    void f(int32_t);
        ^
  test.c: In function 'h':
  test.c:12:4: warning: passing argument 1 of 'g' from incompatible
  pointer type [-Wincompatible-pointer-types]
    g(&i);
      ^
  test.c:7:6: note: expected 'int32_t * {aka long int *}' but argument
  is of type 'int *' void g(int32_t *);

and C++

  test.c: In function 'void h()':
  test.c:12:4: error: invalid conversion from 'int*' to 'int32_t* {aka
  long int*}' [-fpermissive]
    g(&i);
      ^~
  test.c:7:6: note:   initializing argument 1 of 'void g(int32_t*)'
    void g(int32_t *);
      ^

This was due to a Newlib speciality which uses long for int32_t if long
is a 32-bit type.  To ease the use of third party software in RTEMS we
override this Newlib option now and use int for int32_t if int is a
32-bit type.

gcc/
* config/rtems.h (STDINT_LONG32): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261582 138bc75d-0d04-0410-961f-82ee72b054a4

6 years agoDaily bump.
gccadmin [Thu, 14 Jun 2018 00:16:19 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261580 138bc75d-0d04-0410-961f-82ee72b054a4

6 years ago PR c++/86099 - ICE with trivial copy and non-trivial default ctor.
jason [Thu, 14 Jun 2018 00:02:42 +0000 (00:02 +0000)] 
PR c++/86099 - ICE with trivial copy and non-trivial default ctor.

* constexpr.c (instantiate_cx_fn_r): Don't synthesize trivial
constructors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261576 138bc75d-0d04-0410-961f-82ee72b054a4