assertion failure with plugin, none without

Someone was trying out my example plugin <> 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() {}

limit_test.hpp <<EOF
float min() { return FLT_MIN; }


Here is a paste of the stack dump

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