1. 15 Jan, 2019 11 commits
    • re PR tree-optimization/88855 (ICE: verify_ssa failed (error:… · 41bc37ba
      re PR tree-optimization/88855 (ICE: verify_ssa failed (error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set))
      
      2019-01-15  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88855
      	* tree-if-conv.c (combine_blocks): Collect
      	SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
      
      	* gcc.dg/pr88855.c: New testcase.
      
      From-SVN: r267939
      Richard Biener committed
    • Update value of __cpp_lib_shared_ptr_arrays macro · 10ddff67
      	* include/bits/shared_ptr_base.h (__cpp_lib_shared_ptr_arrays): Define
      	as 201611L, because P0497R0 changes are supported.
      	* include/std/version (__cpp_lib_shared_ptr_arrays): Likewise.
      
      From-SVN: r267938
      Jonathan Wakely committed
    • Fix more missing or incorrect feature test macros · 6e3dd211
      	* include/bits/erase_if.h [__cplusplus > 201703L]
      	(__cpp_lib_erase_if): Only define for C++2a.
      	* include/std/iterator [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
      	(__cpp_lib_null_iterators): Define.
      	* include/std/version [__cplusplus >= 201402L && !_GLIBCXX_DEBUG]
      	(__cpp_lib_null_iterators): Define.
      	[__cpp_impl_destroying_delete] (__cpp_lib_destroying_delete): Define.
      
      From-SVN: r267937
      Jonathan Wakely committed
    • Fix missing or incorrect feature test macros · 56a9eaf9
      	* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
      	status.
      	* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
      	Define.
      	* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
      	changes are supported.
      	* include/std/optional (__cpp_lib_optional): Likewise.
      	* include/std/variant (__cpp_lib_variant): Likewise.
      	* include/std/version [!__STRICT_ANSI__]
      	(__cpp_lib_uncaught_exceptions): Define as long integer.
      	[__cplusplus >= 201703L] (__cpp_lib_any)
      	(__cpp_lib_raw_memory_algorithms, __cpp_lib_uncaught_exceptions)
      	(__cpp_lib_variant): Define for C++17.
      	[__cplusplus >= 201703L] (__cpp_lib_optional): Update value and define
      	as long integer.
      	* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
      	integer.
      
      From-SVN: r267936
      Jonathan Wakely committed
    • [nvptx] Handle assignment to gang-level reduction variable · d41d952c
      2019-01-15  Tom de Vries  <tdevries@suse.de>
      
      	PR target/80547
      	* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
      	lhs == NULL_TREE for gang-level reduction.
      
      	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
      	New test.
      
      From-SVN: r267934
      Tom de Vries committed
    • re PR ipa/88788 (Infinite loop in malloc_candidate_p_1 since r264838) · 4882e5ba
      2019-01-15  Richard Biener  <rguenther@suse.de>
      	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	PR ipa/88788
      	* ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
      	return true if SSA_NAME is already marked in visited bitmap.
      	(malloc_candidate_p): Pass visited to malloc_candidate_p_1.
      
      Co-Authored-By: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
      
      From-SVN: r267933
      Richard Biener committed
    • decl.c (start_decl): Improve error location. · 079a6680
      /cp
      2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (start_decl): Improve error location.
      	* decl2.c (grokfield): Likewise.
      
      /testsuite
      2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/diagnostic/typedef-initialized.C: New.
      
      /cp
      2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (grokdeclarator): Move further up the location_t loc
      	declaration and use the location when building a TYPE_DECL for
      	a typedef name.
      	* decl2.c (grokbitfield): Use DECL_SOURCE_LOCATION in the error
      	about an ill-formed bit-field as typedef.
      
      /testsuite
      2019-01-15  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/diagnostic/bitfld3.C: New.
      
      From-SVN: r267932
      Paolo Carlini committed
    • re PR tree-optimization/88775 (Optimize std::string assignment) · 93aa3c4a
      	PR tree-optimization/88775
      	* match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
      	equal == 0 equality pointer comparisons some more if compared in
      	integral types and either one points to an automatic var and the
      	other to a global, or we can prove at least one points to the middle
      	or both point to start or both point to end.
      
      	* gcc.dg/tree-ssa/pr88775-1.c: New test.
      	* gcc.dg/tree-ssa/pr88775-2.c: New test.
      
      From-SVN: r267931
      Jakub Jelinek committed
    • Lower sampling rate for autofdo bootstrap · 6facd01f
      autofdo create_gcov uses a lot of memory for large sample files.
      Since gcc runs quite long the sample files generated during
      the bootstrap are fairly ig.
      
      Currently I can't even build make autoprofiledbootstrap on my system at
      home because create_gcov needs more than 12GB and runs out of memory.
      
      This should probably be fixed in create_gcov, but for now
      lowering the sampling rate works well enough for me. The bootstrap
      run is long enough that it gets good enough data in any case.
      
      gcc/:
      2019-01-14  Andi Kleen  <ak@linux.intel.com>
      
      	* Makefile.in: Lower autofdo sampling rate by 10x.
      	* Makefile.tpl: Dito.
      
      From-SVN: r267930
      Andi Kleen committed
    • Daily bump. · 708efa49
      From-SVN: r267929
      GCC Administrator committed
  2. 14 Jan, 2019 13 commits
    • PR c++/88825 - ICE with bogus function return type deduction. · f80aa399
      	* typeck.c (can_do_nrvo_p): Check error_mark_node.
      
      	* g++.dg/cpp1y/auto-fn55.C: New test.
      
      From-SVN: r267926
      Marek Polacek committed
    • c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision and… · a30d0196
      c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto.
      
      	* c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
      	and __cpp_nontype_template_parameter_auto.  Add a comment that
      	__cpp_template_auto is deprecated.
      
      	* g++.dg/cpp1z/feat-cxx1z.C: Add tests for
      	__cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto
      	feature test macros.
      	* g++.dg/cpp2a/feat-cxx2a.C: Likewise.
      
      From-SVN: r267925
      Jakub Jelinek committed
    • PR c++/88830 - ICE with abstract class. · 345364cf
      	* decl2.c (maybe_emit_vtables): Check CLASSTYPE_LAZY_DESTRUCTOR.
      	Fix formatting.
      
      	* g++.dg/other/abstract7.C: New test.
      
      From-SVN: r267924
      Marek Polacek committed
    • Implement P0482R5, char8_t: A type for UTF-8 characters and strings · 2d91f79d
      gcc/cp/
      	* cvt.c (type_promotes_to): Handle char8_t promotion.
      	* decl.c (grokdeclarator): Handle invalid type specifier
      	combinations involving char8_t.
      	* lex.c (init_reswords): Add char8_t as a reserved word.
      	* mangle.c (write_builtin_type): Add name mangling for char8_t (Du).
      	* parser.c (cp_keyword_starts_decl_specifier_p)
      	(cp_parser_simple_type_specifier): Recognize char8_t as a simple
      	type specifier.
      	(cp_parser_string_literal): Use char8_array_type_node for the type
      	of CPP_UTF8STRING.
      	(cp_parser_set_decl_spec_type): Tolerate char8_t typedefs in system
      	headers.
      	* rtti.c (emit_support_tinfos): type_info support for char8_t.
      	* tree.c (char_type_p): Recognize char8_t as a character type.
      	* typeck.c (string_conv_p): Handle conversions of u8 string
      	literals of char8_t type.
      	(check_literal_operator_args): Handle UDLs with u8 string literals
      	of char8_t type.
      	* typeck2.c (ordinary_char_type_p): New.
      	(digest_init_r): Disallow initializing a char array with a u8 string
      	literal.
      gcc/c-family/
      	* c-common.c (c_common_reswords): Add char8_t.
      	(fix_string_type): Use char8_t for the type of u8 string literals.
      	(c_common_get_alias_set): char8_t doesn't alias.
      	(c_common_nodes_and_builtins): Define char8_t as a builtin type in
      	C++.
      	(c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
      	(keyword_begins_type_specifier): Add RID_CHAR8.
      	* c-common.h (rid): Add RID_CHAR8.
      	(c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
      	Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
      	Define char8_type_node and char8_array_type_node.
      	* c-cppbuiltin.c (cpp_atomic_builtins): Predefine
      	__GCC_ATOMIC_CHAR8_T_LOCK_FREE.
      	(c_cpp_builtins): Predefine __cpp_char8_t.
      	* c-lex.c (lex_string): Use char8_array_type_node as the type of
      	CPP_UTF8STRING.
      	(lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
      	* c-opts.c: If not otherwise specified, enable -fchar8_t when
      	targeting C++2a.
      	* c.opt: Add the -fchar8_t command line option.
      libiberty/
      	* cp-demangle.c (cplus_demangle_builtin_types)
      	(cplus_demangle_type): Add name demangling for char8_t (Du).
      	* cp-demangle.h: Increase D_BUILTIN_TYPE_COUNT to accommodate the
      	new char8_t type.
      
      From-SVN: r267923
      Tom Honermann committed
    • PR target/88638 - FAIL: fsf-nsstring-format-1.s on darwin · 23db6ced
      gcc/c-family/ChangeLog:
      
      	PR target/88638
      	* c-attribs.c (positional_argument): Call valid_format_string_type_p
      	and issue errors if it fails.
      	* c-common.h (valid_format_string_type_p): Declare.
      	* c-format.c (valid_stringptr_type_p): Rename...
      	(valid_format_string_type_p): ...to this and make extern.
      	(handle_format_arg_attribute): Adjust to new name.
      	(check_format_string): Same.
      
      gcc/testsuite/ChangeLog:
      
      	PR target/88638
      	* gcc.dg/format/attr-8.c: New test.
      	* gcc.dg/darwin-cfstring-format-1.c: Adjust diagnostics.
      	* gcc.dg/format/attr-3.c: Same.
      	* obj-c++.dg/fsf-nsstring-format-1.mm: Same.
      	* objc.dg/fsf-nsstring-format-1.m: Same.
      
      gcc/ChangeLog:
      
      	PR target/88638
      	* doc/extend.texi (Darwin Format Checks): Clarify.
      
      From-SVN: r267922
      Martin Sebor committed
    • Fix location of tls_wrapper_fn (PR gcov-profile/88263). · 15f4e33d
      2019-01-14  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/88263
      	* decl2.c (get_tls_wrapper_fn): Use DECL_SOURCE_LOCATION
      	as location of the TLS wrapper.
      2019-01-14  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/88263
      	* g++.dg/gcov/pr88263-2.C: New test.
      
      From-SVN: r267921
      Martin Liska committed
    • invoke.texi (-Wmemset-transposed-args): Fix typos, adjust wording. · 97d41887
      
      gcc/ChangeLog:
      
      	* invoke.texi (-Wmemset-transposed-args): Fix typos, adjust wording.
      
      From-SVN: r267920
      Martin Sebor committed
    • genmatch.c (dt_simplify::gen_1): Change dumping dependent on whether we are in… · 7cc0fa5d
      genmatch.c (dt_simplify::gen_1): Change dumping dependent on whether we are in (simplify ...) or (match ...) context.
      
      2019-01-14  Richard Biener  <rguenther@suse.de>
      
      	* genmatch.c (dt_simplify::gen_1): Change dumping dependent on
      	whether we are in (simplify ...) or (match ...) context.
      
      From-SVN: r267917
      Richard Biener committed
    • re PR rtl-optimization/88796 (-fstack-protector* kills RTL DSE opportunities) · a49a975f
      	PR rtl-optimization/88796
      	* emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
      	* cfgexpand.c (stack_protect_prologue): Initialize
      	crtl->stack_protect_guard_decl.
      	* function.c (stack_protect_epilogue): Use it instead of calling
      	targetm.stack_protect_guard again.
      	* dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
      	MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
      	crtl->stack_protect_guard_decl.
      	* config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
      	on the returned MEM_EXPR.
      
      	* gcc.target/i386/pr88796.c: New test.
      
      From-SVN: r267916
      Jakub Jelinek committed
    • Undo undesirable part of r267850 2019-01-11 commit. · 7227b597
      From-SVN: r267914
      Jakub Jelinek committed
    • [D] Merge upstream dmd cd2034cd7 · 2b5e01fa
      One fix in the asm statement parser to stop parsing if the end of the
      statement has been reached, and moves all inline asm tests to gdc.dg.
      These being adjusted where necessary to test the GCC style instead.
      
      gcc/testsuite/ChangeLog:
      
      2019-01-14  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* gdc.dg/asm1.d: New test.
      	* gdc.dg/asm2.d: New test.
      	* gdc.dg/asm3.d: New test.
      	* gdc.dg/asm4.d: New test.
      	* lib/gdc.exp (gdc_init): Set gcc_error_prefix and gcc_warning_prefix.
      
      From-SVN: r267913
      Iain Buclaw committed
    • re PR libfortran/88776 (Namelist read from stdin: loss of data) · 9c5f8900
      2019-01-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/88776
      	* io/open.c (newunit): Free format buffer if the unit specified is for
      	stdin, stdout, or stderr.
      
      	* gfortran.dg/namelist_96.f90: New test.
      
      From-SVN: r267910
      Jerry DeLisle committed
    • Daily bump. · bff1a731
      From-SVN: r267909
      GCC Administrator committed
  3. 13 Jan, 2019 6 commits
  4. 12 Jan, 2019 10 commits
    • re PR libfortran/88776 (Namelist read from stdin: loss of data) · 9443a185
      2019-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/88776
      	* io/list_read.c (namelist_read): Use nml_err_ret path on read error
      	not based on stdin_unit.
      
      From-SVN: r267898
      Jerry DeLisle committed
    • [nvptx] Enable setting vector length using -fopenacc-dim -- testcases · efb56ae8
      Add some test-cases that set vector length using -fopenacc-dim.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
      	* testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
      
      From-SVN: r267897
      Tom de Vries committed
    • [nvptx] Enable setting vector length using -fopenacc-dim · 2c2ff168
      Enable setting vector length using -fopenacc-dim, f.i. -fopenacc-dim=::128.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
      	vector length using -fopenacc-dim.
      
      	* plugin/plugin-nvptx.c (nvptx_exec): Update error message.
      
      From-SVN: r267896
      Tom de Vries committed
    • [nvptx] Add vector_length 64 test-cases · a1057758
      Add some test-cases using vector_length 64.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
      
      From-SVN: r267895
      Tom de Vries committed
    • [nvptx] Force vl32 if calling vector-partitionable routines -- test-cases · 56314b77
      Add test-cases for "[nvptx] Force vl32 if calling vector-partitionable
      routines".
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	PR target/85486
      	* testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
      
      From-SVN: r267894
      Tom de Vries committed
    • [nvptx] Don't emit barriers for empty loops -- test-cases · b39e4366
      Add test-cases for PR85381.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	PR target/85381
      	* testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
      
      From-SVN: r267893
      Tom de Vries committed
    • [nvptx] Enable large vectors -- reduction testcases · 2cb7a501
      Add various reduction test-cases with vector length 128.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
      	* testsuite/libgomp.oacc-fortran/gemm.f90: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
      
      From-SVN: r267892
      Tom de Vries committed
    • [nvptx] Enable large vectors -- test-cases · 8e77f71e
      Add various test-cases with vector length 128.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
      
      From-SVN: r267891
      Tom de Vries committed
    • [nvptx] Update insufficient launch message for variable vector_length · 52d22ece
      Update message in nvptx libgomp plugin about insufficient resources to launch
      kernel, to accommodate for the fact the vector_length can now be variable.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
      	resources diagnostic.
      
      From-SVN: r267890
      Tom de Vries committed
    • [nvptx] Enable large vectors · 2b9d9e39
      Allow vector_length clauses to accept values larger than warp size.  Note that
      this does not enable setting vector_length to values larger than warp size using
      -fopenacc-dim.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
      	lengths into account.
      
      	* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
      	vector length to be 128.
      	* testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
      	length 2097152 to be reduced to 1024 instead of 32.
      
      From-SVN: r267889
      Tom de Vries committed