Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-ssa/cswtch-5.c @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
/* PR tree-optimization/79472 */ /* { dg-options "-O2 -fdump-tree-switchconv" } */ /* { dg-do compile { target nonpic } } */ void foo (unsigned int v) { const char *s; switch (v) { case 0: s = "foo"; break; case 1: s = "bar"; break; case 2: s = "spam"; break; default: for (int i = 0; i < v; i++) __builtin_printf ("baz\n"); return; } __builtin_printf ("%s\n", s); } int bar (unsigned int v, int w) { const char *s; switch (v) { case 0: s = "foo"; break; case 1: s = "bar"; break; case 2: s = "spam"; break; default: __builtin_printf ("baz\n"); if (v > 25) __builtin_printf ("bl1\n"); else __builtin_printf ("bl2\n"); goto lab; } __builtin_printf ("%s\n", s); if (w > 25) __builtin_printf ("cl1\n"); else __builtin_printf ("cl2\n"); lab: __builtin_printf ("dl\n"); return v + w; } /* { dg-final { scan-tree-dump-times "Switch converted" 2 "switchconv" } } */ /* { dg-final { scan-tree-dump-times "= CSWTCH" 2 "switchconv" } } */