This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Objective-C language support.


Adam Fedor wrote:
> 
> This patch adds Objective-C language support to gdb based upon a patch
> provided by Apple Computer Inc from their version of gdb. Note that the
> patch only contains changes to existing files. New files (objc-lang.h,
> objc-lang.c, objc-exp.y) and a gdb.objc testsuite directory are located at
> 
> ftp://ftp.gnustep.org/pub/gnustep/contrib/gdb-objc-patch.tar.gz
> 

Approved as obvious: please check it in after the defs.h change goes in.



>         * language.c (binop_result_type): Add language_objc to case.
>         (integral_type): Likewise.
>         (character_type): Likewise.
>         (string_type): Likewise.
>         (boolean_type): Likewise.
>         (structured_type): Likewise.
>         (binop_type_check): Likewise.

> Index: gdb/language.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/language.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 language.c
> --- gdb/language.c      1 Aug 2002 17:18:32 -0000       1.26
> +++ gdb/language.c      17 Sep 2002 19:30:31 -0000
> @@ -549,6 +549,7 @@ binop_result_type (struct value *v1, str
>      {
>      case language_c:
>      case language_cplus:
> +    case language_objc:
>        if (TYPE_CODE (t1) == TYPE_CODE_FLT)
>         return TYPE_CODE (t2) == TYPE_CODE_FLT && l2 > l1 ?
>           VALUE_TYPE (v2) : VALUE_TYPE (v1);
> @@ -786,6 +787,7 @@ integral_type (struct type *type)
>      {
>      case language_c:
>      case language_cplus:
> +    case language_objc:
>        return (TYPE_CODE (type) != TYPE_CODE_INT) &&
>         (TYPE_CODE (type) != TYPE_CODE_ENUM) ? 0 : 1;
>      case language_m2:
> @@ -828,6 +830,7 @@ character_type (struct type *type)
> 
>      case language_c:
>      case language_cplus:
> +    case language_objc:
>        return (TYPE_CODE (type) == TYPE_CODE_INT) &&
>         TYPE_LENGTH (type) == sizeof (char)
>        ? 1 : 0;
> @@ -850,6 +853,7 @@ string_type (struct type *type)
> 
>      case language_c:
>      case language_cplus:
> +    case language_objc:
>        /* C does not have distinct string type. */
>        return (0);
>      default:
> @@ -868,6 +872,7 @@ boolean_type (struct type *type)
>      {
>      case language_c:
>      case language_cplus:
> +    case language_objc:
>        /* Might be more cleanly handled by having a
>           TYPE_CODE_INT_NOT_BOOL for (OBSOLETE) CHILL and such
>           languages, or a TYPE_CODE_INT_OR_BOOL for C.  */
> @@ -904,6 +909,7 @@ structured_type (struct type *type)
>      {
>      case language_c:
>      case language_cplus:
> +    case language_objc:
>        return (TYPE_CODE (type) == TYPE_CODE_STRUCT) ||
>         (TYPE_CODE (type) == TYPE_CODE_UNION) ||
>         (TYPE_CODE (type) == TYPE_CODE_ARRAY);
> @@ -1124,6 +1130,7 @@ binop_type_check (struct value *arg1, st
>  #ifdef _LANG_c
>         case language_c:
>         case language_cplus:
> +       case language_objc:
>           switch (op)
>             {
>             case BINOP_DIV:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]