godump.c (find_dummy_types): Output a dummy type if we couldn't output the real type.
authorIan Lance Taylor <iant@google.com>
Wed, 5 Dec 2012 06:14:17 +0000 (06:14 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 5 Dec 2012 06:14:17 +0000 (06:14 +0000)
* godump.c (find_dummy_types): Output a dummy type if we couldn't
output the real type.

From-SVN: r194181

gcc/ChangeLog
gcc/godump.c

index 32f7a86b453e05fece88c0e36cae69cce1072af0..b9a1b088573bb6a4ea47ae5105c8847c4f3ceb52 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-04  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (find_dummy_types): Output a dummy type if we couldn't
+       output the real type.
+
 2012-12-04  Steven Bosscher  <steven@gcc.gnu.org>
 
        * rtl.h (print_insn_with_notes): Remove prototype.
index 22995fe5d918a5bcc2b3a431afa2c68e0751fdb3..c396ed5ac86577f49015e0122b22f717ca209add 100644 (file)
@@ -1,5 +1,5 @@
 /* Output Go language descriptions of types.
-   Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <iant@google.com>.
 
 This file is part of GCC.
@@ -1164,9 +1164,11 @@ find_dummy_types (const void *ptr, void *adata)
   struct godump_container *data = (struct godump_container *) adata;
   const char *type = (const char *) ptr;
   void **slot;
+  void **islot;
 
   slot = htab_find_slot (data->type_hash, type, NO_INSERT);
-  if (slot == NULL)
+  islot = htab_find_slot (data->invalid_hash, type, NO_INSERT);
+  if (slot == NULL || islot != NULL)
     fprintf (go_dump_file, "type _%s struct {}\n", type);
   return true;
 }