* python/py-frame.c (frapy_block): Fix error message text.
[deliverable/binutils-gdb.git] / gdb / ada-tasks.c
index 4c0b66795c9b25717cd196b809c10dfae1dfc2c5..dfb6719c09008a6c0c81560a8c038f5d9831326c 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 1992-1994, 1997-2000, 2003-2005, 2007-2012 Free
-   Software Foundation, Inc.
+/* Copyright (C) 1992-2013 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -434,7 +433,7 @@ read_fat_string_value (char *dest, struct value *val, int max_len)
 
   /* Extract LEN characters from the fat string.  */
   array_val = value_ind (value_field (val, array_fieldno));
-  read_memory (value_address (array_val), dest, len);
+  read_memory (value_address (array_val), (gdb_byte *) dest, len);
 
   /* Add the NUL character to close the string.  */
   dest[len] = '\0';
@@ -636,12 +635,12 @@ read_atcb (CORE_ADDR task_id, struct ada_task_info *task_info)
                                sizeof (task_info->name) - 1);
       else
        {
-         struct minimal_symbol *msym;
+         struct bound_minimal_symbol msym;
 
          msym = lookup_minimal_symbol_by_pc (task_id);
-         if (msym)
+         if (msym.minsym)
            {
-             const char *full_name = SYMBOL_LINKAGE_NAME (msym);
+             const char *full_name = SYMBOL_LINKAGE_NAME (msym.minsym);
              const char *task_name = full_name;
              const char *p;
 
@@ -847,7 +846,6 @@ read_known_tasks_list (struct ada_tasks_inferior_data *data)
 static void
 ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data)
 {
-  const char *name;
   struct minimal_symbol *msym;
   struct symbol *sym;
 
@@ -870,13 +868,15 @@ ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data)
        {
          /* Validate.  */
          struct type *type = check_typedef (SYMBOL_TYPE (sym));
-         struct type *eltype;
-         struct type *idxtype;
-
-         if (TYPE_CODE (type) == TYPE_CODE_ARRAY
-             && (eltype = check_typedef (TYPE_TARGET_TYPE (type)))
-             && TYPE_CODE (eltype) == TYPE_CODE_PTR
-             && (idxtype = check_typedef (TYPE_INDEX_TYPE (type)))
+         struct type *eltype = NULL;
+         struct type *idxtype = NULL;
+
+         if (TYPE_CODE (type) == TYPE_CODE_ARRAY)
+           eltype = check_typedef (TYPE_TARGET_TYPE (type));
+         if (eltype != NULL
+             && TYPE_CODE (eltype) == TYPE_CODE_PTR)
+           idxtype = check_typedef (TYPE_INDEX_TYPE (type));
+         if (idxtype != NULL
              && !TYPE_LOW_BOUND_UNDEFINED (idxtype)
              && !TYPE_HIGH_BOUND_UNDEFINED (idxtype))
            {
@@ -892,7 +892,7 @@ ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data)
         contains debug information on the task type (due to implicit with of
         Ada.Tasking).  */
       data->known_tasks_element =
-       builtin_type (target_gdbarch)->builtin_data_ptr;
+       builtin_type (target_gdbarch ())->builtin_data_ptr;
       data->known_tasks_length = MAX_NUMBER_OF_KNOWN_TASKS;
       return;
     }
@@ -923,7 +923,7 @@ ada_tasks_inferior_data_sniffer (struct ada_tasks_inferior_data *data)
 
       /* Fallback to default values.  */
       data->known_tasks_element =
-       builtin_type (target_gdbarch)->builtin_data_ptr;
+       builtin_type (target_gdbarch ())->builtin_data_ptr;
       data->known_tasks_length = 1;
       return;
     }
@@ -1172,7 +1172,7 @@ info_task (struct ui_out *uiout, char *taskno_str, struct inferior *inf)
 
   /* Print the Ada task ID.  */
   printf_filtered (_("Ada Task: %s\n"),
-                  paddress (target_gdbarch, task_info->task_id));
+                  paddress (target_gdbarch (), task_info->task_id));
 
   /* Print the name of the task.  */
   if (task_info->name[0] != '\0')
@@ -1310,7 +1310,8 @@ task_command_1 (char *taskno_str, int from_tty, struct inferior *inf)
   ada_find_printable_frame (get_selected_frame (NULL));
   printf_filtered (_("[Switching to task %d]\n"), taskno);
   print_stack_frame (get_selected_frame (NULL),
-                     frame_relative_level (get_selected_frame (NULL)), 1);
+                     frame_relative_level (get_selected_frame (NULL)),
+                    SRC_AND_LOC, 1);
 }
 
 
This page took 0.026091 seconds and 4 git commands to generate.