Recover better from a missing 'typename' in a function template definition.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 16 May 2012 23:40:17 +0000 (23:40 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 16 May 2012 23:40:17 +0000 (23:40 +0000)
commit109d5ed96d985c0a65ca8dae851c48fc0abeb6d2
tree028fceabc28de2554a38329cc05e0165c49a4ff9
parentaf1537f57c3b3ff1e267b20bbcae909e12f5d64b
Recover better from a missing 'typename' in a function template definition.
Disambiguate past such a potential problem, and use the absence of 'typename'
to break ties in favor of a parenthesized thingy being an initializer, if
nothing else in the declaration disambiguates it as declaring a function.

llvm-svn: 156963
clang/include/clang/Parse/Parser.h
clang/lib/Parse/ParseTentative.cpp
clang/test/CXX/except/except.spec/p5-pointers.cpp
clang/test/SemaCXX/unknown-type-name.cpp