| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious.
llvm-svn: 86430
|
| |
|
|
|
|
|
| |
declarators are parsed primarily within a single function (at least for
these cases). Remove some excess diagnostics arising during parse failures.
llvm-svn: 85924
|
| |
|
|
| |
llvm-svn: 84005
|
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
|
|
|
|
| |
- This is just to normalize, these will go away soon hopefully.
Added all the missing '&&'s that have crept in. :)
llvm-svn: 77062
|
| |
|
|
|
|
| |
C++-specific tokens.
llvm-svn: 73408
|
| |
|
|
| |
llvm-svn: 73153
|
| |
|
|
| |
llvm-svn: 71572
|
| |
|
|
|
|
| |
and apparently not part of -Wall
llvm-svn: 70329
|
| |
|
|
| |
llvm-svn: 70315
|
| |
|
|
| |
llvm-svn: 70310
|
| |
|
|
| |
llvm-svn: 68933
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which tries to do better error recovery when it is "obvious" that an
identifier is a mis-typed typename. In this case, we try to parse
it as a typename instead of as the identifier in a declarator, which
gives us several options for better error recovery and immediately
makes diagnostics more useful. For example, we now produce:
t.c:4:8: error: unknown type name 'foo_t'
static foo_t a = 4;
^
instead of:
t.c:4:14: error: invalid token after top level declarator
static foo_t a = 4;
^
Also, since we now parse "a" correctly, we make a decl for it,
preventing later uses of 'a' from emitting things like:
t.c:12:20: error: use of undeclared identifier 'a'
int bar() { return a + b; }
^
I'd really appreciate any scrutiny possible on this, it
is a tricky area.
llvm-svn: 68911
|
| |
|
|
|
|
| |
was causing the char after the newline to get eaten.
llvm-svn: 68430
|
| |
|
|
| |
llvm-svn: 68349
|
| |
|
|
| |
llvm-svn: 68347
|
| |
|
|
|
|
|
| |
Eventually, would be nice to be able to run these modifications even
when we don't want the warning or errors for the actual diagnostic.
llvm-svn: 68272
|
| |
|
|
|
|
| |
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
|
| |
|
|
| |
llvm-svn: 67483
|
| |
|
|
|
|
|
|
| |
require a space (to avoid concatenation) if the numeric constant had a
leading period.
- PR3819.
llvm-svn: 67163
|
| |
|
|
| |
llvm-svn: 67013
|
| |
|
|
| |
llvm-svn: 66389
|
| |
|
|
|
|
|
| |
useless to something more vague but hopefully more clear.
rdar://6624173
llvm-svn: 65639
|
| |
|
|
| |
llvm-svn: 62368
|
| |
|
|
| |
llvm-svn: 60942
|
| |
|
|
| |
llvm-svn: 59770
|
| |
|
|
|
|
|
|
| |
Parser side.
No Sema functionality change, just the signatures of the Action/Sema methods.
llvm-svn: 58913
|
| |
|
|
|
|
| |
preprocessed outputs)
llvm-svn: 55826
|
| |
|
|
|
|
| |
specified, or -std is set to a conforming mode.
llvm-svn: 55738
|
| |
|
|
|
|
|
|
| |
Note that this isn't really a complete fix; I think there are other
potential overrun situations. I don't really know what the best
systematic fix is, though.
llvm-svn: 55622
|
| |
|
|
| |
llvm-svn: 54037
|
| |
|
|
|
|
| |
- For: rdar://6096838
llvm-svn: 54036
|
| |
|
|
|
|
| |
'integer constant is so large that it is unsigned' warning for hex literals.
llvm-svn: 53070
|
| |
|
|
|
|
| |
rejected FP immediates like 08.123
llvm-svn: 52890
|
| |
|
|
|
|
| |
Otherwise, failing tests other than the last one will not be reported.
llvm-svn: 52231
|
| |
|
|
| |
llvm-svn: 52169
|
| |
|
|
|
|
| |
because clang can't parse stdio.h in C++ mode yet.
llvm-svn: 52168
|
| |
|
|
| |
llvm-svn: 51843
|
| |
|
|
| |
llvm-svn: 47540
|
| |
|
|
|
|
|
|
|
| |
level code in clang. This is a cleanup, but does implement "-o" for
-emit-llvm. One effect of this is that "clang foo.c -emit-llvm" will now
emit into foo.ll instead of stdout. Use "clang foo.c -emit-llvm -o -" or
"clang < foo.c -emit-llvm" to get the old behavior.
llvm-svn: 46791
|
| |
|
|
| |
llvm-svn: 45212
|
| |
|
|
| |
llvm-svn: 44450
|
| |
|
|
|
|
| |
exponent but no decimal point.
llvm-svn: 44431
|
| |
|
|
|
|
|
| |
looking only for { and } instead of {{ and }}. Changed it to check for
this explicitly.
llvm-svn: 44326
|
| |
|
|
| |
llvm-svn: 44120
|
| |
|
|
|
|
|
| |
rename -parse-ast-dump to -ast-dump
remove -parse-ast, which is redundant with -fsyntax-only
llvm-svn: 42852
|
| |
|
|
|
|
|
|
|
|
|
|
| |
using "-parse-ast -verify".
Updated all test cases (using a sed script) that invoked -parse-ast-check to
now use -parse-ast -verify.
Fixed a bug where using "-verify" instead of "-parse-ast-check" would not
correctly create the DiagClient needed to accumulate diagnostics.
llvm-svn: 42365
|
| |
|
|
|
|
|
|
| |
int i = /*/ */ 1;
Thanks to Neil for pointing this out.
llvm-svn: 40379
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
accurate diagnostics. For test/Lexer/comments.c we now emit:
int x = 000000080; /* expected-error {{invalid digit}} */
^
constants.c:7:4: error: invalid digit '8' in octal constant
00080; /* expected-error {{invalid digit}} */
^
The last line is due to an escaped newline. The full line looks like:
int y = 0000\
00080; /* expected-error {{invalid digit}} */
Previously, we emitted:
constants.c:4:9: error: invalid digit '8' in octal constant
int x = 000000080; /* expected-error {{invalid digit}} */
^
constants.c:6:9: error: invalid digit '8' in octal constant
int y = 0000\
^
which isn't too bad, but the new way is better for the user,
regardless of whether there is an escaped newline or not.
All the other lexer-related diagnostics should switch over
to using AdvanceToTokenCharacter where appropriate. Help
wanted :).
This implements test/Lexer/constants.c.
llvm-svn: 39906
|
| |
|
|
| |
llvm-svn: 39897
|