Displaying 1 result from an estimated 1 matches for "breakage_ensues".
2015 Jan 07
2
[LLVMdev] Inclusion of iostream affects devirtualization in release_35
Hello,
I've stumbled upon the following behavior in branches/release_35 (as of
218689) under ubuntu 14.04 LTS amd64: whenever I include the (system-wise)
gnu iostream header, clang++ stops devirtualizing the following code:
#if BREAKAGE_ENSUES
#include <iostream>
#endif
struct Base {
virtual int foo() const = 0;
};
struct A : Base {
int a;
A(const int a)
: a(a) {
}
int foo() const {
return a;
}
};
struct B : Base {
const Base* b;
B(const Base* const base)
: b(base) {
}
int foo() const {
return b->foo();
}
};
const A a(42...