gcc имеет атрибут ненулевой , который создает предупреждение, если аргумент, подписанный как ненулевой , проверен на NULL… этот атрибут предполагает, что этот аргумент никогда be NULL.
Хорошо, мне нужно обратное: потому что я хочу сделать свою библиотеку NULL-pointer-SAVE … это означает, что если я откажусь от указателя, помеченного как null без флажка NON-NULL сгенерировать предупреждение:
пример:
struct TESTS {
int a1;
...
}
void test (struct TESTS *p) __attribute__((null));
...
void test (struct TESTS *p) {
p->a1 = 5; // WARNING!! because p is **not** tested on **NULL**
...