1
0
mirror of https://github.com/golang/go synced 2024-10-04 13:21:22 -06:00
Commit Graph

1545 Commits

Author SHA1 Message Date
Evan Shaw
a551ffe809 8g: float->uint64 conversion optimization
Using FUCOMIP instead of the FUCOMP-FSTSW-SAHF sequence gives better performance and saves code space.

R=rsc
CC=golang-dev
https://golang.org/cl/183139
2010-01-06 19:28:19 -08:00
Russ Cox
ee7c64efe5 8c: only refer to extern register variables in MOVL instructions
R=ken2
https://golang.org/cl/183136
2010-01-06 18:18:07 -08:00
Russ Cox
e0763ba8e7 godoc: serve index.html in place of directory listing, when present
R=gri
CC=golang-dev
https://golang.org/cl/181155
2010-01-06 15:59:03 -08:00
Devon H. O'Dell
690fcacdd3 cgo: Use -fno-eliminate-unused-debug-types when calling gcc to for dwarf stabs.
This keeps debug symbols in for e.g. unreferenced enums.

Fixes #479

R=rsc
CC=golang-dev, waltermundt
https://golang.org/cl/181102
2010-01-06 15:45:08 -08:00
Evan Shaw
5107aa82a1 8a, 8l: Add FCOMI, FCOMIP, FUCOMI, FUCOMIP instructions
Fixes #447

R=rsc
CC=golang-dev
https://golang.org/cl/183047
2010-01-05 17:06:41 -08:00
Robert Griesemer
50442290bb Simplified parser interface.
R=rsc, r
CC=golang-dev, rog
https://golang.org/cl/183116
2010-01-04 17:26:01 -08:00
Robert Griesemer
2aefb8d930 Fix bug in godoc tab conversion filter:
tabs after an empty line where not converted.

Also, made it more robust in the presence of
(unexpected) ' ' and '\v' chars in indentation
mode.

R=r
CC=golang-dev
https://golang.org/cl/181085
2009-12-28 17:24:53 -08:00
Russ Cox
5f132b93eb gc: various C nits, found by plan 9 compiler.
reported by erik quanstrom.

R=ken2
https://golang.org/cl/181071
2009-12-27 09:32:30 -08:00
Rob Pike
8c557962de make 6prof (sic) architecture-independent.
for now, it's amd64 and 386 only but it's trivial to add more.

Fixes #385.

(why couldn't it have been issue 386?)

tested for amd64 and 386 on darwin.

R=rsc
CC=golang-dev
https://golang.org/cl/182043
2009-12-24 07:17:49 +11:00
Devon H. O'Dell
7c9111434a cgo: don't overwrite p.Crefs
It's expected to be shared between all files so that all types are output.
Fixes bug reported on mailing list by Peter Froehlich.

R=rsc, phf
CC=golang-dev
https://golang.org/cl/183043
2009-12-23 09:26:21 -08:00
Robert Griesemer
d2a398610e update test.sh so it can run to completion again
R=r
CC=golang-dev
https://golang.org/cl/179120
2009-12-21 15:05:50 -08:00
Russ Cox
4ab0ce107a 8g: add TESTL etc to reg opt
Fixes #436.

R=ken2
https://golang.org/cl/180105
2009-12-21 11:02:18 -08:00
Russ Cox
c276d87c6c cgo: interpret $CGOPKGDIR as absolute path if rooted
R=dho
CC=golang-dev
https://golang.org/cl/180099
2009-12-21 08:31:02 -08:00
Russ Cox
0d668259dc gc: method expressions on concrete types
R=ken2
https://golang.org/cl/180092
2009-12-18 17:24:58 -08:00
Russ Cox
044ebae2f0 cgo: include line number information to keep go/printer happy
Fixes #443.

R=dho
CC=golang-dev
https://golang.org/cl/179095
2009-12-17 17:04:48 -08:00
Kai Backman
d85bb81878 first stub for softfloats, intercepts float instructions and skips
them in the stream.

R=rsc
https://golang.org/cl/174052
2009-12-17 16:08:42 -08:00
Robert Griesemer
4ddcb0ea73 fix for gofmt rewrite matcher bug
R=rsc
CC=golang-dev
https://golang.org/cl/179096
2009-12-17 15:23:19 -08:00
Russ Cox
6a4b2492b3 gc: fix compiler crash
R=ken2
CC=dho
https://golang.org/cl/179097
2009-12-17 15:08:55 -08:00
Robert Griesemer
7fcf422181 use new tab indentation format in godoc, but convert
leading tabs into spaces to ensure a good outcome in
most browsers

R=rsc
https://golang.org/cl/165051
2009-12-17 14:10:49 -08:00
Devon H. O'Dell
9277b02537 Allow cgo to accept multiple .go inputs for a package
Fixes #342.

R=rsc
CC=golang-dev
https://golang.org/cl/179062
2009-12-17 13:20:56 -08:00
Devon H. O'Dell
7a5f4be97e Use BitSize instead of the field's type native ByteSize when calculating
structs containing bitfields.

Fixes #163.

R=rsc
CC=golang-dev
https://golang.org/cl/180059
2009-12-17 12:38:29 -08:00
Robert Griesemer
59a3cae402 - Parse expressions as opposed to statements for gofmt rewrite patterns.
Allows stand-alone types (e.g. []int as patterns) and doesn't require
a semicolon at the end (which are now mandatory terminators).

- Fix a matcher bug.

R=rsc
CC=golang-dev
https://golang.org/cl/179088
2009-12-16 16:53:56 -08:00
Moriyoshi Koizumi
a8fbf5dc2c This patch enables cgo utility to correctly convert enums in the C source
into consts in the resulting Go source.  Previously known as issue 161047,
which I deleted accidentally.  Fixes issue 207.

R=rsc
https://golang.org/cl/166059
2009-12-15 21:24:17 -08:00
Russ Cox
c715b58dad gc: fix import name resolution
Fixes #403.

R=ken2
https://golang.org/cl/180052
2009-12-15 16:44:28 -08:00
Russ Cox
5d754bfaea gc: bug fixes.
* better error for lookup of unexported field
  * do not assign "ideal string" type to typed string literal
  * do not confuse methods and fields during interface check

Fixes #410.
Fixes #411.
Fixes #426.

R=ken2
https://golang.org/cl/179069
2009-12-15 16:22:04 -08:00
Russ Cox
101f499fa5 gc: allow ... in method lists
R=ken2
https://golang.org/cl/179070
2009-12-15 16:20:37 -08:00
Robert Griesemer
5a1d3323fe 1) Change default gofmt default settings for
parsing and printing to new syntax.

                  Use -oldparser to parse the old syntax,
                  use -oldprinter to print the old syntax.

               2) Change default gofmt formatting settings
                  to use tabs for indentation only and to use
                  spaces for alignment. This will make the code
                  alignment insensitive to an editor's tabwidth.

                  Use -spaces=false to use tabs for alignment.

               3) Manually changed src/exp/parser/parser_test.go
                  so that it doesn't try to parse the parser's
                  source files using the old syntax (they have
                  new syntax now).

               4) gofmt -w src misc test/bench

	       1st set of files.

R=rsc
CC=agl, golang-dev, iant, ken2, r
https://golang.org/cl/180047
2009-12-15 15:33:31 -08:00
Russ Cox
d122bb2193 gc: double-check usage of ...
Fixes #423.

R=ken2
https://golang.org/cl/180045
2009-12-15 14:26:50 -08:00
Russ Cox
0282cc5e74 gc: var x, ok = m[y]
Fixes #384.

