https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48885
--- Comment #21 from vries at gcc dot gnu.org --- (In reply to Marc Glisse from comment #20) > (In reply to vries from comment #18) > > Aren't you supposed to also look at: > D: declaration of fpp > B: block of f > P: *fpp > accesses: *fp and *fp2 > etc ? Hmm, I think this may indeed be the difference in interpretation. Standard: "Let D be a declaration of an ordinary identifier that provides a means of designating an object P as a restrict-qualified pointer to type T." Say D is "int *__restrict__ *__restrict__ fpp" Does this designate as a restrict-qualified pointer": 1. both objects fpp and *fpp, or 2. only object fpp (and the first restrict is just an obligate copy of the type qualifier of the restrict pointer declaration fpp points to) ? I'd say the standard is not clear on this point.