h8300.c (h8300_encode_label): Use '&' for tiny data items.
authorJeffrey A Law <law@cygnus.com>
Fri, 21 Aug 1998 02:07:01 +0000 (02:07 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 21 Aug 1998 02:07:01 +0000 (20:07 -0600)
        * h8300.c (h8300_encode_label): Use '&' for tiny data items.
        * h8300.h (TINY_DATA_NAME_P): Likewise.
        (STRIP_NAME_ENCODING): Handle '&'.

From-SVN: r21892

gcc/ChangeLog
gcc/config/h8300/h8300.c
gcc/config/h8300/h8300.h

index 4bda63125f0a1496d7e74dcad5b2bc87128ef452..ed6d2dc9d3318178a55679be0ea14bbb4a5e98bc 100644 (file)
@@ -1,5 +1,9 @@
 Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
 
+       * h8300.c (h8300_encode_label): Use '&' for tiny data items.
+       * h8300.h (TINY_DATA_NAME_P): Likewise.
+       (STRIP_NAME_ENCODING): Handle '&'.
+
        * mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
        register (it could be accessed via an outer SUBREG).
        (REG_OK_FOR_BASE_P): Likewwise.
index e0dff83c9d3626880aa47b379cfd08012961d51d..3f66b0630b5f48afeb30476ac74de4e046b4b7c6 100644 (file)
@@ -2996,7 +2996,7 @@ h8300_encode_label (decl)
   newstr = obstack_alloc (saveable_obstack, len + 2);
 
   strcpy (newstr + 1, str);
-  *newstr = '*';
+  *newstr = '&';
   XSTR (XEXP (DECL_RTL (decl), 0), 0) = newstr;
 }
 
index 4da7c9ea96f2802794edc6890437b3a1eef1de3c..3d2d1e3a1f47a02823b7527cf94dfaffb2bc0f38 100644 (file)
@@ -1117,7 +1117,7 @@ readonly_data()                                           \
     }                                          \
 }                                               
 
-#define TINY_DATA_NAME_P(NAME) (*(NAME) == '*')
+#define TINY_DATA_NAME_P(NAME) (*(NAME) == '&')
 
 /* If we are referencing a function that is supposed to be called
    through the function vector, the SYMBOL_REF_FLAG in the rtl
@@ -1138,7 +1138,7 @@ readonly_data()                                           \
 /* Store the user-specified part of SYMBOL_NAME in VAR.
    This is sort of inverse to ENCODE_SECTION_INFO.  */
 #define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
-  (VAR) = (SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*' || (SYMBOL_NAME)[0] == '@');
+  (VAR) = (SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*' || (SYMBOL_NAME)[0] == '@' || SYMBOL_NAME[0] == '&') 
 
 /* How to refer to registers in assembler output.
    This sequence is indexed by compiler's hard-register-number (see above).  */