aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Parser/preprocessor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Parser/preprocessor.cpp')
-rw-r--r--flang/lib/Parser/preprocessor.cpp9
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());