f=(char*)((char*)0-f);// expected-warning {{performing pointer subtraction with a null pointer has undefined behavior}}
f=(char*)(f-(char*)0);// expected-warning {{performing pointer subtraction with a null pointer has undefined behavior}}
f=(char*)((char*)0-(char*)0);// expected-warning {{performing pointer subtraction with a null pointer has undefined behavior}} expected-warning {{performing pointer subtraction with a null pointer has undefined behavior}}
#ifndef SYSTEM_WARNINGS
SYSTEM_MACRO(f);
#else
SYSTEM_MACRO(f);// expected-warning {{performing pointer subtraction with a null pointer has undefined behavior}}