소스 검색

Update swap for one evaluation

Kajetan Johannes Hammerle 3 달 전
부모
커밋
e456fd0936
1개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 3
      include/core/Utility.h

+ 5 - 3
include/core/Utility.h

@@ -48,9 +48,11 @@ i64 getNanos(void);
 // TODO: replace typeof with auto when available
 #define swap(a, b)                                                             \
     do {                                                                       \
-        typeof(*(a)) tmp = *(a);                                               \
-        *(a) = *(b);                                                           \
-        *(b) = tmp;                                                            \
+        typeof(a) aPointer = (a);                                              \
+        typeof(b) bPointer = (b);                                              \
+        typeof(*aPointer) tmp = *aPointer;                                     \
+        *aPointer = *bPointer;                                                 \
+        *bPointer = tmp;                                                       \
     } while(0)
 
 #endif