From: "Edgar E. Iglesias" <[email protected]>

Makes it easier to add new types.

Signed-off-by: Edgar E. Iglesias <[email protected]>
---
 sysdeps/linux-gnu/ia64/fetch.c |    5 ++---
 sysdeps/linux-gnu/m68k/fetch.c |    2 +-
 sysdeps/linux-gnu/s390/fetch.c |    4 ++++
 sysdeps/linux-gnu/s390/trace.c |   10 ++++++----
 sysdeps/linux-gnu/x86/fetch.c  |    7 ++++++-
 sysdeps/linux-gnu/x86/trace.c  |   12 +++++++-----
 6 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/sysdeps/linux-gnu/ia64/fetch.c b/sysdeps/linux-gnu/ia64/fetch.c
index 2163801..54dc5b8 100644
--- a/sysdeps/linux-gnu/ia64/fetch.c
+++ b/sysdeps/linux-gnu/ia64/fetch.c
@@ -438,11 +438,10 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof 
type,
 
        case ARGTYPE_ARRAY:
                /* Arrays decay into pointers.  XXX Fortran?  */
-               assert(info->type != ARGTYPE_ARRAY);
+       default:
+               assert(info->type != info->type);
                abort();
        }
-       assert("unhandled type");
-       abort();
 }
 
 int
diff --git a/sysdeps/linux-gnu/m68k/fetch.c b/sysdeps/linux-gnu/m68k/fetch.c
index a92057b..5da09e9 100644
--- a/sysdeps/linux-gnu/m68k/fetch.c
+++ b/sysdeps/linux-gnu/m68k/fetch.c
@@ -224,7 +224,7 @@ arch_fetch_retval(struct fetch_context *context, enum tof 
type,
                }
                return 0;
 
-       case ARGTYPE_ARRAY:
+       default:
                assert(!"Unexpected m68k retval type!");
                abort();
        }
diff --git a/sysdeps/linux-gnu/s390/fetch.c b/sysdeps/linux-gnu/s390/fetch.c
index c46ef7c..498c923 100644
--- a/sysdeps/linux-gnu/s390/fetch.c
+++ b/sysdeps/linux-gnu/s390/fetch.c
@@ -259,6 +259,10 @@ arch_fetch_arg_next(struct fetch_context *ctx, enum tof 
type,
        case ARGTYPE_USHORT:
        case ARGTYPE_POINTER:
                return allocate_gpr(ctx, proc, info, valuep, sz);
+
+       default:
+               assert(info->type != info->type);
+               abort();
        }
        return -1;
 }
diff --git a/sysdeps/linux-gnu/s390/trace.c b/sysdeps/linux-gnu/s390/trace.c
index 4f6eb8d..b9e05ff 100644
--- a/sysdeps/linux-gnu/s390/trace.c
+++ b/sysdeps/linux-gnu/s390/trace.c
@@ -209,9 +209,11 @@ arch_type_sizeof(struct Process *proc, struct 
arg_type_info *info)
        case ARGTYPE_STRUCT:
                /* Use default value.  */
                return (size_t)-2;
+
+       default:
+               assert(info->type != info->type);
+               abort();
        }
-       assert(info->type != info->type);
-       abort();
 }
 
 size_t
@@ -221,8 +223,8 @@ arch_type_alignof(struct Process *proc, struct 
arg_type_info *info)
                return (size_t)-2;
 
        switch (info->type) {
-       case ARGTYPE_VOID:
-               assert(info->type != ARGTYPE_VOID);
+       default:
+               assert(info->type != info->type);
                break;
 
        case ARGTYPE_CHAR:
diff --git a/sysdeps/linux-gnu/x86/fetch.c b/sysdeps/linux-gnu/x86/fetch.c
index cca1638..62a1696 100644
--- a/sysdeps/linux-gnu/x86/fetch.c
+++ b/sysdeps/linux-gnu/x86/fetch.c
@@ -499,6 +499,11 @@ classify(struct Process *proc, struct fetch_context 
*context,
        done:
                type_destroy(&flattened);
                return ret;
+
+       default:
+               /* Unsupported type.  */
+               assert(info->type != info->type);
+               abort();
        }
        abort();
 }
@@ -619,8 +624,8 @@ arch_fetch_retval_32(struct fetch_context *context, enum 
tof type,
                assert(cls == CLASS_X87);
                return 0;
 
-       case ARGTYPE_ARRAY:
        case ARGTYPE_STRUCT: /* Handled above.  */
+       default:
                assert(!"Unexpected i386 retval type!");
                abort();
        }
diff --git a/sysdeps/linux-gnu/x86/trace.c b/sysdeps/linux-gnu/x86/trace.c
index cc1a6a1..0282ade 100644
--- a/sysdeps/linux-gnu/x86/trace.c
+++ b/sysdeps/linux-gnu/x86/trace.c
@@ -143,9 +143,11 @@ arch_type_sizeof(struct Process *proc, struct 
arg_type_info *info)
        case ARGTYPE_STRUCT:
                /* Use default value.  */
                return (size_t)-2;
+
+       default:
+               assert(info->type != info->type);
+               abort();
        }
-       assert(info->type != info->type);
-       abort();
 }
 
 size_t
@@ -155,8 +157,9 @@ arch_type_alignof(struct Process *proc, struct 
arg_type_info *info)
                return (size_t)-2;
 
        switch (info->type) {
-       case ARGTYPE_VOID:
-               assert(info->type != ARGTYPE_VOID);
+       default:
+               assert(info->type != info->type);
+               abort();
                break;
 
        case ARGTYPE_CHAR:
@@ -185,5 +188,4 @@ arch_type_alignof(struct Process *proc, struct 
arg_type_info *info)
                /* Use default value.  */
                return (size_t)-2;
        }
-       abort();
 }
-- 
1.7.8.6


_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel

Reply via email to