root/usr/src/tools/smatch/src/validation/sm_range2.c
#include "check_debug.h"
int some_func();
int a, b, c, d, e;
int frob(void) {
        if (a)
                __smatch_value("a");
        else
                __smatch_value("a");
        __smatch_value("a");
        if (a) {
                b = 0;
                __smatch_value("b");
        }
        __smatch_value("b");
        c = 0;
        c = some_func();
        __smatch_value("c");
        if (d < -3 || d > 99)
                return;
        __smatch_value("d");
        if (d) {
                if (!e)
                        return;
        }
        __smatch_value("d");
        __smatch_value("e");
}
/*
 * check-name: Smatch range test #2
 * check-command: smatch -I.. sm_range2.c
 *
 * check-output-start
sm_range2.c:6 frob() a = s32min-(-1),1-s32max
sm_range2.c:8 frob() a = 0
sm_range2.c:9 frob() a = s32min-s32max
sm_range2.c:12 frob() b = 0
sm_range2.c:14 frob() b = s32min-s32max
sm_range2.c:17 frob() c = s32min-s32max
sm_range2.c:20 frob() d = (-3)-99
sm_range2.c:25 frob() d = (-3)-99
sm_range2.c:26 frob() e = s32min-s32max
 * check-output-end
 */