summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Add placeholder code in the static analyzer for MemberExprs involving struct ↵Ted Kremenek2008-04-301-10/+45
| | | | | | temporaries. llvm-svn: 50502
* Add workaround for __builtin_offsetof in the static analyzer.Ted Kremenek2008-04-301-0/+6
| | | | llvm-svn: 50500
* Provide SizeOfAlignTypeExpr workaround in the static analyzer for taking the ↵Ted Kremenek2008-04-301-0/+6
| | | | | | sizeof of a ObjCInterfaceType. llvm-svn: 50499
* Support implicit casts from pointers to references.Ted Kremenek2008-04-301-1/+7
| | | | llvm-svn: 50498
* When creating LVals for array entries, canonicalize entries with a 0 index.Ted Kremenek2008-04-301-1/+9
| | | | llvm-svn: 50497
* Teach more of the static analyzer about ObjCQualifiedIdType.Ted Kremenek2008-04-305-15/+23
| | | | llvm-svn: 50494
* Teach the static analysis engine about ObjCQualifiedIdType.Ted Kremenek2008-04-302-10/+13
| | | | llvm-svn: 50493
* Add conjured symbols for decl initializations.Ted Kremenek2008-04-301-3/+22
| | | | | | Add db_error as panic function. llvm-svn: 50489
* Handle lval::ArrayOffset and lval::FieldOffset in EvalNE and EvalEQ.Ted Kremenek2008-04-301-0/+10
| | | | llvm-svn: 50486
* Verify the whole module after codegen to catch silly IR bugs.Chris Lattner2008-04-301-0/+4
| | | | llvm-svn: 50485
* fix 'var unused' warning.Chris Lattner2008-04-301-2/+2
| | | | llvm-svn: 50484
* Added test case for the static analyzer.Ted Kremenek2008-04-301-0/+10
| | | | llvm-svn: 50467
* Invalidate old subexpression bindings when binding UnknownVal.Ted Kremenek2008-04-301-3/+7
| | | | llvm-svn: 50466
* Simplify RemoveDeadBindings.Ted Kremenek2008-04-291-17/+9
| | | | llvm-svn: 50458
* Added test case to test null dereference checking with lval::ArrayOffset.Ted Kremenek2008-04-291-0/+10
| | | | llvm-svn: 50454
* Add lval::ArrayOffset, which represent the locations of entries in an array.Ted Kremenek2008-04-296-67/+126
| | | | llvm-svn: 50453
* Default visbility for instance variables is protected.Fariborz Jahanian2008-04-291-1/+1
| | | | | | Patch by Emerson Murhpy-Hill. llvm-svn: 50452
* Added lval::FieldOffset, which represents symbolic lvalues for field offsets ↵Ted Kremenek2008-04-296-36/+91
| | | | | | | | from other Lvalues. This removes the failure in null-deref-ps.c (test suite). llvm-svn: 50449
* Major rewrite/refactoring of static analysis engine. We now useTed Kremenek2008-04-297-670/+601
| | | | | | | | | | | | EvalStore/EvalLoad to handle all loads/stores from symbolic memory, allowing us to do checks for null dereferences, etc., at any arbitrary load/store (these were missed checks before). This also resulted in some major cleanups, some conceptual, and others just in the structure of the code. This temporarily introduces a regression in the test suite (null-deref-ps.c) before I add a new LVal type for structure fields. llvm-svn: 50443
* Pass fobjc-gc-only and fobjc-gc options down to clang.Ted Kremenek2008-04-291-1/+1
| | | | llvm-svn: 50426
* Update typestate logic to support GC-mode.Ted Kremenek2008-04-291-3/+8
| | | | llvm-svn: 50396
* Implement semantics of CFMakeCollectable for the CF-reference count checker.Ted Kremenek2008-04-291-29/+65
| | | | llvm-svn: 50395
* Provide the option to run the CF-retain checker in GC enabled mode.Ted Kremenek2008-04-295-29/+58
| | | | | | The transfer functions for the checker don't do anything special yet in GC mode. llvm-svn: 50394
* Convert CFLF to LF. CRLF was causing this test to fail under Mac OS X.Ted Kremenek2008-04-291-15/+15
| | | | llvm-svn: 50388
* Add -fobjc-gc and -fobjc-gc-only options to the driver.Ted Kremenek2008-04-293-7/+40
| | | | | | Add corresponding enum in LangOptions. llvm-svn: 50387
* Bug fix in CFG::getBlockEdgeImpl(): Use a BumpPtrAllocator to allocateTed Kremenek2008-04-282-15/+76
| | | | | | | | | std::pair<CFGBlock*, CFGBlock*> that have an 8-byte alignment for use with ProgramPoint. This fixes a bug reported by Argiris where using std::set<> on Windows would result in a 4-byte alignment, not an 8-byte alignment. Fixes: <rdar://problem/5892265> llvm-svn: 50364
* Call ExitScope before ActOnFinishNamespaceDef.Argyrios Kyrtzidis2008-04-271-2/+3
| | | | | | This is the same for functions and it's preferable to have the namespace as DeclContext during ActOnPopScope. llvm-svn: 50322
* Parsing of namespaces:Argyrios Kyrtzidis2008-04-2712-47/+294
| | | | | | | | | -NamespaceDecl for the AST -Checks for name clashes between namespaces and tag/normal declarations. This commit doesn't implement proper name lookup for namespaces. llvm-svn: 50321
* Use PushOnScopeChains to introduce a decl into scope.Argyrios Kyrtzidis2008-04-271-4/+2
| | | | llvm-svn: 50320
* Make assertions for all addresses passed to ProgramPoint that they have at ↵Argyrios Kyrtzidis2008-04-262-10/+11
| | | | | | least an 8-byte alignment. llvm-svn: 50310
* Pass down more -iXXX options that clang supportsTed Kremenek2008-04-251-2/+9
| | | | llvm-svn: 50304
* fix broken tagTed Kremenek2008-04-251-1/+1
| | | | llvm-svn: 50299
* Another link fix.Ted Kremenek2008-04-251-1/+1
| | | | llvm-svn: 50298
* Fix links.Ted Kremenek2008-04-251-3/+3
| | | | llvm-svn: 50297
* Fix bug in BugReporter where we didn't handle emitting diagnostics forTed Kremenek2008-04-251-10/+28
| | | | | | | | | | empty CFGBlocks that only contained a terminator. Added improved diagnostics for break and continue statements and default branches in switch statements. This fixes <rdar://problem/5889244>. llvm-svn: 50286
* Added some notes about the LLVM "checker". This isn't a public link yet; ↵Ted Kremenek2008-04-251-0/+242
| | | | | | still refining. llvm-svn: 50283
* remove the 'unused static' diagnostic from codegen. This should be Chris Lattner2008-04-253-21/+0
| | | | | | | reimplemented in Sema someday. This is tracked in PR2236. Until then disabling it removes some bogus diagnostics (see 2236). llvm-svn: 50263
* initial support for recognizing __transparent_union__ attributesNuno Lopes2008-04-255-1/+43
| | | | | | comments on the ML will follow llvm-svn: 50262
* Handle dereferences of function pointers (which return a handle to the ↵Ted Kremenek2008-04-251-0/+3
| | | | | | function). llvm-svn: 50246
* Don't abort on GetRVal when the LVal is a StringLiteralVal.Ted Kremenek2008-04-251-0/+4
| | | | llvm-svn: 50245
* Don't emit empty strings for path diagnostics when taking the default branch ↵Ted Kremenek2008-04-251-0/+7
| | | | | | of a switch statement that has no label. llvm-svn: 50242
* Do a better job at computing dead symbols.Ted Kremenek2008-04-256-25/+34
| | | | | | | | | Implemented support for better localized leaks in the CF reference count checker. Now leaks should be flagged close to where they occur. This should implement the desired functionality in <rdar://problem/5879592>, although the diagnostics still need to be improved. llvm-svn: 50241
* Add preliminary support for flagging leaks around when they happen (doesn't ↵Ted Kremenek2008-04-241-2/+70
| | | | | | work yet). llvm-svn: 50237
* Better handling for directory names in HTML diagnostics. Work in progress.Ted Kremenek2008-04-241-1/+7
| | | | llvm-svn: 50234
* More boilerplate for handling specialized-transfer function logic for dead ↵Ted Kremenek2008-04-243-36/+47
| | | | | | symbols. llvm-svn: 50233
* Patch to diagnose inconsistancies between properties declared in current andFariborz Jahanian2008-04-243-2/+79
| | | | | | its super class. This patch is incomplete. llvm-svn: 50228
* Added initial boilerplate in GRExprEngine to allow checker-specific transferTed Kremenek2008-04-244-12/+57
| | | | | | function logic to act when symbols become dead. llvm-svn: 50221
* Added uninitialized-values (path-sensitive) test case as a regression testTed Kremenek2008-04-241-0/+18
| | | | | | | for the fix in r50178 (http://llvm.org/viewvc/llvm-project?rev=50178&view=rev). This fix was for <rdar://problem/5881148>. llvm-svn: 50220
* Added test case for functionality fix in rdar://problem/5886141 (handle ↵Ted Kremenek2008-04-241-1/+12
| | | | | | variadic CF Create functions). llvm-svn: 50219
* CF reference count checker: handle variadic functions that allocate CF objects.Ted Kremenek2008-04-241-56/+54
| | | | | | | | | This fixes <rdar://problem/5886141>. Part of this change resulted in creating sparser summaries. I also added some more comments and did some minor code cleanups. llvm-svn: 50214
OpenPOWER on IntegriCloud