Make failedOnMissingInclude not extern

This commit is contained in:
Rangi42
2025-07-21 19:40:01 -04:00
parent 5f333d9753
commit 61730be6ce
4 changed files with 8 additions and 5 deletions

View File

@@ -58,6 +58,7 @@ void fstk_AddIncludePath(std::string const &path);
void fstk_AddPreIncludeFile(std::string const &path);
std::optional<std::string> fstk_FindFile(std::string const &path);
bool fstk_FileError(std::string const &path, char const *functionName);
bool fstk_FailedOnMissingInclude();
bool yywrap();
bool fstk_RunInclude(std::string const &path);

View File

@@ -41,7 +41,6 @@ struct Options {
};
extern Options options;
extern bool failedOnMissingInclude;
#define verbosePrint(...) \
do { \

View File

@@ -46,6 +46,7 @@ static std::stack<Context> contextStack;
// The first include path for `fstk_FindFile` to try is none at all
static std::vector<std::string> includePaths = {""}; // -I
static std::deque<std::string> preIncludeNames; // -P
static bool failedOnMissingInclude = false;
std::string FileStackNode::reptChain() const {
std::string chain;
@@ -317,6 +318,10 @@ bool fstk_FileError(std::string const &path, char const *functionName) {
return false;
}
bool fstk_FailedOnMissingInclude() {
return failedOnMissingInclude;
}
bool fstk_RunInclude(std::string const &path) {
if (std::optional<std::string> fullPath = fstk_FindFile(path); fullPath) {
newFileContext(*fullPath, false);

View File

@@ -26,8 +26,6 @@
Options options;
bool failedOnMissingInclude = false;
// Escapes Make-special chars from a string
static std::string make_escape(std::string &str) {
std::string escaped;
@@ -424,7 +422,7 @@ int main(int argc, char *argv[]) {
nbErrors = 1;
}
if (!failedOnMissingInclude) {
if (!fstk_FailedOnMissingInclude()) {
sect_CheckUnionClosed();
sect_CheckLoadClosed();
sect_CheckSizes();
@@ -440,7 +438,7 @@ int main(int argc, char *argv[]) {
}
// If parse aborted due to missing an include, and `-MG` was given, exit normally
if (failedOnMissingInclude) {
if (fstk_FailedOnMissingInclude()) {
return 0;
}