summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/VTableBuilder.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Use SmallVectorImpl& for function arguments instead of SmallVector.Craig Topper2013-07-051-2/+2
| | | | llvm-svn: 185715
* Simplify getting CXXRecordDecl from a base iteratorTimur Iskhodzhanov2013-07-021-21/+11
| | | | llvm-svn: 185438
* Fix a trivial typo, add a FIXME to have more test coverage for VTableBuilderTimur Iskhodzhanov2013-06-281-1/+3
| | | | llvm-svn: 185159
* Delete dead code.Eli Friedman2013-06-271-10/+1
| | | | llvm-svn: 185101
* Recommit r183298+r183300 'Get rid of ↵Timur Iskhodzhanov2013-06-051-159/+96
| | | | | | | | | VTableContext::ComputeMethodVTableIndices() and VTableContext::getNumVirtualFunctionPointers()' In r183298, I've used llvm::SmallPtrSet<..., 8> instead of llvm::SmallVector<..., 8> for NewVirtualFunctionsTy by mistake. This only manifested when a class had more than 8 virtual functions, which wasn't covered by unit-tests llvm-svn: 183310
* Revert r183298 and r183300 as the former broke the virtual function lookup ↵Timur Iskhodzhanov2013-06-051-96/+159
| | | | | | in libcxx __locale llvm-svn: 183305
* Fix fallout from r183298, unused function (CollectPrimaryBases) causing the ↵David Blaikie2013-06-051-15/+0
| | | | | | -Werror build to fail llvm-svn: 183300
* Fix the DUMP_OVERRIDERS macro in the VTableBuilder.cppTimur Iskhodzhanov2013-06-051-3/+1
| | | | llvm-svn: 183299
* Get rid of VTableContext::ComputeMethodVTableIndices() and ↵Timur Iskhodzhanov2013-06-051-144/+96
| | | | | | VTableContext::getNumVirtualFunctionPointers(); also add some tests for the VTable indices output to make sure we don't regress llvm-svn: 183298
* Fix one FIXME in VTableBuilderTimur Iskhodzhanov2013-05-081-8/+8
| | | | llvm-svn: 181396
* Emit virtual/deleting destructors properly with -cxx-abi microsoft, PR15058Timur Iskhodzhanov2013-02-131-14/+13
| | | | llvm-svn: 175045
* CodeGen: Remove unnecessary const_casts. No functionality change.Benjamin Kramer2013-02-031-7/+3
| | | | llvm-svn: 174292
* First pass at abstracting out a class for the target C++ ABI.John McCall2013-01-251-1/+2
| | | | llvm-svn: 173514
* First step towards vftable generation with -cxx-abi microsoft PR13231Timur Iskhodzhanov2013-01-211-29/+86
| | | | llvm-svn: 173035
* Include pruning and general cleanup.Benjamin Kramer2012-12-011-0/+1
| | | | llvm-svn: 169095
* Note deleted functions when dumping vtables.David Blaikie2012-10-161-0/+3
| | | | llvm-svn: 166056
* Fix a typo (the the => the)Sylvestre Ledru2012-07-231-1/+1
| | | | llvm-svn: 160622
* Remove get(V)BaseClassOffsetInBits, the CharUnit functions should be used ↵Benjamin Kramer2012-07-041-7/+8
| | | | | | | | instead. No functionality change. llvm-svn: 159719
* Revert Decl's iterators back to pointer value_type rather than reference ↵David Blaikie2012-06-061-5/+5
| | | | | | | | | | | | | | value_type In addition, I've made the pointer and reference typedef 'void' rather than T* just so they can't get misused. I would've omitted them entirely but std::distance likes them to be there even if it doesn't use them. This rolls back r155808 and r155869. Review by Doug Gregor incorporating feedback from Chandler Carruth. llvm-svn: 158104
* Remove the ref/value inconsistency in filter_decl_iterator.David Blaikie2012-04-301-5/+5
| | | | | | | | | | | | | filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) llvm-svn: 155808
* Replace manual delete[] with OwningArrayPtr.Benjamin Kramer2012-04-141-6/+4
| | | | llvm-svn: 154748
* Don't leak vtable thunks.Benjamin Kramer2012-04-141-0/+1
| | | | llvm-svn: 154747
* For the annals of subtle but terrible bugs: fix a longstanding bugJohn McCall2012-03-211-5/+5
| | | | | | | | | | | | | | | | | | | | in vtable layout where virtual methods inherited from virtual bases could be assigned the same vcall adjustment slot if they shared a name and parameter signature but differed in their cv-qualification. The code was already trying to handle this case, but unfortunately used the ordinary type qualifiers (which are always empty here) instead of the method qualifiers. This seems like something that the API should discourage, but I don't know how to carry that principle out in this instance. Eliminate this function's need for an ASTContext while we're at it. This bug affects the ABI, and fixing it brings us into accord with the Itanium ABI (and GCC's implementation of it), but, obviously, technically breaks full compatibility with previous releases of Clang. Just letting you know. llvm-svn: 153168
* Unify naming of LangOptions variable/get function across the Clang stack ↵David Blaikie2012-03-111-2/+2
| | | | | | | | | | (Lex to AST). The member variable is always "LangOpts" and the member function is always "getLangOpts". Reviewed by Chris Lattner llvm-svn: 152536
* Fix a use of the C99 PRI format macros not to conflict with C++11 UDLs.Benjamin Kramer2012-03-101-1/+2
| | | | llvm-svn: 152475
* Make format string 64 bit safe.Benjamin Kramer2011-11-061-1/+1
| | | | llvm-svn: 143870
* Rename TagDecl::isDefinition -> isCompleteDefinitionJohn McCall2011-10-071-1/+1
| | | | | | | for better self-documenting code, since the semantics are subtly different from getDefinition(). llvm-svn: 141355
* Move VTable builder to ASTPeter Collingbourne2011-09-261-0/+2404
llvm-svn: 140510
OpenPOWER on IntegriCloud