OSDN Git Service

* s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
[pf3gnuchains/gcc-fork.git] / gcc / config / darwin.c
index e293abb..2fdc20a 100644 (file)
@@ -265,7 +265,7 @@ const char *
 machopic_non_lazy_ptr_name (name)
      const char *name;
 {
-  char *temp_name;
+  const char *temp_name;
   tree temp, ident = get_identifier (name);
   
   for (temp = machopic_non_lazy_pointers;
@@ -389,7 +389,7 @@ machopic_validate_stub_or_non_lazy_ptr (name, validate_stub)
      const char *name;
      int validate_stub;
 {
-  char *real_name;
+  const char *real_name;
   tree temp, ident = get_identifier (name), id2;
 
     for (temp = (validate_stub ? machopic_stubs : machopic_non_lazy_pointers);
@@ -428,10 +428,12 @@ machopic_indirect_data_reference (orig, reg)
 
       if (machopic_data_defined_p (name))
        {
+#if defined (TARGET_TOC) || defined (HAVE_lo_sum)
          rtx pic_base = gen_rtx (SYMBOL_REF, Pmode, 
                                  machopic_function_base_name ());
          rtx offset = gen_rtx (CONST, Pmode,
                                gen_rtx (MINUS, Pmode, orig, pic_base));
+#endif
 
 #if defined (TARGET_TOC) /* i.e., PowerPC */
          rtx hi_sum_reg = reg;
@@ -491,9 +493,6 @@ machopic_indirect_data_reference (orig, reg)
       else
        result = gen_rtx (PLUS, Pmode, base, orig);
 
-      if (RTX_UNCHANGING_P (base) && RTX_UNCHANGING_P (orig))
-       RTX_UNCHANGING_P (result) = 1;
-
       if (MACHOPIC_JUST_INDIRECT && GET_CODE (base) == MEM)
        {
          if (reg)
@@ -665,10 +664,10 @@ machopic_legitimize_pic_address (orig, mode, reg)
            }
          
 #if !defined (TARGET_TOC)
-         RTX_UNCHANGING_P (pic_ref) = 1;
          emit_move_insn (reg, pic_ref);
          pic_ref = gen_rtx (MEM, GET_MODE (orig), reg);
 #endif
+         RTX_UNCHANGING_P (pic_ref) = 1;
        }
       else
        {
@@ -700,6 +699,7 @@ machopic_legitimize_pic_address (orig, mode, reg)
                                  gen_rtx (LO_SUM, Pmode,
                                           hi_sum_reg, offset)));
              pic_ref = reg;
+             RTX_UNCHANGING_P (pic_ref) = 1;
 #else
              emit_insn (gen_rtx (SET, VOIDmode, reg,
                                  gen_rtx (HIGH, Pmode, offset)));
@@ -707,6 +707,7 @@ machopic_legitimize_pic_address (orig, mode, reg)
                                  gen_rtx (LO_SUM, Pmode, reg, offset)));
              pic_ref = gen_rtx (PLUS, Pmode,
                                 pic_offset_table_rtx, reg);
+             RTX_UNCHANGING_P (pic_ref) = 1;
 #endif
            }
          else
@@ -737,8 +738,6 @@ machopic_legitimize_pic_address (orig, mode, reg)
            }
        }
 
-      RTX_UNCHANGING_P (pic_ref) = 1;
-
       if (GET_CODE (pic_ref) != REG)
         {
           if (reg != 0)
@@ -858,8 +857,8 @@ machopic_finish (asm_out_file)
        temp != NULL_TREE; 
        temp = TREE_CHAIN (temp))
     {
-      char *sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
-      char *lazy_name = IDENTIFIER_POINTER (TREE_PURPOSE (temp));
+      const char *const sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
+      const char *const lazy_name = IDENTIFIER_POINTER (TREE_PURPOSE (temp));
 #if 0
       tree decl = lookup_name_darwin (TREE_VALUE (temp));
 #endif
@@ -1029,7 +1028,7 @@ update_non_lazy_ptrs (name)
        temp != NULL_TREE; 
        temp = TREE_CHAIN (temp))
     {
-      char *sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
+      const char *sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
 
       if (*sym_name == '!')
        {
@@ -1093,7 +1092,7 @@ update_stubs (name)
        temp != NULL_TREE; 
        temp = TREE_CHAIN (temp))
     {
-      char *sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
+      const char *sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
 
       if (*sym_name == '!')
        {
@@ -1153,7 +1152,7 @@ machopic_select_section (exp, reloc, align)
        objc_string_object_section ();
       else if (TREE_READONLY (exp) || TREE_CONSTANT (exp))
        {
-         if (TREE_SIDE_EFFECTS (exp) || flag_pic && reloc)
+         if (TREE_SIDE_EFFECTS (exp) || (flag_pic && reloc))
            const_data_section ();
          else
            readonly_data_section ();
@@ -1226,7 +1225,7 @@ machopic_select_section (exp, reloc, align)
     }
   else if (TREE_READONLY (exp) || TREE_CONSTANT (exp))
     {
-      if (TREE_SIDE_EFFECTS (exp) || flag_pic && reloc)
+      if (TREE_SIDE_EFFECTS (exp) || (flag_pic && reloc))
        const_data_section ();
       else
        readonly_data_section ();