Resolved some uninitialized variable warnings
authorMoritz Kroll <Moritz.Kroll@gmx.de>
Mon, 8 Dec 2008 23:29:59 +0000 (23:29 +0000)
committerMoritz Kroll <Moritz.Kroll@gmx.de>
Mon, 8 Dec 2008 23:29:59 +0000 (23:29 +0000)
[r24420]

ast.c
parser.c

diff --git a/ast.c b/ast.c
index 1037c91..4478caa 100644 (file)
--- a/ast.c
+++ b/ast.c
@@ -1335,6 +1335,7 @@ static void print_storage_class(storage_class_tag_t storage_class)
        case STORAGE_CLASS_STATIC:   text = "static ";   break;
        case STORAGE_CLASS_AUTO:     text = "auto ";     break;
        case STORAGE_CLASS_REGISTER: text = "register "; break;
+       default:                     panic("invalid storage class");
        }
        fputs(text, out);
 }
index ae84beb..28e2599 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -2914,7 +2914,7 @@ static initializer_t *parse_initializer(parse_initializer_env_t *env)
 {
        type_t        *type   = skip_typeref(env->type);
        initializer_t *result = NULL;
-       size_t         max_index;
+       size_t         max_index = 0xdeadbeaf;   // TODO: Resolve this uninitialized variable problem
 
        if (is_type_scalar(type)) {
                result = parse_scalar_initializer(type, env->must_be_constant);
@@ -2949,6 +2949,7 @@ static initializer_t *parse_initializer(parse_initializer_env_t *env)
                size_t size;
                switch (result->kind) {
                case INITIALIZER_LIST:
+                       assert(max_index != 0xdeadbeaf);
                        size = max_index + 1;
                        break;
 
@@ -6035,6 +6036,9 @@ found_break_parent:
                        }
                        break;
                }
+
+               default:
+                       panic("invalid statement kind");
        }
 
        while (next == NULL) {