mirror of
https://github.com/openRuyi-Project/gcc.git
synced 2026-09-08 15:01:39 +00:00
D front-end changes: - Import dmd v2.112.0-beta.1. D runtime changes: - Import druntime v2.112.0-beta.1. - Added 64-bit `mul' and `udivmod' overloads to `core.int128'. Phobos changes: - Added `lazyCache' to `std.algorithm.iteration'. - Added `writeText', `writeWText', and `writeDText' to `std.conv'. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 1017635a96. * dmd/VERSION: Bump version to v2.112.0-beta.1. * decl.cc (DeclVisitor::finish_vtable): Update for new front-end interface. (DeclVisitor::visit): Likewise. * typeinfo.cc (TypeInfoVisitor::visit): Likewise. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 1017635a96. * libdruntime/Makefile.am (DRUNTIME_DSOURCES_LINUX): Add core/sys/linux/sys/syscall.d, core/sys/linux/syscall.d. * libdruntime/Makefile.in: Regenerate. * src/MERGE: Merge upstream phobos 5a142da0a. * src/Makefile.am (PHOBOS_DSOURCES): Remove std/internal/windows/bcrypt.d. * src/Makefile.in: Regenerate. gcc/testsuite/ChangeLog: * gdc.dg/asm1.d: Adjust test.
58 lines
1.4 KiB
D
58 lines
1.4 KiB
D
|
|
/// $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
|
|
/// Author: Walter Bright
|
|
|
|
module core.sys.windows.stat;
|
|
version (Windows):
|
|
|
|
extern (C) nothrow @nogc:
|
|
|
|
import core.sys.windows.stdc.time;
|
|
|
|
// Posix version is in core.sys.posix.sys.stat
|
|
|
|
enum S_IFMT = 0xF000;
|
|
enum S_IFDIR = 0x4000;
|
|
enum S_IFCHR = 0x2000;
|
|
enum S_IFIFO = 0x1000;
|
|
enum S_IFREG = 0x8000;
|
|
enum S_IREAD = 0x0100;
|
|
enum S_IWRITE = 0x0080;
|
|
enum S_IEXEC = 0x0040;
|
|
enum S_IFBLK = 0x6000;
|
|
enum S_IFNAM = 0x5000;
|
|
|
|
@safe pure
|
|
{
|
|
int S_ISREG()(int m) { return (m & S_IFMT) == S_IFREG; }
|
|
int S_ISBLK()(int m) { return (m & S_IFMT) == S_IFBLK; }
|
|
int S_ISNAM()(int m) { return (m & S_IFMT) == S_IFNAM; }
|
|
int S_ISDIR()(int m) { return (m & S_IFMT) == S_IFDIR; }
|
|
int S_ISCHR()(int m) { return (m & S_IFMT) == S_IFCHR; }
|
|
}
|
|
|
|
version (CRuntime_Microsoft)
|
|
{
|
|
struct struct_stat
|
|
{
|
|
uint st_dev;
|
|
ushort st_ino;
|
|
ushort st_mode;
|
|
short st_nlink;
|
|
short st_uid;
|
|
short st_gid;
|
|
uint st_rdev;
|
|
int st_size;
|
|
time_t st_atime;
|
|
time_t st_mtime;
|
|
time_t st_ctime;
|
|
}
|
|
|
|
// These assume time_t is 32 bits (which druntime's definition currently is)
|
|
// Add pragma(mangle) to use _stat64 etc. when time_t is made 64-bit
|
|
// See also: https://issues.dlang.org/show_bug.cgi?id=21134
|
|
int stat(const(char)*, struct_stat *);
|
|
int fstat(int, struct_stat *) @trusted;
|
|
int _wstat(const(wchar)*, struct_stat *);
|
|
}
|