summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/win-nt.h
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1995-12-13 12:03:00 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1995-12-13 12:03:00 +0000
commit19d2d16f76cb7db71bf791d0a6ee97dbaf85e004 (patch)
tree5d3dbd61d745acb21e9375435f20f5d65be67bc9 /gcc/config/rs6000/win-nt.h
parent8282721e69149bb576f793043144f1d7ddc68681 (diff)
downloadgcc-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.h47
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,