1
0
mirror of https://github.com/golang/go synced 2024-11-22 21:10:03 -07:00
Commit Graph

1278 Commits

Author SHA1 Message Date
Russ Cox
fcd76f7dc9 move amd64-specific (but os-independent) pieces of runtime
into amd64/ directory.

split rt2_amd64.c into closure.c and traceback.c.

TBR=r
OCL=26678
CL=26678
2009-03-24 11:49:22 -07:00
Russ Cox
13584f4a23 add test for close/closed, fix a few implementation bugs.
R=ken
OCL=26664
CL=26664
2009-03-23 18:50:35 -07:00
Russ Cox
86145611b0 allow range on nil maps
R=ken
OCL=26663
CL=26663
2009-03-23 18:32:37 -07:00
Rob Pike
8d44052b6d iterator for vector
R=rsc
DELTA=35  (35 added, 0 deleted, 0 changed)
OCL=26662
CL=26662
2009-03-23 17:46:59 -07:00
Ken Thompson
79fa5b65cb rewrote switch
fixed bug 141

R=r
OCL=26627
CL=26627
2009-03-22 20:54:21 -07:00
Russ Cox
2bd101c4b1 update 8a, 8c, 8l to use new object format.
add "extern register" support to 8c.
extern register means allocate in the FS-relative segment.

make 8l generate segmented stack checks.

R=ken
OCL=26600
CL=26606
2009-03-20 16:40:00 -07:00
Russ Cox
c1e748bd2e embarassing bug in allocator:
was applying wrong waste check,
resulting in many more size classes
than necessary.

R=r
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=26602
CL=26605
2009-03-20 16:34:13 -07:00
Russ Cox
7d443bb67a make 8l generate Darwin Mach-O and Linux ELF binaries
R=ken
OCL=26584
CL=26589
2009-03-20 14:22:59 -07:00
Russ Cox
997b6f9d89 don't need two names for the same function (vputl and llputl).
also use thechar, to make copy/paste easier.

R=ken
OCL=26583
CL=26588
2009-03-20 14:22:46 -07:00
Russ Cox
0932b1f9b8 move pragtextflag into lexbody
R=ken
OCL=26581
CL=26587
2009-03-20 14:22:37 -07:00
Russ Cox
54aa835b44 range over channels.
also fix multiple-evaluation bug in range over arrays.

R=ken
OCL=26576
CL=26576
2009-03-20 11:32:58 -07:00
Russ Cox
f7772627ad fix b/1722502
BUG=1722502
R=ken
OCL=26526
CL=26526
2009-03-18 19:20:54 -07:00
Tom Szymanski
658ca49898 Make adler32 cleaner.
R=rsc
APPROVED=rsc
DELTA=22  (9 added, 6 deleted, 7 changed)
OCL=26498
CL=26500
2009-03-18 14:57:55 -07:00
Ken Thompson
1cdcfda140 remove assignment cases from switch
R=r
OCL=26480
CL=26480
2009-03-18 12:13:42 -07:00
Ken Thompson
1e0c17e294 switch on false error
R=r
OCL=26434
CL=26434
2009-03-17 19:10:32 -07:00
Ken Thompson
0f469a99a3 binary search on type switches.
new feature 'case nil:' in type switch
will match iff the interface is nil.

R=r
OCL=26404
CL=26404
2009-03-17 13:58:38 -07:00
Ken Thompson
5136a9e1f7 change format of Sigt and Sigi
to allow room for type hash
needed for log-time type switch.

R=r
OCL=26354
CL=26354
2009-03-16 15:27:08 -07:00
Robert Griesemer
1b141ca068 added &^ and &^=
R=rsc
DELTA=14  (12 added, 0 deleted, 2 changed)
OCL=26278
CL=26348
2009-03-16 14:20:08 -07:00
Ken Thompson
4523ee9ac8 close/closed on chans
R=r
OCL=26281
CL=26285
2009-03-13 16:47:54 -07:00
Kai Backman
db3a21d7c6 5a 5c 5l from inferno distribution
R=rsc
APPROVED=rsc
DELTA=19042  (19042 added, 0 deleted, 0 changed)
OCL=26268
CL=26270
2009-03-13 15:03:07 -07:00
Russ Cox
5fbadf0bc3 warn -> yyerror in mparith.
close two more bugs.

R=ken
OCL=26226
CL=26226
2009-03-12 19:57:30 -07:00
Russ Cox
8f194bf5ff make 6g constants behave as ken proposes. (i hope.)
various bug fixes and tests involving constants.

test/const1.go is the major new test case.

R=ken
OCL=26216
CL=26224
2009-03-12 19:04:38 -07:00
Ken Thompson
6eb54cb05b chan flags close/closed installed
runtime not finished.

R=r
OCL=26217
CL=26217
2009-03-12 17:55:11 -07:00
Robert Griesemer
6f321e28f4 - remove special handling of '\n' characters (used to be treated as comments
for pretty printer purposes - now properly ignored as white space since we
have line/col information)
- changed sample use in comment to an actually compiled function to make sure
sample is actually working
- added extra tests (checking line and column values, and the tokenize function)

R=rsc
DELTA=253  (61 added, 67 deleted, 125 changed)
OCL=26143
CL=26181
2009-03-12 11:04:11 -07:00
Ken Thompson
bb02e481d2 added bitclear operators &^ and &^=
R=r
OCL=26152
CL=26152
2009-03-11 19:59:35 -07:00
Ken Thompson
767845b6fa bug 125
R=r
OCL=26146
CL=26146
2009-03-11 17:37:04 -07:00
Ken Thompson
48f6b516e2 bug 137
R=r
OCL=26142
CL=26142
2009-03-11 16:25:45 -07:00
Russ Cox
4eb7ceba58 complain when trying to put T into an interface
if T has pointer methods.  this is just a heuristic
but it catches the problem robert ran into and
lets me put the larger interface issues aside for
now.  found one bug in pretty.

