aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Benedict Glaw <jbglaw@ług-owl.de>2021-09-13 12:08:25 +0200
committerJan-Benedict Glaw <jbglaw@ług-owl.de>2021-09-13 12:08:25 +0200
commitf42e95a830ab48e59389065ce79a013a519646f1 (patch)
tree917eabbc53d4cb38381ca912680aa4c3b5d6177c
parentc86de344f81f7a3368c2327477429c13a3746783 (diff)
downloadgcc-f42e95a830ab48e59389065ce79a013a519646f1.zip
gcc-f42e95a830ab48e59389065ce79a013a519646f1.tar.gz
gcc-f42e95a830ab48e59389065ce79a013a519646f1.tar.bz2
Fix multi-statment macro
INIT_CUMULATIVE_ARGS() expands to multiple statements, which will break right after an `if` statement. Wrap it into a block. gcc/ChangeLog: * config/alpha/vms.h (INIT_CUMULATIVE_ARGS): Wrap multi-statment define into a block.
-rw-r--r--gcc/config/alpha/vms.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/config/alpha/vms.h b/gcc/config/alpha/vms.h
index 2a9917c..0033b00 100644
--- a/gcc/config/alpha/vms.h
+++ b/gcc/config/alpha/vms.h
@@ -145,9 +145,13 @@ typedef struct {int num_args; enum avms_arg_type atypes[6];} avms_arg_info;
#undef INIT_CUMULATIVE_ARGS
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \
- (CUM).num_args = 0; \
- (CUM).atypes[0] = (CUM).atypes[1] = (CUM).atypes[2] = I64; \
- (CUM).atypes[3] = (CUM).atypes[4] = (CUM).atypes[5] = I64;
+ do \
+ { \
+ (CUM).num_args = 0; \
+ (CUM).atypes[0] = (CUM).atypes[1] = (CUM).atypes[2] = I64; \
+ (CUM).atypes[3] = (CUM).atypes[4] = (CUM).atypes[5] = I64; \
+ } \
+ while (0)
#define DEFAULT_PCC_STRUCT_RETURN 0