Ken Thompson
ad36c39211
bug 145
...
R=r
OCL=27979
CL=27979
2009-04-28 12:28:31 -07:00
Robert Griesemer
eaba458ee6
cannot declare a variable in new scope with same name as type in outer scope
...
(same as bug144.go but for types instead of constants)
TBR=ken
DELTA=17 (17 added, 0 deleted, 0 changed)
OCL=27855
CL=27855
2009-04-25 13:41:56 -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
Robert Griesemer
516bf6535c
- cannot declare local variable named like a constant in outer scope
...
- submitted per discussion w/ ken
TBR=ken
DELTA=25 (25 added, 0 deleted, 0 changed)
OCL=27824
CL=27826
2009-04-23 21:54:07 -07:00
Rob Pike
227fe8c530
bug143 is fixed
...
R=dsymonds
DELTA=58 (26 added, 32 deleted, 0 changed)
OCL=27698
CL=27698
2009-04-21 18:11:34 -07:00
David Symonds
d5fa81e1a9
Add bug143 to demonstrate bug with "v, ok :=" on pointers to maps.
...
R=r
APPROVED=r
DELTA=26 (26 added, 0 deleted, 0 changed)
OCL=27651
CL=27651
2009-04-20 21:03:38 -07:00
Rob Pike
72d867660d
bug142 is fixed
...
R=rsc
OCL=27331
CL=27331
2009-04-10 17:58:10 -07:00
Russ Cox
b8035ab5a5
bug142
...
R=ken
OCL=27202
CL=27202
2009-04-07 23:30:59 -07:00
Rob Pike
a888d4d233
not a bug by current understanding, so delete this file.
...
6g says: bug138.go:8: constant -1 overflows uint
gccgo says: bug138.go:8:16: error: integer constant overflow
R=rsc
DELTA=19 (0 added, 19 deleted, 0 changed)
OCL=27099
CL=27149
2009-04-07 00:15:49 -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
Rob Pike
7525e085d2
bug141 is fixed
...
R=ken
DELTA=56 (26 added, 30 deleted, 0 changed)
OCL=26628
CL=26628
2009-03-22 21:02:17 -07:00
Ian Lance Taylor
90943c8ee4
Test that interfaces work in type switches.
...
R=ken,rsc
DELTA=30 (30 added, 0 deleted, 0 changed)
OCL=26599
CL=26604
2009-03-20 16:30:54 -07:00
Ian Lance Taylor
1e39143966
Don't try to define the same label twice, as that produces a
...
label redefinition error.
R=gri
DELTA=6 (0 added, 0 deleted, 6 changed)
OCL=26357
CL=26372
2009-03-16 21:47:38 -07:00
Robert Griesemer
5a27079801
spec and implementation disagree with respect to label declarations
...
R=rsc
DELTA=19 (19 added, 0 deleted, 0 changed)
OCL=26284
CL=26336
2009-03-16 11:21:58 -07:00
Robert Griesemer
b260916a55
internal compiler error
...
R=rsc
DELTA=18 (18 added, 0 deleted, 0 changed)
OCL=26266
CL=26266
2009-03-13 14:14:50 -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
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
Ken Thompson
d27e9f528d
bug086
...
R=r
OCL=26090
CL=26090
2009-03-10 19:16:31 -07:00
Robert Griesemer
b2e91a9a29
constant conversion of int (non-ideal) constant doesn't work
...
R=rsc
DELTA=20 (20 added, 0 deleted, 0 changed)
OCL=26054
CL=26062
2009-03-10 16:39:23 -07:00
Russ Cox
63985b489b
bug085 bug129
...
R=ken
OCL=25787
CL=25791
2009-03-05 15:57:03 -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
Rob Pike
88b1f8594a
bug130 is fixed
...
R=ken
OCL=25448
CL=25448
2009-02-25 16:31:42 -08:00
Russ Cox
d3d0c256be
bug123
...
R=ken
OCL=25075
CL=25075
2009-02-16 17:44:05 -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
Robert Griesemer
920ab67b4c
label declarations not handled properly
...
R=rsc
DELTA=27 (27 added, 0 deleted, 0 changed)
OCL=25015
CL=25015
2009-02-13 13:42:43 -08:00
Robert Griesemer
a85e06f302
bug: empty statement not properly recognized in conjunction w/ labels
...
R=r
DELTA=14 (14 added, 0 deleted, 0 changed)
OCL=24610
CL=24610
2009-02-06 16:45:37 -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
Rob Pike
f9cc900ae8
bugs cleanup, including deleting one near-identical duplicate bug
...
R=rsc
DELTA=52 (15 added, 37 deleted, 0 changed)
OCL=24274
CL=24274
2009-02-03 16:59:26 -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
Rob Pike
712522a6d8
bug135 is fixed
...
TBR=ken
OCL=23650
CL=23650
2009-01-27 19:30:44 -08:00
Rob Pike
fa615a3b30
f, ok := i.(Foo) does not compile if i already is equivalent to Foo
...
R=rsc
DELTA=18 (18 added, 0 deleted, 0 changed)
OCL=23544
CL=23547
2009-01-26 18:35:18 -08:00
Russ Cox
4efad58d0a
bug133
...
R=ken
OCL=23528
CL=23528
2009-01-26 16:57:24 -08:00
Ian Lance Taylor
2a4f4dd842
Add a test for a case where 6g thinks that a field is visible
...
when it should not be. I couldn't get this any simpler; the
error seems to have to do with the order of the imports in
bug2.go.
R=rsc
DELTA=26 (26 added, 0 deleted, 0 changed)
OCL=23450
CL=23482
2009-01-26 09:59:59 -08:00
Robert Griesemer
e1e158a90c
- added comment with various viewpoints so we have whole story
...
once we close this
R=r
OCL=23239
CL=23239
2009-01-21 14:57:47 -08:00
Robert Griesemer
41644d7138
- duplicate struct field not diagnosed
...
R=rsc
DELTA=16 (16 added, 0 deleted, 0 changed)
OCL=23224
CL=23229
2009-01-21 14:11:54 -08:00
Russ Cox
839a68469b
delete export
...
TBR=r
OCL=23121
CL=23127
2009-01-20 14:40:40 -08:00
Russ Cox
f48cbfdf56
convert tests; nothing interesting.
...
R=r
OCL=23012
CL=23014
2009-01-16 16:12:14 -08:00
Russ Cox
360962420c
casify, cleanup sys
...
R=r
OCL=22978
CL=22984
2009-01-16 14:58:14 -08:00
Ian Lance Taylor
c0f6144f1b
Test that a const with an explicit type is not treated as
...
having an abstract type.
R=gri
DELTA=11 (11 added, 0 deleted, 0 changed)
OCL=22829
CL=22832
2009-01-15 11:23:35 -08:00
Russ Cox
51c3ac7e3f
bug046 and bug080 are fixed
...
R=r
DELTA=72 (30 added, 42 deleted, 0 changed)
OCL=22373
CL=22378
2009-01-08 20:06:37 -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
5564504507
new new & make
...
R=r
OCL=22166
CL=22166
2009-01-06 15:19:02 -08:00
Rob Pike
315033368e
bug020 is fixed
...
R=rsc
DELTA=40 (18 added, 22 deleted, 0 changed)
OCL=22134
CL=22139
2009-01-06 13:44:44 -08:00
Ian Lance Taylor
3f69acfb0c
Test for a go statement which calls a method on an interface.
...
R=ken
DELTA=20 (20 added, 0 deleted, 0 changed)
OCL=21889
CL=21929
2008-12-30 15:03:46 -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
Rob Pike
0816debdfc
update tests - 119 is fixed
...
R=gri
DELTA=62 (28 added, 34 deleted, 0 changed)
OCL=21269
CL=21271
2008-12-16 10:31:08 -08:00
Rob Pike
58a320f926
test update
...
R=rsc
DELTA=16 (5 added, 10 deleted, 1 changed)
OCL=21085
CL=21087
2008-12-12 13:29:25 -08:00
Russ Cox
889d9b6ffd
bug129
...
package foo
import "syscall"
func f() {
syscall := 1
}
R=ken
OCL=21036
CL=21036
2008-12-11 18:19:07 -08:00
Rob Pike
77fbc310e4
another bug cleanup.
...
R=rsc
DELTA=117 (54 added, 62 deleted, 1 changed)
OCL=20924
CL=20927
2008-12-10 14:59:43 -08:00
Rob Pike
fbfc9dddb2
update tests: nil is no longer integer-compatible
...
R=rsc
DELTA=56 (17 added, 32 deleted, 7 changed)
OCL=20876
CL=20916
2008-12-10 13:55:47 -08:00
Ian Lance Taylor
48e5110151
Tweak comments so that this test passes with gccgo.
...
bug126.go:7:7: error: redefinition of 'none'
bug126.go:6:7: note: previous definition of 'none' was here
R=gri
DELTA=3 (1 added, 0 deleted, 2 changed)
OCL=20563
CL=20723
2008-12-08 11:31:55 -08:00
Ian Lance Taylor
cc352e5c1c
The DejaGNU testsuite harness used by the gccgo testsuite is
...
broken if you give it something which matches everything--the
.* swallows all the error messages. Recognize some reasonable
error text directly.
R=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=20564
CL=20595
2008-12-05 10:20:34 -08:00
Rob Pike
94a66489ed
bug128 is fixed
...
R=rsc
DELTA=43 (19 added, 24 deleted, 0 changed)
OCL=20551
CL=20551
2008-12-04 20:51:47 -08:00
Robert Griesemer
4d76e8e142
- bug: empty switches don't compile
...
R=rsc
DELTA=32 (28 added, 3 deleted, 1 changed)
OCL=20301
CL=20340
2008-12-03 10:41:43 -08:00
Russ Cox
1e1a3c5054
6g gives no error on "0 != nil"
...
R=ken
OCL=20289
CL=20289
2008-12-02 16:35:00 -08:00
Robert Griesemer
b0192ea1a5
bug: constants should not be redeclarable
...
R=rsc
DELTA=9 (9 added, 0 deleted, 0 changed)
OCL=20187
CL=20187
2008-12-01 17:27:57 -08:00
Russ Cox
6cc001c312
return *os.Error instead of bool from strconv.ato*
...
R=r
DELTA=137 (56 added, 4 deleted, 77 changed)
OCL=19505
CL=19522
2008-11-18 17:12:07 -08:00
Ian Lance Taylor
d12c1b99c7
Add ERROR comment for errmsg to look for.
...
R=gri
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=19460
CL=19500
2008-11-18 15:58:43 -08:00
Robert Griesemer
6c5fc055c8
import syntax incorrect
...
R=r
OCL=19457
CL=19457
2008-11-18 09:39:34 -08:00
Ian Lance Taylor
d8ecead73d
The compiler should reject calling a const as though it were a
...
function. Also update golden.out.
R=r
DELTA=18 (18 added, 0 deleted, 0 changed)
OCL=19433
CL=19448
2008-11-18 06:25:21 -08:00
Ian Lance Taylor
1945cc4c3c
The compiler should reject comparisons between ints and nil.
...
R=gri
DELTA=8 (8 added, 0 deleted, 0 changed)
OCL=19434
CL=19436
2008-11-17 21:44:05 -08:00
Robert Griesemer
7692a93173
- new() accepts too many arguments
...
R=r
OCL=19413
CL=19413
2008-11-17 16:46:56 -08:00
Robert Griesemer
d58cd7626e
- interface methods must have full function type
...
R=r
OCL=19410
CL=19410
2008-11-17 16:37:13 -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
Russ Cox
f333f4685c
floating point constant errors in 6g
...
R=r
OCL=19379
CL=19379
2008-11-17 12:33:49 -08:00
Ian Lance Taylor
b1e8b5f5b7
The scope rules have been clarified to indicate that a
...
variable may only be named after the complete declaration,
including the initialization statements.
R=gri
DELTA=61 (16 added, 45 deleted, 0 changed)
OCL=19343
CL=19376
2008-11-17 12:19:02 -08:00
Ian Lance Taylor
7dee51f491
The compilers should and do permit interface types to list
...
multiple method names with a single type.
R=r,gri
DELTA=10 (0 added, 10 deleted, 0 changed)
OCL=19292
CL=19298
2008-11-14 17:28:17 -08:00
Ian Lance Taylor
c4d8dc0b83
This bug has been fixed; moving it from bugs to fixedbugs.
...
R=gri
DELTA=36 (18 added, 18 deleted, 0 changed)
OCL=19059
CL=19133
2008-11-12 21:59:43 -08:00
Robert Griesemer
20b9bfb136
wrong code for array access
...
R=r
OCL=19107
CL=19109
2008-11-12 14:57:23 -08:00
Ian Lance Taylor
a957ceec35
The scope rules have been changed to say that labels live in a
...
separate per-function namespace.
R=gri
DELTA=24 (8 added, 16 deleted, 0 changed)
OCL=19006
CL=19057
2008-11-11 18:17:54 -08:00
Rob Pike
203a17c6ec
update tests
...
R=gri
DELTA=28 (12 added, 14 deleted, 2 changed)
OCL=18923
CL=18923
2008-11-10 14:59:15 -08:00
Ian Lance Taylor
9c7374d71b
Erroneous test case. The break statement should break out of
...
a select clause.
R=ken
DELTA=20 (0 added, 20 deleted, 0 changed)
OCL=18731
CL=18739
2008-11-06 17:39:48 -08:00
Ian Lance Taylor
ce15158502
Test that a break statement inside a select statement breaks
...
out of the enclosing loop.
R=ken
DELTA=20 (20 added, 0 deleted, 0 changed)
OCL=18686
CL=18714
2008-11-06 15:24:10 -08:00
Ian Lance Taylor
48d111f0b9
6g dumps core on this input file.
...
R=ken,rsc
DELTA=14 (14 added, 0 deleted, 0 changed)
OCL=18555
CL=18598
2008-11-05 15:27:40 -08:00
Ian Lance Taylor
7fe34ea002
Fix powser1.go to compile with the current 6g, which doesn't
...
recognize methods for a variable whose type is a named type
which is a pointer type. Add bug117 to test this case.
R=r
DELTA=24 (22 added, 0 deleted, 2 changed)
OCL=18547
CL=18554
2008-11-05 12:06:48 -08:00
Russ Cox
56a7895386
fixed tests
...
R=r
DELTA=124 (62 added, 62 deleted, 0 changed)
OCL=18389
CL=18394
2008-11-03 15:52:34 -08:00
Rob Pike
c1198b9b87
update tests
...
R=rsc
DELTA=159 (65 added, 84 deleted, 10 changed)
OCL=18149
CL=18151
2008-10-30 13:26:57 -07:00
Russ Cox
cf9e46fec6
bugs from old gri mail
...
R=gri
OCL=18093
CL=18093
2008-10-29 19:34:47 -07:00
Ian Lance Taylor
e76e9cfc33
Call the right function for int32 values.
...
R=rsc
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=18073
CL=18073
2008-10-29 15:48:34 -07:00
Russ Cox
11a978adf5
shift bug in constant evaluator
...
R=ken
OCL=18031
CL=18031
2008-10-29 13:46:55 -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
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
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
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
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
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
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
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
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
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
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
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