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
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
Ken Thompson
1e1cc4eb57
defer
...
R=r
OCL=23592
CL=23592
2009-01-27 12:03:53 -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
3c5f3a8641
print(map) and print(chan) as pointers.
...
R=ken
OCL=23520
CL=23520
2009-01-26 15:36:28 -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
a7f6d4066e
implement new restrictions on what
...
can be compared/hashed.
R=r
DELTA=351 (201 added, 80 deleted, 70 changed)
OCL=23423
CL=23481
2009-01-26 09:56:42 -08:00
Russ Cox
1f8a40d85c
move math routines from package sys to package math,
...
though they still build in src/runtime.
use cgo instead of hand-written wrappers.
R=r
DELTA=740 (289 added, 300 deleted, 151 changed)
OCL=23326
CL=23331
2009-01-22 16:23:44 -08:00
Russ Cox
8c5bc7e93a
use $GC, $GL in gotest, to match gccgo's gotest.
...
use $GC in all_test.go for portability.
R=r
DELTA=19 (12 added, 0 deleted, 7 changed)
OCL=23305
CL=23325
2009-01-22 15:41:12 -08:00
Russ Cox
d9abca81c0
let test sources specify commands to run
...
before their compilation.
R=r
OCL=23300
CL=23300
2009-01-22 14:23:50 -08:00
Russ Cox
61590c4c44
disallow P.t for lowercase t and not our package P.
...
implement hiding lowercase methods m in
signatures by adding in a hash of the package name
to the type hash code.
remove remaining checks for internally-generated _ names:
they are all gone.
R=ken
OCL=23236
CL=23238
2009-01-21 14:51:57 -08:00
Russ Cox
c3fa54c48b
delete unused code and data from 6.outs.
...
cuts simple test binary by 7%.
would be more except for reflection.
R=r
DELTA=126 (117 added, 4 deleted, 5 changed)
OCL=23163
CL=23237
2009-01-21 14:50:27 -08:00
Russ Cox
35e37bbf41
6g: better genembedtramp fatal error,
...
and don't put inaccessible private methods
in signature.
R=ken
OCL=23138
CL=23140
2009-01-20 15:36:57 -08:00
Russ Cox
a3c4faf83f
6l: do not link in objects from an archive just for init functions.
...
(makes go libraries behave more like c libraries.)
R=r
DELTA=85 (67 added, 12 deleted, 6 changed)
OCL=23133
CL=23139
2009-01-20 15:36:43 -08:00
Russ Cox
839a68469b
delete export
...
TBR=r
OCL=23121
CL=23127
2009-01-20 14:40:40 -08:00
Russ Cox
0183baaf44
* delete export
...
* rename init functions
R=ken
OCL=23122
CL=23126
2009-01-20 14:40:00 -08:00
Russ Cox
8f14451fe5
6l: ignore undefined symbols in gotypesigs.
...
they end up in the symbol table with type==0
if they are in a library but not pulled in.
also add a few debugging prints.
R=r
DELTA=11 (5 added, 1 deleted, 5 changed)
OCL=23104
CL=23108
2009-01-20 13:21:22 -08:00
Russ Cox
aec4d3194a
disallow other package's names in method calls
...
R=ken
OCL=22999
CL=22999
2009-01-16 15:35:07 -08:00
Russ Cox
06869eedf9
disallow other package's names in struct field dot.
...
R=ken
OCL=22996
CL=22996
2009-01-16 15:25:52 -08:00
Russ Cox
360962420c
casify, cleanup sys
...
R=r
OCL=22978
CL=22984
2009-01-16 14:58:14 -08:00
Russ Cox
dec12d3654
re-export of bools was changing
...
format from hex to decimal, confusing
ar's strcmp-based value comparison.
switched export format to "true" or "false"
to keep bools separate from ints.
R=ken
OCL=22944
CL=22944
2009-01-16 10:45:28 -08:00
Russ Cox
c1e7e270f1
don't crash on:
...
package main
var x int
type x struct { a int }
R=ken
OCL=22903
CL=22903
2009-01-15 17:32:31 -08:00
Russ Cox
605d0746c5
catch export on func.
...
print names in message.
R=ken
OCL=22891
CL=22891
2009-01-15 16:43:51 -08:00
Russ Cox
3decb42e6f
add warning for export of lowercase too.
...
R=ken
OCL=22887
CL=22887
2009-01-15 16:20:21 -08:00
Russ Cox
07d344e442
remove export name-list statement.
...
make package local the default.
warn about name case not matching export keyword.
R=ken
OCL=22881
CL=22886
2009-01-15 16:16:52 -08:00
Rob Pike
8559e3ad54
diagnose missing symbols instead of
...
silently miscompiling.
R=rsc
OCL=22872
CL=22872
2009-01-15 15:21:12 -08:00
Russ Cox
58b280db3b
change another yacc reference to bison.
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=22662
CL=22691
2009-01-13 16:32:46 -08:00
Russ Cox
8fb60768c3
in 6g -r (the rsc flag),
...
rewrite heap pointer moves as xchg.
R=ken
OCL=22665
CL=22665
2009-01-13 13:46:09 -08:00
Russ Cox
a3ed4e716a
add sys.caller
...
R=r
DELTA=139 (101 added, 38 deleted, 0 changed)
OCL=22462
CL=22466
2009-01-09 15:52:43 -08:00
Russ Cox
ae167bf08f
clean up automatic indirect, delete some dead code.
...
R=ken
OCL=22454
CL=22457
2009-01-09 15:21:41 -08:00
Russ Cox
316d377ac2
now that TCHAN, TMAP, and TSTRING are real types,
...
can do methods on them without pointer worries.
R=ken
OCL=22434
CL=22436
2009-01-09 13:50:58 -08:00
Russ Cox
8f5bba0d82
silence gcc warnings.
...
not sure if the warning in reg.c was a real bug.
R=ken
OCL=22408
CL=22410
2009-01-09 11:13:59 -08:00
Russ Cox
a91af04c06
6g cleanup suggested by ken.
...
remove TPTR wrapper around TMAP, TCHAN, TSTRING.
R=ken
OCL=22406
CL=22409
2009-01-09 11:13:39 -08:00
Russ Cox
484ba939d2
update sys.reflect and sys.unreflect to accomodate
...
the possibility of large objects in interface values.
R=r
DELTA=171 (97 added, 22 deleted, 52 changed)
OCL=22382
CL=22382
2009-01-09 00:17:46 -08:00
Russ Cox
e512481b17
second pass on interface fixes and tests.
...
R=ken
OCL=22370
CL=22372
2009-01-08 18:06:06 -08:00
Russ Cox
1b7881adb4
fix:
...
type T []int
var a []int
var t = T(a)
R=ken
OCL=22341
CL=22341
2009-01-08 15:01:22 -08:00
Russ Cox
c0b8a7965a
typo
...
R=ken
OCL=22327
CL=22327
2009-01-08 14:31:11 -08:00
Russ Cox
20595ac4b0
many interface bug fixes.
...
also, after
func g() (int, int)
func f(int, int)
allow
f(g())
and
func h() (int, int) { return g() }
R=ken
DELTA=356 (252 added, 26 deleted, 78 changed)
OCL=22319
CL=22325
2009-01-08 14:30:00 -08:00
Ken Thompson
eed3addb9d
more
...
R=r
OCL=22240
CL=22240
2009-01-07 15:54:08 -08:00
Ken Thompson
3f135be389
conversion from closed array to slice
...
R=r
OCL=22236
CL=22236
2009-01-07 15:26:11 -08:00
Russ Cox
1b1f1b53ea
correct signature generation decision
...
for non-pointer types with methods.
R=r
DELTA=37 (13 added, 14 deleted, 10 changed)
OCL=22217
CL=22219
2009-01-07 13:29:03 -08:00
Ken Thompson
c458c98388
[...] bug
...
R=r
OCL=22218
CL=22218
2009-01-07 13:20:10 -08:00
Russ Cox
855495eab6
iscomposite test in OCONV is unnecessary
...
now that OCOMP exists
R=ken
OCL=22216
CL=22216
2009-01-07 12:39:48 -08:00
Ken Thompson
179af0bb19
clear automatic arrays created with literals
...
R=r
OCL=22215
CL=22215
2009-01-07 12:28:23 -08:00
Ken Thompson
b0f627a6e1
closed arrays including [...]
...
R=r
OCL=22182
CL=22182
2009-01-06 17:31:24 -08:00
Russ Cox
84953bdaa8
fix newfn
...
R=ken
OCL=22173
CL=22173
2009-01-06 15:39:28 -08:00
Russ Cox
dabdfa6cce
new new &Point{1,2}
...
R=ken
OCL=22168
CL=22168
2009-01-06 15:24:12 -08:00
Ken Thompson
88b5c5f0f8
make for slice/map/chan
...
new for pointers
R=r
OCL=22158
CL=22158
2009-01-06 14:52:26 -08:00
Russ Cox
af0143ce03
make 8a, 8c, 8l build in go environment.
...
,s/int32/long/g in 8a, 8c, 8l.
delete dead code.
move enam.c, 8.out.h, mkenam from 8c to 8l.
R=r
DELTA=1850 (581 added, 983 deleted, 286 changed)
OCL=22119
CL=22129
2009-01-06 11:34:02 -08:00
Russ Cox
d8c7980514
comment sudoaddable;
...
remove unused second parameter.
R=ken
OCL=22126
CL=22126
2009-01-06 11:23:58 -08:00
Russ Cox
8318187f77
delete blyacc
...
R=r
DELTA=3562 (0 added, 3560 deleted, 2 changed)
OCL=22112
CL=22114
2009-01-06 09:53:38 -08:00
Russ Cox
859ba57bbb
make acid build with bison.
...
ask for bison explicitly in cc, gc to try to
avoid problems with other yaccs that
might be installed.
R=r
DELTA=29 (10 added, 2 deleted, 17 changed)
OCL=22110
CL=22113
2009-01-06 09:53:30 -08:00
Russ Cox
4dee747fb9
8a, 8c, and 8l from inferno distribution
...
R=r
DELTA=19539 (19539 added, 0 deleted, 0 changed)
OCL=22109
CL=22109
2009-01-06 09:41:38 -08:00
Russ Cox
2d259c817a
add comments and delete dead code
...
R=ken
OCL=22078
CL=22080
2009-01-05 17:32:23 -08:00
Russ Cox
c14c2b231f
fix 6a line number bug -
...
was incrementing lineno twice for
the \n after a // comment.
R=r
DELTA=3 (0 added, 2 deleted, 1 changed)
OCL=21984
CL=22021
2009-01-05 11:18:15 -08:00
Ken Thompson
b2dfd787d7
allow slices (open arrays) to be
...
receivers in methods.
put back original code for hilbert/bignum
R=r
OCL=21910
CL=21920
2008-12-30 14:02:20 -08:00
Ken Thompson
85815fe0ad
diagnostic to catch pointer to
...
rvalue promoted to method receiver.
fixes to bignum that failed.
R=r
OCL=21827
CL=21827
2008-12-26 14:42:20 -08:00
Russ Cox
af5e16cfd9
fix new(T) if type T []int.
...
make sure type of expr is T not just []int
R=ken
OCL=21688
CL=21688
2008-12-20 16:30:44 -08:00
Ken Thompson
2b33a134a8
regfree
...
R=r
OCL=21685
CL=21687
2008-12-20 16:07:56 -08:00
Ken Thompson
7cfe782a69
LEAQ bug
...
R=r
OCL=21684
CL=21684
2008-12-20 16:05:12 -08:00
Russ Cox
c3077f7606
[] and struct in interfaces.
...
other [] cleanup.
convert() is gone.
R=r
DELTA=352 (144 added, 68 deleted, 140 changed)
OCL=21660
CL=21662
2008-12-19 17:11:54 -08:00
Ken Thompson
a91a0a6a7a
array compare (except = != nil) are illegal
...
R=r
OCL=21637
CL=21637
2008-12-19 14:26:52 -08:00
Ken Thompson
6fa74e0973
portability bug
...
cant assign to closed array
R=r
OCL=21634
CL=21634
2008-12-19 14:04:25 -08:00
Russ Cox
cd40cd2435
fix new(bool) error message
...
R=ken
OCL=21616
CL=21616
2008-12-19 12:18:44 -08:00
Russ Cox
eee50ae1ac
chan and map of [] and struct
...
R=r
DELTA=192 (145 added, 8 deleted, 39 changed)
OCL=21609
CL=21614
2008-12-19 12:05:22 -08:00
Russ Cox
cbff09d666
g4 open sysimport.c before writing it
...
R=r
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=21577
CL=21603
2008-12-19 09:03:44 -08:00
Russ Cox
c4416ac06b
new error messages
...
x.go:11: illegal types for operand: AS
*I
*T
(*interface vs *struct)
R=r
DELTA=10 (8 added, 0 deleted, 2 changed)
OCL=21457
CL=21602
2008-12-19 09:03:24 -08:00
Russ Cox
dc7b2e98d2
compiler changes for *chan -> chan; *map -> map; new(T) -> new(*T)
...
mainly a syntactic change: the compiler representations don't change
(chan and map are now hidden pointers like string).
R=ken
OCL=21578
CL=21582
2008-12-19 03:05:54 -08:00
Russ Cox
08ca30bbfa
change *map to map; *chan to chan; new(T) to new(*T)
...
fix bugs left over from *[] to [] conversion.
TBR=r
OCL=21576
CL=21581
2008-12-19 03:05:37 -08:00
Russ Cox
d47d888ba6
convert *[] to [].
...
R=r
OCL=21563
CL=21571
2008-12-18 22:37:22 -08:00
Ken Thompson
9786f69f74
print(array)
...
R=r
OCL=21570
CL=21570
2008-12-18 22:17:05 -08:00
Ken Thompson
c9954c63a8
bug in [const]
...
R=r
OCL=21569
CL=21569
2008-12-18 22:01:46 -08:00
Russ Cox
f38d2b80a4
new []int literal
...
R=ken
OCL=21568
CL=21568
2008-12-18 21:59:12 -08:00
Ken Thompson
dcc064fe94
cmp [] to nil
...
R=r
OCL=21567
CL=21567
2008-12-18 21:33:45 -08:00
Russ Cox
78fc888e64
another [] fix
...
R=ken
OCL=21566
CL=21566
2008-12-18 21:15:26 -08:00
Russ Cox
92f74ca7e2
[] fixes
...
R=ken
OCL=21565
CL=21565
2008-12-18 21:11:56 -08:00
Ken Thompson
4026500d18
arrays
...
R=r
OCL=21564
CL=21564
2008-12-18 20:06:28 -08:00
Russ Cox
697cb17b30
trailing white space
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=21403
CL=21415
2008-12-17 10:14:29 -08:00
Russ Cox
e53d5ad620
fix type/name thing, again
...
R=r
DELTA=8 (7 added, 0 deleted, 1 changed)
OCL=21379
CL=21379
2008-12-16 17:45:28 -08:00
Russ Cox
99435cac09
another "want type got name" error case
...
R=ken
OCL=21377
CL=21377
2008-12-16 17:37:07 -08:00
Ken Thompson
8f53bc0612
new convention, direction bit is
...
always left cleared. changed
compiler generated memcpy and
memset to assume CLD.
R=r
OCL=21215
CL=21215
2008-12-15 15:07:35 -08:00
Ken Thompson
ae5a475e20
range clause must have = or :=
...
:= illegal in for-increment
R=r
OCL=21204
CL=21204
2008-12-15 13:44:27 -08:00
Ken Thompson
42d89ac02c
even more code improvement
...
R=r
OCL=21160
CL=21160
2008-12-14 18:45:00 -08:00
Ken Thompson
23fc0ac061
more code optimization
...
R=r
OCL=21159
CL=21159
2008-12-14 17:06:06 -08:00
Ken Thompson
719b088697
code generation
...
R=r
OCL=21146
CL=21146
2008-12-13 16:41:47 -08:00
Ken Thompson
937ac13f26
code improvement
...
R=r
OCL=21144
CL=21144
2008-12-13 13:16:14 -08:00
Ken Thompson
e683fb7a54
bug104
...
R=r
OCL=21082
CL=21082
2008-12-12 13:10:36 -08:00
Ken Thompson
c7ab332744
restrict declarations of type map/chan/string
...
(they must be pointers)
R=r
OCL=21009
CL=21009
2008-12-11 16:09:45 -08:00
Russ Cox
73653841af
reject struct to interface conversion for now
...
R=ken
OCL=21007
CL=21007
2008-12-11 15:56:13 -08:00
Russ Cox
fa945d5bf8
fix race with fresh perforce checkouts
...
R=r
DELTA=15 (9 added, 0 deleted, 6 changed)
OCL=20977
CL=20981
2008-12-11 11:58:45 -08:00
Russ Cox
cb64ec5bb6
only generate non-trivial signatures in the
...
file in which they occur. avoids duplicate
trampoline generation across multiple files.
R=ken
OCL=20976
CL=20980
2008-12-11 11:54:33 -08:00
Ken Thompson
a4459c5520
bug
...
R=r
OCL=20940
CL=20940
2008-12-10 16:23:29 -08:00
Ken Thompson
5f1a3be9dd
bug120
...
R=r
OCL=20921
CL=20921
2008-12-10 14:17:24 -08:00
Ken Thompson
7dd62cb3bc
2 minor bugs
...
R=r
OCL=20906
CL=20906
2008-12-10 12:38:16 -08:00
Ken Thompson
57bd0da375
bug126
...
R=r
OCL=20879
CL=20879
2008-12-09 18:31:31 -08:00
Ken Thompson
8bce3b5658
bug127
...
R=r
OCL=20874
CL=20874
2008-12-09 17:52:41 -08:00
Ken Thompson
92a1190c6c
robs bug converting unsafe.pointer
...
R=r
OCL=20834
CL=20834
2008-12-09 13:00:50 -08:00
Ken Thompson
bf6164719a
conversion to/from
...
any pointer or uintptr
and unsafe.pointer
R=r
OCL=20795
CL=20795
2008-12-08 20:50:17 -08:00
Ken Thompson
1d4daa2d39
foundation for import unsafe
...
R=r
OCL=20794
CL=20794
2008-12-08 19:46:39 -08:00
Russ Cox
4d6bccb0f1
pick up symbol for JMP main(SB)
...
but not JMP main (label).
R=ken
OCL=20724
CL=20724
2008-12-08 11:33:04 -08:00
Ken Thompson
b79272d9a2
allowed syntax for range
...
a range m (implies :=)
a,b range m (implies :=)
a:b range m (implies :=)
a := range m
a,b := range m
a:b := range m
a = range m
a,b = range m
a:b = range m
R=r
OCL=20676
CL=20676
2008-12-06 13:40:30 -08:00
Ken Thompson
26b357ca5b
range statement
...
R=r
OCL=20667
CL=20667
2008-12-05 18:24:05 -08:00
Ken Thompson
a0a14b98fa
empty switches -- bug128
...
R=r
OCL=20520
CL=20522
2008-12-04 16:05:40 -08:00
Ken Thompson
c597845e13
const/var/iota declarations as discussed
...
R=r
OCL=20506
CL=20506
2008-12-04 15:33:40 -08:00
Russ Cox
afa6424078
don't warn anymore about missing imports
...
(happens legitimately in c and assembly objects).
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=20497
CL=20499
2008-12-04 14:59:38 -08:00
Russ Cox
cfb9425460
emit dynamically linked 6.out on darwin instead of static,
...
unless given -d flag.
the resulting binary doesn't *use* any dynamic libraries,
it just has a reference to the dynamic linker and an
empty list of needed symbols and libraries.
this is enough to make 6.out binaries that can be run
under dtrace / dtruss.
R=r
DELTA=39 (34 added, 0 deleted, 5 changed)
OCL=20476
CL=20482
2008-12-04 13:49:45 -08:00
Russ Cox
bf3dd3f0ef
add mutex.Mutex
...
R=r
DELTA=349 (348 added, 0 deleted, 1 changed)
OCL=20380
CL=20472
2008-12-04 12:51:36 -08:00
Ken Thompson
f8797daa9f
import/export of exact mp floating constants
...
new syntax for exact mp floating constants
decimal_int ( "p" | "P" ) [ "+" | "-" ] decimal_int
the value is decimal1 * 2^decimal2
R=r
OCL=20357
CL=20357
2008-12-03 13:17:26 -08:00
Ken Thompson
c8a66a98ff
small code improvement to
...
used scaled indexing
R=r
OCL=20308
CL=20310
2008-12-02 19:54:51 -08:00
Ken Thompson
89996e1fb1
truncating of float constants when
...
used in float64 or float32 contexts
R=r
OCL=20297
CL=20297
2008-12-02 17:03:47 -08:00
Russ Cox
28a30254e7
remove reference to non-existent mparith.h
...
R=ken
OCL=20188
CL=20188
2008-12-01 17:35:15 -08:00
Ken Thompson
3fa4610601
multi precision floating point
...
R=r
OCL=20185
CL=20185
2008-12-01 17:22:05 -08:00
Russ Cox
92cff8557e
gotest: change pattern to Test([^a-z].*)?
...
warn about files with no tests
be clear about where testing warnings come from
R=r
DELTA=18 (12 added, 3 deleted, 3 changed)
OCL=19988
CL=19993
2008-11-25 12:49:17 -08:00
Ken Thompson
9a5c7eab16
better code for += -= ^= |= and &=
...
R=r
OCL=19953
CL=19953
2008-11-24 17:51:26 -08:00
Russ Cox
0f83fa3a0c
convert tests.
...
refine gotest's test selection criteria.
R=r
DELTA=1590 (745 added, 844 deleted, 1 changed)
OCL=19903
CL=19936
2008-11-24 15:17:47 -08:00
Rob Pike
d7c1048771
really restore helpful error rules
...
R=rsc
OCL=19929
CL=19929
2008-11-24 14:23:53 -08:00
Rob Pike
46f89d53c6
restore helpful error rules
...
R=rsc
OCL=19928
CL=19928
2008-11-24 14:15:53 -08:00
Ken Thompson
8e3fe10ee3
1. retract general field names
...
2. array bounds bug
3. ... optimization bug
R=r
OCL=19927
CL=19927
2008-11-24 14:01:12 -08:00
Russ Cox
6c4d8f8309
gobuild:
...
recognize "// package foo" in non-go files
recognize "gobuild: ignore" to exclude from build
R=r
DELTA=10 (7 added, 2 deleted, 1 changed)
OCL=19878
CL=19905
2008-11-24 11:21:56 -08:00
Ken Thompson
a6182dab47
indexing optimizations and bug fix
...
R=r
OCL=19886
CL=19886
2008-11-23 17:26:49 -08:00
Russ Cox
3aa063d79c
delete stack mark strings
...
in favor of using in-memory copy of symbol table.
$ ls -l pretty pretty.big
-rwxr-xr-x 1 rsc eng 439516 Nov 21 16:43 pretty
-rwxr-xr-x 1 rsc eng 580984 Nov 21 16:20 pretty.big
$
R=r
DELTA=446 (238 added, 178 deleted, 30 changed)
OCL=19851
CL=19884
2008-11-23 17:08:55 -08:00
Ken Thompson
ffafad1919
setup for keywords in fieldnames
...
R=r
OCL=19883
CL=19883
2008-11-23 15:58:48 -08:00
Ken Thompson
e081f25c3e
reg and peep
...
R=r
OCL=19871
CL=19871
2008-11-22 17:58:53 -08:00
Russ Cox
284a50c109
fix 6l bug - moved symbol table without
...
recording correct place in mach tables
used by debuggers.
R=r
DELTA=4 (0 added, 2 deleted, 2 changed)
OCL=19810
CL=19849
2008-11-21 16:13:11 -08:00
Russ Cox
67addd4e11
symbol table changes
...
* add gotype string to symbol table
* fill in gotype in 6l for known funcs/vars
* print gotype with nm -t
* load symbol and pc/ln tables into memory at magic address 0x99<<32.
* add sys.symdat() to retrieve raw bytes of symbol table
and pc/ln table.
most of this should be considered experimental
and subject to change.
R=r
DELTA=157 (128 added, 0 deleted, 29 changed)
OCL=19746
CL=19750
2008-11-20 17:32:18 -08:00
Rob Pike
bd6e0bc8ba
run tests in file order, not alphabetical
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=19723
CL=19727
2008-11-20 15:22:32 -08:00
Russ Cox
4af8ef6519
new flags to 6cov
...
-s print source lines
-n x don't print about sections < x lines long.
R=r
DELTA=69 (57 added, 1 deleted, 11 changed)
OCL=19697
CL=19708
2008-11-20 11:58:07 -08:00
Rob Pike
c0a01e9665
refine gobuild: the files must be *_test.go not *test.go
...
this causes complications
R=rsc
DELTA=1724 (849 added, 856 deleted, 19 changed)
OCL=19667
CL=19667
2008-11-19 19:43:32 -08:00
Rob Pike
12254b6c0b
change naming convention for tests from
...
test*.go
to
*test.go
R=rsc
DELTA=1747 (864 added, 855 deleted, 28 changed)
OCL=19666
CL=19666
2008-11-19 19:11:01 -08:00
Russ Cox
10002bb0fb
accept empty list of package imports.
...
R=ken
OCL=19617
CL=19617
2008-11-19 14:27:48 -08:00
Russ Cox
63a84348cc
look for .6 before .a; accept archives with 0 length __.SYMDEF
...
TBR=r
OCL=19612
CL=19612
2008-11-19 14:21:44 -08:00
Russ Cox
87b1124407
gobuild: add coverage rule, ignore files in package main.
...
R=r
DELTA=55 (41 added, 11 deleted, 3 changed)
OCL=19594
CL=19598
2008-11-19 12:52:30 -08:00
Russ Cox
692a5dbb9e
coverage tweaks
...
* handle new 6g shift sequence
* assume 6.out
R=r
DELTA=24 (20 added, 0 deleted, 4 changed)
OCL=19593
CL=19596
2008-11-19 12:51:25 -08:00
Russ Cox
9a6fd41a01
silence gcc warnings: missing prototypes and unused variables
...
R=ken
OCL=19583
CL=19583
2008-11-19 09:49:06 -08:00
Russ Cox
f1547e511b
leave 6.out around after gotest;
...
delete it in make clean.
R=r
DELTA=10 (0 added, 0 deleted, 10 changed)
OCL=19542
CL=19581
2008-11-19 09:40:54 -08:00
Ken Thompson
b2b4e7fa55
need ./ on local files
...
R=rsc
OCL=19567
CL=19567
2008-11-18 19:36:36 -08:00
Ken Thompson
64718ec262
oops
...
R=r
OCL=19566
CL=19566
2008-11-18 19:27:15 -08:00
Ken Thompson
2dd16a3208
first cut at optimizing
...
R=r
OCL=19564
CL=19564
2008-11-18 19:24:37 -08:00
Russ Cox
866c08ff20
fix build for newbies
...
R=r
OCL=19526
CL=19528
2008-11-18 17:22:31 -08:00
Ken Thompson
93c8d3c41b
another shift bug
...
R=r
OCL=19525
CL=19525
2008-11-18 17:15:42 -08:00
Russ Cox
360151d4e2
gobuild changes.
...
* handles multiple packages per directory
* scans directory for files if given no arguments
* infers package name
* includes test rule invoking gotest
R=r
DELTA=746 (444 added, 150 deleted, 152 changed)
OCL=19504
CL=19521
2008-11-18 17:11:56 -08:00
Rob Pike
8b8630c6cf
allow files to be named on the command line
...
R=rsc
DELTA=3 (1 added, 1 deleted, 1 changed)
OCL=19485
CL=19485
2008-11-18 14:17:13 -08:00
Rob Pike
d495372509
new gotest shell script (will be a proper command some day, probably)
...
automates construction and execution of unit tests.
R=rsc
DELTA=60 (58 added, 0 deleted, 2 changed)
OCL=19482
CL=19484
2008-11-18 14:12:14 -08:00
Russ Cox
6b7dd4c020
add build step to install debuggers setgid procmod.
...
they have to go in /usr/local/bin
because the setgid bit is ignored in /Users.
R=r
DELTA=54 (49 added, 0 deleted, 5 changed)
OCL=19424
CL=19463
2008-11-18 10:08:46 -08:00
Russ Cox
4656686cf5
use correct lineno in nod even if yacc has looked ahead.
...
makes lineno correct for statements without semicolons.
R=ken
OCL=19454
CL=19454
2008-11-18 09:32:05 -08:00
Russ Cox
4d1d5e8a88
work around more commonly-unreachable 6g code sequences.
...
R=r
DELTA=23 (23 added, 0 deleted, 0 changed)
OCL=19405
CL=19420
2008-11-17 17:16:50 -08:00
Russ Cox
3f548cd2d9
add gobuild to build
...
R=r
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=19404
CL=19415
2008-11-17 16:59:04 -08:00
Russ Cox
a1585b676b
fix the easy parts of bug120
...
R=r,ken
DELTA=66 (52 added, 3 deleted, 11 changed)
OCL=19386
CL=19389
2008-11-17 13:58:45 -08:00
Ken Thompson
b7f01f9f41
silence compiler warning
...
R=r
OCL=19382
CL=19382
2008-11-17 12:55:22 -08:00
Russ Cox
9c7b064043
fix bugs in package locals
...
R=ken
OCL=19299
CL=19299
2008-11-14 17:31:29 -08:00
Rob Pike
fd47cb9af5
conflicting scopes should cause error exit
...
TBR=rsc
OCL=19297
CL=19297
2008-11-14 17:28:11 -08:00
Russ Cox
d3f6093931
package-local declarations using keyword "package".
...
R=r
DELTA=129 (81 added, 0 deleted, 48 changed)
OCL=19283
CL=19291
2008-11-14 16:35:08 -08:00
Ken Thompson
e875055461
switch
...
R=r
OCL=19288
CL=19288
2008-11-14 16:24:27 -08:00
Russ Cox
f8b20e4083
add cov, prof to default build; clean up compiler warnings
...
R=r
DELTA=8 (1 added, 0 deleted, 7 changed)
OCL=19245
CL=19245
2008-11-14 10:57:48 -08:00
Russ Cox
7832ab5ba0
code coverage tool
...
$ 6cov -g 235.go 6.out
235.go:62,62 main·main 0x27c9-0x2829 MOVL $main·.stringo(SB),AX
235.go:30,30 main·main 0x2856-0x285e ADDQ $6c0,SP
$
and assorted fixes.
R=r
DELTA=743 (732 added, 8 deleted, 3 changed)
OCL=19226
CL=19243
2008-11-14 10:45:23 -08:00
Russ Cox
c5f21c0dc2
* 6l:
...
if an object in an archive tries to refer
to a file in its original source directory,
ignore it.
* 6ar:
fix bug if archive is empty.
* gobuild:
build archive in current directory.
* math:
use new gobuild Makefile.
* test/math.go:
rename to mathest.go, add // run line, make it run.
R=r
DELTA=494 (277 added, 203 deleted, 14 changed)
OCL=19090
CL=19171
2008-11-13 13:42:26 -08:00
Rob Pike
2f4d35ffb9
converting uint bits back into floats
...
R=rsc
DELTA=32 (32 added, 0 deleted, 0 changed)
OCL=19084
CL=19091
2008-11-12 11:51:34 -08:00
Ken Thompson
902a4d5f29
6c bug with large constants
...
R=r
OCL=19056
CL=19056
2008-11-11 18:15:36 -08:00
Russ Cox
b682f924d7
don't try interface/structure conversion until
...
last resort, because it assumes every call is a
real use of the conversion.
R=ken
OCL=19026
CL=19026
2008-11-11 15:55:32 -08:00
Russ Cox
792145723e
width fixes.
...
* check for uncomputed struct offsets
* distinguish function structs from ordinary structs
* make sure function structs are not examined in isolation
R=ken
OCL=19005
CL=19005
2008-11-11 13:46:55 -08:00
Rob Pike
0e544fa0e3
fix error-handling bug.
...
add newline after stack traces.
R=rsc
DELTA=3 (2 added, 1 deleted, 0 changed)
OCL=18945
CL=18953
2008-11-10 18:13:20 -08:00
Rob Pike
10137e7f1d
fix start/stop bug in prof.
...
also only time-limit if a value is provided.
R=rsc
DELTA=9 (4 added, 2 deleted, 3 changed)
OCL=18917
CL=18920
2008-11-10 14:53:32 -08:00
Ken Thompson
79f5697b02
byte multiply
...
R=r
OCL=18830
CL=18830
2008-11-07 16:05:17 -08:00
Ken Thompson
dc78c64f23
byte multiply
...
R=r
OCL=18807
CL=18807
2008-11-07 14:20:32 -08:00
Rob Pike
335a5236e7
add sys.float32bits, sys.float64bits
...
R=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=18709
CL=18718
2008-11-06 15:48:36 -08:00
Russ Cox
ec81145565
s/gins/gbranch/
...
R=ken
OCL=18713
CL=18713
2008-11-06 15:05:19 -08:00
Russ Cox
0eda21a2fd
change minimum sethi/ullman number to 1
...
to distinguish not computed (0) vs trivial (1).
add missing ullmancalc on function args.
R=ken
OCL=18711
CL=18711
2008-11-06 14:50:58 -08:00
Russ Cox
9906bfc7bb
6g ninit fixes - fixes the two test cases
...
i isolated last night. does not fix rob's
interface-smashing bug.
R=ken
OCL=18698
CL=18698
2008-11-06 13:31:13 -08:00
Ken Thompson
79fbbe37a7
select default
...
R=r
OCL=18646
CL=18646
2008-11-05 21:50:28 -08:00
Russ Cox
d6a7cefd1e
allow any type at all in sys.unreflect;
...
accomodate empty type table in 6l.
R=r
DELTA=10 (2 added, 8 deleted, 0 changed)
OCL=18601
CL=18605
2008-11-05 16:09:12 -08:00
Russ Cox
553c98dca4
fix renamed-package bug in exported names:
...
always show original name
R=ken
OCL=18603
CL=18603
2008-11-05 15:59:34 -08:00
Ken Thompson
83a798513c
more on t,ok = I.(T)
...
R=r
OCL=18599
CL=18599
2008-11-05 15:33:01 -08:00
Ken Thompson
a8b56a73a4
T,ok = I.(T)
...
R=r
OCL=18580
CL=18582
2008-11-05 14:27:07 -08:00
Russ Cox
1983121bbb
6g interface changes:
...
* allow conversion between nil interface and any type.
* mark signatures as DUPOK so that multiple .6 can
contain sigt.*[]byte and only one gets used.
R=ken
OCL=18538
CL=18542
2008-11-05 11:27:50 -08:00
Russ Cox
e5d9a5c9f0
runtime support for interface ok,
...
whatever the final syntax ends up being.
R=ken
OCL=18414
CL=18414
2008-11-03 17:34:37 -08:00
Russ Cox
47caf6424c
6l: generate gotypesigs on demand.
...
add sys.unreflect, which uses gotypesigs.
R=r
DELTA=170 (152 added, 12 deleted, 6 changed)
OCL=18396
CL=18404
2008-11-03 16:03:12 -08:00
Russ Cox
c249a8de32
rename various magic names.
...
sigi and sigt:
sys·sigi_inter -> sigi·inter
sys·sigt_int -> sigt·int
Package·sigt_Type -> sigt·Package.Type
local type T in file x.go T_x -> T·x
second one T_x_1 -> T·x·1
method names M on T T_M -> T·M
correctly handle local embedded types
init functions are the only place left that use underscores
R=ken
OCL=18377
CL=18377
2008-11-03 15:36:08 -08:00
Ken Thompson
90e5574f1c
treat ... as agreed
...
only unencapsulated if passing one ddd
argument to one ddd parameter.
R=r
OCL=18376
CL=18376
2008-11-03 15:32:49 -08:00
Ken Thompson
250ec1665a
unsigned divide by fn()
...
R=r
OCL=18351
CL=18351
2008-11-03 13:27:16 -08:00
Russ Cox
6b05518553
silence gcc warnings
...
R=ken
OCL=18348
CL=18348
2008-11-03 13:09:30 -08:00
Ken Thompson
d2472eb812
>>= and <<= shift bug
...
R=r
OCL=18322
CL=18322
2008-11-01 17:53:12 -07:00
Ken Thompson
2fef4c7198
DOTDOTDOT import/export
...
R=r
OCL=18319
CL=18319
2008-11-01 16:52:12 -07:00
Ken Thompson
74427c6346
DOTDOTDOT
...
R=r
OCL=18317
CL=18317
2008-11-01 16:36:46 -07:00
Ken Thompson
6fff0efdd8
sprint changed to snprint
...
R=r
OCL=18316
CL=18316
2008-11-01 15:56:06 -07:00
Russ Cox
8a1ad75644
make %Z handle embedded NULs; remove fixed-size buffer
...
R=r
DELTA=44 (2 added, 15 deleted, 27 changed)
OCL=18270
CL=18273
2008-10-31 14:57:57 -07:00
Russ Cox
57804f1d2d
escape \ in %Z
...
R=ken
OCL=18202
CL=18202
2008-10-30 17:28:33 -07:00
Russ Cox
4958d41d3b
change from $$ to \n$$ for .6 meta section delimiter
...
R=r
DELTA=13 (5 added, 0 deleted, 8 changed)
OCL=18190
CL=18192
2008-10-30 16:33:50 -07:00
Russ Cox
dc6bd11ce8
make %Z escape "
...
R=ken
OCL=18180
CL=18180
2008-10-30 15:35:56 -07:00
Russ Cox
f2b1536328
annotations on embedded types
...
R=ken
OCL=18179
CL=18179
2008-10-30 15:29:55 -07:00
Russ Cox
1850b29da6
struct annotations in imports.
...
distribute tag across multiple names.
R=ken
OCL=18178
CL=18178
2008-10-30 15:25:26 -07:00
Russ Cox
f27aaf4819
structure field annotation strings
...
R=ken
OCL=18176
CL=18176
2008-10-30 15:13:09 -07:00
Ken Thompson
fd922c875d
shift bug
...
R=r
OCL=18166
CL=18166
2008-10-30 14:32:04 -07:00
Ken Thompson
2c050571d8
shift bugs
...
R=r
OCL=18095
CL=18095
2008-10-29 20:25:34 -07:00
Ken Thompson
2f5a05a859
bug 113
...
R=r
OCL=18081
CL=18081
2008-10-29 16:55:52 -07:00
Ken Thompson
4fdf3d6247
bug 113
...
R=r
OCL=18077
CL=18077
2008-10-29 16:38:23 -07:00
Ken Thompson
4a3ce5f19e
sigt_int
...
R=r
OCL=18030
CL=18030
2008-10-29 13:40:00 -07:00
Ken Thompson
89f341db23
new(chan)
...
R=r
OCL=18027
CL=18027
2008-10-29 13:18:21 -07:00
Ken Thompson
c21d9a1ec9
the end of life as we know it
...
int is new type
R=r
OCL=18023
CL=18023
2008-10-29 12:46:44 -07:00
Russ Cox
b5c739bd1b
Uncomment the name/type error checking.
...
R=ken
OCL=17928
CL=17928
2008-10-28 01:02:33 -07:00
Ken Thompson
e8278bcb29
allow len := 0
...
R=r
OCL=17869
CL=17869
2008-10-26 14:04:09 -07:00
Ken Thompson
a3cdd2e802
bug
...
R=r
OCL=17853
CL=17853
2008-10-25 14:24:51 -07:00
Ken Thompson
6d3d56d55a
bug
...
R=r
OCL=17852
CL=17852
2008-10-25 13:50:18 -07:00
Ken Thompson
b642cf8c00
embedded methods
...
R=r
OCL=17851
CL=17851
2008-10-25 13:31:25 -07:00
Ken Thompson
b379d54dea
another step toward interface subtypes
...
put explicit ./ on some runtime tests
R=r
OCL=17839
CL=17839
2008-10-24 20:14:28 -07:00
Russ Cox
cc4dc5a22a
avoid JMP to ATEXT in xfol
...
R=ken
OCL=17833
CL=17833
2008-10-24 17:10:51 -07:00
Russ Cox
e2fa41ab3b
fix JMP main(SB)
...
R=ken
OCL=17832
CL=17832
2008-10-24 16:43:12 -07:00
Russ Cox
689b28fd96
fix method function type compare bug (again)
...
R=ken
OCL=17819
CL=17819
2008-10-24 14:56:54 -07:00
Russ Cox
c14c961ae4
Automated g4 rollback of changelist 17815.
...
*** Reason for rollback ***
now it's comparing function parameter names...
*** Original change description ***
fix method function type compare bug
R=ken
OCL=17816
CL=17816
2008-10-24 14:32:48 -07:00
Russ Cox
0be746d581
fix method function type compare bug
...
R=ken
OCL=17815
CL=17815
2008-10-24 14:29:01 -07:00
Ken Thompson
7ed8fc611d
embedded types
...
auto & on methods
R=r
OCL=17682
CL=17682
2008-10-22 18:18:08 -07:00
Russ Cox
ad48706a24
do not use fake names on anonymous function return values
...
R=ken
OCL=17679
CL=17679
2008-10-22 17:45:47 -07:00
Ken Thompson
6fecb76eea
embedded types
...
R=r
OCL=17676
CL=17676
2008-10-22 17:25:10 -07:00
Russ Cox
21617250f4
import/export of embedded types
...
R=ken
OCL=17643
CL=17643
2008-10-22 13:22:56 -07:00
Russ Cox
40fa690d75
fix handling of *f() = 1
...
R=ken
OCL=17625
CL=17641
2008-10-22 13:13:01 -07:00
Ken Thompson
14c639161a
elided dots
...
R=r
OCL=17601
CL=17601
2008-10-21 20:55:40 -07:00
Russ Cox
dbabeb1d7a
reject new of function type
...
R=ken
OCL=17598
CL=17598
2008-10-21 18:03:25 -07:00
Russ Cox
beee6915f8
rewrite &Point{1, 2} as allocation
...
R=ken
OCL=17592
CL=17592
2008-10-21 16:53:54 -07:00
Russ Cox
2c3ddf5ef6
include local types in typestrings
...
R=r
DELTA=16 (14 added, 1 deleted, 1 changed)
OCL=17584
CL=17584
2008-10-21 15:57:38 -07:00
Russ Cox
44b0ecc5ca
6g: use full type in sigt[0].name
...
sys: add sys.reflect
runtime: add canfail flag for later
R=ken
OCL=17583
CL=17583
2008-10-21 15:38:26 -07:00
Ken Thompson
0347e95b63
changes to imbedded
...
R=r
OCL=17572
CL=17572
2008-10-21 15:04:10 -07:00
Russ Cox
1a149ca1be
stop looking for type names beginning with _.
...
they're gone.
R=ken
OCL=17569
CL=17569
2008-10-21 14:44:31 -07:00
Russ Cox
aacfbb461b
6g:
...
* print int as int, not P.int
* write type info for non-exported types
in its own new section.
ar:
skip over rest of line after $$
R=ken
OCL=17568
CL=17568
2008-10-21 14:34:45 -07:00
Russ Cox
0532f89b1f
6l: invent gotypestrings if needed
...
R=r
DELTA=419 (409 added, 5 deleted, 5 changed)
OCL=17524
CL=17530
2008-10-21 10:40:16 -07:00
Russ Cox
a570eaabcd
6l:
...
use libbio instead of maintaining own buffer
libbio:
always use vlong offsets; die if off_t is too small
R=r
DELTA=163 (23 added, 63 deleted, 77 changed)
OCL=17508
CL=17512
2008-10-20 17:33:51 -07:00
Russ Cox
28912ce03f
fix compiler warnings
...
R=r
DELTA=44 (10 added, 9 deleted, 25 changed)
OCL=17502
CL=17502
2008-10-20 15:26:38 -07:00
Russ Cox
bfc70d0f0a
use Biobuf not fd for reading objects.
...
will make reading type info easier.
R=r
DELTA=21 (2 added, 1 deleted, 18 changed)
OCL=17491
CL=17501
2008-10-20 15:21:59 -07:00
Russ Cox
ef40d9435b
6g:
...
make sure methods end up immediately following
the struct they are methods on.
ar:
eliminate duplicate definitions from __.PKGDEF.
check that multiple .6 do not give different defs for same
exported type/var/func/const.
increase ar header name size from 16 to 64 bytes
R=r
DELTA=379 (333 added, 18 deleted, 28 changed)
OCL=17477
CL=17481
2008-10-20 13:53:56 -07:00
Ken Thompson
61361af9e8
unnamed substructures - not complete
...
R=r
OCL=17437
CL=17437
2008-10-19 20:13:37 -07:00
Russ Cox
5fe4cd83a8
do not set t->recur on basic types.
...
the comment talked about printing, but now
t->recur is only used for typehash.
in typehash it is important to compute different
hashes for the different basic types.
add test that makes sure an interface { X() int8 }
cannot be used as interface { X() int64 }
R=ken
OCL=17396
CL=17396
2008-10-17 17:51:29 -07:00
Russ Cox
ab9db8a5f8
cleanup - delete unneeded vargen++
...
R=ken
OCL=17394
CL=17394
2008-10-17 17:45:32 -07:00
Russ Cox
ba46bd1e5a
export prereq for interface types
...
R=ken
OCL=17377
CL=17377
2008-10-17 16:13:17 -07:00
Ian Lance Taylor
907fea6b54
Link against -lm so that we can find the function "floor".
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=17375
CL=17375
2008-10-17 15:52:49 -07:00
Russ Cox
1163b1db6f
diagnose various conversion problems
...
R=ken
OCL=17320
CL=17320
2008-10-16 15:59:31 -07:00
Russ Cox
493a9d2f42
put toplevel & check back and add test
...
R=ken
OCL=17307
CL=17307
2008-10-16 14:02:20 -07:00
Ken Thompson
2e4b8d94cd
diagnosed some incorrect
...
inputs for method receivers.
R=r
OCL=17304
CL=17304
2008-10-16 13:29:03 -07:00
Russ Cox
59167e5bdb
diagnose export of incomplete type
...
R=ken
OCL=17253
CL=17253
2008-10-15 17:51:23 -07:00
Russ Cox
7cd173a4f8
error about & at top level until it is safe
...
R=ken
OCL=17241
CL=17241
2008-10-15 17:09:42 -07:00
Ken Thompson
1bf38484d1
interface on arbitrary types
...
global signatures for basic types
R=r
OCL=17238
CL=17240
2008-10-15 17:08:10 -07:00
Russ Cox
4248607ffe
simplify comma code per ken's suggestion
...
R=ken
OCL=17164
CL=17164
2008-10-14 18:47:24 -07:00
Russ Cox
82e41cc533
allow trailing comma in braced initialized list
...
R=ken
OCL=17141
CL=17143
2008-10-14 17:10:39 -07:00
Rob Pike
5933dbda3a
delete hack for interface equality now that it supported by the 6g compiler
...
R=rsc
DELTA=21 (0 added, 21 deleted, 0 changed)
OCL=17123
CL=17136
2008-10-14 16:33:11 -07:00
Ken Thompson
e2e8aa0ee1
interface equality (strings specifically)
...
R=r
OCL=17134
CL=17134
2008-10-14 16:10:44 -07:00
Ken Thompson
edb1412c50
interface equality
...
R=r
OCL=17116
CL=17118
2008-10-14 15:08:23 -07:00
Ken Thompson
1836541566
bug with struct-type { 1 }
...
R=r
OCL=17096
CL=17096
2008-10-14 12:48:14 -07:00
Ken Thompson
1ea5bc7533
stack allocation for the init function
...
R=r
OCL=17063
CL=17063
2008-10-13 20:14:09 -07:00
Russ Cox
0adc1db757
until 6g implements it, warn about using int in interface.
...
R=ken
OCL=16935
CL=16935
2008-10-10 16:14:13 -07:00
Russ Cox
827dcb86b7
add sys.BUG_intereq to compare interfaces for equality
...
R=r
OCL=16929
CL=16929
2008-10-10 15:30:32 -07:00
Russ Cox
5f1202428b
add empty var ( ), type ( ), const ( ) factorings
...
suggested by rob (could make programs generating
go easier to write).
R=ken
DELTA=13 (13 added, 0 deleted, 0 changed)
OCL=16766
CL=16766
2008-10-08 15:33:09 -07:00
Russ Cox
b4f8e01acb
more interface checks:
...
- pointer to interface cannot have methods
- record type names for better runtime error
R=r,ken
DELTA=85 (80 added, 0 deleted, 5 changed)
OCL=16658
CL=16722
2008-10-08 09:21:57 -07:00
Russ Cox
02d184b303
remove support for *T as an implicit declaration of T
...
R=ken
OCL=16651
CL=16653
2008-10-07 13:00:10 -07:00
Russ Cox
96da920f1a
fix bug:
...
type T struct
export type T struct { a int }
was not exporting T
R=ken
OCL=16650
CL=16650
2008-10-07 12:42:57 -07:00
Russ Cox
d364d28142
implement new semicolon rules:
...
* 1. all statements and declarations are terminated by semicolons
* 2. semicolons can be omitted at top level.
* 3. semicolons can be omitted before and after the closing ) or }
* on a list of statements or declarations.
now that semicolons are in, uncomment forward declaration
of interfaces
R=ken
DELTA=285 (124 added, 114 deleted, 47 changed)
OCL=16638
CL=16646
2008-10-07 12:36:30 -07:00
Rob Pike
7ee60b174d
sys.stringtorune doesn't need a length parameter.
...
R=rsc
DELTA=7 (0 added, 0 deleted, 7 changed)
OCL=16600
CL=16630
2008-10-07 10:03:34 -07:00
Russ Cox
74e2e087e2
change type names to go live at the name, so that
...
type T struct {
next *T
}
and
type T *struct {
next T
}
are valid without needing forward declarations.
add "type T struct" syntax for forward struct declarations.
add "type T interface" syntax, but commented out
(need to fix semicolons first)
R=ken
DELTA=452 (259 added, 115 deleted, 78 changed)
OCL=16580
CL=16584
2008-10-06 16:44:17 -07:00
Russ Cox
1b257b2bb3
silence gcc warning - initialize two variables
...
R=ken
OCL=16550
CL=16550
2008-10-06 13:52:23 -07:00
Ken Thompson
6499fbe734
bug060
...
R=r
OCL=16497
CL=16497
2008-10-04 17:11:01 -07:00
Ken Thompson
f25843e65e
bug 026
...
R=r
OCL=16494
CL=16494
2008-10-04 15:17:49 -07:00
Russ Cox
c8b9970e16
change *a1++; to plain a1++
...
R=ken
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=16489
CL=16489
2008-10-04 02:54:19 -07:00
Russ Cox
2e1bb4a4cf
add method test & fix method name bugs
...
R=ken,r
DELTA=86 (72 added, 9 deleted, 5 changed)
OCL=16488
CL=16488
2008-10-04 02:51:03 -07:00
Russ Cox
45f4e38506
silence gcc warnings
...
R=ken
OCL=16449
CL=16466
2008-10-03 16:23:02 -07:00
Russ Cox
b8babed7c2
new import/export format
...
package flag
export type flag.Flag struct { name flag.string; usage flag.string; \
value flag.Value; next *flag.Flag }
type flag.string string
type flag.Value interface { AsBool () (? *flag.BoolValue); \
AsInt () (? *flag.IntValue); AsString () (? *flag.StringValue); \
IsBool () (? flag.bool); IsInt () (? flag.bool); IsString () (? flag.bool); \
Str () (? flag.string); ValidValue (str flag.string) (? flag.bool) }
type flag.BoolValue struct { val flag.bool; p *flag.bool }
type flag.IntValue struct { val flag.int64; p *flag.int64 }
type flag.StringValue struct { val flag.string; p *flag.string }
type flag.bool bool
func (e *flag.StringValue) AsBool () (? *flag.BoolValue)
func (e *flag.StringValue) AsInt () (? *flag.IntValue)
...
the \ continuations are for this message, not real.
changed delimiter for import from (( )) to $$ $$.
replaced mksys.bash with mksys.c
changed sys.go to use leading export,
fake package name is now SYS not foop
don't always require ; on forward func decls
R=ken,r
DELTA=1827 (446 added, 1083 deleted, 298 changed)
OCL=16433
CL=16463
2008-10-03 16:15:55 -07:00
Ken Thompson
8877d27b40
interfaces of all types
...
R=r
OCL=16462
CL=16462
2008-10-03 16:12:21 -07:00
Rob Pike
bbb908fef0
allow prof to launch the process
...
R=rsc
DELTA=32 (30 added, 0 deleted, 2 changed)
OCL=16440
CL=16445
2008-10-03 14:49:10 -07:00
Ken Thompson
ed139c1e37
more on arbitrary receiver types
...
this CL passes the tests, but should
be considered unstable
R=r
OCL=16390
CL=16390
2008-10-02 20:51:10 -07:00
Ken Thompson
53a22770a7
names now println/panicln
...
bug fix in named-return
R=r
OCL=16377
CL=16377
2008-10-02 15:37:15 -07:00
Ken Thompson
f21e731c71
added printn and panicn
...
prints that insert spaces and new line
R=r
OCL=16370
CL=16370
2008-10-02 14:38:07 -07:00
Russ Cox
0216273c7a
add values to some "return" statements.
...
delete unused variables
R=ken
OCL=16360
CL=16360
2008-10-02 11:34:04 -07:00
Ken Thompson
d015f896bb
clear output parameters
...
R=r
OCL=16345
CL=16345
2008-10-01 20:00:58 -07:00
Ken Thompson
970d6a14c4
initialization of
...
var a,b int;
R=r
OCL=16318
CL=16318
2008-10-01 14:16:57 -07:00
Russ Cox
8dc08788ef
remove ( ) around mismatch type prints,
...
so that they don't look like functions.
R=ken
OCL=16244
CL=16244
2008-09-30 15:38:41 -07:00
Russ Cox
387c1bc31e
pretty types; use 6g -t to disable
...
R=ken
OCL=16240
CL=16242
2008-09-30 15:35:40 -07:00
Russ Cox
a05c59fe91
cleanup export
...
R=ken
OCL=16219
CL=16219
2008-09-30 13:52:44 -07:00
Russ Cox
b033c581db
fix export bug for /usr/r/rpc
...
R=ken
OCL=16218
CL=16218
2008-09-30 13:49:31 -07:00
Russ Cox
4d571c9093
fix up arg list parsing to handle any names:
...
type t1 int;
type t2 int;
type t3 int;
func f1(t1, t2, t3);
func f2(t1, t2, t3 bool);
func f3(t1, t2, x t3);
func f4(*t2, x t3); // error: cannot mix
func f5(t1, *t3);
func (x *t1) f6(y *[]t2) (t1, *t3);
func f7() (int, *string);
func f8(t1, *t2, x t3); // error: cannot mix
func f9() (x int, *string);
func f10(*t2, t3);
R=ken
OCL=16202
CL=16210
2008-09-30 12:53:11 -07:00
Ken Thompson
b6f59358b5
minor bugs
...
R=r
OCL=16163
CL=16163
2008-09-29 20:33:51 -07:00
Ken Thompson
89ac5618ac
toward methods on any type
...
R=r
OCL=16068
CL=16068
2008-09-28 20:22:31 -07:00
Ken Thompson
3a884d76ac
bug in simul assignment
...
R=r
OCL=16053
CL=16053
2008-09-27 17:46:40 -07:00
Ken Thompson
7be2b9fdf6
bug in argument passing
...
R=r
OCL=16044
CL=16044
2008-09-27 13:32:38 -07:00
Ken Thompson
9f3d600be6
export
...
syntax for inheritance
R=r
OCL=16028
CL=16028
2008-09-26 21:27:26 -07:00
Ken Thompson
fb86c39362
bug with array bounds
...
R=r
OCL=16021
CL=16023
2008-09-26 17:41:43 -07:00
Ken Thompson
8545700af8
export
...
R=r
OCL=16018
CL=16022
2008-09-26 17:41:23 -07:00
Russ Cox
c3d841f5d4
handle negative numeric constants in import.
...
(fixes bugs/bug106)
package bug0
export const A = -1
package bug1
import "bug0"
R=ken
DELTA=21 (19 added, 0 deleted, 2 changed)
OCL=15901
CL=15968
2008-09-26 11:44:20 -07:00
Russ Cox
2c52881a85
fix ELF bugs found by iant
...
- .text begins at INITTEXT, not 0
and does not include HEADR
- .shstrtab, .gosymtab, .gopclntab have alignment 1
- .gosymtab, .gopclntab have type SHT_PROGBITS
R=r
DELTA=9 (0 added, 0 deleted, 9 changed)
OCL=15953
CL=15956
2008-09-26 10:25:13 -07:00
Russ Cox
a0e7937243
6ar: exit with error status if files cannot be opened.
...
R=r
DELTA=15 (8 added, 0 deleted, 7 changed)
OCL=15952
CL=15954
2008-09-26 10:13:57 -07:00
Russ Cox
d4edee3dd0
prototype nit
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15906
CL=15909
2008-09-25 17:07:24 -07:00
Russ Cox
34bb7a0bb2
gobuild -m: replace value of $GOARCH and $GOOS
...
in Makefile with $(GOARCH) and $(GOOS)
R=r
DELTA=40 (38 added, 0 deleted, 2 changed)
OCL=15905
CL=15908
2008-09-25 17:07:06 -07:00
Ken Thompson
bcd07252e1
export
...
R=r
OCL=15805
CL=15805
2008-09-24 16:20:01 -07:00
Russ Cox
afd04fdb98
cleanup; sys.sleep can go.
...
R=r
OCL=15786
CL=15792
2008-09-24 15:28:03 -07:00
Ken Thompson
5f0a5e7a13
more export
...
R=r
OCL=15771
CL=15771
2008-09-24 14:12:21 -07:00
Russ Cox
3f106f976a
make prof work on linux
...
R=r
DELTA=18 (11 added, 1 deleted, 6 changed)
OCL=15752
CL=15755
2008-09-24 11:07:21 -07:00
Rob Pike
c79dffd5ef
bug: updated wrong counter when combining values
...
R=rsc
OCL=15751
CL=15751
2008-09-24 10:35:59 -07:00
Rob Pike
eea21f8b85
rudimentary real-time profiler.
...
tested on mac only.
output like this:
tubenose=% sudo go/src/cmd/prof/6prof -p 71839 -c -d 10
63.93% mach_semaphore_signal
4.64% sys·chansend1
3.93% chanrecv
2.86% semrelease
1.43% cas
1.43% sendchan
1.07% xadd
0.71% main·f
0.71% scheduler
0.71% sys·gosched
0.71% dequeue
...
R=rsc
DELTA=361 (361 added, 0 deleted, 0 changed)
OCL=15731
CL=15736
2008-09-23 18:45:44 -07:00
Ken Thompson
1101d406ec
more on export
...
R=r
OCL=15704
CL=15704
2008-09-23 14:16:41 -07:00
Ken Thompson
dc04d096f0
fixed export sort for methods
...
R=r
OCL=15699
CL=15699
2008-09-23 12:48:52 -07:00
Russ Cox
5383e28ea0
change string([]byte) to pass array, rather than &a[0],
...
to string convert. if the byte array has length 0,
the computation of &a[0] throws an index bounds error.
for fixed size arrays, this ends up invoking arrays2d
unnecessarily, but it works.
R=ken
DELTA=304 (44 added, 28 deleted, 232 changed)
OCL=15674
CL=15678
2008-09-22 20:12:15 -07:00
Ken Thompson
4332e0a546
remove extraneous print
...
R=r
OCL=15666
CL=15666
2008-09-22 17:29:12 -07:00
Ken Thompson
adaec0c4f4
vectors bug
...
R=r
OCL=15664
CL=15664
2008-09-22 16:58:30 -07:00
Russ Cox
fb2c66710c
compiler changes:
...
export.c:
- only expose explicitly exported types to importer
- fix behind your back
go.h:
- add deep() prototype (fixes 64-bit linux crash on time.go)
go.y:
- add a new syntax error case
walk.c:
- allow a,b = f() where f is func ptr (fixes bug088)
R=ken
OCL=15617
CL=15630
2008-09-22 12:45:01 -07:00
Ken Thompson
8231e94520
now method/interface code
...
R=r
OCL=15627
CL=15627
2008-09-22 12:16:19 -07:00
Russ Cox
b676b0e125
better yacc rule in Makefile
...
if y.tab.c is older than y.tab.h, make
interprets doing nothing as a failure,
because y.tab.c hasn't been updated.
so update it.
R=r
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=15615
CL=15622
2008-09-22 10:56:54 -07:00
Ken Thompson
8a9752dcfb
another async select bug
...
R=r
OCL=15599
CL=15599
2008-09-20 19:56:40 -07:00
Ken Thompson
39a4b1421f
bug103 - but the fix caused other
...
things to break. hopefully all fixed
now.
R=r
OCL=15597
CL=15597
2008-09-20 14:59:15 -07:00
Russ Cox
72e3b204e4
add gobuild.
...
use gobuild-generated Makefile for math and os.
other makefile tweaks.
move math/main.go to test/math.go
R=r
OCL=15529
CL=15537
2008-09-19 11:55:46 -07:00
Russ Cox
5eb9e0621b
avoid dereferencing nil type on undefined name.
...
R=ken
DELTA=12 (12 added, 0 deleted, 0 changed)
OCL=15506
CL=15528
2008-09-19 09:39:09 -07:00
Russ Cox
326bb67fbf
whitespace
...
R=r
DELTA=0 (0 added, 0 deleted, 0 changed)
OCL=15492
CL=15494
2008-09-18 15:54:21 -07:00
Russ Cox
aca4f19e20
clean blyacc
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15489
CL=15493
2008-09-18 15:50:28 -07:00
Russ Cox
f74ec00278
add -K flag to check stack underflow
...
R=ken
DELTA=38 (36 added, 0 deleted, 2 changed)
OCL=15482
CL=15491
2008-09-18 15:41:20 -07:00
Russ Cox
d1d7dc6c42
make blyacc too
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15488
CL=15488
2008-09-18 15:09:48 -07:00
Russ Cox
76036192b9
make Makefiles safe for parallel make
...
use -j4 (4-way parallel) in make.bash.
halves time for make.bash on r45
also add libregexp, acid to default build
R=r
DELTA=90 (39 added, 37 deleted, 14 changed)
OCL=15485
CL=15487
2008-09-18 15:06:43 -07:00
Russ Cox
13f3149a01
more helpful messages for name-related syntax errors.
...
R=ken
OCL=15477
CL=15479
2008-09-18 13:32:14 -07:00
Russ Cox
f0635bbfaa
Linux bison rejects // comments outside { code snippets }
...
R=ken
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15444
CL=15446
2008-09-17 14:09:44 -07:00
Ken Thompson
304440356d
assignment in select
...
with new select operator
R=r
OCL=15418
CL=15418
2008-09-16 20:51:50 -07:00
Rob Pike
47919799b4
new grammar:
...
binary <- is send
unary <- is recv
-< is gone
case a := <-ch: works in select
case a = <-ch: works in select
support for new cases is not yet in the compiler but all non-select
code works
second CL will update affected go source
R=ken
OCL=15414
CL=15414
2008-09-16 19:14:33 -07:00
Ken Thompson
721cb9c6a1
redeclaring methods
...
R=r
OCL=15375
CL=15375
2008-09-15 19:07:23 -07:00
Ken Thompson
5d5e9f74cb
bug - divide and mod of a byte
...
R=r
OCL=15370
CL=15370
2008-09-15 15:03:10 -07:00
Ken Thompson
d01a1ec260
robs wednesday bug
...
R=r
OCL=15327
CL=15327
2008-09-14 17:29:50 -07:00
Ken Thompson
2119294af9
methods on any type
...
-- but only *struct tested
R=r
OCL=15326
CL=15326
2008-09-14 16:57:55 -07:00
Ken Thompson
b9cee1b6c1
package name on signatures thru rename
...
R=r
OCL=15314
CL=15314
2008-09-13 14:51:39 -07:00
Ken Thompson
1ae08bee90
Automated g4 rollback of changelist 15312.
...
*** Reason for rollback ***
<enter reason for rollback>
*** Original change description ***
correct signal name thru package rename
R=r
OCL=15313
CL=15313
2008-09-13 14:49:36 -07:00
Ken Thompson
28b9702741
correct signal name thru package rename
...
R=r
OCL=15312
CL=15312
2008-09-13 14:46:19 -07:00
Ken Thompson
bb3269fba0
snprints for safety
...
R=r
OCL=15311
CL=15311
2008-09-13 14:37:56 -07:00
Ken Thompson
904d4045d3
1 got rid if static 'fn wo return' test
...
2 added dynamic calls to throw for array bounds
and 'fn wo return'
3 small optimization on index[constant]
R=r
OCL=15281
CL=15281
2008-09-12 16:48:35 -07:00
Ken Thompson
47580f79b4
bug075
...
R=r
OCL=15192
CL=15192
2008-09-11 19:09:25 -07:00
Ken Thompson
ff65872fbf
function wo return is an error - not warning
...
R=r
OCL=15169
CL=15169
2008-09-11 15:44:45 -07:00
Ken Thompson
d30c9a4be5
implement discussed function wo return statement
...
R=r
OCL=15166
CL=15166
2008-09-11 15:23:01 -07:00
Ken Thompson
0a7e4a7415
bug generating duplicate interface signatures
...
R=r
OCL=15119
CL=15119
2008-09-10 19:49:35 -07:00
Ken Thompson
a0e57201c7
bug in type of first argument to slice
...
R=r
OCL=15113
CL=15113
2008-09-10 16:45:41 -07:00
Ken Thompson
d40f032d18
fixed bug in certain
...
evaluation of complex literals
R=r
OCL=15036
CL=15036
2008-09-09 15:47:31 -07:00
Russ Cox
c3ca056143
go linux x86-64 kernel fixes:
...
* change .gosymtab and .gopclntab to section 7 (note)
* start INITTEXT at 4MB, not 4KB
R=r
OCL=14953
CL=14959
2008-09-08 15:22:55 -07:00
Ken Thompson
077fe40867
bug with struct literal with metods
...
R=r
OCL=14937
CL=14937
2008-09-08 13:10:11 -07:00
Ken Thompson
0194aaf918
T{} syntax for constructors
...
T(expression) for conversion
FUNC keyword no longer a type
R=r
OCL=14887
CL=14887
2008-09-05 19:50:34 -07:00
Ken Thompson
193eac7917
bugs 29, 61, 62, 74
...
fixedbugs 49 now (correctly) fails
bugs 32, 41, 68, 77 shouldnt be bugs
R=r
OCL=14842
CL=14842
2008-09-04 17:15:15 -07:00
Ken Thompson
9dbaab54d1
rewriting bugs
...
R=r
OCL=14810
CL=14810
2008-09-04 12:21:10 -07:00
Rob Pike
6c72bfa55b
fix bug in stack overflow check.
...
if stack is in low memory and frame size is huge, test could wrap around!
fix by omitting test altogether if we know frame is big.
R=gri
OCL=14782
CL=14782
2008-09-03 19:58:46 -07:00
Ken Thompson
182f91ffe0
map literals
...
R=r
OCL=14759
CL=14759
2008-09-03 14:40:22 -07:00
Ken Thompson
4539ced714
array literals
...
R=r
OCL=14756
CL=14756
2008-09-03 14:09:29 -07:00
Ken Thompson
1423bf3dc4
structure literals
...
R=r
OCL=14735
CL=14735
2008-09-02 19:11:25 -07:00
Ken Thompson
0ffacfd995
order of evaluation in function args
...
R=r
OCL=14733
CL=14733
2008-09-02 17:12:32 -07:00
Ken Thompson
9c5669bd0b
bug in conv(string, bytearray)
...
R=r
OCL=14732
CL=14732
2008-09-02 16:21:30 -07:00
Ken Thompson
a7f1af81bd
minor bugs
...
R=r
OCL=14702
CL=14702
2008-09-01 14:37:32 -07:00
Ken Thompson
33ee52727f
fixed labels/break/continue/goto
...
R=r
OCL=14675
CL=14675
2008-08-29 20:30:19 -07:00
Ken Thompson
944ad62ecd
fix type of (1<<x)
...
R=r
OCL=14656
CL=14656
2008-08-29 13:24:53 -07:00
Ken Thompson
53010efe01
shift operations to new spec
...
R=r
OCL=14641
CL=14641
2008-08-28 19:59:42 -07:00
Ken Thompson
c6130e9f1f
get rid of static/dynamic array distinction
...
R=r
OCL=14634
CL=14634
2008-08-28 15:17:37 -07:00
Ken Thompson
66a603c986
arrays
...
R=r
OCL=14603
CL=14603
2008-08-27 17:28:30 -07:00
Ken Thompson
30fd44cf9d
fix fat copy of overlapping data
...
R=r
OCL=14417
CL=14417
2008-08-21 20:49:04 -07:00
Rob Pike
b59b551be7
allow predefined identifiers (len, etc.) to be exported.
...
(they were not accepted as names by the import parser)
R=ken
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=14159
CL=14159
2008-08-13 15:24:55 -07:00
Ken Thompson
52861558f4
put i2s, s2i and i2i in convert
...
R=r
OCL=14143
CL=14143
2008-08-12 19:13:09 -07:00
Ken Thompson
ead7a6d47a
i2s and i2i
...
R=r
OCL=14140
CL=14140
2008-08-12 16:36:18 -07:00
Ken Thompson
c1ab5a554f
resolve go.y edits
...
R=r
OCL=14132
CL=14132
2008-08-12 14:28:58 -07:00
Ken Thompson
4797523572
fixed bugs in const/case
...
R=r
DELTA=138 (75 added, 12 deleted, 51 changed)
OCL=14129
CL=14131
2008-08-12 14:04:03 -07:00
Rob Pike
72d50900e3
fix a typo in the comments
...
R=ken
OCL=14104
CL=14104
2008-08-11 21:29:11 -07:00
Ken Thompson
a8a9dbc9c6
print() and field names
...
R=r
DELTA=86 (61 added, 3 deleted, 22 changed)
OCL=14099
CL=14099
2008-08-11 19:17:28 -07:00
Ken Thompson
2679eefb31
floating <= and >= compare
...
R=r
DELTA=8 (0 added, 0 deleted, 8 changed)
OCL=14091
CL=14091
2008-08-11 13:53:50 -07:00
Ken Thompson
2b75556436
export large constants
...
R=r
DELTA=37 (31 added, 4 deleted, 2 changed)
OCL=14089
CL=14089
2008-08-11 13:22:04 -07:00
Ken Thompson
5649c23c8c
fixed op=, ++ and -- on maps (bug060)
...
R=r
DELTA=22 (21 added, 0 deleted, 1 changed)
OCL=14049
CL=14049
2008-08-10 16:49:01 -07:00
Ken Thompson
258c817a1b
allow name-type or pointer-to-named-type as method name (bug046)
...
R=r
DELTA=17 (11 added, 3 deleted, 3 changed)
OCL=14048
CL=14048
2008-08-10 15:09:09 -07:00
Ken Thompson
b89c538473
fixed unary ^ opcode (bug082)
...
R=r
DELTA=11 (10 added, 1 deleted, 0 changed)
OCL=14047
CL=14047
2008-08-10 14:35:02 -07:00
Ken Thompson
091047f36c
adding and deleting files
...
R=r
DELTA=1685 (920 added, 765 deleted, 0 changed)
OCL=14030
CL=14030
2008-08-09 17:33:35 -07:00
Ken Thompson
272ae659db
mp fixed arith
...
R=r
DELTA=149 (80 added, 62 deleted, 7 changed)
OCL=14029
CL=14029
2008-08-09 17:29:26 -07:00
Ken Thompson
67c4cc473c
forgot a file
...
R=r
DELTA=427 (427 added, 0 deleted, 0 changed)
OCL=14017
CL=14017
2008-08-08 17:15:46 -07:00
Ken Thompson
9c2ade358d
mp constants
...
R=r
DELTA=381 (142 added, 26 deleted, 213 changed)
OCL=14011
CL=14016
2008-08-08 17:13:31 -07:00
Russ Cox
907f38acfc
Change generated acid to indent nested structures properly.
...
Before the change:
acid: M(m0)
g0 00008dd0
morearg 00000000
cret 00000000
curg 2aaaaaaab000
lastg 00000000
Gobuf sched {
SP ffffe5e0
PC 7fff00001ba1
}
...
acid:
After the change:
acid: M(m0)
g0 (G)00008dd0
morearg 00000000
cret 00000000
curg (G)2aaaaaaab000
lastg (G)00000000
Gobuf sched {
SP ffffe5e0
PC 00001ba1
}
...
acid:
R=ken
DELTA=27 (14 added, 2 deleted, 11 changed)
OCL=13802
CL=13998
2008-08-08 04:25:20 -07:00
Russ Cox
d28acc42ec
first cut at multithreading. works on Linux.
...
* kick off new os procs (machs) as needed
* add sys·sleep for testing
* add Lock, Rendez
* properly lock mal, sys·newproc, scheduler
* linux syscall arg #4 is in R10, not CX
* chans are not multithread-safe yet
* multithreading disabled by default;
set $gomaxprocs=2 (or 1000) to turn it on
This should build on OS X but may not.
Rob and I will fix soon after submitting.
TBR=r
OCL=13784
CL=13842
2008-08-04 16:43:49 -07:00
Ken Thompson
695f83a9e0
export external functions
...
R=r
DELTA=16 (10 added, 4 deleted, 2 changed)
OCL=13815
CL=13815
2008-08-04 13:18:59 -07:00
Russ Cox
7b3771401c
add nm
...
R=r
DELTA=339 (339 added, 0 deleted, 0 changed)
OCL=13786
CL=13794
2008-08-03 23:06:00 -07:00
Russ Cox
34514bdb72
Use a single Make.conf for setting CC, etc.
...
This makes it easy to build with other flags
(like -ggdb) or other compilers (like cc64).
R=r
DELTA=45 (6 added, 22 deleted, 17 changed)
OCL=13790
CL=13793
2008-08-03 23:03:31 -07:00
Ken Thompson
989676d2ba
add 'export' adjectives to external
...
var, const and type declarations.
R=r
DELTA=49 (12 added, 28 deleted, 9 changed)
OCL=13791
CL=13791
2008-08-03 18:47:02 -07:00
Russ Cox
9aad9fef76
make 6a, 6c, 6g, 6l, libmach_amd64 build on 64-bit gcc.
...
these guys really really want long to be 32-bits,
so ,s/long/int32/ (and then manual fixup).
still passes all tests.
(i started out looking for just those longs that
needed to be int32 instead, and it was just too hard
to track them down one by one.)
the longs were rare enough that i don't think
it will cause integration problems.
R=ken
OCL=13787
CL=13789
2008-08-03 17:25:15 -07:00
Ken Thompson
851100683e
6c delete .6 file on error
...
R=r
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=13785
CL=13785
2008-08-03 13:31:06 -07:00
Ken Thompson
7889e03477
go method
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=13765
CL=13765
2008-08-02 15:31:21 -07:00
Ken Thompson
b2d9020242
len now takes an expression
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=13523
CL=13523
2008-07-28 13:54:58 -07:00
Ken Thompson
b1abcc195d
random bug fixes
...
R=r
DELTA=18 (6 added, 1 deleted, 11 changed)
OCL=13504
CL=13504
2008-07-27 13:09:15 -07:00
Ken Thompson
bd397d2f9b
select
...
R=r
DELTA=29 (27 added, 1 deleted, 1 changed)
OCL=13503
CL=13503
2008-07-27 11:42:52 -07:00
Rob Pike
20a02661d9
beginnings of a low-level syscall library
...
R=ken
OCL=13483
CL=13496
2008-07-26 14:49:21 -07:00
Ken Thompson
120827284e
select/chan
...
R=r
DELTA=517 (137 added, 98 deleted, 282 changed)
OCL=13495
CL=13495
2008-07-26 14:21:21 -07:00
Ken Thompson
949ab5c7ff
select
...
R=r
APPROVED=r
DELTA=41 (24 added, 13 deleted, 4 changed)
OCL=13480
CL=13480
2008-07-25 17:03:27 -07:00
Ken Thompson
e963cba8a1
select
...
R=r
APPROVED=r
DELTA=147 (94 added, 14 deleted, 39 changed)
OCL=13477
CL=13477
2008-07-25 15:55:12 -07:00
Ken Thompson
ece3e57c85
read select
...
R=r
APPROVED=r
DELTA=120 (108 added, 0 deleted, 12 changed)
OCL=13468
CL=13468
2008-07-25 11:58:26 -07:00
Ken Thompson
cb9b1038db
select
...
R=r
APPROVED=r
DELTA=638 (433 added, 21 deleted, 184 changed)
OCL=13426
CL=13438
2008-07-24 15:57:30 -07:00
Rob Pike
35b7a174e6
maintain __.PKGDEF files in archives if the 'g' flag is given
...
use this facility to simplify the math lib-building script
R=ken
DELTA=183 (158 added, 16 deleted, 9 changed)
OCL=13364
CL=13366
2008-07-22 15:57:46 -07:00
Rob Pike
05caa7f820
help management of empty pkg and lib directories in perforce
...
R=gri
DELTA=4 (4 added, 0 deleted, 0 changed)
OCL=13328
CL=13328
2008-07-21 17:10:49 -07:00
Ken Thompson
b78676a49d
start of select
...
random bugs fixed
SVN=128149
2008-07-20 20:13:07 -07:00
Ken Thompson
963753d3f9
tweaks to init
...
rand using init
SVN=128142
2008-07-20 13:33:45 -07:00
Ken Thompson
f24f8ffae0
init
...
SVN=128128
2008-07-19 18:39:12 -07:00
Rob Pike
acf3d59847
update fmt to use some initialization
...
tweak ar so the pkgdef file doesn't cause it not to generate a symbol table
SVN=128119
2008-07-19 14:52:01 -07:00
Ken Thompson
90da636c15
init filename vs pkgname
...
SVN=128117
2008-07-19 14:20:46 -07:00
Ken Thompson
fb3af53f4e
initialization
...
SVN=128115
2008-07-19 13:38:29 -07:00
Ken Thompson
4c5a165873
len(fixed array)
...
SVN=128050
2008-07-18 11:59:35 -07:00
Ken Thompson
0ca551fc36
loop in subtype
...
SVN=127933
2008-07-17 18:15:05 -07:00
Ken Thompson
41861ca7bb
one more time for divide
...
SVN=127911
2008-07-17 16:22:40 -07:00
Ken Thompson
9e2d185040
div bug
...
[]ptr bug
proc reuses old g* structures
differnt assignment of offsets to parameters
SVN=127888
2008-07-17 15:03:39 -07:00
Ken Thompson
814320c8b4
parameter in fn literals
...
SVN=127695
2008-07-16 18:31:01 -07:00
Ken Thompson
8003849498
parameter declartions in func literals
...
SVN=127678
2008-07-16 17:22:54 -07:00
Ken Thompson
44b8934d35
back out last chan fix
...
allow print of pointers
SVN=127548
2008-07-16 12:44:21 -07:00
Ken Thompson
ac048ce7f4
new chan syntax
...
SVN=127437
2008-07-15 21:07:59 -07:00
Rob Pike
c870ac239e
add sys.writefile; support for darwin only in this CL
...
SVN=127153
2008-07-14 20:54:55 -07:00
Rob Pike
e9a194382e
disambiguate error message
...
SVN=127152
2008-07-14 20:54:16 -07:00
Ken Thompson
c6e8e1cebf
go call fn address
...
SVN=127151
2008-07-14 20:40:48 -07:00
Ken Thompson
2d9ff40774
chan asynch
...
SVN=127121
2008-07-14 17:41:38 -07:00
Ken Thompson
f7e2bb55ae
chan
...
SVN=126960
2008-07-13 16:22:50 -07:00
Ken Thompson
97cab903af
chan
...
SVN=126959
2008-07-13 16:20:27 -07:00
Ken Thompson
594175d0b5
chan
...
SVN=126958
2008-07-13 14:29:46 -07:00
Ken Thompson
3f982aeaf6
morestack magic number
...
automatically generated in 6g and 6c,
manually set in 6a. format is
TEXT a(SB),, $a-b
where a is auto size and b is parameter size
SVN=126946
2008-07-12 17:16:22 -07:00
Ken Thompson
3856e45e03
more on channels
...
arg space magic number for morestack
SVN=126936
2008-07-12 13:08:53 -07:00
Ken Thompson
751ce3a77a
segmented stacks AND goroutines
...
SVN=126929
2008-07-11 19:16:39 -07:00
Ken Thompson
2d7eecbbf4
bug in offsets in imported struct fields
...
SVN=126591
2008-07-09 17:15:10 -07:00
Rob Pike
d5f4d94b80
redefinition fix for autolib: if first ATEXT is already defined, skip this file
...
SVN=126580
2008-07-09 16:40:11 -07:00
Rob Pike
12c81a0ce8
enable autolib
...
handle archives with __.PKGDEF elements (although we can't create them yet)
introduce a pkg directory
search the pkg directory for packages during compilation
SVN=126574
2008-07-09 16:05:03 -07:00
Rob Pike
41b9617be4
fix ldexp, frexp, and make math package compile and test correctly
...
SVN=126423
2008-07-08 17:26:10 -07:00
Ken Thompson
4528854308
unique import/export names
...
more on go statement
SVN=126421
2008-07-08 17:19:17 -07:00
Rob Pike
655c281303
disambiguate typedefs in export blocks of .6 files
...
SVN=126366
2008-07-08 14:20:04 -07:00
Rob Pike
6db99de606
add bytestorune and stringtorune to sys.
...
SVN=126321
2008-07-08 10:36:43 -07:00
Ken Thompson
1d31a25d83
more coroutine
...
fixed a,b,c := x,x,x
SVN=126250
2008-07-07 17:59:32 -07:00
Ken Thompson
0d079a5362
start of coroutine
...
SVN=126152
2008-07-07 12:29:26 -07:00
Ken Thompson
caa7193c95
took out vlong/uvlong/rune conversions
...
SVN=126053
2008-07-06 11:20:44 -07:00
Ken Thompson
4d6d4e7f4e
random little bugs
...
SVN=126049
2008-07-05 17:43:25 -07:00
Ken Thompson
417a971f9a
output args declared
...
arguments in first block for diagnostics
thomo return
better syntax error recovery
SVN=126045
2008-07-05 12:49:25 -07:00
Ken Thompson
1efa6a0544
better recovery after syntax error
...
SVN=126003
2008-07-03 18:05:20 -07:00
Ken Thompson
81b325db1b
a,b := fun()
...
SVN=125998
2008-07-03 17:41:05 -07:00
Ken Thompson
d915b96100
new iota
...
SVN=125984
2008-07-03 16:41:32 -07:00
Rob Pike
03febb6773
clean up rearrangement of runtime functions in the source
...
add isNaN, isInf, NaN, Inf
SVN=125389
2008-06-30 15:30:47 -07:00
Ken Thompson
b987f7a757
segmented stacks
...
SVN=125267
2008-06-29 20:40:08 -07:00
Ken Thompson
d3237f9a2a
more line numbers
...
SVN=125265
2008-06-28 17:27:39 -07:00
Ken Thompson
dc1602ca23
more line numbers
...
SVN=125261
2008-06-28 13:58:00 -07:00
Ken Thompson
ca029d34b6
another both sides functions
...
SVN=125230
2008-06-27 17:53:23 -07:00
Ken Thompson
57d80398e6
line numbers
...
SVN=125228
2008-06-27 17:35:42 -07:00
Ken Thompson
390d5fe5b2
fixed fncall both sides
...
SVN=125217
2008-06-27 16:59:14 -07:00
Ken Thompson
102fcc6689
sametype message
...
SVN=125216
2008-06-27 16:43:02 -07:00
Ken Thompson
73f85f8a53
map index of index bug
...
SVN=125213
2008-06-27 16:30:20 -07:00
Rob Pike
34cb7c299e
export sys.exit
...
update tests to use exit rather than return
ignore return value from main (actually done in prior CL)
SVN=125173
2008-06-27 14:15:06 -07:00
Ken Thompson
1f6828bcdf
segmented stack
...
SVN=125151
2008-06-27 13:03:19 -07:00
Rob Pike
1f672596c5
fix a few spelling mistakes in messages
...
SVN=125108
2008-06-27 10:29:02 -07:00
Ken Thompson
75937c2a16
better line numbers
...
SVN=125018
2008-06-26 17:54:44 -07:00
Rob Pike
3e4e83ab1e
add sys.readfile()
...
add args to linux runtime
SVN=124961
2008-06-26 14:09:26 -07:00
Rob Pike
9ff0e6288e
runtime needs runtime.c
...
6l needs to know that there is no rt_amd64.6
SVN=124766
2008-06-25 21:31:17 -07:00
Rob Pike
41abdad5ec
maybe now $O is right
...
SVN=124764
2008-06-25 21:24:14 -07:00
Rob Pike
5132d10305
O=6 not O=o
...
SVN=124763
2008-06-25 21:23:14 -07:00
Rob Pike
c87597de2c
put a makefile into runtime
...
make the runtime library an archive (rt0 is still separate)
update 6l to use the archive
add fakeobj.c, missing from prior change
SVN=124762
2008-06-25 21:19:05 -07:00
Rob Pike
250a091922
add plan 9 ar, which understands our symbol tables
...
SVN=124761
2008-06-25 20:58:35 -07:00
Ken Thompson
e90ae879d6
autolib (#pragma lib)
...
added to 6g to autoload
the included import files.
SVN=124759
2008-06-25 20:22:10 -07:00
Ken Thompson
1a3f944530
simul assignment
...
SVN=124591
2008-06-25 11:35:06 -07:00
Ken Thompson
10296166a5
bug in returning a fat function result
...
SVN=124436
2008-06-24 18:14:32 -07:00
Ken Thompson
7d11924c13
middle dot as alpha package separator
...
SVN=124419
2008-06-24 17:16:06 -07:00
Rob Pike
2987c8434b
arguments available
...
argc, argv, envc, envv all in sys now
sys.argc() etc.
SVN=124398
2008-06-24 15:31:03 -07:00
Ken Thompson
87dae02a63
string nil same as string ""
...
SVN=124381
2008-06-24 14:11:20 -07:00
Ken Thompson
90846cd447
map[int] bug
...
SVN=124332
2008-06-24 11:10:47 -07:00
Ken Thompson
78c8dec944
bug miscalculating ullman
...
in CALLMETH/DOTMETH
SVN=124321
2008-06-24 10:30:33 -07:00
Ken Thompson
dee07c884e
maps
...
SVN=124030
2008-06-22 21:02:06 -07:00
Rob Pike
aeb43984ec
add signal handling and traceback support therein.
...
factor the runtime into architecture-dependent and -independent pieces.
ditto for the OS dependence.
SVN=124020
2008-06-21 15:36:23 -07:00
Ken Thompson
54abac678a
redeclarations of variables in the same block.
...
half-step toward multivalued map indexing
SVN=124019
2008-06-21 15:11:29 -07:00
Ken Thompson
ddba96aed8
stack offset
...
SVN=123521
2008-06-18 22:07:09 -07:00
Ken Thompson
f997bc6eb6
stack offseet table marker
...
tacked above each TEXT entry
SVN=123496
2008-06-18 17:51:56 -07:00
Ken Thompson
1926fef175
bogus diagnostic with
...
default as first case
in a switch
SVN=123398
2008-06-18 11:43:50 -07:00
Ken Thompson
c242b53d22
more maps
...
more semi-colons
type assignment of constants
SVN=123278
2008-06-17 22:33:32 -07:00
Ken Thompson
c5bb50c9dc
assign nil to interface
...
SVN=123256
2008-06-17 18:07:40 -07:00
Ken Thompson
7131bf476c
SVN=123250
2008-06-17 18:02:06 -07:00
Ken Thompson
504aa698f7
SVN=123249
2008-06-17 18:01:05 -07:00
Ken Thompson
53ec6500bc
yata
...
SVN=123246
2008-06-17 17:59:06 -07:00
Ken Thompson
0006c83231
optional semi-colons
...
SVN=123245
2008-06-17 17:57:31 -07:00
Ken Thompson
4e8142c929
maps
...
SVN=123089
2008-06-16 22:34:50 -07:00
Ken Thompson
3f2d542817
added and, or, xor opcodes
...
SVN=123031
2008-06-16 17:04:39 -07:00
Ken Thompson
e1a06ccc80
now checks for lvalue/rvalue context of
...
expressions.
start of generics for calling builtin
functions
start of map type
'any' demoted from reserved word to type
SVN=122808
2008-06-15 20:24:30 -07:00
Rob Pike
073486c3ed
add support for debugging in MACH binaries
...
fix up libmach_amd64 to handle MACH binaries and symbols
db now works on mac and linux
SVN=122807
2008-06-15 17:22:57 -07:00
Ken Thompson
efec14bc5a
plan9 line numbers and line table
...
SVN=122793
2008-06-13 18:16:23 -07:00
Rob Pike
e9c9c9ace5
add symbol tables and line/pc information to 6.outs
...
SVN=122699
2008-06-13 12:54:21 -07:00
Ken Thompson
343f5aa7b4
better import/export
...
SVN=122584
2008-06-12 21:48:56 -07:00
Rob Pike
67e141b637
Bug fix. Without rounding, .shstrtab is written on top of data segment
...
SVN=122567
2008-06-12 18:51:06 -07:00
Rob Pike
ed5e39a66d
Add 6db
...
SVN=122505
2008-06-12 14:50:25 -07:00
Ken Thompson
ef61a4cb1e
better version of op=
...
fixed bugs in /= and %/
SVN=122493
2008-06-12 14:21:09 -07:00
Rob Pike
e2e6b7e4cc
remove reference to 9ar
...
SVN=122487
2008-06-12 13:38:54 -07:00
Rob Pike
24dbd2413b
remove reference to 9ar
...
SVN=122486
2008-06-12 13:37:54 -07:00
Rob Pike
69b74c3953
import the plan 9 libraries libc (lib9) and libbio into the tree.
...
remove the dependency on /home/r.
SVN=122482
2008-06-12 13:26:16 -07:00
Ken Thompson
2254a8ee99
import/export
...
SVN=122309
2008-06-11 21:06:26 -07:00
Rob Pike
2694a85a52
tweaks in clean rules and dependencies
...
SVN=122274
2008-06-11 18:01:45 -07:00
Rob Pike
461d1b7987
convert from mk to make
...
phew.
SVN=122266
2008-06-11 17:50:07 -07:00
Rob Pike
32aa0d9198
generated file; needs updating
...
SVN=122179
2008-06-11 14:03:52 -07:00
Rob Pike
820368a19a
fix up mkfiles to use $GOROOT instead of $PLAN9
...
mention in setup doc that binaries go into $HOME/bin
SVN=122177
2008-06-11 13:59:55 -07:00
Rob Pike
df28e14e5b
add a setup document, and tweak the scripts that it mentions
...
SVN=122175
2008-06-11 13:34:08 -07:00
Ken Thompson
2bba3a610d
reorder1 - function first instead of last
...
SVN=122160
2008-06-11 12:25:44 -07:00
Ken Thompson
0b3093f0a5
debugging to get fmt to run
...
SVN=122046
2008-06-10 21:29:57 -07:00
Ken Thompson
36f21e00f5
mode elf tossing
...
SVN=121962
2008-06-10 12:42:37 -07:00
Ken Thompson
6a659ebf13
new elf header
...
SVN=121737
2008-06-09 13:16:50 -07:00
Ken Thompson
f9c58c25e0
more nihan
...
SVN=121622
2008-06-08 19:02:27 -07:00
Ken Thompson
9abf9e8a37
nihon
...
SVN=121620
2008-06-08 18:26:23 -07:00
Ken Thompson
b6eca3534c
bug in len
...
SVN=121618
2008-06-08 17:46:28 -07:00
Ken Thompson
610644a1ca
asdf
...
SVN=121615
2008-06-08 17:21:46 -07:00
Rob Pike
27d95f1372
use /bin/ed to avoid compatibility issues with plan 9 ed
...
SVN=121611
2008-06-08 17:02:01 -07:00
Ken Thompson
36bfd2a906
floating point
...
SVN=121607
2008-06-08 16:11:14 -07:00
Ken Thompson
8200a0b088
optional semicolons
...
SVN=121604
2008-06-08 12:48:37 -07:00
Ken Thompson
f7753f1687
more code generation - mostly shift and multiply
...
SVN=121585
2008-06-07 15:21:02 -07:00
Ken Thompson
181ad4743c
more div/mod
...
SVN=121577
2008-06-06 21:21:54 -07:00
Ken Thompson
d83b994da6
div and mod operators
...
SVN=121576
2008-06-06 20:43:29 -07:00
Ken Thompson
feb1c77f9c
cafebabe
...
SVN=121574
2008-06-06 19:16:18 -07:00
Ken Thompson
b6218e6907
'\Ucafebabe'
...
SVN=121562
2008-06-06 17:42:03 -07:00
Ken Thompson
609cf0c3a7
fixed \\ secape in strings
...
SVN=121553
2008-06-06 17:08:21 -07:00
Ken Thompson
a93099cd8c
SVN=121547
2008-06-06 17:01:33 -07:00
Ken Thompson
6b8bd3556a
nonaddressable = functioncall
...
code gen error
SVN=121541
2008-06-06 16:49:35 -07:00
Ken Thompson
d1493d1edc
checked into both gc and runtime by mistake
...
SVN=121498
2008-06-06 15:01:50 -07:00
Ken Thompson
498ed50061
code gen bug calling i2s
...
SVN=121497
2008-06-06 15:01:02 -07:00
Ken Thompson
e372be9e76
code gen bug in ++ and --
...
SVN=121476
2008-06-06 13:54:59 -07:00
Ken Thompson
bbb2073223
goos garch
...
SVN=121367
2008-06-05 19:38:39 -07:00
Ken Thompson
8527f49e24
goos and goarch
...
SVN=121349
2008-06-05 16:57:26 -07:00
Ken Thompson
e2c3ec3173
goos goarch
...
SVN=121348
2008-06-05 16:56:23 -07:00
Ken Thompson
f4ccabdea6
stuff
...
SVN=121190
2008-06-04 16:44:48 -07:00
Ken Thompson
f1880579ef
loaded problem getting main from a library
...
SVN=121175
2008-06-04 15:33:59 -07:00
Ken Thompson
6633be6a86
fix loader problem loading main from a library
...
SVN=121174
2008-06-04 15:32:47 -07:00
Ken Thompson
3adcf6fa0e
touch to make later modified date
...
SVN=121172
2008-06-04 15:08:59 -07:00
Rob Pike
0cafb9ea3d
Add compiler source to new directory structure
...
SVN=121164
2008-06-04 14:37:38 -07:00