| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
destructors. Also fix PR5529.
llvm-svn: 89034
|
|
|
|
|
|
| |
FunctionDecl::isInlineSpecified/setInlineSpecified.
llvm-svn: 85305
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the DeclaratorInfo, if one is present.
Preserve source information through template instantiation. This is made
more complicated by the possibility that ParmVarDecls don't have DIs, which
is possibly worth fixing in the future.
Also preserve source information for function parameters in ObjC method
declarations.
llvm-svn: 84971
|
|
|
|
| |
llvm-svn: 82878
|
|
|
|
|
|
|
|
|
|
|
| |
Several of the existing methods were identical to their respective
specializations, and so have been removed entirely. Several more 'leaf'
optimizations were introduced.
The getAsFoo() methods which imposed extra conditions, like
getAsObjCInterfacePointerType(), have been left in place.
llvm-svn: 82501
|
|
|
|
| |
llvm-svn: 81346
|
|
|
|
|
|
|
| |
decl list, and remove some workarounds that were due to this. Thanks to Eli for
pointing this out and providing the test case.
llvm-svn: 80745
|
|
|
|
|
|
| |
undeclared classes.
llvm-svn: 80438
|
|
|
|
| |
llvm-svn: 80437
|
|
|
|
|
|
| |
bad but it works :)
llvm-svn: 80402
|
|
|
|
| |
llvm-svn: 80386
|
|
|
|
| |
llvm-svn: 79854
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
Type::getAsRecordType() -> Type::getAs<RecordType>()
Type::getAsPointerType() -> Type::getAs<PointerType>()
Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>()
Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>()
Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>()
Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>()
Type::getAsReferenceType() -> Type::getAs<ReferenceType>()
Type::getAsTagType() -> Type::getAs<TagType>()
And remove Type::getAsReferenceType(), etc.
This change is similar to one I made a couple weeks ago, but that was partly
reverted pending some additional design discussion. With Doug's pending smart
pointer changes for Types, it seemed natural to take this approach.
llvm-svn: 77510
|
|
|
|
|
|
| |
the noreturn attribute.
llvm-svn: 77253
|
|
|
|
|
|
| |
in constructors.
llvm-svn: 76980
|
|
|
|
|
|
| |
destruction of base/members for each destructor AST.
llvm-svn: 76663
|
|
|
|
|
|
|
|
|
| |
until Doug Gregor's Type smart pointer code lands (or more discussion occurs).
These methods just call the new Type::getAs<XXX> methods, so we still have
reduced implementation redundancy. Having explicit getAsXXXType() methods makes
it easier to set breakpoints in the debugger.
llvm-svn: 76193
|
|
|
|
|
|
| |
Type::getAsMemberPointerType(), Type::getAsTagType(), and Type::getAsRecordType() with their Type::getAs<XXX> equivalents.
llvm-svn: 76139
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method is intended to eventually replace the individual
Type::getAsXXXType<> methods.
The motivation behind this change is twofold:
1) Reduce redundant implementations of Type::getAsXXXType() methods. Most of
them are basically copy-and-paste.
2) By centralizing the implementation of the getAs<Type> logic we can more
smoothly move over to Doug Gregor's proposed canonical type smart pointer
scheme.
Along with this patch:
a) Removed 'Type::getAsPointerType()'; now clients use getAs<PointerType>.
b) Removed 'Type::getAsBlockPointerTypE()'; now clients use getAs<BlockPointerType>.
llvm-svn: 76098
|
|
|
|
| |
llvm-svn: 75861
|
|
|
|
|
|
| |
a test failure, until figuring out what caused the failure.
llvm-svn: 75855
|
|
|
|
|
|
| |
base/members.
llvm-svn: 75849
|
|
|
|
|
|
| |
a dependent type in the ctor initializer-list.
llvm-svn: 75712
|
|
|
|
| |
llvm-svn: 75549
|
|
|
|
| |
llvm-svn: 75487
|
|
|
|
|
|
| |
declarator printing. Bug found via the PCH tester
llvm-svn: 74672
|
|
|
|
|
|
|
| |
Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
llvm-svn: 74506
|
|
|
|
|
|
|
|
| |
subclasses.
Timings showed no significant difference before and after the commit.
llvm-svn: 74504
|
|
|
|
| |
llvm-svn: 74503
|
|
|
|
| |
llvm-svn: 73261
|
|
|
|
| |
llvm-svn: 72848
|
|
|
|
| |
llvm-svn: 72660
|
|
|
|
| |
llvm-svn: 72617
|
|
|
|
| |
llvm-svn: 72616
|
|
|
|
|
|
| |
declaration in -ast-print mode.
llvm-svn: 72615
|
|
|
|
|
|
|
|
|
| |
using namespace std::debug;
Extended UsingDirectiveDecl to store the nested-name-specifier that
precedes the nominated namespace.
llvm-svn: 72614
|
|
|
|
|
|
| |
declaration.
llvm-svn: 72613
|
|
|
|
|
|
| |
transitioning callers over to pass one in.
llvm-svn: 72609
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make StmtPrinter use DeclPrinter to print all declarations. Merge
declarations in the limited case of an unnamed TagDecl followed by one
or more declarations using that TagDecl directly. Change
SuppressTypeSpecifiers to the more general SuppressSpecifiers, and
use it to suppress stuff like "typedef" and "extern". Replace
OwnedTag with SuppressTag, since it's more convenient to print
declarations from DeclPrinter at the moment.
improvements to declaration printing. Fix pretty-printing for K&R
function definitions and __builtin_va_arg.
We're now to the point where the pretty-printing output for non-trivial
programs can actually be piped back into clang.
llvm-svn: 72608
|
|
|
|
| |
llvm-svn: 72602
|
|
walks through DeclContexts properly, and prints more of the
information available in the AST. The functionality is still available
via -ast-print, -ast-dump, etc., and also via the new member functions
Decl::dump() and Decl::print().
llvm-svn: 72597
|