summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove the Chaining argument from the PCH/module generator. It's no longer usedDouglas Gregor2011-08-254-26/+11
| | | | llvm-svn: 138596
* Introduce a -cc1 option "-emit-module", that creates a binary moduleDouglas Gregor2011-08-2511-30/+41
| | | | | | | | | from the given source. -emit-module behaves similarly to -emit-pch, except that Sema is somewhat more strict about the contents of -emit-module. In the future, there are likely to be more interesting differences. llvm-svn: 138595
* objc - fix a bug exposed by my recent decl contextFariborz Jahanian2011-08-251-0/+3
| | | | | | changes. // rdar://10015110 llvm-svn: 138594
* Clean up the reloading of identifier information following the load ofDouglas Gregor2011-08-251-58/+41
| | | | | | | a top-level module. This code is still horrible and should go away, but we're not there yet. llvm-svn: 138586
* Preload source location entries as soon as we've loaded a particularDouglas Gregor2011-08-251-11/+15
| | | | | | | AST file, rather than waiting until we finish loading the top-level AST file. llvm-svn: 138585
* Reverse r138567 until a buildbot failure is investigated.Fariborz Jahanian2011-08-253-37/+28
| | | | llvm-svn: 138584
* Move file validation in the ASTReader from "top of chain" validationDouglas Gregor2011-08-251-65/+63
| | | | | | | to "when loading a particular module" validation, since it was only validating local information anyway. This shouldn't change anything. llvm-svn: 138583
* Factor the Module and ModuleManager classes out into separate headersDouglas Gregor2011-08-255-762/+890
| | | | | | | and .cpp files, since ASTReader.cpp was getting way too large. No functionality change. llvm-svn: 138582
* Use stronger typing for the flags on AggValueSlot and requireJohn McCall2011-08-2511-60/+87
| | | | | | | creators to tell us whether something needs GC barriers. No functionality change. llvm-svn: 138581
* Make Lexer::ComputePreamble accept a LangOptions parameter, otherwise it may beArgyrios Kyrtzidis2011-08-253-5/+7
| | | | | | out-of-sync how a file is compiled. Patch by Matthias Kleine! llvm-svn: 138580
* Teach -Wunreachable-code about dead code caused by macro expansions. This ↵Ted Kremenek2011-08-251-4/+8
| | | | | | should suppress false positives resulting from 'assert' and friends. llvm-svn: 138576
* Switch ASTReader::GetHeaderFileInfo() from a walk over the moduleDouglas Gregor2011-08-251-20/+43
| | | | | | chain to a proper search. llvm-svn: 138574
* Switch the forward walk through the module chain over to a depth-firstDouglas Gregor2011-08-251-9/+30
| | | | | | search in ASTReader::ReadPreprocessedEntities(). llvm-svn: 138572
* Fixes a typo in my last patch.Fariborz Jahanian2011-08-251-1/+1
| | | | llvm-svn: 138571
* objc -arse: Use DeclGroup for forward class declarations;Fariborz Jahanian2011-08-253-28/+37
| | | | | | as in @class foo, bar. More cleanup to follow. llvm-svn: 138567
* [driver] Do not add -kext to the link command line when compiling with Chad Rosier2011-08-251-17/+0
| | | | | | | -fapple-kext. Fixes <rdar://problem/10013310>. Reverts <rdar://problem/7809940>. llvm-svn: 138564
* Remove a bogus assertion from the AST reader, which assumed thatDouglas Gregor2011-08-251-12/+6
| | | | | | | | | | redeclarations of a particular entity would occur in source order. Friend declarations that occur within class templates (or member classes thereof) do not follow this, nor would modules. Big thanks to Erik Verbruggen for reducing this problem from the Very Large Qt preamble testcase he found. llvm-svn: 138557
* Use the module manager's search facility to look for methods with aDouglas Gregor2011-08-251-47/+88
| | | | | | | | | given selector, rather than walking the chain backwards. Teach its visitor how to merge multiple result sets into a single result set, combining the results of selector lookup in several different modules into a single result set. llvm-svn: 138556
* [analyzer] Move the leak bugs from CFRefCount to RetainReleaseChecker, with ↵Jordy Rose2011-08-251-50/+56
| | | | | | a level of indirection to handle GC vs. non-GC. llvm-svn: 138538
* [analyzer] MacOSKeychainAPIChecker: Cleanup AllocationState structure.Anna Zaks2011-08-251-11/+10
| | | | llvm-svn: 138535
* Add support for Microsoft __ptr32 keyword. Francois Pichet2011-08-252-2/+10
| | | | | | Patch by Chris Cudmore! llvm-svn: 138533
* [analyzer] Move the easy bug types from CFRefCount to RetainReleaseChecker.Jordy Rose2011-08-251-41/+28
| | | | | | (These bug types may have just been leaked before...!) llvm-svn: 138532
* [analyzer] MacOSKeychainAPIChecker: Add the custom BugReport visitor(which ↵Anna Zaks2011-08-251-11/+16
| | | | | | highlights the allocation site) to all the relevant reports within the checker. llvm-svn: 138531
* [analyzer] Move the RetainSummaryManager from CFRefCount to ↵Jordy Rose2011-08-251-29/+34
| | | | | | | | RetainReleaseChecker. Because Checkers live for an entire translation unit, this persists summary caches across multiple code bodies and avoids repeated initialization (but probably at the cost of memory). This removes the last references from RetainReleaseChecker to CFRefCount. llvm-svn: 138529
* blocks - capturing logic of byref block variable's expression Fariborz Jahanian2011-08-251-1/+17
| | | | | | | statement initializer makes safe assumption when a substatement is encounterred (with a fix me). llvm-svn: 138528
* [analyzer] Better fix for the "missing return" error, from Ted.Jordy Rose2011-08-241-3/+3
| | | | llvm-svn: 138526
* [analyzer] Silence another incorrect warning ("control reaches end of ↵Jordy Rose2011-08-241-0/+3
| | | | | | non-void function") llvm-svn: 138510
* [analyzer] Remove experimental FIXME that never actually applied to the code ↵Jordy Rose2011-08-241-2/+0
| | | | | | in trunk. llvm-svn: 138508
* [analyzer] CFRefReport and friends no longer depend on CFRefCount.Jordy Rose2011-08-241-39/+46
| | | | llvm-svn: 138506
* Remove long-dead FIXMEDouglas Gregor2011-08-241-2/+0
| | | | llvm-svn: 138498
* [analyzer] Do not use references in std::pair.Anna Zaks2011-08-241-4/+4
| | | | llvm-svn: 138497
* Don't force the complete deserialization of the visible-declarationsDouglas Gregor2011-08-245-76/+1
| | | | | | | | | | table when serializing an AST file. This was a holdover from the days before chained PCH, and is a complete waste of time and storage now. It's a good thing it's useless, because I have no idea how I would have implemented MaterializeVisibleDecls efficiently in the presence of modules. llvm-svn: 138496
* [analyzer] Unbreak the release buildbot.Anna Zaks2011-08-241-2/+1
| | | | llvm-svn: 138493
* Introduce a depth-first search of modules into the module manager,Douglas Gregor2011-08-241-24/+97
| | | | | | | | | | | | which supports both pre-order and post-order traversal via a visitor mechanism. Use this depth-first search with a post-order traversal to give predictable ordering semantics when walking all of the lexical declarations in the translation unit. Eventually, module imports will occur in the source code rather than at the beginning, and we'll have to revisit this walk. llvm-svn: 138490
* Follow up to r138470 (Add PNaCl TargetInfo). I've occasionally submitted ↵Ivan Krasin2011-08-241-1/+6
| | | | | | wrong patch. llvm-svn: 138489
* [analyzer] MacOSKeychainAPIChecker: Provide reacher diagnostic trace by ↵Anna Zaks2011-08-241-18/+73
| | | | | | pointing to the allocation site when reporting a leak. llvm-svn: 138479
* [analyzer] Silence an (incorrect) uninitialized variable warning, caught by ↵Jordy Rose2011-08-241-1/+2
| | | | | | Cameron. llvm-svn: 138477
* [analyzer] Copy GC mode setting from CFRefCount to RetainReleaseChecker in ↵Jordy Rose2011-08-241-20/+46
| | | | | | | | preparation for getting rid of CFRefCount. This is a little hacky for now but will get better once we decide the best way to handle this. llvm-svn: 138476
* Silence 'may be used uninitialized' warnings.Argyrios Kyrtzidis2011-08-241-2/+2
| | | | llvm-svn: 138475
* [analyzer] Allow checker writes to specify that no region should be ↵Anna Zaks2011-08-241-0/+4
| | | | | | accosiated with the report. (Useful when we report an error on endOfPath or deadSymbols, when the range of the last expression might have nothing to do with the error.) llvm-svn: 138474
* Add PNaCl TargetInfo.Ivan Krasin2011-08-241-0/+72
| | | | llvm-svn: 138470
* [analyzer] Remove unused DoNothingByRef and the special case for ↵Jordy Rose2011-08-241-13/+2
| | | | | | | | CFDictionaryCreate. This is a very small regression (actually introduced in r138309) because it won't catch leaks of objects passed by reference to CFDictionaryCreate (they're considered to have escaped and are ignored). If this is important we can put in a specific eval::Call to restore the functionality. llvm-svn: 138464
* In the AST reader, switch name lookup within a DeclContect over to theDouglas Gregor2011-08-242-119/+126
| | | | | | | | | | | | | | | | | | module DAG-based lookup scheme. This required some reshuffling, so that each module stores its own mapping from DeclContexts to their lexical and visible sets for those DeclContexts (rather than one big "chain"). Overall, this allows simple qualified name lookup into the translation unit to gather results from multiple modules, with the lookup results in module B shadowing the lookup results in module A when B imports A. Walking all of the lexical declarations in a module DAG is still a mess; we'll end up walking the loaded module list backwards, which works fine for chained PCH but doesn't make sense in a DAG. I'll tackle this issue as a separate commit. llvm-svn: 138463
* [analyzer] Slightly clean up the fix in 138432, so that it doesn't depend on ↵Jordy Rose2011-08-241-20/+41
| | | | | | the relative ordering of path-sensitive and path-insensitive checks. Still not ideal, but I think a real fix would require infrastructure that doesn't exist yet. llvm-svn: 138462
* Thread safety: Fix a few typos in last commit -- use LockID instead of Lock ↵Caitlin Sadowski2011-08-241-14/+14
| | | | | | in comments and start a couple methods with a lowercase letter llvm-svn: 138460
* Match LLVM change: TargetRegistry and TargetSelect have been moved to Support.Evan Cheng2011-08-241-1/+1
| | | | llvm-svn: 138451
* Reset FirstID (first diagnostic's file ID) to allow for invocations of the ↵Axel Naumann2011-08-241-1/+3
| | | | | | VerifyDiagnosticsClient on several input files. llvm-svn: 138434
* [analyzer] Fix a Heisenbug concerning object lifetimes with a hack. ↵Jordy Rose2011-08-241-1/+26
| | | | | | Hopefully a better fix coming soon. See comment for more details. llvm-svn: 138432
* [analyzer] Reapply 138390 "Clean up unused bits of CFRefCount", reverted in ↵Jordy Rose2011-08-241-11/+1
| | | | | | 138405. Ended up unrelated to any problems. llvm-svn: 138431
* [analyzer] Fix potential crasher with RAII. No functionality change. (No ↵Jordy Rose2011-08-241-38/+50
| | | | | | test because this particular circumstance requires an impossible series of events, but this is future-proofing.) llvm-svn: 138430
OpenPOWER on IntegriCloud