aboutsummaryrefslogtreecommitdiff
path: root/libphobos/src/std/path.d
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2022-02-13 20:17:53 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2022-02-16 11:15:02 +0100
commitd75691877c4a7521a995d2601021fcaf30f65d94 (patch)
tree36509d835d63b98ad1130ac9d4695b5033c10428 /libphobos/src/std/path.d
parent023327643969d5469902a9ecfa6738a315f9e362 (diff)
downloadgcc-d75691877c4a7521a995d2601021fcaf30f65d94.zip
gcc-d75691877c4a7521a995d2601021fcaf30f65d94.tar.gz
gcc-d75691877c4a7521a995d2601021fcaf30f65d94.tar.bz2
d: Merge upstream dmd 52844d4b1, druntime dbd0c874, phobos 896b1d0e1.
D front-end changes: - Parsing and compiling C code is now possible using `import'. - `throw' statements can now be used as an expression. - Improvements to the D template emission strategy when compiling with `-funittest'. D Runtime changes: - New core.int128 module for implementing intrinsics to support 128-bit integer types. - C bindings for the kernel and C runtime have been better separated to allow compiling for hybrid targets, such as kFreeBSD. Phobos changes: - The std.experimental.checkedint module has been renamed to std.checkedint. gcc/d/ChangeLog: * d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P functions to PURE::const_. * d-gimplify.cc (bit_field_ref): New function. (d_gimplify_modify_expr): Handle implicit casting for assignments to bit-fields. (d_gimplify_unary_expr): New function. (d_gimplify_binary_expr): New function. (d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P. * d-target.cc (Target::_init): Initialize bitFieldStyle. (TargetCPP::parameterType): Update signature. (Target::supportsLinkerDirective): New function. * dmd/MERGE: Merge upstream dmd 52844d4b1. * expr.cc (ExprVisitor::visit (ThrowExp *)): New function. * types.cc (d_build_bitfield_integer_type): New function. (insert_aggregate_bitfield): New function. (layout_aggregate_members): Handle inserting bit-fields into an aggregate type. libphobos/ChangeLog: * Makefile.in: Regenerate. * libdruntime/MERGE: Merge upstream druntime dbd0c874. * libdruntime/Makefile.am (DRUNTIME_CSOURCES): Add core/int128.d. (DRUNTIME_DISOURCES): Add __builtins.di. * libdruntime/Makefile.in: Regenerate. * src/MERGE: Merge upstream phobos 896b1d0e1. * src/Makefile.am (PHOBOS_DSOURCES): Add std/checkedint.d. * src/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Add -fall-instantiations to --gdcflags.
Diffstat (limited to 'libphobos/src/std/path.d')
-rw-r--r--libphobos/src/std/path.d13
1 files changed, 4 insertions, 9 deletions
diff --git a/libphobos/src/std/path.d b/libphobos/src/std/path.d
index 2d64684..20518b8 100644
--- a/libphobos/src/std/path.d
+++ b/libphobos/src/std/path.d
@@ -98,7 +98,7 @@ module std.path;
import std.file : getcwd;
static import std.meta;
-import std.range.primitives;
+import std.range;
import std.traits;
version (OSX)
@@ -262,8 +262,7 @@ version (Windows)
from a path.
*/
private auto ltrimDirSeparators(R)(R path)
-if (isInputRange!R && !isInfinite!R && isSomeChar!(ElementType!R) ||
- isNarrowString!R)
+if (isSomeFiniteCharInputRange!R || isNarrowString!R)
{
static if (isRandomAccessRange!R && hasSlicing!R || isNarrowString!R)
{
@@ -3213,12 +3212,8 @@ int filenameCharCmp(CaseSensitive cs = CaseSensitive.osDefault)(dchar a, dchar b
*/
int filenameCmp(CaseSensitive cs = CaseSensitive.osDefault, Range1, Range2)
(Range1 filename1, Range2 filename2)
-if (isInputRange!Range1 && !isInfinite!Range1 &&
- isSomeChar!(ElementEncodingType!Range1) &&
- !isConvertibleToString!Range1 &&
- isInputRange!Range2 && !isInfinite!Range2 &&
- isSomeChar!(ElementEncodingType!Range2) &&
- !isConvertibleToString!Range2)
+if (isSomeFiniteCharInputRange!Range1 && !isConvertibleToString!Range1 &&
+ isSomeFiniteCharInputRange!Range2 && !isConvertibleToString!Range2)
{
alias C1 = Unqual!(ElementEncodingType!Range1);
alias C2 = Unqual!(ElementEncodingType!Range2);