r247346 - [MS ABI] Make member pointers return true for isIncompleteType

David Majnemer via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 11 11:10:42 PDT 2015


Taking a look, would appreciate it if we didn't revert this until I give it
a fair shot.  Shouldn't take too long.

On Fri, Sep 11, 2015 at 10:58 AM, Hans Wennborg <hans at chromium.org> wrote:

> This made the Chromium build sad. For example:
>
> http://build.chromium.org/p/chromium.fyi/builders/ClangToTWin/builds/3092/steps/compile/logs/stdio
>
> Reduction:
>
> $ clang -cc1 -triple i686-pc-windows-msvc18.0.0 -w -fms-extensions
> -fms-compatibility -fms-compatibility-version=18.0 -std=c++11
> -fdelayed-template-parsing a.ii
>
> template <class C, int (C::*M)(int *, const int &, int &, int &)>
> void JSMethod(char *, char *, int);
> class A {
>   int printd(int *, const int &, int &, int &);
>   int printd_info;
>   void printd() { JSMethod<A, &A::printd>("", "", printd_info); }
> };
>
>
> On Thu, Sep 10, 2015 at 2:52 PM, David Majnemer via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
> > Author: majnemer
> > Date: Thu Sep 10 16:52:00 2015
> > New Revision: 247346
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=247346&view=rev
> > Log:
> > [MS ABI] Make member pointers return true for isIncompleteType
> >
> > The type of a member pointer is incomplete if it has no inheritance
> > model.  This lets us reuse more general logic already embedded in clang.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150911/7e0016cf/attachment.html>


More information about the cfe-commits mailing list