diff options
author | Russ Cox <rsc@golang.org> | 2009-08-24 17:27:55 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-08-24 17:27:55 -0700 |
commit | 83b749573cef6ceeac24202b3bc14d2860828490 (patch) | |
tree | e48d59ac3be610a5fa266574d25c82db4f958f19 /src/cmd/cc | |
parent | 86908a0f4c77108949df3f096c1523f307b16542 (diff) | |
download | golang-83b749573cef6ceeac24202b3bc14d2860828490.tar.gz |
ffi -> dynld.
move out of export data into its own section
R=r
DELTA=222 (71 added, 99 deleted, 52 changed)
OCL=33801
CL=33808
Diffstat (limited to 'src/cmd/cc')
-rw-r--r-- | src/cmd/cc/cc.h | 13 | ||||
-rw-r--r-- | src/cmd/cc/dpchk.c | 40 | ||||
-rw-r--r-- | src/cmd/cc/lexbody | 9 | ||||
-rw-r--r-- | src/cmd/cc/macbody | 8 |
4 files changed, 15 insertions, 55 deletions
diff --git a/src/cmd/cc/cc.h b/src/cmd/cc/cc.h index 9964681f1..a1168fc8b 100644 --- a/src/cmd/cc/cc.h +++ b/src/cmd/cc/cc.h @@ -49,7 +49,7 @@ typedef struct Hist Hist; typedef struct Term Term; typedef struct Init Init; typedef struct Bits Bits; -typedef struct Ffi Ffi; +typedef struct Dynld Dynld; #define NHUNK 50000L #define BUFSIZ 8192 @@ -437,17 +437,15 @@ struct Funct Sym* castfr[NTYPE]; }; -struct Ffi +struct Dynld { - char type; char* local; char* remote; char* path; }; -EXTERN Ffi *ffi; -EXTERN int nffi; -EXTERN char* package; +EXTERN Dynld *dynld; +EXTERN int ndynld; EXTERN struct { @@ -753,8 +751,7 @@ void pragpack(void); void pragfpround(void); void pragtextflag(void); void pragincomplete(void); -void pragffi(void); -void pragpackage(void); +void pragdynld(void); /* * calls to machine depend part diff --git a/src/cmd/cc/dpchk.c b/src/cmd/cc/dpchk.c index b1e988b87..59702f063 100644 --- a/src/cmd/cc/dpchk.c +++ b/src/cmd/cc/dpchk.c @@ -529,15 +529,11 @@ out: } void -pragffi(void) +pragdynld(void) { - Sym *local, *remote, *type; + Sym *local, *remote; char *path; - Ffi *f; - - type = getsym(); - if(type == nil) - goto err; + Dynld *f; local = getsym(); if(local == nil) @@ -551,40 +547,18 @@ pragffi(void) if(path == nil) goto err; - if(nffi%32 == 0) - ffi = realloc(ffi, (nffi+32)*sizeof ffi[0]); - f = &ffi[nffi++]; - f->type = type->name[0]; + if(ndynld%32 == 0) + dynld = realloc(dynld, (ndynld+32)*sizeof dynld[0]); + f = &dynld[ndynld++]; f->local = local->name; f->remote = remote->name; f->path = path; goto out; err: - yyerror("usage: #pragma ffi typechar local remote \"path\""); - -out: - while(getnsc() != '\n') - ; -} - -void -pragpackage(void) -{ - Sym *s; - - s = getsym(); - if(s == nil) - goto err; - - package = s->name; - goto out; - -err: - yyerror("malformed #pragma package"); + yyerror("usage: #pragma dynld local remote \"path\""); out: while(getnsc() != '\n') ; } - diff --git a/src/cmd/cc/lexbody b/src/cmd/cc/lexbody index 1c979a0f1..f5a250fcf 100644 --- a/src/cmd/cc/lexbody +++ b/src/cmd/cc/lexbody @@ -47,14 +47,7 @@ pragvararg(void) } void -pragffi(void) -{ - while(getnsc() != '\n') - ; -} - -void -pragpackage(void) +pragdynld(void) { while(getnsc() != '\n') ; diff --git a/src/cmd/cc/macbody b/src/cmd/cc/macbody index 09ecccf5d..7b45841d4 100644 --- a/src/cmd/cc/macbody +++ b/src/cmd/cc/macbody @@ -737,12 +737,8 @@ macprag(void) pragincomplete(); return; } - if(s && strcmp(s->name, "ffi") == 0) { - pragffi(); - return; - } - if(s && strcmp(s->name, "package") == 0) { - pragpackage(); + if(s && strcmp(s->name, "dynld") == 0) { + pragdynld(); return; } while(getnsc() != '\n') |