diff --git a/debian/changelog b/debian/changelog index f474c6c8..14f225f9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -143,6 +143,21 @@ llvm-toolchain-snapshot (1:14~++20210715093511+afc760ef3527-1~exp2) unstable; ur -- Sylvestre Ledru Fri, 06 Aug 2021 08:40:58 +0200 +llvm-toolchain-13 (1:13.0.0-2) unstable; urgency=medium + + * Fix the libclang detection in cmake + (Closes: #994827) + * Adjust the testsuite after various changes + (rpass, libclang, polly lib, etc) + + -- Sylvestre Ledru Sun, 03 Oct 2021 22:38:18 +0200 + +llvm-toolchain-13 (1:13.0.0-1) unstable; urgency=medium + + * New upstream release + + -- Sylvestre Ledru Fri, 01 Oct 2021 09:08:08 +0200 + llvm-toolchain-13 (1:13.0.0~+rc4-1) unstable; urgency=medium * New testing release diff --git a/debian/qualify-clang.sh b/debian/qualify-clang.sh index c987bbb3..e3bc64da 100755 --- a/debian/qualify-clang.sh +++ b/debian/qualify-clang.sh @@ -1250,9 +1250,18 @@ fi echo " int foo(int x, int y) __attribute__((always_inline)); int foo(int x, int y) { return x + y; } -int bar(int j) { return foo(j, j - 2); }" > foo.cc +int bar(int j) { return foo(j, j - 2); } +int sum = 0; + +int main(int argc, const char *argv[]) { + for (int i = 0; i < 30; i++) + bar(argc); + return sum; +} + +" > foo.cc clang-$VERSION -O2 -Rpass=inline foo.cc -c &> foo.log -if ! grep -q "cost=always" foo.log; then +if ! grep -q -E "(inlined into main with|cost=always)" foo.log; then echo "-Rpass fails" cat foo.log exit 1 @@ -1283,7 +1292,7 @@ int main() { CodeGenOptions* cgOpts; TargetOptions* tOpts; LangOptions* lOpts; - llvm::DataLayout* tDesc; + llvm::StringRef* tDesc; llvm::Module* m; BackendAction* action; std::unique_ptr AsmOutStream; @@ -1291,7 +1300,7 @@ int main() { EmitBackendOutput(*diags, *hsOpts, *cgOpts, *tOpts, *lOpts, *tDesc, m, *action, std::move(AsmOutStream)); } EOF -clang++-$VERSION foo.cpp -o test -lclangBasic -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangBasic -ldl /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyPPCG -lPollyISL +clang++-$VERSION foo.cpp -o test -lclangBasic -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangCodeGen -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangFrontend -lclangDriver -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -lclangBasic -ldl /usr/lib/llvm-$VERSION/lib/libLLVM-$VERSION.so -lclangCodeGen -lclangDriver -lclangFrontend -lclangFrontendTool -lclangRewriteFrontend -lclangARCMigrate -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangCrossTU -lclangIndex -lclangParse -lclangSerialization -lclangSema -lclangAnalysis -lclangEdit -lclangFormat -lclangToolingInclusions -lclangToolingCore -lclangRewrite -lclangASTMatchers -lclangAST -lclangLex -ldl -I /usr/lib/llvm-$VERSION/include/ -L/usr/lib/llvm-$VERSION/lib/ -lPolly -lPollyISL if test ! -f /usr/bin/lldb-$VERSION; then echo "Install lldb-$VERSION"; @@ -1418,6 +1427,17 @@ mkdir cmaketest/foo/ rm -rf cmaketest +# Test case for bug #994827 +rm -rf cmaketest && mkdir cmaketest +cat > cmaketest/CMakeLists.txt < /dev/null) +rm -rf cmaketest CLANG=clang-$VERSION diff --git a/debian/rules b/debian/rules index 21fe17c6..bd11703f 100755 --- a/debian/rules +++ b/debian/rules @@ -708,6 +708,9 @@ endif # Disable CMake's package validation checks for binaries that may not be installed sed -i 's|.*_IMPORT_CHECK_FILES_FOR_.*/bin/.*)|#&|' $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-*.cmake +# Adjust to the existing symlink. See #994827 + sed -i "s|libclang-$(LLVM_VERSION).so.$(LLVM_VERSION).*\"|libclang-$(LLVM_VERSION).so.1\"|" $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/cmake/clang/ClangTargets-relwithdebinfo.cmake + # Managed in python*-lldb-X.Y.links.in rm -f $(DEB_INST)/usr/lib/llvm-$(LLVM_VERSION)/lib/python*/*-packages/lldb/_lldb.so