/*****************************************************************************/
/* */
-/* global.c */
+/* global.c */
/* */
-/* Global variables for the cc65 C compiler */
+/* Global variables for the cc65 C compiler */
/* */
/* */
/* */
-/* (C) 1998 Ullrich von Bassewitz */
-/* Wacholderweg 14 */
-/* D-70597 Stuttgart */
-/* EMail: uz@musoftware.de */
+/* (C) 1998-2012, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
/*****************************************************************************/
-/* Data */
+/* Data */
/*****************************************************************************/
-unsigned char Target = TGT_NONE; /* Target system */
-unsigned char ANSI = 0; /* Strict ANSI flag */
-unsigned char WriteableStrings = 0; /* Literal strings are r/w */
-unsigned char NoWarn = 0; /* Suppress warnings */
-unsigned char Optimize = 0; /* Optimize flag */
-unsigned char FavourSize = 1; /* Favour size over speed */
-unsigned char InlineStdFuncs = 0; /* Inline some known functions */
-unsigned char EnableRegVars = 0; /* Enable register variables */
-unsigned char AllowRegVarAddr = 0; /* Allow taking addresses of register vars */
-unsigned char RegVarsToCallStack= 0; /* Save reg variables on call stack */
-unsigned char LocalsAreStatic = 0; /* Make local variables static */
-unsigned char SignedChars = 0; /* Make characters signed by default */
-unsigned char Verbose = 0; /* Verbose flag */
-unsigned char AddSource = 0; /* Add source lines as comments */
-unsigned char DebugInfo = 0; /* Add debug info to the obj */
-unsigned char Debug = 0; /* Debug mode */
+unsigned char AddSource = 0; /* Add source lines as comments */
+unsigned char DebugInfo = 0; /* Add debug info to the obj */
+unsigned char PreprocessOnly = 0; /* Just preprocess the input */
+unsigned char DebugOptOutput = 0; /* Output debug stuff */
+unsigned RegisterSpace = 6; /* Space available for register vars */
+/* Stackable options */
+IntStack WritableStrings = INTSTACK(0); /* Literal strings are r/w */
+IntStack LocalStrings = INTSTACK(0); /* Emit string literals immediately */
+IntStack InlineStdFuncs = INTSTACK(0); /* Inline some known functions */
+IntStack EnableRegVars = INTSTACK(0); /* Enable register variables */
+IntStack AllowRegVarAddr = INTSTACK(0); /* Allow taking addresses of register vars */
+IntStack RegVarsToCallStack = INTSTACK(0); /* Save reg variables on call stack */
+IntStack StaticLocals = INTSTACK(0); /* Make local variables static */
+IntStack SignedChars = INTSTACK(0); /* Make characters signed by default */
+IntStack CheckStack = INTSTACK(0); /* Generate stack overflow checks */
+IntStack Optimize = INTSTACK(0); /* Optimize flag */
+IntStack CodeSizeFactor = INTSTACK(100);/* Size factor for generated code */
+IntStack DataAlignment = INTSTACK(1); /* Alignment for data */
+/* File names */
+StrBuf DepName = STATIC_STRBUF_INITIALIZER; /* Name of dependencies file */
+StrBuf FullDepName = STATIC_STRBUF_INITIALIZER; /* Name of full dependencies file */
+StrBuf DepTarget = STATIC_STRBUF_INITIALIZER; /* Name of dependency target */