aboutsummaryrefslogtreecommitdiff
path: root/gcc/gengtype.c
diff options
context:
space:
mode:
authorBasile Starynkevitch <basile@starynkevitch.net>2010-11-08 17:39:16 +0000
committerBasile Starynkevitch <basile@starynkevitch.net>2010-11-08 17:39:16 +0000
commit73ecb8ba932d9f459191a577c88e887647f67d88 (patch)
tree837498abbd51ea01a67ea03fdf05081d93bb6b75 /gcc/gengtype.c
parent05447f6f5500f6ee3db39d733288197dcec25ec6 (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@166442 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gengtype.c')
-rw-r--r--gcc/gengtype.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index 55f9a78ffad..306e61eb43c 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -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");