[Patch] Disallow reinterpret_cast from pointer to bool on Windows (PR16222)

Reid Kleckner rnk at google.com
Wed Jun 5 07:10:16 PDT 2013


For the record, MSVC does a truncation (it doesn't do any funny
reinterpret-really-means-static cast stuff).  256 byte aligned pointers do
become false.  =P  Clang should probably just error out even if MSVC
accepts.


On Wed, Jun 5, 2013 at 9:31 AM, Hans Wennborg <hans at chromium.org> wrote:

> Hi all,
>
> This patch makes Clang disallow reinterpret_cast from pointer to bool
> on Windows.
>
> Currently, it's allowed by accident and later triggers an exception.
> Support was added in r131201 to allow conversion from pointers to
> integral types on windows since this is apparently used in system
> headers. However, converting pointers to bool is already supported in
> a civilized manner via static_cast and c-style cast. Allowing it
> through reinterpret_cast seems like a bad idea.
>
> Please take a look.
>
> Thanks,
> Hans
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130605/601fb43f/attachment.html>


More information about the cfe-commits mailing list