mclow.lists added a comment.

In, @jlebar wrote:

> Likewise, should I update the documentation to indicate that check-cxx may 
> fail with a clang built from tip of tree, due to c++17 support being 
> experimental?  Or do you all want to change the target so that it doesn't run 
> the c++17 tests by default?  This burned about an hour of developer time 
> yesterday, I guess because we couldn't believe that check-cxx would be 
> intentionally broken like that, so it would be nice to have some sort of fix.

Yesterday and today is the first time in a while that clang has been seriously 
broken for more than an hour or so.
I'm not inclined to worry about it yet.

>> I don't see how this can possibly be constexpr.
>>  it calls isfinite(), which is hoisted from ::isfinite(), which comes from 
>> the C library.
>>  Since C knows nothing about constexpr, we're stuck.
> Functions that call non-constexpr things can be marked constexpr; you just 
> can't evaluate them in a constexpr context (as you demonstrated).
> All I need is for the function to be marked as constexpr; I do not need the 
> function be constexpr-evaluatable.

Then what's the point? How can you test if it is correct?

> I think the implications of this change would be that, if you evaluated this 
> function in a constexpr context, before the change would be a compile error 
> when calling __libcpp_isnan, and after this change it would be a compile 
> error at calling ::isnan.  Since the function should not be called outside of 
> libc++ anyway, I was hoping that wouldn't make a difference to anyone.

I guess I don't understand the motivation for this change.

cfe-commits mailing list

Reply via email to