aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-11-23change the 'is directory' indicator to be a null-or-notChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120060 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23pull "is directory" handling into FileManager::getStatValueChris Lattner
which simplifies clients and is important for future directions. Add a FD member to FileEntry which isn't used but will be shortly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120056 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23A few tweaks to the value-kind computation:John McCall
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120055 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23Remove static_casts from SemaDeclAttr.cppPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120053 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23tidy up code, add a comment about dir caching.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120048 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23replicate a terrible hack to fix a build error on VC++Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120039 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23simplify the cache miss handling code, eliminating CacheMissing.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120038 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23factor the "cache miss" handling code out of FM into a static Chris Lattner
method in FileSystemStatCache. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120037 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23r120013 dropped passing in the precomputed file size to Chris Lattner
MemoryBuffer::getFile, causing us to pick up a fstat for every file. Restore the optimization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23PCH files only cache successful stats. Remove the code that reads/writes Chris Lattner
the result code of the stat to/from the PCH file since it is always 0. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120031 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23rework the stat cache, pulling it out of FileManager.h intoChris Lattner
its own header and giving it some more structure. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120030 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23This test does not need to test the alignment of pointers. Make it passJohn McCall
on 64-bit systems. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120014 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23tidy up. Split FileManager::getBufferForFile intoChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120013 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23don't allow remapping PTH file paths with -fworking-directory, theChris Lattner
client should just pass in absolute paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120012 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23reduce indentation and use early outs, to make it easier to readChris Lattner
this code. no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120011 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23now the FileManager has a FileSystemOpts ivar, stop threadingChris Lattner
FileSystemOpts through a ton of apis, simplifying a lot of code. This also fixes a latent bug in ASTUnit where it would invoke methods on FileManager without creating one in some code paths in cindextext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120010 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23make this file be self contained.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120008 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23give FileManager a 'FileSystemOptions' ivar, which will be usedChris Lattner
to simplify a bunch of code in it. It should ultimately get inlined into FileManager. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120007 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23long => int to make the test pass on system where sizeof(long) = 64.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23Fix a typo in a comment.Zhanyong Wan
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120004 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23Partially revert Doug's PCH validation patch (r98585).Chris Lattner
This patch completely defeated the "passing in a prestat'd size to MemoryBuffer" optimization, leading to an extra fstat call for every buffer opened, in order to find out if the datestamp and size of the file on disk matches what is in the stat cache. I fully admit that I don't completely understand what is going on here: why punish code when a stat cache isn't in use? what is the point of a stat cache if you have to turn around and stat stuff to validate it? To resolve both these issues, just drop the modtime check and check the file size, which is the important thing anyway. This should also resolve PR6812, because presumably windows is stable when it comes to file sizes. If the modtime is actually important, we should get it and keep it on the first stat. This eliminates 833 fstat syscalls when processing Cocoa.h, speeding up system time on -Eonly Cocoa.h from 0.041 to 0.038s. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23Microsoft C anonymous struct implementation.Francois Pichet
Documentation: http://msdn.microsoft.com/en-us/library/z2cx9y4f.aspx git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120000 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23stringref'ize APIChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119997 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23tidy upChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119996 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-23avoid creating sys::Path instances when -fworking-directory isn't being used.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Stylistic changes to CFG.cpp:Zhanyong Wan
1. "no 'else' after 'return'" -- this is for conformance with the coding standards. 2. move 'else' to the line of the previous '}' -- this is for consistency. Reviewed by kremenek. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119983 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Refactor the null-initialization for record types and make it handle bases ↵Anders Carlsson
that aren't i8 arrays. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119980 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Remove the other FIXME I added. This is covered by the Index test and not ↵Nico Weber
testable via -ast-dump. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119971 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Remove one I just added, add a more focused test for why the current code is ↵Nico Weber
correct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119969 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Try to get the bots green after r119966.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119968 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Fix the source range of CXXNewExprs. Fixes http://llvm.org/pr8661.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119966 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Minor whitespace fix, no functionality changeNico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119965 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22test/Sema/x86-builtin-palignr.c: Now we can remove XFAIL:win32, according to ↵NAKAMURA Takumi
r119958. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119961 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Fix PR8419. Reviewed by kremenek and xuzhongxing.Zhanyong Wan
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119960 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Undo part of my previous commit to mm_malloc.h, going back to the use ofChandler Carruth
stdlib.h. There were numerous problems with forward declaring 'malloc' and 'free', but the most important is that these are reserved by POSIX and may be implemented via a function-like macro. As suggested by Dale Johannesen, I'm instead guarding the only include of this in our builtin headers with __STDC_HOSTED__, and I've removed the include of the header from the test suite. I'll discuss with folks whether we want to have a hosted section of the test suite or not, and add it (and perhaps other tests) back there if that's the direction. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119958 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-22Remove FIXME; we don't ever want to lay out empty bases.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119957 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Rename BaseLLVMType to NonVirtualBaseLLVMType.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119956 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Add getCGRecordLayout helper function. No functionality change.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119955 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Update Xcode project.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119953 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21The 'X' printf type has a valid alternative form. Fixes PR8641.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119946 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Update Xcode project.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119945 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Fix a bunch of IndirectFieldDecl-related warnings.Benjamin Kramer
- Negative ChainingSize doesn't make sense, make it unsigned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119943 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Filename.rfind("/\\") won't give us the position of the last directory ↵Benjamin Kramer
seperator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119939 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21remove old compatibility APIs, use StringRef versions instead.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119935 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21change the various getFile routines to use StringRef as their implementation ↵Chris Lattner
form. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119934 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Fix warning: enumeration value 'IndirectField' not handled in switch.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119924 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Compilation error: remove extra comma.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119921 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Major anonymous union/struct redesign.Francois Pichet
A new AST node is introduced: def IndirectField : DDecl<Value>; IndirectFields are injected into the anonymous's parent scope and chain back to the original field. Name lookup for anonymous entities now result in an IndirectFieldDecl instead of a FieldDecl. There is no functionality change, the code generated should be the same. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119919 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-21Forward the -fno-elide-constructor argument to clang -cc1. Fixes PR8652.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119915 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-20Add comments.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119900 91177308-0d34-0410-b5e6-96231b3b80d8