summaryrefslogtreecommitdiff
path: root/gcc/d
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gcc.gnu.org>2019-08-21 07:54:06 +0000
committerIain Buclaw <ibuclaw@gcc.gnu.org>2019-08-21 07:54:06 +0000
commit134d3a142d18580ddad1286206a759f40dd3cc20 (patch)
tree675de7cf1c7c331db23353ebcc2888a4e327ebb5 /gcc/d
parent71043642d566b8b1c23af1f8dfa8783ca7234b28 (diff)
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
Diffstat (limited to 'gcc/d')
-rw-r--r--gcc/d/dmd/MERGE2
-rw-r--r--gcc/d/dmd/root/filename.c3
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("~");