https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88518
--- Comment #2 from Matthew Wilcox <matthew at wil dot cx> --- Thanks! What I actually want to do is annotate g() to the effect that it reads the pointed-to variable before it writes it. IOW, I want to write something like: void g(unsigned long __attribute__((read_before_write)) *p); void h(void); void f(void) { unsigned long i; h(); g(&i); } and have gcc emit a warning that i is used uninitialised. I tried adding i = i prior to the call of g() through macro trickery, but was surprised that it didn't trigger, and simplified down to this test-case. Any chance I could get that attribute or something like it?