Module Name: src
Committed By: rillig
Date: Sat Jul 10 17:35:54 UTC 2021
Modified Files:
src/tests/usr.bin/xlint/lint1: decl_struct_member.c msg_247.c msg_249.c
src/usr.bin/xlint/lint1: cgram.y decl.c externs1.h lint1.h
Log Message:
lint: rename clrtyp/deftyp to begin_type/end_type
The abbreviations clr/def did not make it obvious that these two
functions or grammar rules form pairs.
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/decl_struct_member.c
cvs rdiff -u -r1.13 -r1.14 src/tests/usr.bin/xlint/lint1/msg_247.c
cvs rdiff -u -r1.7 -r1.8 src/tests/usr.bin/xlint/lint1/msg_249.c
cvs rdiff -u -r1.295 -r1.296 src/usr.bin/xlint/lint1/cgram.y
cvs rdiff -u -r1.196 -r1.197 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.115 -r1.116 src/usr.bin/xlint/lint1/externs1.h
cvs rdiff -u -r1.113 -r1.114 src/usr.bin/xlint/lint1/lint1.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/usr.bin/xlint/lint1/decl_struct_member.c
diff -u src/tests/usr.bin/xlint/lint1/decl_struct_member.c:1.2 src/tests/usr.bin/xlint/lint1/decl_struct_member.c:1.3
--- src/tests/usr.bin/xlint/lint1/decl_struct_member.c:1.2 Sun Jun 20 11:24:32 2021
+++ src/tests/usr.bin/xlint/lint1/decl_struct_member.c Sat Jul 10 17:35:54 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: decl_struct_member.c,v 1.2 2021/06/20 11:24:32 rillig Exp $ */
+/* $NetBSD: decl_struct_member.c,v 1.3 2021/07/10 17:35:54 rillig Exp $ */
# 3 "decl_struct_member.c"
/*
@@ -20,6 +20,6 @@ struct {
/*
* FIXME: adding a semicolon here triggers another assertion:
*
- * assertion "t == NOTSPEC" failed in deftyp at decl.c:774
+ * assertion "t == NOTSPEC" failed in end_type at decl.c:774
*/
/* expect+1: cannot recover from previous errors */
Index: src/tests/usr.bin/xlint/lint1/msg_247.c
diff -u src/tests/usr.bin/xlint/lint1/msg_247.c:1.13 src/tests/usr.bin/xlint/lint1/msg_247.c:1.14
--- src/tests/usr.bin/xlint/lint1/msg_247.c:1.13 Fri Apr 9 20:00:07 2021
+++ src/tests/usr.bin/xlint/lint1/msg_247.c Sat Jul 10 17:35:54 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: msg_247.c,v 1.13 2021/04/09 20:00:07 rillig Exp $ */
+/* $NetBSD: msg_247.c,v 1.14 2021/07/10 17:35:54 rillig Exp $ */
# 3 "msg_247.c"
// Test for message: pointer cast from '%s' to '%s' may be troublesome [247]
@@ -23,7 +23,7 @@ example(struct Other *arg)
* XXX: The target type is reported as 'struct <unnamed>'. In cases
* like these, it would be helpful to print at least the type name
* of the pointer. This type name though is discarded immediately
- * when the parser reduces 'T_TYPENAME clrtyp' to 'clrtyp_typespec'.
+ * in the grammar rule 'typespec: T_TYPENAME'.
* After that, the target type of the cast is just an unnamed struct,
* with no hint at all that there is a typedef for a pointer to the
* struct.
Index: src/tests/usr.bin/xlint/lint1/msg_249.c
diff -u src/tests/usr.bin/xlint/lint1/msg_249.c:1.7 src/tests/usr.bin/xlint/lint1/msg_249.c:1.8
--- src/tests/usr.bin/xlint/lint1/msg_249.c:1.7 Sat Jul 10 11:22:19 2021
+++ src/tests/usr.bin/xlint/lint1/msg_249.c Sat Jul 10 17:35:54 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: msg_249.c,v 1.7 2021/07/10 11:22:19 rillig Exp $ */
+/* $NetBSD: msg_249.c,v 1.8 2021/07/10 17:35:54 rillig Exp $ */
# 3 "msg_249.c"
// Test for message: syntax error '%s' [249]
@@ -53,7 +53,7 @@ struct cover_member_declaration {
/* cover 'noclass_declspecs ...' */
const int noclass_declspecs;
- /* cover 'noclass_declmods deftyp ...' */
+ /* cover 'add_type_qualifier_list end_type' */
/* expect+1: error: syntax error 'member without type' [249] */
const;
};
Index: src/usr.bin/xlint/lint1/cgram.y
diff -u src/usr.bin/xlint/lint1/cgram.y:1.295 src/usr.bin/xlint/lint1/cgram.y:1.296
--- src/usr.bin/xlint/lint1/cgram.y:1.295 Sat Jul 10 17:17:05 2021
+++ src/usr.bin/xlint/lint1/cgram.y Sat Jul 10 17:35:54 2021
@@ -1,5 +1,5 @@
%{
-/* $NetBSD: cgram.y,v 1.295 2021/07/10 17:17:05 rillig Exp $ */
+/* $NetBSD: cgram.y,v 1.296 2021/07/10 17:35:54 rillig 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.295 2021/07/10 17:17:05 rillig Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.296 2021/07/10 17:35:54 rillig Exp $");
#endif
#include <limits.h>
@@ -393,7 +393,7 @@ top_level_declaration: /* C99 6.9 calls
warning(0);
}
}
- | clrtyp deftyp notype_init_decls T_SEMI {
+ | begin_type end_type notype_init_decls T_SEMI {
if (sflag) {
/* old style declaration; add 'int' */
error(1);
@@ -441,13 +441,13 @@ function_definition: /* C99 6.9.1 */
;
func_decl:
- clrtyp deftyp notype_decl {
+ begin_type end_type notype_decl {
$$ = $3;
}
- | clrtyp declmods deftyp notype_decl {
+ | begin_type declmods end_type notype_decl {
$$ = $4;
}
- | clrtyp declaration_specifiers deftyp type_decl {
+ | begin_type declaration_specifiers end_type type_decl {
$$ = $4;
}
;
@@ -469,12 +469,12 @@ arg_declaration_list: /* C99 6.9.1p13 e
* needs other error handling.
*/
arg_declaration:
- clrtyp declmods deftyp T_SEMI {
+ begin_type declmods end_type T_SEMI {
/* empty declaration */
warning(2);
}
- | clrtyp declmods deftyp notype_init_decls T_SEMI
- | clrtyp declaration_specifiers deftyp T_SEMI {
+ | begin_type declmods end_type notype_init_decls T_SEMI
+ | begin_type declaration_specifiers end_type T_SEMI {
if (!dcs->d_nonempty_decl) {
/* empty declaration */
warning(2);
@@ -483,14 +483,14 @@ arg_declaration:
warning(3, type_name(dcs->d_type));
}
}
- | clrtyp declaration_specifiers deftyp type_init_decls T_SEMI {
+ | begin_type declaration_specifiers end_type type_init_decls T_SEMI {
if (dcs->d_nonempty_decl) {
/* '%s' declared in argument declaration list */
warning(3, type_name(dcs->d_type));
}
}
- | clrtyp declmods error
- | clrtyp declaration_specifiers error
+ | begin_type declmods error
+ | begin_type declaration_specifiers error
;
declaration: /* C99 6.7 */
@@ -499,7 +499,7 @@ declaration: /* C99 6.7 */
;
declaration_noerror: /* see C99 6.7 'declaration' */
- clrtyp declmods deftyp T_SEMI {
+ begin_type declmods end_type T_SEMI {
if (dcs->d_scl == TYPEDEF) {
/* typedef declares no type name */
warning(72);
@@ -508,8 +508,8 @@ declaration_noerror: /* see C99 6.7 'de
warning(2);
}
}
- | clrtyp declmods deftyp notype_init_decls T_SEMI
- | clrtyp declaration_specifiers deftyp T_SEMI {
+ | begin_type declmods end_type notype_init_decls T_SEMI
+ | begin_type declaration_specifiers end_type T_SEMI {
if (dcs->d_scl == TYPEDEF) {
/* typedef declares no type name */
warning(72);
@@ -518,18 +518,18 @@ declaration_noerror: /* see C99 6.7 'de
warning(2);
}
}
- | clrtyp declaration_specifiers deftyp type_init_decls T_SEMI
+ | begin_type declaration_specifiers end_type type_init_decls T_SEMI
;
-clrtyp:
+begin_type:
/* empty */ {
- clrtyp();
+ begin_type();
}
;
-deftyp:
+end_type:
/* empty */ {
- deftyp();
+ end_type();
}
;
@@ -665,25 +665,25 @@ member_declaration_list:
;
member_declaration:
- clrtyp add_type_qualifier_list deftyp {
+ begin_type add_type_qualifier_list end_type {
/* too late, i know, but getsym() compensates it */
symtyp = FMEMBER;
} notype_member_decls type_attribute_opt {
symtyp = FVFT;
$$ = $5;
}
- | clrtyp noclass_declspecs deftyp {
+ | begin_type noclass_declspecs end_type {
symtyp = FMEMBER;
} type_member_decls type_attribute_opt {
symtyp = FVFT;
$$ = $5;
}
- | clrtyp add_type_qualifier_list deftyp type_attribute_opt {
+ | begin_type add_type_qualifier_list end_type type_attribute_opt {
/* syntax error '%s' */
error(249, "member without type");
$$ = NULL;
}
- | clrtyp noclass_declspecs deftyp type_attribute_opt {
+ | begin_type noclass_declspecs end_type type_attribute_opt {
symtyp = FVFT;
if (!Sflag)
/* anonymous struct/union members is a C9X feature */
@@ -1150,22 +1150,22 @@ parameter_type_list:
/* XXX: C99 6.7.5 defines the same name, but it looks completely different. */
parameter_declaration:
- clrtyp declmods deftyp {
+ begin_type declmods end_type {
$$ = declare_argument(abstract_name(), false);
}
- | clrtyp declaration_specifiers deftyp {
+ | begin_type declaration_specifiers end_type {
$$ = declare_argument(abstract_name(), false);
}
- | clrtyp declmods deftyp notype_param_decl {
+ | begin_type declmods end_type notype_param_decl {
$$ = declare_argument($4, false);
}
- | clrtyp declaration_specifiers deftyp type_param_decl {
+ | begin_type declaration_specifiers end_type type_param_decl {
$$ = declare_argument($4, false);
}
- | clrtyp declmods deftyp abstract_declarator {
+ | begin_type declmods end_type abstract_declarator {
$$ = declare_argument($4, false);
}
- | clrtyp declaration_specifiers deftyp abstract_declarator {
+ | begin_type declaration_specifiers end_type abstract_declarator {
$$ = declare_argument($4, false);
}
;
@@ -1268,16 +1268,16 @@ type_name: /* C99 6.7.6 */
;
abstract_declaration:
- clrtyp add_type_qualifier_list deftyp {
+ begin_type add_type_qualifier_list end_type {
$$ = declare_1_abstract(abstract_name());
}
- | clrtyp noclass_declspecs deftyp {
+ | begin_type noclass_declspecs end_type {
$$ = declare_1_abstract(abstract_name());
}
- | clrtyp add_type_qualifier_list deftyp abstract_declarator {
+ | begin_type add_type_qualifier_list end_type abstract_declarator {
$$ = declare_1_abstract($4);
}
- | clrtyp noclass_declspecs deftyp abstract_declarator {
+ | begin_type noclass_declspecs end_type abstract_declarator {
$$ = declare_1_abstract($4);
}
;
@@ -1540,7 +1540,7 @@ for_start: /* see C99 6.8.5 */
for_exprs: /* see C99 6.8.5 */
for_start
- clrtyp declaration_specifiers deftyp notype_init_decls T_SEMI
+ begin_type declaration_specifiers end_type notype_init_decls T_SEMI
expr_opt T_SEMI
expr_opt T_RPAREN {
/* variable declaration in for loop */
Index: src/usr.bin/xlint/lint1/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.196 src/usr.bin/xlint/lint1/decl.c:1.197
--- src/usr.bin/xlint/lint1/decl.c:1.196 Sat Jul 10 12:10:39 2021
+++ src/usr.bin/xlint/lint1/decl.c Sat Jul 10 17:35:54 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.196 2021/07/10 12:10:39 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.197 2021/07/10 17:35:54 rillig 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: decl.c,v 1.196 2021/07/10 12:10:39 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.197 2021/07/10 17:35:54 rillig Exp $");
#endif
#include <sys/param.h>
@@ -235,7 +235,7 @@ add_storage_class(scl_t sc)
} else {
/*
* multiple storage classes. An error will be reported in
- * deftyp().
+ * end_type().
*/
dcs->d_mscl = true;
}
@@ -244,7 +244,7 @@ add_storage_class(scl_t sc)
/*
* Remember the type, modifier or typedef name returned by the parser
* in *dcs (top element of decl stack). This information is used in
- * deftyp() to build the type used for all declarators in this
+ * end_type() to build the type used for all declarators in this
* declaration.
*
* If tp->t_typedef is 1, the type comes from a previously defined typename.
@@ -283,7 +283,7 @@ add_type(type_t *tp)
dcs->d_rank_mod != NOTSPEC || dcs->d_sign_mod != NOTSPEC) {
/*
* remember that an error must be reported in
- * deftyp().
+ * end_type().
*/
dcs->d_terr = true;
dcs->d_abstract_type = NOTSPEC;
@@ -340,7 +340,7 @@ add_type(type_t *tp)
if (dcs->d_sign_mod != NOTSPEC)
/*
* more than one "signed" and/or "unsigned"; print
- * an error in deftyp()
+ * an error in end_type()
*/
dcs->d_terr = true;
dcs->d_sign_mod = t;
@@ -350,7 +350,7 @@ add_type(type_t *tp)
* dcs->d_rank_mod
*/
if (dcs->d_rank_mod != NOTSPEC)
- /* more than one, print error in deftyp() */
+ /* more than one, print error in end_type() */
dcs->d_terr = true;
dcs->d_rank_mod = t;
} else if (t == FLOAT || t == DOUBLE) {
@@ -372,7 +372,7 @@ add_type(type_t *tp)
* or "_Complex" in dcs->d_abstract_type
*/
if (dcs->d_abstract_type != NOTSPEC)
- /* more than one, print error in deftyp() */
+ /* more than one, print error in end_type() */
dcs->d_terr = true;
dcs->d_abstract_type = t;
}
@@ -561,7 +561,7 @@ add_attr_used(void)
* (and not the declarator) in the top element of the declaration stack.
* Also detect multiple qualifiers of the same kind.
- * The remembered qualifier is used by deftyp() to construct the type
+ * The remembered qualifier is used by end_type() to construct the type
* for all declarators.
*/
void
@@ -687,7 +687,7 @@ end_declaration_level(void)
* There is no need to clear d_asm in dinfo structs with context AUTO,
* because these structs are freed at the end of the compound statement.
* But it must be cleared in the outermost dinfo struct, which has
- * context EXTERN. This could be done in clrtyp() and would work for C90,
+ * context EXTERN. This could be done in begin_type() and would work for C90,
* but not for C99 or C++ (due to mixed statements and declarations). Thus
* we clear it in global_clean_up_decl(), which is used to do some cleanup
* after global declarations/definitions.
@@ -706,7 +706,7 @@ setasm(void)
* will be used by the next declaration
*/
void
-clrtyp(void)
+begin_type(void)
{
dcs->d_abstract_type = NOTSPEC;
@@ -749,7 +749,7 @@ dcs_adjust_storage_class(void)
* context.
*/
void
-deftyp(void)
+end_type(void)
{
tspec_t t, s, l, c;
type_t *tp;
@@ -826,7 +826,7 @@ deftyp(void)
case LCOMPLEX:
break;
default:
- INTERNAL_ERROR("deftyp(%s)", tspec_name(t));
+ INTERNAL_ERROR("end_type(%s)", tspec_name(t));
}
if (t != INT && t != CHAR && (s != NOTSPEC || l != NOTSPEC)) {
dcs->d_terr = true;
@@ -1330,7 +1330,7 @@ merge_qualified_pointer(qual_ptr *p1, qu
* The following 3 functions extend the type of a declarator with
* pointer, function and array types.
*
- * The current type is the type built by deftyp() (dcs->d_type) and
+ * The current type is the type built by end_type() (dcs->d_type) and
* pointer, function and array types already added for this
* declarator. The new type extension is inserted between both.
*/
Index: src/usr.bin/xlint/lint1/externs1.h
diff -u src/usr.bin/xlint/lint1/externs1.h:1.115 src/usr.bin/xlint/lint1/externs1.h:1.116
--- src/usr.bin/xlint/lint1/externs1.h:1.115 Tue Jul 6 04:44:20 2021
+++ src/usr.bin/xlint/lint1/externs1.h Sat Jul 10 17:35:54 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: externs1.h,v 1.115 2021/07/06 04:44:20 rillig Exp $ */
+/* $NetBSD: externs1.h,v 1.116 2021/07/10 17:35:54 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -155,8 +155,8 @@ extern void add_attr_used(void);
extern void begin_declaration_level(scl_t);
extern void end_declaration_level(void);
extern void setasm(void);
-extern void clrtyp(void);
-extern void deftyp(void);
+extern void begin_type(void);
+extern void end_type(void);
extern int length(const type_t *, const char *);
extern int alignment_in_bits(const type_t *);
extern sym_t *lnklst(sym_t *, sym_t *);
Index: src/usr.bin/xlint/lint1/lint1.h
diff -u src/usr.bin/xlint/lint1/lint1.h:1.113 src/usr.bin/xlint/lint1/lint1.h:1.114
--- src/usr.bin/xlint/lint1/lint1.h:1.113 Thu Jul 8 02:59:22 2021
+++ src/usr.bin/xlint/lint1/lint1.h Sat Jul 10 17:35:54 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: lint1.h,v 1.113 2021/07/08 02:59:22 rillig Exp $ */
+/* $NetBSD: lint1.h,v 1.114 2021/07/10 17:35:54 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -357,7 +357,7 @@ typedef struct dinfo {
tspec_t d_sign_mod; /* SIGNED or UNSIGN */
tspec_t d_rank_mod; /* SHORT, LONG or QUAD */
scl_t d_scl; /* storage class */
- type_t *d_type; /* after deftyp() pointer to the type used
+ type_t *d_type; /* after end_type() pointer to the type used
for all declarators */
sym_t *d_redeclared_symbol;
int d_offset; /* offset of next structure member */