https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69550
--- Comment #11 from Milan Bouchet-Valat <nalimilan at club dot fr> --- (In reply to Marek Polacek from comment #9) > Note that this was only accepted by the C++ compiler; the C compiler always > rejected such a code (going back to at least gcc 3.4). Indeed you're right. The example only compiles with gcc (both 5 and 6) after changing the first struct member to *fieldptr0[0].