[llvm-testresults] buildbot failure in lab.llvm.org on phase1 - sanity
llvmlab-buildmaster at lab.llvm.org
llvmlab-buildmaster at lab.llvm.org
Thu Aug 7 18:50:56 PDT 2014
The Buildbot has detected a new failure on builder phase1 - sanity while building cfe.
Full details are available at:
http://lab.llvm.org:8013/builders/phase1%20-%20sanity/builds/3365
Buildbot URL: http://lab.llvm.org:8013/
Buildslave for this Build: macpro1
Build Reason: scheduler
Build Source Stamp: 215174
Blamelist: majnemer
BUILD FAILED: failed
sincerely,
-The Buildbot
================================================================================
CHANGES:
Files:
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaType.cpp
test/CodeGenCXX/microsoft-abi-member-pointers.cpp
On: http://10.1.1.2/svn/llvm-project
For: cfe
At: Thu 07 Aug 2014 17:21:39
Changed By: majnemer
Comments: MS ABI: Don't force bases to have an inheritance model
Previously, assigning an inheritance model to a derived class would
trigger further assiginments to the various bases of the class. This
was done to fix a bug where we couldn't handle an implicit
base-to-derived conversion for pointers-to-members when the conversion
was ambiguous at an earlier point.
However, this is not how the MS scheme works. Instead, assign
inheritance models to *just* the class which owns to declaration we
ended up referencing.
N.B. This result is surprising in many ways. It means that it is
possible for a base to have a "larger" inheritance model than it's
derived classes. It also means that bases in the conversion path do not
get assigned a model.
struct A { void f(); void f(int); };
struct B : A {};
struct C : B {};
void f() { void (C::*x)() = &A::f; }
We can only begin to assign an inheritance model *after* we've seen the
address-of but *before* we've done the implicit conversion the more
derived pointer-to-member type. After that point, both 'A' and 'C' will
have an inheritance model but 'B' will not. Surprising, right?Properties:
LOGS:
More information about the llvm-testresults
mailing list