X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=mangle.c;h=2ac228714e1aa624352f23c2bec98c9254eed4fc;hb=a012c52db2829f908f0f03e85be1a2dfb62149fb;hp=585ecaae6c12e24abf4c10a3907514d90fe2b357;hpb=2ef7b77e92bd93fa2e3d487b91a24f55d299cdd7;p=cparser diff --git a/mangle.c b/mangle.c index 585ecaa..2ac2287 100644 --- 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'; @@ -150,13 +149,13 @@ static void mangle_array_type(const array_type_t *type) mangle_type(type->element_type); } -static void mangle_complex_type(const complex_type_t *type) +static void mangle_complex_type(const atomic_type_t *type) { obstack_1grow(&obst, 'C'); obstack_1grow(&obst, get_atomic_type_mangle(type->akind)); } -static void mangle_imaginary_type(const imaginary_type_t *type) +static void mangle_imaginary_type(const atomic_type_t *type) { obstack_1grow(&obst, 'G'); obstack_1grow(&obst, get_atomic_type_mangle(type->akind)); @@ -206,21 +205,16 @@ static void mangle_type(type_t *orig_type) mangle_array_type(&type->array); return; case TYPE_COMPLEX: - mangle_complex_type(&type->complex); + mangle_complex_type(&type->atomic); return; case TYPE_IMAGINARY: - mangle_imaginary_type(&type->imaginary); + mangle_imaginary_type(&type->atomic); return; - case TYPE_INVALID: - panic("invalid type encountered while mangling"); case TYPE_ERROR: panic("error type encountered while mangling"); case TYPE_TYPEDEF: case TYPE_TYPEOF: panic("typeref not resolved while manging?!?"); - - case TYPE_BITFIELD: - panic("no mangling for this type implemented yet"); } panic("invalid type encountered while mangling"); } @@ -296,9 +290,6 @@ ident *create_name_win32(entity_t *entity) } switch (type->function.linkage) { - case LINKAGE_INVALID: - panic("linkage type of function is invalid"); - case LINKAGE_C: obstack_printf(o, "%s", entity->base.symbol->string); break; @@ -349,8 +340,6 @@ ident *create_name_linux_elf(entity_t *entity) type_t *type = skip_typeref(entity->declaration.type); assert(is_type_function(type)); switch (type->function.linkage) { - case LINKAGE_INVALID: - panic("linkage type of function is invalid"); case LINKAGE_C: if (entity->function.actual_name != NULL) name = entity->function.actual_name->string; @@ -378,9 +367,6 @@ ident *create_name_macho(entity_t *entity) assert(is_type_function(type)); switch (type->function.linkage) { - case LINKAGE_INVALID: - panic("linkage type of function is invalid"); - default: if (entity->function.actual_name != NULL) return new_id_from_str(entity->function.actual_name->string);