aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2018-02-06 15:11:59 -0800
committerIan Lance Taylor <iant@golang.org>2018-02-07 01:20:30 +0000
commitc07095cd287e2e0a5d7deadabb1c371be4a542f7 (patch)
tree384b9dcf2045f9dc2cbefeddf48f6c4226b7fb14
parent23e8e197b0cd40312d96dd7576a44796f65dfb50 (diff)
downloadgo-c07095cd287e2e0a5d7deadabb1c371be4a542f7.tar.gz
go-c07095cd287e2e0a5d7deadabb1c371be4a542f7.zip
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 <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-rw-r--r--misc/cgo/test/issue19832.go16
-rw-r--r--src/cmd/cgo/gcc.go6
2 files changed, 0 insertions, 22 deletions
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