remove unnecessary ATOMIC_TYPE_INVALID
authorMatthias Braun <matthias.braun@kit.edu>
Tue, 3 Jul 2012 10:47:20 +0000 (12:47 +0200)
committerMatthias Braun <matthias.braun@kit.edu>
Tue, 3 Jul 2012 18:03:02 +0000 (20:03 +0200)
ast2firm.c
mangle.c
type.c
type.h
types.c

index dc0941f..b366350 100644 (file)
@@ -3047,11 +3047,6 @@ static ir_node *classify_type_to_firm(const classify_type_expression_t *const ex
                        case TYPE_ATOMIC: {
                                const atomic_type_t *const atomic_type = &type->atomic;
                                switch (atomic_type->akind) {
-                                       /* should not be reached */
-                                       case ATOMIC_TYPE_INVALID:
-                                               tc = no_type_class;
-                                               goto make_const;
-
                                        /* gcc cannot do that */
                                        case ATOMIC_TYPE_VOID:
                                                tc = void_type_class;
index caaf734..2ac2287 100644 (file)
--- a/mangle.c
+++ b/mangle.c
@@ -38,7 +38,6 @@ static void mangle_type(type_t *type);
 static char get_atomic_type_mangle(atomic_type_kind_t kind)
 {
        switch (kind) {
-       case ATOMIC_TYPE_INVALID:     break;
        case ATOMIC_TYPE_VOID:        return 'v';
        case ATOMIC_TYPE_WCHAR_T:     return 'w';
        case ATOMIC_TYPE_BOOL:        return 'b';
diff --git a/type.c b/type.c
index 5a3891a..b7bf726 100644 (file)
--- a/type.c
+++ b/type.c
@@ -257,7 +257,6 @@ void print_type_qualifiers(type_qualifiers_t const qualifiers, QualifierSeparato
 const char *get_atomic_kind_name(atomic_type_kind_t kind)
 {
        switch(kind) {
-       case ATOMIC_TYPE_INVALID: break;
        case ATOMIC_TYPE_VOID:        return "void";
        case ATOMIC_TYPE_WCHAR_T:     return "wchar_t";
        case ATOMIC_TYPE_BOOL:        return c_mode & _CXX ? "bool" : "_Bool";
@@ -1236,7 +1235,7 @@ atomic_type_kind_t find_signed_int_atomic_type_kind_for_size(unsigned size)
 
        assert(size < 32);
        atomic_type_kind_t kind = kinds[size];
-       if (kind == ATOMIC_TYPE_INVALID) {
+       if (kind == (atomic_type_kind_t)0) {
                static const atomic_type_kind_t possible_kinds[] = {
                        ATOMIC_TYPE_SCHAR,
                        ATOMIC_TYPE_SHORT,
@@ -1264,7 +1263,7 @@ atomic_type_kind_t find_unsigned_int_atomic_type_kind_for_size(unsigned size)
 
        assert(size < 32);
        atomic_type_kind_t kind = kinds[size];
-       if (kind == ATOMIC_TYPE_INVALID) {
+       if (kind == (atomic_type_kind_t)0) {
                static const atomic_type_kind_t possible_kinds[] = {
                        ATOMIC_TYPE_UCHAR,
                        ATOMIC_TYPE_USHORT,
diff --git a/type.h b/type.h
index 95edbc1..0659663 100644 (file)
--- a/type.h
+++ b/type.h
@@ -32,8 +32,7 @@ typedef unsigned char il_alignment_t;
 /* note that the constant values represent the rank of the types as defined
  * in ยง 6.3.1 */
 typedef enum atomic_type_kind_t {
-       ATOMIC_TYPE_INVALID = 0,
-       ATOMIC_TYPE_VOID,
+       ATOMIC_TYPE_VOID = 1,
        ATOMIC_TYPE_BOOL,
        ATOMIC_TYPE_WCHAR_T, /* only used in C++, in C code wchar_t is a pp-macro */
        ATOMIC_TYPE_CHAR,
diff --git a/types.c b/types.c
index f1afc0a..24d38d3 100644 (file)
--- a/types.c
+++ b/types.c
@@ -82,16 +82,16 @@ type_t *type_const_wchar_t_ptr;
 type_t *type_valist;
 
 /* microsoft types */
-atomic_type_kind_t int8_type_kind            = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t int16_type_kind           = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t int32_type_kind           = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t int64_type_kind           = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t int128_type_kind          = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t unsigned_int8_type_kind   = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t unsigned_int16_type_kind  = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t unsigned_int32_type_kind  = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t unsigned_int64_type_kind  = ATOMIC_TYPE_INVALID;
-atomic_type_kind_t unsigned_int128_type_kind = ATOMIC_TYPE_INVALID;
+atomic_type_kind_t int8_type_kind;
+atomic_type_kind_t int16_type_kind;
+atomic_type_kind_t int32_type_kind;
+atomic_type_kind_t int64_type_kind;
+atomic_type_kind_t int128_type_kind;
+atomic_type_kind_t unsigned_int8_type_kind;
+atomic_type_kind_t unsigned_int16_type_kind;
+atomic_type_kind_t unsigned_int32_type_kind;
+atomic_type_kind_t unsigned_int64_type_kind;
+atomic_type_kind_t unsigned_int128_type_kind;
 
 type_t *type_int8;
 type_t *type_int16;