typeof() always has a type set, so there is no need to access the expression.
authorChristoph Mallon <christoph.mallon@gmx.de>
Thu, 18 Dec 2008 13:04:41 +0000 (13:04 +0000)
committerChristoph Mallon <christoph.mallon@gmx.de>
Thu, 18 Dec 2008 13:04:41 +0000 (13:04 +0000)
[r24779]

type.c

diff --git a/type.c b/type.c
index 743bee5..d5d4a01 100644 (file)
--- a/type.c
+++ b/type.c
@@ -1235,18 +1235,11 @@ type_t *skip_typeref(type_t *type)
                        type = typedef_type->typedefe->type;
                        continue;
                }
-               case TYPE_TYPEOF: {
+               case TYPE_TYPEOF:
                        qualifiers |= type->base.qualifiers;
                        modifiers  |= type->base.modifiers;
-
-                       const typeof_type_t *typeof_type = &type->typeoft;
-                       if (typeof_type->typeof_type != NULL) {
-                               type = typeof_type->typeof_type;
-                       } else {
-                               type = typeof_type->expression->base.type;
-                       }
+                       type        = type->typeoft.typeof_type;
                        continue;
-               }
                default:
                        break;
                }
@@ -1295,15 +1288,9 @@ type_qualifiers_t get_type_qualifier(const type_t *type, bool skip_array_type)
                        else
                                type = typedef_type->typedefe->type;
                        continue;
-               case TYPE_TYPEOF: {
-                       const typeof_type_t *typeof_type = &type->typeoft;
-                       if (typeof_type->typeof_type != NULL) {
-                               type = typeof_type->typeof_type;
-                       } else {
-                               type = typeof_type->expression->base.type;
-                       }
+               case TYPE_TYPEOF:
+                       type = type->typeoft.typeof_type;
                        continue;
-               }
                case TYPE_ARRAY:
                        if (skip_array_type) {
                                type = type->array.element_type;