Merge branch '11' of salsa.debian.org:pkg-llvm-team/llvm-toolchain into 11

This commit is contained in:
Sylvestre Ledru 2020-10-17 10:06:08 +02:00
commit 8d28ad6c57
4 changed files with 201 additions and 29 deletions

42
debian/changelog vendored
View File

@ -1,3 +1,41 @@
llvm-toolchain-11 (1:11.0.0-2) unstable; urgency=medium
* Fix a clang-format issue. Fix bug #47589
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 12 Oct 2020 15:15:27 +0200
llvm-toolchain-11 (1:11.0.0-1) unstable; urgency=medium
* New upstream release
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 12 Oct 2020 11:14:19 +0200
llvm-toolchain-11 (1:11.0.0~+rc6-1) unstable; urgency=medium
[ Sylvestre Ledru ]
* New rc release
* remove all artifacts after tests
[ Gianfranco Costamagna ]
* qualify-clang.sh: exclude z3 tests when support is not available,
not based on libz3-dev installation but on the error returned by
clang invocation
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 07 Oct 2020 16:38:40 +0200
llvm-toolchain-11 (1:11.0.0~+rc5-1) unstable; urgency=medium
* New rc release
-- Sylvestre Ledru <sylvestre@debian.org> Wed, 30 Sep 2020 20:15:40 +0200
llvm-toolchain-11 (1:11.0.0~+rc4-1) unstable; urgency=medium
* New rc release
* Fix one more test in autopkgtest
-- Sylvestre Ledru <sylvestre@debian.org> Mon, 28 Sep 2020 22:21:47 +0200
llvm-toolchain-11 (1:11.0.0~+rc3-2) unstable; urgency=medium
* Update of the symbol list of libomp5:
@ -16,10 +54,6 @@ llvm-toolchain-11 (1:11.0.0~+rc3-2) unstable; urgency=medium
clang (LLVM option parsing): Unknown command line argument '-polly'.
Try: 'clang (LLVM option parsing) --help'
Also found in autopkgtest
* Bring back LLVM_POLLY_LINK_INTO_TOOLS=ON to workaround the error
clang (LLVM option parsing): Unknown command line argument '-polly'.
Try: 'clang (LLVM option parsing) --help'
Fix autopkgtest
* In the autopkgtest tests, update the opt arguments (-q removed and
-basicaa renamed to -basic-aa)
* Disable test executions on mipsel (timeout)

View File

