go/misc/cgo/errors/src/issue28721.go
Hiroshi Ioka 5e1727892b cmd/cgo: reject names that are likely to be mangled C name
Fixes #28721

Change-Id: I00356f3a9b0c2fb21dc9c2237dd5296fcb3b319b
Reviewed-on: https://go-review.googlesource.com/c/152657
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-12-05 14:12:14 +00:00

30 lines
506 B
Go

// Copyright 2018 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.
// cgo should reject the use of mangled C names.
package main
/*
typedef struct a {
int i;
} a;
void fn(void) {}
*/
import "C"
type B _Ctype_struct_a // ERROR HERE
var a _Ctype_struct_a // ERROR HERE
type A struct {
a *_Ctype_struct_a // ERROR HERE
}
var notExist _Ctype_NotExist // ERROR HERE
func main() {
_Cfunc_fn() // ERROR HERE
}