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

4052 Commits

Author SHA1 Message Date
Petar Maymounkov
55828cee94 http: add DumpRequest, DumpResponse, for debugging
R=rsc
CC=golang-dev
https://golang.org/cl/206050
2010-02-19 07:51:51 -08:00
Petar Maymounkov
d26e204514 http: persistent connection objects
R=rsc
CC=golang-dev
https://golang.org/cl/203051
2010-02-18 23:38:21 -08:00
Petar Maymounkov
e3b94edc03 http: do not edit Response.ContentLength in Response.Write
R=rsc
CC=golang-dev
https://golang.org/cl/207061
2010-02-18 23:38:17 -08:00
Russ Cox
80a14df122 gc: double-initialization
R=ken2
CC=golang-dev
https://golang.org/cl/217044
2010-02-18 23:33:57 -08:00
Kai Backman
c0aac20e20 combined pchw and embedded into tiny. added section on arm to README
R=rsc
CC=golang-dev
https://golang.org/cl/194151
2010-02-18 23:33:21 -08:00
Charles L. Dorian
c3fa32c747 math: add Cbrt and Sincos; x87 versions of Sincos, Frexp, Ldexp
Added special condition and benchmarks for Cbrt, Sincos. Took Frexp and Ldexp out of bits.go.

R=rsc
CC=golang-dev
https://golang.org/cl/206084
2010-02-18 23:33:15 -08:00
Evan Shaw
4af0a58ea9 8a/8l: Added FCMOVcc instructions
Thanks to Charles Dorian for the help.

