Mercurial > projects > ddmd
view dmd/backend/F.d @ 73:ef02e2e203c2
Updating to dmd2.033
author | korDen |
---|---|
date | Sat, 28 Aug 2010 19:42:41 +0400 |
parents | 10317f0c89a5 |
children |
line wrap: on
line source
module dmd.backend.F; enum F { Fpending = 1, // if function has been queued for being written Foutput = 2, /* if function has been written out */ Finline = 0x10, /* if SCinline, and function really is inline */ Foverload = 0x20, /* if function can be overloaded */ Ftypesafe = 0x40, /* if function name needs type appended */ Fmustoutput = 0x80, /* set for forward ref'd functions that */ /* must be output */ Finlinenest = 0x1000, /* used as a marker to prevent nested */ /* inlines from expanding */ Flinkage = 0x2000, /* linkage is already specified */ Fstatic = 0x4000, /* static member function (no this) */ Foperator = 4, /* if operator overload */ Fcast = 8, /* if cast overload */ Fvirtual = 0x100, /* if function is a virtual function */ Fctor = 0x200, /* if function is a constructor */ Fdtor = 0x400, /* if function is a destructor */ Fnotparent = 0x800, /* if function is down Foversym chain */ Fbitcopy = 0x8000, /* it's a simple bitcopy (op=() or X(X&)) */ Fpure = 0x10000, // pure function Finstance = 0x20000, // function is an instance of a template Ffixed = 0x40000, // ctor has had cpp_fixconstructor() run on it, // dtor has had cpp_fixdestructor() Fintro = 0x80000, // function doesn't hide a previous virtual function ///#if !TX86 ///Fstcstd = 0x100000, // static constructor or static destructor ///#endif Fkeeplink = 0x200000, // don't change linkage to default Fnodebug = 0x400000, // do not generate debug info for this function Fgen = 0x800000, // compiler generated function Finvariant = 0x1000000, // __invariant function Fexplicit = 0x2000000, // explicit constructor Fsurrogate = 0x4000000, // surrogate call function } enum F3 { Fvtblgen = 0x01, // generate vtbl[] when this function is defined Femptyexc = 0x02, // empty exception specification (obsolete, use Tflags & TFemptyexc) Fcppeh = 0x04, // uses C++ EH Fdeclared = 0x10, // already declared function Symbol Fmark = 0x20, // has unbalanced OPctor's Fnteh = 0x08, // uses NT Structured EH Fdoinline = 0x40, // do inline walk Foverridden = 0x80, // ignore for overriding purposes ///#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS /// Fnowrite = 0x100, // SCinline should never output definition ///#else Fjmonitor = 0x100, // Jupiter synchronized function ///#endif Fnosideeff = 0x200, // function has no side effects F3badoparrow = 0x400, // bad operator->() Fmain = 0x800, // function is main() or wmain() Fnested = 0x1000, // D nested function with 'this' Fmember = 0x2000, // D member function with 'this' Fnotailrecursion = 0x4000, // no tail recursion optimizations Ffakeeh = 0x8000, // allocate space for NT EH context sym anyway }