]>
Cypherpunks repositories - gostls13.git/log
Robert Griesemer [Thu, 6 Aug 2009 19:05:16 +0000 (12:05 -0700)]
- bufio.ReadRune fix for empty reads w/o errors
- added testcases
R=rsc
DELTA=61 (56 added, 2 deleted, 3 changed)
OCL=32831
CL=32834
Robert Griesemer [Thu, 6 Aug 2009 17:53:29 +0000 (10:53 -0700)]
minor fix
R=rsc
DELTA=2 (1 added, 1 deleted, 0 changed)
OCL=32828
CL=32830
Rob Pike [Thu, 6 Aug 2009 01:44:49 +0000 (18:44 -0700)]
parallel spectral-norm
R=rsc
DELTA=85 (84 added, 1 deleted, 0 changed)
OCL=32810
CL=32810
Rob Pike [Thu, 6 Aug 2009 00:25:38 +0000 (17:25 -0700)]
spectral-norm
make regexp-dna use bytes not strings (no significant timing change)
R=rsc
DELTA=149 (138 added, 1 deleted, 10 changed)
OCL=32804
CL=32807
Robert Griesemer [Wed, 5 Aug 2009 22:56:44 +0000 (15:56 -0700)]
- FieldByName lookup through anonymous fields
- FieldByIndex
- changed StructField.Index type from int -> []int
- adjustments to reflect clients
R=rsc,r
DELTA=336 (263 added, 47 deleted, 26 changed)
OCL=32731
CL=32802
Rob Pike [Wed, 5 Aug 2009 22:44:45 +0000 (15:44 -0700)]
support []byte (more efficient) as well as string in the interfaces.
change the names; Match is for []byte and MatchString is for string, etc.
R=rsc
DELTA=195 (155 added, 0 deleted, 40 changed)
OCL=32800
CL=32800
Rob Pike [Wed, 5 Aug 2009 21:40:34 +0000 (14:40 -0700)]
special case: recognize '[^\n]' and make it as fast as '.'
R=rsc
DELTA=25 (23 added, 1 deleted, 1 changed)
OCL=32793
CL=32799
Austin Clements [Wed, 5 Aug 2009 21:18:54 +0000 (14:18 -0700)]
Make os.RemoveAll return no error if path does not exist.
This fixes a problem introduced by CL 32684 into gobuild,
which used to use 'rm -rf' to remove the _obj directory.
R=rsc
APPROVED=rsc
DELTA=8 (4 added, 0 deleted, 4 changed)
OCL=32794
CL=32796
Rob Pike [Wed, 5 Aug 2009 20:03:46 +0000 (13:03 -0700)]
regex-dna
R=rsc
DELTA=243 (242 added, 0 deleted, 1 changed)
OCL=32786
CL=32791
Austin Clements [Wed, 5 Aug 2009 18:49:51 +0000 (11:49 -0700)]
Implement struct types, selector expressions, and type
declarations.
R=rsc
APPROVED=rsc
DELTA=587 (519 added, 21 deleted, 47 changed)
OCL=32754
CL=32788
Rob Pike [Wed, 5 Aug 2009 18:33:59 +0000 (11:33 -0700)]
fannkuch
R=rsc
DELTA=240 (239 added, 0 deleted, 1 changed)
OCL=32783
CL=32785
Russ Cox [Wed, 5 Aug 2009 09:33:30 +0000 (02:33 -0700)]
delay range processing. old2new is gone
R=ken
OCL=32780
CL=32780
Russ Cox [Wed, 5 Aug 2009 07:42:44 +0000 (00:42 -0700)]
delay := processing
R=ken
OCL=32772
CL=32772
Russ Cox [Wed, 5 Aug 2009 07:11:24 +0000 (00:11 -0700)]
fix amd64 build
R=ken
OCL=32771
CL=32771
Russ Cox [Wed, 5 Aug 2009 05:59:23 +0000 (22:59 -0700)]
make Syms smaller.
collapse a lot of duplication in dcl.c
switch to NodeList* from Dcl*
R=ken
OCL=32770
CL=32770
Rob Pike [Wed, 5 Aug 2009 02:38:08 +0000 (19:38 -0700)]
binary tree
R=rsc
DELTA=324 (323 added, 0 deleted, 1 changed)
OCL=32759
CL=32768
Russ Cox [Wed, 5 Aug 2009 02:16:57 +0000 (19:16 -0700)]
get function calls out of the way before
allocating registers in shift and div.
fix behavior when res == a reserved register.
R=ken
OCL=32765
CL=32767
Russ Cox [Wed, 5 Aug 2009 01:43:32 +0000 (18:43 -0700)]
move various bits of code around
and delete some dead code.
no actual changes here.
R=ken
OCL=32764
CL=32764
Russ Cox [Wed, 5 Aug 2009 00:59:10 +0000 (17:59 -0700)]
fix division bug
R=ken
OCL=32760
CL=32760
Rob Pike [Wed, 5 Aug 2009 00:31:19 +0000 (17:31 -0700)]
add info about Sqrt instruction
couple of fixes to timing.sh
R=rsc
DELTA=10 (5 added, 0 deleted, 5 changed)
OCL=32742
CL=32756
Russ Cox [Tue, 4 Aug 2009 23:53:06 +0000 (16:53 -0700)]
delayed evaluation of var blocks
R=ken
OCL=32750
CL=32753
Rob Pike [Tue, 4 Aug 2009 22:35:58 +0000 (15:35 -0700)]
fix build
R=gri,rsc
OCL=32748
CL=32748
Rob Pike [Tue, 4 Aug 2009 21:27:46 +0000 (14:27 -0700)]
nbody benchmark
timing.sh improvements
R=rsc
DELTA=334 (319 added, 0 deleted, 15 changed)
OCL=32734
CL=32736
Russ Cox [Tue, 4 Aug 2009 21:22:23 +0000 (14:22 -0700)]
trailing newlines
R=r
DELTA=0 (0 added, 0 deleted, 0 changed)
OCL=32730
CL=32735
Rob Pike [Tue, 4 Aug 2009 21:07:17 +0000 (14:07 -0700)]
improve myrandom() in fasta.
add script to automate timing
R=rsc
DELTA=78 (68 added, 0 deleted, 10 changed)
OCL=32729
CL=32732
Rob Pike [Tue, 4 Aug 2009 20:04:37 +0000 (13:04 -0700)]
another benchmark: reverse-complement
R=rsc
DELTA=682 (511 added, 171 deleted, 0 changed)
OCL=32725
CL=32727
Russ Cox [Tue, 4 Aug 2009 19:57:48 +0000 (12:57 -0700)]
move select into its own file.
split into typecheck + walk
R=ken
OCL=32726
CL=32726
Russ Cox [Tue, 4 Aug 2009 17:26:29 +0000 (10:26 -0700)]
type checking of assignments, switch, if, for
R=ken
OCL=32716
CL=32720
Rob Pike [Tue, 4 Aug 2009 17:13:58 +0000 (10:13 -0700)]
clean up the code a bit
start a log of progress
R=rsc
DELTA=222 (185 added, 17 deleted, 20 changed)
OCL=32701
CL=32718
Rob Pike [Tue, 4 Aug 2009 04:03:58 +0000 (21:03 -0700)]
benchmark checkpoint milestone checkin submission
R=rsc
DELTA=311 (311 added, 0 deleted, 0 changed)
OCL=32696
CL=32699
Rob Pike [Tue, 4 Aug 2009 04:03:40 +0000 (21:03 -0700)]
print profile to stderr. sheesh.
R=rsc
DELTA=40 (0 added, 0 deleted, 40 changed)
OCL=32694
CL=32698
Rob Pike [Tue, 4 Aug 2009 01:28:05 +0000 (18:28 -0700)]
WriteString
R=rsc
DELTA=41 (41 added, 0 deleted, 0 changed)
OCL=32692
CL=32697
Rob Pike [Mon, 3 Aug 2009 22:27:15 +0000 (15:27 -0700)]
this time really clean up a TODO
R=rsc
DELTA=28 (0 added, 20 deleted, 8 changed)
OCL=32676
CL=32684
Rob Pike [Mon, 3 Aug 2009 21:07:19 +0000 (14:07 -0700)]
clean up a TODO
R=rsc
DELTA=45 (28 added, 4 deleted, 13 changed)
OCL=32673
CL=32675
Rob Pike [Mon, 3 Aug 2009 20:34:20 +0000 (13:34 -0700)]
don't crash printing a nil map
R=rsc
DELTA=19 (18 added, 0 deleted, 1 changed)
OCL=32656
CL=32670
Russ Cox [Mon, 3 Aug 2009 18:58:52 +0000 (11:58 -0700)]
more 6g reorg; checkpoint.
typecheck.c is now responsible for all type checking
except for assignment and function argument "..."
R=ken
OCL=32661
CL=32667
Robert Griesemer [Mon, 3 Aug 2009 16:53:00 +0000 (09:53 -0700)]
printer.go:
- emit line tag id's in html mode
- support for general html tags
- better names for a few identifiers
godoc.go:
- emit links from exported names to source code
(actual placement needs fine-tuning)
R=rsc
DELTA=108 (68 added, 4 deleted, 36 changed)
OCL=32639
CL=32654
Robert Griesemer [Sat, 1 Aug 2009 01:40:11 +0000 (18:40 -0700)]
fix long-standing bug in doc reader:
- replace forward-declared types with complete
declaration when it is found
R=rsc
DELTA=23 (15 added, 0 deleted, 8 changed)
OCL=32618
CL=32618
Robert Griesemer [Sat, 1 Aug 2009 01:05:07 +0000 (18:05 -0700)]
language re: conversion of left operand in shift operations
DELTA=5 (5 added, 0 deleted, 0 changed)
OCL=32484
CL=32617
Robert Griesemer [Sat, 1 Aug 2009 01:04:53 +0000 (18:04 -0700)]
printer:
- prepare for generation of HTML id tags and links
- do HTML-escaping in central print routine
- move tabwriter setup into printer
- fixed various TODOs
godoc:
- removed tabwriter setup, need for various HTML-escaping
R=rsc
DELTA=210 (107 added, 36 deleted, 67 changed)
OCL=32612
CL=32616
Rob Pike [Sat, 1 Aug 2009 00:54:00 +0000 (17:54 -0700)]
more info about comments
R=rsc
DELTA=100 (82 added, 4 deleted, 14 changed)
OCL=32609
CL=32615
Austin Clements [Sat, 1 Aug 2009 00:11:34 +0000 (17:11 -0700)]
Implement type compatibility and fix places where I thought
types were supposed to be identical but only needed to be
compatible. This gets rid of the Type.literal method. I
renamed the Type.rep method to Type.lit because I believe it
corresponds to the term "literal" as used in the spec.
R=rsc
APPROVED=rsc
DELTA=228 (57 added, 35 deleted, 136 changed)
OCL=32606
CL=32608
Austin Clements [Fri, 31 Jul 2009 22:51:27 +0000 (15:51 -0700)]
Implement var declarations. Variables, constants, and types now carry
the position where they were defined so I can produce good
error messages on redefinitions.
R=rsc
APPROVED=rsc
DELTA=204 (126 added, 13 deleted, 65 changed)
OCL=32599
CL=32605
Rob Pike [Fri, 31 Jul 2009 19:52:03 +0000 (12:52 -0700)]
add test of invariant in findVar
R=rsc
DELTA=23 (23 added, 0 deleted, 0 changed)
OCL=32592
CL=32595
Rob Pike [Fri, 31 Jul 2009 19:42:29 +0000 (12:42 -0700)]
delete unused arg to empty.
add commentary about findVar's invariant.
R=rsc
DELTA=6 (3 added, 0 deleted, 3 changed)
OCL=32583
CL=32594
Rob Pike [Fri, 31 Jul 2009 19:42:21 +0000 (12:42 -0700)]
make %v and %p consistent
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=32591
CL=32593
Rob Pike [Fri, 31 Jul 2009 18:41:30 +0000 (11:41 -0700)]
cleanup pass before big edits
R=rsc
DELTA=73 (27 added, 25 deleted, 21 changed)
OCL=32587
CL=32587
Russ Cox [Fri, 31 Jul 2009 16:45:39 +0000 (09:45 -0700)]
missed in last checkin
R=ken
OCL=32581
CL=32581
Russ Cox [Fri, 31 Jul 2009 16:29:28 +0000 (09:29 -0700)]
checkpoint; still plenty to clean up
R=ken
OCL=32576
CL=32580
Robert Griesemer [Fri, 31 Jul 2009 02:39:47 +0000 (19:39 -0700)]
- don't call String method of AST nodes when converting them to text
- make token.Position.String more robust
TBR=rsc
DELTA=20 (10 added, 6 deleted, 4 changed)
OCL=32564
CL=32564
Robert Griesemer [Fri, 31 Jul 2009 02:29:31 +0000 (19:29 -0700)]
bug fix
R=rsc
OCL=32563
CL=32563
Russ Cox [Fri, 31 Jul 2009 01:56:44 +0000 (18:56 -0700)]
delete some code from walkexpr that is now
handled by typecheck.
second switch is gone
move floating point minus into back end
R=ken
OCL=32558
CL=32558
Rob Pike [Fri, 31 Jul 2009 01:17:07 +0000 (18:17 -0700)]
dotted names
R=rsc
DELTA=28 (19 added, 0 deleted, 9 changed)
OCL=32550
CL=32554
Robert Griesemer [Fri, 31 Jul 2009 01:13:55 +0000 (18:13 -0700)]
go/ast/filter.go:
- more orthogonal functionality of filter functions for better re-use
go/doc/doc.go:
- simplified interface
- collect filenames of packages so that they can be shown
godoc:
- removed TODO, show list of package (linked) files used to create documentation
R=rsc
DELTA=130 (68 added, 24 deleted, 38 changed)
OCL=32549
CL=32552
Austin Clements [Thu, 30 Jul 2009 23:58:19 +0000 (16:58 -0700)]
String method for token.Position. Extracted from gri's tree.
R=gri
APPROVED=gri
DELTA=33 (20 added, 6 deleted, 7 changed)
OCL=32544
CL=32546
Rob Pike [Thu, 30 Jul 2009 23:57:46 +0000 (16:57 -0700)]
fix a long-standing typo
R=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=32540
CL=32545
Russ Cox [Thu, 30 Jul 2009 23:53:08 +0000 (16:53 -0700)]
typechecking checkpoint.
started to move typechecking to another file.
can build entire tree still, but lots of work
is duplicated. much to clean up.
R=ken
OCL=32536
CL=32543
Russ Cox [Thu, 30 Jul 2009 23:46:14 +0000 (16:46 -0700)]
use errchk in more places.
let errchk exit 0 even if it has reported a BUG.
it echoed BUG and that's all that matters.
R=r
DELTA=143 (1 added, 89 deleted, 53 changed)
OCL=32533
CL=32542
Austin Clements [Thu, 30 Jul 2009 21:39:27 +0000 (14:39 -0700)]
Implement labels, goto, labeled break, and labeled continue.
Return checking is now done as a general flow check at the end
of function compilation, since break and goto complicated the
way I was doing return checking before. Goto-over-declaration
checking is also done as a final flow check.
Temporary variables used for effect extraction are now
actually temporary. Otherwise "op=", "++", and "--" appear as
declarations that cannot be jumped over.
R=rsc
APPROVED=rsc
DELTA=421 (344 added, 38 deleted, 39 changed)
OCL=32527
CL=32535
Russ Cox [Thu, 30 Jul 2009 19:54:38 +0000 (12:54 -0700)]
use full path on command line when compiling,
so that gdb shows full path in stack traces.
R=r
DELTA=4 (4 added, 0 deleted, 0 changed)
OCL=32522
CL=32528
Russ Cox [Thu, 30 Jul 2009 18:03:58 +0000 (11:03 -0700)]
fix build on amd64
R=ken
OCL=32521
CL=32521
Russ Cox [Thu, 30 Jul 2009 01:33:31 +0000 (18:33 -0700)]
fixed golden.out, which is what 32496 should have done.
roll back 32496
TBR=austin
OCL=32499
CL=32501
Russ Cox [Thu, 30 Jul 2009 01:18:12 +0000 (18:18 -0700)]
fix build
TBR=austin
OCL=32496
CL=32496
Rob Pike [Thu, 30 Jul 2009 00:24:25 +0000 (17:24 -0700)]
handle unsupported types safely.
R=rsc
DELTA=154 (71 added, 6 deleted, 77 changed)
OCL=32483
CL=32492
Robert Griesemer [Thu, 30 Jul 2009 00:01:09 +0000 (17:01 -0700)]
parser:
- Changed filter function for parser.ParsePackage to
take an *os.Dir instead of a filename for more
powerful filters
- Removed TODO in ast.PackageInterface: Now collect
package comments from all package files
- Cleanups in godoc: Use the new ParsePackage and
PackageInterface functions; as a result computing
package information is much simpler now.
R=rsc
DELTA=285 (80 added, 110 deleted, 95 changed)
OCL=32473
CL=32486
Robert Griesemer [Wed, 29 Jul 2009 23:23:17 +0000 (16:23 -0700)]
break tabwriter columns when starting a new block of indented statements
R=r
DELTA=16 (15 added, 0 deleted, 1 changed)
OCL=32475
CL=32481
Russ Cox [Wed, 29 Jul 2009 22:39:05 +0000 (15:39 -0700)]
bug136 unfixed
R=austin
DELTA=35 (21 added, 14 deleted, 0 changed)
OCL=32469
CL=32474
Rob Pike [Wed, 29 Jul 2009 22:33:12 +0000 (15:33 -0700)]
fix typo
R=rsc
OCL=32472
CL=32472
Russ Cox [Wed, 29 Jul 2009 22:30:54 +0000 (15:30 -0700)]
another test error tweak
5 known bugs; 0 unexpected bugs; test output differs
R=r
DELTA=3 (2 added, 0 deleted, 1 changed)
OCL=32468
CL=32470
Rob Pike [Wed, 29 Jul 2009 22:24:42 +0000 (15:24 -0700)]
clean up EOF
R=rsc
DELTA=5 (0 added, 1 deleted, 4 changed)
OCL=32465
CL=32467
Russ Cox [Wed, 29 Jul 2009 22:11:19 +0000 (15:11 -0700)]
tweak final line of test output:
4 known bugs; 0 unexpected bugs
which should be less scary to people
unfamiliar with the tests.
R=r
DELTA=44 (29 added, 12 deleted, 3 changed)
OCL=32460
CL=32464
Rob Pike [Wed, 29 Jul 2009 22:10:29 +0000 (15:10 -0700)]
handle some error conditions involving bad data.
R=rsc
DELTA=32 (24 added, 1 deleted, 7 changed)
OCL=32461
CL=32463
Russ Cox [Wed, 29 Jul 2009 21:49:01 +0000 (14:49 -0700)]
break and continue fixes
labeled break/continue was using
first loop with any label,
not first loop with the right label.
R=ken
OCL=32453
CL=32458
Rob Pike [Wed, 29 Jul 2009 20:26:49 +0000 (13:26 -0700)]
statistics HTML page for rpc
R=rsc
DELTA=121 (115 added, 0 deleted, 6 changed)
OCL=32427
CL=32429
Russ Cox [Wed, 29 Jul 2009 19:47:51 +0000 (12:47 -0700)]
introduce typecheck pass before walkexpr.
not complete but compiler still works.
R=ken
OCL=32424
CL=32426
Russ Cox [Wed, 29 Jul 2009 19:00:34 +0000 (12:00 -0700)]
convert walkexpr to take Node**; drop indir
R=ken
OCL=32421
CL=32421
Austin Clements [Wed, 29 Jul 2009 18:57:46 +0000 (11:57 -0700)]
Flatten the Frame tree. Now each function call produces a
single frame and non-overlapping variables reuse frame slots.
As a result, entering and exiting blocks no longer requires
code execution, which means jumps across block boundaries
should be doable now. Frame slot initialization happens at
definition time now, instead of at frame creation time. As an
added bonus, Scope's are now exclusively compile-time objects
and we no longer need to specially track the function
activation frame for access to out vars.
R=rsc
APPROVED=rsc
DELTA=313 (102 added, 90 deleted, 121 changed)
OCL=32416
CL=32420
Russ Cox [Wed, 29 Jul 2009 18:51:34 +0000 (11:51 -0700)]
expression printer; %#N
R=ken
OCL=32419
CL=32419
Russ Cox [Wed, 29 Jul 2009 18:47:11 +0000 (11:47 -0700)]
quietgcc: do not use -m64 on 32-bit machines
R=r
DELTA=9 (8 added, 0 deleted, 1 changed)
OCL=32413
CL=32418
Russ Cox [Wed, 29 Jul 2009 03:01:00 +0000 (20:01 -0700)]
make every func literal expression allocate,
so that == on func means that the
functions originated in the same
execution of a func literal or definition.
before, there was an inconsistency:
func() {x++} != func() {x++}
but
func() {} == func() {}
this CL makes the second case != too,
just like
make(map[int]int) != make(map[int]int)
R=r
DELTA=202 (71 added, 62 deleted, 69 changed)
OCL=32393
CL=32398
David Symonds [Wed, 29 Jul 2009 01:19:16 +0000 (18:19 -0700)]
Add a unique list ID to list elements, and verify it as necessary.
This makes the list closed under its provided operations.
R=rsc,gri
APPROVED=rsc
DELTA=18 (14 added, 0 deleted, 4 changed)
OCL=32388
CL=32395
Robert Griesemer [Wed, 29 Jul 2009 00:52:30 +0000 (17:52 -0700)]
missed changes to Makefiles for container/ring
R=rsc
DELTA=3 (3 added, 0 deleted, 0 changed)
OCL=32389
CL=32392
Rob Pike [Wed, 29 Jul 2009 00:20:19 +0000 (17:20 -0700)]
change the encoding of uints to simplify overflow checking and to make them
easier and faster to read. they are now either a one-byte value or a n-byte value
preceded by a byte holding -n.
R=rsc
DELTA=150 (45 added, 7 deleted, 98 changed)
OCL=32381
CL=32387
Russ Cox [Wed, 29 Jul 2009 00:02:05 +0000 (17:02 -0700)]
fix error that gcc thinks is a warning
R=ken
OCL=32264
CL=32386
Russ Cox [Wed, 29 Jul 2009 00:01:46 +0000 (17:01 -0700)]
bug177: anonymous struct fields in reflect
(reported by iant)
R=r
DELTA=50 (32 added, 12 deleted, 6 changed)
OCL=32263
CL=32385
Austin Clements [Tue, 28 Jul 2009 23:40:23 +0000 (16:40 -0700)]
Implement comparison operators.
R=rsc
APPROVED=rsc
DELTA=304 (281 added, 0 deleted, 23 changed)
OCL=32361
CL=32382
Robert Griesemer [Tue, 28 Jul 2009 23:38:59 +0000 (16:38 -0700)]
Intersperse comments nicely when printing an AST.
gofmt formatted source code looks pretty good already;
with a bit more fine-tuning it should be great.
printer.go:
- Implemented comment intersperse algorithm.
The approach is a result of many trial-and-error
experiments but at this point reasonably simple
and open to arbitrary fine-tuning.
parser.go:
- Simplified handling of lead and line comments
(formerly called leading and trailing comments).
- Use a comments list instead of an array (I may
change this back - this is not obviously better
and uses more space).
doc.go:
- Remove comments from AST nodes that have been
'consumed' in the documentation to avoid duplicate
printing of them. Allows for better control of
what is printed w/o use of printing control flags
(which are hard to use and not fine-grained enough).
Corresponding adjustments to various clients of these
files.
R=rsc
DELTA=478 (275 added, 108 deleted, 95 changed)
OCL=32185
CL=32380
Austin Clements [Tue, 28 Jul 2009 23:38:41 +0000 (16:38 -0700)]
Fix segfault on unnamed function arguments. Make continue
jump to the post statement instead of the condition check.
R=rsc
APPROVED=rsc
DELTA=10 (6 added, 1 deleted, 3 changed)
OCL=32359
CL=32379
Robert Griesemer [Tue, 28 Jul 2009 22:03:05 +0000 (15:03 -0700)]
Fixed typos in comments.
TBR=rsc
OCL=32330
CL=32330
Robert Griesemer [Tue, 28 Jul 2009 21:54:49 +0000 (14:54 -0700)]
Ring ADT.
- Provides analogous functionality to a doubly-linked list
implementation.
- Completely symmetric set of operations.
- Operations on the ADT do not lead to results that are
outside the domain of the ADT (closed interface).
- Alternative to container/list.
R=rsc
DELTA=489 (489 added, 0 deleted, 0 changed)
OCL=32284
CL=32323
Russ Cox [Tue, 28 Jul 2009 21:50:50 +0000 (14:50 -0700)]
floating-point limits and equations
R=r
DELTA=13 (8 added, 2 deleted, 3 changed)
OCL=32291
CL=32322
Russ Cox [Tue, 28 Jul 2009 21:50:17 +0000 (14:50 -0700)]
fmt boundary bugs.
pow10 was giving up too easily.
R=r
DELTA=4 (0 added, 3 deleted, 1 changed)
OCL=32310
CL=32321
Austin Clements [Tue, 28 Jul 2009 21:37:06 +0000 (14:37 -0700)]
Implement if, for (modulo ranges), break, continue, increment,
and decrement. blockCompilers now form a tree the mimics the
nesting of scopes and provide convenient ways to enter and
exit scopes. blockCompilers also track the break and continue
PC for the current block. The statement testing interface now
works in lists of statements, which simplifies a bunch of
things.
R=rsc
APPROVED=rsc
DELTA=401 (335 added, 44 deleted, 22 changed)
OCL=32308
CL=32317
Rob Pike [Tue, 28 Jul 2009 19:59:39 +0000 (12:59 -0700)]
- clean up code creating keys for type maps
- derive int, uint, float, uintptr decoders based on their size
- add overflow checks in decode
R=rsc
DELTA=407 (281 added, 44 deleted, 82 changed)
OCL=32286
CL=32290
Rob Pike [Tue, 28 Jul 2009 19:57:33 +0000 (12:57 -0700)]
constants for integer limits
R=rsc
DELTA=16 (16 added, 0 deleted, 0 changed)
OCL=32288
CL=32288
Rob Pike [Tue, 28 Jul 2009 18:53:16 +0000 (11:53 -0700)]
constants for floating point limits
R=rsc
DELTA=5 (5 added, 0 deleted, 0 changed)
OCL=32283
CL=32287
Phil Pennock [Tue, 28 Jul 2009 18:23:24 +0000 (11:23 -0700)]
Support use of $GOBINDIR to override $HOME/bin
R=r,gri,rsc
APPROVED=rsc
DELTA=53 (12 added, 6 deleted, 35 changed)
OCL=31822
CL=32282
Austin Clements [Tue, 28 Jul 2009 16:58:31 +0000 (09:58 -0700)]
Fix bug where typeArrayMap was using the address of the
pointer to the Type instead of the address of the Type.
R=rsc
APPROVED=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=32265
CL=32279
Russ Cox [Tue, 28 Jul 2009 00:58:25 +0000 (17:58 -0700)]
constant keys for array initializers
R=ken
OCL=32261
CL=32261
Austin Clements [Tue, 28 Jul 2009 00:32:35 +0000 (17:32 -0700)]
Implement multi-valued functions, multi-valued return, and
unpacking for assignments, call arguments, and returns. This
change revamps the whole assignment compilation system to be
multi-valued, using the new MultiType type and multiV value.
Function calls, returns, and assignments now share a lot of
code and produce very consistent error messages.
R=rsc
APPROVED=rsc
DELTA=510 (335 added, 74 deleted, 101 changed)
OCL=32248
CL=32258