aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1997-05-02 19:29:41 +0000
committerDoug Evans <dje@gnu.org>1997-05-02 19:29:41 +0000
commit0ebaa85d1603168a75190fb2cf515cfd17c5fbef (patch)
tree99f7dc24ae96e12aa7b29c146abb448a5607b295
parent189e03e322d6db5a1a36ce1cfdc8f76338520edf (diff)
downloadgcc-0ebaa85d1603168a75190fb2cf515cfd17c5fbef.zip
gcc-0ebaa85d1603168a75190fb2cf515cfd17c5fbef.tar.gz
gcc-0ebaa85d1603168a75190fb2cf515cfd17c5fbef.tar.bz2
m32r.h (LIT_NAME_P): New macro.
* m32r/m32r.h (LIT_NAME_P): New macro. (SMALL_NAME_P): Use it. (ASM_OUTPUT_ALIGNED_COMMON): Don't output to scommon if -msdata=none. From-SVN: r14012
-rw-r--r--gcc/config/m32r/m32r.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index ed7250a..09d1c6a 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -1417,9 +1417,11 @@ extern void m32r_select_section ();
#define SDATA_NAME_P(NAME) (*(NAME) == SDATA_FLAG_CHAR)
/*#define SMALL_NAME_P(NAME) (*(NAME) == SMALL_FLAG_CHAR)*/
-#define SMALL_NAME_P(NAME) (! ENCODED_NAME_P (NAME))
+#define SMALL_NAME_P(NAME) (! ENCODED_NAME_P (NAME) && ! LIT_NAME_P (NAME))
#define MEDIUM_NAME_P(NAME) (*(NAME) == MEDIUM_FLAG_CHAR)
#define LARGE_NAME_P(NAME) (*(NAME) == LARGE_FLAG_CHAR)
+/* For string literals, etc. */
+#define LIT_NAME_P(NAME) ((NAME)[0] == '*' && (NAME)[1] == '.')
#define ENCODED_NAME_P(SYMBOL_NAME) \
(SDATA_NAME_P (SYMBOL_NAME) \
@@ -1433,7 +1435,7 @@ extern void m32r_encode_section_info ();
/* Decode SYM_NAME and store the real name part in VAR, sans
the characters that encode section info. Define this macro if
ENCODE_SECTION_INFO alters the symbol's name string. */
-/* Note that we have to handle symbols like "#*start". */
+/* Note that we have to handle symbols like "%*start". */
#define STRIP_NAME_ENCODING(VAR, SYMBOL_NAME) \
do { \
(VAR) = (SYMBOL_NAME) + ENCODED_NAME_P (SYMBOL_NAME); \
@@ -1696,7 +1698,8 @@ do { if ((LOG) != 0) fprintf (FILE, "\t.balign %d\n", 1 << (LOG)); } while (0)
#undef ASM_OUTPUT_ALIGNED_COMMON
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
do { \
- if ((SIZE) > 0 && (SIZE) <= g_switch_value) \
+ if (! TARGET_SDATA_NONE \
+ && (SIZE) > 0 && (SIZE) <= g_switch_value) \
fprintf ((FILE), "\t%s\t", SCOMMON_ASM_OP); \
else \
fprintf ((FILE), "\t%s\t", COMMON_ASM_OP); \