The Go programming language https://go.dev
Find a file
Cherry Mui c7fed112a9 [dev.simd] all: merge master (99d7121) into dev.simd
Conflicts:

- src/internal/buildcfg/exp.go
- src/simd/archsimd/_gen/simdgen/xed.go

Merge List:

+ 2026-02-05 99d7121934 cmd/link: add more clang driver flags when testing flag
+ 2026-02-04 b8bccb9798 cmd/compile: don't double-walk the map argument of clear
+ 2026-02-04 513bb875bc test/codegen: codify bit related code generation for loong64
+ 2026-02-04 c5a3cf6e08 net/http: use SplitSeq in ParseCookie
+ 2026-02-04 3b092b27a9 net/textproto: add Referer to commonHeader
+ 2026-02-04 9972154461 go/build: don't invoke go command when setting UseAllFiles
+ 2026-02-04 f2e7fa6d31 net/http/httptrace: compose ClientTrace without reflect
+ 2026-02-04 044fe174d7 internal/stringslite: remove duplicate code in Index
+ 2026-02-04 f766b8da6c cmd/link: remove obsolete duffzero/duffcopy code
+ 2026-02-04 28fbdf7acb cmd/go: fix pkg-config flag sanitization
+ 2026-02-04 045d1270a7 internal/poll: unlock read lock if write lock fails in readWriteLock
+ 2026-02-04 bd1b41eb81 reflect, runtime: adjust user-created GCData on AIX
+ 2026-02-04 01299a31c2 cmd/cgo: use objdir consistently, create it as needed
+ 2026-02-04 1bbb78e777 cmd/go: rewrite cgo names to "C." in compiler error messages
+ 2026-02-03 a3688ab13e cmd/compile: add node collapse/expand to html ast output
+ 2026-02-03 ae7b257f24 cmd/compile: enhance astdump flag to also generate HTML
+ 2026-02-03 835d6d42c4 cmd/compile: add astdump debug flag
+ 2026-02-03 1179cfc9b4 net/http: prevent blocking when draining response body after it has been closed
+ 2026-02-03 8572b1cfea internal/runtime: fix assembly for spectre retpoline instrumentation
+ 2026-02-03 e0414d74fe bytes, strings: replace asciiSet bitset with lookup table
+ 2026-02-03 b691a2edc7 crypto/tls: revalidate whole chain on resumption on Windows and macOS
+ 2026-02-03 31c9bcb103 internal/poll: readWriteUnlock should destroy fd when no remaining references
+ 2026-02-02 18d31e3e8b compress/bzip2: use obscuretestdata.ReadFile to avoid creating temporary
+ 2026-02-02 7fd116f864 go/types, types2: add missing Named.unpack call in Checker.hasVarSize
+ 2026-02-02 8ac41b52c4 testing/synctest: add Sleep
+ 2026-02-02 62d08234b7 internal/maps,cmd/compile/internal/walk: replace calls to mapaccess1* with mapaccess2*
+ 2026-02-02 35abaf75c3 encoding/json: use pooled encoder in Encoder.Encode
+ 2026-02-02 07f7f8ca52 cmd/cover, cmd/covdata: actually delete temp dirs
+ 2026-02-02 1c9abbdc8e crypto/tls: document resumption behavior across Configs
+ 2026-02-02 cce3fea08f internal/poll: move buffer pinning inside execIO
+ 2026-02-02 3b2a451cef internal/poll: consolidate cancelIO logic into waitIO
+ 2026-02-02 6de7a19fea net: don't wait 5 seconds to re-read /etc/resolv.conf
+ 2026-02-02 11d5284363 net/http: try to drain response body upon closing for better connection re-use
+ 2026-02-02 d99be5c444 crypto/sha1: use const table for key loading on loong64
+ 2026-01-30 acd65ebb13 runtime: delete unused parameter of userForced
+ 2026-01-30 045fe9aa8c fmt: avoid storing input arguments on pp to help escape analysis
+ 2026-01-30 f14d8975a2 runtime: align end of systemstack_switch prologue on amd64 for consistency with gosave_systemstack_switch
+ 2026-01-30 35c5deb1d4 all: switch linux-ppc64 target to ELFv2 ABI
+ 2026-01-30 afae853072 cmd/go,crypto/mlkem,crypto/x509,encoding/ascii85: clean up tautological/impossible nil conditions
+ 2026-01-29 5aa006dee0 test/codegen: add bitwise operation combination tests
+ 2026-01-29 bae9486d07 cmd/compile/internal/bloop: avoid extraneous heap allocs in b.Loop body due to autotmp variable scope
+ 2026-01-29 c08f6a5b26 cmd/link: put type:* at the start of the type descriptors
+ 2026-01-29 14a4cb13e3 cmd/compile: make prove use non-equality in subtraction for a stronger bound
+ 2026-01-29 ee7a2119ac cmd/link: remove AIX special case for first type descriptor
+ 2026-01-29 48788436b8 go/token: simplify fixOffset
+ 2026-01-29 5593ea4634 cmd/link: adjust symkind comparisons in XCOFF code
+ 2026-01-29 baa6b1f2bf cmd/compile: update ABI document for loong64
+ 2026-01-29 10ed9b6ed5 runtime: use smaller max align for arm32
+ 2026-01-29 1172294145 runtime, cmd/link: store type descriptor length, not end
+ 2026-01-28 2bd7f15dd7 go/scanner: document implicit semicolon in multiline comments
+ 2026-01-28 74c909b2c5 go/parser: use (*Scanner).End instead of scannerhooks
+ 2026-01-28 15882523a1 go/parser: use (*Scanner).End in error testing
+ 2026-01-28 3c924059e6 go/scanner: add End method to Scanner
+ 2026-01-28 7f0f671951 math: optimize the floating-point pipeline on loong64
+ 2026-01-28 985b0b3fe2 simd/archsimd: add missing cpufeature to generated mask/merge methods
+ 2026-01-28 83b232b0af cmd/compile, simd: capture VAES instructions and fix AVX512VAES feature
+ 2026-01-28 6aef900af4 runtime/metrics: fix panic in Read with empty slice
+ 2026-01-28 026fa9dc59 crypto/tls: check verifiedChains roots when resuming sessions
+ 2026-01-28 133b339ca5 crypto/tls: add verifiedChains expiration checking during resumption
+ 2026-01-28 4f9c3439a3 Revert "crypto/tls: don't copy auto-rotated session ticket keys in Config.Clone"
+ 2026-01-28 134035855c cmd/compile: simplify slice/array range loops on loong64
+ 2026-01-28 f65fe3216e cmd/compile: (loong64) optimize float32(abs|sqrt64(float64(x)))
+ 2026-01-28 514790c2b9 cmd/compile: remove the NORconst op on mips{,64}
+ 2026-01-27 a0796d8af6 reflect: allow conversions between slices of named {byte,rune} and string
+ 2026-01-27 481ab86aaf cmd/link, runtime: remove typelinks
+ 2026-01-27 251f3aa6ee os/exec: document blocking Stdin/Stdout/Stderr
+ 2026-01-27 5ec5fdc093 cmd/link: remove unused symbol kind SFUNCTAB
+ 2026-01-27 0f72aff835 simd/archsimd: fix typo in the SHA256Message1 documentation string
+ 2026-01-27 03a6a20740 cmd/link: handle SRODATALRELRO in xcoffUpdateOuterSize
+ 2026-01-27 ffb50fb716 go/types, types2: rename Named.finite to Named.varSize
+ 2026-01-27 d8d2b90a46 internal/runtime/gc/scan: include package in expandAVX512 symbol names
+ 2026-01-27 64e8b238a1 runtime: rename aeshashbody to runtime.aeshashbody
+ 2026-01-27 a977717393 go/types, types2: add check for map value completeness in IndexExpr
+ 2026-01-27 8ca47fab42 go/types, types2: replace pendingType with completion check
+ 2026-01-27 2d1f571c6b cmd/compile, runtime: avoid improper control transfer instruction hints on riscv64
+ 2026-01-27 f532f87a98 crypto/subtle: add vector implementation of xorBytes for riscv64
+ 2026-01-26 cf0c42c2ca cmd/compile/internal/reflectdata: fix divide by zero for zero-size array elements
+ 2026-01-26 bb221e8954 doc/go1.27: document macOS requirements
+ 2026-01-26 d381731e06 README.vendor: document release cycle considerations
+ 2026-01-26 cffd7a3ec4 cmd/pprof: update vendored github.com/google/pprof
+ 2026-01-26 b04e7f31c8 internal/reflectlite: remove unused code
+ 2026-01-26 cc6923e839 cmd/compile: reduce lock/scheduler contention
+ 2026-01-26 f809faeb8e go/scanner: clear all fields after Scanner reuse
+ 2026-01-23 1bd5dbfc41 cmd/compile: simplify AlgType usage
+ 2026-01-23 59ed013621 cmd/compile: simplify array parsing in equality signatures
+ 2026-01-23 cca64d0f5c cmd/compile: clean up eq and hash implementations
+ 2026-01-23 0da8979210 cmd/compile: use equality signatures in hash function generation
+ 2026-01-23 6eec9bcdb2 cmd/compile: reorg equality functions a bit
+ 2026-01-23 30dff416e4 cmd/compile: redo how equality functions are generated
+ 2026-01-23 f8b72802d7 encoding/json: fix typo in package doc.
+ 2026-01-23 b408256be7 cmd/compile: fix loopvar version detection with line directives
+ 2026-01-23 27fcec4d8f runtime: speed up cheaprand and cheaprand64
+ 2026-01-23 478d86446e cmd/compile: on amd64 use 32bits copies for 64bits copies of 32bits values
+ 2026-01-23 8f739162e6 cmd/compile: cleanup noLimit in prove
+ 2026-01-23 f35fb95503 cmd/compile: improve PopCount's limits modeling and add bruteforce tests
+ 2026-01-23 417d5e6627 cmd/compile: add limits bruteforce tests for bitlen
+ 2026-01-23 a4fda8d32a cmd/compile: improve Ctz's limits modeling and add bruteforce tests
+ 2026-01-23 82ef9f5b21 cmd/compile: cleanup isUnsignedPowerOfTwo
+ 2026-01-23 3443ae0863 net: fix some ineffectual assignments reported by ineffassign
+ 2026-01-23 ca5ffe0092 all: update vendored dependencies
+ 2026-01-23 4af8ad24ee internal/buildcfg: disable sizespecializedmalloc by default
+ 2026-01-23 b291c3c35c cmd/compile: fix typos in types2 api_test.go
+ 2026-01-23 d774ced6a9 cmd/go/internal/vcs: support git worktrees
+ 2026-01-23 6d89ab44cc go/types, types: flip field/method selection logic inside out (cleanup)
+ 2026-01-23 021d5ca042 cmd/compile: avoid extending when already sufficiently shifted on loong64
+ 2026-01-23 c04335e33a math/pow10: remove overlapping boundary (n=0)
+ 2026-01-23 a1150b5017 cmd/compile/internal/pgo: error parsing profile (for pgo) after scaling
+ 2026-01-23 6b7206feb2 runtime: remove logical stack sentinel for runtime lock stacks
+ 2026-01-23 23f7ba554d math: use shared signMask constant
+ 2026-01-23 84c8483e02 runtime: remove unused mutexevent linkname
+ 2026-01-22 13096a62e6 cmd/link: put type descriptors in .go.type section
+ 2026-01-22 6edb9f9c51 go/types, types2: remove support for gotypesalias GODEBUG flag
+ 2026-01-22 819c53c25f cmd/compile: ensure ops have the expected argument widths
+ 2026-01-22 c7258178cd cmd/compile: optimize small constant-sized MemEq
+ 2026-01-22 26ffe78b8c encoding/json: remove unneeded unsafe import
+ 2026-01-22 e0c4ad77cf net/http: Add Server.DisableClientPriority field
+ 2026-01-22 dd39dfb534 all: update to Unicode 17
+ 2026-01-22 a006e17162 syscall: document Sendfile semantics
+ 2026-01-22 858d4bf851 debug/elf: return FormatError when reading short files
+ 2026-01-22 8e3104dc26 simd/archsimd/_gen/simdgen: fix typos in error messages
+ 2026-01-22 eaf6650c2b test: use lower-case error message in heapsampling.go
+ 2026-01-22 1b7e5836ad cmd/compile: speedup large init function compile time
+ 2026-01-22 e9e05687de internal/runtime: remove math.Mul64
+ 2026-01-22 1996c22f0a syscall: return early on error in Recvmsg
+ 2026-01-22 c61a48619f cmd/compile: allow Bswap{64,32,16} on loong64
+ 2026-01-22 6ba3494e16 cmd/go/internal/vcs: use 0o for octal
+ 2026-01-22 dcb42485ac cmd/cgo: add test for sanitizing smuggled doc comment code
+ 2026-01-22 fde15bbfc1 strings: use bytealg.LastIndexRabinKarp on strings.LastIndex
+ 2026-01-22 0f9cdc2fbc net/http: use math/rand/v2 instead of math/rand
+ 2026-01-22 d2aad0df60 runtime: guard unexpected return pc gp.m dereference
+ 2026-01-22 bfb851c31e cmd/compile: reserve less memory for bitvectors
+ 2026-01-22 0152075d5a encoding/json/v2: remove issue reference in Duration formatting error
+ 2026-01-22 a535896627 cmd/compile: remove unnecessary code in keepAliveAt
+ 2026-01-22 dae71067ce cmd/compile: fix mis-compilation for static array initialization
+ 2026-01-22 adb64adfd7 cmd/compile: refactor preserveStmt
+ 2026-01-22 540ccca0a7 cmd/compile: better name for BloopWalk
+ 2026-01-21 2d37c20778 go/types, types2: better error when selecting field on type rather than value
+ 2026-01-21 455282911a doc/next: initialize
+ 2026-01-21 83c44ec032 internal/goversion: update Version to 1.27
+ 2026-01-21 2baa1d1762 runtime: remove the unused scanIdx from mspan
+ 2026-01-20 a8291eb614 cmd/compile/internal/staticinit: fix bug in global new(expr)
+ 2026-01-20 4edaaf2b52 strconv: don't call internal Atoi twice in Atoi
+ 2026-01-16 7251c9e0f0 doc: fix urlmaxqueryparams typos
+ 2026-01-15 532e320349 go/types,cmd/compile/internal/types2: better diagnostic for type shadowing
+ 2026-01-15 bb7c0c717c archive/zip: reduce CPU usage in index construction
+ 2026-01-15 2dcaaa7512 net/url: add urlmaxqueryparams GODEBUG to limit the number of query parameters
+ 2026-01-15 5e1ad12db9 cmd/go/internal/work: sanitize flags before invoking 'pkg-config'
+ 2026-01-15 94a1296a45 cmd/go: update VCS commands to use safer flag/argument syntax
+ 2026-01-15 bba24719a4 crypto/tls: don't copy auto-rotated session ticket keys in Config.Clone
+ 2026-01-15 9ef26e96e3 sort: improve comment readability for Stable function
+ 2026-01-14 2bc4315d92 crypto/internal/fips140test: add ML-DSA to FIPS 140-3 functional tests
+ 2026-01-13 e242961960 simd/archsimd: 128- and 256-bit FMA operations do not require AVX-512
+ 2026-01-13 9ef1692c93 simd/archsimd/_gen/simdgen: feature implications
+ 2026-01-13 e2fef50def runtime: rename mallocTiny* to mallocgcTinySize*
+ 2026-01-13 7f6418bb4e all: fix misspellings in comments
+ 2026-01-12 c16402d15b os/exec: move platform-specific LookPath docs to a common comment
+ 2026-01-12 b7e6d8b923 os/exec_test: fix test on Plan 9
+ 2026-01-12 cbe153806e net: fix socket duplication error handling on Windows
+ 2026-01-12 30d0b40264 net: don't ignore getsockname errors in newFileFD
+ 2026-01-12 5741608de2 net: don't ignore errors in TestUnixUnlink
+ 2026-01-12 df6c351aa4 crypto: use testenv.Executable(t) instead of os.Args[0] in tests
+ 2026-01-12 cc1d7afb24 spec: slightly re-arrange composite literal section for readability
+ 2026-01-09 fed3b0a298 cmd/dist: fix goroot typo in panic message
+ 2026-01-09 55ab5bba17 path/filepath: Match: improve doc comment
+ 2026-01-09 088ba94439 crypto/rsa: log key on test failure
+ 2026-01-09 108b333d51 cmd/go: only use check cache action's dependencies to build vet config
+ 2026-01-08 2bbb2ace34 runtime/trace: fix documentation comment
+ 2026-01-08 6b2505c79c cmd/go: remove user-content from doc strings in cgo ASTs.
+ 2026-01-08 4b89bcb8b7 lib/fips140: freeze v1.26.0 FIPS 140-3 module
+ 2026-01-08 8ac4477d83 simd/archsimd: rename Broadcast methods
+ 2026-01-08 5facb3b24b internal/types: add test for cycles in value context
+ 2026-01-07 28147b5283 cmd/go: guarantee a minimum of min(4,GOMAXPROCS) to compile -c
+ 2026-01-07 874d8b98eb cmd/go/internal/work: decrement concurrentProcesses when action finishes
+ 2026-01-07 d1e7f49e3d internal/trace: fix recorder.Write return value for header-only buffers
+ 2026-01-07 f6ebd91129 all: update vendored x/tools
+ 2026-01-06 d1d0fc7a97 os/exec: avoid atomic.Bool for Cmd.startCalled
+ 2026-01-05 9b2e3b9a02 simd/archsimd: use V(P)MOVMSK for mask ToBits if possible
+ 2026-01-02 f8ee0f8475 cmd/go/testdata/vcstest/git: use git commands that work on older git versions
+ 2026-01-02 b094749bad test/codegen: codify bit related code generation for arm64