R=ken
OCL=26141
CL=26141
2009-03-11 16:06:17 -07:00
Russ Cox
7a706fb3d7 Rename os.FD to os.File.
Make Fstat, Readdirnames, and Readdir methods
on os.File.

R=r
DELTA=281  (79 added, 3 deleted, 199 changed)
OCL=25891
CL=26130
2009-03-11 12:51:10 -07:00
Russ Cox
6479d89378 document json
R=r
DELTA=115  (102 added, 0 deleted, 13 changed)
OCL=25953
CL=26128
2009-03-11 12:50:58 -07:00
Robert Griesemer
68c69fac9e - scanner to track line/col number instead of byte position only
- fixed a parameter name in tabwriter

R=rsc
DELTA=110  (21 added, 17 deleted, 72 changed)
OCL=26123
CL=26127
2009-03-11 12:48:45 -07:00
Russ Cox
32bf48c6d8 document http
R=r
DELTA=84  (63 added, 4 deleted, 17 changed)
OCL=25950
CL=26126
2009-03-11 12:45:53 -07:00
Rob Pike
5559ff6ece fix old-style print call in constant
R=rsc
OCL=26093
CL=26093
2009-03-10 20:47:42 -07:00
Ian Lance Taylor
062d6998ab Add support for a -I option. -I DIR searches for packages in
DIR.

R=ken,rsc
DELTA=49  (41 added, 2 deleted, 6 changed)
OCL=26057
CL=26092
2009-03-10 20:03:31 -07:00
Ken Thompson
d27e9f528d bug086
R=r
OCL=26090
CL=26090
2009-03-10 19:16:31 -07:00
Robert Griesemer
915f176f7f - fixing (internal) capitalization
R=rsc
DELTA=7  (0 added, 0 deleted, 7 changed)
OCL=26080
CL=26080
2009-03-10 18:09:13 -07:00
Robert Griesemer
d671daf7f7 - allow unicode digits in identifiers
- fixed a bug with character escapes (before: allowed arbitrary long sequences)

R=r
DELTA=63  (33 added, 19 deleted, 11 changed)
OCL=26010
CL=26070
2009-03-10 17:08:05 -07:00
Ken Thompson
0c4f4587d7 bug with interaction of variables
declared in cases and heap allocation

R=r
OCL=26064
CL=26064
2009-03-10 16:49:34 -07:00
Rob Pike
4cbfcae3d8 add unicode data for decimal digit, preparatory to allowing them in identifiers.
R=rsc
DELTA=431  (430 added, 0 deleted, 1 changed)
OCL=25975
CL=26059
2009-03-10 16:30:27 -07:00
Robert Griesemer
6906e3b884 - incorporate suggestions from previous code review
R=rsc
DELTA=64  (18 added, 3 deleted, 43 changed)
OCL=26046
CL=26058
2009-03-10 16:30:26 -07:00
Robert Griesemer
e7980732ee tabwriter documentation
R=rsc
DELTA=62  (31 added, 5 deleted, 26 changed)
OCL=26022
CL=26040
2009-03-10 14:55:04 -07:00
Robert Griesemer
efbb120d8e - more documentation adjustments
R=rsc
DELTA=6  (0 added, 1 deleted, 5 changed)
OCL=25970
CL=25973
2009-03-09 18:53:11 -07:00
Rob Pike
1fe42e2d4d delete float80 from libraries
R=rsc
DELTA=40  (0 added, 38 deleted, 2 changed)
OCL=25969
CL=25969
2009-03-09 18:00:41 -07:00
Rob Pike
3bc6fd63fe document reflect.
R=rsc
DELTA=201  (90 added, 0 deleted, 111 changed)
OCL=25904
CL=25966
2009-03-09 17:47:15 -07:00
Robert Griesemer
5bd5242bcc Fixing comment.
R=r
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=25956
CL=25960
2009-03-09 17:30:38 -07:00
Robert Griesemer
2aa77352fc scanner.go documentation
R=r
DELTA=22  (8 added, 3 deleted, 11 changed)
OCL=25947
CL=25955
2009-03-09 17:16:42 -07:00
Robert Griesemer
cdd9539362 token.go documentation
R=r
DELTA=34  (24 added, 2 deleted, 8 changed)
OCL=25946
CL=25954
2009-03-09 17:13:15 -07:00
Robert Griesemer
dc5ddd7d84 - directory rename lang -> go
R=rsc
DELTA=2070  (1035 added, 1035 deleted, 0 changed)
OCL=25939
CL=25939
2009-03-09 12:41:53 -07:00
Ken Thompson
820f42d977 binary search for constant case statements.
R=r
OCL=25890
CL=25890
2009-03-07 17:33:42 -08:00
Rob Pike
5dd4ef5716 document bufio
R=rsc
DELTA=61  (27 added, 2 deleted, 32 changed)
OCL=25877
CL=25889
2009-03-07 16:57:01 -08:00
Rob Pike
333cdd8f2a document os
R=rsc
DELTA=143  (96 added, 0 deleted, 47 changed)
OCL=25876
CL=25888
2009-03-07 16:56:44 -08:00
Rob Pike
1910a7c595 document hash
R=rsc
DELTA=50  (33 added, 4 deleted, 13 changed)
OCL=25878
CL=25887
2009-03-07 16:56:21 -08:00
Rob Pike
c5560d3aaa document time
R=rsc
DELTA=42  (23 added, 1 deleted, 18 changed)
OCL=25881
CL=25886
2009-03-07 16:56:05 -08:00
Russ Cox
1e37e8a417 document Conn interface better, in preparation
for per-method interface documentation
by mkdoc.pl.

implement timeouts on network reads
and use them in dns client.

also added locks on i/o to ensure writes
are not interlaced.

R=r
DELTA=340  (272 added, 25 deleted, 43 changed)
OCL=25799
CL=25874
2009-03-06 17:51:31 -08:00
Ken Thompson
a4a10ed856 1. type switches
2. fixed fault on bug128
3. got rid of typeof
4. fixed bug in t,ok = I2T

R=r
OCL=25873
CL=25873
2009-03-06 17:50:43 -08:00
Rob Pike
b0609f14d2 document sort
R=rsc
DELTA=20  (20 added, 0 deleted, 0 changed)
OCL=25869
CL=25872
2009-03-06 17:29:25 -08:00
Rob Pike
6f07796e86 document syscall. all we do is redirect elsewhere.
R=rsc
DELTA=7  (7 added, 0 deleted, 0 changed)
OCL=25859
CL=25871
2009-03-06 17:20:53 -08:00
Rob Pike
99d00eae3c delete vestigial references to package syscall
R=rsc
DELTA=8  (0 added, 5 deleted, 3 changed)
OCL=25857
CL=25861
2009-03-06 16:03:59 -08:00
Rob Pike
7bb335c7de document io
R=rsc
DELTA=44  (30 added, 4 deleted, 10 changed)
OCL=25819
CL=25835
2009-03-06 03:43:44 -08:00
Rob Pike
5b4fa1ad22 document once
R=rsc
DELTA=14  (7 added, 5 deleted, 2 changed)
OCL=25818
CL=25834
2009-03-06 03:36:50 -08:00
Rob Pike
85647c94e6 document fmt.
the description of the format verbs still needs to be done.

R=rsc
DELTA=288  (88 added, 12 deleted, 188 changed)
OCL=25814
CL=25833
2009-03-06 03:35:38 -08:00
Rob Pike
b18e418410 document unicode, such as it is
R=rsc
DELTA=18  (9 added, 0 deleted, 9 changed)
OCL=25817
CL=25832
2009-03-06 03:22:02 -08:00
Rob Pike
6b8ac0a9e4 document rand
R=rsc
DELTA=27  (16 added, 8 deleted, 3 changed)
OCL=25804
CL=25813
2009-03-05 19:26:27 -08:00
Rob Pike
37656ad568 document container/intvector
R=rsc
DELTA=15  (15 added, 0 deleted, 0 changed)
OCL=25794
CL=25812
2009-03-05 19:22:06 -08:00
Rob Pike
dfe0853255 document utf8
R=rsc
DELTA=18  (12 added, 0 deleted, 6 changed)
OCL=25807
CL=25811
2009-03-05 19:15:13 -08:00
Russ Cox
af678a593d new approach for generating sysimport.c
(renamed to avoid any conflict with old p4 copies).

this approach doesn't require auto-generating
files also kept in p4, so it should be easier on
go users who don't sync very often.

this approach will be more work for go developers:
builtin.c needs to be copied to builtin.c.boot in p4
as new functions are added.  mkbuiltin does this
for certain $USERs to help us remember.

R=r
DELTA=343  (176 added, 162 deleted, 5 changed)
OCL=25803
CL=25805
2009-03-05 18:26:12 -08:00
Rob Pike
681299a444 document testing and incidentally gotest
R=rsc
DELTA=25  (25 added, 0 deleted, 0 changed)
OCL=25798
CL=25802
2009-03-05 17:50:36 -08:00
Rob Pike
0f7306b78c document strings
R=rsc
DELTA=9  (4 added, 0 deleted, 5 changed)
OCL=25793
CL=25795
2009-03-05 17:02:34 -08:00
Russ Cox
63985b489b bug085 bug129
R=ken
OCL=25787
CL=25791
2009-03-05 15:57:03 -08:00
Ken Thompson
bf983477a2 new switch implementation
in preparation of type switch.
no functional change (yet).

R=r
OCL=25784
CL=25788
2009-03-05 15:49:34 -08:00
Russ Cox
c93da7c70a net: doc, doc-inspired cleanup
R=r
DELTA=368  (87 added, 14 deleted, 267 changed)
OCL=25773
CL=25786
2009-03-05 15:48:12 -08:00
Russ Cox
5bf0fbe7a8 strconv: doc
R=r
DELTA=110  (64 added, 19 deleted, 27 changed)
OCL=25761
CL=25782
2009-03-05 15:29:04 -08:00
Russ Cox
8a7eb77880 misc doc
R=r
DELTA=50  (28 added, 0 deleted, 22 changed)
OCL=25763
CL=25770
2009-03-05 13:35:45 -08:00
Rob Pike
5b814d02f2 delete deprecated files.
deletion beats documentation for deprecation.

R=rsc,gri
DELTA=509  (2 added, 490 deleted, 17 changed)
OCL=25737
CL=25768
2009-03-05 13:31:03 -08:00
Russ Cox
dfc3910afa math: doc
R=r
DELTA=173  (74 added, 14 deleted, 85 changed)
OCL=25753
CL=25767
2009-03-05 13:31:01 -08:00
Rob Pike
83de0698d6 document vector
R=rsc
DELTA=36  (30 added, 0 deleted, 6 changed)
OCL=25740
CL=25766
2009-03-05 13:30:39 -08:00
Rob Pike
26cb4df726 log: document
R=rsc
DELTA=26  (17 added, 1 deleted, 8 changed)
OCL=25731
CL=25734
2009-03-04 22:46:44 -08:00
Rob Pike
0ea27e345e flag: document
also write to stderr not stdout

R=rsc
DELTA=48  (38 added, 2 deleted, 8 changed)
OCL=25729
CL=25733
2009-03-04 22:43:51 -08:00
Rob Pike
d1ac21849e delete bogus vestige
R=rsc
OCL=25730
CL=25730
2009-03-04 22:03:35 -08:00
Rob Pike
927678694c typos
R=gri
DELTA=3  (0 added, 1 deleted, 2 changed)
OCL=25728
CL=25728
2009-03-04 21:41:12 -08:00
Russ Cox
8ba287585a sync: add documentation
R=r
DELTA=63  (57 added, 1 deleted, 5 changed)
OCL=25727
CL=25727
2009-03-04 21:30:07 -08:00
Rob Pike
a0feb32567 remove some incorrect capitalizations.
add commentary.

R=rsc
DELTA=231  (41 added, 24 deleted, 166 changed)
OCL=25724
CL=25726
2009-03-04 21:06:38 -08:00
Russ Cox
98b34e5bbd reject invalid map key types at compile time
R=ken
OCL=25720
CL=25720
2009-03-04 17:38:37 -08:00
Robert Griesemer
bd4f5af107 - missing makefile
R=r
OCL=25714
CL=25714
2009-03-04 17:16:58 -08:00
Robert Griesemer
b4802dd568 Created new directory lib/lang:
- move scanner to into lib/lang
- added test
- adjusted various make and build files

R=r
DELTA=1731  (973 added, 753 deleted, 5 changed)
OCL=25668
CL=25713
2009-03-04 17:13:12 -08:00
Russ Cox
955638e2fb disallow ordinary-type.(T), as in spec.
R=ken
OCL=25705
CL=25705
2009-03-04 14:50:25 -08:00
Rob Pike
e8e894bff3 enable pretty in run.bash
R=rsc
DELTA=5  (0 added, 0 deleted, 5 changed)
OCL=25651
CL=25655
2009-03-03 16:09:40 -08:00
Russ Cox
49cc649e59 back to T{x}, stricter handling of T(x) vs x.(T)
R=ken
DELTA=131  (60 added, 41 deleted, 30 changed)
OCL=25617
CL=25633
2009-03-03 08:41:02 -08:00
Russ Cox
be2edb5761 Automated g4 rollback of changelist 25024,
plus significant hand editing.

Back to T{x} for composite literals.

R=r
OCL=25612
CL=25632
2009-03-03 08:39:12 -08:00
Robert Griesemer
ea3d4540b3 - itob
- more test cases

R=rsc
DELTA=97  (52 added, 4 deleted, 41 changed)
OCL=25585
CL=25607
2009-03-02 17:52:58 -08:00
Russ Cox
e9b40580ba fix names: s/fd/r/
R=r
DELTA=9  (0 added, 0 deleted, 9 changed)
OCL=25593
CL=25593
2009-03-02 16:12:04 -08:00
Ken Thompson
751d13cbce bug 130 (go/defer) interface.method()
R=r
OCL=25356
CL=25356
2009-02-23 22:43:04 -08:00
Ken Thompson
a665e2924c bug with select :=
R=r
OCL=25278
CL=25278
2009-02-21 12:41:34 -08:00
Russ Cox
ebc10db3e1 allow parens to disambiguate types.
examples:

	chan <- (chan int)
	chan (<- chan int)
	(map[string]func())("a": main)

R=ken
OCL=25151
CL=25151
2009-02-18 10:07:46 -08:00
Rob Pike
6950491b4f drop trailing slashes - missed comment from last review
TBR=rsc
OCL=25135
CL=25135
2009-02-17 19:59:23 -08:00
Rob Pike
03d6909ff7 more fun with triv.go: flags and arguments
R=rsc
DELTA=23  (23 added, 0 deleted, 0 changed)
OCL=25088
CL=25134
2009-02-17 19:35:01 -08:00
Russ Cox
d0424faf17 few more Sizeof.
R=r
DELTA=3  (0 added, 1 deleted, 2 changed)
OCL=25106
CL=25106
2009-02-17 13:40:28 -08:00
Ken Thompson
3c0fc400fb fix unsafe.Sizeof("abc")
R=rsc
OCL=25105
CL=25105
2009-02-17 13:10:57 -08:00
Rob Pike
575257d503 use proper strconv in string values.
make test a little stronger.

R=rsc
DELTA=94  (27 added, 39 deleted, 28 changed)
OCL=25085
CL=25087
2009-02-16 21:55:37 -08:00
Russ Cox
c19468d8df comment nit
R=r
DELTA=2  (0 added, 2 deleted, 0 changed)
OCL=25081
CL=25084
2009-02-16 20:44:29 -08:00
Russ Cox
eb3823a44d allow hex, octal in Atoi, etc.
R=r
DELTA=169  (79 added, 23 deleted, 67 changed)
OCL=25079
CL=25083
2009-02-16 20:44:21 -08:00
Russ Cox
9e3e61627d proposed XML parser design.
inspired by expat's callback interface,
but a bit simpler thanks to go interfaces.

also serves as reference notes about XML.

the parser itself is unimplemented.

not in Makefiles, though it does build.

