diff options
| author | Russ Cox <rsc@golang.org> | 2009-07-07 10:07:15 -0700 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2009-07-07 10:07:15 -0700 |
| commit | a2e017d2672bc5fe120b8d51406736e15f2cb67c (patch) | |
| tree | 8dc5fa7a0e19c1a4bfdbca423143523fea7f2f54 /src/cmd/5c/gc.h | |
| parent | 5581778ef1e5e02cc643ebb85f65762dc85f1509 (diff) | |
| download | golang-a2e017d2672bc5fe120b8d51406736e15f2cb67c.tar.gz | |
move 6c/pgen.c, 6c/pswt.c into cc
and make 5c, 8c use them.
centralizes reachability analysis
and switch generation.
now 8c doesn't have spurious warnings
in pkg/runtime.
R=ken
OCL=31266
CL=31266
Diffstat (limited to 'src/cmd/5c/gc.h')
| -rw-r--r-- | src/cmd/5c/gc.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/cmd/5c/gc.h b/src/cmd/5c/gc.h index 297a6073e..9aa7681b2 100644 --- a/src/cmd/5c/gc.h +++ b/src/cmd/5c/gc.h @@ -28,6 +28,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. + #include "../cc/cc.h" #include "../5l/5.out.h" @@ -93,6 +94,7 @@ struct Case int32 val; int32 label; char def; + char isv; }; #define C ((Case*)0) @@ -165,6 +167,7 @@ struct Rgn }; EXTERN int32 breakpc; +EXTERN int32 nbreak; EXTERN Case* cases; EXTERN Node constnode; EXTERN Node fconstnode; @@ -243,17 +246,20 @@ void noretval(int); void usedset(Node*, int); void xcom(Node*); int bcomplex(Node*, Node*); +Prog* gtext(Sym*, int32); +vlong argsize(void); /* * cgen.c */ -void cgen(Node*, Node*, int); +void cgen(Node*, Node*); void reglcgen(Node*, Node*, Node*); void lcgen(Node*, Node*); void bcgen(Node*, int); void boolgen(Node*, int, Node*); void sugen(Node*, Node*, int32); void layout(Node*, Node*, int, int, Node*); +void cgenrel(Node*, Node*); /* * txt.c @@ -296,7 +302,7 @@ void gpseudo(int, Sym*, Node*); */ int swcmp(const void*, const void*); void doswit(Node*); -void swit1(C1*, int, int32, Node*, Node*); +void swit1(C1*, int, int32, Node*); void cas(void); void bitload(Node*, Node*, Node*, Node*, Node*); void bitstore(Node*, Node*, Node*, Node*, Node*); |
