Rob Pike
4328d44254
wrong system call number for stat
...
TBR=rsc
OCL=18833
CL=18833
2008-11-07 16:17:42 -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
Ken Thompson
9b827cf9a0
bug in select default
...
R=r
OCL=18741
CL=18741
2008-11-06 17:50:28 -08:00
Robert Griesemer
483e031525
- binomial implementation (fixing broken build)
...
R=r
OCL=18738
CL=18738
2008-11-06 17:29:07 -08:00
Rob Pike
175dd773e6
simpleminded ascii to floating point conversion
...
R=rsc
DELTA=111 (107 added, 0 deleted, 4 changed)
OCL=18720
CL=18725
2008-11-06 16:32:28 -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
Robert Griesemer
66c6b13b03
- implemented String() and Format functionality in Bignum
...
- added a test
R=r
OCL=18687
CL=18687
2008-11-06 12:13:52 -08:00
Robert Griesemer
3a2c0a9615
- fixes to sprintf (by rob)
...
R=r
OCL=18685
CL=18685
2008-11-06 11:56:08 -08:00
Rob Pike
91212bd1ad
If a value implements String(), use that in fmt.print (not fmt.printf)
...
R=rsc
DELTA=13 (9 added, 0 deleted, 4 changed)
OCL=18682
CL=18684
2008-11-06 11:38:44 -08:00
Rob Pike
f15dfa7802
Polymorphic printing.
...
R=rsc
DELTA=100 (70 added, 10 deleted, 20 changed)
OCL=18663
CL=18669
2008-11-06 10:40:57 -08:00
Ken Thompson
79fbbe37a7
select default
...
R=r
OCL=18646
CL=18646
2008-11-05 21:50:28 -08:00
Russ Cox
a6af484328
more runtime support for chan select default
...
R=ken
OCL=18630
CL=18630
2008-11-05 18:04:24 -08:00
Russ Cox
b69e80d8dd
runtime support for default in select.
...
assumes cas->send == 2 for default case.
R=ken
OCL=18628
CL=18628
2008-11-05 17:57:18 -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
6f07ec721a
new interface error messages
...
package main
func main() {
var i interface { } = 1;
a := i.(*[]byte);
}
interface { } is int, not *[]uint8
throw: interface conversion
package main
func main() {
var i interface { };
a := i.(*[]byte);
}
interface is nil, not *[]uint8
throw: interface conversion
package main
func main() {
i := sys.unreflect(0, "*bogus");
a := i.(*[]byte);
}
interface { } is *bogus, not *[]uint8
throw: interface conversion
R=r
DELTA=30 (24 added, 2 deleted, 4 changed)
OCL=18548
CL=18565
2008-11-05 13:05:01 -08:00
Rob Pike
5a1cbe8b64
trim tags from type strings for structure fields.
...
R=rsc
DELTA=28 (14 added, 4 deleted, 10 changed)
OCL=18561
CL=18563
2008-11-05 13:01:33 -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
Rob Pike
44a82746a1
minor tweak to still non-portable alignment calculation
...
R=rsc
DELTA=4 (1 added, 1 deleted, 2 changed)
OCL=18528
CL=18533
2008-11-05 11:02:55 -08:00
Rob Pike
554d0aa589
make sizes and offsets int, not uint64
...
add Value.Interface, to extract an empty interface
that can be converted to a regular Go value of the
appropriate type, if known.
R=rsc
DELTA=49 (2 added, 0 deleted, 47 changed)
OCL=18526
CL=18526
2008-11-05 10:17:38 -08:00
Rob Pike
bdbb958895
fix bugs parsing functions in reflect library.
...
parsed interfaces wrong.
could not handle a function with a single type as a return value.
R=rsc
DELTA=34 (20 added, 2 deleted, 12 changed)
OCL=18511
CL=18520
2008-11-05 08:17:01 -08:00
Rob Pike
a45f947c34
type strings through the reflection library.
...
R=rsc
DELTA=187 (107 added, 28 deleted, 52 changed)
OCL=18510
CL=18510
2008-11-04 22:54:11 -08:00
Rob Pike
3200b06b14
prepare for recursive printfs
...
R=rsc
DELTA=31 (9 added, 6 deleted, 16 changed)
OCL=18470
CL=18472
2008-11-04 13:57:21 -08:00
Robert Griesemer
e2eccf3bd0
install bignum as library
...
R=r
DELTA=3501 (1752 added, 1749 deleted, 0 changed)
OCL=18460
CL=18471
2008-11-04 13:55:18 -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
bcd6403cc9
remove unnecessary 6g workaround
...
R=r
DELTA=51 (0 added, 0 deleted, 51 changed)
OCL=18399
CL=18402
2008-11-03 16:00:08 -08:00
Rob Pike
1ff61cefaa
move DotDotDot into next case - hit submit too fast last time.
...
R=rsc
DELTA=5 (1 added, 2 deleted, 2 changed)
OCL=18395
CL=18398
2008-11-03 15:57:12 -08:00
Rob Pike
730fd707cb
support ... as a special type in the reflection library.
...
R=rsc
DELTA=17 (17 added, 0 deleted, 0 changed)
OCL=18386
CL=18393
2008-11-03 15:50:11 -08:00
Russ Cox
c4969a3b93
update names after 6g change
...
TBR=r
OCL=18381
CL=18383
2008-11-03 15:38:27 -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
Rob Pike
63f38d62ac
in traceback, handle the case where we've called through a nil function pointer
...
R=rsc
DELTA=7 (7 added, 0 deleted, 0 changed)
OCL=18372
CL=18372
2008-11-03 15:22:15 -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
Rob Pike
6524b82fed
ascii to unsigned integer
...
R=rsc
DELTA=60 (35 added, 17 deleted, 8 changed)
OCL=18339
CL=18343
2008-11-03 11:40:33 -08:00
Rob Pike
2d4f7ba0cd
printf as we know and love it.
...
Plus print[ln] with the ability to print struct values.
Note for language mavens: if a "..." function passes its argument
to another "..." function, the argument is not wrapped again. This
allows printf to call fprintf without extra manipulation. It's good
but needs to go in the spec.
This code works:
///
package main
import fmt "fmt"
import os "os"
type T struct { s string; a, b int }
func main() {
P := fmt.Printer();
P.printf("%s = %d with float value %.4f\n", "hi there", 7, 123.456);
P.println("hi there", 7, 123.456);
P.fprintf(os.Stdout, "%s = %d with float value %.4f\n", "hi there", 7, 123.456);
P.println(T{"x", 7, 234}, "end of struct", 8, 9);
}
R=rsc
DELTA=28 (7 added, 3 deleted, 18 changed)
OCL=18321
CL=18324
2008-11-02 12:33:02 -08:00
Rob Pike
178e37e766
add creator for missing types, to avoid crashes when
...
signature is absent from object file.
R=rsc
DELTA=18 (18 added, 0 deleted, 0 changed)
OCL=18315
CL=18323
2008-11-02 12:32:14 -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
Rob Pike
59f029cbf2
a couple of bugs in print.
...
1) bool wasn't handled (added '%t' for 'truth').
2) float64 had a typo.
TBR=rsc
DELTA=11 (10 added, 0 deleted, 1 changed)
OCL=18314
CL=18318
2008-11-01 16:37:53 -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
Ian Lance Taylor
16fd356679
Add support for the basic type "bool".
...
R=r
DELTA=51 (51 added, 0 deleted, 0 changed)
OCL=18283
CL=18290
2008-10-31 16:34:47 -07:00
Rob Pike
613a5c8bc6
\x00 for NUL in type string.
...
R=rsc
DELTA=14 (9 added, 0 deleted, 5 changed)
OCL=18281
CL=18281
2008-10-31 15:26:14 -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
Rob Pike
15fa1e4033
add mention of tag string to grammar comment
...
R=rsc
DELTA=3 (2 added, 0 deleted, 1 changed)
OCL=18232
CL=18232
2008-10-31 09:59:29 -07:00
Rob Pike
12a3435869
reflection support for tag strings
...
R=rsc
DELTA=86 (77 added, 0 deleted, 9 changed)
OCL=18201
CL=18203
2008-10-30 17:29:53 -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
Russ Cox
d0abe4cbb2
./6.out
...
R=ken
OCL=18079
CL=18079
2008-10-29 16:41:01 -07:00
Ken Thompson
4fdf3d6247
bug 113
...
R=r
OCL=18077
CL=18077
2008-10-29 16:38:23 -07:00
Rob Pike
fe79e436b6
update fmt to int/int32 etc split
...
R=rsc
DELTA=9 (6 added, 0 deleted, 3 changed)
OCL=18072
CL=18075
2008-10-29 16:05:10 -07:00
Rob Pike
282493bbf6
update reflection library to int/int32 etc. split
...
fmt still to come
R=rsc
DELTA=168 (141 added, 19 deleted, 8 changed)
OCL=18064
CL=18071
2008-10-29 15:31:02 -07:00
Russ Cox
c5e7e19604
update linux for int/int32
...
R=r
DELTA=7 (0 added, 0 deleted, 7 changed)
OCL=18050
CL=18069
2008-10-29 15:23:36 -07:00
Russ Cox
527669e6b1
set -e doesn't apply to ( ) blocks
...
R=r
DELTA=6 (0 added, 0 deleted, 6 changed)
OCL=18044
CL=18068
2008-10-29 15:23:29 -07:00
Russ Cox
cc5a382802
update Fmt interface: d=int, ud=uint, d32=int32, d64=int64, etc.
...
R=r
DELTA=202 (60 added, 24 deleted, 118 changed)
OCL=18029
CL=18038
2008-10-29 14:28:19 -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
Russ Cox
9d20756dde
fix strings bug from CL 18024
...
R=r
OCL=18026
CL=18026
2008-10-29 13:17:04 -07:00
Russ Cox
bc67ea4f8f
adapt to new compiler types
...
R=r
OCL=18024
CL=18024
2008-10-29 13:09:39 -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
Robert Griesemer
2e777b44b8
- created staging area for getting bignum package up-to-speed again,
...
now using up-to-date language features
- moved old code away from pkg (defunct anyway because of language changes)
R=r
OCL=17916
CL=17916
2008-10-27 15:44:32 -07:00
Ken Thompson
e8278bcb29
allow len := 0
...
R=r
OCL=17869
CL=17869
2008-10-26 14:04:09 -07:00
Rob Pike
c4af3e7c2a
use embedded types to save boilerplate - almost 300 lines' worth
...
R=rsc
DELTA=427 (53 added, 302 deleted, 72 changed)
OCL=17857
CL=17868
2008-10-26 08:28:33 -07:00
Rob Pike
db25e787fe
fix top-level comments
...
R=rsc
DELTA=14 (13 added, 0 deleted, 1 changed)
OCL=17858
CL=17867
2008-10-26 08:27:50 -07:00
Rob Pike
84b66d25de
delete unused reflection playpen
...
R=rsc
DELTA=442 (0 added, 442 deleted, 0 changed)
OCL=17854
CL=17866
2008-10-26 08:27:27 -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
Rob Pike
a785e8ac6d
replaced baked-in address with @ so test passes on linux
...
R=rsc
OCL=17841
CL=17841
2008-10-24 21:02:51 -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
Rob Pike
418b97c670
add printf to fmt.
...
uses reflection to determine arguments.
for now, the arguments must be provided as a struct; the compiler
will soon do the packaging automatically for "..." parameters.
R=rsc
DELTA=1436 (909 added, 520 deleted, 7 changed)
OCL=17823
CL=17831
2008-10-24 16:33:29 -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
Robert Griesemer
ad863046f8
- set initial value in flag variable if provided
...
R=r
DELTA=10 (9 added, 0 deleted, 1 changed)
OCL=17806
CL=17812
2008-10-24 14:05:42 -07:00
Rob Pike
7466b61ba4
make fmt a directory
...
some build dependencies need rearrangement because fmt will depend on reflect
R=rsc
DELTA=1091 (567 added, 521 deleted, 3 changed)
OCL=17792
CL=17796
2008-10-24 10:42:54 -07:00
Rob Pike
8327b54169
make reflect compile again
...
R=rsc
DELTA=9 (4 added, 4 deleted, 1 changed)
OCL=17753
CL=17755
2008-10-23 17:39:15 -07:00
Rob Pike
536b1f2e98
add reflect to build, clean up test
...
R=rsc
DELTA=341 (188 added, 151 deleted, 2 changed)
OCL=17678
CL=17750
2008-10-23 17:13:34 -07:00
Russ Cox
de13727f0f
use &T{1,2,3} constructor for simple new cases
...
R=r
OCL=17691
CL=17719
2008-10-23 12:41:06 -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
Rob Pike
5d30161ca7
move reflection code into final place.
...
this is just a branch.
next cl will update and add to build
R=rsc
DELTA=4528 (2264 added, 2264 deleted, 0 changed)
OCL=17670
CL=17672
2008-10-22 17:12:07 -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
Rob Pike
f0e93e8cc5
fix a couple of inconsequential glitches in regexp code.
...
R=rsc
DELTA=2 (0 added, 1 deleted, 1 changed)
OCL=17589
CL=17595
2008-10-21 17:18:34 -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
aff914c6ec
add nuke
...
R=r
DELTA=3 (3 added, 0 deleted, 0 changed)
OCL=17497
CL=17500
2008-10-20 15:21:52 -07:00
Russ Cox
46d3497a04
run.bash: do not make test in gosrc
...
R=gri
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=17476
CL=17499
2008-10-20 15:08:53 -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
Rob Pike
03a9872fe3
add primitive ftoa, dtoa to strings library.
...
R=rsc
DELTA=72 (69 added, 0 deleted, 3 changed)
OCL=17478
CL=17480
2008-10-20 13:53:20 -07:00
Russ Cox
7c7a525d18
add io.ReadWriteClose and use it in http
...
R=r
DELTA=15 (6 added, 7 deleted, 2 changed)
OCL=17447
CL=17461
2008-10-20 12:37:07 -07:00
Ken Thompson
61361af9e8
unnamed substructures - not complete
...
R=r
OCL=17437
CL=17437
2008-10-19 20:13:37 -07:00
Rob Pike
35eebcacc8
fix typo causing infinite recursion
...
R=rsc
OCL=17398
CL=17398
2008-10-17 17:59:27 -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
Rob Pike
d378321b6e
add atol and ltoa. probably want unsigned at some point too.
...
R=rsc
DELTA=14 (10 added, 0 deleted, 4 changed)
OCL=17387
CL=17390
2008-10-17 17:28:09 -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
7cb6b6788c
new convert code found error
...
R=r
OCL=17327
CL=17327
2008-10-16 16:51:12 -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
Rob Pike
801f542b0f
remove hack now that vector of int works.
...
R=rsc
DELTA=9 (0 added, 3 deleted, 6 changed)
OCL=17248
CL=17250
2008-10-15 17:20:37 -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
Rob Pike
84523402fc
Make regexp build and install officially
...
R=rsc
DELTA=335 (172 added, 156 deleted, 7 changed)
OCL=17167
CL=17180
2008-10-14 22:16:45 -07:00
Rob Pike
69baaa9751
move regexp to lib
...
next cl will update names and add to build
R=rsc
DELTA=1876 (938 added, 938 deleted, 0 changed)
OCL=17149
CL=17166
2008-10-14 19:22:17 -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
900e076d21
handle zeroed interface in ifaceI2I
...
R=r
OCL=16938
CL=16938
2008-10-10 16:21:50 -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
Cary Hull
f960840a0e
Adding Mkdir.
...
R=rsc
APPROVED=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=16794
CL=16803
2008-10-09 00:15:37 -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
bbb00c62e1
split all.bash into make.bash and run.bash
...
R=r
OCL=16720
CL=16728
2008-10-08 09:46:54 -07:00
Russ Cox
103fec0455
add http to lib build
...
R=r
OCL=16721
CL=16727
2008-10-08 09:46:31 -07:00
Russ Cox
047c6ec6da
check $GOROOT before diving into build
...
R=r
DELTA=6 (6 added, 0 deleted, 0 changed)
OCL=16726
CL=16726
2008-10-08 09:46:20 -07:00
Cary Hull
f4a8db667b
Fixes breakage caused by semicolon restriction.
...
R=rsc
APPROVED=rsc
DELTA=50 (4 added, 0 deleted, 46 changed)
OCL=16707
CL=16725
2008-10-08 09:34:50 -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
Cary Hull
38c2472609
Unterminated declaration breaks build.
...
R=rsc
APPROVED=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=16688
CL=16690
2008-10-07 17:25:32 -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
e6cd1e445b
remove uses of *T as an implicit forward declaration of T
...
R=gri,r
OCL=16648
CL=16652
2008-10-07 12:59:54 -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
Russ Cox
983f06bdb6
update code to follow 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.
/home/rsc/bin/addsemi and then diff+tweak.
R=r,gri
OCL=16620
CL=16643
2008-10-07 12:31:31 -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
abb95518ab
add a script to build *everything*
...
R=r
DELTA=41 (41 added, 0 deleted, 0 changed)
OCL=16290
CL=16293
2008-10-01 11:06:13 -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
a4f15640aa
i can import "net" in package net
...
and still have a variable named "net"
R=r
DELTA=18 (0 added, 0 deleted, 18 changed)
OCL=16220
CL=16222
2008-09-30 14:03:13 -07:00
Russ Cox
1f1ae404f8
for loops in hashmap.
...
a few missing FLUSH.
R=ken
OCL=16221
CL=16221
2008-09-30 14:02:53 -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
Ian Lance Taylor
489b5001e2
Use unsigned int in itoa to avoid relying on the behaviour of
...
signed integer overflow when negating the most negative
integer.
R=rsc
DELTA=11 (0 added, 7 deleted, 4 changed)
OCL=16105
CL=16120
2008-09-29 13:40:23 -07:00
Russ Cox
e4a61c6524
* implement Linux epoll for polling i/o
...
* isolate OS-specific polling goop in Pollster type
* move generic poll loop out of fd_darwin.go into fd.go
R=r
DELTA=782 (448 added, 281 deleted, 53 changed)
OCL=16108
CL=16119
2008-09-29 13:37:00 -07:00
Russ Cox
878fe69bc1
delete unused files
...
R=r
DELTA=494 (0 added, 494 deleted, 0 changed)
OCL=16109
CL=16115
2008-09-29 13:16:28 -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
ce0f1dee6f
change print(float) from 5 to 7 sig digits
...
R=r
OCL=16045
CL=16045
2008-09-27 13:33:50 -07:00
Ken Thompson
7be2b9fdf6
bug in argument passing
...
R=r
OCL=16044
CL=16044
2008-09-27 13:32:38 -07:00
Ian Lance Taylor
2fb4edd3e1
Correct zoneinfo version number: it's not 2, it's '2'.
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=16032
CL=16040
2008-09-27 09:39:37 -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
43c5e63c00
Darwin kqueue/kevent-based network FDs
...
R=r
OCL=15998
CL=16004
2008-09-26 14:46:28 -07:00
Russ Cox
5267db394c
add os.Pipe
...
R=r
OCL=15989
CL=16001
2008-09-26 14:31:17 -07:00