]> git.sur5r.net Git - cc65/blobdiff - src/cc65/compile.c
Fixed a bug
[cc65] / src / cc65 / compile.c
index 6d0e88cebd934737028ea0870110bd150cf564af..de1144bb0f5c7c6e2c2e9bc02e64269ec926d6d0 100644 (file)
@@ -40,6 +40,7 @@
 
 /* cc65 */
 #include "asmlabel.h"
+#include "asmstmt.h"
 #include "codegen.h"
 #include "declare.h"
 #include "error.h"
@@ -47,6 +48,7 @@
 #include "function.h"
 #include "global.h"
 #include "incpath.h"
+#include "input.h"
 #include "litpool.h"
 #include "macrotab.h"
 #include "pragma.h"
@@ -86,7 +88,7 @@ static void Parse (void)
 
        /* Check for an ASM statement (which is allowed also on global level) */
        if (CurTok.Tok == TOK_ASM) {
-           doasm ();
+           AsmStatement ();
            ConsumeSemi ();
            continue;
        }
@@ -250,7 +252,7 @@ static void Parse (void)
 
 
 
-void Compile (void)
+void Compile (const char* FileName)
 /* Top level compile routine. Will setup things and call the parser. */
 {
     char* Path;
@@ -270,24 +272,24 @@ void Compile (void)
     }
 
     /* Add macros that are always defined */
-    AddNumericMacro ("__CC65__", (VER_MAJOR * 0x100) + (VER_MINOR * 0x10) + VER_PATCH);
+    DefineNumericMacro ("__CC65__", (VER_MAJOR * 0x100) + (VER_MINOR * 0x10) + VER_PATCH);
 
     /* Strict ANSI macro */
     if (ANSI) {
-       AddNumericMacro ("__STRICT_ANSI__", 1);
+       DefineNumericMacro ("__STRICT_ANSI__", 1);
     }
 
     /* Optimization macros */
     if (Optimize) {
-       AddNumericMacro ("__OPT__", 1);
+       DefineNumericMacro ("__OPT__", 1);
        if (FavourSize == 0) {
-           AddNumericMacro ("__OPT_i__", 1);
+           DefineNumericMacro ("__OPT_i__", 1);
        }
        if (EnableRegVars) {
-           AddNumericMacro ("__OPT_r__", 1);
+           DefineNumericMacro ("__OPT_r__", 1);
        }
        if (InlineStdFuncs) {
-           AddNumericMacro ("__OPT_s__", 1);
+           DefineNumericMacro ("__OPT_s__", 1);
        }
     }
 
@@ -300,6 +302,9 @@ void Compile (void)
     /* Generate the code generator preamble */
     g_preamble ();
 
+    /* Open the input file */
+    OpenMainFile (FileName);
+
     /* Ok, start the ball rolling... */
     Parse ();