2022-11-15 01:09:49

by guo.ziliang

[permalink] [raw]
Subject: [PATCH linux-next] scripts/dtc: Replace zero-length array with DECLARE_FLEX_ARRAY() helper

From: guo ziliang <[email protected]>

Zero-length arrays are deprecated and we are moving towards adopting
C99 flexible-array members, instead. So, replace zero-length arrays
declarations in anonymous union with the new DECLARE_FLEX_ARRAY()
helper macro.

Signed-off-by: guo ziliang <[email protected]>
---
scripts/dtc/libfdt/fdt.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/dtc/libfdt/fdt.h b/scripts/dtc/libfdt/fdt.h
index f2e6880..f66fff1 100644
--- a/scripts/dtc/libfdt/fdt.h
+++ b/scripts/dtc/libfdt/fdt.h
@@ -35,14 +35,14 @@ struct fdt_reserve_entry {

struct fdt_node_header {
fdt32_t tag;
- char name[0];
+ DECLARE_FLEX_ARRAY(char, name);
};

struct fdt_property {
fdt32_t tag;
fdt32_t len;
fdt32_t nameoff;
- char data[0];
+ DECLARE_FLEX_ARRAY(char, data);
};

#endif /* !__ASSEMBLY */
--
1.8.3.1


2022-11-15 01:32:51

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH linux-next] scripts/dtc: Replace zero-length array with DECLARE_FLEX_ARRAY() helper

On Tue, Nov 15, 2022 at 09:03:27AM +0800, [email protected] wrote:
> From: guo ziliang <[email protected]>
>
> Zero-length arrays are deprecated and we are moving towards adopting
> C99 flexible-array members, instead. So, replace zero-length arrays
> declarations in anonymous union with the new DECLARE_FLEX_ARRAY()
> helper macro.
>
> Signed-off-by: guo ziliang <[email protected]>
> ---
> scripts/dtc/libfdt/fdt.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/dtc/libfdt/fdt.h b/scripts/dtc/libfdt/fdt.h
> index f2e6880..f66fff1 100644
> --- a/scripts/dtc/libfdt/fdt.h
> +++ b/scripts/dtc/libfdt/fdt.h
> @@ -35,14 +35,14 @@ struct fdt_reserve_entry {
>
> struct fdt_node_header {
> fdt32_t tag;
> - char name[0];
> + DECLARE_FLEX_ARRAY(char, name);
> };
>
> struct fdt_property {
> fdt32_t tag;
> fdt32_t len;
> fdt32_t nameoff;
> - char data[0];
> + DECLARE_FLEX_ARRAY(char, data);
> };

This was addressed in commit:

5224f7909617 ("treewide: Replace zero-length arrays with flexible-array members")

My question here is why these changes were reverted by commit:

ea3723a541c1 ("scripts/dtc: Update to upstream version v1.6.1-63-g55778a03df61")

?? :O

Thanks
--
Gustavo

2022-11-15 15:31:07

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH linux-next] scripts/dtc: Replace zero-length array with DECLARE_FLEX_ARRAY() helper

On Mon, Nov 14, 2022 at 7:03 PM <[email protected]> wrote:
>
> From: guo ziliang <[email protected]>
>
> Zero-length arrays are deprecated and we are moving towards adopting
> C99 flexible-array members, instead. So, replace zero-length arrays
> declarations in anonymous union with the new DECLARE_FLEX_ARRAY()
> helper macro.
>
> Signed-off-by: guo ziliang <[email protected]>
> ---
> scripts/dtc/libfdt/fdt.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

Changes to dtc/libfdt must go upstream first and then we sync upstream
back to the kernel.