aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-09-19Add panic function "__assert_fail".Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56327 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Register the implicit null-dereferenced object as a notable symbol.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56319 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Implement second part of PR 2600: NSError** parameter may be null, and ↵Ted Kremenek
should be checked before being dereferenced. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56318 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Update Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56317 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Analysis option -warn-objc-nserror-methods is no longer available. (check is ↵Ted Kremenek
done automatically with -checker-cfref) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Change implementation of NSError** coding-style check to be invoked at the ↵Ted Kremenek
end of the retain/release analysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56312 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Finish pushing blocks attribute through the clang attribute machinery.Steve Naroff
Also added a couple simple tests from the "gcc.apple" test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56309 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Add driver support for invoking block rewriter.Steve Naroff
Also tweaked the create function to take an explicit output file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56305 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Enable '-warn-objc-nserror-methods' by default.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56298 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Implemented one of the checks requested in PR 2600:Ted Kremenek
"Method accepting NSError** argument should have non-void return value to indicate that an error occurred." Test case written, but the header needs to be delta-debugged reduced. Will commit shortly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56297 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-18Added CFNumberCreate test case to illustrate a 32-bit/64-bit arch issue.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56295 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Add path-sensitivity test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56294 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Improve x86 ABI compatibility.Daniel Dunbar
- Enables use of ABIArgInfo::Expand when needed. This greatly improves our x86 ABI compatibility. - As the infrastructure for target specific ABI handling isn't built yet, this change means ABI compatibility on other platforms is once again broken in a different way than before. - Upcoming: Figure out how to refactor ABI handling into targets. More documentation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56293 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Print current function on verification failures.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56291 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Drop CodeGenTypes parameter to classifyArgumentType.Daniel Dunbar
Ensure that ABIArgInfo::Default implementation for aggregrate types is sensible (StructRet on return and ByVal on arguments). No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56289 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Remove BlockStmtExpr. Steve Naroff
Block literals are now represented by the concrete BlockExpr class. This is cleanup (removes a FIXME). No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56288 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Another attempt to make test/Makefile return correct error code.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56285 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Fix http://llvm.org/bugs/show_bug.cgi?id=2760.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56280 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56274 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Fix comment typo.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56271 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Add support for ABIArgInfo::ExpandDaniel Dunbar
- No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56269 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-17Add support for rewriting blocks...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56266 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16Ignore XFAIL tests when checking for make failure in test/Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56262 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16Fix copy-paste error in test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56261 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16Minor pass-sensitivity improvement:Ted Kremenek
if we know that 'len != 0' and know that 'i == 0' then we know that 'i < len' must evaluate to true and cannot evaluate to false git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56260 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16Update Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56259 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16Remove support for BlockExprExpr. For example...Steve Naroff
^(expression) or ^(int arg1, float arg2)(expression) ...is no longer supported. All block literals now require a compound statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56257 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16Sema::ActOnBlockReturnStmt(): Need to perform the UsualUnaryConversions on ↵Steve Naroff
the return type. Sema::CheckReturnStackAddr(): Make sure we skip over implicit casts. Added some more test cases... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56254 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16ProgramPoint now takes the space of two pointers instead of one. This change wasTed Kremenek
motivated because it became clear that the number of subclasses of ProgramPoint would expand and we ran out of bits to represent a pointer variant. As a plus of this change, BlockEdge program points can now be represented explicitly without using a cache of CFGBlock* pairs in CFG. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56245 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16Fixed an offset calculation error.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56242 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-13Patch by Csaba Hruska!Ted Kremenek
"Here is a patch what replaces std::ostream with llvm::raw_ostream. This patch covers the AST library, but ignores Analysis lib." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56185 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-13Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56177 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Include links to stderr output of clang in the table of files that clang ↵Ted Kremenek
rejects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Add ccc support for -e and -sectorder.Daniel Dunbar
- llvmc2, save me! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56169 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Round out object size checking builtins (fprintf ones disabled as weDaniel Dunbar
have no mapping to FILE*). We are also missing printf format attributes for the printf style ones. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56168 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Add website links to testing coverage & specification references.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56167 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Add missing spaces in path diagnostics.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56166 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Teach FindSpecRefs how to link to C++ spec.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56164 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Add --suppress-system-warnings (on by default, use =0 to disable)Daniel Dunbar
- For investigating warnings in system headers / builtins. - Currently also enables the behavior that allows silent redefinition of types in system headers. Conceptually these are separate but I didn't feel it was worth two options (or changing LangOptions). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56163 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Updated checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56142 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-12Give string literals const element typesin C++, and cope with the deprecated ↵Douglas Gregor
C++ conversion from a string literal to a pointer-to-non-const-character git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56137 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Iterate on sema for :? in Objective-C:Daniel Dunbar
- Follow C99 behavior of using other operand type when one of operands is a null pointer constant. - Fix overenthusiastic devolving of any Objective-C types to id: o If either operand has an Objective-C object type then: - If both operands are interfaces and either operand can be assigned to the other, use that type as the composite type. - Otherwise, if either type is id, use id as the composite type. - Otherwise, warn about incompatible types and use id as the composite type. - Return handling of qualified idea to separate test following general pointer type checking. o Upgraded from old code to allow devolving to id (without warning, which matches GCC). - <rdar://problem/6212771> Add test case for issues fixed above, XFAIL though because it exposed a new issue in property handling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56135 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Add comments about C++ clause 3.3.2p4 that mentions that the condition ↵Argyrios Kyrtzidis
declaration should be local to an if/switch/while/for statement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56134 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Echo stderr/stdout from clang subprocess to both the stderr of ccc-analyzer andTed Kremenek
to an output file. This way users can both see the output of 'clang' as well as enable background logging of files that clang encounters problems on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56130 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Bug fix: <rdar://problem/6164367>Ted Kremenek
scan-build now correctly processes path prefixes that contain multiple '+' characters or other regex control characters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56121 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Added SSE41 pminsd, pmaxsd, roundps and a few othersMon P Wang
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56114 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Check if the environment variable TERM is defined before using it.Ted Kremenek
This fixes: <rdar://problem/6164279> scan-build gives error when invoked without TERM variable git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Update Xcode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56109 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11Fix <rdar://problem/6210791> clang ObjC rewriter: @try / @catch block with ↵Steve Naroff
no @finally does not call objc_exception_try_exit. Need a couple tweaks to RewriteObjCTryStmt(). Need to deal with implicit finally clauses (to make sure objc_exception_try_exit is called). Also fixed a related bug where we need to generate an implicit @catch else clause (to again make sure objc_exception_try_exit is called). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56104 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-11bool is not an extension in C++Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56103 91177308-0d34-0410-b5e6-96231b3b80d8