Implement INCLUDE_ONCE directive (#1481)

Identify files by (device, inode), not by path, so that symlinks,
relative paths, case-insensitive paths, or other edge cases
do not result in double includes.
This commit is contained in:
sukus
2024-09-08 06:02:02 +02:00
committed by GitHub
parent 11f0e88b30
commit 5f07095f6d
8 changed files with 62 additions and 8 deletions

View File

@@ -256,6 +256,7 @@ static std::unordered_map<std::string, int, CaseInsensitive, CaseInsensitive> ke
{"INCHARMAP", T_(OP_INCHARMAP) },
{"INCLUDE", T_(POP_INCLUDE) },
{"INCLUDE_ONCE", T_(POP_INCLUDE_ONCE) },
{"PRINT", T_(POP_PRINT) },
{"PRINTLN", T_(POP_PRINTLN) },
{"EXPORT", T_(POP_EXPORT) },