dlmalloc compiles errors with clang 79/13979/2
authorNeale Ranns <nranns@cisco.com>
Mon, 6 Aug 2018 12:16:29 +0000 (08:16 -0400)
committerDave Barach <openvpp@barachs.net>
Mon, 6 Aug 2018 15:46:15 +0000 (15:46 +0000)
of the form:
/home/nranns/Src/vpp/build-data/../src/vppinfra/dlmalloc.c:4327:7: error: logical not is only applied to the left hand side of this comparison [-Werror,-Wlogical-not-parentheses]
  if (!(ms)->magic == mparams.magic) {
/home/nranns/Src/vpp/build-data/../src/vppinfra/dlmalloc.c:4696:20: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
  if (((ms)->magic == mparams.magic)) {

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.2 LTS
Release:        16.04
Codename:       xenial

$ clang --version
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

Change-Id: If6d70a87420bd54c8e1b8be1d9e9031f6c699c45
Signed-off-by: Neale Ranns <nranns@cisco.com>
src/vppinfra/dlmalloc.c

index 1bc8f65..1b4d226 100644 (file)
@@ -1612,7 +1612,11 @@ static size_t traverse_and_check(mstate m);
 
 #if (FOOTERS && !INSECURE)
 /* Check if (alleged) mstate m has expected magic field */
-#define ok_magic(M)      ((M)->magic == mparams.magic)
+static inline int
+ok_magic (const mstate m)
+{
+    return (m->magic == mparams.magic);
+}
 #else  /* (FOOTERS && !INSECURE) */
 #define ok_magic(M)      (1)
 #endif /* (FOOTERS && !INSECURE) */