]> granicus.if.org Git - clang/commit
[MSVC Compatibility] Permit static_cast from void-ptr to function-ptr
authorDavid Majnemer <david.majnemer@gmail.com>
Tue, 2 Jun 2015 22:15:12 +0000 (22:15 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Tue, 2 Jun 2015 22:15:12 +0000 (22:15 +0000)
commit435af83feb246ca6cd3f4a8db47710fc412ca32f
treeb0dcc0669d944cd760d967427cce6c1a95762e33
parentb7bfd44eda62a18b28e3c671bb68adad3caf332a
[MSVC Compatibility] Permit static_cast from void-ptr to function-ptr

The MSVC 2013 and 2015 implementation of std::atomic is specialized for
pointer types.  The member functions are implemented using a static_cast
from void-ptr to function-ptr which is not allowed in the standard.
Permit this conversion if -fms-compatibility is present.

This fixes PR23733.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@238877 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticSemaKinds.td
lib/Sema/SemaCast.cpp
test/SemaCXX/MicrosoftCompatibility-cxx98.cpp