[cfe-commits] [Patch] Implement compiler intrinsics for MSVC 2012 type_traits

Ryan Molden ryanmolden at gmail.com
Thu Jan 10 21:40:36 PST 2013


>
>
> Please rebase the patch against the latest trunk -- in order to
> approximately match GCC, we now return false from the __has_trivial_*
> and __has_nothrow_* builtins if the class has both a trivial such
> special member and a nontrivial one.
>
> Ultimately, I wonder if we should just ignore GCC's specification for
> how these builtins should work, and instead implement the semantics of
> the corresponding C++11 type traits here. It's actually not possible
> to implement the traits correctly from the defined semantics of the
> traits which libstdc++ and MSVC's STL use.
>

Attached is a patch against trunk, I believe I picked up / merged your
recent changes properly, let me know if I mucked it up or misunderstood you
(I just merged your changes I didn't augment the code I had in there from
before your changes).
I am all for matching the standard regardless of what GCC/MSVC decide(d) to
do here, I assume if they are non-standard at the moment they will soon get
in line.

Earlier (last week?) I sent a mail about seeing some build issues with
macho_dump.I don't believe they are caused by my changes, clang still
builds and the tests still pass, but it is unclear what the failures mean
or how to investigate them, which is why I hadn't yet sent the patch.

Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130110/e843d9d0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Support-For-MSVC-2012-Type-Traits-For-STL.patch
Type: application/octet-stream
Size: 19778 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130110/e843d9d0/attachment.obj>


More information about the cfe-commits mailing list