public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-01-11 11:39 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-01-11 11:39 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:e72babec82bff8c8d64550a3c4f5c9e320ecc133
commit e72babec82bff8c8d64550a3c4f5c9e320ecc133
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/libdruntime/core/sys/posix/ucontext.d | 119 ++++++++++++++++++++++--
libphobos/src/std/datetime/package.d | 15 +--
2 files changed, 114 insertions(+), 20 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/ucontext.d b/libphobos/libdruntime/core/sys/posix/ucontext.d
index ef74771a50d..9400edd11f2 100644
--- a/libphobos/libdruntime/core/sys/posix/ucontext.d
+++ b/libphobos/libdruntime/core/sys/posix/ucontext.d
@@ -920,16 +920,121 @@ else version (CRuntime_Musl)
}
else version (Darwin)
{
- alias mcontext_t = void;
+ private
+ {
+ version (X86_Any)
+ {
+ struct __darwin_mmst_reg
+ {
+ char[10] __mmst_reg;
+ char[6] __mmst_rsrv;
+ }
+
+ struct __darwin_xmm_reg
+ {
+ char[16] __xmm_reg;
+ }
+
+ struct __darwin_exception_state
+ {
+ uint __trapno;
+ uint __err;
+ version (X86_64)
+ ulong __faultvaddr;
+ else
+ uint __faultvaddr;
+ }
+
+ struct __darwin_thread_state
+ {
+ version (X86_64)
+ ulong[21] __regs;
+ else
+ uint[16] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ int[2] __fpu_reserved;
+ ushort __fpu_fcw;
+ ushort __fpu_fsw;
+ uint[7] __fpu_regs;
+ __darwin_mmst_reg[8] __fpu_stmm;
+ version (X86_64)
+ {
+ __darwin_xmm_reg[16] __fpu_xmm;
+ char[6*16] __fpu_rsrv4;
+ }
+ else
+ {
+ __darwin_xmm_reg[8] __fpu_xmm;
+ char[14*16] __fpu_rsrv4;
+ }
+ int __fpu_reserved1;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ }
+ }
+ else version (PPC_Any)
+ {
+ struct __darwin_exception_state
+ {
+ uint __dar;
+ uint __dsisr;
+ uint __exception;
+ uint __pad0;
+ uint[4] __pad1;
+ }
+
+ struct __darwin_thread_state
+ {
+ uint[40] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ double[32] __fpregs;
+ uint __fpscr_pad;
+ uint __fpscr;
+ }
+
+ struct __darwin_vector_state
+ {
+ uint[32][4] __save_vr;
+ uint[4] __save_vscr;
+ uint[4] __save_pad5;
+ uint __save_vrvalid;
+ uint[7] __save_pad6;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ __darwin_vector_state __vs;
+ }
+ }
+ else
+ static assert(false, "mcontext_t unimplemented for this platform.");
+ }
+
+ alias mcontext_t = __darwin_mcontext*;
struct ucontext
{
- int uc_onstack;
- sigset_t uc_sigmask;
- stack_t uc_stack;
- ucontext* uc_link;
- size_t uc_mcsize;
- mcontext_t* uc_mcontext;
+ int uc_onstack;
+ sigset_t uc_sigmask;
+ stack_t uc_stack;
+ ucontext* uc_link;
+ size_t uc_mcsize;
+ __darwin_mcontext* uc_mcontext;
+ __darwin_mcontext __mcontext_data;
}
alias ucontext_t = ucontext;
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-09-17 14:34 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-09-17 14:34 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:d9df673d04fd8efd3a7b2c41c5da402f6bc07867
commit d9df673d04fd8efd3a7b2c41c5da402f6bc07867
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-04-19 18:06 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-04-19 18:06 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:9413e61de0c1398c56b87799ba78be7e59597068
commit 9413e61de0c1398c56b87799ba78be7e59597068
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-04-10 17:01 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-04-10 17:01 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:d15e88670d50f0ab79a35ef5027b64a8e8060282
commit d15e88670d50f0ab79a35ef5027b64a8e8060282
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-04-10 15:04 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-04-10 15:04 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:201cd3302b0f735e12d32b95a4bc4f42dca80f6e
commit 201cd3302b0f735e12d32b95a4bc4f42dca80f6e
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-03-14 22:00 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-03-14 22:00 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:5d4fac63564d4d9fcb71248a31982d3d399a2cf3
commit 5d4fac63564d4d9fcb71248a31982d3d399a2cf3
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-03-07 17:01 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-03-07 17:01 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:5bac2bd981256e5aa31eb34c8ece507bf1658b0e
commit 5bac2bd981256e5aa31eb34c8ece507bf1658b0e
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-01-30 19:08 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-01-30 19:08 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:54be6ffe17bb397f8cbded4fad992eae0bd4af71
commit 54be6ffe17bb397f8cbded4fad992eae0bd4af71
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2021-01-28 17:32 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2021-01-28 17:32 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:c73e3504b5b1cb2d6fe8787525c534bc0f7d090f
commit c73e3504b5b1cb2d6fe8787525c534bc0f7d090f
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/src/std/datetime/package.d | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2020-12-22 13:41 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2020-12-22 13:41 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:bd88dd39f4773177eb961768c61ce375c0d71e8d
commit bd88dd39f4773177eb961768c61ce375c0d71e8d
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/libdruntime/core/sys/posix/ucontext.d | 119 ++++++++++++++++++++++--
libphobos/src/std/datetime/package.d | 15 +--
2 files changed, 114 insertions(+), 20 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/ucontext.d b/libphobos/libdruntime/core/sys/posix/ucontext.d
index ef74771a50d..9400edd11f2 100644
--- a/libphobos/libdruntime/core/sys/posix/ucontext.d
+++ b/libphobos/libdruntime/core/sys/posix/ucontext.d
@@ -920,16 +920,121 @@ else version (CRuntime_Musl)
}
else version (Darwin)
{
- alias mcontext_t = void;
+ private
+ {
+ version (X86_Any)
+ {
+ struct __darwin_mmst_reg
+ {
+ char[10] __mmst_reg;
+ char[6] __mmst_rsrv;
+ }
+
+ struct __darwin_xmm_reg
+ {
+ char[16] __xmm_reg;
+ }
+
+ struct __darwin_exception_state
+ {
+ uint __trapno;
+ uint __err;
+ version (X86_64)
+ ulong __faultvaddr;
+ else
+ uint __faultvaddr;
+ }
+
+ struct __darwin_thread_state
+ {
+ version (X86_64)
+ ulong[21] __regs;
+ else
+ uint[16] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ int[2] __fpu_reserved;
+ ushort __fpu_fcw;
+ ushort __fpu_fsw;
+ uint[7] __fpu_regs;
+ __darwin_mmst_reg[8] __fpu_stmm;
+ version (X86_64)
+ {
+ __darwin_xmm_reg[16] __fpu_xmm;
+ char[6*16] __fpu_rsrv4;
+ }
+ else
+ {
+ __darwin_xmm_reg[8] __fpu_xmm;
+ char[14*16] __fpu_rsrv4;
+ }
+ int __fpu_reserved1;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ }
+ }
+ else version (PPC_Any)
+ {
+ struct __darwin_exception_state
+ {
+ uint __dar;
+ uint __dsisr;
+ uint __exception;
+ uint __pad0;
+ uint[4] __pad1;
+ }
+
+ struct __darwin_thread_state
+ {
+ uint[40] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ double[32] __fpregs;
+ uint __fpscr_pad;
+ uint __fpscr;
+ }
+
+ struct __darwin_vector_state
+ {
+ uint[32][4] __save_vr;
+ uint[4] __save_vscr;
+ uint[4] __save_pad5;
+ uint __save_vrvalid;
+ uint[7] __save_pad6;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ __darwin_vector_state __vs;
+ }
+ }
+ else
+ static assert(false, "mcontext_t unimplemented for this platform.");
+ }
+
+ alias mcontext_t = __darwin_mcontext*;
struct ucontext
{
- int uc_onstack;
- sigset_t uc_sigmask;
- stack_t uc_stack;
- ucontext* uc_link;
- size_t uc_mcsize;
- mcontext_t* uc_mcontext;
+ int uc_onstack;
+ sigset_t uc_sigmask;
+ stack_t uc_stack;
+ ucontext* uc_link;
+ size_t uc_mcsize;
+ __darwin_mcontext* uc_mcontext;
+ __darwin_mcontext __mcontext_data;
}
alias ucontext_t = ucontext;
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2020-12-09 9:51 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2020-12-09 9:51 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:83c0c866b50228600eb76b8002330365b5ad8559
commit 83c0c866b50228600eb76b8002330365b5ad8559
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/libdruntime/core/sys/posix/ucontext.d | 119 ++++++++++++++++++++++--
libphobos/src/std/datetime/package.d | 15 +--
2 files changed, 114 insertions(+), 20 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/ucontext.d b/libphobos/libdruntime/core/sys/posix/ucontext.d
index ef74771a50d..9400edd11f2 100644
--- a/libphobos/libdruntime/core/sys/posix/ucontext.d
+++ b/libphobos/libdruntime/core/sys/posix/ucontext.d
@@ -920,16 +920,121 @@ else version (CRuntime_Musl)
}
else version (Darwin)
{
- alias mcontext_t = void;
+ private
+ {
+ version (X86_Any)
+ {
+ struct __darwin_mmst_reg
+ {
+ char[10] __mmst_reg;
+ char[6] __mmst_rsrv;
+ }
+
+ struct __darwin_xmm_reg
+ {
+ char[16] __xmm_reg;
+ }
+
+ struct __darwin_exception_state
+ {
+ uint __trapno;
+ uint __err;
+ version (X86_64)
+ ulong __faultvaddr;
+ else
+ uint __faultvaddr;
+ }
+
+ struct __darwin_thread_state
+ {
+ version (X86_64)
+ ulong[21] __regs;
+ else
+ uint[16] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ int[2] __fpu_reserved;
+ ushort __fpu_fcw;
+ ushort __fpu_fsw;
+ uint[7] __fpu_regs;
+ __darwin_mmst_reg[8] __fpu_stmm;
+ version (X86_64)
+ {
+ __darwin_xmm_reg[16] __fpu_xmm;
+ char[6*16] __fpu_rsrv4;
+ }
+ else
+ {
+ __darwin_xmm_reg[8] __fpu_xmm;
+ char[14*16] __fpu_rsrv4;
+ }
+ int __fpu_reserved1;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ }
+ }
+ else version (PPC_Any)
+ {
+ struct __darwin_exception_state
+ {
+ uint __dar;
+ uint __dsisr;
+ uint __exception;
+ uint __pad0;
+ uint[4] __pad1;
+ }
+
+ struct __darwin_thread_state
+ {
+ uint[40] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ double[32] __fpregs;
+ uint __fpscr_pad;
+ uint __fpscr;
+ }
+
+ struct __darwin_vector_state
+ {
+ uint[32][4] __save_vr;
+ uint[4] __save_vscr;
+ uint[4] __save_pad5;
+ uint __save_vrvalid;
+ uint[7] __save_pad6;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ __darwin_vector_state __vs;
+ }
+ }
+ else
+ static assert(false, "mcontext_t unimplemented for this platform.");
+ }
+
+ alias mcontext_t = __darwin_mcontext*;
struct ucontext
{
- int uc_onstack;
- sigset_t uc_sigmask;
- stack_t uc_stack;
- ucontext* uc_link;
- size_t uc_mcsize;
- mcontext_t* uc_mcontext;
+ int uc_onstack;
+ sigset_t uc_sigmask;
+ stack_t uc_stack;
+ ucontext* uc_link;
+ size_t uc_mcsize;
+ __darwin_mcontext* uc_mcontext;
+ __darwin_mcontext __mcontext_data;
}
alias ucontext_t = ucontext;
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2020-12-07 23:13 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2020-12-07 23:13 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:49887c1124ad4cbbe2b8f52c6ebc211d8a272020
commit 49887c1124ad4cbbe2b8f52c6ebc211d8a272020
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/libdruntime/core/sys/posix/ucontext.d | 119 ++++++++++++++++++++++--
libphobos/src/std/datetime/package.d | 15 +--
2 files changed, 114 insertions(+), 20 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/ucontext.d b/libphobos/libdruntime/core/sys/posix/ucontext.d
index ef74771a50d..9400edd11f2 100644
--- a/libphobos/libdruntime/core/sys/posix/ucontext.d
+++ b/libphobos/libdruntime/core/sys/posix/ucontext.d
@@ -920,16 +920,121 @@ else version (CRuntime_Musl)
}
else version (Darwin)
{
- alias mcontext_t = void;
+ private
+ {
+ version (X86_Any)
+ {
+ struct __darwin_mmst_reg
+ {
+ char[10] __mmst_reg;
+ char[6] __mmst_rsrv;
+ }
+
+ struct __darwin_xmm_reg
+ {
+ char[16] __xmm_reg;
+ }
+
+ struct __darwin_exception_state
+ {
+ uint __trapno;
+ uint __err;
+ version (X86_64)
+ ulong __faultvaddr;
+ else
+ uint __faultvaddr;
+ }
+
+ struct __darwin_thread_state
+ {
+ version (X86_64)
+ ulong[21] __regs;
+ else
+ uint[16] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ int[2] __fpu_reserved;
+ ushort __fpu_fcw;
+ ushort __fpu_fsw;
+ uint[7] __fpu_regs;
+ __darwin_mmst_reg[8] __fpu_stmm;
+ version (X86_64)
+ {
+ __darwin_xmm_reg[16] __fpu_xmm;
+ char[6*16] __fpu_rsrv4;
+ }
+ else
+ {
+ __darwin_xmm_reg[8] __fpu_xmm;
+ char[14*16] __fpu_rsrv4;
+ }
+ int __fpu_reserved1;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ }
+ }
+ else version (PPC_Any)
+ {
+ struct __darwin_exception_state
+ {
+ uint __dar;
+ uint __dsisr;
+ uint __exception;
+ uint __pad0;
+ uint[4] __pad1;
+ }
+
+ struct __darwin_thread_state
+ {
+ uint[40] __regs;
+ }
+
+ struct __darwin_float_state
+ {
+ double[32] __fpregs;
+ uint __fpscr_pad;
+ uint __fpscr;
+ }
+
+ struct __darwin_vector_state
+ {
+ uint[32][4] __save_vr;
+ uint[4] __save_vscr;
+ uint[4] __save_pad5;
+ uint __save_vrvalid;
+ uint[7] __save_pad6;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_exception_state __es;
+ __darwin_thread_state __ss;
+ __darwin_float_state __fs;
+ __darwin_vector_state __vs;
+ }
+ }
+ else
+ static assert(false, "mcontext_t unimplemented for this platform.");
+ }
+
+ alias mcontext_t = __darwin_mcontext*;
struct ucontext
{
- int uc_onstack;
- sigset_t uc_sigmask;
- stack_t uc_stack;
- ucontext* uc_link;
- size_t uc_mcsize;
- mcontext_t* uc_mcontext;
+ int uc_onstack;
+ sigset_t uc_sigmask;
+ stack_t uc_stack;
+ ucontext* uc_link;
+ size_t uc_mcsize;
+ __darwin_mcontext* uc_mcontext;
+ __darwin_mcontext __mcontext_data;
}
alias ucontext_t = ucontext;
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin
@ 2020-12-07 14:42 Iain Buclaw
0 siblings, 0 replies; 13+ messages in thread
From: Iain Buclaw @ 2020-12-07 14:42 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:792757d44e27b345149b2dc99ba25fe0600d04df
commit 792757d44e27b345149b2dc99ba25fe0600d04df
Author: Iain Buclaw <ibuclaw@gdcproject.org>
Date: Mon Dec 7 15:42:09 2020 +0100
libphobos: Fix mcontext_t definitions for Darwin
Diff:
---
libphobos/libdruntime/core/sys/posix/ucontext.d | 281 +++++++++++++++++++++++-
libphobos/src/std/datetime/package.d | 15 +-
2 files changed, 276 insertions(+), 20 deletions(-)
diff --git a/libphobos/libdruntime/core/sys/posix/ucontext.d b/libphobos/libdruntime/core/sys/posix/ucontext.d
index ef74771a50d..f363b990b8f 100644
--- a/libphobos/libdruntime/core/sys/posix/ucontext.d
+++ b/libphobos/libdruntime/core/sys/posix/ucontext.d
@@ -920,16 +920,283 @@ else version (CRuntime_Musl)
}
else version (Darwin)
{
- alias mcontext_t = void;
+ private
+ {
+ version (X86_Any)
+ {
+ struct __darwin_fp_control
+ {
+ ushort __flags;
+ }
+
+ struct __darwin_fp_status
+ {
+ ushort __flags;
+ }
+
+ struct __darwin_mmst_reg
+ {
+ char[10] __mmst_reg;
+ char[6] __mmst_rsrv;
+ }
+
+ struct __darwin_xmm_reg
+ {
+ char[16] __xmm_reg;
+ }
+
+ struct __darwin_i386_exception_state
+ {
+ uint __trapno;
+ uint __err;
+ uint __faultvaddr;
+ }
+
+ struct __darwin_i386_thread_state
+ {
+ uint __eax;
+ uint __ebx;
+ uint __ecx;
+ uint __edx;
+ uint __edi;
+ uint __esi;
+ uint __ebp;
+ uint __esp;
+ uint __ss;
+ uint __eflags;
+ uint __eip;
+ uint __cs;
+ uint __ds;
+ uint __es;
+ uint __fs;
+ uint __gs;
+ }
+
+ struct __darwin_i386_float_state
+ {
+ int[2] __fpu_reserved;
+ __darwin_fp_control __fpu_fcw;
+ __darwin_fp_status __fpu_fsw;
+ ubyte __fpu_ftw;
+ ubyte __fpu_rsrv1;
+ ushort __fpu_fop;
+ uint __fpu_ip;
+ ushort __fpu_cs;
+ ushort __fpu_rsrv2;
+ uint __fpu_dp;
+ ushort __fpu_ds;
+ ushort __fpu_rsrv3;
+ uint __fpu_mxcsr;
+ uint __fpu_mxcsrmask;
+ __darwin_mmst_reg __fpu_stmm0;
+ __darwin_mmst_reg __fpu_stmm1;
+ __darwin_mmst_reg __fpu_stmm2;
+ __darwin_mmst_reg __fpu_stmm3;
+ __darwin_mmst_reg __fpu_stmm4;
+ __darwin_mmst_reg __fpu_stmm5;
+ __darwin_mmst_reg __fpu_stmm6;
+ __darwin_mmst_reg __fpu_stmm7;
+ __darwin_xmm_reg __fpu_xmm0;
+ __darwin_xmm_reg __fpu_xmm1;
+ __darwin_xmm_reg __fpu_xmm2;
+ __darwin_xmm_reg __fpu_xmm3;
+ __darwin_xmm_reg __fpu_xmm4;
+ __darwin_xmm_reg __fpu_xmm5;
+ __darwin_xmm_reg __fpu_xmm6;
+ __darwin_xmm_reg __fpu_xmm7;
+ char[14*16] __fpu_rsrv4;
+ int __fpu_reserved1;
+ }
+
+ struct __darwin_x86_exception_state64
+ {
+ uint __trapno;
+ uint __err;
+ ulong __faultvaddr;
+ }
+
+ struct __darwin_x86_thread_state64
+ {
+ ulong __rax;
+ ulong __rbx;
+ ulong __rcx;
+ ulong __rdx;
+ ulong __rdi;
+ ulong __rsi;
+ ulong __rbp;
+ ulong __rsp;
+ ulong __r8;
+ ulong __r9;
+ ulong __r10;
+ ulong __r11;
+ ulong __r12;
+ ulong __r13;
+ ulong __r14;
+ ulong __r15;
+ ulong __rip;
+ ulong __rflags;
+ ulong __cs;
+ ulong __fs;
+ ulong __gs;
+ }
+
+ struct __darwin_x86_float_state64
+ {
+ int[2] __fpu_reserved;
+ __darwin_fp_control __fpu_fcw;
+ __darwin_fp_status __fpu_fsw;
+ ubyte __fpu_ftw;
+ ubyte __fpu_rsrv1;
+ ushort __fpu_fop;
+ uint __fpu_ip;
+ ushort __fpu_cs;
+ ushort __fpu_rsrv2;
+ uint __fpu_dp;
+ ushort __fpu_ds;
+ ushort __fpu_rsrv3;
+ uint __fpu_mxcsr;
+ uint __fpu_mxcsrmask;
+ __darwin_mmst_reg __fpu_stmm0;
+ __darwin_mmst_reg __fpu_stmm1;
+ __darwin_mmst_reg __fpu_stmm2;
+ __darwin_mmst_reg __fpu_stmm3;
+ __darwin_mmst_reg __fpu_stmm4;
+ __darwin_mmst_reg __fpu_stmm5;
+ __darwin_mmst_reg __fpu_stmm6;
+ __darwin_mmst_reg __fpu_stmm7;
+ __darwin_xmm_reg __fpu_xmm0;
+ __darwin_xmm_reg __fpu_xmm1;
+ __darwin_xmm_reg __fpu_xmm2;
+ __darwin_xmm_reg __fpu_xmm3;
+ __darwin_xmm_reg __fpu_xmm4;
+ __darwin_xmm_reg __fpu_xmm5;
+ __darwin_xmm_reg __fpu_xmm6;
+ __darwin_xmm_reg __fpu_xmm7;
+ __darwin_xmm_reg __fpu_xmm8;
+ __darwin_xmm_reg __fpu_xmm9;
+ __darwin_xmm_reg __fpu_xmm10;
+ __darwin_xmm_reg __fpu_xmm11;
+ __darwin_xmm_reg __fpu_xmm12;
+ __darwin_xmm_reg __fpu_xmm13;
+ __darwin_xmm_reg __fpu_xmm14;
+ __darwin_xmm_reg __fpu_xmm15;
+ char[6*16] __fpu_rsrv4;
+ int __fpu_reserved1;
+ }
+
+ version (X86)
+ {
+ struct __darwin_mcontext
+ {
+ __darwin_i386_exception_state __es;
+ __darwin_i386_thread_state __ss;
+ __darwin_i386_float_state __fs;
+ }
+ }
+ else version (X86_64)
+ {
+ struct __darwin_mcontext
+ {
+ __darwin_x86_exception_state64 __es;
+ __darwin_x86_thread_state64 __ss;
+ __darwin_x86_float_state64 __fs;
+ }
+ }
+ }
+ else version (PPC_Any)
+ {
+ struct __darwin_ppc_exception_state
+ {
+ uint __dar;
+ uint __dsisr;
+ uint __exception;
+ uint __pad0;
+ uint[4] __pad1;
+ }
+
+ struct __darwin_ppc_thread_state
+ {
+ uint __srr0;
+ uint __srr1;
+ uint __r0;
+ uint __r1;
+ uint __r2;
+ uint __r3;
+ uint __r4;
+ uint __r5;
+ uint __r6;
+ uint __r7;
+ uint __r8;
+ uint __r9;
+ uint __r10;
+ uint __r11;
+ uint __r12;
+ uint __r13;
+ uint __r14;
+ uint __r15;
+ uint __r16;
+ uint __r17;
+ uint __r18;
+ uint __r19;
+ uint __r20;
+ uint __r21;
+ uint __r22;
+ uint __r23;
+ uint __r24;
+ uint __r25;
+ uint __r26;
+ uint __r27;
+ uint __r28;
+ uint __r29;
+ uint __r30;
+ uint __r31;
+ uint __cr;
+ uint __xer;
+ uint __lr;
+ uint __ctr;
+ uint __mq;
+ uint __vrsave;
+ }
+
+ struct __darwin_ppc_float_state
+ {
+ double[32] __fpregs;
+ uint __fpscr_pad;
+ uint __fpscr;
+ }
+
+ struct __darwin_ppc_vector_state
+ {
+ uint[32][4] __save_vr;
+ uint[4] __save_vscr;
+ uint[4] __save_pad5;
+ uint __save_vrvalid;
+ uint[7] __save_pad6;
+ }
+
+ struct __darwin_mcontext
+ {
+ __darwin_ppc_exception_state __es;
+ __darwin_ppc_thread_state __ss;
+ __darwin_ppc_float_state __fs;
+ __darwin_ppc_vector_state __vs;
+ }
+ }
+ else
+ static assert(false, "mcontext_t unimplemented for this platform.");
+ }
+
+ alias mcontext_t = __darwin_mcontext*;
struct ucontext
{
- int uc_onstack;
- sigset_t uc_sigmask;
- stack_t uc_stack;
- ucontext* uc_link;
- size_t uc_mcsize;
- mcontext_t* uc_mcontext;
+ int uc_onstack;
+ sigset_t uc_sigmask;
+ stack_t uc_stack;
+ ucontext* uc_link;
+ size_t uc_mcsize;
+ __darwin_mcontext* uc_mcontext;
+ __darwin_mcontext __mcontext_data;
}
alias ucontext_t = ucontext;
diff --git a/libphobos/src/std/datetime/package.d b/libphobos/src/std/datetime/package.d
index 976d06ddb79..a5fd03d39e9 100644
--- a/libphobos/src/std/datetime/package.d
+++ b/libphobos/src/std/datetime/package.d
@@ -115,7 +115,6 @@ public import std.datetime.interval;
public import std.datetime.systime;
public import std.datetime.timezone;
-import core.exception : AssertError;
import std.functional : unaryFun;
import std.traits;
import std.typecons : Flag, Yes, No;
@@ -267,12 +266,7 @@ public:
StopWatch sw;
sw.start();
auto t1 = sw.peek();
- bool doublestart = true;
- try
- sw.start();
- catch (AssertError e)
- doublestart = false;
- assert(!doublestart);
+ assert(sw._flagStarted);
sw.stop();
assert((t1 - sw.peek()).to!("seconds", real)() <= 0);
}
@@ -294,12 +288,7 @@ public:
sw.start();
sw.stop();
auto t1 = sw.peek();
- bool doublestop = true;
- try
- sw.stop();
- catch (AssertError e)
- doublestop = false;
- assert(!doublestop);
+ assert(!sw._flagStarted);
assert((t1 - sw.peek()).to!("seconds", real)() == 0);
}
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2021-09-17 14:34 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-11 11:39 [gcc(refs/users/ibuclaw/heads/darwin)] libphobos: Fix mcontext_t definitions for Darwin Iain Buclaw
-- strict thread matches above, loose matches on Subject: below --
2021-09-17 14:34 Iain Buclaw
2021-04-19 18:06 Iain Buclaw
2021-04-10 17:01 Iain Buclaw
2021-04-10 15:04 Iain Buclaw
2021-03-14 22:00 Iain Buclaw
2021-03-07 17:01 Iain Buclaw
2021-01-30 19:08 Iain Buclaw
2021-01-28 17:32 Iain Buclaw
2020-12-22 13:41 Iain Buclaw
2020-12-09 9:51 Iain Buclaw
2020-12-07 23:13 Iain Buclaw
2020-12-07 14:42 Iain Buclaw
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).