diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-05-14 22:08:42 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-05-14 22:08:42 +0000 |
commit | f3ab5720f7ce7835a905e6783b5b6720676331fb (patch) | |
tree | b119ee23a08a92b43632e3c7e227b3862c869fba /libgo/runtime/goc2c.c | |
parent | 517f1b3430f929a25694d29dc787ec33e2cbd47f (diff) | |
download | gcc-f3ab5720f7ce7835a905e6783b5b6720676331fb.zip gcc-f3ab5720f7ce7835a905e6783b5b6720676331fb.tar.gz gcc-f3ab5720f7ce7835a905e6783b5b6720676331fb.tar.bz2 |
libgo: Use -fgo-pkgpath.
From-SVN: r187485
Diffstat (limited to 'libgo/runtime/goc2c.c')
-rw-r--r-- | libgo/runtime/goc2c.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/libgo/runtime/goc2c.c b/libgo/runtime/goc2c.c index 93031ff..55c6d9b 100644 --- a/libgo/runtime/goc2c.c +++ b/libgo/runtime/goc2c.c @@ -33,6 +33,9 @@ /* Whether we're emitting for gcc */ static int gcc; +/* Package path to use; only meaningful for gcc */ +static const char *pkgpath; + /* Package prefix to use; only meaningful for gcc */ static const char *prefix; @@ -579,9 +582,13 @@ write_gcc_func_header(char *package, char *name, struct params *params, first = 1; write_params(params, &first); printf(") asm (\""); - if (prefix != NULL) - printf("%s.", prefix); - printf("%s.%s\");\n", package, name); + if (pkgpath != NULL) + printf("%s", pkgpath); + else if (prefix != NULL) + printf("%s.%s", prefix, package); + else + printf("%s", package); + printf(".%s\");\n", name); write_gcc_return_type(package, name, rets); printf(" %s_%s(", package, name); first = 1; @@ -724,7 +731,7 @@ process_file(void) static void usage(void) { - sysfatal("Usage: goc2c [--6g | --gc] [--go-prefix PREFIX] [file]\n"); + sysfatal("Usage: goc2c [--6g | --gc] [--go-pkgpath PKGPATH] [--go-prefix PREFIX] [file]\n"); } void @@ -740,7 +747,11 @@ main(int argc, char **argv) gcc = 0; else if(strcmp(argv[1], "--gcc") == 0) gcc = 1; - else if (strcmp(argv[1], "--go-prefix") == 0 && argc > 2) { + else if (strcmp(argv[1], "--go-pkgpath") == 0 && argc > 2) { + pkgpath = argv[2]; + argc--; + argv++; + } else if (strcmp(argv[1], "--go-prefix") == 0 && argc > 2) { prefix = argv[2]; argc--; argv++; |