The build failure looks like: """ [ 0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.o In file included from /tmp/portage/dev-lang/rust-1.41.0/work/rustc-1.41.0-src/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangle.h:13, from /tmp/portage/dev-lang/rust-1.41.0/work/rustc-1.41.0-src/src/llvm-project/llvm/lib/Demangle/MicrosoftDemangle.cpp:16: /tmp/portage/dev-lang/rust-1.41.0/work/rustc-1.41.0-src/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h:33:6: error: use of enum 'Qualifiers' without previous declaration 33 | enum Qualifiers : uint8_t { | ^~~~~~~~~~ /tmp/portage/dev-lang/rust-1.41.0/work/rustc-1.41.0-src/src/llvm-project/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h:33:17: error: expected unqualified-id before ':' token 33 | enum Qualifiers : uint8_t { | ^ """ The fix is already upstream: https://github.com/llvm/llvm-project/commit/b288d90b39f4b905c02092a9bfcfd6d78f99b191.patch and is very simple: --- a/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h +++ b/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h @@ -16,6 +16,8 @@ #include "llvm/Demangle/DemangleConfig.h" #include "llvm/Demangle/StringView.h" #include <array> +#include <cstdint> +#include <string> namespace llvm { namespace itanium_demangle {
Created attachment 611764 [details] dev-lang:rust-1.41.0:20200205-073029.log.xz
thanks for the pointer to the patch =) I don't have gcc10 chroots/systems yet, and this is only relevant for users not using system-llvm, tested on gcc-9, all fine. I'll commit the patch to 1.41 for now, but likely other versions are affected as well, because they bundle llvm-9 (with some cherry picks) probably they should cherry pick this as well, not sure when rebase on 10 gonna happen.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aab36ad45d07887af2a9e110f57762f7c3bbdcbb commit aab36ad45d07887af2a9e110f57762f7c3bbdcbb Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2020-02-05 08:50:31 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2020-02-05 09:00:51 +0000 dev-lang/rust: fix build of bundled llvm with gcc10 Bug: https://bugs.gentoo.org/708320 Package-Manager: Portage-2.3.87, Repoman-2.3.20 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-lang/rust/files/llvm-gcc10.patch | 34 ++++++++++++++++++++++++++++++++++ dev-lang/rust/rust-1.41.0.ebuild | 1 + 2 files changed, 35 insertions(+)
they already have it in their nightly/current rust submodule https://github.com/rust-lang/llvm-project/commit/98b1752888c0282bf5504b67484b92d8d069f1b8 so all good from upstream side.
The patch seems to be present in =dev-lang/rust-1.41.1
can't see it in 1.41.1 we still patch the source and it applies. here's the changeset https://github.com/rust-lang/rust/compare/1.41.0...1.41.1 llvm-submodule changeset does not include this patch
as for this bug, I'll close it as affected versions are gone. we need to stabilize 1.41.1 first and clean up everything below second.
Oh, I see. I've missed #comment3. My apologies for the confusion.
no problem. with 1.42.0 upstream included the patch. I'll do a cleanup of everything below 1.41.1 in a week or two.
Probably fixed. I haven't seen build failures recently.
yeah, closing. old versions are gone, new versions have fix. thanks for reminder.