OSDN Git Service

* config/darwin.h (GCC_NAME): Remove, no longer used.
authorshebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Oct 2001 23:22:27 +0000 (23:22 +0000)
committershebs <shebs@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 16 Oct 2001 23:22:27 +0000 (23:22 +0000)
        (NO_MATH_LIBRARY): Ditto.
        (MATH_LIBRARY): Define to emptiness.
        (DWARF2_DEBUGGING_INFO): Define.
        (PREFERRED_DEBUGGING_TYPE): Define.
        (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
        (EXCEPTION_SECTION): Define.
        (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        * config/darwin.c (darwin_encode_section_info): Handle case of
        DECL_INITIAL being error_mark_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46300 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/darwin.c
gcc/config/darwin.h

index f645485..ae255c2 100644 (file)
@@ -1,3 +1,16 @@
+2001-10-16  Stan Shebs  <shebs@apple.com>
+
+       * config/darwin.h (GCC_NAME): Remove, no longer used.
+       (NO_MATH_LIBRARY): Ditto.
+       (MATH_LIBRARY): Define to emptiness.
+       (DWARF2_DEBUGGING_INFO): Define.
+       (PREFERRED_DEBUGGING_TYPE): Define.
+       (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
+       (EXCEPTION_SECTION): Define.
+       (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+       * config/darwin.c (darwin_encode_section_info): Handle case of
+       DECL_INITIAL being error_mark_node.
+
 2001-10-16  Richard Henderson  <rth@redhat.com>
 
        * alpha.c (current_file_function_operand): Don't fail for profiling.
index a46d46b..225a757 100644 (file)
@@ -1014,7 +1014,8 @@ darwin_encode_section_info (decl)
       && !DECL_EXTERNAL (decl)
       && ((TREE_STATIC (decl)
           && (!DECL_COMMON (decl) || !TREE_PUBLIC (decl)))
-         || DECL_INITIAL (decl)))
+         || (DECL_INITIAL (decl)
+             && DECL_INITIAL (decl) != error_mark_node)))
     defined = 1;
 
   if (TREE_CODE (decl) == FUNCTION_DECL)
index 54b669a..d4a8197 100644 (file)
@@ -35,14 +35,11 @@ Boston, MA 02111-1307, USA.  */
    leave it undefined and expect system builders to set configure args
    correctly.  */
 
-/* Name of the command that invokes the compiler - used in g++.c.  */
+/* Suppress g++ attempt to link in the math library automatically.
+   (Some Darwin versions have a libm, but they seem to cause problems
+   for C++ executables.)  */
 
-#undef  GCC_NAME
-#define GCC_NAME "cc"
-
-/* Never try linking with -lm - used in g++.c.  */
-
-#define NO_MATH_LIBRARY
+#define MATH_LIBRARY ""
 
 /* We have atexit.  */
 
@@ -126,6 +123,12 @@ Boston, MA 02111-1307, USA.  */
 
 #define DBX_DEBUGGING_INFO
 
+/* Also enable Dwarf 2 as an option.  */
+
+#define DWARF2_DEBUGGING_INFO
+
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
 /* When generating stabs debugging, use N_BINCL entries.  */
 
 #define DBX_USE_BINCL
@@ -349,6 +352,7 @@ do { if (!strcmp (alias_name, name))                                        \
   in_machopic_lazy_symbol_ptr,                         \
   in_machopic_symbol_stub,                             \
   in_machopic_picsymbol_stub,                          \
+  in_darwin_exception, \
   num_sections
 
 #undef EXTRA_SECTION_FUNCTIONS
@@ -453,6 +457,9 @@ SECTION_FUNCTION (machopic_symbol_stub_section,             \
 SECTION_FUNCTION (machopic_picsymbol_stub_section,     \
                in_machopic_picsymbol_stub,             \
                ".picsymbol_stub", 0)                   \
+SECTION_FUNCTION (darwin_exception_section,            \
+               in_darwin_exception,                    \
+               ".section __TEXT,__gcc_except_tab", 0)  \
                                                        \
 void                                           \
 objc_section_init ()                           \
@@ -774,6 +781,11 @@ enum machopic_addr_class {
       }                                                                \
   } while (0)
 
+#define EXCEPTION_SECTION() darwin_exception_section ()
+
+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL)  \
+  (((CODE) == 1 || (GLOBAL) == 0) ? DW_EH_PE_pcrel : DW_EH_PE_absptr)
+
 #define REGISTER_TARGET_PRAGMAS(PFILE)                          \
   do {                                                          \
     cpp_register_pragma (PFILE, 0, "mark", darwin_pragma_ignore);  \