| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
use the deprecated forms of llvm::StringMap::GetOrCreateValue().
llvm-svn: 133515
|
|
|
|
|
|
| |
rdar://9475098.
llvm-svn: 131788
|
|
|
|
|
|
|
|
|
| |
includes get resolved, especially when they are found relatively to
another include file. We also try to get it working for framework
includes, but that part of the code is untested, as I don't have a code
base that uses it.
llvm-svn: 130246
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129559
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
clients to observe the exact path through which an #included file was
located. This is very useful when trying to record and replay inclusion
operations without it beind influenced by the aggressive caching done
inside the FileManager to avoid redundant system calls and filesystem
operations.
The work to compute and return this is only done in the presence of
callbacks, so it should have no effect on normal compilation.
Patch by Manuel Klimek.
llvm-svn: 127742
|
|
|
|
|
|
|
|
| |
The previous name was inaccurate as this token in fact appears at
the end of every preprocessing directive, not just macro definitions.
No functionality change, except for a diagnostic tweak.
llvm-svn: 126631
|
|
|
|
| |
llvm-svn: 126221
|
|
|
|
| |
llvm-svn: 126220
|
|
|
|
|
|
|
|
| |
duplicate
definition by command line options. Fixes rdar://8875916.
llvm-svn: 123767
|
|
|
|
|
|
| |
that contains the ## operator.
llvm-svn: 122946
|
|
|
|
|
|
|
|
| |
receives a PPCallback.
Patch by Richard Smith.
llvm-svn: 122755
|
|
|
|
|
|
|
|
|
| |
new gcc warning that complains on self-assignments and
self-initializations. Fix one bug found by the warning, in which one
clang::OverloadCandidate constructor failed to initialize its
FunctionTemplate member.
llvm-svn: 122459
|
|
|
|
| |
llvm-svn: 122394
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
better to actually produce a decent set of completions by checking the
system include paths, but not today. Fixes PR8744.
llvm-svn: 121431
|
|
|
|
|
|
|
|
|
|
|
| |
than a Token that holds the same information all in one easy-to-use
package. There's no technical reason to prefer the former -- the
information comes from a Token originally -- and it's clumsier to use,
so I've changed the code to use tokens everywhere.
Approved by clattner
llvm-svn: 119845
|
|
|
|
|
|
|
| |
SourceManager::getPresumedLoc(), so that we don't try to make use of
an invalid presumed location. Doing so can cause crashes.
llvm-svn: 118885
|
|
|
|
|
|
|
|
|
|
|
| |
The callback info for #if/#elif is not great -- ideally it would give
us a list of tokens in the #if, or even better, a little parse tree.
But that's a lot more work. Instead, clients can retokenize using
Lexer::LexFromRawLexer().
Reviewed by nlewycky.
llvm-svn: 118318
|
|
|
|
|
|
|
|
|
| |
inclusion directives, keeping track of every #include, #import,
etc. in the translation unit. We keep track of the source location and
kind of the inclusion, how the file name was spelled, and the
underlying file to which the inclusion resolved.
llvm-svn: 116952
|
|
|
|
|
|
|
|
|
| |
Now MICache is a linked list (per the FIXME), where we tradeoff between MacroInfo objects being in MICache
and MIChainHead. MacroInfo objects in the MICache chain are already "Destroy()'ed", so they can be reused. When
inserting into MICache, we need to remove them from the regular linked list so that they aren't destroyed more than
once.
llvm-svn: 116869
|
|
|
|
|
|
| |
Preprocessor.
llvm-svn: 116864
|
|
|
|
|
|
|
|
|
| |
The problem was not the management of MacroInfo objects, but that when we recycle them
via the MICache the memory of the underlying SmallVector (within MacroInfo) was not getting
released. This is because objects stashed into MICache simply are reused with a placement
new, and never have their destructor called.
llvm-svn: 116862
|
|
|
|
|
|
|
|
|
|
|
|
| |
the Preprocessor maintain them in a linked
list of allocated MacroInfos. This requires only 1 extra pointer per MacroInfo object, and allows us to blow them
away in one place. This fixes an elusive memory leak with MacroInfos (whose exact location I couldn't still figure
out despite substantial digging).
Fixes <rdar://problem/8361834>.
llvm-svn: 116842
|
|
|
|
|
|
|
|
| |
spelled (#pragma, _Pragma, __pragma). In -E mode, use that information
to add appropriate newlines when translating _Pragma and __pragma into
#pragma, like GCC does. Fixes <rdar://problem/8412013>.
llvm-svn: 113553
|
|
|
|
|
|
|
| |
e.g., after #ifdef/#ifndef or #undef, or inside a defined <macroname>
expression in a preprocessor conditional.
llvm-svn: 111954
|
|
|
|
|
|
| |
e.g., after a "#" we'll suggest #if, #ifdef, etc.
llvm-svn: 111943
|
|
|
|
| |
llvm-svn: 111768
|
|
|
|
| |
llvm-svn: 111364
|
|
|
|
| |
llvm-svn: 111234
|
|
|
|
|
|
| |
"unterminated string" when we're performing code completion.
llvm-svn: 110933
|
|
|
|
| |
llvm-svn: 110544
|
|
|
|
|
|
| |
#undefs in -dD mode. (PR7818)
llvm-svn: 110523
|
|
|
|
|
|
| |
Fixes PR4897.
llvm-svn: 110440
|
|
|
|
|
|
|
|
| |
into ContentCache::getBuffer. This allows it to produce
diagnostics on the broken #include line instead of without a
location.
llvm-svn: 101939
|
|
|
|
|
|
| |
Zhanyong Wan!
llvm-svn: 101813
|
|
|
|
| |
llvm-svn: 101226
|
|
|
|
|
|
| |
the C-only "optimization".
llvm-svn: 100022
|
|
|
|
| |
llvm-svn: 100018
|
|
|
|
|
|
|
| |
term "fix-it" everywhere and even *I* get tired of long names
sometimes. No functionality change.
llvm-svn: 100008
|
|
|
|
|
|
| |
recovery for those that need it.
llvm-svn: 98689
|
|
|
|
|
|
| |
them to recover more gracefully on failure.
llvm-svn: 98672
|
|
|
|
| |
llvm-svn: 98436
|
|
|
|
|
|
| |
returns a StringRef. Use it to simplify some repetitive code.
llvm-svn: 97322
|
|
|
|
|
|
|
|
| |
guard macro is already defined for the first occurrence of the
header. If it is, the body will be skipped and not be properly
analyzed for the include guard optimization.
llvm-svn: 95972
|
|
|
|
|
|
|
| |
is #included with "foo.h" style syntax instead of framework syntax.
It produced too much noise.
llvm-svn: 94120
|
|
|
|
|
|
|
| |
pointer is always non-null because the PTH case exits earlier
in the method.
llvm-svn: 93794
|
|
|
|
|
|
| |
nicer than passing around two const char*'s.
llvm-svn: 93094
|
|
|
|
| |
llvm-svn: 93084
|
|
|
|
|
|
|
| |
import other headers within the same framework with the full
framework path, not with a relative include.
llvm-svn: 93083
|
|
|
|
| |
llvm-svn: 92357
|