https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90574
--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> --- (In reply to Richard Biener from comment #4) > Note these issues also appear as coverage errors: > > -: 0:Source:t.c > -: 0:Graph:t.gcno > -: 0:Data:t.gcda > -: 0:Runs:1 > -: 0:Programs:1 > 1: 1:int main(int argc, char **argv) > -: 2:{ > -: 3: if (argc == 0) > -: 4: { > -: 5: int *ptr; > 1: 6:label: > -: 7: { > -: 8: } > -: 9: } > 1: 10: if (argc == 1) > -: 11: { > 1: 12: __builtin_printf("hello\n"); > -: 13: } > 1: 14: return 0; > -: 15:} If you take a look at following list: https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=SUSPENDED&bug_status=WAITING&bug_status=REOPENED&cf_known_to_fail_type=allwords&cf_known_to_work_type=allwords&email1=yangyibiao%40nju.edu.cn&emailreporter1=1&emailtype1=substring&list_id=239143&query_format=advanced You'll find bazillion of similar test-cases where we optimize CFG before gimplification happens.