- Jul 22, 2007
-
-
Chris Lattner authored
llvm-svn: 40386
-
Chris Lattner authored
llvm-svn: 40385
-
Chris Lattner authored
// foo // bar // baz we'd get two levels of call (bcpl & whitespace) for each line, leading to some seriously deep stacks in some cases. llvm-svn: 40384
-
Chris Lattner authored
fileid's and macroid's across files. Clearing between files keeps the tables smaller and slightly speeds up compilation. llvm-svn: 40383
-
Chris Lattner authored
llvm-svn: 40381
-
Chris Lattner authored
redefinition of a macro could cause invalid memory to be deleted. Found preprocessing 253.perlbmk. llvm-svn: 40380
-
Chris Lattner authored
int i = /*/ */ 1; Thanks to Neil for pointing this out. llvm-svn: 40379
-
- Jul 21, 2007
-
-
Steve Naroff authored
llvm-svn: 40375
-
Chris Lattner authored
keeps the MacroInfo table more compact. llvm-svn: 40281
-
Chris Lattner authored
llvm-svn: 40264
-
Chris Lattner authored
llvm-svn: 40189
-
Chris Lattner authored
llvm-svn: 40176
-
Chris Lattner authored
llvm-svn: 40173
-
Chris Lattner authored
llvm-svn: 40169
-
Chris Lattner authored
llvm-svn: 40163
-
Anders Carlsson authored
llvm-svn: 40162
-
Chris Lattner authored
invalid arguments. llvm-svn: 40161
-
Chris Lattner authored
llvm-svn: 40139
-
Chris Lattner authored
llvm-svn: 40138
-
Chris Lattner authored
a bit nicer for people who pass lots of extra arguments to calls by selecting them all instead of just the first one: arg-duplicate.c:13:13: error: too many arguments to function f3 (1, 1, 2, 3, 4); // expected-error {{too many arguments to function}} ^~~~~~~ This implements test/Sema/arg-duplicate.c, thanks to Neil for pointing out this crash. llvm-svn: 40136
-
Chris Lattner authored
llvm-svn: 40135
-
Chris Lattner authored
1) fix a crash on test/Sema/default.c by making sure that the switch scope is non-null. 2) if there is an error sema'ing a default or case stmt, make sure to return the substmt up, so that the error recovery code has more acurate info to continue with. llvm-svn: 40134
-
- Jul 20, 2007
-
-
Chris Lattner authored
llvm-svn: 40113
-
Chris Lattner authored
llvm-svn: 40111
-
Chris Lattner authored
llvm-svn: 40110
-
Chris Lattner authored
SourceManager::getInstantiationLoc. With this change, every token expanded from a macro doesn't get its own MacroID. :) This reduces # macro IDs in carbon.h from 16805 to 9197 llvm-svn: 40108
-
Chris Lattner authored
llvm-svn: 40106
-
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
llvm-svn: 40104
-
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
-
Chris Lattner authored
llvm-svn: 40068
-
- Jul 19, 2007
-
-
Steve Naroff authored
We still need to do sematic analysis (and implement initializers), however this should complete the parsing & ast building for compound literals. llvm-svn: 40067
-
Chris Lattner authored
#define t(x) #x t(a c) to "a c", not "ac". llvm-svn: 40060
-
Chris Lattner authored
llvm-svn: 40037
-
Steve Naroff authored
Work towards fixing crasher with compound literals... Before this commit, we crashed in ParseBinOp... [dylan:~/llvm/tools/clang] admin% ../../Debug/bin/clang -parse-ast-check compound_literal.c SemaExpr.cpp:1298: failed assertion `(rhs != 0) && "ParseBinOp(): missing right expression"' With this commit, we still crash in the newly added action ParseCompoundLiteral (which is progress:-) [dylan:~/llvm/tools/clang] admin% ../../Debug/bin/clang -parse-ast-check compound_literal.c SemaExpr.cpp:478: failed assertion `(Op != 0) && "ParseCompoundLiteral(): missing expression"' The crash go away once the actions return AST nodes. I will do this in a separate commit. llvm-svn: 40032
-
Chris Lattner authored
return a null type. If there is an error parsing the type, pick a new type for error recovery purposes. llvm-svn: 40029
-
Chris Lattner authored
llvm-svn: 40027
-
Chris Lattner authored
a function-like macro invocation. Patch contributed by Neil Booth. llvm-svn: 40026
-
- Jul 18, 2007
-
-
Chris Lattner authored
llvm-svn: 40012
-
Chris Lattner authored
This allows us to compile this: struct abc { char A; double D; }; int foo() { return sizeof(struct abc); return __alignof__(struct abc); } Into: ret i32 16 ret i32 8 llvm-svn: 40010
-