#include <stdio.h>
#define ASSERT_VALUES(condition, printsyntax, ...) \
if(!(condition)) \
printf("condition %s not met! (" printsyntax ")\n", #condition, __VA_ARGS__);
int main(int argc, int argv)
{
int *i = NULL;
int j = 11;
ASSERT_VALUES((i!=NULL) && (j>10), "i=%p, j=%d", i, j)
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgQVNTRVJUX1ZBTFVFUyhjb25kaXRpb24sIHByaW50c3ludGF4LCAuLi4pIFwKICAgIGlmKCEoY29uZGl0aW9uKSkgXAogICAgICAgIHByaW50ZigiY29uZGl0aW9uICVzIG5vdCBtZXQhICgiIHByaW50c3ludGF4ICIpXG4iLCAjY29uZGl0aW9uLCBfX1ZBX0FSR1NfXyk7CgppbnQgbWFpbihpbnQgYXJnYywgaW50IGFyZ3YpCnsKICAgICAgICBpbnQgKmkgPSBOVUxMOwogICAgICAgIGludCBqID0gMTE7CiAgICAgICAgQVNTRVJUX1ZBTFVFUygoaSE9TlVMTCkgJiYgKGo+MTApLCAiaT0lcCwgaj0lZCIsIGksIGopCiAgICAgICAgcmV0dXJuIDA7Cn0K