From f9780d5b2309f1fed7773b38a7eda5144ed181d3 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Thu, 2 Aug 2007 21:08:12 +0000 Subject: [PATCH] 2007-08-02 Michael Snyder * gdbtypes.c (create_set_type): Test should only be done within the preceeding if block. Otherwise, variable is uninitialized. --- gdb/ChangeLog | 3 +++ gdb/gdbtypes.c | 7 +++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d462a31..5aaee7a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2007-08-02 Michael Snyder + * gdbtypes.c (create_set_type): Test should only be done within + the preceeding if block. Otherwise, variable is uninitialized. + * gdbtypes.c (check_typedef): Guard NULL. 2007-08-01 Michael Snyder diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 994178d..887f400 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -843,7 +843,6 @@ create_string_type (struct type *result_type, struct type *range_type) struct type * create_set_type (struct type *result_type, struct type *domain_type) { - LONGEST low_bound, high_bound, bit_length; if (result_type == NULL) { result_type = alloc_type (TYPE_OBJFILE (domain_type)); @@ -856,17 +855,17 @@ create_set_type (struct type *result_type, struct type *domain_type) if (!TYPE_STUB (domain_type)) { + LONGEST low_bound, high_bound, bit_length; if (get_discrete_bounds (domain_type, &low_bound, &high_bound) < 0) low_bound = high_bound = 0; bit_length = high_bound - low_bound + 1; TYPE_LENGTH (result_type) = (bit_length + TARGET_CHAR_BIT - 1) / TARGET_CHAR_BIT; + if (low_bound >= 0) + TYPE_FLAGS (result_type) |= TYPE_FLAG_UNSIGNED; } TYPE_FIELD_TYPE (result_type, 0) = domain_type; - if (low_bound >= 0) - TYPE_FLAGS (result_type) |= TYPE_FLAG_UNSIGNED; - return (result_type); } -- 2.7.4