public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-vla: Merge commit 'bcbd703c1a68b9ef4e39bef4e39e232534bd03cf' into archer-jankratochvil-vla
@ 2012-08-01 15:00 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2012-08-01 15:00 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-vla has been updated
       via  199b961de48a6f3658d654e5aeff14b138f9b472 (commit)
       via  bcbd703c1a68b9ef4e39bef4e39e232534bd03cf (commit)
       via  76b5f0b227c602e6a9738dbaffd1d2ec4d1e9970 (commit)
       via  556a47bd7d184962b457f61edd2c76168f75dab1 (commit)
       via  86be0f83e343ab0c5a8978e1c2647dc529847328 (commit)
       via  01ce3a692823961e1d0c901a74e9c1352e5c9401 (commit)
       via  10f121e6da0388675557d2882790971bf8a6d6e5 (commit)
       via  a4127fbd742128ef4046eaa9ef15feb1816c8e20 (commit)
       via  4c2f203820805a13812c6613108101b37de3783b (commit)
       via  da79849a1fdebe4acd5826ee80f266630a78a81a (commit)
       via  2aecfcfb12d079ee7d417e1d8ab37f480a251be6 (commit)
       via  3f7f19a13a8b11a1798aff0e4b4948a74e386c53 (commit)
       via  1e1953c1b5ad02447caae50cea8d900d972b09ed (commit)
       via  307ab13bb4d932ab867035d3c11624a4389c089c (commit)
       via  65b24245f234c112a522109233d035d1f28bd17d (commit)
       via  8ddc4c764e23fa72f01690bd0de0ba7694306567 (commit)
       via  75df43022808b299158b992c93a93694ed90f0cc (commit)
      from  d375f127b98f06144ed3f36127613f82396fd69a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 199b961de48a6f3658d654e5aeff14b138f9b472
Merge: d375f12 bcbd703
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Aug 1 16:59:46 2012 +0200

    Merge commit 'bcbd703c1a68b9ef4e39bef4e39e232534bd03cf' into archer-jankratochvil-vla

-----------------------------------------------------------------------

Summary of changes:
 bfd/version.h                               |    2 +-
 gdb/ChangeLog                               |   52 +
 gdb/dwarf2read.c                            |  218 +-
 gdb/f-valprint.c                            |   13 +
 gdb/jv-typeprint.c                          |    3 -
 gdb/linux-nat.c                             |    7 +-
 gdb/printcmd.c                              |    8 +-
 gdb/stack.c                                 |   52 +-
 gdb/symtab.c                                |   44 +-
 gdb/testsuite/ChangeLog                     |   25 +
 gdb/testsuite/gdb.base/store.exp            |   19 +-
 gdb/testsuite/gdb.dwarf2/fission-reread.S   |    4 +-
 gdb/testsuite/gdb.python/py-prettyprint.c   |   18 +
 gdb/testsuite/gdb.python/py-prettyprint.exp |   13 +-
 gdb/testsuite/gdb.python/py-prettyprint.py  |   10 +
 gdb/version.in                              |    2 +-
 opcodes/ChangeLog                           |   15 +
 opcodes/i386-dis.c                          |   12 +-
 opcodes/i386-gen.c                          |    9 +
 opcodes/i386-init.h                         |  243 +-
 opcodes/i386-opc.h                          |    9 +
 opcodes/i386-opc.tbl                        |    7 +-
 opcodes/i386-tbl.h                          | 8070 ++++++++++++++++++---------
 23 files changed, 5972 insertions(+), 2883 deletions(-)

