view dmd/backend/STR.d @ 0:10317f0c89a5

Initial commit
author korDen
date Sat, 24 Oct 2009 08:42:06 +0400
parents
children
line wrap: on
line source

module dmd.backend.STR;

enum STR
{
	STRanonymous = 0x01,	// set for unions with no tag names
	STRglobal = 0x02,	// defined at file scope

	STRnotagname = 0x04,	// struct/class with no tag name
	STRoutdef = 0x08,	// we've output the debug definition
	STRbitfields = 0x10,	// set if struct contains bit fields
	STRpredef = 0x1000, // a predefined struct
	STRunion = 0x4000,	// actually, it's a union

	STRabstract = 0x20,	// abstract class
	STRbitcopy = 0x40,	// set if operator=() is merely a bit copy
	STRanyctor = 0x80,	// set if any constructors were defined
					// by the user
	STRnoctor = 0x100,	// no constructors allowed
	STRgen = 0x200,	// if struct is an instantiation of a
					// template class, and was generated by
					// that template
	STRvtblext = 0x400,	// generate vtbl[] only when first member function
					// definition is encountered (see Fvtblgen)
	STRexport = 0x800,	// all member functions are to be _export
	STRclass = 0x8000,	// it's a class, not a struct
///version (TX86) {
	STRimport = 0x40000,	// imported class
	STRstaticmems = 0x80000,	// class has static members
///}
	STR0size = 0x100000,	// zero sized struct
	STRinstantiating = 0x200000,	// if currently being instantiated
	STRexplicit	= 0x400000,	// if explicit template instantiation
	STRgenctor0	= 0x800000,	// need to gen X::X()
}