Anonymous string is one exception that the back end does
need to generate storage on (read only) data section.

Currently in order to determine a symbol is anonymous string,
we can test:
        symbol is array
        and symbol has no ident.
        and symbol base type is char.
        and symbol initializer is a string expression.

This patch add a bitfield to easier identify an anonymous string.

Signed-off-by: Christopher Li <[EMAIL PROTECTED]>

Index: sparse/symbol.h
===================================================================
--- sparse.orig/symbol.h        2006-12-12 02:04:05.000000000 -0800
+++ sparse/symbol.h     2006-12-12 02:05:24.000000000 -0800
@@ -118,7 +118,8 @@ struct symbol {
                                        initialized:1,
                                        examined:1,
                                        expanding:1,
-                                       evaluated:1;
+                                       evaluated:1,
+                                       string:1;
                        struct expression *array_size;
                        struct ctype ctype;
                        struct symbol_list *arguments;
Index: sparse/evaluate.c
===================================================================
--- sparse.orig/evaluate.c      2006-12-12 02:04:05.000000000 -0800
+++ sparse/evaluate.c   2006-12-12 02:05:24.000000000 -0800
@@ -74,6 +74,7 @@ static struct symbol *evaluate_string(st
        sym->array_size = alloc_const_expression(expr->pos, length);
        sym->bit_size = bits_in_char * length;
        sym->ctype.alignment = 1;
+       sym->string = 1;
        sym->ctype.modifiers = MOD_STATIC;
        sym->ctype.base_type = array;
        sym->initializer = initstr;
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to