Module Name: src Committed By: christos Date: Tue Mar 23 20:57:40 UTC 2021
Modified Files: src/usr.bin/xlint/lint1: cgram.y lex.c Log Message: Add _Alignas() To generate a diff of this commit: cvs rdiff -u -r1.198 -r1.199 src/usr.bin/xlint/lint1/cgram.y cvs rdiff -u -r1.15 -r1.16 src/usr.bin/xlint/lint1/lex.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/xlint/lint1/cgram.y diff -u src/usr.bin/xlint/lint1/cgram.y:1.198 src/usr.bin/xlint/lint1/cgram.y:1.199 --- src/usr.bin/xlint/lint1/cgram.y:1.198 Tue Mar 23 14:40:50 2021 +++ src/usr.bin/xlint/lint1/cgram.y Tue Mar 23 16:57:40 2021 @@ -1,5 +1,5 @@ %{ -/* $NetBSD: cgram.y,v 1.198 2021/03/23 18:40:50 rillig Exp $ */ +/* $NetBSD: cgram.y,v 1.199 2021/03/23 20:57:40 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.198 2021/03/23 18:40:50 rillig Exp $"); +__RCSID("$NetBSD: cgram.y,v 1.199 2021/03/23 20:57:40 christos Exp $"); #endif #include <limits.h> @@ -123,7 +123,7 @@ anonymize(sym_t *s) } %} -%expect 134 +%expect 165 %union { val_t *y_val; @@ -149,6 +149,7 @@ anonymize(sym_t *s) %token T_BUILTIN_OFFSETOF %token T_TYPEOF %token T_EXTENSION +%token T_ALIGNAS %token T_ALIGNOF %token T_ASTERISK %token <y_op> T_MULTIPLICATIVE @@ -605,12 +606,19 @@ type_attribute_spec_list: | type_attribute_spec_list T_COMMA type_attribute_spec ; +align_as: + typespec + | constant_expr + ; + type_attribute: T_ATTRIBUTE T_LPAREN T_LPAREN { attron = true; } type_attribute_spec_list { attron = false; } T_RPAREN T_RPAREN + | T_ALIGNAS T_LPAREN align_as T_RPAREN { + } | T_PACKED { addpacked(); } Index: src/usr.bin/xlint/lint1/lex.c diff -u src/usr.bin/xlint/lint1/lex.c:1.15 src/usr.bin/xlint/lint1/lex.c:1.16 --- src/usr.bin/xlint/lint1/lex.c:1.15 Sun Mar 21 10:49:21 2021 +++ src/usr.bin/xlint/lint1/lex.c Tue Mar 23 16:57:40 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lex.c,v 1.15 2021/03/21 14:49:21 rillig Exp $ */ +/* $NetBSD: lex.c,v 1.16 2021/03/23 20:57:40 christos Exp $ */ /* * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. @@ -38,7 +38,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: lex.c,v 1.15 2021/03/21 14:49:21 rillig Exp $"); +__RCSID("$NetBSD: lex.c,v 1.16 2021/03/23 20:57:40 christos Exp $"); #endif #include <ctype.h> @@ -135,6 +135,7 @@ static struct kwtab { kwdef_type( "__uint128_t", UINT128, 0,1,0,0,1), #endif kwdef_tqual( "__thread", THREAD, 0,0,1,0,1), + kwdef_token( "_Alignas", T_ALIGNAS, 0,0,0,0,1), kwdef_token( "_Alignof", T_ALIGNOF, 0,0,0,0,1), kwdef_type( "_Bool", BOOL, 0,1,0,0,1), kwdef_type( "_Complex", COMPLEX, 0,1,0,0,1),