First 500 lines of diff:
diff --git a/bfd/version.h b/bfd/version.h
index 44ba28d..ecf6d14 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20120714
+#define BFD_VERSION_DATE 20120718
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5e96444..45de328 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,55 @@
+2012-07-16  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	PR 11914
+	* f-valprint.c (info_common_command): New variable frame_id.
+	Reinitialize FI form FRAME_ID after each print_variable_and_value.
+	* printcmd.c (print_variable_and_value): Extend function comment.
+	Add comment for invalidated FRAME.
+	* stack.c (backtrace_command_1): New variable frame_id.  Reinitialize
+	FI form FRAME_ID after each print_frame_local_vars.
+	(struct print_variable_and_value_data): Change frame to frame_id.
+	(do_print_variable_and_value): New variable frame, initialize it from
+	p->frame_id.  Add comment for invalidated FRAME.
+	(print_frame_local_vars, print_frame_arg_vars): New function comment.
+	Update CB_DATA.FRAME to CB_DATA.FRAME_ID initialization.  Add comment
+	for invalidated FRAME.
+
+2012-07-16  Marc Khouzam  <marc.khouzam@ericsson.com>
+	    Pedro Alves  <palves@redhat.com>
+
+	* linux-nat.c (linux_nat_detach): Don't unregister from the event
+	loop.
+
+2012-07-16  Tom Tromey  <tromey@redhat.com>
+
+	* jv-typeprint.c (c_type_print_varspec_suffix): Don't declare.
+
+2012-07-15  Doug Evans  <dje@google.com>
+
+	* dwarf2read.c (stmt_list_hash): New struct.
+	(type_unit_group): Embed "per_cu" member, remove pointer.
+	New union member "t", move member "tus" into it, all uses updated.
+	New member "hash", replaces member "line_offset, all uses updated.
+	(quick_file_names): Replace member "offset" with "hash", all uses
+	updated.
+	(hash_stmt_list_entry, eq_stmt_list_entry): New functions.
+	(hash_file_name_entry, eq_file_name_entry): Call them.
+	(hash_type_unit_group, eq_type_unit_group): Ditto.
+	(dw2_get_cu, dw2_get_primary_cu): Replace assert with a better one.
+	(dw2_get_file_names_reader): Fix file name table calculation for TUs.
+	(dw2_get_file_names): Update.
+	(create_type_unit_group): Replace "per_cu" arg with "cu".
+	All callers updated.  Fix "quick" (.gdb_index) handling.
+	(get_type_unit_group): Replace "per_cu" arg with "cu".
+	All callers updated.
+	(build_type_unit_groups): Don't reset tu_stats.
+
+	* symtab.c (filename_seen_cache): Delete members "tab_alloc_size",
+	"tab_cur_size".  Change member "tab" to be a htab_t.
+	(create_filename_seen_cache): Update.
+	(clear_filename_seen_cache, delete_filename_seen_cache): Update.
+	(filename_seen): Update.
+
 2012-07-13  Doug Evans  <dje@google.com>
 
 	* symtab.c (filename_seen): Update comment.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index e355092..21d53b0 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -593,6 +593,18 @@ struct signatured_type
   sect_offset type_offset_in_section;
 };
 
+/* A struct that can be used as a hash key for tables based on DW_AT_stmt_list.
+   This includes type_unit_group and quick_file_names.  */
+
+struct stmt_list_hash
+{
+  /* The DWO unit this table is from or NULL if there is none.  */
+  struct dwo_unit *dwo_unit;
+
+  /* Offset in .debug_line or .debug_line.dwo.  */
+  sect_offset line_offset;
+};
+
 /* Each element of dwarf2_per_objfile->type_unit_groups is a pointer to
    an object of this type.  */
 
@@ -604,20 +616,28 @@ struct type_unit_group
      a "per_cu" handle on the symtab.
      This PER_CU is recognized by having no section.  */
 #define IS_TYPE_UNIT_GROUP(per_cu) ((per_cu)->info_or_types_section == NULL)
-  struct dwarf2_per_cu_data *per_cu;
+  struct dwarf2_per_cu_data per_cu;
 
-  /* The TUs that share this DW_AT_stmt_list entry.
-     This is added to while parsing type units to build partial symtabs,
-     and is deleted afterwards and not used again.  */
-  VEC (dwarf2_per_cu_ptr) *tus;
+  union
+  {
+    /* The TUs that share this DW_AT_stmt_list entry.
+       This is added to while parsing type units to build partial symtabs,
+       and is deleted afterwards and not used again.  */
+    VEC (dwarf2_per_cu_ptr) *tus;
+
+    /* When reading the line table in "quick" functions, we need a real TU.
+       Any will do, we know they all share the same DW_AT_stmt_list entry.
+       For simplicity's sake, we pick the first one.  */
+    struct dwarf2_per_cu_data *first_tu;
+  } t;
 
   /* The primary symtab.
-     Type units don't have DW_AT_name so we create an essentially
-     anonymous symtab as the primary symtab.  */
+     Type units in a group needn't all be defined in the same source file,
+     so we create an essentially anonymous symtab as the primary symtab.  */
   struct symtab *primary_symtab;
 
