1 /**
2 TEST_OUTPUT:
3 ---
4 ---
5 */
6 module cppmangle3;
7
8
9 extern(C++, "true")
10 {
11 }
12
13 extern(C++, "__traits")
14 {
15 }
16
17 extern(C++, "foo")
18 {
19 }
20
21 int foo; // no name clashing with above namespace
22
23 extern(C++, "std", "chrono")
24 {
25 void func();
26 }
27
28 version(Windows) static assert(func.mangleof == "?func@chrono@std@@YAXXZ");
29 else static assert(func.mangleof == "_ZNSt6chrono4funcEv");
30
31 struct Foo
32 {
33 extern(C++, "namespace")
34 {
35 static void bar();
36 }
37 }
38
39 alias Alias(alias a) = a;
40 alias Alias(T) = T;
41
42 static assert(is(Alias!(__traits(parent, Foo.bar)) == Foo));
43
44 extern(C++, "std"):
45 debug = 456;
46 debug = def;
47 version = 456;
48 version = def;
49
50 extern(C++, "std")
51 {
52 debug = 456;
53 debug = def;
54 version = 456;
55 version = def;
56 }
57
58 extern(C++, "foo")
59 extern(C++, "bar")
60 version = baz;