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.
71 lines
2.0 KiB
D
71 lines
2.0 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/_winber.d)
|
|
*/
|
|
module core.sys.windows.winber;
|
|
version (Windows):
|
|
|
|
/* Comment from MinGW
|
|
winber.h - Header file for the Windows LDAP Basic Encoding Rules API
|
|
|
|
Written by Filip Navara <xnavara@volny.cz>
|
|
|
|
References:
|
|
The C LDAP Application Program Interface
|
|
http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt
|
|
|
|
Lightweight Directory Access Protocol Reference
|
|
http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*/
|
|
|
|
import core.sys.windows.basetsd;
|
|
|
|
/* Opaque structure
|
|
* http://msdn.microsoft.com/library/en-us/ldap/ldap/berelement.asp
|
|
*/
|
|
struct BerElement;
|
|
|
|
alias int ber_int_t, ber_slen_t;
|
|
alias uint ber_uint_t, ber_len_t, ber_tag_t;
|
|
|
|
align(4):
|
|
struct BerValue {
|
|
ber_len_t bv_len;
|
|
char* bv_val;
|
|
}
|
|
alias BerValue LDAP_BERVAL, BERVAL;
|
|
alias BerValue* PLDAP_BERVAL, PBERVAL;
|
|
|
|
enum ber_tag_t
|
|
LBER_ERROR = -1,
|
|
LBER_DEFAULT = -1,
|
|
LBER_USE_DER = 1;
|
|
|
|
/* FIXME: In MinGW, these are WINBERAPI == DECLSPEC_IMPORT. Linkage
|
|
* attribute?
|
|
*/
|
|
extern (C) {
|
|
BerElement* ber_init(const(BerValue)*);
|
|
int ber_printf(BerElement*, const(char)*, ...);
|
|
int ber_flatten(BerElement*, BerValue**);
|
|
ber_tag_t ber_scanf(BerElement*, const(char)*, ...);
|
|
ber_tag_t ber_peek_tag(BerElement*, ber_len_t*);
|
|
ber_tag_t ber_skip_tag(BerElement*, ber_len_t*);
|
|
ber_tag_t ber_first_element(BerElement*, ber_len_t*, char**);
|
|
ber_tag_t ber_next_element(BerElement*, ber_len_t*, char*);
|
|
void ber_bvfree(BerValue*);
|
|
void ber_bvecfree(BerValue**);
|
|
void ber_free(BerElement*, int);
|
|
BerValue* ber_bvdup(BerValue*);
|
|
BerElement* ber_alloc_t(int);
|
|
}
|