<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 8 July 2017 at 06:16, Katsuhiko Nishimra <span dir="ltr"><<a href="mailto:ktns.87@gmail.com" target="_blank">ktns.87@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Fri, Jul 07, 2017 at 12:50:24PM -0700, Richard Smith wrote:<br>
> __has_builtin detects builtin functions. __is_aggregate is not a builtin<br>
> function -- it's not a function at all, since it takes a type, not a value.<br>
> But if libstdc++7 is assuming that __has_builtin can be used to detect type<br>
> trait keywords, perhaps we should make it so; it's not unreasonable to<br>
> expect it to be usable for this purpose.<br>
<br>
</span>I see. Sorry to have misunderstood.<br>
<span class="">><br>
> Would you be interested in providing a patch to Clang to implement this?<br>
<br>
</span>I don't know much about Clang's codebase, so I think it's better to send<br>
one to libstdc++. But how can I detect if __is_aggregate macro is<br>
usable? I've tried #ifdef directive but with no luck.<br>
</blockquote></div><br></div><div class="gmail_extra">I think !__is_identifier(__is_aggregate) is the only way we have to detect this right now.</div></div>