Evan Shaw
30f981d980
8l: add DOS stub to PE binaries
...
R=rsc
CC=golang-dev
https://golang.org/cl/915041
2010-04-13 16:13:53 -07:00
Russ Cox
d9254d00f9
gc: zero unnamed return values on entry if func has defer
...
R=ken2
CC=golang-dev
https://golang.org/cl/891050
2010-04-12 14:28:27 -07:00
Russ Cox
c9293f0cc7
gc: compile s == "" as len(s) == 0
...
R=ken2
CC=golang-dev
https://golang.org/cl/840043
2010-04-11 15:24:44 -07:00
Russ Cox
9475cafa73
gc: distinguish fatal compiler bug from error+exit
...
R=ken2
CC=golang-dev
https://golang.org/cl/902044
2010-04-11 14:52:06 -07:00
Russ Cox
fe7826858c
gc: make sure main.main has correct type
...
R=ken2
CC=golang-dev
https://golang.org/cl/883049
2010-04-11 14:51:35 -07:00
Christopher Wedgwood
094732f7eb
godoc: change od.Dir -> os.FileInfo in comments
...
R=gri, r
CC=golang-dev, rsc
https://golang.org/cl/819042
2010-04-11 10:17:45 -07:00
Russ Cox
6363542695
runtime: delete malx, skip_depth argument to malloc
...
remove internal functions from traces in gopprof instead.
R=r
CC=golang-dev
https://golang.org/cl/855046
2010-04-09 15:30:40 -07:00
Ian Lance Taylor
12e7ce95c6
Add //export to cgo.
...
The new //export comment marks a Go function as callable from
C. The syntax is "//export NAME" where NAME is the name of
the function as seen from C. If such a comment is seen, cgo
will generate two new files: _cgo_export.h and _cgo_export.c.
The _cgo_export.h file provides declarations which C code may
use to call Go functions. The _cgo_export.c file contains
wrappers, and is to be compiled with gcc.
The changes to Make.pkg support using this from a Go Makefile,
though it could probably be more convenient.
R=rsc
CC=golang-dev
https://golang.org/cl/853042
2010-04-09 13:31:05 -07:00
Rob Pike
3ddeef8153
rename os.Dir to os.FileInfo
...
R=rsc
CC=golang-dev
https://golang.org/cl/902042
2010-04-09 11:36:40 -07:00
Rob Pike
00eb56c15b
gotest: update URL printed by failure message.
...
Fixes #677 .
R=rsc
CC=golang-dev
https://golang.org/cl/834046
2010-04-07 20:30:55 -07:00
Roger Peppe
6c3befc824
Change goyacc to be reentrant.
...
Instead of calling the package scope Lex function,
Parse now takes an argument which is used to
do the lexing.
I reverted to having the generated switch
code inside Parse rather than a separate function because
the function needs 7 arguments or a context structure,
which seems unnecessary.
I used yyrun(), not the original $A so that
it's possible to run the backquoted code through gofmt.
R=rsc, ken2, ken3
CC=golang-dev
https://golang.org/cl/879041
2010-04-06 13:29:27 -07:00
Kai Backman
29c6c09f71
replace original float instruction with jump to make branches
...
to float instructions work correctly.
R=rsc
CC=golang-dev
https://golang.org/cl/870044
2010-04-06 22:17:24 +03:00
Russ Cox
6c196015e0
runtime: various arm fixes
...
* correct symbol table size
* do not reorder functions in output
* traceback
* signal handling
* use same code for go + defer
* handle leaf functions in symbol table
R=kaib, dpx
CC=golang-dev
https://golang.org/cl/884041
2010-04-05 12:51:09 -07:00
Russ Cox
2379fdec04
gc: good syntax error for defer func() {} - missing final ()
...
R=ken2
CC=golang-dev
https://golang.org/cl/855044
2010-04-04 23:27:26 -07:00
Russ Cox
f75d0d224f
runtime: turn run time errors checks into panics
...
R=ken2, r
CC=golang-dev
https://golang.org/cl/871042
2010-04-01 22:31:27 -07:00
Russ Cox
5d230418c7
gc: fix alignment on non-amd64
...
R=ken2
CC=golang-dev
https://golang.org/cl/870041
2010-03-31 16:04:03 -07:00
Russ Cox
9b1507b050
gc: implement panic and recover
...
R=ken2, r, ken3
CC=golang-dev
https://golang.org/cl/831042
2010-03-31 11:46:01 -07:00
Robert Griesemer
e8e4987ba3
godoc: support for title and subtitle headers when serving .html docs
...
and use it to show version (date) of go spec
Fixes #68 .
R=rsc
CC=golang-dev, r
https://golang.org/cl/848042
2010-03-30 17:37:42 -07:00
Robert Griesemer
6a71a4639e
godoc: don't print package clause in -src command-line mode with filtering
...
R=rsc
CC=golang-dev
https://golang.org/cl/844041
2010-03-30 11:19:58 -07:00
Russ Cox
01eaf780a8
gc: add panic and recover (still unimplemented in runtime)
...
main semantic change is to enforce single argument to panic.
runtime: change to 1-argument panic.
use String method on argument if it has one.
R=ken2, r
CC=golang-dev
https://golang.org/cl/812043
2010-03-30 10:53:16 -07:00
Russ Cox
c7122a3c58
simplify various code using new map index rule
...
R=r
CC=golang-dev
https://golang.org/cl/833044
2010-03-30 10:51:11 -07:00
Russ Cox
5b257732ac
godefs: fix handling of negative constants
...
R=r
CC=golang-dev
https://golang.org/cl/849041
2010-03-30 10:42:13 -07:00
Russ Cox
00f9f0c056
single argument panic
...
note that sortmain.go has been run through hg gofmt;
only the formatting of the day initializers changed.
i'm happy to revert that formatting if you'd prefer.
stop on error in doc/progs/run
R=r
CC=golang-dev
https://golang.org/cl/850041
2010-03-30 10:34:57 -07:00
Russ Cox
5d0ec6c076
gc: flush warnings, if any
...
R=ken2
CC=golang-dev
https://golang.org/cl/811042
2010-03-29 23:34:59 -07:00
Robert Griesemer
671919d19a
godoc: support for filtering of command-line output in -src mode
...
+ various minor cleanups
Usage: godoc -src math Sin
R=rsc
CC=golang-dev
https://golang.org/cl/791041
2010-03-29 18:06:53 -07:00
Russ Cox
3908c16ffe
gc: bug265
...
Fixes #700 .
R=ken2
CC=golang-dev
https://golang.org/cl/839041
2010-03-29 15:27:59 -07:00
Russ Cox
bd1690ce5e
fix build
...
R=gri
CC=golang-dev
https://golang.org/cl/837041
2010-03-29 13:30:32 -07:00
Russ Cox
a709876767
runtime: more malloc statistics
...
expvar: default publishings for cmdline, memstats
godoc: import expvar
R=r
CC=golang-dev
https://golang.org/cl/815041
2010-03-29 13:06:26 -07:00
Dean Prichard
55b145e32a
arm: fix build
...
R=rsc
CC=golang-dev
https://golang.org/cl/800041
2010-03-26 23:27:24 -07:00
Russ Cox
97d0e8fe6c
gc: allow taking address of out parameters
...
Fixes #186 .
R=ken2
CC=golang-dev
https://golang.org/cl/793041
2010-03-26 18:01:02 -07:00
Russ Cox
f375791a91
fix build
...
TBR=r
CC=golang-dev
https://golang.org/cl/785041
2010-03-26 15:01:29 -07:00
Russ Cox
bc83042b07
godoc: export pprof debug information
...
R=gri
CC=golang-dev
https://golang.org/cl/784041
2010-03-26 14:48:04 -07:00
Russ Cox
c72fb37425
prof: install gopprof too
...
This is a modified version of the open source pprof
from code.google.com/p/google-perftools.
That version is likely to catch up to this one,
but it's still useful to ship our own copy since
we only need the one script from that project,
not all the C++ libraries.
R=r
CC=golang-dev
https://golang.org/cl/783041
2010-03-26 14:20:50 -07:00
Rob Pike
9e481e2905
fix spelling of align
...
R=rsc
CC=golang-dev
https://golang.org/cl/778041
2010-03-26 09:56:57 -07:00
Russ Cox
7fbf9fcba9
make alignment rules match 8g, just like 6c matches 6g.
...
R=ken2
CC=golang-dev
https://golang.org/cl/760042
2010-03-25 14:05:54 -07:00
Russ Cox
78c27ed650
gc: more syntax errors
...
R=r
CC=golang-dev
https://golang.org/cl/731041
2010-03-25 12:47:43 -07:00
Ian Lance Taylor
732f3919ab
Support #pragma dynexport on OS X.
...
R=rsc
CC=golang-dev
https://golang.org/cl/733041
2010-03-25 11:45:18 -07:00
Ken Thompson
623dfd1b07
depricate panicln
...
R=rsc
CC=golang-dev
https://golang.org/cl/743041
2010-03-24 16:53:54 -07:00
Rob Pike
325cf8ef21
delete all uses of panicln by rewriting them using panic or,
...
in the tests, println+panic.
gofmt some tests too.
R=rsc
CC=golang-dev
https://golang.org/cl/741041
2010-03-24 16:46:53 -07:00
Robert Griesemer
acfd6d5f05
godoc: show relative file names without leading '/' (per r's request)
...
- change the various url-xxx formatters to return a relative URL path
- make the leading '/' for URLs explicit in the template
- on the way change some |html formatters to |html-esc
(html should only be used for formatting AST nodes)
R=rsc, r
CC=golang-dev
https://golang.org/cl/740041
2010-03-24 16:28:59 -07:00
Robert Griesemer
60482f06d0
godoc: use http GET for remote search instead of rpc
...
(this will allow the use of golang.org for remote
searches)
R=rsc
CC=golang-dev
https://golang.org/cl/734041
2010-03-24 14:51:55 -07:00
Russ Cox
1c7cc5bd7a
cc: fix typo
...
R=iant
CC=golang-dev
https://golang.org/cl/720041
2010-03-24 08:59:09 -07:00
Dean Prichard
72bc37c122
arm: fix build
...
R=kaib, rsc
CC=golang-dev
https://golang.org/cl/627045
2010-03-23 18:13:20 -07:00
Andrey Mirtchovski
456642adb5
cmd/goinstall: include command name in error reporting (usually missing software or incorrect $PATH)
...
R=rsc
CC=golang-dev
https://golang.org/cl/695041
2010-03-23 18:13:16 -07:00
Russ Cox
eaf45f2d56
gc: fix build in France
...
Fixes #626 .
R=ken2
CC=golang-dev
https://golang.org/cl/714041
2010-03-23 18:11:21 -07:00
Ian Lance Taylor
9e0ae94e72
Add support for #pragma dynexport.
...
R=rsc
CC=golang-dev
https://golang.org/cl/661043
2010-03-23 06:46:30 -07:00
Ian Lance Taylor
f54d73b880
Rename dynld to dynimport throughout.
...
Cgo users will need to rerun cgo.
R=rsc
CC=golang-dev
https://golang.org/cl/692041
2010-03-22 19:58:55 -07:00
Russ Cox
4408659e81
gc: various map-related bug fixes
...
Fixes #687 .
R=ken2
CC=golang-dev
https://golang.org/cl/680042
2010-03-22 18:51:14 -07:00
Russ Cox
2e5fe5a14c
goinstall: let git/hg/svn create the final directory element
...
R=r
CC=golang-dev
https://golang.org/cl/634044
2010-03-20 22:38:06 -07:00
Ken Thompson
8021296179
issue 682
...
complex DATA statement fo
initialization of complex variables.
R=rsc
CC=golang-dev
https://golang.org/cl/634045
2010-03-20 18:50:01 -07:00
Robert Griesemer
6c8fdbe8c7
godoc: line numbers for all remote search results
...
Instead of returning the index lookup result via
RPC which has to be corrected for the client,
simply render it on the server and return the
final output.
R=rsc, r
CC=golang-dev
https://golang.org/cl/669041
2010-03-19 22:48:08 -07:00
Russ Cox
e8fb0b014c
godoc: revert change 5089, per gri's instructions
...
R=gri
CC=golang-dev
https://golang.org/cl/630043
2010-03-19 17:46:18 -07:00
Robert Griesemer
b037bfa684
godoc: proper file path conversion for remote search
...
R=rsc
CC=golang-dev
https://golang.org/cl/664041
2010-03-19 17:07:16 -07:00
Robert Griesemer
fa462f37e3
godoc: show (some) line numbers for remote search
...
- show build version
- use build goroot when possible
R=rsc
CC=golang-dev
https://golang.org/cl/656043
2010-03-19 15:20:20 -07:00
Ken Thompson
60c2e5f453
issue 608
...
error compiling if(long long) in 6c compiler
R=rsc
CC=golang-dev
https://golang.org/cl/657042
2010-03-19 14:20:15 -07:00
Robert Griesemer
90f7209548
godoc: improved comment formatting: recognize URLs
...
and highlight special words, if provided. Also:
- related cleanups in src/pkg/go/doc/comment.go
- fix typos in src/cmd/goinstall/doc.go
Fixes #672 .
R=rsc
CC=adg, golang-dev
https://golang.org/cl/601042
2010-03-19 13:01:45 -07:00
Robert Griesemer
17e0351404
godoc: implemented command-line search
...
The command-line search is using a running webserver
as index server; i.e., the search result is reflecting
the index at the server. See the documentation for
details.
Usage: godoc -q query1 query2 ...
Known issue: Results don't show the all-important
line numbers yet due to the way the index is organized.
Next CL.
R=rsc, r
CC=golang-dev
https://golang.org/cl/648041
2010-03-19 12:46:43 -07:00
Andrew Gerrand
67148530d2
goinstall doc: fix link to godashboard/package
...
R=rsc
CC=golang-dev
https://golang.org/cl/607041
2010-03-17 11:40:05 +11:00
Robert Griesemer
53f3d0733c
gofmt: more consistent formatting of const/var decls
...
- gofmt -w src misc
- only manually modified file: src/pkg/go/printer/nodes.go
R=rsc
CC=golang-dev, r
https://golang.org/cl/606041
2010-03-16 16:45:54 -07:00
Robert Griesemer
74fac99d05
godoc: initial support for showing popup information
...
for identifiers in Go source code
- at the moment just show identifier kind (var, func, etc.) and name
(eventually should show declaration, type, etc.)
- JavaScript parts by adg
R=rsc
CC=adg, golang-dev
https://golang.org/cl/578042
2010-03-16 14:17:42 -07:00
Robert Griesemer
b32f22b3f8
gofmt: fix for gofmt rewrite feature
...
Fixes #643 .
R=rsc
CC=golang-dev
https://golang.org/cl/576041
2010-03-15 15:42:09 -07:00
Robert Griesemer
226c2ec256
godoc: support for multiple packages in a directory
...
- smartly select the "right" package
- provide a list of other packages
R=rsc
CC=golang-dev
https://golang.org/cl/466042
2010-03-12 18:16:21 -08:00
Robert Griesemer
3e24f2d6df
godoc: fix formatting of -src output
...
- go/filter.go: make MergePackageFiles smarter
- go/printer.go: handle positions from multiple files
R=rsc
CC=golang-dev
https://golang.org/cl/460042
2010-03-11 16:44:56 -08:00
Robert Griesemer
799609e0b4
godoc: change -x to -src, update doc.go (missed in previous CL)
...
R=rsc
CC=golang-dev
https://golang.org/cl/384044
2010-03-10 15:41:36 -08:00
Robert Griesemer
35aec6c7f7
godoc: provide mode which shows exported interface in "source form"
...
- on the commandline: godoc -x big
- in a webpage: provide form parameter ?m=src
Known issues:
- Positioning of comments incorrect in several cases. Separate CL.
- Need a link/menu to switch between different modes of presentation
in the web view.
R=rsc
CC=golang-dev
https://golang.org/cl/376041
2010-03-10 15:22:22 -08:00
Russ Cox
16e6df9807
fix 386 a[i] = cmplx(r, j)
...
R=ken2
CC=golang-dev
https://golang.org/cl/384043
2010-03-10 13:06:35 -08:00
Ken Thompson
2edb02b41e
1. decommit complex(float) conversion
...
2. add complex algorithm for map/chan
3. test for use of complex in
array, slice, field, chan, map,
field, pointer.
R=rsc
CC=golang-dev
https://golang.org/cl/384041
2010-03-09 17:51:30 -08:00
Russ Cox
529369e452
gc: remove duplicate errors, give better error for I.(T)
...
R=ken2
CC=golang-dev
https://golang.org/cl/370041
2010-03-09 15:09:37 -08:00
Ken Thompson
38ad41c317
fix bugs compiling things like
...
c = cmplx(imag(c), real(c))
without a temporary
R=rsc
CC=golang-dev
https://golang.org/cl/360043
2010-03-09 13:39:45 -08:00
Ken Thompson
f229c8b546
identical complex implementation
...
for 6g and 8g. can also be used
for 5g. 5g is still a stub.
R=rsc
CC=golang-dev
https://golang.org/cl/362041
2010-03-09 12:49:24 -08:00
Dean Prichard
5b1a196c37
arm: cleanup build warnings
...
trivial stuff
lex.c: these prototypes are in a.h
asm.c: unused variables
arm-pass.txt deal w/ sieve.go rename and addition of sieve2.go
R=kaib, rsc
CC=golang-dev
https://golang.org/cl/244041
2010-03-08 18:13:19 -08:00
Dean Prichard
f015c53ada
gc: avoid fixed length buffer cleanbuf
...
R=rsc
CC=golang-dev
https://golang.org/cl/302042
2010-03-08 17:00:14 -08:00
Russ Cox
4ac011a011
gc: simplify complex typecheck
...
do not convert to float prematurely.
R=ken2
CC=golang-dev
https://golang.org/cl/311041
2010-03-08 15:44:18 -08:00
Russ Cox
4f89dcdf99
5g/6g/8g: fix double function call in slice
...
Fixes #654 .
R=ken2
CC=golang-dev
https://golang.org/cl/310041
2010-03-08 14:19:28 -08:00
Ken Thompson
426099f42e
6g complex type usable
...
8g and 5g have stubs to ignore complex
R=rsc
CC=golang-dev
https://golang.org/cl/257042
2010-03-05 20:16:04 -08:00
Russ Cox
a9b9afa930
gc: fix crash on complicated arg to make slice.
...
Fixes #615 .
R=ken2
CC=golang-dev
https://golang.org/cl/255043
2010-03-05 19:29:14 -08:00
Russ Cox
ac499ed7a5
gc: better compilation of floating point +=
...
R=ken2
CC=golang-dev
https://golang.org/cl/255042
2010-03-05 15:35:09 -08:00
Russ Cox
3e4e4ec704
goinstall: an experiment in (external) package installation
...
R=adg, r
CC=cw, golang-dev
https://golang.org/cl/224043
2010-03-04 17:04:50 -08:00
Russ Cox
36c5c5bf40
cc: disallow ... argument unless NOSPLIT is set.
...
check that NOSPLIT functions don't use too much stack.
correct some missing NOSPLITs in the runtime library.
Fixes bug reported in
https://groups.google.com/group/golang-nuts/t/efff68b73941eccf
R=ken2
CC=golang-dev
https://golang.org/cl/236041
2010-03-04 15:34:25 -08:00
Russ Cox
f1550482fa
gc: fix imported and not used message - show path
...
R=ken2
CC=golang-dev
https://golang.org/cl/229046
2010-03-03 17:23:47 -08:00
Ken Thompson
7d4b1e4c0d
more on type complex.
...
getting close.
R=rsc
CC=golang-dev
https://golang.org/cl/224105
2010-03-02 18:32:11 -08:00
Robert Griesemer
305f5433f3
gofmt: fix alignment of multi-line var declarations
...
- gofmt -w src misc
R=rsc, r
CC=golang-dev
https://golang.org/cl/223101
2010-03-02 17:23:07 -08:00
Robert Griesemer
f44fa9b4c7
gofmt: experiment: align values in map composites where possible
...
- gofmt -w src misc
- looking for feedback
R=rsc, r
CC=golang-dev
https://golang.org/cl/223076
2010-03-02 13:46:51 -08:00
Andrew Gerrand
6d0f1fedbf
gotest: set $AS to $GOBIN/$AS
...
May address issue 624.
R=rsc
CC=golang-dev
https://golang.org/cl/223083
2010-02-28 21:49:06 -08:00
Russ Cox
bc6878331a
8g: fix out of register bug in byte(x) code
...
R=ken2
CC=golang-dev
https://golang.org/cl/223070
2010-02-26 14:21:52 -08:00
Ian Lance Taylor
e6443f6255
Add -r option to 6l/8l/5l.
...
This permits more flexibility with cgo and swig in cases where
the program is run on a machine other than the one on which it
is built. Rather than storing the absolute path to the shared
library in the DT_NEEDED entry, we can store just the name,
and let the dynamic linker find it using DT_RUNPATH or the
LD_LIBRARY_PATH environment variable.
R=rsc
CC=golang-dev
https://golang.org/cl/223068
2010-02-26 14:03:52 -08:00
Russ Cox
ba50599e46
8g: make a[byte(x)] truncate x
...
R=ken2
CC=golang-dev
https://golang.org/cl/223069
2010-02-26 13:15:29 -08:00
Robert Griesemer
d177539877
go/printer, gofmt: align comments in multi-line expression lists
...
- gofmt -w src misc
- improves several lists and fixes minor degradation introduced
with the fix for issue 628
- removed some dead code (stringList)
R=rsc
CC=golang-dev
https://golang.org/cl/223058
2010-02-25 16:07:55 -08:00
Russ Cox
9750adbbad
strings: delete Runes, Bytes
...
gofmt -w -r 'strings.Bytes(a) -> []byte(a)' src/cmd src/pkg test/bench
gofmt -w -r 'strings.Runes(a) -> []int(a)' src/cmd src/pkg test/bench
delete unused imports
R=r
CC=golang-dev
https://golang.org/cl/224062
2010-02-25 16:01:29 -08:00
Russ Cox
3910161307
gc: implement []int(string) and []byte(string)
...
R=ken2
CC=golang-dev
https://golang.org/cl/224060
2010-02-25 15:11:07 -08:00
Robert Griesemer
ef0be41e20
go/ast: streamline representation of field lists
...
- always include position information about opening/closing parens/braces
- replace uses of []*ast.Field with *ast.FieldList
Fixes #473 .
R=rsc
CC=golang-dev
https://golang.org/cl/223043
2010-02-24 16:17:11 -08:00
Rob Pike
38202de114
goyacc: fix handling of / and comments in goyacc
...
Fixes #618 .
R=rsc
CC=golang-dev
https://golang.org/cl/217094
2010-02-23 16:00:14 +11:00
Ken Thompson
458b53ea7d
all done except -
...
complex divide
float(complex) conversion
8g 5g etc
tests
R=rsc
CC=golang-dev
https://golang.org/cl/218044
2010-02-21 17:51:39 -08:00
Russ Cox
ed13d39972
gc: minor const simplifications
...
R=ken2
CC=golang-dev
https://golang.org/cl/217069
2010-02-21 11:18:09 -08:00
Ken Thompson
f59cb49a5a
fixed bug in mpconst float multiply by 0.
...
more complex -- constants, variables and print.
R=rsc
CC=golang-dev
https://golang.org/cl/217061
2010-02-19 20:42:50 -08:00
Robert Griesemer
aaec61555a
godoc: fix path resolution for command-line one more time (sigh...)
...
R=rsc
CC=golang-dev
https://golang.org/cl/217058
2010-02-19 16:23:19 -08:00
Robert Griesemer
8e714aab2b
- removed exp/parser (support for old semicolon syntax)
...
- go/ast: removed StringList (not needed anymore)
- go/ast: changed import path and field list tag to a single string
- updated all dependencies
R=rsc
CC=golang-dev
https://golang.org/cl/217056
2010-02-19 16:01:31 -08:00
Robert Griesemer
cf743c1be6
godoc: make commandline use work again
...
R=rsc
CC=golang-dev
https://golang.org/cl/216054
2010-02-19 11:41:48 -08:00
Russ Cox
80a14df122
gc: double-initialization
...
R=ken2
CC=golang-dev
https://golang.org/cl/217044
2010-02-18 23:33:57 -08:00
Evan Shaw
4af0a58ea9
8a/8l: Added FCMOVcc instructions
...
Thanks to Charles Dorian for the help.
R=rsc
CC=Charlie Dorian, golang-dev
https://golang.org/cl/207049
2010-02-18 23:33:06 -08:00
Russ Cox
c2dea2196c
exec: add dir argument to Run.
...
fix, test MergeWithStdout
R=r
CC=golang-dev
https://golang.org/cl/214046
2010-02-18 18:32:33 -08:00
Russ Cox
4589c34580
gc: fix this morning's bug fix
...
R=ken2
CC=golang-dev
https://golang.org/cl/216043
2010-02-18 18:31:13 -08:00
Ken Thompson
fc010adcd7
complex constant multiply and divide
...
R=rsc
CC=golang-dev
https://golang.org/cl/217041
2010-02-18 17:55:11 -08:00
Robert Griesemer
d17ffb9753
godoc: path cleanups, fixed a race condition, initial support for a menu on pages
...
R=rsc
CC=adg, golang-dev
https://golang.org/cl/215050
2010-02-18 17:40:50 -08:00
Ken Thompson
713e3e1541
more complex - constants
...
import and export
R=rsc
CC=golang-dev
https://golang.org/cl/214050
2010-02-18 14:46:28 -08:00
Russ Cox
1734cb02e7
gc: recursive interface embedding
...
Fixes #287 .
R=ken2
CC=golang-dev
https://golang.org/cl/215048
2010-02-18 11:15:36 -08:00
Russ Cox
cf015fd0b8
5g/8g: fix build
...
R=ken2
CC=golang-dev
https://golang.org/cl/215042
2010-02-17 22:41:04 -08:00
Ken Thompson
33d6a260c1
new types complex, complex64 and complex128
...
only front-end compiler work.
best to do thin in 3 steps
1. frontend
2. backend
3. lib
R=rsc
CC=golang-dev
https://golang.org/cl/214042
2010-02-17 22:08:30 -08:00
Russ Cox
fb5506600f
8g: respect ullman numbers in float comparison
...
Fixes #602 .
R=ken2
CC=golang-dev
https://golang.org/cl/212045
2010-02-17 15:28:45 -08:00
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
Robert Griesemer
db9a9662a1
godoc: updated documentation
...
R=r
CC=golang-dev
https://golang.org/cl/207112
2010-02-16 15:36:55 -08:00
Robert Griesemer
ca075494a6
godoc: initialize vars depending on flags after parsing the flags.
...
R=rsc
CC=golang-dev
https://golang.org/cl/206109
2010-02-16 12:49:41 -08:00
Robert Griesemer
ffd0961313
godoc: fix initialization issue
...
R=rsc
CC=golang-dev
https://golang.org/cl/207111
2010-02-16 11:54:12 -08:00
Giles Lean
0b4d8c19af
cc: use "cpp" anywhere in path, not "/bin/cpp"
...
R=rsc
CC=golang-dev
https://golang.org/cl/206077
2010-02-16 11:32:41 -08:00
Robert Griesemer
5883c6ef1f
godoc support for directories outside $GOROOT
...
Example use: godoc -path=/home/user1:/home/build/foo -http=:6666
will start a local godoc that maps urls starting with /pkg/user1 or
/pkg/foo to the respective roots specified in the path.
Missing: Handling of overlapping package directories, multiple
packages per directory.
R=rsc
CC=golang-dev
https://golang.org/cl/206078
2010-02-16 11:20:55 -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
Robert Griesemer
fba50ee5ed
update gofmt test script
...
R=adg
CC=golang-dev
https://golang.org/cl/207088
2010-02-12 15:28:11 -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
Robert Griesemer
a75ebe192e
correct meaning of "absolute" and "relative"
...
(implementation was swapped)
R=adg
CC=golang-dev, rsc
https://golang.org/cl/207069
2010-02-11 13:59:10 -08:00
Robert Griesemer
a91fa9d52e
Steps towards more flexible godoc:
...
The Mapping object implements a flexible
mapping of relative to absolute paths and
vice versa.
R=rsc
CC=golang-dev
https://golang.org/cl/206067
2010-02-11 10:01:03 -08:00
Kai Backman
494bcc80e4
stop the 5c optimizer from clobbering extern static registers.
...
R=rsc, ken2
CC=golang-dev
https://golang.org/cl/204064
2010-02-10 22:42:05 -08:00
Russ Cox
66cdc699b2
arm: fix build on android
...
R=kaib
CC=golang-dev
https://golang.org/cl/206059
2010-02-10 15:01:02 -08:00
Alex Brainman
3b1a71862e
8l: pe executable building code changed to include import table for kernel32.dll functions
...
Fixes #586 .
R=rsc
CC=golang-dev
https://golang.org/cl/203060
2010-02-10 00:47:52 -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
f9f66b97e2
ld: unused variable
...
R=adg
CC=golang-dev
https://golang.org/cl/207050
2010-02-10 00:44:22 -08:00
Ken Thompson
d4ad8e8ce3
bug fix in 6c/8c/5c mis-aligned
...
function arguments.
R=rsc
CC=golang-dev
https://golang.org/cl/206054
2010-02-09 17:26:04 -08:00
Evan Shaw
baea3e946d
8a/8l: Added CMOVcc instructions
...
R=rsc
CC=golang-dev
https://golang.org/cl/204067
2010-02-09 13:33:07 -08:00
Fazlul Shahriar
96476b4c3e
make units compile
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/206044
2010-02-09 13:20:22 -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
Rob Pike
cd2ecfb7b3
Ugly hack to provide some mechanism for printing documentation about
...
Go source outside $GOROOT.
If the argument is a path starting with / or ., disregard $GOROOT.
Also, disable the check for package name matching the directory,
which is counterproductive in this case.
Apologies for the violence to the code but we need some help documenting
Go code outside the standard repository.
R=gri
CC=golang-dev
https://golang.org/cl/201064
2010-02-06 08:53:46 +11:00
Dean Prichard
0e47c75f60
5a/6a/8a/5c/6c/8c: remove fixed-size arrays for -I and -D options
...
R=rsc
CC=golang-dev
https://golang.org/cl/198044
2010-02-05 01:40:58 -08:00
Andrew Gerrand
8ec9ffc742
6l: move mapped symbol table lower in memory
...
Allows binary to run on some Linux system.
Fix for issue 365.
R=rsc
CC=golang-dev
https://golang.org/cl/199096
2010-02-04 12:46:11 -08:00
Kai Backman
2f1a321d4f
search for runtime.a in the package path instead of hardcoding
...
the location. remove last remnants of broken -l flag.
R=rsc
CC=golang-dev
https://golang.org/cl/201042
2010-02-03 22:31:38 -08:00
Russ Cox
00f4c6a1b5
ld: include main and runtime in the library loop
...
Fixes #585 .
R=r
CC=golang-dev
https://golang.org/cl/195075
2010-02-03 16:30:45 -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
Robert Griesemer
e37495368c
don't report a couple of meaningless errors in command-line mode
...
R=rsc
CC=golang-dev
https://golang.org/cl/199045
2010-02-01 16:13:58 -08:00
Rob Pike
d2fc5d68da
Change type of Printf's args to ... interface{}
...
R=rsc
CC=golang-dev
https://golang.org/cl/197043
2010-02-02 10:53:37 +11:00
Russ Cox
1f11ece67f
nacl: fix build, finally fixed 8l convergence bug
...
R=r
CC=golang-dev
https://golang.org/cl/199042
2010-02-01 15:20:19 -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
Rob Pike
20195bbe61
Fix redirection if the page is in a subdirectory.
...
Fixes buggy links in the devel subdirectory.
Code from rsc; tested by me.
R=rsc, gri
CC=golang-dev
https://golang.org/cl/197041
2010-02-01 17:17:25 +11:00
Russ Cox
05f26366e5
two minor build fixes
...
Fixes #572 .
Fixes #570 .
R=r
CC=golang-dev
https://golang.org/cl/194134
2010-01-28 18:18:40 -08:00
Dean Prichard
77053797e0
avoid overflow of symb buffer in 5a/6a/8a/5c/6c/8c
...
R=rsc
CC=golang-dev
https://golang.org/cl/194099
2010-01-28 16:11:38 -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
Ken Thompson
424f9ca6ab
change print print buffer size
...
to go with the full path names
R=rsc
CC=golang-dev
https://golang.org/cl/195079
2010-01-27 15:37:46 -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
Robert Griesemer
f39dc9fff2
More steps towards tracking of identifier scopes.
...
- provide scope to parse functions; if non-nil, parser uses the scope
to declare and lookup identifiers
- resolve forward references where possible
R=rsc
CC=golang-dev
https://golang.org/cl/194098
2010-01-27 09:44:28 -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
cb58ed75d2
cgo: update for package global name space
...
Fixes #560 .
R=r
CC=golang-dev
https://golang.org/cl/195051
2010-01-26 18:20:15 -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
Icarus Sparry
7c1841fb2a
gotest still assumes that gopack is in your PATH
...
If your $PATH does not include $GOBIN then
the build fails at the first *.a file, which
is probably when running the tests for tar
R=rsc
CC=golang-dev
https://golang.org/cl/193066
2010-01-26 13:15:59 -08:00
Robert Griesemer
2dd3622bc7
Allow func() func().
...
Update gofmt test script.
R=rsc
CC=golang-dev
https://golang.org/cl/195044
2010-01-26 11:49:49 -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
Kai Backman
3884f7321f
salvaging 183105 from dead client
...
a number of fixes for arm elf generation in 5l. -T now works as
advertised, -D now works properly.
R=rsc
CC=golang-dev
https://golang.org/cl/194076
2010-01-25 21:38:27 -08:00
Russ Cox
60a6ec1c93
ld: typo
...
R=ken2
CC=golang-dev
https://golang.org/cl/194073
2010-01-25 18:48:18 -08:00
Russ Cox
7263bfc73b
cc: correct handling of leading ·
...
R=ken2
CC=golang-dev
https://golang.org/cl/193081
2010-01-25 18:31:44 -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
3b1a0355b6
5l, 6l, 8l: accept only one object file
...
(package main; others are pulled in automatically)
R=ken2
CC=golang-dev
https://golang.org/cl/194069
2010-01-25 17:53:43 -08:00
Russ Cox
69e244a104
ld: do not load the same object file multiple times.
...
eliminates spurious multiple initialization errors.
give more information in the multiple init errors that remain.
Fixes #87 .
R=r
CC=golang-dev
https://golang.org/cl/194052
2010-01-25 08:53:27 -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
Dean Prichard
07d3e0dce4
5a/6a/8a: avoid fixed-sized file name buffer
...
R=rsc
CC=golang-dev
https://golang.org/cl/186279
2010-01-22 16:59:17 -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
Christopher Wedgwood
2a57a5c9c7
Trim space on input to make searching more robust.
...
R=rsc, r, gri
CC=golang-dev
https://golang.org/cl/186255
2010-01-22 14:26:15 +11:00
Ken Thompson
cd47c903e2
part 2 of sudoaddable optimization
...
R=rsc
CC=golang-dev
https://golang.org/cl/190088
2010-01-20 13:07:14 -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
Ken Thompson
dfc0ed9559
start of better addressing of
...
arrays/slices in structures
R=rsc
CC=golang-dev
https://golang.org/cl/190077
2010-01-19 19:59:57 -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
ae3e8eb2ec
ld: unused variable
...
R=r
CC=golang-dev
https://golang.org/cl/186229
2010-01-19 13:09:27 -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
Ian Lance Taylor
c332ff42fe
Don't check array bounds if we have been told not to.
...
Fixes range.go test for 6g.
R=rsc
CC=golang-dev
https://golang.org/cl/189093
2010-01-15 13:51:57 -08:00
Robert Griesemer
01b4f2dd23
Steps towards tracking scopes for identifiers.
...
- Identifiers refer now to the language entity (Object)
that they denote. At the moment this is at best an
approximation.
- Initial data structures for language entities (Objects)
and expression types (Type) independent of the actual
type notations.
- Initial support for declaring and looking up identifiers.
- Updated various dependent files and added support functions.
- Extensively tested to avoid breakage. This is an AST change.
R=rsc
CC=golang-dev, rog
https://golang.org/cl/189080
2010-01-15 13:27:45 -08:00
Russ Cox
da9bc7ae7d
runtime: add demo running Go on raw (emulated) hw
...
8l: add GOOS=pchw, stop spelling out all the elf numbers.
R=r
CC=golang-dev
https://golang.org/cl/186144
2010-01-13 19:51:59 -08:00
Devon H. O'Dell
e8afb6d87f
cgo: Only allow numeric / string / character type constants for references
...
to #defined things.
Fixes #520 .
R=rsc, rsaarelm
CC=golang-dev
https://golang.org/cl/186138
2010-01-13 16:48:14 -08:00
Robert Griesemer
27be2915f3
Distinguish between html generation and html quoting in godoc formatters.
...
Replacement for CL 184084; originally by Roger Peppe (rogpeppe@gmail.com ).
R=rsc
CC=golang-dev, rog
https://golang.org/cl/189059
2010-01-13 15:18:56 -08:00
Russ Cox
1c6c0eee20
godoc: skip template wrapping for complete HTML files
...
demo at http://wreck:8080/doc/
click on go_talk-20100112.html
R=gri
CC=golang-dev
https://golang.org/cl/186137
2010-01-13 13:09:33 -08:00
Devon H. O'Dell
14a74378f4
cgo: handle C99 bool type
...
Fixes #307 .
R=rsc
CC=golang-dev
https://golang.org/cl/186073
2010-01-13 10:25:28 -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
Roger Peppe
9d4d7d8f99
Fix bug that prevented the gofmt test script being run on more
...
than one explicitly named file.
R=rsc, gri
CC=golang-dev
https://golang.org/cl/186095
2010-01-12 09:45:11 -08:00
Rob Pike
2f63eb243c
delete debugging prints
...
R=rsc
CC=golang-dev
https://golang.org/cl/186079
2010-01-11 17:35:51 -08:00
Rob Pike
ba5d0f2098
delete debugging prints
...
R=rsc
CC=golang-dev
https://golang.org/cl/186079
2010-01-11 17:35:06 -08:00
Rob Pike
937caef8fa
add pprof output format to prof.
...
amd64 linux only.
R=rsc
CC=golang-dev
https://golang.org/cl/186077
2010-01-11 16:53:45 -08:00
Devon H. O'Dell
bc82aaddb6
cgo: Make constants #define'd in C available to Go (as consts)
...
Fixes #435
R=rsc
CC=golang-dev
https://golang.org/cl/181161
2010-01-11 13:05:26 -08: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
Robert Griesemer
5dee91001b
Remove -oldprinter flag from gofmt; all code is
...
now printed using the semicolon-free style.
Removed NoSemis flag and mechanism dealing with
optional semicolons from go/printer.
Updated all go/printer output files using the
semi-colon free style.
Changes have no formatting impact on checked in
go code under src and misc.
R=rsc, r
CC=golang-dev
https://golang.org/cl/184068
2010-01-11 12:58:13 -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
Evan Shaw
a551ffe809
8g: float->uint64 conversion optimization
...
Using FUCOMIP instead of the FUCOMP-FSTSW-SAHF sequence gives better performance and saves code space.
R=rsc
CC=golang-dev
https://golang.org/cl/183139
2010-01-06 19:28:19 -08:00
Russ Cox
ee7c64efe5
8c: only refer to extern register variables in MOVL instructions
...
R=ken2
https://golang.org/cl/183136
2010-01-06 18:18:07 -08:00
Russ Cox
e0763ba8e7
godoc: serve index.html in place of directory listing, when present
...
R=gri
CC=golang-dev
https://golang.org/cl/181155
2010-01-06 15:59:03 -08:00
Devon H. O'Dell
690fcacdd3
cgo: Use -fno-eliminate-unused-debug-types when calling gcc to for dwarf stabs.
...
This keeps debug symbols in for e.g. unreferenced enums.
Fixes #479
R=rsc
CC=golang-dev, waltermundt
https://golang.org/cl/181102
2010-01-06 15:45:08 -08:00
Evan Shaw
5107aa82a1
8a, 8l: Add FCOMI, FCOMIP, FUCOMI, FUCOMIP instructions
...
Fixes #447
R=rsc
CC=golang-dev
https://golang.org/cl/183047
2010-01-05 17:06:41 -08:00
Robert Griesemer
50442290bb
Simplified parser interface.
...
R=rsc, r
CC=golang-dev, rog
https://golang.org/cl/183116
2010-01-04 17:26:01 -08:00
Robert Griesemer
2aefb8d930
Fix bug in godoc tab conversion filter:
...
tabs after an empty line where not converted.
Also, made it more robust in the presence of
(unexpected) ' ' and '\v' chars in indentation
mode.
R=r
CC=golang-dev
https://golang.org/cl/181085
2009-12-28 17:24:53 -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
Rob Pike
8c557962de
make 6prof (sic) architecture-independent.
...
for now, it's amd64 and 386 only but it's trivial to add more.
Fixes #385 .
(why couldn't it have been issue 386?)
tested for amd64 and 386 on darwin.
R=rsc
CC=golang-dev
https://golang.org/cl/182043
2009-12-24 07:17:49 +11:00
Devon H. O'Dell
7c9111434a
cgo: don't overwrite p.Crefs
...
It's expected to be shared between all files so that all types are output.
Fixes bug reported on mailing list by Peter Froehlich.
R=rsc, phf
CC=golang-dev
https://golang.org/cl/183043
2009-12-23 09:26:21 -08:00
Robert Griesemer
d2a398610e
update test.sh so it can run to completion again
...
R=r
CC=golang-dev
https://golang.org/cl/179120
2009-12-21 15:05:50 -08:00
Russ Cox
4ab0ce107a
8g: add TESTL etc to reg opt
...
Fixes #436 .
R=ken2
https://golang.org/cl/180105
2009-12-21 11:02:18 -08:00
Russ Cox
c276d87c6c
cgo: interpret $CGOPKGDIR as absolute path if rooted
...
R=dho
CC=golang-dev
https://golang.org/cl/180099
2009-12-21 08:31:02 -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
044ebae2f0
cgo: include line number information to keep go/printer happy
...
Fixes #443 .
R=dho
CC=golang-dev
https://golang.org/cl/179095
2009-12-17 17:04:48 -08:00
Kai Backman
d85bb81878
first stub for softfloats, intercepts float instructions and skips
...
them in the stream.
R=rsc
https://golang.org/cl/174052
2009-12-17 16:08:42 -08:00
Robert Griesemer
4ddcb0ea73
fix for gofmt rewrite matcher bug
...
R=rsc
CC=golang-dev
https://golang.org/cl/179096
2009-12-17 15:23:19 -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
Robert Griesemer
7fcf422181
use new tab indentation format in godoc, but convert
...
leading tabs into spaces to ensure a good outcome in
most browsers
R=rsc
https://golang.org/cl/165051
2009-12-17 14:10:49 -08:00
Devon H. O'Dell
9277b02537
Allow cgo to accept multiple .go inputs for a package
...
Fixes #342 .
R=rsc
CC=golang-dev
https://golang.org/cl/179062
2009-12-17 13:20:56 -08:00
Devon H. O'Dell
7a5f4be97e
Use BitSize instead of the field's type native ByteSize when calculating
...
structs containing bitfields.
Fixes #163 .
R=rsc
CC=golang-dev
https://golang.org/cl/180059
2009-12-17 12:38:29 -08:00
Robert Griesemer
59a3cae402
- Parse expressions as opposed to statements for gofmt rewrite patterns.
...
Allows stand-alone types (e.g. []int as patterns) and doesn't require
a semicolon at the end (which are now mandatory terminators).
- Fix a matcher bug.
R=rsc
CC=golang-dev
https://golang.org/cl/179088
2009-12-16 16:53:56 -08:00
Moriyoshi Koizumi
a8fbf5dc2c
This patch enables cgo utility to correctly convert enums in the C source
...
into consts in the resulting Go source. Previously known as issue 161047,
which I deleted accidentally. Fixes issue 207.
R=rsc
https://golang.org/cl/166059
2009-12-15 21:24:17 -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
Robert Griesemer
8793f622e6
don't show semicolons anymore with godoc
...
R=rsc
https://golang.org/cl/174078
2009-12-14 09:14:00 -08:00
Hector Chu
977e19d69f
8l: add support for PE output.
...
R=rsc
https://golang.org/cl/166080
2009-12-13 12:39:20 -08:00
Hector Chu
31645cc0bb
Ported godefs to Windows.
...
R=rsc
https://golang.org/cl/164049
2009-12-13 12:21:44 -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
Rob Pike
f646296185
Update goyacc to new syntax, still with semicolons.
...
Update units.y too.
Fixes #417 .
R=rsc
CC=golang-dev
https://golang.org/cl/176063
2009-12-14 06:34:51 +11:00
Ken Thompson
bedfc2c2f1
more on the optimizer
...
trying to get alizses
to optimize
R=rsc
https://golang.org/cl/176061
2009-12-12 14:36:52 -08:00
Robert Griesemer
222462ed4f
Various cleanups:
...
- no need to replace comments for stand-alone blocks
- always print string concatenations with interspersed "+"
(remove option)
- minor cleanups
R=rsc
https://golang.org/cl/174076
2009-12-11 16:42:14 -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
Robert Griesemer
67aa1399d6
- make make test working again
...
- some factoring for easier experimentation
R=rsc
https://golang.org/cl/174048
2009-12-10 19:07:10 -08:00
Robert Griesemer
bda2074193
New flags for gofmt:
...
- oldparser parse old syntax (required semicolons)
- oldprinter print old syntax (required semicolons)
By default, these flags are enabled for now.
Setting -oldparser=false has no effect until go/parser is changed
to accept the new syntax.
Enabled exp/parser in Makefile; update dependent exp/eval.
R=rsc
https://golang.org/cl/174051
2009-12-10 19:03:28 -08:00
Robert Griesemer
295ceb4526
remove uses of string concatenation from src and misc directory
...
R=rsc
https://golang.org/cl/172041
2009-12-09 16:54:07 -08:00
Charles L. Dorian
3ca1b1d27f
Continuation of issue 221 fix. When 8g or 6g or 5g are called with a
...
UTF-8 string, Yconv() converts it into an octal sequence. If the
string converted to more than 30 bytes, the str buffer would
overflow. For example, 4 Greek runes became 32 bytes, 3 Hiragana
runes became 36 bytes, and 2 Gothic runes became 32 bytes. In
8l, 6l and 5l the function is Sconv(). For some reason, only 5l uses
the constant STRINGSZ (defined as 200) for the buffer size.
R=rsc
https://golang.org/cl/168045
2009-12-09 11:56:45 -08:00
Russ Cox
b73b43ea31
6l, 8l: make string buffer big enough for 8 chars (and then some)
...
Fixes #221 .
R=ken2
https://golang.org/cl/165086
2009-12-07 22:01:59 -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
Roger Peppe
80e17d6797
the AST walker currently provides no way to find out how the
...
nodes in the tree are nested with respect to one another.
a simple change to the Visitor interface makes it possible
to do this (for example to maintain a current node-depth, or a
knowledge of the name of the current function).
Visit(nil) is called at the end of a node's children;
this make possible the channel-based interface below,
amongst other possibilities.
It is still just as simple to get the original behaviour - just
return the same Visitor from Visit.
Here are a couple of possible Visitor types.
// closure-based
type FVisitor func(n interface{}) FVisitor
func (f FVisitor) Visit(n interface{}) Visitor {
return f(n);
}
// channel-based
type CVisitor chan Visit;
type Visit struct {
node interface{};
reply chan CVisitor;
};
func (v CVisitor) Visit(n interface{}) Visitor
{
if n == nil {
close(v);
} else {
reply := make(chan CVisitor);
v <- Visit{n, reply};
r := <-reply;
if r == nil {
return nil;
}
return r;
}
return nil;
}
R=gri
CC=rsc
https://golang.org/cl/166047
2009-12-07 10:33:45 -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
7c4aeec868
6g/8g optimizer fix: throw functions now in runtime
...
R=ken2
https://golang.org/cl/166070
2009-12-04 20:37:32 -08:00
Russ Cox
d7402cea8c
gotest: stop if the // gotest commands fail
...
R=r
https://golang.org/cl/166067
2009-12-04 18:34:59 -08:00
Russ Cox
01f0f16ebc
gotest: ignore *_test.pb.go
...
R=r
https://golang.org/cl/166064
2009-12-04 17:08:54 -08:00
Russ Cox
f2c7a20142
8l: fix print line number format, buffer overflow
...
R=ken2
https://golang.org/cl/165059
2009-12-03 23:29:48 -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
Ken Thompson
62be24d949
6g code gen bug
...
R=rsc
https://golang.org/cl/166052
2009-12-03 20:28:24 -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
Rob Pike
b0683bd77a
move ReadFile, WriteFile, and ReadDir into a separate io/ioutil package.
...
this breaks the dependency of package io on package bytes.
R=rsc
CC=golang-dev
https://golang.org/cl/163085
2009-12-02 22:02:14 -08:00
Robert Griesemer
c0efa07c65
updated documentation for gofmt
...
R=rsc
https://golang.org/cl/164085
2009-12-02 19:32:15 -08:00
Russ Cox
69c0edd59b
8g: discard tempalloc/tempfree experiment
...
in favor of tempname.
allows optimizer to do more.
unfortunately, optimizer seems to be broken; disable it.
R=ken2
https://golang.org/cl/163091
2009-12-02 18:31:29 -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
Robert Griesemer
dc7355a974
Add flag -tabindent to gofmt: forces use of
...
tabs for indentation even if -spaces is set.
Changes to gofmt:
- added -tabindent flag
- don't recompute parser and printer mode repeatedly
Changes to go/printer:
- provide new printing mode TabIndent
Changes to tabwriter:
- implement new mode TabIndent to use tabs independent
of the actual padding character for leading empty columns
- distinguish between minimal cell width and tab width
(tabwidth is only used if the output contains tabs,
minwidth and padding are always considered)
- fixed and added more comments
- some additional factoring
By default, -tabindent is disabled and the default gofmt
behavior is unchanged. By setting -spaces and -tabindent,
gofmt will use tabs for indentation but do any other
alignment with spaces. This permits a user to change the
visible indentation by simply changing the editor's tab
width and the code will remain properly aligned without
the need to rerun gofmt.
R=rsc
https://golang.org/cl/163068
2009-12-02 16:57:15 -08:00
Fazlul Shahriar
0aa13c999b
gofmt: race condition in error reporting and setting exit code
...
How to reproduce:
$ mkdir /tmp/foo
$ cp /dev/null /tmp/foo/bar.go
$ chmod -r /tmp/foo/bar.go
$ gofmt /tmp/foo
open /tmp/foo/bar.go: permission denied
$ echo $? # should echo 2
0
$
Maybe you need to put a call to time.Sleep at the beginning of report().
R=gri
CC=golang-dev
https://golang.org/cl/164073
2009-12-02 13:02:42 -08:00
Evan Shaw
1664e81585
8g: Match sgen definition to declaration
...
R=rsc
CC=golang-dev
https://golang.org/cl/164069
2009-12-01 21:42:35 -08:00
Devon H. O'Dell
fd7e1a2d87
FreeBSD needs #!/usr/bin/env bash (fixes broken build on FreeBSD)
...
R=gri
https://golang.org/cl/163067
2009-12-01 19:30:17 -08:00
Charles L. Dorian
e1c347ca59
8g: fix 386 floating point stack bug
...
Also fixes issue 310 comment 5 error.
Fixes #310 .
R=rsc
https://golang.org/cl/163042
2009-12-01 15:53:50 -08:00
Robert Griesemer
749da968e4
make test.sh work again
...
R=rsc
https://golang.org/cl/164059
2009-12-01 13:08:36 -08:00
Rob Pike
67dc2ae3a6
a couple of usage fixups in prof
...
R=rsc
https://golang.org/cl/161050
2009-12-01 11:35:34 -08:00
Fazlul Shahriar
db18ce2f53
gofmt: use os.Stdin instead of opening /dev/stdin
...
Opening /dev/stdin can sometimes fail. For example, in the acme editor,
executing "Edit ,|gofmt" fails with:
open /dev/stdin: no such device or address
Executing "Edit ,|ls -l /dev/stdin /proc/self/fd/0" gives:
lrwxrwxrwx 1 root root 15 2009-09-07 02:17 /dev/stdin -> /proc/self/fd/0
lrwx------ 1 fhs users 64 2009-11-26 22:05 /proc/self/fd/0 -> socket:[5528230]
(This is my first change, and I've signed the individual contributor license agreement.)
R=rsc, gri
CC=golang-dev
https://golang.org/cl/162041
2009-12-01 09:32:22 -08:00
Robert Griesemer
9e450880e9
some godoc cleanup:
...
- simplified dealing with parse errors: no need to intersperse them in the source
- improve visibility of highlighted identifiers by showing them in bold
R=rsc
https://golang.org/cl/163051
2009-12-01 09:15:05 -08:00
Eden Li
354b100567
cgo: use C type void for opaque types if dwarf.Common().Type returns nothing
...
Ideally, the C name would come from the typedef or pointer that
references the Size<0 type, but we can't easily generate this without
performing a look-ahead to see if any referencing type will become opaque.
Fixes #334 .
Fixes #281 .
R=rsc
https://golang.org/cl/161056
2009-11-29 18:14:39 -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
Robert Griesemer
001a8b11ff
Change to container/vector interface:
...
- removed New(len int) in favor of new(Vector).Resize(len, cap)
- removed Init(len int) in favor of Resize(len, cap)
- runs all.bash
Fixes #294 .
R=rsc, r, r1
https://golang.org/cl/157143
2009-11-24 13:43:18 -08:00
Russ Cox
7c9acae2f1
godoc: plug file descriptor leak
...
R=gri
CC=r
https://golang.org/cl/157149
2009-11-24 13:21:14 -08:00
Eden Li
a9d0da75f1
cgo translates empty function arguments into void instead of dying with 'unexpected type: ...'.
...
Fixes #162 .
R=rsc
https://golang.org/cl/157147
2009-11-23 22:02:12 -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
Sergio Luis O. B. Correia
2b1133ff86
cmd/cc: change getquoted() to accept whitespaces.
...
getquoted() currently checks for whitespaces and returns nil
if it finds one. this prevents us from having go in a path
containing whitespaces, as the #pragma dynld directives are
processed through the said function.
this commit makes getquoted() accept whitespaces, and this is
also needed for solving issue #115 .
R=rsc
https://golang.org/cl/157066
2009-11-23 16:00:26 -08:00
Russ Cox
edf7485a6e
gofmt -r: documentation and minor fixes
...
fix a few paren insertion bugs in the printer too.
R=gri, r
CC=golang-dev
https://golang.org/cl/157119
2009-11-23 15:44:27 -08:00
Russ Cox
e69f12ae1d
two more if(h<0) that gcc 4.3 -O2 miscompiles
...
R=r
https://golang.org/cl/160044
2009-11-23 14:23:14 -08:00
Russ Cox
dc30800c28
8g: call throwindex for array out of bounds
...
R=ken2
https://golang.org/cl/160043
2009-11-23 12:58:28 -08:00
Russ Cox
28e392d4bd
gofmt: add -r flag to rewrite source code according to pattern
...
a little slow, but usable (speed unchanged when not using -r)
tweak go/printer to handle nodes without line numbers
more gracefully in a couple cases.
R=gri
https://golang.org/cl/156103
2009-11-20 15:09:54 -08:00
Russ Cox
9ac4449cb2
gofmt -r 'α[β:len(α)] -> α[β:]' -w src/cmd src/pkg
...
R=r, gri
CC=golang-dev
https://golang.org/cl/156115
2009-11-20 11:45:05 -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
9bc6a404d5
cgo: allow .so in subdirectories
...
R=r
https://golang.org/cl/157103
2009-11-20 00:31:03 -08:00
Eden Li
b30f753dc3
cgo now renders types with unknown size as [0]byte instead of raising a
...
fatal error.
Fixes #126 .
R=rsc
https://golang.org/cl/157101
2009-11-19 22:09:01 -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
Robert Griesemer
398927e63b
update test.sh for gofmt
...
R=rsc
https://golang.org/cl/157096
2009-11-19 16:42:49 -08:00
Robert Griesemer
b48f71213a
Permit omission of hi bound in slices.
...
R=r, rsc
https://golang.org/cl/157082
2009-11-19 16:42:05 -08:00
Trevor Strohman
61660adc63
Adds benchmark support to gotest.
...
No benchmarks are run unless the --benchmarks=<regexp> flag
is specified on the gotest command line. This change includes
sample benchmarks for regexp.
% gotest --benchmarks=.*
(standard test output redacted)
testing.BenchmarkSimpleMatch 200000 7799 ns/op
testing.BenchmarkUngroupedMatch 20000 76898 ns/op
testing.BenchmarkGroupedMatch 50000 38148 ns/op
R=r, rsc
https://golang.org/cl/154173
2009-11-19 16:35:34 -08:00
Ken Thompson
d9014dc98a
put copy into goyacc
...
R=rsc
https://golang.org/cl/156100
2009-11-19 15:34:11 -08:00
Devon H. O'Dell
60b1a17b9e
More FreeBSD-touchups. Thundercats are GOOOOO!
...
R=rsc
CC=golang-dev
https://golang.org/cl/157074
2009-11-18 16:51:59 -08:00
Russ Cox
dc43b74eb1
6l, 8l: add trivial hash table for dynamic symbols
...
R=r
https://golang.org/cl/156085
2009-11-18 15:58:44 -08:00
Rob Pike
e70cedfaec
remove bytes.Copy
...
replace all calls with calls to copy
use copy in regexp and bytes.Buffer
R=rsc
CC=golang-dev
https://golang.org/cl/157073
2009-11-18 15:24:24 -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
Russ Cox
91cf0af181
ld: move interpreter string into first block of ELF file
...
necessary on freebsd.
R=r, dho
CC=golang-dev
https://golang.org/cl/157069
2009-11-18 13:51:05 -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
Eden Li
652bb7c2be
Mangle C struct fields that happen to be named after Go keywords by prefixing them with _. Collisions with existing fields are resolved by prefixing the new Go identifier with _ until it matches nothing else in the struct.
...
Fixes #36 .
R=rsc
https://golang.org/cl/157061
2009-11-18 09:59:10 -08:00
Devon H. O'Dell
b3f538a4fd
FreeBSD/i386 work
...
This patchset gets Go to pretty much the same state that
FreeBSD/amd64 is in.
R=rsc
https://golang.org/cl/157055
2009-11-17 23:58:51 -08:00
Eden Li
2115f514d0
cgo no longer translates function args that are void* into
...
unsafe.Pointer.
Fixes #254 .
R=rsc
https://golang.org/cl/157060
2009-11-17 23:42:21 -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
Ken Thompson
26b55e44d9
fix botch
...
R=rsc
https://golang.org/cl/157046
2009-11-17 14:11:50 -08:00
Ken Thompson
8a6da2f6a0
change a n^2 algorithm in
...
data initialization to n*log(n)
R=rsc
https://golang.org/cl/158041
2009-11-17 13:59:38 -08:00
Sergio Luis O. B. Correia
bae4f5085e
cmd/cc: Fix -I switch to handle a path with blankspaces correctly
...
Currently, -I switch can't deal with a path containing spaces.
This commit simplify setinclude(), by removing the special case
of a string that had spaces. After this change, setinclude() will
merely add the given directories to the include path, if it does
not yet exist, and this approach works.
Will be needed for solving issue 115.
R=agl1, rsc, iant2, r
https://golang.org/cl/155059
2009-11-17 09:02:47 -08:00
Devon H. O'Dell
0489a260da
FreeBSD-specific porting work.
...
cgo/libmach remain unimplemented. However, compilers, runtime,
and packages are 100%. I still need to go through and implement
missing syscalls (at least make sure they're all listed), but
for all shipped functionality, this is done. Ship! ;)
R=rsc, VenkateshSrinivas
https://golang.org/cl/152142
2009-11-17 08:20:58 -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
44e51fad28
6l: fix divide by zero in glibc linker.
...
repeats 8l change http://code.google.com/p/go/source/detail?r=7594e16b5cf9
Fixes #179 .
R=iant
https://golang.org/cl/154145
2009-11-16 17:40:03 -08:00
Robert Griesemer
e86afaf456
Don't emit line tags when source code is printed as part of
...
package documentation using templates. The line tag interferes
with the anchor tag introduces by the template.
This fixes an an issue where some headers lost their ability
to link to the respective source code.
R=rsc
https://golang.org/cl/154166
2009-11-16 14:26:29 -08:00
Kai Backman
c3cf8d663a
s/AJMP/AB/ to fix build breakage.
...
R=rsc
https://golang.org/cl/155069
2009-11-16 11:58:28 -08:00
Russ Cox
ef46a9ddac
gc: fix up floating point NaN comparisons
...
Fixes #167 .
R=ken2
https://golang.org/cl/155062
2009-11-15 17:24:14 -08:00
Russ Cox
39f64bed52
godefs: avoid gcc 4'isms in command line.
...
Fixes #97 .
R=r
https://golang.org/cl/155054
2009-11-15 12:57:39 -08:00
Russ Cox
0238fd836f
cgo: arrange for English error messages
...
Fixes #21 .
R=r
https://golang.org/cl/155048
2009-11-15 12:57:21 -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
2a6bb2c63e
gotest: show the test file pattern in "no test files" error
...
Fixes #190 .
R=r
https://golang.org/cl/154142
2009-11-15 12:56:39 -08:00
Russ Cox
b18bee948e
cc: drop redundant strcpy
...
Fixes #192 .
R=ken2
https://golang.org/cl/155047
2009-11-15 00:00:05 -08:00
Russ Cox
139a053733
cc: eliminate two fixed-size buffers
...
Fixes bug 168.
Alternative to https://golang.org/cl/152143 .
R=ken2
https://golang.org/cl/155042
2009-11-14 23:25:55 -08:00
Devon H. O'Dell
553be8427e
Build changes to support work on the BSDs.
...
This does still contain some FreeBSD-specific bits, but
it's a pain to do partial diffs.
R=rsc
https://golang.org/cl/152138
2009-11-14 15:29: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
Robert Griesemer
511772c888
Remove -align flag from gofmt.
...
(Making it work correctly with -spaces is a bit of work and the output
won't make much sense as it is intended as input to tabwriter.)
Fixes #100 .
R=rsc
https://golang.org/cl/154102
2009-11-12 18:26:45 -08:00
Rob Pike
ce0a4bae41
produce helpful error when gotest doesn't find a Makefile
...
Fixes #117 .
R=rsc, agl1
CC=golang-dev
https://golang.org/cl/152107
2009-11-12 14:28:45 -08:00
Russ Cox
6634e3432d
cc, ld: fix more gcc 4.3 -O2 compile bugs
...
same as https://golang.org/cl/152088
in more files.
Fixes #83 .
R=r, r1
https://golang.org/cl/152091
2009-11-12 00:22:45 -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
8b95720918
gopack: work around gcc bug in hash function
...
Fixes #48 . (this time for sure!)
R=r, r1
https://golang.org/cl/152088
2009-11-11 22:19:58 -08:00
David Symonds
9e829c42d6
Fix capitalisation of "Git".
...
R=rsc
https://golang.org/cl/154071
2009-11-11 17:31:28 -08:00
Russ Cox
ae3341476d
cgo: add more information about gcc output parsing failures
...
R=r
https://golang.org/cl/152084
2009-11-11 16:58:27 -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
ae39a1d8ec
cc: correct handling of allocn(0, 1, d)
...
Fixes #29 .
R=r
https://golang.org/cl/152076
2009-11-11 14:52:21 -08:00
Russ Cox
d38630fe3d
gotest: add LC_ALL=C
...
R=r
https://golang.org/cl/154067
2009-11-11 14:52:15 -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
a174987a7c
two gopack nits.
...
1. allocate an extra byte for use by write.
2. throw away the code trying to translate
uid and gid to names. i suspect it of causing
seg faults in some situations, and it is
not needed by the compilers.
Fixes #48 . (I hope.)
R=r
https://golang.org/cl/152077
2009-11-11 14:48:33 -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
Adam Langley
5281869fac
gopack: convert long to time_t before taking a pointer.
...
Fixes #40 .
R=rsc, r1
CC=golang-dev
https://golang.org/cl/154057
2009-11-11 11:19:33 -08:00
Russ Cox
9604f7b009
gotest: avoid problems with grepping for ·
...
Fixes #7 .
R=r
CC=golang-dev
https://golang.org/cl/154043
2009-11-10 19:56:32 -08:00
Robert Griesemer
1698934194
- replaced gofmt expression formatting algorithm with
...
rsc's algorithm
- applied gofmt -w misc src
- partial CL (remaining files in other CLs)
R=rsc, r
http://go/go-review/1024040
2009-11-09 21:09:34 -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
Robert Griesemer
92743615fb
TBR:
...
fix typo that prevented function bodies from being indexed (ouch!)
R=rsc
http://go/go-review/1024035
2009-11-09 14:44:16 -08:00
Robert Griesemer
40621d5c0d
remove semis after statements in one-statement statement lists
...
R=rsc, r
http://go/go-review/1025029
2009-11-09 12:07:39 -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
Robert Griesemer
aae64f8c81
- exit godoc w/o crashing if negative tabwidth is provided
...
- minor related cleanups
R=rsc
http://go/go-review/1025026
2009-11-08 23:42:00 -08:00
Robert Griesemer
d731dc8e72
Addressing issue brought up by dsymonds:
...
- When providing alternative spellings to a query, do not
prefix it with a package qualifier as the suggestion may
not have any results. Correctly filtering is quite a bit
of work, and clicking the alternative spelling will always
also show the qualified hits if they exist (but also others).
Seems good enough for now.
- Give user feedback when the query syntax was wrong.
- Package names in search results are now links to the respective
package documentation.
- Experimented with excluding main packages and test files
from index with inconclusive results. Code is present and
can be enabled by changing a flag in the source. This needs
some more work.
R=rsc
CC=r, dsymonds
http://go/go-review/1026033
2009-11-08 23:34:08 -08:00
Russ Cox
71983af4a1
bug212, bug213.
...
R=ken
http://go/go-review/1026032
2009-11-08 23:22:06 -08:00
Robert Griesemer
c532940ecf
improved sentence extraction:
...
- don't forget first periods
- look at capitalization of last char before periods
R=rsc
http://go/go-review/1024027
2009-11-08 21:48:51 -08:00
Russ Cox
ed6eb5b577
a nagging inconsistency: capitalization of
...
HTML vs Html, URL vs Url, HTTP vs Http,
current source is 6:1 in favor of the former,
so change instances of the latter.
R=r
CC=go-dev
http://go/go-review/1024026
2009-11-08 21:46:20 -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
Robert Griesemer
7837dbfcb8
use grouping instead of colors to show non-global search hits:
...
- introduced a new run per file containing all spots belonging
to the same kind (e.g. var decl, const decl, etc.)
- more comments, better index.go file organization
R=rsc
http://go/go-review/1026028
2009-11-08 20:17:04 -08:00
Robert Griesemer
e8b580c9aa
fix sentence extraction
...
R=rsc
http://go/go-review/1026027
2009-11-08 18:19:06 -08:00
Robert Griesemer
202ede1240
- properly align package synopses
...
(this was surprisingly hard to get right in HTML)
- show modification times in source directory listings
- various tweaks
R=rsc
http://go/go-review/1024024
2009-11-08 16:47:32 -08:00
Robert Griesemer
a011480ff3
TBR
...
1st step of renaming dirList.html -> dirlist.html
(OS X filenames are not capitalization-sensitive)
R=rsc
http://go/go-review/1024021
2009-11-08 00:51:08 -08:00
Robert Griesemer
89d0e2dbe3
- better support for text files: show them nicely formatted
...
instead of serving them raw
- path-related cleanups
R=rsc
http://go/go-review/1026021
2009-11-08 00:40:43 -08:00
Robert Griesemer
1a9805adcb
- avoid division-by-zero crash in tabwriter
...
- correct tabwidth argument for some tabwriter test cases
- catch negative tabwidth flag in gofmt w/o crashing
R=rsc
http://go/go-review/1026022
2009-11-07 23:59:24 -08:00
Robert Griesemer
642caacfa3
- added link to sources
...
- renamed listing.html -> dirList.html
(there is a dirs.html already, it should probably have a better name, too)
R=rsc
http://go/go-review/1025020
2009-11-07 21:24:48 -08:00
Robert Griesemer
171ef39949
nice directory listings
...
R=rsc
http://go/go-review/1026020
2009-11-07 21:12:46 -08:00
Robert Griesemer
1ac60ddd10
- support to extract one-line package synopsis for package listings
...
- formatting in dirs.html is crude, needs better html (open to suggestions),
but shows the synopsis
- many package comments should probably be adjusted such that the first
sentence is more concise
R=rsc, iant
http://go/go-review/1025014
2009-11-07 13:17:53 -08:00
Ken Thompson
0eb2a79ff3
8g optimizer
...
R=rsc
http://go/go-review/1025011
2009-11-06 16:51:49 -08:00
Robert Griesemer
368f8cbc75
- fine-tuning of one-line func heuristic (nodes.go)
...
- enabled for function declarations (not just function literals)
- applied gofmt -w $GOROOT/src
(look for instance at src/pkg/debug/elf/elf.go)
R=r, rsc
CC=go-dev
http://go/go-review/1026006
2009-11-06 14:24:38 -08:00
Robert Griesemer
5873598a97
updated godoc documentation
...
R=r
http://go/go-review/1026007
2009-11-06 14:00:49 -08:00
Kai Backman
fd7d803535
fix argument order bug for float
...
R=rsc
http://go/go-review/1025006
2009-11-06 13:51:17 -08:00
Kai Backman
de663b2d6b
with rsc: argsize rounding to 8 smashes stack data on 32bit machines.
...
R=rsc
http://go/go-review/1024011
2009-11-06 13:50:58 -08:00
Kai Backman
52c549fc9b
make 5g executables run on android/arm hardware. change OABI
...
usage to EABI.
go/test: passes 85% (296/347) on random android phone.
R=rsc
http://go/go-review/1024003
2009-11-05 22:53:08 -08:00
Robert Griesemer
054354ebd4
gofmt src/cmd/goyacc
...
(with this change: gofmt -l src/cmd/ | wc
is 0 0 0)
R=ken, rsc
http://go/go-review/1024005
2009-11-05 22:29:29 -08:00
Robert Griesemer
79284cae32
gofmt'ed src/cmd
...
R=rsc
http://go/go-review/1024004
2009-11-05 22:25:46 -08:00
Robert Griesemer
441e775dad
gofmt'ed godefs
...
R=rsc
http://go/go-review/1020001
2009-11-05 15:35:53 -08:00
Robert Griesemer
6f762f5410
gofmt'ed 6l 8l cgo
...
R=r
http://go/go-review/1020002
2009-11-05 15:33:26 -08:00
Russ Cox
790c9b59d6
codereview: new commands
...
* clpatch
* download
* submit, on behalf of clpatch
stir hgpatch to fix a few bugs
R=r
CC=go-dev
http://go/go-review/1016051
2009-11-05 14:44:57 -08:00
Ken Thompson
18cb960f3e
forgot a piece of debugging
...
in previous change
R=rsc
http://go/go-review/1017052
2009-11-05 13:05:07 -08:00
Ken Thompson
505fd760a2
same speedup as 6l
...
R=rsc
http://go/go-review/1016050
2009-11-05 12:47:22 -08:00
Russ Cox
1329012a23
new command hgpatch, for use by codereview extension
...
R=r
http://go/go-review/1018059
2009-11-05 09:27:19 -08:00
Ken Thompson
9c7535432a
speed up 6l
...
hopefully no change
R=rsc
http://go/go-review/1017035
2009-11-04 18:17:57 -08:00
Russ Cox
3de3af512d
doc doc doc
...
R=r
http://go/go-review/1016039
2009-11-04 15:17:36 -08:00
Rob Pike
98ac4c6e65
stylistic issues in a couple of cmd docs
...
R=rsc
http://go/go-review/1017028
2009-11-04 13:13:17 -08:00
Rob Pike
0d3dd3c950
document godoc and gofmt
...
R=rsc
http://go/go-review/1018036
2009-11-04 11:33:43 -08:00
Robert Griesemer
4bb0271a12
remove reference to /home/r
...
R=rsc
http://go/go-review/1018039
2009-11-04 11:15:19 -08:00
Rob Pike
56a38f25a7
document gotest
...
R=rsc
CC=go-dev
http://go/go-review/1017026
2009-11-03 23:06:16 -08:00
Rob Pike
796e29ebfc
add goyacc to the build
...
R=rsc
CC=go-dev
http://go/go-review/1018034
2009-11-03 22:48:48 -08:00
Rob Pike
472576c615
make goyacc and units.y work again (minor tweaks).
...
document goyacc a little.
R=rsc
CC=go-dev
http://go/go-review/1017024
2009-11-03 22:38:43 -08:00
Rob Pike
701440043b
document gopack.
...
change string in usage message.
R=rsc
http://go/go-review/1017023
2009-11-03 22:36:31 -08:00
Rob Pike
c6dd8c18f0
document ebnflint
...
R=gri
http://go/go-review/1016034
2009-11-03 22:19:56 -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
Robert Griesemer
4818d346b6
support for command documentation:
...
- made package tree handler generic so it can work on any fs tree
- cleanups along the way
R=rsc
CC=r
http://go/go-review/1017020
2009-11-03 19:40:26 -08:00
Rob Pike
dc62c66c73
more command documentation, including nm and prof
...
R=rsc
http://go/go-review/1017022
2009-11-03 17:46:35 -08:00
Rob Pike
b5ab5d4f12
document the assemblers.
...
add details about -d and -e flags in the loaders.
R=rsc
CC=go-dev
http://go/go-review/1018031
2009-11-03 16:29:32 -08:00
Rob Pike
2bc63f2367
First steps at command documentation: C compilers and linkers.
...
Each command gets a doc.go file for godoc to analyze. Its main
element is a package comment.
R=rsc
CC=go-dev
http://go/go-review/1018029
2009-11-03 16:05:47 -08:00
Russ Cox
96ea081c04
6l -e: emit external ELF symbol table.
...
enough to make nm and oprofile work.
R=r
http://go/go-review/1017016
2009-11-03 14:20:37 -08:00
Robert Griesemer
12f8660d4c
use default styler when there is no other given
...
(No visual change yet since the comments for
exported code snippets - as shown on the pkg
page - are not yet formatted using the standard
comment intersperse mechanism in the printer.
This is a TODO in the printer.)
R=rsc
http://go/go-review/1016031
2009-11-03 10:00:57 -08:00
Robert Griesemer
be56b95770
- show recursive package directory structure in package pages
...
- removed some underbars in section headings for better looks
- various minor tweaks
R=rsc
http://go/go-review/1018026
2009-11-02 22:44:01 -08:00
Rob Pike
120d0b50c6
forgot to count newlines when scanning white space.
...
also fix a error-printing bug in godoc.
R=gri
http://go/go-review/1016030
2009-11-02 20:35:52 -08:00
Russ Cox
6334b499e8
fix divide by zero in old glibc dynamic loader
...
R=r
CC=iant
http://go/go-review/1018024
2009-11-02 14:00:32 -08:00
Adam Langley
72ec930fa7
Fix cgo for GCC 4.4
...
Firstly, with -Werror, GCC switched to printing warnings starting
with "error:". Widening the string matches solves this as the messages
are otherwise unchanged.
Secondly, GCC 4.4 outputs DWARF sections with with NUL bytes in all
the offsets and requires the relocation section for .debug_info to be
processed in order to result in valid DWARF data. Thus we add minimal
handling for relocation sections, which is sufficient for our needs.
BUG=1
Fixes #1 .
R=rsc, iant
CC=go-dev
http://go/go-review/1017003
2009-11-02 12:02:16 -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
Robert Griesemer
49d295d592
- initial steps towards showing directory tree instead of
...
just a single directory
- all pieces present but not well integrated
- directory tree served at the moment under /tree
R=rsc
http://go/go-review/1018016
2009-11-02 09:25:39 -08:00
Russ Cox
9dd2e1e30f
nil pointer checks in 8g.
...
fix nil pointer check in 6g.
was dereferencing after the ADD;
dereference before instead.
R=ken@golang.org
CC=iant
http://go/go-review/1016022
2009-11-01 21:04:16 -08:00
Rob Pike
4d310f2434
reverse the arguments to io.Copy so the destination is on the
...
left, like an assignment, like strcpy, etc.
R=rsc
CC=go-dev
http://go/go-review/1016011
2009-11-01 20:59:49 -08:00
Robert Griesemer
b96ad80949
enable all (but one) test cases in test.sh that
...
were excluded before because of incorrect comment
formatting (comment formatting is mostly idempotent
at this point)
R=rsc
http://go/go-review/1018014
2009-11-01 15:27:10 -08:00
Russ Cox
fd1add2768
syscall cleanup.
...
* rename PORT.sh -> mkall.sh (hopefully more obvious),
change behavior: run commands by default.
* pull more constants out of #defines automatically,
instead of editing large lists by hand.
* add Recvfrom, Sendto
add os.O_EXCL.
R=r
http://go/go-review/1017009
2009-11-01 11:13:27 -08:00
Robert Griesemer
5223218307
don't update sync time if no files have changed
...
(and thus avoid re-indexing after every sync attempt)
R=rsc
http://go/go-review/1016010
2009-11-01 10:33:16 -08:00
Russ Cox
7732d80ceb
misc cleanup
...
R=r
http://go/go-review/1016017
2009-11-01 09:25:55 -08:00
Robert Griesemer
fb12ad063e
fix build
...
R=agl
CC=rsc
http://go/go-review/1016008
2009-10-30 13:19:04 -07:00
Russ Cox
09f4261841
split godoc/godoc.go into godoc/godoc.go
...
and godoc/main.go.
R=gri
CC=r
http://go/go-review/1017005
2009-10-30 10:58:53 -07:00
Kai Backman
1d0b65d33f
added missing sgen reverse character copy code.
...
R=rsc
http://go/go-review/1018006
2009-10-30 09:38:30 -07:00
Stephen Ma
74aa9dd55a
Hack to make cgo's generated go code compile when there are no
...
unsafe.Pointer references inside the C declarations.
R=go-dev
APPROVED=rsc
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=36063
CL=36063
2009-10-26 21:21:53 -07:00
Robert Griesemer
c54cb4cb4d
- added missing formatters in templates
...
- replaced deprecated use of </font> with </span> tag
- added html escaping to godoc formatters where missing
- enabled text format for package documentation
R=rsc
http://go/go-review/1017001
2009-10-28 16:19:09 -07:00
Kai Backman
58ee1f5d54
shift for non-64 bit integers.
...
R=rsc
http://go/go-review/1015017
2009-10-27 22:38:45 -07:00
Robert Griesemer
e3fd2e1ec6
godoc search bug fixes:
...
- sort by package name (instead of package path) for results with snippets
- sort line numbers in results without snippets
- properly characterize package clauses
- experiment with a leaner look: no underlines for top-level godoc links in the left side bar
Still using colors to distinguish results. Next step.
R=rsc
http://go/go-review/1015016
2009-10-27 16:08:12 -07:00
Robert Griesemer
32810a5ded
code search for godoc:
...
- added goroutine to automatically index in the background
- added handler for search requests
- added search box to top-level godoc template
- added search.html template for the display of search results
- changes to spec.go because of name conflicts
- added extra styles to style.css (for shorter .html files)
R=rsc
http://go/go-review/1014011
2009-10-27 10:34:31 -07:00
Kai Backman
1228112b50
bug162, large indices on nil references
...
R=rsc
http://go/go-review/1013016
2009-10-26 21:49:32 -07:00
Robert Griesemer
5a75ac88c9
- indexing component for godoc
...
R=rsc
http://go/go-review/1015014
2009-10-26 18:32:51 -07:00
Robert Griesemer
57035a9041
snippet generator for godoc search results
...
R=rsc
http://go/go-review/1013014
2009-10-26 15:47:56 -07:00
Kai Backman
5cc32a5348
fix defer. gave up on unified code for defer and go for now.
...
R=rsc
http://go/go-review/1014010
2009-10-26 08:02:19 -07:00
Kai Backman
dfeceddd3f
make 5l ignore multiple defs, remove use of multiple
...
defs from embed1 and gotest
R=rsc
http://go/go-review/1014009
2009-10-25 11:59:58 -07:00
Kai Backman
9e99383df5
frame size > StackBig support
...
R=rsc
http://go/go-review/1015010
2009-10-25 11:51:48 -07:00
Kai Backman
68d5c51287
fix conditional branch instructions for unsigned ints and
...
float. fix sgen endianess in sgen character copying.
go/test: passes 97% (336/345)
R=rsc
http://go/go-review/1015007
2009-10-24 22:47:25 -07:00
Rob Pike
c91e89d539
remove reference to p4 in comment.
...
R=gri
CC=rsc
http://go/go-review/1014008
2009-10-24 14:27:49 -07:00
Kai Backman
f860bc0f4e
fixed len/cap for chan. disable gc for now.
...
go/test: passes 93% (323/345)
R=rsc
http://go/go-review/1015006
2009-10-23 20:31:03 -07:00
Kai Backman
942d6590d9
one more argsize fix. we were copying with the correct
...
alignment but not enough (duh).
R=rsc
APPROVED=rsc
DELTA=16 (13 added, 0 deleted, 3 changed)
OCL=36020
CL=36024
2009-10-23 11:03:16 -07: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
Kai Backman
0af8e1045c
fix off by 4 bug in morestack (lr again). remove storing of r0
...
now that all arguments are passed on the stack.
go/test: passes 89% (310/345)
R=rsc
APPROVED=rsc
DELTA=33 (13 added, 14 deleted, 6 changed)
OCL=36009
CL=36022
2009-10-23 10:59:31 -07:00
Kai Backman
a9e03ae52a
fix broken code produced for ominus
...
go/test: passes 89% (308/345)
R=rsc
APPROVED=rsc
DELTA=10 (5 added, 0 deleted, 5 changed)
OCL=36005
CL=36021
2009-10-23 10:58:29 -07:00
Kai Backman
03bbfe6724
fix off by 4 in newproc arg copying.
...
R=rsc
APPROVED=rsc
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=36001
CL=36004
2009-10-22 13:31:52 -07:00
Robert Griesemer
34e8075259
fix computation of sync delay
...
R=rsc
http://go/go-review/1013011
2009-10-23 11:35:40 -07:00
Robert Griesemer
8f52a82169
- make printer interface easily extensible w/o breaking clients (in the future)
...
- replacement for p4 CL 35999 (abandoned)
R=rsc
http://go/go-review/1012010
2009-10-22 18:19:49 -07:00
Russ Cox
219fb02042
fix build after Mercurial move.
...
various missing or incorrect files.
R=r
CC=go-dev
http://go/go-review/1014004
2009-10-22 10:59:27 -07:00
Robert Griesemer
90cc4a5949
go/printer:
...
- handle HTML tagging via (client-installable) Stylers
go/doc:
- basic styler support
- some factoring
- ready to contain the search code (but for now excluded)
doc/style.css:
- updated
doc/go_spec.css:
- cleanup: replace deprecated uses of <font> tag with <span> tag
R=rsc
DELTA=302 (160 added, 62 deleted, 80 changed)
OCL=35973
CL=35996
2009-10-22 09:41:38 -07:00
Kai Backman
c2eb89af92
change stack splitting comparisons from signed to unsigned (oversight)
...
R=rsc
APPROVED=rsc
DELTA=9 (0 added, 0 deleted, 9 changed)
OCL=35911
CL=35952
2009-10-21 09:44:23 -07:00
Robert Griesemer
f591591a28
remove superfluous tracing support
...
R=rsc
DELTA=5 (0 added, 4 deleted, 1 changed)
OCL=35930
CL=35930
2009-10-20 13:30:32 -07:00
Robert Griesemer
4213c22301
Updated and simplified gofmt.
...
- operates on stdin, a single file, or all files in a file tree
- setting -w flag writes to (source) file instead of stdout
- setting -l flag lists files whose formatting has changed
R=rsc
DELTA=201 (102 added, 71 deleted, 28 changed)
OCL=35890
CL=35926
2009-10-20 12:07:31 -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
Kai Backman
dde4090372
removed tempalloc/tempfree and replaced with tempname
...
go/test: passes 88% (304/345)
R=rsc
APPROVED=rsc
DELTA=67 (3 added, 54 deleted, 10 changed)
OCL=35910
CL=35910
2009-10-19 22:47:25 -07:00
Russ Cox
fcb9387089
support for 5.out files
...
R=kaib
DELTA=1262 (1247 added, 7 deleted, 8 changed)
OCL=35907
CL=35909
2009-10-19 22:33:56 -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
Russ Cox
8fffa1d698
bug190.
...
also eliminate float80 dregs
R=ken
OCL=35894
CL=35896
2009-10-19 18:47:37 -07:00
Kai Backman
b4896b496e
function literals
...
go/test: passes 86% (297/343)
R=rsc
APPROVED=rsc
DELTA=14 (10 added, 1 deleted, 3 changed)
OCL=35881
CL=35884
2009-10-19 12:44:08 -07:00
Kai Backman
8037e3ba5e
fix arm build, add 64 bit cgen_asop
...
R=rsc
APPROVED=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=35845
CL=35845
2009-10-16 12:02:14 -07:00
Russ Cox
22a5c78f44
rename sys functions to runtime,
...
because they are in package runtime.
another step to enforcing package boundaries.
R=r
DELTA=732 (114 added, 93 deleted, 525 changed)
OCL=35811
CL=35824
2009-10-15 23:10:49 -07:00
Kai Backman
4f7aa31862
fix minor typo in float conversions
...
R=rsc
APPROVED=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=35820
CL=35820
2009-10-15 22:30:57 -07:00
Kai Backman
545dbd810c
fix OINDEX address generation, leftover misunderstanding about
...
how scale works on amd64/386
go/test: passes 85% (294/342)
R=rsc
APPROVED=rsc
DELTA=27 (26 added, 1 deleted, 0 changed)
OCL=35815
CL=35818
2009-10-15 22:16:31 -07:00
Kai Backman
222a15c840
test/64bit.go passes but doesn't generate properly yet.
...
R=rsc
APPROVED=rsc
DELTA=235 (98 added, 38 deleted, 99 changed)
OCL=35789
CL=35813
2009-10-15 19:41:51 -07:00
Russ Cox
4e4097d9d9
386 shift bug; wasn't zero-extending 16- and 8-bit counts
...
+test
R=ken
OCL=35801
CL=35801
2009-10-15 16:32:45 -07:00
Russ Cox
a75e347a21
do not migrate x to the heap because of *&x.
...
R=ken
OCL=35799
CL=35799
2009-10-15 16:03:01 -07:00
Kai Backman
f72ea8eb76
LDREX and STREX
...
R=rsc
APPROVED=rsc
DELTA=30 (30 added, 0 deleted, 0 changed)
OCL=35751
CL=35756
2009-10-14 21:47:08 -07:00
Rob Pike
fd4767f2c5
rename the source directory for gopack from ar to gopack.
...
remove the references to 6ar
R=rsc
DELTA=3547 (1770 added, 1775 deleted, 2 changed)
OCL=35669
CL=35671
2009-10-13 12:37:28 -07:00
Kai Backman
101f7cbd61
changed 5c 64 bit word ordering to little endian so it matches
...
5g. fixes to 64 bit code gen. added (finally) function to do
shifts properly.
go/test: passes 83% (287/342)
R=rsc
APPROVED=rsc
DELTA=156 (50 added, 53 deleted, 53 changed)
OCL=35589
CL=35616
2009-10-12 13:35:28 -07:00
Russ Cox
2372408189
sort errors by line number
...
turn off testdclstack and "not used" errors
when there are syntax errors.
BUG=2181825
R=ken
OCL=35606
CL=35608
2009-10-12 11:03:48 -07:00
Russ Cox
add89dd1ba
stack overflow debugging and fix.
...
* in 6l, -K already meant check for stack underflow.
add -KK to mean double-check stack overflows
even in nosplit functions.
* comment out print locks; they deadlock too easily
but are still useful to put back for special occasions.
* let runcgo assembly switch to scheduler stack
without involving scheduler directly. because runcgo
gets called from matchmg, it is too hard to keep it
from being called on other stacks.
R=r
DELTA=94 (65 added, 18 deleted, 11 changed)
OCL=35591
CL=35604
2009-10-12 10:26:38 -07:00
Russ Cox
fd76b4f385
new builtin.c.boot from arm.
...
node printing fixes.
silence incorrect redeclaration error.
R=ken
OCL=35602
CL=35602
2009-10-12 10:12:37 -07:00
Kai Backman
6d0983ae46
64bit and float code generation. fmt compiles but
...
reflect is broken so fmt doesn't work.
go/test: passes 83% (285/342)
R=rsc
APPROVED=rsc
DELTA=415 (240 added, 29 deleted, 146 changed)
OCL=35576
CL=35588
2009-10-11 20:01:11 -07:00
Kai Backman
1620023d03
fix float <-> int64 conversions
...
R=rsc
APPROVED=rsc
DELTA=25 (25 added, 0 deleted, 0 changed)
OCL=35566
CL=35574
2009-10-10 22:06:26 -07:00
Rob Pike
86cfaf66a7
reallocate library, libraryobj: 50 isn't nearly enough
...
R=rsc
DELTA=7 (2 added, 0 deleted, 5 changed)
OCL=35569
CL=35569
2009-10-10 12:29:06 -07:00
Russ Cox
c736b6579f
bug209
...
R=ken
OCL=35546
CL=35546
2009-10-09 16:01:32 -07:00
Russ Cox
f0bde7c51b
fix nacl build
...
R=r
DELTA=23 (5 added, 0 deleted, 18 changed)
OCL=35510
CL=35518
2009-10-09 11:15:19 -07:00
Kai Backman
6084dcdd07
floating point calc, added a few more packages that pass
...
go/test: passes 80% (274/340)
R=rsc
APPROVED=rsc
DELTA=61 (59 added, 0 deleted, 2 changed)
OCL=35506
CL=35517
2009-10-09 07:37:49 -07:00
Russ Cox
680ee6af63
add & fix bug208, from ken.
...
fix bug198.
R=ken
OCL=35504
CL=35507
2009-10-08 23:03:34 -07:00
Kai Backman
98fff8ffb2
dupok, gcc compile fix, sync and syscall asm fix
...
R=rsc
APPROVED=rsc
DELTA=27 (18 added, 0 deleted, 9 changed)
OCL=35503
CL=35505
2009-10-08 22:16:08 -07:00
Russ Cox
094f1d5990
more lgtm files from gofmt
...
R=gri
OCL=35485
CL=35488
2009-10-08 15:14:54 -07:00
Russ Cox
55edf49a01
add & fix bug207: rewritten if condition
...
was discarding initialization work.
R=ken
OCL=35454
CL=35457
2009-10-07 22:19:42 -07:00
Russ Cox
d515063588
better handling of mistaken top-level variable
...
references during the parsing of :=. the base
problem is that when reading
a,b,c,d
the parser makes those refer to existing variables,
which might create a few stub top-level ones
for undefined names, but then if a := is the next
token, we need to undo those stubs.
this was causing problems in multifile packages
in which one file used a := variable named rpc
and the other imported a package named rpc.
R=ken
OCL=35446
CL=35446
2009-10-07 14:55:12 -07:00
Russ Cox
4fd7a908bb
do not import testing twice when testing testing.
...
R=r
DELTA=3 (2 added, 0 deleted, 1 changed)
OCL=35443
CL=35445
2009-10-07 14:52:44 -07:00
Russ Cox
c2874976e4
factor portable object+library bits out of 5l/6l/8l into ld
...
R=r
DELTA=3214 (904 added, 2260 deleted, 50 changed)
OCL=35425
CL=35427
2009-10-07 00:11:59 -07:00
Kai Backman
a2cf914379
5l library loading, 64 bit entry points
...
R=rsc
APPROVED=rsc
DELTA=58 (52 added, 3 deleted, 3 changed)
OCL=35417
CL=35417
2009-10-06 19:00:30 -07:00
Kai Backman
116beb2653
- moved 3 functions from syscall_linux to _386 and _amd64 (arm lacks them)
...
- 64 bit OMINUS
- added bunch of missing arm syscalls
R=rsc
APPROVED=rsc
DELTA=203 (189 added, 3 deleted, 11 changed)
OCL=35412
CL=35414
2009-10-06 16:39:38 -07:00
Rob Pike
0bf5553538
fix build
...
R=rsc
DELTA=5 (5 added, 0 deleted, 0 changed)
OCL=35387
CL=35401
2009-10-06 15:08:32 -07:00
Russ Cox
650bff6aa9
another round of gofmt applications
...
R=gri
DELTA=900 (106 added, 31 deleted, 763 changed)
OCL=35384
CL=35396
2009-10-06 14:55:39 -07:00
Kai Backman
620ec45c5f
cleaned up cgen() to be a bit more straightforward.
...
R=rsc
APPROVED=rsc
DELTA=104 (46 added, 56 deleted, 2 changed)
OCL=35392
CL=35394
2009-10-06 14:48:39 -07:00
Russ Cox
c62b3265a7
apply gofmt to the LGTM-marked files from 34501
...
that have not changed since I applied gofmt.
R=gri
DELTA=456 (77 added, 3 deleted, 376 changed)
OCL=35378
CL=35383
2009-10-06 11:42:55 -07:00
Kai Backman
5afce0ca85
64 bit cmp and some sgen tweaks
...
go/test: passes 75% (256/339)
R=rsc
APPROVED=rsc
DELTA=142 (53 added, 4 deleted, 85 changed)
OCL=35367
CL=35375
2009-10-06 09:47:46 -07:00
Rob Pike
e6bc5bf5af
allow multiple -L options
...
R=rsc
DELTA=31 (15 added, 3 deleted, 13 changed)
OCL=35364
CL=35364
2009-10-05 21:31:50 -07:00
Robert Griesemer
c915bc54ba
remove a file from idempotency test so that the entire suite passes
...
R=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=35355
CL=35358
2009-10-05 19:32:10 -07:00
Russ Cox
11d3805579
clean more
...
R=r
DELTA=40 (9 added, 3 deleted, 28 changed)
OCL=35277
CL=35305
2009-10-03 10:38:03 -07:00
Russ Cox
133a158bd8
8c, 8l dynamic loading support.
...
better mach binaries.
cgo working on darwin+linux amd64+386.
eliminated context switches - pi is 30x faster.
add libcgo to build.
on snow leopard:
- non-cgo binaries work; all tests pass.
- cgo binaries work on amd64 but not 386.
R=r
DELTA=2031 (1316 added, 626 deleted, 89 changed)
OCL=35264
CL=35304
2009-10-03 10:37:12 -07:00
Kai Backman
3e5a817d07
a few more code generation bugs and an interface alignment issue.
...
go/test: passes 74% (251/339)
R=rsc
APPROVED=rsc
DELTA=40 (34 added, 0 deleted, 6 changed)
OCL=35254
CL=35275
2009-10-02 09:06:51 -07:00
Robert Griesemer
53440da835
Factored out boilerplate from all html docs in doc directory:
...
- the first HTML comment in those files is extracted as page
title when serving them
- lib/godoc.html is top-level template for all pages served
- experimented a bit with package documentation layout
(feedback welcome)
- various related cleanups
TODO:
- The / page (doc/root.html) content repeats links that are
in the navigation bar. It needs to be cleaned up.
R=rsc
DELTA=826 (86 added, 692 deleted, 48 changed)
OCL=35230
CL=35245
2009-10-01 14:08:00 -07:00
Kai Backman
57f834aeff
generate float registers correctly.
...
go/test: passes 71% (242/339)
R=rsc
APPROVED=rsc
DELTA=9 (5 added, 0 deleted, 4 changed)
OCL=35233
CL=35243
2009-10-01 13:52:55 -07:00
Kai Backman
8fd53f4754
cgen_asop sudoaddable
...
R=rsc
APPROVED=rsc
DELTA=14 (4 added, 0 deleted, 10 changed)
OCL=35190
CL=35210
2009-10-01 06:50:59 -07:00
Kai Backman
a1b4796394
fixed a few calls to gcmp and some really bothched OINDEX code
...
(how did that happen?)
go/test: passes 70% (238/339)
R=rsc
APPROVED=rsc
DELTA=18 (10 added, 0 deleted, 8 changed)
OCL=35185
CL=35188
2009-09-30 18:56:37 -07:00
Russ Cox
2157025ef0
step toward darwin ffi: factor out macho code
...
R=r
DELTA=771 (374 added, 287 deleted, 110 changed)
OCL=35187
CL=35187
2009-09-30 17:33:39 -07:00
Kai Backman
399d23d4f4
load binary op arguments into registers
...
go/test: passes 69% (237/339)
R=rsc
APPROVED=rsc
DELTA=12 (3 added, 9 deleted, 0 changed)
OCL=35178
CL=35180
2009-09-30 14:28:18 -07:00
Russ Cox
e67a5084b8
cgo working on linux/386
...
R=r
DELTA=70 (47 added, 4 deleted, 19 changed)
OCL=35167
CL=35171
2009-09-30 13:47:15 -07:00
Russ Cox
cce01111a9
cgo: works on amd64.
...
integrated into Makefiles (see misc/cgo/gmp/Makefile).
R=r
DELTA=1110 (540 added, 525 deleted, 45 changed)
OCL=35153
CL=35158
2009-09-30 11:51:08 -07:00
Russ Cox
5124e66fca
c compiler bug tickled by
...
void f(struct { int x[1]; } p) { }
the "int" was getting attached to f.
R=ken
OCL=35145
CL=35151
2009-09-30 10:25:22 -07:00
Russ Cox
b71c484c91
fix 386 build - register allocation and shift bug
...
R=ken
OCL=35140
CL=35142
2009-09-30 08:56:01 -07:00
Russ Cox
e7f9452da5
missing error checking related to ([...]int){...}
...
R=ken
OCL=35132
CL=35132
2009-09-29 21:23:34 -07:00
Russ Cox
6f1698774d
undo 35108 (disallow parens around type in struct literal).
...
allow parens around [...]int in struct literal.
R=ken
OCL=35112
CL=35130
2009-09-29 21:21:14 -07:00
Kai Backman
187cc1eb49
fix munging of pointer.
...
go/test: passes 69% (235/339)
R=rsc
APPROVED=rsc
DELTA=5 (4 added, 1 deleted, 0 changed)
OCL=35107
CL=35109
2009-09-29 16:07:59 -07:00
Russ Cox
9c3c140984
disallow parens around type in struct literal syntax,
...
per discussion with gri.
R=ken
OCL=35108
CL=35108
2009-09-29 16:05:44 -07:00
Kai Backman
8ccf8240f4
fixed alignment issue resulting from confusion around the
...
meaning of out args.
go/test: passes 68% (231/339)
R=rsc
APPROVED=rsc
DELTA=13 (7 added, 0 deleted, 6 changed)
OCL=35072
CL=35080
2009-09-29 07:27:49 -07:00
Kai Backman
24bfaaf07a
- added gcmp for proper ACMP generation, changed all call
...
sites plus optimized constant code a bit (one less register
used).
- changed conditional branches, might need a re-tweak later
- gave up on agen OINDEX and copied/fixed the version in 8g
go/test: passes 66% (225/339)
R=rsc
APPROVED=rsc
DELTA=148 (67 added, 32 deleted, 49 changed)
OCL=35040
CL=35055
2009-09-28 15:40:13 -07:00
Russ Cox
7743ffead4
disallow interface { x, y() }
...
R=ken
OCL=35042
CL=35044
2009-09-28 14:05:34 -07:00
Russ Cox
ed6de5af4c
comparisons have type bool
...
R=ken
OCL=34995
CL=34997
2009-09-24 17:55:22 -07:00
Russ Cox
285b6021e9
missing files; cleaned up g4 nothave output.
...
fixes 386 build.
R=r
DELTA=56 (56 added, 0 deleted, 0 changed)
OCL=34979
CL=34981
2009-09-24 13:38:18 -07:00
Russ Cox
0c71ead9e6
convert 8l to new ELF code.
...
mostly cut and paste from 6l.
R=r
DELTA=930 (525 added, 182 deleted, 223 changed)
OCL=34976
CL=34976
2009-09-24 12:53:35 -07:00
Russ Cox
5de6096415
allow runes >= 0x80 in symbols in #pragmas
...
R=ken
OCL=34975
CL=34975
2009-09-24 11:45:08 -07:00
Russ Cox
12fc217336
cgo checkpoint.
...
can write all 3 output files and then compile them by hand.
R=r
DELTA=919 (841 added, 16 deleted, 62 changed)
OCL=34954
CL=34973
2009-09-24 11:43:19 -07:00
Russ Cox
567673fc42
nacl - run tests under emulator.
...
special all-nacl.bash and test/run-nacl that
run just the tests known to work under nacl.
the rest requires closures.
fix another bug or two in syscall.
R=r
DELTA=420 (410 added, 8 deleted, 2 changed)
OCL=34882
CL=34907
2009-09-22 16:56:28 -07:00
Kai Backman
8ce5f6e14a
fix bad code generation.
...
go/test: passes 64% (215/337) tests
metric updated, had total number of tests wrong. number of
failing tests is down from 129 to 122.
R=rsc
APPROVED=rsc
DELTA=228 (12 added, 5 deleted, 211 changed)
OCL=34897
CL=34899
2009-09-22 13:13:23 -07:00
Russ Cox
586d9d5a19
use $(shell uname) instead of $GOOS when
...
deciding what the host process support is.
this makes a cross-compiling (e.g., GOOS=nacl) build
still generate valid host debugger binaries.
R=r
DELTA=5 (0 added, 0 deleted, 5 changed)
OCL=34878
CL=34889
2009-09-22 07:48:43 -07:00
Russ Cox
7390aa0102
nacl:
...
add jmp to constant pc.
generate HLT for INT $3
do not insert NOPs between REP/REPN and subsequent instruction.
allow very long time for convergence.
R=ken
OCL=34879
CL=34879
2009-09-22 01:10:40 -07:00
Ken Thompson
2975308125
more inlining of sliceslice
...
R=rsc
OCL=34871
CL=34871
2009-09-21 18:23:16 -07:00
Russ Cox
eae0906bed
rewrite RET, indirect CALL, indirect JMP for nacl.
...
can JMP or CALL indirect through a register R
provided the preceding instruction is AND $~31, R.
R=ken
OCL=34863
CL=34867
2009-09-21 15:48:22 -07:00
Russ Cox
bbcb91a3a7
convert 386 to use %gs instead of %fs for extern register.
...
required for nacl and may be nicer for ffi,
because %gs is the standard register for thread-local storage.
R=ken
OCL=34861
CL=34866
2009-09-21 15:46:50 -07:00
Russ Cox
a95ee61aea
ideal bools and related fixes
...
R=ken
OCL=34859
CL=34865
2009-09-21 15:45:55 -07:00
Russ Cox
de0d762a0f
accept CALL $(constant) to call absolute PC
...
R=ken
OCL=34845
CL=34845
2009-09-21 09:41:21 -07:00
Russ Cox
4a4ec23870
8l: step toward native client.
...
- ELF header bits and addresses
- do not let instructions span 32-byte boundary
- align CALLs so return is to 32-byte boundary
- align indirect jump targets to 32-byte boundary
(only possible indirect jumps are function entries)
still to do:
- replace indirect jump, indirect call, and ret with
nacl-approved instruction sequences
- switch to GS segment for m-local storage
R=ken
OCL=34818
CL=34818
2009-09-18 18:57:15 -07:00
Russ Cox
c64986f706
merge first pass into main loop in span calculation.
...
having one copy will cut nacl changes in half.
R=ken
OCL=34815
CL=34815
2009-09-18 17:08:18 -07:00
Kai Backman
46e392e01c
changed 5c calling convention to use stack exclusively for in
...
params. a number of fixes to assembly routines that assumed R0
had the first arg. one stack offset fix, arm pushes the link
register on stack top.
go/test: passes 65% (235/364) tests
R=rsc
APPROVED=rsc
DELTA=20 (11 added, 0 deleted, 9 changed)
OCL=34809
CL=34812
2009-09-18 16:45:41 -07:00
Kai Backman
2c7ec3d861
fix 5g -S and -g output
...
R=rsc
APPROVED=rsc
DELTA=115 (93 added, 14 deleted, 8 changed)
OCL=34798
CL=34802
2009-09-18 12:47:44 -07:00
Kai Backman
020dbcd4df
revert setting of name from type. already set correctly.
...
R=rsc
APPROVED=rsc
DELTA=1 (0 added, 1 deleted, 0 changed)
OCL=34799
CL=34801
2009-09-18 12:47:25 -07:00
Russ Cox
6a2602de91
cgo: can look up C identifier kind (type or value) and type
...
gmp.go:197:4: type mpz_t C type mpz_t
gmp.go:205:2: call mpz_init C value func(mpz_ptr) void
gmp.go:206:2: call mpz_set C value func(mpz_ptr, mpz_srcptr) void
gmp.go:221:2: call mpz_init C value func(mpz_ptr) void
gmp.go:227:7: call size_t C type size_t
gmp.go:228:2: call mpz_export C value func(*void, *size_t, int, size_t, int, size_t, mpz_srcptr) *void
gmp.go:235:13: call mpz_sizeinbase C value func(mpz_srcptr, int) size_t
gmp.go:241:2: call mpz_set C value func(mpz_ptr, mpz_srcptr) void
gmp.go:252:3: call mpz_import C value func(mpz_ptr, size_t, int, size_t, int, size_t, *const void) void
gmp.go:261:2: call mpz_set_si C value func(mpz_ptr, long int) void
gmp.go:273:5: call mpz_set_str C value func(mpz_ptr, *const char, int) int
gmp.go:282:9: call mpz_get_str C value func(*char, int, mpz_srcptr) *char
gmp.go:287:3: call mpz_clear C value func(mpz_ptr) void
gmp.go:302:2: call mpz_add C value func(mpz_ptr, mpz_srcptr, mpz_srcptr) void
gmp.go:311:2: call mpz_sub C value func(mpz_ptr, mpz_srcptr, mpz_srcptr) void
gmp.go:320:2: call mpz_mul C value func(mpz_ptr, mpz_srcptr, mpz_srcptr) void
gmp.go:329:2: call mpz_tdiv_q C value func(mpz_ptr, mpz_srcptr, mpz_srcptr) void
gmp.go:339:2: call mpz_tdiv_r C value func(mpz_ptr, mpz_srcptr, mpz_srcptr) void
gmp.go:348:2: call mpz_mul_2exp C value func(mpz_ptr, mpz_srcptr, long unsigned int) void
gmp.go:356:2: call mpz_div_2exp C value func(mpz_ptr, mpz_srcptr, long unsigned int) void
gmp.go:367:3: call mpz_pow_ui C value func(mpz_ptr, mpz_srcptr, long unsigned int) void
gmp.go:369:3: call mpz_powm C value func(mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr) void
gmp.go:378:2: call mpz_neg C value func(mpz_ptr, mpz_srcptr) void
gmp.go:386:2: call mpz_abs C value func(mpz_ptr, mpz_srcptr) void
gmp.go:404:9: call mpz_cmp C value func(mpz_srcptr, mpz_srcptr) int
gmp.go:413:2: call mpz_tdiv_qr C value func(mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr) void
gmp.go:426:2: call mpz_gcdext C value func(mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr) void
R=r
DELTA=938 (628 added, 308 deleted, 2 changed)
OCL=34733
CL=34791
2009-09-18 11:52:00 -07:00
Kai Backman
a0a965fbcf
fixing width bug in DATA output. some logging to make fixing
...
similar issues easier in the future.
R=rsc
APPROVED=rsc
DELTA=6 (1 added, 0 deleted, 5 changed)
OCL=34771
CL=34773
2009-09-17 23:08:15 -07:00
Kai Backman
6b0bd43fe4
fix code generation of CMP to use registers properly. also fix
...
one case of uninitialized memory and some output.
R=rsc
APPROVED=rsc
DELTA=73 (43 added, 1 deleted, 29 changed)
OCL=34743
CL=34772
2009-09-17 23:07:52 -07:00
Kai Backman
803a73c431
floating point constants and symbol export fix.
...
R=rsc
APPROVED=rsc
DELTA=16 (0 added, 1 deleted, 15 changed)
OCL=34753
CL=34769
2009-09-17 19:24:07 -07:00
Russ Cox
cb49a999d1
move static init code from 6g into gc.
...
hook up to 8g and 5g too.
R=ken
OCL=34768
CL=34768
2009-09-17 19:15:54 -07:00
Russ Cox
73e52ae971
check for unused imports
...
R=ken
OCL=34732
CL=34756
2009-09-17 16:42:10 -07:00
Russ Cox
20011bc878
unused imports
...
R=r
OCL=34731
CL=34731
2009-09-17 10:27:04 -07:00
Russ Cox
0b7878a96e
first step toward cgo tool.
...
can extract import "C" doc comment
and all references to C package.
; cgo gmp.go | sort
#include <gmp.h>
gmp.go:197:4: mpz_t as type
gmp.go:205:2: mpz_init as call
gmp.go:206:2: mpz_set as call
gmp.go:221:2: mpz_init as call
gmp.go:227:7: size_t as call
gmp.go:228:2: mpz_export as call
gmp.go:235:13: mpz_sizeinbase as call
gmp.go:241:2: mpz_set as call
gmp.go:252:3: mpz_import as call
gmp.go:261:2: mpz_set_si as call
gmp.go:273:5: mpz_set_str as call
gmp.go:282:9: mpz_get_str as call
gmp.go:287:3: mpz_clear as call
gmp.go:302:2: mpz_add as call
gmp.go:311:2: mpz_sub as call
gmp.go:320:2: mpz_mul as call
gmp.go:329:2: mpz_tdiv_q as call
gmp.go:339:2: mpz_tdiv_r as call
gmp.go:348:2: mpz_mul_2exp as call
gmp.go:356:2: mpz_div_2exp as call
gmp.go:367:3: mpz_pow as call
gmp.go:369:3: mpz_powm as call
gmp.go:378:2: mpz_neg as call
gmp.go:386:2: mpz_abs as call
gmp.go:404:9: mpz_cmp as call
gmp.go:413:2: mpz_tdiv_qr as call
gmp.go:426:2: mpz_gcdext as call
;
R=r
DELTA=746 (746 added, 0 deleted, 0 changed)
OCL=34710
CL=34714
2009-09-16 18:14:18 -07:00
Rob Pike
d5be41fc4e
rename bytes.Buffer.Data() to bytes.Buffer.Bytes()
...
R=rsc
DELTA=152 (6 added, 0 deleted, 146 changed)
OCL=34695
CL=34701
2009-09-16 15:15:00 -07:00
Rob Pike
2a1c9377d9
use /bin/ed to avoid portability issues
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=34696
CL=34700
2009-09-16 15:14:12 -07:00
Russ Cox
aaaa1fc69b
make 6g match spec:
...
no semicolon allowd after package clause.
semicolon allowed after import statement.
no doubled semicolons allowed
R=ken
OCL=34674
CL=34674
2009-09-15 17:29:08 -07:00
Kai Backman
ff196fbde7
patch in proper branch address in zaddr output
...
R=rsc
APPROVED=rsc
DELTA=12 (11 added, 1 deleted, 0 changed)
OCL=34658
CL=34664
2009-09-15 16:14:49 -07:00
Kai Backman
4c952153aa
use register intermediate
...
R=rsc
APPROVED=rsc
DELTA=21 (7 added, 5 deleted, 9 changed)
OCL=34607
CL=34663
2009-09-15 16:12:47 -07:00
Russ Cox
1c9e4b358f
declared and not used; this time for sure
...
R=ken
OCL=34657
CL=34657
2009-09-15 14:11:43 -07:00
Robert Griesemer
7f25485fc6
go/printer:
...
- printing of expressions: put spaces only where "needed"
- printing of import statements: no double indentation if there are no renames
- print labels on separate lines
- added extra test files
go/ast:
- unified basic literal nodes and as a result deleted duplicated code
- added initial code to track scopes (not fully used yet)
replaces CL 34553
R=rsc
DELTA=881 (579 added, 223 deleted, 79 changed)
OCL=34623
CL=34651
2009-09-15 13:06:24 -07:00
Russ Cox
59914723df
declared and not used error, but disabled.
...
fix some bugs involving _.
R=ken
OCL=34621
CL=34621
2009-09-14 18:38:30 -07:00
Russ Cox
1a0860b93f
make 5g, 8g build again by disabling init code.
...
R=ken
OCL=34604
CL=34604
2009-09-14 14:27:19 -07:00
Russ Cox
2204cfddea
fix bug206.
...
delay calls to savex as long as possible.
R=ken
OCL=34535
CL=34546
2009-09-10 17:33:01 -07:00
Ken Thompson
93b1dcbfcb
minor changes
...
R=rsc
OCL=34545
CL=34545
2009-09-10 17:32:48 -07:00
Robert Griesemer
58c5e62f8b
better gofmt formatting:
...
- first cut a better line breaks in expr lists
- trailing commas and semis printed where we tend to write them
- fixed a couple of minor spacing issues (interface{}, chan<-, map[x]y, x: y)
- removed some formatting flags from gofmt: no need to change default
- removed option to reverse declaration order when printing
- excluded files from test that cause trouble with idempotency test for now
R=rsc
DELTA=497 (364 added, 83 deleted, 50 changed)
OCL=34539
CL=34544
2009-09-10 17:27:06 -07:00
Russ Cox
fc90fb8c81
rename units -> units.txt.
...
add makefile rules to build a binary named units as a demo.
R=r
DELTA=1257 (659 added, 597 deleted, 1 changed)
OCL=34528
CL=34530
2009-09-10 14:47:10 -07:00
Ken Thompson
61f27d3c22
sample goyacc program
...
R=rsc
OCL=34526
CL=34526
2009-09-10 13:53:35 -07:00
Ken Thompson
a138b50ee1
goyacc command
...
written in (c-style) go
produces go source parser
R=rsc
OCL=34522
CL=34522
2009-09-10 13:19:46 -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
aa6e81dd71
a few more blank tests
...
R=ken
OCL=34500
CL=34500
2009-09-09 16:59:41 -07:00
Russ Cox
f4ee9f133c
check type of string/map/array index expressions
...
R=ken
OCL=34478
CL=34480
2009-09-09 01:31:10 -07:00
Russ Cox
83bdb805a2
error message fixes
...
x == nil
x.go:5: cannot use nil as bool
c := x.(type);
x.go:88: use of .(type) outside type switch
R=ken
OCL=34476
CL=34476
2009-09-09 01:21:20 -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
5d16d23362
update type switch to match spec.
...
R=ken
OCL=34471
CL=34471
2009-09-09 00:18:16 -07:00
Russ Cox
5438be4541
write-only variable _
...
R=ken
OCL=34465
CL=34470
2009-09-08 23:16:19 -07:00
Ken Thompson
32aa5be6ef
init context for composit literals
...
R=rsc
OCL=34462
CL=34462
2009-09-08 15:52:27 -07:00
Russ Cox
54414ad866
add -S flag to print size of symbol
...
R=r
DELTA=24 (15 added, 0 deleted, 9 changed)
OCL=34447
CL=34458
2009-09-08 14:40:27 -07:00
Russ Cox
7a0f4cac03
pass Type* to makechan and makemap so that
...
they can get the official alignment out of there
instead of guessing.
R=ken
OCL=34450
CL=34450
2009-09-08 13:46:54 -07:00
Ken Thompson
0421cf072e
maps in static initialization
...
R=rsc
OCL=34434
CL=34434
2009-09-07 17:36:47 -07:00
Ken Thompson
a24a26c107
more static init
...
almost done
R=rsc
OCL=34422
CL=34422
2009-09-06 15:03:51 -07:00
Ken Thompson
18f2e360a0
composit literals
...
plateau - more to come
R=rsc
OCL=34413
CL=34413
2009-09-05 20:32:24 -07:00
Russ Cox
107d404378
stop using filename for disambiguation within a package.
...
R=ken
OCL=34339
CL=34341
2009-09-03 15:23:21 -07:00
Robert Griesemer
eea6b0d8d5
simplify extractEBNF code
...
R=rsc
DELTA=15 (3 added, 2 deleted, 10 changed)
OCL=34307
CL=34314
2009-09-03 10:53:27 -07:00
Rob Pike
d4903abeae
use %L in listings so we see source line number in easy format
...
R=ken
DELTA=9 (0 added, 0 deleted, 9 changed)
OCL=34309
CL=34311
2009-09-03 10:24:38 -07:00
Robert Griesemer
6384cac343
linkify EBNF sections in spec when served via godoc
...
R=rsc
DELTA=217 (216 added, 0 deleted, 1 changed)
OCL=34279
CL=34306
2009-09-03 09:58:13 -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
9e85c790e5
fix initialization of noreturn
...
R=ken
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=34283
CL=34283
2009-09-02 17:14:30 -07:00
Russ Cox
ee2d5128d6
the last bug involving type hashes
...
R=ken
OCL=34244
CL=34249
2009-09-02 09:09:32 -07:00
Russ Cox
bebe06a784
type switch bug involving function parameter names
...
R=ken
OCL=34232
CL=34232
2009-09-01 18:04:49 -07:00
Russ Cox
27c4e7e74e
catch package net import "net" for release
...
R=ken
OCL=34205
CL=34207
2009-09-01 14:12:09 -07:00
Russ Cox
40bcbb30b7
fix 386 build
...
R=ken
OCL=34164
CL=34164
2009-08-31 18:05:12 -07:00
Russ Cox
fda0e78b23
fix line numbers, again.
...
if first function in file was dead code, it was being
discarded along with the file name information for that file.
leave the functions in the master function list longer:
let xfol take the dead code out of the code list,
and let span skip the unreachable functions during output.
before
throw: sys·mapaccess1: key not in map
panic PC=0x2e7b20
throw+0x33 /Users/rsc/go/src/pkg/runtime/runtime.c:65
throw(0x5834f, 0x0)
sys·mapaccess1+0x73 /Users/rsc/go/src/pkg/runtime/hashmap.c:769
sys·mapaccess1(0x2b9bd0, 0x0)
gob·*Encoder·Encode+0x16b /Users/rsc/go/src/pkg/fmt/print.go:2926
gob·*Encoder·Encode(0x2bb440, 0x0, 0x558b0, 0x0, 0x2e4be0, ...)
main·walk+0x331 :1603
main·walk(0x33a480, 0x0)
main·walk+0x271 :1596
main·walk(0x300640, 0x0)
main·walk+0x271 :1596
main·walk(0x300520, 0x0)
main·walk+0x271 :1596
main·walk(0x300240, 0x0)
main·walk+0x271 :1596
main·walk(0x678f8, 0x0)
main·main+0x22 :1610
main·main()
after
throw: sys·mapaccess1: key not in map
panic PC=0x2e7b20
throw+0x33 /Users/rsc/go/src/pkg/runtime/runtime.c:65
throw(0x5834f, 0x0)
sys·mapaccess1+0x73 /Users/rsc/go/src/pkg/runtime/hashmap.c:769
sys·mapaccess1(0x2b9bd0, 0x0)
gob·*Encoder·Encode+0x16b /Users/rsc/go/src/pkg/gob/encoder.go:319
gob·*Encoder·Encode(0x2bb3c0, 0x0, 0x558b0, 0x0, 0x2e4be0, ...)
main·walk+0x331 /Users/rsc/dir.go:121
main·walk(0x2f6ab0, 0x0)
main·walk+0x271 /Users/rsc/dir.go:114
main·walk(0x301640, 0x0)
main·walk+0x271 /Users/rsc/dir.go:114
main·walk(0x301520, 0x0)
main·walk+0x271 /Users/rsc/dir.go:114
main·walk(0x301240, 0x0)
main·walk+0x271 /Users/rsc/dir.go:114
main·walk(0x678f8, 0x0)
main·main+0x22 /Users/rsc/dir.go:128
main·main()
mainstart+0xe /Users/rsc/go/src/pkg/runtime/amd64/asm.s:55
mainstart()
goexit /Users/rsc/go/src/pkg/runtime/proc.c:133
goexit()
R=r
DELTA=46 (20 added, 25 deleted, 1 changed)
OCL=34094
CL=34103
2009-08-30 19:21:48 -07:00
Russ Cox
6e8524be18
array index bug
...
x[i]
x not addressable, i >= UINF
double evaluated i
second eval killed live registers
manifested as gob instability
R=ken
OCL=34097
CL=34099
2009-08-30 18:47:48 -07:00
Ken Thompson
6fceadbba3
cleanup getting ready for static init
...
R=rsc
OCL=34090
CL=34090
2009-08-30 14:43:33 -07:00
Ken Thompson
be219c5e9b
removed debug print
...
R=r
OCL=34087
CL=34087
2009-08-30 11:36:42 -07:00
Ken Thompson
bc15b94181
sped up optimization by not optimizing
...
very large functions.
R=r
OCL=34080
CL=34080
2009-08-29 20:33:21 -07:00
Ken Thompson
e667e8a4f7
arraytoslice and some cleanup
...
R=rsc
OCL=34058
CL=34058
2009-08-28 15:44:24 -07:00
Ken Thompson
3983171b08
sliceslice bug
...
R=rsc
OCL=34050
CL=34050
2009-08-28 13:45:48 -07:00
Ken Thompson
47c568880d
bug in sliceslice
...
R=rsc
OCL=34047
CL=34047
2009-08-28 13:32:09 -07:00
Ken Thompson
bf0130cc0f
sliceslice inline
...
R=rsc
OCL=34041
CL=34041
2009-08-28 12:37:39 -07:00
Robert Griesemer
a7dc9dbd20
- exponentially back off auto-sync'ing instead disabling it in case of failure
...
R=rsc
DELTA=48 (35 added, 3 deleted, 10 changed)
OCL=34030
CL=34034
2009-08-28 11:28:05 -07:00
Kai Backman
ee31157e16
64 bit lsh, sub, and/or/eor. some placeholder files in syscall and os.
...
R=rsc
APPROVED=rsc
DELTA=204 (139 added, 0 deleted, 65 changed)
OCL=34009
CL=34025
2009-08-28 07:23:24 -07:00
Ken Thompson
c19c933f5a
bug in arrayslice
...
R=rsc
OCL=33987
CL=33987
2009-08-27 14:59:26 -07:00
Ken Thompson
9bf597a210
inline slicearray
...
R=rsc
OCL=33974
CL=33974
2009-08-27 13:19:44 -07:00
Russ Cox
bdcf1f8125
add and use Make.cmd
...
R=r
DELTA=63 (23 added, 31 deleted, 9 changed)
OCL=33932
CL=33959
2009-08-27 11:17:14 -07:00
Russ Cox
3443656bce
clean up ideal handling; reject attempts
...
to write type descriptors for ideal types
R=ken
OCL=33958
CL=33958
2009-08-27 11:16:34 -07:00
Ken Thompson
2d73b7f7f0
bug slicing array - cap is huge
...
R=rsc
OCL=33936
CL=33936
2009-08-26 19:19:07 -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
165a99038f
ffi -> dynld.
...
move out of export data into its own section
R=r
DELTA=222 (71 added, 99 deleted, 52 changed)
OCL=33801
CL=33808
2009-08-24 17:27:55 -07:00
Russ Cox
d66d65da96
bug132
...
R=ken
OCL=33792
CL=33803
2009-08-24 17:06:10 -07:00
Russ Cox
8c253bcae5
first attempt at real FFI support.
...
in a .6 file, an export line
//ffi T localfib remotefib remote.so
means the dynamic linker should initialize
localfib, always a pointer, to the address of
remotefib, either text (T) or data (D) after
loading remote.so.
the C compiler will generate an export section
when given the pragmas
#pragma package fib
#pragma ffi T localfib remotefib remote.so
needing #pragma package is a bit of a kludge
and hopefully could go away later.
this is just the 6 tool chain support.
other architectures will happen once 6 settles down.
code using this to do FFI is in a later CL.
R=r
DELTA=161 (141 added, 14 deleted, 6 changed)
OCL=33783
CL=33795
2009-08-24 16:15:21 -07:00
Russ Cox
89f69bb3be
gc: handle iface == nil in back end
...
R=ken
OCL=33778
CL=33781
2009-08-24 15:20:37 -07:00
Kai Backman
c6fd23ce6d
64bit literal RSH
...
R=rsc
APPROVED=rsc
DELTA=85 (35 added, 0 deleted, 50 changed)
OCL=33761
CL=33767
2009-08-24 13:57:04 -07:00
Russ Cox
14be733a25
bug197
...
R=ken
OCL=33765
CL=33765
2009-08-24 13:41:47 -07:00
Russ Cox
9feee91d79
avoid duplicate field names, so that bug132 can be fixed
...
also fix echo bug that just surfaced in mkerrors.sh
R=r
DELTA=67 (11 added, 19 deleted, 37 changed)
OCL=33743
CL=33757
2009-08-24 11:03:23 -07:00
Russ Cox
1f177cd8b2
linker work
...
* use //ffi comments in package import data
to generate relocation entries and library loads.
* call initffi in rt0.s if present
R=r
DELTA=117 (91 added, 3 deleted, 23 changed)
OCL=33739
CL=33750
2009-08-24 10:19:31 -07:00
Russ Cox
ef3e6810b8
bug189
...
R=ken
OCL=33745
CL=33745
2009-08-24 09:23:04 -07:00
Russ Cox
ac9d833c1e
half of bug193
...
R=ken
OCL=33730
CL=33730
2009-08-23 18:09:44 -07:00
Russ Cox
fd6cdbd807
linker work
...
* more elf constants from FreeBSD
* simple relocation demo
R=r
DELTA=410 (354 added, 49 deleted, 7 changed)
OCL=33689
CL=33729
2009-08-23 18:03:14 -07:00
Austin Clements
bd65739bc2
Implement line-to-PC mapping. Add unit tests for
...
PC/line/aline conversion methods.
R=rsc
APPROVED=rsc
DELTA=458 (434 added, 15 deleted, 9 changed)
OCL=33677
CL=33702
2009-08-21 18:13:35 -07:00
Russ Cox
59e2e54eab
fix bug195
...
R=ken
OCL=33700
CL=33700
2009-08-21 18:07:11 -07:00
Russ Cox
e1c5d179d6
fix crash in bug194; add bug196
...
R=ken
OCL=33694
CL=33697
2009-08-21 17:54:07 -07:00
Kai Backman
f50e7b156e
mostly 64 bit support.
...
- fixed a number of places where we tried to allocate 64bit
regs. added honeypot in regalloc to catch these in the future.
- implemented quad copying in sgen
- cgen64.c, add, mul
- clearfat done
- D_REGREG output from 5g (linker already knew about them)
- gmove done
- optoas almost done, last bit probably not needed
- D_SHIFT support in list.c
R=rsc
APPROVED=rsc
DELTA=963 (711 added, 112 deleted, 140 changed)
OCL=33619
CL=33688
2009-08-21 16:29:19 -07:00
Russ Cox
0e25c1dc6d
linker work
...
* remove now-unused D_SBIG (was for typestrings)
* rename elf64.[ch] to elf.[ch]
* pull in elf headers from FreeBSD instead of writing our own
* emit non-header ELF data in data section
* stub out a few more ELF sections needed for dynamic loading
R=r
DELTA=1928 (1237 added, 635 deleted, 56 changed)
OCL=33642
CL=33658
2009-08-21 13:08:11 -07:00
Kai Backman
005509e367
fix 386/arm builds
...
R=rsc
APPROVED=rsc
DELTA=2 (2 added, 0 deleted, 0 changed)
OCL=33640
CL=33645
2009-08-21 10:53:31 -07:00
Russ Cox
7b29dbb866
symbol bugs.
...
do not emit unreachable data symbols.
R=austin
DELTA=103 (71 added, 4 deleted, 28 changed)
OCL=33325
CL=33622
2009-08-20 17:33:28 -07:00
Russ Cox
bd4161fcba
FFI step 2: can ask for libc.so.6.
...
introduced explicit "data" symbol instead of etext
to mark beginning of data, so that using larger
alignment (i.e. 4MB like GNU loader) doesn't
confuse garbage collector.
split dodata into dodata and dobss in preparation
for putting the dynamic data + headers in the data
segment instead of stuffed at the beginning of the binary.
R=r
DELTA=52 (37 added, 3 deleted, 12 changed)
OCL=33610
CL=33618
2009-08-20 16:09:38 -07:00
Russ Cox
5bd266d1ee
add #include for time and ctime
...
R=r
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=33615
CL=33617
2009-08-20 16:06:06 -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
364301efc6
exclude _test from godoc as well as _obj.
...
R=gri
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=33586
CL=33590
2009-08-20 09:49:05 -07:00
Kai Backman
8811896597
more work on adding in pieces. fixed my bad assumptions about
...
signed and unsigned integer conversions.
R=rsc
APPROVED=rsc
DELTA=398 (40 added, 230 deleted, 128 changed)
OCL=33546
CL=33569
2009-08-19 20:17:09 -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
38df5ec58d
try to do better line number reporting
...
in the presence of yacc lookahead.
better but still not perfect
R=ken
OCL=33541
CL=33541
2009-08-19 15:18:08 -07:00
Kai Backman
8e96b45fd6
genembedtramp for arm
...
R=rsc
APPROVED=rsc
DELTA=104 (0 added, 33 deleted, 71 changed)
OCL=33531
CL=33535
2009-08-19 13:57:11 -07:00
Russ Cox
63aeaa2a03
fix import dot bug
...
R=ken
OCL=33526
CL=33528
2009-08-19 11:32:46 -07:00
Kai Backman
382a19c3de
pkg/sort compiling and some progress on syscall. mostly
...
re-enabling and massaging code.
R=rsc
APPROVED=rsc
DELTA=2496 (1880 added, 330 deleted, 286 changed)
OCL=33487
CL=33504
2009-08-18 19:20:33 -07:00
Kai Backman
7a87a3e0df
slashed warnings
...
R=rsc
APPROVED=rsc
DELTA=35 (2 added, 1 deleted, 32 changed)
OCL=33436
CL=33453
2009-08-18 07:16:10 -07:00
Kai Backman
e7acb5df07
fix runtime and compile regression
...
R=rsc
APPROVED=rsc
DELTA=6 (0 added, 0 deleted, 6 changed)
OCL=33434
CL=33452
2009-08-18 07:14:25 -07:00
Rob Pike
e1325d916e
inline lib9.h
...
R=rsc
DELTA=41 (20 added, 2 deleted, 19 changed)
OCL=33412
CL=33415
2009-08-17 15:14:59 -07:00
Rob Pike
b0a0e3c439
remove compat stuff
...
R=rsc
DELTA=70 (16 added, 52 deleted, 2 changed)
OCL=33295
CL=33299
2009-08-14 14:55:22 -07:00
Russ Cox
ce9b379c90
no debug symbols for internal-only method types.
...
now 15% overhead instead of 30% in binaries.
R=ken
OCL=33235
CL=33288
2009-08-14 13:07:53 -07:00
Rob Pike
00274a13cb
rename libmach_amd64 libmach
...
R=rsc
OCL=33273
CL=33276
2009-08-14 10:46:04 -07:00
Russ Cox
45ce825544
debugging symbols for 8g.
...
backtraces don't work,
but they didn't work when i started either.
R=ken
OCL=33230
CL=33230
2009-08-13 15:45:58 -07:00
Russ Cox
311c0b4807
6g/6l: add go type information to symbol table.
...
archive size +70%
binary size +30%
old
wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt}
-rwxr-xr-x 1 rsc eng 1487922 Aug 13 13:21 /Users/rsc/bin/godoc
-rwxr-xr-x 1 rsc eng 995995 Aug 13 13:21 /Users/rsc/bin/gofmt
wreck.mtv=; du -sh $GOROOT/pkg/
9.5M /home/rsc/go/pkg/
wreck.mtv=;
new
wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt}
-rwxr-xr-x 1 rsc eng 2014390 Aug 13 14:25 /Users/rsc/bin/godoc
-rwxr-xr-x 1 rsc eng 1268705 Aug 13 14:25 /Users/rsc/bin/gofmt
wreck.mtv=; du -sh $GOROOT/pkg
16M /home/rsc/go/pkg
wreck.mtv=;
R=ken
OCL=33217
CL=33220
2009-08-13 14:41:42 -07:00
Rob Pike
7b366e9c43
fix build
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=33174
CL=33174
2009-08-13 09:35:42 -07:00
Russ Cox
43f29e64a6
mechanism for putting go types into 6.out symbol table.
...
no types yet.
R=ken
OCL=33142
CL=33146
2009-08-12 18:16:24 -07:00
Russ Cox
f63b0d6b71
silence gcc warning
...
R=ken
OCL=33144
CL=33144
2009-08-12 18:14:07 -07:00
Russ Cox
d594639087
rm outfile if 6g exits with an error
...
R=ken
OCL=33134
CL=33141
2009-08-12 17:58:53 -07:00
Russ Cox
57a9bd0ee3
change gotype in symbol table from
...
character string to machine address.
not filled in, just carved out.
R=austin
DELTA=77 (11 added, 34 deleted, 32 changed)
OCL=33122
CL=33124
2009-08-12 16:14:53 -07:00
Russ Cox
3e98a40793
bug188 - sort(x)
...
R=ken
OCL=33123
CL=33123
2009-08-12 15:58:31 -07:00
Russ Cox
7dbb687048
rm gobuild
...
R=r
DELTA=827 (0 added, 826 deleted, 1 changed)
OCL=33117
CL=33120
2009-08-12 15:17:47 -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
8db677b0a7
delete heuristic left over from incremental compilation
...
R=r
DELTA=31 (2 added, 28 deleted, 1 changed)
OCL=33064
CL=33112
2009-08-12 14:41:02 -07:00
Rob Pike
96a2a2effd
fix linux build for whole package compilation
...
R=rsc
OCL=33103
CL=33103
2009-08-12 13:51:02 -07:00
Russ Cox
eda49f331f
new included Make.pkg for handwritten package makefiles.
...
gobuild is obsolete; don't build it (will delete eventually).
revised gotest for whole-package compilation.
R=r
DELTA=102 (68 added, 6 deleted, 28 changed)
OCL=33067
CL=33098
2009-08-12 13:18:46 -07:00
Russ Cox
dd5f32330c
6g: save all 64 bits of AX/DX
...
8g: save AX/DX around div
R=ken
OCL=33094
CL=33096
2009-08-12 13:18:27 -07:00
Russ Cox
66bb399fdd
whole-package compilation
...
R=ken
OCL=33063
CL=33095
2009-08-12 13:18:19 -07:00
Russ Cox
866b272336
bug186 - f(iota)
...
R=ken
OCL=33051
CL=33051
2009-08-11 17:05:22 -07:00
Russ Cox
7732f79daa
fix indirect error
...
x.go:3: invalid indirect of X (type int)
was
x.go:3: invalid indirect of nil
R=ken
OCL=33008
CL=33008
2009-08-10 18:19:32 -07:00
Russ Cox
3f91f80a21
8-bit div and mod
...
R=ken
OCL=32975
CL=32975
2009-08-10 12:46:23 -07:00
Ken Thompson
f70e285178
bug in int8 mod
...
R=rsc
OCL=32971
CL=32971
2009-08-10 11:20:33 -07:00
Ken Thompson
60238e25bf
increase from 3 to 11 floating registers
...
R=rsc
OCL=32947
CL=32947
2009-08-09 16:42:21 -07:00
Ken Thompson
34f76b5de5
1. integer division by a constant done.
...
2. moved functions from 6g to gc
for portability to other families.
3. added rotate-carry instructions to
peek and reg.
R=rsc
OCL=32946
CL=32946
2009-08-09 15:16:06 -07:00
Ken Thompson
812f06b3ca
another plateau - almost done
...
only need to fix up certain
denominators
R=rsc
OCL=32928
CL=32928
2009-08-08 16:53:21 -07:00
Ken Thompson
07044ba6e5
plateau in divide by a constant
...
still to do - overflow, mod
R=rsc
OCL=32927
CL=32927
2009-08-08 15:26:09 -07:00
Ken Thompson
8b8a2bd945
more work on divide by constant.
...
no real change -- disabled because of bugs
R=rsc
OCL=32923
CL=32923
2009-08-07 20:21:04 -07:00
Russ Cox
6be0f50b97
bug159
...
R=ken
OCL=32902
CL=32914
2009-08-07 16:47:54 -07:00
Russ Cox
002623704f
remove 8.out before creating it.
...
hope this will work around Mac NFS bug
where writing to an 8.out that has crashed
recently sometimes wedges NFS.
R=r
DELTA=3 (3 added, 0 deleted, 0 changed)
OCL=32906
CL=32908
2009-08-07 15:22:09 -07:00
Russ Cox
39b12e2dcb
bug185 - return b,a from func() (a,b int)
...
R=ken
OCL=32900
CL=32900
2009-08-07 14:38:31 -07:00
Russ Cox
d1ee5d6e8f
bug184 - assignment compatibility in unpacked multireturn
...
R=ken
OCL=32890
CL=32894
2009-08-07 14:00:18 -07:00
Russ Cox
aa7bd48389
bug183 - embedded vs non-embedded struct field in eqtype
...
R=ken
OCL=32888
CL=32888
2009-08-07 13:23:09 -07:00
Russ Cox
468f244416
bug182 - compiler crash
...
R=ken
OCL=32887
CL=32887
2009-08-07 13:17:28 -07:00
Russ Cox
6c2738eb43
bug181 - type T *struct { T } is an invalid embedded type
...
R=ken
OCL=32886
CL=32886
2009-08-07 13:14:01 -07:00
Russ Cox
99eca57d43
clean up a few error messages;
...
disable func redeclaration mismatch test;
fix golden.out
R=ken
OCL=32883
CL=32883
2009-08-07 13:00:20 -07:00
Russ Cox
76a763e0be
8 shift bug
...
R=ken
OCL=32882
CL=32882
2009-08-07 12:57:44 -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
Ken Thompson
f1baf78247
divide by a constant power of 2
...
R=rsc
OCL=32858
CL=32858
2009-08-06 22:33:12 -07:00
Robert Griesemer
2b87d95f01
- allow more general type switch syntax
...
- support for reverse printing of AST
(for compiler testing)
- added -reverse flag to gofmt
R=rsc
DELTA=163 (125 added, 11 deleted, 27 changed)
OCL=32808
CL=32853
2009-08-06 17:44:56 -07:00
Russ Cox
2609731736
delay range processing. old2new is gone
...
R=ken
OCL=32780
CL=32780
2009-08-05 02:33:30 -07:00
Russ Cox
54b403723b
delay := processing
...
R=ken
OCL=32772
CL=32772
2009-08-05 00:42:44 -07:00
Russ Cox
ebdbbe0f49
fix amd64 build
...
R=ken
OCL=32771
CL=32771
2009-08-05 00:11:24 -07:00
Russ Cox
a121410541
make Syms smaller.
...
collapse a lot of duplication in dcl.c
switch to NodeList* from Dcl*
R=ken
OCL=32770
CL=32770
2009-08-04 22:59:23 -07:00
Russ Cox
4dec8ef35a
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
2009-08-04 19:16:57 -07:00
Russ Cox
aa347c4a0d
move various bits of code around
...
and delete some dead code.
no actual changes here.
R=ken
OCL=32764
CL=32764
2009-08-04 18:43:32 -07:00
Russ Cox
d169dcee3b
fix division bug
...
R=ken
OCL=32760
CL=32760
2009-08-04 17:59:10 -07:00
Russ Cox
dbe004efe4
delayed evaluation of var blocks
...
R=ken
OCL=32750
CL=32753
2009-08-04 16:53:06 -07:00
Rob Pike
b8732215c3
fix build
...
R=gri,rsc
OCL=32748
CL=32748
2009-08-04 15:35:58 -07:00
Russ Cox
f7a867e1a6
move select into its own file.
...
split into typecheck + walk
R=ken
OCL=32726
CL=32726
2009-08-04 12:57:48 -07:00
Russ Cox
d8c19c80dc
type checking of assignments, switch, if, for
...
R=ken
OCL=32716
CL=32720
2009-08-04 10:26:29 -07:00
Rob Pike
7deeb5bd78
print profile to stderr. sheesh.
...
R=rsc
DELTA=40 (0 added, 0 deleted, 40 changed)
OCL=32694
CL=32698
2009-08-03 21:03:40 -07:00
Rob Pike
f17c6bcafb
this time really clean up a TODO
...
R=rsc
DELTA=28 (0 added, 20 deleted, 8 changed)
OCL=32676
CL=32684
2009-08-03 15:27:15 -07:00
Russ Cox
9dc22b6d6f
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
2009-08-03 11:58:52 -07:00
Robert Griesemer
178089056e
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
2009-08-03 09:53:00 -07:00
Robert Griesemer
62718fb5d4
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
2009-07-31 18:04:53 -07:00
Russ Cox
9953c48dc4
missed in last checkin
...
R=ken
OCL=32581
CL=32581
2009-07-31 09:45:39 -07:00
Russ Cox
a2b8e38766
checkpoint; still plenty to clean up
...
R=ken
OCL=32576
CL=32580
2009-07-31 09:29:28 -07:00
Robert Griesemer
9299ae461d
- 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
2009-07-30 19:39:47 -07:00
Russ Cox
b754b4348f
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
2009-07-30 18:56:44 -07:00
Robert Griesemer
90e6656c51
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
2009-07-30 18:13:55 -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
517e3457cc
fix build on amd64
...
R=ken
OCL=32521
CL=32521
2009-07-30 11:03:58 -07:00
Robert Griesemer
312bd7a1fc
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
2009-07-29 17:01:09 -07:00
Russ Cox
2946069e3f
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
2009-07-29 14:49:01 -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
056940d84b
convert walkexpr to take Node**; drop indir
...
R=ken
OCL=32421
CL=32421
2009-07-29 12:00:34 -07:00
Russ Cox
4152b925f9
expression printer; %#N
...
R=ken
OCL=32419
CL=32419
2009-07-29 11:51:34 -07:00
Russ Cox
9346c6d901
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
2009-07-28 20:01:00 -07:00
Russ Cox
189153ed13
fix error that gcc thinks is a warning
...
R=ken
OCL=32264
CL=32386
2009-07-28 17:02:05 -07:00
Russ Cox
123ff2ebb8
bug177: anonymous struct fields in reflect
...
(reported by iant)
R=r
DELTA=50 (32 added, 12 deleted, 6 changed)
OCL=32263
CL=32385
2009-07-28 17:01:46 -07:00
Robert Griesemer
2210a643b7
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
2009-07-28 16:38:59 -07:00
Phil Pennock
d6f89c69c4
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
2009-07-28 11:23:24 -07:00
Russ Cox
18840f5429
constant keys for array initializers
...
R=ken
OCL=32261
CL=32261
2009-07-27 17:58:25 -07:00
Russ Cox
b7dd312c93
bug170; fix test for bug175
...
R=ken
OCL=32255
CL=32255
2009-07-27 17:24:07 -07:00
Russ Cox
a587d9a73f
multiple return in := bug
...
R=ken
OCL=32253
CL=32253
2009-07-27 16:59:10 -07:00
Russ Cox
059bbdd340
print(1<<x)
...
R=ken
OCL=32252
CL=32252
2009-07-27 16:17:09 -07:00
Russ Cox
30228a3bc6
avoid register computing len(x), cap(x)
...
for slice or string x.
R=ken
OCL=32249
CL=32249
2009-07-27 15:55:27 -07:00
Russ Cox
811e59f2fa
named string type bugs
...
R=ken
OCL=32244
CL=32244
2009-07-27 15:16:28 -07:00
Russ Cox
03b25a92a3
catch
...
a := true;
a |= a;
in the front end.
R=ken
OCL=32240
CL=32243
2009-07-27 14:55:14 -07:00
Russ Cox
0b2683d1ee
do not insert implicit "return;" in empty function body
...
R=ken
OCL=32239
CL=32239
2009-07-27 14:36:32 -07:00
Russ Cox
335b3855c6
a little more 6l cleanup
...
R=r
DELTA=51 (14 added, 24 deleted, 13 changed)
OCL=31968
CL=31971
2009-07-21 17:18:32 -07:00
Russ Cox
5a74c0b6ba
do not use ONONAMEs for line number information,
...
just like ONAME etc.
R=ken
OCL=31964
CL=31964
2009-07-21 16:38:56 -07:00
Rob Pike
304b7954e8
add a .interp section and fix vaddr in INTERP prog.
...
R=rsc
DELTA=16 (9 added, 3 deleted, 4 changed)
OCL=31956
CL=31963
2009-07-21 16:31:35 -07:00
Rob Pike
3d42e691b9
make 6l produce dynamically linked binaries (although they are fully statically linked as far
...
as go is concerned). the -d flag is now flipped; as on the mac, -d disables dynamic.
much remains to be improved to move the output closer to the gcc format.
R=rsc
DELTA=366 (310 added, 30 deleted, 26 changed)
OCL=31929
CL=31951
2009-07-21 15:10:47 -07:00
Russ Cox
1d51978fed
fix cut-and-paste bugs in error messages
...
R=ken
OCL=31890
CL=31890
2009-07-20 17:41:18 -07:00
Russ Cox
6e1ad041f7
avoid strncat in formatters.
...
the n argument to strncat is the maximum
number of bytes to read from the src,
not the total size of the destination.
R=ken
OCL=31871
CL=31875
2009-07-20 14:16:25 -07:00
Russ Cox
f664d0e904
explain selectsend problem
...
R=ken
OCL=31865
CL=31867
2009-07-20 13:29:56 -07:00
Rob Pike
f687fb7e73
6l cleanup: last set of magic numbers for elf64 moved to ld/elf64*.
...
R=rsc
DELTA=68 (21 added, 28 deleted, 19 changed)
OCL=31857
CL=31864
2009-07-20 13:19:47 -07:00
Rob Pike
fe734d8630
clean up generation of exec header.
...
make endianness explicit when writing values.
R=rsc
DELTA=129 (37 added, 7 deleted, 85 changed)
OCL=31826
CL=31854
2009-07-20 10:08:48 -07:00
Rob Pike
94d89ede1c
take care of a few more magic numbers
...
R=rsc
DELTA=51 (41 added, 0 deleted, 10 changed)
OCL=31815
CL=31818
2009-07-17 17:32:34 -07:00
Rob Pike
b63d40a53e
count SHdrs and PHdrs and write them out as a unit
...
R=rsc
DELTA=181 (93 added, 63 deleted, 25 changed)
OCL=31802
CL=31812
2009-07-17 16:34:58 -07:00
Rob Pike
e86dcf1603
more elf64 support: phdrs, constants
...
R=rsc
DELTA=130 (68 added, 6 deleted, 56 changed)
OCL=31798
CL=31798
2009-07-17 15:09:17 -07:00
Russ Cox
35e5906f91
another baby step.
...
excluding import data,
no yacc node has type Type* anymore.
0 reduce/reduce conflicts.
R=ken
OCL=31793
CL=31795
2009-07-17 14:42:14 -07:00
Rob Pike
1593b1fc23
First steps towards cleaner support for ELF64 in 6l.
...
R=rsc
DELTA=337 (165 added, 119 deleted, 53 changed)
OCL=31786
CL=31794
2009-07-17 14:32:37 -07:00
Russ Cox
db508ccbff
baby step: const decls can refer to future
...
consts in the same factored block
const (
X = Y;
Y = 2;
)
R=ken
OCL=31782
CL=31782
2009-07-17 13:38:16 -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
Robert Griesemer
f3ffd93a61
ast:
...
- renamed Program -> SourceFile
- added Package node representing the AST for an entire package
- added filter function to create a source file mimicking the
interface of an entire package
parser:
- parser entry to parse entire packages
- unified naming of parser entry points
- factored out entry points into new file (interface.go)
gofmt:
- extended to accept single .go files, and package paths:
gofmt file.go // formatting of a single file
gofmt -x file.go // interface of a single file
gofmt -x ./MyPackage // interface of a local package
gofmt -x math // interface of a $GOROOT relative package
Various adjustments in dependent files, documentation.
R=rsc
DELTA=634 (369 added, 153 deleted, 112 changed)
OCL=31743
CL=31748
2009-07-16 17:11:18 -07:00
Robert Griesemer
59ee0373fc
- removed TODO, minor adjustments
...
R=rsc
DELTA=16 (6 added, 1 deleted, 9 changed)
OCL=31638
CL=31641
2009-07-14 16:30:06 -07:00
Robert Griesemer
e48d8fe091
update remaining files to match new scanner/parser interface
...
and use shared error handling infrastructure
R=rsc
DELTA=109 (3 added, 86 deleted, 20 changed)
OCL=31600
CL=31605
2009-07-14 10:46:18 -07:00
Russ Cox
10e995fba8
dead code
...
R=r
DELTA=20 (0 added, 20 deleted, 0 changed)
OCL=31584
CL=31598
2009-07-14 09:28:42 -07:00
Russ Cox
be16caf872
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
2009-07-13 23:38:39 -07:00
Russ Cox
a6799963ef
update 6g to new REGARG convention.
...
silence gcc warning.
R=ken
OCL=31583
CL=31583
2009-07-13 23:30:30 -07:00
Russ Cox
e11447f7da
bug148.
...
R=ken
OCL=31582
CL=31582
2009-07-13 23:29:44 -07:00
Kai Backman
60d223a418
added missing pieces required by reflection
...
R=rsc
APPROVED=rsc
DELTA=61 (40 added, 18 deleted, 3 changed)
OCL=31502
CL=31580
2009-07-13 22:06:28 -07:00
Kai Backman
0e2cce70cb
tiny naming cleanup
...
R=rsc
APPROVED=rsc
DELTA=17 (0 added, 0 deleted, 17 changed)
OCL=31503
CL=31579
2009-07-13 22:04:24 -07:00
Kai Backman
7258bac6e8
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
2009-07-13 20:33:59 -07:00
Russ Cox
9e2f2fcd2e
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
2009-07-13 19:20:43 -07:00
Russ Cox
29e93590b0
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
2009-07-13 16:48:09 -07:00
Robert Griesemer
7b7b83ba1b
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
2009-07-13 10:26:58 -07:00
Kai Backman
092d6290d0
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
2009-07-12 22:12:33 -07:00
Russ Cox
0dadc4fe4f
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
2009-07-10 16:29:26 -07:00
Ken Thompson
ed124a971e
segfault
...
R=rsc
OCL=31467
CL=31467
2009-07-10 16:12:21 -07:00
Robert Griesemer
981f4b43ac
mention file name only once in error message
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=31450
CL=31452
2009-07-10 10:01:08 -07:00
Robert Griesemer
38e7fddc21
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
2009-07-09 16:38:17 -07:00
Russ Cox
7472f4c951
bug168 (dsymonds) + fix
...
R=ken
OCL=31399
CL=31399
2009-07-09 12:08:50 -07:00
Ken Thompson
5ff7d84892
segment fault
...
R=rsc
OCL=31396
CL=31396
2009-07-09 11:41:06 -07:00
Ken Thompson
a68b1da3cc
another nil reference
...
R=rsc
OCL=31373
CL=31373
2009-07-08 17:58:15 -07:00
Russ Cox
903d28bd1e
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
2009-07-08 16:39:19 -07:00
Russ Cox
7c534e1bd2
the ld-supplied typestrings are now obsolete
...
R=r
DELTA=167 (0 added, 167 deleted, 0 changed)
OCL=31304
CL=31316
2009-07-07 17:35:45 -07:00
Russ Cox
42af80348c
method expansion bugs
...
R=ken
OCL=31310
CL=31310
2009-07-07 16:05:55 -07:00
Robert Griesemer
61824ff3a4
- 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
2009-07-07 12:02:54 -07:00
Russ Cox
a1b64821f8
bug167
...
R=ken
OCL=31295
CL=31295
2009-07-07 11:48:22 -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
c7513eac88
runtime: use new reflect data structures (CL 31107)
...
in place of sigi, sigt.
R=ken
OCL=31118
CL=31277
2009-07-07 11:02:54 -07:00
Russ Cox
27432d67ec
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
2009-07-07 10:07:15 -07:00
Russ Cox
0417aafe75
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
2009-07-06 23:42:57 -07:00
Russ Cox
0aa1b1508a
shift typechecking bugs
...
x << "a"
1 << int(2)
R=ken
OCL=31244
CL=31244
2009-07-06 23:33:17 -07:00
Kai Backman
908cd8f857
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
2009-07-06 23:04:56 -07:00
Russ Cox
2acbc37166
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
2009-07-06 22:31:20 -07:00
Russ Cox
74b546aefd
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
2009-07-06 22:25:54 -07:00
Russ Cox
ef4ddd63f8
another piece for cross-file forward struct declarations.
...
R=ken
OCL=31233
CL=31233
2009-07-06 21:39:18 -07:00
Russ Cox
a14b28a24d
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
2009-07-06 21:37:29 -07:00
Russ Cox
7af032b87b
fix forward struct declarations
...
R=ken
OCL=31230
CL=31230
2009-07-06 18:05:11 -07:00
Russ Cox
d436a70193
allow conversion to interface type
...
when implicit assignment would have been okay.
R=ken
OCL=31225
CL=31227
2009-07-06 17:20:48 -07:00
Russ Cox
53ebd163c6
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
2009-07-06 16:29:28 -07:00
Russ Cox
769919c4ee
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
2009-07-06 16:05:48 -07:00
Robert Griesemer
deb954772d
- ast.FilterExports: strips all non-exported nodes from an AST
...
- use FilterExports instead of the various predicates in printer.go and doc.go
which simplifies a lot of code and makes it easier to deal with complex cases
R=rsc
DELTA=445 (197 added, 190 deleted, 58 changed)
OCL=31110
CL=31196
2009-07-06 10:37:33 -07:00
Kai Backman
cd4aab62e3
sudoaddable odot
...
R=rsc
APPROVED=rsc
DELTA=7 (0 added, 1 deleted, 6 changed)
OCL=31189
CL=31191
2009-07-06 09:23:41 -07:00
Russ Cox
6da41be2d3
fix float32 comparison. was doing l op l instead of l op r.
...
R=ken
OCL=31190
CL=31190
2009-07-06 09:05:33 -07:00
Kai Backman
86987055a3
agen, sgen, cgen_callret, cgen_asop, D_ADDR handling, gmove
...
8bit and 16bit, some optoas, replaced Addr.index with
Addr.name
empty function compiles, mutex compiles
R=rsc
APPROVED=rsc
DELTA=908 (83 added, 41 deleted, 784 changed)
OCL=31127
CL=31188
2009-07-06 06:42:37 -07:00
Kai Backman
a7735f8a16
fixed bug that cause -g to segfault
...
R=rsc
APPROVED=rsc
DELTA=48 (30 added, 16 deleted, 2 changed)
OCL=31152
CL=31187
2009-07-06 06:36:25 -07:00
Ken Thompson
6bb3c48d3d
another seg fault
...
R=r
OCL=31156
CL=31156
2009-07-04 13:59:08 -07:00
Russ Cox
db312fa8de
bug163
...
R=ken
OCL=31149
CL=31149
2009-07-03 13:34:05 -07:00
Russ Cox
75fe1303c1
maps have == so maps are okay as map keys.
...
alignment issue is fixed.
R=ken
OCL=31124
CL=31144
2009-07-03 09:44:59 -07:00
Kai Backman
84ef63b9d5
minor comment and debug flag for dumping all oplooks.
...
R=rsc
APPROVED=rsc
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=31016
CL=31126
2009-07-02 21:35:39 -07:00
Robert Griesemer
b70563aa0a
- store trailing comments after top-level declarations in ast
...
- remove a test case w/ syntax errors from test suite
R=rsc
DELTA=104 (44 added, 5 deleted, 55 changed)
OCL=31078
CL=31085
2009-07-02 15:38:36 -07:00
Rob Pike
519a70da54
fix bug in $GOROOT handling: error calling Getenv.
...
R=gri
OCL=31047
CL=31047
2009-07-02 09:47:25 -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
5d5904bb4d
bug163 bug164 bug166
...
R=ken
OCL=30889
CL=30889
2009-06-29 17:46:22 -07:00
Russ Cox
d3a412a5ab
io.StringBytes -> strings.Bytes
...
io.ByteBuffer -> bytes.Buffer
left io.ByteBuffer stub around for now,
for protocol compiler.
R=r
OCL=30861
CL=30872
2009-06-29 15:24:23 -07:00
Russ Cox
9435dc2bdf
allow forward declaration of struct in another file
...
(in the same package).
allow forward method declaration to be satisfied
by implementation in another file (in the same package).
all methods must be declared in the same file
as the receiver type.
R=ken
OCL=30864
CL=30869
2009-06-29 15:13:37 -07:00
Rob Pike
104d0246ea
fix gobuild bug
...
R=rsc
DELTA=4 (3 added, 0 deleted, 1 changed)
OCL=30845
CL=30845
2009-06-29 11:19:38 -07:00
Kai Backman
b2871b727e
working on bgen
...
- removed smallint optimizations
- lifted raddr from 5c
- add back %R, was used in gc/* causing -g to crash
- changed naddr OREGISTER to emit D_REG instead of D_OREG
R=rsc
APPROVED=rsc
DELTA=74 (38 added, 28 deleted, 8 changed)
OCL=30799
CL=30822
2009-06-26 22:04:30 -07:00
Rob Pike
d330c712c1
Getenv: almost no one wants the error, so make it return a string that may be empty.
...
Getenverror is the new name for the old routine that returns an error too.
R=rsc
DELTA=35 (7 added, 7 deleted, 21 changed)
OCL=30818
CL=30821
2009-06-26 20:28:41 -07:00
Kai Backman
d6197d94b5
Adding more debug output when 5l encounters a bad op
...
combination.
R=rsc
APPROVED=rsc
DELTA=69 (68 added, 0 deleted, 1 changed)
OCL=30798
CL=30801
2009-06-26 13:44:25 -07:00
Kai Backman
4556c04d8b
more changes to make 5g code generation arm compatible.
...
R=rsc
APPROVED=rsc
DELTA=72 (12 added, 52 deleted, 8 changed)
OCL=30748
CL=30793
2009-06-26 04:08:20 -07:00
Russ Cox
480f51243c
bug165
...
R=ken
OCL=30783
CL=30783
2009-06-25 21:02:39 -07:00
Russ Cox
a0bcaf4c00
Change os.Error convention:
...
echo back context of call in error if likely to be useful.
For example, if os.Open("/etc/passwd", os.O_RDONLY)
fails with syscall.EPERM, it returns as the os.Error
&PathError{
Op: "open",
Path: "/etc/passwd"
Error: os.EPERM
}
which formats as
open /etc/passwd: permission denied
Not converted:
datafmt
go/...
google/...
regexp
tabwriter
template
R=r
DELTA=1153 (561 added, 156 deleted, 436 changed)
OCL=30738
CL=30781
2009-06-25 20:24:55 -07:00
Russ Cox
70e232e668
separate local path lookup from standard package directories
...
R=ken
OCL=30760
CL=30779
2009-06-25 20:15:56 -07:00
Russ Cox
cf370a6206
add ./ to imports where necessary
...
R=r
DELTA=51 (4 added, 4 deleted, 43 changed)
OCL=30759
CL=30778
2009-06-25 20:13:56 -07:00
Russ Cox
5851a1b5ad
allow
...
package main
type t interface
type t interface{ m(map[t]bool) }
type m map[t] int
making it work without the forward declaration will require a second pass.
R=ken
OCL=30773
CL=30773
2009-06-25 18:19:05 -07:00
Russ Cox
1ea28570ec
the any fix was too aggressive; allow any in any import.
...
R=ken
OCL=30768
CL=30768
2009-06-25 16:57:56 -07:00
Russ Cox
fa6df47986
package main
...
const foo = []int{1,2}
x.go:3: expression must be a constant
instead of
x.go:3: fatal error: gettype: addtop
R=ken
OCL=30767
CL=30767
2009-06-25 16:42:08 -07:00
Russ Cox
70a273476b
better error; clean up lineno in a few places
...
wreck.mtv=; cat x.go
package main
var x = string.Split()
wreck.mtv=; 6g x.go
x.go:2: type string used as expression
x.go:2: undefined DOT Split on string
x.go:3: illegal types for operand: AS
undefined
wreck.mtv=;
BUG=1938751
R=ken
OCL=30766
CL=30766
2009-06-25 16:32:33 -07:00
Russ Cox
4bce6d455f
package main
...
func foo(y) { }
was:
x.go:2: NONAME-y G0 u(1) a(1) l(77) x(-1000000000) is not a type
now:
x.go:2: y is not a type
R=ken
OCL=30764
CL=30764
2009-06-25 16:25:06 -07:00
Russ Cox
30f2799f88
disable "any" except during canned imports.
...
new flag -A enables it during mkbuiltin.
avoids mysterious errors in programs
that refer to any accidentally.
R=ken
OCL=30763
CL=30763
2009-06-25 16:22:46 -07:00
Russ Cox
111ae83bb7
6g: update for spec change CL 30586
...
R=ken
OCL=30593
CL=30756
2009-06-25 14:44:45 -07:00
Kai Backman
190b5c9ad2
fixes to 5g object file generation. arm specific regalloc.
...
R=rsc
APPROVED=rsc
DELTA=976 (164 added, 237 deleted, 575 changed)
OCL=30705
CL=30743
2009-06-25 11:01:17 -07:00
Ken Thompson
466dd8da4e
6g crash re mail from gri jun 18.
...
R=r
OCL=30719
CL=30719
2009-06-24 17:50:25 -07:00
Kai Backman
354e61cc52
Fix compile warnings in 5l.
...
R=rsc
APPROVED=rsc
DELTA=8 (0 added, 0 deleted, 8 changed)
OCL=30692
CL=30695
2009-06-24 11:44:06 -07:00
Russ Cox
a45c54d1a5
fix gobuild.
...
errors introduced in CL 30601
R=austin
DELTA=6 (3 added, 0 deleted, 3 changed)
OCL=30663
CL=30665
2009-06-23 16:21:05 -07:00
Russ Cox
0aef57e37f
fix a 6g crash after type errors.
...
do not bother warning about marks left
on stack after syntax errors.
leave OCONV nodes in tree to avoid type errors
arising from multiple walks.
R=ken
OCL=30639
CL=30662
2009-06-23 15:30:59 -07:00
Kai Backman
be639b9a51
Runtime is now starting up with a dummy c program as target:
...
- morestack and gosave/gogo/gocall support
- memclr and memset from inferno
- bugfixes in _rt0_arm
R=rsc
APPROVED=rsc
DELTA=304 (174 added, 36 deleted, 94 changed)
OCL=30636
CL=30642
2009-06-23 11:54:23 -07:00
Russ Cox
2fcc8f2fb6
avoid pointer-to-slice operations in gobuild
...
R=r
DELTA=19 (3 added, 1 deleted, 15 changed)
OCL=30591
CL=30601
2009-06-22 14:24:32 -07:00
Russ Cox
7f3eb2738f
implement new spec language regarding conversions
...
R=ken
OCL=30519
CL=30534
2009-06-19 14:00:53 -07:00
Russ Cox
05240bb290
use multiline string literal in gobuild
...
R=r
DELTA=76 (1 added, 0 deleted, 75 changed)
OCL=30497
CL=30510
2009-06-18 16:32:26 -07:00
Ken Thompson
eba82f4391
better diagnostics for eof in a string.
...
this assumes that embedded newlines are
legal in back-quote strings.
R=r
OCL=30502
CL=30502
2009-06-18 15:49:41 -07:00
Russ Cox
8522a478bb
update 386 to new runtime (CL 30381)
...
R=r
DELTA=298 (119 added, 81 deleted, 98 changed)
OCL=30427
CL=30443
2009-06-17 15:15:55 -07:00
Rob Pike
e15b64e87e
clean gofmt
...
R=rsc
OCL=30363
CL=30363
2009-06-16 14:03:13 -07:00
Rob Pike
6202b0e287
add godoc to clean.bash
...
R=rsc
OCL=30361
CL=30361
2009-06-16 13:57:08 -07:00
Robert Griesemer
d8e4446d12
- install gofmt in src/cmd/gofmt
...
- remove some left-over files
R=rsc
DELTA=1465 (281 added, 1181 deleted, 3 changed)
OCL=30350
CL=30353
2009-06-16 12:03:32 -07:00
Kai Backman
1ac2cfc720
grab bag of changes aimed at getting stack splitting to work:
...
- morestack support for 5l and arm runtime
- argsize support in 5c, 5l, ar and nm. assembly code from 5a
will break in interesting ways unless NOSPLIT is specified
- explicit cond execution constants
- fix 5l output to use %d instead of %ld so that negative
values show.
- added a lot of code to arm/asm.s. runtime entry code almost
working currently aborts at gogo not implemented
R=rsc
APPROVED=rsc
DELTA=305 (125 added, 29 deleted, 151 changed)
OCL=30246
CL=30347
2009-06-16 11:25:58 -07:00
Robert Griesemer
d45442ed65
fix build
...
R=rsc
DELTA=5 (0 added, 1 deleted, 4 changed)
OCL=30343
CL=30343
2009-06-16 09:39:57 -07:00
Robert Griesemer
f05c04146e
forgot to adjust tmproot
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=30342
CL=30342
2009-06-16 09:30:16 -07:00
Robert Griesemer
5071a5a572
move godoc to src/cmd/godoc
...
R=rsc
DELTA=945 (944 added, 0 deleted, 1 changed)
OCL=30315
CL=30341
2009-06-16 09:14:06 -07:00
Russ Cox
30a28aec25
b/1909731
...
package main
func f(a *c.b) {}
func main() {}
BUG=1909731
R=ken
OCL=30322
CL=30322
2009-06-15 20:15:59 -07:00
Kai Backman
f2201185ab
Added ld/go.c functionality into 5l, primarily dead code
...
removal and typesigs and strings.
Also added new header support to 5c/5a/5l.
R=rsc
APPROVED=rsc
DELTA=98 (66 added, 10 deleted, 22 changed)
OCL=30103
CL=30123
2009-06-09 20:51:53 -07:00
Kai Backman
1faf06eabf
make 5g use 1 byte per binary asm statement.
...
R=rsc
APPROVED=rsc
DELTA=4 (0 added, 4 deleted, 0 changed)
OCL=30110
CL=30112
2009-06-09 11:34:35 -07:00
Rob Pike
d90e7cbac6
mv src/lib to src/pkg
...
tests: all.bash passes, gobuild still works, godoc still works.
R=rsc
OCL=30096
CL=30102
2009-06-09 09:53:44 -07:00
Kai Backman
83632c7359
initial morestack support for 5l. still disabled, doesn't work.
...
R=rsc
APPROVED=rsc
DELTA=245 (167 added, 63 deleted, 15 changed)
OCL=30039
CL=30081
2009-06-08 20:20:35 -07:00
Russ Cox
b7f0580274
move src/runtime -> src/lib/runtime;
...
hand-edited files.
R=r
DELTA=125 (77 added, 16 deleted, 32 changed)
OCL=30001
CL=30008
2009-06-06 22:04:50 -07:00
Russ Cox
3c06bd6201
an 8g checkpoint.
...
needs cleanup, optimizer,
but all.bash works.
R=ken
OCL=29974
CL=30000
2009-06-06 19:28:16 -07:00
Russ Cox
8abcdee175
implement optional semicolons with help from the lexer,
...
instead of having to double the type and statement grammars.
R=ken
OCL=29987
CL=29998
2009-06-06 19:27:48 -07:00
Russ Cox
e9e388412c
6g: add TODO about float constants back
...
R=ken
OCL=29984
CL=29997
2009-06-06 19:27:30 -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
b28d84f644
8l: add AIMULW
...
R=ken
OCL=29972
CL=29972
2009-06-05 23:52:43 -07:00
Russ Cox
8720b4721f
use cc provided xlog2 instead of system log2.
...
(on plan 9 cc calls it log2, but that conflicts here.)
the difference is that xlog2 returns -1 on non powers of 2.
8c was rewriting /10 into /8.
R=ken
OCL=29968
CL=29968
2009-06-05 23:12:07 -07:00
Russ Cox
01fe6a9c58
more build refinements:
...
* use new Make.$GOARCH files in gobuild.
* rename 6ar to arch-generic gopack.
* place objects in $GOROOT/pkg/$GOOS_$GOARCH
(makes cross-compiling easier, and no one
ever types these paths by hand anyway).
R=r
DELTA=29 (6 added, 8 deleted, 15 changed)
OCL=29923
CL=29967
2009-06-05 22:18:32 -07:00
Russ Cox
6609d2f88d
restructure makefiles, scripts to factor out O= logic.
...
remove a few hardcoded paths elsewhere too.
R=r,gri
DELTA=123 (44 added, 15 deleted, 64 changed)
OCL=29914
CL=29945
2009-06-05 10:59:55 -07:00
Kai Backman
25ac4d07a2
Rolling galign back to 32 bit.
...
R=rsc
APPROVED=rsc
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=29532
CL=29917
2009-06-04 21:11:55 -07:00
Russ Cox
f6402313d3
don't need these anymore;
...
R=kaib
DELTA=36 (0 added, 36 deleted, 0 changed)
OCL=29908
CL=29916
2009-06-04 21:10:49 -07:00
Russ Cox
2f2577a4f6
bug161, fixed
...
R=ken
OCL=29907
CL=29907
2009-06-04 16:18:13 -07:00
Russ Cox
9a9ffb2b0e
more 8g progress.
...
likely to go back to registers for most temporaries.
most tests in lib pass. these fail:
datafmt
fmt
go/scanner
log
reflect
strconv
template
R=ken
OCL=29896
CL=29898
2009-06-04 15:24:01 -07:00
Russ Cox
f0e6a3caac
dangling pointer bug (thanks valgrind)
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=29881
CL=29885
2009-06-04 13:33:29 -07:00
Russ Cox
3a0df4c451
more 386 runtime fixes.
...
can pass many tests;
current stumbling block is an 8l bug.
R=r
DELTA=122 (83 added, 8 deleted, 31 changed)
OCL=29872
CL=29876
2009-06-04 11:16:03 -07:00
Russ Cox
f51ca384eb
fix handling of floating point zero constant 0p+0
...
R=r
DELTA=25 (25 added, 0 deleted, 0 changed)
OCL=29875
CL=29875
2009-06-04 11:06:37 -07:00
Russ Cox
ea7f5505d1
zero struct in T{}
...
R=ken
OCL=29849
CL=29849
2009-06-03 16:10:13 -07:00
Russ Cox
ab3d40b271
trivial cut and paste: move 64-bit simulation into cgen64.c
...
R=ken
OCL=29812
CL=29812
2009-06-02 23:26:02 -07:00
Russ Cox
a00bfb5b49
8g:
...
* floating point -> integer conversions.
x86 defines that overflow/underflow
results in 1<<15, 1<<31, 1<<63 for
int16, int32, int64. when building the
unsigned conversions out of the native signed
ones, 8g turns overflow/underflow into zero.
the spec does not say what should happen.
* many tiny bug fixes. can run a large number
of files from go/test now, and can fmt.Printf.
* struggling with byte register allocation
and float32 computation.
R=ken
OCL=29642
CL=29811
2009-06-02 23:25:17 -07:00
Russ Cox
73c10dd967
386 library updates
...
R=r
DELTA=161 (153 added, 0 deleted, 8 changed)
OCL=29802
CL=29809
2009-06-02 23:22:12 -07:00
Russ Cox
f1f970ad21
minor cleanup, 64-bit /= and %= on 32-bit
...
R=ken
OCL=29806
CL=29808
2009-06-02 23:21:58 -07:00
Russ Cox
07393f8706
8l fixes, cut and paste from 6l.
...
move PtrSize value into 6l/8l files.
R=r
DELTA=78 (47 added, 15 deleted, 16 changed)
OCL=29729
CL=29798
2009-06-02 22:33:21 -07:00
Russ Cox
278b1ab053
make godefs work better for generating Go.
...
R=r
DELTA=121 (92 added, 4 deleted, 25 changed)
OCL=29706
CL=29721
2009-06-01 22:14:25 -07:00
Ken Thompson
c17ce9f94f
prevent multiple similar errors
...
in complex literals. side effect is
fix of error in initializerr.go
R=r
OCL=29667
CL=29667
2009-05-31 13:02:24 -07:00
Russ Cox
d6a9817051
bug157
...
R=ken
OCL=29651
CL=29653
2009-05-30 21:18:15 -07:00
Ken Thompson
be63b6dc44
bug 158
...
R=r
OCL=29646
CL=29646
2009-05-30 17:06:51 -07:00
Russ Cox
91395ae689
make gobuild failures more readable.
...
1. ar reports names of objects with duplicate text symbols.
2. gobuild only shows first line of error output for each failed command.
3. gobuild ignores files that begin with ascii non-alphanumeric non _.
; gobuild
$ 6g -I _obj gobuild.go
gobuild.go:150: PackageImports: undefined
$ 6g -I _obj makefile.go
makefile.go:102: ShellString: undefined
$ 6g -I _obj util.go
util.go:114: syntax error near zzz
gobuild: stalemate
;
; gobuild
$ 6ar grc _obj/gobuild.a util.6 util1.6
duplicate text symbol: util1.6 and util.6: gobuild·Build
$ 6g -I _obj gobuild.go
gobuild.go:150: PackageImports: undefined
$ 6g -I _obj makefile.go
makefile.go:102: ShellString: undefined
gobuild: stalemate
;
R=r
DELTA=95 (49 added, 9 deleted, 37 changed)
OCL=29625
CL=29640
2009-05-29 18:12:04 -07:00
Ken Thompson
fbcbcdbb1d
bug 156
...
R=r
OCL=29623
CL=29623
2009-05-29 15:34:47 -07:00
Ken Thompson
1c7bee0567
bug 155
...
R=r
OCL=29619
CL=29619
2009-05-29 14:42:24 -07:00
Ken Thompson
3b37b02834
bug 149
...
R=r
OCL=29612
CL=29612
2009-05-29 13:44:30 -07:00
Russ Cox
5d1d8a8258
integer conversions and test.
...
R=ken
OCL=29577
CL=29589
2009-05-29 09:17:35 -07:00
Russ Cox
6e1762c06e
64-bit integer arithmetic.
...
passes ridiculous test from CL 29569.
R=ken
OCL=29571
CL=29573
2009-05-29 00:13:09 -07:00
Russ Cox
0a6d83567e
print uint64 as uint64.
...
R=ken
OCL=29568
CL=29570
2009-05-28 22:24:03 -07:00
Ken Thompson
e2613711aa
detect recursive initialization
...
R=r
OCL=29544
CL=29544
2009-05-28 16:00:55 -07:00
Russ Cox
3aa006b8cd
better 64-bit handling in 8g.
...
fewer moves, fewer stupid LEALs.
powser1 runs (with evaln commented out).
beginnings of floating point.
R=ken
OCL=29540
CL=29543
2009-05-28 15:48:47 -07:00
Kai Backman
63e1b714de
Rebooted 5g effort from 6g. Tons of minor fixes and tweaks to
...
get the code going.
R=rsc
APPROVED=rsc
DELTA=4752 (1723 added, 948 deleted, 2081 changed)
OCL=29403
CL=29530
2009-05-28 14:25:54 -07:00
Kai Backman
97fe55720d
Change 5l to use Biobufs for IO.
...
R=rsc
APPROVED=rsc
DELTA=132 (16 added, 45 deleted, 71 changed)
OCL=29468
CL=29497
2009-05-28 07:41:23 -07:00
Russ Cox
e81d97ea84
clean up gmove:
...
* conversions all in one place.
* no separate load, store phases;
direct memory addressing when possible
(this is the x86 after all!).
avoids extra registers, extra MOVQs.
* fixes int32 -> uint64 bug
(was zero-extending)
R=ken
OCL=29482
CL=29484
2009-05-27 23:55:14 -07:00
Ken Thompson
b3f303ec9a
bug 153
...
R=r
OCL=29479
CL=29479
2009-05-27 18:37:02 -07:00
Ken Thompson
64c3fe05bf
string([]int) conversion
...
R=r
OCL=29466
CL=29466
2009-05-27 15:38:02 -07:00
Russ Cox
18890eebbf
fix bug154; tweak bug153 exit status
...
R=ken
OCL=29448
CL=29448
2009-05-27 10:16:13 -07:00
Russ Cox
51bb8795cd
8g: missing change from last CL
...
R=ken
OCL=29426
CL=29426
2009-05-26 21:11:31 -07:00
Russ Cox
a8e4ed6a3d
8g: 64-bit arithmetic and assorted bug fixes;
...
can run 64-bit sieve and powser.
interfaces are limping along.
next hurdle is floating point.
R=ken
OCL=29418
CL=29423
2009-05-26 21:07:26 -07:00
Ken Thompson
b46e7c4d3c
bug 152
...
R=r
OCL=29419
CL=29419
2009-05-26 19:48:39 -07:00
Ken Thompson
51ddddc67e
bug 151
...
R=r
OCL=29409
CL=29409
2009-05-26 16:30:35 -07:00
Russ Cox
5ecd010beb
more 8g.
...
test/turing.go runs if you move the big array off its stack.
finally remembered to g4 add cgen.c gsubr.c
R=ken
OCL=29408
CL=29408
2009-05-26 16:23:54 -07:00
Ken Thompson
850cd6a2fe
bug 150
...
R=r
OCL=29405
CL=29405
2009-05-26 15:56:37 -07:00
Russ Cox
021abfbd28
8g: hello world works again
...
* string format changed
* files got renamed
* new files that i forgot to check in last time
updates are all copy and paste from 6g
R=ken
OCL=29385
CL=29400
2009-05-26 14:46:06 -07:00
Russ Cox
1f0f2e44a9
6ar: explain why __.SYMDEF didn't get put in.
...
people using ar for non-object archives
will just have to deal with the warnings.
R=r
DELTA=3 (2 added, 0 deleted, 1 changed)
OCL=29384
CL=29398
2009-05-26 14:34:32 -07:00
Kai Backman
3c7a1ef208
Added automatic detection of system libraries to 5l.
...
R=rsc
APPROVED=rsc
DELTA=83 (73 added, 3 deleted, 7 changed)
OCL=29276
CL=29382
2009-05-26 12:14:55 -07:00
Kai Backman
7943556970
Added enough arm related scaffolding to create a simple
...
hello.c program linking against the runtime.
R=rsc
APPROVED=rsc
DELTA=178 (175 added, 0 deleted, 3 changed)
OCL=29283
CL=29380
2009-05-26 11:18:42 -07:00
Ken Thompson
802e1a6104
static init reenabled
...
R=r
OCL=29358
CL=29358
2009-05-25 19:40:41 -07:00
Ken Thompson
798b19bf77
improvement in registerization
...
R=r
OCL=29317
CL=29317
2009-05-23 16:36:43 -07:00
Ken Thompson
4238b18344
1. check for dups in complex literals
...
structtype{a:1, a:2}
maptypetype{"xx":1, "xx":2}
arraytypetype{5:1, 5:2}
2. bug in registerization concerning
alias of a struct and one of its elements
3. code optimization of struct.field
(which exposed bug in 2)
R=r
OCL=29315
CL=29315
2009-05-23 15:34:29 -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
Kai Backman
9a2a2474c6
Force usage of dollar signs to circumvent arm-gcc balking at them.
...
R=rsc
APPROVED=rsc
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=29275
CL=29278
2009-05-22 15:32:43 -07:00
Russ Cox
f4d3d22a94
enforce channel direction
...
R=ken
OCL=29209
CL=29216
2009-05-21 17:32:44 -07:00
Russ Cox
c2fa45b973
allow type name as key to accomodate anonymous fields.
...
update tests.
R=ken
OCL=29207
CL=29207
2009-05-21 16:31:10 -07:00
Ken Thompson
bba10b3f49
some array init bugs
...
renamed 6g/(gen|align|obj).c
R=r
OCL=29205
CL=29205
2009-05-21 15:44:06 -07:00
Russ Cox
8b6b380605
stricter rules for assignment.
...
when assigning a multifield object
(structs or arrays of structs) they
must not contain any fields that could
not be assigned individually.
R=ken
OCL=29192
CL=29194
2009-05-21 14:06:24 -07:00
Ken Thompson
a016081f43
added key:val extension to
...
structure and array literals
R=r
OCL=29190
CL=29190
2009-05-21 13:46:07 -07:00
Russ Cox
23e62d169f
stricter interface conversion rule: i.(T)
...
must have non-nil i.
R=ken
OCL=29136
CL=29136
2009-05-20 18:23:19 -07:00
Russ Cox
a39bae095a
ifaceop was being called with integers
...
that came from two different enums.
spilt into ifacecvt and ifaceop depending
on which enum the argument is.
R=ken
OCL=29122
CL=29122
2009-05-20 15:09:50 -07:00
Russ Cox
2da5022bcf
change representation of interface values.
...
this is not a user-visible change.
before, all interface values were
struct Itype {
Sigt *type;
Sigi *inter;
void *method[n];
}
struct Iface {
void *addr;
Itype *itype;
}
the itype is basically a vtable, but it's unnecessary
if the static type is interface{ }.
for interface values with static type empty, the
new representation is
struct Eface {
void *addr;
Sigt *type;
}
this complicates the code somewhat, but
it reduces the number of Itypes that
have to be computed and cached,
it opens up opportunities to avoid function
calls in a few common cases,
and it will make it possible to lay out
interface{} values at compile time,
which i think i'll need for the new reflection.
R=ken
OCL=28701
CL=29121
2009-05-20 14:57:55 -07:00
Russ Cox
47e5152790
fix implicit star for range on *map, *[].
...
do not update lineno from ONAME nodes,
because they have declaration lineno not use.
show actual name in top-level statement error.
before
runtime.a:7: x.go:5: walkstate: NAME not a top level statement
after
x.go:14: walkstate: runtime.Goexit not a top level statement
R=ken
OCL=29113
CL=29116
2009-05-20 14:24:23 -07:00
Ken Thompson
da49bfe664
static initialization of strings
...
R=r
OCL=29036
CL=29036
2009-05-19 13:37:36 -07:00
Ken Thompson
b91a043d02
static initialization of slices
...
R=r
OCL=29016
CL=29016
2009-05-18 22:11:22 -07:00
Robert Griesemer
1ed725d7cd
- changed parser to return os.Error, removed ErrorHandler
...
- added IsValid predicate to token.Position
- updated pretty, godoc, gobuild
- updated/expanded test cases
R=rsc
DELTA=265 (97 added, 78 deleted, 90 changed)
OCL=28961
CL=29005
2009-05-18 14:59:16 -07:00
Ken Thompson
62231e91d0
static initialization with DATA statements
...
structs and arrays are done
slices and maps are yet to do
R=r
OCL=28977
CL=28977
2009-05-17 19:16:16 -07:00
Ken Thompson
52b0f77bf9
static initialization
...
structure set up - no change yet
R=r
OCL=28966
CL=28966
2009-05-16 13:29:08 -07:00
Rob Pike
a8db4593ab
fix spelling error in message
...
R=ken
OCL=28814
CL=28814
2009-05-14 09:59:16 -07:00
Russ Cox
d06a79e31b
no need for compiler to hard-code definition of runtime.
...
use the actual go source instead.
R=r
DELTA=90 (66 added, 18 deleted, 6 changed)
OCL=28708
CL=28719
2009-05-12 16:15:52 -07:00
Russ Cox
0880593436
gobuild: command printing bug fix
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=28583
CL=28590
2009-05-08 16:38:42 -07:00
Russ Cox
b3533dfd72
6g:
...
new type equality restrictions
better handling of renamed packages
"sys" is no longer available to programs
R=ken
OCL=28553
CL=28578
2009-05-08 15:40:31 -07:00
Russ Cox
917aa35f8f
implications of stricter type equality:
...
if both types are named, they must be
the same type (arising from the same
declaration).
R=r,gri
DELTA=44 (21 added, 4 deleted, 19 changed)
OCL=28436
CL=28577
2009-05-08 15:40:14 -07:00
Russ Cox
918afd9491
move things out of sys into os and runtime
...
R=r
OCL=28569
CL=28573
2009-05-08 15:21:41 -07:00
Rob Pike
c367d1b789
Move sys.Reflect and sys.Unreflect into unsafe.
...
R=rsc
DELTA=19 (4 added, 5 deleted, 10 changed)
OCL=28563
CL=28566
2009-05-08 14:57:56 -07:00
Russ Cox
d4fa253837
eqtype(t1, t2, 0) => eqtype(t1, t2)
...
R=ken
OCL=28559
CL=28562
2009-05-08 14:40:38 -07:00
Rob Pike
c8b47c6fce
Name change to improve embeddability:
...
io.Read->io.Reader
io.Write,Close,etc.->io.Writer,Closer etc.
R=rsc
DELTA=190 (0 added, 0 deleted, 190 changed)
OCL=28525
CL=28535
2009-05-08 11:22:57 -07:00
Russ Cox
401a95aa83
if a struct s contains an anonymous interface value
...
with method m, s.m() is ok and m now shows up
in s's method set for interface runtime.
see http://cl/28419-p2 for new test interface10.go.
R=ken
OCL=28420
CL=28423
2009-05-07 13:42:47 -07:00
Russ Cox
88a1aa8e1a
6g: error messages
...
part 2; missing files
R=ken
OCL=28408
CL=28410
2009-05-07 10:30:22 -07:00
Russ Cox
b5e212ffdd
6g: error messages
...
replace "shape error across CALL" with more information.
x.go:7: not enough arguments to CALL
a int, b int
int
x.go:10: assignment count mismatch: 3 = 2
x.go:12: too many arguments to RETURN
[no arguments expected]
int, int, int
also leave type alone after conversion failure,
for later errors:
bug049.go:6: cannot convert nil constant to string
bug049.go:6: illegal types for operand: EQ
string
nil # this used to be blank
R=ken
OCL=28405
CL=28407
2009-05-07 10:29:35 -07:00
Russ Cox
5a67ea3883
6g: simplify trampoline by postponing load.
...
TEXT tramp
MOVQ 8(SP), AX
ADDQ $40, AX
MOVQ AX, 8(SP)
JMP oldfunc
is now
TEXT tramp
ADDQ $40, 8(SP)
JMP oldfunc
and if s/40/0/, then it simplifies to
TEXT tramp
JMP oldfunc
(the tramp is still needed to satisfy
symbol references from other object files)
R=ken
OCL=28377
CL=28381
2009-05-06 17:06:06 -07:00
Russ Cox
a6ba5ec535
6g: new interface rules (code got simpler!)
...
R=ken
OCL=28374
CL=28378
2009-05-06 17:05:35 -07:00
Russ Cox
83cd4ee070
6g: generate string data as individual symbols,
...
so that 6l can discard strings used by dead code.
also, for short strings, generate DUPOK global
symbols so that references to, say, "%s: %s" in
multiple files result in only a single symbol.
R=ken
OCL=28361
CL=28361
2009-05-06 13:47:40 -07:00
Ken Thompson
c4de24981a
signs on div and mod
...
R=r
OCL=28319
CL=28319
2009-05-05 21:19:58 -07:00
Russ Cox
3e9b171b79
6g bug: was dropping assignment of nil to globals
...
R=ken
OCL=28314
CL=28314
2009-05-05 17:33:51 -07:00
Russ Cox
f821e3c7c3
6g tweaks
...
* byteastring is no longer used
* do not generate ODCL, OAS for globals
(wasn't generating any code but might
save one or two init functions)
* do not call self from Init function
R=ken
OCL=28309
CL=28309
2009-05-05 16:53:46 -07:00
Russ Cox
9cba9c8890
6l: eliminate dead code, not just the symbols
...
editing the firstp list was ineffective,
because follow rebuilds it from the textp list.
the symbols for dead code were being dropped
from the binary but the code was all still there.
text for fmt.Printf("hello, world\n") drops
from 143945 to 128650.
R=r,ken
DELTA=22 (20 added, 0 deleted, 2 changed)
OCL=28255
CL=28290
2009-05-05 12:43:00 -07:00
Ken Thompson
567a7bf664
more code optimization
...
1. dont clear external and heap objects
2. propagate constant assignment
R=r
OCL=28254
CL=28254
2009-05-04 21:48:46 -07:00
Ken Thompson
5963f59067
more morestack fiddling
...
R=r
OCL=28204
CL=28204
2009-05-03 19:09:14 -07:00
Ken Thompson
a5a878986c
more code fiddling
...
R=r
OCL=28201
CL=28201
2009-05-03 15:17:03 -07:00
Ken Thompson
49f7494894
code optmization
...
drip init function if it doesnt do anything
R=r
OCL=28180
CL=28180
2009-05-01 18:55:16 -07:00
Ken Thompson
1ed7f18165
code improvement
...
better calling of morestack
R=r
OCL=28179
CL=28179
2009-05-01 18:07:33 -07:00
Kai Backman
eac5db7f4c
Copied 8g/6g into 5g. Used sharp tools to coax a .5 file out
...
of 5g. 5l balks at the output and running 5g with -S shows
the true extent of the disaster. Still, better than
yesterday. Maybe.
Tested on the canonical:
package main
func main() {
}
R=rsc
APPROVED=rsc
DELTA=4182 (4181 added, 0 deleted, 1 changed)
OCL=27601
CL=28175
2009-05-01 13:21:53 -07:00
Russ Cox
83e976d53e
bug146: array/slice conversion before I left missed conversions
...
R=ken
OCL=28120
CL=28124
2009-04-30 13:49:58 -07:00
Russ Cox
48974f553d
change 6l library directory flag to -L,
...
to match traditional c linkers.
R=r
DELTA=42 (8 added, 12 deleted, 22 changed)
OCL=28101
CL=28115
2009-04-30 13:32:39 -07:00
Ken Thompson
7a98315c96
allow "defer close(chan)"
...
bug found by anton
R=r
OCL=28001
CL=28001
2009-04-28 17:20:18 -07:00
Ken Thompson
91ce0ef8f3
bug 139
...
R=r
OCL=27987
CL=27987
2009-04-28 13:52:56 -07:00
Ken Thompson
ad36c39211
bug 145
...
R=r
OCL=27979
CL=27979
2009-04-28 12:28:31 -07:00
Ken Thompson
b03b541b7a
recognize a defined constant
...
as a new name in a later declaration
(bug 144)
R=r
OCL=27850
CL=27850
2009-04-24 16:43:31 -07:00
Ben Eitzen
155ec1d904
Clear upper bits of 64-bit indexing register when using types smaller than 64 bits.
...
APPROVED=ken
OCL=27811
CL=27823
2009-04-23 18:23:34 -07:00
Ken Thompson
190a540892
2 minor bugs.
...
lv context for some [] operations
calling implicit(*map) before walk.
R=r
OCL=27706
CL=27706
2009-04-21 19:52:13 -07:00
Ken Thompson
c18db5aa18
bug in shift of longer operand
...
by a shorter operand. the bits
in the difference were not cheared.
R=r
OCL=27705
CL=27705
2009-04-21 19:38:58 -07:00
Ken Thompson
b5e7562191
supply default indirection to
...
map indexing - bug 143
R=r
OCL=27695
CL=27695
2009-04-21 17:00:08 -07:00
Ken Thompson
34b6f642de
mixed old/new declaration
...
exact spec:
a) must be a multi-assignment w :=
b) a proper subset of the lhs
can be declared in same block
with the same type with no
"redeclaration" error
R=r
OCL=27610
CL=27610
2009-04-18 13:58:04 -07:00
Rob Pike
bfd5ede78d
add -P pkgdir option to 6l to have it look first in pkgdir for a package.
...
this allows gotest to find the locally built package when doing
make
gotest
without this option, one would have to say
make install
gotest
which kinda defeats the purpose
based on discussions with rsc.
R=ken,rsc
DELTA=12 (10 added, 1 deleted, 1 changed)
OCL=27606
CL=27606
2009-04-17 19:39:45 -07:00
Rob Pike
aaf63f8d06
Step 1 of the Big Error Shift: make os.Error an interface and replace *os.Errors with os.Errors.
...
lib/template updated to use new setup; its clients also updated.
Step 2 will make os's error support internally much cleaner.
R=rsc
OCL=27586
CL=27586
2009-04-17 00:08:24 -07:00
Russ Cox
3ea8d854a3
make string(array) take []byte only (and thus *[10]byte but not [10]byte)
...
R=ken
OCL=27581
CL=27585
2009-04-16 23:07:30 -07:00
Russ Cox
0f153ec6b4
build packages in obj/ subdirectory that mimics $GOROOT/pkg.
...
for example, if building in src/lib/container,
objects go in obj/container/, so that 6g -Iobj
will find "container/vector".
install packages in hierarchy in $GOROOT.
this change only updates gobuild.
another change will have to update all
the sources to refer to "container/vector" etc
and regenerate all the Makefiles.
there are some pretty lame functions here
(e.g., Mkdir, Remove, the Getenv("PWD"))
but i will implement better ones in another CL.
R=r
DELTA=117 (99 added, 2 deleted, 16 changed)
OCL=27550
CL=27574
2009-04-16 20:52:13 -07:00
Russ Cox
7847056dfb
rewrite gobuild in go.
...
R=r
DELTA=1305 (704 added, 590 deleted, 11 changed)
OCL=27546
CL=27548
2009-04-16 00:18:11 -07:00
Russ Cox
1cb3b7d124
panicln: emit just one newline
...
R=ken
OCL=27537
CL=27545
2009-04-15 22:38:09 -07:00
Rob Pike
57bff962d9
fix gotest by fixing nm -s to print in file order by storing a sequence number
...
as the .6 file is read. now tests will be run in file order.
R=rsc
DELTA=9 (6 added, 1 deleted, 2 changed)
OCL=27542
CL=27544
2009-04-15 21:57:55 -07:00
Russ Cox
65d397f747
compiler implementation of array slice change
...
R=ken
OCL=27533
CL=27533
2009-04-15 20:27:22 -07:00
Russ Cox
935953a9f8
tweak interface warning heuristic.
...
some day i will fix this for real.
R=ken
OCL=27468
CL=27468
2009-04-14 19:57:27 -07:00
Russ Cox
a62467af93
fix stringrange test
...
R=ken
OCL=27353
CL=27353
2009-04-13 05:31:44 -07:00
Ken Thompson
a91a8042b4
range over strings
...
R=r
OCL=27332
CL=27332
2009-04-10 19:49:31 -07:00
Kai Backman
35a775d045
Fixed optab to support SWI with long constant (the mode used
...
for linux system calls).
R=rsc
APPROVED=rsc
DELTA=3 (3 added, 0 deleted, 0 changed)
OCL=27325
CL=27328
2009-04-10 16:44:01 -07:00
Kai Backman
4e1896a1b5
Adding ARM elf support to the 5l linker.
...
R=rsc
APPROVED=rsc
DELTA=312 (312 added, 0 deleted, 0 changed)
OCL=27133
CL=27326
2009-04-10 16:35:36 -07:00
Ken Thompson
cb15bbe748
bug in stack size used in
...
extending segmented stack
R=r
OCL=27319
CL=27319
2009-04-10 15:23:19 -07:00
Ken Thompson
f9854978e2
bug 142
...
order of evaluation && and ||
R=r
OCL=27294
CL=27294
2009-04-09 19:11:24 -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
f95da9a639
yet another attempt at auto-linking
...
store only the original import path string (+ .a)
if 6g resolves it to an archive file.
let 6l re-resolve the .a at link time.
this lets libraries build against an archive
in the current directory but get used
against an installed archive.
R=r
OCL=27244
CL=27244
2009-04-08 22:45:33 -07:00
Russ Cox
3067781ab9
func f() (int, int);
...
x := f();
used to give
fatal error: dowidth fn struct struct { int; int }
now gives
assignment count mismatch: 1 = 2
R=ken
OCL=27198
CL=27201
2009-04-07 22:20:37 -07:00
Russ Cox
d50c70d261
set line number for errors produced during walkstate.
...
R=ken
OCL=27145
CL=27145
2009-04-06 22:17:46 -07:00
Russ Cox
907cb4f1e6
fix both of anton's bugs:
...
* make([100]int) was being compiled to
make([]int), kind of.
* []this = [100]that was working for any this, that.
turned up a typo in pipe_test.go
R=ken
OCL=27081
CL=27081
2009-04-03 23:20:51 -07:00
Russ Cox
39436f2a74
special case check for this situation
...
; cat >http.go
package main
import "http" // intended the library, not this file
^D
; 6g http.go
; 6g http.go
http.go:4: export/package mismatch: init
;
new error:
http.6:7 http.go:3: cannot import package main
R=ken
OCL=27053
CL=27053
2009-04-02 21:46:19 -07:00
Russ Cox
07687705a4
type n t;
...
was copying a bit too much about t into n,
like whether the signature was queued to be printed.
(bug reported by anton)
was also editing t, meaning you could do
type T int;
func (p int) Meth() { }
both fixed.
R=ken
OCL=27052
CL=27052
2009-04-02 21:38:11 -07:00
Russ Cox
416b27548e
use _f007·filename for func literals.
...
this avoids problems people have run into with
multiple closures in the same package.
when preparing filename, only cut off .go, not .anything.
this fixes a bug tgs ran into with foo.pb.go and foo.go
in the same package.
also turn bad identifier chars from filename into
underscores: a-b.pb.go => a_b_pb
R=ken
OCL=27050
CL=27050
2009-04-02 18:32:57 -07:00
Ken Thompson
9efd6b8a3d
compiler falut for forgetting
...
the assignment on a type switch
R=r
OCL=27048
CL=27048
2009-04-02 18:06:43 -07:00
Russ Cox
58f5f4f18d
use separate lex buf for better errors:
...
package main
func main() { func(){}() + + }
x.go:2: syntax error near _f001
becomes
x.go:2: syntax error near func
R=ken
OCL=27047
CL=27047
2009-04-02 17:59:09 -07:00
Russ Cox
8d8225d529
turn gc of unused data/code back on in loaders.
...
turned it off while debugging 8 runtime problem,
checked in the change accidentally.
R=r
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=27040
CL=27046
2009-04-02 17:56:23 -07:00
Russ Cox
6b07021a2b
implement some more 8g
...
package main
func main() {
println("hello,", 123);
}
R=ken
OCL=27043
CL=27043
2009-04-02 16:48:06 -07:00
Ken Thompson
2450c590e9
typeswitch - expression evaluated
...
twice instead of once.
R=r
OCL=27015
CL=27015
2009-04-01 21:28:59 -07:00
Russ Cox
95100344d3
fix runtime stack overflow bug that gri ran into:
...
160 - 75 was just barely not enough for deferproc + morestack.
added enum names and bumped to 256 - 128.
added explanation.
changed a few mal() (garbage-collected) to
malloc()/free() (manually collected).
R=ken
OCL=26981
CL=26981
2009-04-01 00:26:00 -07:00
David Symonds
c025cf64dc
Bail out of gotest immediately if compiling fails.
...
R=rsc
APPROVED=rsc
DELTA=4 (2 added, 2 deleted, 0 changed)
OCL=26978
CL=26978
2009-03-31 22:35:55 -07:00
Russ Cox
42546f4812
multiple bugs in bitfield handling
...
R=r
DELTA=6 (3 added, 0 deleted, 3 changed)
OCL=26944
CL=26967
2009-03-31 15:44:43 -07:00
Russ Cox
dc5b4678e2
minimal 8g. can compile
...
package main
func main() {
}
and not much else.
R=ken
OCL=26943
CL=26943
2009-03-31 00:22:59 -07:00
Russ Cox
b87e3e8b7f
* move go-specific loader code
...
into gc directory, where it gets included as ../gc/ldbody
this is similar to the assemblers including ../cc/lexbody
and ../cc/macbody.
* hook go-specific loader code into 8l.
* make current 8.out.h and 6.out.h backward compatible
with plan 9's versions. i had added some constants in
the middle of enums and have now moved them to the end.
this keeps us from invalidating old .8 and .6 files.
not sure how much it really matters, but easy to do.
R=r
DELTA=1314 (667 added, 623 deleted, 24 changed)
OCL=26938
CL=26941
2009-03-31 00:20:07 -07:00
Russ Cox
b199035ba8
move tiny gsubr functions together at the top of the file.
...
delete unused mkenam file
R=ken
OCL=26940
CL=26940
2009-03-31 00:19:38 -07:00
Russ Cox
aacdc25399
fix http://b/1748082
...
package main
var f = func(a, b int) int { return a + b }
R=ken
OCL=26935
CL=26935
2009-03-30 22:26:00 -07:00
Russ Cox
441da9af0d
fix build (moved decl to go.h earlier
...
and changed vlong to int64).
R=ken
OCL=26934
CL=26934
2009-03-30 21:39:10 -07:00
Russ Cox
5e792b6c09
move portable object routines (especially
...
signature generation) into gc.
R=ken
OCL=26933
CL=26933
2009-03-30 21:31:29 -07:00
Russ Cox
941ed00b1d
closure bug: carry along outnamed flag.
...
R=ken
OCL=26930
CL=26930
2009-03-30 19:21:36 -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
d30285a6f5
move some portable pieces of 6g/gsubr.c into gc/subr.c
...
int brcom(int);
int brrev(int);
void setmaxarg(Type*);
Sig* lsort(Sig*, int(*)(Sig*, Sig*));
int dotoffset(Node*, int*, Node**);
void stringpool(Node*);
void tempname(Node*, Type*);
R=ken
OCL=26922
CL=26922
2009-03-30 17:52:21 -07:00
Russ Cox
e5ba266e93
delete dregs: inarggen, genpanic, regret
...
R=ken
OCL=26916
CL=26918
2009-03-30 17:15:54 -07:00
Russ Cox
8e54729b5a
move alignment calculations into gc
...
R=ken
OCL=26914
CL=26914
2009-03-30 17:09:28 -07:00
Russ Cox
e224b1ebdb
don't crash on
...
unsafe.Alignof(struct{x float}{0}.x)
R=ken
OCL=26911
CL=26913
2009-03-30 17:07:30 -07:00
Russ Cox
531f242f5d
move bits.c from 6g to gc
...
R=ken
OCL=26909
CL=26909
2009-03-30 16:13:11 -07:00
Russ Cox
47fbb7639a
new tool godefs.
...
uses gcc to determine system header layouts and
emits simple C or Go. see comment in main.c.
R=r
DELTA=1069 (1067 added, 0 deleted, 2 changed)
OCL=26682
CL=26880
2009-03-30 00:21:25 -07:00
Russ Cox
a2cbc2998d
don't write cmp's output to the c file.
...
cope better with p4 not found.
R=r
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=26877
CL=26879
2009-03-30 00:12:56 -07:00
Kai Backman
99cc2fee81
This is really two changes in one but given interdependencies
...
and expected review latency I needed to combine the CLs.
1. Made the 5* toolpath build using the go build
system. Hooked the subdirectories to clean.bash but added a
separate make5.bash for now. Minor massage to make the code
more similar to the current structure of 6c/6a/6l.
2. Change all references from long to int32 in line with
similar change for the other toolchains.
The end result is that 5c, 5a and 5l can now be compiled and
the executables start up properly. Haven't thrown any input at
them yet.
R=rsc
APPROVED=rsc
DELTA=1052 (392 added, 328 deleted, 332 changed)
OCL=26757
CL=26761
2009-03-25 16:31:38 -07:00
Russ Cox
58f7fc331f
make 8a, 8c build again.
...
add 8a 8c 8l to the build to keep us honest.
R=r
DELTA=33 (28 added, 0 deleted, 5 changed)
OCL=26694
CL=26711
2009-03-24 18:04:19 -07:00
Russ Cox
34a5537edb
drop rt0 object from 8l (already dropped from 6l).
...
remove debugging print.
R=r
DELTA=8 (0 added, 8 deleted, 0 changed)
OCL=26695
CL=26710
2009-03-24 18:02:24 -07:00
Ken Thompson
b8be809c10
^ type(const) now inverts "enough" bits
...
^ signed(const) becomes illegal
^ unsigned(const) becomes legal
R=r
OCL=26697
CL=26697
2009-03-24 16:40:38 -07:00
Russ Cox
878822f355
move darwin specific code into runtime/darwin/
...
move darwin-amd64 specific code into runtime/darwin/amd64/
repeat for linux.
move rt0 into runtime.a instead of keeping a separate .6 file.
6l seems to have no problem with that.
TBR=r
OCL=26680
CL=26680
2009-03-24 13:06:51 -07:00
Russ Cox
5a68303a15
throw away most of the compat.h compatibility layer
...
in favor of the lib9 compatibility layer. no need for two.
now that mycreate is gone, .6 files are 0644 not 0755.
TBR=r
OCL=26679
CL=26679
2009-03-24 12:12:57 -07:00
Ken Thompson
79fa5b65cb
rewrote switch
...
fixed bug 141
R=r
OCL=26627
CL=26627
2009-03-22 20:54:21 -07:00
Russ Cox
2bd101c4b1
update 8a, 8c, 8l to use new object format.
...
add "extern register" support to 8c.
extern register means allocate in the FS-relative segment.
make 8l generate segmented stack checks.
R=ken
OCL=26600
CL=26606
2009-03-20 16:40:00 -07:00
Russ Cox
7d443bb67a
make 8l generate Darwin Mach-O and Linux ELF binaries
...
R=ken
OCL=26584
CL=26589
2009-03-20 14:22:59 -07:00
Russ Cox
997b6f9d89
don't need two names for the same function (vputl and llputl).
...
also use thechar, to make copy/paste easier.
R=ken
OCL=26583
CL=26588
2009-03-20 14:22:46 -07:00
Russ Cox
0932b1f9b8
move pragtextflag into lexbody
...
R=ken
OCL=26581
CL=26587
2009-03-20 14:22:37 -07:00
Russ Cox
54aa835b44
range over channels.
...
also fix multiple-evaluation bug in range over arrays.
R=ken
OCL=26576
CL=26576
2009-03-20 11:32:58 -07:00
Russ Cox
f7772627ad
fix b/1722502
...
BUG=1722502
R=ken
OCL=26526
CL=26526
2009-03-18 19:20:54 -07:00
Ken Thompson
1cdcfda140
remove assignment cases from switch
...
R=r
OCL=26480
CL=26480
2009-03-18 12:13:42 -07:00
Ken Thompson
1e0c17e294
switch on false error
...
R=r
OCL=26434
CL=26434
2009-03-17 19:10:32 -07:00
Ken Thompson
0f469a99a3
binary search on type switches.
...
new feature 'case nil:' in type switch
will match iff the interface is nil.
R=r
OCL=26404
CL=26404
2009-03-17 13:58:38 -07:00
Ken Thompson
5136a9e1f7
change format of Sigt and Sigi
...
to allow room for type hash
needed for log-time type switch.
R=r
OCL=26354
CL=26354
2009-03-16 15:27:08 -07:00
Kai Backman
db3a21d7c6
5a 5c 5l from inferno distribution
...
R=rsc
APPROVED=rsc
DELTA=19042 (19042 added, 0 deleted, 0 changed)
OCL=26268
CL=26270
2009-03-13 15:03:07 -07:00
Russ Cox
5fbadf0bc3
warn -> yyerror in mparith.
...
close two more bugs.
R=ken
OCL=26226
CL=26226
2009-03-12 19:57:30 -07:00
Russ Cox
8f194bf5ff
make 6g constants behave as ken proposes. (i hope.)
...
various bug fixes and tests involving constants.
test/const1.go is the major new test case.
R=ken
OCL=26216
CL=26224
2009-03-12 19:04:38 -07:00
Ken Thompson
6eb54cb05b
chan flags close/closed installed
...
runtime not finished.
R=r
OCL=26217
CL=26217
2009-03-12 17:55:11 -07:00
Ken Thompson
bb02e481d2
added bitclear operators &^ and &^=
...
R=r
OCL=26152
CL=26152
2009-03-11 19:59:35 -07:00
Ken Thompson
767845b6fa
bug 125
...
R=r
OCL=26146
CL=26146
2009-03-11 17:37:04 -07:00
Ken Thompson
48f6b516e2
bug 137
...
R=r
OCL=26142
CL=26142
2009-03-11 16:25:45 -07:00
Russ Cox
4eb7ceba58
complain when trying to put T into an interface
...
if T has pointer methods. this is just a heuristic
but it catches the problem robert ran into and
lets me put the larger interface issues aside for
now. found one bug in pretty.
R=ken
OCL=26141
CL=26141
2009-03-11 16:06:17 -07:00
Ian Lance Taylor
062d6998ab
Add support for a -I option. -I DIR searches for packages in
...
DIR.
R=ken,rsc
DELTA=49 (41 added, 2 deleted, 6 changed)
OCL=26057
CL=26092
2009-03-10 20:03:31 -07:00
Ken Thompson
d27e9f528d
bug086
...
R=r
OCL=26090
CL=26090
2009-03-10 19:16:31 -07:00
Ken Thompson
0c4f4587d7
bug with interaction of variables
...
declared in cases and heap allocation
R=r
OCL=26064
CL=26064
2009-03-10 16:49:34 -07:00
Ken Thompson
820f42d977
binary search for constant case statements.
...
R=r
OCL=25890
CL=25890
2009-03-07 17:33:42 -08:00
Ken Thompson
a4a10ed856
1. type switches
...
2. fixed fault on bug128
3. got rid of typeof
4. fixed bug in t,ok = I2T
R=r
OCL=25873
CL=25873
2009-03-06 17:50:43 -08:00
Russ Cox
af678a593d
new approach for generating sysimport.c
...
(renamed to avoid any conflict with old p4 copies).
this approach doesn't require auto-generating
files also kept in p4, so it should be easier on
go users who don't sync very often.
this approach will be more work for go developers:
builtin.c needs to be copied to builtin.c.boot in p4
as new functions are added. mkbuiltin does this
for certain $USERs to help us remember.
R=r
DELTA=343 (176 added, 162 deleted, 5 changed)
OCL=25803
CL=25805
2009-03-05 18:26:12 -08:00
Russ Cox
63985b489b
bug085 bug129
...
R=ken
OCL=25787
CL=25791
2009-03-05 15:57:03 -08:00
Ken Thompson
bf983477a2
new switch implementation
...
in preparation of type switch.
no functional change (yet).
R=r
OCL=25784
CL=25788
2009-03-05 15:49:34 -08:00
Russ Cox
98b34e5bbd
reject invalid map key types at compile time
...
R=ken
OCL=25720
CL=25720
2009-03-04 17:38:37 -08:00
Russ Cox
955638e2fb
disallow ordinary-type.(T), as in spec.
...
R=ken
OCL=25705
CL=25705
2009-03-04 14:50:25 -08:00
Russ Cox
49cc649e59
back to T{x}, stricter handling of T(x) vs x.(T)
...
R=ken
DELTA=131 (60 added, 41 deleted, 30 changed)
OCL=25617
CL=25633
2009-03-03 08:41:02 -08:00
Russ Cox
be2edb5761
Automated g4 rollback of changelist 25024,
...
plus significant hand editing.
Back to T{x} for composite literals.
R=r
OCL=25612
CL=25632
2009-03-03 08:39:12 -08:00
Ken Thompson
751d13cbce
bug 130 (go/defer) interface.method()
...
R=r
OCL=25356
CL=25356
2009-02-23 22:43:04 -08:00
Ken Thompson
a665e2924c
bug with select :=
...
R=r
OCL=25278
CL=25278
2009-02-21 12:41:34 -08:00
Russ Cox
ebc10db3e1
allow parens to disambiguate types.
...
examples:
chan <- (chan int)
chan (<- chan int)
(map[string]func())("a": main)
R=ken
OCL=25151
CL=25151
2009-02-18 10:07:46 -08:00
Ken Thompson
3c0fc400fb
fix unsafe.Sizeof("abc")
...
R=rsc
OCL=25105
CL=25105
2009-02-17 13:10:57 -08:00
Russ Cox
d3d0c256be
bug123
...
R=ken
OCL=25075
CL=25075
2009-02-16 17:44:05 -08:00
Russ Cox
b4af09ab56
embedded interface types in interfaces.
...
R=ken
OCL=25072
CL=25072
2009-02-16 16:36:18 -08:00
Russ Cox
97dcc68f1e
insert ${GOOS} and ${GOARCH} in
...
command-line comment.
R=r
DELTA=11 (6 added, 0 deleted, 5 changed)
OCL=25051
CL=25051
2009-02-15 19:20:35 -08:00
Russ Cox
3b3e63735e
bug fix for &x[0] when x is slice
...
R=ken
OCL=25044
CL=25044
2009-02-15 13:15:46 -08:00
Russ Cox
9f8f2e6130
convert composite literals from { } to ( ).
...
only non-trivial changes are in
convlit1.go
golden.out
R=gri
OCL=25019
CL=25024
2009-02-13 14:48:32 -08:00
Russ Cox
07244f7c80
add composite literal ( ) syntax.
...
warn about composite literal { } syntax.
R=ken
OCL=25018
CL=25023
2009-02-13 14:48:16 -08:00
Russ Cox
5f4f5647ef
require type assertions when narrowing.
...
R=ken
OCL=24350
CL=24914
2009-02-11 17:57:29 -08:00
Russ Cox
73dd4a37f9
fix export bug Rob tripped over.
...
the lexer is already hiding names,
so this clumsy hack is no longer necessary.
R=ken
OCL=24783
CL=24783
2009-02-10 13:57:31 -08:00
Ian Lance Taylor
651972b31f
Implement unsafe.Alignof.
...
R=ken
DELTA=20 (19 added, 0 deleted, 1 changed)
OCL=24719
CL=24771
2009-02-10 11:46:26 -08:00
Russ Cox
a81870badf
add error to catch 6g alignment bug.
...
the fix appears to be to align the
out struct on an 8 boundary, but that
is a bit involved.
R=ken
OCL=24657
CL=24657
2009-02-08 11:19:45 -08:00
Russ Cox
a6c59ce274
gc funarg return fix.
...
change type (to satisfy OAS) after nodarg:
nodarg uses offset from type too,
and must use correct offset.
R=ken
OCL=24656
CL=24656
2009-02-08 11:01:52 -08:00
Rob Pike
8f2b774ee1
update sysimport.c for unsafe.Offset and Sizeof
...
R=ken
DELTA=2 (2 added, 0 deleted, 0 changed)
OCL=24643
CL=24643
2009-02-07 14:48:32 -08:00
Ken Thompson
56003374d3
change array padding in structures
...
to pad to size of element rather
than size of array.
R=r
OCL=24641
CL=24641
2009-02-07 13:31:34 -08:00
Ken Thompson
8a70545b57
unsafe.Sizeof and unsafe.Offsetof
...
R=r
OCL=24639
CL=24639
2009-02-07 12:34:45 -08:00
Russ Cox
0970c46863
closures - 6g support
...
R=ken
OCL=24501
CL=24566
2009-02-06 13:47:10 -08:00
Russ Cox
5e5476c2fe
6c: byte* - byte* should be int64, not int32.
...
R=ken
OCL=24507
CL=24507
2009-02-05 19:09:04 -08:00
Russ Cox
b0009bef20
bug064
...
make f(g()) work when g returns multiple
args with names different than f expects.
func swap(a, b int) (c, d int) {
return b, a
}
swap(swap(1,2))
R=ken
OCL=24474
CL=24476
2009-02-05 15:22:49 -08:00
Russ Cox
aab26a5248
do not generate Init proto for sys and unsafe.
...
R=ken
OCL=24455
CL=24455
2009-02-05 14:49:53 -08:00
Russ Cox
fc8dca9dac
heuristic to stop pulling .6 in from .a
...
is not right if the .6 is only for data and
the init function.
instead of that, pick up everything and
let the dead code/data eliminator throw
away the parts that weren't useful.
R=r
DELTA=25 (0 added, 22 deleted, 3 changed)
OCL=24446
CL=24446
2009-02-05 13:58:43 -08:00
Russ Cox
5e2c05877d
allow methods on funcs.
...
R=ken
OCL=24442
CL=24442
2009-02-05 13:33:07 -08:00
Russ Cox
360f0aacee
fix interface not satisifed message:
...
x.go:13: T is not I - missing M()
NOT
x.go:13: T is not I - missing Mfunc()
R=ken
OCL=24316
CL=24316
2009-02-04 10:37:11 -08:00
Russ Cox
736903c170
libmach:
...
* heuristic to go farther during stack traces.
* significantly improved Linux thread handing.
acid:
* update to new libmach interface.
prof:
* use new libmach interface.
* multiple thread support (derived from Rob's copy).
* first steps toward pprof-like graphs:
keep counters indexed by pc,callerpc pairs.
R=r
DELTA=909 (576 added, 123 deleted, 210 changed)
OCL=24240
CL=24259
2009-02-03 15:00:09 -08:00
Russ Cox
f61639d4e2
6g return struct fix:
...
make t->width of funarg struct be width of struct.
emit MOVSL for 4-byte copy.
R=ken
OCL=24108
CL=24111
2009-02-02 13:41:38 -08:00
Rob Pike
6e395cfecf
slightly better code for the frog fix
...
R=ken
OCL=24025
CL=24025
2009-01-31 16:44:52 -08:00
Rob Pike
2538cf747b
Complain about control characters that are not white space.
...
Bitten by invisible chars too many times.
R=ken
OCL=24024
CL=24024
2009-01-31 16:42:10 -08:00
Russ Cox
47e27758db
keep line number history even when
...
throwing away dead code at end of file.
also fix an uninitialized memory error
found by valgrind.
R=r
DELTA=7 (5 added, 2 deleted, 0 changed)
OCL=23991
CL=23994
2009-01-30 17:10:10 -08:00
Russ Cox
9e735985d4
avoid memcpy(x, x),
...
which valgrind complains about.
R=ken
OCL=23990
CL=23990
2009-01-30 16:31:26 -08:00
Russ Cox
7b6bdfb735
two uses of uninitialized memory,
...
picked up by valgrind.
fixes test/escape.go on linux.
R=ken
OCL=23971
CL=23971
2009-01-30 15:11:46 -08:00
Russ Cox
122ed3e988
print format bug
...
R=ken
OCL=23965
CL=23965
2009-01-30 14:54:49 -08:00
Russ Cox
4a43198390
update compiler to new func rules
...
R=ken
OCL=23958
CL=23961
2009-01-30 14:39:42 -08:00
Russ Cox
4cf7711568
update go code tree to new func rules.
...
R=r
DELTA=367 (111 added, 59 deleted, 197 changed)
OCL=23957
CL=23960
2009-01-30 14:39:31 -08:00
Russ Cox
391425ae55
if take address of local, move to heap.
...
heuristic to not print bogus strings.
fix one error message format.
R=ken
OCL=23849
CL=23851
2009-01-29 17:38:58 -08:00
Ken Thompson
4f49b88dda
optimizer bug w STOstring
...
R=r
OCL=23820
CL=23820
2009-01-29 15:13:36 -08:00
Russ Cox
282bf8cc8c
fix possible infinite recursion in eqtype.
...
don't use intermediate register to move
32-or-fewer-bit immediate constants
into memory.
R=ken
OCL=23726
CL=23726
2009-01-28 16:42:26 -08:00
Russ Cox
3ec4675220
clean up range grammar
...
R=ken
OCL=23712
CL=23714
2009-01-28 15:41:50 -08:00
Ken Thompson
4b8e030762
bug 135
...
R=r
OCL=23646
CL=23646
2009-01-27 18:21:03 -08:00
Russ Cox
7fa5941fad
make "size 6.out" work on mac.
...
R=r
DELTA=11 (6 added, 0 deleted, 5 changed)
OCL=23629
CL=23631
2009-01-27 15:40:36 -08:00
Russ Cox
743ac07cc3
change dotdotdot interfaces to be structs,
...
not pointers to structs.
fix defered dotdotdot.
R=r,ken
DELTA=25 (7 added, 5 deleted, 13 changed)
OCL=23620
CL=23625
2009-01-27 15:05:25 -08:00
Ken Thompson
e90314d024
pragma textflag
...
fixes latent bugs in go and defer
R=r
OCL=23613
CL=23613
2009-01-27 14:12:35 -08:00
Ken Thompson
1e1cc4eb57
defer
...
R=r
OCL=23592
CL=23592
2009-01-27 12:03:53 -08:00
Russ Cox
5b129cda5f
assignment count mismatch: 2 = 1.
...
R=ken
OCL=23534
CL=23534
2009-01-26 17:20:29 -08:00
Russ Cox
f1fe21a08f
bug134
...
R=ken
OCL=23532
CL=23532
2009-01-26 17:06:20 -08:00
Russ Cox
4efad58d0a
bug133
...
R=ken
OCL=23528
CL=23528
2009-01-26 16:57:24 -08:00
Russ Cox
3c5f3a8641
print(map) and print(chan) as pointers.
...
R=ken
OCL=23520
CL=23520
2009-01-26 15:36:28 -08:00
Russ Cox
9b6d385cb5
interface speedups and fixes.
...
more caching, better hash functions, proper locking.
fixed a bug in interface comparison too.
R=ken
DELTA=177 (124 added, 10 deleted, 43 changed)
OCL=23491
CL=23493
2009-01-26 12:36:21 -08:00
Ken Thompson
7859ae8a2f
removed a:b in range syntax
...
added another channel test
R=r
OCL=23488
CL=23488
2009-01-26 11:34:38 -08:00
Russ Cox
a7f6d4066e
implement new restrictions on what
...
can be compared/hashed.
R=r
DELTA=351 (201 added, 80 deleted, 70 changed)
OCL=23423
CL=23481
2009-01-26 09:56:42 -08:00
Russ Cox
1f8a40d85c
move math routines from package sys to package math,
...
though they still build in src/runtime.
use cgo instead of hand-written wrappers.
R=r
DELTA=740 (289 added, 300 deleted, 151 changed)
OCL=23326
CL=23331
2009-01-22 16:23:44 -08:00
Russ Cox
8c5bc7e93a
use $GC, $GL in gotest, to match gccgo's gotest.
...
use $GC in all_test.go for portability.
R=r
DELTA=19 (12 added, 0 deleted, 7 changed)
OCL=23305
CL=23325
2009-01-22 15:41:12 -08:00
Russ Cox
d9abca81c0
let test sources specify commands to run
...
before their compilation.
R=r
OCL=23300
CL=23300
2009-01-22 14:23:50 -08:00
Russ Cox
61590c4c44
disallow P.t for lowercase t and not our package P.
...
implement hiding lowercase methods m in
signatures by adding in a hash of the package name
to the type hash code.
remove remaining checks for internally-generated _ names:
they are all gone.
R=ken
OCL=23236
CL=23238
2009-01-21 14:51:57 -08:00
Russ Cox
c3fa54c48b
delete unused code and data from 6.outs.
...
cuts simple test binary by 7%.
would be more except for reflection.
R=r
DELTA=126 (117 added, 4 deleted, 5 changed)
OCL=23163
CL=23237
2009-01-21 14:50:27 -08:00
Russ Cox
35e37bbf41
6g: better genembedtramp fatal error,
...
and don't put inaccessible private methods
in signature.
R=ken
OCL=23138
CL=23140
2009-01-20 15:36:57 -08:00
Russ Cox
a3c4faf83f
6l: do not link in objects from an archive just for init functions.
...
(makes go libraries behave more like c libraries.)
R=r
DELTA=85 (67 added, 12 deleted, 6 changed)
OCL=23133
CL=23139
2009-01-20 15:36:43 -08:00
Russ Cox
839a68469b
delete export
...
TBR=r
OCL=23121
CL=23127
2009-01-20 14:40:40 -08:00
Russ Cox
0183baaf44
* delete export
...
* rename init functions
R=ken
OCL=23122
CL=23126
2009-01-20 14:40:00 -08:00
Russ Cox
8f14451fe5
6l: ignore undefined symbols in gotypesigs.
...
they end up in the symbol table with type==0
if they are in a library but not pulled in.
also add a few debugging prints.
R=r
DELTA=11 (5 added, 1 deleted, 5 changed)
OCL=23104
CL=23108
2009-01-20 13:21:22 -08:00
Russ Cox
aec4d3194a
disallow other package's names in method calls
...
R=ken
OCL=22999
CL=22999
2009-01-16 15:35:07 -08:00
Russ Cox
06869eedf9
disallow other package's names in struct field dot.
...
R=ken
OCL=22996
CL=22996
2009-01-16 15:25:52 -08:00
Russ Cox
360962420c
casify, cleanup sys
...
R=r
OCL=22978
CL=22984
2009-01-16 14:58:14 -08:00
Russ Cox
dec12d3654
re-export of bools was changing
...
format from hex to decimal, confusing
ar's strcmp-based value comparison.
switched export format to "true" or "false"
to keep bools separate from ints.
R=ken
OCL=22944
CL=22944
2009-01-16 10:45:28 -08:00
Russ Cox
c1e7e270f1
don't crash on:
...
package main
var x int
type x struct { a int }
R=ken
OCL=22903
CL=22903
2009-01-15 17:32:31 -08:00
Russ Cox
605d0746c5
catch export on func.
...
print names in message.
R=ken
OCL=22891
CL=22891
2009-01-15 16:43:51 -08:00
Russ Cox
3decb42e6f
add warning for export of lowercase too.
...
R=ken
OCL=22887
CL=22887
2009-01-15 16:20:21 -08:00
Russ Cox
07d344e442
remove export name-list statement.
...
make package local the default.
warn about name case not matching export keyword.
R=ken
OCL=22881
CL=22886
2009-01-15 16:16:52 -08:00
Rob Pike
8559e3ad54
diagnose missing symbols instead of
...
silently miscompiling.
R=rsc
OCL=22872
CL=22872
2009-01-15 15:21:12 -08:00
Russ Cox
58b280db3b
change another yacc reference to bison.
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=22662
CL=22691
2009-01-13 16:32:46 -08:00
Russ Cox
8fb60768c3
in 6g -r (the rsc flag),
...
rewrite heap pointer moves as xchg.
R=ken
OCL=22665
CL=22665
2009-01-13 13:46:09 -08:00
Russ Cox
a3ed4e716a
add sys.caller
...
R=r
DELTA=139 (101 added, 38 deleted, 0 changed)
OCL=22462
CL=22466
2009-01-09 15:52:43 -08:00
Russ Cox
ae167bf08f
clean up automatic indirect, delete some dead code.
...
R=ken
OCL=22454
CL=22457
2009-01-09 15:21:41 -08:00
Russ Cox
316d377ac2
now that TCHAN, TMAP, and TSTRING are real types,
...
can do methods on them without pointer worries.
R=ken
OCL=22434
CL=22436
2009-01-09 13:50:58 -08:00
Russ Cox
8f5bba0d82
silence gcc warnings.
...
not sure if the warning in reg.c was a real bug.
R=ken
OCL=22408
CL=22410
2009-01-09 11:13:59 -08:00
Russ Cox
a91af04c06
6g cleanup suggested by ken.
...
remove TPTR wrapper around TMAP, TCHAN, TSTRING.
R=ken
OCL=22406
CL=22409
2009-01-09 11:13:39 -08:00
Russ Cox
484ba939d2
update sys.reflect and sys.unreflect to accomodate
...
the possibility of large objects in interface values.
R=r
DELTA=171 (97 added, 22 deleted, 52 changed)
OCL=22382
CL=22382
2009-01-09 00:17:46 -08:00
Russ Cox
e512481b17
second pass on interface fixes and tests.
...
R=ken
OCL=22370
CL=22372
2009-01-08 18:06:06 -08:00
Russ Cox
1b7881adb4
fix:
...
type T []int
var a []int
var t = T(a)
R=ken
OCL=22341
CL=22341
2009-01-08 15:01:22 -08:00
Russ Cox
c0b8a7965a
typo
...
R=ken
OCL=22327
CL=22327
2009-01-08 14:31:11 -08:00
Russ Cox
20595ac4b0
many interface bug fixes.
...
also, after
func g() (int, int)
func f(int, int)
allow
f(g())
and
func h() (int, int) { return g() }
R=ken
DELTA=356 (252 added, 26 deleted, 78 changed)
OCL=22319
CL=22325
2009-01-08 14:30:00 -08:00
Ken Thompson
eed3addb9d
more
...
R=r
OCL=22240
CL=22240
2009-01-07 15:54:08 -08:00
Ken Thompson
3f135be389
conversion from closed array to slice
...
R=r
OCL=22236
CL=22236
2009-01-07 15:26:11 -08:00
Russ Cox
1b1f1b53ea
correct signature generation decision
...
for non-pointer types with methods.
R=r
DELTA=37 (13 added, 14 deleted, 10 changed)
OCL=22217
CL=22219
2009-01-07 13:29:03 -08:00
Ken Thompson
c458c98388
[...] bug
...
R=r
OCL=22218
CL=22218
2009-01-07 13:20:10 -08:00
Russ Cox
855495eab6
iscomposite test in OCONV is unnecessary
...
now that OCOMP exists
R=ken
OCL=22216
CL=22216
2009-01-07 12:39:48 -08:00
Ken Thompson
179af0bb19
clear automatic arrays created with literals
...
R=r
OCL=22215
CL=22215
2009-01-07 12:28:23 -08:00
Ken Thompson
b0f627a6e1
closed arrays including [...]
...
R=r
OCL=22182
CL=22182
2009-01-06 17:31:24 -08:00
Russ Cox
84953bdaa8
fix newfn
...
R=ken
OCL=22173
CL=22173
2009-01-06 15:39:28 -08:00
Russ Cox
dabdfa6cce
new new &Point{1,2}
...
R=ken
OCL=22168
CL=22168
2009-01-06 15:24:12 -08:00
Ken Thompson
88b5c5f0f8
make for slice/map/chan
...
new for pointers
R=r
OCL=22158
CL=22158
2009-01-06 14:52:26 -08:00
Russ Cox
af0143ce03
make 8a, 8c, 8l build in go environment.
...
,s/int32/long/g in 8a, 8c, 8l.
delete dead code.
move enam.c, 8.out.h, mkenam from 8c to 8l.
R=r
DELTA=1850 (581 added, 983 deleted, 286 changed)
OCL=22119
CL=22129
2009-01-06 11:34:02 -08:00
Russ Cox
d8c7980514
comment sudoaddable;
...
remove unused second parameter.
R=ken
OCL=22126
CL=22126
2009-01-06 11:23:58 -08:00
Russ Cox
8318187f77
delete blyacc
...
R=r
DELTA=3562 (0 added, 3560 deleted, 2 changed)
OCL=22112
CL=22114
2009-01-06 09:53:38 -08:00
Russ Cox
859ba57bbb
make acid build with bison.
...
ask for bison explicitly in cc, gc to try to
avoid problems with other yaccs that
might be installed.
R=r
DELTA=29 (10 added, 2 deleted, 17 changed)
OCL=22110
CL=22113
2009-01-06 09:53:30 -08:00
Russ Cox
4dee747fb9
8a, 8c, and 8l from inferno distribution
...
R=r
DELTA=19539 (19539 added, 0 deleted, 0 changed)
OCL=22109
CL=22109
2009-01-06 09:41:38 -08:00
Russ Cox
2d259c817a
add comments and delete dead code
...
R=ken
OCL=22078
CL=22080
2009-01-05 17:32:23 -08:00
Russ Cox
c14c2b231f
fix 6a line number bug -
...
was incrementing lineno twice for
the \n after a // comment.
R=r
DELTA=3 (0 added, 2 deleted, 1 changed)
OCL=21984
CL=22021
2009-01-05 11:18:15 -08:00
Ken Thompson
b2dfd787d7
allow slices (open arrays) to be
...
receivers in methods.
put back original code for hilbert/bignum
R=r
OCL=21910
CL=21920
2008-12-30 14:02:20 -08:00
Ken Thompson
85815fe0ad
diagnostic to catch pointer to
...
rvalue promoted to method receiver.
fixes to bignum that failed.
R=r
OCL=21827
CL=21827
2008-12-26 14:42:20 -08:00
Russ Cox
af5e16cfd9
fix new(T) if type T []int.
...
make sure type of expr is T not just []int
R=ken
OCL=21688
CL=21688
2008-12-20 16:30:44 -08:00
Ken Thompson
2b33a134a8
regfree
...
R=r
OCL=21685
CL=21687
2008-12-20 16:07:56 -08:00
Ken Thompson
7cfe782a69
LEAQ bug
...
R=r
OCL=21684
CL=21684
2008-12-20 16:05:12 -08:00
Russ Cox
c3077f7606
[] and struct in interfaces.
...
other [] cleanup.
convert() is gone.
R=r
DELTA=352 (144 added, 68 deleted, 140 changed)
OCL=21660
CL=21662
2008-12-19 17:11:54 -08:00
Ken Thompson
a91a0a6a7a
array compare (except = != nil) are illegal
...
R=r
OCL=21637
CL=21637
2008-12-19 14:26:52 -08:00
Ken Thompson
6fa74e0973
portability bug
...
cant assign to closed array
R=r
OCL=21634
CL=21634
2008-12-19 14:04:25 -08:00
Russ Cox
cd40cd2435
fix new(bool) error message
...
R=ken
OCL=21616
CL=21616
2008-12-19 12:18:44 -08:00
Russ Cox
eee50ae1ac
chan and map of [] and struct
...
R=r
DELTA=192 (145 added, 8 deleted, 39 changed)
OCL=21609
CL=21614
2008-12-19 12:05:22 -08:00
Russ Cox
cbff09d666
g4 open sysimport.c before writing it
...
R=r
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=21577
CL=21603
2008-12-19 09:03:44 -08:00
Russ Cox
c4416ac06b
new error messages
...
x.go:11: illegal types for operand: AS
*I
*T
(*interface vs *struct)
R=r
DELTA=10 (8 added, 0 deleted, 2 changed)
OCL=21457
CL=21602
2008-12-19 09:03:24 -08:00
Russ Cox
dc7b2e98d2
compiler changes for *chan -> chan; *map -> map; new(T) -> new(*T)
...
mainly a syntactic change: the compiler representations don't change
(chan and map are now hidden pointers like string).
R=ken
OCL=21578
CL=21582
2008-12-19 03:05:54 -08:00
Russ Cox
08ca30bbfa
change *map to map; *chan to chan; new(T) to new(*T)
...
fix bugs left over from *[] to [] conversion.
TBR=r
OCL=21576
CL=21581
2008-12-19 03:05:37 -08:00
Russ Cox
d47d888ba6
convert *[] to [].
...
R=r
OCL=21563
CL=21571
2008-12-18 22:37:22 -08:00
Ken Thompson
9786f69f74
print(array)
...
R=r
OCL=21570
CL=21570
2008-12-18 22:17:05 -08:00
Ken Thompson
c9954c63a8
bug in [const]
...
R=r
OCL=21569
CL=21569
2008-12-18 22:01:46 -08:00
Russ Cox
f38d2b80a4
new []int literal
...
R=ken
OCL=21568
CL=21568
2008-12-18 21:59:12 -08:00
Ken Thompson
dcc064fe94
cmp [] to nil
...
R=r
OCL=21567
CL=21567
2008-12-18 21:33:45 -08:00
Russ Cox
78fc888e64
another [] fix
...
R=ken
OCL=21566
CL=21566
2008-12-18 21:15:26 -08:00
Russ Cox
92f74ca7e2
[] fixes
...
R=ken
OCL=21565
CL=21565
2008-12-18 21:11:56 -08:00
Ken Thompson
4026500d18
arrays
...
R=r
OCL=21564
CL=21564
2008-12-18 20:06:28 -08:00
Russ Cox
697cb17b30
trailing white space
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=21403
CL=21415
2008-12-17 10:14:29 -08:00
Russ Cox
e53d5ad620
fix type/name thing, again
...
R=r
DELTA=8 (7 added, 0 deleted, 1 changed)
OCL=21379
CL=21379
2008-12-16 17:45:28 -08:00
Russ Cox
99435cac09
another "want type got name" error case
...
R=ken
OCL=21377
CL=21377
2008-12-16 17:37:07 -08:00
Ken Thompson
8f53bc0612
new convention, direction bit is
...
always left cleared. changed
compiler generated memcpy and
memset to assume CLD.
R=r
OCL=21215
CL=21215
2008-12-15 15:07:35 -08:00
Ken Thompson
ae5a475e20
range clause must have = or :=
...
:= illegal in for-increment
R=r
OCL=21204
CL=21204
2008-12-15 13:44:27 -08:00
Ken Thompson
42d89ac02c
even more code improvement
...
R=r
OCL=21160
CL=21160
2008-12-14 18:45:00 -08:00
Ken Thompson
23fc0ac061
more code optimization
...
R=r
OCL=21159
CL=21159
2008-12-14 17:06:06 -08:00
Ken Thompson
719b088697
code generation
...
R=r
OCL=21146
CL=21146
2008-12-13 16:41:47 -08:00
Ken Thompson
937ac13f26
code improvement
...
R=r
OCL=21144
CL=21144
2008-12-13 13:16:14 -08:00
Ken Thompson
e683fb7a54
bug104
...
R=r
OCL=21082
CL=21082
2008-12-12 13:10:36 -08:00
Ken Thompson
c7ab332744
restrict declarations of type map/chan/string
...
(they must be pointers)
R=r
OCL=21009
CL=21009
2008-12-11 16:09:45 -08:00
Russ Cox
73653841af
reject struct to interface conversion for now
...
R=ken
OCL=21007
CL=21007
2008-12-11 15:56:13 -08:00
Russ Cox
fa945d5bf8
fix race with fresh perforce checkouts
...
R=r
DELTA=15 (9 added, 0 deleted, 6 changed)
OCL=20977
CL=20981
2008-12-11 11:58:45 -08:00
Russ Cox
cb64ec5bb6
only generate non-trivial signatures in the
...
file in which they occur. avoids duplicate
trampoline generation across multiple files.
R=ken
OCL=20976
CL=20980
2008-12-11 11:54:33 -08:00
Ken Thompson
a4459c5520
bug
...
R=r
OCL=20940
CL=20940
2008-12-10 16:23:29 -08:00
Ken Thompson
5f1a3be9dd
bug120
...
R=r
OCL=20921
CL=20921
2008-12-10 14:17:24 -08:00
Ken Thompson
7dd62cb3bc
2 minor bugs
...
R=r
OCL=20906
CL=20906
2008-12-10 12:38:16 -08:00
Ken Thompson
57bd0da375
bug126
...
R=r
OCL=20879
CL=20879
2008-12-09 18:31:31 -08:00
Ken Thompson
8bce3b5658
bug127
...
R=r
OCL=20874
CL=20874
2008-12-09 17:52:41 -08:00
Ken Thompson
92a1190c6c
robs bug converting unsafe.pointer
...
R=r
OCL=20834
CL=20834
2008-12-09 13:00:50 -08:00
Ken Thompson
bf6164719a
conversion to/from
...
any pointer or uintptr
and unsafe.pointer
R=r
OCL=20795
CL=20795
2008-12-08 20:50:17 -08:00
Ken Thompson
1d4daa2d39
foundation for import unsafe
...
R=r
OCL=20794
CL=20794
2008-12-08 19:46:39 -08:00
Russ Cox
4d6bccb0f1
pick up symbol for JMP main(SB)
...
but not JMP main (label).
R=ken
OCL=20724
CL=20724
2008-12-08 11:33:04 -08:00
Ken Thompson
b79272d9a2
allowed syntax for range
...
a range m (implies :=)
a,b range m (implies :=)
a:b range m (implies :=)
a := range m
a,b := range m
a:b := range m
a = range m
a,b = range m
a:b = range m
R=r
OCL=20676
CL=20676
2008-12-06 13:40:30 -08:00
Ken Thompson
26b357ca5b
range statement
...
R=r
OCL=20667
CL=20667
2008-12-05 18:24:05 -08:00
Ken Thompson
a0a14b98fa
empty switches -- bug128
...
R=r
OCL=20520
CL=20522
2008-12-04 16:05:40 -08:00
Ken Thompson
c597845e13
const/var/iota declarations as discussed
...
R=r
OCL=20506
CL=20506
2008-12-04 15:33:40 -08:00
Russ Cox
afa6424078
don't warn anymore about missing imports
...
(happens legitimately in c and assembly objects).
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=20497
CL=20499
2008-12-04 14:59:38 -08:00
Russ Cox
cfb9425460
emit dynamically linked 6.out on darwin instead of static,
...
unless given -d flag.
the resulting binary doesn't *use* any dynamic libraries,
it just has a reference to the dynamic linker and an
empty list of needed symbols and libraries.
this is enough to make 6.out binaries that can be run
under dtrace / dtruss.
R=r
DELTA=39 (34 added, 0 deleted, 5 changed)
OCL=20476
CL=20482
2008-12-04 13:49:45 -08:00
Russ Cox
bf3dd3f0ef
add mutex.Mutex
...
R=r
DELTA=349 (348 added, 0 deleted, 1 changed)
OCL=20380
CL=20472
2008-12-04 12:51:36 -08:00
Ken Thompson
f8797daa9f
import/export of exact mp floating constants
...
new syntax for exact mp floating constants
decimal_int ( "p" | "P" ) [ "+" | "-" ] decimal_int
the value is decimal1 * 2^decimal2
R=r
OCL=20357
CL=20357
2008-12-03 13:17:26 -08:00
Ken Thompson
c8a66a98ff
small code improvement to
...
used scaled indexing
R=r
OCL=20308
CL=20310
2008-12-02 19:54:51 -08:00
Ken Thompson
89996e1fb1
truncating of float constants when
...
used in float64 or float32 contexts
R=r
OCL=20297
CL=20297
2008-12-02 17:03:47 -08:00
Russ Cox
28a30254e7
remove reference to non-existent mparith.h
...
R=ken
OCL=20188
CL=20188
2008-12-01 17:35:15 -08:00
Ken Thompson
3fa4610601
multi precision floating point
...
R=r
OCL=20185
CL=20185
2008-12-01 17:22:05 -08:00
Russ Cox
92cff8557e
gotest: change pattern to Test([^a-z].*)?
...
warn about files with no tests
be clear about where testing warnings come from
R=r
DELTA=18 (12 added, 3 deleted, 3 changed)
OCL=19988
CL=19993
2008-11-25 12:49:17 -08:00
Ken Thompson
9a5c7eab16
better code for += -= ^= |= and &=
...
R=r
OCL=19953
CL=19953
2008-11-24 17:51:26 -08:00
Russ Cox
0f83fa3a0c
convert tests.
...
refine gotest's test selection criteria.
R=r
DELTA=1590 (745 added, 844 deleted, 1 changed)
OCL=19903
CL=19936
2008-11-24 15:17:47 -08:00
Rob Pike
d7c1048771
really restore helpful error rules
...
R=rsc
OCL=19929
CL=19929
2008-11-24 14:23:53 -08:00
Rob Pike
46f89d53c6
restore helpful error rules
...
R=rsc
OCL=19928
CL=19928
2008-11-24 14:15:53 -08:00
Ken Thompson
8e3fe10ee3
1. retract general field names
...
2. array bounds bug
3. ... optimization bug
R=r
OCL=19927
CL=19927
2008-11-24 14:01:12 -08:00
Russ Cox
6c4d8f8309
gobuild:
...
recognize "// package foo" in non-go files
recognize "gobuild: ignore" to exclude from build
R=r
DELTA=10 (7 added, 2 deleted, 1 changed)
OCL=19878
CL=19905
2008-11-24 11:21:56 -08:00
Ken Thompson
a6182dab47
indexing optimizations and bug fix
...
R=r
OCL=19886
CL=19886
2008-11-23 17:26:49 -08:00
Russ Cox
3aa063d79c
delete stack mark strings
...
in favor of using in-memory copy of symbol table.
$ ls -l pretty pretty.big
-rwxr-xr-x 1 rsc eng 439516 Nov 21 16:43 pretty
-rwxr-xr-x 1 rsc eng 580984 Nov 21 16:20 pretty.big
$
R=r
DELTA=446 (238 added, 178 deleted, 30 changed)
OCL=19851
CL=19884
2008-11-23 17:08:55 -08:00
Ken Thompson
ffafad1919
setup for keywords in fieldnames
...
R=r
OCL=19883
CL=19883
2008-11-23 15:58:48 -08:00
Ken Thompson
e081f25c3e
reg and peep
...
R=r
OCL=19871
CL=19871
2008-11-22 17:58:53 -08:00
Russ Cox
284a50c109
fix 6l bug - moved symbol table without
...
recording correct place in mach tables
used by debuggers.
R=r
DELTA=4 (0 added, 2 deleted, 2 changed)
OCL=19810
CL=19849
2008-11-21 16:13:11 -08:00
Russ Cox
67addd4e11
symbol table changes
...
* add gotype string to symbol table
* fill in gotype in 6l for known funcs/vars
* print gotype with nm -t
* load symbol and pc/ln tables into memory at magic address 0x99<<32.
* add sys.symdat() to retrieve raw bytes of symbol table
and pc/ln table.
most of this should be considered experimental
and subject to change.
R=r
DELTA=157 (128 added, 0 deleted, 29 changed)
OCL=19746
CL=19750
2008-11-20 17:32:18 -08:00
Rob Pike
bd6e0bc8ba
run tests in file order, not alphabetical
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=19723
CL=19727
2008-11-20 15:22:32 -08:00
Russ Cox
4af8ef6519
new flags to 6cov
...
-s print source lines
-n x don't print about sections < x lines long.
R=r
DELTA=69 (57 added, 1 deleted, 11 changed)
OCL=19697
CL=19708
2008-11-20 11:58:07 -08:00
Rob Pike
c0a01e9665
refine gobuild: the files must be *_test.go not *test.go
...
this causes complications
R=rsc
DELTA=1724 (849 added, 856 deleted, 19 changed)
OCL=19667
CL=19667
2008-11-19 19:43:32 -08:00
Rob Pike
12254b6c0b
change naming convention for tests from
...
test*.go
to
*test.go
R=rsc
DELTA=1747 (864 added, 855 deleted, 28 changed)
OCL=19666
CL=19666
2008-11-19 19:11:01 -08:00
Russ Cox
10002bb0fb
accept empty list of package imports.
...
R=ken
OCL=19617
CL=19617
2008-11-19 14:27:48 -08:00
Russ Cox
63a84348cc
look for .6 before .a; accept archives with 0 length __.SYMDEF
...
TBR=r
OCL=19612
CL=19612
2008-11-19 14:21:44 -08:00
Russ Cox
87b1124407
gobuild: add coverage rule, ignore files in package main.
...
R=r
DELTA=55 (41 added, 11 deleted, 3 changed)
OCL=19594
CL=19598
2008-11-19 12:52:30 -08:00
Russ Cox
692a5dbb9e
coverage tweaks
...
* handle new 6g shift sequence
* assume 6.out
R=r
DELTA=24 (20 added, 0 deleted, 4 changed)
OCL=19593
CL=19596
2008-11-19 12:51:25 -08:00
Russ Cox
9a6fd41a01
silence gcc warnings: missing prototypes and unused variables
...
R=ken
OCL=19583
CL=19583
2008-11-19 09:49:06 -08:00
Russ Cox
f1547e511b
leave 6.out around after gotest;
...
delete it in make clean.
R=r
DELTA=10 (0 added, 0 deleted, 10 changed)
OCL=19542
CL=19581
2008-11-19 09:40:54 -08:00
Ken Thompson
b2b4e7fa55
need ./ on local files
...
R=rsc
OCL=19567
CL=19567
2008-11-18 19:36:36 -08:00
Ken Thompson
64718ec262
oops
...
R=r
OCL=19566
CL=19566
2008-11-18 19:27:15 -08:00
Ken Thompson
2dd16a3208
first cut at optimizing
...
R=r
OCL=19564
CL=19564
2008-11-18 19:24:37 -08:00
Russ Cox
866c08ff20
fix build for newbies
...
R=r
OCL=19526
CL=19528
2008-11-18 17:22:31 -08:00
Ken Thompson
93c8d3c41b
another shift bug
...
R=r
OCL=19525
CL=19525
2008-11-18 17:15:42 -08:00
Russ Cox
360151d4e2
gobuild changes.
...
* handles multiple packages per directory
* scans directory for files if given no arguments
* infers package name
* includes test rule invoking gotest
R=r
DELTA=746 (444 added, 150 deleted, 152 changed)
OCL=19504
CL=19521
2008-11-18 17:11:56 -08:00
Rob Pike
8b8630c6cf
allow files to be named on the command line
...
R=rsc
DELTA=3 (1 added, 1 deleted, 1 changed)
OCL=19485
CL=19485
2008-11-18 14:17:13 -08:00
Rob Pike
d495372509
new gotest shell script (will be a proper command some day, probably)
...
automates construction and execution of unit tests.
R=rsc
DELTA=60 (58 added, 0 deleted, 2 changed)
OCL=19482
CL=19484
2008-11-18 14:12:14 -08:00
Russ Cox
6b7dd4c020
add build step to install debuggers setgid procmod.
...
they have to go in /usr/local/bin
because the setgid bit is ignored in /Users.
R=r
DELTA=54 (49 added, 0 deleted, 5 changed)
OCL=19424
CL=19463
2008-11-18 10:08:46 -08:00
Russ Cox
4656686cf5
use correct lineno in nod even if yacc has looked ahead.
...
makes lineno correct for statements without semicolons.
R=ken
OCL=19454
CL=19454
2008-11-18 09:32:05 -08:00
Russ Cox
4d1d5e8a88
work around more commonly-unreachable 6g code sequences.
...
R=r
DELTA=23 (23 added, 0 deleted, 0 changed)
OCL=19405
CL=19420
2008-11-17 17:16:50 -08:00
Russ Cox
3f548cd2d9
add gobuild to build
...
R=r
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=19404
CL=19415
2008-11-17 16:59:04 -08:00
Russ Cox
a1585b676b
fix the easy parts of bug120
...
R=r,ken
DELTA=66 (52 added, 3 deleted, 11 changed)
OCL=19386
CL=19389
2008-11-17 13:58:45 -08:00
Ken Thompson
b7f01f9f41
silence compiler warning
...
R=r
OCL=19382
CL=19382
2008-11-17 12:55:22 -08:00
Russ Cox
9c7b064043
fix bugs in package locals
...
R=ken
OCL=19299
CL=19299
2008-11-14 17:31:29 -08:00
Rob Pike
fd47cb9af5
conflicting scopes should cause error exit
...
TBR=rsc
OCL=19297
CL=19297
2008-11-14 17:28:11 -08:00
Russ Cox
d3f6093931
package-local declarations using keyword "package".
...
R=r
DELTA=129 (81 added, 0 deleted, 48 changed)
OCL=19283
CL=19291
2008-11-14 16:35:08 -08:00
Ken Thompson
e875055461
switch
...
R=r
OCL=19288
CL=19288
2008-11-14 16:24:27 -08:00
Russ Cox
f8b20e4083
add cov, prof to default build; clean up compiler warnings
...
R=r
DELTA=8 (1 added, 0 deleted, 7 changed)
OCL=19245
CL=19245
2008-11-14 10:57:48 -08:00
Russ Cox
7832ab5ba0
code coverage tool
...
$ 6cov -g 235.go 6.out
235.go:62,62 main·main 0x27c9-0x2829 MOVL $main·.stringo(SB),AX
235.go:30,30 main·main 0x2856-0x285e ADDQ $6c0,SP
$
and assorted fixes.
R=r
DELTA=743 (732 added, 8 deleted, 3 changed)
OCL=19226
CL=19243
2008-11-14 10:45:23 -08:00
Russ Cox
c5f21c0dc2
* 6l:
...
if an object in an archive tries to refer
to a file in its original source directory,
ignore it.
* 6ar:
fix bug if archive is empty.
* gobuild:
build archive in current directory.
* math:
use new gobuild Makefile.
* test/math.go:
rename to mathest.go, add // run line, make it run.
R=r
DELTA=494 (277 added, 203 deleted, 14 changed)
OCL=19090
CL=19171
2008-11-13 13:42:26 -08:00
Rob Pike
2f4d35ffb9
converting uint bits back into floats
...
R=rsc
DELTA=32 (32 added, 0 deleted, 0 changed)
OCL=19084
CL=19091
2008-11-12 11:51:34 -08:00
Ken Thompson
902a4d5f29
6c bug with large constants
...
R=r
OCL=19056
CL=19056
2008-11-11 18:15:36 -08:00
Russ Cox
b682f924d7
don't try interface/structure conversion until
...
last resort, because it assumes every call is a
real use of the conversion.
R=ken
OCL=19026
CL=19026
2008-11-11 15:55:32 -08:00
Russ Cox
792145723e
width fixes.
...
* check for uncomputed struct offsets
* distinguish function structs from ordinary structs
* make sure function structs are not examined in isolation
R=ken
OCL=19005
CL=19005
2008-11-11 13:46:55 -08:00
Rob Pike
0e544fa0e3
fix error-handling bug.
...
add newline after stack traces.
R=rsc
DELTA=3 (2 added, 1 deleted, 0 changed)
OCL=18945
CL=18953
2008-11-10 18:13:20 -08:00
Rob Pike
10137e7f1d
fix start/stop bug in prof.
...
also only time-limit if a value is provided.
R=rsc
DELTA=9 (4 added, 2 deleted, 3 changed)
OCL=18917
CL=18920
2008-11-10 14:53:32 -08:00
Ken Thompson
79f5697b02
byte multiply
...
R=r
OCL=18830
CL=18830
2008-11-07 16:05:17 -08:00
Ken Thompson
dc78c64f23
byte multiply
...
R=r
OCL=18807
CL=18807
2008-11-07 14:20:32 -08:00
Rob Pike
335a5236e7
add sys.float32bits, sys.float64bits
...
R=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=18709
CL=18718
2008-11-06 15:48:36 -08:00
Russ Cox
ec81145565
s/gins/gbranch/
...
R=ken
OCL=18713
CL=18713
2008-11-06 15:05:19 -08:00
Russ Cox
0eda21a2fd
change minimum sethi/ullman number to 1
...
to distinguish not computed (0) vs trivial (1).
add missing ullmancalc on function args.
R=ken
OCL=18711
CL=18711
2008-11-06 14:50:58 -08:00
Russ Cox
9906bfc7bb
6g ninit fixes - fixes the two test cases
...
i isolated last night. does not fix rob's
interface-smashing bug.
R=ken
OCL=18698
CL=18698
2008-11-06 13:31:13 -08:00
Ken Thompson
79fbbe37a7
select default
...
R=r
OCL=18646
CL=18646
2008-11-05 21:50:28 -08:00
Russ Cox
d6a7cefd1e
allow any type at all in sys.unreflect;
...
accomodate empty type table in 6l.
R=r
DELTA=10 (2 added, 8 deleted, 0 changed)
OCL=18601
CL=18605
2008-11-05 16:09:12 -08:00
Russ Cox
553c98dca4
fix renamed-package bug in exported names:
...
always show original name
R=ken
OCL=18603
CL=18603
2008-11-05 15:59:34 -08:00
Ken Thompson
83a798513c
more on t,ok = I.(T)
...
R=r
OCL=18599
CL=18599
2008-11-05 15:33:01 -08:00
Ken Thompson
a8b56a73a4
T,ok = I.(T)
...
R=r
OCL=18580
CL=18582
2008-11-05 14:27:07 -08:00
Russ Cox
1983121bbb
6g interface changes:
...
* allow conversion between nil interface and any type.
* mark signatures as DUPOK so that multiple .6 can
contain sigt.*[]byte and only one gets used.
R=ken
OCL=18538
CL=18542
2008-11-05 11:27:50 -08:00
Russ Cox
e5d9a5c9f0
runtime support for interface ok,
...
whatever the final syntax ends up being.
R=ken
OCL=18414
CL=18414
2008-11-03 17:34:37 -08:00
Russ Cox
47caf6424c
6l: generate gotypesigs on demand.
...
add sys.unreflect, which uses gotypesigs.
R=r
DELTA=170 (152 added, 12 deleted, 6 changed)
OCL=18396
CL=18404
2008-11-03 16:03:12 -08:00
Russ Cox
c249a8de32
rename various magic names.
...
sigi and sigt:
sys·sigi_inter -> sigi·inter
sys·sigt_int -> sigt·int
Package·sigt_Type -> sigt·Package.Type
local type T in file x.go T_x -> T·x
second one T_x_1 -> T·x·1
method names M on T T_M -> T·M
correctly handle local embedded types
init functions are the only place left that use underscores
R=ken
OCL=18377
CL=18377
2008-11-03 15:36:08 -08:00
Ken Thompson
90e5574f1c
treat ... as agreed
...
only unencapsulated if passing one ddd
argument to one ddd parameter.
R=r
OCL=18376
CL=18376
2008-11-03 15:32:49 -08:00
Ken Thompson
250ec1665a
unsigned divide by fn()
...
R=r
OCL=18351
CL=18351
2008-11-03 13:27:16 -08:00
Russ Cox
6b05518553
silence gcc warnings
...
R=ken
OCL=18348
CL=18348
2008-11-03 13:09:30 -08:00
Ken Thompson
d2472eb812
>>= and <<= shift bug
...
R=r
OCL=18322
CL=18322
2008-11-01 17:53:12 -07:00
Ken Thompson
2fef4c7198
DOTDOTDOT import/export
...
R=r
OCL=18319
CL=18319
2008-11-01 16:52:12 -07:00
Ken Thompson
74427c6346
DOTDOTDOT
...
R=r
OCL=18317
CL=18317
2008-11-01 16:36:46 -07:00
Ken Thompson
6fff0efdd8
sprint changed to snprint
...
R=r
OCL=18316
CL=18316
2008-11-01 15:56:06 -07:00
Russ Cox
8a1ad75644
make %Z handle embedded NULs; remove fixed-size buffer
...
R=r
DELTA=44 (2 added, 15 deleted, 27 changed)
OCL=18270
CL=18273
2008-10-31 14:57:57 -07:00
Russ Cox
57804f1d2d
escape \ in %Z
...
R=ken
OCL=18202
CL=18202
2008-10-30 17:28:33 -07:00
Russ Cox
4958d41d3b
change from $$ to \n$$ for .6 meta section delimiter
...
R=r
DELTA=13 (5 added, 0 deleted, 8 changed)
OCL=18190
CL=18192
2008-10-30 16:33:50 -07:00
Russ Cox
dc6bd11ce8
make %Z escape "
...
R=ken
OCL=18180
CL=18180
2008-10-30 15:35:56 -07:00
Russ Cox
f2b1536328
annotations on embedded types
...
R=ken
OCL=18179
CL=18179
2008-10-30 15:29:55 -07:00
Russ Cox
1850b29da6
struct annotations in imports.
...
distribute tag across multiple names.
R=ken
OCL=18178
CL=18178
2008-10-30 15:25:26 -07:00
Russ Cox
f27aaf4819
structure field annotation strings
...
R=ken
OCL=18176
CL=18176
2008-10-30 15:13:09 -07:00
Ken Thompson
fd922c875d
shift bug
...
R=r
OCL=18166
CL=18166
2008-10-30 14:32:04 -07:00
Ken Thompson
2c050571d8
shift bugs
...
R=r
OCL=18095
CL=18095
2008-10-29 20:25:34 -07:00
Ken Thompson
2f5a05a859
bug 113
...
R=r
OCL=18081
CL=18081
2008-10-29 16:55:52 -07:00
Ken Thompson
4fdf3d6247
bug 113
...
R=r
OCL=18077
CL=18077
2008-10-29 16:38:23 -07:00
Ken Thompson
4a3ce5f19e
sigt_int
...
R=r
OCL=18030
CL=18030
2008-10-29 13:40:00 -07:00
Ken Thompson
89f341db23
new(chan)
...
R=r
OCL=18027
CL=18027
2008-10-29 13:18:21 -07:00
Ken Thompson
c21d9a1ec9
the end of life as we know it
...
int is new type
R=r
OCL=18023
CL=18023
2008-10-29 12:46:44 -07:00
Russ Cox
b5c739bd1b
Uncomment the name/type error checking.
...
R=ken
OCL=17928
CL=17928
2008-10-28 01:02:33 -07:00
Ken Thompson
e8278bcb29
allow len := 0
...
R=r
OCL=17869
CL=17869
2008-10-26 14:04:09 -07:00
Ken Thompson
a3cdd2e802
bug
...
R=r
OCL=17853
CL=17853
2008-10-25 14:24:51 -07:00
Ken Thompson
6d3d56d55a
bug
...
R=r
OCL=17852
CL=17852
2008-10-25 13:50:18 -07:00
Ken Thompson
b642cf8c00
embedded methods
...
R=r
OCL=17851
CL=17851
2008-10-25 13:31:25 -07:00
Ken Thompson
b379d54dea
another step toward interface subtypes
...
put explicit ./ on some runtime tests
R=r
OCL=17839
CL=17839
2008-10-24 20:14:28 -07:00
Russ Cox
cc4dc5a22a
avoid JMP to ATEXT in xfol
...
R=ken
OCL=17833
CL=17833
2008-10-24 17:10:51 -07:00
Russ Cox
e2fa41ab3b
fix JMP main(SB)
...
R=ken
OCL=17832
CL=17832
2008-10-24 16:43:12 -07:00
Russ Cox
689b28fd96
fix method function type compare bug (again)
...
R=ken
OCL=17819
CL=17819
2008-10-24 14:56:54 -07:00
Russ Cox
c14c961ae4
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
2008-10-24 14:32:48 -07:00
Russ Cox
0be746d581
fix method function type compare bug
...
R=ken
OCL=17815
CL=17815
2008-10-24 14:29:01 -07:00
Ken Thompson
7ed8fc611d
embedded types
...
auto & on methods
R=r
OCL=17682
CL=17682
2008-10-22 18:18:08 -07:00
Russ Cox
ad48706a24
do not use fake names on anonymous function return values
...
R=ken
OCL=17679
CL=17679
2008-10-22 17:45:47 -07:00
Ken Thompson
6fecb76eea
embedded types
...
R=r
OCL=17676
CL=17676
2008-10-22 17:25:10 -07:00
Russ Cox
21617250f4
import/export of embedded types
...
R=ken
OCL=17643
CL=17643
2008-10-22 13:22:56 -07:00
Russ Cox
40fa690d75
fix handling of *f() = 1
...
R=ken
OCL=17625
CL=17641
2008-10-22 13:13:01 -07:00
Ken Thompson
14c639161a
elided dots
...
R=r
OCL=17601
CL=17601
2008-10-21 20:55:40 -07:00
Russ Cox
dbabeb1d7a
reject new of function type
...
R=ken
OCL=17598
CL=17598
2008-10-21 18:03:25 -07:00
Russ Cox
beee6915f8
rewrite &Point{1, 2} as allocation
...
R=ken
OCL=17592
CL=17592
2008-10-21 16:53:54 -07:00
Russ Cox
2c3ddf5ef6
include local types in typestrings
...
R=r
DELTA=16 (14 added, 1 deleted, 1 changed)
OCL=17584
CL=17584
2008-10-21 15:57:38 -07:00
Russ Cox
44b0ecc5ca
6g: use full type in sigt[0].name
...
sys: add sys.reflect
runtime: add canfail flag for later
R=ken
OCL=17583
CL=17583
2008-10-21 15:38:26 -07:00
Ken Thompson
0347e95b63
changes to imbedded
...
R=r
OCL=17572
CL=17572
2008-10-21 15:04:10 -07:00
Russ Cox
1a149ca1be
stop looking for type names beginning with _.
...
they're gone.
R=ken
OCL=17569
CL=17569
2008-10-21 14:44:31 -07:00
Russ Cox
aacfbb461b
6g:
...
* print int as int, not P.int
* write type info for non-exported types
in its own new section.
ar:
skip over rest of line after $$
R=ken
OCL=17568
CL=17568
2008-10-21 14:34:45 -07:00
Russ Cox
0532f89b1f
6l: invent gotypestrings if needed
...
R=r
DELTA=419 (409 added, 5 deleted, 5 changed)
OCL=17524
CL=17530
2008-10-21 10:40:16 -07:00
Russ Cox
a570eaabcd
6l:
...
use libbio instead of maintaining own buffer
libbio:
always use vlong offsets; die if off_t is too small
R=r
DELTA=163 (23 added, 63 deleted, 77 changed)
OCL=17508
CL=17512
2008-10-20 17:33:51 -07:00
Russ Cox
28912ce03f
fix compiler warnings
...
R=r
DELTA=44 (10 added, 9 deleted, 25 changed)
OCL=17502
CL=17502
2008-10-20 15:26:38 -07:00
Russ Cox
bfc70d0f0a
use Biobuf not fd for reading objects.
...
will make reading type info easier.
R=r
DELTA=21 (2 added, 1 deleted, 18 changed)
OCL=17491
CL=17501
2008-10-20 15:21:59 -07:00
Russ Cox
ef40d9435b
6g:
...
make sure methods end up immediately following
the struct they are methods on.
ar:
eliminate duplicate definitions from __.PKGDEF.
check that multiple .6 do not give different defs for same
exported type/var/func/const.
increase ar header name size from 16 to 64 bytes
R=r
DELTA=379 (333 added, 18 deleted, 28 changed)
OCL=17477
CL=17481
2008-10-20 13:53:56 -07:00
Ken Thompson
61361af9e8
unnamed substructures - not complete
...
R=r
OCL=17437
CL=17437
2008-10-19 20:13:37 -07:00
Russ Cox
5fe4cd83a8
do not set t->recur on basic types.
...
the comment talked about printing, but now
t->recur is only used for typehash.
in typehash it is important to compute different
hashes for the different basic types.
add test that makes sure an interface { X() int8 }
cannot be used as interface { X() int64 }
R=ken
OCL=17396
CL=17396
2008-10-17 17:51:29 -07:00
Russ Cox
ab9db8a5f8
cleanup - delete unneeded vargen++
...
R=ken
OCL=17394
CL=17394
2008-10-17 17:45:32 -07:00
Russ Cox
ba46bd1e5a
export prereq for interface types
...
R=ken
OCL=17377
CL=17377
2008-10-17 16:13:17 -07:00
Ian Lance Taylor
907fea6b54
Link against -lm so that we can find the function "floor".
...
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=17375
CL=17375
2008-10-17 15:52:49 -07:00
Russ Cox
1163b1db6f
diagnose various conversion problems
...
R=ken
OCL=17320
CL=17320
2008-10-16 15:59:31 -07:00
Russ Cox
493a9d2f42
put toplevel & check back and add test
...
R=ken
OCL=17307
CL=17307
2008-10-16 14:02:20 -07:00
Ken Thompson
2e4b8d94cd
diagnosed some incorrect
...
inputs for method receivers.
R=r
OCL=17304
CL=17304
2008-10-16 13:29:03 -07:00
Russ Cox
59167e5bdb
diagnose export of incomplete type
...
R=ken
OCL=17253
CL=17253
2008-10-15 17:51:23 -07:00
Russ Cox
7cd173a4f8
error about & at top level until it is safe
...
R=ken
OCL=17241
CL=17241
2008-10-15 17:09:42 -07:00
Ken Thompson
1bf38484d1
interface on arbitrary types
...
global signatures for basic types
R=r
OCL=17238
CL=17240
2008-10-15 17:08:10 -07:00
Russ Cox
4248607ffe
simplify comma code per ken's suggestion
...
R=ken
OCL=17164
CL=17164
2008-10-14 18:47:24 -07:00
Russ Cox
82e41cc533
allow trailing comma in braced initialized list
...
R=ken
OCL=17141
CL=17143
2008-10-14 17:10:39 -07:00
Rob Pike
5933dbda3a
delete hack for interface equality now that it supported by the 6g compiler
...
R=rsc
DELTA=21 (0 added, 21 deleted, 0 changed)
OCL=17123
CL=17136
2008-10-14 16:33:11 -07:00
Ken Thompson
e2e8aa0ee1
interface equality (strings specifically)
...
R=r
OCL=17134
CL=17134
2008-10-14 16:10:44 -07:00
Ken Thompson
edb1412c50
interface equality
...
R=r
OCL=17116
CL=17118
2008-10-14 15:08:23 -07:00
Ken Thompson
1836541566
bug with struct-type { 1 }
...
R=r
OCL=17096
CL=17096
2008-10-14 12:48:14 -07:00
Ken Thompson
1ea5bc7533
stack allocation for the init function
...
R=r
OCL=17063
CL=17063
2008-10-13 20:14:09 -07:00
Russ Cox
0adc1db757
until 6g implements it, warn about using int in interface.
...
R=ken
OCL=16935
CL=16935
2008-10-10 16:14:13 -07:00
Russ Cox
827dcb86b7
add sys.BUG_intereq to compare interfaces for equality
...
R=r
OCL=16929
CL=16929
2008-10-10 15:30:32 -07:00
Russ Cox
5f1202428b
add empty var ( ), type ( ), const ( ) factorings
...
suggested by rob (could make programs generating
go easier to write).
R=ken
DELTA=13 (13 added, 0 deleted, 0 changed)
OCL=16766
CL=16766
2008-10-08 15:33:09 -07:00
Russ Cox
b4f8e01acb
more interface checks:
...
- pointer to interface cannot have methods
- record type names for better runtime error
R=r,ken
DELTA=85 (80 added, 0 deleted, 5 changed)
OCL=16658
CL=16722
2008-10-08 09:21:57 -07:00
Russ Cox
02d184b303
remove support for *T as an implicit declaration of T
...
R=ken
OCL=16651
CL=16653
2008-10-07 13:00:10 -07:00
Russ Cox
96da920f1a
fix bug:
...
type T struct
export type T struct { a int }
was not exporting T
R=ken
OCL=16650
CL=16650
2008-10-07 12:42:57 -07:00
Russ Cox
d364d28142
implement new semicolon rules:
...
* 1. all statements and declarations are terminated by semicolons
* 2. semicolons can be omitted at top level.
* 3. semicolons can be omitted before and after the closing ) or }
* on a list of statements or declarations.
now that semicolons are in, uncomment forward declaration
of interfaces
R=ken
DELTA=285 (124 added, 114 deleted, 47 changed)
OCL=16638
CL=16646
2008-10-07 12:36:30 -07:00
Rob Pike
7ee60b174d
sys.stringtorune doesn't need a length parameter.
...
R=rsc
DELTA=7 (0 added, 0 deleted, 7 changed)
OCL=16600
CL=16630
2008-10-07 10:03:34 -07:00
Russ Cox
74e2e087e2
change type names to go live at the name, so that
...
type T struct {
next *T
}
and
type T *struct {
next T
}
are valid without needing forward declarations.
add "type T struct" syntax for forward struct declarations.
add "type T interface" syntax, but commented out
(need to fix semicolons first)
R=ken
DELTA=452 (259 added, 115 deleted, 78 changed)
OCL=16580
CL=16584
2008-10-06 16:44:17 -07:00
Russ Cox
1b257b2bb3
silence gcc warning - initialize two variables
...
R=ken
OCL=16550
CL=16550
2008-10-06 13:52:23 -07:00
Ken Thompson
6499fbe734
bug060
...
R=r
OCL=16497
CL=16497
2008-10-04 17:11:01 -07:00
Ken Thompson
f25843e65e
bug 026
...
R=r
OCL=16494
CL=16494
2008-10-04 15:17:49 -07:00
Russ Cox
c8b9970e16
change *a1++; to plain a1++
...
R=ken
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=16489
CL=16489
2008-10-04 02:54:19 -07:00
Russ Cox
2e1bb4a4cf
add method test & fix method name bugs
...
R=ken,r
DELTA=86 (72 added, 9 deleted, 5 changed)
OCL=16488
CL=16488
2008-10-04 02:51:03 -07:00
Russ Cox
45f4e38506
silence gcc warnings
...
R=ken
OCL=16449
CL=16466
2008-10-03 16:23:02 -07:00
Russ Cox
b8babed7c2
new import/export format
...
package flag
export type flag.Flag struct { name flag.string; usage flag.string; \
value flag.Value; next *flag.Flag }
type flag.string string
type flag.Value interface { AsBool () (? *flag.BoolValue); \
AsInt () (? *flag.IntValue); AsString () (? *flag.StringValue); \
IsBool () (? flag.bool); IsInt () (? flag.bool); IsString () (? flag.bool); \
Str () (? flag.string); ValidValue (str flag.string) (? flag.bool) }
type flag.BoolValue struct { val flag.bool; p *flag.bool }
type flag.IntValue struct { val flag.int64; p *flag.int64 }
type flag.StringValue struct { val flag.string; p *flag.string }
type flag.bool bool
func (e *flag.StringValue) AsBool () (? *flag.BoolValue)
func (e *flag.StringValue) AsInt () (? *flag.IntValue)
...
the \ continuations are for this message, not real.
changed delimiter for import from (( )) to $$ $$.
replaced mksys.bash with mksys.c
changed sys.go to use leading export,
fake package name is now SYS not foop
don't always require ; on forward func decls
R=ken,r
DELTA=1827 (446 added, 1083 deleted, 298 changed)
OCL=16433
CL=16463
2008-10-03 16:15:55 -07:00
Ken Thompson
8877d27b40
interfaces of all types
...
R=r
OCL=16462
CL=16462
2008-10-03 16:12:21 -07:00
Rob Pike
bbb908fef0
allow prof to launch the process
...
R=rsc
DELTA=32 (30 added, 0 deleted, 2 changed)
OCL=16440
CL=16445
2008-10-03 14:49:10 -07:00
Ken Thompson
ed139c1e37
more on arbitrary receiver types
...
this CL passes the tests, but should
be considered unstable
R=r
OCL=16390
CL=16390
2008-10-02 20:51:10 -07:00
Ken Thompson
53a22770a7
names now println/panicln
...
bug fix in named-return
R=r
OCL=16377
CL=16377
2008-10-02 15:37:15 -07:00
Ken Thompson
f21e731c71
added printn and panicn
...
prints that insert spaces and new line
R=r
OCL=16370
CL=16370
2008-10-02 14:38:07 -07:00
Russ Cox
0216273c7a
add values to some "return" statements.
...
delete unused variables
R=ken
OCL=16360
CL=16360
2008-10-02 11:34:04 -07:00
Ken Thompson
d015f896bb
clear output parameters
...
R=r
OCL=16345
CL=16345
2008-10-01 20:00:58 -07:00
Ken Thompson
970d6a14c4
initialization of
...
var a,b int;
R=r
OCL=16318
CL=16318
2008-10-01 14:16:57 -07:00
Russ Cox
8dc08788ef
remove ( ) around mismatch type prints,
...
so that they don't look like functions.
R=ken
OCL=16244
CL=16244
2008-09-30 15:38:41 -07:00
Russ Cox
387c1bc31e
pretty types; use 6g -t to disable
...
R=ken
OCL=16240
CL=16242
2008-09-30 15:35:40 -07:00
Russ Cox
a05c59fe91
cleanup export
...
R=ken
OCL=16219
CL=16219
2008-09-30 13:52:44 -07:00
Russ Cox
b033c581db
fix export bug for /usr/r/rpc
...
R=ken
OCL=16218
CL=16218
2008-09-30 13:49:31 -07:00
Russ Cox
4d571c9093
fix up arg list parsing to handle any names:
...
type t1 int;
type t2 int;
type t3 int;
func f1(t1, t2, t3);
func f2(t1, t2, t3 bool);
func f3(t1, t2, x t3);
func f4(*t2, x t3); // error: cannot mix
func f5(t1, *t3);
func (x *t1) f6(y *[]t2) (t1, *t3);
func f7() (int, *string);
func f8(t1, *t2, x t3); // error: cannot mix
func f9() (x int, *string);
func f10(*t2, t3);
R=ken
OCL=16202
CL=16210
2008-09-30 12:53:11 -07:00
Ken Thompson
b6f59358b5
minor bugs
...
R=r
OCL=16163
CL=16163
2008-09-29 20:33:51 -07:00
Ken Thompson
89ac5618ac
toward methods on any type
...
R=r
OCL=16068
CL=16068
2008-09-28 20:22:31 -07:00
Ken Thompson
3a884d76ac
bug in simul assignment
...
R=r
OCL=16053
CL=16053
2008-09-27 17:46:40 -07:00
Ken Thompson
7be2b9fdf6
bug in argument passing
...
R=r
OCL=16044
CL=16044
2008-09-27 13:32:38 -07:00
Ken Thompson
9f3d600be6
export
...
syntax for inheritance
R=r
OCL=16028
CL=16028
2008-09-26 21:27:26 -07:00
Ken Thompson
fb86c39362
bug with array bounds
...
R=r
OCL=16021
CL=16023
2008-09-26 17:41:43 -07:00
Ken Thompson
8545700af8
export
...
R=r
OCL=16018
CL=16022
2008-09-26 17:41:23 -07:00
Russ Cox
c3d841f5d4
handle negative numeric constants in import.
...
(fixes bugs/bug106)
package bug0
export const A = -1
package bug1
import "bug0"
R=ken
DELTA=21 (19 added, 0 deleted, 2 changed)
OCL=15901
CL=15968
2008-09-26 11:44:20 -07:00
Russ Cox
2c52881a85
fix ELF bugs found by iant
...
- .text begins at INITTEXT, not 0
and does not include HEADR
- .shstrtab, .gosymtab, .gopclntab have alignment 1
- .gosymtab, .gopclntab have type SHT_PROGBITS
R=r
DELTA=9 (0 added, 0 deleted, 9 changed)
OCL=15953
CL=15956
2008-09-26 10:25:13 -07:00
Russ Cox
a0e7937243
6ar: exit with error status if files cannot be opened.
...
R=r
DELTA=15 (8 added, 0 deleted, 7 changed)
OCL=15952
CL=15954
2008-09-26 10:13:57 -07:00
Russ Cox
d4edee3dd0
prototype nit
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15906
CL=15909
2008-09-25 17:07:24 -07:00
Russ Cox
34bb7a0bb2
gobuild -m: replace value of $GOARCH and $GOOS
...
in Makefile with $(GOARCH) and $(GOOS)
R=r
DELTA=40 (38 added, 0 deleted, 2 changed)
OCL=15905
CL=15908
2008-09-25 17:07:06 -07:00
Ken Thompson
bcd07252e1
export
...
R=r
OCL=15805
CL=15805
2008-09-24 16:20:01 -07:00
Russ Cox
afd04fdb98
cleanup; sys.sleep can go.
...
R=r
OCL=15786
CL=15792
2008-09-24 15:28:03 -07:00
Ken Thompson
5f0a5e7a13
more export
...
R=r
OCL=15771
CL=15771
2008-09-24 14:12:21 -07:00
Russ Cox
3f106f976a
make prof work on linux
...
R=r
DELTA=18 (11 added, 1 deleted, 6 changed)
OCL=15752
CL=15755
2008-09-24 11:07:21 -07:00
Rob Pike
c79dffd5ef
bug: updated wrong counter when combining values
...
R=rsc
OCL=15751
CL=15751
2008-09-24 10:35:59 -07:00
Rob Pike
eea21f8b85
rudimentary real-time profiler.
...
tested on mac only.
output like this:
tubenose=% sudo go/src/cmd/prof/6prof -p 71839 -c -d 10
63.93% mach_semaphore_signal
4.64% sys·chansend1
3.93% chanrecv
2.86% semrelease
1.43% cas
1.43% sendchan
1.07% xadd
0.71% main·f
0.71% scheduler
0.71% sys·gosched
0.71% dequeue
...
R=rsc
DELTA=361 (361 added, 0 deleted, 0 changed)
OCL=15731
CL=15736
2008-09-23 18:45:44 -07:00
Ken Thompson
1101d406ec
more on export
...
R=r
OCL=15704
CL=15704
2008-09-23 14:16:41 -07:00
Ken Thompson
dc04d096f0
fixed export sort for methods
...
R=r
OCL=15699
CL=15699
2008-09-23 12:48:52 -07:00
Russ Cox
5383e28ea0
change string([]byte) to pass array, rather than &a[0],
...
to string convert. if the byte array has length 0,
the computation of &a[0] throws an index bounds error.
for fixed size arrays, this ends up invoking arrays2d
unnecessarily, but it works.
R=ken
DELTA=304 (44 added, 28 deleted, 232 changed)
OCL=15674
CL=15678
2008-09-22 20:12:15 -07:00
Ken Thompson
4332e0a546
remove extraneous print
...
R=r
OCL=15666
CL=15666
2008-09-22 17:29:12 -07:00
Ken Thompson
adaec0c4f4
vectors bug
...
R=r
OCL=15664
CL=15664
2008-09-22 16:58:30 -07:00
Russ Cox
fb2c66710c
compiler changes:
...
export.c:
- only expose explicitly exported types to importer
- fix behind your back
go.h:
- add deep() prototype (fixes 64-bit linux crash on time.go)
go.y:
- add a new syntax error case
walk.c:
- allow a,b = f() where f is func ptr (fixes bug088)
R=ken
OCL=15617
CL=15630
2008-09-22 12:45:01 -07:00
Ken Thompson
8231e94520
now method/interface code
...
R=r
OCL=15627
CL=15627
2008-09-22 12:16:19 -07:00
Russ Cox
b676b0e125
better yacc rule in Makefile
...
if y.tab.c is older than y.tab.h, make
interprets doing nothing as a failure,
because y.tab.c hasn't been updated.
so update it.
R=r
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=15615
CL=15622
2008-09-22 10:56:54 -07:00
Ken Thompson
8a9752dcfb
another async select bug
...
R=r
OCL=15599
CL=15599
2008-09-20 19:56:40 -07:00
Ken Thompson
39a4b1421f
bug103 - but the fix caused other
...
things to break. hopefully all fixed
now.
R=r
OCL=15597
CL=15597
2008-09-20 14:59:15 -07:00
Russ Cox
72e3b204e4
add gobuild.
...
use gobuild-generated Makefile for math and os.
other makefile tweaks.
move math/main.go to test/math.go
R=r
OCL=15529
CL=15537
2008-09-19 11:55:46 -07:00
Russ Cox
5eb9e0621b
avoid dereferencing nil type on undefined name.
...
R=ken
DELTA=12 (12 added, 0 deleted, 0 changed)
OCL=15506
CL=15528
2008-09-19 09:39:09 -07:00
Russ Cox
326bb67fbf
whitespace
...
R=r
DELTA=0 (0 added, 0 deleted, 0 changed)
OCL=15492
CL=15494
2008-09-18 15:54:21 -07:00
Russ Cox
aca4f19e20
clean blyacc
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15489
CL=15493
2008-09-18 15:50:28 -07:00
Russ Cox
f74ec00278
add -K flag to check stack underflow
...
R=ken
DELTA=38 (36 added, 0 deleted, 2 changed)
OCL=15482
CL=15491
2008-09-18 15:41:20 -07:00
Russ Cox
d1d7dc6c42
make blyacc too
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15488
CL=15488
2008-09-18 15:09:48 -07:00
Russ Cox
76036192b9
make Makefiles safe for parallel make
...
use -j4 (4-way parallel) in make.bash.
halves time for make.bash on r45
also add libregexp, acid to default build
R=r
DELTA=90 (39 added, 37 deleted, 14 changed)
OCL=15485
CL=15487
2008-09-18 15:06:43 -07:00
Russ Cox
13f3149a01
more helpful messages for name-related syntax errors.
...
R=ken
OCL=15477
CL=15479
2008-09-18 13:32:14 -07:00
Russ Cox
f0635bbfaa
Linux bison rejects // comments outside { code snippets }
...
R=ken
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=15444
CL=15446
2008-09-17 14:09:44 -07:00
Ken Thompson
304440356d
assignment in select
...
with new select operator
R=r
OCL=15418
CL=15418
2008-09-16 20:51:50 -07:00
Rob Pike
47919799b4
new grammar:
...
binary <- is send
unary <- is recv
-< is gone
case a := <-ch: works in select
case a = <-ch: works in select
support for new cases is not yet in the compiler but all non-select
code works
second CL will update affected go source
R=ken
OCL=15414
CL=15414
2008-09-16 19:14:33 -07:00
Ken Thompson
721cb9c6a1
redeclaring methods
...
R=r
OCL=15375
CL=15375
2008-09-15 19:07:23 -07:00
Ken Thompson
5d5e9f74cb
bug - divide and mod of a byte
...
R=r
OCL=15370
CL=15370
2008-09-15 15:03:10 -07:00
Ken Thompson
d01a1ec260
robs wednesday bug
...
R=r
OCL=15327
CL=15327
2008-09-14 17:29:50 -07:00
Ken Thompson
2119294af9
methods on any type
...
-- but only *struct tested
R=r
OCL=15326
CL=15326
2008-09-14 16:57:55 -07:00
Ken Thompson
b9cee1b6c1
package name on signatures thru rename
...
R=r
OCL=15314
CL=15314
2008-09-13 14:51:39 -07:00
Ken Thompson
1ae08bee90
Automated g4 rollback of changelist 15312.
...
*** Reason for rollback ***
<enter reason for rollback>
*** Original change description ***
correct signal name thru package rename
R=r
OCL=15313
CL=15313
2008-09-13 14:49:36 -07:00
Ken Thompson
28b9702741
correct signal name thru package rename
...
R=r
OCL=15312
CL=15312
2008-09-13 14:46:19 -07:00
Ken Thompson
bb3269fba0
snprints for safety
...
R=r
OCL=15311
CL=15311
2008-09-13 14:37:56 -07:00
Ken Thompson
904d4045d3
1 got rid if static 'fn wo return' test
...
2 added dynamic calls to throw for array bounds
and 'fn wo return'
3 small optimization on index[constant]
R=r
OCL=15281
CL=15281
2008-09-12 16:48:35 -07:00
Ken Thompson
47580f79b4
bug075
...
R=r
OCL=15192
CL=15192
2008-09-11 19:09:25 -07:00
Ken Thompson
ff65872fbf
function wo return is an error - not warning
...
R=r
OCL=15169
CL=15169
2008-09-11 15:44:45 -07:00
Ken Thompson
d30c9a4be5
implement discussed function wo return statement
...
R=r
OCL=15166
CL=15166
2008-09-11 15:23:01 -07:00
Ken Thompson
0a7e4a7415
bug generating duplicate interface signatures
...
R=r
OCL=15119
CL=15119
2008-09-10 19:49:35 -07:00
Ken Thompson
a0e57201c7
bug in type of first argument to slice
...
R=r
OCL=15113
CL=15113
2008-09-10 16:45:41 -07:00
Ken Thompson
d40f032d18
fixed bug in certain
...
evaluation of complex literals
R=r
OCL=15036
CL=15036
2008-09-09 15:47:31 -07:00
Russ Cox
c3ca056143
go linux x86-64 kernel fixes:
...
* change .gosymtab and .gopclntab to section 7 (note)
* start INITTEXT at 4MB, not 4KB
R=r
OCL=14953
CL=14959
2008-09-08 15:22:55 -07:00
Ken Thompson
077fe40867
bug with struct literal with metods
...
R=r
OCL=14937
CL=14937
2008-09-08 13:10:11 -07:00
Ken Thompson
0194aaf918
T{} syntax for constructors
...
T(expression) for conversion
FUNC keyword no longer a type
R=r
OCL=14887
CL=14887
2008-09-05 19:50:34 -07:00
Ken Thompson
193eac7917
bugs 29, 61, 62, 74
...
fixedbugs 49 now (correctly) fails
bugs 32, 41, 68, 77 shouldnt be bugs
R=r
OCL=14842
CL=14842
2008-09-04 17:15:15 -07:00
Ken Thompson
9dbaab54d1
rewriting bugs
...
R=r
OCL=14810
CL=14810
2008-09-04 12:21:10 -07:00
Rob Pike
6c72bfa55b
fix bug in stack overflow check.
...
if stack is in low memory and frame size is huge, test could wrap around!
fix by omitting test altogether if we know frame is big.
R=gri
OCL=14782
CL=14782
2008-09-03 19:58:46 -07:00
Ken Thompson
182f91ffe0
map literals
...
R=r
OCL=14759
CL=14759
2008-09-03 14:40:22 -07:00
Ken Thompson
4539ced714
array literals
...
R=r
OCL=14756
CL=14756
2008-09-03 14:09:29 -07:00
Ken Thompson
1423bf3dc4
structure literals
...
R=r
OCL=14735
CL=14735
2008-09-02 19:11:25 -07:00
Ken Thompson
0ffacfd995
order of evaluation in function args
...
R=r
OCL=14733
CL=14733
2008-09-02 17:12:32 -07:00
Ken Thompson
9c5669bd0b
bug in conv(string, bytearray)
...
R=r
OCL=14732
CL=14732
2008-09-02 16:21:30 -07:00
Ken Thompson
a7f1af81bd
minor bugs
...
R=r
OCL=14702
CL=14702
2008-09-01 14:37:32 -07:00
Ken Thompson
33ee52727f
fixed labels/break/continue/goto
...
R=r
OCL=14675
CL=14675
2008-08-29 20:30:19 -07:00
Ken Thompson
944ad62ecd
fix type of (1<<x)
...
R=r
OCL=14656
CL=14656
2008-08-29 13:24:53 -07:00
Ken Thompson
53010efe01
shift operations to new spec
...
R=r
OCL=14641
CL=14641
2008-08-28 19:59:42 -07:00
Ken Thompson
c6130e9f1f
get rid of static/dynamic array distinction
...
R=r
OCL=14634
CL=14634
2008-08-28 15:17:37 -07:00
Ken Thompson
66a603c986
arrays
...
R=r
OCL=14603
CL=14603
2008-08-27 17:28:30 -07:00
Ken Thompson
30fd44cf9d
fix fat copy of overlapping data
...
R=r
OCL=14417
CL=14417
2008-08-21 20:49:04 -07:00
Rob Pike
b59b551be7
allow predefined identifiers (len, etc.) to be exported.
...
(they were not accepted as names by the import parser)
R=ken
DELTA=3 (0 added, 0 deleted, 3 changed)
OCL=14159
CL=14159
2008-08-13 15:24:55 -07:00
Ken Thompson
52861558f4
put i2s, s2i and i2i in convert
...
R=r
OCL=14143
CL=14143
2008-08-12 19:13:09 -07:00
Ken Thompson
ead7a6d47a
i2s and i2i
...
R=r
OCL=14140
CL=14140
2008-08-12 16:36:18 -07:00
Ken Thompson
c1ab5a554f
resolve go.y edits
...
R=r
OCL=14132
CL=14132
2008-08-12 14:28:58 -07:00
Ken Thompson
4797523572
fixed bugs in const/case
...
R=r
DELTA=138 (75 added, 12 deleted, 51 changed)
OCL=14129
CL=14131
2008-08-12 14:04:03 -07:00
Rob Pike
72d50900e3
fix a typo in the comments
...
R=ken
OCL=14104
CL=14104
2008-08-11 21:29:11 -07:00
Ken Thompson
a8a9dbc9c6
print() and field names
...
R=r
DELTA=86 (61 added, 3 deleted, 22 changed)
OCL=14099
CL=14099
2008-08-11 19:17:28 -07:00
Ken Thompson
2679eefb31
floating <= and >= compare
...
R=r
DELTA=8 (0 added, 0 deleted, 8 changed)
OCL=14091
CL=14091
2008-08-11 13:53:50 -07:00
Ken Thompson
2b75556436
export large constants
...
R=r
DELTA=37 (31 added, 4 deleted, 2 changed)
OCL=14089
CL=14089
2008-08-11 13:22:04 -07:00
Ken Thompson
5649c23c8c
fixed op=, ++ and -- on maps (bug060)
...
R=r
DELTA=22 (21 added, 0 deleted, 1 changed)
OCL=14049
CL=14049
2008-08-10 16:49:01 -07:00
Ken Thompson
258c817a1b
allow name-type or pointer-to-named-type as method name (bug046)
...
R=r
DELTA=17 (11 added, 3 deleted, 3 changed)
OCL=14048
CL=14048
2008-08-10 15:09:09 -07:00
Ken Thompson
b89c538473
fixed unary ^ opcode (bug082)
...
R=r
DELTA=11 (10 added, 1 deleted, 0 changed)
OCL=14047
CL=14047
2008-08-10 14:35:02 -07:00
Ken Thompson
091047f36c
adding and deleting files
...
R=r
DELTA=1685 (920 added, 765 deleted, 0 changed)
OCL=14030
CL=14030
2008-08-09 17:33:35 -07:00
Ken Thompson
272ae659db
mp fixed arith
...
R=r
DELTA=149 (80 added, 62 deleted, 7 changed)
OCL=14029
CL=14029
2008-08-09 17:29:26 -07:00
Ken Thompson
67c4cc473c
forgot a file
...
R=r
DELTA=427 (427 added, 0 deleted, 0 changed)
OCL=14017
CL=14017
2008-08-08 17:15:46 -07:00
Ken Thompson
9c2ade358d
mp constants
...
R=r
DELTA=381 (142 added, 26 deleted, 213 changed)
OCL=14011
CL=14016
2008-08-08 17:13:31 -07:00
Russ Cox
907f38acfc
Change generated acid to indent nested structures properly.
...
Before the change:
acid: M(m0)
g0 00008dd0
morearg 00000000
cret 00000000
curg 2aaaaaaab000
lastg 00000000
Gobuf sched {
SP ffffe5e0
PC 7fff00001ba1
}
...
acid:
After the change:
acid: M(m0)
g0 (G)00008dd0
morearg 00000000
cret 00000000
curg (G)2aaaaaaab000
lastg (G)00000000
Gobuf sched {
SP ffffe5e0
PC 00001ba1
}
...
acid:
R=ken
DELTA=27 (14 added, 2 deleted, 11 changed)
OCL=13802
CL=13998
2008-08-08 04:25:20 -07:00
Russ Cox
d28acc42ec
first cut at multithreading. works on Linux.
...
* kick off new os procs (machs) as needed
* add sys·sleep for testing
* add Lock, Rendez
* properly lock mal, sys·newproc, scheduler
* linux syscall arg #4 is in R10, not CX
* chans are not multithread-safe yet
* multithreading disabled by default;
set $gomaxprocs=2 (or 1000) to turn it on
This should build on OS X but may not.
Rob and I will fix soon after submitting.
TBR=r
OCL=13784
CL=13842
2008-08-04 16:43:49 -07:00
Ken Thompson
695f83a9e0
export external functions
...
R=r
DELTA=16 (10 added, 4 deleted, 2 changed)
OCL=13815
CL=13815
2008-08-04 13:18:59 -07:00
Russ Cox
7b3771401c
add nm
...
R=r
DELTA=339 (339 added, 0 deleted, 0 changed)
OCL=13786
CL=13794
2008-08-03 23:06:00 -07:00
Russ Cox
34514bdb72
Use a single Make.conf for setting CC, etc.
...
This makes it easy to build with other flags
(like -ggdb) or other compilers (like cc64).
R=r
DELTA=45 (6 added, 22 deleted, 17 changed)
OCL=13790
CL=13793
2008-08-03 23:03:31 -07:00
Ken Thompson
989676d2ba
add 'export' adjectives to external
...
var, const and type declarations.
R=r
DELTA=49 (12 added, 28 deleted, 9 changed)
OCL=13791
CL=13791
2008-08-03 18:47:02 -07:00
Russ Cox
9aad9fef76
make 6a, 6c, 6g, 6l, libmach_amd64 build on 64-bit gcc.
...
these guys really really want long to be 32-bits,
so ,s/long/int32/ (and then manual fixup).
still passes all tests.
(i started out looking for just those longs that
needed to be int32 instead, and it was just too hard
to track them down one by one.)
the longs were rare enough that i don't think
it will cause integration problems.
R=ken
OCL=13787
CL=13789
2008-08-03 17:25:15 -07:00
Ken Thompson
851100683e
6c delete .6 file on error
...
R=r
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=13785
CL=13785
2008-08-03 13:31:06 -07:00
Ken Thompson
7889e03477
go method
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=13765
CL=13765
2008-08-02 15:31:21 -07:00
Ken Thompson
b2d9020242
len now takes an expression
...
R=r
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=13523
CL=13523
2008-07-28 13:54:58 -07:00
Ken Thompson
b1abcc195d
random bug fixes
...
R=r
DELTA=18 (6 added, 1 deleted, 11 changed)
OCL=13504
CL=13504
2008-07-27 13:09:15 -07:00
Ken Thompson
bd397d2f9b
select
...
R=r
DELTA=29 (27 added, 1 deleted, 1 changed)
OCL=13503
CL=13503
2008-07-27 11:42:52 -07:00
Rob Pike
20a02661d9
beginnings of a low-level syscall library
...
R=ken
OCL=13483
CL=13496
2008-07-26 14:49:21 -07:00
Ken Thompson
120827284e
select/chan
...
R=r
DELTA=517 (137 added, 98 deleted, 282 changed)
OCL=13495
CL=13495
2008-07-26 14:21:21 -07:00
Ken Thompson
949ab5c7ff
select
...
R=r
APPROVED=r
DELTA=41 (24 added, 13 deleted, 4 changed)
OCL=13480
CL=13480
2008-07-25 17:03:27 -07:00
Ken Thompson
e963cba8a1
select
...
R=r
APPROVED=r
DELTA=147 (94 added, 14 deleted, 39 changed)
OCL=13477
CL=13477
2008-07-25 15:55:12 -07:00
Ken Thompson
ece3e57c85
read select
...
R=r
APPROVED=r
DELTA=120 (108 added, 0 deleted, 12 changed)
OCL=13468
CL=13468
2008-07-25 11:58:26 -07:00
Ken Thompson
cb9b1038db
select
...
R=r
APPROVED=r
DELTA=638 (433 added, 21 deleted, 184 changed)
OCL=13426
CL=13438
2008-07-24 15:57:30 -07:00
Rob Pike
35b7a174e6
maintain __.PKGDEF files in archives if the 'g' flag is given
...
use this facility to simplify the math lib-building script
R=ken
DELTA=183 (158 added, 16 deleted, 9 changed)
OCL=13364
CL=13366
2008-07-22 15:57:46 -07:00
Rob Pike
05caa7f820
help management of empty pkg and lib directories in perforce
...
R=gri
DELTA=4 (4 added, 0 deleted, 0 changed)
OCL=13328
CL=13328
2008-07-21 17:10:49 -07:00
Ken Thompson
b78676a49d
start of select
...
random bugs fixed
SVN=128149
2008-07-20 20:13:07 -07:00
Ken Thompson
963753d3f9
tweaks to init
...
rand using init
SVN=128142
2008-07-20 13:33:45 -07:00
Ken Thompson
f24f8ffae0
init
...
SVN=128128
2008-07-19 18:39:12 -07:00
Rob Pike
acf3d59847
update fmt to use some initialization
...
tweak ar so the pkgdef file doesn't cause it not to generate a symbol table
SVN=128119
2008-07-19 14:52:01 -07:00
Ken Thompson
90da636c15
init filename vs pkgname
...
SVN=128117
2008-07-19 14:20:46 -07:00
Ken Thompson
fb3af53f4e
initialization
...
SVN=128115
2008-07-19 13:38:29 -07:00
Ken Thompson
4c5a165873
len(fixed array)
...
SVN=128050
2008-07-18 11:59:35 -07:00
Ken Thompson
0ca551fc36
loop in subtype
...
SVN=127933
2008-07-17 18:15:05 -07:00
Ken Thompson
41861ca7bb
one more time for divide
...
SVN=127911
2008-07-17 16:22:40 -07:00
Ken Thompson
9e2d185040
div bug
...
[]ptr bug
proc reuses old g* structures
differnt assignment of offsets to parameters
SVN=127888
2008-07-17 15:03:39 -07:00
Ken Thompson
814320c8b4
parameter in fn literals
...
SVN=127695
2008-07-16 18:31:01 -07:00
Ken Thompson
8003849498
parameter declartions in func literals
...
SVN=127678
2008-07-16 17:22:54 -07:00
Ken Thompson
44b8934d35
back out last chan fix
...
allow print of pointers
SVN=127548
2008-07-16 12:44:21 -07:00
Ken Thompson
ac048ce7f4
new chan syntax
...
SVN=127437
2008-07-15 21:07:59 -07:00
Rob Pike
c870ac239e
add sys.writefile; support for darwin only in this CL
...
SVN=127153
2008-07-14 20:54:55 -07:00
Rob Pike
e9a194382e
disambiguate error message
...
SVN=127152
2008-07-14 20:54:16 -07:00
Ken Thompson
c6e8e1cebf
go call fn address
...
SVN=127151
2008-07-14 20:40:48 -07:00
Ken Thompson
2d9ff40774
chan asynch
...
SVN=127121
2008-07-14 17:41:38 -07:00
Ken Thompson
f7e2bb55ae
chan
...
SVN=126960
2008-07-13 16:22:50 -07:00
Ken Thompson
97cab903af
chan
...
SVN=126959
2008-07-13 16:20:27 -07:00
Ken Thompson
594175d0b5
chan
...
SVN=126958
2008-07-13 14:29:46 -07:00
Ken Thompson
3f982aeaf6
morestack magic number
...
automatically generated in 6g and 6c,
manually set in 6a. format is
TEXT a(SB),, $a-b
where a is auto size and b is parameter size
SVN=126946
2008-07-12 17:16:22 -07:00
Ken Thompson
3856e45e03
more on channels
...
arg space magic number for morestack
SVN=126936
2008-07-12 13:08:53 -07:00
Ken Thompson
751ce3a77a
segmented stacks AND goroutines
...
SVN=126929
2008-07-11 19:16:39 -07:00
Ken Thompson
2d7eecbbf4
bug in offsets in imported struct fields
...
SVN=126591
2008-07-09 17:15:10 -07:00
Rob Pike
d5f4d94b80
redefinition fix for autolib: if first ATEXT is already defined, skip this file
...
SVN=126580
2008-07-09 16:40:11 -07:00
Rob Pike
12c81a0ce8
enable autolib
...
handle archives with __.PKGDEF elements (although we can't create them yet)
introduce a pkg directory
search the pkg directory for packages during compilation
SVN=126574
2008-07-09 16:05:03 -07:00
Rob Pike
41b9617be4
fix ldexp, frexp, and make math package compile and test correctly
...
SVN=126423
2008-07-08 17:26:10 -07:00
Ken Thompson
4528854308
unique import/export names
...
more on go statement
SVN=126421
2008-07-08 17:19:17 -07:00
Rob Pike
655c281303
disambiguate typedefs in export blocks of .6 files
...
SVN=126366
2008-07-08 14:20:04 -07:00
Rob Pike
6db99de606
add bytestorune and stringtorune to sys.
...
SVN=126321
2008-07-08 10:36:43 -07:00
Ken Thompson
1d31a25d83
more coroutine
...
fixed a,b,c := x,x,x
SVN=126250
2008-07-07 17:59:32 -07:00
Ken Thompson
0d079a5362
start of coroutine
...
SVN=126152
2008-07-07 12:29:26 -07:00
Ken Thompson
caa7193c95
took out vlong/uvlong/rune conversions
...
SVN=126053
2008-07-06 11:20:44 -07:00
Ken Thompson
4d6d4e7f4e
random little bugs
...
SVN=126049
2008-07-05 17:43:25 -07:00
Ken Thompson
417a971f9a
output args declared
...
arguments in first block for diagnostics
thomo return
better syntax error recovery
SVN=126045
2008-07-05 12:49:25 -07:00
Ken Thompson
1efa6a0544
better recovery after syntax error
...
SVN=126003
2008-07-03 18:05:20 -07:00
Ken Thompson
81b325db1b
a,b := fun()
...
SVN=125998
2008-07-03 17:41:05 -07:00
Ken Thompson
d915b96100
new iota
...
SVN=125984
2008-07-03 16:41:32 -07:00
Rob Pike
03febb6773
clean up rearrangement of runtime functions in the source
...
add isNaN, isInf, NaN, Inf
SVN=125389
2008-06-30 15:30:47 -07:00
Ken Thompson
b987f7a757
segmented stacks
...
SVN=125267
2008-06-29 20:40:08 -07:00
Ken Thompson
d3237f9a2a
more line numbers
...
SVN=125265
2008-06-28 17:27:39 -07:00
Ken Thompson
dc1602ca23
more line numbers
...
SVN=125261
2008-06-28 13:58:00 -07:00
Ken Thompson
ca029d34b6
another both sides functions
...
SVN=125230
2008-06-27 17:53:23 -07:00
Ken Thompson
57d80398e6
line numbers
...
SVN=125228
2008-06-27 17:35:42 -07:00
Ken Thompson
390d5fe5b2
fixed fncall both sides
...
SVN=125217
2008-06-27 16:59:14 -07:00
Ken Thompson
102fcc6689
sametype message
...
SVN=125216
2008-06-27 16:43:02 -07:00
Ken Thompson
73f85f8a53
map index of index bug
...
SVN=125213
2008-06-27 16:30:20 -07:00
Rob Pike
34cb7c299e
export sys.exit
...
update tests to use exit rather than return
ignore return value from main (actually done in prior CL)
SVN=125173
2008-06-27 14:15:06 -07:00
Ken Thompson
1f6828bcdf
segmented stack
...
SVN=125151
2008-06-27 13:03:19 -07:00
Rob Pike
1f672596c5
fix a few spelling mistakes in messages
...
SVN=125108
2008-06-27 10:29:02 -07:00
Ken Thompson
75937c2a16
better line numbers
...
SVN=125018
2008-06-26 17:54:44 -07:00
Rob Pike
3e4e83ab1e
add sys.readfile()
...
add args to linux runtime
SVN=124961
2008-06-26 14:09:26 -07:00
Rob Pike
9ff0e6288e
runtime needs runtime.c
...
6l needs to know that there is no rt_amd64.6
SVN=124766
2008-06-25 21:31:17 -07:00
Rob Pike
41abdad5ec
maybe now $O is right
...
SVN=124764
2008-06-25 21:24:14 -07:00
Rob Pike
5132d10305
O=6 not O=o
...
SVN=124763
2008-06-25 21:23:14 -07:00
Rob Pike
c87597de2c
put a makefile into runtime
...
make the runtime library an archive (rt0 is still separate)
update 6l to use the archive
add fakeobj.c, missing from prior change
SVN=124762
2008-06-25 21:19:05 -07:00
Rob Pike
250a091922
add plan 9 ar, which understands our symbol tables
...
SVN=124761
2008-06-25 20:58:35 -07:00
Ken Thompson
e90ae879d6
autolib (#pragma lib)
...
added to 6g to autoload
the included import files.
SVN=124759
2008-06-25 20:22:10 -07:00
Ken Thompson
1a3f944530
simul assignment
...
SVN=124591
2008-06-25 11:35:06 -07:00
Ken Thompson
10296166a5
bug in returning a fat function result
...
SVN=124436
2008-06-24 18:14:32 -07:00
Ken Thompson
7d11924c13
middle dot as alpha package separator
...
SVN=124419
2008-06-24 17:16:06 -07:00
Rob Pike
2987c8434b
arguments available
...
argc, argv, envc, envv all in sys now
sys.argc() etc.
SVN=124398
2008-06-24 15:31:03 -07:00
Ken Thompson
87dae02a63
string nil same as string ""
...
SVN=124381
2008-06-24 14:11:20 -07:00
Ken Thompson
90846cd447
map[int] bug
...
SVN=124332
2008-06-24 11:10:47 -07:00
Ken Thompson
78c8dec944
bug miscalculating ullman
...
in CALLMETH/DOTMETH
SVN=124321
2008-06-24 10:30:33 -07:00
Ken Thompson
dee07c884e
maps
...
SVN=124030
2008-06-22 21:02:06 -07:00
Rob Pike
aeb43984ec
add signal handling and traceback support therein.
...
factor the runtime into architecture-dependent and -independent pieces.
ditto for the OS dependence.
SVN=124020
2008-06-21 15:36:23 -07:00
Ken Thompson
54abac678a
redeclarations of variables in the same block.
...
half-step toward multivalued map indexing
SVN=124019
2008-06-21 15:11:29 -07:00
Ken Thompson
ddba96aed8
stack offset
...
SVN=123521
2008-06-18 22:07:09 -07:00
Ken Thompson
f997bc6eb6
stack offseet table marker
...
tacked above each TEXT entry
SVN=123496
2008-06-18 17:51:56 -07:00
Ken Thompson
1926fef175
bogus diagnostic with
...
default as first case
in a switch
SVN=123398
2008-06-18 11:43:50 -07:00
Ken Thompson
c242b53d22
more maps
...
more semi-colons
type assignment of constants
SVN=123278
2008-06-17 22:33:32 -07:00
Ken Thompson
c5bb50c9dc
assign nil to interface
...
SVN=123256
2008-06-17 18:07:40 -07:00
Ken Thompson
7131bf476c
SVN=123250
2008-06-17 18:02:06 -07:00
Ken Thompson
504aa698f7
SVN=123249
2008-06-17 18:01:05 -07:00
Ken Thompson
53ec6500bc
yata
...
SVN=123246
2008-06-17 17:59:06 -07:00
Ken Thompson
0006c83231
optional semi-colons
...
SVN=123245
2008-06-17 17:57:31 -07:00
Ken Thompson
4e8142c929
maps
...
SVN=123089
2008-06-16 22:34:50 -07:00
Ken Thompson
3f2d542817
added and, or, xor opcodes
...
SVN=123031
2008-06-16 17:04:39 -07:00
Ken Thompson
e1a06ccc80
now checks for lvalue/rvalue context of
...
expressions.
start of generics for calling builtin
functions
start of map type
'any' demoted from reserved word to type
SVN=122808
2008-06-15 20:24:30 -07:00
Rob Pike
073486c3ed
add support for debugging in MACH binaries
...
fix up libmach_amd64 to handle MACH binaries and symbols
db now works on mac and linux
SVN=122807
2008-06-15 17:22:57 -07:00
Ken Thompson
efec14bc5a
plan9 line numbers and line table
...
SVN=122793
2008-06-13 18:16:23 -07:00
Rob Pike
e9c9c9ace5
add symbol tables and line/pc information to 6.outs
...
SVN=122699
2008-06-13 12:54:21 -07:00
Ken Thompson
343f5aa7b4
better import/export
...
SVN=122584
2008-06-12 21:48:56 -07:00
Rob Pike
67e141b637
Bug fix. Without rounding, .shstrtab is written on top of data segment
...
SVN=122567
2008-06-12 18:51:06 -07:00
Rob Pike
ed5e39a66d
Add 6db
...
SVN=122505
2008-06-12 14:50:25 -07:00
Ken Thompson
ef61a4cb1e
better version of op=
...
fixed bugs in /= and %/
SVN=122493
2008-06-12 14:21:09 -07:00
Rob Pike
e2e6b7e4cc
remove reference to 9ar
...
SVN=122487
2008-06-12 13:38:54 -07:00
Rob Pike
24dbd2413b
remove reference to 9ar
...
SVN=122486
2008-06-12 13:37:54 -07:00
Rob Pike
69b74c3953
import the plan 9 libraries libc (lib9) and libbio into the tree.
...
remove the dependency on /home/r.
SVN=122482
2008-06-12 13:26:16 -07:00
Ken Thompson
2254a8ee99
import/export
...
SVN=122309
2008-06-11 21:06:26 -07:00
Rob Pike
2694a85a52
tweaks in clean rules and dependencies
...
SVN=122274
2008-06-11 18:01:45 -07:00
Rob Pike
461d1b7987
convert from mk to make
...
phew.
SVN=122266
2008-06-11 17:50:07 -07:00
Rob Pike
32aa0d9198
generated file; needs updating
...
SVN=122179
2008-06-11 14:03:52 -07:00
Rob Pike
820368a19a
fix up mkfiles to use $GOROOT instead of $PLAN9
...
mention in setup doc that binaries go into $HOME/bin
SVN=122177
2008-06-11 13:59:55 -07:00
Rob Pike
df28e14e5b
add a setup document, and tweak the scripts that it mentions
...
SVN=122175
2008-06-11 13:34:08 -07:00
Ken Thompson
2bba3a610d
reorder1 - function first instead of last
...
SVN=122160
2008-06-11 12:25:44 -07:00
Ken Thompson
0b3093f0a5
debugging to get fmt to run
...
SVN=122046
2008-06-10 21:29:57 -07:00
Ken Thompson
36f21e00f5
mode elf tossing
...
SVN=121962
2008-06-10 12:42:37 -07:00
Ken Thompson
6a659ebf13
new elf header
...
SVN=121737
2008-06-09 13:16:50 -07:00
Ken Thompson
f9c58c25e0
more nihan
...
SVN=121622
2008-06-08 19:02:27 -07:00
Ken Thompson
9abf9e8a37
nihon
...
SVN=121620
2008-06-08 18:26:23 -07:00
Ken Thompson
b6eca3534c
bug in len
...
SVN=121618
2008-06-08 17:46:28 -07:00
Ken Thompson
610644a1ca
asdf
...
SVN=121615
2008-06-08 17:21:46 -07:00
Rob Pike
27d95f1372
use /bin/ed to avoid compatibility issues with plan 9 ed
...
SVN=121611
2008-06-08 17:02:01 -07:00
Ken Thompson
36bfd2a906
floating point
...
SVN=121607
2008-06-08 16:11:14 -07:00
Ken Thompson
8200a0b088
optional semicolons
...
SVN=121604
2008-06-08 12:48:37 -07:00
Ken Thompson
f7753f1687
more code generation - mostly shift and multiply
...
SVN=121585
2008-06-07 15:21:02 -07:00
Ken Thompson
181ad4743c
more div/mod
...
SVN=121577
2008-06-06 21:21:54 -07:00
Ken Thompson
d83b994da6
div and mod operators
...
SVN=121576
2008-06-06 20:43:29 -07:00
Ken Thompson
feb1c77f9c
cafebabe
...
SVN=121574
2008-06-06 19:16:18 -07:00
Ken Thompson
b6218e6907
'\Ucafebabe'
...
SVN=121562
2008-06-06 17:42:03 -07:00
Ken Thompson
609cf0c3a7
fixed \\ secape in strings
...
SVN=121553
2008-06-06 17:08:21 -07:00
Ken Thompson
a93099cd8c
SVN=121547
2008-06-06 17:01:33 -07:00
Ken Thompson
6b8bd3556a
nonaddressable = functioncall
...
code gen error
SVN=121541
2008-06-06 16:49:35 -07:00
Ken Thompson
d1493d1edc
checked into both gc and runtime by mistake
...
SVN=121498
2008-06-06 15:01:50 -07:00
Ken Thompson
498ed50061
code gen bug calling i2s
...
SVN=121497
2008-06-06 15:01:02 -07:00
Ken Thompson
e372be9e76
code gen bug in ++ and --
...
SVN=121476
2008-06-06 13:54:59 -07:00
Ken Thompson
bbb2073223
goos garch
...
SVN=121367
2008-06-05 19:38:39 -07:00
Ken Thompson
8527f49e24
goos and goarch
...
SVN=121349
2008-06-05 16:57:26 -07:00
Ken Thompson
e2c3ec3173
goos goarch
...
SVN=121348
2008-06-05 16:56:23 -07:00
Ken Thompson
f4ccabdea6
stuff
...
SVN=121190
2008-06-04 16:44:48 -07:00
Ken Thompson
f1880579ef
loaded problem getting main from a library
...
SVN=121175
2008-06-04 15:33:59 -07:00
Ken Thompson
6633be6a86
fix loader problem loading main from a library
...
SVN=121174
2008-06-04 15:32:47 -07:00
Ken Thompson
3adcf6fa0e
touch to make later modified date
...
SVN=121172
2008-06-04 15:08:59 -07:00
Rob Pike
0cafb9ea3d
Add compiler source to new directory structure
...
SVN=121164
2008-06-04 14:37:38 -07:00