mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-04-26 05:29:03 +02:00
Merge DMD r314+r315: bugzilla 2029 Typesafe variadic functions don't...
Both DMD revisions are for fixing bugzilla 2029 (Typesafe variadic functions don't work in CTFE). The DMD r314 commit message is: bugzilla 2029 (Typesafe variadic functions don't work in CTFE The DMD r315 commit message is: bugzilla 2029 - try again --- dmd/constfold.c | 11 ++++- dmd/declaration.c | 21 +++++++++- dmd/declaration.h | 10 ++++- dmd/expression.c | 1 + dmd/interpret.c | 111 +++++++++++++++++++++++++++++++++++++++++++++-------- dmd/mars.h | 2 +- dmd/mtype.c | 2 +- 7 files changed, 135 insertions(+), 23 deletions(-)
This commit is contained in:
@@ -79,9 +79,16 @@ enum STC
|
||||
STCshared = 0x20000000, // accessible from multiple threads
|
||||
STCgshared = 0x40000000, // accessible from multiple threads
|
||||
// but not typed as "shared"
|
||||
STC_TYPECTOR = (STCconst | STCimmutable | STCshared),
|
||||
STCwild = 0x80000000, // for "wild" type constructor
|
||||
STC_TYPECTOR = (STCconst | STCimmutable | STCshared | STCwild),
|
||||
};
|
||||
|
||||
#define STCproperty 0x100000000LL
|
||||
#define STCsafe 0x200000000LL
|
||||
#define STCtrusted 0x400000000LL
|
||||
#define STCsystem 0x800000000LL
|
||||
#define STCctfe 0x1000000000LL // can be used in CTFE, even if it is static
|
||||
|
||||
struct Match
|
||||
{
|
||||
int count; // number of matches found
|
||||
@@ -290,6 +297,7 @@ struct VarDeclaration : Declaration
|
||||
int isImportedSymbol();
|
||||
int isDataseg();
|
||||
int isThreadlocal();
|
||||
int isCTFE();
|
||||
int hasPointers();
|
||||
#if DMDV2
|
||||
int canTakeAddressOf();
|
||||
|
||||
Reference in New Issue
Block a user