Commit Graph

3 Commits

Author SHA1 Message Date
Erich Keane fcdf09e04b Update IUnknown lit test to pass on Win32
llvm-svn: 314687
2017-10-02 16:49:32 +00:00
NAKAMURA Takumi 86715b26c1 clang/test/SemaCXX/ms-iunknown-template-function.cpp: Appease for targeting *-win32.
This expects the warning;

  File clang/test/SemaCXX/ms-iunknown-template-function.cpp Line 19: __declspec attribute 'novtable' is not supported

But for targeting *-win32, the warning is not seen.

  error: 'warning' diagnostics expected but not seen:
    File clang\test\SemaCXX\ms-iunknown-template-function.cpp Line 19 (directive at clang\test\SemaCXX\ms-iunknown-template-function.cpp:18): __declspec attribute 'novtable'

llvm-svn: 314586
2017-09-30 09:16:41 +00:00
Erich Keane 3e08f66bb0 [Sema] Correct IUnknown to support Unknwnbase.h Header.
Apparently, the MSVC SDK has a strange implementation that
causes a number of implicit functions as well as a template member
function of the IUnknown type. This patch allows these as InterfaceLike
types as well.

Additionally, it corrects the behavior where extern-C++ wrapped around an
Interface-Like type would permit an interface-like type to exist in a namespace.

Differential Revision: https://reviews.llvm.org/D38303

llvm-svn: 314557
2017-09-29 21:06:00 +00:00