OSDN Git Service

(SUBTARGET_CC1_SPEC): Define.
[pf3gnuchains/gcc-fork.git] / gcc / defaults.h
index 7234206..1bf5d6a 100644 (file)
@@ -1,10 +1,8 @@
 /* Definitions of various defaults for how to do assembler output
    (most of which are designed to be appropriate for GAS or for
    some BSD assembler).
-
-   Written by Ron Guilmette (rfg@ncd.com)
-
-Copyright (C) 1992 Free Software Foundation, Inc.
+   Copyright (C) 1992, 1996 Free Software Foundation, Inc.
+   Contributed by Ron Guilmette (rfg@monkeys.com)
 
 This file is part of GNU CC.
 
@@ -20,7 +18,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 /* Store in OUTPUT a string (made with alloca) containing
    an assembler-name for a local static variable or function named NAME.
@@ -55,19 +54,6 @@ do { fprintf (FILE, "\t%s\t", ASM_LONG);                             \
    } while (0)
 #endif
 
-/* This is how to output an element of a case-vector that is relative.
-   Some targets don't use this, but we have to define it anyway.  */
-
-#ifndef ASM_OUTPUT_ADDR_DIFF_ELT
-#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
-do { fprintf (FILE, "\t%s\t", ASM_SHORT);                              \
-     ASM_GENERATE_INTERNAL_LABEL (FILE, "L", (VALUE));                 \
-     fputc ('-', FILE);                                                        \
-     ASM_GENERATE_INTERNAL_LABEL (FILE, "L", (REL));                   \
-     fputc ('\n', FILE);                                               \
-   } while (0)
-#endif
-
 /* choose a reasonable default for ASM_OUTPUT_ASCII.  */
 
 #ifndef ASM_OUTPUT_ASCII
@@ -118,3 +104,32 @@ do { fprintf (FILE, "\t%s\t", ASM_SHORT);                          \
 #define ASM_IDENTIFY_LANGUAGE(FILE) output_lang_identify (FILE);
 #endif
 #endif
+
+/* This is how we tell the assembler to equate two values.  */
+#ifdef SET_ASM_OP
+#ifndef ASM_OUTPUT_DEF
+#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2)                             \
+ do {  fprintf ((FILE), "\t%s\t", SET_ASM_OP);                         \
+       assemble_name (FILE, LABEL1);                                   \
+       fprintf (FILE, ",");                                            \
+       assemble_name (FILE, LABEL2);                                   \
+       fprintf (FILE, "\n");                                           \
+  } while (0)
+#endif
+#endif
+
+/* This is how to output a reference to a user-level label named NAME.  */
+
+#ifndef ASM_OUTPUT_LABELREF
+#define ASM_OUTPUT_LABELREF(FILE,NAME)  \
+  do { fputs (USER_LABEL_PREFIX, FILE); fputs (NAME, FILE); } while (0)
+#endif
+
+/* This determines whether or not we support weak symbols.  */
+#ifndef SUPPORTS_WEAK
+#ifdef ASM_WEAKEN_LABEL
+#define SUPPORTS_WEAK 1
+#else
+#define SUPPORTS_WEAK 0
+#endif
+#endif