[Bug c/20760] cast to variable-length array type combined with switch statement gives segv
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Apr 4 23:26:00 GMT 2005
------- 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
More information about the Gcc-bugs
mailing list