aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-05-12Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71523 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-12add some more content.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Encapsulate template arguments lists in a new class,Douglas Gregor
TemplateArgumentList. This avoids the need to pass around pointer/length pairs of template arguments lists, and will eventually make it easier to introduce member templates and variadic templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11BugReport::getEndPath() - Only add a Stmt's range to the constructed ↵Ted Kremenek
PathDiagnosticEventPiece if the BugReport contained no explicit ranges. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Factor code that's common to EmitCXXMemberCallExpr and ↵Anders Carlsson
EmitCXXConstructorCall out into a EmitCXXMemberCall function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Use Text::ParseWords to make 'clang -###' parsing more robust.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71504 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Tweak this non-default test so it still works w/ x86 feature support.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71494 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Test for x86 target features, I forgot to commit this.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Darwin x86-32: Multi-dimensional arrays were not handled correctly,Daniel Dunbar
spotted by Eli! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71490 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Friend declarations are only valid inside class definitions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71489 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11When stripping element regions for invalidating region values, treat ↵Ted Kremenek
FieldRegions and ObjCIvarRegions as "base" regions in addition to VarRegions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71488 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11pull a bunch of options out of clang-cc.cpp. This doesn't includeChris Lattner
options that the driver swizzles. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71487 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Fix test case by always setting the type spec type, even for friend decls.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71486 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Make cleanup-stack.c test stronger, and work in release-asserts mode.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71484 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Add an ActOnFriendDecl and call it for friend class decls.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71482 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11For friend class decls, always use TK_Reference so we'll try to look up ↵Anders Carlsson
existing class decls first. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71481 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11EdgeBuilder: DeclStmts and BinaryOperators are not the enclosing location ↵Ted Kremenek
context when they are used as initialization code for loops. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71480 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11EdgeBuilder::cleanUpLocation() should used the PathDiagnosticLocation ↵Ted Kremenek
constructor for a single point, not a range. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71477 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11ccc-analyzer should only analyze C and Objective-C files.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Implement the notions of the "current instantiation" and "unknownDouglas Gregor
specialization" within a C++ template, and permit name lookup into the current instantiation. For example, given: template<typename T, typename U> struct X { typedef T type; X* x1; // current instantiation X<T, U> *x2; // current instantiation X<U, T> *x3; // not current instantiation ::X<type, U> *x4; // current instantiation X<typename X<type, U>::type, U>: *x5; // current instantiation }; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71471 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11BugReporter (extensive diagnostics): Add EdgeBuilder::cleanUpLocation for ↵Ted Kremenek
canonicalization locations and use this in both popLocation and rawAddEdge. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71470 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Add ParentMap:getParentIgnoreParens().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71469 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Patch to allow Nonfragile ABI to use 32-bit style legacyFariborz Jahanian
message dispage API for all but a few messages. This is a runtime performance improvement and there is not meant to be a functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71463 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Darwin x86_32: Treat records with unnamed bit-fields as "empty".Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71461 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Fix regression reported in <rdar://problem/6866843>. The analyzer should ↵Ted Kremenek
extend the lifetime of an object stored to a container. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71452 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11More improvements for GNU runtime objc EH, patch by David Chisnall!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71451 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Move terminal-width computation over to llvm::sys. Update to LLVMDouglas Gregor
r71448 required. Fixes PR 4148 and PR 4183. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71450 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Add test case for <rdar://problem/6257780>.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71444 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Add a test for canonicalization of template argumentsDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71436 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71435 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Fix a bug found by Thomas Clement where 'return [[[NSString alloc] init] ↵Ted Kremenek
autorelease]' would emit a false 'too many overreleases' error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71432 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11TypedRegion is a too general assumption. Usually we only want to invalidateZhongxing Xu
the VarRegion as a super region of an ElementRegion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71431 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11When retrieving an ElementRegion, if its super region is a StringRegion,Zhongxing Xu
retrieve the string value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71430 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-11Fix a bug that leads to infinite loop. Set the correct element type toZhongxing Xu
ElementRegion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71428 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10With the introduction of nullptr, a template argument that refers to a ↵Douglas Gregor
declaration can now be NULL. Use cast_or_null appropriately git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71412 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10The canonical declaration of a NULL declaration is NULLDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71409 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10Implement the semantics of the injected-class-name within a classDouglas Gregor
template. The injected-class-name is either a type or a template, depending on whether a '<' follows it. As a type, the injected-class-name's template argument list contains its template parameters in declaration order. As part of this, add logic for canonicalizing declarations, and be sure to canonicalize declarations used in template names and template arguments. A TagType is dependent if the declaration it references is dependent. I'm not happy about the rather complicated protocol needed to use ASTContext::getTemplateSpecializationType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71408 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10Update minor points in C++ status table.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10Implement C++0x nullptr.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71405 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71404 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10Add special warning about returning a retained object where a GC'ed object ↵Ted Kremenek
is expected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71397 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10retain/release checker: Flag a warning for non-owned objects returnedTed Kremenek
where an owned one is expected. Also add preliminary checking for returning a positive retain count object in GC mode where an owned GC object is expected. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71388 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71387 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10analyzer:Ted Kremenek
- Improve -autorelease diagnostics. - Improve VLA diagnostics. - Use "short description" for bug when outputting to TextDiagnostics git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71383 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-10Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Add total hack to get scan-build working again. ccc-analyzer callsTed Kremenek
'clang -###' to get the appropriate arguments to pass to clang-cc. This isn't a permanent solution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71364 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09force a target triple so that the right greppable output happens.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71361 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09When casting VarRegion, if the var type is aggregate type and the cast-toZhongxing Xu
pointee type is scalar type, create element region regardless with the sizes of types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71360 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-09Remove the rest TypedViewRegion processing code. There should be noZhongxing Xu
TypedViewRegion usage in region store. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71359 91177308-0d34-0410-b5e6-96231b3b80d8