[llvm] [clang] [clang, SystemZ] Pass HasDef flag to getMinGlobalAlign(). (PR #73511)

Jonas Paulsson via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 19 11:53:23 PST 2023


JonPsson1 wrote:

Patch updated to handle weak symbols as well, by passing the VarDecl to getMinGlobalAlign() so that the SystemZ implementation of it can inspect the VD.

Clang builds fine and it seems to be working, but I however find that the tests don't build anymore and not sure exactly what is the best way forward here. I get:

```
ninja check-clang
[2/201] Linking CXX executable tools/clang/unittests/Basic/BasicTests
FAILED: tools/clang/unittests/Basic/BasicTests 
: && /home/ijonpan/gcc-latest/bin/g++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -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 -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3 -DNDEBUG -Wl,--gc-sections tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/CharInfoTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/DarwinSDKInfoTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/DiagnosticTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/FileEntryTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/FileManagerTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/LineOffsetMappingTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/SanitizersTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/SarifTest.cpp.o tools/clang/unittests/Basic/CMakeFiles/BasicTests.dir/SourceManagerTest.cpp.o -o tools/clang/unittests/Basic/BasicTests  lib/libLLVMSupport.a  lib/libLLVMSupport.a  lib/libllvm_gtest_main.a  lib/libllvm_gtest.a  lib/libclangBasic.a  lib/libclangLex.a  lib/libLLVMTestingSupport.a  lib/libclangBasic.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMTransformUtils.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMObject.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMAsmParser.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMTextAPI.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libllvm_gtest.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so  /usr/lib64/libtinfo.so  lib/libLLVMDemangle.a  -lpthread && :
/usr/bin/ld: lib/libclangBasic.a(SystemZ.cpp.o): in function `clang::targets::SystemZTargetInfo::getMinGlobalAlign(unsigned long, clang::VarDecl const*) const':
SystemZ.cpp:(.text._ZNK5clang7targets17SystemZTargetInfo17getMinGlobalAlignEmPKNS_7VarDeclE+0x28): undefined reference to `clang::Decl::getASTContext() const'
/usr/bin/ld: SystemZ.cpp:(.text._ZNK5clang7targets17SystemZTargetInfo17getMinGlobalAlignEmPKNS_7VarDeclE+0x36): undefined reference to `clang::VarDecl::hasDefinition(clang::ASTContext&) const'
/usr/bin/ld: SystemZ.cpp:(.text._ZNK5clang7targets17SystemZTargetInfo17getMinGlobalAlignEmPKNS_7VarDeclE+0x5e): undefined reference to `clang::ValueDecl::isWeak() const'
collect2: error: ld returned 1 exit status
```


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


More information about the cfe-commits mailing list