| Summary: | devel/folly: clang 8 crashes during build | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Jan Beich <jbeich> | ||||||
| Component: | bin | Assignee: | freebsd-toolchain (Nobody) <toolchain> | ||||||
| Status: | Closed Overcome By Events | ||||||||
| Severity: | Affects Only Me | CC: | dim, markj, yuri | ||||||
| Priority: | --- | Keywords: | needs-qa | ||||||
| Version: | CURRENT | ||||||||
| Hardware: | Any | ||||||||
| OS: | Any | ||||||||
| Attachments: |
|
||||||||
|
Description
Jan Beich
2019-06-16 12:31:01 UTC
Created attachment 205117 [details]
command line args (for clang 8)
I can reproduce, and am investigating. It is some C++17 feature that goes awry.
Reduced to:
// clang -cc1 -triple x86_64-- -S -std=c++17 RecordIO-min.cpp
// Assertion failed: (!Init->isValueDependent()), function checkInitIsICE,
// file tools/clang/lib/AST/Decl.cpp, line 2342.
template <int> struct a;
template <class b, class> struct c {
static constexpr int f = b ::d;
c(a<f>);
};
template <class e, class g = int> c(e)->c<e, g>;
Looks like this might be OBE? The LLVM PR[1] is still open, but devel/folly apparently builds with more recent versions of LLVM. [1] https://bugs.llvm.org/show_bug.cgi?id=42338 This got fixed only in clang 9.0, but the change was rather too big to backport to 8.0. Since we still have 8.0 in 12.1-R, we should close this bug after it expires, e.g. 2021-01-31. 12.1-RELEASE expires 2021-01-31. |