-  /* Offset in .debug_line.  This is the hash key.  */
-  sect_offset line_offset;
+  /* The data used to construct the hash key.  */
+  struct stmt_list_hash hash;
 
   /* The number of symtabs from the line header.
      The value here must match line_header.num_file_names.  */
@@ -1466,7 +1486,7 @@ static void load_full_type_unit (struct dwarf2_per_cu_data *per_cu);
 static void read_signatured_type (struct signatured_type *);
 
 static struct type_unit_group *get_type_unit_group
-    (struct dwarf2_per_cu_data *, struct attribute *);
+    (struct dwarf2_cu *, struct attribute *);
 
 static void build_type_unit_groups (die_reader_func_ftype *, void *);
 
@@ -2008,8 +2028,8 @@ dwarf2_get_section_info (struct objfile *objfile,
    line_header when we're done and don't need to record it here.  */
 struct quick_file_names
 {
-  /* The offset in .debug_line of the line table.  We hash on this.  */
-  unsigned int offset;
+  /* The data used to construct the hash key.  */
+  struct stmt_list_hash hash;
 
   /* The number of entries in file_names, real_names.  */
   unsigned int num_file_names;
@@ -2046,6 +2066,34 @@ struct dwarf2_per_cu_quick_data
   unsigned int no_file_data : 1;
 };
 
+/* Utility hash function for a stmt_list_hash.  */
+
+static hashval_t
+hash_stmt_list_entry (const struct stmt_list_hash *stmt_list_hash)
+{
+  hashval_t v = 0;
+
+  if (stmt_list_hash->dwo_unit != NULL)
+    v += (uintptr_t) stmt_list_hash->dwo_unit->dwo_file;
+  v += stmt_list_hash->line_offset.sect_off;
+  return v;
+}
+
+/* Utility equality function for a stmt_list_hash.  */
+
+static int
+eq_stmt_list_entry (const struct stmt_list_hash *lhs,
+		    const struct stmt_list_hash *rhs)
+{
+  if ((lhs->dwo_unit != NULL) != (rhs->dwo_unit != NULL))
+    return 0;
+  if (lhs->dwo_unit != NULL
+      && lhs->dwo_unit->dwo_file != rhs->dwo_unit->dwo_file)
+    return 0;
+
+  return lhs->line_offset.sect_off == rhs->line_offset.sect_off;
+}
+
 /* Hash function for a quick_file_names.  */
 
 static hashval_t
@@ -2053,7 +2101,7 @@ hash_file_name_entry (const void *e)
 {
   const struct quick_file_names *file_data = e;
 
-  return file_data->offset;
+  return hash_stmt_list_entry (&file_data->hash);
 }
 
 /* Equality function for a quick_file_names.  */
@@ -2064,7 +2112,7 @@ eq_file_name_entry (const void *a, const void *b)
   const struct quick_file_names *ea = a;
   const struct quick_file_names *eb = b;
 
-  return ea->offset == eb->offset;
+  return eq_stmt_list_entry (&ea->hash, &eb->hash);
 }
 
 /* Delete function for a quick_file_names.  */
