| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
CXXBaseOrMemberInitializer AST node. Needed by
its clients to do the initialization.
llvm-svn: 76826
|
| |
|
|
| |
llvm-svn: 76783
|
| |
|
|
|
|
| |
[class.union]p1", from John McCall!
llvm-svn: 76766
|
| |
|
|
|
|
| |
via ASTContext.
llvm-svn: 76758
|
| |
|
|
|
|
| |
destruction of base/members for each destructor AST.
llvm-svn: 76663
|
| |
|
|
|
|
|
|
|
| |
1. Make it work correctly with anonymous unions.
2. Don't compute it if the warning isn't enabled.
3. Optimize the algorithm slightly to make it linear time in the
case where we don't produce any warnings.
llvm-svn: 76630
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 76132
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
base/members.
llvm-svn: 75849
|
| |
|
|
|
|
| |
semantics of order of construction [class.init].
llvm-svn: 75649
|
| |
|
|
|
|
|
|
| |
in their order of construction for each class and use it
to to check on propery order of base class construction
under -Wreorder option.
llvm-svn: 75270
|
| |
|
|
|
|
| |
class object's base and members under -Wreorder flag.
llvm-svn: 75168
|
| |
|
|
| |
llvm-svn: 75152
|
| |
|
|
|
|
| |
quoted correctly.
llvm-svn: 75150
|
| |
|
|
|
|
| |
functions.
llvm-svn: 74943
|
| |
|
|
| |
llvm-svn: 74787
|
| |
|
|
|
|
| |
using ASTContxt allocation.
llvm-svn: 74717
|
| |
|
|
|
|
| |
Per Doug's comments. Doug please review.
llvm-svn: 74666
|
| |
|
|
|
|
| |
Also has fix for bugzilla-4469.
llvm-svn: 74631
|
| |
|
|
|
|
| |
list.
llvm-svn: 74571
|
| |
|
|
|
|
| |
fields in the ctor-initializer list.
llvm-svn: 74554
|
| |
|
|
|
|
| |
in ctor-initializer list.
llvm-svn: 74541
|
| |
|
|
| |
llvm-svn: 74533
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 74486
|
| |
|
|
|
|
| |
list.
llvm-svn: 74480
|
| |
|
|
|
|
| |
in the ctor-initializer list. More to come.
llvm-svn: 74465
|
| |
|
|
| |
llvm-svn: 74386
|
| |
|
|
|
|
| |
parameter has a dependent type.
llvm-svn: 74380
|
| |
|
|
| |
llvm-svn: 74362
|
| |
|
|
| |
llvm-svn: 74359
|
| |
|
|
|
|
| |
- Fariborz
llvm-svn: 74287
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
templates.
For example, this now type-checks (but does not instantiate the body
of deref<int>):
template<typename T> T& deref(T* t) { return *t; }
void test(int *ip) {
int &ir = deref(ip);
}
Specific changes/additions:
* Template argument deduction from a call to a function template.
* Instantiation of a function template specializations (just the
declarations) from the template arguments deduced from a call.
* FunctionTemplateDecls are stored directly in declaration contexts
and found via name lookup (all forms), rather than finding the
FunctionDecl and then realizing it is a template. This is
responsible for most of the churn, since some of the core
declaration matching and lookup code assumes that all functions are
FunctionDecls.
llvm-svn: 74213
|
| |
|
|
| |
llvm-svn: 74205
|
| |
|
|
| |
llvm-svn: 74171
|
| |
|
|
|
|
| |
implicit copy constructor definition determination.
llvm-svn: 74025
|
| |
|
|
| |
llvm-svn: 73922
|
| |
|
|
| |
llvm-svn: 73918
|
| |
|
|
|
|
|
| |
specialization. At present, all implicit instantiations occur at the
end of the translation unit.
llvm-svn: 73915
|
| |
|
|
| |
llvm-svn: 73897
|
| |
|
|
|
|
| |
instead. Do the implicit default ctor checking in MarkDeclarationReferenced.
llvm-svn: 73888
|
| |
|
|
| |
llvm-svn: 73833
|
| |
|
|
| |
llvm-svn: 73812
|
| |
|
|
|
|
|
|
|
|
|
|
| |
C++. This logic is required to trigger implicit instantiation of
function templates and member functions of class templates, which will
be implemented separately.
This commit includes support for -Wunused-parameter, printing warnings
for named parameters that are not used within a function/Objective-C
method/block. Fixes <rdar://problem/6505209>.
llvm-svn: 73797
|
| |
|
|
|
|
| |
work in progress.
llvm-svn: 73782
|
| |
|
|
|
|
| |
Sema::EnterDeclaratorContext/ExitDeclaratorContext.
llvm-svn: 73655
|
| |
|
|
|
|
|
|
| |
data member.
Fixes "test/CXX/basic/basic.lookup/basic.lookup.unqual/p13.cpp" test case.
llvm-svn: 73652
|
| |
|
|
|
|
| |
decls to a class.
llvm-svn: 73650
|