mirror of
https://github.com/openRuyi-Project/gcc.git
synced 2026-09-06 22:11:37 +00:00
D front-end changes: - Import latest changes from dmd v2.107.0-beta.1. - Keywords like `__FILE__' are now always evaluated at the callsite. D runtime changes: - Import latest changes from druntime v2.107.0-beta.1. - Added `nameSig' field to TypeInfo_Class in object.d. Phobos changes: - Import latest changes from phobos v2.107.0-beta.1. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd bce5c1f7b5. * d-attribs.cc (build_attributes): Update for new front-end interface. * d-lang.cc (d_parse_file): Likewise. * decl.cc (DeclVisitor::visit (VarDeclaration *)): Likewise. * expr.cc (build_lambda_tree): New function. (ExprVisitor::visit (FuncExp *)): Use build_lambda_tree. (ExprVisitor::visit (SymOffExp *)): Likewise. (ExprVisitor::visit (VarExp *)): Likewise. * typeinfo.cc (create_tinfo_types): Add two ulong fields to internal TypeInfo representation. (TypeInfoVisitor::visit (TypeInfoClassDeclaration *)): Emit stub data for TypeInfo_Class.nameSig. (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime bce5c1f7b5. * src/MERGE: Merge upstream phobos e4d0dd513.
174 lines
5.9 KiB
D
174 lines
5.9 KiB
D
/**
|
|
* Windows API header module
|
|
*
|
|
* Translated from MinGW Windows headers
|
|
*
|
|
* Authors: Stewart Gordon
|
|
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
|
|
* Source: $(DRUNTIMESRC core/sys/windows/_msacm.d)
|
|
*/
|
|
module core.sys.windows.msacm;
|
|
version (Windows):
|
|
|
|
version (ANSI) {} else version = Unicode;
|
|
|
|
import core.sys.windows.basetsd, core.sys.windows.mmsystem, core.sys.windows.windef;
|
|
|
|
alias HACMDRIVERID = HANDLE;
|
|
alias HACMDRIVER = HANDLE;
|
|
alias HACMDRIVER* LPHACMDRIVER;
|
|
|
|
enum size_t
|
|
ACMDRIVERDETAILS_SHORTNAME_CHARS = 32,
|
|
ACMDRIVERDETAILS_LONGNAME_CHARS = 128,
|
|
ACMDRIVERDETAILS_COPYRIGHT_CHARS = 80,
|
|
ACMDRIVERDETAILS_LICENSING_CHARS = 128,
|
|
ACMDRIVERDETAILS_FEATURES_CHARS = 512;
|
|
|
|
enum size_t
|
|
ACMFORMATDETAILS_FORMAT_CHARS = 128,
|
|
ACMFORMATTAGDETAILS_FORMATTAG_CHARS = 48;
|
|
|
|
align(1):
|
|
|
|
struct ACMFORMATDETAILSA {
|
|
DWORD cbStruct = ACMFORMATDETAILSA.sizeof;
|
|
DWORD dwFormatIndex;
|
|
DWORD dwFormatTag;
|
|
DWORD fdwSupport;
|
|
LPWAVEFORMATEX pwfx;
|
|
DWORD cbwfx;
|
|
char[ACMFORMATDETAILS_FORMAT_CHARS] szFormat = 0;
|
|
}
|
|
alias ACMFORMATDETAILSA* LPACMFORMATDETAILSA;
|
|
|
|
struct ACMFORMATDETAILSW {
|
|
DWORD cbStruct = ACMFORMATDETAILSW.sizeof;
|
|
DWORD dwFormatIndex;
|
|
DWORD dwFormatTag;
|
|
DWORD fdwSupport;
|
|
LPWAVEFORMATEX pwfx;
|
|
DWORD cbwfx;
|
|
WCHAR[ACMFORMATDETAILS_FORMAT_CHARS] szFormat = 0;
|
|
}
|
|
alias ACMFORMATDETAILSW* LPACMFORMATDETAILSW;
|
|
|
|
struct ACMFORMATTAGDETAILSA {
|
|
DWORD cbStruct = ACMFORMATTAGDETAILSA.sizeof;
|
|
DWORD dwFormatTagIndex;
|
|
DWORD dwFormatTag;
|
|
DWORD cbFormatSize;
|
|
DWORD fdwSupport;
|
|
DWORD cStandardFormats;
|
|
char[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag = 0;
|
|
}
|
|
alias ACMFORMATTAGDETAILSA* LPACMFORMATTAGDETAILSA;
|
|
|
|
struct ACMFORMATTAGDETAILSW {
|
|
DWORD cbStruct = ACMFORMATTAGDETAILSW.sizeof;
|
|
DWORD dwFormatTagIndex;
|
|
DWORD dwFormatTag;
|
|
DWORD cbFormatSize;
|
|
DWORD fdwSupport;
|
|
DWORD cStandardFormats;
|
|
WCHAR[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag = 0;
|
|
}
|
|
alias ACMFORMATTAGDETAILSW* LPACMFORMATTAGDETAILSW;
|
|
|
|
struct ACMDRIVERDETAILSA {
|
|
align(1):
|
|
DWORD cbStruct = ACMDRIVERDETAILSA.sizeof;
|
|
FOURCC fccType;
|
|
FOURCC fccComp;
|
|
WORD wMid;
|
|
WORD wPid;
|
|
DWORD vdwACM;
|
|
DWORD vdwDriver;
|
|
DWORD fdwSupport;
|
|
DWORD cFormatTags;
|
|
DWORD cFilterTags;
|
|
HICON hicon;
|
|
char[ACMDRIVERDETAILS_SHORTNAME_CHARS] szShortName = 0;
|
|
char[ACMDRIVERDETAILS_LONGNAME_CHARS] szLongName = 0;
|
|
char[ACMDRIVERDETAILS_COPYRIGHT_CHARS] szCopyright = 0;
|
|
char[ACMDRIVERDETAILS_LICENSING_CHARS] szLicensing = 0;
|
|
char[ACMDRIVERDETAILS_FEATURES_CHARS] szFeatures = 0;
|
|
}
|
|
alias ACMDRIVERDETAILSA* LPACMDRIVERDETAILSA;
|
|
|
|
struct ACMDRIVERDETAILSW {
|
|
align(1):
|
|
DWORD cbStruct = ACMDRIVERDETAILSW.sizeof;
|
|
FOURCC fccType;
|
|
FOURCC fccComp;
|
|
WORD wMid;
|
|
WORD wPid;
|
|
DWORD vdwACM;
|
|
DWORD vdwDriver;
|
|
DWORD fdwSupport;
|
|
DWORD cFormatTags;
|
|
DWORD cFilterTags;
|
|
HICON hicon;
|
|
WCHAR[ACMDRIVERDETAILS_SHORTNAME_CHARS] szShortName = 0;
|
|
WCHAR[ACMDRIVERDETAILS_LONGNAME_CHARS] szLongName = 0;
|
|
WCHAR[ACMDRIVERDETAILS_COPYRIGHT_CHARS] szCopyright = 0;
|
|
WCHAR[ACMDRIVERDETAILS_LICENSING_CHARS] szLicensing = 0;
|
|
WCHAR[ACMDRIVERDETAILS_FEATURES_CHARS] szFeatures = 0;
|
|
}
|
|
alias ACMDRIVERDETAILSW* LPACMDRIVERDETAILSW;
|
|
|
|
extern (Windows) {
|
|
alias BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSA pafd,
|
|
DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATENUMCBA;
|
|
alias BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSW pafd,
|
|
DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATENUMCBW;
|
|
alias BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSA paftd,
|
|
DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATTAGENUMCBA;
|
|
alias BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSW paftd,
|
|
DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATTAGENUMCBW;
|
|
alias BOOL function(HACMDRIVERID hadid, DWORD_PTR dwInstance,
|
|
DWORD fdwSupport) ACMDRIVERENUMCB;
|
|
|
|
MMRESULT acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid,
|
|
DWORD fdwOpen);
|
|
MMRESULT acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance,
|
|
DWORD fdwEnum);
|
|
MMRESULT acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd,
|
|
ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
|
|
MMRESULT acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd,
|
|
ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
|
|
MMRESULT acmDriverClose(HACMDRIVER had, DWORD fdwClose);
|
|
MMRESULT acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd,
|
|
DWORD fdwDetails);
|
|
MMRESULT acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd,
|
|
DWORD fdwDetails);
|
|
MMRESULT acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd,
|
|
ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
|
|
MMRESULT acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd,
|
|
ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum);
|
|
}
|
|
|
|
version (Unicode) {
|
|
alias ACMFORMATDETAILSW ACMFORMATDETAILS;
|
|
alias ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS;
|
|
alias ACMDRIVERDETAILSW ACMDRIVERDETAILS;
|
|
alias ACMFORMATENUMCBW ACMFORMATENUMCB;
|
|
alias ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB;
|
|
alias acmFormatEnumW acmFormatEnum;
|
|
alias acmDriverDetailsW acmDriverDetails;
|
|
alias acmFormatTagEnumW acmFormatTagEnum;
|
|
} else {
|
|
alias ACMFORMATDETAILSA ACMFORMATDETAILS;
|
|
alias ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS;
|
|
alias ACMDRIVERDETAILSA ACMDRIVERDETAILS;
|
|
alias ACMFORMATENUMCBA ACMFORMATENUMCB;
|
|
alias ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB;
|
|
alias acmFormatEnumA acmFormatEnum;
|
|
alias acmDriverDetailsA acmDriverDetails;
|
|
alias acmFormatTagEnumA acmFormatTagEnum;
|
|
}
|
|
|
|
alias ACMFORMATDETAILS* LPACMFORMATDETAILS;
|
|
alias ACMFORMATTAGDETAILS* LPACMFORMATTAGDETAILS;
|
|
alias ACMDRIVERDETAILS* LPACMDRIVERDETAILS;
|