@@ -2181,12 +2229,9 @@ dw2_get_cu (int index)
 {
   if (index >= dwarf2_per_objfile->n_comp_units)
     {
-      struct dwarf2_per_cu_data *per_cu;
-
       index -= dwarf2_per_objfile->n_comp_units;
-      per_cu = &dwarf2_per_objfile->all_type_units[index]->per_cu;
-      gdb_assert (! IS_TYPE_UNIT_GROUP (per_cu));
-      return per_cu;
+      gdb_assert (index < dwarf2_per_objfile->n_type_units);
+      return &dwarf2_per_objfile->all_type_units[index]->per_cu;
     }
 
   return dwarf2_per_objfile->all_comp_units[index];
@@ -2212,12 +2257,9 @@ dw2_get_primary_cu (int index)
 {
   if (index >= dwarf2_per_objfile->n_comp_units)
     {
-      struct dwarf2_per_cu_data *per_cu;
-
       index -= dwarf2_per_objfile->n_comp_units;
-      per_cu = dwarf2_per_objfile->all_type_unit_groups[index]->per_cu;
-      gdb_assert (IS_TYPE_UNIT_GROUP (per_cu));
-      return per_cu;
+      gdb_assert (index < dwarf2_per_objfile->n_type_unit_groups);
+      return &dwarf2_per_objfile->all_type_unit_groups[index]->per_cu;
     }
 
   return dwarf2_per_objfile->all_comp_units[index];
@@ -2630,7 +2672,6 @@ dw2_build_type_unit_groups_reader (const struct die_reader_specs *reader,
 				   void *data)
 {
   struct dwarf2_cu *cu = reader->cu;
-  struct dwarf2_per_cu_data *per_cu = cu->per_cu;
   struct attribute *attr;
   struct type_unit_group *tu_group;
 
@@ -2642,7 +2683,7 @@ dw2_build_type_unit_groups_reader (const struct die_reader_specs *reader,
   attr = dwarf2_attr_no_follow (type_unit_die, DW_AT_stmt_list);
   /* Call this for its side-effect of creating the associated
      struct type_unit_group if it doesn't already exist.  */
-  tu_group = get_type_unit_group (per_cu, attr);
+  tu_group = get_type_unit_group (cu, attr);
 }
 
 /* Build dwarf2_per_objfile->type_unit_groups.
@@ -2667,6 +2708,7 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader,
   struct dwarf2_cu *cu = reader->cu;
   struct dwarf2_per_cu_data *this_cu = cu->per_cu;  
   struct objfile *objfile = dwarf2_per_objfile->objfile;
+  struct dwarf2_per_cu_data *lh_cu;
   struct line_header *lh;
   struct attribute *attr;
   int i;
@@ -2683,6 +2725,18 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader,
       return;
     }
 
+  /* If we're reading the line header for TUs, store it in the "per_cu"
+     for tu_group.  */
+  if (this_cu->is_debug_types)
+    {
+      struct type_unit_group *tu_group = data;
+
+      gdb_assert (tu_group != NULL);
+      lh_cu = &tu_group->per_cu;
+    }
+  else
+    lh_cu = this_cu;
+
   lh = NULL;
   slot = NULL;
   line_offset = 0;
@@ -2696,12 +2750,13 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader,
 
       /* We may have already read in this line header (TU line header sharing).
 	 If we have we're done.  */
-      find_entry.offset = line_offset;
+      find_entry.hash.dwo_unit = cu->dwo_unit;
+      find_entry.hash.line_offset.sect_off = line_offset;
       slot = htab_find_slot (dwarf2_per_objfile->quick_file_names_table,
 			     &find_entry, INSERT);
       if (*slot != NULL)
 	{
-	  this_cu->v.quick->file_names = *slot;
+	  lh_cu->v.quick->file_names = *slot;
 	  return;
 	}
 
@@ -2709,12 +2764,13 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader,
     }
   if (lh == NULL)
     {
-      this_cu->v.quick->no_file_data = 1;
+      lh_cu->v.quick->no_file_data = 1;
       return;
     }
 
   qfn = obstack_alloc (&objfile->objfile_obstack, sizeof (*qfn));
-  qfn->offset = line_offset;
+  qfn->hash.dwo_unit = cu->dwo_unit;
+  qfn->hash.line_offset.sect_off = line_offset;
   gdb_assert (slot != NULL);
   *slot = qfn;
 
@@ -2729,7 +2785,7 @@ dw2_get_file_names_reader (const struct die_reader_specs *reader,
 
   free_line_header (lh);
 
-  this_cu->v.quick->file_names = qfn;
+  lh_cu->v.quick->file_names = qfn;
 }
 
 /* A helper for the "quick" functions which attempts to read the line
@@ -2754,8 +2810,12 @@ dw2_get_file_names (struct objfile *objfile,
      However, that's not the case for TUs where DW_AT_stmt_list lives in the
      DWO file.  */
   if (this_cu->is_debug_types)
-    init_cutu_and_read_dies (this_cu, NULL, 0, 0,
-			     dw2_get_file_names_reader, NULL);
+    {
+      struct type_unit_group *tu_group = this_cu->s.type_unit_group;
+
+      init_cutu_and_read_dies (tu_group->t.first_tu, NULL, 0, 0,
+			       dw2_get_file_names_reader, tu_group);
+    }
   else
     init_cutu_and_read_dies_simple (this_cu, dw2_get_file_names_reader, NULL);
 
@@ -4716,9 +4776,9 @@ process_psymtab_comp_unit (struct dwarf2_per_cu_data *this_cu,
 static hashval_t
 hash_type_unit_group (const void *item)
 {
-  const struct type_unit_group *symtab = item;
+  const struct type_unit_group *tu_group = item;
 
-  return symtab->line_offset.sect_off;
+  return hash_stmt_list_entry (&tu_group->hash);
 }
 
 static int
@@ -4727,7 +4787,7 @@ eq_type_unit_group (const void *item_lhs, const void *item_rhs)
   const struct type_unit_group *lhs = item_lhs;
   const struct type_unit_group *rhs = item_rhs;
 
-  return lhs->line_offset.sect_off == rhs->line_offset.sect_off;
+  return eq_stmt_list_entry (&lhs->hash, &rhs->hash);
 }
 
 /* Allocate a hash table for type unit groups.  */
@@ -4750,54 +4810,59 @@ allocate_type_unit_groups_table (void)
 #define NO_STMT_LIST_TYPE_UNIT_PSYMTAB (1 << 31)
 #define NO_STMT_LIST_TYPE_UNIT_PSYMTAB_SIZE 10
 
-/* Helper routine for build_type_psymtabs_reader.
+/* Helper routine for get_type_unit_group.
    Create the type_unit_group object used to hold one or more TUs.  */
 
 static struct type_unit_group *
-create_type_unit_group (struct dwarf2_per_cu_data *per_cu,
-			sect_offset line_offset_struct)
+create_type_unit_group (struct dwarf2_cu *cu, sect_offset line_offset_struct)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
+  struct dwarf2_per_cu_data *per_cu;
   struct type_unit_group *tu_group;
-  struct partial_symtab *pst;
-  unsigned int line_offset;
-  char *name;
-
-  line_offset = line_offset_struct.sect_off;
-
-  /* Give the symtab a useful name for debug purposes.  */
-  if ((line_offset & NO_STMT_LIST_TYPE_UNIT_PSYMTAB) != 0)
-    name = xstrprintf ("<type_units_%d>",
-		       (line_offset & ~NO_STMT_LIST_TYPE_UNIT_PSYMTAB));
-  else
-    name = xstrprintf ("<type_units_at_0x%x>", line_offset);
 
   tu_group = OBSTACK_ZALLOC (&objfile->objfile_obstack,
 			     struct type_unit_group);
-
-  per_cu = OBSTACK_ZALLOC (&objfile->objfile_obstack,
-			   struct dwarf2_per_cu_data);
+  per_cu = &tu_group->per_cu;
   per_cu->objfile = objfile;
   per_cu->is_debug_types = 1;
   per_cu->s.type_unit_group = tu_group;
 
-  pst = create_partial_symtab (per_cu, name);
-  pst->anonymous = 1;
+  if (dwarf2_per_objfile->using_index)
+    {
+      per_cu->v.quick = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+					struct dwarf2_per_cu_quick_data);
+      tu_group->t.first_tu = cu->per_cu;
+    }
+  else
+    {
+      unsigned int line_offset = line_offset_struct.sect_off;
+      struct partial_symtab *pst;
+      char *name;
+
+      /* Give the symtab a useful name for debug purposes.  */
+      if ((line_offset & NO_STMT_LIST_TYPE_UNIT_PSYMTAB) != 0)
+	name = xstrprintf ("<type_units_%d>",
+			   (line_offset & ~NO_STMT_LIST_TYPE_UNIT_PSYMTAB));
+      else
+	name = xstrprintf ("<type_units_at_0x%x>", line_offset);
 
-  xfree (name);
+      pst = create_partial_symtab (per_cu, name);
+      pst->anonymous = 1;
 
-  tu_group->per_cu = per_cu;
-  tu_group->line_offset.sect_off = line_offset;
+      xfree (name);
+    }
+
+  tu_group->hash.dwo_unit = cu->dwo_unit;
+  tu_group->hash.line_offset = line_offset_struct;
 
   return tu_group;
 }
 
