+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
/* 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)
\f
/* Flag to mark a function decl symbol that requires a long call. */
#define SYMBOL_FLAG_LONG_CALL (SYMBOL_FLAG_MACH_DEP << 0)