Is there a macro which checks if an expression is a lvalue (meaning I can do &expression) using the C preprocessor?
Example: If there is some int a; and I call IS_LVALUE(a) it should evaluate to 1, while IS_LVALUE(5) should evaluate to 0, so I can do #if IS_LVALUE(...) == 1