File tree 2 files changed +15
-1
lines changed
2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change 17
17
#include " dmd/target.h"
18
18
#include " gen/abi/abi.h"
19
19
#include " gen/arrays.h"
20
+ #include " gen/classes.h"
20
21
#include " gen/funcgenstate.h"
21
22
#include " gen/functions.h"
22
23
#include " gen/irstate.h"
@@ -389,7 +390,8 @@ LLConstant *IrClass::getClassInfoInit() {
389
390
// TypeInfo_Class base
390
391
assert (!isInterface || !cd->baseClass );
391
392
if (cd->baseClass ) {
392
- b.push_typeinfo (cd->baseClass ->type );
393
+ DtoResolveClass (cd->baseClass );
394
+ b.push (getIrAggr (cd->baseClass )->getClassInfoSymbol ());
393
395
} else {
394
396
b.push_null (cinfoType);
395
397
}
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