aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/go
AgeCommit message (Collapse)AuthorFilesLines
2024-02-02compiler: export the type "any" as a builtinIan Lance Taylor1-14/+16
Otherwise we can't tell the difference between builtin type "any" and a locally defined type "any". This will require updates to the gccgo export data parsers in the main Go repo and the x/tools repo. These updates are https://go.dev/cl/537195 and https://go.dev/cl/537215. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/536715
2022-03-16libgo: update to final Go 1.18 releaseIan Lance Taylor53-442/+1188
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/393377
2022-02-18libgo: update to Go1.18rc1 releaseIan Lance Taylor54-491/+1256
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/386594
2022-02-11libgo: update to Go1.18beta2Ian Lance Taylor212-6203/+11813
gotools/ * Makefile.am (go_cmd_cgo_files): Add ast_go118.go (check-go-tool): Copy golang.org/x/tools directories. * Makefile.in: Regenerate. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/384695
2021-09-16libgo: update to go1.17.1 releaseIan Lance Taylor2-2/+1
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/350414
2021-08-12libgo: update to Go1.17rc2Ian Lance Taylor237-2898/+14030
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/341629
2021-03-15libgo: update to Go 1.16.2 releaseIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/301459
2021-01-29libgo: update to Go1.16rc1Ian Lance Taylor11-69/+1126
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/287493
2020-12-30libgo: update to Go1.16beta1 releaseIan Lance Taylor78-1384/+3926
This does not yet include support for the //go:embed directive added in this release. * Makefile.am (check-runtime): Don't create check-runtime-dir. (mostlyclean-local): Don't remove check-runtime-dir. (check-go-tool, check-vet): Copy in go.mod and modules.txt. (check-cgo-test, check-carchive-test): Add go.mod file. * Makefile.in: Regenerate. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/280172
2020-11-20compiler, libgo: change mangling schemeIan Lance Taylor1-1/+1
Overhaul the mangling scheme to avoid ambiguities if the package path contains a dot. Instead of using dot both to separate components and to mangle characters, use dot only to separate components and use underscore to mangle characters. For golang/go#41862 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/271726
2020-10-27compiler, go/internal/gccgoimporter: export notinheap annotationIan Lance Taylor1-0/+7
This is the gofrontend version of https://golang.org/cl/259297. This is required now because that change is in the 1.15.3 release. This requires changing the go/internal/gccgoimporter package, to skip the new annotation. This change will need to be ported to the gc and x/tools repos. For golang/go#41761 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/265258
2020-09-30libgo: add 32-bit RISC-V (RV32) supportMaciej W. Rozycki1-1/+3
Add support for the 32-bit RISC-V (RV32) ISA matching the 64-bit RISC-V (RV64) port except for async preemption added as a stub only. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/251179
2020-09-21go/internal/gccgoimporter: recognize aixbigafMagic archivesClément Chigot1-1/+1
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/255201
2020-08-01libgo: update to go1.15rc1Ian Lance Taylor47-1787/+1987
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/245157
2020-07-10libgo: update to Go 1.14.4 releaseIan Lance Taylor3-28/+62
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/241999
2020-04-06libgo: update to almost the 1.14.2 releaseIan Lance Taylor1-2/+3
Update to edea4a79e8d7dea2456b688f492c8af33d381dc2 which is likely to be approximately the 1.14.2 release. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/227377
2020-02-26libgo: update to final Go1.14 releaseIan Lance Taylor2-11/+12
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/221158
2020-02-15libgo: update to Go1.14rc1 releaseIan Lance Taylor6-28/+46
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/218017
2020-01-21libgo: update to Go1.14beta1Ian Lance Taylor75-1324/+2501
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/214297
2020-01-09libgo: compile examples in _test packagesIan Lance Taylor1-3/+3
Previously if the only names defined by _test packages were examples, the gotest script would emit an incorrect _testmain.go file. I worked around that by marking the example_test.go files +build ignored. This CL changes the gotest script to handle this case correctly, and removes the now-unnecessary build tags. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/214039 From-SVN: r280085
2019-09-12libgo: update to Go1.13Ian Lance Taylor9-213/+59
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/194698 From-SVN: r275691
2019-09-10go/internal/gccgoimporter: support embedded field in pointer loopIan Lance Taylor4-25/+74
Backport of https://golang.org/cl/194440. Original description: If an embedded field refers to a type via a pointer, the parser needs to know the name of the embedded field. It is possible that the pointer type is not yet resolved. This CL fixes the parser to handle that case by setting the pointer element type to the unresolved named type while the pointer is being resolved. Updates golang/go#34182 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/194562 From-SVN: r275606
2019-09-06libgo: update to Go 1.13beta1 releaseIan Lance Taylor47-339/+1719
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/193497 From-SVN: r275473
2019-06-07go/internal/gccgoimporter: ignore unexported and imported namesIan Lance Taylor1-26/+27
Due to inlining, we can now see unexported functions and variables, and functions and variables imported from different packages. Ignore them rather than reporting them from this package. Handle $hash and $equal functions consistently, so that we discard the inline body if there is one. Ignore names created for result parameters for inlining purposes. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180758 From-SVN: r272023
2019-06-05compiler: inline call expressions and function referencesIan Lance Taylor1-2/+15
Scan inlinable methods for references to global variables and functions (forgot to do that earlier). Track all packages mentioned by exports (that should have been done earlier too). Record assembler name in export data, so that we can inline calls to non-Go functions. Modify gccgoimporter code to skip assembler name. This increases the number of inlinable functions in the standard library from 215 to 439. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180677 From-SVN: r271976
2019-03-02re PR go/89406 (Go testing leaves many temporary directories in /tmp around)Ian Lance Taylor1-6/+6
PR go/89406 go/internal/gccgoimporter: remove temporary directories in test Backport of https://golang.org/cl/164862. Updates https://gcc.gnu.org/PR89406 Reviewed-on: https://go-review.googlesource.com/c/164863 From-SVN: r269338
2019-01-18libgo: update to Go1.12beta2Ian Lance Taylor89-757/+2070
Reviewed-on: https://go-review.googlesource.com/c/158019 gotools/: * Makefile.am (go_cmd_vet_files): Update for Go1.12beta2 release. (GOTOOLS_TEST_TIMEOUT): Increase to 600. (check-runtime): Export LD_LIBRARY_PATH before computing GOARCH and GOOS. (check-vet): Copy golang.org/x/tools into check-vet-dir. * Makefile.in: Regenerate. gcc/testsuite/: * go.go-torture/execute/names-1.go: Stop using debug/xcoff, which is no longer externally visible. From-SVN: r268084
2018-11-27compiler: add '$' to names in expression export dataIan Lance Taylor1-0/+9
For inlined function bodies we're going to need to refer to variables, so change the existing export data to add a '$' to names that look like identifiers: true, false, nil, convert. While we're here drop an unnecessary space character after operators. Reviewed-on: https://go-review.googlesource.com/c/150067 From-SVN: r266529
2018-11-26compiler: initial support for exporting function bodiesIan Lance Taylor1-6/+57
Create a framework for putting function bodies in export data. At present only empty functions will be put there, and they will be ignored on import. Later patches will get this to the point of supporting inlining of (some) functions defined in other packages. Reviewed-on: https://go-review.googlesource.com/c/150061 From-SVN: r266490
2018-10-23compiler: export indexed type data, read unexported types lazilyIan Lance Taylor1-3/+78
Introduce a new "types" command to the export data to record the number of types and the size of their export data. It is immediately followed by new "type" commands that can be indexed. Parse all the exported types immediately so that we register them, but parse other type data only as needed. Reviewed-on: https://go-review.googlesource.com/c/143022 From-SVN: r265409
2018-10-18compiler: list indirect imports separately in export dataIan Lance Taylor1-0/+8
Previously when export data referred to a type that was not defined in a directly imported package, we would write the package name as additional information in the type's export data. That approach required all type information to be read in order. This patch changes the compiler to find all references to indirectly imported packages, and write them out as an indirectimport line in the import data. This will permit us to read exported type data out of order. The type traversal used to find indirect imports is a little more complicated than necessary in preparation for later patches in this series. Reviewed-on: https://go-review.googlesource.com/c/143020 From-SVN: r265296
2018-10-18compiler: drop semicolons in export dataIan Lance Taylor3-38/+51
The export data, which is approximately readable and looks something like Go, was first implemented back when Go still used semicolons. Drop the semicolons, to make it look slightly more Go like and make it slightly smaller. This updates the compiler and the gccgoimporter package. This introduces a new version of the export data. There are going to be more changes to the export data, so this version is still subject to change. Reviewed-on: https://go-review.googlesource.com/c/143018 From-SVN: r265284
2018-10-08libgo: update to Go 1.11.1 releaseIan Lance Taylor2-1/+3
Reviewed-on: https://go-review.googlesource.com/c/140277 From-SVN: r264932
2018-09-24libgo: update to Go 1.11Ian Lance Taylor121-1398/+5295
Reviewed-on: https://go-review.googlesource.com/136435 gotools/: * Makefile.am (mostlyclean-local): Run chmod on check-go-dir to make sure it is writable. (check-go-tools): Likewise. (check-vet): Copy internal/objabi to check-vet-dir. * Makefile.in: Rebuild. From-SVN: r264546
2018-06-11libgo: add riscv and js/wasm as known targetsIan Lance Taylor2-3/+4
Incorporates cut down versions of https://golang.org/cl/102835 and https://golang.org/cl/106256 from the master sources. This will tell go/build to skip files with those tags. Reviewed-on: https://go-review.googlesource.com/117996 From-SVN: r261451
2018-05-31libgo: update to Go 1.10.2 releaseIan Lance Taylor4-23/+47
Reviewed-on: https://go-review.googlesource.com/115196 From-SVN: r261041
2018-05-30cmd/go, cmd/vet: make vet work with gccgoIan Lance Taylor1-1/+1
Backport https://golang.org/cl/113715 and https://golang.org/cl/113716: cmd/go: don't pass -compiler flag to vet Without this running go vet -compiler=gccgo causes vet to fail. The vet tool does need to know the compiler, but it is passed in vetConfig.Compiler. cmd/go, cmd/vet, go/internal/gccgoimport: make vet work with gccgo When using gccgo/GoLLVM, there is no package file for a standard library package. Since it is impossible for the go tool to rebuild the package, and since the package file exists only in the form of a .gox file, this seems like the best choice. Unfortunately it was confusing vet, which wanted to see a real file. This caused vet to report errors about missing package files for standard library packages. The gccgoimporter knows how to correctly handle this case. Fix this by 1) telling vet which packages are standard; 2) letting vet skip those packages; 3) letting the gccgoimporter handle this case. As a separate required fix, gccgo/GoLLVM has no runtime/cgo package, so don't try to depend on it (as it happens, this fixes golang/go#25324). The result is that the cmd/go vet tests pass when using -compiler=gccgo. Reviewed-on: https://go-review.googlesource.com/114516 From-SVN: r260913
2018-05-09go/build, cmd/go: update to match recent changes to gcIan Lance Taylor3-11/+150
Several recent changes to the gc version of cmd/go improve the gofrontend support. These changes are partially copies of existing gofrontend differences, and partially new code. This CL makes the gofrontend match the upstream code. The changes included here come from: https://golang.org/cl/111575 https://golang.org/cl/111595 https://golang.org/cl/111635 https://golang.org/cl/111636 For the record, the following recent gc changes are based on code already present in the gofrontend repo: https://golang.org/cl/110915 https://golang.org/cl/111615 For the record, a gc change, partially based on earlier gofrontend work, also with new gc code, was already copied to gofrontend repo in CL 111099: https://golang.org/cl/111097 This moves the generated list of standard library packages from cmd/go/internal/load to go/build. Reviewed-on: https://go-review.googlesource.com/112475 gotools/: * Makefile.am (check-go-tool): Don't copy zstdpkglist.go. * Makefile.in: Rebuild. From-SVN: r260097
2018-05-04cmd/go: update to match recent changes to gcIan Lance Taylor3-8/+32
In https://golang.org/cl/111097 the gc version of cmd/go was updated to include some gofrontend-specific changes. The gofrontend code already has different versions of those changes; this CL makes the gofrontend match the upstream code. Reviewed-on: https://go-review.googlesource.com/111099 From-SVN: r259918
2018-05-02libgo: add support for the Nios II architectureIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/90775 From-SVN: r259866
2018-02-22re PR go/84484 (libgo configure tests fail to find -latomic)Andreas Schwab1-1/+1
PR go/84484 libgo: add support for riscv64 Patch by Andreas Schwab. Reviewed-on: https://go-review.googlesource.com/96377 * go.test/go-test.exp (go-set-goarch): Recognize riscv64-*-*. From-SVN: r257914
2018-02-08libgo: update to Go1.10rc2Ian Lance Taylor2-5/+1
Reviewed-on: https://go-review.googlesource.com/92736 From-SVN: r257493
2018-01-27libgo: update to Go1.10rc1Ian Lance Taylor6-4/+80
Reviewed-on: https://go-review.googlesource.com/90295 From-SVN: r257126
2018-01-17libgo: update to Go1.10beta2 releaseIan Lance Taylor16-38/+191
Reviewed-on: https://go-review.googlesource.com/87897 From-SVN: r256794
2018-01-14go/types: implement SizesFor for gccgoIan Lance Taylor1-2/+8
Move the architecture-specific settings out of configure.ac into a new shell script goarch.sh. Use the new script to collect the values for all architectures to make them available in go/types. Also fix cmd/vet to pass the right compiler when it calls SizesFor. This fixes cmd/vet for systems that are not implemented in the gc toolchain, such as alpha and ia64. Reviewed-on: https://go-review.googlesource.com/87635 From-SVN: r256655
2018-01-10libgo: add platform support for SuperHIan Lance Taylor1-1/+1
Reviewed-on: https://go-review.googlesource.com/84555 From-SVN: r256446
2018-01-10Add missing .a files.Ian Lance Taylor4-0/+0
Add missing .a files. These should have been committed with the update to go1.10beta1, but were skipped because by default Subversion ignores all files matching *.a. From-SVN: r256442
2018-01-09libgo: update to Go1.10beta1Ian Lance Taylor66-318/+1289
Update the Go library to the 1.10beta1 release. Requires a few changes to the compiler for modifications to the map runtime code, and to handle some nowritebarrier cases in the runtime. Reviewed-on: https://go-review.googlesource.com/86455 gotools/: * Makefile.am (go_cmd_vet_files): New variable. (go_cmd_buildid_files, go_cmd_test2json_files): New variables. (s-zdefaultcc): Change from constants to functions. (noinst_PROGRAMS): Add vet, buildid, and test2json. (cgo$(EXEEXT)): Link against $(LIBGOTOOL). (vet$(EXEEXT)): New target. (buildid$(EXEEXT)): New target. (test2json$(EXEEXT)): New target. (install-exec-local): Install all $(noinst_PROGRAMS). (uninstall-local): Uninstasll all $(noinst_PROGRAMS). (check-go-tool): Depend on $(noinst_PROGRAMS). Copy down objabi.go. (check-runtime): Depend on $(noinst_PROGRAMS). (check-cgo-test, check-carchive-test): Likewise. (check-vet): New target. (check): Depend on check-vet. Look at cmd_vet-testlog. (.PHONY): Add check-vet. * Makefile.in: Rebuild. From-SVN: r256365
2017-11-23cmd/go, go/internal/gccgoimporter: pass -X to ar on AIXIan Lance Taylor1-2/+4
Reviewed-on: https://go-review.googlesource.com/72930 From-SVN: r255090
2017-09-22debug/xcoff,cmd: add XCOFF supportIan Lance Taylor2-13/+32
Reviewed-on: https://go-review.googlesource.com/64592 From-SVN: r253105