9.10.4 deprecated

The deprecated attribute causes the declaration to which it is attached to be specially recognized by the compiler. When a deprecated function or variable is used, the compiler will emit a warning.

A deprecated definition is still defined and therefore present in any object file. For example, compiling the following file:

int __attribute__((__deprecated__)) i;
int main() {
  return i;
}

will produce the warning:

deprecated.c:4: warning: `i’ is deprecated (declared
 at deprecated.c:1)

i is still defined in the resulting object file in the normal way.