2007-06-12 Markus Deuling <deuling@de.ibm.com>
authorUlrich Weigand <uweigand@de.ibm.com>
Tue, 12 Jun 2007 16:33:20 +0000 (16:33 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Tue, 12 Jun 2007 16:33:20 +0000 (16:33 +0000)
* gdbarch.sh (TARGET_FLOAT_BIT): Replace by gdbarch_float_bit.
* p-lang.c (pascal_create_fundamental_type): Likewise.
* objc-lang.c (objc_create_fundamental_type): Likewise.
* mdebugread.c (_initialize_mdebugread): Likewise.
* m2-lang.c (m2_create_fundamental_type)
(_initialize_m2_language): Likewise.
* gdbtypes.c (build_gdbtypes): Likewise.
* f-lang.c (f_create_fundamental_type, build_fortran_types): Likewise.
* doublest.c (floatformat_from_length): Likewise.
* c-lang.c (c_create_fundamental_type): Likewise.
* ada-lang.c (ada_create_fundamental_type)
(ada_language_arch_info): Likewise.
* gdbarch.sh (TARGET_FLOAT_FORMAT): Replace by gdbarch_float_format.
* value.c (unpack_double): Likewise (comment).
* gdbtypes.c (build_gdbtypes): Likewise.
* doublest.c (floatformat_from_length): Likewise.
* gdbarch.sh (TARGET_DOUBLE_BIT): Replace by gdbarch_double_bit.
* valarith.c (value_binop): Likewise.
* p-lang.c (pascal_create_fundamental_type): Likewise.
* objc-lang.c (objc_create_fundamental_type): Likewise.
* mdebugread.c (_initialize_mdebugread): Likewise.
* m2-lang.c (m2_create_fundamental_type): Likewise.
* gdbtypes.c (build_gdbtypes): Likewise.
* f-lang.c (f_create_fundamental_type, build_fortran_types): Likewise.
* doublest.c (floatformat_from_length): Likewise.
* cris-tdep.c (cris_gdbarch_init): Likewise (comment).
* c-lang.c (c_create_fundamental_type): Likewise.
* ada-lex.l (processReal): Likewise.
* ada-lang.c (ada_create_fundamental_type)
(ada_language_arch_info): Likewise.
* gdbarch.sh (TARGET_DOUBLE_FORMAT): Replace by gdbarch_double_format.
* value.c (unpack_double): Likewise (comment).
* gdbtypes.c (build_gdbtypes): Likewise.
* doublest.c (floatformat_from_length): Likewise.
* gdbarch.sh (TARGET_LONG_DOUBLE_BIT): Replace by
gdbarch_long_double_bit.
* p-lang.c (pascal_create_fundamental_type): Likewise.
* objc-lang.c (objc_create_fundamental_type): Likewise.
* m2-lang.c (m2_create_fundamental_type): Likewise.
* gdbtypes.c (build_gdbtypes): Likewise.
* f-lang.c (f_create_fundamental_type, build_fortran_types): Likewise.
* doublest.c (floatformat_from_length): Likewise.
* c-lang.c (c_create_fundamental_type): Likewise.
* ada-lex.l (processReal): Likewise.
* ada-lang.c (ada_create_fundamental_type)
(ada_language_arch_info): Likewise.
* gdbarch.sh (TARGET_LONG_DOUBLE_FORMAT): Replace by
gdbarch_long_double_format.
* gdbtypes.c (build_gdbtypes): Likewise.
* doublest.c (floatformat_from_length): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.

17 files changed:
gdb/ChangeLog
gdb/ada-lang.c
gdb/ada-lex.l
gdb/c-lang.c
gdb/cris-tdep.c
gdb/doublest.c
gdb/f-lang.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/gdbtypes.c
gdb/m2-lang.c
gdb/mdebugread.c
gdb/objc-lang.c
gdb/p-lang.c
gdb/valarith.c
gdb/value.c

index 8912582dde6191f92761a5b7540d7b6f39ed730f..992b0ebc51e317fd1fe61ebd739dd88da7aaea16 100644 (file)
@@ -1,3 +1,57 @@
+2007-06-12  Markus Deuling  <deuling@de.ibm.com>
+
+       * gdbarch.sh (TARGET_FLOAT_BIT): Replace by gdbarch_float_bit.
+       * p-lang.c (pascal_create_fundamental_type): Likewise.
+       * objc-lang.c (objc_create_fundamental_type): Likewise.
+       * mdebugread.c (_initialize_mdebugread): Likewise.
+       * m2-lang.c (m2_create_fundamental_type)
+       (_initialize_m2_language): Likewise.
+       * gdbtypes.c (build_gdbtypes): Likewise.
+       * f-lang.c (f_create_fundamental_type, build_fortran_types): Likewise.
+       * doublest.c (floatformat_from_length): Likewise.
+       * c-lang.c (c_create_fundamental_type): Likewise.
+       * ada-lang.c (ada_create_fundamental_type)
+       (ada_language_arch_info): Likewise.
+       * gdbarch.sh (TARGET_FLOAT_FORMAT): Replace by gdbarch_float_format.
+       * value.c (unpack_double): Likewise (comment).
+       * gdbtypes.c (build_gdbtypes): Likewise.
+       * doublest.c (floatformat_from_length): Likewise.
+       * gdbarch.sh (TARGET_DOUBLE_BIT): Replace by gdbarch_double_bit.
+       * valarith.c (value_binop): Likewise.
+       * p-lang.c (pascal_create_fundamental_type): Likewise.
+       * objc-lang.c (objc_create_fundamental_type): Likewise.
+       * mdebugread.c (_initialize_mdebugread): Likewise.
+       * m2-lang.c (m2_create_fundamental_type): Likewise.
+       * gdbtypes.c (build_gdbtypes): Likewise.
+       * f-lang.c (f_create_fundamental_type, build_fortran_types): Likewise.
+       * doublest.c (floatformat_from_length): Likewise.
+       * cris-tdep.c (cris_gdbarch_init): Likewise (comment).
+       * c-lang.c (c_create_fundamental_type): Likewise.
+       * ada-lex.l (processReal): Likewise.
+       * ada-lang.c (ada_create_fundamental_type)
+       (ada_language_arch_info): Likewise.
+       * gdbarch.sh (TARGET_DOUBLE_FORMAT): Replace by gdbarch_double_format.
+       * value.c (unpack_double): Likewise (comment).
+       * gdbtypes.c (build_gdbtypes): Likewise.
+       * doublest.c (floatformat_from_length): Likewise.
+       * gdbarch.sh (TARGET_LONG_DOUBLE_BIT): Replace by
+       gdbarch_long_double_bit.
+       * p-lang.c (pascal_create_fundamental_type): Likewise.
+       * objc-lang.c (objc_create_fundamental_type): Likewise.
+       * m2-lang.c (m2_create_fundamental_type): Likewise.
+       * gdbtypes.c (build_gdbtypes): Likewise.
+       * f-lang.c (f_create_fundamental_type, build_fortran_types): Likewise.
+       * doublest.c (floatformat_from_length): Likewise.
+       * c-lang.c (c_create_fundamental_type): Likewise.
+       * ada-lex.l (processReal): Likewise.
+       * ada-lang.c (ada_create_fundamental_type)
+       (ada_language_arch_info): Likewise.
+       * gdbarch.sh (TARGET_LONG_DOUBLE_FORMAT): Replace by
+       gdbarch_long_double_format.
+       * gdbtypes.c (build_gdbtypes): Likewise.
+       * doublest.c (floatformat_from_length): Likewise.
+       * gdbarch.c, gdbarch.h: Regenerate.
+
 2007-06-12  Markus Deuling  <deuling@de.ibm.com>
 
        * gdbarch.sh (TARGET_SHORT_BIT): Replace by gdbarch_int_bit.
index 7f83bfe7a8f11cc74424089ac89e78042f0d7db0..26eb64561a6912fe747bd63df02d811c235068aa 100644 (file)
@@ -10287,17 +10287,18 @@ ada_create_fundamental_type (struct objfile *objfile, int typeid)
       break;
     case FT_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                        TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                        gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                         0, "float", objfile);
       break;
     case FT_DBL_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                        TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                        gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                         0, "long_float", objfile);
       break;
     case FT_EXT_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                        TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                        gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                         0, "long_long_float", objfile);
       break;
     }
