go/misc/cgo/test
Ian Lance Taylor 928a4b6919 [release-branch.go1.11] cmd/cgo: preserve type information across loadDWARF loop
CL 122575 and its successors introduced a loop calling loadDWARF,
whereas before we only called it once. Pass a single typeConv to each
call, rather than creating a new one in loadDWARF itself. Change the
maps from dwarf.Type to use string keys rather than dwarf.Type keys,
since when the DWARF is reloaded the dwarf.Type pointers will be
different. These changes permit typeConv.Type to return a consistent
value for a given DWARF type, avoiding spurious type conversion errors
due to typedefs loaded after the first loop iteration.

Updates #27340
Fixes #27395

Change-Id: Ic33467bbfca4c54e95909621b35ba2a58216d96e
Reviewed-on: https://go-review.googlesource.com/c/152762
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
(cherry picked from commit 6d43587053)
Reviewed-on: https://go-review.googlesource.com/c/154277
Run-TryBot: Filippo Valsorda <filippo@golang.org>
2018-12-14 19:40:45 +00:00
..
gcc68255 all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8756 cmd/link, cmd/go: delay linking of mingwex and mingw32 until very end 2016-08-31 06:30:26 +00:00
issue8828 all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue9026 [release-branch.go1.11] cmd/cgo: preserve type information across loadDWARF loop 2018-12-14 19:40:45 +00:00
issue9400 misc/cgo/test: avoid duplicate definition with gccgo 2018-06-20 02:52:44 +00:00
issue9510a cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking 2015-11-14 18:56:17 +00:00
issue9510b cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking 2015-11-14 18:56:17 +00:00
issue20266 go/build: make -I/-L options in cgo flags absolute 2017-06-13 18:36:04 +00:00
issue23555a cmd/cgo: add import path to hash 2018-06-13 23:36:03 +00:00
issue23555b cmd/cgo: add import path to hash 2018-06-13 23:36:03 +00:00
issue24161arg cmd/cgo: check function argument/return types for bad C pointer types 2018-07-09 22:19:21 +00:00
issue24161e0 misc/cgo: fix darwin test, again 2018-07-16 19:14:30 +00:00
issue24161e1 misc/cgo: fix darwin test, again 2018-07-16 19:14:30 +00:00
issue24161e2 misc/cgo: fix darwin test, again 2018-07-16 19:14:30 +00:00
issue24161res cmd/cgo: check function argument/return types for bad C pointer types 2018-07-09 22:19:21 +00:00
issue26213 cmd/cgo: update JNI's jobject to uintptr check for newer Android NDKs 2018-07-17 16:51:15 +00:00
issue26430 cmd/cgo: don't report inconsistency error for incomplete typedef 2018-07-18 04:17:51 +00:00
issue26743 cmd/cgo: don't give inconsistent typedef error for cgo-defined types 2018-08-01 20:41:19 +00:00
issue27340 [release-branch.go1.11] cmd/cgo: preserve type information across loadDWARF loop 2018-12-14 19:40:45 +00:00
align.go
api.go cmd/cgo: only record typedef name for pointer to struct 2016-11-01 23:06:24 +00:00
backdoor.go
basic.go runtime: use bytes.IndexByte in findnull 2018-03-09 19:37:39 +00:00
buildid_linux.go misc/cgo/test: avoid endless loop when we can't parse notes 2018-01-11 19:55:49 +00:00
callback.go cmd/cgo: always use a function literal for pointer checking 2016-10-19 21:20:50 +00:00
callback_c.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
callback_c_gc.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
callback_c_gccgo.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
cflags.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
cgo_linux_test.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
cgo_stubs_android_test.go misc/cgo/test,cmd/dist: enable (most) Cgo tests on Android 2016-06-01 22:06:51 +00:00
cgo_test.go [release-branch.go1.11] cmd/cgo: use field alignment when setting field offset 2018-12-03 04:59:56 +00:00
cgo_thread_lock.go misc/cgo/test: add test that gccgo fails 2016-10-13 00:03:57 +00:00
cgo_unix_test.go runtime/cgo: retry pthread_create on EAGAIN 2016-12-05 18:46:18 +00:00
checkconst.go cmd/cgo: preserve original call arguments when pointer checking 2016-10-21 20:46:20 +00:00
complex.go cmd/compile, cmd/cgo: align complex{64,128} like GCC 2016-10-05 17:44:27 +00:00
cthread.go misc/cgo/test,cmd/dist: enable (more) Cgo tests on iOS 2016-06-02 10:09:12 +00:00
cthread_unix.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
cthread_windows.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
duplicate_symbol.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
env.go misc/cgo/test: fix go vet warnings 2015-10-13 17:53:20 +00:00
exports.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
fpvar.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
gcc68255.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
helpers.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue1222.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue1328.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue1560.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue1635.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue2462.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue3250.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue3250w.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue3261.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue3729.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue3729w.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue3741.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue3775.go misc/cgo/test,cmd/dist: enable (most) Cgo tests on Android 2016-06-01 22:06:51 +00:00
issue3945.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue4029.c cmd/cgo: permit missing dynamic symbol section 2018-07-02 17:50:00 +00:00
issue4029.go cmd/cgo: permit missing dynamic symbol section 2018-07-02 17:50:00 +00:00
issue4029w.go cmd/cgo: permit missing dynamic symbol section 2018-07-02 17:50:00 +00:00
issue4054a.go
issue4054b.go
issue4273.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue4273b.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue4339.c
issue4339.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue4339.h
issue4417.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue4857.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5227.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5242.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5337.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5337w.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5548.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5548_c.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5603.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5740.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5740a.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5740b.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue5986.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue6128.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue6390.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue6472.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue6506.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue6612.go cmd/cgo: support floating point #define macros 2017-04-07 21:09:44 +00:00
issue6833.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue6833_c.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue6907.go cmd/cgo: permit passing string values directly between Go and C 2017-11-15 03:36:54 +00:00
issue6907export.go cmd/cgo: permit passing string values directly between Go and C 2017-11-15 03:36:54 +00:00
issue6907export_c.c cmd/cgo: permit passing string values directly between Go and C 2017-11-15 03:36:54 +00:00
issue6997_linux.c misc/cgo/test,cmd/dist: enable (most) Cgo tests on Android 2016-06-01 22:06:51 +00:00
issue6997_linux.go misc/cgo/test,cmd/dist: enable (most) Cgo tests on Android 2016-06-01 22:06:51 +00:00
issue7234_test.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue7560.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue7665.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue7786.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue7978.go misc/cgo/test: set the traceback level instead of failing the test 2017-09-13 02:53:11 +00:00
issue8092.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8148.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8331.h all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8331a.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8331b.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8428.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8441.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8517.go
issue8517_windows.c
issue8517_windows.go
issue8694.go misc/cgo/test,cmd/dist: enable (most) Cgo tests on Android 2016-06-01 22:06:51 +00:00
issue8756.go cmd/link, cmd/go: delay linking of mingwex and mingw32 until very end 2016-08-31 06:30:26 +00:00
issue8811.c all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8811.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue8828.go
issue8945.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue9026.go
issue9400_linux.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue9510.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue9557.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue10303.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue11925.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue12030.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue13402.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue13930.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue14838.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
issue17065.go misc/cgo/test: add skipped test for issue 17065 2016-09-11 20:43:11 +00:00
issue17537.go cmd/cgo: don't strip qualifiers from C void* pointer 2016-12-14 00:59:38 +00:00
issue18126.go cmd/cgo: fix cgo checking when fetching errno value 2016-12-01 02:13:50 +00:00
issue18146.go misc/cgo/test: skip Test18146 in short mode 2018-06-27 04:31:53 +00:00
issue18720.go cmd/cgo: support niladic function-like macros 2017-08-30 18:28:58 +00:00
issue20129.go cmd/cgo: unwrap typedef-chains before type checking 2017-06-27 23:02:34 +00:00
issue20266.go go/build: make -I/-L options in cgo flags absolute 2017-06-13 18:36:04 +00:00
issue20369.go cmd/cgo: support large unsigned macros 2017-05-17 14:42:29 +00:00
issue20910.c cmd/cgo: unify cgo output for gc and gccgo 2017-08-16 21:57:56 +00:00
issue20910.go cmd/cgo: unify cgo output for gc and gccgo 2017-08-16 21:57:56 +00:00
issue21668.go cmd/cgo: avoid using common names for sniffing 2017-08-29 00:42:34 +00:00
issue21708.go cmd/cgo: support large unsigned macro again 2017-09-01 00:42:21 +00:00
issue21809.go go/printer: fix formatting of three-index slice expression 2017-10-03 16:16:30 +00:00
issue21897.go misc/cgo/test: disable some Darwin tests in cgo mode 2018-07-23 15:16:01 +00:00
issue21897b.go misc/cgo/test: disable some Darwin tests in cgo mode 2018-07-23 15:16:01 +00:00
issue22958.go cmd/cgo: for C bitfields use only valid Go integer types 2017-12-01 23:50:23 +00:00
issue23356.go cmd/cgo: avoid name confliction for C functions 2018-06-18 18:28:02 +00:00
issue23555.go cmd/cgo: add import path to hash 2018-06-13 23:36:03 +00:00
issue23720.go misc/cgo/test: add test for passing compatible typedefs 2018-06-13 23:08:56 +00:00
issue24161_darwin_test.go misc/cgo/test: disable some Darwin tests in cgo mode 2018-07-23 15:16:01 +00:00
issue24206.go runtime: use bytes.IndexByte in findnull 2018-03-09 19:37:39 +00:00
issue24206_generic.go runtime: use bytes.IndexByte in findnull 2018-03-09 19:37:39 +00:00
issue25143.go cmd/cgo: visit cgo type inside ellipsis node 2018-05-01 00:44:48 +00:00
issue26066.go cmd/cgo: handle GCC 8 change in errors about constant initializers 2018-06-29 23:22:48 +00:00
issue26430.go cmd/cgo: don't report inconsistency error for incomplete typedef 2018-07-18 04:17:51 +00:00
issue26517.go cmd/cgo: make sure we FinishType everything 2018-07-31 19:29:20 +00:00
issue26743.go cmd/cgo: don't give inconsistent typedef error for cgo-defined types 2018-08-01 20:41:19 +00:00
issue27340.go [release-branch.go1.11] cmd/cgo: preserve type information across loadDWARF loop 2018-12-14 19:40:45 +00:00
issue28896.go [release-branch.go1.11] cmd/cgo: use field alignment when setting field offset 2018-12-03 04:59:56 +00:00
setgid_linux.go all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
sigaltstack.go misc/cgo/test: fix test when using GCC 7 2017-01-20 21:12:19 +00:00
sigprocmask.c misc/cgo/test: add retry loop around pthread_create in TestSigprocmask 2018-06-27 04:33:10 +00:00
sigprocmask.go misc/cgo/test: log error value in testSigprocmask 2018-04-25 20:26:39 +00:00
test22906.go cmd/cgo: make JNI's jobject type map to uintptr in Go 2017-12-08 16:13:14 +00:00
test26213.go cmd/cgo: update JNI's jobject to uintptr check for newer Android NDKs 2018-07-17 16:51:15 +00:00
test27660.go [release-branch.go1.11] runtime: never call into race detector with retaken P 2018-11-12 19:10:48 +00:00