R=ken2
https://golang.org/cl/179061
2009-12-15 14:26:33 -08:00
Robert Griesemer
8793f622e6 don't show semicolons anymore with godoc
R=rsc
https://golang.org/cl/174078
2009-12-14 09:14:00 -08:00
Hector Chu
977e19d69f 8l: add support for PE output.
R=rsc
https://golang.org/cl/166080
2009-12-13 12:39:20 -08:00
Hector Chu
31645cc0bb Ported godefs to Windows.
R=rsc
https://golang.org/cl/164049
2009-12-13 12:21:44 -08:00
Russ Cox
978c3e96d1 gc: fix comment
R=gri
CC=golang-dev
https://golang.org/cl/174077
2009-12-13 12:11:56 -08:00
Rob Pike
f646296185 Update goyacc to new syntax, still with semicolons.
Update units.y too.
Fixes #417.

R=rsc
CC=golang-dev
https://golang.org/cl/176063
2009-12-14 06:34:51 +11:00
Ken Thompson
bedfc2c2f1 more on the optimizer
trying to get alizses
to optimize

R=rsc
https://golang.org/cl/176061
2009-12-12 14:36:52 -08:00
Robert Griesemer
222462ed4f Various cleanups:
- no need to replace comments for stand-alone blocks
- always print string concatenations with interspersed "+"
  (remove option)
- minor cleanups

R=rsc
https://golang.org/cl/174076
2009-12-11 16:42:14 -08:00
Russ Cox
3997495dc3 gc: semicolons
Fixes #89.
Fixes #92.
Fixes #118.
Fixes #182.
Fixes #328.
Fixes #340.

R=ken2, ken3
CC=golang-dev
https://golang.org/cl/172049
2009-12-11 15:59:41 -08:00
Ken Thompson
cd00bc78da bug in 6g optimizer
8g still needs fixing

R=rsc
https://golang.org/cl/176057
2009-12-11 15:55:09 -08:00
Devon H. O'Dell
857d4cf1a9 Remove GOBIN in PATH dependency; don't assume cwd is $GOROOT/src
This change removes the necessity to have GOBIN in $PATH,
and also doesn't assume that the build is being run from
$GOROOT/src. This is a minimal set of necessary changes
to get Go to build happily from the FreeBSD ports
collection.

R=rsc
CC=golang-dev
https://golang.org/cl/171044
2009-12-11 15:14:09 -08:00
Yongjian Xu
8b3b1edc04 mkbuiltin: generate builtin.c directly
R=golang-dev, rsc
https://golang.org/cl/173041
2009-12-11 12:41:33 -08:00
Robert Griesemer
67aa1399d6 - make make test working again
- some factoring for easier experimentation

R=rsc
https://golang.org/cl/174048
2009-12-10 19:07:10 -08:00
Robert Griesemer
bda2074193 New flags for gofmt:
- oldparser            parse old syntax (required semicolons)
- oldprinter           print old syntax (required semicolons)

By default, these flags are enabled for now.
Setting -oldparser=false has no effect until go/parser is changed
to accept the new syntax.

Enabled exp/parser in Makefile; update dependent exp/eval.

R=rsc
https://golang.org/cl/174051
2009-12-10 19:03:28 -08:00
Robert Griesemer
295ceb4526 remove uses of string concatenation from src and misc directory
R=rsc
https://golang.org/cl/172041
2009-12-09 16:54:07 -08:00
Charles L. Dorian
3ca1b1d27f Continuation of issue 221 fix. When 8g or 6g or 5g are called with a
UTF-8 string, Yconv() converts it into an octal sequence. If the
string converted to more than 30 bytes, the str buffer would
overflow. For example, 4 Greek runes became 32 bytes, 3 Hiragana
runes became 36 bytes, and 2 Gothic runes became 32 bytes. In
8l, 6l and 5l the function is Sconv(). For some reason, only 5l uses
the constant STRINGSZ (defined as 200) for the buffer size.

R=rsc
https://golang.org/cl/168045
2009-12-09 11:56:45 -08:00
Russ Cox
b73b43ea31 6l, 8l: make string buffer big enough for 8 chars (and then some)
Fixes #221.

R=ken2
https://golang.org/cl/165086
2009-12-07 22:01:59 -08:00
Russ Cox
33649bd278 runtime: introduce unsafe.New and unsafe.NewArray
to provide functionality previously hacked in to
    reflect and gob.

R=r
https://golang.org/cl/165076
2009-12-07 15:51:58 -08:00
Roger Peppe
80e17d6797 the AST walker currently provides no way to find out how the
nodes in the tree are nested with respect to one another.
a simple change to the Visitor interface makes it possible
to do this (for example to maintain a current node-depth, or a
knowledge of the name of the current function).

Visit(nil) is called at the end of a node's children;
this make possible the channel-based interface below,
amongst other possibilities.

It is still just as simple to get the original behaviour - just
return the same Visitor from Visit.

Here are a couple of possible Visitor types.

// closure-based
type FVisitor func(n interface{}) FVisitor
func (f FVisitor) Visit(n interface{}) Visitor {
	return f(n);
}

// channel-based
type CVisitor chan Visit;
type Visit struct {
	node interface{};
	reply chan CVisitor;
};
func (v CVisitor) Visit(n interface{}) Visitor
{
	if n == nil {
		close(v);
	} else {
		reply := make(chan CVisitor);
		v <- Visit{n, reply};
		r := <-reply;
		if r == nil {
			return nil;
		}
		return r;
	}
	return nil;
}

R=gri
CC=rsc
https://golang.org/cl/166047
2009-12-07 10:33:45 -08:00
Russ Cox
864c757a1c gc/runtime: pass type structure to makeslice.
* inform garbage collector about memory with no pointers in it

1.9s	gcc reverse-complement.c

reverse-complement.go
4.5s / 3.5s	original, with/without bounds checks
3.5s / 3.3s	bounds check reduction
3.3s / 2.8s	smarter garbage collector
2.6s / 2.3s		assembler bytes.IndexByte
2.5s / 2.1s	even smarter garbage collector (this CL)

R=r
https://golang.org/cl/165064
2009-12-04 21:44:05 -08:00
Russ Cox
6f14cada11 gc: walk pointer in range on slice/array
R=ken2
https://golang.org/cl/166071
2009-12-04 20:40:21 -08:00
Russ Cox
7c4aeec868 6g/8g optimizer fix: throw functions now in runtime
R=ken2
https://golang.org/cl/166070
2009-12-04 20:37:32 -08:00
Russ Cox
d7402cea8c gotest: stop if the // gotest commands fail
R=r
https://golang.org/cl/166067
2009-12-04 18:34:59 -08:00
Russ Cox
01f0f16ebc gotest: ignore *_test.pb.go
R=r
https://golang.org/cl/166064
2009-12-04 17:08:54 -08:00
Russ Cox
f2c7a20142 8l: fix print line number format, buffer overflow
R=ken2
https://golang.org/cl/165059
2009-12-03 23:29:48 -08:00
Russ Cox
9da6666a8a gc: check for assignment to private fields during initialization
R=ken2
https://golang.org/cl/165055
2009-12-03 22:09:58 -08:00
Ken Thompson
62be24d949 6g code gen bug
R=rsc
https://golang.org/cl/166052
2009-12-03 20:28:24 -08:00
Christopher Wedgwood
7e7008fa5e gc: Allow allow data types up to 1GB
R=rsc
https://golang.org/cl/164095
2009-12-03 12:46:34 -08:00
Russ Cox
c6e316a4b9 gc: handle _ = <-c in select.
Fixes #238.

R=ken2
https://golang.org/cl/163098
2009-12-03 01:30:19 -08:00
Russ Cox
05a1eb1ab0 gc: recursive type error
Fixes #245.

R=ken2
https://golang.org/cl/164094
2009-12-03 01:12:02 -08:00
Russ Cox
41861a8812 gc: better diagnosis of initialization loops
Fixes bug 292.

