On 08/31/2012 04:47 AM, Rafael Espíndola wrote:
A new version matching the API changes on the llvm patch is attached.
Cheers,
Rafael
Hello Rafael.
Since we were observing a nondeterministic order in the invocation of
callback ASTConsumer::HandleCXXImplicitFunctionInstantiation, we started
searching the mailing list and bumped into this thread.
We downloaded and applied the two patches for clang and llvm: unless we
did something wrong (e.g., out-of-date patches?), it seems that the
nondeterministic behavior we were observing is still there.
We managed to produce a testcase on which clang (no matter if patched or
not) generates multiple diagnostics in nondeterministic order.
The test is attached. Running it some 4/5 times should be enough to see
the differences in the ordering of diagnostics.
Can you have a try on it?
Is this due to another, unrelated source of nondeterminism?
Enea.
template <typename T>
struct B {
virtual void m1();
virtual void m2();
virtual ~B();
};
template <typename T>
struct D1 : virtual B<T> {
void m1();
void m2();
};
template <typename T>
struct D2 : virtual B<T> {
void m1();
void m2();
};
template <typename T>
struct E : D1<T>, D2<T> {
};
void f() {
E<int> e;
}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits