]>
Cypherpunks repositories - gostls13.git/log
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
Ian Lance Taylor [Wed, 29 Oct 2008 22:48:34 +0000 (15:48 -0700)]
Call the right function for int32 values.
R=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=18073
CL=18073
Rob Pike [Wed, 29 Oct 2008 22:31:02 +0000 (15:31 -0700)]
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
Russ Cox [Wed, 29 Oct 2008 22:23:36 +0000 (15:23 -0700)]
update linux for int/int32
R=r
DELTA=7 (0 added, 0 deleted, 7 changed)
OCL=18050
CL=18069
Russ Cox [Wed, 29 Oct 2008 22:23:29 +0000 (15:23 -0700)]
set -e doesn't apply to ( ) blocks
R=r
DELTA=6 (0 added, 0 deleted, 6 changed)
OCL=18044
CL=18068
Russ Cox [Wed, 29 Oct 2008 21:28:19 +0000 (14:28 -0700)]
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
Russ Cox [Wed, 29 Oct 2008 21:09:48 +0000 (14:09 -0700)]
more simple test fixes
R=r
OCL=18035
CL=18035
Ken Thompson [Wed, 29 Oct 2008 21:09:32 +0000 (14:09 -0700)]
types
R=r
OCL=18034
CL=18034
Russ Cox [Wed, 29 Oct 2008 21:05:00 +0000 (14:05 -0700)]
update golden.out with new type names
R=r
OCL=18033
CL=18033
Russ Cox [Wed, 29 Oct 2008 20:58:12 +0000 (13:58 -0700)]
minor int/float fixes
R=ken
OCL=18032
CL=18032
Russ Cox [Wed, 29 Oct 2008 20:46:55 +0000 (13:46 -0700)]
shift bug in constant evaluator
R=ken
OCL=18031
CL=18031
Ken Thompson [Wed, 29 Oct 2008 20:40:00 +0000 (13:40 -0700)]
sigt_int
R=r
OCL=18030
CL=18030
Ken Thompson [Wed, 29 Oct 2008 20:18:21 +0000 (13:18 -0700)]
new(chan)
R=r
OCL=18027
CL=18027
Russ Cox [Wed, 29 Oct 2008 20:17:04 +0000 (13:17 -0700)]
fix strings bug from CL 18024
R=r
OCL=18026
CL=18026
Russ Cox [Wed, 29 Oct 2008 20:09:39 +0000 (13:09 -0700)]
adapt to new compiler types
R=r
OCL=18024
CL=18024
Ken Thompson [Wed, 29 Oct 2008 19:46:44 +0000 (12:46 -0700)]
the end of life as we know it
int is new type
R=r
OCL=18023
CL=18023
Robert Griesemer [Wed, 29 Oct 2008 03:20:55 +0000 (20:20 -0700)]
- update test.sh (caused an error since src/pkg dir is empty now)
R=r
OCL=17987
CL=17987
Robert Griesemer [Wed, 29 Oct 2008 01:42:26 +0000 (18:42 -0700)]
- steps towards implementation of div and mod
- string conversion in different bases
- tracked down a 6g bug, use work-around for now
R=r
OCL=17981
CL=17981
Russ Cox [Tue, 28 Oct 2008 08:02:33 +0000 (01:02 -0700)]
Uncomment the name/type error checking.
R=ken
OCL=17928
CL=17928
Robert Griesemer [Tue, 28 Oct 2008 00:57:31 +0000 (17:57 -0700)]
- bug fixes, cleanups
- integer string conversion
R=r
OCL=17923
CL=17923
Robert Griesemer [Mon, 27 Oct 2008 22:44:32 +0000 (15:44 -0700)]
- 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
Rob Pike [Mon, 27 Oct 2008 18:08:01 +0000 (11:08 -0700)]
update golden.out
R=ken
OCL=17900
CL=17900
Robert Griesemer [Mon, 27 Oct 2008 04:32:30 +0000 (21:32 -0700)]
- added simple facility to print Makefile dependency rules given a Go source file
(e.g.: pretty -d pretty.go will print the Makefile dep. rules of the involved
Go files that are not part of the installed library)
- minor fix in pretty printer (tested against ken's test files)
R=r
OCL=17872
CL=17872
Ken Thompson [Sun, 26 Oct 2008 21:04:09 +0000 (14:04 -0700)]
allow len := 0
R=r
OCL=17869
CL=17869
Rob Pike [Sun, 26 Oct 2008 15:28:33 +0000 (08:28 -0700)]
use embedded types to save boilerplate - almost 300 lines' worth
R=rsc
DELTA=427 (53 added, 302 deleted, 72 changed)
OCL=17857
CL=17868
Rob Pike [Sun, 26 Oct 2008 15:27:50 +0000 (08:27 -0700)]
fix top-level comments
R=rsc
DELTA=14 (13 added, 0 deleted, 1 changed)
OCL=17858
CL=17867
Rob Pike [Sun, 26 Oct 2008 15:27:27 +0000 (08:27 -0700)]
delete unused reflection playpen
R=rsc
DELTA=442 (0 added, 442 deleted, 0 changed)
OCL=17854
CL=17866