Hi,
this patch wraps riscv.h's ASM_OUTPUT_LABELREF in "do {} while (0)".
Build for riscv64.
Committed as obvious.
Thanks,
- Tom
[riscv] Wrap ASM_OUTPUT_LABELREF in do {} while (0)
2017-11-12 Tom de Vries <t...@codesourcery.com>
* config/riscv/riscv.h (ASM_OUTPUT_LABELREF): Wrap in do {} while (0).
---
gcc/config/riscv/riscv.h | 15 +--
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 91a9c33..fe09e84 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -585,12 +585,15 @@ typedef struct {
/* 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)
#define JUMP_TABLES_IN_TEXT_SECTION 0
#define CASE_VECTOR_MODE SImode