From c07095cd287e2e0a5d7deadabb1c371be4a542f7 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 6 Feb 2018 15:11:59 -0800 Subject: [PATCH] cmd/cgo: revert CL 49490 "fix for function taking pointer typedef" CL 49490 fixed a warning when compiling the C code generated by cgo, but it introduced typedef conflicts in Go code that cgo is supposed to avoid. Original CL description: cmd/cgo: fix for function taking pointer typedef Fixes #19832 Updates #19832 Fixes #23720 Change-Id: I22a732db31be0b4f7248c105277ab8ee44ef6cfb Reviewed-on: https://go-review.googlesource.com/92455 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Austin Clements --- misc/cgo/test/issue19832.go | 16 ---------------- src/cmd/cgo/gcc.go | 6 ------ 2 files changed, 22 deletions(-) delete mode 100644 misc/cgo/test/issue19832.go diff --git a/misc/cgo/test/issue19832.go b/misc/cgo/test/issue19832.go deleted file mode 100644 index 44587770af..0000000000 --- a/misc/cgo/test/issue19832.go +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2015 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. - -// Issue 19832. Functions taking a pointer typedef were being expanded and triggering a compiler error. - -package cgotest - -// typedef struct { int i; } *PS; -// void T19832(PS p) {} -import "C" -import "testing" - -func test19832(t *testing.T) { - C.T19832(nil) -} diff --git a/src/cmd/cgo/gcc.go b/src/cmd/cgo/gcc.go index 4f16fe0e31..2ebe906699 100644 --- a/src/cmd/cgo/gcc.go +++ b/src/cmd/cgo/gcc.go @@ -2250,12 +2250,6 @@ func (c *typeConv) FuncArg(dtype dwarf.Type, pos token.Pos) *Type { break } - // If we already know the typedef for t just use that. - // See issue 19832. - if def := typedef[t.Go.(*ast.Ident).Name]; def != nil { - break - } - t = c.Type(ptr, pos) if t == nil { return nil