mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-11-29 02:00:08 +08:00
8da8c7d337
D front-end changes: - Import dmd v2.103.0-beta.1. - Using `alias this' for classes has been deprecated. - The feature `-fpreview=dip25` is now enabled by default. - The compile-time traits `isVirtualFunction' and `getVirtualFunctions' have been deprecated. D runtime changes: - Import druntime v2.103.0-beta.1. Phobos changes: - Import phobos v2.103.0-beta.1. - Updated unicode grapheme walking updated to conform to Unicode version 15. - Improved friendliness of error messages when instantiating `std.algorithm.iteration.joiner' and `std.algorithm.sorting.sort' with wrong inputs. gcc/d/ChangeLog: * dmd/MERGE: Merge upstream dmd 4ca4140e58. * dmd/VERSION: Bump version to v2.103.0-beta.1. * Make-lang.in (D_FRONTEND_OBJS): Add d/errorsink.o. * d-ctfloat.cc (CTFloat::sprint): Update signature for new front-end interface. * d-frontend.cc (getTypeInfoType): Likewise. * d-lang.cc (d_handle_option): Remove handling of -fpreview=dip25 and -frevert=dip25. (d_post_options): Remove enabling of sealed references language feature when scoped pointers is enabled. * d-tree.h (create_typeinfo): Update signature. * decl.cc (DeclVisitor::finish_vtable): Update for new front-end interface. (DeclVisitor::visit (VarDeclaration *)): Likewise. (DeclVisitor::visit (FuncDeclaration *)): Check skipCodegen to see if front-end explicitly requested not to generate code. * expr.cc (ExprVisitor::visit (NewExp *)): Update for new front-end interface. * lang.opt (fpreview=dip25): Remove. (frevert=dip25): Remove. * modules.cc (layout_moduleinfo_fields): Update for new front-end interface. (layout_moduleinfo): Likewise. * runtime.def (NEWCLASS): Remove. * toir.cc (IRVisitor::visit (IfStatement *)): Don't generate IR for if statement list when condition is `__ctfe'. * typeinfo.cc (create_typeinfo): Add generate parameter. * types.cc (layout_aggregate_members): Update for new front-end interface. libphobos/ChangeLog: * libdruntime/MERGE: Merge upstream druntime 4ca4140e58. * libdruntime/Makefile.am (DRUNTIME_DSOURCES): Add core/factory.d. * libdruntime/Makefile.in: Regenerate. * src/MERGE: Merge upstream phobos 454dff14d. * testsuite/libphobos.hash/test_hash.d: Update test. * testsuite/libphobos.shared/finalize.d: Update test. * libdruntime/core/factory.d: New file. gcc/testsuite/ChangeLog: * gdc.dg/torture/simd23084.d: New test. * gdc.dg/torture/simd23085.d: New test. * gdc.dg/torture/simd23218.d: New test.
55 lines
1.9 KiB
D
55 lines
1.9 KiB
D
/**
|
|
* D header file for C99.
|
|
*
|
|
* $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_time.h.html, _time.h)
|
|
*
|
|
* Copyright: Copyright Sean Kelly 2005 - 2009.
|
|
* License: Distributed under the
|
|
* $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0).
|
|
* (See accompanying file LICENSE)
|
|
* Authors: Sean Kelly,
|
|
* Alex Rønne Petersen
|
|
* Source: $(DRUNTIMESRC core/stdc/_time.d)
|
|
* Standards: ISO/IEC 9899:1999 (E)
|
|
*/
|
|
|
|
module core.stdc.time;
|
|
|
|
version (Posix)
|
|
public import core.sys.posix.stdc.time;
|
|
else version (Windows)
|
|
public import core.sys.windows.stdc.time;
|
|
else
|
|
static assert(0, "unsupported system");
|
|
|
|
import core.stdc.config;
|
|
|
|
extern (C):
|
|
@trusted: // There are only a few functions here that use unsafe C strings.
|
|
nothrow:
|
|
@nogc:
|
|
|
|
///
|
|
pragma(mangle, muslRedirTime64Mangle!("difftime", "__difftime64"))
|
|
pure double difftime(time_t time1, time_t time0); // MT-Safe
|
|
///
|
|
pragma(mangle, muslRedirTime64Mangle!("mktime", "__mktime64"))
|
|
@system time_t mktime(scope tm* timeptr); // @system: MT-Safe env locale
|
|
///
|
|
pragma(mangle, muslRedirTime64Mangle!("time", "__time64"))
|
|
time_t time(scope time_t* timer);
|
|
|
|
///
|
|
@system char* asctime(const scope tm* timeptr); // @system: MT-Unsafe race:asctime locale
|
|
///
|
|
pragma(mangle, muslRedirTime64Mangle!("ctime", "__ctime64"))
|
|
@system char* ctime(const scope time_t* timer); // @system: MT-Unsafe race:tmbuf race:asctime env locale
|
|
///
|
|
pragma(mangle, muslRedirTime64Mangle!("gmtime", "__gmtime64"))
|
|
@system tm* gmtime(const scope time_t* timer); // @system: MT-Unsafe race:tmbuf env locale
|
|
///
|
|
pragma(mangle, muslRedirTime64Mangle!("localtime", "__localtime64"))
|
|
@system tm* localtime(const scope time_t* timer); // @system: MT-Unsafe race:tmbuf env locale
|
|
///
|
|
@system size_t strftime(scope char* s, size_t maxsize, const scope char* format, const scope tm* timeptr); // @system: MT-Safe env locale
|