Russ Cox
7b5789b584
gc: undo attempt at fixing recursive interface embedding
...
Fixes #582 .
Update #287
Status: Accepted
Bug fix was too intrusive; undo and reopen issue.
R=ken2
CC=golang-dev
https://golang.org/cl/209044
2010-02-16 17:44:15 -08:00
Russ Cox
401062f720
gc: fix build (signed char bug)
...
R=ken2
CC=golang-dev
https://golang.org/cl/210043
2010-02-16 17:30:33 -08:00
Russ Cox
cfff862862
gc: disallow NUL byte, catch more invalid UTF-8, test
...
R=ken2, ken3
CC=golang-dev
https://golang.org/cl/209041
2010-02-16 16:47:39 -08:00
Russ Cox
e7fc5c2789
gc: test & fix handling of very long string constants
...
R=ken2
CC=golang-dev
https://golang.org/cl/207106
2010-02-16 10:16:24 -08:00
Russ Cox
5ab8f00bf8
gc: diagnose invalid array bounds
...
Fixes #587 .
R=ken2
CC=golang-dev
https://golang.org/cl/207085
2010-02-12 13:59:02 -08:00
Russ Cox
1ca39fb1fd
gc: fix mkopnames and color grep interaction
...
Fixes #406 .
R=adg
CC=golang-dev
https://golang.org/cl/207053
2010-02-10 00:44:43 -08:00
Russ Cox
9e2c9bb0ca
gc: fix method expression bug
...
R=ken2
CC=golang-dev
https://golang.org/cl/206043
2010-02-08 21:40:35 -08:00
Andrew Gerrand
b4fb00b69b
*l/*c: add -V flag to display version number
...
R=rsc
CC=golang-dev
https://golang.org/cl/204044
2010-02-08 09:46:53 -08:00
Ken Thompson
ce85868a00
bug in const float divide
...
R=rsc
CC=golang-dev
https://golang.org/cl/204042
2010-02-05 15:18:32 -08:00
Russ Cox
8bef7fdc39
bug252: make ... vs ...T crossing an error, at least for now
...
R=r
CC=golang-dev
https://golang.org/cl/199066
2010-02-02 15:00:13 -08:00
Russ Cox
44898c7b76
gc: bug250, bug251 - recursive interface types
...
Fixes #287 .
R=ken2
CC=golang-dev
https://golang.org/cl/199057
2010-02-01 23:58:49 -08:00
Russ Cox
674458e1c4
gc: bug246
...
R=ken2
CC=golang-dev
https://golang.org/cl/198057
2010-02-01 23:05:15 -08:00
Russ Cox
0bd41e2ff0
gc: bug242
...
R=ken2
CC=golang-dev
https://golang.org/cl/198053
2010-02-01 22:18:51 -08:00
Russ Cox
45515011cc
gc: final ...T bug for the day
...
R=ken2
CC=golang-dev
https://golang.org/cl/199046
2010-02-01 16:22:16 -08:00
Russ Cox
bea730d1f9
gc: ... T corner cases
...
more to come, but should suffice for Printf work.
R=ken2
CC=golang-dev
https://golang.org/cl/197044
2010-02-01 10:49:24 -08:00
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
288c1c83d9
gc: tweak error messages, avoid internalization settings in bison
...
R=r
CC=golang-dev
https://golang.org/cl/194129
2010-01-28 15:57:44 -08:00
Russ Cox
a186b77b03
gc: implement defer print/println/panic/panicln
...
Fixes #219 .
R=ken2, r
CC=golang-dev
https://golang.org/cl/194097
2010-01-27 15:37:08 -08:00
Russ Cox
2a01d72878
gc: improved syntax errors
...
* example-based syntax errors (go.errors)
* enable bison's more specific errors
and translate grammar token names into
tokens like ++
* test cases
R=ken2, r, ken3
CC=golang-dev
https://golang.org/cl/194085
2010-01-26 23:13:22 -08:00
Russ Cox
5f4c052e2d
gc: do not treat .6 different from .a anymore
...
R=ken2
CC=golang-dev
https://golang.org/cl/195050
2010-01-26 16:12:50 -08:00
Russ Cox
7abb4b3a96
gc: fix chan <- chan precedence.
...
also allow func() func().
R=ken2
CC=golang-dev
https://golang.org/cl/194078
2010-01-26 10:40:28 -08:00
Russ Cox
531e6b77c8
eliminate package global name space
...
R=ken2
CC=golang-dev
https://golang.org/cl/194071
2010-01-25 18:31:35 -08:00
Russ Cox
1912632019
runtime, type switch: eliminate package global name space assumption
...
bonus: type switch now detects multiple uses of identical interface types.
bonus: interface types are now order-independent, following the spec.
R=ken2
CC=golang-dev
https://golang.org/cl/194053
2010-01-25 18:23:20 -08:00
Russ Cox
1cecac8134
gc: record full package paths in runtime type data
...
detect compilation of special package runtime with
compiler flag instead of package name.
R=ken2
CC=golang-dev
https://golang.org/cl/193080
2010-01-24 23:33:59 -08:00
Russ Cox
d1b14a6fb0
gc: bug247, reported by rob
...
R=ken2
CC=golang-dev
https://golang.org/cl/194051
2010-01-24 22:42:18 -08:00
Russ Cox
fd150e77e1
gc: cut some dead code, fix 6g -S output
...
R=ken2
CC=golang-dev
https://golang.org/cl/193079
2010-01-24 22:36:26 -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
ce7f345cd1
gc: do not build builtin.c automatically; use golden copy instead.
...
R=r
CC=golang-dev
https://golang.org/cl/190104
2010-01-22 16:58:33 -08:00
Russ Cox
a6736fa4ff
cleanup toward eliminating package global name space
...
* switch to real dot (.) instead of center dot (·) everywhere in object files.
before it was half and half depending on where in the name it appeared.
* in 6c/6a/etc identifiers, · can still be used but turns into . immediately.
* in export metadata, replace package identifiers with quoted strings
(still package names, not paths).
R=ken2, r
CC=golang-dev
https://golang.org/cl/190076
2010-01-19 21:34:44 -08:00
Russ Cox
fe01d4c8a1
gc: const debug bool = false
...
R=ken2
CC=golang-dev
https://golang.org/cl/186232
2010-01-19 15:25:44 -08:00
Russ Cox
4f8117d9eb
build: move GOOS, GOARCH, GOROOT lookup into central library.
...
bake default values in during build.
R=r
CC=golang-dev
https://golang.org/cl/186173
2010-01-18 21:46:46 -08:00
Russ Cox
ff6e310b00
gc: bug245
...
Fixes #529 .
R=ken2
CC=golang-dev
https://golang.org/cl/186215
2010-01-18 17:30:15 -08:00
Russ Cox
8e996304f3
gc: multiple return value at top-level invoked multiple times
...
Fixes #402 .
R=ken2
CC=golang-dev
https://golang.org/cl/186214
2010-01-18 17:00:38 -08:00
Russ Cox
e0059ae811
gc: bug243
...
Fixes #481 .
R=ken2
CC=golang-dev
https://golang.org/cl/186213
2010-01-18 16:52:18 -08:00
Russ Cox
5a5799f613
gc: more precise handling of import .
...
Fixes #455 .
R=ken2
CC=golang-dev
https://golang.org/cl/186212
2010-01-18 16:26:40 -08:00
Russ Cox
07fc145744
gc: be more specific about copy type errors
...
Fixes #539 .
R=ken2
CC=golang-dev
https://golang.org/cl/190043
2010-01-18 16:00:13 -08:00
Rob Pike
ccbcefe2b6
ignore $GOARCH inside the compiler and linker.
...
by definition, they know what they are building for.
makes it easier to switch architectures when testing.
% 6g x.go
% 6l x.6
% 6.out
"Wed Jan 13 10:57:46 EST 2010"
% 8g x.go
% 8l x.8
% 8.out
"Wed Jan 13 10:57:46 EST 2010"
% echo $GOARCH
%
R=rsc
CC=golang-dev
https://golang.org/cl/186116
2010-01-13 14:39:16 +11:00
Yongjian Xu
d668d4fbbd
gc: clean opnames.h
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/181186
2010-01-11 13:03:01 -08:00
Russ Cox
307a899d5b
gc: bug238
...
Fixes #471 .
R=ken2
CC=golang-dev
https://golang.org/cl/181184
2010-01-08 00:01:03 -08:00
Russ Cox
1b1f39eb86
gc: bug219, bug239, bug240
...
Fixes #475 .
R=ken2
CC=golang-dev
https://golang.org/cl/183157
2010-01-07 23:24:48 -08:00
Russ Cox
c6f4d68667
gc: bug241
...
Fixes #495 .
R=ken2
CC=golang-dev
https://golang.org/cl/183156
2010-01-07 23:20:00 -08:00
Russ Cox
5f132b93eb
gc: various C nits, found by plan 9 compiler.
...
reported by erik quanstrom.
R=ken2
https://golang.org/cl/181071
2009-12-27 09:32:30 -08:00
Russ Cox
0d668259dc
gc: method expressions on concrete types
...
R=ken2
https://golang.org/cl/180092
2009-12-18 17:24:58 -08:00
Russ Cox
6a4b2492b3
gc: fix compiler crash
...
R=ken2
CC=dho
https://golang.org/cl/179097
2009-12-17 15:08:55 -08:00
Russ Cox
c715b58dad
gc: fix import name resolution
...
Fixes #403 .
R=ken2
https://golang.org/cl/180052
2009-12-15 16:44:28 -08:00
Russ Cox
5d754bfaea
gc: bug fixes.
...
* better error for lookup of unexported field
* do not assign "ideal string" type to typed string literal
* do not confuse methods and fields during interface check
Fixes #410 .
Fixes #411 .
Fixes #426 .
R=ken2
https://golang.org/cl/179069
2009-12-15 16:22:04 -08:00
Russ Cox
101f499fa5
gc: allow ... in method lists
...
R=ken2
https://golang.org/cl/179070
2009-12-15 16:20:37 -08:00
Robert Griesemer
5a1d3323fe
1) Change default gofmt default settings for
...
parsing and printing to new syntax.
Use -oldparser to parse the old syntax,
use -oldprinter to print the old syntax.
2) Change default gofmt formatting settings
to use tabs for indentation only and to use
spaces for alignment. This will make the code
alignment insensitive to an editor's tabwidth.
Use -spaces=false to use tabs for alignment.
3) Manually changed src/exp/parser/parser_test.go
so that it doesn't try to parse the parser's
source files using the old syntax (they have
new syntax now).
4) gofmt -w src misc test/bench
1st set of files.
R=rsc
CC=agl, golang-dev, iant, ken2, r
https://golang.org/cl/180047
2009-12-15 15:33:31 -08:00
Russ Cox
d122bb2193
gc: double-check usage of ...
...
Fixes #423 .
R=ken2
https://golang.org/cl/180045
2009-12-15 14:26:50 -08:00
Russ Cox
0282cc5e74
gc: var x, ok = m[y]
...
Fixes #384 .
R=ken2
https://golang.org/cl/179061
2009-12-15 14:26:33 -08:00
Russ Cox
978c3e96d1
gc: fix comment
...
R=gri
CC=golang-dev
https://golang.org/cl/174077
2009-12-13 12:11:56 -08:00
Russ Cox
3997495dc3
gc: semicolons
...
Fixes #89 .
Fixes #92 .
Fixes #118 .
Fixes #182 .
Fixes #328 .
Fixes #340 .
R=ken2, ken3
CC=golang-dev
https://golang.org/cl/172049
2009-12-11 15:59:41 -08:00
Ken Thompson
cd00bc78da
bug in 6g optimizer
...
8g still needs fixing
R=rsc
https://golang.org/cl/176057
2009-12-11 15:55:09 -08:00
Devon H. O'Dell
857d4cf1a9
Remove GOBIN in PATH dependency; don't assume cwd is $GOROOT/src
...
This change removes the necessity to have GOBIN in $PATH,
and also doesn't assume that the build is being run from
$GOROOT/src. This is a minimal set of necessary changes
to get Go to build happily from the FreeBSD ports
collection.
R=rsc
CC=golang-dev
https://golang.org/cl/171044
2009-12-11 15:14:09 -08:00
Yongjian Xu
8b3b1edc04
mkbuiltin: generate builtin.c directly
...
R=golang-dev, rsc
https://golang.org/cl/173041
2009-12-11 12:41:33 -08:00
Russ Cox
33649bd278
runtime: introduce unsafe.New and unsafe.NewArray
...
to provide functionality previously hacked in to
reflect and gob.
R=r
https://golang.org/cl/165076
2009-12-07 15:51:58 -08:00
Russ Cox
864c757a1c
gc/runtime: pass type structure to makeslice.
...
* inform garbage collector about memory with no pointers in it
1.9s gcc reverse-complement.c
reverse-complement.go
4.5s / 3.5s original, with/without bounds checks
3.5s / 3.3s bounds check reduction
3.3s / 2.8s smarter garbage collector
2.6s / 2.3s assembler bytes.IndexByte
2.5s / 2.1s even smarter garbage collector (this CL)
R=r
https://golang.org/cl/165064
2009-12-04 21:44:05 -08:00
Russ Cox
6f14cada11
gc: walk pointer in range on slice/array
...
R=ken2
https://golang.org/cl/166071
2009-12-04 20:40:21 -08:00
Russ Cox
9da6666a8a
gc: check for assignment to private fields during initialization
...
R=ken2
https://golang.org/cl/165055
2009-12-03 22:09:58 -08:00
Christopher Wedgwood
7e7008fa5e
gc: Allow allow data types up to 1GB
...
R=rsc
https://golang.org/cl/164095
2009-12-03 12:46:34 -08:00
Russ Cox
c6e316a4b9
gc: handle _ = <-c in select.
...
Fixes #238 .
R=ken2
https://golang.org/cl/163098
2009-12-03 01:30:19 -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
41861a8812
gc: better diagnosis of initialization loops
...
Fixes bug 292.
R=ken2
https://golang.org/cl/164093
2009-12-03 00:51:03 -08:00
Russ Cox
e733766dda
gc: minor import grammar bug fixes
...
Fixes #364 .
R=ken2
https://golang.org/cl/164092
2009-12-03 00:10:32 -08:00
Russ Cox
272d156357
gc: function argument ordering bug
...
Fixes #370 .
R=ken2
https://golang.org/cl/163097
2009-12-02 23:54:51 -08:00
Russ Cox
8777759f59
gc: make 'invalid rune in string' a little less cryptic
...
Fixes #371 .
R=ken2
https://golang.org/cl/164091
2009-12-02 23:23:11 -08:00
Russ Cox
fdb030d86f
6g etc: groundwork for eliminating redundant bounds checks.
...
drop check in range over array.
drop check in [256]array indexed by byte.
R=ken2
https://golang.org/cl/163088
2009-12-02 17:30:07 -08:00
Russ Cox
b7c4314ecb
gc: correct type check for x, ok map assignment
...
Fixes #288 .
R=ken2
https://golang.org/cl/157162
2009-11-24 16:11:48 -08:00
Sergio Luis O. B. Correia
6fc820729e
go: makes it build for the case $GOROOT has whitespaces
...
the bash scripts and makefiles for building go didn't take into account
the fact $GOROOT / $GOBIN could both be directories containing whitespaces,
and was not possible to build it in such a situation.
this commit adjusts the various makefiles/scripts to make it aware of that
possibility, and now it builds successfully when using a path with whitespaces
as well.
Fixes #115 .
R=rsc, dsymonds1
https://golang.org/cl/157067
2009-11-23 17:32:51 -08:00
Russ Cox
aa4c638b7b
x[y:] for strings
...
R=ken2
https://golang.org/cl/157114
2009-11-20 11:42:28 -08:00
Russ Cox
652f55672d
x[lo:] - gc and runtime.
...
* add runtime sliceslice1 for x[lo:]
* remove runtime arraytoslice, rewriting &arr into arr[0:len(arr)].
* port cgen_inline into 8g, 5g.
* use native memmove in maps
R=ken2
https://golang.org/cl/157106
2009-11-20 09:11:46 -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
9be56adf3c
gc: allow implicit conversion of *[10]int -> []int
...
when used as arg to copy.
R=ken2
https://golang.org/cl/157071
2009-11-18 14:26:28 -08:00
Rob Pike
7518613430
slicecopy was always using 16 (sizeof slice) for the size instead of size of element.
...
R=rsc
CC=ken2, golang-dev
https://golang.org/cl/156083
2009-11-18 13:43:48 -08:00
Ken Thompson
01c2de0c15
allow copy to be used without a return value
...
R=rsc
https://golang.org/cl/156060
2009-11-17 22:00:59 -08:00
Ken Thompson
c4606d05da
install copy predefined
...
did not test 386, but should work
shouldnt matter if copy is not used
R=rsc
https://golang.org/cl/156055
2009-11-17 20:41:44 -08:00
Russ Cox
1ee83f851d
gc: change "can we const evaluate this" from blacklist to whitelist
...
R=ken2
https://golang.org/cl/155074
2009-11-16 17:40:47 -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
4b13d1b9b5
gc: do not try to constant-evaluate (interface{})("bar")
...
Fixes #183 .
R=ken
https://golang.org/cl/154139
2009-11-14 14:14:27 -08:00
Russ Cox
593ccd1d44
yet another attempt to avoid conflicts with
...
<stdio.h>, which we weren't even #including
R=r
https://golang.org/cl/154108
2009-11-12 23:38:48 -08:00
Russ Cox
e5636d6e27
avoid seg fault when return type is unknown
...
Fixes #80 .
R=ken
https://golang.org/cl/154079
2009-11-11 22:20:05 -08:00
Russ Cox
c3343ef62c
fix BUFSIZ redeclaration warnings
...
R=r
https://golang.org/cl/152085
2009-11-11 16:33:23 -08:00
Russ Cox
e9ac56fb99
getc/ungetc in assemblers; BUFSIZ everywhere.
...
Fixes #67 .
R=r
https://golang.org/cl/154068
2009-11-11 14:52:08 -08:00
Russ Cox
8c3d2f015b
avoid clash with stdio's getc, ungetc.
...
Fixes #50 .
R=r
https://golang.org/cl/154064
2009-11-11 13:08:35 -08:00
Russ Cox
7932950844
gc: increase maximum path size in getwd from 100 to 1000.
...
Fixes #31 .
To try the fix before the next release:
hg pull -u
R=r1, r
https://golang.org/cl/154058
2009-11-11 12:00:41 -08:00
Russ Cox
9f42ccb781
error rewording suggested by robert.
...
update comment.
R=ken
http://go/go-review/1025031
2009-11-09 15:25:18 -08:00
Russ Cox
18ccbc69f8
tweak documentation of commands
...
so that first sentence is better for cmd page.
live at http://r45:3456/cmd/
R=gri, r
http://go/go-review/1024034
2009-11-09 11:45:15 -08:00
Russ Cox
71983af4a1
bug212, bug213.
...
R=ken
http://go/go-review/1026032
2009-11-08 23:22:06 -08:00
Russ Cox
830813f019
assorted cleanup
...
R=r, iant
CC=go-dev
http://go/go-review/1025024
2009-11-08 21:08:27 -08:00
Ken Thompson
0eb2a79ff3
8g optimizer
...
R=rsc
http://go/go-review/1025011
2009-11-06 16:51:49 -08:00
Rob Pike
3fa379e797
document the gc go compilers.
...
fix the usage message.
R=rsc
CC=go-dev
http://go/go-review/1016033
2009-11-03 22:00:36 -08:00
Russ Cox
d00248980b
do not emit USED for global x when compiling "_ = x;"
...
R=ken@golang.org
CC=r
http://go/go-review/1018019
2009-11-02 10:50:18 -08:00
Russ Cox
7732d80ceb
misc cleanup
...
R=r
http://go/go-review/1016017
2009-11-01 09:25:55 -08:00
Kai Backman
dec1ec34bf
all of pkg now compiles, fixes a few more tests
...
go/test: passes 90% (313/345)
R=rsc
APPROVED=rsc
DELTA=90 (83 added, 3 deleted, 4 changed)
OCL=36011
CL=36023
2009-10-23 11:00:59 -07:00
Russ Cox
60ff8cc86f
address bug193 and add note to spec about it.
...
R=ken
OCL=35920
CL=35920
2009-10-20 08:27:14 -07:00
Russ Cox
02fd255a14
bug162, over and over
...
R=ken
OCL=35919
CL=35919
2009-10-20 08:03:43 -07:00
Russ Cox
a15648658f
bug196
...
R=ken
OCL=35905
CL=35905
2009-10-19 21:10:29 -07:00
Russ Cox
62c4818ee0
bug136
...
R=ken
OCL=35902
CL=35904
2009-10-19 20:39:18 -07:00
Russ Cox
1be74762c1
bug169
...
R=ken
OCL=35899
CL=35899
2009-10-19 19:55:17 -07:00
Russ Cox
4c3a85d73a
6g bug fixes:
...
* bug211
* embedded interfaces with lowercase methods
* var _ = f() at top level
R=ken
OCL=35898
CL=35898
2009-10-19 19:27:40 -07:00