https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88518
--- Comment #5 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Matthew Wilcox from comment #2) > 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? The object access attributes that Martin Sebor added recently might work somewhat along these lines, but I haven't actually tested yet...