<html>
<head>
<base href="http://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:timurrrr@google.com" title="Timur Iskhodzhanov <timurrrr@google.com>"> <span class="fn">Timur Iskhodzhanov</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED WONTFIX - MS ABI: adjustor vs vtordisp thunk emitted"
href="http://llvm.org/bugs/show_bug.cgi?id=19519">bug 19519</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">Status</td>
<td>NEW
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>WONTFIX
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED WONTFIX - MS ABI: adjustor vs vtordisp thunk emitted"
href="http://llvm.org/bugs/show_bug.cgi?id=19519#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED WONTFIX - MS ABI: adjustor vs vtordisp thunk emitted"
href="http://llvm.org/bugs/show_bug.cgi?id=19519">bug 19519</a>
from <span class="vcard"><a class="email" href="mailto:timurrrr@google.com" title="Timur Iskhodzhanov <timurrrr@google.com>"> <span class="fn">Timur Iskhodzhanov</span></a>
</span></b>
<pre>CL from VS2013 seems to do the wrong thing:
----------------------
#include <assert.h>
#include <stdio.h>
struct A {
virtual void f() {}
virtual void g() {}
};
struct B : virtual A {
virtual void g() {}
B();
};
B::B() {}
struct C : virtual A {
virtual void f();
int c;
};
struct D : B, C {
D();
};
void zoo(C *obj) {
obj->f();
}
void C::f() {
assert(c == 42);
}
D::D() {
c = 42;
zoo(this);
}
struct E : D {
// E appends a field at the end of D, thus the offset of A in C increases.
int x;
};
int main() {
E e;
printf("OK\n");
}
----------------------
-> this passes under clang-cl (and g++ on Linux)
but fails the assertion when built with CL.
See also PR19475.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>