Module Name: src
Committed By: rillig
Date: Sat Jan 6 14:21:26 UTC 2024
Modified Files:
src/usr.bin/xlint/lint1: tree.c
Log Message:
lint: remove redundant comments
To generate a diff of this commit:
cvs rdiff -u -r1.587 -r1.588 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/usr.bin/xlint/lint1/tree.c
diff -u src/usr.bin/xlint/lint1/tree.c:1.587 src/usr.bin/xlint/lint1/tree.c:1.588
--- src/usr.bin/xlint/lint1/tree.c:1.587 Sun Dec 3 18:17:41 2023
+++ src/usr.bin/xlint/lint1/tree.c Sat Jan 6 14:21:26 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: tree.c,v 1.587 2023/12/03 18:17:41 rillig Exp $ */
+/* $NetBSD: tree.c,v 1.588 2024/01/06 14:21:26 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: tree.c,v 1.587 2023/12/03 18:17:41 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.588 2024/01/06 14:21:26 rillig Exp $");
#endif
#include <float.h>
@@ -707,10 +707,6 @@ usual_arithmetic_conversion_c90(tspec_t
if (lt == FLOAT || rt == FLOAT)
return FLOAT;
- /*
- * If type A has more bits than type B, it should be able to hold all
- * possible values of type B.
- */
if (size_in_bits(lt) > size_in_bits(rt))
return lt;
if (size_in_bits(lt) < size_in_bits(rt))
@@ -762,9 +758,6 @@ balance(op_t op, tnode_t **lnp, tnode_t
*rnp = apply_usual_arithmetic_conversions(op, *rnp, t);
}
-/*
- * Create a tree node for the unary & operator
- */
static tnode_t *
build_address(bool sys, tnode_t *tn, bool noign)
{
@@ -938,9 +931,6 @@ fold(tnode_t *tn)
return cn;
}
-/*
- * Create a new node for one of the operators POINT and ARROW.
- */
static tnode_t *
build_struct_access(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
{
@@ -1035,9 +1025,6 @@ subt_size_in_bytes(type_t *tp)
(int64_t)(elem * elsz_in_bits / CHAR_SIZE));
}
-/*
- * Create a node for INCAFT, INCBEF, DECAFT and DECBEF.
- */
static tnode_t *
build_prepost_incdec(op_t op, bool sys, tnode_t *ln)
{
@@ -1080,11 +1067,6 @@ check_enum_array_index(const tnode_t *ln
if (max_enum_value == max_array_index)
return;
- /*
- * If the name of the largest enum constant contains 'MAX' or 'NUM',
- * that constant is typically not part of the allowed enum values but a
- * marker for the number of actual enum values.
- */
if (max_enum_value == max_array_index + 1 &&
(strstr(max_ec->s_name, "MAX") != NULL ||
strstr(max_ec->s_name, "max") != NULL ||
@@ -1097,14 +1079,10 @@ check_enum_array_index(const tnode_t *ln
print_previous_declaration(max_ec);
}
-/*
- * Create a node for operators PLUS and MINUS.
- */
static tnode_t *
build_plus_minus(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
{
- /* If pointer and integer, move the pointer to the left. */
if (rn->tn_type->t_tspec == PTR && is_integer(ln->tn_type->t_tspec)) {
tnode_t *tmp = ln;
ln = rn;
@@ -1150,9 +1128,6 @@ build_plus_minus(op_t op, bool sys, tnod
return build_op(op, sys, ln->tn_type, ln, rn);
}
-/*
- * Create a node for operators SHL and SHR.
- */
static tnode_t *
build_bit_shift(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
{
@@ -1207,7 +1182,6 @@ merge_qualifiers(type_t *tp1, const type
static tnode_t *
build_colon(bool sys, tnode_t *ln, tnode_t *rn)
{
-
tspec_t lt = ln->tn_type->t_tspec;
tspec_t rt = rn->tn_type->t_tspec;
@@ -1220,7 +1194,6 @@ build_colon(bool sys, tnode_t *ln, tnode
} else if (lt == VOID || rt == VOID) {
tp = gettyp(VOID);
} else if (is_struct_or_union(lt)) {
- /* Both types must be identical. */
lint_assert(is_struct_or_union(rt));
lint_assert(ln->tn_type->t_sou == rn->tn_type->t_sou);
if (is_incomplete(ln->tn_type)) {
@@ -1316,7 +1289,6 @@ is_assignment(op_t op)
op == INIT;
}
-/* Create a node for an assignment operator (both '=' and 'op='). */
static tnode_t *
build_assignment(op_t op, bool sys, tnode_t *ln, tnode_t *rn)
{
@@ -1378,9 +1350,6 @@ build_assignment(op_t op, bool sys, tnod
return build_op(op, sys, ln->tn_type, ln, rn);
}
-/*
- * Create a node for REAL, IMAG
- */
static tnode_t *
build_real_imag(op_t op, bool sys, tnode_t *ln)
{
@@ -1683,16 +1652,8 @@ build_binary(tnode_t *ln, op_t op, bool
if (ln == NULL || (mp->m_binary && rn == NULL))
return NULL;
- /*
- * Apply class conversions to the left operand, but only if its value
- * is needed or compared with zero.
- */
if (mp->m_value_context || mp->m_compares_with_zero)
ln = cconv(ln);
- /*
- * The right operand is almost always in a test or value context,
- * except if it is a struct or union member.
- */
if (mp->m_binary && op != ARROW && op != POINT)
rn = cconv(rn);
@@ -1713,11 +1674,6 @@ build_binary(tnode_t *ln, op_t op, bool
rn = promote(op, false, rn);
}
- /*
- * If the result of the operation is different for signed or unsigned
- * operands and one of the operands is signed only in C90, print a
- * warning.
- */
if (mp->m_warn_if_left_unsigned_in_c90 &&
ln->tn_op == CON && ln->tn_val.v_unsigned_since_c90) {
/* C90 treats constant as unsigned, op '%s' */
@@ -1731,18 +1687,12 @@ build_binary(tnode_t *ln, op_t op, bool
rn->tn_val.v_unsigned_since_c90 = false;
}
- /* Make sure both operands are of the same type */
if (mp->m_balance_operands || (!allow_c90 && (op == SHL || op == SHR)))
balance(op, &ln, &rn);
- /*
- * Check types for compatibility with the operation and mutual
- * compatibility. Return if there are serious problems.
- */
if (!typeok(op, 0, ln, rn))
return NULL;
- /* And now create the node. */
tnode_t *ntn;
switch (op) {
case POINT:
@@ -1809,18 +1759,12 @@ build_binary(tnode_t *ln, op_t op, bool
break;
}
- /* Return if an error occurred. */
if (ntn == NULL)
return NULL;
- /* Print a warning if precedence confusion is possible */
if (mp->m_possible_precedence_confusion)
check_precedence_confusion(ntn);
- /*
- * Print a warning if one of the operands is in a context where it is
- * compared with zero and if this operand is a constant.
- */
if (hflag && !suppress_constcond &&
mp->m_compares_with_zero &&
(ln->tn_op == CON ||
@@ -1831,7 +1775,6 @@ build_binary(tnode_t *ln, op_t op, bool
warning(161);
}
- /* Fold if the operator requires it */
if (mp->m_fold_constant_operands) {
if (ln->tn_op == CON && (!mp->m_binary || rn->tn_op == CON)) {
if (mp->m_compares_with_zero) {
@@ -2000,10 +1943,6 @@ struct_or_union_member(tnode_t *tn, op_t
return msym;
}
- /*
- * Now the left operand of ARROW does not point to a struct/union or
- * the left operand of POINT is no struct/union.
- */
if (eq) {
if (op == POINT) {
if (!allow_c90) {
@@ -2065,10 +2004,6 @@ build_member_access(tnode_t *ln, op_t op
tnode_t *
cconv(tnode_t *tn)
{
- /*
- * Array-lvalue (array of type T) is converted into rvalue (pointer to
- * type T)
- */
if (tn->tn_type->t_tspec == ARRAY) {
if (!tn->tn_lvalue) {
/* XXX print correct operator */
@@ -2079,15 +2014,9 @@ cconv(tnode_t *tn)
expr_derive_type(tn->tn_type->t_subt, PTR), tn, NULL);
}
- /*
- * Expression of type function (function with return value of type T)
- * in rvalue-expression (pointer to function with return value of type
- * T)
- */
if (tn->tn_type->t_tspec == FUNC)
tn = build_address(tn->tn_sys, tn, true);
- /* lvalue to rvalue */
if (tn->tn_lvalue) {
type_t *tp = expr_dup_type(tn->tn_type);
/* C99 6.3.2.1p2 sentence 2 says to remove the qualifiers. */
@@ -2291,10 +2220,6 @@ typeok_shr(op_t op,
if (!ic_maybe_signed(ln->tn_type, &lc))
return;
- /*
- * The left operand is signed. This means that the operation is
- * (possibly) nonportable.
- */
if (ln->tn_op != CON) {
/* bitwise '%s' on signed value possibly nonportable */
warning(117, op_name(op));
@@ -2374,10 +2299,6 @@ is_typeok_eq(const tnode_t *ln, tspec_t
return false;
}
-/*
- * Called if incompatible pointer types are detected.
- * Print an appropriate warning.
- */
static void
warn_incompatible_pointers(op_t op, const type_t *ltp, const type_t *rtp)
{
@@ -2548,10 +2469,6 @@ typeok_colon(const tnode_t *ln, const ty
return false;
}
-/*
- * Returns true if the given structure or union has a constant member
- * (maybe recursively).
- */
static bool
has_constant_member(const type_t *tp)
{
@@ -2593,7 +2510,6 @@ typeok_assign(op_t op, const tnode_t *ln
return true;
}
-/* Check the types using the information from modtab[]. */
static bool
typeok_scalar(op_t op, const mod_t *mp,
const type_t *ltp, tspec_t lt,
@@ -2905,10 +2821,8 @@ check_assign_types_compatible(op_t op, i
return true;
if (is_struct_or_union(lt) && is_struct_or_union(rt))
- /* both are struct or union */
return ltp->t_sou == rtp->t_sou;
- /* a null pointer may be assigned to any pointer */
if (lt == PTR && is_null_pointer(rn)) {
if (is_integer(rn->tn_type->t_tspec))
/* implicit conversion from integer 0 to pointer ... */
@@ -3092,7 +3006,6 @@ typeok_op(op_t op, int arg,
return true;
}
-/* Prints a warning if a strange operator is used on an enum type. */
static void
check_bad_enum_operation(op_t op, const tnode_t *ln, const tnode_t *rn)
{
@@ -3111,7 +3024,6 @@ check_bad_enum_operation(op_t op, const
warning(241, op_name(op));
}
-/* Prints a warning if an operator is applied to two different enum types. */
static void
check_enum_type_mismatch(op_t op, int arg, const tnode_t *ln, const tnode_t *rn)
{
@@ -3146,7 +3058,6 @@ check_enum_type_mismatch(op_t op, int ar
warning(243, op_name(op), type_name(ln->tn_type));
}
-/* Prints a warning if the operands mix between enum and integer. */
static void
check_enum_int_mismatch(op_t op, int arg, const tnode_t *ln, const tnode_t *rn)
{
@@ -3381,7 +3292,6 @@ check_prototype_conversion(int arg, tspe
nt == SHORT || nt == USHORT)
return;
- /* apply the default promotion */
tnode_t *ptn = promote(NOOP, true, tn);
ot = ptn->tn_type->t_tspec;
@@ -3802,11 +3712,6 @@ convert_constant_check_range_bitor(size_
}
}
-/*
- * Print a warning if additional bits are not all 1
- * and the most significant bit of the old value is 1,
- * or if at least one (but not all) removed bit was 0.
- */
static void
convert_constant_check_range_bitand(size_t nsz, size_t osz,
uint64_t xmask, const val_t *nv,
@@ -3918,10 +3823,6 @@ convert_constant_check_range(tspec_t ot,
nbitsz = tp->t_bitfield ? tp->t_bit_field_width : size_in_bits(nt);
xmask = value_bits(nbitsz) ^ value_bits(obitsz);
xmsk1 = value_bits(nbitsz) ^ value_bits(obitsz - 1);
- /*
- * For bitwise operations we are not interested in the arithmetic
- * value, but in the bits itself.
- */
if (op == ORASS || op == BITOR || op == BITXOR) {
convert_constant_check_range_bitor(
nbitsz, obitsz, v, xmask, op);
@@ -3991,9 +3892,6 @@ convert_constant(op_t op, int arg, const
convert_constant_check_range(ot, tp, nt, op, arg, v, nv);
}
-/*
- * Create a constant node for sizeof.
- */
tnode_t *
build_sizeof(const type_t *tp)
{
@@ -4004,9 +3902,6 @@ build_sizeof(const type_t *tp)
return tn;
}
-/*
- * Create a constant node for offsetof.
- */
tnode_t *
build_offsetof(const type_t *tp, const sym_t *sym)
{
@@ -4148,9 +4043,6 @@ cast_to_union(tnode_t *otn, type_t *ntp)
return NULL;
}
-/*
- * Type casts.
- */
tnode_t *
cast(tnode_t *tn, type_t *tp)
{
@@ -4310,7 +4202,6 @@ check_function_arguments(type_t *ftp, tn
warning(152, n);
}
- /* class conversions (arg in value context) */
arg->tn_left = cconv(arg->tn_left);
if (param != NULL) {
@@ -4327,10 +4218,6 @@ check_function_arguments(type_t *ftp, tn
return args;
}
-/*
- * Create the node for a function call. Also check types of
- * function arguments and insert conversions, if necessary.
- */
tnode_t *
build_function_call(tnode_t *func, bool sys, tnode_t *args)
{
@@ -4343,7 +4230,6 @@ build_function_call(tnode_t *func, bool
check_ctype_function_call(func, args);
- /* Turn the function name into a pointer to the function. */
func = cconv(func);
if (func->tn_type->t_tspec != PTR ||
@@ -4460,7 +4346,6 @@ expr(tnode_t *tn, bool vctx, bool cond,
}
debug_node(tn);
- /* free the tree memory */
if (dofreeblk)
expr_free_all();
}
@@ -4497,7 +4382,6 @@ check_array_index(tnode_t *tn, bool ampe
if (is_incomplete(ln->tn_left->tn_type) && rn->tn_val.u.integer >= 0)
return;
- /* Get the size of one array element */
int elsz = length_in_bits(ln->tn_type->t_subt, NULL);
if (elsz == 0)
return;
@@ -4529,7 +4413,6 @@ check_expr_addr(const tnode_t *ln, bool
mark_as_used(ln->tn_sym, fcall, szof);
}
if (ln->tn_op == INDIR && ln->tn_left->tn_op == PLUS)
- /* check the range of array indices */
check_array_index(ln->tn_left, true);
}
@@ -4537,7 +4420,6 @@ static void
check_expr_load(const tnode_t *ln)
{
if (ln->tn_op == INDIR && ln->tn_left->tn_op == PLUS)
- /* check the range of array indices */
check_array_index(ln->tn_left, false);
}