- May 22, 2009
-
-
Douglas Gregor authored
call other member functions of class templates, including after template instantiation. No functionality change. llvm-svn: 72282
-
Douglas Gregor authored
expressions. This change introduces another AST node, CXXUnresolvedMemberExpr, that captures member references (x->m, x.m) when the base of the expression (the "x") is type-dependent, and we therefore cannot resolve the member reference yet. Note that our parsing of member references for C++ is still quite poor, e.g., we don't handle x->Base::m or x->operator int. llvm-svn: 72281
-
Fariborz Jahanian authored
and objects of this class are derived from 'NSProxy'. Under such conditions, which means that every method possible is implemented in the class, we should not issue "Method definition not found" warnings. llvm-svn: 72267
-
Douglas Gregor authored
llvm-svn: 72236
-
Douglas Gregor authored
llvm-svn: 72234
-
Douglas Gregor authored
can. Also, delay semantic analysis of initialization for value-dependent as well as type-dependent expressions, since we can't always properly type-check a value-dependent expression. llvm-svn: 72233
-
- May 21, 2009
-
-
Douglas Gregor authored
llvm-svn: 72229
-
Fariborz Jahanian authored
setting of NSObject attribute. llvm-svn: 72225
-
Douglas Gregor authored
llvm-svn: 72220
-
Fariborz Jahanian authored
llvm-svn: 72219
-
Douglas Gregor authored
llvm-svn: 72218
-
Douglas Gregor authored
llvm-svn: 72217
-
Douglas Gregor authored
llvm-svn: 72216
-
Douglas Gregor authored
redundant functionality. The result (ASTOwningVector) lives in clang/Parse/Ownership.h and is used by both the parser and semantic analysis. No intended functionality change. llvm-svn: 72214
-
Sebastian Redl authored
Avoid using the built-in type checker for assignment in C++ when classes are involved. Patch by Vyacheslav Kononenko. llvm-svn: 72212
-
Jay Foad authored
llvm-svn: 72210
-
Douglas Gregor authored
llvm-svn: 72199
-
Douglas Gregor authored
passes the "isStmtExpr" flag, to suppress warnings about unused expressions. llvm-svn: 72190
-
Douglas Gregor authored
llvm::SmallVector that owns all of the AST nodes inside of it. This RAII class is used to ensure proper destruction of AST nodes when template instantiation fails. llvm-svn: 72186
-
- May 20, 2009
-
-
Douglas Gregor authored
temporaries are generated for some object-constructing expressions in templates that are not type-dependent. Also, be sure to introduce the variable from a CXXConditionDeclExpr into the set of instantiated local variables. llvm-svn: 72185
-
Douglas Gregor authored
due to C++ type construction of the form T(a1, a2, ..., aN). llvm-svn: 72183
-
Douglas Gregor authored
describe the construction of a value of a given type using function syntax, e.g., T(a1, a2, ..., aN) when the type or any of its arguments are type-dependent. In this case, we don't know what kind of type-construction this will be: it might construct a temporary of type 'T' (which might be a class or non-class type) or might perform a conversion to type 'T'. Also, implement printing of and template instantiation for this new expression type. Due to the change in Sema::ActOnCXXTypeConstructExpr, our existing tests cover template instantiation of this new expression node. llvm-svn: 72176
-
Fariborz Jahanian authored
Still more to do. llvm-svn: 72173
-
Zhongxing Xu authored
llvm-svn: 72158
-
Douglas Gregor authored
need template instantiation logic. Remove one FIXME by instantiating the callee in a non-type-dependent CXXOperatorCallExpr. llvm-svn: 72145
-
Douglas Gregor authored
llvm-svn: 72144
-
Douglas Gregor authored
llvm-svn: 72143
-
Douglas Gregor authored
and it isn't clear exactly what it's supposed to mean. Thanks Eli! llvm-svn: 72142
-
Douglas Gregor authored
llvm-svn: 72139
-
- May 19, 2009
-
-
Douglas Gregor authored
llvm-svn: 72134
-
Douglas Gregor authored
llvm-svn: 72129
-
Douglas Gregor authored
operator in C++, and verify that template instantiation for the condition operator does the right thing. llvm-svn: 72127
-
Douglas Gregor authored
llvm-svn: 72126
-
Douglas Gregor authored
llvm-svn: 72119
-
Fariborz Jahanian authored
llvm-svn: 72111
-
Anders Carlsson authored
llvm-svn: 72102
-
Anders Carlsson authored
When assigning from an rvalue to a const reference, the implicit cast from T -> const T is not an lvalue cast. llvm-svn: 72082
-
Douglas Gregor authored
llvm-svn: 72081
-
Douglas Gregor authored
easier than expected because of the limitation that subscript operators must be member functions. llvm-svn: 72076
-
Fariborz Jahanian authored
can be processed. No change in functionality. llvm-svn: 72066
-