1. 20 Feb, 2019 19 commits
    • Fix ICE with #line directive (PR c/89410) · 200a8e1a
      PR c/89410 reports various issues with #line directives with very
      large numbers; one of them is an ICE inside diagnostic-show-locus.c
      when emitting a diagnostic at line 0xffffffff.
      
      The issue is that the arithmetic in layout::calculate_line_spans to
      determine if two line spans are sufficiently close to consolidate
      was using the unsigned 32-bit linenum_type, which was overflowing
      when comparing the line for the expanded location with those of
      the location range (all on line 0xffffffff), leading to it
      erroneously adding two spans for the same line, leading to an
      assertion failure.
      
      This patch fixes the ICE by generalizing the use of long long in
      line-map.h's comparison function for linenum_type into a new
      linenum_arith_t typedef, and using it here.
      
      Doing so uncovered a second problem: the loop to print the lines
      within the line_span for this case is infinite: looping from
      0xfffffff upwards, overflowing to 0, and then never becoming
      greater than 0xfffffff.  The patch fixes this by using linenum_arith_t
      there also.
      
      gcc/ChangeLog:
      	PR c/89410
      	* diagnostic-show-locus.c (layout::calculate_line_spans): Use
      	linenum_arith_t when determining if two adjacent line spans are
      	close enough to merge.
      	(diagnostic_show_locus): Use linenum_arith_t when iterating over
      	lines within each line_span.
      
      gcc/testsuite/ChangeLog:
      	PR c/89410
      	* gcc.dg/pr89410-1.c: New test.
      	* gcc.dg/pr89410-2.c: New test.
      
      libcpp/ChangeLog:
      	PR c/89410
      	* include/line-map.h (linenum_arith_t): New typedef.
      	(compare): Use it.
      
      From-SVN: r269050
      David Malcolm committed
    • compiler: fix a typo in comments · b054705a
          
          Reviewed-on: https://go-review.googlesource.com/c/163097
      
      From-SVN: r269049
      Ian Lance Taylor committed
    • PR c++/87513 - 'sorry' mangling PMF template-id. · 60067b87
      Here build_offset_ref calls build_qualified_name to make a SCOPE_REF because
      the dependent template arguments make type_dependent_expression_p (member)
      true.  We could probably work hard to prevent this, but it doesn't seem
      necessary, and it's easy to fix write_expression to handle the result.
      
      	* mangle.c (write_expression): Handle SCOPE_REF to BASELINK.
      
      From-SVN: r269048
      Jason Merrill committed
    • * g++.old-deja/g++.robertl/eb92.C: Handle warning as well. · e3fe9cfb
      From-SVN: r269047
      Jason Merrill committed
    • PR c++/88380 - wrong-code with flexible array and NSDMI. · e0737c20
      Here 'skipped' was set to -1 to force an explicit initializer for 'uninit'
      before the initializer for 'initialized', and so we also tried to emit an
      explicit initializer for the flexible array, for which build_zero_init
      returns error_mark_node.  We should ignore flexarrays even when
      skipped < 0.
      
      	* typeck2.c (process_init_constructor_record): Skip flexarrays.
      
      From-SVN: r269046
      Jason Merrill committed
    • PR c++/88572 - wrong handling of braces on scalar init. · cb133085
      	* decl.c (reshape_init_r): Allow braces around scalar initializer
      	within aggregate init.  Reject double braced-init of scalar
      	variable.
      
      From-SVN: r269045
      Will Wray committed
    • target-supports.exp (check_effective_target_vect_usad_char): Add PowerPC support. · 990525f6
      	* lib/target-supports.exp (check_effective_target_vect_usad_char):
      	Add PowerPC support.
      	* gcc.dg/vect/slp-reduc-sad.c: Update scan string.
      	* gcc.dg/vect/vect-reduc-sad.c: Likewise.
      
      From-SVN: r269043
      Pat Haugen committed
    • libsanitizer: Restore internal_readlink for x32 · 4dfc5b35
      Cherry-pick compiler-rt revision 354451:
      
      r316591 has
      
      @@ -389,13 +383,11 @@ uptr internal_dup2(int oldfd, int newfd) {
       }
      
       uptr internal_readlink(const char *path, char *buf, uptr bufsize) {
      -#if SANITIZER_NETBSD
      -  return internal_syscall_ptr(SYSCALL(readlink), path, buf, bufsize);
      -#elif SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
      +#if SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
         return internal_syscall(SYSCALL(readlinkat), AT_FDCWD,
                                 (uptr)path, (uptr)buf, bufsize);
       #else
      -  return internal_syscall(SYSCALL(readlink), (uptr)path, (uptr)buf, bufsize);
      +  return internal_syscall_ptr(SYSCALL(readlink), path, buf, bufsize);
       #endif
       }
      
      which dropped the (uptr) cast and broke x32.  This patch puts back the
      (uptr) cast to restore x32 and fixes:
      
      https://bugs.llvm.org/show_bug.cgi?id=40783
      
      Differential Revision: https://reviews.llvm.org/D58413
      
      	PR sanitizer/89409
      	* sanitizer_common/sanitizer_linux.cc (internal_readlink):
      	Cherry-pick compiler-rt r354451.
      
      From-SVN: r269042
      H.J. Lu committed
    • Fix testsuite · 9e8fc96c
      2019-02-19  Caroline Tice <cmtice@google.com>
      
      	Fix testsuite
      	* testsuite/libvtv.cc/const_vtable.cc (main): Fix function signature.
      
      From-SVN: r269041
      Caroline Tice committed
    • revert: re PR target/89397 (ICE in build_call_expr_loc_array at gcc/tree.c:11563 since r229082) · 0024731f
      Revert:
              PR target/89397
              * config/i386/i386.c (ix86_option_override_internal): Set
              opts->x_ix86_fpmath to FPMATH_387 when SSE is disabled.
      
              gcc/testsuite/
      
              PR target/89397
              * gcc.target/i386/pr89397.c: New test.
      
      From-SVN: r269040
      Uros Bizjak committed
    • [GCC] PR target/86487: fix the way 'uses_hard_regs_p' handles paradoxical · 145d4e1a
      subregs
      
      gcc/ChangeLog:
      2019-02-20 Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	PR target/86487
      	* lra-constraints.c(uses_hard_regs_p): Fix handling of
      	paradoxical SUBREGS.
      
      gcc/testsuite/ChangeLog:
      2019-02-20 Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      	PR target/86487
      	* gcc.target/arm/pr86487.c: New.
      
      From-SVN: r269039
      Andre Vieira committed
    • Change singular to plural in gfortran.texi. · c9ea5b63
      2019-02-20  Martin Liska  <mliska@suse.cz>
      
      	* gfortran.texi: Change singular to plural.
      
      From-SVN: r269038
      Martin Liska committed
    • re PR c++/84536 (ICE with non-type template parameter) · 9ccdc43d
      /cp
      2019-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84536
      	* pt.c (tsubst_init): Diagnose an initializer expanding to an
      	empty list of expressions; tweak wrt dependent types.
      	(regenerate_decl_from_template): For VAR_DECLs call tsubst_init
      	instead of tsubst_expr.
      
      /testsuite
      2019-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/84536
      	* g++.dg/cpp1y/var-templ60.C: New.
      
      From-SVN: r269037
      Paolo Carlini committed
    • Correction of ChangeLog entry, Thomas provided the code for this change. · 54603edc
      2019-02-19  Thomas Schwinge  <thomas@codesourcery.com>
      
      	PR c/87924
      	* openmp.c (gfc_match_omp_clauses): Add representation of wait clause
      	without argument as 'wait (GOMP_ASYNC_NOVAL)'.
      
      From-SVN: r269036
      Thomas Schwinge committed
    • Document Fortran header directive. · 7ac75976
      2019-02-20  Martin Liska  <mliska@suse.cz>
      
      	* gfortran.texi: Document Fortran header directive.
      
      From-SVN: r269035
      Martin Liska committed
    • re PR libstdc++/89402 (warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less… · ea1c2a95
      re PR libstdc++/89402 (warning: ‘void _ZNKSt4hashIeEclEe()’ specifies less restrictive attribute than its target)
      
      	PR libstdc++/89402
      	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add
      	_GLIBCXX_PURE to the alias declaration.
      
      From-SVN: r269034
      Jakub Jelinek committed
    • [rs6000] fix PR 88100, range check for vec_splat_{su}{8,16,32} · e86ae7ba
      GCC revision 259524 implemented range check for the vec_splat_{su}{8,16,32}
      builtins.  However, as a consequence of the implementation, the range check
      is not done correctly for the expected vspltis[bhw] instructions.  The result
      is that we may not get a valid error message if the valid range of the data
      is exceeded.
      
      Although the input of the function prototype of vec_splat_{su}{8,16,32} is
      const int, the actual data usage range is limited to the data range of 5 bits
      signed.  We should limit the int_cst.val[0] data to the 5 bit signed data range
      without any modification in the input arg0 parameter.  However, the sext_hwi
      function intercepts the data of TREE_INT_CST_LOW (arg0) as size bits in the
      sext_hwi (TREE_INT_CST_LOW (arg0), size) statement.  This will cause some of
      the excess data to fall within the range of 5 bits signed, so that the correct
      diagnostic information cannot be generated, we need to remove the sext_hwi to
      ensure that the input data has not been modified.
      
      This patch fix range check for the vec_splat_s[8,16,32] builtins.  The argument
      must be a 5-bit const int as specified for the vspltis[bhw] instructions.
      
      for gcc/ChangeLog
      
      	PR target/88100
      	* gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
      	<case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
      	ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before
      	range checking it.
      
      for gcc/testsuite/ChangeLog
      
      	PR target/88100
      	* gcc/testsuite/gcc.target/powerpc/pr88100.c: New testcase.
      
      From-SVN: r269033
      Li Jia He committed
    • PR c++/88368 - wrong 'use of deleted function' · 9d35a27a
      Since my patch for 81359 allowed us to signal failure on return from
      maybe_instantiate_noexcept, we no longer need to turn an error into
      noexcept(false).  We also need to handle NSDMI instantiation errors under
      synthesized_method_walk.  This change caused some instantiation context
      notes to be lost in the testsuite, so I added push_tinst_level to
      get_defaulted_eh_spec to restore that context.
      
      	* method.c (walk_field_subobs): Remember errors from get_nsdmi.
      	(get_defaulted_eh_spec): Call push_tinst_level.
      	* pt.c (maybe_instantiate_noexcept): Keep error_mark_node.
      	* typeck2.c (merge_exception_specifiers): Handle error_mark_node.
      
      From-SVN: r269032
      Jason Merrill committed
    • Daily bump. · 8dca1dc3
      From-SVN: r269031
      GCC Administrator committed
  2. 19 Feb, 2019 21 commits
    • * config/gcn/gcn.c (print_operand): Fix typo. · a94d5170
      From-SVN: r269028
      Jonathan Wakely committed
    • compiler: add debugger-callable AST dump functins · f1c4b346
          
          Introduce a set debug_go_* global functions that can be used to emit
          AST dumps for Go statements and expressions from within GDB (for use
          by people developing gccgo).
          
          Reviewed-on: https://go-review.googlesource.com/c/162903
      
      From-SVN: r269027
      Ian Lance Taylor committed
    • Fix pr88850 test · e8350f09
      Fix pr88850.c testcase which was failing in hardfp environments.
      
      Committed as obvious.
      
          gcc/testsuite/
      	* gcc.target/arm/pr88850.c: Block -mfloat-abi override.
      
      From-SVN: r269026
      Wilco Dijkstra committed
    • Makefile.am: Avoid the -D option which is not available with the install-sh fallback. · 4f19d0e7
      2019-02-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * src/Makefile.am: Avoid the -D option which is not available
              with the install-sh fallback.  Use $(MKDIR_P) instead.
              * libdruntime/Makefile.am: Likewise.
              * src/Makefile.in: Regenerated.
              * libdruntime/Makefile.in: Regenerated.
      
      From-SVN: r269025
      Bernd Edlinger committed
    • re PR fortran/89384 (CONTIGUOUS dummy argument in BIND(C) interface incorrect… · 9d52e1bb
      re PR fortran/89384 (CONTIGUOUS dummy argument in BIND(C) interface incorrect when actual is non-contiguous)
      
      2019-02-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/89384
      	* trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): If the dummy
      	argument is contiguous and the actual argument may not be,
      	use gfc_conv_subref_array_arg.
      
      2019-02-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/89384
      	* gfortran.dg/ISO_Fortran_binding_4.f90
      
      From-SVN: r269024
      Thomas Koenig committed
    • unwind-dw2.c (_Unwind_GetGR): Compare regno instead of index to DWARF_ZERO_REG. · fe95aee9
      	* unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare
      	regno instead of index to DWARF_ZERO_REG.
      
      From-SVN: r269021
      Uros Bizjak committed
    • [PR87924] OpenACC wait clauses without async-arguments: remove XFAILs · 3b8f48d6
      ... which the recent r269016 didn't do.
      
      	gcc/testsuite/
      	PR c/87924
      	* c-c++-common/goacc/asyncwait-5.c: Remove XFAILs.
      	* gfortran.dg/goacc/asyncwait-5.f: Likewise.
      
      From-SVN: r269020
      Thomas Schwinge committed
    • re PR go/89169 (FAIL: internal/cpu) · b05b2dba
      	PR go/89169
          internal/cpu: do not require POWER8
          
          Although the gc toolchain requires POWER8, the gccgo toolchain does not.
          
          Fixes https://gcc.gnu.org/PR89169
          
          Reviewed-on: https://go-review.googlesource.com/c/162979
      
      From-SVN: r269019
      Ian Lance Taylor committed
    • runtime: abort stack scan in cases that we cannot unwind the stack · 6bd37418
          
          In signal-triggered stack scan, if the signal is delivered at
          certain bad time (e.g. in vdso, or in the middle of setcontext?),
          the unwinder may not be able to unwind the whole stack, while it
          still reports _URC_END_OF_STACK. So we cannot rely on _URC_END_OF_STACK
          to tell if it successfully scanned the stack. Instead, we check
          the last Go frame to see it actually reached the end of the stack.
          For Go-created stack, this is runtime.kickoff. For C-created
          stack, we need to record the outermost Go frame when it enters
          the Go side.
          
          Also we cannot unwind the stack if the signal is delivered in the
          middle of runtime.gogo, halfway through a goroutine switch, where
          the g and the stack don't match. Give up in this case as well.
          
          Reviewed-on: https://go-review.googlesource.com/c/159098
      
      From-SVN: r269018
      Ian Lance Taylor committed
    • i386: Set ix86_fpmath to FPMATH_387 without SSE · 23c4471e
      ix86_fpmath should be set to combination of FPMATH_387 and FPMATH_SSE.
      When SSE is disabled, it should be set to FPMATH_387 and 387 codegen is
      also controlled by -msoft-float.
      
      gcc/
      
      	PR target/89397
      	* config/i386/i386.c (ix86_option_override_internal): Set
      	opts->x_ix86_fpmath to FPMATH_387 when SSE is disabled.
      
      gcc/testsuite/
      
      	PR target/89397
      	* gcc.target/i386/pr89397.c: New test.
      
      From-SVN: r269017
      H.J. Lu committed
    • re PR c/87924 (OpenACC wait clauses without async-arguments) · 19695f4d
      2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
      
      	PR c/87924
      	gcc/c/
      	* c-parser.c (c_parser_oacc_clause_wait): Add representation of wait
      	clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.
      
      	gcc/cp/
      	* parser.c (cp_parser_oacc_clause_wait): Add representation of wait
      	clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.
      
      	gcc/fortran/
      	* openmp.c (gfc_match_omp_clauses): Add representation of wait clause
      	without argument as 'wait (GOMP_ASYNC_NOVAL)'.
      
      	libgomp/
      	* oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
      	goacc_wait().
      	(goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
      	and related adjustment.
      
      	Reviewed-by: Thomas Schwinge  <thomas@codesourcery.com>
      
      From-SVN: r269016
      Chung-Lin Tang committed
    • re PR tree-optimization/88074 (g++ hangs on math expression) · 83fce900
      2019-02-19  Richard Biener  <rguenther@suse.de>
      
              PR middle-end/88074
      	* toplev.c (do_compile): Initialize mpfr's exponent range
      	based on available float modes.
      
      	* gcc.dg/pr88074.c: New testcase.
      
      From-SVN: r269015
      Richard Biener committed
    • Fix libphobos.shared/load.d compile failure on Solaris · be200c5c
      2019-02-19  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* testsuite/libphobos.shared/load.d: Import core.sys.posix.dlfcn.
      	[DragonFlyBSD, FreeBSD, linux, NetBSD, OSX, Solaris]: Import only
      	RTLD_NOLOAD from core.sys.*.dlfcn.
      	Assert RTLD_NOLOAD is available.
      
      From-SVN: r269014
      Iain Buclaw committed
    • rtlanal.c (get_initial_register_offset): Fall back to the estimate as long as… · 6138fed0
      rtlanal.c (get_initial_register_offset): Fall back to the estimate as long as the epilogue isn't completed.
      
      	* rtlanal.c (get_initial_register_offset): Fall back to the estimate
      	as long as the epilogue isn't completed.
      
      From-SVN: r269013
      Eric Botcazou committed
    • Fix libphobos linking on Solaris 11 · 1d679134
      	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_NET): New macro.
      	* configure.ac: Invoke it.
      	* configure: Regenerate.
      
      From-SVN: r269012
      Rainer Orth committed
    • re PR middle-end/89303 (memory leak with shared_ptr and enable_shared_from_this) · 0db1a7c2
      	PR middle-end/89303
      	* g++.dg/torture/pr89303.C: Move everything from std namespace to my
      	namespace.
      
      From-SVN: r269010
      Jakub Jelinek committed
    • re PR c++/89387 (ICE in maybe_generic_this_capture at gcc/cp/lambda.c:945 since r268851) · d5fe39d4
      	PR c++/89387
      	* lambda.c (maybe_generic_this_capture): Don't check
      	DECL_NONSTATIC_MEMBER_FUNCTION_P on USING_DECLs.
      
      	* g++.dg/cpp0x/lambda/lambda-89387.C: New test.
      
      From-SVN: r269009
      Jakub Jelinek committed
    • re PR c++/89391 (ICE in build_target_expr_with_type, at cp/tree.c:795) · 50aaebab
      	PR c++/89391
      	* typeck.c (build_reinterpret_cast_1): Don't handle void to
      	&& conversion go through build_target_expr_with_type.
      
      	* g++.dg/cpp0x/reinterpret_cast2.C: New test.
      
      From-SVN: r269008
      Jakub Jelinek committed
    • re PR c++/89390 (ICE in get_string, at spellcheck-tree.h:46) · 883c0796
      	PR c++/89390
      	* error.c (qualified_name_lookup_error): Only call
      	suggest_alternative_in_scoped_enum if name is IDENTIFIER_NODE.
      
      	* g++.dg/diagnostic/pr89390.C: New test.
      
      From-SVN: r269007
      Jakub Jelinek committed
    • Adjust C++11/C++14 tests to work with -fchar8_t · 102a4fe1
      	* testsuite/21_strings/basic_string/literals/types.cc
      	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string type for u8 literal.
      	* testsuite/21_strings/basic_string/literals/values.cc
      	[_GLIBCXX_USE_CHAR8_T]: Likewise.
      	* testsuite/22_locale/codecvt/char16_t.cc: Adjust for u8 literals
      	potentially having different type.
      	* testsuite/22_locale/codecvt/char32_t.cc: Likewise.
      	* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Cast u8 literal
      	to char.
      	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: Likewise.
      	* testsuite/22_locale/codecvt/utf8.cc: Likewise.
      	* testsuite/22_locale/conversions/string/2.cc: Remove u8 prefix from
      	string literals only using basic character set.
      	* testsuite/22_locale/conversions/string/3.cc: Likewise. Cast other
      	u8 literals to char.
      	* testsuite/29_atomics/headers/atomic/macros.cc [_GLIBCXX_USE_CHAR8_T]:
      	Test ATOMIC_CHAR8_T_LOCK_FREE.
      	Add missing #error to ATOMIC_CHAR16_T_LOCK_FREE test.
      	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc
      	[_GLIBCXX_USE_CHAR8_T]: Check for std::atomic_char8_t.
      	* testsuite/experimental/string_view/literals/types.cc
      	[_GLIBCXX_USE_CHAR8_T]: Adjust expected string_view type for u8
      	literal.
      	* testsuite/experimental/string_view/literals/values.cc
      	[_GLIBCXX_USE_CHAR8_T]: Likewise.
      
      From-SVN: r269006
      Jonathan Wakely committed
    • P0482R5 char8_t: New standard library tests · 46ca1dd7
      2019-02-19  Tom Honermann  <tom@honermann.net>
      
      	* testsuite/18_support/numeric_limits/char8_t.cc: New test cloned
      	from char16_32_t.cc; validates numeric_limits<char8_t>.
      	* testsuite/21_strings/basic_string/literals/types-char8_t.cc: New
      	test cloned from types.cc; validates operator""s for char8_t
      	returns u8string.
      	* testsuite/21_strings/basic_string/literals/values-char8_t.cc: New
      	test cloned from values.cc; validates construction and comparison
      	of u8string values.
      	* testsuite/21_strings/basic_string/requirements/
      	/explicit_instantiation/char8_t/1.cc: New test cloned from
      	char16_t/1.cc; validates explicit instantiation of
      	basic_string<char8_t>.
      	* testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
      	New test cloned from types.cc; validates operator""sv for char8_t
      	returns u8string_view.
      	* testsuite/21_strings/basic_string_view/literals/
      	values-char8_t.cc: New test cloned from values.cc; validates
      	construction and comparison of u8string_view values.
      	* testsuite/21_strings/basic_string_view/requirements/
      	explicit_instantiation/char8_t/1.cc: New test cloned from
      	char16_t/1.cc; validates explicit instantiation of
      	basic_string_view<char8_t>.
      	* testsuite/21_strings/char_traits/requirements/char8_t/65049.cc:
      	New test cloned from char16_t/65049.cc; validates that
      	char_traits<char8_t> is not vulnerable to the concerns in PR65049.
      	* testsuite/21_strings/char_traits/requirements/char8_t/
      	typedefs.cc: New test cloned from char16_t/typedefs.cc; validates
      	that char_traits<char8_t> member typedefs are present and correct.
      	* testsuite/21_strings/char_traits/requirements/
      	explicit_instantiation/char8_t/1.cc: New test cloned from
      	char16_t/1.cc; validates explicit instantiation of
      	char_traits<char8_t>.
      	* testsuite/22_locale/codecvt/char16_t-char8_t.cc: New test cloned
      	from char16_t.cc: validates
      	codecvt<char16_t, char8_t, mbstate_t>.
      	* testsuite/22_locale/codecvt/char32_t-char8_t.cc: New test cloned
      	from char32_t.cc: validates
      	codecvt<char32_t, char8_t, mbstate_t>.
      	* testsuite/22_locale/codecvt/utf8-char8_t.cc: New test cloned from
      	utf8.cc; validates codecvt<char16_t, char8_t, std::mbstate_t> and
      	codecvt<char32_t, char8_t, std::mbstate_t>.
      	* testsuite/27_io/filesystem/path/native/string-char8_t.cc: New
      	test cloned from string.cc; validates filesystem::path construction
      	from char8_t input.
      	* testsuite/experimental/feat-char8_t.cc: New test; validates that
      	the __cpp_lib_char8_t feature test macro is defined with the
      	correct value.
      	* testsuite/experimental/filesystem/path/native/string-char8_t.cc:
      	New test cloned from string.cc; validates filesystem::path
      	construction from char8_t input.
      	* testsuite/experimental/string_view/literals/types-char8_t.cc: New
      	test cloned from types.cc; validates operator""sv for char8_t
      	returns u8string_view.
      	* testsuite/experimental/string_view/literals/values-char8_t.cc:
      	New test cloned from values.cc; validates construction and
      	comparison of u8string_view values.
      	* testsuite/experimental/string_view/requirements/
      	explicit_instantiation/char8_t/1.cc: New test cloned from
      	char16_t/1.cc; validates explicit instantiation of
      	basic_string_view<char8_t>.
      	* testsuite/ext/char8_t/atomic-1.cc: New test; validates that
      	ATOMIC_CHAR8_T_LOCK_FREE is not defined if char8_t support is not
      	enabled.
      
      From-SVN: r269005
      Tom Honermann committed