// Copyright 2019 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 cgotest // #include // uint64_t issue29878exported(int8_t); // prototype must match // int16_t issue29878function(uint32_t arg) { return issue29878exported(arg); } import "C" import "testing" func test29878(t *testing.T) { const arg uint32 = 123 // fits into all integer types var ret int16 = C.issue29878function(arg) // no conversions needed if int64(ret) != int64(arg) { t.Errorf("return value unexpected: got %d, want %d", ret, arg) } }