__attribute__((const)) vs __attribute__((pure)) in GNU C __attribute__((const)) vs __attribute__((pure)) in GNU C c c