aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/mtype.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/dmd/mtype.h')
-rw-r--r--gcc/d/dmd/mtype.h22
1 files changed, 2 insertions, 20 deletions
diff --git a/gcc/d/dmd/mtype.h b/gcc/d/dmd/mtype.h
index 28dba1c..083d707 100644
--- a/gcc/d/dmd/mtype.h
+++ b/gcc/d/dmd/mtype.h
@@ -1,6 +1,6 @@
/* Compiler implementation of the D programming language
- * Copyright (C) 1999-2020 by The D Language Foundation, All Rights Reserved
+ * Copyright (C) 1999-2021 by The D Language Foundation, All Rights Reserved
* written by Walter Bright
* http://www.digitalmars.com
* Distributed under the Boost Software License, Version 1.0.
@@ -40,6 +40,7 @@ typedef union tree_node type;
typedef struct TYPE type;
#endif
+Type *typeSemantic(Type *type, const Loc &loc, Scope *sc);
void semanticTypeInfo(Scope *sc, Type *t);
MATCH deduceType(RootObject *o, Scope *sc, Type *tparam, TemplateParameters *parameters, Objects *dedtypes, unsigned *wm = NULL, size_t inferStart = 0);
StorageClass ModToStc(unsigned mod);
@@ -245,7 +246,6 @@ public:
d_uns64 size();
virtual d_uns64 size(Loc loc);
virtual unsigned alignsize();
- virtual Type *semantic(Loc loc, Scope *sc);
Type *trySemantic(Loc loc, Scope *sc);
Type *merge();
Type *merge2();
@@ -448,7 +448,6 @@ public:
static TypeVector *create(Type *basetype);
const char *kind();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
d_uns64 size(Loc loc);
unsigned alignsize();
Expression *getProperty(Loc loc, Identifier *ident, int flag);
@@ -486,7 +485,6 @@ public:
Type *syntaxCopy();
d_uns64 size(Loc loc);
unsigned alignsize();
- Type *semantic(Loc loc, Scope *sc);
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag);
bool isString();
@@ -512,7 +510,6 @@ public:
Type *syntaxCopy();
d_uns64 size(Loc loc) /*const*/;
unsigned alignsize() /*const*/;
- Type *semantic(Loc loc, Scope *sc);
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag);
bool isString();
@@ -537,7 +534,6 @@ public:
const char *kind();
Type *syntaxCopy();
d_uns64 size(Loc loc);
- Type *semantic(Loc loc, Scope *sc);
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag);
Expression *defaultInit(Loc loc);
@@ -557,7 +553,6 @@ public:
static TypePointer *create(Type *t);
const char *kind();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
d_uns64 size(Loc loc) /*const*/;
MATCH implicitConvTo(Type *to);
MATCH constConv(Type *to);
@@ -575,7 +570,6 @@ public:
TypeReference(Type *t);
const char *kind();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
d_uns64 size(Loc loc) /*const*/;
Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag);
Expression *defaultInit(Loc loc);
@@ -680,7 +674,6 @@ public:
static TypeFunction *create(Parameters *parameters, Type *treturn, VarArg varargs, LINK linkage, StorageClass stc = 0);
const char *kind();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
void purityLevel();
bool hasLazyParameters();
bool isDstyleVariadic() const;
@@ -709,7 +702,6 @@ public:
static TypeDelegate *create(Type *t);
const char *kind();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
Type *addStorageClass(StorageClass stc);
d_uns64 size(Loc loc) /*const*/;
unsigned alignsize() /*const*/;
@@ -734,7 +726,6 @@ public:
TypeTraits(const Loc &loc, TraitsExp *exp);
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
d_uns64 size(Loc loc);
void accept(Visitor *v) { v->visit(this); }
@@ -774,7 +765,6 @@ public:
Type *syntaxCopy();
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
Dsymbol *toDsymbol(Scope *sc);
- Type *semantic(Loc loc, Scope *sc);
void accept(Visitor *v) { v->visit(this); }
};
@@ -789,7 +779,6 @@ public:
const char *kind();
Type *syntaxCopy();
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
- Type *semantic(Loc loc, Scope *sc);
Dsymbol *toDsymbol(Scope *sc);
void accept(Visitor *v) { v->visit(this); }
};
@@ -805,7 +794,6 @@ public:
Type *syntaxCopy();
Dsymbol *toDsymbol(Scope *sc);
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
- Type *semantic(Loc loc, Scope *sc);
d_uns64 size(Loc loc);
void accept(Visitor *v) { v->visit(this); }
};
@@ -818,7 +806,6 @@ public:
Type *syntaxCopy();
Dsymbol *toDsymbol(Scope *sc);
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
- Type *semantic(Loc loc, Scope *sc);
void accept(Visitor *v) { v->visit(this); }
};
@@ -847,7 +834,6 @@ public:
d_uns64 size(Loc loc);
unsigned alignsize();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
Dsymbol *toDsymbol(Scope *sc);
Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag);
structalign_t alignment();
@@ -878,7 +864,6 @@ public:
Type *syntaxCopy();
d_uns64 size(Loc loc);
unsigned alignsize();
- Type *semantic(Loc loc, Scope *sc);
Dsymbol *toDsymbol(Scope *sc);
Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag);
Expression *getProperty(Loc loc, Identifier *ident, int flag);
@@ -917,7 +902,6 @@ public:
const char *kind();
d_uns64 size(Loc loc) /*const*/;
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
Dsymbol *toDsymbol(Scope *sc);
Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag);
ClassDeclaration *isClassHandle();
@@ -948,7 +932,6 @@ public:
TypeTuple(Type *t1, Type *t2);
const char *kind();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
bool equals(RootObject *o);
Expression *getProperty(Loc loc, Identifier *ident, int flag);
Expression *defaultInit(Loc loc);
@@ -964,7 +947,6 @@ public:
TypeSlice(Type *next, Expression *lwr, Expression *upr);
const char *kind();
Type *syntaxCopy();
- Type *semantic(Loc loc, Scope *sc);
void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false);
void accept(Visitor *v) { v->visit(this); }
};