From 85beaba674949865830a025943f5f1cd916413fb Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 20 Mar 2013 11:53:40 +0000 Subject: [PATCH] Fix handling of dummy types for -fdump-go-spec Backport from mainline: 2012-12-04 Ian Lance Taylor * godump.c (find_dummy_types): Output a dummy type if we couldn't output the real type. From-SVN: r196822 --- gcc/ChangeLog | 8 ++++++++ gcc/godump.c | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cd1c8ddc6272..eb0309325769 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2013-03-20 Rainer Orth + + Backport from mainline: + 2012-12-04 Ian Lance Taylor + + * godump.c (find_dummy_types): Output a dummy type if we couldn't + output the real type. + 2013-03-20 Jack Howarth PR bootstrap/56258 diff --git a/gcc/godump.c b/gcc/godump.c index ab1edc620f91..b5455253b619 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 . 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; } -- 2.47.2