R=rsc
CC=Charlie Dorian, golang-dev
https://golang.org/cl/207049
2010-02-18 23:33:06 -08:00
Amrut Joshi
d8675d25e5 xml: allow unquoted attribute values in non-Strict mode
HTML4 standard supports unquoted attibute values in certain cases
(http://www.w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.2).

R=rsc
CC=golang-dev
https://golang.org/cl/207095
2010-02-18 23:32:55 -08:00
Fumitoshi Ukai
2161e3e23e http: avoid server crash on malformed client request
R=r, rsc
CC=golang-dev
https://golang.org/cl/206079
2010-02-18 18:32:40 -08:00
Russ Cox
c2dea2196c exec: add dir argument to Run.
fix, test MergeWithStdout

R=r
CC=golang-dev
https://golang.org/cl/214046
2010-02-18 18:32:33 -08:00
Russ Cox
4589c34580 gc: fix this morning's bug fix
R=ken2
CC=golang-dev
https://golang.org/cl/216043
2010-02-18 18:31:13 -08:00
Ken Thompson
fc010adcd7 complex constant multiply and divide
R=rsc
CC=golang-dev
https://golang.org/cl/217041
2010-02-18 17:55:11 -08:00
Robert Griesemer
d17ffb9753 godoc: path cleanups, fixed a race condition, initial support for a menu on pages
R=rsc
CC=adg, golang-dev
https://golang.org/cl/215050
2010-02-18 17:40:50 -08:00
Dean Prichard
86b0ea6447 sync: allow to work on armv5
asm_arm.s was using ldrex which does not work
on armv5. Tested on Sheevaplug.

R=rsc, kaib
CC=golang-dev
https://golang.org/cl/214049
2010-02-18 15:37:16 -08:00
Ken Thompson
713e3e1541 more complex - constants
import and export

R=rsc
CC=golang-dev
https://golang.org/cl/214050
2010-02-18 14:46:28 -08:00
Russ Cox
1734cb02e7 gc: recursive interface embedding
Fixes #287.

R=ken2
CC=golang-dev
https://golang.org/cl/215048
2010-02-18 11:15:36 -08:00
Russ Cox
cf015fd0b8 5g/8g: fix build
R=ken2
CC=golang-dev
https://golang.org/cl/215042
2010-02-17 22:41:04 -08:00
Ken Thompson
33d6a260c1 new types complex, complex64 and complex128
only front-end compiler work.
best to do thin in 3 steps
1. frontend
2. backend
3. lib

R=rsc
CC=golang-dev
https://golang.org/cl/214042
2010-02-17 22:08:30 -08:00
Robert Griesemer
cd72f77f23 apply gofmt to src and misc
R=rsc
CC=golang-dev
https://golang.org/cl/213041
2010-02-17 15:46:46 -08:00
Robert Griesemer
1cf6fdf8a1 gofmt: make sure certain 2-line comments are stable
under repeated application of gofmt

R=agl, agl1
CC=golang-dev
https://golang.org/cl/212046
2010-02-17 15:41:26 -08:00
Russ Cox
fb5506600f 8g: respect ullman numbers in float comparison
Fixes #602.

R=ken2
CC=golang-dev
https://golang.org/cl/212045
2010-02-17 15:28:45 -08:00
Rob Pike
7b76175a1c time.Ticker: fix bug arising when all tickers are dead.
thanks to yglgogo for analysis.

Fixes #593.

R=rsc
CC=golang-dev
https://golang.org/cl/210044
2010-02-18 09:55:29 +11:00
Nigel Tao
3dc04f4a22 Add Src and Over draw operators.
R=r, rsc
CC=golang-dev
https://golang.org/cl/207096
2010-02-17 14:34:51 +11:00
Russ Cox
7b5789b584 gc: undo attempt at fixing recursive interface embedding
Fixes #582.

Update #287
Status: Accepted
Bug fix was too intrusive; undo and reopen issue.

R=ken2
CC=golang-dev
https://golang.org/cl/209044
2010-02-16 17:44:15 -08:00
Robert Griesemer
855986d54f go/scanner: comply with spec changes (do not allow NUL chars)
and complain about illegal UTF-8 code sequences

R=rsc
CC=golang-dev
https://golang.org/cl/209043
2010-02-16 17:39:44 -08:00
Russ Cox
401062f720 gc: fix build (signed char bug)
R=ken2
CC=golang-dev
https://golang.org/cl/210043
2010-02-16 17:30:33 -08:00
Russ Cox
cfff862862 gc: disallow NUL byte, catch more invalid UTF-8, test
R=ken2, ken3
CC=golang-dev
https://golang.org/cl/209041
2010-02-16 16:47:39 -08:00
Russ Cox
04d9c8853b runtime: fix bug in Caller documentation
R=r
CC=golang-dev
https://golang.org/cl/207110
2010-02-16 16:11:11 -08:00
Robert Griesemer
db9a9662a1 godoc: updated documentation
R=r
CC=golang-dev
https://golang.org/cl/207112
2010-02-16 15:36:55 -08:00
Rob Pike
7db472fd34 The prefix optimization applies only to the first iteration.
Fixes #596.

R=rsc
CC=golang-dev
https://golang.org/cl/206101
2010-02-17 08:49:00 +11:00
Robert Griesemer
ca075494a6 godoc: initialize vars depending on flags after parsing the flags.
R=rsc
CC=golang-dev
https://golang.org/cl/206109
2010-02-16 12:49:41 -08:00
Robert Griesemer
ffd0961313 godoc: fix initialization issue
R=rsc
CC=golang-dev
https://golang.org/cl/207111
2010-02-16 11:54:12 -08:00
Giles Lean
5aa3a8de6d syscall: make signature of Umask on OS X, FreeBSD match Linux.
R=rsc
CC=golang-dev
https://golang.org/cl/207071
2010-02-16 11:43:25 -08:00
Giles Lean
0b4d8c19af cc: use "cpp" anywhere in path, not "/bin/cpp"
R=rsc
CC=golang-dev
https://golang.org/cl/206077
2010-02-16 11:32:41 -08:00
Robert Griesemer
5883c6ef1f godoc support for directories outside $GOROOT
Example use: godoc -path=/home/user1:/home/build/foo -http=:6666
will start a local godoc that maps urls starting with /pkg/user1 or
/pkg/foo to the respective roots specified in the path.

Missing: Handling of overlapping package directories, multiple
packages per directory.

R=rsc
CC=golang-dev
https://golang.org/cl/206078
2010-02-16 11:20:55 -08:00
Robert Griesemer
85498cbcdd remove assumption that all files belonging to a package are in the same directory:
- adjust ast.Package node and doc.PackageDoc correspondingly
- introduce parser.ParseFiles

R=rsc
CC=golang-dev
https://golang.org/cl/207087
2010-02-16 11:20:25 -08:00
Robert Griesemer
2f816d5b73 Don't print ()'s around a range clause's expression.
Fixes #605.

R=rsc
CC=golang-dev
https://golang.org/cl/207108
2010-02-16 10:19:51 -08:00
Russ Cox
e7fc5c2789 gc: test & fix handling of very long string constants
R=ken2
CC=golang-dev
https://golang.org/cl/207106
2010-02-16 10:16:24 -08:00
Ian Lance Taylor
115066fd14 Fix printing of named floating point types.
Try to avoid infinite recursion if String fails due to
printing a bad type.

Add test for String method with named basic types.

R=r
CC=golang-dev
https://golang.org/cl/207102
2010-02-15 22:42:49 -08:00
Robert Griesemer
fba50ee5ed update gofmt test script
R=adg
CC=golang-dev
https://golang.org/cl/207088
2010-02-12 15:28:11 -08:00
Russ Cox
58d5d6f34f http: clarify ServeHTTP return
Fixes #580.

R=adg
CC=golang-dev
https://golang.org/cl/207086
2010-02-12 14:27:44 -08:00
Russ Cox
5ab8f00bf8 gc: diagnose invalid array bounds
Fixes #587.

R=ken2
CC=golang-dev
https://golang.org/cl/207085
2010-02-12 13:59:02 -08:00
Russ Cox
9f77e7ea3c runtime: dummy gettime for mingw/386.
Fixes #598.

R=adg
CC=golang-dev
https://golang.org/cl/206089
2010-02-12 12:49:16 -08:00
Robert Griesemer
a75ebe192e correct meaning of "absolute" and "relative"
(implementation was swapped)

R=adg
CC=golang-dev, rsc
https://golang.org/cl/207069
2010-02-11 13:59:10 -08:00
Robert Griesemer
a91fa9d52e Steps towards more flexible godoc:
The Mapping object implements a flexible
mapping of relative to absolute paths and
vice versa.

R=rsc
CC=golang-dev
https://golang.org/cl/206067
2010-02-11 10:01:03 -08:00
Kai Backman
494bcc80e4 stop the 5c optimizer from clobbering extern static registers.
R=rsc, ken2
CC=golang-dev
https://golang.org/cl/204064
2010-02-10 22:42:05 -08:00
Russ Cox
22a7f2a14d runtime: delete MHeapMapCache, which is useless
because free needs to mark the block as freed to
coordinate with the garbage collector.

(in C++ free can blindly put the block on the free list,
no questions asked, so the cache saves some work.)

R=iant
CC=golang-dev
https://golang.org/cl/206069
2010-02-10 21:23:08 -08:00
Nigel Tao
fc8e3d4004 exp/draw test.
R=rsc
CC=golang-dev
https://golang.org/cl/203062
2010-02-11 13:38:16 +11:00
Petar Maymounkov
c27c3aa6d8 Added tests for http.Request/Response.Write()
R=rsc
CC=golang-dev
https://golang.org/cl/199070
2010-02-10 17:29:03 -08:00
Russ Cox
c312d0e0ca net: use slightly less predictable dns request id
not trying to be secure, just not repetitive
(sending with the same id repeatedly makes
some resolvers stop replying.)

eventually we'll replace this with linking against
the system's native resolver.

R=p
CC=golang-dev
https://golang.org/cl/207051
2010-02-10 16:35:35 -08:00
Russ Cox
66cdc699b2 arm: fix build on android
R=kaib
CC=golang-dev
https://golang.org/cl/206059
2010-02-10 15:01:02 -08:00
Russ Cox
fb94be55dc runtime: tighten garbage collector
* specialize sweepspan as sweepspan0 and sweepspan1.
 * in sweepspan1, inline "free" to avoid expensive mlookup.

R=iant
CC=golang-dev
https://golang.org/cl/206060
2010-02-10 14:59:39 -08:00
Russ Cox
991a968f44 runtime: do not zero blocks on free (this time for sure!)
R=iant
CC=golang-dev
https://golang.org/cl/207054
2010-02-10 11:31:00 -08:00
Alex Brainman
3b1a71862e 8l: pe executable building code changed to include import table for kernel32.dll functions
Fixes #586.

R=rsc
CC=golang-dev
https://golang.org/cl/203060
2010-02-10 00:47:52 -08:00
Russ Cox
1ca39fb1fd gc: fix mkopnames and color grep interaction
Fixes #406.

R=adg
CC=golang-dev
https://golang.org/cl/207053
2010-02-10 00:44:43 -08:00
Russ Cox
f9f66b97e2 ld: unused variable
R=adg
CC=golang-dev
https://golang.org/cl/207050
2010-02-10 00:44:22 -08:00
Charles L. Dorian
aee1434193 math: add Exp2; 386 FPU versions of Exp2 and Log1p
Added tests and benchmarks for Exp2 (special cases same
as Exp). Log1p also enhances speed of inverse hyperbolics.

R=rsc
CC=golang-dev
https://golang.org/cl/206058
2010-02-10 00:06:41 -08:00
Russ Cox
f25586a306 runtime: garbage collection + malloc performance
* add bit tracking finalizer status, avoiding getfinalizer lookup
  * add ability to allocate uncleared memory

R=iant
CC=golang-dev
https://golang.org/cl/207044
2010-02-10 00:00:12 -08:00
Michael Hoisie
0cba5fc051 mime: new package, use in http
R=rsc
CC=golang-dev
https://golang.org/cl/186160
2010-02-09 20:47:45 -08:00
Petar Maymounkov
c5287ecb9c http: protect io.WriteString in Request/Response.Write with error checking,
since they were causing a silent program exit (too many EPIPE's).

R=rsc
CC=golang-dev
https://golang.org/cl/204062
2010-02-09 17:42:51 -08:00
Ken Thompson
d4ad8e8ce3 bug fix in 6c/8c/5c mis-aligned
function arguments.

R=rsc
CC=golang-dev
https://golang.org/cl/206054
2010-02-09 17:26:04 -08:00
Russ Cox
2b4a9fa176 fix NaCl build for latest runtime changes
R=iant
CC=golang-dev
https://golang.org/cl/206052
2010-02-09 16:56:22 -08:00
Russ Cox
de90a7d4aa runtime: fix FreeBSD build
stab in the dark but plausible: the kernel does try to
return time zone information.
http://fxr.watson.org/fxr/source/kern/kern_time.c?v=FREEBSD8#L421

R=iant
CC=golang-dev
https://golang.org/cl/206053
2010-02-09 16:54:51 -08:00
Charles L. Dorian
c465331262 math: add functions Log2, Nextafter, Fdim, Fmax, Fmin
Add functions, tests and benchmarks. Fix typos in comments
in expm1 and hypot_386.  Fix Acosh domain error in benchmark
test.

R=rsc
CC=golang-dev
https://golang.org/cl/204069
2010-02-09 13:33:12 -08:00
Evan Shaw
baea3e946d 8a/8l: Added CMOVcc instructions
R=rsc
CC=golang-dev
https://golang.org/cl/204067
2010-02-09 13:33:07 -08:00
Russ Cox
d3be2e3e0a add simple garbage collector benchmarks to dashboard
R=agl1
CC=golang-dev
https://golang.org/cl/207043
2010-02-09 13:33:00 -08:00
Fazlul Shahriar
96476b4c3e make units compile
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/206044
2010-02-09 13:20:22 -08:00
Russ Cox
62d627f0bc runtime: allow arbitrary return type in SetFinalizer.
finalize chan, to free OS X semaphore inside Lock.
os: finalize File, to close fd.

Fixes #503.

R=ken2
CC=golang-dev
https://golang.org/cl/204065
2010-02-08 21:41:54 -08:00
Russ Cox
9e2c9bb0ca gc: fix method expression bug
R=ken2
CC=golang-dev
https://golang.org/cl/206043
2010-02-08 21:40:35 -08:00
Russ Cox
e4f06812c5 runtime: instrument malloc + garbage collector.
add simple garbage collection benchmark.

R=iant
CC=golang-dev
https://golang.org/cl/204053
2010-02-08 14:32:22 -08:00
Andrew Gerrand
b4fb00b69b *l/*c: add -V flag to display version number
R=rsc
CC=golang-dev
https://golang.org/cl/204044
2010-02-08 09:46:53 -08:00
Evan Shaw
abe6a5b0f7 testing: Fix comment typo
R=iant, rsc
CC=golang-dev
https://golang.org/cl/204068
2010-02-07 23:11:54 -08:00
Adam Langley
d5841cac45 encoding/pem: add marshalling support.
R=rsc
CC=golang-dev
https://golang.org/cl/203043
2010-02-07 15:22:36 -05:00
Russ Cox
87915b6565 runtime: introduce MemStatsType
R=ken2
CC=golang-dev
https://golang.org/cl/204061
2010-02-07 01:20:44 -08:00
Kai Backman
ebf32c5868 fix comment
R=rsc
CC=golang-dev
https://golang.org/cl/203053
2010-02-06 21:59:46 -08:00
Nigel Tao
48cdb63baa draw.Draw fast paths for a nil mask (and RGBA dst).
Averaged times (in microseconds) for drawing an 800x600 rectangle
are listed below. The summary is: around a 100x improvement.

draw.Draw call times were typically linear in the number of pixels
touched (i.e. drawing an 800x600 rectangle took 100x as much time as
drawing an 80x60 rectangle).

Before this change, there was only the general-but-slow code path.
When drawing any src with a 50%-opaque mask: 237300 us
When drawing any src with a nil mask: 50100 us

After this change, the 50%-opaque mask case is unchanged.
For an *image.RGBA dst and nil mask and...
...a uniform color (i.e. an image.ColorImage) src: 282 us
...another *image.RGBA src: 615 us.

For the curious, an intermediate implementation detected the special
cases but used simple nested for loops instead of the built-in copy
function. The respective times (compared to 282 and 615 for the
final implementation, or 50100 for the original) were 3110 and 3573.

Times were measured with 8g/8l on my laptop. I haven't tried gccgo
or other architectures.

R=r, rsc
CC=golang-dev
https://golang.org/cl/201048
2010-02-06 15:57:19 +11:00
Petar Maymounkov
4fdab85178 http: sort header keys when writing Response or Request to wire
R=rsc
CC=golang-dev
https://golang.org/cl/203050
2010-02-05 18:32:02 -08:00
Ken Thompson
ce85868a00 bug in const float divide
R=rsc
CC=golang-dev
https://golang.org/cl/204042
2010-02-05 15:18:32 -08:00
Charles L. Dorian
072b560ee6 math: Atan2 special cases and tests; atan2_386
Added special cases, tests and benchmarks for Atan2;
added 386 FPU version of Atan2.

R=rsc
CC=golang-dev
https://golang.org/cl/201068
2010-02-05 14:55:19 -08:00
Rob Pike
cd2ecfb7b3 Ugly hack to provide some mechanism for printing documentation about
Go source outside $GOROOT.

If the argument is a path starting with / or ., disregard $GOROOT.
Also, disable the check for package name matching the directory,
which is counterproductive in this case.

Apologies for the violence to the code but we need some help documenting
Go code outside the standard repository.

R=gri
CC=golang-dev
https://golang.org/cl/201064
2010-02-06 08:53:46 +11:00
Adam Langley
95e08bde44 asn1: Fixes and additions to marshalling
Marshalling:
* Fixes several silly bugs.
* Support the RawContents type.
* Support the RawValue type.
* Recurse into nested interface{}.

Both directions:
* Better handling of SETs. You can now tag an element in a
  structure with "set" to get the correct tag for serialisation.
* For types that aren't in a structure, you can now name them
  with "SET" on the end.
* SETs are no longer implicitly treated as SEQUENCEs.

R=rsc
CC=golang-dev
https://golang.org/cl/201049
2010-02-05 05:42:02 -05:00
Adam Langley
5d827fac39 crypto/tls: typo fix
R=rsc
CC=golang-dev
https://golang.org/cl/201047
2010-02-05 05:39:49 -05:00
Stephen Weinberg
bc43cc3db0 path: make Join variadic
R=rsc, r
CC=golang-dev
https://golang.org/cl/198049
2010-02-05 02:39:33 -08:00
Dean Prichard
0e47c75f60 5a/6a/8a/5c/6c/8c: remove fixed-size arrays for -I and -D options
R=rsc
CC=golang-dev
https://golang.org/cl/198044
2010-02-05 01:40:58 -08:00
Charles L. Dorian
04217ee54e math: special cases for Modf, Frexp and Ldexp; added Modf_386
Also moved Modf from bits.go into modf.go and added timing tests.

R=rsc
CC=golang-dev
https://golang.org/cl/202042
2010-02-05 00:41:30 -08:00
Rob Pike
2d7dc0e70c handle nils safely in Printf.
add some tests for erroneous formats.

R=rsc
CC=golang-dev
https://golang.org/cl/201058
2010-02-05 11:23:25 +11:00
Joe Poirier
987e1198db Added mingw specific build stubs.
R=rsc
CC=golang-dev
https://golang.org/cl/198071
2010-02-04 13:09:09 -08:00
Christopher Wedgwood
1e66428d59 time: Sleep through interruptions
R=rsc
CC=golang-dev
https://golang.org/cl/202043
2010-02-04 13:09:02 -08:00
Christopher Wedgwood
b655fa8d1d FreeBSD: Kill only takes pid & signal
Cosmetic fix.  The FreeBSD system call only takes two
arguments.

http://fxr.watson.org/fxr/source/kern/kern_sig.c?im=bigexcerpts#L1678

R=dho, rsc
CC=golang-dev
https://golang.org/cl/202051
2010-02-04 13:08:54 -08:00
Andrew Gerrand
8ec9ffc742 6l: move mapped symbol table lower in memory
Allows binary to run on some Linux system.

Fix for issue 365.

R=rsc
CC=golang-dev
https://golang.org/cl/199096
2010-02-04 12:46:11 -08:00
Nigel Tao
4e2035bdc2 In draw.Draw, separate the source-point and mask-point.
This lets you draw text (i.e. with mask = a font image) with
sources that aren't uniform colors.

R=r, rsc
CC=golang-dev
https://golang.org/cl/193067
2010-02-04 21:21:32 +11:00
Russ Cox
f2317d3ec1 syscall: on freebsd, darwin, give Kill same signature as on linux
R=r, cw
CC=golang-dev
https://golang.org/cl/201043
2010-02-04 02:06:08 -08:00
Nigel Tao
ea344e123a Add named colors (e.g. image.Blue), suitable for exp/draw.
R=r, rsc
CC=golang-dev
https://golang.org/cl/198066
2010-02-04 20:25:37 +11:00
Petar Maymounkov
15da069a37 http: use ChunkWriter in Request.Write
R=rsc
CC=golang-dev
https://golang.org/cl/196079
2010-02-04 00:23:01 -08:00
Christopher Wedgwood
43d2e59a81 os/signal: send SIGCHLDs to Incoming
R=rsc
CC=golang-dev
https://golang.org/cl/199082
2010-02-03 23:24:28 -08:00
Kai Backman
2f1a321d4f search for runtime.a in the package path instead of hardcoding
the location. remove last remnants of broken -l flag.

R=rsc
CC=golang-dev
https://golang.org/cl/201042
2010-02-03 22:31:38 -08:00
Russ Cox
c2cb0d70d5 arm: toss make-arm.bash
R=kaib
CC=golang-dev
https://golang.org/cl/199094
2010-02-03 20:46:37 -08:00
Rob Pike
2bcca5d951 Add RFC822 formats as named constants.
Make sure to print a time zone when formatting even if none is defined.
Add a comment introducing lookupTimezone (not lookupTimeZone).

Fixes isse 577.

R=rsc
CC=golang-dev
https://golang.org/cl/196090
2010-02-04 15:39:27 +11:00
Russ Cox
3a295ab704 debug/gosym: fix test for new 6l
TBR=r
CC=golang-dev
https://golang.org/cl/199091
2010-02-03 16:53:19 -08:00
Russ Cox
33e396a4a7 finalizers; merge package malloc into package runtime
R=r, cw
CC=golang-dev
https://golang.org/cl/198085
2010-02-03 16:31:34 -08:00
Russ Cox
00f4c6a1b5 ld: include main and runtime in the library loop
Fixes #585.

R=r
CC=golang-dev
https://golang.org/cl/195075
2010-02-03 16:30:45 -08:00
Andrey Mirtchovski
4a9a0056c1 sort: fix comment typo
R=rsc
CC=golang-dev
https://golang.org/cl/198084
2010-02-02 23:01:21 -08:00
Russ Cox
8b8c103b2b fix build - misc ... vs ...T fixes
TBR=r
CC=golang-dev
https://golang.org/cl/198081
2010-02-02 18:19:27 -08:00
Russ Cox
8bef7fdc39 bug252: make ... vs ...T crossing an error, at least for now
R=r
CC=golang-dev
https://golang.org/cl/199066
2010-02-02 15:00:13 -08:00
Russ Cox
44898c7b76 gc: bug250, bug251 - recursive interface types
Fixes #287.

R=ken2
CC=golang-dev
https://golang.org/cl/199057
2010-02-01 23:58:49 -08:00
Nigel Tao
a3372bd655 New image.A type, to represent anti-aliased font glyphs.
R=r, rsc
CC=golang-dev
https://golang.org/cl/199052
2010-02-02 18:38:04 +11:00
Russ Cox
674458e1c4 gc: bug246
R=ken2
CC=golang-dev
https://golang.org/cl/198057
2010-02-01 23:05:15 -08:00
Russ Cox
b13b80e555 math: change Cosh test to close, not veryclose (needed on some x86 chips)
R=r
CC=Charlie Dorian, golang-dev
https://golang.org/cl/199054
2010-02-01 22:46:37 -08:00
Charles L. Dorian
a0690b69da math: add functions; update tests and special cases
Added special cases to comments for asin.go and fabs.go.
Added Trunc() to floor.go and floor_386.s.  Fixed formatting
error in hypot_386.s  Added new functions Acosh, Asinh,
Atanh, Copysign, Erf, Erfc, Expm1, and Log1p.  Added
386 FPU version of Fmod.  Added tests, benchmarks, and
precision to expected results in all_test.go.  Edited
makefile so it all compiles.

R=rsc
CC=golang-dev
https://golang.org/cl/195052
2010-02-01 22:21:40 -08:00
Russ Cox
0bd41e2ff0 gc: bug242
R=ken2
CC=golang-dev
https://golang.org/cl/198053
2010-02-01 22:18:51 -08:00
Robert Griesemer
75187e5ca3 update printer tests to use new syntax
R=rsc
CC=golang-dev
https://golang.org/cl/198048
2010-02-01 17:51:55 -08:00
Russ Cox
2a5d30fbe7 io: revised Pipe implementation
* renamed channels to say what gets sent
* use channel closed status instead of racy check of boolean

R=nigeltao_golang
CC=golang-dev
https://golang.org/cl/196065
2010-02-01 17:43:15 -08:00
Rob Pike
5db5f68d96 allow any scalar type in xml.Unmarshal.
Fixes #574.

R=rsc
CC=golang-dev
https://golang.org/cl/196056
2010-02-02 11:53:10 +11:00
Russ Cox
45515011cc gc: final ...T bug for the day
R=ken2
CC=golang-dev
https://golang.org/cl/199046
2010-02-01 16:22:16 -08:00
Robert Griesemer
f7e2266ce6 Corrected broken assertion.
Fixes #571.

R=rsc
CC=golang-dev
https://golang.org/cl/198045
2010-02-01 16:14:22 -08:00
Robert Griesemer
e37495368c don't report a couple of meaningless errors in command-line mode
R=rsc
CC=golang-dev
https://golang.org/cl/199045
2010-02-01 16:13:58 -08:00
Rob Pike
d2fc5d68da Change type of Printf's args to ... interface{}
R=rsc
CC=golang-dev
https://golang.org/cl/197043
2010-02-02 10:53:37 +11:00
Russ Cox
1f11ece67f nacl: fix build, finally fixed 8l convergence bug
R=r
CC=golang-dev
https://golang.org/cl/199042
2010-02-01 15:20:19 -08:00
Petar Maymounkov
0d8797bf73 http: test for ReadReqeust
R=rsc, rsc1
CC=golang-dev
https://golang.org/cl/195068
2010-02-01 11:23:38 -08:00
Russ Cox
bea730d1f9 gc: ... T corner cases
more to come, but should suffice for Printf work.

R=ken2
CC=golang-dev
https://golang.org/cl/197044
2010-02-01 10:49:24 -08:00
Russ Cox
68796b0270 gc: add ... T, rework plain ...
No longer a distinct type; now a property of func types.

R=ken2
CC=golang-dev
https://golang.org/cl/197042
2010-02-01 00:25:59 -08:00
Rob Pike
20195bbe61 Fix redirection if the page is in a subdirectory.
Fixes buggy links in the devel subdirectory.
Code from rsc; tested by me.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/197041
2010-02-01 17:17:25 +11:00
Nigel Tao
5647e604f7 Check gzip strings for NUL elements, since they are NUL-terminated
on the wire.

R=rsc
CC=golang-dev
https://golang.org/cl/194146
2010-01-30 12:21:51 +11:00
Nigel Tao
af7e0f1bdd Add a GZIP test for the empty payload.
R=rsc, r
CC=golang-dev
https://golang.org/cl/194131
2010-01-30 11:54:39 +11:00
Petar Maymounkov
84f9b70280 http: increase header line limit, let req.Host override req.URL.Host
Fixes #566.

R=rsc
CC=golang-dev
https://golang.org/cl/194074
2010-01-29 16:51:42 -08:00
Rob Pike
d6ee49a119 fix bug in tick
Fixes #576.

R=rsc, rog
CC=golang-dev
https://golang.org/cl/196061
2010-01-29 13:10:33 -08:00
Devon H. O'Dell
4ffbff14b3 math: Change veryclose to close for Sinh and Exp tests.
Fixes #550.

R=rsc
CC=eds, golang-dev, jtomaschke
https://golang.org/cl/196063
2010-01-29 12:54:05 -08:00
Russ Cox
05f26366e5 two minor build fixes
Fixes #572.
Fixes #570.

R=r
CC=golang-dev
https://golang.org/cl/194134
2010-01-28 18:18:40 -08:00
Rob Pike
16ddb6c538 move comment on StringHeader to fix godoc output.
R=rsc, ken2
CC=golang-dev
https://golang.org/cl/196055
2010-01-29 12:43:46 +11:00
Russ Cox
6039a414ae io: fix nil Write bug in Pipe
R=nigeltao_golang
CC=golang-dev
https://golang.org/cl/194132
2010-01-28 17:38:51 -08:00
Ken Thompson
d7a5ccf36e added StringHeader to reflect
R=rsc
CC=golang-dev
https://golang.org/cl/194133
2010-01-28 17:14:29 -08:00
Dean Prichard
77053797e0 avoid overflow of symb buffer in 5a/6a/8a/5c/6c/8c
R=rsc
CC=golang-dev
https://golang.org/cl/194099
2010-01-28 16:11:38 -08:00
Nigel Tao
c9150003a9 gzip deflater (i.e., writer).
Also, the unused Inflater.eof field was removed.
It has been unused since revision aaa0b24538.
"introduce os.EOF and io.ErrUnexpectedEOF. remove io.ErrEOF."
http://code.google.com/p/go/source/diff?spec=svnaaa0b24538ed1e3e54cbbfdd030a3c35785e74c5&r=aaa0b24538ed1e3e54cbbfdd030a3c35785e74c5&format=side&path=/src/pkg/compress/gzip/gunzip.go

R=rsc
CC=golang-dev
https://golang.org/cl/194122
2010-01-29 11:00:05 +11:00
Russ Cox
288c1c83d9 gc: tweak error messages, avoid internalization settings in bison
R=r
CC=golang-dev
https://golang.org/cl/194129
2010-01-28 15:57:44 -08:00
Petar Maymounkov
dd77c63d3d http: add lexing functions
In particular, add field-value tokenizer which respects quoting rules.
The code is intended for use in tokenizing the Transfer-Encoding and Trailer fields.
The lexing function is not connected to the main parsing code yet (in the next CL).

R=rsc
CC=golang-dev
https://golang.org/cl/190085
2010-01-28 15:14:54 -08:00
Petar Maymounkov
a0e6f03add Cosmetic bug or compliance fixes in http.Response.
(1) http.Response must close resp.Body after writing.
(2) Case when resp.Body != nil and resp.ContentLength = 0 should not be
treated as an error in Response.Write, because this is what
ReadResponse often returns.
(3) Changed body.th to body.hdr for readability.

R=rsc
CC=golang-dev
https://golang.org/cl/194084
2010-01-28 15:13:26 -08:00
Rob Pike
d53b426fa0 An experimental implemenation of Ticker using two goroutines for all tickers.
Feel free to suggest other approaches.

R=rsc
CC=cw, golang-dev
https://golang.org/cl/193070
2010-01-29 08:34:40 +11:00
Robert Griesemer
8fedbb8c3d support for ...T parameters (go/* packages)
R=rsc
CC=golang-dev
https://golang.org/cl/194126
2010-01-28 13:24:48 -08:00
Michael Hoisie
f2539b1417 Allow underscores in XML element names (except for leading characters)
Fixes #569

R=rsc, r
CC=golang-dev
https://golang.org/cl/194121
2010-01-27 21:13:22 -08:00
Rob Pike
535e427272 Regularize the comments for the websocket package and document all functions and methods.
R=rsc, ukai
CC=golang-dev
https://golang.org/cl/196044
2010-01-28 15:38:32 +11:00
Russ Cox
d72f2de9a2 go/parser: disable scoping code always
Seems to be enabled spuriously during godoc (can't see why),
producing errors like:

parser.parseDir: src/pkg/http/server.go:159:16: 'Write' declared already at src/pkg/http/request.go:140:21 (and 4 more errors)

R=r
CC=golang-dev
https://golang.org/cl/194119
2010-01-27 18:28:13 -08:00
Ken Thompson
424f9ca6ab change print print buffer size
to go with the full path names

R=rsc
CC=golang-dev
https://golang.org/cl/195079
2010-01-27 15:37:46 -08:00
Russ Cox
a186b77b03 gc: implement defer print/println/panic/panicln
Fixes #219.

R=ken2, r
CC=golang-dev
https://golang.org/cl/194097
2010-01-27 15:37:08 -08:00
Robert Griesemer
f39dc9fff2 More steps towards tracking of identifier scopes.
- provide scope to parse functions; if non-nil, parser uses the scope
  to declare and lookup identifiers
- resolve forward references where possible

R=rsc
CC=golang-dev
https://golang.org/cl/194098
2010-01-27 09:44:28 -08:00
Russ Cox
2a01d72878 gc: improved syntax errors
* example-based syntax errors (go.errors)

* enable bison's more specific errors
  and translate grammar token names into
  tokens like ++

* test cases

R=ken2, r, ken3
CC=golang-dev
https://golang.org/cl/194085
2010-01-26 23:13:22 -08:00
Kai Backman
9f5264f299 small embedded target for arm.
R=rsc
CC=golang-dev
https://golang.org/cl/193104
2010-01-26 20:22:59 -08:00
Russ Cox
cb58ed75d2 cgo: update for package global name space
Fixes #560.

R=r
CC=golang-dev
https://golang.org/cl/195051
2010-01-26 18:20:15 -08:00
Russ Cox
3e0ee6b594 patch: handle text diffs from git
R=r
CC=golang-dev
https://golang.org/cl/194094
2010-01-26 17:49:33 -08:00
Michael Hoisie
dd97923d82 net: fix segfault if /etc/hosts fails to open or doesn't exist
R=rsc
CC=golang-dev, r
https://golang.org/cl/194043
2010-01-26 16:18:29 -08:00
Russ Cox
5f4c052e2d gc: do not treat .6 different from .a anymore
R=ken2
CC=golang-dev
https://golang.org/cl/195050
2010-01-26 16:12:50 -08:00
Icarus Sparry
090e71e7fd os: in test, allow Hostname to return FQDN even if /bin/hostname does not
Hostname reads the file /proc/sys/kernel/hostname to determine
the value it returns. Some people set this to a Fully Qualified
Doamin Name. At least one implementation of /bin/hostname
truncates the name it gets (often from the "uname" system call)
at the first dot unless it is given a "-f" flag. This change makes
the unit test also truncate at the first dot and checks if the strings
then match. This seems more portable than adding an extra flag
to the called /bin/hostname program.

R=rsc
CC=golang-dev
https://golang.org/cl/181097
2010-01-26 13:16:03 -08:00
Icarus Sparry
7c1841fb2a gotest still assumes that gopack is in your PATH
If your $PATH does not include $GOBIN then
the build fails at the first *.a file, which
is probably when running the tests for tar

R=rsc
CC=golang-dev
https://golang.org/cl/193066
2010-01-26 13:15:59 -08:00
Charles L. Dorian
d4ca006334 math: 386 FPU hypot
Added 386 FPU version of Hypot; modified all_test.go to test
Hypot with large arguments.  Also edited sqrt.go to remove
Sqrt(0) as a special case.

R=rsc
CC=golang-dev
https://golang.org/cl/186180
2010-01-26 12:53:02 -08:00
Robert Griesemer
2dd3622bc7 Allow func() func().
Update gofmt test script.

R=rsc
CC=golang-dev
https://golang.org/cl/195044
2010-01-26 11:49:49 -08:00
Robert Griesemer
70b92ddad3 Bug in go/parser when coverting identifier lists.
Fixes #567.

R=rsc
CC=golang-dev
https://golang.org/cl/195041
2010-01-26 11:41:38 -08:00
Russ Cox
7abb4b3a96 gc: fix chan <- chan precedence.
also allow func() func().

R=ken2
CC=golang-dev
https://golang.org/cl/194078
2010-01-26 10:40:28 -08:00
Kai Backman
3884f7321f salvaging 183105 from dead client
a number of fixes for arm elf generation in 5l. -T now works as
advertised, -D now works properly.

R=rsc
CC=golang-dev
https://golang.org/cl/194076
2010-01-25 21:38:27 -08:00
Russ Cox
718be3215f in C and asm, replace pkg·name with ·name
(eliminate assumption of package global name space,
make code easier to move between packages).

R=r
CC=golang-dev
https://golang.org/cl/194072
2010-01-25 18:52:55 -08:00
Stephen Weinberg
c90b05bf7d xml: add Escape, copied from template.HTMLEscape.
R=rsc
CC=golang-dev
https://golang.org/cl/186282
2010-01-25 18:50:51 -08:00
Petar Maymounkov
8814555534 http: make Request.Body an io.ReadCloser, matching Response.Body.
R=rsc, rsc1
CC=golang-dev
https://golang.org/cl/194046
2010-01-25 18:49:08 -08:00
Russ Cox
60a6ec1c93 ld: typo
R=ken2
CC=golang-dev
https://golang.org/cl/194073
2010-01-25 18:48:18 -08:00
Russ Cox
7263bfc73b cc: correct handling of leading ·
R=ken2
CC=golang-dev
https://golang.org/cl/193081
2010-01-25 18:31:44 -08:00
Russ Cox
531e6b77c8 eliminate package global name space
R=ken2
CC=golang-dev
https://golang.org/cl/194071
2010-01-25 18:31:35 -08:00
Russ Cox
1912632019 runtime, type switch: eliminate package global name space assumption
bonus: type switch now detects multiple uses of identical interface types.
bonus: interface types are now order-independent, following the spec.

R=ken2
CC=golang-dev
https://golang.org/cl/194053
2010-01-25 18:23:20 -08:00
Russ Cox
3b1a0355b6 5l, 6l, 8l: accept only one object file
(package main; others are pulled in automatically)

R=ken2
CC=golang-dev
https://golang.org/cl/194069
2010-01-25 17:53:43 -08:00
Robert Griesemer
dc061ffcbe steps towards a simplified parser interface
minor cleanups (which I did at home before
but missed this morning at work)

R=rsc
CC=golang-dev
https://golang.org/cl/193095
2010-01-25 17:24:50 -08:00
Andrey Mirtchovski
3fc41d5e65 net: parse aliases in /etc/hosts correctly
Previous behaviour only picked the first entry (official hostname) but not the aliases.

R=rsc
CC=golang-dev
https://golang.org/cl/193092
2010-01-25 14:57:04 -08:00
Robert Griesemer
6d8829e931 A <- token in an expression may introduce a channel type.
Fixes #530.

R=rsc
CC=golang-dev
https://golang.org/cl/193091
2010-01-25 12:03:53 -08:00
Robert Griesemer
fcf4517423 Scoping snapshot.
- separate parsing from declaration
- setup of correct scopes

R=rsc
CC=golang-dev
https://golang.org/cl/189098
2010-01-25 10:06:18 -08:00
Russ Cox
69e244a104 ld: do not load the same object file multiple times.
eliminates spurious multiple initialization errors.

give more information in the multiple init errors that remain.

Fixes #87.

R=r
CC=golang-dev
https://golang.org/cl/194052
2010-01-25 08:53:27 -08:00
Christopher Wedgwood
34191d943b Remove top-level (src/) Makefile.
R=rsc, dho, r
CC=golang-dev
https://golang.org/cl/194045
2010-01-25 00:09:46 -08:00
Russ Cox
1cecac8134 gc: record full package paths in runtime type data
detect compilation of special package runtime with
compiler flag instead of package name.

R=ken2
CC=golang-dev
https://golang.org/cl/193080
2010-01-24 23:33:59 -08:00
Russ Cox
d1b14a6fb0 gc: bug247, reported by rob
R=ken2
CC=golang-dev
https://golang.org/cl/194051
2010-01-24 22:42:18 -08:00
Russ Cox
fd150e77e1 gc: cut some dead code, fix 6g -S output
R=ken2
CC=golang-dev
https://golang.org/cl/193079
2010-01-24 22:36:26 -08:00
Russ Cox
758f2bc556 eliminate the package global name space assumption in object files
5g/6g/8g: add import statements to export metadata, mapping package path to package name.
	recognize "" as the path of the package in export metadata.
	use "" as the path of the package in object symbol names.

5c/6c/8c, 5a/6a/8a: rewrite leading . to "". so that ·Sin means Sin in this package.

5l/6l/8l: rewrite "" in symbol names as object files are read.

gotest: handle new symbol names.

gopack: handle new import lines in export metadata.

Collectively, these changes eliminate the assumption of a global
name space in the object file formats.  Higher level pieces such as
reflect and the computation of type hashes still depend on the
assumption; we're not done yet.

R=ken2, r, ken3
CC=golang-dev
https://golang.org/cl/186263
2010-01-22 17:06:20 -08:00
Dean Prichard
07d3e0dce4 5a/6a/8a: avoid fixed-sized file name buffer
R=rsc
CC=golang-dev
https://golang.org/cl/186279
2010-01-22 16:59:17 -08:00
Russ Cox
ce7f345cd1 gc: do not build builtin.c automatically; use golden copy instead.
R=r
CC=golang-dev
https://golang.org/cl/190104
2010-01-22 16:58:33 -08:00
Russ Cox
c634189d56 typo
R=r
CC=golang-dev
https://golang.org/cl/190103
2010-01-22 14:24:17 -08:00
Ian Lance Taylor
82a7de9dfd Fix build: add new file to Makefile.
TBR=frm.adiputra
CC=golang-dev
https://golang.org/cl/193055
2010-01-22 07:12:54 -08:00
Firmansyah Adiputra
9628d4c6eb Add authentication.
Other code fixing:
- Fixed bugs in get32.
- Fix code for parsing display string (as a new function).
- Fix code for connecting to X server. The old code only work
  if the server is listening to TCP port, otherwise it doesn't
  work (at least in my PC).

R=nigeltao_golang, rsc, jhh
CC=golang-dev
https://golang.org/cl/183111
2010-01-22 17:55:44 +11:00
Christopher Wedgwood
2a57a5c9c7 Trim space on input to make searching more robust.
R=rsc, r, gri
CC=golang-dev
https://golang.org/cl/186255
2010-01-22 14:26:15 +11:00
Ken Thompson
cd47c903e2 part 2 of sudoaddable optimization
R=rsc
CC=golang-dev
https://golang.org/cl/190088
2010-01-20 13:07:14 -08:00
Russ Cox
a6736fa4ff cleanup toward eliminating package global name space
* switch to real dot (.) instead of center dot (·) everywhere in object files.
    before it was half and half depending on where in the name it appeared.
  * in 6c/6a/etc identifiers, · can still be used but turns into . immediately.
  * in export metadata, replace package identifiers with quoted strings
    (still package names, not paths).

R=ken2, r
CC=golang-dev
https://golang.org/cl/190076
2010-01-19 21:34:44 -08:00
Russ Cox
0365b989a4 runtime: wait to allocate mach semaphores backing Locks until needed
need better management of mach semaphores eventually
but this avoids allocating them for uncontended Locks.

R=r
CC=agl1, golang-dev
https://golang.org/cl/190079
2010-01-19 21:14:15 -08:00
Ken Thompson
dfc0ed9559 start of better addressing of
arrays/slices in structures

R=rsc
CC=golang-dev
https://golang.org/cl/190077
2010-01-19 19:59:57 -08:00
Rob Pike
4d45dd3268 first part of networked channels.
limitations:
	poor error handling
	teardown not done
	exporter must send, importer must receive
	testing is rudimentary at best

R=rsc
CC=golang-dev
https://golang.org/cl/186234
2010-01-20 14:12:29 +11:00
Russ Cox
75c6dc9f6c http: handle old HTTP/1.0 unchunked "read to EOF" bodies.
Was trying to interpret raw body as chunked body.

Add test for ReadResponse.

Fixes #544.

R=r, petar-m
CC=golang-dev, shadowice
https://golang.org/cl/190068
2010-01-19 17:46:56 -08:00
Russ Cox
1634b4236b time: make tick.Stop a little more robust
R=r
CC=golang-dev, jackpal
https://golang.org/cl/186228
2010-01-19 17:46:21 -08:00
Russ Cox
fe01d4c8a1 gc: const debug bool = false
R=ken2
CC=golang-dev
https://golang.org/cl/186232
2010-01-19 15:25:44 -08:00
Russ Cox
14ccf44fc7 compress/zlib: add example to doc comment
Fixes #548.

R=r
CC=golang-dev, graycardinalster
https://golang.org/cl/190062
2010-01-19 13:09:50 -08:00
Russ Cox
ae3e8eb2ec ld: unused variable
R=r
CC=golang-dev
https://golang.org/cl/186229
2010-01-19 13:09:27 -08:00
Russ Cox
b9f26c32c3 hash: document that Sum does not change hash state
crypto/*: implement and test proper Sum

Fixes #216.

R=agl1
CC=golang-dev
https://golang.org/cl/186210
2010-01-19 10:50:04 -08:00
Petar Maymounkov
914c626cae Significant extension to http.Response, which now adheres to the
usage pattern of http.Request and paves the way to persistent connection
handling.

R=rsc
CC=golang-dev
https://golang.org/cl/185043
2010-01-18 21:46:59 -08:00
Russ Cox
4f8117d9eb build: move GOOS, GOARCH, GOROOT lookup into central library.
bake default values in during build.

R=r
CC=golang-dev
https://golang.org/cl/186173
2010-01-18 21:46:46 -08:00
Russ Cox
ff6e310b00 gc: bug245
Fixes #529.

R=ken2
CC=golang-dev
https://golang.org/cl/186215
2010-01-18 17:30:15 -08:00
Russ Cox
8e996304f3 gc: multiple return value at top-level invoked multiple times
Fixes #402.

R=ken2
CC=golang-dev
https://golang.org/cl/186214
2010-01-18 17:00:38 -08:00
Russ Cox
e0059ae811 gc: bug243
Fixes #481.

R=ken2
CC=golang-dev
https://golang.org/cl/186213
2010-01-18 16:52:18 -08:00
Russ Cox
5a5799f613 gc: more precise handling of import .
Fixes #455.

R=ken2
CC=golang-dev
https://golang.org/cl/186212
2010-01-18 16:26:40 -08:00
Russ Cox
07fc145744 gc: be more specific about copy type errors
Fixes #539.

R=ken2
CC=golang-dev
https://golang.org/cl/190043
2010-01-18 16:00:13 -08:00
Russ Cox
da225c231f reflect: fix garbage collection bug in Call.
Fixes #476.

R=r
CC=golang-dev
https://golang.org/cl/190041
2010-01-18 15:59:50 -08:00
Russ Cox
7c1bb00374 net: enable UDP broadcast before it is needed (instead of after)
Fixes #526.

R=r
CC=golang-dev
https://golang.org/cl/186211
2010-01-18 15:59:32 -08:00
Robert Griesemer
e85f8378b8 Urgent parser/gofmt fix.
Wrong position information for identifier
could lead to destructive reformatting of
source via hg gofmt.

R=rsc
CC=golang-dev
https://golang.org/cl/189100
2010-01-15 23:17:48 -08:00
Rob Pike
11b459cba8 give bufio.Writer.WriteString the same signature as
bytes.Buffer.WriteString

Fixes #535.

R=rsc
CC=golang-dev
https://golang.org/cl/189096
2010-01-16 13:06:50 +11:00
Ian Lance Taylor
c332ff42fe Don't check array bounds if we have been told not to.
Fixes range.go test for 6g.

R=rsc
CC=golang-dev
https://golang.org/cl/189093
2010-01-15 13:51:57 -08:00
Russ Cox
08d3f5e271 template: look inside interface values
R=r
CC=golang-dev
https://golang.org/cl/186169
2010-01-15 13:49:31 -08:00
Yves Junqueira
d6054fcd88 Use /etc/hosts when resolving names.
http://code.google.com/p/go/issues/detail?id=313

This conflics with Chris' patch at:
https://golang.org/cl/181063

But I believe this is more complete since it has a simple caching and proper tests.

R=cw, rsc
CC=golang-dev
https://golang.org/cl/183066
2010-01-15 13:43:14 -08:00
Robert Griesemer
01b4f2dd23 Steps towards tracking scopes for identifiers.
- Identifiers refer now to the language entity (Object)
	  that they denote. At the moment this is at best an
	  approximation.

	- Initial data structures for language entities (Objects)
          and expression types (Type) independent of the actual
	  type notations.

	- Initial support for declaring and looking up identifiers.

	- Updated various dependent files and added support functions.

	- Extensively tested to avoid breakage. This is an AST change.

R=rsc
CC=golang-dev, rog
https://golang.org/cl/189080
2010-01-15 13:27:45 -08:00
Jan H. Hosang
67237c0f11 Implemented ExtendFront/Back functions to insert a list of elements into a list.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/181151
2010-01-15 13:26:13 -08:00
Charles L. Dorian
9a6b8e21e4 math: special cases for Hypot
Added special case tests to all_test.go. Added tests to hypot.go,
otherwise hangs.

R=rsc
CC=golang-dev
https://golang.org/cl/186118
2010-01-15 13:21:47 -08:00
Charles L. Dorian
7f11db5ea9 math: 386 FPU functions
sin, cos, tan, asin, acos, atan, exp, log, log10,
floor, ceil, and fabs

R=rsc
CC=golang-dev
https://golang.org/cl/189083
2010-01-15 13:21:36 -08:00
Nigel Tao
8cf627ad57 Fix s/Width/Height/ typo in draw.go.
Fixes #531.

R=r
CC=golang-dev
https://golang.org/cl/189078
2010-01-15 11:58:24 +11:00
Rob Pike
10a5eb0a29 fix +0000 time zones.
Fixes #527.

R=rsc
CC=golang-dev
https://golang.org/cl/186159
2010-01-15 10:56:16 +11:00
Russ Cox
da9bc7ae7d runtime: add demo running Go on raw (emulated) hw
8l: add GOOS=pchw, stop spelling out all the elf numbers.

R=r
CC=golang-dev
https://golang.org/cl/186144
2010-01-13 19:51:59 -08:00
Devon H. O'Dell
1564b984a5 runtime: GS already set up by setldt in Linux/386; remove duplicate
R=rsc
CC=golang-dev
https://golang.org/cl/186146
2010-01-13 17:50:12 -08:00
Russ Cox
12518e441b runtime cleanup.
* move memory code into $GOOS-specific directory.
  * allow printing of static strings < 256 bytes.
    (dynamic strings will bump maxstring as they are allocated.)
  * use cgo2c for runtime.mal.

R=r, dho
CC=golang-dev
https://golang.org/cl/186143
2010-01-13 17:50:02 -08:00
Rob Pike
d9283b27a2 clean up handling of numeric time zones
allow formatting of ruby-style times.

Fixes #518.

R=rsc
CC=golang-dev
https://golang.org/cl/186119
2010-01-14 11:57:38 +11:00
Devon H. O'Dell
e8afb6d87f cgo: Only allow numeric / string / character type constants for references
to #defined things.

Fixes #520.

R=rsc, rsaarelm
CC=golang-dev
https://golang.org/cl/186138
2010-01-13 16:48:14 -08:00
Robert Griesemer
27be2915f3 Distinguish between html generation and html quoting in godoc formatters.
Replacement for CL 184084; originally by Roger Peppe (rogpeppe@gmail.com).

R=rsc
CC=golang-dev, rog
https://golang.org/cl/189059
2010-01-13 15:18:56 -08:00
Russ Cox
6ae763a727 vector: drop rule for bench, now in Make.pkg
R=gri
CC=golang-dev
https://golang.org/cl/186139
2010-01-13 13:29:49 -08:00
Russ Cox
1c6c0eee20 godoc: skip template wrapping for complete HTML files
demo at http://wreck:8080/doc/
click on go_talk-20100112.html

R=gri
CC=golang-dev
https://golang.org/cl/186137
2010-01-13 13:09:33 -08:00
Devon H. O'Dell
14a74378f4 cgo: handle C99 bool type
Fixes #307.

R=rsc
CC=golang-dev
https://golang.org/cl/186073
2010-01-13 10:25:28 -08:00
Russ Cox
f85abf01bc runtime: reset DF flag after running external code on 386
R=r
CC=golang-dev
https://golang.org/cl/186108
2010-01-13 09:08:39 -08:00
Rob Pike
63d639295c don't worry about the number of spaces when parsing.
allow an underscore to stand for a space or digit if the following number is >=10.

R=rsc
CC=golang-dev
https://golang.org/cl/186115
2010-01-13 14:39:30 +11:00
Rob Pike
ccbcefe2b6 ignore $GOARCH inside the compiler and linker.
by definition, they know what they are building for.
makes it easier to switch architectures when testing.

% 6g x.go
% 6l x.6
% 6.out
"Wed Jan 13 10:57:46 EST 2010"
% 8g x.go
% 8l x.8
% 8.out
"Wed Jan 13 10:57:46 EST 2010"
% echo $GOARCH

%

R=rsc
CC=golang-dev
https://golang.org/cl/186116
2010-01-13 14:39:16 +11:00
Rob Pike
24dafbaa37 to improve the chances for compatibility, open a window of unused ids
and specify a lowest id granted to users.

R=rsc
CC=golang-dev
https://golang.org/cl/186081
2010-01-13 12:06:43 +11:00
Robert Griesemer
abda9e6f89 Light-weight scanner for general use.
Emphasis on minimal interface and fast scanning.
Recognizes all Go literals by default. Easily
configurable to recognize different whitespace
characters and tokens.

Provides detailed position information for each
token.

R=rsc, r
CC=golang-dev
https://golang.org/cl/181160
2010-01-12 17:04:45 -08:00
Adam Langley
cbd3b2e8d5 Add 'bench' target to makefiles.
R=rsc, agl, r
CC=golang-dev
https://golang.org/cl/188043
2010-01-12 15:43:20 -08:00
Russ Cox
711088106e runtime: fix bug in preemption checks; was causing "lock count" panics
R=r
CC=golang-dev
https://golang.org/cl/186078
2010-01-12 10:03:02 -08:00
Roger Peppe
9d4d7d8f99 Fix bug that prevented the gofmt test script being run on more
than one explicitly named file.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/186095
2010-01-12 09:45:11 -08:00
Charles L. Dorian
46206c52e3 math: special cases for Ceil, Exp, Floor, Log, Log10
Added special case tests to all_test.go. Added tests to Floor,
in-lined tests in Exp and Log.

R=rsc
CC=golang-dev
https://golang.org/cl/184081
2010-01-11 21:28:02 -08:00
Adam Langley
e7cceb85e4 asn1: fix marshaling of structures with >1 elements.
Fixes #515.

R=rsc
CC=golang-dev
https://golang.org/cl/184079
2010-01-11 18:54:13 -08:00
Adam Langley
72b97e46a3 asn1: fix parsing of elements after a string in a structure.
Fixes #516.

R=rsc
CC=golang-dev, golang-dev
https://golang.org/cl/184080
2010-01-11 18:53:58 -08:00
Rob Pike
2f63eb243c delete debugging prints
R=rsc
CC=golang-dev
https://golang.org/cl/186079
2010-01-11 17:35:51 -08:00
Rob Pike
ba5d0f2098 delete debugging prints
R=rsc
CC=golang-dev
https://golang.org/cl/186079
2010-01-11 17:35:06 -08:00
Rob Pike
937caef8fa add pprof output format to prof.
amd64 linux only.

R=rsc
CC=golang-dev
https://golang.org/cl/186077
2010-01-11 16:53:45 -08:00
Charles L. Dorian
3c7534104a math: special cases for Fmod
Added special case tests to all_test.go for Fmod. Fixed Fmod [hung
for Fmod(+/-Inf, <finite>)]. Also added test for Ceil in all_test.go.

R=rsc
CC=golang-dev
https://golang.org/cl/186076
2010-01-11 16:20:51 -08:00
Devon H. O'Dell
bc82aaddb6 cgo: Make constants #define'd in C available to Go (as consts)
Fixes #435

R=rsc
CC=golang-dev
https://golang.org/cl/181161
2010-01-11 13:05:26 -08:00
Yongjian Xu
d668d4fbbd gc: clean opnames.h
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/181186
2010-01-11 13:03:01 -08:00
Robert Griesemer
5dee91001b Remove -oldprinter flag from gofmt; all code is
now printed using the semicolon-free style.

Removed NoSemis flag and mechanism dealing with
optional semicolons from go/printer.

Updated all go/printer output files using the
semi-colon free style.

Changes have no formatting impact on checked in
go code under src and misc.

R=rsc, r
CC=golang-dev
https://golang.org/cl/184068
2010-01-11 12:58:13 -08:00
Rob Pike
00e2cda624 Clean up and make consistent the comments in the math package.
R=rsc
CC=golang-dev
https://golang.org/cl/186042
2010-01-12 07:38:31 +11:00
Russ Cox
093146b920 math: fix pow10 comment, test portable Sqrt
R=r
CC= golang-dev, Charlie Dorian, golang-dev
https://golang.org/cl/184058
2010-01-11 11:25:37 -08:00
David Symonds
0ed728c48a Replicate signal names from syscall in os/signal.
R=rsc
CC=golang-dev
https://golang.org/cl/183142
2010-01-11 11:23:46 -08:00
Robert Griesemer
93d81fb747 Partial work-around for gofmt bug.
Addresses some cases and respects position of
closing parenthesis; but doesn't work yet in
all cases. Heuristic; will need to be replaced
by a real solution eventually. Does not cause
existing code to be reformatted.

R=r
CC=golang-dev, rsc
https://golang.org/cl/186043
2010-01-11 10:38:06 -08:00
Charles L. Dorian
5336cd8f91 math: Sqrt using 386 FPU.
Note: sqrt_decl.go already in src/pkg/math/.

R=rsc
CC=golang-dev
https://golang.org/cl/183155
2010-01-10 15:41:07 -08:00
Russ Cox
5328df6534 runtime: check for preemption due to garbage collection
in various already expensive routines.

helps keep cpu utilization up when GOMAXPROCS > 1,
but not a full solution.

http://groups.google.com/group/golang-nuts/t/7a9535c4136d3e2

R=r
CC=golang-dev
https://golang.org/cl/184043
2010-01-09 09:47:45 -08:00
Charles L. Dorian
fd1db67e87 math: special cases for Atan, Asin and Acos
Added tests for NaN and out-of-range values.
Combined asin.go and atan.go into atan.go.

R=rsc
CC=golang-dev
https://golang.org/cl/180065
2010-01-08 14:12:10 -08:00
Russ Cox
307a899d5b gc: bug238
Fixes #471.

R=ken2
CC=golang-dev
https://golang.org/cl/181184
2010-01-08 00:01:03 -08:00
Russ Cox
1b1f39eb86 gc: bug219, bug239, bug240
Fixes #475.

R=ken2
CC=golang-dev
https://golang.org/cl/183157
2010-01-07 23:24:48 -08:00
Russ Cox
c6f4d68667 gc: bug241
Fixes #495.

R=ken2
CC=golang-dev
https://golang.org/cl/183156
2010-01-07 23:20:00 -08:00
Rob Pike
f3e7ddc2fb Rewrite tokenizer to clean up and fix a bug with spaces before delimited block.
Fixes #501.

R=rsc
CC=golang-dev
https://golang.org/cl/181183
2010-01-08 17:49:55 +11:00
Russ Cox
fe56e2cc35 http: most of a URL shouldn't use URL-escaping
Fixes #502.

R=r, hoisie
CC=golang-dev
https://golang.org/cl/181179
2010-01-07 18:10:29 -08:00
Rob Pike
448aa49cfe Add a parser to the time package, the inverse of time.Format
R=rsc
CC=golang-dev
https://golang.org/cl/183141
2010-01-08 12:59:20 +11:00
Robert Griesemer
35403e4cf2 added some missing periods
R=rsc
CC=golang-dev
https://golang.org/cl/181171
2010-01-07 09:27:24 -08:00
Rob Pike
676f9dfa06 make Format about twice as fast by removing allocations, using a bytes.Buffer
add a benchmark

R=rsc
CC=golang-dev
https://golang.org/cl/181164
2010-01-07 14:36:54 +11:00
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
Evan Shaw
c713a1f982 libmach: Add disassembly for newly implemented opcodes
R=rsc
CC=golang-dev
https://golang.org/cl/183140
2010-01-06 19:26:04 -08:00
Russ Cox
74a9fc18f6 runtime: close TODO now that 8c bug is fixed
R=r
CC=golang-dev
https://golang.org/cl/183138
2010-01-06 19:24:11 -08:00
Rob Pike
fce5d60b38 add a standard interface that wraps ReadByte, io.ReadByter
R=rsc
CC=golang-dev
https://golang.org/cl/181163
2010-01-07 13:29:43 +11:00
Russ Cox
4cde1a903b sync make-arm.bash with make.bash
R=r
CC=golang-dev
https://golang.org/cl/183135
2010-01-06 18:19:56 -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
616394b177 deps.bash: handle space between .go and \ in GOFILES=
R=r
CC=golang-dev
https://golang.org/cl/181157
2010-01-06 17:59:15 -08:00
Hector Chu
6bfe5f55f4 Ported runtime to Windows.
R=rsc
CC=golang-dev
https://golang.org/cl/176066
2010-01-06 17:58:55 -08:00
Russ Cox
5c07e0c17c time: fix Makefile so deps.bash is happy (fixes build)
TBR=r
https://golang.org/cl/183133
2010-01-06 16:35:28 -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
Russ Cox
968d6a6d5a http: avoid header duplication - take struct fields out of Header map
R=r
CC=golang-dev, petar-m
https://golang.org/cl/183132
2010-01-06 15:45:30 -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
Rob Pike
e05b381e79 New time formatter, time.Format(formatString)
The model is that formatString is a a representation of a standard time,
and that Format converts the time to that representation.
Standard representaitons are defined for ANSIC, RFC850, RFC1123, and ISO8601.
There's also a humane Kitchen fomat: 3:04PM.

R=rsc, benolive, cw
CC=golang-dev
https://golang.org/cl/181130
2010-01-07 10:32:48 +11:00
Devon H. O'Dell
2eb9171dfb Fix missing explicit GOBIN in src/pkg/Makefile. Clean up creation of
QUOTED_GOBIN. Re-take of 181077; fixes copy-pasta that broke build.

Fixes #468

R=rsc
CC=golang-dev
https://golang.org/cl/183125
2010-01-06 07:47:56 -08:00
Ivan Krasin
597e57f4d5 Add http.CanonicalPath and tests for it. Remove BUG(rsc) from url.go.
R=rsc, imkrasin
CC=golang-dev
https://golang.org/cl/179126
2010-01-06 07:47:40 -08:00
Ivan Krasin
e324e4099f Propagate error to the caller in json.Marshal. Fixes issue 445.
R=rsc, imkrasin
CC=golang-dev
https://golang.org/cl/179125
2010-01-06 07:25:17 -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
Russ Cox
32594bd43d rollback of https://golang.org/cl/181077
(broke build)

TBR=dho
https://golang.org/cl/181139
2010-01-05 16:54:27 -08:00
Evan Shaw
1c819cb194 xml: Fix comment so that example code compiles
R=rsc
CC=golang-dev
https://golang.org/cl/181138
2010-01-05 16:50:52 -08:00
Russ Cox
cfbee34a27 big: fix ProbablyPrime bug, comments
(changes adopted from alc, agl)

R=agl1, agl
CC=golang-dev
https://golang.org/cl/181137
2010-01-05 16:49:05 -08:00
Devon H. O'Dell
e032ab9dc8 Fix missing explicit GOBIN in src/pkg/Makefile. Clean up creation of QUOTED_GOBIN
Fixes #468

R=rsc
CC=golang-dev
https://golang.org/cl/181077
2010-01-05 16:22:40 -08:00
Devon H. O'Dell
10cdec9262 syscall: add nanosleep on FreeBSD
Fixes #461

R=rsc
CC=golang-dev
https://golang.org/cl/181059
2010-01-05 09:21:15 -08:00
Roger Peppe
0281b71580 net: make Dial correctly return nil on error.
R=rsc
CC=golang-dev
https://golang.org/cl/181135
2010-01-05 09:20:02 -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
Rob Pike
a0ee18bdd5 Check for errors when writing fields of a struct.
R=rsc
CC=golang-dev, jack.palevich
https://golang.org/cl/183109
2010-01-05 11:33:06 +11:00
Roger Peppe
f221067fe8 Allow a nil Ident to print without crashing.
Allow Walk of []Decl

R=gri
CC=golang-dev, rsc
https://golang.org/cl/183112
2010-01-04 10:34:37 -08:00
Yongjian Xu
ca0def6659 Remove redundant size check in resize. Let callers worry about that and resize should just do "resize".
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/181111
2010-01-02 11:09:22 +11:00
Rob Pike
5a44338159 trivial bug: []byte is special but [3]byte is not.
modify a test to verify the fix.

R=rsc
CC=golang-dev
https://golang.org/cl/183090
2009-12-31 12:47:20 +11:00
Rob Pike
a58b69e1d0 improve some type switches now that multiple types per case are supported.
R=rsc
CC=golang-dev
https://golang.org/cl/181089
2009-12-30 08:33:48 +11:00
Robert Griesemer
e01459f567 Apply symmetric changes to sha1 and sha256 as to md4 and md5.
R=agl, agl1
CC=golang-dev
https://golang.org/cl/183083
2009-12-29 11:41:44 -08:00
Nigel Tao
5042a4e9f9 PNG decoder now handles transparent paletted images.
Fixes #439.

R=r
CC=golang-dev
https://golang.org/cl/181087
2009-12-29 15:23:55 +11:00
Nigel Tao
50d3447a36 JPEG decoder now handles RST (restart) markers.
R=r
CC=golang-dev
https://golang.org/cl/181075
2009-12-29 15:20:53 +11:00
Rob Pike
e7601e2980 add a debugging printer to the gob package.
used only for debugging, debug.go is not normally part of the package source.

also add a dump program to call it.

R=rsc
CC=golang-dev
https://golang.org/cl/183075
2009-12-29 14:03:33 +11:00
Rob Pike
1f5511560e remove all references to gobType() from the decoder.
Fixes #470.

R=rsc
CC=golang-dev
https://golang.org/cl/183074
2009-12-29 14:03:12 +11: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
Robert Griesemer
f0fcb2d59f Symmetric changes to md4.go as for md5.go.
Use uint index variables in some cases instead
of int to enable strength reduction; this makes
it possible for the compiler to reduce % into
masks.

Old code: 6g -S md4.go md4block.go | grep "md4block.go:44"
0471 (md4block.go:44) MOVL    AX,BX
0472 (md4block.go:44) MOVL    AX,BP
0473 (md4block.go:44) MOVL    AX,R8
0474 (md4block.go:44) SARL    $31,R8
0475 (md4block.go:44) SHRL    $30,R8
0476 (md4block.go:44) ADDL    R8,BP
0477 (md4block.go:44) SARL    $2,BP
0478 (md4block.go:44) IMULL   $4,BP
0479 (md4block.go:44) SUBL    BP,BX
0480 (md4block.go:44) MOVLQSX BX,BX
0481 (md4block.go:44) LEAQ    shift1+0(SB),BP
0482 (md4block.go:44) CMPL    BX,8(BP)
0483 (md4block.go:44) JCS     ,485
0484 (md4block.go:44) CALL    ,runtime.throwindex+0(SB)
0485 (md4block.go:44) MOVQ    (BP),BP
0486 (md4block.go:44) MOVL    (BP)(BX*4),DI

New code: 6g -S md4.go md4block.go | grep "md4block.go:44"
0471 (md4block.go:44) MOVL    AX,BX
0472 (md4block.go:44) ANDL    $3,BX
0473 (md4block.go:44) MOVLQZX BX,BX
0474 (md4block.go:44) LEAQ    shift1+0(SB),BP
0475 (md4block.go:44) CMPL    BX,8(BP)
0476 (md4block.go:44) JCS     ,478
0477 (md4block.go:44) CALL    ,runtime.throwindex+0(SB)
0478 (md4block.go:44) MOVQ    (BP),BP
0479 (md4block.go:44) MOVL    (BP)(BX*4),DI

R=agl, agl1
CC=golang-dev
https://golang.org/cl/181086
2009-12-28 17:20:33 -08:00
Robert Griesemer
9d07d37f31 A couple of tighter loops.
(I was looking at this code accidentally because of some gofmt
issues and thought that one could write this more effectively.
You may have deliberately chosen not to use ranges here to make
the index range clearer. Just let me know.)

R=agl, agl1
CC=golang-dev
https://golang.org/cl/181084
2009-12-28 15:48:58 -08:00
Rob Pike
33311a7945 fix dumb bug: must write out default values inside arrays and slices
Fixes #459.

R=rsc, imkrasin, sonia
CC=golang-dev
https://golang.org/cl/181073
2009-12-29 07:41:53 +11:00
Robert Griesemer
b6adb3272f simplify some code that is using vectors
R=agl, agl1
CC=golang-dev
https://golang.org/cl/181080
2009-12-28 12:27:43 -08:00
Adam Langley
3c6bf09539 crypto/tls: make Listener a pointer.
Listener contains private members and 6g now enforces that private
members cannot be assigned outside of their package.

R=rsc
CC=golang-dev
https://golang.org/cl/183073
2009-12-28 11:40:01 -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
Devon H. O'Dell
1245e93b2c Update documentation around time.Sleep to specify its precision, and suggest
a possible interface for more granular sleep times.

Fixes issue #260.

R=rsc, r
CC=golang-dev
https://golang.org/cl/181058
2009-12-25 08:24:00 +11:00
Ian Lance Taylor
2be4897800 Use t.Errorf for formatted error output.
R=dsymonds1
CC=golang-dev
https://golang.org/cl/183049
2009-12-23 22:08:49 -08:00
Peter Froehlich
e1033d07b4 Add query to find number of subexpressions.
This was convenient for me to have without being forced
to parse the regexp myself. I'd understand if it's not
really wanted, but I also think that some meta information
about compiled regexps would be fine.

R=r, rsc
CC=golang-dev
https://golang.org/cl/183044
2009-12-24 08:43:35 +11:00
Robert Griesemer
b266f39b85 remove nums.sh
R=rsc
CC=golang-dev
https://golang.org/cl/181049
2009-12-23 13:15:00 -08:00
Rob Pike
96da3e96c3 implement .repeats for maps.
Fixes #309.

R=rsc
CC=golang-dev
https://golang.org/cl/181044
2009-12-24 07:41:56 +11: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
Adam Langley
9ebb59634e crypto/tls: extensions and Next Protocol Negotiation
Add support for TLS extensions in general and Next Protocol
Negotiation in particular.

R=rsc
CC=golang-dev
https://golang.org/cl/181045
2009-12-23 11:13:09 -08: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
Peter Froehlich
3f25c8a2ef Fix comment for Chmod.
R=r, rsc
CC=golang-dev
https://golang.org/cl/183042
2009-12-23 08:49:38 -08:00
Robert Griesemer
a0862ea568 Cleanup: remove Exp ending in identifiers
as it is not needed anymore (only one impl.
of vector package).

Makefile, vector_test.go, and nogen_test.go
were modified manually (find/replace), the
other files (intvector_test.go, strinvector_test.go
are generated).

Runs all tests.

R=r
https://golang.org/cl/182041
2009-12-22 18:45:36 -08:00
Robert Griesemer
8c7d001602 Replace container/vector with exp/vector (faster).
Manual changes to the following files:
src/pkg/Makefile
src/pkg/exp/vector/Makefile (now: src/pkg/container/vector/Makefile)

R=rsc, r
CC=golang-dev
https://golang.org/cl/181041
2009-12-22 18:25:27 -08:00
Robert Griesemer
36d645f5fa add comment (warning about generated files)
R=r
CC=golang-dev
https://golang.org/cl/180108
2009-12-22 15:14:10 -08:00
Rob Pike
148ee9c009 fix up %p
- use an interface {Get()}
- implement Get for maps, slices
- for slices, retrieves the address of the end of the array, which will give the
	same value for every slice of the same array.

R=rsc
CC=golang-dev
https://golang.org/cl/179129
2009-12-23 07:34:17 +11:00
Russ Cox
d488c4b4ac json: fix doc comment
R=gri
CC=golang-dev
https://golang.org/cl/179128
2009-12-22 09:47:02 -08:00
Rob Pike
2e853ec88a Allow %p on reference types, for debugging.
(Also fix case sensitivity in test for PTR inside fmt_test.go)
Fixes #441.

R=rsc, iant
CC=golang-dev
https://golang.org/cl/180112
2009-12-22 17:02:00 +11: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
Jan Mercl
b15fefd7d7 Experimental alternative implementation of the vector package
R=gri
CC=rsc
https://golang.org/cl/178048
2009-12-21 14:34:54 -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
Rob Pike
1f0e6a4c99 new comments for bytes.NewBuffer and NewBufferString.
corrects a common misunderstanding about NewBuffer.

R=rsc
CC=golang-dev
https://golang.org/cl/179106
2009-12-19 08:42:31 +11:00
Adam Langley
50d6c81d4a runtime: fix race condition
(Thanks to ken and rsc for pointing this out)

rsc:
	ken pointed out that there's a race in the new
	one-lock-per-channel code.  the issue is that
	if one goroutine has gone to sleep doing

	select {
	case <-c1:
	case <-c2:
	}

	and then two more goroutines try to send
	on c1 and c2 simultaneously, the way that
	the code makes sure only one wins is the
	selgen field manipulation in dequeue:

	       // if sgp is stale, ignore it
	       if(sgp->selgen != sgp->g->selgen) {
		       //prints("INVALID PSEUDOG POINTER\n");
		       freesg(c, sgp);
		       goto loop;
	       }

	       // invalidate any others
	       sgp->g->selgen++;

	but because the global lock is gone both
	goroutines will be fiddling with sgp->g->selgen
	at the same time.

This results in a 7% slowdown in the single threaded case for a
ping-pong microbenchmark.

Since the cas predominantly succeeds, adding a simple check first
didn't make any difference.

R=rsc
CC=golang-dev
https://golang.org/cl/180068
2009-12-18 12:25:53 -08:00
Robert Griesemer
057e7d9fae fix build, enable an exp/eval's assignment check
now that the parser doesn't do this test anymore

R=rsc
CC=golang-dev
https://golang.org/cl/179105
2009-12-18 11:21:11 -08:00
Robert Griesemer
5dc6c80843 report an error for illegal octal numbers instead of treating them as floats
added more test cases
some capitalization cleanups

R=rsc
CC=golang-dev
https://golang.org/cl/180085
2009-12-18 10:52:11 -08:00
Robert Griesemer
c5f41cc58c removed semantic check from parsers
R=rsc
CC=golang-dev
https://golang.org/cl/179099
2009-12-18 10:51:47 -08:00
Russ Cox
10e85dfee4 Make.pkg: fix cgo for TARG=a/b
R=dho, phf
CC=golang-dev
https://golang.org/cl/180082
2009-12-17 17:28:22 -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
Ben Olive
d2a835fbf3 time: add ISO 8601 time format
Fixes #431.

R=r, rsc
CC=golang-dev
https://golang.org/cl/179079
2009-12-17 13:39:13 -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
Tor Andersson
a812332151 Updated the XGB python script to generate semicolon-free
source for xproto.go.

R=rsc
CC=golang-dev
https://golang.org/cl/180074
2009-12-17 12:19:40 -08:00
Russ Cox
08579c26dd runtime: if os/signal is not in use, crash on
most signals, so that ordinary programs
	can be killed, for example.

Fixes #434.

R=dsymonds1
CC=golang-dev, hoisie
https://golang.org/cl/180064
2009-12-16 20:20:50 -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
Nigel Tao
8bf58725b2 Basic image/jpeg decoder.
This is not a complete JPEG implementation (e.g. it does not handle
progressive JPEGs or restart markers), but I was able to take a photo
with my phone, and view the resultant JPEG in pure Go.

The decoder is simple, but slow. The Huffman decoder in particular
should be easily improvable, but optimization is left to future
changelists. Being able to inline functions in the inner loop should
also help performance.

The output is not pixel-for-pixel identical to libjpeg, although
identical behavior isn't necessarily a goal, since JPEG is a lossy
codec. There are at least two reasons for the discrepancy.

First, the inverse DCT algorithm used is the same as Plan9's
src/cmd/jpg, which has different rounding errors from libjpeg's
default IDCT implementation. Note that libjpeg actually has three
different IDCT implementations: one floating point, and two fixed
point. Out of those four, Plan9's seemed the simplest to understand,
partly because it has no #ifdef's or C macros.

Second, for 4:2:2 or 4:2:0 chroma sampling, this implementation does
nearest neighbor upsampling, compared to libjpeg's triangle filter
(e.g. see h2v1_fancy_upsample in jdsample.c).

The difference from the first reason is typically zero, but sometimes
1 (out of 256) in YCbCr space, or double that in RGB space. The
difference from the second reason can be as large as 8/256 in YCbCr
space, in regions of steep chroma gradients. Informal eyeballing
suggests that the net difference is typically imperceptible, though.

R=r
CC=golang-dev, rsc
https://golang.org/cl/164056
2009-12-17 10:32:17 +11:00
Robert Griesemer
b6bac1c0a5 Don't ignore flags controlling the amount of source code parsed
in parser's ParsePkgFile and ParsePackage functions.

R=rsc
CC=golang-dev, rog
https://golang.org/cl/180070
2009-12-16 14:12:24 -08:00
Rob Pike
42a2e95989 add the ability to invoke niladic single-valued methods in templates.
Fixes #389.

R=rsc
CC=golang-dev
https://golang.org/cl/180061
2009-12-16 03:10:50 -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
William Josephson
52114724b7 rand: Zipf distributed random variates.
R=rsc
https://golang.org/cl/176070
2009-12-15 21:10:37 -08:00
Andrey Mirtchovski
7f501c06f7 bytes, strings: add new function Fields
R=rsc, r, phf
CC=golang-dev
https://golang.org/cl/170046
2009-12-15 21:09:55 -08:00
Charles L. Dorian
d5bcf7bf41 math: special cases for Pow
R=rsc
CC=golang-dev
https://golang.org/cl/176064
2009-12-15 20:43:12 -08:00
David Symonds
b5866494ea os/signal: new package
Fixes #71.

R=rsc, r
https://golang.org/cl/162056
2009-12-15 18:21:29 -08:00
Robert Griesemer
a47a45ec77 Fix for scanner bug (introduced with most recent change).
Fixes #433.

R=rsc
CC=golang-dev
https://golang.org/cl/179072
2009-12-15 18:03:59 -08:00
Russ Cox
69bed164a7 syscall: RawSyscall must not call exitsyscall
Fixes #405.

R=r
CC=golang-dev, hoisie
https://golang.org/cl/180056
2009-12-15 17:37:47 -08:00
Russ Cox
f64bb56bae rand: add explicit Int31n to avoid 64-bit divide on 32-bit machines
use Int31n in Intn when possible.

Fixes #390.

(using 8g)
Intn1000      50000000         38 ns/op
Int31n1000    50000000         39 ns/op
Int63n1000    20000000        114 ns/op

R=r
CC=golang-dev, skybrian
https://golang.org/cl/180054
2009-12-15 17:21:34 -08:00
Russ Cox
1e9e7ec4b3 math: faster, easier to inline IsNaN, IsInf
R=r
CC=golang-dev
https://golang.org/cl/180046
2009-12-15 17:21:01 -08:00
Russ Cox
d16bc7a9f2 runtime: return zero value in x, ok = <-c when ok == false
Fixes #401.

R=ken2
https://golang.org/cl/180053
2009-12-15 16:59:23 -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
Ivan Krasin
8e2608eca8 Add basic http authentication support.
Fixes #407.

R=rsc, ajstarks
CC=ushakov
https://golang.org/cl/176076
2009-12-15 16:27:45 -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
45ca9f7a9e 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

5th and last set of files.

R=rsc
CC=golang-dev
https://golang.org/cl/180050
2009-12-15 15:41:46 -08:00
Robert Griesemer
d65a5cce89 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

4th set of files.

R=rsc
CC=golang-dev
https://golang.org/cl/180049
2009-12-15 15:40:16 -08:00
Robert Griesemer
a3d1045fb7 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

3rd set of files.

R=rsc
CC=golang-dev
https://golang.org/cl/180048
2009-12-15 15:35:38 -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
Robert Griesemer
1c72959999 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

	       2nd set of files.

R=rsc
CC=golang-dev
https://golang.org/cl/179067
2009-12-15 15:27:16 -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
55ca7a2644 fix TODO: insert semicolons before any sequence of comments
that introduce the newline (important for correct placement
of comments with gofmt when parsing new syntax)

R=rsc
https://golang.org/cl/179055
2009-12-15 08:41:50 -08:00
Arvindh Rajesh Tamilmani
dec5bb7882 xml: handle unexpected EOF while parsing and fix a bug in name
mustgetc reports unexpected EOF as SyntaxError.  using
mustgetc seems to be a better approach than letting the
caller handle unexpected EOF every time.

name: the second if statement should explicitly return
ok==false.

R=rsc
https://golang.org/cl/174083
2009-12-14 19:28:36 -08:00
Russ Cox
19c18358ca runtime: in exitsyscall, avoid confusing garbage collector
R=r
CC=golang-dev
https://golang.org/cl/178046
2009-12-14 19:06:20 -08:00
Robert Griesemer
31de4d4c5d improved formatting of import declarations and
multi-line expressions with comments

Fixes #414.

R=rsc
https://golang.org/cl/179047
2009-12-14 17:35:12 -08:00
Andy Davis
2a52782f5c crypto/sha256: new package
R=rsc
CC=golang-dev
https://golang.org/cl/176062
2009-12-14 15:09:49 -08:00
Rob Pike
0d3f5a84b8 simpler fix for the negative rune problem, spotted seconds after submitting the previous fix.
R=rsc
https://golang.org/cl/178044
2009-12-15 09:31:24 +11:00
Rob Pike
a9e8befb49 generate replacement rune when asked to encode a negative rune value.
Fixes #425.

R=rsc
https://golang.org/cl/178043
2009-12-15 09:19:54 +11:00
Christopher Wedgwood
fe0eb17fad archive/tar: bug fixes.
1. If all data is exhausted using Read then a following Next will
   fail as if it saw EOF.  (Test case added.)
2. Seeking isn't always possible (i.e. sockets and pipes).  Fallback
   to read.  (Test case added.)
3. Fix to readHeader (cleaner fix pointed out by rsc).
   (TestReader modified.)
4. When Read has consumed all the data, don't try to read 0 bytes from reader.
   In cases where tr.nb is zero we attempt to read zero bytes and thus
   never see an EOF (this is most easily seen when the 'tar source' is
   something like bytes.Buffer{} as opposed to os.File).
5. If write is used to the point of ErrWriteTooLong, allow additional file entries.
6. Make close work as expected.  That is any further Write or
   WriteHeader attempts will result in ErrWriteAfterClose.
Fixes #419.

R=rsc, dsymonds1
https://golang.org/cl/162062
2009-12-14 11:35:02 -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
Rob Pike
d14c813377 When the buffer is empty, reset b.off to the beginning of the buffer
to avoid growing unnecessarily.

R=rsc
CC=golang-dev
https://golang.org/cl/176071
2009-12-14 13:13:01 +11:00
Christopher Wedgwood
58578905ba syscall: fix error return bug for 64-bit return on 32-bit platform
R=dho, rsc
CC=r
https://golang.org/cl/176058
2009-12-13 13:05:49 -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
Christopher Wedgwood
2ef330ebd9 clean.bash: stop if $GOROOT is not set
Doing rm -rf /pkg/.. blindly isn't nice.  It could have
unintended consequences.

Secondly set bash to abort on (unexpected) errors.

R=dho, rsc
CC=golang-dev
https://golang.org/cl/176056
2009-12-13 12:27:19 -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
Rob Pike
687777710b fix bug for large counts: used a one-byte buffer.
R=rsc
CC=golang-dev
https://golang.org/cl/174082
2009-12-13 07:27:43 +11: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
Robert Griesemer
97a08f7a81 parser changed to reflect new semicolon rules
R=rsc
https://golang.org/cl/175046
2009-12-11 15:31:24 -08:00
Robert Griesemer
b9b89f56ad fix printer test for new syntax
R=rsc
https://golang.org/cl/175048
2009-12-11 15:31:06 -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
Maxim Ushakov
349095885e encoding/binary: Add support for slices of arrays of fixed-size values.
R=rsc
CC=krasin
https://golang.org/cl/167050
2009-12-11 13:04:03 -08:00
Devon H. O'Dell
ddde7f6625 Add a Makefile in place of all.bash. Update docs to reflect
this change.

R=rsc
CC=golang-dev
https://golang.org/cl/171048
2009-12-11 12:48:55 -08:00
Yves Junqueira
7835b7994e syslog: new package
R=golang-dev, rsc
https://golang.org/cl/157168
2009-12-11 12:41:51 -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
Kei Son
128974adfd bytes, strings: allow -1 in Map to mean "drop this character".
xml: drop invalid characters in attribute names
    when constructing struct field names.

R=rsc
CC=r
https://golang.org/cl/157104
2009-12-11 10:37:48 -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
02d41ec7df rename exp/parser package to oldParser
to allow simultaneous import with the
current go/parser

R=rsc
https://golang.org/cl/174053
2009-12-10 18:27:48 -08:00
Robert Griesemer
57909b54e9 implement NoSemis and NoStringConcat mode for go/printer
R=rsc
https://golang.org/cl/174050
2009-12-10 15:45:57 -08:00
Robert Griesemer
a70caf4463 implemented InsertSemis mode for go/scanner
R=rsc
https://golang.org/cl/175047
2009-12-10 15:31:02 -08:00
Robert Griesemer
2b3813d0e2 - unmodified copy of existing go/parser, not yet hooked up
R=rsc
CC=r
https://golang.org/cl/175045
2009-12-10 14:26:25 -08:00
Kai Backman
d08d33f389 fix calling convention and make memmove restore the g and m
registers.

R=rsc
https://golang.org/cl/166049
2009-12-10 11:42:01 -08:00
Kai Backman
76f7803a2a added SHUT_RD, SHOT_WR and xSHUT_RDWR to fix net compilation error
R=rsc
https://golang.org/cl/165044
2009-12-10 11:40:11 -08:00
Robert Griesemer
2e4334eb3a minor manual format corrections
R=rsc
https://golang.org/cl/172042
2009-12-09 16:54:24 -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
Roger Peppe
a8ed75d27c added benchmarks to rand_test.go;
removed superfluous field name in lockedSource.

R=r, rsc
https://golang.org/cl/170043
2009-12-09 14:23:43 -08:00
Rob Pike
51f2932082 syscalls can return negative i/o counts. fix bugs in ReadAt and WriteAt not to include
negative counts in return values.

R=rsc
CC=golang-dev
https://golang.org/cl/170044
2009-12-09 14:18:32 -08:00
Roger Peppe
916533119e Make the operations on the global rng thread safe.
R=r, rsc
CC=golang-dev
https://golang.org/cl/168041
2009-12-09 12:55:19 -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
Ross Light
8a5b76ce5c json package: Fixed handling of nil values
Fixes #400.

R=golang-dev, rsc
https://golang.org/cl/167058
2009-12-09 10:36:03 -08:00
Adrian O'Grady
6ebfd1eff2 Added XTEA block cipher package to src/pkg/crypto
This is an adaption of the code from http://en.wikipedia.org/wiki/XTEA. The package also implements the block.Cipher
interface so that it can be used with the various block modes.

R=rsc
https://golang.org/cl/157152
2009-12-09 00:06:20 -08:00
Russ Cox
0400a7f8b1 runtime: start new darwin/amd64 threads on correct stack,
then enable stack check.

R=r
https://golang.org/cl/165100
2009-12-08 23:34:45 -08:00
Russ Cox
132c42ff73 bufio: use copy - significant speedup for writers
R=r
https://golang.org/cl/167047
2009-12-08 18:19:48 -08:00
Devon H. O'Dell
5a4a08fab8 Fix stack on FreeBSD / add stack check across the board
FreeBSD was passing stk as the new thread's stack base, while
stk is the top of the stack in go. The added check should cause
a trap if this ever comes up in any new ports, or regresses
in current ones.

R=rsc
CC=golang-dev
https://golang.org/cl/167055
2009-12-08 18:19:30 -08:00
Devon H. O'Dell
cdce7325c8 When SA_SIGINFO is set, we should use __sa_sigaction on FreeBSD
R=rsc
CC=golang-dev
https://golang.org/cl/165097
2009-12-08 18:18:04 -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
0d3301a557 runtime: don't touch pages of memory unnecessarily.
cuts working size for hello world from 6 MB to 1.2 MB.
still some work to be done, but diminishing returns.

R=r
https://golang.org/cl/165080
2009-12-07 15:52:14 -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
Robert Griesemer
a4a8224152 use a bootstrap array to avoid allocation for short vectors
R=r
https://golang.org/cl/165078
2009-12-07 12:46:20 -08:00
Christopher Wedgwood
8c22dd24e0 Remove copyBytes completely in favor of copy.
R=r, rsc
https://golang.org/cl/165068
2009-12-07 11:31:56 -08:00
Rob Pike
20c1ec263a pick off special one-byte case in copy. worth 2x in benchmarks (38ns->16ns).
the one-item case could be generalized easily with no cost. worth considering.

R=rsc
CC=golang-dev, cw
https://golang.org/cl/167044
2009-12-07 11:28:02 -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
Rob Pike
f91cd44736 save a few ns by inlining (which mostly simplifies things anyway).
a couple of cleanups.
don't keep big buffers in the free list.

R=rsc
CC=golang-dev
https://golang.org/cl/166078
2009-12-06 15:01:07 -08:00
Rob Pike
353ef80f65 unexport Fmt. it's not needed outside this package any more
cleans up godoc's output for package fmt substantially.

R=rsc
CC=golang-dev
https://golang.org/cl/165070
2009-12-06 12:58:16 -08:00
Rob Pike
4c0e51cd43 Make printing faster by avoiding mallocs and some other advances.
Roughly 33% faster for simple cases, probably more for complex ones.

Before:

mallocs per Sprintf(""): 4
mallocs per Sprintf("xxx"): 6
mallocs per Sprintf("%x"): 10
mallocs per Sprintf("%x %x"): 12

Now:

mallocs per Sprintf(""): 2
mallocs per Sprintf("xxx"): 3
mallocs per Sprintf("%x"): 5
mallocs per Sprintf("%x %x"): 7

Speed improves because of avoiding mallocs and also by sharing a bytes.Buffer
between print.go and format.go rather than copying the data back after each
printed item.

Before:

fmt_test.BenchmarkSprintfEmpty	1000000	      1346 ns/op
fmt_test.BenchmarkSprintfString	500000	      3461 ns/op
fmt_test.BenchmarkSprintfInt	500000	      3671 ns/op

Now:

fmt_test.BenchmarkSprintfEmpty	 2000000	       995 ns/op
fmt_test.BenchmarkSprintfString	 1000000	      2745 ns/op
fmt_test.BenchmarkSprintfInt	 1000000	      2391 ns/op
fmt_test.BenchmarkSprintfIntInt	  500000	      3751 ns/op

I believe there is more to get but this is a good milestone.

R=rsc
CC=golang-dev, hong
https://golang.org/cl/166076
2009-12-06 12:03:52 -08:00
Russ Cox
ed6fd1bcbe runtime: disable pointer scan optimization
* broken by reflect, gob

TBR=r
https://golang.org/cl/166077
2009-12-06 08:18:58 -08:00
Ian Lance Taylor
44c1eb6bed Fix syscall.Statfs and syscall.Fstatfs for 386 GNU/Linux.
For 386 we use the [f]statfs64 system call, which takes three
parameters: the filename, the size of the statfs64 structure,
and a pointer to the structure itself.

R=rsc
https://golang.org/cl/166073
2009-12-04 21:58:32 -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
2807621d01 net: more fiddling with the udp test.
i don't know why the timeout needs
  to be so big.

R=r
https://golang.org/cl/165063
2009-12-04 18:34:45 -08:00
Russ Cox
d539d079ad libmach: fix disassembly of MOVLQSX
R=r
https://golang.org/cl/166068
2009-12-04 18:34:35 -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
Ian Lance Taylor
9e0b68d1ee Add syscall.Rename for NaCl. Fixes NaCl build.
R=rsc
https://golang.org/cl/165062
2009-12-04 13:49:58 -08:00
Adam Langley
e79bcf8bfd runtime: shift the index for the sort by one.
Makes the code look cleaner, even if it's a little harder to figure
out from the sort invariants.

R=rsc
CC=golang-dev
https://golang.org/cl/165061
2009-12-04 13:31:18 -08:00
Ian Lance Taylor
0b5cc31693 Add os.Rename.
R=rsc
https://golang.org/cl/166058
2009-12-04 11:46:56 -08:00
Adam Langley
d1740bb3a6 Remove global chanlock.
On a microbenchmark that ping-pongs on lots of channels, this makes
the multithreaded case about 20% faster and the uniprocessor case
about 1% slower. (Due to cache effects, I expect.)

R=rsc, agl
CC=golang-dev
https://golang.org/cl/166043
2009-12-04 10:57:01 -08:00
Russ Cox
d6b3f37e1e bytes: asm for bytes.IndexByte
PERFORMANCE DIFFERENCE

SUMMARY

                                                   amd64           386
2.2 GHz AMD Opteron 8214 HE (Linux)             3.0x faster    8.2x faster
3.60 GHz Intel Xeon (Linux)                     2.2x faster    6.2x faster
2.53 GHz Intel Core2 Duo E7200 (Linux)          1.5x faster    4.4x faster
2.66 Ghz Intel Xeon 5150 (Mac Pro, OS X)        1.5x SLOWER    3.0x faster
2.33 GHz Intel Xeon E5435 (Linux)               1.5x SLOWER    3.0x faster
2.33 GHz Intel Core2 T7600 (MacBook Pro, OS X)  1.4x SLOWER    3.0x faster
1.83 GHz Intel Core2 T5600 (Mac Mini, OS X)        none*       3.0x faster

* but yesterday I consistently saw 1.4x SLOWER.

DETAILS

2.2 GHz AMD Opteron 8214 HE (Linux)

amd64 (3x faster)

IndexByte4K            500000           3733 ns/op     1097.24 MB/s
IndexByte4M               500        4328042 ns/op      969.10 MB/s
IndexByte64M               50       67866160 ns/op      988.84 MB/s

IndexBytePortable4K    200000          11161 ns/op      366.99 MB/s
IndexBytePortable4M       100       11795880 ns/op      355.57 MB/s
IndexBytePortable64M       10      188675000 ns/op      355.68 MB/s

386 (8.2x faster)

IndexByte4K            500000           3734 ns/op     1096.95 MB/s
IndexByte4M               500        4209954 ns/op      996.28 MB/s
IndexByte64M               50       68031980 ns/op      986.43 MB/s

IndexBytePortable4K     50000          30670 ns/op      133.55 MB/s
IndexBytePortable4M        50       31868220 ns/op      131.61 MB/s
IndexBytePortable64M        2      508851500 ns/op      131.88 MB/s

3.60 GHz Intel Xeon (Linux)

amd64 (2.2x faster)

IndexByte4K            500000           4612 ns/op      888.12 MB/s
IndexByte4M               500        4835250 ns/op      867.44 MB/s
IndexByte64M               20       77388450 ns/op      867.17 MB/s

IndexBytePortable4K    200000          10306 ns/op      397.44 MB/s
IndexBytePortable4M       100       11201460 ns/op      374.44 MB/s
IndexBytePortable64M       10      179456800 ns/op      373.96 MB/s

386 (6.3x faster)

IndexByte4K            500000           4631 ns/op      884.47 MB/s
IndexByte4M               500        4846388 ns/op      865.45 MB/s
IndexByte64M               20       78691200 ns/op      852.81 MB/s

IndexBytePortable4K    100000          28989 ns/op      141.29 MB/s
IndexBytePortable4M        50       31183180 ns/op      134.51 MB/s
IndexBytePortable64M        5      498347200 ns/op      134.66 MB/s

2.53 GHz Intel Core2 Duo E7200  (Linux)

amd64 (1.5x faster)

IndexByte4K            500000           6502 ns/op      629.96 MB/s
IndexByte4M               500        6692208 ns/op      626.74 MB/s
IndexByte64M               10      107410400 ns/op      624.79 MB/s

IndexBytePortable4K    200000           9721 ns/op      421.36 MB/s
IndexBytePortable4M       100       10013680 ns/op      418.86 MB/s
IndexBytePortable64M       10      160460800 ns/op      418.23 MB/s

386 (4.4x faster)

IndexByte4K            500000           6505 ns/op      629.67 MB/s
IndexByte4M               500        6694078 ns/op      626.57 MB/s
IndexByte64M               10      107397600 ns/op      624.86 MB/s

IndexBytePortable4K    100000          28835 ns/op      142.05 MB/s
IndexBytePortable4M        50       29562680 ns/op      141.88 MB/s
IndexBytePortable64M        5      473221400 ns/op      141.81 MB/s

2.66 Ghz Intel Xeon 5150  (Mac Pro, OS X)

amd64 (1.5x SLOWER)

IndexByte4K            200000           9290 ns/op      440.90 MB/s
IndexByte4M               200        9568925 ns/op      438.33 MB/s
IndexByte64M               10      154473600 ns/op      434.44 MB/s

IndexBytePortable4K    500000           6202 ns/op      660.43 MB/s
IndexBytePortable4M       500        6583614 ns/op      637.08 MB/s
IndexBytePortable64M       20      107166250 ns/op      626.21 MB/s

386 (3x faster)

IndexByte4K            200000           9301 ns/op      440.38 MB/s
IndexByte4M               200        9568025 ns/op      438.37 MB/s
IndexByte64M               10      154391000 ns/op      434.67 MB/s

IndexBytePortable4K    100000          27526 ns/op      148.80 MB/s
IndexBytePortable4M       100       28302490 ns/op      148.20 MB/s
IndexBytePortable64M        5      454170200 ns/op      147.76 MB/s

2.33 GHz Intel Xeon E5435  (Linux)

amd64 (1.5x SLOWER)

IndexByte4K            200000          10601 ns/op      386.38 MB/s
IndexByte4M               100       10827240 ns/op      387.38 MB/s
IndexByte64M               10      173175500 ns/op      387.52 MB/s

IndexBytePortable4K    500000           7082 ns/op      578.37 MB/s
IndexBytePortable4M       500        7391792 ns/op      567.43 MB/s
IndexBytePortable64M       20      122618550 ns/op      547.30 MB/s

386 (3x faster)

IndexByte4K            200000          11074 ns/op      369.88 MB/s
IndexByte4M               100       10902620 ns/op      384.71 MB/s
IndexByte64M               10      181292800 ns/op      370.17 MB/s

IndexBytePortable4K     50000          31725 ns/op      129.11 MB/s
IndexBytePortable4M        50       32564880 ns/op      128.80 MB/s
IndexBytePortable64M        2      545926000 ns/op      122.93 MB/s

2.33 GHz Intel Core2 T7600 (MacBook Pro, OS X)

amd64 (1.4x SLOWER)

IndexByte4K            200000          11120 ns/op      368.35 MB/s
IndexByte4M               100       11531950 ns/op      363.71 MB/s
IndexByte64M               10      184819000 ns/op      363.11 MB/s

IndexBytePortable4K    500000           7419 ns/op      552.10 MB/s
IndexBytePortable4M       200        8018710 ns/op      523.06 MB/s
IndexBytePortable64M       10      127614900 ns/op      525.87 MB/s

386 (3x faster)

IndexByte4K            200000          11114 ns/op      368.54 MB/s
IndexByte4M               100       11443530 ns/op      366.52 MB/s
IndexByte64M               10      185212000 ns/op      362.34 MB/s

IndexBytePortable4K     50000          32891 ns/op      124.53 MB/s
IndexBytePortable4M        50       33930580 ns/op      123.61 MB/s
IndexBytePortable64M        2      545400500 ns/op      123.05 MB/s

1.83 GHz Intel Core2 T5600  (Mac Mini, OS X)

amd64 (no difference)

IndexByte4K            200000          13497 ns/op      303.47 MB/s
IndexByte4M               100       13890650 ns/op      301.95 MB/s
IndexByte64M                5      222358000 ns/op      301.81 MB/s

IndexBytePortable4K    200000          13584 ns/op      301.53 MB/s
IndexBytePortable4M       100       13913280 ns/op      301.46 MB/s
IndexBytePortable64M       10      222572600 ns/op      301.51 MB/s

386 (3x faster)

IndexByte4K            200000          13565 ns/op      301.95 MB/s
IndexByte4M               100       13882640 ns/op      302.13 MB/s
IndexByte64M                5      221411600 ns/op      303.10 MB/s

IndexBytePortable4K     50000          39978 ns/op      102.46 MB/s
IndexBytePortable4M        50       41038160 ns/op      102.20 MB/s
IndexBytePortable64M        2      656362500 ns/op      102.24 MB/s

R=r
CC=golang-dev
https://golang.org/cl/166055
2009-12-04 10:23:43 -08:00
Russ Cox
609eeee817 make Native Client support build again,
add README explaining how to try the
web demos.

Fixes #339.

R=r
CC=barry.d.silverman, bss, vadim
https://golang.org/cl/165057
2009-12-04 10:11:32 -08:00
Russ Cox
11384eecf8 testing: compute MB/s in benchmarks
R=r
https://golang.org/cl/166060
2009-12-04 09:56:31 -08:00
Rob Pike
4ed57173b4 avoid an allocation inside bytes.Buffer by providing a static array.
R=rsc
https://golang.org/cl/165058
2009-12-04 00:26:08 -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
3b858fb808 net: turn off empty packet test by default
Fixes #374.

R=r
https://golang.org/cl/166053
2009-12-03 22:19:55 -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
Michael Elkins
f3d63bea42 Add Count, Cycle, ZipWith, GroupBy, Repeat, RepeatTimes, Unique to exp/iterable.
Modify iterFunc to take chan<- instead of just chan.

R=rsc, dsymonds1
CC=golang-dev, r
https://golang.org/cl/160064
2009-12-03 20:03:07 -08:00
Adam Langley
e93132c982 crypto/rsa: fix shadowing error.
Fixes bug 375.

R=rsc
https://golang.org/cl/165045
2009-12-03 19:33:23 -08:00
Russ Cox
cf37254b1c runtime: fix Caller crash on 386.
Fixes #176.

R=r
https://golang.org/cl/166044
2009-12-03 17:24:14 -08:00
Russ Cox
aaa2374b74 Make.conf: fix if $HOME has spaces
R=r
https://golang.org/cl/164086
2009-12-03 17:22:43 -08:00
Russ Cox
7e5055ceea runtime: malloc fixes
* throw away dead code
  * add mlookup counter
  * add malloc counter
  * set up for blocks with no pointers

Fixes #367.

R=r
https://golang.org/cl/165050
2009-12-03 17:22:23 -08:00
Rob Pike
10a349a7c1 The String() method requires global state that makes it not work outside of this package,
so make it a local method (_String()).

R=rsc
CC=golang-dev
https://golang.org/cl/165049
2009-12-03 17:14:32 -08:00
Rob Pike
fcc4dd6d64 error propagation in gob/encoder.
R=rsc
CC=golang-dev
https://golang.org/cl/165048
2009-12-03 17:12:57 -08:00
Rob Pike
bc3e34759c Add ReadFrom and WriteTo methods to bytes.Buffer, to enable i/o without buffer allocation.
Use them in Copy and Copyn.
Speed up ReadFile by using ReadFrom and avoiding Copy altogether (a minor win).

R=rsc, gri
CC=golang-dev
https://golang.org/cl/166041
2009-12-03 12:56:16 -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
Robert Griesemer
6db683fe4d - include type-associated consts and vars when filtering a PackageDoc
- fixes a godoc issue (for instance, "godoc os EOF" now shows an entry)

R=r
CC=rsc
https://golang.org/cl/165042
2009-12-03 11:25:20 -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
Rob Pike
d984f98996 minor improvement to formatting: don't allocate padding strings every time.
R=rsc
https://golang.org/cl/164090
2009-12-03 00:04:40 -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
Peter Froehlich
1eba218e44 Runes: turn string into []int
Split: fixed typo in documentation

R=rsc, r, r1
https://golang.org/cl/157170
2009-12-02 20:47:38 -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
Russ Cox
e89441ba8f net: test and fix support for 0-length datagram packets.
Fixes #274.

R=r
CC=jonathan.r.hudson
https://golang.org/cl/163072
2009-12-02 15:17:49 -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
Robert Griesemer
d8bc797ed5 apply gofmt to json files
R=rsc
https://golang.org/cl/164071
2009-12-02 11:40:54 -08:00
Rob Pike
114f73f822 fix segfault printing errors. add test case and improve messages.
Fixes #338.

R=rsc
CC=golang-dev
https://golang.org/cl/163083
2009-12-02 10:41:28 -08:00
Rob Pike
f6c0eba741 test that arrays work properly.
can't mix slices and arrays now; perhaps that should be a TODO

R=rsc
https://golang.org/cl/164079
2009-12-02 10:25:14 -08:00
Russ Cox
9e55d0d018 time: another bug in SecondsToUTC.
added random test to look for more.

Fixes #363.

R=r, cw
https://golang.org/cl/163071
2009-12-02 08:27:57 -08:00
Ian Lance Taylor
952b91e4ad Add Shutdown to 32-bit GNU/Linux build.
Submitting as a TBR to fix the build.

R=dho, rsc
https://golang.org/cl/164078
2009-12-02 08:24:14 -08:00
Russ Cox
8d652ee8ce time: fix handling of Jan 1 1601, 1201, 801, ...
R=r
CC=hurtonm
https://golang.org/cl/164074
2009-12-01 23:38:06 -08:00
Devon H. O'Dell
eb16346dac net: fix netFD.Close races
Fixes #271.
Fixes #321.

R=rsc, agl, cw
CC=golang-dev
https://golang.org/cl/163052
2009-12-01 23:28:57 -08:00
Rob Pike
ff3ea68e52 explicitly catch attempt to decode into a value - must be a pointer to see the result.
R=rsc
https://golang.org/cl/163070
2009-12-01 21:47:00 -08:00
Rob Pike
f9810f1b12 make io.ReadFile use Stat.Size as a hint for preallocation
R=rsc
CC=golang-dev
https://golang.org/cl/163069
2009-12-01 21:44:24 -08:00
Devon H. O'Dell
49ebcfbb83 Add syscall.Shutdown to FreeBSD i386/amd64
Necessary for 163052

R=rsc
CC=golang-dev
https://golang.org/cl/164068
2009-12-01 21:43:39 -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
Russ Cox
0b126c1be4 syscall: add Shutdown on OS X, add more constants in mkerror.sh
R=dho
CC=golang-dev
https://golang.org/cl/163061
2009-12-01 16:53:43 -08:00
Rob Pike
ceb1fe2863 update package unicode to Unicode 5.2
R=rsc
CC=golang-dev
https://golang.org/cl/163062
2009-12-01 16:22:21 -08:00
Russ Cox
2a54997baa gob: fix build
TBR=r
https://golang.org/cl/163064
2009-12-01 16:18:27 -08:00
Christopher Wedgwood
4f6dbc6901 Explicitly return values where it's shadowing the parameter.
Bad returns noticed by "Devon H. O'Dell" <devon.odell@gmail.com>.

Resolves Issue 360.

R=rsc, dho, agl, agl1
CC=ukai
https://golang.org/cl/163055
2009-12-01 15:54:49 -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
Rob Pike
a0f742d343 more gob bugs
1) need to send slice and array types (was only sending element types)
2) compatibleType needs to use decoder's type map

R=rsc
CC=golang-dev
https://golang.org/cl/164062
2009-12-01 15:31:28 -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
Tor Andersson
598f3e284e A first stab at porting the XCB X11 protocol bindings to go.
The python script needs a checkout of xcb/proto to generate
an xproto.go file, which together with xgb.go provide functions
to access all of the core X11 protocol requests. I have included the
generated file.

Extensions and authentication methods are not implemented.

R=r, rsc, nigeltao_golang
https://golang.org/cl/162053
2009-11-30 14:25:50 -08:00
Sergey 'SnakE' Gromov
9d50b468a1 json: Decode into native Go data structures
This patch adds an ability to convert JSON-encoded data into
a hierarchy of Go's native data types.

R=rsc
CC=golang-dev
https://golang.org/cl/161060
2009-11-30 13:55:09 -08:00
Robert Griesemer
c1767dbdda Typo in comment.
Fixes #358.

R=rsc
CC=r
https://golang.org/cl/164043
2009-11-30 12:50:02 -08:00
Péter Szabó
12206f64dd sync.RWMutex: rewritten to add support for concurrent readers.
Also made sync.xadd public to help testing sync.RWMutex.

Also added unit tests for sync.RWMutex.

R=rsc
https://golang.org/cl/162044
2009-11-30 12:10:56 -08:00
Jonathan Wills
229807c8c3 Added a method on UDPConn so they can actually send broadcast packets.
R=rsc
https://golang.org/cl/162046
2009-11-30 12:03:55 -08:00
Christopher Wedgwood
a85c258e67 a[b:len(a)] -> a[b:]
R=r, rsc
CC=agl1
https://golang.org/cl/161070
2009-11-30 12:03:43 -08:00
Andrew Skiba
68d3b6e51a Handle \r as a whitespace when parsing JSON string.
Fixes #272.

R=rsc
https://golang.org/cl/161061
2009-11-30 12:03:26 -08:00
Christopher Wedgwood
c78710f53e Add trivial whitespace to CorruptInputError strings.
R=r, rsc
https://golang.org/cl/161058
2009-11-30 12:03:10 -08:00
Christopher Wedgwood
f0c9719540 Minimise bitrot: bytes.Copy -> copy
(compile tested only)

R=r, rsc
https://golang.org/cl/161069
2009-11-30 11:57:21 -08:00
Hector Chu
cd9d72ba9e Ports of lib9, libbio and libmach to Windows.
R=rsc
https://golang.org/cl/157159
2009-11-30 11:53:11 -08:00
Russ Cox
ed62d27a52 template: two bug fixes / nits
* diagnose template not created with New
    (current code just crashes)
  * write []byte uninterpreted
    (current code writes fmt format: "[65 65 65 65]")

R=r
CC=golang-dev
https://golang.org/cl/161075
2009-11-30 10:29:14 -08:00
Russ Cox
be98bc488e websocket: avoid $GOROOT in case it has spaces
Fixes #115.

R=r, ukai, sergio
https://golang.org/cl/162057
2009-11-29 20:30:02 -08:00
Sergio Luis O. B. Correia
46892656c7 crypto/md4, exp/draw/x11: fix makefile to build when GOROOT has whitespaces
this is the exact same thing issue #115 is about. fix makefiles to use relative
path to work in the case we have whitespaces as part of GOROOT.

R=rsc
https://golang.org/cl/162055
2009-11-29 18:14:49 -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
Fumitoshi Ukai
f9f0184e13 Add WebSocket server framework hooked into http.
R=r, rsc
https://golang.org/cl/156071
2009-11-29 14:22:44 -08:00
Robert Griesemer
f3e0f214f8 Correct expression level for argument lists.
Fixes #352.

R=rsc
https://golang.org/cl/161073
2009-11-29 14:11:52 -08:00
Rob Pike
b5358e0630 a few utf8 benchmarks. on my mac:
utf8_test.BenchmarkRuneCountTenASCIIChars	20000000	       108 ns/op
utf8_test.BenchmarkRuneCountTenJapaneseChars	10000000	       199 ns/op
utf8_test.BenchmarkEncodeASCIIRune	500000000	         6 ns/op
utf8_test.BenchmarkEncodeJapaneseRune	100000000	        10 ns/op
utf8_test.BenchmarkDecodeASCIIRune	100000000	        13 ns/op
utf8_test.BenchmarkDecodeJapaneseRune	100000000	        21 ns/op

R=gri
CC=golang-dev
https://golang.org/cl/161049
2009-11-25 13:30:30 -08:00
Rob Pike
773e77981d rewrite RuneCountInString to use range.
R=gri
CC=golang-dev
https://golang.org/cl/160069
2009-11-25 11:39:34 -08:00
Nigel Tao
f65427a8be Initial exp/draw/x11 implementation.
This provides an experimental X11 backend for the exp/draw interface.
It does not aim to provide a complete implementation of the X11 client protocol.

This works for me (Ubuntu Hardy 8.04, GOARCH=386). Your mileage my vary.

R=r, rsc, r1
CC=golang-dev
https://golang.org/cl/156109
2009-11-25 18:31:34 +11:00
Rob Pike
a0c55432f3 fix weird all.bash failures by running deps.bash before make clean runs in pkg directory.
before this change, if pkg/Make.deps is missing or broken, clean.bash fails and the build dies
but not until much later.

add freebsd to error message about valid values of $GOOS

TODO: would be nice if this process exited when an error occurred. subshells make it hard

R=rsc
CC=golang-dev
https://golang.org/cl/160065
2009-11-24 21:07:05 -08:00
Robert Griesemer
28f1914023 Handle presence of illegal semicolon after package clause better.
R=r, r1
https://golang.org/cl/157167
2009-11-24 17:34:08 -08:00
Robert Griesemer
a38ec58df0 Replace sort.Sort call with heapify algorithm in Init.
Fixed package comment.
Renamed some variables for symmetry, added more internal comments and more tests.
Fixes #304.

R=rsc
https://golang.org/cl/157166
2009-11-24 17:20:13 -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
Russ Cox
6c827cb412 make.bash: clear CDPATH to avoid output from cd
Fixes #306.

R=r, r1
https://golang.org/cl/160060
2009-11-24 16:01:35 -08:00
Ken Thompson
bd80b5a835 test case for large angles in trig functions
R=rsc
https://golang.org/cl/157160
2009-11-24 15:42:46 -08:00
Ken Thompson
b2bc1db9ac bad sin/cos for large angles.
fixes #326.

R=rsc
https://golang.org/cl/160059
2009-11-24 15:01:44 -08:00
Robert Griesemer
c6f8df0827 fix for broken build (built-in new was invisible due to a parameter called 'new')
R=iant
https://golang.org/cl/160057
2009-11-24 14:11:53 -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
Michael Hoisie
9da8d88499 A quick fix to ensure that json.Marshal returns errors correctly, as well as some error-related tests
R=rsc
https://golang.org/cl/157151
2009-11-24 13:18:44 -08:00
Russ Cox
5f484ec118 http: redirect to correct URL
R=r, r1
https://golang.org/cl/157154
2009-11-24 11:47:53 -08:00
Michael Elkins
b320cf5bf4 add Take, TakeWhile, Drop, DropWhile to exp/iterable
R=dsymonds1, rsc
https://golang.org/cl/156079
2009-11-24 11:31:11 -08:00
Rob Pike
c14e265c59 print error's string when panicking.
R=rsc
https://golang.org/cl/157156
2009-11-24 10:55:50 -08:00
Trevor Strohman
f586870ec2 Add benchmarks for commonly used routines.
R=rsc, r, r1
https://golang.org/cl/160046
2009-11-24 00:21:50 -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
Russ Cox
c95c27a91f json: expose map in generic representation
R=r, r1
https://golang.org/cl/157146
2009-11-23 18:11:00 -08:00
Chris Lennert
8ebd7f7167 Provides implementation of MD4 hashing algorithm.
See IETF RFC 1320, http://tools.ietf.org/html/rfc1320.
Fixes #279.

R=rsc
https://golang.org/cl/159051
2009-11-23 17:44:44 -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
Vish Subramanian
9e95d970cc Fix crash in xml.Unmarshal. Occasionally while running a scrape of some xml with many goroutines
I see a crash with the following stack trace:

	SIGSEGV: segmentation violation
	Faulting address: 0x44
	PC=0x44e510

	runtime·mapaccess2+0x18 /home/vish/go/src/pkg/runtime/hashmap.c:790
       	 runtime·mapaccess2(0x0, 0x0)
	xml·*Parser·text+0x922 /home/vish/go/src/pkg/xml/xml.go:765
       	 xml·*Parser·text(0xe44c9870, 0x7fa3, 0xffffffff, 0x7f00, 0x44b5c4, ...)
	xml·*Parser·RawToken+0x174 /home/vish/go/src/pkg/xml/xml.go:405
         xml·*Parser·RawToken(0xe44c9870, 0x7fa3, 0x0, 0x0)
	xml·*Parser·Token+0x625 /home/vish/go/src/pkg/xml/xml.go:205
       	 xml·*Parser·Token(0xe44c9870, 0x7fa3, 0x0, 0x0, 0x0, ...)
	xml·*Parser·Skip+0x27 /home/vish/go/src/pkg/xml/read.go:371
       	 xml·*Parser·Skip(0xe44c9870, 0x7fa3, 0x8, 0x0)
	xml·*Parser·unmarshal+0xae6 /home/vish/go/src/pkg/xml/read.go:328
       	 xml·*Parser·unmarshal(0xe44c9870, 0x7fa3, 0xe8127120, 0x7fa3, 0xdc94bc40, ...)
	xml·Unmarshal+0xda /home/vish/go/src/pkg/xml/read.go:121
       	 xml·Unmarshal(0xe65724b0, 0x7fa3, 0xdc94bc00, 0x7fa3, 0x4bcfc0, ...)
	scraper·DoSearch+0x3d1 /home/vish/my-go-src/google3/experimental/users/vish/go_http/scraper.go:95
       	 scraper·DoSearch(0xe7dc28c0, 0x7fa3, 0x33, 0x3, 0x6d2510, ...)
	main·scrapeQueries+0x202 /home/vish/my-go-src/google3/experimental/users/vish/go_http/scrape.go:251
       	 main·scrapeQueries(0xe7da2600, 0x7fa3, 0x64, 0x1db0, 0xe7e10000, ...)
	goexit /home/vish/go/src/pkg/runtime/proc.c:135
       	 goexit()
	0x7fa3e7da2600 unknown pc

	Clearly xml.Parser is accessing an uninitialized map. Add a check for a nil map before accessing it.

R=r, rsc
https://golang.org/cl/159050
2009-11-23 14:26:30 -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
b90f673290 io.ReadWriter: fix doc comment (ReadWrite -> ReadWriter)
R=r
CC=eds
https://golang.org/cl/160045
2009-11-23 14:22:56 -08:00
Rob Pike
3b7f552fbb fix bug in prefix code: must stop one character before any potential match of an empty string
Fixes #308.

R=rsc
CC=golang-dev
https://golang.org/cl/157142
2009-11-23 14:06:21 -08:00
Rob Pike
b050a1b223 Fix doc striing for NewReadLogger.
Fixes #315.

R=rsc
https://golang.org/cl/157140
2009-11-23 13:51:10 -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
Adam Langley
6e0842db8b crypto/tls: add initial client implementation.
R=rsc, agl
CC=golang-dev
https://golang.org/cl/157076
2009-11-21 15:53:03 -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
William Josephson
1444f1bb1d Missed a reference to sc instead of mc in 157065.
R=rsc, dho
https://golang.org/cl/157116
2009-11-20 13:46:47 -08:00
Devon H. O'Dell
7ada6018a7 FreeBSD's mcontext isn't exactly the same as sigcontext, so
we can't use them interchangably.

R=rsc, wjosephson
CC=golang-dev
https://golang.org/cl/156113
2009-11-20 13:08:16 -08:00
Robert Griesemer
7763345379 Support for basic try-catch style exception handling.
Meant as illustration of the Go pattern that is using
goroutines and channels to handle exceptional situations.

Note: There is no need for "Finally" since the
"try block" (the function f supplied to Try)
cannot do a Smalltalk-style non-local return
and terminate the function surrounding Try.

Replaces CL 157083.

R=r, rsc
https://golang.org/cl/157087
2009-11-20 11:50:11 -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
Rob Pike
3e8bb54c2f fix build
R=rsc
https://golang.org/cl/159044
2009-11-20 11:26:40 -08:00
Rob Pike
d324a851c4 slight simplification made possible by the code now processing match states
in order of discovery.

R=rsc
https://golang.org/cl/157112
2009-11-20 11:16:57 -08:00
Rob Pike
542e5b8ade add unimplemented %+ and % (space) flags to floating-point print.
fix %E: was same as %e.
add tests.

Fixes #278.

R=rsc
CC=golang-dev
https://golang.org/cl/157111
2009-11-20 11:04:51 -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
Rob Pike
c62069cc1f add a match arena to regexp to avoid generating garbage.
simple regexps run 20x faster.
the regex-dna benchmark goes 3x faster.

R=rsc
CC=golang-dev
https://golang.org/cl/156108
2009-11-19 23:12:01 -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
6e0767bb04 reflect fixes
R=r
https://golang.org/cl/156104
2009-11-19 22:06:32 -08:00
Russ Cox
7fce5ad011 fix arm build.
once more with feeling.

TBR=kaib
https://golang.org/cl/157100
2009-11-19 21:16:26 -08:00
James Meneghello
bfbb31595b Map support for template.Execute().
Allows the developer to pass a map either by itself for
evaluation, or inside a struct. Access to data inside
maps is identical to the current system for structs, ie.

-Psuedocode-

mp map[string]string = {
	"header" : "A fantastic header!",
	"footer" : "A not-so-fantastic footer!",
}
template.Execute(mp)

...can be accessed using {header} and {footer} in
the template. Similarly, for maps inside structs:

type s struct {
	mp map[string]string,
}
s1 = new s
s1.mp["header"] = "A fantastic header!";
template.Execute(s1)

...is accessed using {mp.header}. Multi-maps, ie.
map[string](map[string]string) and maps of structs
containing more maps are unsupported, but then, I'm
not even sure if that's supported by the language.

Map elements can be of any type that can be written
by the formatters. Keys should really only be strings.

Fixes #259.

R=r, rsc
https://golang.org/cl/157088
2009-11-19 21:08:05 -08:00
Michael Hoisie
ce88bfa585 Add json.Marshal to json package
R=rsc
CC=golang-dev
https://golang.org/cl/157068
2009-11-19 20:45:03 -08:00
Evan Shaw
4db3a166b2 archive/tar: Make Reader and Writer more closely follow io.Reader and io.Writer interfaces
There's no functional change here. io gives the Read and Write methods byte slice arguments, but tar called them uint8. It's the same thing, but I think this is clearer and it matches what other packages do.

R=rsc
CC=golang-dev
https://golang.org/cl/157099
2009-11-19 20:43:30 -08:00
Russ Cox
ec30932124 big: fix arm build - forgot how to spell JMP
Fixes #269.

TBR=kaib
https://golang.org/cl/156107
2009-11-19 20:32:09 -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
Rob Pike
a6e1ad2733 two easy optimizations for regexp:
1) if char class contains a single character, make it a single character.
		(this is used to quote, e.g. [.] rather than \.
	2) if regexp begins with ordinary text substring, use plain string match to start engine

R=rsc
CC=golang-dev
https://golang.org/cl/157095
2009-11-19 16:45:50 -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
Russ Cox
69039e5a5a build Make.deps during make.bash instead
of keeping a checked-in copy.  doesn't
slow down make.bash appreciably.

R=r
https://golang.org/cl/156099
2009-11-19 16:27:13 -08:00
Ken Thompson
d9014dc98a put copy into goyacc
R=rsc
https://golang.org/cl/156100
2009-11-19 15:34:11 -08:00
Rob Pike
4e201c7f20 os.ReadAt doesn't return EOF at EOF.
thanks to lionkov for the fix.

Fixes #262.

R=rsc
CC=golang-dev
https://golang.org/cl/156097
2009-11-19 11:51:23 -08:00
Russ Cox
4aaf948f90 runtime: mask signals during signal handler on OS X
Fixes #265.

R=r
CC=golang-dev
https://golang.org/cl/157084
2009-11-19 11:01:16 -08:00
Rob Pike
02df7db868 replace custom findByte with bytes.IndexByte
R=rsc
https://golang.org/cl/156093
2009-11-18 19:58:32 -08:00
Adam Langley
bf1f63a273 big: fix large division.
I missed a case.

R=rsc, agl
CC=golang-dev
https://golang.org/cl/156092
2009-11-18 19:26:12 -08:00
Rob Pike
8c1a627e5c add bytes.IndexByte; common case we can make fast later.
also pick off the special case in strings.Index.   don't want strings.IndexByte
because the call site will very rarely need to allocate and we can handle the
test in the code itself.   bytes.IndexByte can avoid a common allocation.

R=rsc
CC=golang-dev
https://golang.org/cl/156091
2009-11-18 19:23:08 -08:00
Russ Cox
e1c5c3df77 runtime: fix bug on darwin/amd64 - bad g in bsdthread_start
R=r
https://golang.org/cl/157077
2009-11-18 18:17: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
Adam Langley
eac41e7eba crypto/x509: RawContents -> RawContent
TBR=rsc

R=rsc
https://golang.org/cl/157075
2009-11-18 16:38:30 -08:00
Adam Langley
3ab331ed29 asn1: add support for RawContent
R=rsc
CC=golang-dev
https://golang.org/cl/157056
2009-11-18 16:32:44 -08:00
Adam Langley
cc56fc3860 crypto/x509: add certificate support.
R=rsc
CC=golang-dev
https://golang.org/cl/156054
2009-11-18 16:08:24 -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
Rob Pike
093493c6a5 bugs in memmove:
- has arguments (no stack split)
	- MOVL does not set condition

R=ken2, rsc
https://golang.org/cl/156086
2009-11-18 15:00:02 -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
Adam Langley
ef8f483c60 net: remove race condition on Close.
Previously a netFd could be queued for reading/writing in the channel,
but close(2)'ed before pollServer got to it. In this case, the kernel
would consider the descriptor closed and the attempt to add it to the
epoll set would fail and panic.

This patch makes Close a roundtrip to the pollServer, although the
actual close(2) still occurs elsewhere to avoid blocking the
pollServer.

Fixes #143.

R=rsc
CC=golang-dev
https://golang.org/cl/152130
2009-11-18 13:18:34 -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
Russ Cox
a274099340 big: implement 386 assembly routines
7x speedup on big and crypto/rsa unit tests.
also dropped useAsm in favor of making the
asm stubs jump to the Go versions.

R=agl1
CC=golang-dev, gri
https://golang.org/cl/157062
2009-11-18 09:54:51 -08:00
William Josephson
4c0f262a2d Remove unnecessary execute bits.
R=rsc
https://golang.org/cl/156077
2009-11-18 09:19:29 -08:00
William Josephson
72e7444ad4 Missing flags for FreeBSD shared link as used by cgo in default build.
R=rsc
https://golang.org/cl/157065
2009-11-18 09:18:51 -08:00
Devon H. O'Dell
659780b643 Add an intptr type to runtime; needed in FreeBSD
In thread.c, we need to cast to whatever the native
size of intptr is on the system, but we only have
uintptr available. They're the same size, but can't
do signed casts without this one :).

R=rsc
CC=golang-dev
https://golang.org/cl/156073
2009-11-18 09:11:39 -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
Russ Cox
744d5ae48a runtime: add ARM memmove
R=ken2
https://golang.org/cl/156063
2009-11-17 22:54:20 -08:00
Russ Cox
ed0beea27b copy tweaks
* move memmove to arch-specific subdirectories
  * add memmove for arm
  * add copyright notices marking them as copied from Inferno

R=ken2
https://golang.org/cl/156061
2009-11-17 22:16:55 -08:00
Rob Pike
ea5cc6c021 add a test for %+v in nested structures.
threw in an embedded one for good measure.

R=rsc
CC=golang-dev
https://golang.org/cl/157058
2009-11-17 22:14:34 -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
Russ Cox
41554e2528 runtime: two trivial but important bug fixes
R=r
https://golang.org/cl/156059
2009-11-17 22:00:30 -08:00
Ken Thompson
948f3e77e1 bug in copy
R=rsc
https://golang.org/cl/156056
2009-11-17 20:44:35 -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
Adam Langley
a8ba40823c crypto/rsa: add PKCS#1 v1.5 signature support.
R=rsc
CC=golang-dev
https://golang.org/cl/156051
2009-11-17 18:21:47 -08:00
Adam Langley
80b7f6a8d4 asn1:
* add Marshal
  * add BitString.RightAlign
  * change to using a *time.Time (from time.Time) since that's what
    the time package uses.
  * return the unparsed data from Unmarshal.

R=rsc
CC=golang-dev
https://golang.org/cl/156047
2009-11-17 18:09:41 -08:00
Russ Cox
1dbd3c8d3d reflect: document that PkgPath and Name return
empty string for unnamed types.

Fixes #249.

R=r
https://golang.org/cl/156052
2009-11-17 16:03:14 -08:00
Russ Cox
849e6f99b8 http: do not crash accessing r.Form if ParseForm fails
Fixes #233.

R=dsymonds1
https://golang.org/cl/154179
2009-11-17 14:45:10 -08:00
Russ Cox
4dfd7fdde5 runtime: do not create new threads during malloc.
the signal handling stack is a different size than
	the normal stack, so it cannot be allocated using
	the backup stack allocator.

Fixes #250.

R=agl1
CC=golang-dev
https://golang.org/cl/157044
2009-11-17 14:42:08 -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
Rob Pike
6240b0110a improve documentation of runtime. there was no mention of types.
R=rsc
CC=golang-dev
https://golang.org/cl/157042
2009-11-17 11:44:15 -08:00
Aron Nopanen
c51ee432d1 Make non-errored RPC calls return 'nil' error to caller.
Error information is carried from RPC server to client in the string
'Error' field of rpc.Response. An empty string is sent in the success
case. This empty string was being returned to the caller (of Client.Call
or Client.Go), resulting in a non-nil error response.

This change detects an empty-string Response.Error at the client, and
translates it into a nil value in Call.Error.

Tests updated to check error return in success cases.

R=r, rsc
https://golang.org/cl/154159
2009-11-17 11:29:02 -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
Russ Cox
b4586a7429 math: fix argument names in Atan2
(error introduced converting from arg1, arg2)

Fixes #220.

R=r
https://golang.org/cl/156041
2009-11-17 08:39:56 -08:00
Russ Cox
c0e1ccf3ff Make.pkg: have "make coverage" invoke 6cov with correct binary
Fixes #239.

R=r
https://golang.org/cl/154176
2009-11-17 08:39:26 -08:00
Russ Cox
6e788e0f0f net: enforce timeouts for ReadFrom/WriteTo
Fixes #153.

R=r
https://golang.org/cl/154177
2009-11-17 08:39:17 -08:00
Russ Cox
a65bf95dd8 syscall: use correct pointer in recvfrom/sendto.
linux/386 stack trace: use 32-bit hex.

Fixes #159.

R=r
https://golang.org/cl/154178
2009-11-17 08:39:04 -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
Rob Pike
30b1b9a36a Rework gobs to fix bad bug related to sharing of id's between encoder and decoder side.
Fix is to move all decoder state into the decoder object.

Fixes #215.

R=rsc
CC=golang-dev
https://golang.org/cl/155077
2009-11-16 23:32:30 -08:00
Rob Pike
50c04132ac fix bug causing empty strings to be become non-nil errors on client side of rpc connection.
R=rsc
CC=golang-dev
https://golang.org/cl/155078
2009-11-16 23:32:16 -08:00
Russ Cox
597b2a91a6 runtime: make signal handler work on 386
R=r
https://golang.org/cl/154171
2009-11-16 17:51:47 -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
Adam Langley
1cdfe9fa28 unsafe: documentation typo.
Fixes #236.

R=r
CC=golang-dev
https://golang.org/cl/155072
2009-11-16 15:39:04 -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
David Symonds
affcfe5a75 Add some primitive type aliases to exp/iterable and define Iter on them.
R=rsc
https://golang.org/cl/155065
2009-11-16 13:39:59 -08:00
David G. Andersen
37f71e8ad6 An asked-for-in #go-nuts extension to quickly create a repeated
copy of a string or a byte array.
        strings.Repeat("-", 50)
	bytes.Repeat(b, 99)

R=rsc
https://golang.org/cl/155063
2009-11-16 12:40:01 -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
Adam Langley
391e082ca9 crypto/md5: fix comment typo.
Fixes #210.

R=rsc
CC=golang-dev
https://golang.org/cl/155057
2009-11-15 14:00:46 -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
cc3524fb06 makefiles: use correct gcc order in case --as-needed is in use.
Suggested by eostapets.
Fixes #141.

R=r
https://golang.org/cl/155049
2009-11-15 12:57:28 -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
091191336a runtime: avoid crash in Caller
Fixes #176.

R=r
https://golang.org/cl/154146
2009-11-15 12:57:15 -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
a967f57d19 http.URLEscape: escape all bytes required by RFC 2396
Fixes #125.

R=r
https://golang.org/cl/154143
2009-11-15 12:56:50 -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
Rob Pike
27779dd6cb fix bug in bytes.Map and add test cases for Map in both strings and bytes packages.
thanks to ulrik.sverdrup for the test case.

Fixes #191.

R=rsc
CC=golang-dev
https://golang.org/cl/155056
2009-11-15 12:07:27 -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
Kai Backman
529216fa83 complain if GOARCH != arm. fix build break caused by gomake
introduction.

R=rsc
https://golang.org/cl/152109
2009-11-14 23:08:22 -08:00
Adam Langley
ad05d29103 crypto/rsa: handle the case of non-coprime blinds.
We are dealing with the multiplicative group ℤ/pqℤ. Multiples of
either p or q are not members of the group since they cannot have an
inverse. (Such numbers are 0 in the subgroup ℤ/pℤ.)

With p and q of typical size (> 512 bits), the probability of a random
blind [1..pq-1] being a multiple of p or q is negligible. However, in
the unit tests, much smaller sizes are used and the event could occur.

This change checks the result of the ext GCD and deals with this case.

It also increases the size of p and q in the unit test as a large
number of the keys selected were p, q = 227,169.

R=rsc
CC=golang-dev
https://golang.org/cl/154141
2009-11-14 20:38:00 -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
Môshe van der Sterre
a54684f8da encoding/binary: implemented the Write function
The ByteOrder.Put* methods are already available, this change uses
them to implement the Write function.

R=golang-dev, agl1, rsc, r
https://golang.org/cl/152141
2009-11-14 14:42:22 -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
Rob Pike
0263103a05 move evaluation of null-matching instructions one iteration earlier.
performance hit of about 20% but more intuitive results for submatches.
we need a good regexp package at some point.

Fixes #110.

R=rsc
CC=golang-dev
https://golang.org/cl/152131
2009-11-14 12:23:24 -08:00
Abhinav Gupta
bad9738be6 xml: Fixed CDATA parsing.
Fixes #128.

R=r, rsc
https://golang.org/cl/154126
2009-11-14 11:46:09 -08:00
Russ Cox
933d1850ce typos
Fixes #171.
Fixes #172.

R=agl1
https://golang.org/cl/154136
2009-11-14 10:28:53 -08:00
David Titarenco
aebae2577a Created new Conn.Flush() public method so the fd pipeline can be drained arbitrarily by the user.
Commented both flush methods so people know what they are looking at.

This is a necessary fix for streaming and long polling HTTP services.
Fixes #93.

R=r, rsc, david.titarenco
https://golang.org/cl/154099
2009-11-13 18:06:47 -08:00
Nigel Tao
75829b3c51 Remove unnecessary int(h) casts in image.go.
R=rsc
https://golang.org/cl/154125
2009-11-13 17:40:20 -08:00
Adam Langley
a070722340 json: minor comment fix.
I screwed up and didn't write one of the code review changes to disk
before submitting.

TBR=rsc

R=rsc
https://golang.org/cl/154122
2009-11-13 14:59:04 -08:00
Rob Pike
f9919ba323 Explain why
-flag true
does not work although
	-flag=true
does.

Fixes #139.

R=iant
CC=golang-dev
https://golang.org/cl/154118
2009-11-13 13:15:18 -08:00
Adam Langley
bccc337084 json: allow one to unmarshal a top-level JSON array.
Fixies issue 114.

R=rsc
CC=golang-dev
https://golang.org/cl/154121
2009-11-13 13:00:45 -08:00
Russ Cox
e7b8f5faca path.TestWalk: disable error case if root
(chmod 0 doesn't cause errors for root)

Fixes #22.

R=gri
https://golang.org/cl/152120
2009-11-13 11:34:33 -08:00
Adam Langley
87bc9b53fd json: fix addressing of slice indexes that are multiples of 8.
Fixes #147.

R=rsc
CC=golang-dev
https://golang.org/cl/152123
2009-11-13 11:29:13 -08:00
Adam Langley
3f7a32405d runtime: warn about SELinux based mmap failures on Linux.
SELinux will cause mmap to fail when we request w+x memory unless the
user has configured their policies. We have a warning in make.bash,
but it's quite likely that the policy will be reset at some point and
then all their binaries start failing.

This patch prints a warning on Linux when mmap fails with EACCES.

R=rsc
CC=golang-dev
https://golang.org/cl/152086
2009-11-13 10:08:51 -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
Rob Pike
845276ae68 remove dead code from test
R=rsc
CC=golang-dev
https://golang.org/cl/152118
2009-11-12 23:35:45 -08:00
Rob Pike
00093011e6 sudo.bash tries to install acid and db, which don't exist any more
R=rsc
CC=golang-dev
https://golang.org/cl/152117
2009-11-12 23:19:12 -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
Kai Backman
a23746ea65 fix style nit ignored in previous cl
R=rsc
https://golang.org/cl/152110
2009-11-12 16:12:28 -08:00
Kai Backman
6a48aab747 add support for pre arm v6 cas. set GOARM=5 to enable.
R=rsc
https://golang.org/cl/154101
2009-11-12 15:23:23 -08:00
Russ Cox
b0c7d68052 os.TestSeek: use a smaller but still 64-bit seek offset.
Might fix issue 91.

R=r
https://golang.org/cl/152108
2009-11-12 14:55:04 -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
Adam Langley
454c621d91 exp/draw: correct Makefile.
Thanks to Allister Macleod

Fixes #112.

R=rsc
CC=golang-dev
https://golang.org/cl/152102
2009-11-12 13:55:20 -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
Kai Backman
6dbd142951 add cache flushing call after generating closure.
go/test: passes 88% (306/347)

R=rsc
https://golang.org/cl/152089
2009-11-11 23:23:11 -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
Robert Griesemer
23843fa49e vector: s/Element/interface{}/
Fixes #74.

R=rsc
https://golang.org/cl/154073
2009-11-11 17:25:51 -08:00
Adam Langley
3b092fec36 json: support \u escaping in strings
Fixes #73.

R=rsc
CC=golang-dev
https://golang.org/cl/154072
2009-11-11 17:13:14 -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
2cda46dc82 fix TestRemoveAll again (tested as root this time).
Fixes #22.

R=r
https://golang.org/cl/154069
2009-11-11 15:48:38 -08:00
Adam Langley
2643f742a5 make.bash: detect and warn about SELinux policy that crashes us.
The default SELinux policy on Fedora 12 (at least) disallows stack
pages to be +x. This causes all binaries written by 6g/6l to segfault
immedately. The 'true' way to fix this issue is to mark binaries with
the correct type. However, that assumes that 6l is going to detect
SELinux, figure out the correct type for the current distribution and
set the type (without libselinux).

For now we'll warn users and point them towards the way to enable
execstack for the whole system.

http://code.google.com/p/go/issues/detail?id=47

R=rsc
CC=golang-dev
http://codereview.prom.corp.google.com/1026041
2009-11-11 15:02:15 -08:00
Russ Cox
f07a9e43e8 os test: do not use symlink > 255 bytes.
Fixes #62.

R=r
https://golang.org/cl/152080
2009-11-11 14:52:29 -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
Adam Langley
9188b1f000 Revert make.bash which slipped into the previous revision.
R=rsc
http://codereview.prom.corp.google.com/1024051
2009-11-11 13:30:47 -08:00
Adam Langley
1941855730 Reland a112249da741, this time with missing file. 2009-11-11 13:21:37 -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
8515a9f4e2 log test: don't assume a fixed set of letters for $GOROOT
Fixes #27.

R=r
https://golang.org/cl/152075
2009-11-11 13:07:46 -08:00
Russ Cox
ed86d0e70a roll back 3985: build is broken
TBR=agl1
CC=golang-dev
https://golang.org/cl/154065
2009-11-11 12:54:52 -08:00
Adam Langley
af1fa43a81 big:
Turn methods that don't store the result in their receiver into
    functions in order to preserve the convention.
  Re-jig Exp and Div by moving their guts into nat.go.
  Add ProbablyPrime to perform Miller-Rabin primality tests.
crypto/rsa: reenable key generation since we now have ProbablyPrime.

R=gri
CC=go-dev
http://codereview.prom.corp.google.com/1024038
2009-11-11 12:34:46 -08:00
Russ Cox
384932589d work with GNU Make 3.80
Fixes #30.

R=r1, r
https://golang.org/cl/154061
2009-11-11 12:00:50 -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
Russ Cox
1971e1bd21 os: do not test error case of TestRemoveAll when root
Fixes #22.

R=r1, r
https://golang.org/cl/152073
2009-11-11 12:00:34 -08:00
Russ Cox
364e564e3d use fully qualified names for hash interfaces
Fixes #38.

R=r1, r
https://golang.org/cl/152072
2009-11-11 12:00:15 -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
cd0cbd3ed2 lib9: rip out platform specific code that breaks on pclinuxos
R=r
CC=golang-dev
https://golang.org/cl/154049
2009-11-10 23:42:21 -08:00
Russ Cox
fe1e49241c update old comment: things are much better now
R=r
https://golang.org/cl/152057
2009-11-10 19:59:22 -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
Russ Cox
9ff712ecd1 make.bash: check $PATH indirectly via which quietgcc
R=agl1
CC=golang-dev
https://golang.org/cl/152056
2009-11-10 19:20:34 -08:00
Russ Cox
2d70d60392 sanity check environment variables better.
Fixes #12.

R=agl1
CC=golang-dev
https://golang.org/cl/152055
2009-11-10 19:12:22 -08:00
Russ Cox
92a9ddf0fa net: fix error for connect to /etc/ on some systems
R=agl1
CC=golang-dev
https://golang.org/cl/152051
2009-11-10 18:27:26 -08:00
Russ Cox
d6c388616b test for invalid $GOBIN setting before trying to build
R=r
CC=golang-dev
https://golang.org/cl/153049
2009-11-10 18:00:48 -08:00
Russ Cox
e23f75b3c4 net: disable more ipv6 tests
R=agl, agl1
CC=golang-dev
https://golang.org/cl/153050
2009-11-10 18:00:27 -08:00
Russ Cox
b4a8b353c4 net: disable ipv6 test if we know kernel won't take it.
R=agl, agl1
CC=golang-dev
https://golang.org/cl/153048
2009-11-10 17:47:38 -08:00
Russ Cox
9dba695692 net: disable dns error test
some dns resolvers (opendns, for example)
are willing to make up results for any name.

R=agl, agl1
CC=golang-dev
https://golang.org/cl/152049
2009-11-10 17:39:01 -08:00
Russ Cox
484f46daea net: fix dns bug reported on irc.
if suffixes don't work, check for name directly.
also fixes short names like bit.ly when ndots>1.

tested by tossing domain and search lines from /etc/resolv.conf

Fixes #2.

R=agl, agl1
CC=golang-dev
https://golang.org/cl/152048
2009-11-10 17:09:33 -08:00
Robert Griesemer
9e0d2fa89b better code for a copy loop
R=rsc
https://golang.org/cl/152046
2009-11-10 15:33:59 -08:00
Ken Thompson
c90d392ce3 spell it with an "e"
R=rsc
http://go/go-review/1025037
2009-11-10 15:05:15 -08:00
Robert Griesemer
b27f05f63b minor adjustments to package comments for better synopsis.
R=rsc
CC=r
http://go/go-review/1026038
2009-11-10 10:55:53 -08:00
Russ Cox
b351113b50 make regexp comment not a package comment
R=r
http://go/go-review/1025036
2009-11-10 09:36:48 -08:00
Russ Cox
cb94b60cfb allow user agent to mention Go.
R=r
http://go/go-review/1024046
2009-11-10 09:10:08 -08:00
Russ Cox
da776791c4 drop output from nilptr tests;
too hard to make it the same everywhere.
still checking for non-zero exit status though.

disable core files while running tests

R=r
http://go/go-review/1026037
2009-11-09 23:11:36 -08:00
Robert Griesemer
3d668c1b5d - minor cleanups
- better debugging support
- gofmt -l src misc | wc -l is 0

R=rsc
http://go/go-review/1024042
2009-11-09 22:30:07 -08:00
Robert Griesemer
3bb0032cd6 - replaced gofmt expression formatting algorithm with
rsc's algorithm
- applied gofmt -w misc src
- partial CL (last chunk)

R=rsc, r
http://go/go-review/1024041
2009-11-09 21:23:52 -08:00
Robert Griesemer
baba292998 - 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/1026036
2009-11-09 21:13:17 -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
81672e79e4 - rename Context to exprContext to remove it from public interface
(and to match the style of declContext)

R=rsc
http://go/go-review/1024033
2009-11-09 10:37:36 -08:00
Robert Griesemer
53f485813e fix for nodeSize computation, used to determine if
a node fits on one line:
- for purposes of measuring the node size in text,
  don't generate html or use a styler that could
  generate html as it will lead to overly large
  sizes

A consequence of this bug is that source code displayed
with godoc may show functions that fit on one line in
the source on multiple lines.

This change causes no difference to the gofmt formatting
of any files in src or misc.

R=rsc
http://go/go-review/1026034
2009-11-09 09:34:55 -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
Rob Pike
e02f2b51c5 delete a pointless todo in all_test.go.
address one in rpc/client.go

R=rsc
CC=go-dev
http://go/go-review/1026030
2009-11-08 21:57:59 -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
Rob Pike
ceb6031ecd delete TODO now that compiler is better at %
adjust an inconsistency in reflect/type.go's package comment

R=rsc
http://go/go-review/1026029
2009-11-08 20:45:39 -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
Rob Pike
40a7db3ee9 add top-level package comments for net, reflect, malloc.
reflect is a little more detailed than some because it affords an opportunity
to explain how to approach the library.

R=gri, rsc
CC=go-dev
http://go/go-review/1026026
2009-11-08 15:57:25 -08:00
Robert Griesemer
56b4515740 added package documentation
R=r, rsc
http://go/go-review/1025023
2009-11-08 15:04:30 -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
Vish Subramanian
379150c210 Add flags of type float to the flag package.
R=r, rsc
http://go/go-review/1026011
2009-11-07 15:52:27 -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
Robert Griesemer
3317697df4 - blank before opening { for multi-line composite literals (as preferred by r)
- blank padding around composite literal contents for a less dense look
  (most if not all composite literals were written in that style before gofmt
  ran through them)
- corresponding (internal) flag: compositeLitBlank

- don't print a semi after a one-statement statement list (as preferred by r)
- corresponding (internal flag): fewerSemis

- the number of changes in nodes.go is huge because of the removed semis;
  hg mail requires that I gofmt the file before

With both flags set to false, this CL causes no gofmt formatting change. We
can turn them on if we like it (and then remove the flags). Will submit with
flags disabled.

R=rsc, r
http://go/go-review/1025015
2009-11-07 13:01:52 -08:00
David Symonds
6ea866c04b Typo fixes.
R=rsc
CC=go-dev
http://go/go-review/1026014
2009-11-06 18:43:57 -08:00
Ken Thompson
0eb2a79ff3 8g optimizer
R=rsc
http://go/go-review/1025011
2009-11-06 16:51:49 -08:00
Robert Griesemer
832ce7c1d2 format composite literal types that are "short" struct type literals
on one line for a more compact representation of some composite Literals

R=rsc
http://go/go-review/1025008
2009-11-06 16:34:19 -08:00
Robert Griesemer
a05a5465c8 - application of gofmt with one-line composite literal structs enabled
- this CL is dependent on CL 1025008

R=r, rsc
http://go/go-review/1025009
2009-11-06 16:33:53 -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
Adam Langley
db4e48ece9 big: fix carry error, add test case.
crypto/x509: reenable tests.

R=gri
CC=go-dev
http://go/go-review/1026004
2009-11-06 11:36:21 -08:00
Robert Griesemer
56eca9daed minor fixups by gofmt
R=agl
http://go/go-review/1024009
2009-11-06 11:00:06 -08:00
Adam Langley
ecf0690c01 crypto/x509: build fix for 32-bit
TBR=rsc

R=rsc
CC=go-dev
http://go/go-review/1024007
2009-11-06 09:23:40 -08:00
Adam Langley
17021f48f3 Fix add-back division test so that it triggers the add-back case on
both 64 and 32 bit platforms.

Also, uncomment some tests that were still commented out from
debugging.

R=gri, rsc
CC=go-dev
http://go/go-review/1026003
2009-11-06 09:05:19 -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
07b6becc88 - fix elf.go manually so it is idempotent for gofmt
- with this change, `gofmt -l src/pkg | wc` is 0

R=rsc
http://go/go-review/1025002
2009-11-05 22:05:43 -08:00
Robert Griesemer
7151d2337b missing piece gofmt'ed in reflect
R=r, rsc
http://go/go-review/1025001
2009-11-05 18:27:30 -08:00
Robert Griesemer
45cba57e89 gofmt'ed more stragglers
R=rsc
http://go/go-review/1019004
2009-11-05 18:26:16 -08:00
Robert Griesemer
48b3156908 gofmt'ed big
R=agl
http://go/go-review/1022003
2009-11-05 18:25:23 -08:00
Robert Griesemer
7e92eedced gofmt'ed various stragglers
R=rsc
http://go/go-review/1022002
2009-11-05 18:24:53 -08:00
Robert Griesemer
183edddb9d gofmt'ed more stragglers
(now down to a handfull of files in pkg)

R=rsc
http://go/go-review/1019006
2009-11-05 18:24:24 -08:00
Robert Griesemer
0ea9dd815a gofmt the last outstanding files in src/pkg
- added a list of issues to printer/nodes.go

R=rsc
http://go/go-review/1024002
2009-11-05 18:14:47 -08:00
Robert Griesemer
39fd52d3a0 gofmt'ed missing regexp file
(one-line functions will be re-established once we have all
formatted uniformly)

R=r
http://go/go-review/1023004
2009-11-05 17:35:40 -08:00
Robert Griesemer
38006946e6 manual fix for better gofmt result
R=r
http://go/go-review/1019005
2009-11-05 17:27:02 -08:00
Robert Griesemer
8cd2e76404 - gofmt'ing of some stragglers, now with correct comment indentation
in special cases
- re-gofmt'ing of some files that are now improved

R=r, rsc
http://go/go-review/1023003
2009-11-05 17:02:55 -08:00
Robert Griesemer
6c13f8f10e fix a comment formatting bug:
- this ensures better comment formatting in template.go and codec_test.go
- it affects only 2 files of all files that have been gofmt'ed already,
  see separate CL (it fixes the same issue in those files)

R=rsc
http://go/go-review/1023002
2009-11-05 17:02:29 -08:00