File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1717#include " dmd/target.h"
1818#include " gen/abi/abi.h"
1919#include " gen/arrays.h"
20+ #include " gen/classes.h"
2021#include " gen/funcgenstate.h"
2122#include " gen/functions.h"
2223#include " gen/irstate.h"
@@ -389,7 +390,8 @@ LLConstant *IrClass::getClassInfoInit() {
389390 // TypeInfo_Class base
390391 assert (!isInterface || !cd->baseClass );
391392 if (cd->baseClass ) {
392- b.push_typeinfo (cd->baseClass ->type );
393+ DtoResolveClass (cd->baseClass );
394+ b.push (getIrAggr (cd->baseClass )->getClassInfoSymbol ());
393395 } else {
394396 b.push_null (cinfoType);
395397 }
Original file line number Diff line number Diff line change 1+ // RUN: %ldc -run %s
2+
3+ shared class A {
4+ }
5+
6+ shared class B : A {
7+ }
8+
9+ void main () {
10+ shared A a1 = cast (shared A) A.classinfo.create();
11+ shared A a2 = cast (shared A) B.classinfo.create();
12+ }
You can’t perform that action at this time.
0 commit comments