summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gdc.test/fail_compilation/test23017.d
blob: 743789a6b52251331dc88b0e09a1c83c56aeb71d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
TEST_OUTPUT:
---
fail_compilation/test23017.d(16): Error: class `test23017.CppChildA` with C++ linkage cannot inherit from class `DClass` with D linkage
---
*/

// https://issues.dlang.org/show_bug.cgi?id=23017
// C++ class may not derive from D class
extern(D) class DClass {}
extern(C++) class CppClass
{
    void foo();
}

extern(C++) class CppChildA : DClass {} // error
extern(C++) class CppChildB : CppClass {}

extern(D) class DChildA : DClass {}
extern(D) class DChildB : CppClass {} // automatically made extern(C++)