| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
pasted token.
llvm-svn: 70793
|
| |
|
|
|
|
| |
and apparently not part of -Wall
llvm-svn: 70329
|
| |
|
|
| |
llvm-svn: 70315
|
| |
|
|
| |
llvm-svn: 70283
|
| |
|
|
|
|
|
|
|
|
|
|
| |
that if we're going to print an extension warning anyway,
there's no point to changing behavior based on NoExtensions: it will
only make error recovery worse.
Note that this doesn't cause any behavior change because NoExtensions
isn't used by the current front-end. I'm still considering what to do about
the remaining use of NoExtensions in IdentifierTable.cpp.
llvm-svn: 70273
|
| |
|
|
|
|
|
|
| |
PCH file. In the Cocoa-prefixed "Hello, World" benchmark, this takes
us from reading 503 identifiers down to 37 and from 470 macros down to
4. It also results in an 8% performance improvement.
llvm-svn: 70094
|
| |
|
|
| |
llvm-svn: 70086
|
| |
|
|
| |
llvm-svn: 69987
|
| |
|
|
| |
llvm-svn: 69964
|
| |
|
|
| |
llvm-svn: 69963
|
| |
|
|
| |
llvm-svn: 69750
|
| |
|
|
|
|
| |
patch by Alexei Svitkine!
llvm-svn: 69659
|
| |
|
|
|
|
| |
Alexei Svitkine!
llvm-svn: 69656
|
| |
|
|
|
|
| |
So 'abc' on i16 platforms will warn but not on i32 platforms.
llvm-svn: 69653
|
| |
|
|
|
|
|
| |
() as being either zero arguments or one empty argument depending
on situation.
llvm-svn: 69627
|
| |
|
|
| |
llvm-svn: 69580
|
| |
|
|
|
|
|
|
|
| |
will let us test for multiple different warning modes in the same
file in regression tests.
This implements rdar://2362963, a 10-year old feature request :)
llvm-svn: 69560
|
| |
|
|
|
|
|
|
|
|
| |
support it. I don't know what evaluation method we use for complex
arithmetic, so I don't know whether/if we should warn about use of
CX_LIMITED_RANGE.
This concludes my planned hacking on STDC pragmas, flame away :)
llvm-svn: 69556
|
| |
|
|
| |
llvm-svn: 69554
|
| |
|
|
| |
llvm-svn: 69551
|
| |
|
|
| |
llvm-svn: 69550
|
| |
|
|
| |
llvm-svn: 69547
|
| |
|
|
|
|
|
| |
for a token is set, this makes the diagnostic "expanded from stack" work
for this diagnostic. Add a testcase for PR3918.
llvm-svn: 69544
|
| |
|
|
|
|
|
| |
by rejecting invalid poisoned tokens in the token
pasting path.
llvm-svn: 69536
|
| |
|
|
|
|
|
| |
in a function-like macro body. This has the added bonus of moving some
function-like macro specific code out of the object-like macro codepath.
llvm-svn: 69530
|
| |
|
|
| |
llvm-svn: 69485
|
| |
|
|
|
|
|
|
|
|
| |
the first real character of a token. For example, advancing
to byte 3 of foo\
bar
should stop at the b, not the \.
llvm-svn: 69484
|
| |
|
|
| |
llvm-svn: 69483
|
| |
|
|
| |
llvm-svn: 69482
|
| |
|
|
| |
llvm-svn: 69481
|
| |
|
|
| |
llvm-svn: 69479
|
| |
|
|
|
|
|
| |
as decimal, even if it starts with 0. Also, since things like 0x1 are
completely illegal, don't even bother using numericliteralparser for them.
llvm-svn: 69454
|
| |
|
|
| |
llvm-svn: 69423
|
| |
|
|
| |
llvm-svn: 69422
|
| |
|
|
| |
llvm-svn: 69415
|
| |
|
|
| |
llvm-svn: 69413
|
| |
|
|
|
|
|
|
|
| |
Highlights: PP::isNextPPTokenLParen() no longer eats the (
when present. We now simplify slightly the logic parsing
macro arguments. We now handle PR3937 and other related cases
correctly.
llvm-svn: 69411
|
| |
|
|
|
|
| |
on the code.
llvm-svn: 69404
|
| |
|
|
| |
llvm-svn: 69403
|
| |
|
|
| |
llvm-svn: 69401
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows it to accurately measure tokens, so that we get:
t.cpp:8:13: error: unknown type name 'X'
static foo::X P;
~~~~~^
instead of the woefully inferior:
t.cpp:8:13: error: unknown type name 'X'
static foo::X P;
~~~~ ^
Most of this is just plumbing to push the reference around.
llvm-svn: 69099
|
| |
|
|
| |
llvm-svn: 69054
|
| |
|
|
|
|
| |
32 or less. Fixing the assert as it otherwise triggers for PIC16 which as i16 as int.
llvm-svn: 69046
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
t.c:3:8: warning: extra tokens at end of #endif directive
#endif foo
^
//
Don't do this in strict-C89 mode because bcpl comments aren't
valid there, and it is too much trouble to analyze whether
C block comments are safe.
llvm-svn: 69024
|
| |
|
|
|
|
|
| |
Warning to properly report that it is an import/include_next instead of
claiming it is a #include.
llvm-svn: 69023
|
| |
|
|
|
|
|
|
|
| |
- Ted, please check.
- Missing test case because PTH won't reliably cache the tokens in a
test case. *cough*
llvm-svn: 68966
|
| |
|
|
| |
llvm-svn: 68933
|
| |
|
|
| |
llvm-svn: 68883
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
buffer generated for the current translation unit. If they are
different, complain and then ignore the PCH file. This effectively
checks for all compilation options that somehow would affect
preprocessor state (-D, -U, -include, the dreaded -imacros, etc.).
When we do accept the PCH file, throw away the contents of the
predefines buffer rather than parsing them, since all of the results
of that parsing are already stored in the PCH file. This eliminates
the ugliness with the redefinition of __builtin_va_list, among other
things.
llvm-svn: 68838
|
| |
|
|
|
|
|
| |
PCH. This works now, except for limitations not being able to do things
with identifiers. The basic example in the testcase works though.
llvm-svn: 68832
|