Mode-Switching: Fix local array maybe uninitialized warning

Message ID 20230519235618.4078456-1-pan2.li@intel.com
State Accepted
Headers
Series Mode-Switching: Fix local array maybe uninitialized warning |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Li, Pan2 via Gcc-patches May 19, 2023, 11:56 p.m. UTC
  From: Pan Li <pan2.li@intel.com>

There are 2 local array in function optimize_mode_switching. It will be
initialized conditionally at the beginning but then always consumed in
another loop. It may trigger the warning maybe-uninitialized, and may
result in build failure when enable werror, aka warning as error.

This patch will initialize the local array to zero explictly when
declaration.

Signed-off-by: Pan Li <pan2.li@intel.com>

gcc/ChangeLog:

	* mode-switching.cc (entity_map): Initialize the array to zero.
	(bb_info): Ditto.
---
 gcc/mode-switching.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Jeff Law May 20, 2023, 4:23 a.m. UTC | #1
On 5/19/23 17:56, pan2.li@intel.com wrote:
> From: Pan Li <pan2.li@intel.com>
> 
> There are 2 local array in function optimize_mode_switching. It will be
> initialized conditionally at the beginning but then always consumed in
> another loop. It may trigger the warning maybe-uninitialized, and may
> result in build failure when enable werror, aka warning as error.
> 
> This patch will initialize the local array to zero explictly when
> declaration.
> 
> Signed-off-by: Pan Li <pan2.li@intel.com>
> 
> gcc/ChangeLog:
> 
> 	* mode-switching.cc (entity_map): Initialize the array to zero.
> 	(bb_info): Ditto.
OK.
jeff
  
Li, Pan2 via Gcc-patches May 20, 2023, 9:59 a.m. UTC | #2
Committed, thanks Jeff.

Pan

-----Original Message-----
From: Jeff Law <jeffreyalaw@gmail.com> 
Sent: Saturday, May 20, 2023 12:24 PM
To: Li, Pan2 <pan2.li@intel.com>; gcc-patches@gcc.gnu.org
Cc: juzhe.zhong@rivai.ai; kito.cheng@sifive.com; Wang, Yanzhang <yanzhang.wang@intel.com>
Subject: Re: [PATCH] Mode-Switching: Fix local array maybe uninitialized warning



On 5/19/23 17:56, pan2.li@intel.com wrote:
> From: Pan Li <pan2.li@intel.com>
> 
> There are 2 local array in function optimize_mode_switching. It will 
> be initialized conditionally at the beginning but then always consumed 
> in another loop. It may trigger the warning maybe-uninitialized, and 
> may result in build failure when enable werror, aka warning as error.
> 
> This patch will initialize the local array to zero explictly when 
> declaration.
> 
> Signed-off-by: Pan Li <pan2.li@intel.com>
> 
> gcc/ChangeLog:
> 
> 	* mode-switching.cc (entity_map): Initialize the array to zero.
> 	(bb_info): Ditto.
OK.
jeff
  

Patch

diff --git a/gcc/mode-switching.cc b/gcc/mode-switching.cc
index 2d2818f5674..64ae2bc29c3 100644
--- a/gcc/mode-switching.cc
+++ b/gcc/mode-switching.cc
@@ -499,8 +499,8 @@  optimize_mode_switching (void)
   bool need_commit = false;
   static const int num_modes[] = NUM_MODES_FOR_MODE_SWITCHING;
 #define N_ENTITIES ARRAY_SIZE (num_modes)
-  int entity_map[N_ENTITIES];
-  struct bb_info *bb_info[N_ENTITIES];
+  int entity_map[N_ENTITIES] = {};
+  struct bb_info *bb_info[N_ENTITIES] = {};
   int i, j;
   int n_entities = 0;
   int max_num_modes = 0;