0ca7ba9aa6
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define. (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. * config.h.in: Regenerate. * configure: Regenerate. * configure.ac: Enable filesystem TS and check its dependencies. * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in, __str_codecvt_out): Move code conversion logic from wstring_convert into new global functions. (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new functions. (wstring_convert::_M_conv): Remove. * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip. * include/experimental/filesystem: New. * include/experimental/fs_dir.h: New. * include/experimental/fs_fwd.h: New. * include/experimental/fs_ops.h: New. * include/experimental/fs_path.h: New. * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h. * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add. * src/Makefile.am (SUBDIRS): Add filesystem. * src/Makefile.in: Regenerate. * src/filesystem/Makefile.am: New. * src/filesystem/Makefile.in: New. * src/filesystem/dir.cc: New. * src/filesystem/ops.cc: New. * src/filesystem/path.cc: New. * testsuite/experimental/filesystem/operations/absolute.cc: New. * testsuite/experimental/filesystem/operations/copy.cc: New. * testsuite/experimental/filesystem/operations/current_path.cc: New. * testsuite/experimental/filesystem/path/append/path.cc: New. * testsuite/experimental/filesystem/path/assign/assign.cc: New. * testsuite/experimental/filesystem/path/assign/copy.cc: New. * testsuite/experimental/filesystem/path/compare/compare.cc: New. * testsuite/experimental/filesystem/path/compare/path.cc: New. * testsuite/experimental/filesystem/path/compare/strings.cc: New. * testsuite/experimental/filesystem/path/concat/path.cc: New. * testsuite/experimental/filesystem/path/concat/strings.cc: New. * testsuite/experimental/filesystem/path/construct/copy.cc: New. * testsuite/experimental/filesystem/path/construct/default.cc: New. * testsuite/experimental/filesystem/path/construct/locale.cc: New. * testsuite/experimental/filesystem/path/construct/range.cc: New. * testsuite/experimental/filesystem/path/decompose/extension.cc: New. * testsuite/experimental/filesystem/path/decompose/filename.cc: New. * testsuite/experimental/filesystem/path/decompose/parent_path.cc: New. * testsuite/experimental/filesystem/path/decompose/relative_path.cc: New. * testsuite/experimental/filesystem/path/decompose/root_directory.cc: New. * testsuite/experimental/filesystem/path/decompose/root_name.cc: New. * testsuite/experimental/filesystem/path/decompose/root_path.cc: New. * testsuite/experimental/filesystem/path/decompose/stem.cc: New. * testsuite/experimental/filesystem/path/generic/generic_string.cc: New. * testsuite/experimental/filesystem/path/itr/traversal.cc: New. * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: New. * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: New. * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: New. * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. * testsuite/experimental/filesystem/path/query/empty.cc: New. * testsuite/experimental/filesystem/path/query/has_extension.cc: New. * testsuite/experimental/filesystem/path/query/has_filename.cc: New. * testsuite/experimental/filesystem/path/query/has_parent_path.cc: New. * testsuite/experimental/filesystem/path/query/has_relative_path.cc: New. * testsuite/experimental/filesystem/path/query/has_root_directory.cc: New. * testsuite/experimental/filesystem/path/query/has_root_name.cc: New. * testsuite/experimental/filesystem/path/query/has_root_path.cc: New. * testsuite/experimental/filesystem/path/query/has_stem.cc: New. * testsuite/experimental/filesystem/path/query/is_relative.cc: New. * testsuite/util/testsuite_fs.h: New. From-SVN: r222654
261 lines
6.4 KiB
Plaintext
261 lines
6.4 KiB
Plaintext
# Handlers for additional dg-xxx keywords in tests.
|
|
|
|
# Copyright (C) 2004-2015 Free Software Foundation, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; see the file COPYING3. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
proc dg-require-c-std { args } {
|
|
if { ![ check_v3_target_c_std ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-debug-mode { args } {
|
|
if { ![ check_v3_target_debug_mode ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-profile-mode { args } {
|
|
if { ![ check_v3_target_profile_mode ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-normal-mode { args } {
|
|
if { ![ check_v3_target_normal_mode ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-parallel-mode { args } {
|
|
if { ![ check_v3_target_parallel_mode ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-fileio { args } {
|
|
if { ![ check_v3_target_fileio ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-namedlocale { args } {
|
|
if { ![ check_v3_target_namedlocale [lindex $args 1] ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-sharedlib { args } {
|
|
if { ![ check_v3_target_sharedlib ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-time { args } {
|
|
if { ![ check_v3_target_time ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-cstdint { args } {
|
|
if { ![ check_v3_target_cstdint ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-cmath { args } {
|
|
if { ![ check_v3_target_cmath ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-thread-fence { args } {
|
|
if { ![ check_v3_target_thread_fence ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-atomic-builtins { args } {
|
|
if { ![ check_v3_target_atomic_builtins ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-gthreads { args } {
|
|
if { ![ check_v3_target_gthreads ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-gthreads-timed { args } {
|
|
if { ![ check_v3_target_gthreads_timed ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-sleep { args } {
|
|
if { ![ check_v3_target_sleep ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-sched-yield { args } {
|
|
if { ![ check_v3_target_sched_yield ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-string-conversions { args } {
|
|
if { ![ check_v3_target_string_conversions ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-swprintf { args } {
|
|
if { ![ check_v3_target_swprintf ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-binary-io { args } {
|
|
if { ![ check_v3_target_binary_io ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-nprocs { args } {
|
|
if { ![ check_v3_target_nprocs ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-static-libstdcxx { args } {
|
|
if { ![ check_v3_target_static_libstdcxx ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-little-endian { args } {
|
|
if { ![ check_v3_target_little_endian ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc dg-require-filesystem-ts { args } {
|
|
if { ![ check_v3_target_filesystem_ts ] } {
|
|
upvar dg-do-what dg-do-what
|
|
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
proc add_options_for_no_pch { flags } {
|
|
# This forces any generated and possibly included PCH to be invalid.
|
|
return "-D__GLIBCXX__=99999999"
|
|
}
|
|
|
|
# Like dg-options, but adds to the default options rather than replacing them.
|
|
|
|
proc dg-additional-options { args } {
|
|
upvar dg-extra-tool-flags extra-tool-flags
|
|
|
|
if { [llength $args] > 3 } {
|
|
error "[lindex $args 0]: too many arguments"
|
|
return
|
|
}
|
|
|
|
if { [llength $args] >= 3 } {
|
|
switch [dg-process-target [lindex $args 2]] {
|
|
"S" { eval lappend extra-tool-flags [lindex $args 1] }
|
|
"N" { }
|
|
"F" { error "[lindex $args 0]: `xfail' not allowed here" }
|
|
"P" { error "[lindex $args 0]: `xfail' not allowed here" }
|
|
}
|
|
} else {
|
|
eval lappend extra-tool-flags [lindex $args 1]
|
|
}
|
|
}
|