another step toward interface subtypes
put explicit ./ on some runtime tests
R=r
OCL=17839
CL=17839
diff --git a/src/cmd/gc/go.h b/src/cmd/gc/go.h
index 25e92bc..b8250b1 100644
--- a/src/cmd/gc/go.h
+++ b/src/cmd/gc/go.h
@@ -208,6 +208,7 @@
uchar exported; // exported
uchar sym; // huffman encoding in object file
uchar local; // created in this file
+ uchar uniq; // imbedded field name first found
char* opackage; // original package name
char* package; // package name
@@ -398,6 +399,16 @@
char* cp; // used for content when bin==nil
};
+typedef struct Dlist Dlist;
+struct Dlist
+{
+ Sym* sym;
+ uchar ptr;
+ int offset;
+};
+
+EXTERN Dlist dotlist[10]; // size is max depth of embeddeds
+
EXTERN Io curio;
EXTERN Io pushedio;
EXTERN int32 lineno;
@@ -631,6 +642,13 @@
int Wconv(Fmt*);
int Zconv(Fmt*);
+int lookdot0(Sym*, Type*);
+int adddot1(Sym*, Type*, int);
+Node* adddot(Node*);
+void expand0(Type*);
+void expand1(Type*, int);
+void expandmeth(Sym*, Type*);
+
/*
* dcl.c
*/
@@ -748,7 +766,6 @@
Node* maplit(Node*);
Node* selectas(Node*, Node*);
Node* old2new(Node*, Type*);
-Node* adddot(Node*);
/*
* const.c