R=r
DELTA=425  (425 added, 0 deleted, 0 changed)
OCL=25077
CL=25080
2009-02-16 20:14:21 -08:00
Rob Pike
bbc190b3ee make interface to the flags themselves more public.
add visitor functions to scan the flags.
add a way to set a flag.
add a flag test.

R=rsc
DELTA=169  (99 added, 19 deleted, 51 changed)
OCL=25076
CL=25078
2009-02-16 19:43:15 -08:00
Russ Cox
d3d0c256be bug123
R=ken
OCL=25075
CL=25075
2009-02-16 17:44:05 -08:00
Russ Cox
aa35aee07c fix build - missed this file before
TBR=r
OCL=25074
CL=25074
2009-02-16 17:07:11 -08:00
Russ Cox
dfad8ea647 use embedded interface types
R=r
DELTA=205  (1 added, 157 deleted, 47 changed)
OCL=25071
CL=25073
2009-02-16 16:37:49 -08:00
Russ Cox
b4af09ab56 embedded interface types in interfaces.
R=ken
OCL=25072
CL=25072
2009-02-16 16:36:18 -08:00
Russ Cox
78906c3836 io.Pipe
assorted underscore cleanup

R=r
DELTA=488  (410 added, 3 deleted, 75 changed)
OCL=25070
CL=25070
2009-02-16 16:32:30 -08:00
Russ Cox
ff3173849e assorted changes:
- use a lock instead of a thread in once
		avoids deadlock in recursive once calls
	- implement os.Setenv
	- remove "export" from some scripts
	- remove _ from names in time package
	- fix time test for non-MTV machines

R=r
DELTA=265  (87 added, 58 deleted, 120 changed)
OCL=25057
CL=25057
2009-02-15 22:12:35 -08:00
Rob Pike
55d13cf139 change the URL in the test to avoid a redirection that breaks it in sydney.
R=rsc
OCL=25054
CL=25054
2009-02-15 19:58:00 -08:00
Russ Cox
91ceda5c18 add os.ForkExec, os.Exec, os.Wait, exec.OpenCmd.
as thread-safe as possible, given the surrounding system.
add stub RWLock implementation.

R=r
DELTA=852  (834 added, 6 deleted, 12 changed)
OCL=25046
CL=25053
2009-02-15 19:35:52 -08:00
Russ Cox
97dcc68f1e insert ${GOOS} and ${GOARCH} in
command-line comment.

R=r
DELTA=11  (6 added, 0 deleted, 5 changed)
OCL=25051
CL=25051
2009-02-15 19:20:35 -08:00
Russ Cox
d8921c5294 cleanups:
get rid of _ on private names in net.
	fix os_test file name list.
	newline not needed on Errorf.

R=r
DELTA=305  (34 added, 2 deleted, 269 changed)
OCL=25047
CL=25047
2009-02-15 14:18:39 -08:00
Russ Cox
78a6d68c86 build nits
R=r
DELTA=8  (0 added, 6 deleted, 2 changed)
OCL=25045
CL=25045
2009-02-15 13:41:48 -08:00
Russ Cox
3b3e63735e bug fix for &x[0] when x is slice
R=ken
OCL=25044
CL=25044
2009-02-15 13:15:46 -08:00
Robert Griesemer
070738c30c - added Makefile change again (lost due to to p4 misuse)
R=rsc
OCL=25026
CL=25026
2009-02-13 15:10:35 -08:00
Robert Griesemer
127526649f - vector package (identical to array except for names)
- updated some file (but not all - left array package in place for now)

R=rsc
DELTA=530  (483 added, 0 deleted, 47 changed)
OCL=25025
CL=25025
2009-02-13 15:07:56 -08:00
Russ Cox
9f8f2e6130 convert composite literals from { } to ( ).
only non-trivial changes are in
	convlit1.go
	golden.out

R=gri
OCL=25019
CL=25024
2009-02-13 14:48:32 -08:00
Russ Cox
07244f7c80 add composite literal ( ) syntax.
warn about composite literal { } syntax.

R=ken
OCL=25018
CL=25023
2009-02-13 14:48:16 -08:00
Russ Cox
20b6de135b fix build
TBR=r
OCL=25021
CL=25021
2009-02-13 14:35:36 -08:00
Russ Cox
5f4f5647ef require type assertions when narrowing.
R=ken
OCL=24350
CL=24914
2009-02-11 17:57:29 -08:00
Russ Cox
49e2087848 insert type assertions when narrowing.
R=r
OCL=24349
CL=24913
2009-02-11 17:55:16 -08:00
Russ Cox
7cd24361bd fix gc bug. i think this is tgs's second bug.
i stumbled across it in all.bash.

TBR=r
OCL=24912
CL=24912
2009-02-11 17:54:03 -08:00
Rob Pike
0c4010a747 change DirInfo->dirInfo now that 6g export bug is fixed
R=rsc
DELTA=4  (0 added, 0 deleted, 4 changed)
OCL=24788
CL=24805
2009-02-10 16:44:04 -08:00
Rob Pike
6017895659 drop the os_ prefix on the file names in os. os_test.go can stay.
R=rsc
DELTA=793  (392 added, 392 deleted, 9 changed)
OCL=24777
CL=24804
2009-02-10 16:40:06 -08:00
Russ Cox
73dd4a37f9 fix export bug Rob tripped over.
the lexer is already hiding names,
so this clumsy hack is no longer necessary.

R=ken
OCL=24783
CL=24783
2009-02-10 13:57:31 -08:00
Rob Pike
00b3d48f13 Make Readdirnames work properly on Linux.
Refactor so Readdir is portable code.

