[PATCH] D94228: [flang][driver] Support fixed form detection

Andrzej Warzynski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 19 06:23:04 PST 2021


awarzynski added a comment.

Sadly, this patch is causing shared library builds to fail: http://lab.llvm.org:8011/#/builders/134/builds/1234

  FAILED: lib/libflangFrontend.so.12git 
  : && /usr/local/bin/c++ -fPIC -fPIC -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-class-memaccess -Wno-redundant-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -fno-strict-aliasing -fno-semantic-interposition -O3  -fno-semantic-interposition  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/tcwg-buildslave/worker/flang-aarch64-ubuntu-sharedlibs/build/./lib  -Wl,-O3 -Wl,--gc-sections -shared -Wl,-soname,libflangFrontend.so.12git -o lib/libflangFrontend.so.12git tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/CompilerInstance.cpp.o tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/CompilerInvocation.cpp.o tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/FrontendAction.cpp.o tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/FrontendActions.cpp.o tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/FrontendOptions.cpp.o tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/TextDiagnosticPrinter.cpp.o tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/TextDiagnosticBuffer.cpp.o tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/TextDiagnostic.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib"  lib/libFortranSemantics.so.12git  lib/libclangDriver.so.12git  lib/libLLVMOption.so.12git  lib/libFortranParser.so.12git  lib/libFortranCommon.so.12git  lib/libclangBasic.so.12git  lib/libLLVMSupport.so.12git  -Wl,-rpath-link,/home/tcwg-buildslave/worker/flang-aarch64-ubuntu-sharedlibs/build/lib && :
  tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/FrontendAction.cpp.o: In function `Fortran::frontend::FrontendAction::Execute()':
  FrontendAction.cpp:(.text._ZN7Fortran8frontend14FrontendAction7ExecuteEv+0x38c): undefined reference to `Fortran::frontend::isFixedFormSuffix(llvm::StringRef)'
  tools/flang/lib/Frontend/CMakeFiles/obj.flangFrontend.dir/FrontendOptions.cpp.o: In function `Fortran::frontend::FrontendOptions::GetInputKindForExtension(llvm::StringRef)':
  FrontendOptions.cpp:(.text._ZN7Fortran8frontend15FrontendOptions24GetInputKindForExtensionEN4llvm9StringRefE+0x14): undefined reference to `Fortran::frontend::isFixedFormSuffix(llvm::StringRef)'
  FrontendOptions.cpp:(.text._ZN7Fortran8frontend15FrontendOptions24GetInputKindForExtensionEN4llvm9StringRefE+0x38): undefined reference to `Fortran::frontend::isFreeFormSuffix(llvm::StringRef)'
  collect2: error: ld returned 1 exit status

I'm guessing that's because `isFixedFormSuffix` and `isFreeFormSuffix` are implemented in `flangFrontendTool`, but used in `flangFrontend`. However, `flangFrontendTool` depends on `flangFrontend`: CmakeLists.tx <https://github.com/llvm/llvm-project/blob/ceb3cdccd0fb597659147e0f538fdee91414541e/flang/lib/FrontendTool/CMakeLists.txt#L1-L15>. So basically it's a circular dependency.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94228/new/

https://reviews.llvm.org/D94228



More information about the llvm-commits mailing list