documentation

package
v0.0.0-...-1d03baa Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2013 License: BSD-3-Clause Imports: 0 Imported by: 0

Documentation

Overview

Gc is the generic label for the family of Go compilers that function as part of the (modified) Plan 9 tool chain. The C compiler documentation at

http://plan9.bell-labs.com/sys/doc/comp.pdf     (Tools overview)
http://plan9.bell-labs.com/sys/doc/compiler.pdf (C compiler architecture)

gives the overall design of the tool chain. Aside from a few adapted pieces, such as the optimizer, the Go compilers are wholly new programs.

The compiler reads in a set of Go files, typically suffixed ".go". They must all be part of one package. The output is a single intermediate file representing the "binary assembly" of the compiled package, ready as input for the linker (6l, etc.).

The generated files contain type information about the symbols exported by the package and about types used by symbols imported by the package from other packages. It is therefore not necessary when compiling client C of package P to read the files of P's dependencies, only the compiled output of P.

Usage:

go tool 6g [flags] file...

The specified files must be Go source files and all part of the same package. Substitute 6g with 8g or 5g where appropriate.

Flags:

-o file
	output file, default file.6 for 6g, etc.
-e
	normally the compiler quits after 10 errors; -e prints all errors
-p path
	assume that path is the eventual import path for this code,
	and diagnose any attempt to import a package that depends on it.
-D path
	treat a relative import as relative to path
-L
	show entire file path when printing line numbers in errors
-I dir1 -I dir2
	add dir1 and dir2 to the list of paths to check for imported packages
-N
	disable optimizations
-S
	write assembly language text to standard output (code only)
-SS
	write assembly language text to standard output (code and data)
-u
	disallow importing packages not marked as safe
-V
	print the compiler version
-race
	compile with race detection enabled

There are also a number of debugging flags; run the command with no arguments to get a usage message.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL