- Jan 15, 2008
-
-
Chris Lattner authored
llvm-svn: 46000
-
Chris Lattner authored
abc+L"foo" -> abc L"foo", not abcL"foo" llvm-svn: 45999
-
- Dec 29, 2007
-
-
Chris Lattner authored
discussion of this change. llvm-svn: 45410
-
- Dec 19, 2007
-
-
Ted Kremenek authored
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
-
- Dec 15, 2007
-
-
Chris Lattner authored
llvm-svn: 45060
-
- Dec 09, 2007
-
-
Chris Lattner authored
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
-
Chris Lattner authored
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
-
- Oct 11, 2007
-
-
Chris Lattner authored
llvm-svn: 42846
-
- Oct 10, 2007
-
-
Chris Lattner authored
llvm-svn: 42838
-
Chris Lattner authored
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
-
- Oct 09, 2007
-
-
Chris Lattner authored
llvm-svn: 42800
-
- Sep 03, 2007
-
-
Chris Lattner authored
by Hartmut Kaiser! llvm-svn: 41684
-
- Jul 24, 2007
-
-
Chris Lattner authored
llvm-svn: 40462
-
Chris Lattner authored
This speeds up -E on xalancbmk by 2.4% llvm-svn: 40461
-
Chris Lattner authored
by Neil Booth. This fixes Preprocessor/output_paste_avoid.c llvm-svn: 40454
-
- Jul 23, 2007
-
-
Chris Lattner authored
llvm-svn: 40424
-
Chris Lattner authored
This speeds up -E on 447.dealII by 5.8% llvm-svn: 40423
-
Chris Lattner authored
trivial to handle and very very common. This speeds up -E on 447.dealII by 2.5% llvm-svn: 40422
-
Chris Lattner authored
and avoid computing the spelling of tokens when not needed. This speeds up -E on 447.dealII by 2.2% llvm-svn: 40421
-
Chris Lattner authored
without having to get the whole token. This speeds up -E on 447.dealII by 1.8% llvm-svn: 40420
-
Chris Lattner authored
llvm-svn: 40419
-
Chris Lattner authored
token was not -> and if the token before it was -, the - and > would avoid pasting. llvm-svn: 40409
-
- Jul 22, 2007
-
-
Chris Lattner authored
llvm-svn: 40386
-
Chris Lattner authored
llvm-svn: 40385
-
- Jul 20, 2007
-
-
Chris Lattner authored
Since that point is now long gone, we should rename LexerToken to Token, as it is the only kind of token we have. llvm-svn: 40105
-
Chris Lattner authored
fileid/offset pair, it now contains a bit discriminating between mapped locations and file locations. This separates the tables for macros and files in SourceManager, and allows better separation of concepts in the rest of the compiler. This allows us to have *many* macro instantiations before running out of 'addressing space'. This is also more efficient, because testing whether something is a macro expansion is now a bit test instead of a table lookup (which also used to require having a srcmgr around, now it doesn't). This is fully functional, but there are several refinements and optimizations left. llvm-svn: 40103
-
- Jun 16, 2007
-
-
Chris Lattner authored
out of the llvm namespace. This makes the clang namespace be a sibling of llvm instead of being a child. The good thing about this is that it makes many things unambiguous. The bad things is that many things in the llvm namespace (notably data structures like smallvector) now require an llvm:: qualifier. IMO, libsystem and libsupport should be split out of llvm into their own namespace in the future, which will fix this issue. llvm-svn: 39659
-
- Nov 21, 2006
-
-
Chris Lattner authored
llvm-svn: 39210
-
Chris Lattner authored
state, not aspects of the language standard being parsed. llvm-svn: 39209
-
Chris Lattner authored
at once. llvm-svn: 39207
-
Chris Lattner authored
llvm-svn: 39205
-
Chris Lattner authored
of having a loose collection of function pointers. This also allows clients to maintain state, and reduces the size of the Preprocessor.h interface. llvm-svn: 39203
-
- Oct 27, 2006
-
-
Chris Lattner authored
from gcc mainline. llvm-svn: 39067
-
- Oct 18, 2006
-
-
Chris Lattner authored
llvm-svn: 39013
-
Chris Lattner authored
llvm-svn: 39009
-
- Jul 29, 2006
-
-
Chris Lattner authored
llvm-svn: 38796
-
Chris Lattner authored
llvm-svn: 38784
-
Chris Lattner authored
llvm-svn: 38783
-
- Jul 28, 2006
-
-
Chris Lattner authored
llvm-svn: 38767
-
- Jul 15, 2006
-
-
Chris Lattner authored
llvm-svn: 38708
-