aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-05-31Very basic irgen support for new expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72672 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Don't try to call getFileCharacteristic if the function declaration has an ↵Anders Carlsson
invalid source location (as is the case for the global allocation functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Fix an off by one error when trying to perform copy initialization of ↵Anders Carlsson
operator new and operator delete arguments. Sebastian, please review. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72670 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Downgrade an error about "return in a no-return function" from being Chris Lattner
an error to being a warning that defaults to error. If you want this to be a warning, you have to explicitly pass -Winvalid-noreturn to clang to map it back to a warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72669 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Disallow exception specs on typedefs.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Fix for PR4285: allow intializing a const wchar_t array with a wide Eli Friedman
string. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72663 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Initial infrastructure for class template partial specialization. HereDouglas Gregor
we have the basics of declaring and storing class template partial specializations, matching class template partial specializations at instantiation time via (limited) template argument deduction, and using the class template partial specialization's pattern for instantiation. This patch is enough to make a simple is_pointer type trait work, but not much else. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72662 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Add a little FIXME for C++ class printingDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72660 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Unbreak the clang build by applying the same temporaryDuncan Sands
workaround for machine code emitter changes as was used in llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72657 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Add a new function for emitting new functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72656 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Emit destructors correctly for temporaries.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72655 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31When possible, don't emit the cleanup block. Instead, just move the ↵Anders Carlsson
instructions to the current block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72654 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Implement VisitCXXExprWithTemporaries for complex expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72653 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Call EmitCXXExprWithTemporaries.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72652 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-31Add more getters to the new AST nodes.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72651 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add lvalue irgen support for CXXBindTemporaryExpr.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30More temporary support.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72648 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Forgot the implementation. Thanks Eli.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72647 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add RemoveOutermostTemporaryBinding. Not used yet.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72644 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Clean up the newly added C++ AST nodes.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72643 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30It's OK for a full expr to be null. This fixes the failing test cases.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72642 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30ActOnReturnStmt should also take a FullExprArg.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72641 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30AddInitializerToDecl needs to take a full expression.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72640 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Update Xcode projectAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72639 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add the newly created temporary to the ExprTemporaries stack.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72638 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Get rid of CXXTempVarDecl.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Some small fixes for fields of reference type.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72636 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Stop using CXXTempVarDecl and use CXXTemporary instead.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72634 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Remove VarDecl from CXXConstructExpr.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Bind temporaries correctly when instantiating expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72632 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Remove VarDecl from CheckInitializerTypes now that CXXConstructExpr doesn't ↵Anders Carlsson
need to take a VarDecl anymore. (It still does, but it won't for long) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72630 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add Sema::MaybeBindToTemporary which takes an expression and (if needed) ↵Anders Carlsson
wraps it in a CXXBindTemporaryExpr. Use this when creating CXXTemporaryObjectExprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72629 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Small fixes to CXXTemporary and CXXBindTemporaryExpr.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add a CXXBindTemporaryExpr.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72627 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add a CXXTemporary class. Not used yet.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72626 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Replace a cast with a dyn_cast as suggested by Doug.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72624 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Cleqnup ideas from Chris, thanks.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72621 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30AST printing for C++ base classesDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72617 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Pretty printing and improved representation for namespace alias declarationsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72616 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add a hack to prevent us from printing out the __builtin_va_list Eli Friedman
declaration in -ast-print mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72615 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Printing for using directives, e.g.,Douglas Gregor
using namespace std::debug; Extended UsingDirectiveDecl to store the nested-name-specifier that precedes the nominated namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72614 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Never suppress specifiers when printing the parameters of a functionDouglas Gregor
declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72613 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Pass an ASTContext into Stmt::printPretty.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72612 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Pass an ASTContext into Stmt::printPretty.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72611 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add a Stmt::printPretty overload which takes an ASTContext; start Eli Friedman
transitioning callers over to pass one in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72609 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Expose an API to print a group of decls (like "int a,b;"). Eli Friedman
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72608 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Improve __builtin_nanf support; we now can deal with them as constants.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Fix some test failures involving -ast-print.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Clean up printing for Objective-C, designated initializers.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-30Add a member lookup criteria constructor for searching for overridden ↵Anders Carlsson
virtual member functions. Use this instead of regular name lookup when checking for overriding functions so we will see declarations that would otherwise be hidden. Fixes 6902298. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72601 91177308-0d34-0410-b5e6-96231b3b80d8