Change-Id: I1a49d6ac582b1fffd48cdc65ac4b59c46eb71d69
2026-02-05 14:23:43 -05:00
.github .github: update language change proposal template 2024-08-08 19:02:29 +00:00
api testing/synctest: add Sleep 2026-02-02 14:43:36 -08:00
doc testing/synctest: add Sleep 2026-02-02 14:43:36 -08:00
lib lib/fips140: freeze v1.26.0 FIPS 140-3 module 2026-01-08 09:58:32 -08:00
misc all: replace strings.Split with strings.SplitSeq 2025-09-15 17:34:45 -07:00
src [dev.simd] all: merge master (99d7121) into dev.simd 2026-02-05 14:23:43 -05:00
test cmd/compile: don't double-walk the map argument of clear 2026-02-04 17:48:06 -08:00
.gitattributes all: treat all files as binary, but check in .bat with CRLF 2020-06-08 15:31:43 +00:00
.gitignore .gitignore: ignore go test artifacts 2025-11-10 12:41:03 -08:00
codereview.cfg [dev.simd] codereview.cfg: set up dev.simd branch 2025-05-22 09:37:20 -07:00
CONTRIBUTING.md doc: normalize proposal-process links 2023-03-29 22:00:27 +00:00
go.env cmd/go: additional doc-inspired tests and bug fixes 2023-06-06 19:18:46 +00:00
LICENSE LICENSE: update per Google Legal 2024-08-09 14:54:31 +00:00
PATENTS LICENSE: separate, change PATENTS text 2010-12-06 16:31:59 -05:00
README.md README: fix CC BY license name 2024-07-22 17:45:27 +00:00
SECURITY.md SECURITY.md: update the Reporting a Vulnerability link 2023-09-22 21:17:24 +00:00

The Go Programming Language

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

Gopher image Gopher image by Renee French, licensed under Creative Commons 4.0 Attribution license.

Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.

Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Download and Install

Binary Distributions

Official binary distributions are available at https://go.dev/dl/.

After downloading a binary release, visit https://go.dev/doc/install for installation instructions.

Install From Source

If a binary distribution is not available for your combination of operating system and architecture, visit https://go.dev/doc/install/source for source installation instructions.

Contributing

Go is the work of thousands of contributors. We appreciate your help!

To contribute, please read the contribution guidelines at https://go.dev/doc/contribute.

Note that the Go project uses the issue tracker for bug reports and proposals only. See https://go.dev/wiki/Questions for a list of places to ask questions about the Go language.