diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1995-12-13 12:03:00 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1995-12-13 12:03:00 +0000 |
commit | 19d2d16f76cb7db71bf791d0a6ee97dbaf85e004 (patch) | |
tree | 5d3dbd61d745acb21e9375435f20f5d65be67bc9 /gcc/config/rs6000/win-nt.h | |
parent | 8282721e69149bb576f793043144f1d7ddc68681 (diff) | |
download | gcc-19d2d16f76cb7db71bf791d0a6ee97dbaf85e004.tar.gz |
Use simpler functions instead of printf. INT_TYPE_SIZE is always 32. For NT, do not emit .extern for builtin functions
From-SVN: r10704
Diffstat (limited to 'gcc/config/rs6000/win-nt.h')
-rw-r--r-- | gcc/config/rs6000/win-nt.h | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/gcc/config/rs6000/win-nt.h b/gcc/config/rs6000/win-nt.h index 9df2a5b2336..fa71bf8dd38 100644 --- a/gcc/config/rs6000/win-nt.h +++ b/gcc/config/rs6000/win-nt.h @@ -325,25 +325,34 @@ toc_section () \ #undef ASM_OUTPUT_EXTERNAL -#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ -{ rtx _symref = XEXP (DECL_RTL (DECL), 0); \ - if ((TREE_CODE (DECL) == VAR_DECL \ - || TREE_CODE (DECL) == FUNCTION_DECL) \ - && (NAME)[0] != '*' \ - && (NAME)[strlen (NAME) - 1] != ']') \ - { \ - char *_name = (char *) permalloc (strlen (XSTR (_symref, 0)) + 5); \ - strcpy (_name, XSTR (_symref, 0)); \ - XSTR (_symref, 0) = _name; \ - } \ - fprintf (FILE, "\t.extern "); \ - assemble_name (FILE, XSTR (_symref, 0)); \ - if (TREE_CODE (DECL) == FUNCTION_DECL) \ - { \ - fprintf (FILE, "\n\t.extern .."); \ - assemble_name (FILE, XSTR (_symref, 0)); \ - } \ - fprintf (FILE, "\n"); \ +#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ +{ \ + char *_name; \ + rtx _symref = XEXP (DECL_RTL (DECL), 0); \ + if ((TREE_CODE (DECL) == VAR_DECL \ + || TREE_CODE (DECL) == FUNCTION_DECL) \ + && (NAME)[0] != '*' \ + && (NAME)[strlen (NAME) - 1] != ']') \ + { \ + _name = (char *) permalloc (strlen (XSTR (_symref, 0)) + 5); \ + strcpy (_name, XSTR (_symref, 0)); \ + XSTR (_symref, 0) = _name; \ + } \ + else \ + _name = XSTR (_symref, 0); \ + \ + if (DECL_FUNCTION_CODE (DECL) == 0) \ + { \ + fputs ("\t.extern ", FILE); \ + assemble_name (FILE, _name); \ + putc ('\n', FILE); \ + if (TREE_CODE (DECL) == FUNCTION_DECL) \ + { \ + fputs ("\t.extern ..", FILE); \ + assemble_name (FILE, _name); \ + putc ('\n', FILE); \ + } \ + } \ } /* Similar, but for libcall. We only have to worry about the function name, |