package buildcfg
Import Path
internal/buildcfg (on go.dev)
Dependency Relation
imports 8 packages, and imported by 2 packages
Involved Source Files
Package buildcfg provides access to the build configuration
described by the current environment. It is for use by build tools
such as cmd/go or cmd/compile and for setting up go/build's Default context.
Note that it does NOT provide access to the build configuration used to
build the currently-running binary. For that, use runtime.GOOS etc
as well as internal/goexperiment.
exp.go
zbootstrap.go
Package-Level Type Names (total 2)
ExperimentFlags represents a set of GOEXPERIMENT flags relative to a baseline
(platform-default) experiment configuration.
Flags goexperiment.Flags
AliasTypeParams enables type parameters for alias types.
Requires that gotypesalias=1 is set with GODEBUG.
This flag will be removed with Go 1.24.
Arenas causes the "arena" standard library package to be visible
to the outside world.
Flags.BoringCrypto bool
CacheProg adds support to cmd/go to use a child process to implement
the build cache; see https://github.com/golang/go/issues/59719.
CgoCheck2 enables an expensive cgo rule checker.
When this experiment is enabled, cgo rule checks occur regardless
of the GODEBUG=cgocheck setting provided at runtime.
CoverageRedesign enables the new compiler-based code coverage
tooling.
Flags.FieldTrack bool
HeapMinimum512KiB reduces the minimum heap size to 512 KiB.
This was originally reduced as part of PacerRedesign, but
has been broken out to its own experiment that is disabled
by default.
LoopVar changes loop semantics so that each iteration gets its own
copy of the iteration variable.
NewInliner enables a new+improved version of the function
inlining phase within the Go compiler.
Flags.PreemptibleLoops bool
RangeFunc enables range over func.
RegabiArgs enables register arguments/results in all
compiled Go functions.
Requires wrappers (to do ABI translation), and reflect (so
reflection calls use registers).
RegabiWrappers enables ABI wrappers for calling between
ABI0 and ABIInternal functions. Without this, the ABIs are
assumed to be identical so cross-ABI calls are direct.
Flags.StaticLockRanking bool
All returns a list of all experiment settings.
Disabled experiments appear in the list prefixed by "no".
Enabled returns a list of enabled experiments, as
lower-cased experiment names.
String returns the canonical GOEXPERIMENT string to enable this experiment
configuration. (Experiments in the same state as in the baseline are elided.)
*ExperimentFlags : expvar.Var
*ExperimentFlags : fmt.Stringer
func ParseGOEXPERIMENT(goos, goarch, goexp string) (*ExperimentFlags, error)
var Experiment
ARM v8.0 Cryptographic Extension. It includes the following features:
* FEAT_AES, which includes the AESD and AESE instructions.
* FEAT_PMULL, which includes the PMULL, PMULL2 instructions.
* FEAT_SHA1, which includes the SHA1* instructions.
* FEAT_SHA256, which includes the SHA256* instructions.
Large Systems Extension
Version string
( Goarm64Features) String() string
Returns true if g supports giving ARM64 ISA
Note that this function doesn't accept / test suffixes (like ",lse" or ",crypto")
Goarm64Features : expvar.Var
Goarm64Features : fmt.Stringer
func ParseGoarm64(v string) (g Goarm64Features, e error)
var GOARM64
Package-Level Functions (total 5)
Check exits the program with a fatal error if Error is non-nil.
func Getgoextlinkenabled() string
GOGOARCH returns the name and value of the GO$GOARCH setting.
For example, if GOARCH is "amd64" it might return "GOAMD64", "v2".
func ParseGoarm64(v string) (g Goarm64Features, e error)
ParseGOEXPERIMENT parses a (GOOS, GOARCH, GOEXPERIMENT)
configuration tuple and returns the enabled and baseline experiment
flag sets.
TODO(mdempsky): Move to internal/goexperiment.
Package-Level Variables (total 18)
Error is one of the errors found (if any) in the build configuration.
Experiment contains the toolchain experiments enabled for the
current build.
(This is not necessarily the set of experiments the compiler itself
was built with.)
experimentBaseline specifies the experiment flags that are enabled by
default in the current toolchain. This is, in effect, the "control"
configuration and any variation from this is an experiment.
FramePointerEnabled enables the use of platform conventions for
saving frame pointers.
This used to be an experiment, but now it's always enabled on
platforms that support it.
Note: must agree with runtime.framepointer_enabled.
var GOARM goarmFeatures var GOWASM gowasmFeatures
Package-Level Constants (only one)
DefaultGOEXPERIMENT is the embedded default GOEXPERIMENT string.
It is not guaranteed to be canonical.
The pages are generated with Golds v0.6.9-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |