From: Ian Lance Taylor Date: Thu, 15 Dec 2016 23:44:13 +0000 (+0000) Subject: compiler: fix off-by-1 array type len in Type::gc_symbol_constructor X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=63ba3ad3edb8d854e03a5d684636d2ee90dc9b05;p=gcc.git compiler: fix off-by-1 array type len in Type::gc_symbol_constructor Array type being built to hold GC var initializer was being created with an extra/unneeded slot. Fix up the code to insure that the array length matches the length of the initializer list. Reviewed-on: https://go-review.googlesource.com/34413 From-SVN: r243731 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 4a5f6d295dd..8f64fdfda48 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -e807c1deec1e7114bc4757b6193510fdae13e75f +ae57b28b3caf1f6670e0f663235f1bf7655db870 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc index f3cb32b5142..eab3bedbc7f 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -2261,7 +2261,7 @@ Type::gc_symbol_constructor(Gogo* gogo) vals->push_back(Expression::make_integer_ul(GC_END, uintptr_t, bloc)); - Expression* len = Expression::make_integer_ul(vals->size() + 1, NULL, + Expression* len = Expression::make_integer_ul(vals->size(), NULL, bloc); Array_type* gc_symbol_type = Type::make_array_type(uintptr_t, len); return Expression::make_array_composite_literal(gc_symbol_type, vals, bloc);