- Jan 26, 2007
-
-
Chris Lattner authored
llvm-svn: 39304
-
- Jan 25, 2007
-
-
Chris Lattner authored
struct q { int a, a; }; with: t.c:3:19: error: duplicate member 'a' struct q { int a, a; }; ^ t.c:3:16: error: previous definition is here struct q { int a, a; }; ^ llvm-svn: 39303
-
Chris Lattner authored
This emits these diagnostics: t.c:4:14: error: redefinition of 'a' enum foo22 { a, b }; ^ t.c:3:5: error: previous definition is here int a; ^ t.c:8:17: error: redefinition of enumerator 'b' enum foo23 { c, b }; ^ t.c:4:17: error: previous definition is here enum foo22 { a, b }; ^ 4 diagnostics generated. for: int a; enum foo22 { a, b }; enum foo23 { c, b }; llvm-svn: 39302
-
Chris Lattner authored
llvm-svn: 39301
-
Chris Lattner authored
the EnumDecl when the enum type is complete. This allows us to detect redefinitions of enums. llvm-svn: 39300
-
Chris Lattner authored
t.c:2:6: warning: ISO C forbids forward references to 'enum' types enum foo22* X; ^ llvm-svn: 39299
-
Chris Lattner authored
structs and enums. llvm-svn: 39298
-
Chris Lattner authored
llvm-svn: 39297
-
Chris Lattner authored
t.c:10:15: warning: 'bonk' may not be nested in a struct due to flexible array member struct bink bonk; ^ t.c:13:14: error: 'struct bink' may not be used as an array element due to flexible array member struct bink A[123]; ^ for: struct bink { struct bink *a; int X[]; // ok. }; struct foo { int A; struct bink bonk; }; struct bink A[123]; llvm-svn: 39296
-
- Jan 24, 2007
-
-
Chris Lattner authored
struct bork { int X[]; }; struct bink { struct bink a; int X[]; // ok. }; to: t.c:3:7: error: flexible array 'X' not allowed in otherwise empty struct int X[]; ^ t.c:7:15: error: field 'a' has incomplete type struct bink a; ^ llvm-svn: 39295
-
Chris Lattner authored
t.c:5:8: error: field 'foo' declared as a function void foo(); ^ llvm-svn: 39294
-
Chris Lattner authored
llvm-svn: 39293
-
Chris Lattner authored
like: struct S { struct S {} X; }; with: t.c:2:19: error: nested redefinition of 'struct' struct S { struct S {} X; }; ^ t.c:2:1: error: previous definition is here struct S { struct S {} X; }; ^ llvm-svn: 39292
-
- Jan 23, 2007
-
-
Chris Lattner authored
llvm-svn: 39291
-
Chris Lattner authored
llvm-svn: 39290
-
Chris Lattner authored
C99 6.2.5. llvm-svn: 39289
-
Chris Lattner authored
llvm-svn: 39288
-
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
-