aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2009-12-23Add StmtIterator support for iterating over both the conditionTed Kremenek
variable initializer and the other expressions in an IfStmt. This change required adding a 'DoDestroy()' method for IfStmt that did not include destroying the initializer (since that is owned by the VarDecl). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Tidy up FindSubExprAssignments to not deference the child_iterator multiple ↵Ted Kremenek
times. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23When we see a CXXDefaultArgExpr during template instantiation, rebuildDouglas Gregor
the default argument so that we're sure to mark any referenced declarations. This gets us another little step closer to fixing PR5810. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92078 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Fix regression found by g++.dg/eh/alias1.C.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92072 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Increase StmtIterator size by one pointer (separating out the Stmt** from ↵Ted Kremenek
the union including Decl* and Decl**). This change is setup for adding StmtIterator support for condition variables in IfStmt, WhileStmt, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Mangle block pointer types. Fixes PR5858.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92069 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23There is no such thing as typeinfo for a cv-qualified type. AssertDouglas Gregor
that this is true when mangling, then fix up the various places in Sema and/or CodeGen that need to remove qualifiers. Addresses a linking issue when building LLVM with Clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23More cleanup/refactoring of the rewrite.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92062 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23simplify my previous patch.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92057 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23fix opencl extvector element extraction on rvalues. We previouslyChris Lattner
error_unsupported on test10 and crashed on test11. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92056 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23comment tweakChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92055 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Some cleanup and refactoring of rewriter.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92049 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Tidy up ~ASTContext a bit by turning orphan compound statements intoTed Kremenek
for loops. Also do not manually free the Type objects when the 'FreeMemory' flag is set, as they will be deallocated when the BumpPtrAllocator is destroyed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92047 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Diagnose the use of incomplete types in C++ typeid expressionsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92045 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Remove cv-qualifiers from the argument to typeidDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92041 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23This patch concludes rewriteing of __block variables to allowFariborz Jahanian
a small test case using Block_copy(...) API to pass. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92038 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Mangle template template parameters. Fixes PR5861.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92030 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Removed a FIXME comment.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92028 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23More rewriting of __block variables.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92027 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23fix the microsoft "charify" extension to return the charified token Chris Lattner
as a character literal, not a string literal. This might fix rdar://7486575 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92025 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23switch -Werror/-Wfatal-errors error conditions to use diagnostics insteadChris Lattner
of printf, patch by Christian Adaker! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Fix the overflow calculation in Sema::CheckTemplateArgument to be a bit moreEli Friedman
accurate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92018 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23When using a default function argument for a function template (orDouglas Gregor
member function thereof), perform the template instantiation each time the default argument is needed. This ensures that (1) We get different CXXTemporary objects for each instantiation, and (2) Any other instantiations or definitions triggered by the instantiation of the default argument expression are guaranteed to happen; previously, they might have been suppressed, e.g., because they happened in an unevaluated context. This fixes the majority of PR5810. However, it does not address the problem where we may have multiple uses of the same CXXTemporary within an expression when the temporary came from a non-instantiated default argument expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92015 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Remove RewriteBlocks. It has been superseded by RewriteObjCKovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92014 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23move a few more symbols to .rodata/.data.rel.roNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92012 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Fix DISABLE_SMART_POINTERS buildDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92008 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Add support for handling initializers in RewriteObjC::RewriteByRefVar().Steve Naroff
As the FIXME indicates, RewriteByRefVar() won't work for multiple declarators (in general). I've discussed this with Fariborz and he is aware of the limitation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92007 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Register call inliner as the last checker.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91992 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Migrate the call inliner to the Checker interface.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91991 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Add 'DeclStmt::DoDestroy()' which doesn't actually recurse over its child ↵Ted Kremenek
expressions (via StmtIterator), as those expressions are owned by the Decls and Types (which are destroyed elsewhere). This fixes a crasher reported in <rdar://problem/7487294>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91990 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23For inter-procedural analysis, predecessor node may be in another function.Zhongxing Xu
So we should use the current program point. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91989 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Add CFG support for the condition variable that can appear in IfStmts in C++ ↵Ted Kremenek
mode. Add transfer function support in GRExprEngine for IfStmts with initialized condition variables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91987 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Suppress dead store warnings involving objects initialized with ↵Ted Kremenek
CXXExprTemporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91986 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Add stack trace pretty printing in GRExprEngine::VisitLValue().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91985 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Fix CXXConstructExpr::getSourceRange() to not include the source ranges of ↵Ted Kremenek
CXXDefaultArgExprs when computing its range (since these expressions have no source range, and using them will make the encompassing range invalid). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91984 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Update for the intrinsic changes in llvm: the object size intrinsicEric Christopher
only takes a boolean second argument now. Update tests accordingly. Currently the builtin still accepts the full range for compatibility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91983 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Teach GRExprEngine::VisitLValue to ignore CXXExprWithTempories (for now).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91982 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Fix PR 5857. When casting from a symbolic region to an integer back to a ↵Ted Kremenek
pointer value, we were not correctly layering the correct ElementRegion on the original SymbolicRegion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91981 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Remove CharUnits::toString() to eliminate dependence on <string>.Ken Dyck
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91978 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Patch to do more rewrite of __block variables.Fariborz Jahanian
Still WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91977 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Eliminate a completely unnecessary buffer copy when parsing float literals.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91974 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Teach GRExprEngine::VisitLValue that we don't handle CXXZeroInitValueExprs yet.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91970 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Also treat the type of the subexpression as a pointer in ↵Ted Kremenek
GRExprEngine::VisitCast when the expression is handled as an lvalue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91969 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Driver: Fix '... -O4 -O0 ...', which was generating bitcode.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91962 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Driver: Drop ToolChain::getHost()Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Set a member's access specifier even if it doesn't match the previous specifier.John McCall
Prevents an assert on successive redeclarations. Fixed PR5573. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91956 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Add basic support for analyzing CastExprs as lvalues.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91952 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Objective-C methods can be variadic, too. Who knew.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91951 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Switch Sema::CreateOverloadedUnaryOp over to InitializationSequence.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-22warn when attribute warn_unused_result is applied to void functions.Nuno Lopes
while at it, remove an outdated FIXME git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91946 91177308-0d34-0410-b5e6-96231b3b80d8