Richard, as much as I don't like this, I'd like to move forward with this. 
While intercepting `math_errhandling` might allow us to pretend that the 
functions don't set errno (and it is not clear to me that we can really make 
the "C++" `math_errhandling` differ from the "C" `math_errhandling`), it does 
not address the fact that they actually do (and, thus, can cause miscompiles if 
they're reordered with calls to open(), etc.). I also recognize that this is 
somewhat self-inducing, because if we mark the functions as non-const, then 
they'll become real functions which are non-const, but if we mark them as 
const, then some of them are directly lowered, and thus really are const. The 
problem is marking calls as const which really aren't -- and some of these 
functions are never directly handled by the backends.

>>! In D3806#16, @mcrosier wrote:
> Rebase, per Hal's request.

Thanks! We, however, need a test case.

http://reviews.llvm.org/D3806



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to