All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dissect: fix multidimensional array initializer
@ 2006-12-14 21:35 Oleg Nesterov
  2006-12-18 21:50 ` Christopher Li
  2007-02-23  5:27 ` Josh Triplett
  0 siblings, 2 replies; 4+ messages in thread
From: Oleg Nesterov @ 2006-12-14 21:35 UTC (permalink / raw)
  To: Josh Triplett; +Cc: Christopher Li, linux-sparse

dissect can't parse initializers like

	struct T { int i; } a[2][3] = { [0][0] = {123} };

, output is:

	   1:8   s def  T
	   1:21  g def  a                                struct T [3][2]
	   1:21  g -w-  a                                struct T [3][2]
	T.c:1:37: warning: bad expr->type: 25

with this patch applied:

	   1:8   s def  T
	   1:21  g def  a                                struct T [3][2]
	   1:21  g -w-  a                                struct T [3][2]
	   1:43  s -w-  T.i                              int

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>

--- DS/dissect.c~	2006-04-20 03:03:33.000000000 +0400
+++ DS/dissect.c	2006-04-20 03:03:42.000000000 +0400
@@ -507,10 +507,13 @@ static struct symbol *do_initializer(str
 	default:
 		do_expression(u_lval(type), expr);
 
+	break; case EXPR_INDEX:
+		do_initializer(base_type(type), expr->idx_expression);
+
 	break; case EXPR_INITIALIZER:
 		m_addr = 0;
 		FOR_EACH_PTR(expr->expr_list, m_expr)
-			if(type->type == SYM_ARRAY) {
+			if (type->type == SYM_ARRAY) {
 				m_type = base_type(type);
 				if (m_expr->type == EXPR_INDEX)
 					m_expr = m_expr->idx_expression;

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-02-23  5:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-14 21:35 [PATCH] dissect: fix multidimensional array initializer Oleg Nesterov
2006-12-18 21:50 ` Christopher Li
2006-12-18 22:54   ` Oleg Nesterov
2007-02-23  5:27 ` Josh Triplett

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.