Age | Commit message (Collapse) | Author | Files | Lines |
|
R=ken
OCL=29425
CL=29427
|
|
R=r
OCL=29421
CL=29421
|
|
R=ken
OCL=29407
CL=29407
|
|
R=r
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=29212
CL=29249
|
|
(will submit with compiler fixes).
R=r
DELTA=44 (44 added, 0 deleted, 0 changed)
OCL=29211
CL=29248
|
|
update tests.
R=ken
OCL=29207
CL=29207
|
|
R=r
DELTA=79 (79 added, 0 deleted, 0 changed)
OCL=29196
CL=29202
|
|
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
|
|
move interface tests to subdirectory.
R=r
DELTA=1632 (827 added, 804 deleted, 1 changed)
OCL=29181
CL=29191
|
|
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
|
|
bug117.go:13:12: error: reference to undefined field or method
import1.go:9:2: error: redefinition of '.main.bufio'
import1.go:8:2: note: previous definition of '.main.bufio' was here
import1.go:9:2: error: incompatible imported type 'bufio.Error'
interface9.go:25:5: error: incompatible types in assignment (method P requires a pointer)
interface9.go:30:5: error: incompatible types in assignment (method P requires a pointer)
R=rsc
DELTA=5 (0 added, 0 deleted, 5 changed)
OCL=29044
CL=29055
|
|
os.Exit(0) at the end of main.
R=rsc
DELTA=6 (0 added, 6 deleted, 0 changed)
OCL=28967
CL=28969
|
|
R=ken
OCL=28918
CL=28918
|
|
gives an type mismatch error, although both values appear to
have the same type.
R=ken,rsc
DELTA=23 (23 added, 0 deleted, 0 changed)
OCL=28786
CL=28805
|
|
R=ken
OCL=28785
CL=28785
|
|
R=r
DELTA=20 (20 added, 0 deleted, 0 changed)
OCL=28707
CL=28716
|
|
test case for new change.
both work with the current compiler too.
R=r
DELTA=150 (145 added, 2 deleted, 3 changed)
OCL=28703
CL=28715
|
|
to use single string argument instead of string, index.
R=r
DELTA=136 (9 added, 7 deleted, 120 changed)
OCL=28642
CL=28644
|
|
R=r
DELTA=10 (10 added, 0 deleted, 0 changed)
OCL=28585
CL=28591
|
|
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
|
|
R=r
OCL=28569
CL=28573
|
|
R=rsc
DELTA=19 (4 added, 5 deleted, 10 changed)
OCL=28563
CL=28566
|
|
R=r
DELTA=24 (24 added, 0 deleted, 0 changed)
OCL=28451
CL=28508
|
|
also tests method calls on ptr to interface value.
R=r
DELTA=74 (74 added, 0 deleted, 0 changed)
OCL=28419
CL=28424
|
|
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
|
|
R=r
DELTA=134 (134 added, 0 deleted, 0 changed)
OCL=28373
CL=28380
|
|
R=r
OCL=28321
CL=28357
|
|
R=r
OCL=28319
CL=28319
|
|
R=r
DELTA=40 (40 added, 0 deleted, 0 changed)
OCL=28308
CL=28311
|
|
R=r
DELTA=42 (20 added, 22 deleted, 0 changed)
OCL=28295
CL=28295
|
|
R=r
DELTA=17 (2 added, 9 deleted, 6 changed)
OCL=28286
CL=28286
|
|
value has been received. This failed with gccgo before
today.
R=ken,r
DELTA=18 (18 added, 0 deleted, 0 changed)
OCL=28185
CL=28190
|
|
R=ken
OCL=28120
CL=28124
|
|
you should be able to convert a pointer to an array to a
slice, you should not be able to convert an array to a slice.
Currently 6g works the other way around.
R=ken,rsc
DELTA=17 (17 added, 0 deleted, 0 changed)
OCL=28033
CL=28067
|
|
R=r
OCL=27987
CL=27987
|
|
R=r
OCL=27980
CL=27980
|
|
R=r
OCL=27979
CL=27979
|
|
declbad.go:15:3: error: variables redeclared but no variable is new
declbad.go:20:3: error: redefinition of 'f'
declbad.go:19:3: note: previous definition of 'f' was here
declbad.go:25:3: error: redefinition of 'i'
declbad.go:24:3: note: previous definition of 'i' was here
declbad.go:30:3: error: variables redeclared but no variable is new
declbad.go:35:3: error: redefinition of 'i'
declbad.go:34:3: note: previous definition of 'i' was here
declbad.go:40:3: error: variables redeclared but no variable is new
declbad.go:45:3: error: variables redeclared but no variable is new
R=r
DELTA=10 (0 added, 0 deleted, 10 changed)
OCL=27934
CL=27957
|
|
(same as bug144.go but for types instead of constants)
TBR=ken
DELTA=17 (17 added, 0 deleted, 0 changed)
OCL=27855
CL=27855
|
|
as a new name in a later declaration
(bug 144)
R=r
OCL=27850
CL=27850
|
|
- submitted per discussion w/ ken
TBR=ken
DELTA=25 (25 added, 0 deleted, 0 changed)
OCL=27824
CL=27826
|
|
as a regression test for the fix made in s2/27706.
R=r
APPROVED=r
DELTA=14 (13 added, 0 deleted, 1 changed)
OCL=27707
CL=27709
|
|
R=dsymonds
DELTA=58 (26 added, 32 deleted, 0 changed)
OCL=27698
CL=27698
|
|
R=dsymonds
DELTA=6 (6 added, 0 deleted, 0 changed)
OCL=27654
CL=27654
|
|
R=r
APPROVED=r
DELTA=26 (26 added, 0 deleted, 0 changed)
OCL=27651
CL=27651
|
|
R=r
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=27633
CL=27639
|
|
R=ken
OCL=27621
CL=27621
|
|
R=ken
OCL=27620
CL=27620
|
|
R=ken
DELTA=71 (71 added, 0 deleted, 0 changed)
OCL=27616
CL=27616
|
|
*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
|