aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2011-07-29In the ASTReader, replace the continuous range maps whose value typesDouglas Gregor
were (Module*, Offset) with equivalent maps whose value type is just a Module*. The offsets have moved into corresponding "Base" fields within the Module itself, where they will also be helpful for local->global translation (eventually). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136441 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Fix assertion failure in CodeGen where the input operand to an asmPeter Collingbourne
instruction is tied to an output operand which is a pointer, and the input operand is narrower than the output operand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136438 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Fix an inconsistency in Sema::ConvertArgumentsForCall in thatPeter Collingbourne
the callee note diagnostic was not emitted in the case where there were too few arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136437 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Move the base type ID from the ASTReader's global type map into theDouglas Gregor
Module itself, which makes more sense. This pattern to be repeated several more times. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136436 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Remove an unused function (found by Clang's -Wunused-function)Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136434 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28objective-c: warn if implementation of a method in categoryFariborz Jahanian
masks an existing method in its primary class, class extensions, and primary class's non-optional protocol methods; as primary class, or one of its subclass's will implement this method. This warning has potential of being noisy so it has its own group. // rdar://7020493 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136426 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Some documentation fixes so that we are explicit about which iteration order ↵Jonathan D. Turner
is source-order. Also, removing unused NextInSource field of Module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136423 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Really remove FlatStoreManager and BasicStoreManager, this time from the ↵Ted Kremenek
driver. Also remove associated tests. Sorry for the messy commits; this is the result of a botched Git merge. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136422 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Remove FlatStoreManager and BasicStoreManager. The latter has long been ↵Ted Kremenek
obsolete and the former has no had development in a long time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136420 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28[analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to ↵Ted Kremenek
be linearized only when used by the static analyzer. This required a rewrite of LiveVariables, and exposed a ton of subtle bugs. The motivation of this large change is to drastically simplify the logic in ExprEngine going forward. Some fallout is that the output of some BugReporterVisitors is not as accurate as before; those will need to be fixed over time. There is also some possible performance regression as RemoveDeadBindings will be called frequently; this can also be improved over time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136419 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28[analyzer] fix bug in malloc checker where the tracked symbol would not ↵Ted Kremenek
properly be removed from the state. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136418 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28[analyzer] Add StoreManager::includedInBindings() to to query whether a ↵Ted Kremenek
region is used in any bindings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136416 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28[analyzer] Add safety checking in RegionStoreManager for string literal ↵Ted Kremenek
underruns. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136415 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28[analyzer] Teach Environment to not look through MaterializeTemporaryExprs.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136414 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28[analyzer] Fix bug in ObjCMessage where casts were being incorrectly ignored.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136413 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28[analyzer] fix handling of MaterializeTemporaryExpr by binding the result ↵Ted Kremenek
value to the proper expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136412 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Introduce the local-global mapping for preprocessed entities, and useDouglas Gregor
it appropriately. Also, patch up a place where we were failing to map local macro definition IDs into global macro definition IDs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136411 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Use local-to-global mapping appropriately for macro definitions in the ASTReaderDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136410 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Use the local -> global mapping functions for selectors moreDouglas Gregor
consistently in the ASTReader. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136395 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Teach the ASTReader to perform local and global mapping of identifierDouglas Gregor
IDs properly, although the mapping itself is still trivial. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136391 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Add a fixit for removal of unused label.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136389 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Added basic parsing for all remaining attributes, thread safetyCaitlin Sadowski
analysis. This includes checking that the attributes are applied in the correct contexts and with the correct number of arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136383 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Add */& mismatch fixit generation to the Sema::DiagnoseAssignmentResult().Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136379 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Make the deserialization of Sema::PendingInstantiations lazy. At thisDouglas Gregor
point, ASTReader::InitializeSema() has very little interesting work, *except* issues stemming from preloaded declarations. That's something we'll still need to cope with. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136378 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Refactor the */& mismatch fixit generation out of SemaOverload and provide a ↵Anna Zaks
simple conversion checking function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136376 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Promote the deserialized PendingInstantiations vector from being aDouglas Gregor
Module member to being an ASTReader member; we want it to be centralized for lazy deserialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136373 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Lazily deserialize Sema::VTableUses. Plus, fix the utterly andDouglas Gregor
completely broken deserialization mapping code we had for VTableUses, which would have broken horribly as soon as our local-to-global ID mapping became interesting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136371 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Make Sema::WeakUndeclaredIdentifiers lazily deserialized.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136368 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Added parsing for guarded_var, pt_guarded_var, lockable,Caitlin Sadowski
scoped_lockable, and no_thread_safety_analysis attributes, all for thread safety analysis git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136364 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Switch the ModuleManager over to using a FileManager and FileEntry* as part ↵Jonathan D. Turner
of its lookup instead of the filename. This is a more correct unique identifier, as symlinks can be handled by the FileManager. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136363 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Make Sema::ReferencedSelectors lazily deserialized.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136357 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Move a Module's ReferencedSelectorsData into the ASTReader itself, soDouglas Gregor
that it accumulates referenced selectors from each of the modules/PCH files as they are loaded. No actual functionality change, yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136356 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Make Sema::LocallyScopedExternalDecls lazily deserialized. In theory,Douglas Gregor
we could turn this into an on-disk hash table so we don't load the whole thing the first time we need it. However, it tends to be very, very small (i.e., empty) for most precompiled headers, so it isn't all that interesting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136352 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Fix a couple of problems with initialization and assignment toJohn McCall
__block variables where the act of initialization/assignment itself causes the __block variable to be copied to the heap because the variable is of block type and is being assigned a block literal which captures the variable. rdar://problem/9814099 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136337 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28AST serialization support for the Framework in IndexHeaderMapHeaderDouglas Gregor
fields of HeaderFileInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136332 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Introduce the "-index-header-map" option, to give special semanticsDouglas Gregor
for quoted header lookup when dealing with not-yet-installed frameworks. Fixes <rdar://problem/9824020>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136331 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Don't set Sema's StdNamespace or StdBadAlloc if they've already been setDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136318 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Switch Sema::DynamicClasses over to LazyVectorDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136317 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Cut down the number of open/close system calls for output files.Argyrios Kyrtzidis
For PCH files, have only one open/close for temporary + rename to be safe from race conditions. For all other output files open/close the output file directly. Depends on llvm r136310. rdar://9082880 & http://llvm.org/PR9374. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136315 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Switch Sema::ExtVectorDecls over to LazyVector.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136314 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Add template instantiations to the output of -ast-dump.Richard Trieu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136306 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27The -fapple-kext flag was designed to "do the right thing" for building code forChad Rosier
use in KEXTs. However, users/Xcode still need to tweak the linker flags to do the right thing, and end up using -Xlinker, for example. Instead, have the driver "do the right thing" when linking when -fapple-kext is present on the command line, and we should have Xcode use -fapple-kext instead of setting other flags like -Xlinker -kext or -nodefaultlibs. rdar://7809940 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136294 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Turn Sema::DelegatingCtorDecls into a LazyVector.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136273 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27The lock operand to an @synchronized statement is also John McCall
supposed to be a full-expression; make it so. In ARC, make sure we retain the lock for the entire protected block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136271 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Switch Sema::UnusedFileScopedDecls over to a LazyVector. Douglas Gregor
- Added LazyVector::erase() to support this use case. - Factored out the LazyDecl-of-Decls to RecordData translation in the ASTWriter. There is still a pile of code duplication here to eliminate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136270 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Add a utility function to the Lexer, which makes it easier to find a token ↵Anna Zaks
after the given location. (It is a generalized version of trans::findLocationAfterSemi from ArcMigrate, which will be changed to use the Lexer utility). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136268 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Introduce a new data structure, LazyVector, which is a vector whoseDouglas Gregor
contents are lazily loaded on demand from an external source (e.g., an ExternalASTSource or ExternalSemaSource). The "loaded" entities are kept separate from the "local" entities, so that the two can grow independently. Switch Sema::TentativeDefinitions from a normal vector that is eagerly populated by the ASTReader into one of these LazyVectors, making the ASTReader a bit more like me (i.e., lazy). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136262 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Forbid address-space-qualified function types, per TR 18037Peter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136257 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27Fix TR 18037 citation in SemaType.cppPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136256 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27CodeGen: rename CodeGenModule::Runtime to ObjCRuntimePeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136254 91177308-0d34-0410-b5e6-96231b3b80d8