------- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-04 23:25 ------- <L17>:; D.1897 = N - 1; D.1898 = (unsigned int) D.1897; N.23 = N; N.24 = (long unsigned int) N.23; D.1901 = D.1898 * N.24; D.1902 = D.1901 * 8; D.1903 = (double[0:(long unsigned int) (SAVE_EXPR <N.23> - 1)] *) D.1902; D.1904 = D.1903 + mp; param = (*D.1904)[0]; goto <bb 20> (<L19>);
<L18>:; D.1905 = N - 1; D.1906 = (unsigned int) D.1905; N.25 = (long unsigned int) N.23; D.1908 = D.1906 * N.25; D.1909 = D.1908 * 8; D.1910 = (double[0:(long unsigned int) (SAVE_EXPR <N.23> - 1)] *) D.1909; D.1911 = D.1910 + mp; param = (*D.1911)[0]; See how N.23 is used in the second case but not defined. -- What |Removed |Added ---------------------------------------------------------------------------- Summary|cast to variable-length |cast to variable-length |array type combined with |array type combined with |switch statement gives segv |switch statement gives segv http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20760