[PATCH] These builtin functions set errno. Mark them accordingly.
hfinkel at anl.gov
hfinkel at anl.gov
Tue Dec 9 12:18:32 PST 2014
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
More information about the cfe-commits
mailing list