| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
deserialization of precompiled headers, where the deserialization of
the source location entry for a buffer (e.g., macro instantiation
scratch space) would overwrite a one-element FileID cache in the
source manager. When tickled at the wrong time, we would return the
wrong decomposed source location and eventually cause c-index-test to
crash.
Found by dumb luck. It's amazing this hasn't shown up before.
llvm-svn: 98940
|
| |
|
|
|
|
| |
whether a file has changed since it was originally read.
llvm-svn: 98726
|
| |
|
|
|
|
|
| |
changed, rather than trying to point out how it changed. The "why"
doesn't matter.
llvm-svn: 98725
|
| |
|
|
|
|
|
|
|
| |
buffer was invalid when it was created, and use that bit to always set
the "Invalid" flag according to whether the buffer is invalid. This
ensures that all accesses to an invalid buffer are marked invalid,
improving recovery.
llvm-svn: 98690
|
| |
|
|
|
|
|
| |
Invalid bit through; there are no safety-critical callers of these
functions.
llvm-svn: 98674
|
| |
|
|
|
|
| |
them to recover more gracefully on failure.
llvm-svn: 98672
|
| |
|
|
|
|
|
| |
SourceManager versions), updating those callers that need to recover
gracefully from failure.
llvm-svn: 98665
|
| |
|
|
| |
llvm-svn: 98631
|
| |
|
|
|
|
| |
const char*.
llvm-svn: 98630
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager's getBuffer() and, therefore, could fail, along with
Preprocessor::getSpelling(). Use the Invalid parameters in the literal
parsers (string, floating point, integral, character) to make them
robust against errors that stem from, e.g., PCH files that are not
consistent with the underlying file system.
I still need to audit every use caller to all of these routines, to
determine which ones need specific handling of error conditions.
llvm-svn: 98608
|
| |
|
|
|
|
| |
simplifying the SourceManager interfaces somewhat.
llvm-svn: 98598
|
| |
|
|
|
|
| |
and start simplifying the interfaces in SourceManager that can fail.
llvm-svn: 98594
|
| |
|
|
| |
llvm-svn: 98591
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SourceManager's getBuffer() (and similar) operations. This abstract
can be used to force callers to cope with errors in getBuffer(), such
as missing files and changed files. Fix a bunch of callers to use the
new interface.
Add some very basic checks for file consistency (file size,
modification time) into ContentCache::getBuffer(), although these
checks don't help much until we've updated the main callers (e.g.,
SourceManager::getSpelling()).
llvm-svn: 98585
|
| |
|
|
|
|
| |
Thanks to Ben for pointing this out.
llvm-svn: 98345
|
| |
|
|
| |
llvm-svn: 98344
|
| |
|
|
| |
llvm-svn: 98342
|
| |
|
|
| |
llvm-svn: 98341
|
| |
|
|
| |
llvm-svn: 98340
|
| |
|
|
| |
llvm-svn: 98170
|
| |
|
|
| |
llvm-svn: 97890
|
| |
|
|
|
|
| |
return an empty string.
llvm-svn: 97809
|
| |
|
|
| |
llvm-svn: 97746
|
| |
|
|
| |
llvm-svn: 97716
|
| |
|
|
|
|
|
| |
hacky solution for translating. Expanded on comment explaining
the hack a bit.
llvm-svn: 97714
|
| |
|
|
| |
llvm-svn: 97656
|
| |
|
|
| |
llvm-svn: 97625
|
| |
|
|
|
|
|
|
| |
(even if it is defined). This fixes the issue of this function
returning '0' when SVN_VERSION is defined to be "".
Fixes: <rdar://problem/7663667>
llvm-svn: 97620
|
| |
|
|
|
|
| |
Patch by Oleksandr Tymoshenko!
llvm-svn: 97544
|
| |
|
|
|
|
|
|
|
| |
end-of-line source location when given a column number beyond the
length of the line, or an end-of-file source location when given a
line number beyond the length of the file. Previously, we would return
an invalid location.
llvm-svn: 97299
|
| |
|
|
|
|
| |
deserializer skip over noise in the stream
llvm-svn: 96641
|
| |
|
|
|
|
| |
try to address the msvc failures.
llvm-svn: 96624
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we attach diagnostics to translation units and code-completion
results, so they can be queried at any time.
To facilitate this, the new StoredDiagnostic class stores a diagnostic
in a serializable/deserializable form, and ASTUnit knows how to
capture diagnostics in this stored form. CIndex's CXDiagnostic is a
thin wrapper around StoredDiagnostic, providing a C interface to
stored or de-serialized diagnostics.
I've XFAIL'd one test case temporarily, because currently we end up
storing diagnostics in an ASTUnit that's never returned to the user
(because it contains errors). I'll introduce a temporary fix for this
soon; the real fix will be to allow us to return and query invalid ASTs.
llvm-svn: 96592
|
| |
|
|
| |
llvm-svn: 96362
|
| |
|
|
| |
llvm-svn: 96321
|
| |
|
|
| |
llvm-svn: 96244
|
| |
|
|
| |
llvm-svn: 96242
|
| |
|
|
| |
llvm-svn: 96176
|
| |
|
|
| |
llvm-svn: 96173
|
| |
|
|
| |
llvm-svn: 96041
|
| |
|
|
|
|
|
|
|
|
|
|
| |
std::string that is reconstructed
every time they are called:
getClangRevision()
getClangFullRepositoryVersion()
getClangFullVersion()
llvm-svn: 96033
|
| |
|
|
|
|
|
|
|
|
|
| |
we'd add an offset from the spelling location space to the
instantiation location, which doesn't make sense and would
lead up to the text diagnostics crashing when presented with
non-sensical locations.
This fixes rdar://7597492, a crash on 255.vortex.
llvm-svn: 96004
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
their spelling location. This prevents warnings from being swallowed just
because the caret is on the first parenthesis in, say, NULL.
This is an experiment; the risk is that there might be a substantial number
of system headers which #define symbols to expressions which inherently cause
warnings. My theory is that that's rare enough that it can be worked
around case-by-case, and that producing useful warnings around NULL is worth
it. But I'm willing to accept that I might be empirically wrong.
llvm-svn: 95870
|
| |
|
|
|
|
|
| |
calls to the UnwindResumeOrRethrow function for C++/Obj-C exception handling,
for Darwin ARM.
llvm-svn: 95787
|
| |
|
|
| |
llvm-svn: 95335
|
| |
|
|
|
|
|
|
|
|
| |
by setting the section of the generated global. This is an
optimization done by the code generator, and the code being
removed didn't handle the case when the string contained an
embedded nul (which the code generator does correctly
handle). This is rdar://7589850
llvm-svn: 95003
|
| |
|
|
| |
llvm-svn: 94919
|
| |
|
|
| |
llvm-svn: 94917
|
| |
|
|
| |
llvm-svn: 94916
|
| |
|
|
|
|
|
| |
- URL can go into read only memory now.
- Compilers will fold away all the strstr calls.
llvm-svn: 94887
|