summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Add helper method to convert from a RegionStoreRefBindings to a Store.Ted Kremenek2012-12-071-8/+13
| | | | llvm-svn: 169622
* Hexagon TC: forward appropriate args to assemblerMatthew Curtis2012-12-072-0/+19
| | | | llvm-svn: 169611
* Driver/ToolChains.cpp: Add the name CentOS5 32bit gcc44 (aka ↵NAKAMURA Takumi2012-12-071-0/+1
| | | | | | | | i386-redhat-linux6E). Thanks to Bruce Stephens. llvm-svn: 169610
* Clang-format: extracted FormatTokenSource from UnwrappedLineParser.Alexander Kornienko2012-12-073-61/+76
| | | | | | | | | | | | | | Summary: FormatTokenLexer is here, FormatTokenBuffer is on the way. This will allow to re-parse unwrapped lines when needed. Reviewers: djasper, klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D186 llvm-svn: 169605
* Hexagon TC: add cc1 defaults for hexagon-gccMatthew Curtis2012-12-072-3/+15
| | | | | | compatibility llvm-svn: 169599
* Small tweaks to clang-format.Daniel Jasper2012-12-072-3/+12
| | | | | | | Now not joining keywords with '::' and not putting a space between a pointer pointer. llvm-svn: 169594
* Cache queries to lookupPrivateMethod() within ↵Ted Kremenek2012-12-071-1/+29
| | | | | | | | | ObjCMethodCall::getRuntimeDefinition(). The same queries can happen thousands of times. This reduces the analysis time on one heavy Objective-C file by 2.4%. llvm-svn: 169589
* Fix the required args count for variadic blocks.John McCall2012-12-078-19/+111
| | | | | | | | | | | | | | | | | We were emitting calls to blocks as if all arguments were required --- i.e. with signature (A,B,C,D,...) rather than (A,B,...). This patch fixes that and accounts for the implicit block-context argument as a required argument. In addition, this patch changes the function type under which we call unprototyped functions on platforms like x86-64 that guarantee compatibility of variadic functions with unprototyped function types; previously we would always call such functions under the LLVM type T (...)*, but now we will call them under the type T (A,B,C,D,...)*. This last change should have no material effect except for making the type conventions more explicit; it was a side-effect of the most convenient implementation. llvm-svn: 169588
* clang/test: Remove "REQUIRES:LP64" in two tests. Each of them have explicit ↵NAKAMURA Takumi2012-12-072-4/+0
| | | | | | triple. llvm-svn: 169587
* Further reduce analysis time by 0.2% on a heavy Objective-C example by ↵Ted Kremenek2012-12-071-8/+9
| | | | | | avoiding over-eager canonicalization of clusters. llvm-svn: 169586
* Unbreak the GCC (4.4 & other bot) builds from r169571.David Blaikie2012-12-071-2/+4
| | | | llvm-svn: 169581
* Add file missed from r169574!Richard Smith2012-12-071-0/+3
| | | | llvm-svn: 169576
* Per [dcl.fct.def.default]p1, don't allow variadic special members to be ↵Richard Smith2012-12-072-0/+30
| | | | | | defaulted. llvm-svn: 169574
* Change RegionStore to always use ImmutableMapRef for processing cluster ↵Ted Kremenek2012-12-071-224/+250
| | | | | | | | | | | | | | bindings. This reduces analysis time by 1.2% on one test case (Objective-C), but also cleans up some of the code conceptually as well. We can possible just make RegionBindingsRef -> RegionBindings, but I wanted to stage things. After this, we should revisit Jordan's optimization of not canonicalizing the immutable AVL trees for the cluster bindings as well. llvm-svn: 169571
* [analyzer] Remove possible pessimizations from r169563.Jordan Rose2012-12-072-5/+3
| | | | | | | | | Thanks for reminding me about copy-elision, David. Passing references here doesn't help when we could get move construction in C++11. If we really cared, we'd use std::swap to steal the reference from the temporary arg, but it's probably not /that/ critical outside of Profile anyway. llvm-svn: 169570
* test/Index/skip-parsed-bodies/compile_commands.json: Remove XFAIL on cygming.NAKAMURA Takumi2012-12-071-1/+1
| | | | llvm-svn: 169566
* [analyzer] Avoid ProgramStateRef copy constructors.Jordan Rose2012-12-063-6/+8
| | | | | | | | | | Suggested by David Blaikie. ExplodedNode, CallEvent, and CheckerContext all hang onto their ProgramState, so the accessors can return a reference to the internal state rather than preemptively copying it. This helps avoid temporary ProgramStateRefs, though local variables will still (correctly) do an extra retain and release. llvm-svn: 169563
* Revert r169557. It seems that the test is too restrictedLogan Chien2012-12-069-26/+4
| | | | | | and will break the build on buildbot. llvm-svn: 169562
* [libclang] Add a test to make sure we skip bodies properly from "#pragma ↵Argyrios Kyrtzidis2012-12-064-1/+21
| | | | | | once" headers. llvm-svn: 169558
* Add i686-linux-android for gcc toolchain detection.Logan Chien2012-12-069-4/+26
| | | | | | | | | * Look for i686-linux-android under <sysroot>/lib/gcc. * This patch also slightly enhance the test suite for Android GCC toolchain detection. llvm-svn: 169557
* Add extra truthiness.Richard Smith2012-12-061-1/+1
| | | | llvm-svn: 169555
* Fixes Makefile for Format unit tests.Fariborz Jahanian2012-12-062-2/+2
| | | | llvm-svn: 169554
* hexagon-toolchain.c now passes on win32Matthew Curtis2012-12-061-3/+0
| | | | llvm-svn: 169548
* relax hexagon-toolchain.c even more to accomodate mingw32 targetsMatthew Curtis2012-12-061-143/+143
| | | | llvm-svn: 169544
* relax hexagon-toolchain.c CHECK to accomodate mingw32 targetsMatthew Curtis2012-12-061-2/+2
| | | | llvm-svn: 169543
* Simplify PDiag's move assignment overload a bit, the self-move check isn't ↵Benjamin Kramer2012-12-061-9/+5
| | | | | | | | actually necessary. This just empties out the diag, which is fine. llvm-svn: 169542
* Make sure to initialize the HasSkippedBody bit.Argyrios Kyrtzidis2012-12-062-2/+3
| | | | llvm-svn: 169540
* [libclang] Introduce a new indexing mode where we skip function bodiesArgyrios Kyrtzidis2012-12-0611-27/+420
| | | | | | | | | | | | | | | that were already parsed in the same "indexing session". An indexing session is defined as using the same CXIndexAction object for multiple clang_indexSourceFile calls. Passing CXIndexOpt_SkipParsedBodiesInSession as an indexing option will enable the mode where we try to skip bodies that were already parsed in another translation unit. If a function's body was skipped, the "flags" field in the CXIdxDeclInfo structure will have "CXIdxDeclFlag_Skipped" bit was set. llvm-svn: 169539
* Revert "[analyzer] Aggressively cut back on the canonicalization in ↵Ted Kremenek2012-12-061-37/+31
| | | | | | | | RegionStore." Jordan and I discussed this, and we are going to do this another way. llvm-svn: 169538
* Add move semantics to PartialDiagnostic, which can be very expensive to copy.Benjamin Kramer2012-12-061-0/+26
| | | | llvm-svn: 169535
* Un-XFAIL hexagon-toolchain.c test for mingw32Matthew Curtis2012-12-061-2/+2
| | | | llvm-svn: 169533
* Add a bit on FunctionDecl/ObjCMethodDecl to indicate if there was a bodyArgyrios Kyrtzidis2012-12-067-2/+30
| | | | | | that was skipped by the parser. llvm-svn: 169531
* [analyzer] Remove isa<> followed by dyn_cast<>.Jordan Rose2012-12-061-7/+6
| | | | llvm-svn: 169530
* [analyzer] Remove unused fields from ExprEngine.Jordan Rose2012-12-063-26/+10
| | | | | | | 'currStmt', 'CleanedState', and 'EntryNode' were being set, but only ever used locally. llvm-svn: 169529
* [analyzer] Remove checks that predate the linearized CFG.Jordan Rose2012-12-061-10/+1
| | | | llvm-svn: 169528
* [analyzer] Simplify RetainCountChecker's handling of dead symbols.Jordan Rose2012-12-062-71/+25
| | | | | | | | | Previously we made three passes over the set of dead symbols, and removed them from the state /twice/. Now we combine the autorelease pass and the symbol death pass, and only have to remove the bindings for the symbols that leaked. llvm-svn: 169527
* [analyzer] Use a smarter algorithm to find the last block in an inlined call.Jordan Rose2012-12-061-18/+3
| | | | | | | | | Previously we would search for the last statement, then back up to the entrance of the block that contained that statement. Now, while we're scanning for the statement, we just keep track of which blocks are being exited (in reverse order). llvm-svn: 169526
* [analyzer] Speed up ExplodedNode::Profile by avoiding copy constructors.Jordan Rose2012-12-061-1/+2
| | | | | | ProgramStateRef::Retain isn't free! llvm-svn: 169525
* [analyzer] Use optimized assumeDual for branches.Jordan Rose2012-12-061-6/+12
| | | | | | | This doesn't seem to make much of a difference in practice, but it does have the potential to avoid a trip through the constraint manager. llvm-svn: 169524
* [analyzer] Aggressively cut back on the canonicalization in RegionStore.Jordan Rose2012-12-061-31/+37
| | | | | | | | | | | | Whenever we touch a single bindings cluster multiple times, we can delay canonicalizing it until the final access. This has some interesting implications, in particular that we shouldn't remove an /empty/ cluster from the top-level map until canonicalization. This is good for a 2% speedup or so on the test case in <rdar://problem/12810842> llvm-svn: 169523
* [analyzer] Remove bindExprAndLocation, which does extra work for no gain.Jordan Rose2012-12-065-106/+7
| | | | | | | | This feature was probably intended to improve diagnostics, but was currently only used when dumping the Environment. It shows what location a given value was loaded from, e.g. when evaluating an LValueToRValue cast. llvm-svn: 169522
* Clang-format: IndentCaseLabels option, proper namespace handlingAlexander Kornienko2012-12-065-124/+220
| | | | | | | | | | | | | | Summary: + tests arranged in groups, as their number is already quite large. Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D185 llvm-svn: 169520
* Fixes a typo in this test.Fariborz Jahanian2012-12-061-1/+1
| | | | llvm-svn: 169519
* Clang-format: detect unbalanced braces.Alexander Kornienko2012-12-062-2/+4
| | | | | | | | | | | | Reviewers: klimek, djasper Reviewed By: klimek CC: cfe-commits, silvas Differential Revision: http://llvm-reviews.chandlerc.com/D176 llvm-svn: 169518
* Hexagon TC: Add/improve support for small dataMatthew Curtis2012-12-063-10/+127
| | | | | | threshold, pic, pie llvm-svn: 169517
* Fix hexagon-toolchain.c test to handle versioned clang executables.Matthew Curtis2012-12-061-12/+15
| | | | llvm-svn: 169513
* Hexagon TC: Reimplement Link::ConstructJob to callMatthew Curtis2012-12-066-51/+550
| | | | | | | | linker directly Rather than calling gcc. llvm-svn: 169512
* Sema: Don't emit a warning when __func__ is used in a lambda outside of a ↵Benjamin Kramer2012-12-062-2/+12
| | | | | | | | function. Fixes PR14518. llvm-svn: 169510
* test/Driver/hexagon-toolchain.c: Unbreak XPASS. Cygwin can be treated as ↵NAKAMURA Takumi2012-12-061-1/+1
| | | | | | unix-like system. llvm-svn: 169509
* Implements multiple parents in the parent map.Manuel Klimek2012-12-062-23/+84
| | | | | | | Previously we would match the last visited parent, which in the case of template instantiations was the last instantiated template. llvm-svn: 169508
OpenPOWER on IntegriCloud