diff dmd/backend/F.d @ 0:10317f0c89a5

Initial commit
author korDen
date Sat, 24 Oct 2009 08:42:06 +0400
parents
children ef02e2e203c2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dmd/backend/F.d	Sat Oct 24 08:42:06 2009 +0400
@@ -0,0 +1,60 @@
+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
+}
\ No newline at end of file