R=ken2
https://golang.org/cl/164093
2009-12-03 00:51:03 -08:00
Russ Cox
e733766dda gc: minor import grammar bug fixes
Fixes #364.

R=ken2
https://golang.org/cl/164092
2009-12-03 00:10:32 -08:00
Russ Cox
272d156357 gc: function argument ordering bug
Fixes #370.

R=ken2
https://golang.org/cl/163097
2009-12-02 23:54:51 -08:00
Russ Cox
8777759f59 gc: make 'invalid rune in string' a little less cryptic
Fixes #371.

R=ken2
https://golang.org/cl/164091
2009-12-02 23:23:11 -08:00
Rob Pike
b0683bd77a move ReadFile, WriteFile, and ReadDir into a separate io/ioutil package.
this breaks the dependency of package io on package bytes.

R=rsc
CC=golang-dev
https://golang.org/cl/163085
2009-12-02 22:02:14 -08:00
Robert Griesemer
c0efa07c65 updated documentation for gofmt
R=rsc
https://golang.org/cl/164085
2009-12-02 19:32:15 -08:00
Russ Cox
69c0edd59b 8g: discard tempalloc/tempfree experiment
in favor of tempname.
allows optimizer to do more.
unfortunately, optimizer seems to be broken; disable it.

R=ken2
https://golang.org/cl/163091
2009-12-02 18:31:29 -08:00
Russ Cox
fdb030d86f 6g etc: groundwork for eliminating redundant bounds checks.
drop check in range over array.
	drop check in [256]array indexed by byte.

R=ken2
https://golang.org/cl/163088
2009-12-02 17:30:07 -08:00
Robert Griesemer
dc7355a974 Add flag -tabindent to gofmt: forces use of
tabs for indentation even if -spaces is set.

Changes to gofmt:
- added -tabindent flag
- don't recompute parser and printer mode repeatedly

Changes to go/printer:
- provide new printing mode TabIndent

Changes to tabwriter:
- implement new mode TabIndent to use tabs independent
  of the actual padding character for leading empty columns
- distinguish between minimal cell width and tab width
  (tabwidth is only used if the output contains tabs,
  minwidth and padding are always considered)
- fixed and added more comments
- some additional factoring

By default, -tabindent is disabled and the default gofmt
behavior is unchanged. By setting -spaces and -tabindent,
gofmt will use tabs for indentation but do any other
alignment with spaces. This permits a user to change the
visible indentation by simply changing the editor's tab
width and the code will remain properly aligned without
the need to rerun gofmt.

R=rsc
https://golang.org/cl/163068
2009-12-02 16:57:15 -08:00
Fazlul Shahriar
0aa13c999b gofmt: race condition in error reporting and setting exit code
How to reproduce:

	$ mkdir /tmp/foo
	$ cp /dev/null /tmp/foo/bar.go
	$ chmod -r /tmp/foo/bar.go
	$ gofmt /tmp/foo
	open /tmp/foo/bar.go: permission denied
	$ echo $?		# should echo 2
	0
	$

Maybe you need to put a call to time.Sleep at the beginning of report().

R=gri
CC=golang-dev
https://golang.org/cl/164073
2009-12-02 13:02:42 -08:00
Evan Shaw
1664e81585 8g: Match sgen definition to declaration
R=rsc
CC=golang-dev
https://golang.org/cl/164069
2009-12-01 21:42:35 -08:00
Devon H. O'Dell
fd7e1a2d87 FreeBSD needs #!/usr/bin/env bash (fixes broken build on FreeBSD)
R=gri
https://golang.org/cl/163067
2009-12-01 19:30:17 -08:00
Charles L. Dorian
e1c347ca59 8g: fix 386 floating point stack bug
Also fixes issue 310 comment 5 error.
Fixes #310.

R=rsc
https://golang.org/cl/163042
2009-12-01 15:53:50 -08:00
Robert Griesemer
749da968e4 make test.sh work again
R=rsc
https://golang.org/cl/164059
2009-12-01 13:08:36 -08:00
Rob Pike
67dc2ae3a6 a couple of usage fixups in prof
R=rsc
https://golang.org/cl/161050
2009-12-01 11:35:34 -08:00
Fazlul Shahriar
db18ce2f53 gofmt: use os.Stdin instead of opening /dev/stdin
Opening /dev/stdin can sometimes fail. For example, in the acme editor,
executing "Edit ,|gofmt" fails with:

	open /dev/stdin: no such device or address

Executing "Edit ,|ls -l /dev/stdin /proc/self/fd/0" gives:

	lrwxrwxrwx 1 root root  15 2009-09-07 02:17 /dev/stdin -> /proc/self/fd/0
	lrwx------ 1 fhs  users 64 2009-11-26 22:05 /proc/self/fd/0 -> socket:[5528230]

