Skip to content

[flang] Fix missing includes in lib/Lower/Support/Utils.cpp #143196

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 7, 2025

Conversation

mgorny
Copy link
Member

@mgorny mgorny commented Jun 6, 2025

Fixes the build failure due to missing includes introduced in f8dcb05.

Fixes the build failure due to missing includes introduced
in f8dcb05.
@llvmbot llvmbot added flang Flang issues not falling into any other category flang:fir-hlfir labels Jun 6, 2025
@llvmbot
Copy link
Member

llvmbot commented Jun 6, 2025

@llvm/pr-subscribers-flang-fir-hlfir

Author: Michał Górny (mgorny)

Changes

Fixes the build failure due to missing includes introduced in f8dcb05.


Full diff: https://github.com/llvm/llvm-project/pull/143196.diff

1 Files Affected:

  • (modified) flang/lib/Lower/Support/Utils.cpp (+6)
diff --git a/flang/lib/Lower/Support/Utils.cpp b/flang/lib/Lower/Support/Utils.cpp
index 674f9911b1276..63b5e89cb5b9a 100644
--- a/flang/lib/Lower/Support/Utils.cpp
+++ b/flang/lib/Lower/Support/Utils.cpp
@@ -13,9 +13,15 @@
 #include "flang/Lower/Support/Utils.h"
 
 #include "flang/Common/indirection.h"
+#include "flang/Lower/ConvertVariable.h"
+#include "flang/Lower/AbstractConverter.h"
 #include "flang/Lower/IterationSpace.h"
 #include "flang/Lower/Support/PrivateReductionUtils.h"
+#include "flang/Optimizer/Builder/HLFIRTools.h"
+#include "flang/Optimizer/Builder/Todo.h"
+#include "flang/Optimizer/HLFIR/HLFIRDialect.h"
 #include "flang/Semantics/tools.h"
+#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
 #include <cstdint>
 #include <optional>
 #include <type_traits>

@mgorny
Copy link
Member Author

mgorny commented Jun 6, 2025

Without this, I'm seeing lots of errors (I guess pch hides them):

FAILED: lib/Lower/CMakeFiles/FortranLower.dir/Support/Utils.cpp.o 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -DFLANG_INCLUDE_TESTS=1 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang_build/lib/Lower -I/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower -I/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include -I/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang_build/include -isystem /usr/lib/llvm/21/include  -O2 -pipe -march=native -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-ctad-maybe-unsupported -fno-strict-aliasing -fno-semantic-interposition -std=c++17   -D_GNU_SOURCE -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -UNDEBUG -MD -MT lib/Lower/CMakeFiles/FortranLower.dir/Support/Utils.cpp.o -MF lib/Lower/CMakeFiles/FortranLower.dir/Support/Utils.cpp.o.d -o lib/Lower/CMakeFiles/FortranLower.dir/Support/Utils.cpp.o -c /var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp: In function ‘void Fortran::lower::copyFirstPrivateSymbol(AbstractConverter&, const Fortran::semantics::Symbol*, mlir::OpBuilder::InsertPoint*)’:
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:643:5: error: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  643 |     converter.copyHostAssociateVar(*sym, copyAssignIP);
      |     ^~~~~~~~~