R=rsc
DELTA=192  (50 added, 130 deleted, 12 changed)
OCL=24770
CL=24772
2009-02-10 11:55:48 -08:00
Ian Lance Taylor
651972b31f Implement unsafe.Alignof.
R=ken
DELTA=20  (19 added, 0 deleted, 1 changed)
OCL=24719
CL=24771
2009-02-10 11:46:26 -08:00
Rob Pike
d94c5aba12 Fix Readdirnames to behave properly if reading in little pieces. Requires storing some
state in the FD.

This is Darwin only.  Next CL will make Readdir use Readdirnames to generate its files
and move Readdir into portable code, as well as fix Readdirnames for Linux.

R=rsc
DELTA=116  (79 added, 12 deleted, 25 changed)
OCL=24756
CL=24768
2009-02-10 11:27:45 -08:00
Robert Griesemer
668bf81b00 - removed obsolete comments
R=r
DELTA=2  (0 added, 1 deleted, 1 changed)
OCL=24755
CL=24760
2009-02-10 10:37:11 -08:00
Rob Pike
2f147992b4 fix Getdirentries: base comes back in r2.
R=rsc
DELTA=3  (3 added, 0 deleted, 0 changed)
OCL=24727
CL=24727
2009-02-09 20:04:36 -08:00
Rob Pike
cad7a3aefc simple accessors for Dir mode bits
R=rsc
DELTA=71  (71 added, 0 deleted, 0 changed)
OCL=24687
CL=24694
2009-02-09 12:50:54 -08:00
Rob Pike
a948fdd626 typo. this split-os building thing is frustrating.
R=rsc
OCL=24681
CL=24681
2009-02-09 11:25:47 -08:00
Rob Pike
aba4c75408 add Readdir: returns an array of Dir structures
R=rsc
DELTA=200  (176 added, 12 deleted, 12 changed)
OCL=24680
CL=24680
2009-02-09 11:24:35 -08:00
Rob Pike
c8d59c1fb2 fix int64/int error - build broken
R=gri
OCL=24678
CL=24678
2009-02-09 10:20:15 -08:00
Russ Cox
a81870badf add error to catch 6g alignment bug.
the fix appears to be to align the
out struct on an 8 boundary, but that
is a bit involved.

R=ken
OCL=24657
CL=24657
2009-02-08 11:19:45 -08:00
Russ Cox
a6c59ce274 gc funarg return fix.
change type (to satisfy OAS) after nodarg:
nodarg uses offset from type too,
and must use correct offset.

R=ken
OCL=24656
CL=24656
2009-02-08 11:01:52 -08:00
Rob Pike
b5aba026f8 First pass at reading directories.
Syscall support.
Readdirnames returns array of strings of contents of directory.

R=rsc
DELTA=216  (201 added, 0 deleted, 15 changed)
OCL=24642
CL=24655
2009-02-08 10:18:50 -08:00
Rob Pike
6506148850 a few small cleanups
R=rsc
DELTA=21  (2 added, 2 deleted, 17 changed)
OCL=24638
CL=24654
2009-02-08 10:17:23 -08:00
Rob Pike
9526f3b841 use unsafe.Sizeof
R=rsc
DELTA=9  (3 added, 3 deleted, 3 changed)
OCL=24640
CL=24653
2009-02-08 10:16:32 -08:00
Rob Pike
8f2b774ee1 update sysimport.c for unsafe.Offset and Sizeof
R=ken
DELTA=2  (2 added, 0 deleted, 0 changed)
OCL=24643
CL=24643
2009-02-07 14:48:32 -08:00
Ken Thompson
56003374d3 change array padding in structures
to pad to size of element rather
than size of array.

R=r
OCL=24641
CL=24641
2009-02-07 13:31:34 -08:00
Ken Thompson
8a70545b57 unsafe.Sizeof and unsafe.Offsetof
R=r
OCL=24639
CL=24639
2009-02-07 12:34:45 -08:00
Rob Pike
bcf48076e5 fix up syscall for darwin after StringToBytes change
R=rsc
DELTA=30  (0 added, 18 deleted, 12 changed)
OCL=24628
CL=24628
2009-02-06 18:03:13 -08:00
Rob Pike
704bc9d5c9 portable stat for os
add name to os.FD
clean up some interfaces

R=rsc
DELTA=318  (231 added, 44 deleted, 43 changed)
OCL=24624
CL=24627
2009-02-06 17:54:26 -08:00
Rob Pike
69c41d7f5f fstat used wrong system call, lstat used wrong type of name
R=rsc
DELTA=7  (4 added, 0 deleted, 3 changed)
OCL=24617
CL=24617
2009-02-06 17:10:30 -08:00
Russ Cox
3e02987508 tgs's gc bug.
R=r
DELTA=10  (7 added, 0 deleted, 3 changed)
OCL=24577
CL=24577
2009-02-06 14:41:21 -08:00
Rob Pike
39d05ae808 add a trivial visitor method, just for fun
R=gri
DELTA=31  (30 added, 1 deleted, 0 changed)
OCL=24568
CL=24575
2009-02-06 14:32:09 -08:00
Russ Cox
0970c46863 closures - 6g support
R=ken
OCL=24501
CL=24566
2009-02-06 13:47:10 -08:00
Russ Cox
0f4f2a6183 closures - runtime and debugger support, test case
R=r
DELTA=257  (250 added, 1 deleted, 6 changed)
OCL=24509
CL=24565
2009-02-06 13:46:56 -08:00
Russ Cox
5e5476c2fe 6c: byte* - byte* should be int64, not int32.
R=ken
OCL=24507
CL=24507
2009-02-05 19:09:04 -08:00
Rob Pike
f95a11e27f further pedagogy: a channel that satisfies the HTTP server interface
R=rsc
DELTA=18  (18 added, 0 deleted, 0 changed)
OCL=24482
CL=24484
2009-02-05 15:56:31 -08:00
Russ Cox
b0009bef20 bug064
make f(g()) work when g returns multiple
args with names different than f expects.

