]>
Cypherpunks repositories - gostls13.git/log
Robert Griesemer [Sat, 8 Nov 2008 02:30:58 +0000 (18:30 -0800)]
- steps towards "flexible tab stops" simulation in pretty
printing output
- not yet enabled
R=r
OCL=18842
CL=18842
Rob Pike [Sat, 8 Nov 2008 00:17:42 +0000 (16:17 -0800)]
wrong system call number for stat
TBR=rsc
OCL=18833
CL=18833
Ken Thompson [Sat, 8 Nov 2008 00:05:17 +0000 (16:05 -0800)]
byte multiply
R=r
OCL=18830
CL=18830
Ken Thompson [Fri, 7 Nov 2008 22:20:32 +0000 (14:20 -0800)]
byte multiply
R=r
OCL=18807
CL=18807
Robert Griesemer [Fri, 7 Nov 2008 21:34:37 +0000 (13:34 -0800)]
- language to define type equality rigorously
- language for type guards
- fixed language for break statements
Also: Removed uses of "we" and replaced by impersonal language.
Minor cosmetic changes.
DELTA=237 (160 added, 34 deleted, 43 changed)
OCL=18620
CL=18800
Ian Lance Taylor [Fri, 7 Nov 2008 19:44:15 +0000 (11:44 -0800)]
Don't use a type guard with a type which is not an interface.
R=r,gri
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=18781
CL=18785
Ian Lance Taylor [Fri, 7 Nov 2008 06:27:32 +0000 (22:27 -0800)]
Test case for evaluation order of select statement.
R=r
DELTA=47 (47 added, 0 deleted, 0 changed)
OCL=18581
CL=18748
Ken Thompson [Fri, 7 Nov 2008 01:50:28 +0000 (17:50 -0800)]
bug in select default
R=r
OCL=18741
CL=18741
Ian Lance Taylor [Fri, 7 Nov 2008 01:39:48 +0000 (17:39 -0800)]
Erroneous test case. The break statement should break out of
a select clause.
R=ken
DELTA=20 (0 added, 20 deleted, 0 changed)
OCL=18731
CL=18739
Robert Griesemer [Fri, 7 Nov 2008 01:29:07 +0000 (17:29 -0800)]
- binomial implementation (fixing broken build)
R=r
OCL=18738
CL=18738
Rob Pike [Fri, 7 Nov 2008 00:32:28 +0000 (16:32 -0800)]
simpleminded ascii to floating point conversion
R=rsc
DELTA=111 (107 added, 0 deleted, 4 changed)
OCL=18720
CL=18725
Rob Pike [Thu, 6 Nov 2008 23:48:36 +0000 (15:48 -0800)]
add sys.float32bits, sys.float64bits
R=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=18709
CL=18718
Ian Lance Taylor [Thu, 6 Nov 2008 23:24:10 +0000 (15:24 -0800)]
Test that a break statement inside a select statement breaks
out of the enclosing loop.
R=ken
DELTA=20 (20 added, 0 deleted, 0 changed)
OCL=18686
CL=18714
Russ Cox [Thu, 6 Nov 2008 23:05:19 +0000 (15:05 -0800)]
s/gins/gbranch/
R=ken
OCL=18713
CL=18713
Russ Cox [Thu, 6 Nov 2008 22:50:58 +0000 (14:50 -0800)]
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
Robert Griesemer [Thu, 6 Nov 2008 22:23:49 +0000 (14:23 -0800)]
A recreational programming exercise:
Multiplication of a Hilbert matrix with its inverse using
Bignum.Rationals as a test case for rational arithmetic.
R=r
OCL=18706
CL=18706
Russ Cox [Thu, 6 Nov 2008 21:31:13 +0000 (13:31 -0800)]
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
Robert Griesemer [Thu, 6 Nov 2008 20:13:52 +0000 (12:13 -0800)]
- implemented String() and Format functionality in Bignum
- added a test
R=r
OCL=18687
CL=18687
Robert Griesemer [Thu, 6 Nov 2008 19:56:08 +0000 (11:56 -0800)]
- fixes to sprintf (by rob)
R=r
OCL=18685
CL=18685
Rob Pike [Thu, 6 Nov 2008 19:38:44 +0000 (11:38 -0800)]
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
Rob Pike [Thu, 6 Nov 2008 18:40:57 +0000 (10:40 -0800)]
Polymorphic printing.
R=rsc
DELTA=100 (70 added, 10 deleted, 20 changed)
OCL=18663
CL=18669
Ken Thompson [Thu, 6 Nov 2008 05:50:28 +0000 (21:50 -0800)]
select default
R=r
OCL=18646
CL=18646
Russ Cox [Thu, 6 Nov 2008 02:04:24 +0000 (18:04 -0800)]
more runtime support for chan select default
R=ken
OCL=18630
CL=18630
Russ Cox [Thu, 6 Nov 2008 01:57:18 +0000 (17:57 -0800)]
runtime support for default in select.
assumes cas->send == 2 for default case.
R=ken
OCL=18628
CL=18628
Russ Cox [Thu, 6 Nov 2008 00:09:12 +0000 (16:09 -0800)]
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
Robert Griesemer [Thu, 6 Nov 2008 00:05:36 +0000 (16:05 -0800)]
- fixed typo in parser.go
- re-enabled bug118.go for pretty
R=r
OCL=18604
CL=18604
Russ Cox [Wed, 5 Nov 2008 23:59:34 +0000 (15:59 -0800)]
fix renamed-package bug in exported names:
always show original name
R=ken
OCL=18603
CL=18603
Robert Griesemer [Wed, 5 Nov 2008 23:55:51 +0000 (15:55 -0800)]
- temporarily excluding bug118.go, causing pretty trouble
R=r
OCL=18602
CL=18602
Ken Thompson [Wed, 5 Nov 2008 23:33:01 +0000 (15:33 -0800)]
more on t,ok = I.(T)
R=r
OCL=18599
CL=18599
Ian Lance Taylor [Wed, 5 Nov 2008 23:27:40 +0000 (15:27 -0800)]
6g dumps core on this input file.
R=ken,rsc
DELTA=14 (14 added, 0 deleted, 0 changed)
OCL=18555
CL=18598
Ken Thompson [Wed, 5 Nov 2008 22:27:07 +0000 (14:27 -0800)]
T,ok = I.(T)
R=r
OCL=18580
CL=18582
Russ Cox [Wed, 5 Nov 2008 21:05:01 +0000 (13:05 -0800)]
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
Rob Pike [Wed, 5 Nov 2008 21:01:33 +0000 (13:01 -0800)]
trim tags from type strings for structure fields.
R=rsc
DELTA=28 (14 added, 4 deleted, 10 changed)
OCL=18561
CL=18563
Ian Lance Taylor [Wed, 5 Nov 2008 20:06:48 +0000 (12:06 -0800)]
Fix powser1.go to compile with the current 6g, which doesn't
recognize methods for a variable whose type is a named type
which is a pointer type. Add bug117 to test this case.
R=r
DELTA=24 (22 added, 0 deleted, 2 changed)
OCL=18547
CL=18554
Russ Cox [Wed, 5 Nov 2008 19:27:50 +0000 (11:27 -0800)]
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
Ian Lance Taylor [Wed, 5 Nov 2008 19:25:30 +0000 (11:25 -0800)]
Don't use a named pointer type as a receiver type. The
current spec forbids it:
The type specified by the type name is called ``receiver
base type''. The receiver base type must be a type
declared in the current file, and it must not be a pointer
type.
R=r
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=18527
CL=18541
Rob Pike [Wed, 5 Nov 2008 19:02:55 +0000 (11:02 -0800)]
minor tweak to still non-portable alignment calculation
R=rsc
DELTA=4 (1 added, 1 deleted, 2 changed)
OCL=18528
CL=18533
Rob Pike [Wed, 5 Nov 2008 18:17:38 +0000 (10:17 -0800)]
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
Rob Pike [Wed, 5 Nov 2008 16:17:01 +0000 (08:17 -0800)]
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
Rob Pike [Wed, 5 Nov 2008 06:54:11 +0000 (22:54 -0800)]
type strings through the reflection library.
R=rsc
DELTA=187 (107 added, 28 deleted, 52 changed)
OCL=18510
CL=18510
Robert Griesemer [Wed, 5 Nov 2008 00:46:45 +0000 (16:46 -0800)]
- added (incomplete) section on parameter passing
- decribe passing of "..." parameters for a start
R=r
DELTA=70 (69 added, 0 deleted, 1 changed)
OCL=18503
CL=18503
Rob Pike [Tue, 4 Nov 2008 22:33:47 +0000 (14:33 -0800)]
update golden.out
R=rsc
OCL=18482
CL=18484
Robert Griesemer [Tue, 4 Nov 2008 22:08:47 +0000 (14:08 -0800)]
get rid of bignum leftovers
R=r
OCL=18475
CL=18475
Rob Pike [Tue, 4 Nov 2008 21:57:21 +0000 (13:57 -0800)]
prepare for recursive printfs
R=rsc
DELTA=31 (9 added, 6 deleted, 16 changed)
OCL=18470
CL=18472
Robert Griesemer [Tue, 4 Nov 2008 21:55:18 +0000 (13:55 -0800)]
install bignum as library
R=r
DELTA=3501 (1752 added, 1749 deleted, 0 changed)
OCL=18460
CL=18471
Robert Griesemer [Tue, 4 Nov 2008 19:37:19 +0000 (11:37 -0800)]
- better support for string conversions
- removed trailing tabs
R=r
OCL=18458
CL=18458
Russ Cox [Tue, 4 Nov 2008 17:45:27 +0000 (09:45 -0800)]
move invalid method uses to new test
R=iant
DELTA=24 (13 added, 10 deleted, 1 changed)
OCL=18424
CL=18439
Robert Griesemer [Tue, 4 Nov 2008 17:33:15 +0000 (09:33 -0800)]
- completed integer support (some logical functions missing)
- completed rational support
- better documentation
- more tests
- cleanups
R=r
OCL=18438
CL=18438
Russ Cox [Tue, 4 Nov 2008 01:34:37 +0000 (17:34 -0800)]
runtime support for interface ok,
whatever the final syntax ends up being.
R=ken
OCL=18414
CL=18414
Russ Cox [Tue, 4 Nov 2008 00:03:12 +0000 (16:03 -0800)]
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
Russ Cox [Tue, 4 Nov 2008 00:00:08 +0000 (16:00 -0800)]
remove unnecessary 6g workaround
R=r
DELTA=51 (0 added, 0 deleted, 51 changed)
OCL=18399
CL=18402
Rob Pike [Mon, 3 Nov 2008 23:57:12 +0000 (15:57 -0800)]
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
Russ Cox [Mon, 3 Nov 2008 23:52:34 +0000 (15:52 -0800)]
fixed tests
R=r
DELTA=124 (62 added, 62 deleted, 0 changed)
OCL=18389
CL=18394
Rob Pike [Mon, 3 Nov 2008 23:50:11 +0000 (15:50 -0800)]
support ... as a special type in the reflection library.
R=rsc
DELTA=17 (17 added, 0 deleted, 0 changed)
OCL=18386
CL=18393
Russ Cox [Mon, 3 Nov 2008 23:38:27 +0000 (15:38 -0800)]
update names after 6g change
TBR=r
OCL=18381
CL=18383
Russ Cox [Mon, 3 Nov 2008 23:36:08 +0000 (15:36 -0800)]
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
Ken Thompson [Mon, 3 Nov 2008 23:32:49 +0000 (15:32 -0800)]
treat ... as agreed
only unencapsulated if passing one ddd
argument to one ddd parameter.
R=r
OCL=18376
CL=18376
Rob Pike [Mon, 3 Nov 2008 23:22:15 +0000 (15:22 -0800)]
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
Ken Thompson [Mon, 3 Nov 2008 21:27:16 +0000 (13:27 -0800)]
unsigned divide by fn()
R=r
OCL=18351
CL=18351
Russ Cox [Mon, 3 Nov 2008 21:09:30 +0000 (13:09 -0800)]
silence gcc warnings
R=ken
OCL=18348
CL=18348
Rob Pike [Mon, 3 Nov 2008 19:40:33 +0000 (11:40 -0800)]
ascii to unsigned integer
R=rsc
DELTA=60 (35 added, 17 deleted, 8 changed)
OCL=18339
CL=18343
Robert Griesemer [Mon, 3 Nov 2008 18:52:28 +0000 (10:52 -0800)]
- keeping track of to-do items
R=r
DELTA=15 (10 added, 3 deleted, 2 changed)
OCL=18334
CL=18336
Robert Griesemer [Mon, 3 Nov 2008 17:21:10 +0000 (09:21 -0800)]
- changed general div/mod implementation to a faster algorithm
(operates on 30bit values at a time instead of 20bit values)
- refactored and cleaned up lots of code
- more tests
- close to check-in as complete library
R=r
OCL=18326
CL=18326
Rob Pike [Sun, 2 Nov 2008 20:33:02 +0000 (12:33 -0800)]
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
Rob Pike [Sun, 2 Nov 2008 20:32:14 +0000 (12:32 -0800)]
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
Ken Thompson [Sun, 2 Nov 2008 00:53:12 +0000 (17:53 -0700)]
>>= and <<= shift bug
R=r
OCL=18322
CL=18322
Ken Thompson [Sat, 1 Nov 2008 23:52:12 +0000 (16:52 -0700)]
DOTDOTDOT import/export
R=r
OCL=18319
CL=18319
Rob Pike [Sat, 1 Nov 2008 23:37:53 +0000 (16:37 -0700)]
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
Ken Thompson [Sat, 1 Nov 2008 23:36:46 +0000 (16:36 -0700)]
DOTDOTDOT
R=r
OCL=18317
CL=18317
Ken Thompson [Sat, 1 Nov 2008 22:56:06 +0000 (15:56 -0700)]
sprint changed to snprint
R=r
OCL=18316
CL=18316
Robert Griesemer [Fri, 31 Oct 2008 23:58:56 +0000 (16:58 -0700)]
- gcd, exponentiation, population count
- more rational numbers stuff
- more tests
R=r
OCL=18295
CL=18295
Ian Lance Taylor [Fri, 31 Oct 2008 23:34:47 +0000 (16:34 -0700)]
Add support for the basic type "bool".
R=r
DELTA=51 (51 added, 0 deleted, 0 changed)
OCL=18283
CL=18290
Rob Pike [Fri, 31 Oct 2008 22:26:14 +0000 (15:26 -0700)]
\x00 for NUL in type string.
R=rsc
DELTA=14 (9 added, 0 deleted, 5 changed)
OCL=18281
CL=18281
Russ Cox [Fri, 31 Oct 2008 21:57:57 +0000 (14:57 -0700)]
make %Z handle embedded NULs; remove fixed-size buffer
R=r
DELTA=44 (2 added, 15 deleted, 27 changed)
OCL=18270
CL=18273
Ian Lance Taylor [Fri, 31 Oct 2008 21:55:57 +0000 (14:55 -0700)]
Recognize gccgo error message:
interface1.go:29:6: error: incompatible type in initialization (missing method Next)
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=18183
CL=18271
Robert Griesemer [Fri, 31 Oct 2008 21:27:34 +0000 (14:27 -0700)]
- handle field tags in pretty printer
R=r
OCL=18264
CL=18264
Robert Griesemer [Fri, 31 Oct 2008 17:52:59 +0000 (10:52 -0700)]
- fixed another test (arithmetic vs. logic shift bug)
R=r
OCL=18235
CL=18237
Rob Pike [Fri, 31 Oct 2008 16:59:29 +0000 (09:59 -0700)]
add mention of tag string to grammar comment
R=rsc
DELTA=3 (2 added, 0 deleted, 1 changed)
OCL=18232
CL=18232
Robert Griesemer [Fri, 31 Oct 2008 06:37:34 +0000 (23:37 -0700)]
- div and mod (arbitrary precision)
- more tests
- some global renames
R=r
OCL=18219
CL=18219
Rob Pike [Fri, 31 Oct 2008 00:29:53 +0000 (17:29 -0700)]
reflection support for tag strings
R=rsc
DELTA=86 (77 added, 0 deleted, 9 changed)
OCL=18201
CL=18203
Russ Cox [Fri, 31 Oct 2008 00:28:33 +0000 (17:28 -0700)]
escape \ in %Z
R=ken
OCL=18202
CL=18202
Russ Cox [Thu, 30 Oct 2008 23:33:50 +0000 (16:33 -0700)]
change from $$ to \n$$ for .6 meta section delimiter
R=r
DELTA=13 (5 added, 0 deleted, 8 changed)
OCL=18190
CL=18192
Robert Griesemer [Thu, 30 Oct 2008 22:52:37 +0000 (15:52 -0700)]
- language for struct field tags
DELTA=17 (15 added, 0 deleted, 2 changed)
OCL=18177
CL=18184
Russ Cox [Thu, 30 Oct 2008 22:35:56 +0000 (15:35 -0700)]
make %Z escape "
R=ken
OCL=18180
CL=18180
Russ Cox [Thu, 30 Oct 2008 22:29:55 +0000 (15:29 -0700)]
annotations on embedded types
R=ken
OCL=18179
CL=18179
Russ Cox [Thu, 30 Oct 2008 22:25:26 +0000 (15:25 -0700)]
struct annotations in imports.
distribute tag across multiple names.
R=ken
OCL=18178
CL=18178
Russ Cox [Thu, 30 Oct 2008 22:13:09 +0000 (15:13 -0700)]
structure field annotation strings
R=ken
OCL=18176
CL=18176
Robert Griesemer [Thu, 30 Oct 2008 21:50:23 +0000 (14:50 -0700)]
- clarified section on numeric types: platform-dependent types
are different from platform-independent types (not just aliases),
except for byte, uint8
- added missing documentation of new(a, len, cap)
- updated todo/issues lists
DELTA=70 (24 added, 21 deleted, 25 changed)
OCL=17920
CL=18174
Ken Thompson [Thu, 30 Oct 2008 21:32:04 +0000 (14:32 -0700)]
shift bug
R=r
OCL=18166
CL=18166
Rob Pike [Thu, 30 Oct 2008 20:26:57 +0000 (13:26 -0700)]
update tests
R=rsc
DELTA=159 (65 added, 84 deleted, 10 changed)
OCL=18149
CL=18151
Russ Cox [Thu, 30 Oct 2008 19:43:32 +0000 (12:43 -0700)]
make sure errchk only prints BUG once.
using a variable is not sufficient, because
sometimes bug() is called from a subshell.
R=iant
DELTA=7 (2 added, 1 deleted, 4 changed)
OCL=18092
CL=18145
Robert Griesemer [Thu, 30 Oct 2008 05:05:42 +0000 (22:05 -0700)]
- implemented Shr
- removed shift work-arounds (6g code appears to work now)
- made similar routines more regular in structure
- more tests
R=r
OCL=18102
CL=18102
Ken Thompson [Thu, 30 Oct 2008 03:25:34 +0000 (20:25 -0700)]
shift bugs
R=r
OCL=18095
CL=18095
Russ Cox [Thu, 30 Oct 2008 02:59:36 +0000 (19:59 -0700)]
apply change suggested in CL 16658 review
R=r
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=18091
CL=18094
Russ Cox [Thu, 30 Oct 2008 02:34:47 +0000 (19:34 -0700)]
bugs from old gri mail
R=gri
OCL=18093
CL=18093
Ken Thompson [Wed, 29 Oct 2008 23:55:52 +0000 (16:55 -0700)]
bug 113
R=r
OCL=18081
CL=18081
Robert Griesemer [Wed, 29 Oct 2008 23:48:53 +0000 (16:48 -0700)]
- added shl operation, extra tests
- fixed code so it works with any base between 9 and 64
- work-around for 6g shift problems in various places
R=r
OCL=18080
CL=18080
Russ Cox [Wed, 29 Oct 2008 23:41:01 +0000 (16:41 -0700)]
./6.out
R=ken
OCL=18079
CL=18079
Ken Thompson [Wed, 29 Oct 2008 23:38:23 +0000 (16:38 -0700)]
bug 113
R=r
OCL=18077
CL=18077
Rob Pike [Wed, 29 Oct 2008 23:05:10 +0000 (16:05 -0700)]
update fmt to int/int32 etc split
R=rsc
DELTA=9 (6 added, 0 deleted, 3 changed)
OCL=18072
CL=18075