]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: use new for loop semantics for Go 1.22+ compilations
authorDavid Chase <drchase@google.com>
Wed, 5 Jul 2023 20:21:19 +0000 (16:21 -0400)
committerDavid Chase <drchase@google.com>
Tue, 8 Aug 2023 21:20:26 +0000 (21:20 +0000)
commitfe1daf2e439ec1d650ea1193f10f52525f83f8a7
tree4db784376b586aa2a60b2ed79fde7889c557273b
parent6d8d88a70716bd35708748ba4e0110bdcd9520f3
cmd/compile: use new for loop semantics for Go 1.22+ compilations

This includes version-dependent support for GOEXPERIMENT and
-d=loopvar, -d=loopvarhash, to allow testing/porting of old code.

Includes tests of downgrade (1.22 -> 1.21) and upgrade (1.21 -> 1.22)
based on //go:build lines (while running a 1.22 build/compiler).

Change-Id: Idd3be61a2b46acec33c7e7edac0924158cc726b4
Reviewed-on: https://go-review.googlesource.com/c/go/+/508819
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/cmd/compile/internal/loopvar/loopvar.go
src/cmd/compile/internal/loopvar/loopvar_test.go
src/cmd/compile/internal/loopvar/testdata/opt-121.go [new file with mode: 0644]
src/cmd/compile/internal/loopvar/testdata/opt-122.go [new file with mode: 0644]
src/cmd/compile/internal/noder/irgen.go
src/cmd/compile/internal/noder/reader.go
src/cmd/compile/internal/noder/writer.go