@@ -10345,17 +10346,20 @@ ada_language_arch_info (struct gdbarch *current_gdbarch,
     init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
                0, "character", (struct objfile *) NULL);
   lai->primitive_type_vector [ada_primitive_type_float] =
-    init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_FLT,
+              gdbarch_float_bit (current_gdbarch)/ TARGET_CHAR_BIT,
                0, "float", (struct objfile *) NULL);
   lai->primitive_type_vector [ada_primitive_type_double] =
-    init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_FLT,
+              gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                0, "long_float", (struct objfile *) NULL);
   lai->primitive_type_vector [ada_primitive_type_long_long] =
     init_type (TYPE_CODE_INT, 
               gdbarch_long_long_bit (current_gdbarch) / TARGET_CHAR_BIT,
                0, "long_long_integer", (struct objfile *) NULL);
   lai->primitive_type_vector [ada_primitive_type_long_double] =
-    init_type (TYPE_CODE_FLT, TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_FLT,
+              gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                0, "long_long_float", (struct objfile *) NULL);
   lai->primitive_type_vector [ada_primitive_type_natural] =
     init_type (TYPE_CODE_INT,
index a52f5054274701e62e21db77392b9a6f15b5732c..842ac7087a995d2f1cf68554071baf41c61abb0c 100644 (file)
@@ -376,9 +376,11 @@ processReal (const char *num0)
   sscanf (num0, DOUBLEST_SCAN_FORMAT, &yylval.typed_val_float.dval);
 
   yylval.typed_val_float.type = type_float ();
-  if (sizeof(DOUBLEST) >= TARGET_DOUBLE_BIT / TARGET_CHAR_BIT)
+  if (sizeof(DOUBLEST) >= gdbarch_double_bit (current_gdbarch)
+                           / TARGET_CHAR_BIT)
     yylval.typed_val_float.type = type_double ();
-  if (sizeof(DOUBLEST) >= TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT)
+  if (sizeof(DOUBLEST) >= gdbarch_long_double_bit (current_gdbarch)
+                           / TARGET_CHAR_BIT)
     yylval.typed_val_float.type = type_long_double ();
 
   return FLOAT;
index 8dac4f5052c16730a1ea6b69c3da1ba0700dcee7..32b023dae69783296ba1bedcffd47eb8201d8b77 100644 (file)
@@ -313,41 +313,49 @@ c_create_fundamental_type (struct objfile *objfile, int typeid)
       break;
     case FT_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                       gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "float", objfile);
       break;
     case FT_DBL_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "double", objfile);
       break;
     case FT_EXT_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "long double", objfile);
       break;
     case FT_COMPLEX:
       type = init_type (TYPE_CODE_FLT,
-                       2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_float_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "complex float", objfile);
       TYPE_TARGET_TYPE (type)
