- Jul 21, 2007
-
-
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
-
Chris Lattner authored
llvm-svn: 40009
-
Steve Naroff authored
First round of extended vector support. Here is an overview... - added ocu_vector_type attribute, Sema::HandleOCUVectorTypeAttribute(). - added new AST node, OCUVectorType, a subclass of VectorType. - added ASTContext::getOCUVectorType. - changed ASTContext::convertToVectorType() to ASTContext::getVectorType(). This is unrelated to extended vectors, however I was in the vicinity and it was on my todo list. Added a FIXME to Sema::HandleVectorTypeAttribute to deal with converting complex types. llvm-svn: 40007
-
Chris Lattner authored
hooked up to anything, so it's not very useful yet. llvm-svn: 40006
-
Chris Lattner authored
llvm-svn: 40005
-
Chris Lattner authored
llvm-svn: 40003
-
Chris Lattner authored
llvm-svn: 39996
-
Chris Lattner authored
llvm-svn: 39994
-
Chris Lattner authored
llvm-svn: 39989
-
- Jul 17, 2007
-
-
Chris Lattner authored
just always use strtod. This is temporary code anyway. llvm-svn: 39972
-
Gabor Greif authored
llvm-svn: 39970
-
Bill Wendling authored
llvm-svn: 39960
-
Chris Lattner authored
llvm-svn: 39958
-
Bill Wendling authored
llvm-svn: 39956
-
Bill Wendling authored
Change dyn_cast for reference types to be more like pointers and not need the canonical type. Also fix so that we're not expecting a return value from a void function llvm-svn: 39954
-
Bill Wendling authored
According to the spec (C++ 5p6[expr]), we need to adjust "T&" to "T" before further analysis. We do this via the "implicit cast" thingy. llvm-svn: 39953
-