all: drop support for Go 1.18

Go 1.18 has been unsupported for quite a while now (the oldest supported
version is Go 1.21). But more importantly, the golang.org/x/tools module
now requires Go 1.19 or later. So we'll drop this older version.
This commit is contained in:
Ayke van Laethem
2024-06-12 13:28:30 +02:00
committed by Ron Evans
parent 880e940417
commit 077b35e9ad
5 changed files with 8 additions and 9 deletions
+3 -3
View File
@@ -98,9 +98,9 @@ commands:
- /go/pkg/mod - /go/pkg/mod
jobs: jobs:
test-llvm15-go118: test-llvm15-go119:
docker: docker:
- image: golang:1.18-bullseye - image: golang:1.19-bullseye
steps: steps:
- test-linux: - test-linux:
llvm: "15" llvm: "15"
@@ -118,6 +118,6 @@ workflows:
jobs: jobs:
# This tests our lowest supported versions of Go and LLVM, to make sure at # This tests our lowest supported versions of Go and LLVM, to make sure at
# least the smoke tests still pass. # least the smoke tests still pass.
- test-llvm15-go118 - test-llvm15-go119
# This tests LLVM 18 support when linking against system libraries. # This tests LLVM 18 support when linking against system libraries.
- test-llvm18-go122 - test-llvm18-go122
+1 -1
View File
@@ -18,7 +18,7 @@ tarball. If you want to help with development of TinyGo itself, you should follo
LLVM, Clang and LLD are quite light on dependencies, requiring only standard LLVM, Clang and LLD are quite light on dependencies, requiring only standard
build tools to be built. Go is of course necessary to build TinyGo itself. build tools to be built. Go is of course necessary to build TinyGo itself.
* Go (1.18+) * Go (1.19+)
* GNU Make * GNU Make
* Standard build tools (gcc/clang) * Standard build tools (gcc/clang)
* git * git
+2 -2
View File
@@ -27,10 +27,10 @@ func NewConfig(options *compileopts.Options) (*compileopts.Config, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
if major != 1 || minor < 18 || minor > 22 { if major != 1 || minor < 19 || minor > 22 {
// Note: when this gets updated, also update the Go compatibility matrix: // Note: when this gets updated, also update the Go compatibility matrix:
// https://github.com/tinygo-org/tinygo-site/blob/dev/content/docs/reference/go-compat-matrix.md // https://github.com/tinygo-org/tinygo-site/blob/dev/content/docs/reference/go-compat-matrix.md
return nil, fmt.Errorf("requires go version 1.18 through 1.22, got go%d.%d", major, minor) return nil, fmt.Errorf("requires go version 1.19 through 1.22, got go%d.%d", major, minor)
} }
return &compileopts.Config{ return &compileopts.Config{
+1 -2
View File
@@ -514,8 +514,7 @@ var basicTypeNames = [...]string{
func getTypeCodeName(t types.Type) (string, bool) { func getTypeCodeName(t types.Type) (string, bool) {
switch t := t.(type) { switch t := t.(type) {
case *types.Named: case *types.Named:
// Note: check for `t.Obj().Pkg() != nil` for Go 1.18 only. if t.Obj().Parent() != t.Obj().Pkg().Scope() {
if t.Obj().Pkg() != nil && t.Obj().Parent() != t.Obj().Pkg().Scope() {
return "named:" + t.String() + "$local", true return "named:" + t.String() + "$local", true
} }
return "named:" + t.String(), false return "named:" + t.String(), false
+1 -1
View File
@@ -1,6 +1,6 @@
module github.com/tinygo-org/tinygo module github.com/tinygo-org/tinygo
go 1.18 go 1.19
require ( require (
github.com/aykevl/go-wasm v0.0.2-0.20240312204833-50275154210c github.com/aykevl/go-wasm v0.0.2-0.20240312204833-50275154210c