diff options
Diffstat (limited to 'source/compiler/aslstartup.c')
-rw-r--r-- | source/compiler/aslstartup.c | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/source/compiler/aslstartup.c b/source/compiler/aslstartup.c index cbaf062..2bc1ba6 100644 --- a/source/compiler/aslstartup.c +++ b/source/compiler/aslstartup.c @@ -95,6 +95,8 @@ AslInitializeGlobals ( Gbl_LogicalLineNumber = 1; Gbl_CurrentLineOffset = 0; Gbl_InputFieldCount = 0; + Gbl_InputByteCount = 0; + Gbl_NsLookupCount = 0; Gbl_LineBufPtr = Gbl_CurrentLineBuffer; Gbl_ErrorLog = NULL; @@ -102,17 +104,26 @@ AslInitializeGlobals ( Gbl_Signature = NULL; Gbl_FileType = 0; + TotalExecutableOpcodes = 0; + TotalNamedObjects = 0; + TotalKeywords = 0; + TotalParseNodes = 0; + TotalMethods = 0; + TotalAllocations = 0; + TotalAllocated = 0; + TotalFolds = 0; + AslGbl_NextEvent = 0; for (i = 0; i < ASL_NUM_REPORT_LEVELS; i++) { Gbl_ExceptionCount[i] = 0; } - Gbl_Files[ASL_FILE_AML_OUTPUT].Filename = NULL; - Gbl_Files[ASL_FILE_AML_OUTPUT].Handle = NULL; - - Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Filename = NULL; - Gbl_Files[ASL_FILE_SOURCE_OUTPUT].Handle = NULL; + for (i = ASL_FILE_INPUT; i <= ASL_MAX_FILE_TYPE; i++) + { + Gbl_Files[i].Handle = NULL; + Gbl_Files[i].Filename = NULL; + } } @@ -282,11 +293,12 @@ AslDoOneFile ( ACPI_STATUS Status; - Gbl_Files[ASL_FILE_INPUT].Filename = Filename; - - /* Re-initialize "some" compiler globals */ + /* Re-initialize "some" compiler/preprocessor globals */ AslInitializeGlobals (); + PrInitializeGlobals (); + + Gbl_Files[ASL_FILE_INPUT].Filename = Filename; /* * AML Disassembly (Optional) @@ -399,6 +411,7 @@ AslDoOneFile ( Gbl_Signature = NULL; } AeClearErrorLog (); + PrTerminatePreprocessor (); return (Status); /* @@ -427,6 +440,7 @@ AslDoOneFile ( } AeClearErrorLog (); + PrTerminatePreprocessor (); return (AE_OK); case ASL_INPUT_TYPE_BINARY: |