mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-04 17:11:44 +03:00
Merge branch 'master' into merge-2.067
This commit is contained in:
commit
f49d32f5f6
4 changed files with 7 additions and 12 deletions
|
@ -320,7 +320,6 @@ public:
|
|||
Dsymbol *syntaxCopy(Dsymbol *);
|
||||
void semantic(Scope *sc);
|
||||
|
||||
ClassInfoDeclaration* isClassInfoDeclaration() { return this; }
|
||||
void accept(Visitor *v) { v->visit(this); }
|
||||
};
|
||||
|
||||
|
|
|
@ -304,8 +304,6 @@ public:
|
|||
virtual OverloadSet *isOverloadSet() { return NULL; }
|
||||
virtual void accept(Visitor *v) { v->visit(this); }
|
||||
#if IN_LLVM
|
||||
virtual ClassInfoDeclaration* isClassInfoDeclaration() { return NULL; }
|
||||
|
||||
// llvm stuff
|
||||
int llvmInternal;
|
||||
|
||||
|
|
|
@ -1716,13 +1716,6 @@ DValue* DtoSymbolAddress(Loc& loc, Type* type, Declaration* decl)
|
|||
val = DtoArrayLen(gIR->arrays.back());
|
||||
return new DImValue(type, val);
|
||||
}
|
||||
// classinfo
|
||||
else if (ClassInfoDeclaration* cid = vd->isClassInfoDeclaration())
|
||||
{
|
||||
Logger::println("ClassInfoDeclaration: %s", cid->cd->toChars());
|
||||
DtoResolveClass(cid->cd);
|
||||
return new DVarValue(type, vd, getIrAggr(cid->cd)->getClassInfoSymbol());
|
||||
}
|
||||
// typeinfo
|
||||
else if (TypeInfoDeclaration* tid = vd->isTypeInfoDeclaration())
|
||||
{
|
||||
|
|
|
@ -2105,7 +2105,7 @@ public:
|
|||
// call assert runtime functions
|
||||
p->scope() = IRScope(assertbb, endbb);
|
||||
|
||||
/* DMD Bugzilla 8360: If the condition is evalated to true,
|
||||
/* DMD Bugzilla 8360: If the condition is evaluated to true,
|
||||
* msg is not evaluated at all. So should use toElemDtor()
|
||||
* instead of toElem().
|
||||
*/
|
||||
|
@ -3240,6 +3240,11 @@ public:
|
|||
|
||||
virtual void visit(AssertExp *e)
|
||||
{
|
||||
// If assertions are turned off e.g. in release mode then
|
||||
// the expression is ignored. Only search for destructors
|
||||
// inside the assert expression if assertions are turned on.
|
||||
// See GitHub issue #953.
|
||||
if (global.params.useAssert)
|
||||
applyTo(e->e1);
|
||||
// same as above
|
||||
// applyTo(e->msg);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue