Similar to commit 84f5ac9418ea ("pipeline: fix build with ASan").

Here we are again. Depending on options (like debug, or ASan, or UBSan),
compilation can fail because of dumb construct like CHECK(0, XXX).
Dumb, because such an expression macro expands as: if (0) return -XXX;

../lib/pipeline/rte_swx_pipeline.c: In function ‘instr_movh_translate’:
../lib/pipeline/rte_swx_pipeline.c:3461:1: error: control reaches end of
        non-void function [-Werror=return-type]
 3461 | }
      | ^

Remove any such call when at the end of functions, using a regexp:
%s/CHECK(0, \(.*\))\(;\n}\)/return -\1\2/

Cc: [email protected]

Signed-off-by: David Marchand <[email protected]>
---
 lib/pipeline/rte_swx_pipeline.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/pipeline/rte_swx_pipeline.c b/lib/pipeline/rte_swx_pipeline.c
index a9157815e4..8ceb1fe88d 100644
--- a/lib/pipeline/rte_swx_pipeline.c
+++ b/lib/pipeline/rte_swx_pipeline.c
@@ -2524,7 +2524,7 @@ instr_table_translate(struct rte_swx_pipeline *p,
                return 0;
        }
 
-       CHECK(0, EINVAL);
+       return -EINVAL;
 }
 
 static inline void
@@ -3049,7 +3049,7 @@ instr_extern_translate(struct rte_swx_pipeline *p,
                return 0;
        }
 
-       CHECK(0, EINVAL);
+       return -EINVAL;
 }
 
 static inline void
@@ -3457,7 +3457,7 @@ instr_movh_translate(struct rte_swx_pipeline *p,
                return 0;
        }
 
-       CHECK(0, EINVAL);
+       return -EINVAL;
 }
 
 static inline void
-- 
2.53.0

Reply via email to