0
|
1 module dmd.backend.STR;
|
|
2
|
|
3 enum STR
|
|
4 {
|
|
5 STRanonymous = 0x01, // set for unions with no tag names
|
|
6 STRglobal = 0x02, // defined at file scope
|
|
7
|
|
8 STRnotagname = 0x04, // struct/class with no tag name
|
|
9 STRoutdef = 0x08, // we've output the debug definition
|
|
10 STRbitfields = 0x10, // set if struct contains bit fields
|
|
11 STRpredef = 0x1000, // a predefined struct
|
|
12 STRunion = 0x4000, // actually, it's a union
|
|
13
|
|
14 STRabstract = 0x20, // abstract class
|
|
15 STRbitcopy = 0x40, // set if operator=() is merely a bit copy
|
|
16 STRanyctor = 0x80, // set if any constructors were defined
|
|
17 // by the user
|
|
18 STRnoctor = 0x100, // no constructors allowed
|
|
19 STRgen = 0x200, // if struct is an instantiation of a
|
|
20 // template class, and was generated by
|
|
21 // that template
|
|
22 STRvtblext = 0x400, // generate vtbl[] only when first member function
|
|
23 // definition is encountered (see Fvtblgen)
|
|
24 STRexport = 0x800, // all member functions are to be _export
|
|
25 STRclass = 0x8000, // it's a class, not a struct
|
|
26 ///version (TX86) {
|
|
27 STRimport = 0x40000, // imported class
|
|
28 STRstaticmems = 0x80000, // class has static members
|
|
29 ///}
|
|
30 STR0size = 0x100000, // zero sized struct
|
|
31 STRinstantiating = 0x200000, // if currently being instantiated
|
|
32 STRexplicit = 0x400000, // if explicit template instantiation
|
|
33 STRgenctor0 = 0x800000, // need to gen X::X()
|
|
34 } |