summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInherit.h
Commit message (Collapse)AuthorAgeFilesLines
* Refactor the code that walks a C++ inheritance hierarchy, searchingDouglas Gregor2009-10-061-247/+0
| | | | | | | | | for bases, members, overridden virtual methods, etc. The operations isDerivedFrom and lookupInBases are now provided by CXXRecordDecl, rather than by Sema, so that CodeGen and other clients can use them directly. llvm-svn: 83396
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-13/+12
| | | | llvm-svn: 81346
* Add a member lookup criteria constructor for searching for overridden ↵Anders Carlsson2009-05-301-1/+7
| | | | | | virtual member functions. Use this instead of regular name lookup when checking for overriding functions so we will see declarations that would otherwise be hidden. Fixes 6902298. llvm-svn: 72601
* Make the LookupBase boolean an enum instead.Anders Carlsson2009-05-291-5/+12
| | | | llvm-svn: 72594
* Use an iterator type for found_decls_begin/found_decls_end.Anders Carlsson2009-05-131-2/+3
| | | | llvm-svn: 71721
* Make parsing a semantic analysis a little more robust following SemaDouglas Gregor2009-04-011-1/+15
| | | | | | | | | | | | | | | | 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. llvm-svn: 68251
* Revert Sebastian's rvalue patch (r67870) since it caused test failures inAnders Carlsson2009-03-281-1/+1
| | | | | | | | SemaCXX//overload-member-call.cpp SemaCXX//overloaded-operator.cpp SemaTemplate//instantiate-method.cpp llvm-svn: 67912
* Implement access checking for protected base classes.Anders Carlsson2009-03-281-1/+1
| | | | llvm-svn: 67887
* Add a Class field to the base path element structure. This holds the record ↵Anders Carlsson2009-03-271-0/+3
| | | | | | decl of the class taht the base is a base of. llvm-svn: 67859
* Eliminate CXXRecordTypeDouglas Gregor2009-02-281-3/+2
| | | | llvm-svn: 65671
* Implement dereferencing of pointers-to-member.Sebastian Redl2009-02-071-1/+1
| | | | llvm-svn: 63983
* Eliminated LookupCriteria, whose creation was causing a bottleneck forDouglas Gregor2009-01-301-5/+5
| | | | | | | | | | | | | | | | | | LookupName et al. Instead, use an enum and a bool to describe its contents. Optimized the C/Objective-C path through LookupName, eliminating any unnecessarily C++isms. Simplify IdentifierResolver::iterator, removing some code and arguments that are no longer used. Eliminated LookupDeclInScope/LookupDeclInContext, moving all callers over to LookupName, LookupQualifiedName, or LookupParsedName, as appropriate. All together, I'm seeing a 0.2% speedup on Cocoa.h with PTH and -disable-free. Plus, we're down to three name-lookup routines. llvm-svn: 63354
* Improve diagnostics for ambiguous name lookup resultsDouglas Gregor2009-01-161-0/+8
| | | | llvm-svn: 62287
* Initial implementation of member name lookupDouglas Gregor2009-01-151-3/+48
| | | | llvm-svn: 62247
* Implement semantic checking of static_cast and dynamic_cast.Sebastian Redl2008-10-311-4/+25
| | | | llvm-svn: 58509
* First non-embarrassing cut at checking for ambiguous derived-to-base Douglas Gregor2008-10-241-0/+144
conversions. Added PerformImplicitConversion, which follows an implicit conversion sequence computed by TryCopyInitialization and actually performs the implicit conversions, including the extra check for ambiguity mentioned above. llvm-svn: 58071
OpenPOWER on IntegriCloud