(This is my first change, and I've signed the individual contributor license agreement.)

R=rsc, gri
CC=golang-dev
https://golang.org/cl/162041
2009-12-01 09:32:22 -08:00
Robert Griesemer
9e450880e9 some godoc cleanup:
- simplified dealing with parse errors: no need to intersperse them in the source
- improve visibility of highlighted identifiers by showing them in bold

R=rsc
https://golang.org/cl/163051
2009-12-01 09:15:05 -08:00
Eden Li
354b100567 cgo: use C type void for opaque types if dwarf.Common().Type returns nothing
Ideally, the C name would come from the typedef or pointer that
references the Size<0 type, but we can't easily generate this without
performing a look-ahead to see if any referencing type will become opaque.

Fixes #334.
Fixes #281.

R=rsc
https://golang.org/cl/161056
2009-11-29 18:14:39 -08:00
Russ Cox
b7c4314ecb gc: correct type check for x, ok map assignment
Fixes #288.

R=ken2
https://golang.org/cl/157162
2009-11-24 16:11:48 -08:00
Robert Griesemer
001a8b11ff Change to container/vector interface:
- removed New(len int) in favor of new(Vector).Resize(len, cap)
- removed Init(len int) in favor of Resize(len, cap)
- runs all.bash

Fixes #294.

R=rsc, r, r1
https://golang.org/cl/157143
2009-11-24 13:43:18 -08:00
Russ Cox
7c9acae2f1 godoc: plug file descriptor leak
R=gri
CC=r
https://golang.org/cl/157149
2009-11-24 13:21:14 -08:00
Eden Li
a9d0da75f1 cgo translates empty function arguments into void instead of dying with 'unexpected type: ...'.
Fixes #162.

R=rsc
https://golang.org/cl/157147
2009-11-23 22:02:12 -08:00
Sergio Luis O. B. Correia
6fc820729e go: makes it build for the case $GOROOT has whitespaces
the bash scripts and makefiles for building go didn't take into account
the fact $GOROOT / $GOBIN could both be directories containing whitespaces,
and was not possible to build it in such a situation.

this commit adjusts the various makefiles/scripts to make it aware of that
possibility, and now it builds successfully when using a path with whitespaces
as well.

Fixes #115.

R=rsc, dsymonds1
https://golang.org/cl/157067
2009-11-23 17:32:51 -08:00
Sergio Luis O. B. Correia
2b1133ff86 cmd/cc: change getquoted() to accept whitespaces.
getquoted() currently checks for whitespaces and returns nil
if it finds one. this prevents us from having go in a path
containing whitespaces, as the #pragma dynld directives are
processed through the said function.

this commit makes getquoted() accept whitespaces, and this is
also needed for solving issue #115.

R=rsc
https://golang.org/cl/157066
2009-11-23 16:00:26 -08:00
Russ Cox
edf7485a6e gofmt -r: documentation and minor fixes
fix a few paren insertion bugs in the printer too.

R=gri, r
CC=golang-dev
https://golang.org/cl/157119
2009-11-23 15:44:27 -08:00
Russ Cox
e69f12ae1d two more if(h<0) that gcc 4.3 -O2 miscompiles
R=r
https://golang.org/cl/160044
2009-11-23 14:23:14 -08:00
Russ Cox
dc30800c28 8g: call throwindex for array out of bounds
R=ken2
https://golang.org/cl/160043
2009-11-23 12:58:28 -08:00
Russ Cox
28e392d4bd gofmt: add -r flag to rewrite source code according to pattern
a little slow, but usable (speed unchanged when not using -r)

tweak go/printer to handle nodes without line numbers
more gracefully in a couple cases.

R=gri
https://golang.org/cl/156103
2009-11-20 15:09:54 -08:00
Russ Cox
9ac4449cb2 gofmt -r 'α[β:len(α)] -> α[β:]' -w src/cmd src/pkg
R=r, gri
CC=golang-dev
https://golang.org/cl/156115
2009-11-20 11:45:05 -08:00
Russ Cox
aa4c638b7b x[y:] for strings
R=ken2
https://golang.org/cl/157114
2009-11-20 11:42:28 -08:00
Russ Cox
652f55672d x[lo:] - gc and runtime.
* add runtime sliceslice1 for x[lo:]
  * remove runtime arraytoslice, rewriting &arr into arr[0:len(arr)].
  * port cgen_inline into 8g, 5g.
  * use native memmove in maps

R=ken2
https://golang.org/cl/157106
2009-11-20 09:11:46 -08:00
Russ Cox
9bc6a404d5 cgo: allow .so in subdirectories
R=r
https://golang.org/cl/157103
2009-11-20 00:31:03 -08:00
Eden Li
b30f753dc3 cgo now renders types with unknown size as [0]byte instead of raising a
fatal error.
Fixes #126.

R=rsc
https://golang.org/cl/157101
2009-11-19 22:09:01 -08:00
Russ Cox
d116a32727 gc: reject large channel values at compile time
Fixes #144.

R=ken2
CC=agl1
https://golang.org/cl/156102
2009-11-19 18:20:06 -08:00
Robert Griesemer
398927e63b update test.sh for gofmt
R=rsc
https://golang.org/cl/157096
2009-11-19 16:42:49 -08:00
Robert Griesemer
b48f71213a Permit omission of hi bound in slices.
R=r, rsc
https://golang.org/cl/157082
2009-11-19 16:42:05 -08:00
Trevor Strohman
61660adc63 Adds benchmark support to gotest.
No benchmarks are run unless the --benchmarks=<regexp> flag
is specified on the gotest command line.  This change includes
sample benchmarks for regexp.

% gotest --benchmarks=.*
(standard test output redacted)
testing.BenchmarkSimpleMatch	200000	      7799 ns/op
testing.BenchmarkUngroupedMatch	20000	     76898 ns/op
testing.BenchmarkGroupedMatch	50000	     38148 ns/op

R=r, rsc
https://golang.org/cl/154173
2009-11-19 16:35:34 -08:00
Ken Thompson
d9014dc98a put copy into goyacc
R=rsc
https://golang.org/cl/156100
2009-11-19 15:34:11 -08:00
Devon H. O'Dell
60b1a17b9e More FreeBSD-touchups. Thundercats are GOOOOO!
R=rsc
CC=golang-dev
https://golang.org/cl/157074
2009-11-18 16:51:59 -08:00
Russ Cox
dc43b74eb1 6l, 8l: add trivial hash table for dynamic symbols
R=r
https://golang.org/cl/156085
2009-11-18 15:58:44 -08:00
Rob Pike
e70cedfaec remove bytes.Copy
replace all calls with calls to copy
use copy in regexp and bytes.Buffer

R=rsc
CC=golang-dev
https://golang.org/cl/157073
2009-11-18 15:24:24 -08:00
Russ Cox
9be56adf3c gc: allow implicit conversion of *[10]int -> []int
when used as arg to copy.

R=ken2
https://golang.org/cl/157071
2009-11-18 14:26:28 -08:00
Russ Cox
91cf0af181 ld: move interpreter string into first block of ELF file
necessary on freebsd.

R=r, dho
CC=golang-dev
https://golang.org/cl/157069
2009-11-18 13:51:05 -08:00
Rob Pike
7518613430 slicecopy was always using 16 (sizeof slice) for the size instead of size of element.
R=rsc
CC=ken2, golang-dev
https://golang.org/cl/156083
2009-11-18 13:43:48 -08:00
Eden Li
652bb7c2be Mangle C struct fields that happen to be named after Go keywords by prefixing them with _. Collisions with existing fields are resolved by prefixing the new Go identifier with _ until it matches nothing else in the struct.
Fixes #36.

R=rsc
https://golang.org/cl/157061
2009-11-18 09:59:10 -08:00
Devon H. O'Dell
b3f538a4fd FreeBSD/i386 work
This patchset gets Go to pretty much the same state that
FreeBSD/amd64 is in.

R=rsc
https://golang.org/cl/157055
2009-11-17 23:58:51 -08:00
Eden Li
2115f514d0 cgo no longer translates function args that are void* into
unsafe.Pointer.
Fixes #254.

R=rsc
https://golang.org/cl/157060
2009-11-17 23:42:21 -08:00
Ken Thompson
01c2de0c15 allow copy to be used without a return value
R=rsc
https://golang.org/cl/156060
2009-11-17 22:00:59 -08:00
Ken Thompson
c4606d05da install copy predefined
did not test 386, but should work
shouldnt matter if copy is not used

R=rsc
https://golang.org/cl/156055
2009-11-17 20:41:44 -08:00
Ken Thompson
26b55e44d9 fix botch
R=rsc
https://golang.org/cl/157046
2009-11-17 14:11:50 -08:00
Ken Thompson
8a6da2f6a0 change a n^2 algorithm in
data initialization to n*log(n)

R=rsc
https://golang.org/cl/158041
2009-11-17 13:59:38 -08:00
Sergio Luis O. B. Correia
bae4f5085e cmd/cc: Fix -I switch to handle a path with blankspaces correctly
Currently, -I switch can't deal with a path containing spaces.
This commit simplify setinclude(), by removing the special case
of a string that had spaces. After this change, setinclude() will
merely add the given directories to the include path, if it does
not yet exist, and this approach works.

Will be needed for solving issue 115.

R=agl1, rsc, iant2, r
https://golang.org/cl/155059
2009-11-17 09:02:47 -08:00
Devon H. O'Dell
0489a260da FreeBSD-specific porting work.
cgo/libmach remain unimplemented. However, compilers, runtime,
and packages are 100%. I still need to go through and implement
missing syscalls (at least make sure they're all listed), but
for all shipped functionality, this is done. Ship! ;)

R=rsc, VenkateshSrinivas
https://golang.org/cl/152142
2009-11-17 08:20:58 -08:00
Russ Cox
1ee83f851d gc: change "can we const evaluate this" from blacklist to whitelist
R=ken2
https://golang.org/cl/155074
2009-11-16 17:40:47 -08:00
Russ Cox
44e51fad28 6l: fix divide by zero in glibc linker.
repeats 8l change http://code.google.com/p/go/source/detail?r=7594e16b5cf9

Fixes #179.

R=iant
https://golang.org/cl/154145
2009-11-16 17:40:03 -08:00
Robert Griesemer
e86afaf456 Don't emit line tags when source code is printed as part of
package documentation using templates. The line tag interferes
with the anchor tag introduces by the template.

This fixes an an issue where some headers lost their ability
to link to the respective source code.

R=rsc
https://golang.org/cl/154166
2009-11-16 14:26:29 -08:00
Kai Backman
c3cf8d663a s/AJMP/AB/ to fix build breakage.
R=rsc
https://golang.org/cl/155069
2009-11-16 11:58:28 -08:00
Russ Cox
ef46a9ddac gc: fix up floating point NaN comparisons
Fixes #167.

R=ken2
https://golang.org/cl/155062
2009-11-15 17:24:14 -08:00
Russ Cox
39f64bed52 godefs: avoid gcc 4'isms in command line.
Fixes #97.

R=r
https://golang.org/cl/155054
2009-11-15 12:57:39 -08:00
Russ Cox
0238fd836f cgo: arrange for English error messages
Fixes #21.

R=r
https://golang.org/cl/155048
2009-11-15 12:57:21 -08:00
Russ Cox
a338231526 gc: five bug fixes, one better error.
* check for struct literal assignment to private fields.
* record, fix crash involving parallel map assignment.
* avoid infinite recursion in exportassignok.
* make floating point bounds check precise.
* avoid crash on invalid receiver.

* add context to error about implicit assignment.

Fixes #86.
Fixes #88.
Fixes #158.
Fixes #174.
Fixes #201.
Fixes #204.

R=ken2
https://golang.org/cl/154144
2009-11-15 12:57:09 -08:00
Russ Cox
2a6bb2c63e gotest: show the test file pattern in "no test files" error
Fixes #190.

R=r
https://golang.org/cl/154142
2009-11-15 12:56:39 -08:00
Russ Cox
b18bee948e cc: drop redundant strcpy
Fixes #192.

R=ken2
https://golang.org/cl/155047
2009-11-15 00:00:05 -08:00
Russ Cox
139a053733 cc: eliminate two fixed-size buffers
Fixes bug 168.
Alternative to https://golang.org/cl/152143.

R=ken2
https://golang.org/cl/155042
2009-11-14 23:25:55 -08:00
Devon H. O'Dell
553be8427e Build changes to support work on the BSDs.
This does still contain some FreeBSD-specific bits, but
it's a pain to do partial diffs.

R=rsc
https://golang.org/cl/152138
2009-11-14 15:29:09 -08:00
Russ Cox
4b13d1b9b5 gc: do not try to constant-evaluate (interface{})("bar")
Fixes #183.

R=ken
https://golang.org/cl/154139
2009-11-14 14:14:27 -08:00
Russ Cox
593ccd1d44 yet another attempt to avoid conflicts with
<stdio.h>, which we weren't even #including

R=r
https://golang.org/cl/154108
2009-11-12 23:38:48 -08:00
Robert Griesemer
511772c888 Remove -align flag from gofmt.
(Making it work correctly with -spaces is a bit of work and the output
won't make much sense as it is intended as input to tabwriter.)
Fixes #100.

R=rsc
https://golang.org/cl/154102
2009-11-12 18:26:45 -08:00
Rob Pike
ce0a4bae41 produce helpful error when gotest doesn't find a Makefile
Fixes #117.

R=rsc, agl1
CC=golang-dev
https://golang.org/cl/152107
2009-11-12 14:28:45 -08:00
Russ Cox
6634e3432d cc, ld: fix more gcc 4.3 -O2 compile bugs
same as https://golang.org/cl/152088
in more files.

Fixes #83.

R=r, r1
https://golang.org/cl/152091
2009-11-12 00:22:45 -08:00
Russ Cox
e5636d6e27 avoid seg fault when return type is unknown
Fixes #80.

R=ken
https://golang.org/cl/154079
2009-11-11 22:20:05 -08:00
Russ Cox
8b95720918 gopack: work around gcc bug in hash function
Fixes #48.  (this time for sure!)

R=r, r1
https://golang.org/cl/152088
2009-11-11 22:19:58 -08:00
David Symonds
9e829c42d6 Fix capitalisation of "Git".
R=rsc
https://golang.org/cl/154071
2009-11-11 17:31:28 -08:00
Russ Cox
ae3341476d cgo: add more information about gcc output parsing failures
R=r
https://golang.org/cl/152084
2009-11-11 16:58:27 -08:00
Russ Cox
c3343ef62c fix BUFSIZ redeclaration warnings
R=r
https://golang.org/cl/152085
2009-11-11 16:33:23 -08:00
Russ Cox
ae39a1d8ec cc: correct handling of allocn(0, 1, d)
Fixes #29.

R=r
https://golang.org/cl/152076
2009-11-11 14:52:21 -08:00
Russ Cox
d38630fe3d gotest: add LC_ALL=C
R=r
https://golang.org/cl/154067
2009-11-11 14:52:15 -08:00
Russ Cox
e9ac56fb99 getc/ungetc in assemblers; BUFSIZ everywhere.
Fixes #67.

R=r
https://golang.org/cl/154068
2009-11-11 14:52:08 -08:00
Russ Cox
a174987a7c two gopack nits.
1. allocate an extra byte for use by write.
2. throw away the code trying to translate
   uid and gid to names.  i suspect it of causing
   seg faults in some situations, and it is
   not needed by the compilers.

Fixes #48.  (I hope.)

R=r
https://golang.org/cl/152077
2009-11-11 14:48:33 -08:00
Russ Cox
8c3d2f015b avoid clash with stdio's getc, ungetc.
Fixes #50.

R=r
https://golang.org/cl/154064
2009-11-11 13:08:35 -08:00
Russ Cox
7932950844 gc: increase maximum path size in getwd from 100 to 1000.
Fixes #31.

To try the fix before the next release:
	hg pull -u

R=r1, r
https://golang.org/cl/154058
2009-11-11 12:00:41 -08:00
Adam Langley
5281869fac gopack: convert long to time_t before taking a pointer.
Fixes #40.

R=rsc, r1
CC=golang-dev
https://golang.org/cl/154057
2009-11-11 11:19:33 -08:00
Russ Cox
9604f7b009 gotest: avoid problems with grepping for ·
Fixes #7.

R=r
CC=golang-dev
https://golang.org/cl/154043
2009-11-10 19:56:32 -08:00
Robert Griesemer
1698934194 - replaced gofmt expression formatting algorithm with
rsc's algorithm
- applied gofmt -w misc src
- partial CL (remaining files in other CLs)

R=rsc, r
http://go/go-review/1024040
2009-11-09 21:09:34 -08:00
Russ Cox
9f42ccb781 error rewording suggested by robert.
update comment.

R=ken
http://go/go-review/1025031
2009-11-09 15:25:18 -08:00
Robert Griesemer
92743615fb TBR:
fix typo that prevented function bodies from being indexed (ouch!)

R=rsc
http://go/go-review/1024035
2009-11-09 14:44:16 -08:00
Robert Griesemer
40621d5c0d remove semis after statements in one-statement statement lists
R=rsc, r
http://go/go-review/1025029
2009-11-09 12:07:39 -08:00
Russ Cox
18ccbc69f8 tweak documentation of commands
so that first sentence is better for cmd page.

live at http://r45:3456/cmd/

R=gri, r
http://go/go-review/1024034
2009-11-09 11:45:15 -08:00
Robert Griesemer
aae64f8c81 - exit godoc w/o crashing if negative tabwidth is provided
- minor related cleanups

R=rsc
http://go/go-review/1025026
2009-11-08 23:42:00 -08:00
Robert Griesemer
d731dc8e72 Addressing issue brought up by dsymonds:
- When providing alternative spellings to a query, do not
  prefix it with a package qualifier as the suggestion may
  not have any results. Correctly filtering is quite a bit
  of work, and clicking the alternative spelling will always
  also show the qualified hits if they exist (but also others).
  Seems good enough for now.
- Give user feedback when the query syntax was wrong.
- Package names in search results are now links to the respective
  package documentation.
- Experimented with excluding main packages and test files
  from index with inconclusive results. Code is present and
  can be enabled by changing a flag in the source. This needs
  some more work.

R=rsc
CC=r, dsymonds
http://go/go-review/1026033
2009-11-08 23:34:08 -08:00
Russ Cox
71983af4a1 bug212, bug213.
R=ken
http://go/go-review/1026032
2009-11-08 23:22:06 -08:00
Robert Griesemer
c532940ecf improved sentence extraction:
- don't forget first periods
- look at capitalization of last char before periods

R=rsc
http://go/go-review/1024027
2009-11-08 21:48:51 -08:00
Russ Cox
ed6eb5b577 a nagging inconsistency: capitalization of
HTML vs Html, URL vs Url, HTTP vs Http,
current source is 6:1 in favor of the former,
so change instances of the latter.

R=r
CC=go-dev
http://go/go-review/1024026
2009-11-08 21:46:20 -08:00
Russ Cox
830813f019 assorted cleanup
R=r, iant
CC=go-dev
http://go/go-review/1025024
2009-11-08 21:08:27 -08:00
Robert Griesemer
7837dbfcb8 use grouping instead of colors to show non-global search hits:
- introduced a new run per file containing all spots belonging
  to the same kind (e.g. var decl, const decl, etc.)
- more comments, better index.go file organization

R=rsc
http://go/go-review/1026028
2009-11-08 20:17:04 -08:00
Robert Griesemer
e8b580c9aa fix sentence extraction
R=rsc
http://go/go-review/1026027
2009-11-08 18:19:06 -08:00
Robert Griesemer
202ede1240 - properly align package synopses
(this was surprisingly hard to get right in HTML)
- show modification times in source directory listings
- various tweaks

R=rsc
http://go/go-review/1024024
2009-11-08 16:47:32 -08:00
Robert Griesemer
a011480ff3 TBR
1st step of renaming dirList.html -> dirlist.html
(OS X filenames are not capitalization-sensitive)

R=rsc
http://go/go-review/1024021
2009-11-08 00:51:08 -08:00
Robert Griesemer
89d0e2dbe3 - better support for text files: show them nicely formatted
instead of serving them raw
- path-related cleanups

R=rsc
http://go/go-review/1026021
2009-11-08 00:40:43 -08:00
Robert Griesemer
1a9805adcb - avoid division-by-zero crash in tabwriter
- correct tabwidth argument for some tabwriter test cases
- catch negative tabwidth flag in gofmt w/o crashing

R=rsc
http://go/go-review/1026022
2009-11-07 23:59:24 -08:00
Robert Griesemer
642caacfa3 - added link to sources
- renamed listing.html -> dirList.html
  (there is a dirs.html already, it should probably have a better name, too)

R=rsc
http://go/go-review/1025020
2009-11-07 21:24:48 -08:00
Robert Griesemer
171ef39949 nice directory listings
R=rsc
http://go/go-review/1026020
2009-11-07 21:12:46 -08:00
Robert Griesemer
1ac60ddd10 - support to extract one-line package synopsis for package listings
- formatting in dirs.html is crude, needs better html (open to suggestions),
  but shows the synopsis
- many package comments should probably be adjusted such that the first
  sentence is more concise

R=rsc, iant
http://go/go-review/1025014
2009-11-07 13:17:53 -08:00
Ken Thompson
0eb2a79ff3 8g optimizer
R=rsc
http://go/go-review/1025011
2009-11-06 16:51:49 -08:00
Robert Griesemer
368f8cbc75 - fine-tuning of one-line func heuristic (nodes.go)
- enabled for function declarations (not just function literals)
- applied gofmt -w $GOROOT/src
(look for instance at src/pkg/debug/elf/elf.go)

R=r, rsc
CC=go-dev
http://go/go-review/1026006
2009-11-06 14:24:38 -08:00
Robert Griesemer
5873598a97 updated godoc documentation
R=r
http://go/go-review/1026007
2009-11-06 14:00:49 -08:00
Kai Backman
fd7d803535 fix argument order bug for float
R=rsc
http://go/go-review/1025006
2009-11-06 13:51:17 -08:00
Kai Backman
de663b2d6b with rsc: argsize rounding to 8 smashes stack data on 32bit machines.
R=rsc
http://go/go-review/1024011
2009-11-06 13:50:58 -08:00
Kai Backman
52c549fc9b make 5g executables run on android/arm hardware. change OABI
usage to EABI.

        go/test: passes 85% (296/347) on random android phone.

R=rsc
http://go/go-review/1024003
2009-11-05 22:53:08 -08:00
Robert Griesemer
054354ebd4 gofmt src/cmd/goyacc
(with this change: gofmt -l src/cmd/ | wc
is 0 0 0)

R=ken, rsc
http://go/go-review/1024005
2009-11-05 22:29:29 -08:00
Robert Griesemer
79284cae32 gofmt'ed src/cmd
R=rsc
http://go/go-review/1024004
2009-11-05 22:25:46 -08:00
Robert Griesemer
441e775dad gofmt'ed godefs
R=rsc
http://go/go-review/1020001
2009-11-05 15:35:53 -08:00
Robert Griesemer
6f762f5410 gofmt'ed 6l 8l cgo
R=r
http://go/go-review/1020002
2009-11-05 15:33:26 -08:00
Russ Cox
790c9b59d6 codereview: new commands
* clpatch
	* download
	* submit, on behalf of clpatch

stir hgpatch to fix a few bugs

R=r
CC=go-dev
http://go/go-review/1016051
2009-11-05 14:44:57 -08:00
Ken Thompson
18cb960f3e forgot a piece of debugging
in previous change

R=rsc
http://go/go-review/1017052
2009-11-05 13:05:07 -08:00
Ken Thompson
505fd760a2 same speedup as 6l
R=rsc
http://go/go-review/1016050
2009-11-05 12:47:22 -08:00
Russ Cox
1329012a23 new command hgpatch, for use by codereview extension
R=r
http://go/go-review/1018059
2009-11-05 09:27:19 -08:00
Ken Thompson
9c7535432a speed up 6l
hopefully no change

R=rsc
http://go/go-review/1017035
2009-11-04 18:17:57 -08:00
Russ Cox
3de3af512d doc doc doc
R=r
http://go/go-review/1016039
2009-11-04 15:17:36 -08:00
Rob Pike
98ac4c6e65 stylistic issues in a couple of cmd docs
R=rsc
http://go/go-review/1017028
2009-11-04 13:13:17 -08:00
Rob Pike
0d3dd3c950 document godoc and gofmt
R=rsc
http://go/go-review/1018036
2009-11-04 11:33:43 -08:00
Robert Griesemer
4bb0271a12 remove reference to /home/r
R=rsc
http://go/go-review/1018039
2009-11-04 11:15:19 -08:00
Rob Pike
56a38f25a7 document gotest
R=rsc
CC=go-dev
http://go/go-review/1017026
2009-11-03 23:06:16 -08:00
Rob Pike
796e29ebfc add goyacc to the build
R=rsc
CC=go-dev
http://go/go-review/1018034
2009-11-03 22:48:48 -08:00
Rob Pike
472576c615 make goyacc and units.y work again (minor tweaks).
document goyacc a little.

R=rsc
CC=go-dev
http://go/go-review/1017024
2009-11-03 22:38:43 -08:00
Rob Pike
701440043b document gopack.
change string in usage message.

R=rsc
http://go/go-review/1017023
2009-11-03 22:36:31 -08:00
Rob Pike
c6dd8c18f0 document ebnflint
R=gri
http://go/go-review/1016034
2009-11-03 22:19:56 -08:00
Rob Pike
3fa379e797 document the gc go compilers.
fix the usage message.

R=rsc
CC=go-dev
http://go/go-review/1016033
2009-11-03 22:00:36 -08:00
Robert Griesemer
4818d346b6 support for command documentation:
- made package tree handler generic so it can work on any fs tree
- cleanups along the way

R=rsc
CC=r
http://go/go-review/1017020
2009-11-03 19:40:26 -08:00
Rob Pike
dc62c66c73 more command documentation, including nm and prof
R=rsc
http://go/go-review/1017022
2009-11-03 17:46:35 -08:00
Rob Pike
b5ab5d4f12 document the assemblers.
add details about -d and -e flags in the loaders.

R=rsc
CC=go-dev
http://go/go-review/1018031
2009-11-03 16:29:32 -08:00
Rob Pike
2bc63f2367 First steps at command documentation: C compilers and linkers.
Each command gets a doc.go file for godoc to analyze. Its main
element is a package comment.

R=rsc
CC=go-dev
http://go/go-review/1018029
2009-11-03 16:05:47 -08:00
Russ Cox
96ea081c04 6l -e: emit external ELF symbol table.
enough to make nm and oprofile work.

R=r
http://go/go-review/1017016
2009-11-03 14:20:37 -08:00
Robert Griesemer
12f8660d4c use default styler when there is no other given
(No visual change yet since the comments for
exported code snippets - as shown on the pkg
page - are not yet formatted using the standard
comment intersperse mechanism in the printer.
This is a TODO in the printer.)

R=rsc
http://go/go-review/1016031
2009-11-03 10:00:57 -08:00
Robert Griesemer
be56b95770 - show recursive package directory structure in package pages
- removed some underbars in section headings for better looks
- various minor tweaks

R=rsc
http://go/go-review/1018026
2009-11-02 22:44:01 -08:00
Rob Pike
120d0b50c6 forgot to count newlines when scanning white space.
also fix a error-printing bug in godoc.

R=gri
http://go/go-review/1016030
2009-11-02 20:35:52 -08:00
Russ Cox
6334b499e8 fix divide by zero in old glibc dynamic loader
R=r
CC=iant
http://go/go-review/1018024
2009-11-02 14:00:32 -08:00
Adam Langley
72ec930fa7 Fix cgo for GCC 4.4
Firstly, with -Werror, GCC switched to printing warnings starting
with "error:". Widening the string matches solves this as the messages
are otherwise unchanged.

Secondly, GCC 4.4 outputs DWARF sections with with NUL bytes in all
the offsets and requires the relocation section for .debug_info to be
processed in order to result in valid DWARF data. Thus we add minimal
handling for relocation sections, which is sufficient for our needs.

BUG=1
Fixes #1.

R=rsc, iant
CC=go-dev
http://go/go-review/1017003
2009-11-02 12:02:16 -08:00
Russ Cox
d00248980b do not emit USED for global x when compiling "_ = x;"
R=ken@golang.org
CC=r
http://go/go-review/1018019
2009-11-02 10:50:18 -08:00
Robert Griesemer
49d295d592 - initial steps towards showing directory tree instead of
just a single directory
- all pieces present but not well integrated
- directory tree served at the moment under /tree

R=rsc
http://go/go-review/1018016
2009-11-02 09:25:39 -08:00
Russ Cox
9dd2e1e30f nil pointer checks in 8g.
fix nil pointer check in 6g.
was dereferencing after the ADD;
dereference before instead.

R=ken@golang.org
CC=iant
http://go/go-review/1016022
2009-11-01 21:04:16 -08:00
Rob Pike
4d310f2434 reverse the arguments to io.Copy so the destination is on the
left, like an assignment, like strcpy, etc.

R=rsc
CC=go-dev
http://go/go-review/1016011
2009-11-01 20:59:49 -08:00
Robert Griesemer
b96ad80949 enable all (but one) test cases in test.sh that
were excluded before because of incorrect comment
formatting (comment formatting is mostly idempotent
at this point)

R=rsc
http://go/go-review/1018014
2009-11-01 15:27:10 -08:00
Russ Cox
fd1add2768 syscall cleanup.
* rename PORT.sh -> mkall.sh (hopefully more obvious),
   change behavior: run commands by default.
 * pull more constants out of #defines automatically,
   instead of editing large lists by hand.
 * add Recvfrom, Sendto

add os.O_EXCL.

R=r
http://go/go-review/1017009
2009-11-01 11:13:27 -08:00
Robert Griesemer
5223218307 don't update sync time if no files have changed
(and thus avoid re-indexing after every sync attempt)

R=rsc
http://go/go-review/1016010
2009-11-01 10:33:16 -08:00
Russ Cox
7732d80ceb misc cleanup
R=r
http://go/go-review/1016017
2009-11-01 09:25:55 -08:00
Robert Griesemer
fb12ad063e fix build
R=agl
CC=rsc
http://go/go-review/1016008
2009-10-30 13:19:04 -07:00
Russ Cox
09f4261841 split godoc/godoc.go into godoc/godoc.go
and godoc/main.go.

R=gri
CC=r
http://go/go-review/1017005
2009-10-30 10:58:53 -07:00
Kai Backman
1d0b65d33f added missing sgen reverse character copy code.
R=rsc
http://go/go-review/1018006
2009-10-30 09:38:30 -07:00
Stephen Ma
74aa9dd55a Hack to make cgo's generated go code compile when there are no
unsafe.Pointer references inside the C declarations.

R=go-dev
APPROVED=rsc
DELTA=1  (1 added, 0 deleted, 0 changed)
OCL=36063
CL=36063
2009-10-26 21:21:53 -07:00
Robert Griesemer
c54cb4cb4d - added missing formatters in templates
- replaced deprecated use of </font> with </span> tag
- added html escaping to godoc formatters where missing
- enabled text format for package documentation

R=rsc
http://go/go-review/1017001
2009-10-28 16:19:09 -07:00
Kai Backman
58ee1f5d54 shift for non-64 bit integers.
R=rsc
http://go/go-review/1015017
2009-10-27 22:38:45 -07:00
Robert Griesemer
e3fd2e1ec6 godoc search bug fixes:
- sort by package name (instead of package path) for results with snippets
- sort line numbers in results without snippets
- properly characterize package clauses
- experiment with a leaner look: no underlines for top-level godoc links in the left side bar

Still using colors to distinguish results. Next step.

R=rsc
http://go/go-review/1015016
2009-10-27 16:08:12 -07:00
Robert Griesemer
32810a5ded code search for godoc:
- added goroutine to automatically index in the background
- added handler for search requests
- added search box to top-level godoc template
- added search.html template for the display of search results
- changes to spec.go because of name conflicts
- added extra styles to style.css (for shorter .html files)

R=rsc
http://go/go-review/1014011
2009-10-27 10:34:31 -07:00
Kai Backman
1228112b50 bug162, large indices on nil references
R=rsc
http://go/go-review/1013016
2009-10-26 21:49:32 -07:00
Robert Griesemer
5a75ac88c9 - indexing component for godoc
R=rsc
http://go/go-review/1015014
2009-10-26 18:32:51 -07:00
Robert Griesemer
57035a9041 snippet generator for godoc search results
R=rsc
http://go/go-review/1013014
2009-10-26 15:47:56 -07:00
Kai Backman
5cc32a5348 fix defer. gave up on unified code for defer and go for now.
R=rsc
http://go/go-review/1014010
2009-10-26 08:02:19 -07:00
Kai Backman
dfeceddd3f make 5l ignore multiple defs, remove use of multiple
defs from embed1 and gotest

R=rsc
http://go/go-review/1014009
2009-10-25 11:59:58 -07:00
Kai Backman
9e99383df5 frame size > StackBig support
R=rsc
http://go/go-review/1015010
2009-10-25 11:51:48 -07:00
Kai Backman
68d5c51287 fix conditional branch instructions for unsigned ints and
float. fix sgen endianess in sgen character copying.

        go/test: passes 97% (336/345)

R=rsc
http://go/go-review/1015007
2009-10-24 22:47:25 -07:00
Rob Pike
c91e89d539 remove reference to p4 in comment.
R=gri
CC=rsc
http://go/go-review/1014008
2009-10-24 14:27:49 -07:00
Kai Backman
f860bc0f4e fixed len/cap for chan. disable gc for now.
go/test: passes 93% (323/345)

R=rsc
http://go/go-review/1015006
2009-10-23 20:31:03 -07:00
Kai Backman
942d6590d9 one more argsize fix. we were copying with the correct
alignment but not enough (duh).

R=rsc
APPROVED=rsc
DELTA=16  (13 added, 0 deleted, 3 changed)
OCL=36020
CL=36024
2009-10-23 11:03:16 -07:00
Kai Backman
dec1ec34bf all of pkg now compiles, fixes a few more tests
go/test: passes 90% (313/345)

R=rsc
APPROVED=rsc
DELTA=90  (83 added, 3 deleted, 4 changed)
OCL=36011
CL=36023
2009-10-23 11:00:59 -07:00
Kai Backman
0af8e1045c fix off by 4 bug in morestack (lr again). remove storing of r0
now that all arguments are passed on the stack.

go/test: passes 89% (310/345)

R=rsc
APPROVED=rsc
DELTA=33  (13 added, 14 deleted, 6 changed)
OCL=36009
CL=36022
2009-10-23 10:59:31 -07:00
Kai Backman
a9e03ae52a fix broken code produced for ominus
go/test: passes 89% (308/345)

R=rsc
APPROVED=rsc
DELTA=10  (5 added, 0 deleted, 5 changed)
OCL=36005
CL=36021
2009-10-23 10:58:29 -07:00
Kai Backman
03bbfe6724 fix off by 4 in newproc arg copying.
R=rsc
APPROVED=rsc
DELTA=4  (0 added, 0 deleted, 4 changed)
OCL=36001
CL=36004
2009-10-22 13:31:52 -07:00
Robert Griesemer
34e8075259 fix computation of sync delay
R=rsc
http://go/go-review/1013011
2009-10-23 11:35:40 -07:00
Robert Griesemer
8f52a82169 - make printer interface easily extensible w/o breaking clients (in the future)
- replacement for p4 CL 35999 (abandoned)

R=rsc
http://go/go-review/1012010
2009-10-22 18:19:49 -07:00
Russ Cox
219fb02042 fix build after Mercurial move.
various missing or incorrect files.

R=r
CC=go-dev
http://go/go-review/1014004
2009-10-22 10:59:27 -07:00
Robert Griesemer
90cc4a5949 go/printer:
- handle HTML tagging via (client-installable) Stylers

go/doc:
- basic styler support
- some factoring
- ready to contain the search code (but for now excluded)

doc/style.css:
- updated

doc/go_spec.css:
- cleanup: replace deprecated uses of <font> tag with <span> tag

R=rsc
DELTA=302  (160 added, 62 deleted, 80 changed)
OCL=35973
CL=35996
2009-10-22 09:41:38 -07:00
Kai Backman
c2eb89af92 change stack splitting comparisons from signed to unsigned (oversight)
R=rsc
APPROVED=rsc
DELTA=9  (0 added, 0 deleted, 9 changed)
OCL=35911
CL=35952
2009-10-21 09:44:23 -07:00
Robert Griesemer
f591591a28 remove superfluous tracing support
R=rsc
DELTA=5  (0 added, 4 deleted, 1 changed)
OCL=35930
CL=35930
2009-10-20 13:30:32 -07:00
Robert Griesemer
4213c22301 Updated and simplified gofmt.
- operates on stdin, a single file, or all files in a file tree
- setting -w flag writes to (source) file instead of stdout
- setting -l flag lists files whose formatting has changed

R=rsc
DELTA=201  (102 added, 71 deleted, 28 changed)
OCL=35890
CL=35926
2009-10-20 12:07:31 -07:00
Russ Cox
60ff8cc86f address bug193 and add note to spec about it.
R=ken
OCL=35920
CL=35920
2009-10-20 08:27:14 -07:00
Russ Cox
02fd255a14 bug162, over and over
R=ken
OCL=35919
CL=35919
2009-10-20 08:03:43 -07:00
Kai Backman
dde4090372 removed tempalloc/tempfree and replaced with tempname
go/test: passes 88% (304/345)

R=rsc
APPROVED=rsc
DELTA=67  (3 added, 54 deleted, 10 changed)
OCL=35910
CL=35910
2009-10-19 22:47:25 -07:00
Russ Cox
fcb9387089 support for 5.out files
R=kaib
DELTA=1262  (1247 added, 7 deleted, 8 changed)
OCL=35907
CL=35909
2009-10-19 22:33:56 -07:00
Russ Cox
a15648658f bug196
R=ken
OCL=35905
CL=35905
2009-10-19 21:10:29 -07:00
Russ Cox
62c4818ee0 bug136
R=ken
OCL=35902
CL=35904
2009-10-19 20:39:18 -07:00
Russ Cox
1be74762c1 bug169
R=ken
OCL=35899
CL=35899
2009-10-19 19:55:17 -07:00
Russ Cox
4c3a85d73a 6g bug fixes:
* bug211
 * embedded interfaces with lowercase methods
 * var _ = f() at top level

R=ken
OCL=35898
CL=35898
2009-10-19 19:27:40 -07:00
Russ Cox
8fffa1d698 bug190.
also eliminate float80 dregs

R=ken
OCL=35894
CL=35896
2009-10-19 18:47:37 -07:00
Kai Backman
b4896b496e function literals
go/test: passes 86% (297/343)

R=rsc
APPROVED=rsc
DELTA=14  (10 added, 1 deleted, 3 changed)
OCL=35881
CL=35884
2009-10-19 12:44:08 -07:00
Kai Backman
8037e3ba5e fix arm build, add 64 bit cgen_asop
R=rsc
APPROVED=rsc
DELTA=21  (21 added, 0 deleted, 0 changed)
OCL=35845
CL=35845
2009-10-16 12:02:14 -07:00
Russ Cox
22a5c78f44 rename sys functions to runtime,
because they are in package runtime.

another step to enforcing package boundaries.

R=r
DELTA=732  (114 added, 93 deleted, 525 changed)
OCL=35811
CL=35824
2009-10-15 23:10:49 -07:00
Kai Backman
4f7aa31862 fix minor typo in float conversions
R=rsc
APPROVED=rsc
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=35820
CL=35820
2009-10-15 22:30:57 -07:00
Kai Backman
545dbd810c fix OINDEX address generation, leftover misunderstanding about
how scale works on amd64/386

go/test: passes 85% (294/342)

R=rsc
APPROVED=rsc
DELTA=27  (26 added, 1 deleted, 0 changed)
OCL=35815
CL=35818
2009-10-15 22:16:31 -07:00
Kai Backman
222a15c840 test/64bit.go passes but doesn't generate properly yet.
R=rsc
APPROVED=rsc
DELTA=235  (98 added, 38 deleted, 99 changed)
OCL=35789
CL=35813
2009-10-15 19:41:51 -07:00
Russ Cox
4e4097d9d9 386 shift bug; wasn't zero-extending 16- and 8-bit counts
+test

R=ken
OCL=35801
CL=35801
2009-10-15 16:32:45 -07:00
Russ Cox
a75e347a21 do not migrate x to the heap because of *&x.
R=ken
OCL=35799
CL=35799
2009-10-15 16:03:01 -07:00