Is there some place I can browse clang's implemented intrinsics and their precise syntax and semantics?
I'm currently trying to make sure the libc++ <type_traits> takes advantage of everything it can, such as the newly implemented __is_convertible_to and __is_base_of.
Here's a list of intrinsics that I wish were documented but aren't. I'd document them myself, but it would be too easy for me to make incorrect assumptions about corner cases.
On a closely related note (and just fyi), the following paper is being prepared for the next meeting involving the constructor/assignment traits. This is still an early draft, though the proposed wording section is relatively mature:
The intention of all type trait intrinsics is to directly implement the corresponding standard library type trait. Any divergence is a bug in our implementation. Do any of these traits not have a corresponding type trait? If so, then another consideration is whether we actually want that intrinsic.
This lists the traits we need for the std::lib, and compares it with the traits clang currently supplies. Some of the supplied traits are absolutely necessary, some are useful, others are unneeded, and some desperately needed traits are missing.
The missing traits are by no means the fault of the clang dev team. This list of traits reflects a traits-adjustment paper just voted in last week: