summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2007-08-02 21:08:12 +0000
committerMichael Snyder <msnyder@specifix.com>2007-08-02 21:08:12 +0000
commita1c0f9b2c5aa732b9c5c19b4eb9bef2922f38811 (patch)
tree6cecb1821cc1a6f1a9ed78c42afe472d3cb747bd
parentc2f49b7a7e4baf0b33d855e895ed851859782065 (diff)
downloadgdb-a1c0f9b2c5aa732b9c5c19b4eb9bef2922f38811.tar.gz
2007-08-02 Michael Snyder <msnyder@access-company.com>
* gdbtypes.c (create_set_type): Test should only be done within the preceeding if block. Otherwise, variable is uninitialized.
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/gdbtypes.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d462a310cd6..5aaee7ab160 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,8 @@
2007-08-02 Michael Snyder <msnyder@access-company.com>
+ * 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 <msnyder@access-company.com>
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 994178d5179..887f40007f4 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);
}