]> git.sur5r.net Git - cc65/blobdiff - src/ca65/global.c
ca65: Add string_escapes feature. Resolves #535
[cc65] / src / ca65 / global.c
index 8da92298f2ac2a7f23be23ab77cf57df5ebcb155..a216fc4064a8cd55d2487c49376933155c3171f7 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                global.c                                  */
+/*                                 global.c                                  */
 /*                                                                           */
-/*              Global variables for the ca65 macroassembler                */
+/*               Global variables for the ca65 macroassembler                */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2004 Ullrich von Bassewitz                                       */
-/*               Römerstraße 52                                              */
-/*               D-70794 Filderstadt                                         */
-/* EMail:        uz@cc65.org                                                 */
+/* (C) 1998-2013, 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                                    */
 /*****************************************************************************/
 
 
 
 /* File names */
-const char* InFile                      = 0;   /* Name of input file */
-const char* OutFile                     = 0;   /* Name of output file */
-const char* ListFile                    = 0;   /* Name of listing file */
+const char* InFile               = 0;   /* Name of input file */
+const char* OutFile              = 0;   /* Name of output file */
+StrBuf ListingName = STATIC_STRBUF_INITIALIZER; /* Name of listing file */
+StrBuf DepName     = STATIC_STRBUF_INITIALIZER; /* Dependency file */
+StrBuf FullDepName = STATIC_STRBUF_INITIALIZER; /* Full dependency file */
 
 /* Default extensions */
-const char ObjExt[]                     = ".o";/* Default object extension */
-const char ListExt[]                    = ".lst"; /* Default listing extension */
+const char ObjExt[]              = ".o";/* Default object extension */
 
-char LocalStart                         = '@'; /* This char starts local symbols */
+char LocalStart                  = '@'; /* This char starts local symbols */
 
 unsigned char IgnoreCase         = 0;   /* Ignore case on identifiers? */
 unsigned char AutoImport         = 0;   /* Mark unresolveds as import */
-unsigned char SmartMode                 = 0;   /* Smart mode */
-unsigned char DbgSyms           = 0;   /* Add debug symbols */
-unsigned char Listing                   = 0;   /* Create listing file */
-unsigned char LineCont          = 0;   /* Allow line continuation */
+unsigned char SmartMode          = 0;   /* Smart mode */
+unsigned char DbgSyms            = 0;   /* Add debug symbols */
+unsigned char LineCont           = 0;   /* Allow line continuation */
+unsigned char LargeAlignment     = 0;   /* Don't warn about large alignments */
+unsigned char RelaxChecks        = 0;   /* Relax a few assembler checks */
+unsigned char StringEscapes      = 0;   /* Allow C-style escapes in strings */
 
 /* Emulation features */
 unsigned char DollarIsPC         = 0;   /* Allow the $ symbol as current PC */
 unsigned char NoColonLabels      = 0;   /* Allow labels without a colon */
-unsigned char LooseStringTerm    = 0;  /* Allow ' as string terminator */
-unsigned char LooseCharTerm      = 0;  /* Allow " for char constants */
-unsigned char AtInIdents         = 0;  /* Allow '@' in identifiers */
+unsigned char LooseStringTerm    = 0;   /* Allow ' as string terminator */
+unsigned char LooseCharTerm      = 0;   /* Allow " for char constants */
+unsigned char AtInIdents         = 0;   /* Allow '@' in identifiers */
 unsigned char DollarInIdents     = 0;   /* Allow '$' in identifiers */
 unsigned char LeadingDotInIdents = 0;   /* Allow '.' to start an identifier */
-unsigned char PCAssignment       = 0;  /* Allow "* = $XXX" or "$ = $XXX" */
-
-/* Misc stuff */
-const char Copyright[]           = "(C) Copyright 1998-2004 Ullrich von Bassewitz";
-
-
-
+unsigned char PCAssignment       = 0;   /* Allow "* = $XXX" or "$ = $XXX" */
+unsigned char MissingCharTerm    = 0;   /* Allow lda #'a (no closing term) */
+unsigned char UbiquitousIdents   = 0;   /* Allow ubiquitous identifiers */
+unsigned char OrgPerSeg          = 0;   /* Make .org local to current seg */
+unsigned char CComments          = 0;   /* Allow C like comments */
+unsigned char ForceRange         = 0;   /* Force values into expected range */
+unsigned char UnderlineInNumbers = 0;   /* Allow underlines in numbers */
+unsigned char AddrSize           = 0;   /* Allow .ADDRSIZE function */
+unsigned char BracketAsIndirect  = 0;   /* Use '[]' not '()' for indirection */