1. 14 Jan, 2019 10 commits
    • 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
  2. 13 Jan, 2019 6 commits
  3. 12 Jan, 2019 24 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
    • decl.c (cp_finish_decl): Improve error location. · 6f7814d0
      /cp
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (cp_finish_decl): Improve error location.
      	* decl2.c (grokfield): Likewise, improve two locations.
      
      /testsuite
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/pr62101.C: Test locations too.
      	* g++.dg/inherit/pure1.C: Likewise.
      
      From-SVN: r267888
      Paolo Carlini committed
    • decl.c (cp_finish_decl): Improve error location. · 062ab459
      /cp
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (cp_finish_decl): Improve error location.
      	* decl2.c (grokfield): Likewise, improve two locations.
      
      /testsuite
      2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp0x/pr62101.C: Test locations too.
      	* g++.dg/inherit/pure1.C: Likewise.
      
      From-SVN: r267887
      Paolo Carlini committed
    • gnu.h (TARGET_THREAD_SSP_OFFSET): Define. · 8d5d3edd
      	* config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
      	(TARGET_CAN_SPLIT_STACK): Define.
      	(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
      
      From-SVN: r267886
      Svante Signell committed
    • Document merge process for dmd, druntime and phobos. · 865f11b6
      gcc/d/ChangeLog:
      
      	* README.gcc: New file.
      
      libphobos/ChangeLog:
      
      	* README.gcc: New file.
      
      From-SVN: r267885
      Iain Buclaw committed
    • ISO_Fortran_binding_2.f90: Remove because of reports of ICEs. · fd253dbf
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/ISO_Fortran_binding_2.f90 : Remove because of
      	reports of ICEs.
      	* gfortran.dg/ISO_Fortran_binding_2.c : Ditto.
      
      From-SVN: r267884
      Paul Thomas committed
    • * params.def (inline-unit-growth): Set to 40. · 43d168a4
      From-SVN: r267883
      Jan Hubicka committed
    • tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo. · 5f07d78a
      	* tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
      
      	* c-typeck.c (convert_for_assignment): Fix a comment typo.
      
      From-SVN: r267882
      Jakub Jelinek committed
    • gfortran.texi: Add description in sections on TS 29113 and further interoperability with C. · bbf18dc5
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.texi : Add description in sections on TS 29113 and
      	further interoperability with C.
      	* trans-array.c (gfc_conv_descriptor_attribute): New function.
      	(gfc_get_dataptr_offset): Remove static function attribute.
      	* trans-array.h : Add prototypes for above functions.
      	* trans-decl.c : Add declarations for the library functions
      	cfi_desc_to_gfc_desc and gfc_desc_to_cfi_desc.
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): New function.
      	(gfc_conv_procedure_call): Call it for scalar and array actual
      	arguments, when the formal arguments are bind_c with assumed
      	shape or assumed rank.
      	* trans.h : External declarations for gfor_fndecl_cfi_to_gfc
      	and gfor_fndecl_gfc_to_cfi.
      
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* gfortran.dg/ISO_Fortran_binding_1.f90 : New test.
      	* gfortran.dg/ISO_Fortran_binding_1.c : Auxilliary file for test.
      	* gfortran.dg/ISO_Fortran_binding_2.f90 : New test.
      	* gfortran.dg/ISO_Fortran_binding_2.c : Auxilliary file for test.
      	* gfortran.dg/bind_c_array_params_2.f90 : Change search string
      	for dump tree scan.
      
      2019-01-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	* ISO_Fortran_binding.h : New file.
      	* Makefile.am : Include ISO_Fortran_binding.c in the list of
      	files to compile.
      	* Makefile.in : Regenerated.
      	* gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc,
      	_gfortran_gfc_desc_to_cfi_desc and the CFI API functions.
      	* runtime/ISO_Fortran_binding.c : New file containing the new
      	functions added to the map.
      
      From-SVN: r267881
      Paul Thomas committed
    • [nvptx] Apply vector-partitionable routines workaround to default vl · af79605e
      Make "[nvptx] Force vl32 if calling vector-partitionable routines" work as well
      if vector length is set by modifying PTX_DEFAULT_VECTOR_LENGTH.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
      	region calling vector-partitionable routine, set default_vector_length
      	to WARP_SIZE.
      
      From-SVN: r267879
      Tom de Vries committed
    • [nvptx] Allow default vl to be overridden in nvptx_goacc_validate_dims_1 · d6f528e7
      In nvptx_goacc_validate_dims_1, allow oacc_default_dims[DIM_VECTOR] to be
      overridden, by assigning it to a new variable default_vector_length at the
      start, and using it at the end.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
      	variable default_vector_length.
      
      From-SVN: r267878
      Tom de Vries committed
    • [nvptx] Verify dimension limits after applying defaults · 980af7cd
      There's a problem in oacc_validate_dims that when f.i. the worker dimension
      is set using -fopenacc-dim=:32, and the vector_length is set using a
      "vector_length (128)" clause, the compiler combines, accepts and emits the
      values, while the combination of the two is invalid.
      
      The reason for this is that while oacc_validate_dims validates the dimensions
      using targetm.goacc.validate_dims before applying default or minimum values,
      it does not do so afterwards.
      
      Work around this in the nvptx port by applying the defaults from
      oacc_default_dims at the end of nvptx_goacc_validate_dims_1, as
      oacc_validate_dims would do it, and then apply the dimensions limits.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	PR middle-end/88703
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
      	from oacc_default_dims, as oacc_validate_dims would do it, and apply
      	dimensions limits.
      
      From-SVN: r267877
      Tom de Vries committed
    • [openacc] Add used parameter to TARGET_GOACC_VALIDATE_DIMS · 46dedae6
      Add a used parameter to TARGET_GOACC_VALIDATE_DIMS, allowing a target to make
      decisions in the hook implementation based on whether a dimension is used or
      not.
      
      2019-01-12  Tom de Vries  <tdevries@suse.de>
      
      	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
      	(nvptx_goacc_validate_dims): Add used parameter.
      	* doc/tm.texi: Regenerate.
      	* omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
      	argument to call to targetm.goacc.validate_dims.
      	(default_goacc_validate_dims): Add used
      	parameter.
      	* target.def (validate_dims): Add used parameter in DEFHOOK.
      	* targhooks.h (default_goacc_validate_dims): Add used parameter.
      
      From-SVN: r267876
      Tom de Vries committed
    • re PR libfortran/88807 (misleading indentation warnings building libgfortran) · fc560ecd
      	PR libfortran/88807
      	* m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings.
      	* generated/minloc0_4_i1.c: Regenerated.
      	* generated/minloc0_4_i2.c: Regenerated.
      	* generated/minloc0_4_i4.c: Regenerated.
      	* generated/minloc0_4_i8.c: Regenerated.
      	* generated/minloc0_4_i16.c: Regenerated.
      	* generated/minloc0_4_r4.c: Regenerated.
      	* generated/minloc0_4_r8.c: Regenerated.
      	* generated/minloc0_4_r10.c: Regenerated.
      	* generated/minloc0_4_r16.c: Regenerated.
      	* generated/minloc0_8_i1.c: Regenerated.
      	* generated/minloc0_8_i2.c: Regenerated.
      	* generated/minloc0_8_i4.c: Regenerated.
      	* generated/minloc0_8_i8.c: Regenerated.
      	* generated/minloc0_8_i16.c: Regenerated.
      	* generated/minloc0_8_r4.c: Regenerated.
      	* generated/minloc0_8_r8.c: Regenerated.
      	* generated/minloc0_8_r10.c: Regenerated.
      	* generated/minloc0_8_r16.c: Regenerated.
      	* generated/minloc0_16_i1.c: Regenerated.
      	* generated/minloc0_16_i2.c: Regenerated.
      	* generated/minloc0_16_i4.c: Regenerated.
      	* generated/minloc0_16_i8.c: Regenerated.
      	* generated/minloc0_16_i16.c: Regenerated.
      	* generated/minloc0_16_r4.c: Regenerated.
      	* generated/minloc0_16_r8.c: Regenerated.
      	* generated/minloc0_16_r10.c: Regenerated.
      	* generated/minloc0_16_r16.c: Regenerated.
      
      From-SVN: r267875
      Jakub Jelinek committed
    • Remove svn:executable property from a couple of text files · 831a2e2f
      which shouldn't be executable.
      
      From-SVN: r267873
      Jakub Jelinek committed