1
0
mirror of https://github.com/golang/go synced 2024-11-26 21:41:33 -07:00
Commit Graph

307 Commits

Author SHA1 Message Date
Ken Thompson
24eb30b5d6 test
R=r
OCL=17855
CL=17855
2008-10-25 15:26:35 -07:00
Ian Lance Taylor
22a6747999 Per discussion earlier today with r and gri: when an interface
object has a value of type "int", it should not automatically
convert to type "int32".  That is, the type alias "int" should
be regarded as having been defined as though "type int int32"
appeared outside of the package, and as therefore being a
different type from "int32".

R=ken
DELTA=21  (20 added, 0 deleted, 1 changed)
OCL=17587
CL=17842
2008-10-24 22:40:32 -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
8d3a3dd904 update golden.out
R=iant
DELTA=4  (0 added, 0 deleted, 4 changed)
OCL=17680
CL=17711
2008-10-23 11:44:01 -07:00
Ian Lance Taylor
7dbee69b58 Match gccgo error messages.
convlit.go:17: error: incompatible type in initialization
convlit.go:18: error: incompatible types in binary expression
convlit.go:19: error: incompatible types in binary expression
convlit.go:20: error: incompatible types in binary expression
convlit.go:21: error: incompatible types in binary expression
convlit.go:23: error: cannot convert non-integer constant
convlit.go:24: error: integer type overflow
convlit.go:25: error: floating point overflow

R=rsc
DELTA=5  (0 added, 0 deleted, 5 changed)
OCL=17649
CL=17661
2008-10-22 16:09:24 -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
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
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
Ian Lance Taylor
6ae1df9b99 Match error messages generated by gccgo:
convlit1.go:6:15: error: composite literal requires array, map, or struct type
convlit1.go:5:16: error: incompatible type for element 0 in composite literal
convlit1.go:10:15: error: incompatible types in binary expression

R=rsc
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=17506
CL=17509
2008-10-20 17:10:03 -07:00
Rob Pike
03a9872fe3 add primitive ftoa, dtoa to strings library.
R=rsc
DELTA=72  (69 added, 0 deleted, 3 changed)
OCL=17478
CL=17480
2008-10-20 13:53:20 -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
Rob Pike
4bcfffb761 update fixed bugs (and delete an irrelevant one)
R=rsc
DELTA=328  (158 added, 170 deleted, 0 changed)
OCL=17353
CL=17359
2008-10-17 11:48:51 -07:00
Russ Cox
925454e932 make sure errchk only says BUG once,
so that run's count is correct

R=iant,r
DELTA=20  (12 added, 0 deleted, 8 changed)
OCL=17329
CL=17342
2008-10-17 07:41:18 -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
Russ Cox
59167e5bdb diagnose export of incomplete type
R=ken
OCL=17253
CL=17253
2008-10-15 17:51:23 -07:00
Ken Thompson
8973e1ffb7 basic types/interfaces test
R=r
OCL=17247
CL=17247
2008-10-15 17:15:47 -07:00
Rob Pike
13508ceabe bug is fixed
R=ken
OCL=17208
CL=17208
2008-10-15 11:49:34 -07:00
Rob Pike
151c0de8bc update bug list
R=ken
OCL=17169
CL=17169
2008-10-14 19:41:05 -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
99c5b2ed4d 6g thinks a struct with one entry yields a composite that is a basic conversion
R=rsc
DELTA=12  (12 added, 0 deleted, 0 changed)
OCL=16989
CL=16998
2008-10-13 12:26:58 -07:00
Robert Griesemer
32d00e6cc6 - added missing ';' according to new rules
(no effect on the test, but now parseable)

R=r
OCL=16936
CL=16936
2008-10-10 16:18:01 -07:00
Robert Griesemer
e7c8e78879 - removed extra package clause
R=rsc
DELTA=2  (0 added, 2 deleted, 0 changed)
OCL=16927
CL=16927
2008-10-10 14:50:23 -07:00
Russ Cox
7e241107f1 test of new empty productions
R=gri
DELTA=8  (8 added, 0 deleted, 0 changed)
OCL=16765
CL=16767
2008-10-08 15:33:18 -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
e6cd1e445b remove uses of *T as an implicit forward declaration of T
R=gri,r
OCL=16648
CL=16652
2008-10-07 12:59:54 -07:00
Russ Cox
eb452f4b6e test that mutually recursive interfaces compile
R=r
DELTA=18  (18 added, 0 deleted, 0 changed)
OCL=16639
CL=16647
2008-10-07 12:36:39 -07:00
Russ Cox
983f06bdb6 update code to follow 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.

