diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/c-lex.c | 2 | ||||
-rw-r--r-- | gcc/c-lex.h | 2 | ||||
-rw-r--r-- | gcc/c-parse.gperf | 10 | ||||
-rw-r--r-- | gcc/c-parse.in | 1 |
5 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e9e1852c..bfc8088 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2000-03-14 Greg McGary <gkm@gnu.org> + + * c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED. + * c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED. + * c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__, + __ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__, + __unbounded, __unbounded__): New keywords. + * c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens. + 2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk> * cselib.h: New file. diff --git a/gcc/c-lex.c b/gcc/c-lex.c index 6597ffc..2f8a840 100644 --- a/gcc/c-lex.c +++ b/gcc/c-lex.c @@ -305,6 +305,8 @@ init_lex () ridpointers[(int) RID_CONST] = get_identifier ("const"); ridpointers[(int) RID_RESTRICT] = get_identifier ("restrict"); ridpointers[(int) RID_VOLATILE] = get_identifier ("volatile"); + ridpointers[(int) RID_BOUNDED] = get_identifier ("__bounded"); + ridpointers[(int) RID_UNBOUNDED] = get_identifier ("__unbounded"); ridpointers[(int) RID_AUTO] = get_identifier ("auto"); ridpointers[(int) RID_STATIC] = get_identifier ("static"); ridpointers[(int) RID_EXTERN] = get_identifier ("extern"); diff --git a/gcc/c-lex.h b/gcc/c-lex.h index 811ca9b..c1e25cb 100644 --- a/gcc/c-lex.h +++ b/gcc/c-lex.h @@ -42,6 +42,8 @@ enum rid RID_CONST, RID_RESTRICT, RID_VOLATILE, + RID_BOUNDED, + RID_UNBOUNDED, RID_INLINE, RID_NOALIAS, RID_ITERATOR, diff --git a/gcc/c-parse.gperf b/gcc/c-parse.gperf index 8f272c4..db8dc1e 100644 --- a/gcc/c-parse.gperf +++ b/gcc/c-parse.gperf @@ -29,6 +29,8 @@ __asm, ASM_KEYWORD, NORID __asm__, ASM_KEYWORD, NORID __attribute, ATTRIBUTE, NORID __attribute__, ATTRIBUTE, NORID +__bounded, TYPE_QUAL, RID_BOUNDED +__bounded__, TYPE_QUAL, RID_BOUNDED __builtin_va_arg, VA_ARG, NORID __complex, TYPESPEC, RID_COMPLEX __complex__, TYPESPEC, RID_COMPLEX @@ -42,6 +44,12 @@ __inline__, SCSPEC, RID_INLINE __iterator, SCSPEC, RID_ITERATOR __iterator__, SCSPEC, RID_ITERATOR __label__, LABEL, NORID +__ptrbase, PTR_BASE, NORID +__ptrbase__, PTR_BASE, NORID +__ptrextent, PTR_EXTENT, NORID +__ptrextent__, PTR_EXTENT, NORID +__ptrvalue, PTR_VALUE, NORID +__ptrvalue__, PTR_VALUE, NORID __real, REALPART, NORID __real__, REALPART, NORID __restrict, TYPE_QUAL, RID_RESTRICT @@ -50,6 +58,8 @@ __signed, TYPESPEC, RID_SIGNED __signed__, TYPESPEC, RID_SIGNED __typeof, TYPEOF, NORID __typeof__, TYPEOF, NORID +__unbounded, TYPE_QUAL, RID_UNBOUNDED +__unbounded__, TYPE_QUAL, RID_UNBOUNDED __volatile, TYPE_QUAL, RID_VOLATILE __volatile__, TYPE_QUAL, RID_VOLATILE asm, ASM_KEYWORD, NORID diff --git a/gcc/c-parse.in b/gcc/c-parse.in index 6b59e37..dc6f340 100644 --- a/gcc/c-parse.in +++ b/gcc/c-parse.in @@ -115,6 +115,7 @@ end ifc %token BREAK CONTINUE RETURN GOTO ASM_KEYWORD TYPEOF ALIGNOF %token ATTRIBUTE EXTENSION LABEL %token REALPART IMAGPART VA_ARG +%token PTR_VALUE PTR_BASE PTR_EXTENT /* Used in c-lex.c for parsing pragmas. */ %token END_OF_LINE |