]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gengtype (get_output_file_for_structure): Ensure type is union or struct.
authorBasile Starynkevitch <basile@starynkevitch.net>
Mon, 8 Nov 2010 17:39:16 +0000 (17:39 +0000)
committerBasile Starynkevitch <bstarynk@gcc.gnu.org>
Mon, 8 Nov 2010 17:39:16 +0000 (17:39 +0000)
2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>

* gengtype (get_output_file_for_structure): Ensure type is union
or struct.
(write_splay_tree_allocator_def): Use
get_output_file_with_visibility.

From-SVN: r166442

gcc/ChangeLog
gcc/gengtype.c

index 31e365d5ce355a13c5eef3c7badb35be13b0b01d..408a05408e25de50afbb9c337cd777059987d16f 100644 (file)
@@ -1,3 +1,11 @@
+
+2010-11-08  Basile Starynkevitch  <basile@starynkevitch.net>
+
+       * gengtype (get_output_file_for_structure): Ensure type is union
+       or struct.
+       (write_splay_tree_allocator_def): Use
+       get_output_file_with_visibility.
+
 2010-11-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * config/s390/s390.c (s390_handle_arch_option): Set type and flags
index 55f9a78ffad4bdab72d008c603fa27f64f242dcf..306e61eb43ccd6ca274fab92aa4bf037aedc2469 100644 (file)
@@ -2637,9 +2637,12 @@ output_type_enum (outf_p of, type_p s)
 static outf_p
 get_output_file_for_structure (const_type_p s, type_p *param)
 {
-  const char *fn = s->u.s.line.file;
+  const char *fn;
   int i;
 
+  gcc_assert (UNION_OR_STRUCT_P (s));
+  fn = s->u.s.line.file;
+
   /* This is a hack, and not the good kind either.  */
   for (i = NUM_PARAM - 1; i >= 0; i--)
     if (param && param[i] && param[i]->kind == TYPE_POINTER
@@ -4062,7 +4065,7 @@ output_typename (outf_p of, const_type_p t)
 static void
 write_splay_tree_allocator_def (const_type_p s)
 {
-  outf_p of = get_output_file_for_structure (s, NULL);
+  outf_p of = get_output_file_with_visibility (NULL);
   oprintf (of, "void * ggc_alloc_splay_tree_");
   output_typename (of, s);
   oprintf (of, " (int sz, void * nl)\n");