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.
74 lines
2.2 KiB
D
74 lines
2.2 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/_comcat.d)
|
|
*/
|
|
module core.sys.windows.comcat;
|
|
version (Windows):
|
|
|
|
import core.sys.windows.ole2;
|
|
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;
|
|
|
|
alias IEnumGUID LPENUMGUID;
|
|
|
|
interface IEnumGUID : IUnknown {
|
|
HRESULT Next(ULONG, GUID*, ULONG*);
|
|
HRESULT Skip(ULONG);
|
|
HRESULT Reset();
|
|
HRESULT Clone(LPENUMGUID*);
|
|
}
|
|
|
|
alias GUID CATID;
|
|
alias REFGUID REFCATID;
|
|
alias GUID_NULL CATID_NULL;
|
|
alias IsEqualGUID IsEqualCATID;
|
|
|
|
struct CATEGORYINFO {
|
|
CATID catid;
|
|
LCID lcid;
|
|
OLECHAR[128] szDescription = 0;
|
|
}
|
|
alias CATEGORYINFO* LPCATEGORYINFO;
|
|
|
|
alias IEnumGUID IEnumCATID;
|
|
alias LPENUMGUID LPENUMCATID;
|
|
alias IID_IEnumGUID IID_IEnumCATID;
|
|
|
|
alias IEnumGUID IEnumCLSID;
|
|
alias LPENUMGUID LPENUMCLSID;
|
|
alias IID_IEnumGUID IID_IEnumCLSID;
|
|
|
|
interface ICatInformation : IUnknown {
|
|
HRESULT EnumCategories(LCID, LPENUMCATEGORYINFO*);
|
|
HRESULT GetCategoryDesc(REFCATID, LCID, PWCHAR*);
|
|
HRESULT EnumClassesOfCategories(ULONG, CATID*, ULONG, CATID*,
|
|
LPENUMCLSID*);
|
|
HRESULT IsClassOfCategories(REFCLSID, ULONG, CATID*, ULONG, CATID*);
|
|
HRESULT EnumImplCategoriesOfClass(REFCLSID, LPENUMCATID*);
|
|
HRESULT EnumReqCategoriesOfClass(REFCLSID, LPENUMCATID*);
|
|
}
|
|
alias ICatInformation LPCATINFORMATION;
|
|
|
|
interface ICatRegister : IUnknown {
|
|
HRESULT RegisterCategories(ULONG, CATEGORYINFO*);
|
|
HRESULT UnRegisterCategories(ULONG, CATID*);
|
|
HRESULT RegisterClassImplCategories(REFCLSID, ULONG, CATID*);
|
|
HRESULT UnRegisterClassImplCategories(REFCLSID, ULONG, CATID*);
|
|
HRESULT RegisterClassReqCategories(REFCLSID, ULONG, CATID*);
|
|
HRESULT UnRegisterClassReqCategories(REFCLSID, ULONG, CATID*);
|
|
}
|
|
alias ICatRegister LPCATREGISTER;
|
|
|
|
interface IEnumCATEGORYINFO : IUnknown {
|
|
HRESULT Next(ULONG, CATEGORYINFO*, ULONG*);
|
|
HRESULT Skip(ULONG);
|
|
HRESULT Reset();
|
|
HRESULT Clone(LPENUMCATEGORYINFO*);
|
|
}
|
|
alias IEnumCATEGORYINFO LPENUMCATEGORYINFO;
|