| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
links.
llvm-svn: 124776
|
| |
|
|
|
|
| |
redundant searches in the string. No functionality change.
llvm-svn: 124760
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
on that name. Canonicalization eliminates silliness such as "." and
"foo/.." that breaks the uniquing of files in the presence of virtual
files or files whose inode numbers have changed during
parsing/re-parsing. c-index-test isn't able to create this crazy
situation, so I've resorted to testing outside of the Clang
tree. Fixes <rdar://problem/8928220>.
Note that this hackery will go away once we have a real virtual file
system on which we can layer FileManager; the virtual-files hack is
showing cracks.
llvm-svn: 124754
|
| |
|
|
| |
llvm-svn: 124660
|
| |
|
|
|
|
| |
the disappearance/alteration of files.
llvm-svn: 124616
|
| |
|
|
|
|
| |
client. Fixes a libclang leak.
llvm-svn: 124614
|
| |
|
|
|
|
| |
have SFINAE behavior.
llvm-svn: 124441
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
invalid PresomedLoc, instead of just silencing it.
FileManager.cpp: Allow virtual files in nonexistent directories.
FileManager.cpp: Close FileDescriptor for virtual files that correspond to actual files.
FileManager.cpp: Enable virtual files to be created even for files that were flagged as NON_EXISTENT_FILE, e.g. by a prior (unsuccessful) addFile().
ASTReader.cpp: Read a PCH even if the original source files cannot be found.
Add a test for reading a PCH of a file that has been removed and diagnostics referencing that file.
llvm-svn: 124374
|
| |
|
|
| |
llvm-svn: 123691
|
| |
|
|
|
|
| |
It should be defined as-is. Some headers would detect existence of __declspec and use one.
llvm-svn: 123690
|
| |
|
|
| |
llvm-svn: 123689
|
| |
|
|
|
|
|
|
| |
warning flags.
Addresses rdar://8435969&8852495
llvm-svn: 123462
|
| |
|
|
| |
llvm-svn: 123320
|
| |
|
|
|
|
|
|
| |
Fix an unexpected hickup caused by exceeding size of
generated table (and a misleading comment). Improve
on help message for -fapple-kext.
llvm-svn: 123003
|
| |
|
|
|
|
| |
Patch by Sylvère Teissier.
llvm-svn: 122965
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the width and align of bool type on Darwin to be 32bits
while keeping it 8 everywhere else.
Change the definition of va_list to default to SV4 ABI one
and let darwin subtarget override this.
Both changes submitted by Nathan Whitehorn and reviewed
by Rafael Espindola.
llvm-svn: 122956
|
| |
|
|
| |
llvm-svn: 122629
|
| |
|
|
|
|
|
| |
16-bits in size. Implement this by splitting WChar into two enums, like we have
for char. This fixes a miscompmilation of XULRunner, PR8856.
llvm-svn: 122558
|
| |
|
|
|
|
|
|
| |
SourceManager::isBeforeInTranslationUnit().
Fixes rdar://8790245 and http://llvm.org/PR8821.
llvm-svn: 122536
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inconsistent with the type that the builtin *should* have, forget
about the builtin altogether: we don't want subsequence analyses,
CodeGen, etc., to think that we have a proper builtin function.
C is protected from errors here because it allows one to use a
library builtin without having a declaration, and detects inconsistent
(re-)declarations of builtins during declaration merging. C++ was
unprotected, and therefore would crash.
Fixes PR8839.
llvm-svn: 122351
|
| |
|
|
| |
llvm-svn: 122340
|
| |
|
|
| |
llvm-svn: 122194
|
| |
|
|
| |
llvm-svn: 122087
|
| |
|
|
| |
llvm-svn: 121956
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Diagnostic pragmas are broken because we don't keep track of the diagnostic state changes and we only check the current/latest state.
Problems manifest if a diagnostic is emitted for a source line that has different diagnostic state than the current state; this can affect
a lot of places, like C++ inline methods, template instantiations, the lexer, etc.
Fix the issue by having the Diagnostic object keep track of the source location of the pragmas so that it is able to know what is the diagnostic state at any given source location.
Fixes rdar://8365684.
llvm-svn: 121873
|
| |
|
|
| |
llvm-svn: 121640
|
| |
|
|
| |
llvm-svn: 121378
|
| |
|
|
| |
llvm-svn: 120688
|
| |
|
|
|
|
|
|
|
| |
a specific language. We are adding such language info. by
extensing Builtins.def and via a language flag added
to LIBBUILTIN/BUILTIN and check for that when deciding
a name is builtin or not. Implements //rdar://8689273.
llvm-svn: 120429
|
| |
|
|
| |
llvm-svn: 120297
|
| |
|
|
|
|
|
| |
- FileEntry::operator= is needed on Win32.
- There was an error in the S_ISDIR() macro.
llvm-svn: 120079
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
leak a filedescriptor if a client ever starts returning one.
llvm-svn: 120062
|
| |
|
|
| |
llvm-svn: 120061
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 120048
|
| |
|
|
| |
llvm-svn: 120039
|
| |
|
|
| |
llvm-svn: 120038
|
| |
|
|
|
|
| |
method in FileSystemStatCache.
llvm-svn: 120037
|
| |
|
|
|
|
|
| |
MemoryBuffer::getFile, causing us to pick up a fstat for
every file. Restore the optimization.
llvm-svn: 120032
|
| |
|
|
|
|
| |
the result code of the stat to/from the PCH file since it is always 0.
llvm-svn: 120031
|
| |
|
|
|
|
|
| |
its own header and giving it some more structure. No
functionality change.
llvm-svn: 120030
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
this code. no functionality change.
llvm-svn: 120011
|
| |
|
|
|
|
|
|
|
| |
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.
llvm-svn: 120010
|
| |
|
|
|
|
|
| |
to simplify a bunch of code in it. It should ultimately get inlined
into FileManager.
llvm-svn: 120007
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 120001
|
| |
|
|
| |
llvm-svn: 119997
|
| |
|
|
| |
llvm-svn: 119995
|