[PATCH] D135339: [clang] makes `__is_destructible` KEYCXX instead of KEYMS

Christopher Di Bella via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 6 09:39:02 PDT 2022


cjdb added a comment.

In D135339#3840406 <https://reviews.llvm.org/D135339#3840406>, @erichkeane wrote:

> In D135339#3840323 <https://reviews.llvm.org/D135339#3840323>, @cjdb wrote:
>
>> In D135339#3839876 <https://reviews.llvm.org/D135339#3839876>, @erichkeane wrote:
>>
>>> This doesn't cause us to lose this in Microsoft C mode, does it?  Otherwise, LGTM.
>>
>> Why is destructibility necessary in C?
>
> It isn't particularly?  But I don't want to change our behavior and break code if:
>
>   // foo.h
>   struct S{};
>   bool get_thing() {
>   return __is_destructible(S);
>   }
>
> someone runs that in C mode, expecting it to work.

Right, I can add a C test if it passed in C mode before. Do you want that in a separate file, or can I get away with doing it in `type-traits-ms.cpp`?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135339/new/

https://reviews.llvm.org/D135339



More information about the cfe-commits mailing list