Someone was trying out my example plugin <https://github.com/chisophugis/clang_plugin_example> and kept running into a weird assertion failure when running clang with the plugin, but when running just clang the assertion was not triggered. The problem occurred in include/c++/4.2.1/limits:986
, but he was able to reduce it to the following testcase:
limit_test.cpp <<EOF
#include “limit_test.hpp”
int main() {}
EOF
limit_test.hpp <<EOF
float min() { return FLT_MIN; }
EOF
Here is a paste of the stack dump http://pastie.org/3587034
It seems like the constant FLT_MIN (i.e. 1.17549435e-38F
) is to blame, somehow causing the semantics
of the APFloat to get an impossible value. He’s using a recent trunk (r151926).
Does this sound familiar to anyone? Any suggestions? I can’t seem to repro this on my computer.
–Sean Silva