[llvm-branch-commits] [flang] [flang][OpenACC] remap component references in structured constructs (PR #171501)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Dec 9 12:59:58 PST 2025


================
@@ -23,10 +22,25 @@
 #include "llvm/ADT/SmallSet.h"
 #include "llvm/ADT/StringRef.h"
 
+namespace Fortran::evaluate {
+class Component;
+class ArrayRef;
+} // namespace Fortran::evaluate
+
 namespace Fortran::lower {
 using SomeExpr = Fortran::evaluate::Expr<Fortran::evaluate::SomeType>;
+using ExplicitSpaceArrayBases =
+    std::variant<const semantics::Symbol *, const evaluate::Component *,
+                 const evaluate::ArrayRef *>;
+// FIXME: needed for privatizeSymbol that does not belong to this header.
+class AbstractConverter;
+class SymMap;
----------------
jeanPerier wrote:

Including `flang/Lower/` headers in this header that is also directly or indirectly included in many headers created circular dependencies causing the `DenseMapInfo` overload to be defined after uses in SymbolMap.h.

Hence the change to use forward declarations here.

https://github.com/llvm/llvm-project/pull/171501


More information about the llvm-branch-commits mailing list