Russ Cox
68796b0270
gc: add ... T, rework plain ...
...
No longer a distinct type; now a property of func types.
R=ken2
CC=golang-dev
https://golang.org/cl/197042
2010-02-01 00:25:59 -08:00
Russ Cox
758f2bc556
eliminate the package global name space assumption in object files
...
5g/6g/8g: add import statements to export metadata, mapping package path to package name.
recognize "" as the path of the package in export metadata.
use "" as the path of the package in object symbol names.
5c/6c/8c, 5a/6a/8a: rewrite leading . to "". so that ·Sin means Sin in this package.
5l/6l/8l: rewrite "" in symbol names as object files are read.
gotest: handle new symbol names.
gopack: handle new import lines in export metadata.
Collectively, these changes eliminate the assumption of a global
name space in the object file formats. Higher level pieces such as
reflect and the computation of type hashes still depend on the
assumption; we're not done yet.
R=ken2, r, ken3
CC=golang-dev
https://golang.org/cl/186263
2010-01-22 17:06:20 -08:00
Russ Cox
05a1eb1ab0
gc: recursive type error
...
Fixes #245 .
R=ken2
https://golang.org/cl/164094
2009-12-03 01:12:02 -08:00
Russ Cox
d116a32727
gc: reject large channel values at compile time
...
Fixes #144 .
R=ken2
CC=agl1
https://golang.org/cl/156102
2009-11-19 18:20:06 -08:00
Russ Cox
a338231526
gc: five bug fixes, one better error.
...
* check for struct literal assignment to private fields.
* record, fix crash involving parallel map assignment.
* avoid infinite recursion in exportassignok.
* make floating point bounds check precise.
* avoid crash on invalid receiver.
* add context to error about implicit assignment.
Fixes #86 .
Fixes #88 .
Fixes #158 .
Fixes #174 .
Fixes #201 .
Fixes #204 .
R=ken2
https://golang.org/cl/154144
2009-11-15 12:57:09 -08:00
Russ Cox
02fd255a14
bug162, over and over
...
R=ken
OCL=35919
CL=35919
2009-10-20 08:03:43 -07:00
Russ Cox
8fffa1d698
bug190.
...
also eliminate float80 dregs
R=ken
OCL=35894
CL=35896
2009-10-19 18:47:37 -07:00
Ken Thompson
0631d65dc5
composit literal under
...
init function context.
also moved composit literal
code from walk.c to sinit.c
R=rsc
OCL=34503
CL=34503
2009-09-09 17:48:55 -07:00
Russ Cox
e780fa8669
defining package block names must override
...
universe block names.
BUG=2097244
R=ken
OCL=34295
CL=34473
2009-09-09 01:01:39 -07:00
Russ Cox
5438be4541
write-only variable _
...
R=ken
OCL=34465
CL=34470
2009-09-08 23:16:19 -07:00
Russ Cox
a1391c2d13
fix one bug involving [...] constructors.
...
added iant's bug202 (in main code)
and ken's bug203 (in init function).
bug187 remains at large.
R=ken
OCL=34293
CL=34293
2009-09-02 23:26:13 -07:00
Rob Pike
87f2208bda
rename runtime internals to have modern names (array->slice etc)
...
R=rsc
DELTA=444 (179 added, 177 deleted, 88 changed)
OCL=33847
CL=33849
2009-08-25 15:54:25 -07:00
Russ Cox
8a45917f3d
len and cap on chans
...
R=ken
OCL=33599
CL=33599
2009-08-20 11:12:04 -07:00
Russ Cox
5600435fe4
produce diagnostic for
...
import "fmt"
var fmt = 1
R=ken
OCL=33556
CL=33561
2009-08-19 17:27:08 -07:00
Russ Cox
a92610208e
delete code for forward type declarations
...
R=ken
OCL=33108
CL=33113
2009-08-12 14:41:13 -07:00
Russ Cox
b648716ee9
forward declarations not necessary.
...
still to do:
* initializer cycle detection
* nicer error for type checking cycles
R=ken
OCL=32855
CL=32880
2009-08-07 12:50:26 -07:00
Russ Cox
ff3a73b407
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
2009-07-30 16:53:08 -07:00
Russ Cox
9271c6402e
introduce typecheck pass before walkexpr.
...
not complete but compiler still works.
R=ken
OCL=32424
CL=32426
2009-07-29 12:47:51 -07:00
Russ Cox
e52e9ca82e
another step toward eliminating forward declarations.
...
introduce NodeList* type in compiler to replace OLIST.
this clarifies where lists can and cannot occur.
list append and concatenation are now cheap.
the _r rules are gone from yacc.
rev and unrev are gone.
no more lists of lists.
the representation of assignments is a bit clunkier.
split into OAS (1=1) and OAS2 (2 or more on one side).
delete dead chanrecv3 code.
delay construction of func types.
R=ken
OCL=31745
CL=31762
2009-07-17 01:00:44 -07:00
Russ Cox
541e638f9b
6g, 8g: generate data structures for new reflect interface (CL 31107)
...
R=ken
OCL=31122
CL=31278
2009-07-07 11:03:04 -07:00
Russ Cox
20cfa4a568
change alignment rules: roll receiver into
...
input parameters, move output parameters
into their own struct.
R=ken
OCL=30954
CL=30966
2009-06-30 20:02:07 -07:00
Russ Cox
8f4af6d205
gc: grammar cleanup:
...
* no longer distinguishes const, var, type, package names.
* all the predefined names are not tokens anymore.
R=ken
OCL=29326
CL=29985
2009-06-06 12:46:38 -07:00
Russ Cox
4beac9985b
simplifying grammar: delete LBASETYPE and LACONST.
...
take 2
R=ken
OCL=29304
CL=29306
2009-05-22 22:46:06 -07:00
Russ Cox
ca2fe5d8bd
Automated g4 rollback of changelist 29302.
...
*** Reason for rollback ***
too many files included
*** Original change description ***
simplifying grammar: delete LBASETYPE and LACONST
R=ken
OCL=29303
CL=29303
2009-05-22 22:43:57 -07:00
Russ Cox
2a4dcfffc9
simplifying grammar: delete LBASETYPE and LACONST
...
R=ken
OCL=29300
CL=29302
2009-05-22 22:42:12 -07:00
Ken Thompson
3657061550
change representation of strings
...
R=r
OCL=27293
CL=27293
2009-04-09 18:16:21 -07:00
Russ Cox
bac922c6e1
move portable code generation (basic statements) to gc.
...
R=ken
OCL=26929
CL=26929
2009-03-30 19:15:07 -07:00
Russ Cox
8e54729b5a
move alignment calculations into gc
...
R=ken
OCL=26914
CL=26914
2009-03-30 17:09:28 -07:00