From 434ed96dd2aafe787d17925b929b12774cea2c62 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 23 Nov 2017 15:19:24 +1100 Subject: Revert "BLI_utildefines: Support SWAP macro with two args" This reverts commit d749320e3b10161430bc4cb7dd92edb63712bf8c. It's possible the container struct is larger, we could do sizeof checks that falls back to memmove but rather avoid complicating things. --- source/blender/blenlib/BLI_utildefines.h | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) (limited to 'source/blender/blenlib/BLI_utildefines.h') diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h index ec6042637aa..8f8d7cc3b7f 100644 --- a/source/blender/blenlib/BLI_utildefines.h +++ b/source/blender/blenlib/BLI_utildefines.h @@ -140,24 +140,15 @@ extern "C" { /* some math and copy defines */ -#define _VA_SWAP3(type, a, b) { \ - CHECK_TYPE(a, type); \ - CHECK_TYPE(b, type); \ - type SWAP = (a); \ - (a) = (b); \ - (b) = SWAP; \ -} (void)0 - -#define _VA_SWAP2(a, b) { \ - CHECK_TYPE_PAIR(a, b); \ - struct { char a_[sizeof(a)]; } SWAP, *a_ = (void *)&(a), *b_ = (void *)&(b); \ - SWAP = *a_; \ - *a_ = *b_; \ - *b_ = SWAP; \ -} ((void)0) -/* SWAP with two or three args (initial type argument is optional) */ -#define SWAP(...) VA_NARGS_CALL_OVERLOAD(_VA_SWAP, __VA_ARGS__) +#define SWAP(type, a, b) { \ + type sw_ap; \ + CHECK_TYPE(a, type); \ + CHECK_TYPE(b, type); \ + sw_ap = (a); \ + (a) = (b); \ + (b) = sw_ap; \ +} (void)0 /* swap with a temp value */ #define SWAP_TVAL(tval, a, b) { \ -- cgit v1.2.3