In file included from /var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/Support/Utils.h:17,
                 from /var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:13:
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp: In function ‘void Fortran::lower::privatizeSymbol(AbstractConverter&, fir::FirOpBuilder&, SymMap&, llvm::SetVector<const Fortran::semantics::Symbol*>&, llvm::SmallSet<const Fortran::semantics::Symbol*, 16>&, const Fortran::semantics::Symbol*, OperandsStructType*)’:
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:666:38: warning: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  666 |                                    ? converter.shallowLookupSymbol(*sym)
      |                                      ^~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:667:38: warning: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  667 |                                    : converter.lookupOneLevelUpSymbol(*sym);
      |                                      ^~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:683:7: error: there are no arguments to ‘TODO’ that depend on a template parameter, so a declaration of ‘TODO’ must be available [-fpermissive]
  683 |       TODO(symLoc, "create polymorphic host associated copy");
      |       ^~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:683:7: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:691:5: error: ‘hlfir’ has not been declared
  691 |     hlfir::Entity entity{hsb.getAddr()};
      |     ^~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:692:5: error: ‘entity’ was not declared in this scope
  692 |     entity = genVariableBox(symLoc, firOpBuilder, entity);
      |     ^~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:692:14: error: there are no arguments to ‘genVariableBox’ that depend on a template parameter, so a declaration of ‘genVariableBox’ must be available [-fpermissive]
  692 |     entity = genVariableBox(symLoc, firOpBuilder, entity);
      |              ^~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp: In lambda function:
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:712:20: warning: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  712 |         allocType, converter.getKindMap(),
      |                    ^~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:713:9: warning: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  713 |         converter.mangleName(*sym) +
      |         ^~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:724:48: error: ‘omp’ is not a member of ‘mlir’; did you mean ‘llvm::omp’?
  724 |     if constexpr (std::is_same_v<OpType, mlir::omp::PrivateClauseOp>) {
      |                                                ^~~
In file included from /usr/lib/llvm/21/include/llvm/Frontend/OpenMP/OMP.h:16,
                 from /var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Parser/parse-tree.h:29,
                 from /var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Semantics/tools.h:21,
                 from /var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/Support/Utils.h:19:
/usr/lib/llvm/21/include/llvm/Frontend/OpenMP/OMP.h.inc:12:11: note: ‘llvm::omp’ declared here
   12 | namespace omp {
      |           ^~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:724:68: error: template argument 2 is invalid
  724 |     if constexpr (std::is_same_v<OpType, mlir::omp::PrivateClauseOp>) {
      |                                                                    ^
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:724:69: error: expected unqualified-id before ‘)’ token
  724 |     if constexpr (std::is_same_v<OpType, mlir::omp::PrivateClauseOp>) {
      |                                                                     ^
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:727:34: error: ‘mlir::omp’ has not been declared
  727 |           emitCopyRegion ? mlir::omp::DataSharingClauseType::FirstPrivate
      |                                  ^~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:728:34: error: ‘mlir::omp’ has not been declared
  728 |                          : mlir::omp::DataSharingClauseType::Private);
      |                                  ^~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:736:33: warning: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  736 |     fir::ExtendedValue symExV = converter.getSymbolExtendedValue(*sym);
      |                                 ^~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:747:26: error: ‘hasDefaultInitialization’ is not a member of ‘Fortran::lower’
  747 |         (Fortran::lower::hasDefaultInitialization(sym->GetUltimate()) &&
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:748:30: error: ‘hlfir’ has not been declared
  748 |          (!emitCopyRegion || hlfir::mayHaveAllocatableComponent(allocType))) ||
      |                              ^~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:752:30: warning: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  752 |       lower::SymbolBox hsb = converter.lookupOneLevelUpSymbol(
      |                              ^~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:756:7: error: ‘hlfir’ has not been declared
  756 |       hlfir::Entity entity{hsb.getAddr()};
      |       ^~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:758:12: error: ‘entity’ was not declared in this scope
  758 |           !entity.mayHaveNonDefaultLowerBounds();
      |            ^~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:813:50: error: ‘omp’ is not a member of ‘mlir’; did you mean ‘llvm::omp’?
  813 |       if constexpr (std::is_same_v<OpType, mlir::omp::PrivateClauseOp>) {
      |                                                  ^~~
/usr/lib/llvm/21/include/llvm/Frontend/OpenMP/OMP.h.inc:12:11: note: ‘llvm::omp’ declared here
   12 | namespace omp {
      |           ^~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:813:70: error: template argument 2 is invalid
  813 |       if constexpr (std::is_same_v<OpType, mlir::omp::PrivateClauseOp>) {
      |                                                                      ^
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:813:71: error: expected unqualified-id before ‘)’ token
  813 |       if constexpr (std::is_same_v<OpType, mlir::omp::PrivateClauseOp>) {
      |                                                                       ^
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:814:35: error: ‘omp’ is not a member of ‘mlir’; did you mean ‘llvm::omp’?
  814 |         firOpBuilder.create<mlir::omp::YieldOp>(
      |                                   ^~~
/usr/lib/llvm/21/include/llvm/Frontend/OpenMP/OMP.h.inc:12:11: note: ‘llvm::omp’ declared here
   12 | namespace omp {
      |           ^~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:814:22: error: parse error in template argument list
  814 |         firOpBuilder.create<mlir::omp::YieldOp>(
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp: At global scope:
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:840:23: error: ‘omp’ is not a member of ‘mlir’; did you mean ‘llvm::omp’?
  840 | privatizeSymbol<mlir::omp::PrivateClauseOp, mlir::omp::PrivateClauseOps>(
      |                       ^~~
/usr/lib/llvm/21/include/llvm/Frontend/OpenMP/OMP.h.inc:12:11: note: ‘llvm::omp’ declared here
   12 | namespace omp {
      |           ^~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:840:1: error: parse error in template argument list
  840 | privatizeSymbol<mlir::omp::PrivateClauseOp, mlir::omp::PrivateClauseOps>(
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:846:11: error: ‘mlir::omp’ has not been declared
  846 |     mlir::omp::PrivateClauseOps *clauseOps);
      |           ^~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:846:33: error: expected ‘,’ or ‘...’ before ‘*’ token
  846 |     mlir::omp::PrivateClauseOps *clauseOps);
      |                                 ^
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:840:1: error: template-id ‘privatizeSymbol<<expression error> >’ for ‘void Fortran::lower::privatizeSymbol(AbstractConverter&, fir::FirOpBuilder&, SymMap&, llvm::SetVector<const Fortran::semantics::Symbol*>&, llvm::SmallSet<const Fortran::semantics::Symbol*, 16>&, const Fortran::semantics::Symbol*, int)’ does not match any template declaration
  840 | privatizeSymbol<mlir::omp::PrivateClauseOp, mlir::omp::PrivateClauseOps>(
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:647:6: note: candidate is: ‘template<class OpType, class OperandsStructType> void Fortran::lower::privatizeSymbol(AbstractConverter&, fir::FirOpBuilder&, SymMap&, llvm::SetVector<const Fortran::semantics::Symbol*>&, llvm::SmallSet<const Fortran::semantics::Symbol*, 16>&, const Fortran::semantics::Symbol*, OperandsStructType*)’
  647 | void privatizeSymbol(
      |      ^~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp: In instantiation of ‘void Fortran::lower::privatizeSymbol(AbstractConverter&, fir::FirOpBuilder&, SymMap&, llvm::SetVector<const Fortran::semantics::Symbol*>&, llvm::SmallSet<const Fortran::semantics::Symbol*, 16>&, const Fortran::semantics::Symbol*, OperandsStructType*) [with OpType = fir::LocalitySpecifierOp; OperandsStructType = fir::LocalitySpecifierOperands]’:
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:855:46:   required from here
  855 |     fir::LocalitySpecifierOperands *clauseOps);
      |                                              ^
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:666:48: error: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  666 |                                    ? converter.shallowLookupSymbol(*sym)
      |                                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:667:48: error: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  667 |                                    : converter.lookupOneLevelUpSymbol(*sym);
      |                                      ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:683:11: error: ‘TODO’ was not declared in this scope
  683 |       TODO(symLoc, "create polymorphic host associated copy");
      |       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:712:30: error: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  712 |         allocType, converter.getKindMap(),
      |                    ~~~~~~~~~~^~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:713:19: error: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  713 |         converter.mangleName(*sym) +
      |         ~~~~~~~~~~^~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:736:43: error: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  736 |     fir::ExtendedValue symExV = converter.getSymbolExtendedValue(*sym);
      |                                 ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/lib/Lower/Support/Utils.cpp:752:40: error: invalid use of incomplete type ‘class Fortran::lower::AbstractConverter’
  752 |       lower::SymbolBox hsb = converter.lookupOneLevelUpSymbol(
      |                              ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang/include/flang/Lower/IterationSpace.h:38:7: note: forward declaration of ‘class Fortran::lower::AbstractConverter’
   38 | class AbstractConverter;
      |       ^~~~~~~~~~~~~~~~~

Copy link

github-actions bot commented Jun 6, 2025

✅ With the latest revision this PR passed the C/C++ code formatter.

@mgorny mgorny merged commit 23d0c73 into llvm:main Jun 7, 2025
7 checks passed
@mgorny
Copy link
Member Author

mgorny commented Jun 7, 2025

Thanks!

rorth pushed a commit to rorth/llvm-project that referenced this pull request Jun 11, 2025
)

Fixes the build failure due to missing includes introduced in
f8dcb05.
DhruvSrivastavaX pushed a commit to DhruvSrivastavaX/lldb-for-aix that referenced this pull request Jun 12, 2025
)

Fixes the build failure due to missing includes introduced in
f8dcb05.
tomtor pushed a commit to tomtor/llvm-project that referenced this pull request Jun 14, 2025
)

Fixes the build failure due to missing includes introduced in
f8dcb05.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flang:fir-hlfir flang Flang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants