]>
Cypherpunks repositories - gostls13.git/log
Robert Griesemer [Tue, 14 Jul 2009 17:45:57 +0000 (10:45 -0700)]
- adjust to new token.Position definition
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=31574
CL=31604
Robert Griesemer [Tue, 14 Jul 2009 17:45:43 +0000 (10:45 -0700)]
- use new scanner error handling code
R=rsc
DELTA=109 (0 added, 87 deleted, 22 changed)
OCL=31573
CL=31603
Robert Griesemer [Tue, 14 Jul 2009 17:45:22 +0000 (10:45 -0700)]
- adjust to new scanner interface (pass filename to Init)
- delete error handling code which is not needed anymore
R=rsc
DELTA=83 (0 added, 65 deleted, 18 changed)
OCL=31572
CL=31602
Robert Griesemer [Tue, 14 Jul 2009 17:44:57 +0000 (10:44 -0700)]
- added Filename field to token.Position
- handle //line filename:line comments in scanner
- moved error handling code used by various scanner clients
to errors.go
- added extra tests
R=rsc
DELTA=385 (343 added, 18 deleted, 24 changed)
OCL=31551
CL=31601
Russ Cox [Tue, 14 Jul 2009 16:28:42 +0000 (09:28 -0700)]
dead code
R=r
DELTA=20 (0 added, 20 deleted, 0 changed)
OCL=31584
CL=31598
Russ Cox [Tue, 14 Jul 2009 06:38:39 +0000 (23:38 -0700)]
step toward no function prototypes.
delay evaluation of most types (all but func)
from parse time to type check time.
R=ken
OCL=31585
CL=31585
Russ Cox [Tue, 14 Jul 2009 06:30:30 +0000 (23:30 -0700)]
update 6g to new REGARG convention.
silence gcc warning.
R=ken
OCL=31583
CL=31583
Russ Cox [Tue, 14 Jul 2009 06:29:44 +0000 (23:29 -0700)]
bug148.
R=ken
OCL=31582
CL=31582
Kai Backman [Tue, 14 Jul 2009 05:06:28 +0000 (22:06 -0700)]
added missing pieces required by reflection
R=rsc
APPROVED=rsc
DELTA=61 (40 added, 18 deleted, 3 changed)
OCL=31502
CL=31580
Kai Backman [Tue, 14 Jul 2009 05:04:24 +0000 (22:04 -0700)]
tiny naming cleanup
R=rsc
APPROVED=rsc
DELTA=17 (0 added, 0 deleted, 17 changed)
OCL=31503
CL=31579
Kai Backman [Tue, 14 Jul 2009 03:33:59 +0000 (20:33 -0700)]
fix bug in codegen when we modified move instruction instead
of text.
R=rsc
APPROVED=rsc
DELTA=3 (1 added, 2 deleted, 0 changed)
OCL=31575
CL=31575
Austin Clements [Tue, 14 Jul 2009 02:28:00 +0000 (19:28 -0700)]
Avoid clash between os.WRUSAGE and Linux's WALL flag.
R=rsc
APPROVED=rsc
DELTA=5 (4 added, 0 deleted, 1 changed)
OCL=31564
CL=31567
Russ Cox [Tue, 14 Jul 2009 02:20:43 +0000 (19:20 -0700)]
compilers were inconsistent about
whether no register argument was
REGARG == 0 or REGARG < 0.
use REGARG < 0 because arm needs 0 for R0.
R=ken
OCL=31562
CL=31566
Austin Clements [Tue, 14 Jul 2009 02:20:38 +0000 (19:20 -0700)]
Add accessor for SIGTRAP cause in wait status
R=rsc
APPROVED=rsc
DELTA=7 (7 added, 0 deleted, 0 changed)
OCL=31563
CL=31565
Russ Cox [Tue, 14 Jul 2009 00:28:39 +0000 (17:28 -0700)]
add LockOSThread and UnlockOSThread to
runtime package for use by debugger,
which needs to make sure that all ptrace calls
about a given pid come from the same thread.
R=r
DELTA=175 (90 added, 63 deleted, 22 changed)
OCL=31546
CL=31558
Rob Pike [Mon, 13 Jul 2009 23:52:57 +0000 (16:52 -0700)]
rpc.
client library.
muxes on both ends.
R=rsc
DELTA=178 (132 added, 26 deleted, 20 changed)
OCL=31541
CL=31556
Russ Cox [Mon, 13 Jul 2009 23:48:09 +0000 (16:48 -0700)]
fix undefined function error.
before:
mainstart: undefined: main·init in mainstart
mainstart: branch out of range in mainstart
(95) CALL ,0(PC) [main·init]
mainstart: undefined: main·main in mainstart
mainstart: branch out of range in mainstart
(97) CALL ,0(PC) [main·main]
mainstart: doasm: notfound from=6f to=6f (95) CALL ,
mainstart: doasm: notfound from=6f to=6f (97) CALL ,
mainstart: doasm: notfound from=6f to=6f (95) CALL ,
mainstart: doasm: notfound from=6f to=6f (97) CALL ,
mainstart: doasm: notfound from=6f to=6f (95) CALL ,
mainstart: doasm: notfound from=6f to=6f (97) CALL ,
after:
mainstart: undefined: main·init in mainstart
mainstart: undefined: main·main in mainstart
R=r
DELTA=7 (1 added, 0 deleted, 6 changed)
OCL=31555
CL=31555
Russ Cox [Mon, 13 Jul 2009 22:54:41 +0000 (15:54 -0700)]
add note about once and closures
R=r
DELTA=13 (13 added, 0 deleted, 0 changed)
OCL=31535
CL=31549
Robert Griesemer [Mon, 13 Jul 2009 20:55:39 +0000 (13:55 -0700)]
- handle type forward declarations correctly
R=r
DELTA=8 (6 added, 0 deleted, 2 changed)
OCL=31537
CL=31537
Rob Pike [Mon, 13 Jul 2009 19:58:14 +0000 (12:58 -0700)]
the beginnings of an rpc service.
server side only; no client help yet (but it's easy).
no http yet.
service is synchronous.
all this will improve.
R=rsc
DELTA=403 (403 added, 0 deleted, 0 changed)
OCL=31522
CL=31536
Rob Pike [Mon, 13 Jul 2009 18:41:02 +0000 (11:41 -0700)]
the name of the type was being sent twice. drop the outer instance.
R=rsc
DELTA=10 (5 added, 1 deleted, 4 changed)
OCL=31523
CL=31526
Robert Griesemer [Mon, 13 Jul 2009 17:26:58 +0000 (10:26 -0700)]
ebnflint command
- basic verification of EBNF grammars
- tested with (and has testcase for) go_spec.html
R=rsc
DELTA=150 (148 added, 0 deleted, 2 changed)
OCL=31481
CL=31517
Robert Griesemer [Mon, 13 Jul 2009 17:10:56 +0000 (10:10 -0700)]
Basic EBNF package:
- parsing of EBNF grammars
- basic consistency checks
R=rsc
DELTA=695 (695 added, 0 deleted, 0 changed)
OCL=31479
CL=31516
Kai Backman [Mon, 13 Jul 2009 05:12:33 +0000 (22:12 -0700)]
fixed typo where output arguments where pushed on to R0
instead of SP.
R=rsc
APPROVED=rsc
DELTA=13 (3 added, 7 deleted, 3 changed)
OCL=31488
CL=31501
Kai Backman [Mon, 13 Jul 2009 05:12:19 +0000 (22:12 -0700)]
Fixed minor typo in asm file.
R=rsc
APPROVED=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=31487
CL=31500
Rob Pike [Sat, 11 Jul 2009 22:45:54 +0000 (15:45 -0700)]
first cut at gob decoder.
R=rsc
DELTA=184 (181 added, 1 deleted, 2 changed)
OCL=31474
CL=31486
Robert Griesemer [Sat, 11 Jul 2009 01:21:07 +0000 (18:21 -0700)]
capital_letter was never used
R=rsc
DELTA=2 (0 added, 1 deleted, 1 changed)
OCL=31472
CL=31477
Russ Cox [Fri, 10 Jul 2009 23:32:26 +0000 (16:32 -0700)]
reflection for interface set
rename map access methods to Elem, SetElem.
R=r
DELTA=95 (66 added, 7 deleted, 22 changed)
OCL=31456
CL=31469
Russ Cox [Fri, 10 Jul 2009 23:29:26 +0000 (16:29 -0700)]
cleanup in preparation for new scoping.
walkstate -> walkstmt
walktype -> walkexpr; stmts moved to walkstmt
walktype and friends have a final Node **init
argument that can have side effects appended,
making it more explicit when they do and do not happen.
this replaces the old global addtop and addtotop.
delete switch map and interface conversion cases
(dropped from the language months ago).
R=ken
OCL=31465
CL=31468
Ken Thompson [Fri, 10 Jul 2009 23:12:21 +0000 (16:12 -0700)]
segfault
R=rsc
OCL=31467
CL=31467
Robert Griesemer [Fri, 10 Jul 2009 23:06:40 +0000 (16:06 -0700)]
- mark actual EBNF with pre-formatted class "ebnf" instead of "grammar"
- make real productions for Unicode char classes so that they can be parsed
- use `` for tokens that contain "'s or \'s so that they can be parsed
- added a missing '.'
This version of the spec passes through ebnflint (forthcoming) without errors.
R=r,rsc
DELTA=74 (3 added, 1 deleted, 70 changed)
OCL=31464
CL=31466
Rob Pike [Fri, 10 Jul 2009 20:50:44 +0000 (13:50 -0700)]
one more piece of testing: 2nd send should not send type info.
R=rsc
DELTA=25 (25 added, 0 deleted, 0 changed)
OCL=31460
CL=31460
Rob Pike [Fri, 10 Jul 2009 20:44:37 +0000 (13:44 -0700)]
a better encoder test, with a couple of fixes for bugs it uncovered.
R=rsc
DELTA=84 (65 added, 9 deleted, 10 changed)
OCL=31458
CL=31458
Rob Pike [Fri, 10 Jul 2009 18:20:10 +0000 (11:20 -0700)]
DeepEqual for maps
R=rsc
DELTA=47 (30 added, 16 deleted, 1 changed)
OCL=31455
CL=31455
Robert Griesemer [Fri, 10 Jul 2009 17:01:08 +0000 (10:01 -0700)]
mention file name only once in error message
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=31450
CL=31452
Robert Griesemer [Fri, 10 Jul 2009 17:00:25 +0000 (10:00 -0700)]
fix error messages
R=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=31449
CL=31451
Austin Clements [Fri, 10 Jul 2009 00:35:32 +0000 (17:35 -0700)]
Give ptrace code a real home.
R=rsc
APPROVED=rsc
DELTA=422 (211 added, 211 deleted, 0 changed)
OCL=31425
CL=31431
Rob Pike [Fri, 10 Jul 2009 00:30:07 +0000 (17:30 -0700)]
printing maps
R=rsc
DELTA=57 (39 added, 3 deleted, 15 changed)
OCL=31424
CL=31430
Russ Cox [Fri, 10 Jul 2009 00:27:49 +0000 (17:27 -0700)]
reflection for methods
R=r
DELTA=156 (135 added, 8 deleted, 13 changed)
OCL=31407
CL=31428
Austin Clements [Fri, 10 Jul 2009 00:10:12 +0000 (17:10 -0700)]
Process tracing interface.
This is meant to be implemented per platform and used by
higher-level debugging libraries.
R=rsc
APPROVED=rsc
DELTA=211 (211 added, 0 deleted, 0 changed)
OCL=31003
CL=31423
Robert Griesemer [Thu, 9 Jul 2009 23:54:08 +0000 (16:54 -0700)]
fix to scanner_test after change to //-style comment token
R=rsc
OCL=31421
CL=31421
Russ Cox [Thu, 9 Jul 2009 23:44:20 +0000 (16:44 -0700)]
no longer necessary; directory not empty anymore
R=r
DELTA=2 (0 added, 2 deleted, 0 changed)
OCL=31417
CL=31420
Russ Cox [Thu, 9 Jul 2009 23:44:13 +0000 (16:44 -0700)]
various spec tunings
R=gri
DELTA=6 (0 added, 1 deleted, 5 changed)
OCL=31415
CL=31419
Robert Griesemer [Thu, 9 Jul 2009 23:38:17 +0000 (16:38 -0700)]
Show BUG comments in godoc:
ast.go:
- rename Comments -> CommentGroup (less confusion)
- change all comments/docs to be *CommentGroup
filter.go:
- do not remove unassociated comments from program as part
of export filtering (they are needed by doc.go for BUG comments)
scanner.go:
- exclude '\n' from //-style comments
parser.go:
- rewrote collection of comments: now all collected comments
are *ast.CommentGroups
- clarified distinction between leading and trailing comments
- fixed a bug in comment collection (parseGenDecl);
corresponding test case is in printer/testdata
- extra documentation
doc.go:
- collect BUG comments
- corresponding fix for parser bug in comment collection
comment.go:
- simplified regex
printer.go:
- adjust comment printing to new representation
printer_test.go, testdata/*:
- enable printing of doc comments
- extended tests
package.html, package.txt:
- added Bugs section
gofmt:
- enable printing of doc comments
R=rsc
DELTA=339 (126 added, 38 deleted, 175 changed)
OCL=31403
CL=31416
Rob Pike [Thu, 9 Jul 2009 21:33:43 +0000 (14:33 -0700)]
store ids rather than Types in the structs so they can be encoded.
change Type to gobType.
fix some bugs around recursive structures.
lots of cleanup.
add the first cut at a type encoder.
R=rsc
DELTA=400 (287 added, 11 deleted, 102 changed)
OCL=31401
CL=31406
Russ Cox [Thu, 9 Jul 2009 19:08:50 +0000 (12:08 -0700)]
bug168 (dsymonds) + fix
R=ken
OCL=31399
CL=31399
Ken Thompson [Thu, 9 Jul 2009 18:41:06 +0000 (11:41 -0700)]
segment fault
R=rsc
OCL=31396
CL=31396
David Symonds [Thu, 9 Jul 2009 01:31:14 +0000 (18:31 -0700)]
archive/tar cleanups:
- rename untar{,_test}.go to reader{,_test}.go.
- fix up some comments.
- improve test output if it fails.
R=rsc
APPROVED=rsc
DELTA=821 (400 added, 392 deleted, 29 changed)
OCL=31376
CL=31378
Russ Cox [Thu, 9 Jul 2009 01:16:09 +0000 (18:16 -0700)]
reflection for functions
add channel send type check (thanks austin).
fix type mismatch message.
R=r
DELTA=241 (225 added, 5 deleted, 11 changed)
OCL=31370
CL=31375
Ken Thompson [Thu, 9 Jul 2009 00:58:15 +0000 (17:58 -0700)]
another nil reference
R=rsc
OCL=31373
CL=31373
David Symonds [Thu, 9 Jul 2009 00:15:18 +0000 (17:15 -0700)]
Basic POSIX-compatible tar writer.
R=rsc
APPROVED=rsc
DELTA=456 (382 added, 66 deleted, 8 changed)
OCL=31246
CL=31372
Russ Cox [Wed, 8 Jul 2009 23:39:19 +0000 (16:39 -0700)]
ANY is already checked separately,
so remove code from go.y.
show original types in badtype; don't remove pointers.
not sure why this was here but it confuses things
if the bad part involves two named pointer types
with different names but the same pointed-at type.
R=ken
OCL=31369
CL=31369
Russ Cox [Wed, 8 Jul 2009 22:00:54 +0000 (15:00 -0700)]
reflection for channels
R=r
DELTA=188 (171 added, 6 deleted, 11 changed)
OCL=31352
CL=31361
Robert Griesemer [Wed, 8 Jul 2009 21:57:51 +0000 (14:57 -0700)]
- update functionality for printer test
- moved test files from data to testdata
- use tabs instead of spaces for layout
R=rsc
DELTA=129 (67 added, 60 deleted, 2 changed)
OCL=31353
CL=31360
Robert Griesemer [Wed, 8 Jul 2009 21:56:20 +0000 (14:56 -0700)]
comment change
R=r
OCL=31359
CL=31359
Robert Griesemer [Wed, 8 Jul 2009 21:48:09 +0000 (14:48 -0700)]
WriteFile util function
R=rsc
DELTA=41 (41 added, 0 deleted, 0 changed)
OCL=31349
CL=31358
Russ Cox [Wed, 8 Jul 2009 20:55:57 +0000 (13:55 -0700)]
reflection for maps
R=r
DELTA=304 (248 added, 34 deleted, 22 changed)
OCL=31345
CL=31347
Rob Pike [Wed, 8 Jul 2009 04:05:24 +0000 (21:05 -0700)]
bug fix: encOpFor etc. need to indirect
R=rsc
DELTA=28 (7 added, 7 deleted, 14 changed)
OCL=31312
CL=31322
Robert Griesemer [Wed, 8 Jul 2009 01:09:26 +0000 (18:09 -0700)]
printer_test: first cut
R=rsc
DELTA=169 (168 added, 0 deleted, 1 changed)
OCL=31319
CL=31321
Russ Cox [Wed, 8 Jul 2009 00:35:45 +0000 (17:35 -0700)]
the ld-supplied typestrings are now obsolete
R=r
DELTA=167 (0 added, 167 deleted, 0 changed)
OCL=31304
CL=31316
Robert Griesemer [Tue, 7 Jul 2009 23:07:34 +0000 (16:07 -0700)]
- print comments associated with declarations
- fix a bug w/ optional semicolons
R=rsc
DELTA=46 (24 added, 0 deleted, 22 changed)
OCL=31306
CL=31311
Russ Cox [Tue, 7 Jul 2009 23:05:55 +0000 (16:05 -0700)]
method expansion bugs
R=ken
OCL=31310
CL=31310
Austin Clements [Tue, 7 Jul 2009 22:47:01 +0000 (15:47 -0700)]
Add entry points for parsing statements and expressions.
R=gri
APPROVED=gri
DELTA=73 (48 added, 0 deleted, 25 changed)
OCL=31302
CL=31308
Ian Lance Taylor [Tue, 7 Jul 2009 22:06:29 +0000 (15:06 -0700)]
Update the unsafe docs for the new type implementation.
Please correct as needed.
R=rsc,r
DELTA=10 (4 added, 1 deleted, 5 changed)
OCL=31305
CL=31305
Ian Lance Taylor [Tue, 7 Jul 2009 21:50:39 +0000 (14:50 -0700)]
typestring.c is no longer needed.
R=rsc
DELTA=35 (0 added, 34 deleted, 1 changed)
OCL=31301
CL=31303
Robert Griesemer [Tue, 7 Jul 2009 19:02:54 +0000 (12:02 -0700)]
- ast.FilterExports: filter non-exported anonymous fields
- fixed typo in parser.go
- removed test w/ syntax errors from gofmt test script
R=rsc
DELTA=25 (21 added, 0 deleted, 4 changed)
OCL=31296
CL=31298
Russ Cox [Tue, 7 Jul 2009 18:48:22 +0000 (11:48 -0700)]
bug167
R=ken
OCL=31295
CL=31295
Russ Cox [Tue, 7 Jul 2009 18:04:51 +0000 (11:04 -0700)]
update tests for new reflect
R=r
DELTA=12 (0 added, 0 deleted, 12 changed)
OCL=31240
CL=31290
Russ Cox [Tue, 7 Jul 2009 18:04:42 +0000 (11:04 -0700)]
gob: use new reflect
R=r
DELTA=242 (68 added, 69 deleted, 105 changed)
OCL=31239
CL=31289
Russ Cox [Tue, 7 Jul 2009 18:04:34 +0000 (11:04 -0700)]
template: use new reflect interface (CL 31107)
R=r
DELTA=16 (3 added, 1 deleted, 12 changed)
OCL=31121
CL=31288
Russ Cox [Tue, 7 Jul 2009 18:04:26 +0000 (11:04 -0700)]
net: use new reflect interface (CL 31107)
R=r
DELTA=186 (55 added, 8 deleted, 123 changed)
OCL=31117
CL=31287
Russ Cox [Tue, 7 Jul 2009 18:04:18 +0000 (11:04 -0700)]
json: use new reflect interface (CL 31107)
R=r
DELTA=192 (52 added, 43 deleted, 97 changed)
OCL=31116
CL=31286
Russ Cox [Tue, 7 Jul 2009 18:04:10 +0000 (11:04 -0700)]
go/printer: use new reflect interface (CL 31107)
R=gri
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=31115
CL=31285
Russ Cox [Tue, 7 Jul 2009 18:03:50 +0000 (11:03 -0700)]
datafmt: use new reflect interface (CL 31107)
R=gri
DELTA=70 (7 added, 17 deleted, 46 changed)
OCL=31113
CL=31283
Russ Cox [Tue, 7 Jul 2009 18:03:40 +0000 (11:03 -0700)]
base64_test: use new reflect interface (CL 31107)
R=austin
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=31112
CL=31282
Russ Cox [Tue, 7 Jul 2009 18:03:31 +0000 (11:03 -0700)]
fmt: use new reflect interface (CL 31107)
R=r
DELTA=208 (37 added, 63 deleted, 108 changed)
OCL=31111
CL=31281
Russ Cox [Tue, 7 Jul 2009 18:03:12 +0000 (11:03 -0700)]
update reflect supporting functions,
tests to use new reflect interface.
also make tests a real gotest.
depends on CL 31107
R=r
DELTA=582 (56 added, 194 deleted, 332 changed)
OCL=31108
CL=31279
Russ Cox [Tue, 7 Jul 2009 18:03:04 +0000 (11:03 -0700)]
6g, 8g: generate data structures for new reflect interface (CL 31107)
R=ken
OCL=31122
CL=31278
Russ Cox [Tue, 7 Jul 2009 18:02:54 +0000 (11:02 -0700)]
runtime: use new reflect data structures (CL 31107)
in place of sigi, sigt.
R=ken
OCL=31118
CL=31277
Russ Cox [Tue, 7 Jul 2009 18:02:44 +0000 (11:02 -0700)]
install new reflect:
rename ntype.go and nvalue.go to type.go and value.go
R=r
DELTA=4295 (761 added, 2819 deleted, 715 changed)
OCL=31238
CL=31276
Robert Griesemer [Tue, 7 Jul 2009 17:42:42 +0000 (10:42 -0700)]
bug167: types declared in different scopes should
be independent of each other
R=rsc
DELTA=28 (28 added, 0 deleted, 0 changed)
OCL=31271
CL=31273
Robert Griesemer [Tue, 7 Jul 2009 17:30:31 +0000 (10:30 -0700)]
fix test
R=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=31270
CL=31272
Ian Lance Taylor [Tue, 7 Jul 2009 17:15:01 +0000 (10:15 -0700)]
Avoid race condition. Following the left to right rule,
s.output.Data() was being retrieved before the synchronization
point, which meant that it could be retrieved before the
goroutine wrote it. Using gccgo this caused random errors.
R=gri
DELTA=2 (1 added, 0 deleted, 1 changed)
OCL=31046
CL=31267
Russ Cox [Tue, 7 Jul 2009 17:07:15 +0000 (10:07 -0700)]
move 6c/pgen.c, 6c/pswt.c into cc
and make 5c, 8c use them.
centralizes reachability analysis
and switch generation.
now 8c doesn't have spurious warnings
in pkg/runtime.
R=ken
OCL=31266
CL=31266
Robert Griesemer [Tue, 7 Jul 2009 17:03:42 +0000 (10:03 -0700)]
- removed implementation restrictions for creation of small
Natural, Integer, and Rational numbers
- added Value() methods to access small Natural and Integers
as uint64 or int64 respectively, and to get the components
of Rational numbers
- fixed a bug with Integer creation
- removed some _'s from names
- added more comments in places
- added test cases
R=rsc
DELTA=184 (127 added, 11 deleted, 46 changed)
OCL=31210
CL=31265
Russ Cox [Tue, 7 Jul 2009 06:42:57 +0000 (23:42 -0700)]
insert ODCL in type switch case.
needed for heap allocation if variable escapes.
package main
func main(){
var i interface{} = 42;
switch v := i.(type) {
case int:
println(&v, v);
}
}
R=ken
OCL=31245
CL=31245
Russ Cox [Tue, 7 Jul 2009 06:33:17 +0000 (23:33 -0700)]
shift typechecking bugs
x << "a"
1 << int(2)
R=ken
OCL=31244
CL=31244
Kai Backman [Tue, 7 Jul 2009 06:04:56 +0000 (23:04 -0700)]
cleaned up data generation in 5g, reverted 5l handling of D_ADDR.
R=rsc
APPROVED=rsc
DELTA=46 (0 added, 5 deleted, 41 changed)
OCL=31241
CL=31243
David Symonds [Tue, 7 Jul 2009 05:59:31 +0000 (22:59 -0700)]
Add support for v7 tar.
R=rsc
APPROVED=rsc
DELTA=32 (26 added, 4 deleted, 2 changed)
OCL=31172
CL=31242
Russ Cox [Tue, 7 Jul 2009 05:31:20 +0000 (22:31 -0700)]
various 6g cleanup:
* give genwrapper and genembedtramp the same signature.
* move duint8, duint16, duint32, duint64, duintptr into gc.
* tidy genwrapper.
* bug involving struct field symbols in signature list.
(hash-order dependent so hard to trigger)
* new Type print format %#-T like %#T but omits
names on function arguments.
R=ken
OCL=31237
CL=31237
Russ Cox [Tue, 7 Jul 2009 05:25:54 +0000 (22:25 -0700)]
statements after panicln are unreachable, just like after panic.
missing break after error.
dot symbol bug fix: leave sym alone
(was incorrect for inserted cross-package dots).
R=ken
OCL=31234
CL=31236
Russ Cox [Tue, 7 Jul 2009 05:10:40 +0000 (22:10 -0700)]
new reflect Value implementations.
for now, canSet stays.
i will look into getting rid of it in
a future CL.
R=r
DELTA=420 (419 added, 0 deleted, 1 changed)
OCL=31231
CL=31235
Russ Cox [Tue, 7 Jul 2009 04:39:18 +0000 (21:39 -0700)]
another piece for cross-file forward struct declarations.
R=ken
OCL=31233
CL=31233
Russ Cox [Tue, 7 Jul 2009 04:37:29 +0000 (21:37 -0700)]
fix bug involving typed nil constants:
interface = (*int)(nil) is not the same as
interface = nil.
package main
func main() {
var x interface{} = (*int)(nil);
println(x.(*int));
}
R=ken
OCL=31232
CL=31232
Russ Cox [Tue, 7 Jul 2009 01:05:11 +0000 (18:05 -0700)]
fix forward struct declarations
R=ken
OCL=31230
CL=31230
Russ Cox [Tue, 7 Jul 2009 00:20:48 +0000 (17:20 -0700)]
allow conversion to interface type
when implicit assignment would have been okay.
R=ken
OCL=31225
CL=31227
Russ Cox [Mon, 6 Jul 2009 23:29:28 +0000 (16:29 -0700)]
more precise error message
package main
func main() {
var x interface {} = 42;
switch x := x.(type) {
case int:
case foo:
}
}
before:
x.go:7: non-type case in type switch
x.go:7: inappropriate case for a type switch
now:
x.go:7: foo: undefined
R=ken
OCL=31221
CL=31221
Russ Cox [Mon, 6 Jul 2009 23:06:31 +0000 (16:06 -0700)]
new reflect type.go implementation
R=r
DELTA=179 (172 added, 6 deleted, 1 changed)
OCL=31215
CL=31220
Russ Cox [Mon, 6 Jul 2009 23:05:48 +0000 (16:05 -0700)]
better error message + line numbers
package main
func main() {
var x interface{};
switch x {
case 41:
case "b":
}
}
before:
x.go:5: fatal error: exprcmp
now:
x.go:5: illegal types for operand: EQ
interface { }
int
x.go:6: illegal types for operand: EQ
interface { }
string
R=ken
OCL=31217
CL=31219
Russ Cox [Mon, 6 Jul 2009 22:34:04 +0000 (15:34 -0700)]
new reflect library data structures and code declarations
* use structs instead of interfaces
* compiler lays out data structures ahead of time,
so no more parsing of strings.
* unified reflect data structures with interface
runtime data structures.
* richer data structures should enable reflection
on chans and maps, but not implemented here.
R=r,iant
DELTA=1179 (1179 added, 0 deleted, 0 changed)
OCL=31107
CL=31213