-       = init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+       = init_type (TYPE_CODE_FLT,
+                    gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                     0, "float", objfile);
       break;
     case FT_DBL_PREC_COMPLEX:
       type = init_type (TYPE_CODE_FLT,
-                       2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "complex double", objfile);
       TYPE_TARGET_TYPE (type)
-       = init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+       = init_type (TYPE_CODE_FLT,
+                    gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                     0, "double", objfile);
       break;
     case FT_EXT_PREC_COMPLEX:
       type = init_type (TYPE_CODE_FLT,
-                       2 * TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "complex long double", objfile);
       TYPE_TARGET_TYPE (type)
-       = init_type (TYPE_CODE_FLT, TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+       = init_type (TYPE_CODE_FLT,
+                    gdbarch_long_double_bit (current_gdbarch)
+                      / TARGET_CHAR_BIT,
                     0, "long double", objfile);
       break;
     case FT_TEMPLATE_ARG:
index 1eb214a0e021a62af142fd1ace9442552b4cffd8..7ef468c11d773a03aa365ad128767013be907570 100644 (file)
@@ -4107,7 +4107,7 @@ cris_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
      register is.  */
 
   set_gdbarch_double_bit (gdbarch, 64);
-  /* The default definition of a long double is 2 * TARGET_DOUBLE_BIT,
+  /* The default definition of a long double is 2 * gdbarch_double_bit,
      which means we have to set this explicitly.  */
   set_gdbarch_long_double_bit (gdbarch, 64);
 
index 6107c725854bb5b910a3cc921ff1f2cefcd5842c..f05740d0eb9b44b46dd6285b9902afe4d63af038 100644 (file)
@@ -724,20 +724,24 @@ static const struct floatformat *
 floatformat_from_length (int len)
 {
   const struct floatformat *format;
-  if (len * TARGET_CHAR_BIT == TARGET_FLOAT_BIT)
-    format = TARGET_FLOAT_FORMAT[gdbarch_byte_order (current_gdbarch)];
-  else if (len * TARGET_CHAR_BIT == TARGET_DOUBLE_BIT)
-    format = TARGET_DOUBLE_FORMAT[gdbarch_byte_order (current_gdbarch)];
-  else if (len * TARGET_CHAR_BIT == TARGET_LONG_DOUBLE_BIT)
-    format = TARGET_LONG_DOUBLE_FORMAT[gdbarch_byte_order (current_gdbarch)];
+  if (len * TARGET_CHAR_BIT == gdbarch_float_bit (current_gdbarch))
+    format = gdbarch_float_format (current_gdbarch)
+              [gdbarch_byte_order (current_gdbarch)];
+  else if (len * TARGET_CHAR_BIT == gdbarch_double_bit (current_gdbarch))
+    format = gdbarch_double_format (current_gdbarch)
+              [gdbarch_byte_order (current_gdbarch)];
+  else if (len * TARGET_CHAR_BIT == gdbarch_long_double_bit (current_gdbarch))
+    format = gdbarch_long_double_format (current_gdbarch)
+              [gdbarch_byte_order (current_gdbarch)];
   /* On i386 the 'long double' type takes 96 bits,
      while the real number of used bits is only 80,
      both in processor and in memory.  
      The code below accepts the real bit size.  */ 
-  else if ((TARGET_LONG_DOUBLE_FORMAT != NULL) 
+  else if ((gdbarch_long_double_format (current_gdbarch) != NULL) 
           && (len * TARGET_CHAR_BIT ==
-               TARGET_LONG_DOUBLE_FORMAT[0]->totalsize))
-    format = TARGET_LONG_DOUBLE_FORMAT[gdbarch_byte_order (current_gdbarch)];
+               gdbarch_long_double_format (current_gdbarch)[0]->totalsize))
+    format = gdbarch_long_double_format (current_gdbarch)
+              [gdbarch_byte_order (current_gdbarch)];
   else
     format = NULL;
   if (format == NULL)
index 76c5ec67c0d606610175bafe465af5d8430b24e5..e6b0d6feea6a44e758c908f2a2d06733d8a758af 100644 (file)
@@ -353,39 +353,42 @@ f_create_fundamental_type (struct objfile *objfile, int typeid)
       break;
     case FT_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                       gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "real", objfile);
       break;
     case FT_DBL_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "real*8", objfile);
       break;
     case FT_FLOAT_DECIMAL:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "floating decimal", objfile);
       break;
     case FT_EXT_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "real*16", objfile);
       break;
     case FT_COMPLEX:
       type = init_type (TYPE_CODE_COMPLEX,
-                       2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "complex*8", objfile);
       TYPE_TARGET_TYPE (type) = builtin_type_f_real;
       break;
     case FT_DBL_PREC_COMPLEX:
       type = init_type (TYPE_CODE_COMPLEX,
-                       2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "complex*16", objfile);
       TYPE_TARGET_TYPE (type) = builtin_type_f_real_s8;
       break;
     case FT_EXT_PREC_COMPLEX:
       type = init_type (TYPE_CODE_COMPLEX,
-                       2 * TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "complex*32", objfile);
       TYPE_TARGET_TYPE (type) = builtin_type_f_real_s16;
       break;
