]> git.sur5r.net Git - cc65/blob - src/cc65/global.c
Complain if unsupported flags are provided after -O
[cc65] / src / cc65 / global.c
1 /*****************************************************************************/
2 /*                                                                           */
3 /*                                 global.c                                  */
4 /*                                                                           */
5 /*                 Global variables for the cc65 C compiler                  */
6 /*                                                                           */
7 /*                                                                           */
8 /*                                                                           */
9 /* (C) 1998-2015, Ullrich von Bassewitz                                      */
10 /*                Roemerstrasse 52                                           */
11 /*                D-70794 Filderstadt                                        */
12 /* EMail:         uz@cc65.org                                                */
13 /*                                                                           */
14 /*                                                                           */
15 /* This software is provided 'as-is', without any expressed or implied       */
16 /* warranty.  In no event will the authors be held liable for any damages    */
17 /* arising from the use of this software.                                    */
18 /*                                                                           */
19 /* Permission is granted to anyone to use this software for any purpose,     */
20 /* including commercial applications, and to alter it and redistribute it    */
21 /* freely, subject to the following restrictions:                            */
22 /*                                                                           */
23 /* 1. The origin of this software must not be misrepresented; you must not   */
24 /*    claim that you wrote the original software. If you use this software   */
25 /*    in a product, an acknowledgment in the product documentation would be  */
26 /*    appreciated but is not required.                                       */
27 /* 2. Altered source versions must be plainly marked as such, and must not   */
28 /*    be misrepresented as being the original software.                      */
29 /* 3. This notice may not be removed or altered from any source              */
30 /*    distribution.                                                          */
31 /*                                                                           */
32 /*****************************************************************************/
33
34
35
36 #include "global.h"
37
38
39
40 /*****************************************************************************/
41 /*                                   Data                                    */
42 /*****************************************************************************/
43
44
45
46 unsigned char AddSource         = 0;    /* Add source lines as comments */
47 unsigned char AutoCDecl         = 0;    /* Make functions default to __cdecl__ */
48 unsigned char DebugInfo         = 0;    /* Add debug info to the obj */
49 unsigned char PreprocessOnly    = 0;    /* Just preprocess the input */
50 unsigned char DebugOptOutput    = 0;    /* Output debug stuff */
51 unsigned      RegisterSpace     = 6;    /* Space available for register vars */
52
53 /* Stackable options */
54 IntStack WritableStrings    = INTSTACK(0);  /* Literal strings are r/w */
55 IntStack LocalStrings       = INTSTACK(0);  /* Emit string literals immediately */
56 IntStack InlineStdFuncs     = INTSTACK(0);  /* Inline some standard functions */
57 IntStack EagerlyInlineFuncs = INTSTACK(0);  /* Eagerly inline some known functions */
58 IntStack EnableRegVars      = INTSTACK(0);  /* Enable register variables */
59 IntStack AllowRegVarAddr    = INTSTACK(0);  /* Allow taking addresses of register vars */
60 IntStack RegVarsToCallStack = INTSTACK(0);  /* Save reg variables on call stack */
61 IntStack StaticLocals       = INTSTACK(0);  /* Make local variables static */
62 IntStack SignedChars        = INTSTACK(0);  /* Make characters signed by default */
63 IntStack CheckStack         = INTSTACK(0);  /* Generate stack overflow checks */
64 IntStack Optimize           = INTSTACK(0);  /* Optimize flag */
65 IntStack CodeSizeFactor     = INTSTACK(100);/* Size factor for generated code */
66 IntStack DataAlignment      = INTSTACK(1);  /* Alignment for data */
67
68 /* File names */
69 StrBuf DepName     = STATIC_STRBUF_INITIALIZER; /* Name of dependencies file */
70 StrBuf FullDepName = STATIC_STRBUF_INITIALIZER; /* Name of full dependencies file */
71 StrBuf DepTarget   = STATIC_STRBUF_INITIALIZER; /* Name of dependency target */