https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83503
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- As I wrote on IRC, I fail to see what kind of conflict is there between something previously declared pure and later declared const, const is just a stronger pure, all const functions are necessarily pure. With __attribute__((pure)) int foo (int x, int y); ... __attribute__((const)) int foo (int x, int y); I see no harm, worst case some code will only assume the function is pure, rather than const.