diff --git a/flang/lib/Parser/preprocessor.cpp b/flang/lib/Parser/preprocessor.cpp --- a/flang/lib/Parser/preprocessor.cpp +++ b/flang/lib/Parser/preprocessor.cpp @@ -599,7 +599,7 @@ "#include: expected '>' at end of included file"_port_en_US); } TokenSequence braced{dir, j + 1, k - j - 1}; - include = ReplaceMacros(braced, prescanner).ToString(); + include = braced.ToString(); j = k; } else if ((include = dir.TokenAt(j).ToString()).substr(0, 1) == "\"" && include.substr(include.size() - 1, 1) == "\"") { // #include "foo" diff --git a/flang/test/Preprocessing/preserve-brace-include.F90 b/flang/test/Preprocessing/preserve-brace-include.F90 new file mode 100644 --- /dev/null +++ b/flang/test/Preprocessing/preserve-brace-include.F90 @@ -0,0 +1,5 @@ +! RUN: %flang -E -I%S %s | FileCheck %s + +#define empty ERR_NONEXISTENT +! CHECK-NOT: :5: +#include