History log of /netbsd-current/tests/usr.bin/xlint/lint1/expr_sizeof.c
Revision Date Author Comments
# 1.18 03-May-2024 rillig

tests/lint: fix supposedly platform-independent type definitions

No idea where I got the previous type definitions from. The typedef
names looked just too convincing to actually check the underlying types.


# 1.17 03-May-2024 rillig

tests/lint: skip test for sizeof struct on 32-bit platforms

Even though the test only uses fixed-size types, lint's computed size of
the resulting struct differs between i386 (80) and x86_64 (112). Both
are wrong, probably due to the unrelated struct declaration above, as
already mentioned in the comments.


# 1.16 02-May-2024 rillig

tests/lint: demonstrate wrong struct size calculation


# 1.15 13-Mar-2024 rillig

tests/lint: ensure that lint correctly decays array parameter types


# 1.14 05-Aug-2023 rillig

lint: implement __builtin_offsetof for the simplest cases

Cases not covered:
1. C99 allows designators in the offsetof macro.
2. For packed types, the offset is likely to be incorrect.


# 1.13 09-Jul-2023 rillig

lint: clean up wording in diagnostics

Use the term 'parameter' as defined in C99 3.15.


# 1.12 30-Jun-2023 rillig

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

* external/bsd/jemalloc/dist/src/jemalloc.c
* external/mit/xorg/lib/dri.old/Makefile


# 1.11 30-Jun-2023 rillig

tests/lint: extend tests for sizeof and alignof


# 1.10 30-Jun-2023 rillig

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.


# 1.9 30-Jun-2023 rillig

tests/lint: add more tests for sizeof, offsetof, alignof


# 1.8 30-Jun-2023 rillig

tests/lint: extend test for sizeof and offsetof


# 1.7 30-Jun-2023 rillig

tests/lint: demonstrate bugs in anonymous struct/union handling


# 1.6 28-Jun-2023 rillig

tests/lint: demonstrate wrong size calculation in anonymous union


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.18 03-May-2024 rillig

tests/lint: fix supposedly platform-independent type definitions

No idea where I got the previous type definitions from. The typedef
names looked just too convincing to actually check the underlying types.


# 1.17 03-May-2024 rillig

tests/lint: skip test for sizeof struct on 32-bit platforms

Even though the test only uses fixed-size types, lint's computed size of
the resulting struct differs between i386 (80) and x86_64 (112). Both
are wrong, probably due to the unrelated struct declaration above, as
already mentioned in the comments.


# 1.16 02-May-2024 rillig

tests/lint: demonstrate wrong struct size calculation


# 1.15 13-Mar-2024 rillig

tests/lint: ensure that lint correctly decays array parameter types


# 1.14 05-Aug-2023 rillig

lint: implement __builtin_offsetof for the simplest cases

Cases not covered:
1. C99 allows designators in the offsetof macro.
2. For packed types, the offset is likely to be incorrect.


# 1.13 09-Jul-2023 rillig

lint: clean up wording in diagnostics

Use the term 'parameter' as defined in C99 3.15.


# 1.12 30-Jun-2023 rillig

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

* external/bsd/jemalloc/dist/src/jemalloc.c
* external/mit/xorg/lib/dri.old/Makefile


# 1.11 30-Jun-2023 rillig

tests/lint: extend tests for sizeof and alignof


# 1.10 30-Jun-2023 rillig

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.


# 1.9 30-Jun-2023 rillig

tests/lint: add more tests for sizeof, offsetof, alignof


# 1.8 30-Jun-2023 rillig

tests/lint: extend test for sizeof and offsetof


# 1.7 30-Jun-2023 rillig

tests/lint: demonstrate bugs in anonymous struct/union handling


# 1.6 28-Jun-2023 rillig

tests/lint: demonstrate wrong size calculation in anonymous union


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.15 13-Mar-2024 rillig

tests/lint: ensure that lint correctly decays array parameter types


# 1.14 05-Aug-2023 rillig

lint: implement __builtin_offsetof for the simplest cases

Cases not covered:
1. C99 allows designators in the offsetof macro.
2. For packed types, the offset is likely to be incorrect.


# 1.13 09-Jul-2023 rillig

lint: clean up wording in diagnostics

Use the term 'parameter' as defined in C99 3.15.


# 1.12 30-Jun-2023 rillig

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

* external/bsd/jemalloc/dist/src/jemalloc.c
* external/mit/xorg/lib/dri.old/Makefile


# 1.11 30-Jun-2023 rillig

tests/lint: extend tests for sizeof and alignof


# 1.10 30-Jun-2023 rillig

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.


# 1.9 30-Jun-2023 rillig

tests/lint: add more tests for sizeof, offsetof, alignof


# 1.8 30-Jun-2023 rillig

tests/lint: extend test for sizeof and offsetof


# 1.7 30-Jun-2023 rillig

tests/lint: demonstrate bugs in anonymous struct/union handling


