summaryrefslogtreecommitdiff
path: root/src/cmd/cc
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-08-24 17:27:55 -0700
committerRuss Cox <rsc@golang.org>2009-08-24 17:27:55 -0700
commit83b749573cef6ceeac24202b3bc14d2860828490 (patch)
treee48d59ac3be610a5fa266574d25c82db4f958f19 /src/cmd/cc
parent86908a0f4c77108949df3f096c1523f307b16542 (diff)
downloadgolang-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.h13
-rw-r--r--src/cmd/cc/dpchk.c40
-rw-r--r--src/cmd/cc/lexbody9
-rw-r--r--src/cmd/cc/macbody8
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')