mirror of
https://github.com/golang/go
synced 2024-11-24 08:20:03 -07:00
01dd57b312
When the C API being used includes multiple names for the same underlying symbol (e.g. multiple #define's for the same variable), then cgo will generate the same placeholder variables for each name. This then prevents the code from compiling due to multiple declarations of the same variable - so change cgo to only create one instance of the variable for the underlying symbol. R=rsc CC=golang-dev https://golang.org/cl/4826055
22 lines
430 B
Go
22 lines
430 B
Go
// Copyright 2010 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.
|
|
|
|
// This file contains test cases for cgo.
|
|
|
|
package cgotest
|
|
|
|
/*
|
|
int base_symbol = 0;
|
|
|
|
#define alias_one base_symbol
|
|
#define alias_two base_symbol
|
|
*/
|
|
import "C"
|
|
|
|
import "fmt"
|
|
|
|
func duplicateSymbols() {
|
|
fmt.Printf("%v %v %v\n", C.base_symbol, C.alias_one, C.alias_two)
|
|
}
|