annotate dmd/backend/F.d @ 161:584dc990e12f

type fixed
author korDen
date Mon, 20 Sep 2010 01:19:36 +0400
parents ef02e2e203c2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
1 module dmd.backend.F;
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
2
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
3 enum F
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
4 {
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
5 Fpending = 1, // if function has been queued for being written
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
6 Foutput = 2, /* if function has been written out */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
7 Finline = 0x10, /* if SCinline, and function really is inline */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
8 Foverload = 0x20, /* if function can be overloaded */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
9 Ftypesafe = 0x40, /* if function name needs type appended */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
10 Fmustoutput = 0x80, /* set for forward ref'd functions that */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
11 /* must be output */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
12 Finlinenest = 0x1000, /* used as a marker to prevent nested */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
13 /* inlines from expanding */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
14 Flinkage = 0x2000, /* linkage is already specified */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
15 Fstatic = 0x4000, /* static member function (no this) */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
16 Foperator = 4, /* if operator overload */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
17 Fcast = 8, /* if cast overload */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
18 Fvirtual = 0x100, /* if function is a virtual function */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
19 Fctor = 0x200, /* if function is a constructor */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
20 Fdtor = 0x400, /* if function is a destructor */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
21 Fnotparent = 0x800, /* if function is down Foversym chain */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
22 Fbitcopy = 0x8000, /* it's a simple bitcopy (op=() or X(X&)) */
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
23 Fpure = 0x10000, // pure function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
24 Finstance = 0x20000, // function is an instance of a template
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
25 Ffixed = 0x40000, // ctor has had cpp_fixconstructor() run on it,
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
26 // dtor has had cpp_fixdestructor()
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
27 Fintro = 0x80000, // function doesn't hide a previous virtual function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
28 ///#if !TX86
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
29 ///Fstcstd = 0x100000, // static constructor or static destructor
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
30 ///#endif
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
31 Fkeeplink = 0x200000, // don't change linkage to default
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
32 Fnodebug = 0x400000, // do not generate debug info for this function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
33 Fgen = 0x800000, // compiler generated function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
34 Finvariant = 0x1000000, // __invariant function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
35 Fexplicit = 0x2000000, // explicit constructor
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
36 Fsurrogate = 0x4000000, // surrogate call function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
37 }
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
38
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
39 enum F3
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
40 {
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
41 Fvtblgen = 0x01, // generate vtbl[] when this function is defined
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
42 Femptyexc = 0x02, // empty exception specification (obsolete, use Tflags & TFemptyexc)
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
43 Fcppeh = 0x04, // uses C++ EH
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
44 Fdeclared = 0x10, // already declared function Symbol
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
45 Fmark = 0x20, // has unbalanced OPctor's
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
46 Fnteh = 0x08, // uses NT Structured EH
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
47 Fdoinline = 0x40, // do inline walk
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
48 Foverridden = 0x80, // ignore for overriding purposes
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
49 ///#if TARGET_LINUX || TARGET_OSX || TARGET_FREEBSD || TARGET_SOLARIS
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
50 /// Fnowrite = 0x100, // SCinline should never output definition
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
51 ///#else
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
52 Fjmonitor = 0x100, // Jupiter synchronized function
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
53 ///#endif
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
54 Fnosideeff = 0x200, // function has no side effects
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
55 F3badoparrow = 0x400, // bad operator->()
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
56 Fmain = 0x800, // function is main() or wmain()
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
57 Fnested = 0x1000, // D nested function with 'this'
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
58 Fmember = 0x2000, // D member function with 'this'
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
59 Fnotailrecursion = 0x4000, // no tail recursion optimizations
73
ef02e2e203c2 Updating to dmd2.033
korDen
parents: 0
diff changeset
60 Ffakeeh = 0x8000, // allocate space for NT EH context sym anyway
0
10317f0c89a5 Initial commit
korDen
parents:
diff changeset
61 }