# 1.6 28-Jun-2023 rillig

tests/lint: demonstrate wrong size calculation in anonymous union


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.14 05-Aug-2023 rillig

lint: implement __builtin_offsetof for the simplest cases

Cases not covered:
1. C99 allows designators in the offsetof macro.
2. For packed types, the offset is likely to be incorrect.


# 1.13 09-Jul-2023 rillig

lint: clean up wording in diagnostics

Use the term 'parameter' as defined in C99 3.15.


# 1.12 30-Jun-2023 rillig

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

* external/bsd/jemalloc/dist/src/jemalloc.c
* external/mit/xorg/lib/dri.old/Makefile


# 1.11 30-Jun-2023 rillig

tests/lint: extend tests for sizeof and alignof


# 1.10 30-Jun-2023 rillig

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.


# 1.9 30-Jun-2023 rillig

tests/lint: add more tests for sizeof, offsetof, alignof


# 1.8 30-Jun-2023 rillig

tests/lint: extend test for sizeof and offsetof


# 1.7 30-Jun-2023 rillig

tests/lint: demonstrate bugs in anonymous struct/union handling


# 1.6 28-Jun-2023 rillig

tests/lint: demonstrate wrong size calculation in anonymous union


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.13 09-Jul-2023 rillig

lint: clean up wording in diagnostics

Use the term 'parameter' as defined in C99 3.15.


# 1.12 30-Jun-2023 rillig

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

* external/bsd/jemalloc/dist/src/jemalloc.c
* external/mit/xorg/lib/dri.old/Makefile


# 1.11 30-Jun-2023 rillig

tests/lint: extend tests for sizeof and alignof


# 1.10 30-Jun-2023 rillig

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.


# 1.9 30-Jun-2023 rillig

tests/lint: add more tests for sizeof, offsetof, alignof


# 1.8 30-Jun-2023 rillig

tests/lint: extend test for sizeof and offsetof


# 1.7 30-Jun-2023 rillig

tests/lint: demonstrate bugs in anonymous struct/union handling


# 1.6 28-Jun-2023 rillig

tests/lint: demonstrate wrong size calculation in anonymous union


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.12 30-Jun-2023 rillig

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

* external/bsd/jemalloc/dist/src/jemalloc.c
* external/mit/xorg/lib/dri.old/Makefile


# 1.11 30-Jun-2023 rillig

tests/lint: extend tests for sizeof and alignof


# 1.10 30-Jun-2023 rillig

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.


# 1.9 30-Jun-2023 rillig

tests/lint: add more tests for sizeof, offsetof, alignof


# 1.8 30-Jun-2023 rillig

tests/lint: extend test for sizeof and offsetof


# 1.7 30-Jun-2023 rillig

tests/lint: demonstrate bugs in anonymous struct/union handling


# 1.6 28-Jun-2023 rillig

tests/lint: demonstrate wrong size calculation in anonymous union


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.12 30-Jun-2023 rillig

lint: fix handling of unnamed struct/union members

The support for unnamed struct/union members that was added in decl.c
1.60 from 2015-10-13 was simple but wrong. It didn't cover initializers
of these structures and computed wrong sizes for structures containing
anonymous unions. At that time, the handling of initializers was broken
as well, it was fixed 6 years later in init.c 1.229 from 2021-12-22.

Real-life examples for code that lint couldn't handle are:

* external/bsd/jemalloc/dist/src/jemalloc.c
* external/mit/xorg/lib/dri.old/Makefile


# 1.11 30-Jun-2023 rillig

tests/lint: extend tests for sizeof and alignof


# 1.10 30-Jun-2023 rillig

lint: fix computation of bit-field width

When bit-fields in packed structs were added on 2009-10-02, lint assumed
that they would only use 'signed int' or 'unsigned int' as storage unit,
even though C99 also allows _Bool.

The cleanup commit for decl.c 1.225 from 2021-08-28 accidentally changed
the rounding mode for bit-field storage units from round-up to
round-down.


# 1.9 30-Jun-2023 rillig

tests/lint: add more tests for sizeof, offsetof, alignof


# 1.8 30-Jun-2023 rillig

tests/lint: extend test for sizeof and offsetof


# 1.7 30-Jun-2023 rillig

tests/lint: demonstrate bugs in anonymous struct/union handling


# 1.6 28-Jun-2023 rillig

tests/lint: demonstrate wrong size calculation in anonymous union


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.5 28-Mar-2023 rillig

lint: warn about extern declarations outside headers

https://mail-index.netbsd.org/tech-userlevel/2023/03/15/msg013727.html


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.4 16-Jan-2023 rillig

tests/lint: fix typo in comment


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions


# 1.3 15-Jan-2023 rillig

tests/lint: fix test for sizeof with variable-length array


# 1.2 15-Jan-2023 rillig

tests/lint: add more tests for sizeof


# 1.1 15-Jan-2023 rillig

tests/lint: add test for parsing sizeof expressions