/home/rsc/bin/addsemi and then diff+tweak.

R=r,gri
OCL=16620
CL=16643
2008-10-07 12:31:31 -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
Rob Pike
717de79976 change in spec results in non-error
R=gri
DELTA=4  (0 added, 3 deleted, 1 changed)
OCL=16565
CL=16579
2008-10-06 16:27:14 -07:00
Ian Lance Taylor
be0c25ee93 Change old-style export declaration to new style export of
type definition.

R=r
DELTA=3  (0 added, 2 deleted, 1 changed)
OCL=16537
CL=16545
2008-10-06 13:12:03 -07:00
Rob Pike
98c208ee1d bug026 and bug060 are fixed. update.
R=rsc
DELTA=87  (37 added, 50 deleted, 0 changed)
OCL=16498
CL=16507
2008-10-05 08:34:48 -07:00
Russ Cox
f464beb61d fix method use bug in powser1.
R=r
DELTA=7  (2 added, 2 deleted, 3 changed)
OCL=16495
CL=16499
2008-10-04 22:11:26 -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
7766b12ead const bug, name bug - working on both
R=r
DELTA=43  (43 added, 0 deleted, 0 changed)
OCL=16468
CL=16475
2008-10-03 17:06:24 -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
Ian Lance Taylor
8d0ed065dc With the cleanup of method types, this test case is now
invalid.  The receiver type is not permitted to be a pointer
type.  Since 6g currently accepts it, this moves the test case
back to the bugs directory.

R=gri
DELTA=22  (11 added, 11 deleted, 0 changed)
OCL=16284
CL=16336
2008-10-01 17:01:42 -07:00
Russ Cox
77a911bcc1 update golden.out
R=r
OCL=16250
CL=16250
2008-09-30 15:45:49 -07:00
Russ Cox
5ed04d71fb tests of new func arg code
R=r
DELTA=41  (41 added, 0 deleted, 0 changed)
OCL=16212
CL=16223
2008-09-30 14:08:43 -07:00
Rob Pike
ca6d4238a4 update golden for new error messages
R=rsc
OCL=16213
CL=16213
2008-09-30 13:07:38 -07:00
Rob Pike
fa2b4cbf44 104, 107, 108: they are known to fail, so mark them appropriately.
update golden
add the "goroutines" test

R=iant
DELTA=74  (36 added, 23 deleted, 15 changed)
OCL=16194
CL=16206
2008-09-30 12:31:47 -07:00
Ian Lance Taylor
aadd32223d Test that floating point constants resolve to type "float".
Currently 6g seems to resolve them to type "double".

R=ken,r
DELTA=30  (30 added, 0 deleted, 0 changed)
OCL=16132
CL=16152
2008-09-29 18:17:42 -07:00
Russ Cox
785afb0847 make bugs not fail
R=r
DELTA=6  (0 added, 0 deleted, 6 changed)
OCL=16110
CL=16114
2008-09-29 13:16:22 -07:00
Ian Lance Taylor
08df4dcf7d Storing an out of range constant into a variable should
ideally cause the compiler to give an error.  Right now 6g
warns about large shifts but does not give an error.  This CL
removes the out of range shift from shift.go, so that it will
work with gccgo, and adds a test case in bugs/ to be fixed at
a later date.

R=ken,r
DELTA=23  (9 added, 14 deleted, 0 changed)
OCL=16085
CL=16088
2008-09-29 11:03:21 -07:00
Russ Cox
43c5e63c00 Darwin kqueue/kevent-based network FDs
R=r
OCL=15998
CL=16004
2008-09-26 14:46:28 -07:00
Russ Cox
d448d18cb4 test and fix non-blocking chan ops on buffered chans
R=ken
DELTA=68  (19 added, 0 deleted, 49 changed)
OCL=15966
CL=15969
2008-09-26 11:47:04 -07:00
Ian Lance Taylor
6270e70b76 Add test case for 6g bug: result variable does not hide the
package name in the scope.

R=r
DELTA=12  (12 added, 0 deleted, 0 changed)
OCL=15913
CL=15926
2008-09-25 20:31:03 -07:00
Russ Cox
eeeaf6b931 6g misparses negative constants in imports
R=r
DELTA=8  (8 added, 0 deleted, 0 changed)
OCL=15893
CL=15898
2008-09-25 16:32:39 -07:00
Robert Griesemer
b6429768c6 bug: package identifier not visible
(should be in the scope chain like any other identifier)