@@ -531,28 +534,33 @@ build_fortran_types (void)
               TYPE_FLAG_UNSIGNED, "logical*4", (struct objfile *) NULL);
 
   builtin_type_f_real =
-    init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_FLT,
+              gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "real", (struct objfile *) NULL);
 
   builtin_type_f_real_s8 =
-    init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_FLT,
+              gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "real*8", (struct objfile *) NULL);
 
   builtin_type_f_real_s16 =
-    init_type (TYPE_CODE_FLT, TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_FLT,
+              gdbarch_long_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "real*16", (struct objfile *) NULL);
 
   builtin_type_f_complex_s8 =
-    init_type (TYPE_CODE_COMPLEX, 2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_COMPLEX,
+              2 * gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "complex*8", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (builtin_type_f_complex_s8) = builtin_type_f_real;
 
   builtin_type_f_complex_s16 =
-    init_type (TYPE_CODE_COMPLEX, 2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_COMPLEX,
+              2 * gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "complex*16", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (builtin_type_f_complex_s16) = builtin_type_f_real_s8;
@@ -561,7 +569,8 @@ build_fortran_types (void)
      complex*32 data type */
 
   builtin_type_f_complex_s32 =
-    init_type (TYPE_CODE_COMPLEX, 2 * TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_COMPLEX,
+              2 * gdbarch_long_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "complex*32", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (builtin_type_f_complex_s32) = builtin_type_f_real_s16;
index 810e93a96f498dd4e1dad0ab6c8c061a6886ef16..b03c944cf9d9e50c2ece80f9cb8039efd35fc452 100644 (file)
@@ -373,7 +373,7 @@ gdbarch_alloc (const struct gdbarch_info *info,
                struct gdbarch_tdep *tdep)
 {
   /* NOTE: The new architecture variable is named ``current_gdbarch''
-     so that macros such as TARGET_DOUBLE_BIT, when expanded, refer to
+     so that macros such as TARGET_ARCHITECTURE, when expanded, refer to
      the current local architecture and not the previous global
      architecture.  This ensures that the new architectures initial
      values are not influenced by the previous architecture.  Once
@@ -850,19 +850,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: deprecated_use_struct_convention = <0x%lx>\n",
                       (long) current_gdbarch->deprecated_use_struct_convention);
-#ifdef TARGET_DOUBLE_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_DOUBLE_BIT # %s\n",
-                      XSTRING (TARGET_DOUBLE_BIT));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: double_bit = %s\n",
                       paddr_d (current_gdbarch->double_bit));
-#ifdef TARGET_DOUBLE_FORMAT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_DOUBLE_FORMAT # %s\n",
-                      XSTRING (TARGET_DOUBLE_FORMAT));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: double_format = %s\n",
                       pformat (current_gdbarch->double_format));
@@ -917,19 +907,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: fetch_tls_load_module_address = <0x%lx>\n",
                       (long) current_gdbarch->fetch_tls_load_module_address);
-#ifdef TARGET_FLOAT_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_FLOAT_BIT # %s\n",
-                      XSTRING (TARGET_FLOAT_BIT));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: float_bit = %s\n",
                       paddr_d (current_gdbarch->float_bit));
-#ifdef TARGET_FLOAT_FORMAT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_FLOAT_FORMAT # %s\n",
-                      XSTRING (TARGET_FLOAT_FORMAT));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: float_format = %s\n",
                       pformat (current_gdbarch->float_format));
@@ -989,19 +969,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: long_bit = %s\n",
                       paddr_d (current_gdbarch->long_bit));
-#ifdef TARGET_LONG_DOUBLE_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_LONG_DOUBLE_BIT # %s\n",
-                      XSTRING (TARGET_LONG_DOUBLE_BIT));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: long_double_bit = %s\n",
                       paddr_d (current_gdbarch->long_double_bit));
-#ifdef TARGET_LONG_DOUBLE_FORMAT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT # %s\n",
-                      XSTRING (TARGET_LONG_DOUBLE_FORMAT));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: long_double_format = %s\n",
                       pformat (current_gdbarch->long_double_format));
index 97805c99ed0c1bc0165eaf51f5dde01e43876cbf..134b8155b4da94a40c974fdf30c430e6c425f705 100644 (file)
@@ -112,57 +112,21 @@ extern void set_gdbarch_long_long_bit (struct gdbarch *gdbarch, int long_long_bi
 
 extern int gdbarch_float_bit (struct gdbarch *gdbarch);
 extern void set_gdbarch_float_bit (struct gdbarch *gdbarch, int float_bit);
-#if !defined (GDB_TM_FILE) && defined (TARGET_FLOAT_BIT)
-#error "Non multi-arch definition of TARGET_FLOAT_BIT"
-#endif
-#if !defined (TARGET_FLOAT_BIT)
-#define TARGET_FLOAT_BIT (gdbarch_float_bit (current_gdbarch))
-#endif
 
 extern const struct floatformat ** gdbarch_float_format (struct gdbarch *gdbarch);
 extern void set_gdbarch_float_format (struct gdbarch *gdbarch, const struct floatformat ** float_format);
-#if !defined (GDB_TM_FILE) && defined (TARGET_FLOAT_FORMAT)
-#error "Non multi-arch definition of TARGET_FLOAT_FORMAT"
-#endif
-#if !defined (TARGET_FLOAT_FORMAT)
-#define TARGET_FLOAT_FORMAT (gdbarch_float_format (current_gdbarch))
-#endif
 
 extern int gdbarch_double_bit (struct gdbarch *gdbarch);
 extern void set_gdbarch_double_bit (struct gdbarch *gdbarch, int double_bit);
-#if !defined (GDB_TM_FILE) && defined (TARGET_DOUBLE_BIT)
-#error "Non multi-arch definition of TARGET_DOUBLE_BIT"
-#endif
-#if !defined (TARGET_DOUBLE_BIT)
-#define TARGET_DOUBLE_BIT (gdbarch_double_bit (current_gdbarch))
-#endif
 
 extern const struct floatformat ** gdbarch_double_format (struct gdbarch *gdbarch);
 extern void set_gdbarch_double_format (struct gdbarch *gdbarch, const struct floatformat ** double_format);
-#if !defined (GDB_TM_FILE) && defined (TARGET_DOUBLE_FORMAT)
-#error "Non multi-arch definition of TARGET_DOUBLE_FORMAT"
-#endif
-#if !defined (TARGET_DOUBLE_FORMAT)
-#define TARGET_DOUBLE_FORMAT (gdbarch_double_format (current_gdbarch))
-#endif
 
 extern int gdbarch_long_double_bit (struct gdbarch *gdbarch);
 extern void set_gdbarch_long_double_bit (struct gdbarch *gdbarch, int long_double_bit);
-#if !defined (GDB_TM_FILE) && defined (TARGET_LONG_DOUBLE_BIT)
-#error "Non multi-arch definition of TARGET_LONG_DOUBLE_BIT"
-#endif
-#if !defined (TARGET_LONG_DOUBLE_BIT)
-#define TARGET_LONG_DOUBLE_BIT (gdbarch_long_double_bit (current_gdbarch))
-#endif
 
 extern const struct floatformat ** gdbarch_long_double_format (struct gdbarch *gdbarch);
 extern void set_gdbarch_long_double_format (struct gdbarch *gdbarch, const struct floatformat ** long_double_format);
-#if !defined (GDB_TM_FILE) && defined (TARGET_LONG_DOUBLE_FORMAT)
-#error "Non multi-arch definition of TARGET_LONG_DOUBLE_FORMAT"
-#endif
-#if !defined (TARGET_LONG_DOUBLE_FORMAT)
-#define TARGET_LONG_DOUBLE_FORMAT (gdbarch_long_double_format (current_gdbarch))
-#endif
 
 /* For most targets, a pointer on the target and its representation as an
    address in GDB have the same size and "look the same".  For such a
index 7595a96c57f384286d3849cae8af7b96241b2add..3ee6c1270fe5f726f79c15fbb7d343e25dd9d1f4 100755 (executable)
@@ -394,12 +394,12 @@ v::int:long_long_bit:::8 * sizeof (LONGEST):2*current_gdbarch->long_bit::0
 # Each format describes both the big and little endian layouts (if
 # useful).
 
-v:TARGET_FLOAT_BIT:int:float_bit:::8 * sizeof (float):4*TARGET_CHAR_BIT::0
-v:TARGET_FLOAT_FORMAT:const struct floatformat **:float_format:::::floatformats_ieee_single::pformat (current_gdbarch->float_format)
-v:TARGET_DOUBLE_BIT:int:double_bit:::8 * sizeof (double):8*TARGET_CHAR_BIT::0
-v:TARGET_DOUBLE_FORMAT:const struct floatformat **:double_format:::::floatformats_ieee_double::pformat (current_gdbarch->double_format)
-v:TARGET_LONG_DOUBLE_BIT:int:long_double_bit:::8 * sizeof (long double):8*TARGET_CHAR_BIT::0
-v:TARGET_LONG_DOUBLE_FORMAT:const struct floatformat **:long_double_format:::::floatformats_ieee_double::pformat (current_gdbarch->long_double_format)
+v::int:float_bit:::8 * sizeof (float):4*TARGET_CHAR_BIT::0
+v::const struct floatformat **:float_format:::::floatformats_ieee_single::pformat (current_gdbarch->float_format)
+v::int:double_bit:::8 * sizeof (double):8*TARGET_CHAR_BIT::0
+v::const struct floatformat **:double_format:::::floatformats_ieee_double::pformat (current_gdbarch->double_format)
+v::int:long_double_bit:::8 * sizeof (long double):8*TARGET_CHAR_BIT::0
+v::const struct floatformat **:long_double_format:::::floatformats_ieee_double::pformat (current_gdbarch->long_double_format)
 
 # For most targets, a pointer on the target and its representation as an
 # address in GDB have the same size and "look the same".  For such a
@@ -1348,7 +1348,7 @@ gdbarch_alloc (const struct gdbarch_info *info,
                struct gdbarch_tdep *tdep)
 {
   /* NOTE: The new architecture variable is named \`\`current_gdbarch''
-     so that macros such as TARGET_DOUBLE_BIT, when expanded, refer to
+     so that macros such as TARGET_ARCHITECTURE, when expanded, refer to
      the current local architecture and not the previous global
      architecture.  This ensures that the new architectures initial
      values are not influenced by the previous architecture.  Once
index 92d5a39a846255584deb6ac78075d9a41bbc2e1e..377f73a0b869b14c6c157ec537844fc4882d2dc3 100644 (file)
@@ -3466,20 +3466,27 @@ build_gdbtypes (void)
               gdbarch_long_long_bit (current_gdbarch) / TARGET_CHAR_BIT,
               TYPE_FLAG_UNSIGNED, 
               "unsigned long long", (struct objfile *) NULL);
-  builtin_type_float = build_flt (TARGET_FLOAT_BIT, "float",
-                                 TARGET_FLOAT_FORMAT);
-  builtin_type_double = build_flt (TARGET_DOUBLE_BIT, "double",
-                                  TARGET_DOUBLE_FORMAT);
-  builtin_type_long_double = build_flt (TARGET_LONG_DOUBLE_BIT, "long double",
-                                       TARGET_LONG_DOUBLE_FORMAT);
+
+  builtin_type_float
+    = build_flt (gdbarch_float_bit (current_gdbarch), "float",
+                                   gdbarch_float_format (current_gdbarch));
+  builtin_type_double
+    = build_flt (gdbarch_double_bit (current_gdbarch), "double",
+                                    gdbarch_double_format (current_gdbarch));
+  builtin_type_long_double
+    = build_flt (gdbarch_long_double_bit (current_gdbarch), "long double",
+                                         gdbarch_long_double_format
+                                           (current_gdbarch));
 
   builtin_type_complex =
-    init_type (TYPE_CODE_COMPLEX, 2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_COMPLEX,
+              2 * gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "complex", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (builtin_type_complex) = builtin_type_float;
   builtin_type_double_complex =
-    init_type (TYPE_CODE_COMPLEX, 2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_COMPLEX,
+              2 * gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "double complex", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (builtin_type_double_complex) = builtin_type_double;
index 8aa66c6721ab93c4525bc11d4a273492a08910cc..11716b3dcc87b99b653e506d94a4717f990ede1d 100644 (file)
@@ -310,41 +310,45 @@ m2_create_fundamental_type (struct objfile *objfile, int typeid)
       break;
     case FT_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                       gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "float", objfile);
       break;
     case FT_DBL_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "double", objfile);
       break;
     case FT_FLOAT_DECIMAL:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "floating decimal", objfile);
       break;
     case FT_EXT_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "long double", objfile);
       break;
     case FT_COMPLEX:
       type = init_type (TYPE_CODE_COMPLEX,
-                       2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_float_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "complex", objfile);
       TYPE_TARGET_TYPE (type)
        = m2_create_fundamental_type (objfile, FT_FLOAT);
       break;
     case FT_DBL_PREC_COMPLEX:
       type = init_type (TYPE_CODE_COMPLEX,
-                       2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "double complex", objfile);
       TYPE_TARGET_TYPE (type)
        = m2_create_fundamental_type (objfile, FT_DBL_PREC_FLOAT);
       break;
     case FT_EXT_PREC_COMPLEX:
       type = init_type (TYPE_CODE_COMPLEX,
-                       2 * TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       2 * gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "long double complex", objfile);
       TYPE_TARGET_TYPE (type)
        = m2_create_fundamental_type (objfile, FT_EXT_PREC_FLOAT);
@@ -460,7 +464,8 @@ _initialize_m2_language (void)
               TYPE_FLAG_UNSIGNED,
               "CARDINAL", (struct objfile *) NULL);
   builtin_type_m2_real =
-    init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+    init_type (TYPE_CODE_FLT,
+              gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0,
               "REAL", (struct objfile *) NULL);
   builtin_type_m2_char =
index 29bf29afa61ae9ee7df87344139e83f1433ef1b3..67c49e5cd51b819d166f75bd6e857ecdd475b625 100644 (file)
@@ -4841,22 +4841,22 @@ _initialize_mdebugread (void)
               "adr_64", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (mdebug_type_adr_64) = mdebug_type_void;
   mdebug_type_float =
-    init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
-              0,
-              "float", (struct objfile *) NULL);
+    init_type (TYPE_CODE_FLT,
+              gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
+              0, "float", (struct objfile *) NULL);
   mdebug_type_double =
-    init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
-              0,
-              "double", (struct objfile *) NULL);
+    init_type (TYPE_CODE_FLT,
+              gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
+              0, "double", (struct objfile *) NULL);
   mdebug_type_complex =
-    init_type (TYPE_CODE_COMPLEX, 2 * TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
-              0,
-              "complex", (struct objfile *) NULL);
+    init_type (TYPE_CODE_COMPLEX,
+              2 * gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
+              0, "complex", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (mdebug_type_complex) = mdebug_type_float;
   mdebug_type_double_complex =
-    init_type (TYPE_CODE_COMPLEX, 2 * TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
-              0,
-              "double complex", (struct objfile *) NULL);
+    init_type (TYPE_CODE_COMPLEX,
+              2 * gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
+              0, "double complex", (struct objfile *) NULL);
   TYPE_TARGET_TYPE (mdebug_type_double_complex) = mdebug_type_double;
 
   /* Is a "string" the way btString means it the same as TYPE_CODE_STRING?
@@ -4878,7 +4878,7 @@ _initialize_mdebugread (void)
 
   mdebug_type_float_dec =
     init_type (TYPE_CODE_ERROR,
-              TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+              gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
               0, "floating decimal",
               (struct objfile *) NULL);
 
index 53c2f38137d51b4c299e50ee7154c3d05940a9b1..5ab4bb2433e51bcbc0832db8727c67bf31191a8b 100644 (file)
@@ -550,17 +550,19 @@ objc_create_fundamental_type (struct objfile *objfile, int typeid)
        break;
       case FT_FLOAT:
        type = init_type (TYPE_CODE_FLT,
-                         TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                         gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                          0, "float", objfile);
        break;
       case FT_DBL_PREC_FLOAT:
        type = init_type (TYPE_CODE_FLT,
-                         TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                         gdbarch_double_bit (current_gdbarch)
+                           / TARGET_CHAR_BIT,
                          0, "double", objfile);
        break;
       case FT_EXT_PREC_FLOAT:
        type = init_type (TYPE_CODE_FLT,
-                         TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                         gdbarch_long_double_bit (current_gdbarch)
+                           / TARGET_CHAR_BIT,
                          0, "long double", objfile);
        break;
       }
index d4acd263a4a257c4acc2974308911acac46f2c49..aa5545e42e911e6b366d67435b842b944779d196 100644 (file)
@@ -376,17 +376,18 @@ pascal_create_fundamental_type (struct objfile *objfile, int typeid)
       break;
     case FT_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_FLOAT_BIT / TARGET_CHAR_BIT,
+                       gdbarch_float_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "float", objfile);
       break;
     case FT_DBL_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_double_bit (current_gdbarch) / TARGET_CHAR_BIT,
                        0, "double", objfile);
       break;
     case FT_EXT_PREC_FLOAT:
       type = init_type (TYPE_CODE_FLT,
-                       TARGET_LONG_DOUBLE_BIT / TARGET_CHAR_BIT,
+                       gdbarch_long_double_bit (current_gdbarch)
+                         / TARGET_CHAR_BIT,
                        0, "extended", objfile);
       break;
     }
index 90679740ad558280f06ab98889f01dd06d3e305b..31705bde21a2d6593e4388acb91db611deb6142c 100644 (file)
@@ -808,8 +808,8 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
       /* If either arg was long double, make sure that value is also long
          double.  */
 
-      if (TYPE_LENGTH (type1) * 8 > TARGET_DOUBLE_BIT
-         || TYPE_LENGTH (type2) * 8 > TARGET_DOUBLE_BIT)
+      if (TYPE_LENGTH (type1) * 8 > gdbarch_double_bit (current_gdbarch)
+         || TYPE_LENGTH (type2) * 8 > gdbarch_double_bit (current_gdbarch))
        val = allocate_value (builtin_type_long_double);
       else
        val = allocate_value (builtin_type_double);
index e20a6ee5e3899d7c877ef60183876e5675f45fa7..74044088296793e5ab038b0d7c3d6905d52e44d4 100644 (file)
@@ -1138,7 +1138,7 @@ unpack_double (struct type *type, const gdb_byte *valaddr, int *invp)
         only in a non-portable way.  Fixing the portability problem
         wouldn't help since the VAX floating-point code is also badly
         bit-rotten.  The target needs to add definitions for the
-        methods TARGET_FLOAT_FORMAT and TARGET_DOUBLE_FORMAT - these
+        methods gdbarch_float_format and gdbarch_double_format - these
         exactly describe the target floating-point format.  The
         problem here is that the corresponding floatformat_vax_f and
         floatformat_vax_d values these methods should be set to are