-/* Look up the type_unit_group for PER_CU, and create it if necessary.
-   STMT_LIST is an DW_AT_stmt_list attribute.  */
+/* Look up the type_unit_group for type unit CU, and create it if necessary.
+   STMT_LIST is a DW_AT_stmt_list attribute.  */
 
 static struct type_unit_group *
-get_type_unit_group (struct dwarf2_per_cu_data *per_cu,
-		     struct attribute *stmt_list)
+get_type_unit_group (struct dwarf2_cu *cu, struct attribute *stmt_list)
 {
   struct tu_stats *tu_stats = &dwarf2_per_objfile->tu_stats;
   struct type_unit_group *tu_group;
@@ -4831,7 +4896,8 @@ get_type_unit_group (struct dwarf2_per_cu_data *per_cu,
       ++tu_stats->nr_stmt_less_type_units;
     }
 
-  type_unit_group_for_lookup.line_offset.sect_off = line_offset;
+  type_unit_group_for_lookup.hash.dwo_unit = cu->dwo_unit;
+  type_unit_group_for_lookup.hash.line_offset.sect_off = line_offset;
   slot = htab_find_slot (dwarf2_per_objfile->type_unit_groups,
 			 &type_unit_group_for_lookup, INSERT);
   if (*slot != NULL)
@@ -4844,7 +4910,7 @@ get_type_unit_group (struct dwarf2_per_cu_data *per_cu,
       sect_offset line_offset_struct;
 
       line_offset_struct.sect_off = line_offset;
-      tu_group = create_type_unit_group (per_cu, line_offset_struct);
+      tu_group = create_type_unit_group (cu, line_offset_struct);
       *slot = tu_group;
       ++tu_stats->nr_symtabs;
     }
@@ -4962,7 +5028,9 @@ build_type_unit_groups (die_reader_func_ftype *func, void *data)
   qsort (sorted_by_abbrev, dwarf2_per_objfile->n_type_units,
 	 sizeof (struct tu_abbrev_offset), sort_tu_by_abbrev_offset);
 
-  memset (tu_stats, 0, sizeof (*tu_stats));
+  /* Note: In the .gdb_index case, get_type_unit_group may have already been
+     called any number of times, so we don't reset tu_stats here.  */
+
   abbrev_offset.sect_off = ~(unsigned) 0;
   abbrev_table = NULL;
   make_cleanup (abbrev_table_free_cleanup, &abbrev_table);
@@ -5049,9 +5117,9 @@ build_type_psymtabs_reader (const struct die_reader_specs *reader,
     return;
 
   attr = dwarf2_attr_no_follow (type_unit_die, DW_AT_stmt_list);
-  tu_group = get_type_unit_group (per_cu, attr);
+  tu_group = get_type_unit_group (cu, attr);
 
-  VEC_safe_push (dwarf2_per_cu_ptr, tu_group->tus, per_cu);
+  VEC_safe_push (dwarf2_per_cu_ptr, tu_group->t.tus, per_cu);
 
   prepare_one_comp_unit (cu, type_unit_die, language_minimal);
   cu->list_in_scope = &file_symbols;
@@ -5078,9 +5146,9 @@ build_type_psymtab_dependencies (void **slot, void *info)
 {
   struct objfile *objfile = dwarf2_per_objfile->objfile;
   struct type_unit_group *tu_group = (struct type_unit_group *) *slot;
-  struct dwarf2_per_cu_data *per_cu = tu_group->per_cu;
+  struct dwarf2_per_cu_data *per_cu = &tu_group->per_cu;
   struct partial_symtab *pst = per_cu->v.psymtab;
-  int len = VEC_length (dwarf2_per_cu_ptr, tu_group->tus);
+  int len = VEC_length (dwarf2_per_cu_ptr, tu_group->t.tus);
   struct dwarf2_per_cu_data *iter;
   int i;
 
@@ -5090,14 +5158,14 @@ build_type_psymtab_dependencies (void **slot, void *info)
   pst->dependencies = obstack_alloc (&objfile->objfile_obstack,
 				     len * sizeof (struct psymtab *));
   for (i = 0;


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-08-01 15:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-01 15:00 [SCM] archer-jankratochvil-vla: Merge commit 'bcbd703c1a68b9ef4e39bef4e39e232534bd03cf' into archer-jankratochvil-vla jkratoch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).