R=r
DELTA=16  (16 added, 0 deleted, 0 changed)
OCL=15884
CL=15884
2008-09-25 15:45:19 -07:00
Ian Lance Taylor
b70d42f323 6g currently accepts setting a string value to an integer
constant without an explicit conversion.  I think that is a
bug.  This adds a test case for it.

Also, change errchk to include the string BUG in error
messages, so that failures are included in the count reported
by the run shell script.

R=r,ken
DELTA=11  (7 added, 0 deleted, 4 changed)
OCL=15857
CL=15880
2008-09-25 15:08: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
Rob Pike
4d12c0e170 add os.Getenv()
R=rsc
DELTA=51  (50 added, 0 deleted, 1 changed)
OCL=15665
CL=15667
2008-09-22 17:31:41 -07:00
Russ Cox
c14924bcc8 implement zoneinfo reader
R=r
DELTA=348  (338 added, 0 deleted, 10 changed)
OCL=15648
CL=15660
2008-09-22 16:41:14 -07:00
Russ Cox
173ca8a2d0 re-fix bug067, update golden.out
R=r
DELTA=9  (4 added, 3 deleted, 2 changed)
OCL=15655
CL=15655
2008-09-22 16:16:22 -07:00
Russ Cox
fb40f88c40 test cleanup
- do not print tracebacks if $GOTRACEBACK=0
	- set GOTRACEBACK=0 during tests
	- filter out pc numbers in errors

R=r
DELTA=70  (22 added, 30 deleted, 18 changed)
OCL=15618
CL=15642
2008-09-22 13:47:53 -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
8a9752dcfb another async select bug
R=r
OCL=15599
CL=15599
2008-09-20 19:56:40 -07:00
Rob Pike
9ebd9d3b7d fix some tests
R=ken
OCL=15598
CL=15598
2008-09-20 15:16:48 -07:00
Ken Thompson
934a19fa4b channel test
R=r
OCL=15587
CL=15587
2008-09-19 20:52:59 -07:00
Ian Lance Taylor
66b261a082 Check for specific error messages in the testsuite. This
permits testing that the compiler emits error messages for
specific lines that match egrep regexps.  The desired error
messages are expressed using comments of the form
	// ERROR "regexp"

R=r
DELTA=90  (73 added, 8 deleted, 9 changed)
OCL=15513
CL=15566
2008-09-19 14:39:49 -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
Robert Griesemer
6a0fb60866 - added item to TODO list in go_spec
- filed a bug

R=r
OCL=15517
CL=15517
2008-09-18 23:16:22 -07:00
Russ Cox
68209ed5e3 fix printing of -(1<<63)
R=r
OCL=15441
CL=15445
2008-09-17 14:08:52 -07:00
Russ Cox
9350ef4eea add network listening & tests
R=r,presotto
OCL=15410
CL=15440
2008-09-17 13:49:23 -07:00
Rob Pike
27c0eb8431 update tests to new communications syntax
powser1.go has not been tested - waiting for compiler to catch up

R=ken
OCL=15415
CL=15415
2008-09-16 19:33:40 -07:00
Russ Cox
4dfc7f0f14 fix / work around bugs in bufio test
R=r
DELTA=11  (8 added, 0 deleted, 3 changed)
OCL=15405
CL=15405
2008-09-16 14:15:54 -07:00
Rob Pike
85f8d4501a fix some broken tests (tests themselves were wrong)
R=gri,rsc
OCL=15310
CL=15402
2008-09-16 14:03:43 -07:00
Rob Pike
c3b397bd99 var bug is fixed
R=rsc
OCL=15400
CL=15400
2008-09-16 14:02:41 -07:00
Rob Pike
6f38063369 update bugs
delete bug100.go since the compiler is doing what we agreed.

R=gri
OCL=15367
CL=15367
2008-09-15 14:27:15 -07:00
Robert Griesemer
ddc7bc5aba test program to generate multiples of a set of factors
(as written, factors are 2, 3, and 5)

