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

Message ID 202211150903277271642@zte.com.cn
State New
Headers
Series [linux-next] scripts/dtc: Replace zero-length array with DECLARE_FLEX_ARRAY() helper |

Commit Message

guo.ziliang@zte.com.cn Nov. 15, 2022, 1:03 a.m. UTC
  From: guo ziliang <guo.ziliang@zte.com.cn>

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 <guo.ziliang@zte.com.cn>
---
 scripts/dtc/libfdt/fdt.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--
1.8.3.1
  

Comments

Gustavo A. R. Silva Nov. 15, 2022, 1:15 a.m. UTC | #1
On Tue, Nov 15, 2022 at 09:03:27AM +0800, guo.ziliang@zte.com.cn wrote:
> From: guo ziliang <guo.ziliang@zte.com.cn>
> 
> 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 <guo.ziliang@zte.com.cn>
> ---
>  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
  
Rob Herring Nov. 15, 2022, 2:53 p.m. UTC | #2
On Mon, Nov 14, 2022 at 7:03 PM <guo.ziliang@zte.com.cn> wrote:
>
> From: guo ziliang <guo.ziliang@zte.com.cn>
>
> 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 <guo.ziliang@zte.com.cn>
> ---
>  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.
  

Patch

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 */