================
@@ -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
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits