Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/core/internal/abort.d
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ void abort(scope string msg, scope string filename = __FILE__, size_t line = __L
}
else version (Windows)
{
import core.sys.windows.windows: GetStdHandle, STD_ERROR_HANDLE, WriteFile, INVALID_HANDLE_VALUE;
import core.sys.windows.winbase : GetStdHandle, STD_ERROR_HANDLE, WriteFile, INVALID_HANDLE_VALUE;
auto h = (() @trusted => GetStdHandle(STD_ERROR_HANDLE))();
if (h == INVALID_HANDLE_VALUE)
// attempt best we can to print the message
Expand Down
5 changes: 3 additions & 2 deletions src/core/runtime.d
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,8 @@ struct Runtime
import core.stdc.stdlib : free, malloc;
version (Windows)
{
import core.sys.windows.windows;
import core.sys.windows.winnls : CP_UTF8, MultiByteToWideChar;
import core.sys.windows.winnt : WCHAR;

if (name.length == 0) return null;
// Load a DLL at runtime
Expand Down Expand Up @@ -990,7 +991,7 @@ Throwable.TraceInfo defaultTraceHandler( void* ptr = null )
{
static enum FIRSTFRAME = 0;
}
import core.sys.windows.windows : CONTEXT;
import core.sys.windows.winnt : CONTEXT;
auto s = new StackTrace(FIRSTFRAME, cast(CONTEXT*)ptr);
return s;
}
Expand Down
7 changes: 6 additions & 1 deletion src/core/sync/condition.d
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,12 @@ public import core.time;
version (Windows)
{
private import core.sync.semaphore;
private import core.sys.windows.windows;
private import core.sys.windows.basetsd /+: HANDLE+/;
private import core.sys.windows.winbase /+: CloseHandle, CreateSemaphoreA, CRITICAL_SECTION,
DeleteCriticalSection, EnterCriticalSection, INFINITE, InitializeCriticalSection,
LeaveCriticalSection, ReleaseSemaphore, WAIT_OBJECT_0, WaitForSingleObject+/;
private import core.sys.windows.windef /+: BOOL, DWORD+/;
private import core.sys.windows.winerror /+: WAIT_TIMEOUT+/;
}
else version (Posix)
{
Expand Down
4 changes: 3 additions & 1 deletion src/core/sync/mutex.d
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ public import core.sync.exception;

version (Windows)
{
private import core.sys.windows.windows;
private import core.sys.windows.winbase /+: CRITICAL_SECTION, DeleteCriticalSection,
EnterCriticalSection, InitializeCriticalSection, LeaveCriticalSection,
TryEnterCriticalSection+/;
}
else version (Posix)
{
Expand Down
6 changes: 5 additions & 1 deletion src/core/sync/semaphore.d
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,11 @@ else version (WatchOS)

version (Windows)
{
private import core.sys.windows.windows;
private import core.sys.windows.basetsd /+: HANDLE+/;
private import core.sys.windows.winbase /+: CloseHandle, CreateSemaphoreA, INFINITE,
ReleaseSemaphore, WAIT_OBJECT_0, WaitForSingleObject+/;
private import core.sys.windows.windef /+: BOOL, DWORD+/;
private import core.sys.windows.winerror /+: WAIT_TIMEOUT+/;
}
else version (Darwin)
{
Expand Down
2 changes: 1 addition & 1 deletion src/core/sys/windows/aclapi.d
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ version (Windows):
version (ANSI) {} else version = Unicode;
pragma(lib, "advapi32");

import core.sys.windows.windows, core.sys.windows.accctrl;
import core.sys.windows.accctrl, core.sys.windows.basetyps, core.sys.windows.w32api, core.sys.windows.winnt;

extern (Windows) {
VOID BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, DWORD,
Expand Down
2 changes: 1 addition & 1 deletion src/core/sys/windows/com.d
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version (Windows):
pragma(lib,"uuid");

import core.atomic;
import core.sys.windows.windows;
import core.sys.windows.windef /+: HRESULT, LONG, ULONG+/;
//import std.string;

public import core.sys.windows.basetyps : GUID, IID, CLSID;
Expand Down
2 changes: 1 addition & 1 deletion src/core/sys/windows/comcat.d
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
module core.sys.windows.comcat;
version (Windows):

import core.sys.windows.windows, core.sys.windows.ole2;
import core.sys.windows.ole2;
private import core.sys.windows.basetyps, core.sys.windows.cguid, core.sys.windows.objbase, core.sys.windows.unknwn,
core.sys.windows.windef, core.sys.windows.wtypes;

Expand Down
3 changes: 2 additions & 1 deletion src/core/sys/windows/dbghelp.d
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
module core.sys.windows.dbghelp;
version (Windows):

import core.sys.windows.windows;
import core.sys.windows.winbase /+: FreeLibrary, GetProcAddress, LoadLibraryA+/;
import core.sys.windows.windef;

public import core.sys.windows.dbghelp_types;

Expand Down
3 changes: 2 additions & 1 deletion src/core/sys/windows/dbghelp_types.d
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ version (Windows):

version (ANSI) {} else version = Unicode;

import core.sys.windows.windows;
import core.sys.windows.windef;
import core.sys.windows.imagehlp /+: ADDRESS_MODE+/;

public import core.sys.windows.winnt : TCHAR;

Expand Down
7 changes: 4 additions & 3 deletions src/core/sys/windows/dll.d
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
module core.sys.windows.dll;
version (Windows):

import core.sys.windows.windows;
import core.sys.windows.winbase;
import core.sys.windows.winnt;
import core.stdc.string;
import core.runtime;

Expand Down Expand Up @@ -473,12 +474,12 @@ bool dll_thread_detach( bool detach_thread = true, bool exitTls = true )
/// ---
mixin template SimpleDllMain()
{
import core.sys.windows.windows : HINSTANCE;
import core.sys.windows.windef : HINSTANCE;

extern(Windows)
bool DllMain(HINSTANCE hInstance, uint ulReason, void* reserved)
{
import core.sys.windows.windows;
import core.sys.windows.winnt;
import core.sys.windows.dll :
dll_process_attach, dll_process_detach,
dll_thread_attach, dll_thread_detach;
Expand Down
4 changes: 3 additions & 1 deletion src/core/sys/windows/httpext.d
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ version (Windows):
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/

private import core.sys.windows.windows;
private import core.sys.windows.basetsd /+: DECLARE_HANDLE, HANDLE+/;
private import core.sys.windows.windef /+: BOOL, CHAR, DWORD, LPBYTE, LPDWORD+/;
private import core.sys.windows.winnt /+: LPCSTR, LPSTR, LPVOID, PVOID, VOID+/;

enum {
HSE_VERSION_MAJOR = 2,
Expand Down
3 changes: 1 addition & 2 deletions src/core/sys/windows/oledlg.d
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ version (Windows):

version (ANSI) {} else version = Unicode;

import core.sys.windows.commdlg, core.sys.windows.dlgs, core.sys.windows.ole2, core.sys.windows.prsht, core.sys.windows.shellapi,
core.sys.windows.windows;
import core.sys.windows.commdlg, core.sys.windows.dlgs, core.sys.windows.ole2, core.sys.windows.prsht, core.sys.windows.shellapi;
private import core.sys.windows.winbase, core.sys.windows.objidl, core.sys.windows.objfwd, core.sys.windows.winnt;

// FIXME: remove inherited methods from interface definitions
Expand Down
4 changes: 3 additions & 1 deletion src/core/sys/windows/snmp.d
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
module core.sys.windows.snmp;
version (Windows):

private import core.sys.windows.windows;
private import core.sys.windows.basetsd /+: HANDLE+/;
private import core.sys.windows.windef /+: BOOL, BYTE, DWORD, INT, LONG, UINT, ULONG+/;
private import core.sys.windows.winnt /+: LPSTR, LPVOID, ULARGE_INTEGER, VOID+/;

// These are not documented on MSDN
enum {
Expand Down
4 changes: 3 additions & 1 deletion src/core/sys/windows/stacktrace.d
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ import core.runtime;
import core.stdc.stdlib;
import core.stdc.string;
import core.sys.windows.dbghelp;
import core.sys.windows.windows;
import core.sys.windows.imagehlp /+: ADDRESS_MODE+/;
import core.sys.windows.winbase;
import core.sys.windows.windef;

//debug=PRINTF;
debug(PRINTF) import core.stdc.stdio;
Expand Down
5 changes: 4 additions & 1 deletion src/core/sys/windows/threadaux.d
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@
module core.sys.windows.threadaux;
version (Windows):

import core.sys.windows.windows;
import core.sys.windows.basetsd/+ : HANDLE+/;
import core.sys.windows.winbase/+ : CloseHandle, GetCurrentThreadId, GetCurrentProcessId,
GetModuleHandleA, GetProcAddress+/;
import core.sys.windows.windef/+ : BOOL, DWORD, FALSE, HRESULT+/;
import core.stdc.stdlib;

public import core.thread;
Expand Down
2 changes: 1 addition & 1 deletion src/core/sys/windows/wininet.d
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ pragma(lib, "wininet");

// FIXME: check types and grouping of constants

import core.sys.windows.windows;
import core.sys.windows.winbase, core.sys.windows.windef;

enum {
INTERNET_INVALID_PORT_NUMBER = 0,
Expand Down
13 changes: 10 additions & 3 deletions src/core/thread.d
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ version (Posix)
}
else version (Windows)
{
alias getpid = core.sys.windows.windows.GetCurrentProcessId;
alias getpid = core.sys.windows.winbase.GetCurrentProcessId;
}


Expand Down Expand Up @@ -185,8 +185,15 @@ version (Windows)
{
import core.stdc.stdint : uintptr_t; // for _beginthreadex decl below
import core.stdc.stdlib; // for malloc, atexit
import core.sys.windows.windows;
import core.sys.windows.threadaux; // for OpenThreadHandle
import core.sys.windows.basetsd /+: HANDLE+/;
import core.sys.windows.threadaux /+: getThreadStackBottom, impersonate_thread, OpenThreadHandle+/;
import core.sys.windows.winbase /+: CloseHandle, CREATE_SUSPENDED, DuplicateHandle, GetCurrentThread,
GetCurrentThreadId, GetCurrentProcess, GetExitCodeThread, GetSystemInfo, GetThreadContext,
GetThreadPriority, INFINITE, ResumeThread, SetThreadPriority, Sleep, STILL_ACTIVE,
SuspendThread, SwitchToThread, SYSTEM_INFO, THREAD_PRIORITY_IDLE, THREAD_PRIORITY_NORMAL,
THREAD_PRIORITY_TIME_CRITICAL, WAIT_OBJECT_0, WaitForSingleObject+/;
import core.sys.windows.windef /+: TRUE+/;
import core.sys.windows.winnt /+: CONTEXT, CONTEXT_CONTROL, CONTEXT_INTEGER+/;

extern (Windows) alias btex_fptr = uint function(void*);
extern (C) uintptr_t _beginthreadex(void*, uint, btex_fptr, void*, uint, uint*) nothrow;
Expand Down
2 changes: 1 addition & 1 deletion src/core/time.d
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ import core.internal.string;

version (Windows)
{
import core.sys.windows.windows;
import core.sys.windows.winbase /+: QueryPerformanceCounter, QueryPerformanceFrequency+/;
}
else version (Posix)
{
Expand Down
5 changes: 3 additions & 2 deletions src/gc/os.d
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ module gc.os;

version (Windows)
{
import core.sys.windows.windows;
import core.sys.windows.winbase : GetCurrentThreadId, VirtualAlloc, VirtualFree;
import core.sys.windows.winnt : MEM_COMMIT, MEM_RELEASE, MEM_RESERVE, PAGE_READWRITE;

alias int pthread_t;

Expand Down Expand Up @@ -172,7 +173,7 @@ version (Windows)
return false;
else
{
import core.sys.windows.windows;
import core.sys.windows.winbase : GlobalMemoryStatus, MEMORYSTATUS;
MEMORYSTATUS stat;
GlobalMemoryStatus(&stat);
// Less than 5 % of virtual address space available
Expand Down
5 changes: 4 additions & 1 deletion src/rt/cover.d
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ module rt.cover;
private
{
version (Windows)
import core.sys.windows.windows;
{
import core.sys.windows.basetsd /+: HANDLE+/;
import core.sys.windows.winbase /+: LOCKFILE_EXCLUSIVE_LOCK, LockFileEx, OVERLAPPED, SetEndOfFile+/;
}
else version (Posix)
{
import core.sys.posix.fcntl;
Expand Down
4 changes: 3 additions & 1 deletion src/rt/deh_win32.d
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ module rt.deh_win32;

version (Win32):

import core.sys.windows.windows;
import core.sys.windows.basetsd /+: ULONG_PTR+/;
import core.sys.windows.windef /+: BOOL, BYTE, DWORD+/;
import core.sys.windows.winnt /+: PVOID+/;
import rt.monitor_;
//import core.stdc.stdio;

Expand Down
9 changes: 8 additions & 1 deletion src/rt/dmain2.d
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,14 @@ private
version (Windows)
{
private import core.stdc.wchar_;
private import core.sys.windows.windows;
private import core.sys.windows.basetsd /+: HANDLE+/;
private import core.sys.windows.shellapi /+: CommandLineToArgvW+/;
private import core.sys.windows.winbase /+: FreeLibrary, GetCommandLineW, GetProcAddress,
IsDebuggerPresent, LoadLibraryA, LoadLibraryW, LocalFree, WriteFile+/;
private import core.sys.windows.wincon /+: CONSOLE_SCREEN_BUFFER_INFO, GetConsoleOutputCP, GetConsoleScreenBufferInfo+/;
private import core.sys.windows.winnls /+: CP_UTF8, MultiByteToWideChar, WideCharToMultiByte+/;
private import core.sys.windows.winnt /+: WCHAR+/;
private import core.sys.windows.winuser /+: MB_ICONERROR, MessageBoxW+/;

pragma(lib, "shell32.lib"); // needed for CommandLineToArgvW
}
Expand Down
3 changes: 2 additions & 1 deletion src/rt/monitor_.d
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ version (Windows)
{
pragma(lib, "snn.lib");
}
import core.sys.windows.windows;
import core.sys.windows.winbase /+: CRITICAL_SECTION, DeleteCriticalSection,
EnterCriticalSection, InitializeCriticalSection, LeaveCriticalSection+/;

alias Mutex = CRITICAL_SECTION;

Expand Down