------- Additional Comments From kmk at ssl dot org 2005-02-27 21:37 ------- 1. A pointer is a derived type.
2. A derived type is not qualified by the qualifiers (if any) of the type from which it is derived. 3. For any qualifier q, a POINTER to a non-q-qualified type may be converted to a pointer to the q-qualified version of the type. [emphasis mine; note that a pointer is, by itself, a derived type which does not inherit any qualifiers---so what] 4. A pointer to a pointer is itself a pointer. 5. The C standard, unlike C++, does not further restrict qualifier promotion of multi-level pointers---in fact, it is completely silent on the issue. 6. By (3), above, the left-hand side of a pointer assignment can be converted so that all qualifiers match. I ask again: where is the problem? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20230