Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
R=r
OCL=20185
CL=20185
|
|
R=r
OCL=19871
CL=19871
|
|
makes lineno correct for statements without semicolons.
R=ken
OCL=19454
CL=19454
|
|
R=r,ken
DELTA=66 (52 added, 3 deleted, 11 changed)
OCL=19386
CL=19389
|
|
R=ken
OCL=19299
CL=19299
|
|
R=r
DELTA=129 (81 added, 0 deleted, 48 changed)
OCL=19283
CL=19291
|
|
* 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
|
|
i isolated last night. does not fix rob's
interface-smashing bug.
R=ken
OCL=18698
CL=18698
|
|
* 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
|
|
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
|
|
R=r
OCL=18317
CL=18317
|
|
R=ken
OCL=18176
CL=18176
|
|
int is new type
R=r
OCL=18023
CL=18023
|
|
R=r
OCL=17851
CL=17851
|
|
put explicit ./ on some runtime tests
R=r
OCL=17839
CL=17839
|
|
auto & on methods
R=r
OCL=17682
CL=17682
|
|
R=r
OCL=17601
CL=17601
|
|
R=r
OCL=17572
CL=17572
|
|
* 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
|
|
R=r
OCL=17437
CL=17437
|
|
R=ken
OCL=17320
CL=17320
|
|
R=ken
OCL=17241
CL=17241
|
|
global signatures for basic types
R=r
OCL=17238
CL=17240
|
|
R=r
OCL=17063
CL=17063
|
|
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
|
|
R=r
OCL=16494
CL=16494
|
|
R=ken
OCL=16449
CL=16466
|
|
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
|
|
R=r
OCL=16462
CL=16462
|
|
this CL passes the tests, but should
be considered unstable
R=r
OCL=16390
CL=16390
|
|
prints that insert spaces and new line
R=r
OCL=16370
CL=16370
|
|
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
|
|
R=r
OCL=16163
CL=16163
|
|
R=r
OCL=16068
CL=16068
|
|
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
|
|
R=r
OCL=15627
CL=15627
|
|
things to break. hopefully all fixed
now.
R=r
OCL=15597
CL=15597
|
|
with new select operator
R=r
OCL=15418
CL=15418
|
|
R=r
OCL=15327
CL=15327
|
|
-- but only *struct tested
R=r
OCL=15326
CL=15326
|
|
*** Reason for rollback ***
<enter reason for rollback>
*** Original change description ***
correct signal name thru package rename
R=r
OCL=15313
CL=15313
|
|
R=r
OCL=15312
CL=15312
|
|
R=r
OCL=15119
CL=15119
|
|
R=r
OCL=14810
CL=14810
|
|
R=r
OCL=14759
CL=14759
|
|
R=r
OCL=14756
CL=14756
|
|
R=r
OCL=14732
CL=14732
|
|
R=r
OCL=14675
CL=14675
|
|
R=r
OCL=14634
CL=14634
|