-Wmicrosoft: Don't warn on non-inline pure virtual method definitions
authorReid Kleckner <reid@kleckner.net>
Tue, 8 Oct 2013 22:45:29 +0000 (22:45 +0000)
committerReid Kleckner <reid@kleckner.net>
Tue, 8 Oct 2013 22:45:29 +0000 (22:45 +0000)
commitbe7a446637613f17ec94d34c18847d563064a539
tree4bbb296eafc9ffea49825b6818f1cf03119039a8
parent0a903478c642c19b416aacdbef3e2e1859b11c18
-Wmicrosoft: Don't warn on non-inline pure virtual method definitions

MSVC and clang with -fms-extensions allow pure virtual methods to be
defined inline after the "= 0" tokens.  Clang warns on these because it
is not standard, but incorrectly warns on out-of-line definitions, which
are standard.

With this change, clang will only warn on inline definitions of pure
virtual methods.

Fixes some self-host warnings on out-of-line definitions of pure virtual
destructors.

llvm-svn: 192244
clang/lib/Sema/SemaDecl.cpp
clang/test/Parser/MicrosoftExtensions.cpp