R=r
OCL=15286
CL=15286
2008-09-12 17:39:29 -07:00
Russ Cox
7c9e2c2b6c buffered input & output
R=r
DELTA=812  (803 added, 0 deleted, 9 changed)
OCL=15225
CL=15280
2008-09-12 16:42:53 -07:00
Russ Cox
22731159b0 array literals not initialized
R=r
DELTA=11  (11 added, 0 deleted, 0 changed)
OCL=15222
CL=15276
2008-09-12 16:35:02 -07:00
Russ Cox
729bc5c0c7 rudimentary string utilities.
R=r
DELTA=314  (306 added, 8 deleted, 0 changed)
OCL=15074
CL=15263
2008-09-12 16:12:20 -07:00
Russ Cox
96b906498a out of bounds bug
R=r
DELTA=9  (9 added, 0 deleted, 0 changed)
OCL=15223
CL=15223
2008-09-12 09:43:21 -07:00
Russ Cox
d988e78889 bug 100 - spurious return warnings
R=r
OCL=15221
CL=15221
2008-09-12 08:37:08 -07:00
Russ Cox
ed18e57896 new bug
R=r
DELTA=34  (34 added, 0 deleted, 0 changed)
OCL=15178
CL=15181
2008-09-11 17:19:38 -07:00
Robert Griesemer
3cd7e43182 - map composites should be of correct map type (instead of pointer type)
R=r
OCL=15180
CL=15180
2008-09-11 17:16:50 -07:00
Robert Griesemer
24b3995cb6 - 2 bugs with composite literals
R=r
OCL=15179
CL=15179
2008-09-11 17:11:16 -07:00
Robert Griesemer
94979c3177 - added 2 bugs
- moved bug 060 back into bugs

R=r
OCL=15175
CL=15175
2008-09-11 16:17:25 -07:00
Rob Pike
d6f15be61d fixes for funcs without returns
R=ken
OCL=15170
CL=15170
2008-09-11 15:48:42 -07:00
Robert Griesemer
e35139afd4 - added bug093.go
R=r
DELTA=80  (78 added, 2 deleted, 0 changed)
OCL=15094
CL=15101
2008-09-10 14:21:42 -07:00
Robert Griesemer
0416f994b7 - added convenience wrappers for sort
(work now with Ken's latest compiler fix)
- exoanded test cases accordingly
- fixed a type in the spec (thx r)

R=r
DELTA=65  (62 added, 2 deleted, 1 changed)
OCL=15050
CL=15050
2008-09-09 18:13:08 -07:00
Rob Pike
c4748872b8 update golden
R=gri
OCL=15014
CL=15014
2008-09-09 12:46:21 -07:00
Robert Griesemer
ffbccb66c2 fixed sorting.go to use proper composite literal {}'s instead of
"conversion"

R=r
OCL=14976
CL=14976
2008-09-08 18:50:35 -07:00
Robert Griesemer
18852cf6d3 - added sort package and test case
R=r
OCL=14975
CL=14975
2008-09-08 18:43:42 -07:00
Russ Cox
46eb0f7b08 limit tests to 4GB of memory.
3G works on thresher, 2G does not

R=r
OCL=14956
CL=14958
2008-09-08 15:22:45 -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
Rob Pike
7713599f95 update tests
R=gri
OCL=14847
CL=14847
2008-09-04 17:36:57 -07:00
Rob Pike
2a08f29e5f resolve that all unnecessary backslashes are rejected.
bug068 is not a bug.

R=gri
OCL=14838
CL=14838
2008-09-04 16:48:19 -07:00
Rob Pike
696815c542 extend composite literal test.
update tests.
update golden.out

R=gri
OCL=14816
CL=14816
2008-09-04 13:35:19 -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
Rob Pike
5ee2b0478a update bugs
add test for composite literals

R=gri
OCL=14766
CL=14766
2008-09-03 15:54:33 -07:00
Rob Pike
e1e53e35a4 update tests
add commands to two new ken tests

R=gri
OCL=14751
CL=14751
2008-09-03 13:21:05 -07:00
Russ Cox
32556ef9e7 in golden.out, replace $RUNFILE with '$RUNFILE'
and replace pid with PID

R=r
DELTA=4  (2 added, 0 deleted, 2 changed)
OCL=14727
CL=14727
2008-09-02 14:26:59 -07:00
Rob Pike
a0b2ccf9f4 vector cleanup:
- change Delete to Remove
- return deleted element in Remove
- remove range checking (runtime does this for you)

R=gri
OCL=14714
CL=14714
2008-09-02 13:16:43 -07:00
Rob Pike
9fbc221f0e update tests.
fix bug092, which was incorrectly specified

R=gri
OCL=14713
CL=14713
2008-09-02 13:08:40 -07:00
Robert Griesemer
fb4c2a3737 - declaring large fixed arrays is causing runtime crash
R=ken
OCL=14658
CL=14660
2008-08-29 13:47:29 -07:00
Robert Griesemer
7b4d719686 - removed need for int() conversion now that x << s has correct type
- updated golden.out

R=r
DELTA=9  (0 added, 8 deleted, 1 changed)
OCL=14657
CL=14657
2008-08-29 13:33:34 -07:00