diff --git a/include/asm/fstack.hpp b/include/asm/fstack.hpp index dd1ea3fd..2a9de798 100644 --- a/include/asm/fstack.hpp +++ b/include/asm/fstack.hpp @@ -5,6 +5,7 @@ #ifndef RGBDS_ASM_FSTACK_H #define RGBDS_ASM_FSTACK_H +#include #include #include #include diff --git a/include/asm/lexer.hpp b/include/asm/lexer.hpp index ba47c58a..55c060da 100644 --- a/include/asm/lexer.hpp +++ b/include/asm/lexer.hpp @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/src/asm/fstack.cpp b/src/asm/fstack.cpp index 627f37b0..cf1e525f 100644 --- a/src/asm/fstack.cpp +++ b/src/asm/fstack.cpp @@ -1,21 +1,23 @@ /* SPDX-License-Identifier: MIT */ +#include "asm/fstack.hpp" + #include #include #include #include #include -#include #include #include #include #include "error.hpp" #include "helpers.hpp" +#include "linkdefs.hpp" #include "platform.hpp" // S_ISDIR (stat macro) -#include "asm/fstack.hpp" +#include "asm/lexer.hpp" #include "asm/macro.hpp" #include "asm/main.hpp" #include "asm/symbol.hpp" @@ -23,14 +25,14 @@ struct Context { FileStackNode *fileInfo; - LexerState lexerState; - uint32_t uniqueID; - MacroArgs *macroArgs; // Macro args are *saved* here + LexerState lexerState{}; + uint32_t uniqueID = 0; + MacroArgs *macroArgs = nullptr; // Macro args are *saved* here uint32_t nbReptIters = 0; bool isForLoop = false; int32_t forValue = 0; int32_t forStep = 0; - std::string forName; + std::string forName{}; }; static std::stack contextStack; @@ -236,9 +238,7 @@ static Context &newContext(FileStackNode &fileInfo) { fileInfo.parent = contextStack.top().fileInfo; fileInfo.lineNo = lexer_GetLineNo(); - Context &context = contextStack.emplace(); - context.fileInfo = &fileInfo; - return context; + return contextStack.emplace(Context{.fileInfo = &fileInfo}); } void fstk_RunInclude(std::string const &path) { diff --git a/src/asm/lexer.cpp b/src/asm/lexer.cpp index 2cd7d68f..0969cd6a 100644 --- a/src/asm/lexer.cpp +++ b/src/asm/lexer.cpp @@ -1,5 +1,7 @@ /* SPDX-License-Identifier: MIT */ +#include "asm/lexer.hpp" + #include #include @@ -11,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -25,7 +26,6 @@ #include "asm/fixpoint.hpp" #include "asm/format.hpp" #include "asm/fstack.hpp" -#include "asm/lexer.hpp" #include "asm/macro.hpp" #include "asm/main.hpp" #include "asm/rpn.hpp" diff --git a/src/asm/output.cpp b/src/asm/output.cpp index da0d77fa..fa82f95c 100644 --- a/src/asm/output.cpp +++ b/src/asm/output.cpp @@ -2,10 +2,8 @@ #include "asm/output.hpp" -#include #include #include -#include #include #include #include @@ -15,8 +13,8 @@ #include "error.hpp" -#include "asm/charmap.hpp" #include "asm/fstack.hpp" +#include "asm/lexer.hpp" #include "asm/main.hpp" #include "asm/rpn.hpp" #include "asm/section.hpp" diff --git a/src/asm/section.cpp b/src/asm/section.cpp index f0dbbe9a..1e22221a 100644 --- a/src/asm/section.cpp +++ b/src/asm/section.cpp @@ -12,9 +12,8 @@ #include #include -#include "error.hpp" - #include "asm/fstack.hpp" +#include "asm/lexer.hpp" #include "asm/main.hpp" #include "asm/output.hpp" #include "asm/rpn.hpp" diff --git a/src/asm/symbol.cpp b/src/asm/symbol.cpp index ac51bbce..a62f0c73 100644 --- a/src/asm/symbol.cpp +++ b/src/asm/symbol.cpp @@ -5,20 +5,17 @@ #include #include #include -#include #include #include #include #include "error.hpp" #include "helpers.hpp" -#include "util.hpp" #include "version.hpp" -#include "asm/fixpoint.hpp" #include "asm/fstack.hpp" +#include "asm/lexer.hpp" #include "asm/macro.hpp" -#include "asm/main.hpp" #include "asm/output.hpp" #include "asm/warning.hpp" diff --git a/src/asm/warning.cpp b/src/asm/warning.cpp index f40a1d76..e2184a23 100644 --- a/src/asm/warning.cpp +++ b/src/asm/warning.cpp @@ -3,7 +3,6 @@ #include "asm/warning.hpp" #include -#include #include #include #include @@ -14,6 +13,7 @@ #include "itertools.hpp" #include "asm/fstack.hpp" +#include "asm/lexer.hpp" #include "asm/main.hpp" unsigned int nbErrors = 0;