Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | handle CXXFunctionalCastExpr in visitLValue and Environment. | Zhongxing Xu | 2010-11-25 | 2 | -0/+16 | |
| | | | | llvm-svn: 120143 | |||||
* | Improve comments. | Zhongxing Xu | 2010-11-25 | 1 | -2/+1 | |
| | | | | llvm-svn: 120142 | |||||
* | Add dump method. | Zhongxing Xu | 2010-11-25 | 1 | -0/+4 | |
| | | | | llvm-svn: 120141 | |||||
* | Begin work on actually laying out virtual bases. | Anders Carlsson | 2010-11-25 | 1 | -1/+32 | |
| | | | | llvm-svn: 120140 | |||||
* | Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen ↵ | Anders Carlsson | 2010-11-25 | 5 | -30/+40 | |
| | | | | | | as well. llvm-svn: 120137 | |||||
* | Tie DefineVTablesUsed() in with recursive function instantiation so that we emit | Nick Lewycky | 2010-11-25 | 2 | -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 Carlsson | 2010-11-24 | 1 | -2/+3 | |
| | | | | llvm-svn: 120134 | |||||
* | Rename RecordLayout::getPrimaryBaseWasVirtual to isPrimaryBaseVirtual. | Anders Carlsson | 2010-11-24 | 7 | -14/+14 | |
| | | | | llvm-svn: 120133 | |||||
* | Move code off the primary base info iterator. No functionality change. | Anders Carlsson | 2010-11-24 | 1 | -4/+14 | |
| | | | | llvm-svn: 120132 | |||||
* | Use the newly added function in ASTRecordLayoutBuilder. | Anders Carlsson | 2010-11-24 | 1 | -38/+3 | |
| | | | | llvm-svn: 120131 | |||||
* | Fix typo. | Anders Carlsson | 2010-11-24 | 1 | -2/+2 | |
| | | | | llvm-svn: 120130 | |||||
* | Add CXXRecordDecl::getIndirectPrimaryBases. | Anders Carlsson | 2010-11-24 | 2 | -1/+54 | |
| | | | | llvm-svn: 120129 | |||||
* | Simplify code. | Anders Carlsson | 2010-11-24 | 1 | -4/+2 | |
| | | | | llvm-svn: 120118 | |||||
* | Fix a (probably very old) regression where we weren't using the typedef name ↵ | Anders Carlsson | 2010-11-24 | 1 | -6/+5 | |
| | | | | | | for anonymous tag types. llvm-svn: 120113 | |||||
* | Revert r120110. We don't want to call ConvertType from within getCGRecordLayout. | Anders Carlsson | 2010-11-24 | 1 | -7/+5 | |
| | | | | llvm-svn: 120112 | |||||
* | Use ConvertType instead of ConvertTagDeclType, since ConvertType will assign ↵ | Anders Carlsson | 2010-11-24 | 1 | -3/+5 | |
| | | | | | | a name to the type. llvm-svn: 120110 | |||||
* | Simplify code. | Anders Carlsson | 2010-11-24 | 2 | -20/+2 | |
| | | | | llvm-svn: 120109 | |||||
* | Fix build. | Anders Carlsson | 2010-11-24 | 1 | -1/+2 | |
| | | | | llvm-svn: 120108 | |||||
* | Make CodeGenTypes::getCGRecordLayout compute the layout lazily if it doesn't ↵ | Anders Carlsson | 2010-11-24 | 2 | -1/+9 | |
| | | | | | | exist. This matches ASTContext::getASTRecordLayout and is less confusing. llvm-svn: 120107 | |||||
* | CGRecordLayout types are always struct types. | Anders Carlsson | 2010-11-24 | 2 | -11/+11 | |
| | | | | llvm-svn: 120106 | |||||
* | When getting CXXThisRegion from CXXMethodDecl, use the qualifiers. This is | Zhongxing Xu | 2010-11-24 | 1 | -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 Xu | 2010-11-24 | 6 | -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 class | John McCall | 2010-11-24 | 1 | -2/+2 | |
| | | | | | | names. llvm-svn: 120091 | |||||
* | This is probably an important file. | John McCall | 2010-11-24 | 1 | -0/+861 | |
| | | | | llvm-svn: 120089 | |||||
* | Add -cc1 -ast-dump-xml, an excessively detailed XML dump of the internals | John McCall | 2010-11-24 | 5 | -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 need | Zhongxing Xu | 2010-11-24 | 4 | -26/+23 | |
| | | | | | | to remake the stackframe everytime in GRExprEngine::ProcessCallEnter(). llvm-svn: 120087 | |||||
* | print asLValue attribute of CFGStmt. | Zhongxing Xu | 2010-11-24 | 1 | -0/+3 | |
| | | | | llvm-svn: 120086 | |||||
* | Switch a lot of call-sites over to using the new value-kind calculations. | John McCall | 2010-11-24 | 12 | -41/+41 | |
| | | | | llvm-svn: 120084 | |||||
* | Refactor AddStmtChoice to make it easier to use; also add comments on how ↵ | Zhanyong Wan | 2010-11-24 | 1 | -49/+57 | |
| | | | | | | the class works. Reviewed by kremenek. llvm-svn: 120080 | |||||
* | Fix 2 problems with Chris Lattner's FileManager redesign on Windows. | Francois Pichet | 2010-11-24 | 1 | -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 Wan | 2010-11-24 | 1 | -1/+2 | |
| | | | | llvm-svn: 120073 | |||||
* | Adjust method calls to reflect name changes in | Ted Kremenek | 2010-11-24 | 12 | -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 immediately | Chris Lattner | 2010-11-23 | 2 | -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 McCall | 2010-11-23 | 1 | -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't | Chris Lattner | 2010-11-23 | 1 | -1/+22 | |
| | | | | | | leak a filedescriptor if a client ever starts returning one. llvm-svn: 120062 | |||||
* | hopefully resolve the windows buildbot issue (retch) | Chris Lattner | 2010-11-23 | 1 | -0/+8 | |
| | | | | llvm-svn: 120061 | |||||
* | change the 'is directory' indicator to be a null-or-not | Chris Lattner | 2010-11-23 | 5 | -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::getStatValue | Chris Lattner | 2010-11-23 | 1 | -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 McCall | 2010-11-23 | 3 | -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.cpp | Peter Collingbourne | 2010-11-23 | 1 | -22/+22 | |
| | | | | llvm-svn: 120053 | |||||
* | tidy up code, add a comment about dir caching. | Chris Lattner | 2010-11-23 | 1 | -20/+16 | |
| | | | | llvm-svn: 120048 | |||||
* | replicate a terrible hack to fix a build error on VC++ | Chris Lattner | 2010-11-23 | 1 | -0/+4 | |
| | | | | llvm-svn: 120039 | |||||
* | simplify the cache miss handling code, eliminating CacheMissing. | Chris Lattner | 2010-11-23 | 4 | -18/+7 | |
| | | | | llvm-svn: 120038 | |||||
* | factor the "cache miss" handling code out of FM into a static | Chris Lattner | 2010-11-23 | 1 | -21/+6 | |
| | | | | | | method in FileSystemStatCache. llvm-svn: 120037 | |||||
* | r120013 dropped passing in the precomputed file size to | Chris Lattner | 2010-11-23 | 2 | -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 Lattner | 2010-11-23 | 3 | -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 into | Chris Lattner | 2010-11-23 | 8 | -74/+129 | |
| | | | | | | | its own header and giving it some more structure. No functionality change. llvm-svn: 120030 | |||||
* | tidy up. Split FileManager::getBufferForFile into | Chris Lattner | 2010-11-23 | 3 | -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, the | Chris Lattner | 2010-11-23 | 2 | -4/+3 | |
| | | | | | | client should just pass in absolute paths. llvm-svn: 120012 | |||||
* | reduce indentation and use early outs, to make it easier to read | Chris Lattner | 2010-11-23 | 1 | -72/+79 | |
| | | | | | | this code. no functionality change. llvm-svn: 120011 |