From: Rainer Orth Date: Wed, 20 Mar 2013 11:53:40 +0000 (+0000) Subject: Fix handling of dummy types for -fdump-go-spec X-Git-Tag: releases/gcc-4.7.3~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85beaba674949865830a025943f5f1cd916413fb;p=thirdparty%2Fgcc.git 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 --- 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; }