From 2519a1aed5f08436086d35b7a7cbed1b7a2642c8 Mon Sep 17 00:00:00 2001 From: versat Date: Fri, 2 Aug 2019 12:27:46 +0200 Subject: [PATCH] gnu.cfg: Add more __builtin_* functions and some tests Most of them were detected by daca@home --- cfg/gnu.cfg | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ test/cfg/gnu.c | 9 ++++++++ 2 files changed, 66 insertions(+) diff --git a/cfg/gnu.cfg b/cfg/gnu.cfg index d22bdbef8..d8fba2612 100644 --- a/cfg/gnu.cfg +++ b/cfg/gnu.cfg @@ -39,6 +39,63 @@ + + + + + + + + + + + + + + false + + + 0: + + + + + false + + + + + + + + + + false + + + + + + + + + true + + + + + + + + + false + + + + + + + true diff --git a/test/cfg/gnu.c b/test/cfg/gnu.c index e0daf2f98..769a3c84c 100644 --- a/test/cfg/gnu.c +++ b/test/cfg/gnu.c @@ -90,6 +90,15 @@ void valid_code(int argInt1) free(p); p = (char *)xmalloc(5); xfree(p); + + // cppcheck-suppress allocaCalled + p = __builtin_alloca(5); + p[0] = 1; + // TODO cppcheck-suppress arrayIndexOutOfBounds + p[5] = 1; + __builtin_prefetch(p, 0, 1); + + if (__builtin_types_compatible_p(int, char)) {} } void ignoreleak(void)