| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Again, I tried to update cmake but it is untested.
llvm-svn: 67605
|
|
|
|
| |
llvm-svn: 67403
|
|
|
|
|
|
| |
PrintPreprocessedOutput into its own file. No functionality change.
llvm-svn: 64418
|
|
|
|
|
|
| |
random hash table order, I don't like non-determinstic output.
llvm-svn: 64248
|
|
|
|
| |
llvm-svn: 64244
|
|
|
|
|
|
|
| |
diffing the output of:
clang -dM -o - -E -x c foo.c | sort
llvm-svn: 63926
|
|
|
|
| |
llvm-svn: 63922
|
|
|
|
|
|
|
|
| |
getColumnNumber. This fixes a FIXME in
SourceManager::getPresumedLoc because we now just decompose
the sloc once.
llvm-svn: 63701
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
location. We now -E a file containing "foo" into:
# 1 "t.c"
# 1 "t.c" 1
# 1 "<predefines>" 1
# 1 "t.c" 2
foo
instead of:
# 1 "t.c"
# 1 "t.c" 1
# 0 "t.c"
# 1 "<predefines>" 1
# 1 "t.c" 2
foo
llvm-svn: 63405
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as reported to the user and as manipulated by #line. This is what __FILE__,
__INCLUDE_LEVEL__, diagnostics and other things should follow (but not
dependency generation!).
This patch also includes several cleanups along the way:
- SourceLocation now has a dump method, and several other places
that did similar things now use it.
- I cleaned up some code in AnalysisConsumer, but it should probably be
simplified further now that NamedDecl is better.
- TextDiagnosticPrinter is now simplified and cleaned up a bit.
This patch is a prerequisite for #line, but does not actually provide
any #line functionality.
llvm-svn: 63098
|
|
|
|
| |
llvm-svn: 63029
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Token now has a class of kinds for "literals", which include
numeric constants, strings, etc. These tokens can optionally have
a pointer to the start of the token in the lexer buffer. This
makes it faster to get spelling and do other gymnastics, because we
don't have to go through source locations.
This change is performance neutral, but will make other changes
more feasible down the road.
llvm-svn: 63028
|
|
|
|
| |
llvm-svn: 62367
|
|
|
|
| |
llvm-svn: 62339
|
|
|
|
|
|
| |
"logical" location, refer to the "instantiation" location.
llvm-svn: 62316
|
|
|
|
|
|
|
| |
the "physical" location of tokens, refer to the "spelling" location.
This is more concrete and useful, tokens aren't really physical objects!
llvm-svn: 62309
|
|
|
|
|
|
|
|
| |
is enabled
respectively. Inspired by a patch by Dan Villiom Podlaski Christiansen.
llvm-svn: 62044
|
|
|
|
|
|
|
|
| |
the Backend output should be done in binary mode.
- I'd appreciate it if someone who has a Windows build could verify
this.
llvm-svn: 59221
|
|
|
|
| |
llvm-svn: 58224
|
|
|
|
|
|
| |
DirectoryLookup::DirType into SourceManager.h
llvm-svn: 56692
|
|
|
|
| |
llvm-svn: 56687
|
|
|
|
| |
llvm-svn: 56636
|
|
|
|
|
|
|
|
|
|
|
|
| |
- gcc is not happy if we start a preprocessed file with
#line 1 "XXX" 1
- Workaround by making sure file starts with a simple #line change.
Also, factored WriteLineInfo out.
Also, fixed bug where FileType was not being correctly updated.
llvm-svn: 55825
|
|
|
|
| |
llvm-svn: 54973
|
|
|
|
| |
llvm-svn: 54872
|
|
|
|
| |
llvm-svn: 54871
|
|
|
|
| |
llvm-svn: 54864
|
|
|
|
| |
llvm-svn: 54861
|
|
|
|
|
|
| |
This also helps the eventual distcc project.
llvm-svn: 54858
|
|
|
|
|
|
| |
file is specified, print a happy little error message.
llvm-svn: 49518
|
|
|
|
| |
llvm-svn: 49368
|
|
|
|
| |
llvm-svn: 46426
|
|
|
|
| |
llvm-svn: 46000
|
|
|
|
|
|
| |
abc+L"foo" -> abc L"foo", not abcL"foo"
llvm-svn: 45999
|
|
|
|
|
|
| |
discussion of this change.
llvm-svn: 45410
|
|
|
|
|
|
|
|
|
| |
both Preprocessor and ASTContext, we no longer need to explicitly pass
MainFileID around in function calls that also pass either Preprocessor or
ASTContext. This resulted in some nice cleanups in the ASTConsumers and the
driver.
llvm-svn: 45228
|
|
|
|
| |
llvm-svn: 45060
|
|
|
|
|
|
|
|
| |
not the start of a logical line. Be careful about this distinction, which
affects when newlines are printed and when paste-avoidance happens, etc.
This fixes PR1848, thanks to Neil for noticing this!
llvm-svn: 44743
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This would cause us to emit different code (in -E mode) for these two files:
---
#define t(x) x
t(a
3)
---
#define t(x) x
t(a
3)
---
In one case, -E would print "a\n3", in the other it printed "a3". Now
it prints "a3" for both.
This is part of PR1848.
llvm-svn: 44742
|
|
|
|
| |
llvm-svn: 42846
|
|
|
|
| |
llvm-svn: 42838
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
predefined macros. Previously, these were handled by the driver,
now they are handled by the preprocessor.
Some fallout of this:
1. Instead of preprocessing two buffers (the predefines, then the
main source file) we now start preprocessing the main source
file and inject the predefines as a "psuedo #include" from the
main source file.
2. #1 allows us to nuke the Lexer::IsMainFile flag and simplify
Preprocessor::isInPrimaryFile.
3. The driver doesn't have to know about standard #defines, the
preprocessor knows, which is nice for people wanting to define
their own drivers.
4. This allows us to put normal tokens in the predefine buffer,
for example a definition for __builtin_va_list that is
target-specific, and a typedef for id in objc.
llvm-svn: 42818
|
|
|
|
| |
llvm-svn: 42800
|
|
|
|
|
|
| |
by Hartmut Kaiser!
llvm-svn: 41684
|
|
|
|
| |
llvm-svn: 40462
|
|
|
|
|
|
|
|
| |
malloc traffic.
This speeds up -E on xalancbmk by 2.4%
llvm-svn: 40461
|
|
|
|
|
|
| |
by Neil Booth. This fixes Preprocessor/output_paste_avoid.c
llvm-svn: 40454
|
|
|
|
| |
llvm-svn: 40424
|
|
|
|
|
|
| |
This speeds up -E on 447.dealII by 5.8%
llvm-svn: 40423
|
|
|
|
|
|
|
| |
trivial to handle and very very common. This speeds up -E on
447.dealII by 2.5%
llvm-svn: 40422
|