- Jan 23, 2007
-
-
Chris Lattner authored
llvm-svn: 39287
-
Chris Lattner authored
Diagnose redefintion of tag types, e.g.: t.c:7:8: error: redefinition of 'blah' struct blah {}; ^ t.c:1:8: error: previous definition is here struct blah { ^ 2 diagnostics generated. llvm-svn: 39286
-
Chris Lattner authored
llvm-svn: 39285
-
Chris Lattner authored
converting a declspec with TST = struct/union. Pretty print as well. llvm-svn: 39284
-
Chris Lattner authored
llvm-svn: 39283
-
Chris Lattner authored
Use it to hold the declaration object for a struct/union. llvm-svn: 39282
-
Chris Lattner authored
llvm-svn: 39281
-
Chris Lattner authored
llvm-svn: 39280
-
Chris Lattner authored
llvm-svn: 39279
-
Chris Lattner authored
llvm-svn: 39278
-
Chris Lattner authored
rename it to ParseTag. llvm-svn: 39277
-
Chris Lattner authored
llvm-svn: 39276
-
Chris Lattner authored
struct blah * P; union blah *P2; we now emit: t.c:2:1: error: redefinition of 'blah' with tag that does not match previous use union blah *P2; ^ t.c:1:8: error: previous use is here struct blah * P; ^ llvm-svn: 39275
-
Chris Lattner authored
or a definition/declaration of a tag. This is required to handle C99 6.7.2.3p11 properly. llvm-svn: 39274
-
Chris Lattner authored
queries more natural. llvm-svn: 39273
-
Chris Lattner authored
case and handle identifiers in the same namespace correctly. This implements test/Parser/c-namespace.c llvm-svn: 39272
-
Chris Lattner authored
llvm-svn: 39271
-
Chris Lattner authored
llvm-svn: 39270
-
- Jan 22, 2007
-
-
Chris Lattner authored
llvm-svn: 39269
-
Chris Lattner authored
llvm-svn: 39268
-
Chris Lattner authored
- Add support for getting the namespace of a decl. - Move type down the inheritance hierarchy, it doesn't make sense for a struct to have a type, and typedef's use types in different ways than variables do. - Add initial TagDecl/RecordDecl classes. llvm-svn: 39267
-
Chris Lattner authored
Make name lookup properly obey C namespaces, simplify decl construction byeliminating the 'next' pointer from the ctor, and add initial support forparsing struct/union tags. llvm-svn: 39266
-
Chris Lattner authored
eliminating the 'next' pointer from the ctor, and add initial support for parsing struct/union tags. llvm-svn: 39265
-
Chris Lattner authored
llvm-svn: 39264
-
Chris Lattner authored
llvm-svn: 39263
-
Chris Lattner authored
llvm-svn: 39262
-
Chris Lattner authored
void (*signal(int arga, void (*argb)(double Y)))(void* Z) {} as: void (*signal(int arga, void (*argb)(double)))(void *) { } go C :) llvm-svn: 39261
-
Chris Lattner authored
llvm-svn: 39260
-
Chris Lattner authored
llvm-svn: 39259
-
- Jan 21, 2007
-
-
Chris Lattner authored
llvm-svn: 39258
-
Chris Lattner authored
Detect and emit errors when names are redefined in the same scope, e.g. test/Parser/argument_redef.c, which now emits: argument_redef.c:4:22: error: redefinition of 'A' int foo(int A) { int A; } ^ argument_redef.c:4:13: error: previous definition is here int foo(int A) { int A; } ^ llvm-svn: 39257
-
Chris Lattner authored
llvm-svn: 39256
-
Chris Lattner authored
llvm-svn: 39255
-
Chris Lattner authored
llvm-svn: 39254
-
Chris Lattner authored
inserting them into the function body scope and registering them with the corresponding FunctionDecl. llvm-svn: 39253
-
Chris Lattner authored
an extra scope stack to be pushed between the function body and arguments, which causes the parser to incorrectly accept stuff like 'int foo(int A) { int A; }', which is test/Parser/argument_redef.c. llvm-svn: 39252
-
Chris Lattner authored
llvm-svn: 39251
-
Chris Lattner authored
llvm-svn: 39250
-
Chris Lattner authored
This fixes a bug where a missing } could cause the scope stacks to get unbalanced and will be used for function body parsing. llvm-svn: 39249
-
- Jan 15, 2007
-
-
Chris Lattner authored
llvm-svn: 39248
-