Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/xlint/lint1 - add buffer bounded attribute



details:   https://anonhg.NetBSD.org/src/rev/e46a6f4a889e
branches:  trunk
changeset: 820127:e46a6f4a889e
user:      christos <christos%NetBSD.org@localhost>
date:      Fri Dec 30 19:53:08 2016 +0000

description:
- add buffer bounded attribute
- allow empty attributes

diffstat:

 usr.bin/xlint/lint1/cgram.y |  24 ++++++++++++++----------
 usr.bin/xlint/lint1/scan.l  |   5 +++--
 2 files changed, 17 insertions(+), 12 deletions(-)

diffs (96 lines):

diff -r 209a13aed26f -r e46a6f4a889e usr.bin/xlint/lint1/cgram.y
--- a/usr.bin/xlint/lint1/cgram.y       Fri Dec 30 19:45:21 2016 +0000
+++ b/usr.bin/xlint/lint1/cgram.y       Fri Dec 30 19:53:08 2016 +0000
@@ -1,5 +1,5 @@
 %{
-/* $NetBSD: cgram.y,v 1.90 2016/12/30 03:36:51 christos Exp $ */
+/* $NetBSD: cgram.y,v 1.91 2016/12/30 19:53:08 christos Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: cgram.y,v 1.90 2016/12/30 03:36:51 christos Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.91 2016/12/30 19:53:08 christos Exp $");
 #endif
 
 #include <stdlib.h>
@@ -202,6 +202,7 @@
 %token <y_type>                T_AT_ALIGNED
 %token <y_type>                T_AT_ALWAYS_INLINE
 %token <y_type>                T_AT_BOUNDED
+%token <y_type>                T_AT_BUFFER
 %token <y_type>                T_AT_COLD
 %token <y_type>                T_AT_CONSTRUCTOR
 %token <y_type>                T_AT_DEPRECATED
@@ -260,7 +261,6 @@
 %type  <y_type>        struct_spec
 %type  <y_type>        enum_spec
 %type  <y_type>        type_attribute
-%type  <y_type>        type_attribute_spec
 %type  <y_sym>         struct_tag
 %type  <y_sym>         enum_tag
 %type  <y_tspec>       struct
@@ -511,13 +511,18 @@
        | T_AT_FORMAT_STRFTIME
        ;
 
+type_attribute_bounded_type:
+         T_AT_MINBYTES
+       | T_AT_STRING
+       | T_AT_BUFFER
+       ;
+
 type_attribute_spec:
-         T_AT_DEPRECATED
+         /* empty */   
+       | T_AT_DEPRECATED
        | T_AT_ALIGNED T_LPARN constant T_RPARN
-       | T_AT_BOUNDED T_LPARN T_AT_MINBYTES T_COMMA constant T_COMMA
-         constant T_RPARN
-       | T_AT_BOUNDED T_LPARN T_AT_STRING T_COMMA constant T_COMMA
-         constant T_RPARN
+       | T_AT_BOUNDED T_LPARN type_attribute_bounded_type
+         T_COMMA constant T_COMMA constant T_RPARN
        | T_AT_SENTINEL T_LPARN constant T_RPARN
        | T_AT_FORMAT_ARG T_LPARN constant T_RPARN
        | T_AT_NONNULL T_LPARN constant T_RPARN
@@ -732,8 +737,7 @@
        ;
 
 opt_type_attribute:
-         /* empty */ {
-       }
+         /* empty */
        | type_attribute
        ;
 
diff -r 209a13aed26f -r e46a6f4a889e usr.bin/xlint/lint1/scan.l
--- a/usr.bin/xlint/lint1/scan.l        Fri Dec 30 19:45:21 2016 +0000
+++ b/usr.bin/xlint/lint1/scan.l        Fri Dec 30 19:53:08 2016 +0000
@@ -1,5 +1,5 @@
 %{
-/* $NetBSD: scan.l,v 1.75 2016/12/30 02:16:36 christos Exp $ */
+/* $NetBSD: scan.l,v 1.76 2016/12/30 19:53:08 christos Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: scan.l,v 1.75 2016/12/30 02:16:36 christos Exp $");
+__RCSID("$NetBSD: scan.l,v 1.76 2016/12/30 19:53:08 christos Exp $");
 #endif
 
 #include <stdlib.h>
@@ -217,6 +217,7 @@
        { "auto",       T_SCLASS,       AUTO,   0,      0,        0,0,0,0,1 },
        { "bounded",    T_AT_BOUNDED,   0,      0,      0,        0,0,1,1,5 },
        { "break",      T_BREAK,        0,      0,      0,        0,0,0,0,1 },
+       { "buffer",     T_AT_BUFFER,    0,      0,      0,        0,0,1,1,5 },
        { "case",       T_CASE,         0,      0,      0,        0,0,0,0,1 },
        { "char",       T_TYPE,         0,      CHAR,   0,        0,0,0,0,1 },
        { "cold",       T_AT_COLD,      0,      0,      0,        0,0,1,1,5 },



Home | Main Index | Thread Index | Old Index