https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78858
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2016-12-19 CC| |marxin at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- Can you please attach self-contained test-case (either created by -E) or by modifying mine, which does not show the problem: #include <stdio.h> #include <string.h> void foo (const char *a); struct A { int main (void) { int j = argc ? 1 : 0; for (int i = 1; i < argc; ++i) { if (!argv[i]) continue; if (*argv[i] != '-') { argv[j++] = argv[i]; continue; } const char *arg = argv[i]; if (arg[1] == '-') // startsWith("--") ++arg; if (__builtin_strncmp (arg, "-qmljsdebugger=", 15) == 0) foo (arg + 15); } } int argc; char **argv; }; int main () { A a; a.main (); }