summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* handle CXXFunctionalCastExpr in visitLValue and Environment.Zhongxing Xu2010-11-252-0/+16
| | | | llvm-svn: 120143
* Improve comments.Zhongxing Xu2010-11-251-2/+1
| | | | llvm-svn: 120142
* Add dump method.Zhongxing Xu2010-11-251-0/+4
| | | | llvm-svn: 120141
* Begin work on actually laying out virtual bases.Anders Carlsson2010-11-251-1/+32
| | | | llvm-svn: 120140
* Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen ↵Anders Carlsson2010-11-255-30/+40
| | | | | | as well. llvm-svn: 120137
* Tie DefineVTablesUsed() in with recursive function instantiation so that we emitNick Lewycky2010-11-252-21/+28
| | | | | | | | | | a useful template instantiation stack. Fixes PR8640. This also causes a slight change to where the "instantianted from" note shows up in truly esoteric cases (see the change to test/SemaCXX/destructor.cpp), but that isn't directly the fault of this patch. llvm-svn: 120135
* Remove the PrimaryBaseInfo class.Anders Carlsson2010-11-241-2/+3
| | | | llvm-svn: 120134
* Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual.Anders Carlsson2010-11-247-14/+14
| | | | llvm-svn: 120133
* Move code off the primary base info iterator. No functionality change.Anders Carlsson2010-11-241-4/+14
| | | | llvm-svn: 120132
* Use the newly added function in ASTRecordLayoutBuilder.Anders Carlsson2010-11-241-38/+3
| | | | llvm-svn: 120131
* Fix typo.Anders Carlsson2010-11-241-2/+2
| | | | llvm-svn: 120130
* Add CXXRecordDecl::getIndirectPrimaryBases.Anders Carlsson2010-11-242-1/+54
| | | | llvm-svn: 120129
* Simplify code.Anders Carlsson2010-11-241-4/+2
| | | | llvm-svn: 120118
* Fix a (probably very old) regression where we weren't using the typedef name ↵Anders Carlsson2010-11-241-6/+5
| | | | | | for anonymous tag types. llvm-svn: 120113
* Revert r120110. We don't want to call ConvertType from within getCGRecordLayout.Anders Carlsson2010-11-241-7/+5
| | | | llvm-svn: 120112
* Use ConvertType instead of ConvertTagDeclType, since ConvertType will assign ↵Anders Carlsson2010-11-241-3/+5
| | | | | | a name to the type. llvm-svn: 120110
* Simplify code.Anders Carlsson2010-11-242-20/+2
| | | | llvm-svn: 120109
* Fix build.Anders Carlsson2010-11-241-1/+2
| | | | llvm-svn: 120108
* Make CodeGenTypes::getCGRecordLayout compute the layout lazily if it doesn't ↵Anders Carlsson2010-11-242-1/+9
| | | | | | exist. This matches ASTContext::getASTRecordLayout and is less confusing. llvm-svn: 120107
* CGRecordLayout types are always struct types.Anders Carlsson2010-11-242-11/+11
| | | | llvm-svn: 120106
* When getting CXXThisRegion from CXXMethodDecl, use the qualifiers. This is Zhongxing Xu2010-11-241-1/+7
| | | | | | | | | | | to be consistent with the type of 'this' expr in the method. 此行及以下内容将会被忽略-- M test/Analysis/method-call.cpp M include/clang/Checker/PathSensitive/GRExprEngine.h M lib/Checker/GRCXXExprEngine.cpp llvm-svn: 120094
* Let StackFrameContext represent if the call expr is evaluated as lvalue.Zhongxing Xu2010-11-246-20/+51
| | | | | | This is required for supporting const reference to temporary objects. llvm-svn: 120093
* Appease versions of GCC which don't correctly support injected classJohn McCall2010-11-241-2/+2
| | | | | | names. llvm-svn: 120091
* This is probably an important file.John McCall2010-11-241-0/+861
| | | | llvm-svn: 120089
* Add -cc1 -ast-dump-xml, an excessively detailed XML dump of the internalsJohn McCall2010-11-245-0/+36
| | | | | | | | | | | | | of the ASTs. Only available in assertions builds. No stability guarantee. This is intended solely as a debugging tool. I'm not sure if the goals are sufficiently aligned with the XML printer to allow a common implementation. Currently just falls back on the StmtDumper to display statements, which means it doesn't produce valid XML in those cases. llvm-svn: 120088
* Use StackFrameContext directly in CallEnter program point. Then we don't needZhongxing Xu2010-11-244-26/+23
| | | | | | to remake the stackframe everytime in GRExprEngine::ProcessCallEnter(). llvm-svn: 120087
* print asLValue attribute of CFGStmt.Zhongxing Xu2010-11-241-0/+3
| | | | llvm-svn: 120086
* Switch a lot of call-sites over to using the new value-kind calculations.John McCall2010-11-2412-41/+41
| | | | llvm-svn: 120084
* Refactor AddStmtChoice to make it easier to use; also add comments on how ↵Zhanyong Wan2010-11-241-49/+57
| | | | | | the class works. Reviewed by kremenek. llvm-svn: 120080
* Fix 2 problems with Chris Lattner's FileManager redesign on Windows.Francois Pichet2010-11-241-1/+1
| | | | | | | - FileEntry::operator= is needed on Win32. - There was an error in the S_ISDIR() macro. llvm-svn: 120079
* Add an assert() to catch errors using EvalLoad(). Reviewed by kremenek.Zhanyong Wan2010-11-241-1/+2
| | | | llvm-svn: 120073
* Adjust method calls to reflect name changes inTed Kremenek2010-11-2412-110/+117
| | | | | | | | | | ImmutableSet/ImmtuableMap/ImmutableList APIs. Along the way, clean up some method names in the static analyzer so that they are more descriptive and/or start with lowercase letters. llvm-svn: 120071
* The final result of all this refactoring: instead of doing stat immediatelyChris Lattner2010-11-232-6/+54
| | | | | | | | | | | | | followed by an open for every source file we open, probe the file system with 'open' and then do an fstat when it succeeds. open+fstat is faster than stat+open because the kernel only has to perform the string->inode mapping once. Presumably it gets faster the deeper in your filesystem a lookup happens. For -Eonly on cocoa.h, this reduces system time from 0.042s to 0.039s on my machine, a 7.7% speedup. llvm-svn: 120066
* Redeclarations of using declarations are not okay in function scopes.John McCall2010-11-231-2/+2
| | | | | | | | Not sure what I was thinking before. Fixes PR8668. llvm-svn: 120063
* if we succeed in opening a directory but expected a file, ensure we don'tChris Lattner2010-11-231-1/+22
| | | | | | leak a filedescriptor if a client ever starts returning one. llvm-svn: 120062
* hopefully resolve the windows buildbot issue (retch)Chris Lattner2010-11-231-0/+8
| | | | llvm-svn: 120061
* change the 'is directory' indicator to be a null-or-notChris Lattner2010-11-235-22/+56
| | | | | | | | | pointer that is passed down through the APIs, and make FileSystemStatCache::get be the one that filters out directory lookups that hit files. This also paves the way to have stat queries be able to return opened files. llvm-svn: 120060
* pull "is directory" handling into FileManager::getStatValueChris Lattner2010-11-231-29/+36
| | | | | | | which simplifies clients and is important for future directions. Add a FD member to FileEntry which isn't used but will be shortly. llvm-svn: 120056
* A few tweaks to the value-kind computation:John McCall2010-11-233-73/+88
| | | | | | | | | | | | | - Default argument expressions pick up the value kind of the incoming expression, not the value kind of the parameter it initializes. - When building a template argument for substitution, A::x is an rvalue if x is an instance method. - Anonymous struct/union paths pick up value kind the same way that normal member accesses do; extract out a common code path for this. Enable the value-kind assertion, now that it passes self-host. llvm-svn: 120055
* Remove static_casts from SemaDeclAttr.cppPeter Collingbourne2010-11-231-22/+22
| | | | llvm-svn: 120053
* tidy up code, add a comment about dir caching.Chris Lattner2010-11-231-20/+16
| | | | llvm-svn: 120048
* replicate a terrible hack to fix a build error on VC++Chris Lattner2010-11-231-0/+4
| | | | llvm-svn: 120039
* simplify the cache miss handling code, eliminating CacheMissing.Chris Lattner2010-11-234-18/+7
| | | | llvm-svn: 120038
* factor the "cache miss" handling code out of FM into a static Chris Lattner2010-11-231-21/+6
| | | | | | method in FileSystemStatCache. llvm-svn: 120037
* r120013 dropped passing in the precomputed file size to Chris Lattner2010-11-232-3/+3
| | | | | | | MemoryBuffer::getFile, causing us to pick up a fstat for every file. Restore the optimization. llvm-svn: 120032
* PCH files only cache successful stats. Remove the code that reads/writes Chris Lattner2010-11-233-32/+13
| | | | | | the result code of the stat to/from the PCH file since it is always 0. llvm-svn: 120031
* rework the stat cache, pulling it out of FileManager.h intoChris Lattner2010-11-238-74/+129
| | | | | | | its own header and giving it some more structure. No functionality change. llvm-svn: 120030
* tidy up. Split FileManager::getBufferForFile intoChris Lattner2010-11-233-12/+18
| | | | | | | | | | two copies, since they are fundamentally different operations and the StringRef one should go away (it shouldn't be part of FileManager at least). Remove some dead arguments. llvm-svn: 120013
* don't allow remapping PTH file paths with -fworking-directory, theChris Lattner2010-11-232-4/+3
| | | | | | client should just pass in absolute paths. llvm-svn: 120012
* reduce indentation and use early outs, to make it easier to readChris Lattner2010-11-231-72/+79
| | | | | | this code. no functionality change. llvm-svn: 120011
OpenPOWER on IntegriCloud