From 134d3a142d18580ddad1286206a759f40dd3cc20 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Wed, 21 Aug 2019 07:54:06 +0000 Subject: [PATCH] re PR d/91339 (libphobos: ftbfs when the path contains '~') PR d/91339 d/dmd: Merge upstream dmd b37a537d3 Fixes the error: cannot find source code for runtime library file 'object.d' when the path contains '~'. Reviewed-on: https://github.com/dlang/dmd/pull/10309 From-SVN: r274771 --- gcc/d/dmd/MERGE | 2 +- gcc/d/dmd/root/filename.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/d/dmd/MERGE b/gcc/d/dmd/MERGE index cb7b6bfac7f..578f3fc0309 100644 --- a/gcc/d/dmd/MERGE +++ b/gcc/d/dmd/MERGE @@ -1,4 +1,4 @@ -375ed10aa7eb28755f92775ca5c5399550cd100b +b37a537d36c2ac69afa505a3110e2328c9fc0114 The first line of this file holds the git revision number of the last merge done from the dlang/dmd repository. diff --git a/gcc/d/dmd/root/filename.c b/gcc/d/dmd/root/filename.c index 6144d810fb5..ad6b1148c7b 100644 --- a/gcc/d/dmd/root/filename.c +++ b/gcc/d/dmd/root/filename.c @@ -110,7 +110,8 @@ Strings *FileName::splitPath(const char *path) case '~': { char *home = getenv("HOME"); - if (home) + // Expand ~ only if it is prefixing the rest of the path. + if (!buf.offset && p[1] == '/' && home) buf.writestring(home); else buf.writestring("~"); -- 2.30.2