OSDN Git Service

Eliminate the computed goto in x64 varargs.
[pf3gnuchains/gcc-fork.git] / gcc / config / i386 / cygming.h
index 999cb6e..1587af4 100644 (file)
@@ -42,6 +42,18 @@ along with GCC; see the file COPYING3.  If not see
 #if ! defined (USE_MINGW64_LEADING_UNDERSCORES)
 #undef USER_LABEL_PREFIX
 #define USER_LABEL_PREFIX (TARGET_64BIT ? "" : "_")
+
+#undef LOCAL_LABEL_PREFIX
+#define LOCAL_LABEL_PREFIX (TARGET_64BIT ? "." : "")
+
+#undef ASM_GENERATE_INTERNAL_LABEL
+#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)  \
+  sprintf ((BUF), "*%s%s%ld", LOCAL_LABEL_PREFIX, \
+          (PREFIX), (long)(NUMBER))
+
+#undef LPREFIX
+#define LPREFIX (TARGET_64BIT ? ".L" : "L")
+
 #endif
 
 #undef DBX_REGISTER_NUMBER
@@ -264,7 +276,7 @@ do {                                                \
       i386_pe_maybe_record_exported_symbol (DECL, NAME, 0);            \
       if (write_symbols != SDB_DEBUG)                                  \
        i386_pe_declare_function_type (FILE, NAME, TREE_PUBLIC (DECL)); \
-      ASM_OUTPUT_LABEL (FILE, NAME);                                   \
+      ASM_OUTPUT_FUNCTION_LABEL (FILE, NAME, DECL);                    \
     }                                                                  \
   while (0)
 
@@ -417,6 +429,9 @@ do {                                                \
 #define TARGET_CXX_ADJUST_CLASS_AT_DEFINITION i386_pe_adjust_class_at_definition
 #define TARGET_MANGLE_DECL_ASSEMBLER_NAME i386_pe_mangle_decl_assembler_name
 
+/* Static stack checking is supported by means of probes.  */
+#define STACK_CHECK_STATIC_BUILTIN 1
+
 #undef TREE
 
 #ifndef BUFSIZ