https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115437

--- Comment #3 from Kang-Che Sung <Explorer09 at gmail dot com> ---
Now I come to realize that the C standard doesn't say that a pointer type is
"compatible" with any other pointer type. So that "Foo **" type and "Bar **"
type are assumed to never alias. This is troubling because I saw many APIs that
would take a "pointer to pointer" argument in order to output address to a
particular object (for example, asprintf()), and it would be difficult to write
concise code while strictly conforming to the so-called strict aliasing rule.

Reply via email to