// Copyright 2012 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 /* // Mac OS X's gcc will generate scattered relocation 2/1 for // this function on Darwin/386, and 8l couldn't handle it. // this example is in issue 1635 #include void scatter() { void *p = scatter; printf("scatter = %p\n", p); } // Adding this explicit extern declaration makes this a test for // https://gcc.gnu.org/PR68072 aka https://golang.org/issue/13344 . // It used to cause a cgo error when building with GCC 6. extern int hola; // this example is in issue 3253 int hola = 0; int testHola() { return hola; } */ import "C" import "testing" func test1635(t *testing.T) { C.scatter() if v := C.hola; v != 0 { t.Fatalf("C.hola is %d, should be 0", v) } if v := C.testHola(); v != 0 { t.Fatalf("C.testHola() is %d, should be 0", v) } }