Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

clang crashes on FreeBSD on the 'folly' project #41308

Open Quuxplusone opened 5 years ago

Quuxplusone commented 5 years ago
Bugzilla Link PR42338
Status NEW
Importance P enhancement
Reported by Yuri (yuri@tsoft.com)
Reported on 2019-06-19 22:17:51 -0700
Last modified on 2019-06-20 00:37:16 -0700
Version 8.0
Hardware PC FreeBSD
CC blitzrakete@gmail.com, dgregor@apple.com, dimitry@andric.com, erik.pilkington@gmail.com, llvm-bugs@lists.llvm.org, richard-llvm@metafoo.co.uk
Fixed by commit(s)
Attachments crash-cases.tar.xz (451020 bytes, application/x-xz)
Blocks
Blocked by
See also

https://github.com/facebook/folly

Quuxplusone commented 5 years ago

Attached crash-cases.tar.xz (451020 bytes, application/x-xz): crash-cases.tar.xz

Quuxplusone commented 5 years ago
Yeah, I added a comment about this to https://reviews.llvm.org/rC363086.
Reduced test case (which asserts with 8.0.0 and 8.0.1, but not trunk after
r363086):

// 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>;

The question is whether it is feasible to backport the whole of r363086, which
is fairly disruptive, or if there is another, smaller fix.