From 0179115349c9520a592a9981716ccbf5062169e6 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 17 Aug 1994 18:31:36 -0400 Subject: [PATCH] (CLIPPER_ARG_SIZE): Return size in bytes. (FUNCTION_ARG_ADVANCE): Fix argument alignment processing. From-SVN: r7941 --- gcc/config/clipper/clipper.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gcc/config/clipper/clipper.h b/gcc/config/clipper/clipper.h index c0294b38dd9..385bfb0c51c 100644 --- a/gcc/config/clipper/clipper.h +++ b/gcc/config/clipper/clipper.h @@ -466,9 +466,10 @@ struct _clipper_cum_args { int num; int size; }; /* internal helper : size of an argument */ #define CLIPPER_ARG_SIZE(MODE, TYPE) \ -((MODE) != BLKmode \ - ? (GET_MODE_SIZE (MODE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD \ - : (int_size_in_bytes (TYPE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD) +(((MODE) != BLKmode \ + ? (GET_MODE_SIZE (MODE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD \ + : (int_size_in_bytes (TYPE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD) \ + * UNITS_PER_WORD) /* Update the data in CUM to advance over an argument of mode MODE and data type TYPE. @@ -495,7 +496,7 @@ do \ { \ int align = FUNCTION_ARG_BOUNDARY (MODE, TYPE) / BITS_PER_UNIT; \ (CUM).size += align - 1; \ - (CUM).size &= align - 1; \ + (CUM).size &= ~(align - 1); \ (CUM).size += CLIPPER_ARG_SIZE (MODE, TYPE); \ } \ } while (0) -- 2.30.2