-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Description
Bugzilla Link | 45579 |
Resolution | FIXED |
Resolved on | Jun 26, 2020 13:51 |
Version | 10.0 |
OS | FreeBSD |
Blocks | #44654 |
CC | @adalava,@topperc,@DimitryAndric,@RKSimon,@tstellar |
Fixed by commit(s) | 3906ae3 76ceebb |
Extended Description
FreeBSD head, LLVM 10.0.0, powerpc, powerpcspe and powerpc64 architectures
Reduced test case:
double a(double);
template class b;
template <typename c, typename i> void operator==(i &, c);
template <> class b {
public:
b(double = 0.0);
};
b d;
double e;
template <class f, class g> void h(f m, g) {
b j;
m == d;
double k = a(0);
j = e / 2 + (m - .5) * k - m;
}
double l() { h(.5, 0); }
Compile with:
/usr/bin/c++ -cc1 -triple powerpc-unknown-freebsd13.0 -emit-obj -ffast-math -O1 -fgnuc-version=4.2.1 Lgamma-106832.cpp
Result:
Unknown code
UNREACHABLE executed at /usr/src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:5726!
Stack dump:
0. Program arguments: /usr/bin/c++ -cc1 -triple powerpc-unknown-freebsd13.0 -emit-obj -ffast-math -O1 -fgnuc-version=4.2.1 Lgamma-106832.cpp
-
<eof> parser at end of file
-
Code generation
-
Running pass 'Function Pass Manager' on module 'Lgamma-106832.cpp'.
-
Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@_Z1hIdiEvT_T0_'
#0 0x0000000013bada64 PrintStackTrace /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:564:13
#1 0x0000000013bab12c RunSignalHandlers /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:67:5
#2 0x0000000013bae86c SignalHandler /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:3
#3 0x0000000815734748 handle_signal /usr/src/lib/libthr/thread/thr_sig.c:303:3
Abort trap (core dumped)