------- Comment #6 from manu at gcc dot gnu dot org 2010-09-08 23:33 ------- (In reply to comment #5) > The changes done in pp_c_cv_qualifiers print "�__attribute__((const))�" > or > '"__attribute__((noreturn))"' for function pointer even if they are defined > with 'const' or 'volatile' in the users code and this may be confusing for > some.
This is on purpose. There is no way to internally differentiate between these two cases[*], so one has to decide to print one or the other. We decided the current approach for function pointers was clearer, because (1) one should really use the attributes and not volatile/const (2) one can lookup the attributes and find out what they mean and that they are equivalent to volatile/const. I hope this answers your question. [*] GCC is very far from retaining such detailed source-level information and no one is working on improving this for the foreseeable future. -- manu at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rmansfield at qnx dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25880