| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 113416
|
|
|
|
| |
llvm-svn: 113125
|
|
|
|
|
|
| |
c++ operator token. (radar 8328250).
llvm-svn: 112977
|
|
|
|
|
|
|
| |
operators (and, or, etc.) to be used as selectors
to match g++'s behavior.
llvm-svn: 112935
|
|
|
|
| |
llvm-svn: 112680
|
|
|
|
|
|
| |
in wide strings. radar 8360841.
llvm-svn: 112672
|
|
|
|
| |
llvm-svn: 112671
|
|
|
|
|
|
| |
patch by Francois Pichet!
llvm-svn: 112602
|
|
|
|
| |
llvm-svn: 112549
|
|
|
|
|
|
| |
some issues being sorted out.
llvm-svn: 112493
|
|
|
|
| |
llvm-svn: 112491
|
|
|
|
| |
llvm-svn: 112490
|
|
|
|
|
|
|
| |
#pragma without requiring it to be in the "clang" namespace, from
Louis Gerbarg!
llvm-svn: 112484
|
|
|
|
|
|
|
| |
the pp-number in a hexadecimal floating point literal, from Francois
Pichet! Fixes PR7968.
llvm-svn: 112481
|
|
|
|
|
|
|
|
|
|
| |
The extra data stored on user-defined literal Tokens is stored in extra
allocated memory, which is managed by the PreprocessorLexer because there isn't
a better place to put it that makes sure it gets deallocated, but only after
it's used up. My testing has shown no significant slowdown as a result, but
independent testing would be appreciated.
llvm-svn: 112458
|
|
|
|
| |
llvm-svn: 112392
|
|
|
|
|
|
| |
Patch by Francois Pichet!
llvm-svn: 112391
|
|
|
|
| |
llvm-svn: 112182
|
|
|
|
|
|
|
| |
expect "natural" language and should not provide any completions,
e.g., comments, string literals, #error.
llvm-svn: 112054
|
|
|
|
|
|
| |
arguments.
llvm-svn: 111976
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
swallowing extension.
llvm-svn: 111701
|
|
|
|
| |
llvm-svn: 111472
|
|
|
|
|
|
|
| |
CrashRecovery since it avoids sending a signal which may be intercepted by the
debugger.
llvm-svn: 111449
|
|
|
|
| |
llvm-svn: 111364
|
|
|
|
|
|
| |
those crash paths.
llvm-svn: 111311
|
|
|
|
| |
llvm-svn: 111234
|
|
|
|
|
|
| |
"unterminated string" when we're performing code completion.
llvm-svn: 110933
|
|
|
|
| |
llvm-svn: 110807
|
|
|
|
| |
llvm-svn: 110596
|
|
|
|
| |
llvm-svn: 110544
|
|
|
|
|
|
| |
#undefs in -dD mode. (PR7818)
llvm-svn: 110523
|
|
|
|
|
|
| |
Fixes PR4897.
llvm-svn: 110440
|
|
|
|
|
|
| |
for malloc/free checking. Patch by Andrew McGregor!
llvm-svn: 109939
|
|
|
|
| |
llvm-svn: 109727
|
|
|
|
| |
llvm-svn: 109725
|
|
|
|
|
|
|
|
| |
__debug overflow_stack'.
- For testing crash reporting stuff... you'd think I could just use some C++
code but Doug keeps fixing stuff!
llvm-svn: 109587
|
|
|
|
|
|
| |
PCHs; tests for this to follow.
llvm-svn: 109554
|
|
|
|
|
|
| |
those by Lexer::LexEndOfFile().
llvm-svn: 109486
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reparsing an ASTUnit. When saving a preamble, create a buffer larger
than the actual file we're working with but fill everything from the
end of the preamble to the end of the file with spaces (so the lexer
will quickly skip them). When we load the file, create a buffer of the
same size, filling it with the file and then spaces. Then, instruct
the lexer to start lexing after the preamble, therefore continuing the
parse from the spot where the preamble left off.
It's now possible to perform a simple preamble build + parse (+
reparse) with ASTUnit. However, one has to disable a bunch of checking
in the PCH reader to do so. That part isn't committed; it will likely
be handled with some other kind of flag (e.g., -fno-validate-pch).
As part of this, fix some issues with null termination of the memory
buffers created for the preamble; we were trying to explicitly
NULL-terminate them, even though they were also getting implicitly
NULL terminated, leading to excess warnings about NULL characters in
source files.
llvm-svn: 109445
|
|
|
|
| |
llvm-svn: 109440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is present.
Rather than using clang_getCursorExtent(), which requires
us to lex the token at the ending position to determine its
length. Then, we'd be comparing [a, b) source ranges that cover the
characters in the range rather than the normal behavior for Clang's
source ranges, which covers the tokens in the range. However, relexing
causes us to read the source file (which may come from a precompiled
header), which is rather unfortunate and affects performance.
In the new scheme, we only use Clang-style source ranges that cover
the tokens in the range. At the entry points where this matters
(clang_annotateTokens, clang_getCursor), we make sure to move source
locations to the start of the token.
Addresses most of <rdar://problem/8049381>.
llvm-svn: 109134
|
|
|
|
|
|
|
|
|
| |
which is the part of the file that contains all of the initial
comments, includes, and preprocessor directives that occur before any
of the actual code. Added a new -print-preamble cc1 action that is
only used for testing.
llvm-svn: 108913
|
|
|
|
|
|
| |
standard's minimum requirements.
llvm-svn: 108837
|
|
|
|
| |
llvm-svn: 108633
|
|
|
|
|
|
|
| |
allow invalid token pastes (when in -fms-extensions mode)
with -Wno-invalid-token-paste
llvm-svn: 108624
|
|
|
|
|
|
|
|
|
|
|
| |
IdentifierInfos.
When loading the PCH, IdentifierInfos that are associated with pragmas cause declarations that use these identifiers to be deserialized (e.g. the "clang" pragma causes the "clang" namespace to be loaded).
We can avoid this if we just use StringRefs for the pragmas.
As a bonus, since we don't have to create and pass IdentifierInfos, the pragma interfaces get a bit more simplified.
llvm-svn: 108237
|