aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2017-11-08 08:51:52 +0000
committerTom de Vries <vries@gcc.gnu.org>2017-11-08 08:51:52 +0000
commit66d4b7331f6b178f3eeb5f4315c6c596733d9da4 (patch)
tree368732fc9b8d08042e61adbb5ccdec6c9858329a
parent65f371e47ee0f9e6af51412b552f1b46a0d33f51 (diff)
downloadgcc-66d4b7331f6b178f3eeb5f4315c6c596733d9da4.zip
gcc-66d4b7331f6b178f3eeb5f4315c6c596733d9da4.tar.gz
gcc-66d4b7331f6b178f3eeb5f4315c6c596733d9da4.tar.bz2
[mips] Wrap ASM_OUTPUT_LABELREF in do {} while (0)
2017-11-07 Tom de Vries <tom@codesourcery.com> * config/mips/mips.h (ASM_OUTPUT_LABELREF): Wrap in "do {} while (0)". From-SVN: r254521
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/mips/mips.h15
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b2aa449..ed9a130 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2017-11-07 Tom de Vries <tom@codesourcery.com>
+ * config/mips/mips.h (ASM_OUTPUT_LABELREF): Wrap in "do {} while (0)".
+
+2017-11-07 Tom de Vries <tom@codesourcery.com>
+
* config/mips/mips.h (ASM_OUTPUT_CASE_END): Remove semicolon after
"do {} while (0)".
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index c1fcb863..bea2ce8 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -2566,12 +2566,15 @@ typedef struct mips_args {
/* This handles the magic '..CURRENT_FUNCTION' symbol, which means
'the start of the function that this code is output in'. */
-#define ASM_OUTPUT_LABELREF(FILE,NAME) \
- if (strcmp (NAME, "..CURRENT_FUNCTION") == 0) \
- asm_fprintf ((FILE), "%U%s", \
- XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \
- else \
- asm_fprintf ((FILE), "%U%s", (NAME))
+#define ASM_OUTPUT_LABELREF(FILE,NAME) \
+ do { \
+ if (strcmp (NAME, "..CURRENT_FUNCTION") == 0) \
+ asm_fprintf ((FILE), "%U%s", \
+ XSTR (XEXP (DECL_RTL (current_function_decl), \
+ 0), 0)); \
+ else \
+ asm_fprintf ((FILE), "%U%s", (NAME)); \
+ } while (0)
/* Flag to mark a function decl symbol that requires a long call. */
#define SYMBOL_FLAG_LONG_CALL (SYMBOL_FLAG_MACH_DEP << 0)