@@ -18,10 +18,10 @@ version (CppRuntime_DigitalMars)
1818 import core.stdcpp.exception ;
1919
2020 extern (C++ , " std" ):
21- @nogc :
2221
2322 class type_info
2423 {
24+ @nogc :
2525 void * pdata;
2626
2727 public :
@@ -41,17 +41,19 @@ version (CppRuntime_DigitalMars)
4141
4242 class bad_cast : exception
4343 {
44- this () nothrow { }
45- this (const bad_cast) nothrow { }
44+ @nogc :
45+ extern (D ) this () nothrow { }
46+ extern (D ) this (const bad_cast) nothrow { }
4647 // bad_cast operator=(const bad_cast) nothrow { return this; }
4748 // virtual ~this() nothrow;
4849 override const (char )* what () const nothrow ;
4950 }
5051
5152 class bad_typeid : exception
5253 {
53- this () nothrow { }
54- this (const bad_typeid) nothrow { }
54+ @nogc :
55+ extern (D ) this () nothrow { }
56+ extern (D ) this (const bad_typeid) nothrow { }
5557 // bad_typeid operator=(const bad_typeid) nothrow { return this; }
5658 // virtual ~this() nothrow;
5759 override const (char )* what() const nothrow ;
@@ -62,7 +64,6 @@ else version (CppRuntime_Microsoft)
6264 import core.stdcpp.exception ;
6365
6466 extern (C++ , " std" ):
65- @nogc :
6667
6768 struct __type_info_node
6869 {
@@ -74,6 +75,7 @@ else version (CppRuntime_Microsoft)
7475
7576 class type_info
7677 {
78+ @nogc :
7779 @weak ~this () nothrow {}
7880 // bool operator==(const type_info rhs) const;
7981 // bool operator!=(const type_info rhs) const;
@@ -88,13 +90,15 @@ else version (CppRuntime_Microsoft)
8890
8991 class bad_cast : exception
9092 {
91- this (const (char )* msg = " bad cast" ) @nogc nothrow { super (msg); }
93+ @nogc :
94+ extern (D ) this (const (char )* msg = " bad cast" ) nothrow { super (msg); }
9295 // virtual ~this();
9396 }
9497
9598 class bad_typeid : exception
9699 {
97- this (const (char )* msg = " bad typeid" ) @nogc nothrow { super (msg); }
100+ @nogc :
101+ extern (D ) this (const (char )* msg = " bad typeid" ) nothrow { super (msg); }
98102 // virtual ~this();
99103 }
100104}
@@ -108,10 +112,10 @@ else version (CppRuntime_Gcc)
108112 }
109113
110114 extern (C++ , " std" ):
111- @nogc :
112115
113116 abstract class type_info
114117 {
118+ @nogc :
115119 @weak ~this () {}
116120 @weak final const (char )* name() const nothrow
117121 {
@@ -133,19 +137,21 @@ else version (CppRuntime_Gcc)
133137 protected :
134138 const (char )* _name;
135139
136- this (const (char )* name) { _name = name; }
140+ extern ( D ) this (const (char )* name) { _name = name; }
137141 }
138142
139143 class bad_cast : exception
140144 {
141- this () nothrow {}
145+ @nogc :
146+ extern (D ) this () nothrow {}
142147 // ~this();
143148 @weak override const (char )* what() const nothrow { return " bad cast" ; }
144149 }
145150
146151 class bad_typeid : exception
147152 {
148- this () nothrow {}
153+ @nogc :
154+ extern (D ) this () nothrow {}
149155 // ~this();
150156 @weak override const (char )* what() const nothrow { return " bad typeid" ; }
151157 }
@@ -155,10 +161,10 @@ else version (CppRuntime_Clang)
155161 import core.stdcpp.exception ;
156162
157163 extern (C++ , " std" ):
158- @nogc :
159164
160165 abstract class type_info
161166 {
167+ @nogc :
162168 @weak ~this () {}
163169 @weak final const (char )* name() const nothrow
164170 {
@@ -173,19 +179,21 @@ else version (CppRuntime_Clang)
173179 protected :
174180 const (char )* __type_name;
175181
176- this (const (char )* __n) { __type_name = __n; }
182+ extern ( D ) this (const (char )* __n) { __type_name = __n; }
177183 }
178184
179185 class bad_cast : exception
180186 {
181- this () nothrow {}
187+ @nogc :
188+ extern (D ) this () nothrow {}
182189 // ~this();
183190 @weak override const (char )* what() const nothrow { return " bad cast" ; }
184191 }
185192
186193 class bad_typeid : exception
187194 {
188- this () nothrow {}
195+ @nogc :
196+ extern (D ) this () nothrow {}
189197 // ~this();
190198 @weak override const (char )* what() const nothrow { return " bad typeid" ; }
191199 }
0 commit comments