func swap(a, b int) (c, d int) {
	return b, a
}

swap(swap(1,2))

R=ken
OCL=24474
CL=24476
2009-02-05 15:22:49 -08:00
Russ Cox
7a3877aa0c take advantage of methods on funcs
R=r
DELTA=14  (0 added, 13 deleted, 1 changed)
OCL=24458
CL=24470
2009-02-05 15:09:08 -08:00
Russ Cox
aab26a5248 do not generate Init proto for sys and unsafe.
R=ken
OCL=24455
CL=24455
2009-02-05 14:49:53 -08:00
Russ Cox
fc8dca9dac heuristic to stop pulling .6 in from .a
is not right if the .6 is only for data and
the init function.

instead of that, pick up everything and
let the dead code/data eliminator throw
away the parts that weren't useful.

R=r
DELTA=25  (0 added, 22 deleted, 3 changed)
OCL=24446
CL=24446
2009-02-05 13:58:43 -08:00
Russ Cox
5e2c05877d allow methods on funcs.
R=ken
OCL=24442
CL=24442
2009-02-05 13:33:07 -08:00
Russ Cox
7fd04676ad fix build on thresher - missing constants
TBR=r
OCL=24439
CL=24439
2009-02-05 13:00:12 -08:00
Rob Pike
689c808c12 clean up flags package a bit.
fix a bug in Usage message - would print current value instead of default.

R=rsc
DELTA=53  (7 added, 4 deleted, 42 changed)
OCL=24323
CL=24323
2009-02-04 11:46:39 -08:00
Russ Cox
360f0aacee fix interface not satisifed message:
x.go:13: T is not I - missing M()

NOT
x.go:13: T is not I - missing Mfunc()

R=ken
OCL=24316
CL=24316
2009-02-04 10:37:11 -08:00
Russ Cox
c55d310cd2 fix build. missed this file
TBR=r
OCL=24269
CL=24269
2009-02-03 15:58:13 -08:00
Russ Cox
736903c170 libmach:
* heuristic to go farther during stack traces.
	* significantly improved Linux thread handing.

acid:
	* update to new libmach interface.

