Are you sure this is an MSVC-compatible change? MSVC allows late specified
return types, and does so while delaying the parsing of the body. Consider
this test case, which cl accepts and clang -fno-delayed-template-parsing
rejects:
extern "C" int puts(const char *s);
template <typename T>
auto foo(T x) -> decltype(x) {
::bar();
return x;
}
void bar() { puts("bar"); }
int main() { return foo(0); }
http://llvm-reviews.chandlerc.com/D2053
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits