From cf28726c8d692bf74af1bd2366a6320f964a025f Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Fri, 28 Oct 2016 13:28:56 -0400 Subject: [PATCH] test: add test for gccgo issue #17640 Change-Id: Iec35f9b62982da40de400397bc456149216303dc Reviewed-on: https://go-review.googlesource.com/32297 Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot --- test/fixedbugs/issue17640.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 test/fixedbugs/issue17640.go diff --git a/test/fixedbugs/issue17640.go b/test/fixedbugs/issue17640.go new file mode 100644 index 0000000000..a311521829 --- /dev/null +++ b/test/fixedbugs/issue17640.go @@ -0,0 +1,28 @@ +// run + +// Copyright 2016 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import "fmt" + +var results string + +type TwoInts struct { + x, y int +} + +func f(x int) int { results = results + fmt.Sprintf("_%d", x); return x } + +func main() { + _ = [19]int{1: f(1), 0: f(0), 2: f(2), 6, 7} + _ = [2]int{1: f(4), 0: f(3)} + _ = TwoInts{y: f(6), x: f(5)} + _ = map[int]int{f(f(9) + 1): f(8), 0: f(7), f(22): -1} + if results != "_1_0_2_4_3_6_5_9_10_8_7_22" { + fmt.Printf("unexpected: %s\n", results) + panic("fail") + } +} -- 2.48.1