Module Name: src
Committed By: rillig
Date: Sun Feb 27 08:31:26 UTC 2022
Modified Files:
src/tests/usr.bin/xlint/lint1: d_c99_bool_strict.c
src/usr.bin/xlint/lint1: cgram.y decl.c externs1.h func.c init.c lex.c
mem1.c tree.c
Log Message:
lint: encode lifetime of allocated memory in the function names
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c
cvs rdiff -u -r1.382 -r1.383 src/usr.bin/xlint/lint1/cgram.y
cvs rdiff -u -r1.245 -r1.246 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.146 -r1.147 src/usr.bin/xlint/lint1/externs1.h
cvs rdiff -u -r1.126 -r1.127 src/usr.bin/xlint/lint1/func.c
cvs rdiff -u -r1.230 -r1.231 src/usr.bin/xlint/lint1/init.c
cvs rdiff -u -r1.100 -r1.101 src/usr.bin/xlint/lint1/lex.c
cvs rdiff -u -r1.59 -r1.60 src/usr.bin/xlint/lint1/mem1.c
cvs rdiff -u -r1.404 -r1.405 src/usr.bin/xlint/lint1/tree.c
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/d_c99_bool_strict.c
diff -u src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c:1.36 src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c:1.37
--- src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c:1.36 Sat Jan 15 14:22:03 2022
+++ src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: d_c99_bool_strict.c,v 1.36 2022/01/15 14:22:03 rillig Exp $ */
+/* $NetBSD: d_c99_bool_strict.c,v 1.37 2022/02/27 08:31:26 rillig Exp $ */
# 3 "d_c99_bool_strict.c"
/*
@@ -1042,7 +1042,7 @@ controlling_expression(FILE *f, const ch
/*
* Before cgram.y 1.369 from 2021-11-16, the comment following
* 'stdio_stdout' did not prevent the search for '('. At the point
- * where build_name called expr_zalloc_tnode, the parser was already
+ * where build_name called expr_alloc_tnode, the parser was already
* in the main file again, thus treating 'stdio_stdout' as not coming
* from a system header.
*
Index: src/usr.bin/xlint/lint1/cgram.y
diff -u src/usr.bin/xlint/lint1/cgram.y:1.382 src/usr.bin/xlint/lint1/cgram.y:1.383
--- src/usr.bin/xlint/lint1/cgram.y:1.382 Sun Feb 27 01:47:28 2022
+++ src/usr.bin/xlint/lint1/cgram.y Sun Feb 27 08:31:26 2022
@@ -1,5 +1,5 @@
%{
-/* $NetBSD: cgram.y,v 1.382 2022/02/27 01:47:28 rillig Exp $ */
+/* $NetBSD: cgram.y,v 1.383 2022/02/27 08:31:26 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.382 2022/02/27 01:47:28 rillig Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.383 2022/02/27 08:31:26 rillig Exp $");
#endif
#include <limits.h>
@@ -58,7 +58,7 @@ int block_level;
* for these can't be freed after the declaration, but symbols must
* be removed from the symbol table after the declaration.
*/
-int mem_block_level;
+size_t mem_block_level;
/*
* Save the no-warns state and restore it to avoid the problem where
@@ -477,12 +477,12 @@ generic_assoc_list:
/* K&R ---, C90 ---, C99 ---, C11 6.5.1.1 */
generic_association:
type_name T_COLON assignment_expression {
- $$ = getblk(sizeof(*$$));
+ $$ = block_zero_alloc(sizeof(*$$));
$$->ga_arg = $1;
$$->ga_result = $3;
}
| T_DEFAULT T_COLON assignment_expression {
- $$ = getblk(sizeof(*$$));
+ $$ = block_zero_alloc(sizeof(*$$));
$$->ga_arg = NULL;
$$->ga_result = $3;
}
@@ -549,12 +549,12 @@ gcc_statement_expr_item:
$$ = NULL;
}
| non_expr_statement {
- $$ = expr_zalloc_tnode();
+ $$ = expr_alloc_tnode();
$$->tn_type = gettyp(VOID);
}
| expression T_SEMI {
if ($1 == NULL) { /* in case of syntax errors */
- $$ = expr_zalloc_tnode();
+ $$ = expr_alloc_tnode();
$$->tn_type = gettyp(VOID);
} else {
/* XXX: do that only on the last name */
@@ -1692,7 +1692,7 @@ compound_statement_lbrace:
compound_statement_rbrace:
T_RBRACE {
end_declaration_level();
- freeblk();
+ level_free_all(mem_block_level);
mem_block_level--;
block_level--;
seen_fallthrough = false;
Index: src/usr.bin/xlint/lint1/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.245 src/usr.bin/xlint/lint1/decl.c:1.246
--- src/usr.bin/xlint/lint1/decl.c:1.245 Sun Feb 27 01:47:28 2022
+++ src/usr.bin/xlint/lint1/decl.c Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.245 2022/02/27 01:47:28 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.246 2022/02/27 08:31:26 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.245 2022/02/27 01:47:28 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.246 2022/02/27 08:31:26 rillig Exp $");
#endif
#include <sys/param.h>
@@ -176,7 +176,7 @@ dup_type(const type_t *tp)
{
type_t *ntp;
- ntp = getblk(sizeof(*ntp));
+ ntp = block_zero_alloc(sizeof(*ntp));
*ntp = *tp;
return ntp;
}
@@ -190,7 +190,7 @@ expr_dup_type(const type_t *tp)
{
type_t *ntp;
- ntp = expr_zalloc(sizeof(*ntp));
+ ntp = expr_zero_alloc(sizeof(*ntp));
*ntp = *tp;
return ntp;
}
@@ -206,7 +206,7 @@ expr_unqualified_type(const type_t *tp)
{
type_t *ntp;
- ntp = expr_zalloc(sizeof(*ntp));
+ ntp = expr_zero_alloc(sizeof(*ntp));
*ntp = *tp;
ntp->t_const = false;
ntp->t_volatile = false;
@@ -1252,7 +1252,7 @@ bitfield(sym_t *dsym, int len)
{
if (dsym == NULL) {
- dsym = getblk(sizeof(*dsym));
+ dsym = block_zero_alloc(sizeof(*dsym));
dsym->s_name = unnamed;
dsym->s_kind = FMEMBER;
dsym->s_scl = MOS;
@@ -1328,7 +1328,7 @@ add_pointer(sym_t *decl, qual_ptr *p)
return decl;
while (p != NULL) {
- *tpp = tp = getblk(sizeof(*tp));
+ *tpp = tp = block_zero_alloc(sizeof(*tp));
tp->t_tspec = PTR;
tp->t_const = p->p_const;
tp->t_volatile = p->p_volatile;
@@ -1355,7 +1355,7 @@ add_array(sym_t *decl, bool dim, int n)
if (*tpp == NULL)
return decl;
- *tpp = tp = getblk(sizeof(*tp));
+ *tpp = tp = block_zero_alloc(sizeof(*tp));
tp->t_tspec = ARRAY;
tp->t_subt = dcs->d_type;
tp->t_dim = n;
@@ -1418,7 +1418,7 @@ add_function(sym_t *decl, sym_t *args)
if (*tpp == NULL)
return decl; /* see msg_347 */
- *tpp = tp = getblk(sizeof(*tp));
+ *tpp = tp = block_zero_alloc(sizeof(*tp));
tp->t_tspec = FUNC;
tp->t_subt = dcs->d_next->d_type;
if ((tp->t_proto = dcs->d_proto) != false)
@@ -1669,19 +1669,19 @@ mktag(sym_t *tag, tspec_t kind, bool dec
}
if (tag->s_scl == NOSCL) {
tag->s_scl = scl;
- tag->s_type = tp = getblk(sizeof(*tp));
+ tag->s_type = tp = block_zero_alloc(sizeof(*tp));
tp->t_packed = dcs->d_packed;
} else {
tp = tag->s_type;
}
} else {
- tag = getblk(sizeof(*tag));
+ tag = block_zero_alloc(sizeof(*tag));
tag->s_name = unnamed;
UNIQUE_CURR_POS(tag->s_def_pos);
tag->s_kind = FTAG;
tag->s_scl = scl;
tag->s_block_level = -1;
- tag->s_type = tp = getblk(sizeof(*tp));
+ tag->s_type = tp = block_zero_alloc(sizeof(*tp));
tp->t_packed = dcs->d_packed;
dcs->d_next->d_nonempty_decl = true;
}
@@ -1689,12 +1689,12 @@ mktag(sym_t *tag, tspec_t kind, bool dec
if (tp->t_tspec == NOTSPEC) {
tp->t_tspec = kind;
if (kind != ENUM) {
- tp->t_str = getblk(sizeof(*tp->t_str));
+ tp->t_str = block_zero_alloc(sizeof(*tp->t_str));
tp->t_str->sou_align_in_bits = CHAR_SIZE;
tp->t_str->sou_tag = tag;
} else {
tp->t_is_enum = true;
- tp->t_enum = getblk(sizeof(*tp->t_enum));
+ tp->t_enum = block_zero_alloc(sizeof(*tp->t_enum));
tp->t_enum->en_tag = tag;
}
setcomplete(tp, false);
@@ -1902,7 +1902,7 @@ declare_extern(sym_t *dsym, bool initflg
if (renaming != NULL) {
lint_assert(dsym->s_rename == NULL);
- s = getlblk(1, renaming->sb_len + 1);
+ s = level_zero_alloc(1, renaming->sb_len + 1);
(void)memcpy(s, renaming->sb_name, renaming->sb_len + 1);
dsym->s_rename = s;
}
@@ -2863,7 +2863,7 @@ abstract_name(void)
lint_assert(dcs->d_ctx == ABSTRACT || dcs->d_ctx == PROTO_ARG);
- sym = getblk(sizeof(*sym));
+ sym = block_zero_alloc(sizeof(*sym));
sym->s_name = unnamed;
sym->s_def = DEF;
Index: src/usr.bin/xlint/lint1/externs1.h
diff -u src/usr.bin/xlint/lint1/externs1.h:1.146 src/usr.bin/xlint/lint1/externs1.h:1.147
--- src/usr.bin/xlint/lint1/externs1.h:1.146 Sat Feb 26 20:36:11 2022
+++ src/usr.bin/xlint/lint1/externs1.h Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: externs1.h,v 1.146 2022/02/26 20:36:11 rillig Exp $ */
+/* $NetBSD: externs1.h,v 1.147 2022/02/27 08:31:26 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -61,7 +61,7 @@ extern void norecover(void);
* cgram.y
*/
extern int block_level;
-extern int mem_block_level;
+extern size_t mem_block_level;
extern int yydebug;
extern int yyerror(const char *);
@@ -100,13 +100,12 @@ extern const char *transform_filename(co
extern void initmem(void);
-extern void *getblk(size_t);
-extern void *getlblk(size_t, size_t);
-extern void freeblk(void);
-extern void freelblk(int);
+extern void *block_zero_alloc(size_t);
+extern void *level_zero_alloc(size_t, size_t);
+extern void level_free_all(size_t);
-extern void *expr_zalloc(size_t);
-extern tnode_t *expr_zalloc_tnode(void);
+extern void *expr_zero_alloc(size_t);
+extern tnode_t *expr_alloc_tnode(void);
extern void expr_free_all(void);
extern struct memory_block *expr_save_memory(void);
extern void expr_restore_memory(struct memory_block *);
Index: src/usr.bin/xlint/lint1/func.c
diff -u src/usr.bin/xlint/lint1/func.c:1.126 src/usr.bin/xlint/lint1/func.c:1.127
--- src/usr.bin/xlint/lint1/func.c:1.126 Tue Nov 16 21:01:05 2021
+++ src/usr.bin/xlint/lint1/func.c Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: func.c,v 1.126 2021/11/16 21:01:05 rillig Exp $ */
+/* $NetBSD: func.c,v 1.127 2022/02/27 08:31:26 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: func.c,v 1.126 2021/11/16 21:01:05 rillig Exp $");
+__RCSID("$NetBSD: func.c,v 1.127 2022/02/27 08:31:26 rillig Exp $");
#endif
#include <stdlib.h>
@@ -1086,7 +1086,7 @@ do_return(bool sys, tnode_t *tn)
if (tn != NULL) {
/* Create a temporary node for the left side */
- ln = expr_zalloc(sizeof(*ln));
+ ln = expr_zero_alloc(sizeof(*ln));
ln->tn_op = NAME;
ln->tn_type = expr_unqualified_type(funcsym->s_type->t_subt);
ln->tn_lvalue = true;
Index: src/usr.bin/xlint/lint1/init.c
diff -u src/usr.bin/xlint/lint1/init.c:1.230 src/usr.bin/xlint/lint1/init.c:1.231
--- src/usr.bin/xlint/lint1/init.c:1.230 Wed Dec 22 14:35:23 2021
+++ src/usr.bin/xlint/lint1/init.c Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: init.c,v 1.230 2021/12/22 14:35:23 rillig Exp $ */
+/* $NetBSD: init.c,v 1.231 2022/02/27 08:31:26 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: init.c,v 1.230 2021/12/22 14:35:23 rillig Exp $");
+__RCSID("$NetBSD: init.c,v 1.231 2022/02/27 08:31:26 rillig Exp $");
#endif
#include <stdlib.h>
@@ -314,7 +314,7 @@ check_init_expr(const type_t *ltp, sym_t
lutp = expr_unqualified_type(ltp);
/* Create a temporary node for the left side. */
- ln = expr_zalloc(sizeof(*ln));
+ ln = expr_zero_alloc(sizeof(*ln));
ln->tn_op = NAME;
ln->tn_type = lutp;
ln->tn_lvalue = true;
Index: src/usr.bin/xlint/lint1/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.100 src/usr.bin/xlint/lint1/lex.c:1.101
--- src/usr.bin/xlint/lint1/lex.c:1.100 Sun Feb 27 07:50:09 2022
+++ src/usr.bin/xlint/lint1/lex.c Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.100 2022/02/27 07:50:09 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.101 2022/02/27 08:31:26 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: lex.c,v 1.100 2022/02/27 07:50:09 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.101 2022/02/27 08:31:26 rillig Exp $");
#endif
#include <ctype.h>
@@ -297,7 +297,7 @@ add_keyword(const struct keyword *kw, bo
name = xstrdup(buf);
}
- sym = getblk(sizeof(*sym));
+ sym = block_zero_alloc(sizeof(*sym));
sym->s_name = name;
sym->s_keyword = kw;
sym->s_value.v_quad = kw->kw_token;
@@ -407,7 +407,7 @@ lex_name(const char *yytext, size_t yyle
sb->sb_len = strlen(sym->s_name);
tok = sym->s_scl == TYPEDEF ? T_TYPENAME : T_NAME;
} else {
- s = getblk(yyleng + 1);
+ s = block_zero_alloc(yyleng + 1);
(void)memcpy(s, yytext, yyleng + 1);
sb->sb_name = s;
sb->sb_len = yyleng;
@@ -1352,8 +1352,8 @@ getsym(sbuf_t *sb)
/* labels must always be allocated at level 1 (outermost block) */
if (symtyp == FLABEL) {
- sym = getlblk(1, sizeof(*sym));
- s = getlblk(1, sb->sb_len + 1);
+ sym = level_zero_alloc(1, sizeof(*sym));
+ s = level_zero_alloc(1, sb->sb_len + 1);
(void)memcpy(s, sb->sb_name, sb->sb_len + 1);
sym->s_name = s;
sym->s_block_level = 1;
@@ -1362,7 +1362,7 @@ getsym(sbuf_t *sb)
di = di->d_next;
lint_assert(di->d_ctx == AUTO);
} else {
- sym = getblk(sizeof(*sym));
+ sym = block_zero_alloc(sizeof(*sym));
sym->s_name = sb->sb_name;
sym->s_block_level = block_level;
di = dcs;
@@ -1391,8 +1391,8 @@ sym_t *
mktempsym(type_t *t)
{
static int n = 0;
- char *s = getlblk(block_level, 64);
- sym_t *sym = getblk(sizeof(*sym));
+ char *s = level_zero_alloc(block_level, 64);
+ sym_t *sym = block_zero_alloc(sizeof(*sym));
scl_t scl;
(void)snprintf(s, 64, "%.8d_tmp", n++);
@@ -1476,7 +1476,7 @@ void
cleanup(void)
{
sym_t *sym, *nsym;
- int i;
+ size_t i;
for (i = 0; i < HSHSIZ1; i++) {
for (sym = symtab[i]; sym != NULL; sym = nsym) {
@@ -1487,7 +1487,7 @@ cleanup(void)
}
for (i = mem_block_level; i > 0; i--)
- freelblk(i);
+ level_free_all(i);
}
/*
@@ -1500,7 +1500,7 @@ pushdown(const sym_t *sym)
debug_step("pushdown '%s' %s '%s'",
sym->s_name, symt_name(sym->s_kind), type_name(sym->s_type));
- nsym = getblk(sizeof(*nsym));
+ nsym = block_zero_alloc(sizeof(*nsym));
lint_assert(sym->s_block_level <= block_level);
nsym->s_name = sym->s_name;
UNIQUE_CURR_POS(nsym->s_def_pos);
Index: src/usr.bin/xlint/lint1/mem1.c
diff -u src/usr.bin/xlint/lint1/mem1.c:1.59 src/usr.bin/xlint/lint1/mem1.c:1.60
--- src/usr.bin/xlint/lint1/mem1.c:1.59 Sun Feb 27 07:38:54 2022
+++ src/usr.bin/xlint/lint1/mem1.c Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: mem1.c,v 1.59 2022/02/27 07:38:54 rillig Exp $ */
+/* $NetBSD: mem1.c,v 1.60 2022/02/27 08:31:26 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: mem1.c,v 1.59 2022/02/27 07:38:54 rillig Exp $");
+__RCSID("$NetBSD: mem1.c,v 1.60 2022/02/27 08:31:26 rillig Exp $");
#endif
#include <sys/param.h>
@@ -243,7 +243,7 @@ initmem(void)
/* Allocate memory associated with level l, initialized with zero. */
void *
-getlblk(size_t l, size_t s)
+level_zero_alloc(size_t l, size_t s)
{
while (l >= nmblks) {
@@ -254,40 +254,27 @@ getlblk(size_t l, size_t s)
return xgetblk(&mblks[l], s);
}
-/*
- * Return allocated memory for the current mem_block_level, initialized with
- * zero.
- */
+/* Allocate memory that is freed at the end of the current block. */
void *
-getblk(size_t s)
+block_zero_alloc(size_t s)
{
- return getlblk(mem_block_level, s);
+ return level_zero_alloc(mem_block_level, s);
}
-/* Free all memory associated with level l. */
void
-freelblk(int l)
+level_free_all(size_t level)
{
- xfreeblk(&mblks[l]);
+ xfreeblk(&mblks[level]);
}
-void
-freeblk(void)
-{
-
- freelblk(mem_block_level);
-}
static memory_block *tmblk;
-/*
- * Return zero-initialized memory that is freed at the end of the current
- * expression.
- */
+/* Allocate memory that is freed at the end of the current expression. */
void *
-expr_zalloc(size_t s)
+expr_zero_alloc(size_t s)
{
return xgetblk(&tmblk, s);
@@ -311,9 +298,9 @@ str_endswith(const char *haystack, const
* bool mode less restrictive.
*/
tnode_t *
-expr_zalloc_tnode(void)
+expr_alloc_tnode(void)
{
- tnode_t *tn = expr_zalloc(sizeof(*tn));
+ tnode_t *tn = expr_zero_alloc(sizeof(*tn));
/*
* files named *.c that are different from the main translation unit
* typically contain generated code that cannot be influenced, such
Index: src/usr.bin/xlint/lint1/tree.c
diff -u src/usr.bin/xlint/lint1/tree.c:1.404 src/usr.bin/xlint/lint1/tree.c:1.405
--- src/usr.bin/xlint/lint1/tree.c:1.404 Sat Feb 26 20:36:11 2022
+++ src/usr.bin/xlint/lint1/tree.c Sun Feb 27 08:31:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: tree.c,v 1.404 2022/02/26 20:36:11 rillig Exp $ */
+/* $NetBSD: tree.c,v 1.405 2022/02/27 08:31:26 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: tree.c,v 1.404 2022/02/26 20:36:11 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.405 2022/02/27 08:31:26 rillig Exp $");
#endif
#include <float.h>
@@ -108,7 +108,7 @@ derive_type(type_t *tp, tspec_t t)
{
type_t *tp2;
- tp2 = getblk(sizeof(*tp2));
+ tp2 = block_zero_alloc(sizeof(*tp2));
tp2->t_tspec = t;
tp2->t_subt = tp;
return tp2;
@@ -123,7 +123,7 @@ expr_derive_type(type_t *tp, tspec_t t)
{
type_t *tp2;
- tp2 = expr_zalloc(sizeof(*tp2));
+ tp2 = expr_zero_alloc(sizeof(*tp2));
tp2->t_tspec = t;
tp2->t_subt = tp;
return tp2;
@@ -137,10 +137,10 @@ build_constant(type_t *tp, val_t *v)
{
tnode_t *n;
- n = expr_zalloc_tnode();
+ n = expr_alloc_tnode();
n->tn_op = CON;
n->tn_type = tp;
- n->tn_val = expr_zalloc(sizeof(*n->tn_val));
+ n->tn_val = expr_zero_alloc(sizeof(*n->tn_val));
n->tn_val->v_tspec = tp->t_tspec;
n->tn_val->v_unsigned_since_c90 = v->v_unsigned_since_c90;
n->tn_val->v_u = v->v_u;
@@ -153,10 +153,10 @@ build_integer_constant(tspec_t t, int64_
{
tnode_t *n;
- n = expr_zalloc_tnode();
+ n = expr_alloc_tnode();
n->tn_op = CON;
n->tn_type = gettyp(t);
- n->tn_val = expr_zalloc(sizeof(*n->tn_val));
+ n->tn_val = expr_zero_alloc(sizeof(*n->tn_val));
n->tn_val->v_tspec = t;
n->tn_val->v_quad = q;
return n;
@@ -277,11 +277,11 @@ build_name(sym_t *sym, bool is_funcname)
lint_assert(sym->s_kind == FVFT || sym->s_kind == FMEMBER);
- n = expr_zalloc_tnode();
+ n = expr_alloc_tnode();
n->tn_type = sym->s_type;
if (sym->s_scl == CTCONST) {
n->tn_op = CON;
- n->tn_val = expr_zalloc(sizeof(*n->tn_val));
+ n->tn_val = expr_zero_alloc(sizeof(*n->tn_val));
*n->tn_val = sym->s_value;
} else {
n->tn_op = NAME;
@@ -302,9 +302,9 @@ build_string(strg_t *strg)
len = strg->st_len;
- n = expr_zalloc_tnode();
+ n = expr_alloc_tnode();
- tp = expr_zalloc(sizeof(*tp));
+ tp = expr_zero_alloc(sizeof(*tp));
tp->t_tspec = ARRAY;
tp->t_subt = gettyp(strg->st_tspec);
tp->t_dim = (int)(len + 1);
@@ -313,17 +313,17 @@ build_string(strg_t *strg)
n->tn_type = tp;
n->tn_lvalue = true;
- n->tn_string = expr_zalloc(sizeof(*n->tn_string));
+ n->tn_string = expr_zero_alloc(sizeof(*n->tn_string));
n->tn_string->st_tspec = strg->st_tspec;
n->tn_string->st_len = len;
if (strg->st_tspec == CHAR) {
- n->tn_string->st_cp = expr_zalloc(len + 1);
+ n->tn_string->st_cp = expr_zero_alloc(len + 1);
(void)memcpy(n->tn_string->st_cp, strg->st_cp, len + 1);
free(strg->st_cp);
} else {
size_t size = (len + 1) * sizeof(*n->tn_string->st_wcp);
- n->tn_string->st_wcp = expr_zalloc(size);
+ n->tn_string->st_wcp = expr_zero_alloc(size);
(void)memcpy(n->tn_string->st_wcp, strg->st_wcp, size);
free(strg->st_wcp);
}
@@ -355,8 +355,8 @@ struct_or_union_member(tnode_t *tn, op_t
rmsym(msym);
msym->s_kind = FMEMBER;
msym->s_scl = MOS;
- msym->s_styp = expr_zalloc(sizeof(*msym->s_styp));
- msym->s_styp->sou_tag = expr_zalloc(
+ msym->s_styp = expr_zero_alloc(sizeof(*msym->s_styp));
+ msym->s_styp->sou_tag = expr_zero_alloc(
sizeof(*msym->s_styp->sou_tag));
msym->s_styp->sou_tag->s_name = unnamed;
msym->s_value.v_tspec = INT;
@@ -1834,7 +1834,7 @@ new_tnode(op_t op, bool sys, type_t *typ
uint64_t rnum;
#endif
- ntn = expr_zalloc_tnode();
+ ntn = expr_alloc_tnode();
ntn->tn_op = op;
ntn->tn_type = type;
@@ -2080,7 +2080,7 @@ convert(op_t op, int arg, type_t *tp, tn
check_pointer_conversion(tn, tp);
}
- ntn = expr_zalloc_tnode();
+ ntn = expr_alloc_tnode();
ntn->tn_op = CVT;
ntn->tn_type = tp;
ntn->tn_cast = op == CVT;
@@ -2090,7 +2090,7 @@ convert(op_t op, int arg, type_t *tp, tn
ntn->tn_left = tn;
} else {
ntn->tn_op = CON;
- ntn->tn_val = expr_zalloc(sizeof(*ntn->tn_val));
+ ntn->tn_val = expr_zero_alloc(sizeof(*ntn->tn_val));
convert_constant(op, arg, ntn->tn_type, ntn->tn_val,
tn->tn_val);
}
@@ -3609,7 +3609,7 @@ cast(tnode_t *tn, type_t *tp)
for (m = str->sou_first_member; m != NULL; m = m->s_next) {
if (eqtype(m->s_type, tn->tn_type,
false, false, NULL)) {
- tn = expr_zalloc_tnode();
+ tn = expr_alloc_tnode();
tn->tn_op = CVT;
tn->tn_type = tp;
tn->tn_cast = true;