aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-07-20CommentBriefParser: use \returns if we can't find the \brief or just a plainDmitri Gribenko
paragraph. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160550 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20CMake: clang should depend on clang-headers, or bin/clang would not work better.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160549 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20Revert r160319, it caused PR13417. Add a test for PR13417.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160542 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20Let Expr::HasSideEffects() return false for NULL, bool literals, this, and ↵Nico Weber
nullptr. Fixes PR13413, -Wunused-private-field now warns on unused fields initialized to NULL. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160541 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20Rename warn-unused-member.cpp to warn-unused-private-field.cpp toNico Weber
make it match the flag it tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160536 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20Switch to the canonical pipe-based testing of clang output usingChandler Carruth
FileCheck. This avoids copying files around needlessly during test runs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160535 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-20Remove dos line endings. Please remember to configure your windows SVNChandler Carruth
clients to default text files to 'eol-native'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160534 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19[analyzer] Refactor VisitObjCMessage and VisitCallExpr to rely on theAnna Zaks
same implementation for call evaluation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160530 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19FileCheck-ize.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160528 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Remove HasSynthBitfield and all callers/writers/etc. Also removeEric Christopher
previous ResetObjCLayout calls since this is now handled in Sema. Part of rdar://11842763 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160527 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Reset the layout of an ObjC class if we see an ivar in a categoryEric Christopher
or implementation since we've now got a different layout. Fixes rdar://11842763 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160526 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Removing a spurious comment, no functionality changes.Aaron Ballman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160522 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19CommentDumper: print word-like arguments for block commands.Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160519 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19For varargs, diagnose passing ObjC objects by value like other non-POD types.Jordan Rose
While we still want to consider this a hard error (non-POD variadic args are normally a DefaultError warning), delaying the diagnostic allows us to give better error messages, which also match the usual non-POD errors more closely. In addition, this change improves the diagnostic messages for format string argument type mismatches by passing down the type of the callee, so we can say "variadic method" or "variadic function" appropriately. <rdar://problem/11825593> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160517 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Capitalize "Objective-C" and "C++" in user-facing contexts.Jordan Rose
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160516 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Don't crash checking a format string if one of the arguments is invalid.Jordan Rose
Previously, we would ask for the SourceLocation of an argument even if it were NULL (i.e. if Sema resulted in an ExprError trying to build it). <rdar://problem/11890818> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160515 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Add a test case for rdar://11806334.Argyrios Kyrtzidis
Makes sure we don't overflow the stack. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160511 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Simplify UninitializedValues.cpp by removing logic to handle the previous ↵Ted Kremenek
(imprecise) representation of '&&' and '||' in the CFG. This is no longer needed, and greatly simplifies the code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160494 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Remove an unused headerMichael Han
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160492 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Define __FINITE_MATH_ONLY__ based on -ffast-math and -ffinite-math-only.Bob Wilson
This macro was being unconditionally set to zero, preceded by a FIXME comment. This fixes <rdar://problem/11845441>. Patch by Michael Gottesman! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160491 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Relaxed enumeration constant naming rules for scoped enumerators so they no ↵Aaron Ballman
longer emit a diagnostic when the enumeration's name matches that of the class. Fixes PR13128. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160490 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Silence another GCC warning.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160488 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Revert r160404, "Eliminating the GCC_CAST hack, take two.", for now.NAKAMURA Takumi
It crashes mingw32-gcc-4.4. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160486 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Silence GCC warnings.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160485 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Force the OS X version to 10.6 for old-style simulator builds.Bob Wilson
The hack of recognizing a -D__IPHONE_OS_VERSION_MIN_REQUIRED option in place of -mios-simulator-version-min leaves the Darwin version unspecified. It can be set separately with -mmacosx-version-min (which makes no sense) or inferred to match the host version (which is unpredictable and usually wrong). This really needs to get cleaned up, but in the meantime, force the OS X version to 10.6 so that the behavior is sane for the iOS simulator. Thanks for Argyrios for the patch. <rdar://problem/11858187> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160484 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19CommentSema: add more inline commands to tablesDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160481 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-19Fix ParagraphComment::isWhitespace(): a paragraph without a non-whitespaceDmitri Gribenko
TextComment node was considered whitespace even if it contained other child nodes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160474 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Fix OverloadCandidateSet::clear to not leak PartialDiagnostics, found by SamuelRichard Smith
Panzer. I've not been able to trigger a failure caused by this, so no test yet. Also included is a small change from Paul Robinson to only consider the FailureKind if the overload candidate did actually fail. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160470 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Comment::dump(): show name of inline commandDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160467 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Comment parsing: don't parse whitespace before \endverbatim as a separate ↵Dmitri Gribenko
line of whitespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160464 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Rolling this change back because the fix doesn't fit the symptoms (even if ↵Aaron Ballman
it solves them). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160462 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18[analyzer] Combine all ObjC message CallEvents into ObjCMethodCall.Jordan Rose
As pointed out by Anna, we only differentiate between explicit message sends This also adds support for ObjCSubscriptExprs, which are basically the same as properties in many ways. We were already checking these, but not emitting nice messages for them. This depends on the llvm::PointerIntPair change in r160456. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160461 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18[analyzer] Rename addExtraInvalidatedRegions to get...RegionsJordan Rose
Per Anna's comment that "add..." sounds like a method that modifies the receiver, rather than its argument. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160460 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18[analyzer] Make CallEvent a value object.Jordan Rose
We will need to be able to easily reconstruct a CallEvent from an ExplodedNode for diagnostic purposes, and that's exactly what factory functions are for. CallEvent objects are small enough (four pointers and a SourceLocation) that returning them through the stack is fairly cheap. Clients who just need to use existing CallEvents can continue to do so using const references. This uses the same sort of "kind-field-dispatch" as SVal, though most of the nastiness is contained in the DISPATCH and DISPATCH_ARG macros at the end of the file. (We can't use a template for this because member-pointers to base class methods don't call derived-class methods even when casting to the derived class. We can't use variadic macros because they're a C99 feature.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160459 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18[analyzer] Remove obsolete ObjCPropRef SVal kind.Jordan Rose
ObjC properties are handled through their semantic form of ObjCMessageExprs and their wrapper PseudoObjectExprs, and have been for quite a while. The syntactic ObjCPropertyRefExprs do not appear in the CFG and are not visited by ExprEngine. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160458 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18[analyzer] Remove unused ExprEngine::VisitCXXTemporaryObjectExpr.Jordan Rose
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160457 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Fixing up a test case that was failing due to the lack of -std=c++11Aaron Ballman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160455 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18This fits into 80 columns without wrapping.Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160453 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Add caching for TextComment::isWhitespace(), ParagraphComment::isWhitespace().Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160452 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Remove trivial destructor from SVal.Benjamin Kramer
This enables the faster SmallVector in clang and also allows clang's unused variable warnings to be more effective. Fix the two instances that popped up. The RetainCountChecker change actually changes functionality, it would be nice if someone from the StaticAnalyzer folks could look at it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160444 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18On Darwin, the linker removes functions in CommentDumper.o (Comment::dump())Dmitri Gribenko
despite __attribute__(__used__). As explained by Argyrios, > .a archive files do some stripping of their own and they remove .o files that > contain functions that are not referenced by any other .o file. The fix is to use these functions from another .o file. Thanks, Argyrios! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160437 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Reverted custom init hook from r160369.Alexander Kornienko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160432 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Fix crash in RegionStoreManager::evalDerivedToBase() due to not handling ↵Ted Kremenek
references (in uses of dynamic_cast<>). Fixes <rdar://problem/11817693>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160427 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Teach CFG construction about destructors resulting from references to array ↵Ted Kremenek
types. Fixes crash in <rdar://problem/11671507>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160424 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18PR13381, part 2: when determining if a defaulted special member function shouldRichard Smith
be defined as deleted, take cv-qualifiers on class members into account when looking up the copy or move constructor or assignment operator which will be used for them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160418 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18PR13381: consider cv-qualifiers on a class member's type when determining whichRichard Smith
constructor will be used for moving that object, in the computation of its exception specification. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160417 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18PR13386: When matching up parameters between a function template declarationRichard Smith
and a function template instantiation, if there's a parameter pack in the declaration and one at the same place in the instantiation, don't assume that the pack wasn't expanded -- it may have expanded to nothing. Instead, go ahead and check whether the parameter pack was expandable. We can do this as a side-effect of the work we'd need to do anyway, to find how many parameters were produced. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160416 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18Fix test so it works the same way on 32-bit and 64-bit.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160415 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18CommentSema: \short is the same as \brief.Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160414 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-18When performing the deduced/actual argument type check for C++Douglas Gregor
[temp.deduct.call]p4 under Objective-C++ ARC, make sure to adjust the qualifiers to introduce the implicit strong lifetime when needed. Fixes <rdar://problem/11825671>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160412 91177308-0d34-0410-b5e6-96231b3b80d8