aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-04-01Revert r178079, it caused PR15637.Nico Weber
Also add a test for PR15637. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178497 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Don't eagerly deserialize every templated function (and every static dataRichard Smith
member inside a class template) when loading a PCH file or module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178496 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01* Attempt to un-break gdb buildbot by emitting a lexical block end onlyAdrian Prantl
when we actually end a lexical block. * Added new test for line table / block cleanup. * Follow-up to r177819 / rdar://problem/13115369 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178490 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Only merge down a variable type if the previous declaration wasJohn McCall
visible. There's a lot of potential badness in how we're modelling these things, but getting this much correct is reasonably easy. rdar://13535367 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178488 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Adding parenType() and innerType() AST MatchersEdwin Vane
Updated docs and tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178487 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Cleanup. No functional change intended.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178481 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Thread safety analysis: Turn on checking for non-scalar types by default.DeLesley Hutchins
These were previously enabled as a "beta" feature, but they have now been extensively tested. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178478 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Add test for PR12527 (bug has apparently already been fixed).Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178476 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01[libclang] Make clang_Cursor_getArgument work with call-exprs.Argyrios Kyrtzidis
Patch by Matthias Kleine! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178475 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Improve formatting of function types.Daniel Jasper
Before: void * (*a)(int *, SomeType *); After: void *(*a)(int *, SomeType *); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178474 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Modifed debug-info-byval.cpp test to grep for .string or .asciz.Jyotsna Verma
The assembly output for Hexagon contains ".string missing_arg". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178471 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-31Fix typo. This method isn't used anywhere.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178453 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Remove unused default values.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178435 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Remove old NVPTX cpus and add new NVPTX cpusJustin Holewinski
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178419 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Use kernel metadata to differentiate between kernel and deviceJustin Holewinski
functions for the NVPTX target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178418 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Add support for gcc-compatible -mfprnd -mno-fprnd PPC optionsHal Finkel
gcc provides -mfprnd and -mno-fprnd for controlling the fprnd target feature; support these options as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178414 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Sema: Don't crash when trying to emit a precedence warning on postinc/decrement.Benjamin Kramer
Post-Inc can occur as a binary call (the infamous dummy int argument), but it's not really a binary operator. Fixes PR15628. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178412 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Restructure ExprEngine::VisitCXXNewExpr to do a bit less work.Jordan Rose
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178402 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Handle caching out while evaluating a C++ new expression.Jordan Rose
Evaluating a C++ new expression now includes generating an intermediate ExplodedNode, and this node could very well represent a previously- reachable state in the ExplodedGraph. If so, we can short-circuit the rest of the evaluation. Caught by the assertion a few lines later. <rdar://problem/13510065> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178401 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Add debug helper LocationContext::dumpStack().Jordan Rose
Sample output: #0 void construct(pointer __p, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType *> > *const &__val) #1 void push_back(const value_type &__x) #2 void destroy() #3 void release() #4 void ~ImmutableSet() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178400 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Garbage removedAnton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178398 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Test addedAnton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178397 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Enabled unix.Malloc checker.Anton Yartsev
+ Refactoring. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178388 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Tests for intersections with other checkers from ↵Anton Yartsev
MallocChecker.cpp factored out to NewDelete-intersections.mm git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178387 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29generalize testcaseAdrian Prantl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178383 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[analyzer] Address Jordan’s review of r178309 - do not register an extra ↵Anna Zaks
visitor for nil receiver We can check if the receiver is nil in the node that corresponds to the StmtPoint of the message send. At that point, the receiver is guaranteed to be live. We will find at least one unreclaimed node due to my previous commit (look for StmtPoint instead of PostStmt) and the fact that the nil receiver nodes are tagged. + a couple of extra tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178381 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[analyzer] Look for a StmtPoint node instead of PostStmt in ↵Anna Zaks
trackNullOrUndefValue. trackNullOrUndefValue tries to find the first node that matches the statement it is tracking. Since we collect PostStmt nodes (in node reclamation), none of those might be on the current path, so relax the search to look for any StmtPoint. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178380 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[libclang] Add test case for r178374.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178378 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29When looking for overridden ObjC methods, don't ignore 'hidden' ones.Argyrios Kyrtzidis
When using modules we should not ignore overridden methods from categories that are hidden because the module is not visible. This will give more consistent results (when imports change) and it's more correct since the methods are indeed overridden even if they are not "visible" for lookup purposes. rdar://13350796 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178374 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[libclang] If libclang logging is enabled, print all compiler diagnostics to ↵Argyrios Kyrtzidis
stderr instead of capturing them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178373 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[cmake] Add clang-headers as a dependency of libclang and if we have to copy ↵Argyrios Kyrtzidis
them for the IDE case, also create a symlink inside the libclang.dylib directory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178372 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Sema: Warn on sizeof on binary ops on decayed arrays.Benjamin Kramer
The array will decay into a pointer, creating an unexpected result. sizeof(array + int) is an easy to make typo for sizeof(array) + int. This was motivated by a NetBSD security bug, used sizeof(key - r) instead of sizeof(key) - r, reducing entropy in a random number generator. http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/kern/subr_cprng.c.diff?r1=1.14&r2=1.15&only_with_tag=MAIN&f=h Differential Revision: http://llvm-reviews.chandlerc.com/D571 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178371 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Bugfix/Followup for r177086.Adrian Prantl
* Store the .block_descriptor (instead of self) in the alloca so we can guarantee that all captured variables are available at -O0. * Add the missing OpDeref for the alloca. rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178361 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Improvement on r177086.Adrian Prantl
* Let DIType for block-captured self to point to the completed cached interface type. rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178360 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Hexagon: Set Hexagon tool-chain when configured as OSless target.Jyotsna Verma
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178358 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Remove sign-compare warning on systems that still use 32 bit time_ts.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178351 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Fix thinko (and the bots): We still want to warn in C.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178335 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Don't special case one line extern "C" decls.Rafael Espindola
We already avoided warning for extern "C" const char *Version_string = "2.9"; now we also don't produce any warnings for extern "C" { extern const char *Version_string2 = "2.9"; } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178333 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Add RDSEED intrinsic support defined in AVX2 extensionMichael Liao
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178331 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Add XTEST intrinsic defined in TSX extensionMichael Liao
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178330 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[cfg] Always guard (when AddStaticInitBranches == true) DeclStmts for static ↵Ted Kremenek
variables, not just ones with explicit initializers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178322 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[analyzer] Add static initializer test case (from <rdar://problem/13227740>).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178321 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Revert r178273 as it broke the Linux bootstrap due to false positivesTimur Iskhodzhanov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178320 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Add static analyzer support for conditionally executing static initializers.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178318 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Add configuration plumbing to enable static initializer branching in the CFG ↵Ted Kremenek
for the analyzer. This setting still isn't enabled yet in the analyzer. This is just prep work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178317 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28Objective-C: Produce precise diagnostic whenFariborz Jahanian
'isa' ivar is accessed provided it is the first ivar. Fixit hint will follow in another patch. This is continuation of // rdar://13503456 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178313 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[analyzer] Document existence of ConstPointerEscape.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178311 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[analyzer] Add support for escape of const pointers and use it to allow ↵Anna Zaks
“newed” pointers to escape Add a new callback that notifies checkers when a const pointer escapes. Currently, this only works for const pointers passed as a top level parameter into a function. We need to differentiate the const pointers escape from regular escape since the content pointed by const pointer will not change; if it’s a file handle, a file cannot be closed; but delete is allowed on const pointers. This should suppress several false positives reported by the NewDelete checker on llvm codebase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178310 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[analyzer] Apply the suppression rules to the nil receiver only if the value ↵Anna Zaks
participates in the computation of the nil we warn about. We should only suppress a bug report if the IDCed or null returned nil value is directly related to the value we are warning about. This was not the case for nil receivers - we would suppress a bug report that had an IDCed nil receiver on the path regardless of how it’s related to the warning. 1) Thread EnableNullFPSuppression parameter through the visitors to differentiate between tracking the value which is directly responsible for the bug and other values that visitors are tracking (ex: general tracking of nil receivers). 2) in trackNullOrUndef specifically address the case when a value of the message send is nil due to the receiver being nil. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178309 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[ms-cxxabi] Add more tests for r178297Reid Kleckner
This covers a few cases where the class of a member pointer is not a CXXRecordDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178307 91177308-0d34-0410-b5e6-96231b3b80d8