prof:
	* use new libmach interface.
	* multiple thread support (derived from Rob's copy).
	* first steps toward pprof-like graphs:
	  keep counters indexed by pc,callerpc pairs.

R=r
DELTA=909  (576 added, 123 deleted, 210 changed)
OCL=24240
CL=24259
2009-02-03 15:00:09 -08:00
Russ Cox
9aa28f9231 bufio:
* avoid large copies
	* NewBufRead, NewBufWrite never fail
	* add BufReadWrite

io:
	* add io.Close

http, google/net/rpc:
	* add, use http.Conn.Hijack

R=r
DELTA=416  (202 added, 123 deleted, 91 changed)
OCL=24153
CL=24238
2009-02-03 14:16:22 -08:00
Russ Cox
535dcf77c8 minor tweaks
R=r
DELTA=9  (2 added, 5 deleted, 2 changed)
OCL=24107
CL=24152
2009-02-02 18:59:20 -08:00
Russ Cox
e73acc1b35 flesh out http server.
convert to uppercase names.

R=r
DELTA=613  (460 added, 61 deleted, 92 changed)
OCL=24139
CL=24145
2009-02-02 18:01:32 -08:00
Russ Cox
f61639d4e2 6g return struct fix:
make t->width of funarg struct be width of struct.

emit MOVSL for 4-byte copy.

R=ken
OCL=24108
CL=24111
2009-02-02 13:41:38 -08:00
Russ Cox
fb88a01cc2 marginally better thread debugging on Linux.
if you clone inside a traced pid, the child
is automatically attached and stopped,
apparently.

R=r
DELTA=63  (41 added, 12 deleted, 10 changed)
OCL=24096
CL=24106
2009-02-02 13:26:40 -08:00
Rob Pike
6e395cfecf slightly better code for the frog fix
R=ken
OCL=24025
CL=24025
2009-01-31 16:44:52 -08:00
Rob Pike
2538cf747b Complain about control characters that are not white space.
Bitten by invisible chars too many times.

R=ken
OCL=24024
CL=24024
2009-01-31 16:42:10 -08:00
Russ Cox
6fdb18f900 can finally close this TODO - 6l was broken
R=r
DELTA=2  (0 added, 2 deleted, 0 changed)
OCL=23993
CL=23995
2009-01-30 17:14:39 -08:00
Russ Cox
47e27758db keep line number history even when
throwing away dead code at end of file.

also fix an uninitialized memory error
found by valgrind.

R=r
DELTA=7  (5 added, 2 deleted, 0 changed)
OCL=23991
CL=23994
2009-01-30 17:10:10 -08:00
Russ Cox
9e735985d4 avoid memcpy(x, x),
which valgrind complains about.

R=ken
OCL=23990
CL=23990
2009-01-30 16:31:26 -08:00
Russ Cox
7b6bdfb735 two uses of uninitialized memory,
picked up by valgrind.
fixes test/escape.go on linux.

R=ken
OCL=23971
CL=23971
2009-01-30 15:11:46 -08:00
Russ Cox
122ed3e988 print format bug
R=ken
OCL=23965
CL=23965
2009-01-30 14:54:49 -08:00
Russ Cox
4a43198390 update compiler to new func rules
R=ken
OCL=23958
CL=23961
2009-01-30 14:39:42 -08:00
Russ Cox
4cf7711568 update go code tree to new func rules.
R=r
DELTA=367  (111 added, 59 deleted, 197 changed)
OCL=23957
CL=23960
2009-01-30 14:39:31 -08:00
Russ Cox
391425ae55 if take address of local, move to heap.
heuristic to not print bogus strings.
fix one error message format.

R=ken
OCL=23849
CL=23851
2009-01-29 17:38:58 -08:00
Ken Thompson
4f49b88dda optimizer bug w STOstring
R=r
OCL=23820
CL=23820
2009-01-29 15:13:36 -08:00
Russ Cox
282bf8cc8c fix possible infinite recursion in eqtype.
don't use intermediate register to move
32-or-fewer-bit immediate constants
into memory.

R=ken
OCL=23726
CL=23726
2009-01-28 16:42:26 -08:00
Russ Cox
3ec4675220 clean up range grammar
R=ken
OCL=23712
CL=23714
2009-01-28 15:41:50 -08:00
Russ Cox
9f726c2c8b Use explicit allspan list instead of
trying to find all the places where
spans might be recorded.

Free can cascade into complicated
span manipulations that move them
from list to list; the old code had the
possibility of accidentally processing
a span twice or jumping to a different
list, causing an infinite loop.

R=r
DELTA=70  (28 added, 25 deleted, 17 changed)
OCL=23704
CL=23710
2009-01-28 15:22:16 -08:00
Robert Griesemer
cb659ece0e additions to array container:
- added Slice, Cut, InsertArray, AppendArray
- renamed Remove -> Delete (so we have: Insert, Delete, Cut)
- more factoring of code
- extra tests (could use some more)

R=r,rsc
DELTA=179  (127 added, 22 deleted, 30 changed)
OCL=23648
CL=23685
2009-01-28 13:32:31 -08:00
Ken Thompson
4b8e030762 bug 135
R=r
OCL=23646
CL=23646
2009-01-27 18:21:03 -08:00
Russ Cox
7fa5941fad make "size 6.out" work on mac.
R=r
DELTA=11  (6 added, 0 deleted, 5 changed)
OCL=23629
CL=23631
2009-01-27 15:40:36 -08:00
Russ Cox
743ac07cc3 change dotdotdot interfaces to be structs,
not pointers to structs.

fix defered dotdotdot.

R=r,ken
DELTA=25  (7 added, 5 deleted, 13 changed)
OCL=23620
CL=23625
2009-01-27 15:05:25 -08:00
Ken Thompson
e90314d024 pragma textflag
fixes latent bugs in go and defer

R=r
OCL=23613
CL=23613
2009-01-27 14:12:35 -08:00
Russ Cox
53e69e1db5 various race conditions.
R=r
DELTA=43  (29 added, 5 deleted, 9 changed)
OCL=23608
CL=23611
2009-01-27 14:01:20 -08:00
Ken Thompson
47ab1c1e99 spelling
R=r
OCL=23602
CL=23602
2009-01-27 13:23:28 -08:00
Ken Thompson
1e1cc4eb57 defer
R=r
OCL=23592
CL=23592
2009-01-27 12:03:53 -08:00
Russ Cox
1ce17918e3 gc #0. mark and sweep collector.
R=r,gri
DELTA=472  (423 added, 2 deleted, 47 changed)
OCL=23522
CL=23541
2009-01-26 17:37:05 -08:00
Russ Cox
5b129cda5f assignment count mismatch: 2 = 1.
R=ken
OCL=23534
CL=23534
2009-01-26 17:20:29 -08:00
Russ Cox
f1fe21a08f bug134
R=ken
OCL=23532
CL=23532
2009-01-26 17:06:20 -08:00
Russ Cox
4efad58d0a bug133
R=ken
OCL=23528
CL=23528
2009-01-26 16:57:24 -08:00
Russ Cox
9ed2960de8 in hash implementation, if data >= 8, align to 8.
R=ken
OCL=23519
CL=23521
2009-01-26 15:36:39 -08:00
Russ Cox
3c5f3a8641 print(map) and print(chan) as pointers.
R=ken
OCL=23520
CL=23520
2009-01-26 15:36:28 -08:00
Rob Pike
646b3b5c02 improved logging formats.
R=rsc
DELTA=210  (118 added, 60 deleted, 32 changed)
OCL=23508
CL=23518
2009-01-26 15:34:16 -08:00
Russ Cox
9b6d385cb5 interface speedups and fixes.
more caching, better hash functions, proper locking.
fixed a bug in interface comparison too.

R=ken
DELTA=177  (124 added, 10 deleted, 43 changed)
OCL=23491
CL=23493
2009-01-26 12:36:21 -08:00
Ken Thompson
7859ae8a2f removed a:b in range syntax
added another channel test

R=r
OCL=23488
CL=23488
2009-01-26 11:34:38 -08:00
Russ Cox
65ad3ce179 make time fields public
R=r
DELTA=49  (0 added, 0 deleted, 49 changed)
OCL=23480
CL=23487
2009-01-26 11:22:21 -08:00
Ian Lance Taylor
a01bdb4ae0 Add an accessor function os.FD.Fd() to get the file
descriptor.  Use it in the PollServer code.

6g currently accepts this code without this change, but it
should not.  Test case for the bug is bug133.go.

R=rsc
DELTA=10  (0 added, 0 deleted, 10 changed)
OCL=23451
CL=23486
2009-01-26 11:10:14 -08:00