- Jan 20, 2009
-
-
Douglas Gregor authored
Remove the TopLevelDecls from TranslationUnit, since all of those decls are owned by the ASTContext's TranslationUnitDecl. There are definitely some leaking Decls now that I'll tackle tomorrow llvm-svn: 62568
-
Douglas Gregor authored
that every declaration lives inside a DeclContext. Moved several things that don't have names but were ScopedDecls (and, therefore, NamedDecls) to inherit from Decl rather than NamedDecl, including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't store empty DeclarationNames for these things, nor do we try to insert them into DeclContext's lookup structure. The serialization tests are temporarily disabled. We'll re-enable them once we've sorted out the remaining ownership/serialiazation issues between DeclContexts and TranslationUnion, DeclGroups, etc. llvm-svn: 62562
-
- Jan 19, 2009
-
-
Sebastian Redl authored
llvm-svn: 62537
-
Fariborz Jahanian authored
that rules for assignment. llvm-svn: 62524
-
Douglas Gregor authored
new DiagnoseIncompleteType. It provides additional information about struct/class/union/enum types when possible, either by pointing to the forward declaration of that type or by pointing to the definition (if we're in the process of defining that type). Fixes <rdar://problem/6500531>. llvm-svn: 62521
-
Sebastian Redl authored
Fix type of logical negation for C++. llvm-svn: 62475
-
- Jan 18, 2009
-
-
Sebastian Redl authored
These actions are extremely widely used (identifier expressions and literals); still no performance regression. llvm-svn: 62468
-
Sebastian Redl authored
llvm-svn: 62465
-
Sebastian Redl authored
llvm-svn: 62464
-
Sebastian Redl authored
llvm-svn: 62463
-
Nate Begeman authored
llvm-svn: 62458
-
Nate Begeman authored
llvm-svn: 62455
-
Nate Begeman authored
llvm-svn: 62440
-
Nate Begeman authored
llvm-svn: 62437
-
Anders Carlsson authored
Change TargetInfo::validateInputConstraint to take begin/end name iterators instead of the number of outputs. No functionality change. llvm-svn: 62433
-
- Jan 17, 2009
-
-
Fariborz Jahanian authored
llvm-svn: 62431
-
-
Douglas Gregor authored
llvm-svn: 62391
-
Douglas Gregor authored
even when we are still defining the TagDecl. This is required so that qualified name lookup of a class name within its definition works (see the new bits in test/SemaCXX/qualified-id-lookup.cpp). As part of this, move the nested redefinition checking code into ActOnTag. This gives us diagnostics earlier (when we try to perform the nested redefinition, rather than when we try to complete the 2nd definition) and removes some code duplication. llvm-svn: 62386
-
Sebastian Redl authored
Fix a type error; parser wanted to pass the third part of a for-statement as a statement; should be expression. llvm-svn: 62380
-
- 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
-