teak-llvm/clang/test/Parser/cxx-ambig-decl-expr-xfail.cpp
Douglas Gregor dc9361876c When we're performing tentative parsing to determine whether the
parser is looking at a declaration or an expression, use a '=' to
conclude that we are parsing a declaration.

This is wrong. However, our previous approach of finding a comma after
the '=' is also wrong, because the ',' could be part of a
template-argument-list. So, for now we're going to use the same wrong
heuristic as GCC and Visual C++, because less real-world code is
likely to be broken this way. I've opened PR7655 to keep track of our
wrongness; note also the XFAIL'd test.

Fixes <rdar://problem/8193163>.

llvm-svn: 108459
2010-07-15 21:05:01 +00:00

17 lines
278 B
C++

// RUN: %clang_cc1 -fsyntax-only -verify %s
// XFAIL: *
struct X {
template<typename T> X(T);
X(int, int);
X operator()(int, int) const;
};
template<typename T, typename U> struct Y { };
X *x;
void f() {
int y = 0;
X (*x)(int(y), int(y)) = Y<int, float>(), ++y;
}