Skip to content

Commit 5a852a4

Browse files
Various cleanups: Use unnamed namespaces (#4124)
1 parent 2c81218 commit 5a852a4

File tree

2 files changed

+44
-41
lines changed

2 files changed

+44
-41
lines changed

stl/src/stdhndlr.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@
33

44
// set_new_handler
55

6+
#include <new.h>
67
#include <new>
78

8-
using new_hand = int(__cdecl*)(size_t);
9+
namespace {
10+
_STD new_handler _New_handler;
911

10-
extern "C" new_hand __cdecl _set_new_handler(new_hand);
12+
int __cdecl _New_handler_interface(size_t) { // interface to existing Microsoft _callnewh mechanism
13+
_New_handler();
14+
return 1;
15+
}
16+
} // namespace
1117

1218
_STD_BEGIN
13-
static new_handler _New_handler;
14-
15-
int __cdecl _New_handler_interface(size_t) { // interface to existing Microsoft _callnewh mechanism
16-
_New_handler();
17-
return 1;
18-
}
1919

2020
_CRTIMP2 new_handler __cdecl set_new_handler(_In_opt_ new_handler pnew) noexcept { // remove current handler
2121
_BEGIN_LOCK(_LOCK_MALLOC) // lock thread to ensure atomicity

stl/src/xtime.cpp

Lines changed: 36 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,54 +8,57 @@
88

99
#include "awint.hpp"
1010

11-
constexpr long _Nsec_per_sec = 1000000000L;
12-
constexpr long _Nsec_per_msec = 1000000L;
13-
constexpr int _Msec_per_sec = 1000;
14-
15-
static void _timespec64_normalize(_timespec64* xt) { // adjust so that 0 <= tv_nsec < 1 000 000 000
16-
while (xt->tv_nsec < 0) { // normalize target time
17-
xt->tv_sec -= 1;
18-
xt->tv_nsec += _Nsec_per_sec;
19-
}
20-
while (_Nsec_per_sec <= xt->tv_nsec) { // normalize target time
21-
xt->tv_sec += 1;
22-
xt->tv_nsec -= _Nsec_per_sec;
23-
}
24-
}
25-
26-
// return _timespec64 object holding difference between xt and now, treating negative difference as 0
27-
static _timespec64 _timespec64_diff(const _timespec64* xt, const _timespec64* now) {
28-
_timespec64 diff = *xt;
29-
_timespec64_normalize(&diff);
30-
if (diff.tv_nsec < now->tv_nsec) { // avoid underflow
31-
diff.tv_sec -= now->tv_sec + 1;
32-
diff.tv_nsec += _Nsec_per_sec - now->tv_nsec;
33-
} else { // no underflow
34-
diff.tv_sec -= now->tv_sec;
35-
diff.tv_nsec -= now->tv_nsec;
11+
namespace {
12+
constexpr long _Nsec_per_sec = 1000000000L;
13+
constexpr long _Nsec_per_msec = 1000000L;
14+
constexpr int _Msec_per_sec = 1000;
15+
16+
void _timespec64_normalize(_timespec64* xt) { // adjust so that 0 <= tv_nsec < 1 000 000 000
17+
while (xt->tv_nsec < 0) { // normalize target time
18+
xt->tv_sec -= 1;
19+
xt->tv_nsec += _Nsec_per_sec;
20+
}
21+
while (_Nsec_per_sec <= xt->tv_nsec) { // normalize target time
22+
xt->tv_sec += 1;
23+
xt->tv_nsec -= _Nsec_per_sec;
24+
}
3625
}
3726

38-
if (diff.tv_sec < 0 || (diff.tv_sec == 0 && diff.tv_nsec <= 0)) { // time is zero
39-
diff.tv_sec = 0;
40-
diff.tv_nsec = 0;
27+
// return _timespec64 object holding difference between xt and now, treating negative difference as 0
28+
_timespec64 _timespec64_diff(const _timespec64* xt, const _timespec64* now) {
29+
_timespec64 diff = *xt;
30+
_timespec64_normalize(&diff);
31+
if (diff.tv_nsec < now->tv_nsec) { // avoid underflow
32+
diff.tv_sec -= now->tv_sec + 1;
33+
diff.tv_nsec += _Nsec_per_sec - now->tv_nsec;
34+
} else { // no underflow
35+
diff.tv_sec -= now->tv_sec;
36+
diff.tv_nsec -= now->tv_nsec;
37+
}
38+
39+
if (diff.tv_sec < 0 || (diff.tv_sec == 0 && diff.tv_nsec <= 0)) { // time is zero
40+
diff.tv_sec = 0;
41+
diff.tv_nsec = 0;
42+
}
43+
return diff;
4144
}
42-
return diff;
43-
}
44-
45-
constexpr long long _Epoch = 0x19DB1DED53E8000LL;
46-
constexpr long _Nsec100_per_sec = _Nsec_per_sec / 100;
45+
} // namespace
4746

4847
_EXTERN_C
4948

5049
_CRTIMP2_PURE long long __cdecl _Xtime_get_ticks() noexcept {
5150
// get system time in 100-nanosecond intervals since the epoch
51+
constexpr long long _Epoch = 0x19DB1DED53E8000LL;
52+
5253
FILETIME ft;
5354
__crtGetSystemTimePreciseAsFileTime(&ft);
5455
return ((static_cast<long long>(ft.dwHighDateTime)) << 32) + static_cast<long long>(ft.dwLowDateTime) - _Epoch;
5556
}
5657

5758
// Used by several src files, but not dllexported.
5859
void _Timespec64_get_sys(_timespec64* xt) noexcept { // get system time with nanosecond resolution
60+
constexpr long _Nsec100_per_sec = _Nsec_per_sec / 100;
61+
5962
unsigned long long now = _Xtime_get_ticks();
6063
xt->tv_sec = static_cast<__time64_t>(now / _Nsec100_per_sec);
6164
xt->tv_nsec = static_cast<long>(now % _Nsec100_per_sec) * 100;

0 commit comments

Comments
 (0)