]> granicus.if.org Git - clang/commit
Make parsing a semantic analysis a little more robust following Sema
authorDouglas Gregor <dgregor@apple.com>
Wed, 1 Apr 2009 21:51:26 +0000 (21:51 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 1 Apr 2009 21:51:26 +0000 (21:51 +0000)
commit31a19b6989bbf326d2de5ae12e712e2a65ca9c34
treee79ad32f23a5f590558c274cf11b000f10b04042
parentfaa435a326a694e0517d035376e616ff82655fe5
Make parsing a semantic analysis a little more robust following Sema
failures that involve malformed types, e.g., "typename X::foo" where
"foo" isn't a type, or "std::vector<void>" that doens't instantiate
properly.

Similarly, be a bit smarter in our handling of ambiguities that occur
in Sema::getTypeName, to eliminate duplicate error messages about
ambiguous name lookup.

This eliminates two XFAILs in test/SemaCXX, one of which was crying
out to us, trying to tell us that we were producing repeated error
messages.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68251 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
include/clang/Parse/Parser.h
lib/Parse/ParseDecl.cpp
lib/Parse/ParseDeclCXX.cpp
lib/Parse/ParseExprCXX.cpp
lib/Parse/ParseTemplate.cpp
lib/Parse/Parser.cpp
lib/Sema/Sema.h
lib/Sema/SemaDecl.cpp
lib/Sema/SemaInherit.cpp
lib/Sema/SemaInherit.h
lib/Sema/SemaLookup.cpp
lib/Sema/SemaTemplate.cpp
test/SemaCXX/member-name-lookup.cpp
test/SemaCXX/using-directive.cpp
test/SemaTemplate/nested-name-spec-template.cpp