aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/c-lex.c2
-rw-r--r--gcc/c-lex.h2
-rw-r--r--gcc/c-parse.gperf10
-rw-r--r--gcc/c-parse.in1
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