diff options
Diffstat (limited to 'flang/lib/Parser/preprocessor.cpp')
-rw-r--r-- | flang/lib/Parser/preprocessor.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/flang/lib/Parser/preprocessor.cpp b/flang/lib/Parser/preprocessor.cpp index 6dea129..1efe21a 100644 --- a/flang/lib/Parser/preprocessor.cpp +++ b/flang/lib/Parser/preprocessor.cpp @@ -622,11 +622,12 @@ void Preprocessor::Directive(const TokenSequence &dir, Prescanner &prescanner) { TokenSequence braced{dir, j + 1, k - j - 1}; include = braced.ToString(); j = k; - } else if ((include = dir.TokenAt(j).ToString()).substr(0, 1) == "\"" && - include.substr(include.size() - 1, 1) == "\"") { // #include "foo" + } else if (((include = dir.TokenAt(j).ToString()).substr(0, 1) == "\"" || + include.substr(0, 1) == "'") && + include.substr(include.size() - 1, 1) == include.substr(0, 1)) { + // #include "foo" and #include 'foo' include = include.substr(1, include.size() - 2); - // #include "foo" starts search in directory of file containing - // the directive + // Start search in directory of file containing the directive auto prov{dir.GetTokenProvenanceRange(dirOffset).start()}; if (const auto *currentFile{allSources_.GetSourceFile(prov)}) { prependPath = DirectoryName(currentFile->path()); |