// errorcheck

// Copyright 2014 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.

// The gccgo compiler did not reliably report mismatches between the
// number of function results and the number of expected results.

package p

func G() (int, int, int) {
	return 0, 0, 0
}

func F() {
	a, b := G()	// ERROR "assignment mismatch"
	a, b = G()	// ERROR "assignment mismatch"
	_, _ = a, b
}

func H() (int, int) {
	return G()	// ERROR "too many|mismatch"
}