@ -0,0 +1,148 @@
From 05860350084abdae30dfbd2181452d1b87dca3b4 Mon Sep 17 00:00:00 2001
From: Sylvestre Ledru <sylvestre@debian.org>
Date: Mon, 12 Oct 2020 18:47:30 +0200
Subject: [PATCH] Revert "[clang-format] Fix AlignConsecutive on PP blocks"
This reverts commit b2eb439317576ce718193763c12bff9fccdfc166.
---
clang/lib/Format/FormatToken.h | 6 -----
clang/lib/Format/UnwrappedLineParser.cpp | 2 --
clang/lib/Format/WhitespaceManager.cpp | 10 +++-----
clang/unittests/Format/FormatTest.cpp | 23 -------------------
clang/unittests/Format/FormatTestComments.cpp | 21 -----------------
5 files changed, 3 insertions(+), 59 deletions(-)
diff --git a/clang/lib/Format/FormatToken.h b/clang/lib/Format/FormatToken.h
index d4287f53fde..b132a3e84da 100644
--- a/clang/lib/Format/FormatToken.h
+++ b/clang/lib/Format/FormatToken.h
@@ -183,12 +183,6 @@ struct FormatToken {
/// before the token.
bool MustBreakBefore = false;
- /// Whether to not align across this token
- ///
- /// This happens for example when a preprocessor directive ended directly
- /// before the token, but very rarely otherwise.
- bool MustBreakAlignBefore = false;
-
/// The raw text of the token.
///
/// Contains the raw token text without leading whitespace and without leading
diff --git a/clang/lib/Format/UnwrappedLineParser.cpp b/clang/lib/Format/UnwrappedLineParser.cpp
index a37386425aa..ea8a41cfba8 100644
--- a/clang/lib/Format/UnwrappedLineParser.cpp
+++ b/clang/lib/Format/UnwrappedLineParser.cpp
@@ -3037,7 +3037,6 @@ void UnwrappedLineParser::readToken(int LevelDifference) {
}
FormatTok = Tokens->getNextToken();
FormatTok->MustBreakBefore = true;
- FormatTok->MustBreakAlignBefore = true;
}
if (!PPStack.empty() && (PPStack.back().Kind == PP_Unreachable) &&
@@ -3062,7 +3061,6 @@ void UnwrappedLineParser::pushToken(FormatToken *Tok) {
Line->Tokens.push_back(UnwrappedLineNode(Tok));
if (MustBreakBeforeNextToken) {
Line->Tokens.back().Tok->MustBreakBefore = true;
- Line->Tokens.back().Tok->MustBreakAlignBefore = true;
MustBreakBeforeNextToken = false;
}
}
diff --git a/clang/lib/Format/WhitespaceManager.cpp b/clang/lib/Format/WhitespaceManager.cpp
index 32e0b685ea0..3a265bd0916 100644
--- a/clang/lib/Format/WhitespaceManager.cpp
+++ b/clang/lib/Format/WhitespaceManager.cpp
@@ -411,11 +411,9 @@ static unsigned AlignTokens(const FormatStyle &Style, F &&Matches,
if (Changes[i].NewlinesBefore != 0) {
CommasBeforeMatch = 0;
EndOfSequence = i;
- // If there is a blank line, there is a forced-align-break (eg,
- // preprocessor), or if the last line didn't contain any matching token,
- // the sequence ends here.
- if (Changes[i].NewlinesBefore > 1 ||
- Changes[i].Tok->MustBreakAlignBefore || !FoundMatchOnLine)
+ // If there is a blank line, or if the last line didn't contain any
+ // matching token, the sequence ends here.
+ if (Changes[i].NewlinesBefore > 1 || !FoundMatchOnLine)
AlignCurrentSequence();
FoundMatchOnLine = false;
@@ -726,8 +724,6 @@ void WhitespaceManager::alignTrailingComments() {
if (Changes[i].StartOfBlockComment)
continue;
Newlines += Changes[i].NewlinesBefore;
- if (Changes[i].Tok->MustBreakAlignBefore)
- BreakBeforeNext = true;
if (!Changes[i].IsTrailingComment)
continue;
diff --git a/clang/unittests/Format/FormatTest.cpp b/clang/unittests/Format/FormatTest.cpp
index 17d302f0b65..7e4d1fca509 100644
--- a/clang/unittests/Format/FormatTest.cpp
+++ b/clang/unittests/Format/FormatTest.cpp
@@ -11968,29 +11968,6 @@ TEST_F(FormatTest, AlignConsecutiveAssignments) {
verifyFormat("int oneTwoThree = 123; // comment\n"
"int oneTwo = 12; // comment",
Alignment);
-
- // Bug 25167
- verifyFormat("#if A\n"
- "#else\n"
- "int aaaaaaaa = 12;\n"
- "#endif\n"
- "#if B\n"
- "#else\n"
- "int a = 12;\n"
- "#endif\n",
- Alignment);
- verifyFormat("enum foo {\n"
- "#if A\n"
- "#else\n"
- " aaaaaaaa = 12;\n"
- "#endif\n"
- "#if B\n"
- "#else\n"
- " a = 12;\n"
- "#endif\n"
- "};\n",
- Alignment);
-
EXPECT_EQ("int a = 5;\n"
"\n"
"int oneTwoThree = 123;",
diff --git a/clang/unittests/Format/FormatTestComments.cpp b/clang/unittests/Format/FormatTestComments.cpp
index 47509f29744..d5b9f8e0885 100644
--- a/clang/unittests/Format/FormatTestComments.cpp
+++ b/clang/unittests/Format/FormatTestComments.cpp
@@ -2780,27 +2780,6 @@ TEST_F(FormatTestComments, AlignTrailingComments) {
" // line 2 about b\n"
" long b;",
getLLVMStyleWithColumns(80)));
-
- // Checks an edge case in preprocessor handling.
- // These comments should *not* be aligned
- EXPECT_EQ(
- "#if FOO\n"
- "#else\n"
- "long a; // Line about a\n"
- "#endif\n"
- "#if BAR\n"
- "#else\n"
- "long b_long_name; // Line about b\n"
- "#endif\n",
- format("#if FOO\n"
- "#else\n"
- "long a; // Line about a\n" // Previous (bad) behavior
- "#endif\n"
- "#if BAR\n"
- "#else\n"
- "long b_long_name; // Line about b\n"
- "#endif\n",
- getLLVMStyleWithColumns(80)));
}
TEST_F(FormatTestComments, AlignsBlockCommentDecorations) {
--
2.28.0

11
debian/patches/series vendored
View File

@ -136,12 +136,5 @@ disable-fuzzer-compiler-rt-x86.diff
python3-shebang.patch
print-lldb-path.patch
no-cgi.patch
0001-systemz-allow-configuring-default-SYSTEMZ_DEFAULT_AR.patch
ubuntu-groovy.diff
clang_vendor_pass_stage2.diff
remove-trailing-space-version.diff
mips-force-nomadd4.patch
PowerPC-PPCBoolRetToInt-Dont-translate-Constants-operands.diff
libcxx-armhf-ftbfs.diff
fix-clang-format-bug-47589.patch

View File

@ -345,7 +345,7 @@ if test $NBLINES -lt 100; then
exit 42
fi
if [ $DEB_HOST_ARCH != "arm64" -a $DEB_HOST_ARCH != "ppc64el" ]; then
if [ $DEB_HOST_ARCH == "amd64" -o $DEB_HOST_ARCH == "i386" ]; then
# Fails on arm64 with
# /usr/lib/llvm-10/lib/clang/10.0.0/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
echo '#include <emmintrin.h>' > foo.cc
@ -385,9 +385,16 @@ void testBitwiseRules(unsigned int a, int b) {
clang_analyzer_eval((b | -2) >= 0); // expected-warning{{FALSE}}
}
' > foo.c
if dpkg -l|grep -q libz3-dev; then
# Should work
clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 foo.c &> foo.log
if ! grep -q "LLVM was not compiled with Z3 support" foo.log; then
# Should work
clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -verify -analyzer-config eagerly-assume=false -analyzer-constraints=z3 foo.c
clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 foo.c &> foo.log
if ! grep -q "2 warnings generated." foo.log; then
echo "Should find 2 warnings"
exit 1
fi
else
echo "z3 support not available"
fi
@ -399,16 +406,6 @@ if grep -q "File a.c Line 7: UNKNOWN" foo.log; then
exit 1
fi
if dpkg -l|grep -q libz3-dev; then
clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection -analyzer-constraints=z3 foo.c &> foo.log
if ! grep -q "2 warnings generated." foo.log; then
echo "Should find 2 warnings"
exit 1
fi
else
echo "z3 support not available"
fi
clang-$VERSION -cc1 -analyze -analyzer-constraints=range -analyzer-checker=core,debug.ExprInspection foo.c &> foo.log
if ! grep -q "warnings generated." foo.log; then
echo "Should find at least 2 warnings"
@ -814,7 +811,7 @@ if ! grep "No such file or directory" foo.log; then
if ! ./a.out 2>&1 | grep -q -E "(Test unit written|PreferSmall)"; then
echo "fuzzer. Output:"
./a.out || true
if [ $DEB_HOST_ARCH != "arm64" -a $DEB_HOST_ARCH != "ppc64el" ]; then
if [ $DEB_HOST_ARCH == "amd64" -o $DEB_HOST_ARCH == "i386" ]; then
# Don't fail on arm64 and ppc64el
exit 42
fi
@ -1123,7 +1120,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-10/lib/libLLVM-10.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/ `llvm-config-$VERSION --cxxflags --ldflags --libs all`
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/ `llvm-config-$VERSION --cxxflags --ldflags --libs all`
if test ! -f /usr/bin/lldb-$VERSION; then
echo "Install lldb-$VERSION";
@ -1341,6 +1338,6 @@ fi
#clean up
rm -f a.out bar crash-* foo foo.* lldb-cmd.txt main.* test_fuzzer.cc foo.* o
rm -rf output matmul.* *profraw opt.ll
rm -rf output matmul.* *profraw opt.ll a.json default.profdata test
echo "Completed"