summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaInherit.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Eliminated LookupCriteria, whose creation was causing a bottleneck forDouglas Gregor2009-01-301-1/+2
| | | | | | | | | | | | | | | | | | 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
* move library-specific diagnostic headers into library private dirs. ReduceChris Lattner2009-01-291-1/+0
| | | | | | redundant #includes. Patch by Anders Johnsen! llvm-svn: 63271
* Implement pointer to member handling in static_cast.Sebastian Redl2009-01-281-5/+4
| | | | | | | Fix a stupid mistake in UnwrapSimilarPointers that made any two member pointers compatible as long as the pointee was the same. Make a few style corrections as suggested by Chris. llvm-svn: 63215
* Split the single monolithic DiagnosticKinds.def file into oneChris Lattner2009-01-271-1/+1
| | | | | | | | | .def file for each library. This means that adding a diagnostic to sema doesn't require all the other libraries to be rebuilt. Patch by Anders Johnsen! llvm-svn: 63111
* Improve diagnostics for ambiguous name lookup resultsDouglas Gregor2009-01-161-5/+25
| | | | llvm-svn: 62287
* Initial implementation of member name lookupDouglas Gregor2009-01-151-61/+111
| | | | llvm-svn: 62247
* Change a whole lot of diagnostics to take QualType's directly Chris Lattner2008-11-241-1/+1
| | | | | | | | instead of converting them to strings first. This also fixes a bunch of minor inconsistencies in the diagnostics emitted by clang and adds a bunch of FIXME's to DiagnosticKinds.def. llvm-svn: 59948
* start converting Sema over to using its canonical Diag method.Chris Lattner2008-11-181-2/+2
| | | | llvm-svn: 59561
* Implement semantic checking of static_cast and dynamic_cast.Sebastian Redl2008-10-311-4/+19
| | | | llvm-svn: 58509
* Implement initialization of a reference (C++ [dcl.init.ref]) as partDouglas Gregor2008-10-291-14/+13
| | | | | | | | | | | | | | | | | | | of copy initialization. Other pieces of the puzzle: - Try/Perform-ImplicitConversion now handles implicit conversions that don't involve references. - Try/Perform-CopyInitialization uses CheckSingleAssignmentConstraints for C. PerformCopyInitialization is now used for all argument passing and returning values from a function. - Diagnose errors with declaring references and const values without an initializer. (Uses a new Action callback, ActOnUninitializedDecl). We do not yet have implicit conversion sequences for reference binding, which means that we don't have any overloading support for reference parameters yet. llvm-svn: 58353
* Some cleanups for the ambiguous derived-to-base conversion checksDouglas Gregor2008-10-241-42/+40
| | | | llvm-svn: 58096
* First non-embarrassing cut at checking for ambiguous derived-to-base Douglas Gregor2008-10-241-6/+151
| | | | | | | | | | 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
* Clean up and document the representation of C++ base classesDouglas Gregor2008-10-231-2/+2
| | | | llvm-svn: 58040
* Add support for conversions from a pointer-to-derived to aDouglas Gregor2008-10-231-0/+54
pointer-to-base. Also, add overload ranking for pointer conversions (for both pointer-to-void and derived-to-base pointer conversions). Note that we do not yet diagnose derived-to-base pointer conversion errors that stem from ambiguous or inacessible base classes. These aren't handled during overload resolution; rather, when the conversion is actually used we go ahead and diagnose the error. llvm-svn: 58017
OpenPOWER on IntegriCloud