Fix handling of dummy types for -fdump-go-spec
Backport from mainline:
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@196822 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cd1c8dd..eb03093 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2013-03-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ Backport from mainline:
+ 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.
+
2013-03-20 Jack Howarth <howarth@bromo.med.uc.edu>
PR bootstrap/56258
diff --git a/gcc/godump.c b/gcc/godump.c
index ab1edc6..b545525 100644
--- a/gcc/godump.c
+++ b/gcc/godump.c
@@ -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 @@
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;
}