]>
Cypherpunks repositories - gostls13.git/log
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
Ken Thompson [Sat, 25 Oct 2008 22:26:35 +0000 (15:26 -0700)]
test
R=r
OCL=17855
CL=17855
Ken Thompson [Sat, 25 Oct 2008 21:24:51 +0000 (14:24 -0700)]
bug
R=r
OCL=17853
CL=17853
Ken Thompson [Sat, 25 Oct 2008 20:50:18 +0000 (13:50 -0700)]
bug
R=r
OCL=17852
CL=17852
Ken Thompson [Sat, 25 Oct 2008 20:31:25 +0000 (13:31 -0700)]
embedded methods
R=r
OCL=17851
CL=17851
Ian Lance Taylor [Sat, 25 Oct 2008 05:40:32 +0000 (22:40 -0700)]
Per discussion earlier today with r and gri: when an interface
object has a value of type "int", it should not automatically
convert to type "int32". That is, the type alias "int" should
be regarded as having been defined as though "type int int32"
appeared outside of the package, and as therefore being a
different type from "int32".
R=ken
DELTA=21 (20 added, 0 deleted, 1 changed)
OCL=17587
CL=17842
Rob Pike [Sat, 25 Oct 2008 04:02:51 +0000 (21:02 -0700)]
replaced baked-in address with @ so test passes on linux
R=rsc
OCL=17841
CL=17841
Ken Thompson [Sat, 25 Oct 2008 03:14:28 +0000 (20:14 -0700)]
another step toward interface subtypes
put explicit ./ on some runtime tests
R=r
OCL=17839
CL=17839
Russ Cox [Sat, 25 Oct 2008 00:10:51 +0000 (17:10 -0700)]
avoid JMP to ATEXT in xfol
R=ken
OCL=17833
CL=17833
Russ Cox [Fri, 24 Oct 2008 23:43:12 +0000 (16:43 -0700)]
fix JMP main(SB)
R=ken
OCL=17832
CL=17832
Rob Pike [Fri, 24 Oct 2008 23:33:29 +0000 (16:33 -0700)]
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
Russ Cox [Fri, 24 Oct 2008 21:56:54 +0000 (14:56 -0700)]
fix method function type compare bug (again)
R=ken
OCL=17819
CL=17819
Russ Cox [Fri, 24 Oct 2008 21:32:48 +0000 (14:32 -0700)]
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
Russ Cox [Fri, 24 Oct 2008 21:29:01 +0000 (14:29 -0700)]
fix method function type compare bug
R=ken
OCL=17815
CL=17815
Robert Griesemer [Fri, 24 Oct 2008 21:08:01 +0000 (14:08 -0700)]
- missing file
R=r
OCL=17813
CL=17813
Robert Griesemer [Fri, 24 Oct 2008 21:05:42 +0000 (14:05 -0700)]
- set initial value in flag variable if provided
R=r
DELTA=10 (9 added, 0 deleted, 1 changed)
OCL=17806
CL=17812
Robert Griesemer [Fri, 24 Oct 2008 21:04:54 +0000 (14:04 -0700)]
- some factoring of scan/parse phase so we can attach other functionality
easily (for instance import dependency extraction)
- support for new "..." syntax
- minor cleanup
R=r
OCL=17811
CL=17811
Robert Griesemer [Fri, 24 Oct 2008 20:13:12 +0000 (13:13 -0700)]
Preparation for varargs: Proposal for syntax.
DELTA=11 (7 added, 0 deleted, 4 changed)
OCL=17772
CL=17804
Rob Pike [Fri, 24 Oct 2008 17:42:54 +0000 (10:42 -0700)]
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
Robert Griesemer [Fri, 24 Oct 2008 00:56:54 +0000 (17:56 -0700)]
- expanded parsing heuristics to deal with new(T, ...)
- fixed an issue with select
- added all bugs and fixedbugs tests that are syntactically correct to the test suite
- minor cosmetic changes
R=r
OCL=17759
CL=17759
Rob Pike [Fri, 24 Oct 2008 00:39:15 +0000 (17:39 -0700)]
make reflect compile again
R=rsc
DELTA=9 (4 added, 4 deleted, 1 changed)
OCL=17753
CL=17755
Robert Griesemer [Fri, 24 Oct 2008 00:19:56 +0000 (17:19 -0700)]
- clarified that composites are values created every time they
are evaluated, removed corresponding TODO.
R=r
DELTA=5 (3 added, 1 deleted, 1 changed)
OCL=17746
CL=17751
Rob Pike [Fri, 24 Oct 2008 00:13:34 +0000 (17:13 -0700)]
add reflect to build, clean up test
R=rsc
DELTA=341 (188 added, 151 deleted, 2 changed)
OCL=17678
CL=17750
Russ Cox [Thu, 23 Oct 2008 19:41:06 +0000 (12:41 -0700)]
use &T{1,2,3} constructor for simple new cases
R=r
OCL=17691
CL=17719
Robert Griesemer [Thu, 23 Oct 2008 19:04:45 +0000 (12:04 -0700)]
First cut at incorporating anonymous fields of pointer types into the
spec.
I have deliberately removed the wording about receivers where it was
before because I think it needs to be more precise. There is a TODO.
DELTA=90 (54 added, 0 deleted, 36 changed)
OCL=17597
CL=17716
Russ Cox [Thu, 23 Oct 2008 18:44:01 +0000 (11:44 -0700)]
update golden.out
R=iant
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=17680
CL=17711
Ken Thompson [Thu, 23 Oct 2008 01:18:08 +0000 (18:18 -0700)]
embedded types
auto & on methods
R=r
OCL=17682
CL=17682
Russ Cox [Thu, 23 Oct 2008 00:45:47 +0000 (17:45 -0700)]
do not use fake names on anonymous function return values
R=ken
OCL=17679
CL=17679
Ken Thompson [Thu, 23 Oct 2008 00:25:10 +0000 (17:25 -0700)]
embedded types
R=r
OCL=17676
CL=17676
Rob Pike [Thu, 23 Oct 2008 00:12:07 +0000 (17:12 -0700)]
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
Rob Pike [Wed, 22 Oct 2008 23:48:17 +0000 (16:48 -0700)]
Reflection values.
R=rsc
DELTA=206 (79 added, 25 deleted, 102 changed)
OCL=17652
CL=17669
Ian Lance Taylor [Wed, 22 Oct 2008 23:09:24 +0000 (16:09 -0700)]
Match gccgo error messages.
convlit.go:17: error: incompatible type in initialization
convlit.go:18: error: incompatible types in binary expression
convlit.go:19: error: incompatible types in binary expression
convlit.go:20: error: incompatible types in binary expression
convlit.go:21: error: incompatible types in binary expression
convlit.go:23: error: cannot convert non-integer constant
convlit.go:24: error: integer type overflow
convlit.go:25: error: floating point overflow
R=rsc
DELTA=5 (0 added, 0 deleted, 5 changed)
OCL=17649
CL=17661
Russ Cox [Wed, 22 Oct 2008 20:22:56 +0000 (13:22 -0700)]
import/export of embedded types
R=ken
OCL=17643
CL=17643
Russ Cox [Wed, 22 Oct 2008 20:13:01 +0000 (13:13 -0700)]
fix handling of *f() = 1
R=ken
OCL=17625
CL=17641
Rob Pike [Wed, 22 Oct 2008 20:02:43 +0000 (13:02 -0700)]
Add names to types to avoid recursive explosion and to get
the right answer when a type name redefines an existing type.
R=rsc
DELTA=133 (53 added, 8 deleted, 72 changed)
OCL=17637
CL=17639