aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-04-23Fix minor regression in bug report generation.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50195 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23When building PathDiagnostics for bug reports, generate a trimmed ↵Ted Kremenek
ExplodedGraph with a single path that BugReport objects can safely walk and introspect. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50194 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23Fixed: <rdar://problem/5881148>Ted Kremenek
Problem: In the recently refactored VisitDeref (which processes dereferences), we were incorrectly skipping the node just generated for the subexpression of the dereference. This was a horrible regression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50176 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23TranslationUnit now owns IdentifierTable, TargetInfo, and Selectors objectsTed Kremenek
when it is constructed via deserialization. This is done by recording a flag indicating that this is the case, and it deletes these objects by getting the references stored in the ASTContext object. This fixes some memory leaks that occurs when we deserialize translation units from bitcode files. The rationale between having TranslationUnit sometimes own these objects and sometimes not is that a TranslationUnit object can be constructed from state generated by the parser (Preprocessor; semantic analyzer, etc.), and thus in these cases won't own the IdentifierTable or Selectors, etc. During deserialization, there is no Preprocessor, so somebody needs to own these objects in order for them to be properly reclaimed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50149 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23Remove false path where the default branch in a switch statement wouldTed Kremenek
always be taken even if it was not feasible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50132 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23fix a rewriter crash on zero length files.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50126 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23Added panic function "assfail".Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50119 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-23Patch to build AST for property implementation declarations andFariborz Jahanian
to print declaration from its AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50117 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22For default branches in switch statements with no default label, print outTed Kremenek
the line we are going to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50113 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Rewrote VisitDeclStmt to properly handle initializers that can do anything.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50112 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Added lval type (and tracking) for StringLiterals.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50109 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Added "nonlval::LValAsInteger" to represent abstract LVals casted to ↵Ted Kremenek
integers, allowing us to track lvals when they are casted back to pointers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50108 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22"This patch renames Chris Lattner
DeclContext *CtxDecl -> DeclContext *DeclCtx DeclContext *CD -> DeclContext *DC It makes the code more consistent." Patch by Zhongxing Xu! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50105 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22PathDiagnosticClients now retain ownership of passed PathDiagnostics, requiringTed Kremenek
them to not be stack-allocated. HTMLDiagnostics now batches PathDiagnostics before emitting HTML in its dtor. This is a workaround for a problem when we trampled the Preprocessor state when highlighting macros (sometimes resulting in an assertion failure). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50102 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Use back() instead of end()-1Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50098 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Added panic function "dtrace_assfail".Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50091 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Add VisitArraySubscriptExpr.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50090 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Hardcode "Assert" as a no-return function (panic).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50089 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Add some basic ARM asm constraintsNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50085 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Added null dereference test involving arrays.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50084 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Added null-dereference check for ArraySubscriptExpr.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50083 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-22Don't double-increment counter for -arch and -isysrootNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50082 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Allow property in base class to be implemented in a Fariborz Jahanian
derived class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50074 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Added missing expected-warning.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50073 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Added null dereference test case looking for null dereferences involving ↵Ted Kremenek
MemberExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50072 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Added support for detected bad dereferences involving MemberExprs, e.g. x->f ↵Ted Kremenek
where "x" is NULL. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50071 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Remove unused "verbose" argument to compile(). Also unbreaks ccc-analyzer.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50066 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21More semantics checks of properties. Property implementation can implicitly useFariborz Jahanian
ivar of same name. Better diagnostics to bring home this point. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50065 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Support for @dynamic AST build.Fariborz Jahanian
More property semantics checking. First test case for ObjC2's property implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50057 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Pass "-arch" down to clang.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50056 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Fix pasto, thanks to Anders for pointing this out.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50055 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Continuation of work on ObjC2's properties.Fariborz Jahanian
Added iterators, methods to find property and categories. Use them in doing semantic analysis on property implementation declarations. Fixed typos. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50050 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21add arm supportChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50049 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-21Clean up handling of function redeclarationsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50021 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20Fix improper dereference of end() iterator. Patch by Argiris Kirtzidis!Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50012 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20Fix PR2236Nate Begeman
Add test Implement feedback from Chris re: PR1998 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50001 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20Two improvements to initializer parsing:Chris Lattner
1. If we hit a semantic error, try harder to recover to emit diagnostics for later initializer errors (PR2241). 2. Don't leak parsed initializers on an error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49998 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20for exponent-related errors, emit the diagnostic on the 'e' or 'p'.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49997 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20when emitting diagnostics about some character in a numericChris Lattner
literal, indicate what character the error is about or where it would be. For example: pr2241.c:1:17: error: exponent has no digits float f[] = { 1e , 1ee0 }; ^ git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49996 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20Only generate code for static functions and global variables that are ↵Nate Begeman
actually used. Warn about unused static functions and variables. This fixes PR1998. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49987 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20Restructure and simplify Sema::ObjCQualifiedIdTypesAreCompatible,Chris Lattner
deleting dead code, making other code more obvious, and fixing a bug. This fixes these (bogus) warnings in release mode: SemaExprObjC.cpp:383: warning: 'RHSProtoE' may be used uninitialized in this function SemaExprObjC.cpp:383: warning: 'RHSProtoI' may be used uninitialized in this function git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49984 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20html::EscapeText (using the Rewriter) now replaces tabs by default.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49982 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20implement a fixme, add support for ++/-- on long double.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49980 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-20use simplified ConstantFP:get method.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49979 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19replace form feeds with an <hr> tag.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49975 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19simplify the return of InitializePreprocessor to be bool instead of a fileidChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49974 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19simplify ownership of the predefines buffer.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49973 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19Gracefully handle when the receiver of a message expression is not a pointer ↵Ted Kremenek
type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49959 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19Pass "-isysroot" option down to clang.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49956 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-19Fix spelling/grammar in comment.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49955 91177308-0d34-0410-b5e6-96231b3b80d8