mirror of
https://github.com/openRuyi-Project/gcc.git
synced 2026-09-07 06:22:00 +00:00
D front-end changes:
- Import dmd v2.101.0-beta.1.
- Add predefined version `D_Optimized' when compiling with `-O'.
- Shortened method syntax (DIP1043) is now enabled by default.
- Array literals assigned to `scope' array variables are now
allocated on the stack.
- Implement `@system' variables (DIP1035), available behind the
preview feature flag `-fpreview=systemvariables'.
D runtime changes:
- Import druntime v2.101.0-beta.1.
Phobos changes:
- Import phobos v2.101.0-beta.1.
- Added `std.typecons.SafeRefCounted', that can be used in `@safe'
code with `-fpreview=dip1000'.
gcc/d/ChangeLog:
* d-attribs.cc (apply_user_attributes): Update for new front-end
interface.
* d-builtins.cc (d_init_versions): Predefine `D_Optimized' with
compiling with optimizations enabled.
* d-lang.cc (d_handle_option): Update for new front-end interface.
Handle new option `-fpreview=systemvariables'.
* dmd/MERGE: Merge upstream dmd e4f8919591.
* dmd/VERSION: Bump version to v2.101.0-beta.1.
* expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of
static arrays from a call expression as a simple assignment.
(ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with
`scope' storage.
* gdc.texi: Update documentation of `-fpreview=' options.
* lang.opt (fpreview=shortenedmethods): Remove.
(fpreview=systemvariables): New option.
libphobos/ChangeLog:
* libdruntime/MERGE: Merge upstream druntime e4f8919591.
* src/MERGE: Merge upstream phobos 3ad507b51.
gcc/testsuite/ChangeLog:
* gdc.dg/simd19630.d: Move tests with errors to ...
* gdc.dg/simd19630b.d: ... here. New test.
* gdc.dg/simd19630c.d: New test.
* gdc.dg/simd_ctfe.d: Removed.
* gdc.dg/simd18867.d: New test.
* gdc.dg/simd19788.d: New test.
* gdc.dg/simd21469.d: New test.
* gdc.dg/simd21672.d: New test.
* gdc.dg/simd23077.d: New test.
* gdc.dg/simd23084.d: New test.
* gdc.dg/simd23085.d: New test.
* gdc.dg/torture/simd19632.d: New test.
* gdc.dg/torture/simd20041.d: New test.
* gdc.dg/torture/simd21673.d: New test.
* gdc.dg/torture/simd21676.d: New test.
* gdc.dg/torture/simd22438.d: New test.
* gdc.dg/torture/simd23009.d: New test.
* gdc.dg/torture/simd23077.d: New test.
* gdc.dg/torture/simd8.d: New test.
* gdc.dg/torture/simd9.d: New test.
* gdc.dg/torture/simd_prefetch.d: New test.
192 lines
5.4 KiB
D
192 lines
5.4 KiB
D
/**
|
|
* Windows API header module
|
|
*
|
|
* Translated from MinGW Windows headers
|
|
*
|
|
* Authors: Vladimir Vlasov
|
|
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
|
|
* Source: $(DRUNTIMESRC core/sys/windows/_dbt.d)
|
|
*/
|
|
module core.sys.windows.dbt;
|
|
version (Windows):
|
|
|
|
version (ANSI) {} else version = Unicode;
|
|
|
|
import core.sys.windows.w32api, core.sys.windows.windef;
|
|
import core.sys.windows.basetyps; // for GUID
|
|
|
|
// FIXME: clean up Windows version support
|
|
|
|
enum : DWORD {
|
|
DBT_NO_DISK_SPACE = 0x47,
|
|
DBT_CONFIGMGPRIVATE = 0x7FFF,
|
|
DBT_DEVICEARRIVAL = 0x8000,
|
|
DBT_DEVICEQUERYREMOVE = 0x8001,
|
|
DBT_DEVICEQUERYREMOVEFAILED = 0x8002,
|
|
DBT_DEVICEREMOVEPENDING = 0x8003,
|
|
DBT_DEVICEREMOVECOMPLETE = 0x8004,
|
|
DBT_DEVICETYPESPECIFIC = 0x8005,
|
|
DBT_DEVTYP_OEM = 0,
|
|
DBT_DEVTYP_DEVNODE,
|
|
DBT_DEVTYP_VOLUME,
|
|
DBT_DEVTYP_PORT,
|
|
DBT_DEVTYP_NET,
|
|
DBT_DEVTYP_DEVICEINTERFACE,
|
|
DBT_DEVTYP_HANDLE // = 6
|
|
}
|
|
|
|
enum : DWORD {
|
|
DBT_APPYBEGIN,
|
|
DBT_APPYEND,
|
|
DBT_DEVNODES_CHANGED = 7,
|
|
DBT_QUERYCHANGECONFIG = 0x17,
|
|
DBT_CONFIGCHANGED = 0x18,
|
|
DBT_CONFIGCHANGECANCELED = 0x19,
|
|
DBT_MONITORCHANGE = 0x1B,
|
|
DBT_SHELLLOGGEDON = 32,
|
|
DBT_CONFIGMGAPI32 = 34,
|
|
DBT_VXDINITCOMPLETE = 35,
|
|
DBT_VOLLOCKQUERYLOCK = 0x8041,
|
|
DBT_VOLLOCKLOCKTAKEN = 0x8042,
|
|
DBT_VOLLOCKLOCKFAILED = 0x8043,
|
|
DBT_VOLLOCKQUERYUNLOCK = 0x8044,
|
|
DBT_VOLLOCKLOCKRELEASED = 0x8045,
|
|
DBT_VOLLOCKUNLOCKFAILED = 0x8046,
|
|
DBT_USERDEFINED = 0xFFFF
|
|
}
|
|
|
|
enum : WORD {
|
|
DBTF_MEDIA = 1,
|
|
DBTF_NET = 2
|
|
}
|
|
|
|
enum : DWORD {
|
|
BSM_ALLCOMPONENTS = 0,
|
|
BSM_APPLICATIONS = 8,
|
|
BSM_ALLDESKTOPS = 16,
|
|
BSM_INSTALLABLEDRIVERS = 4,
|
|
BSM_NETDRIVER = 2,
|
|
BSM_VXDS = 1,
|
|
BSF_FLUSHDISK = 0x00000004,
|
|
BSF_FORCEIFHUNG = 0x00000020,
|
|
BSF_IGNORECURRENTTASK = 0x00000002,
|
|
BSF_NOHANG = 0x00000008,
|
|
BSF_NOTIMEOUTIFNOTHUNG = 0x00000040,
|
|
BSF_POSTMESSAGE = 0x00000010,
|
|
BSF_QUERY = 0x00000001,
|
|
BSF_MSGSRV32ISOK_BIT = 31,
|
|
BSF_MSGSRV32ISOK = 0x80000000
|
|
}
|
|
|
|
//static if (_WIN32_WINNT >= 0x500) {
|
|
enum : DWORD {
|
|
BSF_ALLOWSFW = 0x00000080,
|
|
BSF_SENDNOTIFYMESSAGE = 0x00000100
|
|
}
|
|
//}
|
|
|
|
static if (_WIN32_WINNT >= 0x501) {
|
|
enum : DWORD {
|
|
BSF_LUID = 0x00000400,
|
|
BSF_RETURNHDESK = 0x00000200
|
|
}
|
|
}
|
|
|
|
struct DEV_BROADCAST_HDR {
|
|
DWORD dbch_size = DEV_BROADCAST_HDR.sizeof;
|
|
DWORD dbch_devicetype;
|
|
DWORD dbch_reserved;
|
|
}
|
|
alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR;
|
|
|
|
struct DEV_BROADCAST_OEM {
|
|
DWORD dbco_size = DEV_BROADCAST_OEM.sizeof;
|
|
DWORD dbco_devicetype;
|
|
DWORD dbco_reserved;
|
|
DWORD dbco_identifier;
|
|
DWORD dbco_suppfunc;
|
|
}
|
|
alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM;
|
|
|
|
struct DEV_BROADCAST_PORT_A {
|
|
DWORD dbcp_size = DEV_BROADCAST_PORT_A.sizeof;
|
|
DWORD dbcp_devicetype;
|
|
DWORD dbcp_reserved;
|
|
char _dbcp_name = 0;
|
|
char* dbcp_name() return { return &_dbcp_name; }
|
|
}
|
|
alias DEV_BROADCAST_PORT_A* PDEV_BROADCAST_PORT_A;
|
|
|
|
struct DEV_BROADCAST_PORT_W {
|
|
DWORD dbcp_size = DEV_BROADCAST_PORT_W.sizeof;
|
|
DWORD dbcp_devicetype;
|
|
DWORD dbcp_reserved;
|
|
WCHAR _dbcp_name = 0;
|
|
WCHAR* dbcp_name() return { return &_dbcp_name; }
|
|
}
|
|
alias DEV_BROADCAST_PORT_W* PDEV_BROADCAST_PORT_W;
|
|
|
|
struct DEV_BROADCAST_USERDEFINED {
|
|
DEV_BROADCAST_HDR dbud_dbh;
|
|
char _dbud_szName = 0;
|
|
char* dbud_szName() return { return &_dbud_szName; }
|
|
}
|
|
|
|
struct DEV_BROADCAST_VOLUME {
|
|
DWORD dbcv_size = DEV_BROADCAST_VOLUME.sizeof;
|
|
DWORD dbcv_devicetype;
|
|
DWORD dbcv_reserved;
|
|
DWORD dbcv_unitmask;
|
|
WORD dbcv_flags;
|
|
}
|
|
alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME;
|
|
|
|
version (Unicode) {
|
|
alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT;
|
|
} else {
|
|
alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT;
|
|
}
|
|
alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT;
|
|
|
|
//static if (_WIN32_WINNT >= 0x500) {
|
|
struct DEV_BROADCAST_DEVICEINTERFACE_A {
|
|
DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof;
|
|
DWORD dbcc_devicetype;
|
|
DWORD dbcc_reserved;
|
|
GUID dbcc_classguid;
|
|
char _dbcc_name;
|
|
char* dbcc_name() return { return &_dbcc_name; }
|
|
}
|
|
alias DEV_BROADCAST_DEVICEINTERFACE_A* PDEV_BROADCAST_DEVICEINTERFACE_A;
|
|
|
|
struct DEV_BROADCAST_DEVICEINTERFACE_W {
|
|
DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_W.sizeof;
|
|
DWORD dbcc_devicetype;
|
|
DWORD dbcc_reserved;
|
|
GUID dbcc_classguid;
|
|
WCHAR _dbcc_name = 0;
|
|
WCHAR* dbcc_name() return { return &_dbcc_name; }
|
|
}
|
|
alias DEV_BROADCAST_DEVICEINTERFACE_W* PDEV_BROADCAST_DEVICEINTERFACE_W;
|
|
|
|
version (Unicode) {
|
|
alias DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE;
|
|
} else {
|
|
alias DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE;
|
|
}
|
|
alias DEV_BROADCAST_DEVICEINTERFACE* PDEV_BROADCAST_DEVICEINTERFACE;
|
|
|
|
struct DEV_BROADCAST_HANDLE {
|
|
DWORD dbch_size = DEV_BROADCAST_HANDLE.sizeof;
|
|
DWORD dbch_devicetype;
|
|
DWORD dbch_reserved;
|
|
HANDLE dbch_handle;
|
|
DWORD dbch_hdevnotify;
|
|
GUID dbch_eventguid;
|
|
LONG dbch_nameoffset;
|
|
BYTE _dbch_data;
|
|
BYTE* dbch_data() return { return &_dbch_data; }
|
|
}
|
|
alias DEV_BROADCAST_HANDLE* PDEV_BROADCAST_HANDLE;
|
|
//}
|