| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
cached tokens. This is for use with -include-pth.
llvm-svn: 67385
|
| |
|
|
|
|
| |
can have language-specific defines.
llvm-svn: 67375
|
| |
|
|
|
|
| |
original source file (if any) that was used to generate the PTH cache.
llvm-svn: 67343
|
| |
|
|
|
|
|
|
| |
''
'
'
llvm-svn: 67237
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
and the token after the # should be expanded if it is not a valid directive.
This allows us to transform things like:
#define FOO BAR
# FOO
into # BAR, even though FOO is not normally expanded for directives.
This should fix PR3833
llvm-svn: 67236
|
| |
|
|
| |
llvm-svn: 67235
|
| |
|
|
|
|
| |
# 4
llvm-svn: 67233
|
| |
|
|
|
|
|
|
|
| |
#define Y X ## .
Y
are ok in .S files.
llvm-svn: 67231
|
| |
|
|
|
|
|
|
| |
require a space (to avoid concatenation) if the numeric constant had a
leading period.
- PR3819.
llvm-svn: 67163
|
| |
|
|
| |
llvm-svn: 67081
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
diagnostics. This builds on the patch that Sebastian committed and
then revert. Major differences are:
- We don't remove or use the current ".def" files. Instead, for now,
we just make sure that we're building the ".inc" files.
- Fixed CMake makefiles to run TableGen and build the ".inc" files
when needed. Tested with both the Xcode and Makefile generators
provided by CMake, so it should be solid.
- Fixed normal makefiles to handle out-of-source builds that involve
the ".inc" files.
I'll send a separate patch to the list with Sebastian's changes that
eliminate the use of the .def files.
llvm-svn: 67058
|
| |
|
|
| |
llvm-svn: 67032
|
| |
|
|
| |
llvm-svn: 66955
|
| |
|
|
| |
llvm-svn: 66954
|
| |
|
|
| |
llvm-svn: 66799
|
| |
|
|
| |
llvm-svn: 66474
|
| |
|
|
|
|
|
| |
Redefinition checking should ignore the leading whitespace and
start of line flags on the first token of an expansion.
llvm-svn: 66442
|
| |
|
|
|
|
|
|
| |
This prevents caret diagnostics from the scratch buffer from
including other tokens in the scratch buffer that occurred beforei
them.
llvm-svn: 66375
|
| |
|
|
|
|
|
| |
\0's to created tokens instead of making all clients do it. No functionality
change.
llvm-svn: 66373
|
| |
|
|
| |
llvm-svn: 66344
|
| |
|
|
| |
llvm-svn: 66246
|
| |
|
|
|
|
|
| |
preexpanded macro arguments from the preprocessor's bump pointer.
This reduces # mallocs from 12444 to 11792.
llvm-svn: 66025
|
| |
|
|
| |
llvm-svn: 65884
|
| |
|
|
| |
llvm-svn: 65641
|
| |
|
|
| |
llvm-svn: 65582
|
| |
|
|
| |
llvm-svn: 65348
|
| |
|
|
|
|
|
|
|
| |
to being allocated from the same bumpptr that the MacroInfo objects
themselves are.
This speeds up -Eonly cocoa.h pth by ~4%, fsyntax-only is barely measurable.
llvm-svn: 65195
|
| |
|
|
| |
llvm-svn: 65187
|
| |
|
|
| |
llvm-svn: 65179
|
| |
|
|
| |
llvm-svn: 65072
|
| |
|
|
| |
llvm-svn: 65071
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
t.c:1:10: error: missing terminating '>' character
#include <stdio.h
^
instead of:
t.c:1:10: error: missing terminating " character
#include <stdio.h
^
llvm-svn: 65052
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
escapes in the string for subtoken positioning. This gives
us working examples like:
t.m:5:16: warning: field width should have type 'int', but argument has type 'unsigned int'
printf("\n\n%*d", (unsigned) 1, 1);
^ ~~~~~~~~~~~~
where before the caret pointed two spaces to the left.
llvm-svn: 64940
|
| |
|
|
| |
llvm-svn: 64939
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now emit:
t.m:6:15: warning: field width should have type 'int', but argument has type 'unsigned int'
printf(STR, (unsigned) 1, 1);
^ ~~~~~~~~~~~~
t.m:3:18: note: instantiated from:
#define STR "abc%*ddef"
^
which has the correct location in the string literal in the note line.
llvm-svn: 64936
|
| |
|
|
| |
llvm-svn: 64642
|
| |
|
|
| |
llvm-svn: 64634
|
| |
|
|
| |
llvm-svn: 64606
|
| |
|
|
|
|
|
|
| |
*end* of a macro instantiation, not the start of it. This is
really all about bug-for-bug compatibility with GCC, but not
doing this breaks the FreeBSD kernel.
llvm-svn: 64604
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Now instead of just tracking the expansion history, also track the full
range of the macro that got replaced. For object-like macros, this doesn't
change anything. For _Pragma and function-like macros, this means we track
the locations of the ')'.
This is required for PR3579 because apparently GCC uses the line of the ')'
of a function-like macro as the location to expand __LINE__ to.
llvm-svn: 64601
|
| |
|
|
| |
llvm-svn: 64503
|
| |
|
|
|
|
|
|
|
|
| |
a target.
Make Preprocessor.cpp define a new __INTPTR_TYPE__ macro based on this.
On linux/32, set intptr_t to int, instead of long. This fixes PR3563.
llvm-svn: 64495
|
| |
|
|
|
|
| |
performance improvement on Cocoa.h (fsyntax-only+PTH).
llvm-svn: 64490
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
wine sources. This was happening because HighlightMacros was
calling EnterMainFile multiple times on the same preprocessor
object and getting an assert due to the new #line stuff (the
file in question was bison output with #line directives).
The fix for this is to not reenter the file. Instead,
relex the tokens in raw mode, swizzle them a bit and repreprocess
the token stream. An added bonus of this is that rewrite macros
will now hilight the macro definition as well as its uses. Woo.
llvm-svn: 64480
|
| |
|
|
|
|
| |
directories (and negative stats too).
llvm-svn: 64477
|
| |
|
|
| |
llvm-svn: 64455
|
| |
|
|
|
|
| |
type doesn't do anything.
llvm-svn: 64424
|
| |
|
|
|
|
| |
PrintPreprocessedOutput into its own file. No functionality change.
llvm-svn: 64418
|
| |
|
|
| |
llvm-svn: 64397
|
| |
|
|
| |
llvm-svn: 64356
|