The NetBSD Project

CVS log for src/tests/usr.bin/xlint/lint1/expr_precedence.c

[BACK] Up to [cvs.NetBSD.org] / src / tests / usr.bin / xlint / lint1

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.10 / (download) - annotate - [select for diffs], Thu Aug 25 19:03:48 2022 UTC (5 months, 2 weeks ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, HEAD
Changes since 1.9: +1 -2 lines
Diff to previous 1.9 (colored)

lint: remove explicit list of known GCC attributes

Most GCC attributes consist of a single identifier.  Up to now, it was
necessary to list each of these identifiers in the grammar, even those
that only apply to a single target architecture.

Instead, parse the general form of attributes, matching the few
attributes that lint handles by name instead.  While here, rename the
grammar rules to use the GCC terms.

To avoid conflicts between the global function 'printf' and the GCC
attribute of the same name, do not add GCC attributes to the symbol
table, and don't make these symbols 'extern' either.

ok christos@.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Jun 17 18:54:53 2022 UTC (7 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

tests/lint: make 'expect+-' comments stricter

Previously, the expectations from these comments were already satisfied
if the expectation occurred somewhere in the actual message from lint.
This meant that the prefix 'error:' or 'warning:' could be omitted from
the 'expect' comment.  These omissions were hard to see in a manual
review.  Now any omissions must be visually marked with '...'.

The test msg_342 now reports its messages properly as being in the file
msg_342.c, rather than msg_341.c.  This had been a copy-and-paste
mistake.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Nov 16 17:41:23 2021 UTC (14 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

lint: rename attron to in_gcc_attribute

No functional change.

Revision 1.7 / (download) - annotate - [select for diffs], Mon Jul 26 18:10:14 2021 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.6: +1 -2 lines
Diff to previous 1.6 (colored)

lint: fix parse error in conditional expression (since 2021-07-15)

Revision 1.6 / (download) - annotate - [select for diffs], Mon Jul 26 18:06:43 2021 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.5: +25 -1 lines
Diff to previous 1.5 (colored)

tests/lint: show bug in conditional expression (since 2021-07-15)

Since cgram.y 1.325 from 2021-07-15, conditional expressions did not
accept a comma-expression in the then-branch anymore.  In practice, this
is an edge case though since comma expressions are rare.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Jul 26 17:27:22 2021 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.4: +6 -3 lines
Diff to previous 1.4 (colored)

lint: fix parsing of chained assignments (since 2021-07-15)

The grammar rule for assignment_expression is quite different from those
of the other expressions, for 2 reasons: first, its precedence is
right-to-left.  Second, its left-hand side must be an lvalue, which
rules out all binary operators.  K&R C even had a grammar rule named
'lvalue' for this purpose.  Later C standards made the kinds of
expressions more fine-grained and used 'unary_expression' in this place.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Jul 26 17:09:46 2021 UTC (18 months, 2 weeks ago) by rillig
Branch: MAIN
Changes since 1.3: +13 -1 lines
Diff to previous 1.3 (colored)

tests/lint: demonstrate bug in chained assignment (since 2021-07-15)

Since cgram.y 1.325 from 2021-07-15, lint has been parsing assignment
expressions correctly.  It got the associativity wrong.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Jul 15 17:48:10 2021 UTC (18 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.2: +10 -2 lines
Diff to previous 1.2 (colored)

tests/lint: explain global variables in __attribute__

Revision 1.2 / (download) - annotate - [select for diffs], Thu Jul 15 17:20:58 2021 UTC (18 months, 3 weeks ago) by rillig
Branch: MAIN
Changes since 1.1: +2 -3 lines
Diff to previous 1.1 (colored)

lint: in the grammar, replace %prec with explicit rules

This way, in the arguments of __attribute__, where only constant
expressions are expected, a '=' leads to a syntax error.  Previously,
this was not detected.

No noticeable change in practice since these cases are already handled
by the compilers.

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jul 15 17:09:08 2021 UTC (18 months, 3 weeks ago) by rillig
Branch: MAIN

tests/lint: test precedence of operators

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>