- Jan 16, 2009
-
-
Fariborz Jahanian authored
type. llvm-svn: 62355
-
Fariborz Jahanian authored
Issue diagnostics instead if types do not match. llvm-svn: 62349
-
Chris Lattner authored
llvm-svn: 62346
-
rdar://problem/6502934Douglas Gregor authored
with reference type (it should be an lvalue with non-reference type). llvm-svn: 62345
-
Chris Lattner authored
into its ctor. Also, make it handle validity checking of pascal strings instead of making clients do it. llvm-svn: 62332
-
Douglas Gregor authored
analysis and AST-building for the cases where we have N != 1 arguments. For N == 1 arguments, we need to finish the C++ implementation of explicit type casts (C++ [expr.cast]). llvm-svn: 62329
-
Anders Carlsson authored
Use a single function for doing vararg argument promotion. Also, make sure to do the promotion before checking the type - fixes PR3340. llvm-svn: 62323
-
Chris Lattner authored
Slightly speed up sema of numbers like '1' by going directly to TargetInfo instead of through ASTContext. llvm-svn: 62314
-
Zhongxing Xu authored
No functionality change. llvm-svn: 62303
-
Zhongxing Xu authored
No functionality change. llvm-svn: 62300
-
Zhongxing Xu authored
Sema::ActOnFunctionDeclarator(). No functionality change. llvm-svn: 62290
-
Douglas Gregor authored
llvm-svn: 62287
-
- Jan 15, 2009
-
-
Chris Lattner authored
enum E { A = 1U, B }; Don't make an implicit cast expr of null for B. llvm-svn: 62274
-
Daniel Dunbar authored
and uninitialized use options. llvm-svn: 62270
-
Nuno Lopes authored
llvm-svn: 62261
-
Seo Sanghyeon authored
llvm-svn: 62255
-
Douglas Gregor authored
llvm-svn: 62250
-
Douglas Gregor authored
llvm-svn: 62247
-
- Jan 14, 2009
-
-
Douglas Gregor authored
This change refactors and cleans up our handling of name lookup with LookupDecl. There are several aspects to this refactoring: - The criteria for name lookup is now encapsulated into the class LookupCriteria, which replaces the hideous set of boolean values that LookupDecl currently has. - The results of name lookup are returned in a new class LookupResult, which can lazily build OverloadedFunctionDecls for overloaded function sets (and, eventually, eliminate the need to allocate member for OverloadedFunctionDecls) and contains a placeholder for handling ambiguous name lookup (for C++). - The primary entry points for name lookup are now LookupName (for unqualified name lookup) and LookupQualifiedName (for qualified name lookup). There is also a convenience function LookupParsedName that handles qualified/unqualified name lookup when given a scope specifier. Together, these routines are meant to gradually replace the kludgy LookupDecl, but this won't happen until after we have base class lookup (which forces us to cope with ambiguities). - Documented the heck out of name lookup. Experimenting a little with using Doxygen's member groups to make some sense of the Sema class. Feedback welcome! - Fixes some lingering issues with name lookup for nested-name-specifiers, which now goes through LookupName/LookupQualifiedName. llvm-svn: 62245
-
Douglas Gregor authored
Small cleanup in the handling of user-defined conversions. Also, implement an optimization when constructing a call. We avoid recomputing implicit conversion sequences and instead use those conversion sequences that we computed as part of overload resolution. llvm-svn: 62231
-
Ted Kremenek authored
FunctionDecl::setParams() now uses the allocator associated with ASTContext to allocate the array of ParmVarDecl*'s. llvm-svn: 62203
-
Fariborz Jahanian authored
objects as an objective-c object. llvm-svn: 62197
-
Ted Kremenek authored
- Use canonical FileID when using getSpelling() caching. This addresses some cache misses we were seeing with -fsyntax-only on Cocoa.h - Added Preprocessor::getPhysicalCharacterAt() utility method for clients to grab the first character at a specified sourcelocation. This uses the PTH spelling cache. - Modified Sema::ActOnNumericConstant() to use Preprocessor::getPhysicalCharacterAt() instead of SourceManager::getCharacterData() (to get PTH hits). These changes cause -fsyntax-only to not page in any sources from Cocoa.h. We see a speedup of 27%. llvm-svn: 62193
-
Douglas Gregor authored
llvm-svn: 62192
-
- Jan 13, 2009
-
-
Anders Carlsson authored
llvm-svn: 62170
-
Anders Carlsson authored
llvm-svn: 62148
-
Douglas Gregor authored
llvm-svn: 62147
-
Douglas Gregor authored
assignment operator candidate (C++ [over.match.oper]p4). llvm-svn: 62128
-
Douglas Gregor authored
type. It leads to very weird errors. llvm-svn: 62124
-
Douglas Gregor authored
llvm-svn: 62122
-
Ted Kremenek authored
Extend string-literal checking for printf() format string to handle conditional ternary operators where both sides are literals. This fixes PR 3319: http://llvm.org/bugs/show_bug.cgi?id=3319 llvm-svn: 62117
-
- Jan 12, 2009
-
-
Douglas Gregor authored
C++ handle anonymous structs/unions in the same way. Addresses several bugs: <rdar://problem/6259534> <rdar://problem/6481130> <rdar://problem/6483159> The test case in PR clang/1750 now passes with -fsyntax-only, but CodeGen for inline assembler still fails. llvm-svn: 62112
-
Fariborz Jahanian authored
assigned to when it has user declared setter method defined in the class implementation (but no declaration in the class itself). llvm-svn: 62098
-
Douglas Gregor authored
or enum to be outside that struct, union, or enum. Fixes several regressions: <rdar://problem/6487662> <rdar://problem/6487669> <rdar://problem/6487684> <rdar://problem/6487702> PR clang/3305 PR clang/3312 There is still some work to do in Objective-C++, but this requires that each of the Objective-C entities (interfaces, implementations, etc.) to be introduced into the context stack with PushDeclContext/PopDeclContext. This will be a separate fix, later. llvm-svn: 62091
-
- Jan 11, 2009
-
-
Sebastian Redl authored
llvm-svn: 62038
-
Steve Naroff authored
This completes the ObjCContainerDecl AST cleanup (for now). llvm-svn: 62037
-
Sebastian Redl authored
No performance regression in my basic test. Also fixed a type error in ActOnFinishSwitchStmt's arguments (body is a stmt). llvm-svn: 62032
-
- Jan 10, 2009
-
-
Douglas Gregor authored
llvm-svn: 62016
-
- Jan 09, 2009
-
-
Douglas Gregor authored
that is neither a definition nor a forward declaration and where X has not yet been declared as a tag, introduce a declaration into the appropriate scope (which is likely *not* to be the current scope). The rules for the placement of the declaration differ slightly in C and C++, so we implement both and test the various corner cases. This implementation isn't 100% correct due to some lingering issues with the function prototype scope (for a function parameter list) not being the same scope as the scope of the function definition. Testcase is FIXME'd; this probably isn't an important issue. Addresses <rdar://problem/6484805>. llvm-svn: 62014
-
Sebastian Redl authored
llvm-svn: 62012
-