aboutsummaryrefslogtreecommitdiff
path: root/libphobos
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gcc.gnu.org>2019-04-21 10:21:07 +0000
committerIain Buclaw <ibuclaw@gcc.gnu.org>2019-04-21 10:21:07 +0000
commit6397d8df302d964740dca942445165d4c2a6c0aa (patch)
tree0a99e9db971e86cb9d52be240f007d1f99f862f1 /libphobos
parent6d679a7d9d8dbf9bc2c67cc0be747af2a9557314 (diff)
re PR d/90064 (InSituRegion lacks SPARC64 support)
PR d/90064 libphobos: Merge upstream phobos 428460ddd Defines growDownwards on SPARC64, initial patch by Rainer Orth. Backports another fix to std.process, allowing permissions tests to be skipped when running as root. Reviewed-on: https://github.com/dlang/phobos/pull/6962 From-SVN: r270483
Diffstat (limited to 'libphobos')
-rw-r--r--libphobos/src/MERGE2
-rw-r--r--libphobos/src/std/experimental/allocator/building_blocks/region.d1
-rw-r--r--libphobos/src/std/process.d17
3 files changed, 12 insertions, 8 deletions
diff --git a/libphobos/src/MERGE b/libphobos/src/MERGE
index b4d44b55624..3935c059403 100644
--- a/libphobos/src/MERGE
+++ b/libphobos/src/MERGE
@@ -1,4 +1,4 @@
-cf95639ffd9ed6f3b9d10d98461b2fbd31615757
+428460ddd8087fa28815e613ff04facb51108a7b
The first line of this file holds the git revision number of the last
merge done from the dlang/phobos repository.
diff --git a/libphobos/src/std/experimental/allocator/building_blocks/region.d b/libphobos/src/std/experimental/allocator/building_blocks/region.d
index 3d8431c23ca..43dfdb788e5 100644
--- a/libphobos/src/std/experimental/allocator/building_blocks/region.d
+++ b/libphobos/src/std/experimental/allocator/building_blocks/region.d
@@ -395,6 +395,7 @@ struct InSituRegion(size_t size, size_t minAlign = platformAlignment)
else version (RISCV32) enum growDownwards = Yes.growDownwards;
else version (RISCV64) enum growDownwards = Yes.growDownwards;
else version (SPARC) enum growDownwards = Yes.growDownwards;
+ else version (SPARC64) enum growDownwards = Yes.growDownwards;
else version (SystemZ) enum growDownwards = Yes.growDownwards;
else static assert(0, "Dunno how the stack grows on this architecture.");
diff --git a/libphobos/src/std/process.d b/libphobos/src/std/process.d
index a1cac2c9fdf..b0310a870d9 100644
--- a/libphobos/src/std/process.d
+++ b/libphobos/src/std/process.d
@@ -1188,13 +1188,16 @@ version (Posix) @system unittest
// can't run in directory if user does not have search permission on this directory
version (Posix)
{
- import core.sys.posix.sys.stat : S_IRUSR;
- auto directoryNoSearch = uniqueTempPath();
- mkdir(directoryNoSearch);
- scope(exit) rmdirRecurse(directoryNoSearch);
- setAttributes(directoryNoSearch, S_IRUSR);
- assertThrown!ProcessException(spawnProcess(prog.path, null, Config.none, directoryNoSearch));
- assertThrown!ProcessException(spawnProcess(prog.path, null, Config.detached, directoryNoSearch));
+ if (core.sys.posix.unistd.getuid() != 0)
+ {
+ import core.sys.posix.sys.stat : S_IRUSR;
+ auto directoryNoSearch = uniqueTempPath();
+ mkdir(directoryNoSearch);
+ scope(exit) rmdirRecurse(directoryNoSearch);
+ setAttributes(directoryNoSearch, S_IRUSR);
+ assertThrown!ProcessException(spawnProcess(prog.path, null, Config.none, directoryNoSearch));
+ assertThrown!ProcessException(spawnProcess(prog.path, null, Config.detached, directoryNoSearch));
+ }
}
}