[flang-commits] [flang] [FLANG] Solved an issue with continuation lines (PR #146027)
via flang-commits
flang-commits at lists.llvm.org
Thu Jun 26 21:49:32 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-parser
Author: Ebin-McW (EbinJose2002)
<details>
<summary>Changes</summary>
Solved the issue with c style comment appearing between continuation lines
Wrote a test file for it.
Fixes #<!-- -->129455
---
Full diff: https://github.com/llvm/llvm-project/pull/146027.diff
2 Files Affected:
- (modified) flang/lib/Parser/prescan.cpp (+4)
- (added) flang/test/Parser/continuation-after-comment.f90 (+15)
``````````diff
diff --git a/flang/lib/Parser/prescan.cpp b/flang/lib/Parser/prescan.cpp
index 9aef0c9981e3c..5c92974e3ebf2 100644
--- a/flang/lib/Parser/prescan.cpp
+++ b/flang/lib/Parser/prescan.cpp
@@ -1455,6 +1455,10 @@ const char *Prescanner::FreeFormContinuationLine(bool ampersand) {
return nullptr;
}
}
+ if (p[0] == '/' && p[1] == '*') {
+ p = SkipCComment(p);
+ p = SkipWhiteSpaceIncludingEmptyMacros(p);
+ }
if (p[0] == '!' && p[1] == '$' && !preprocessingOnly_ &&
features_.IsEnabled(LanguageFeature::OpenMP)) {
// !$ conditional line can be a continuation
diff --git a/flang/test/Parser/continuation-after-comment.f90 b/flang/test/Parser/continuation-after-comment.f90
new file mode 100644
index 0000000000000..845aa8bc36e5c
--- /dev/null
+++ b/flang/test/Parser/continuation-after-comment.f90
@@ -0,0 +1,15 @@
+! RUN: %flang_fc1 -E %s 2>&1 | FileCheck %s
+
+!Checking comments appearing in between continuation lines.
+integer &
+i(1)
+/* \\\*/
+!CHECK: integer i(1)
+i(1)&
+/* \\\*/
+=1
+!CHECK: i(1) =1
+/* \*/
+if (i(1)/=1)write(6,*)'error',i(1)
+print *,'pass'
+end
``````````
</details>
https://github.com/llvm/llvm-project/pull/146027
More information about the flang-commits
mailing list