------- 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

Reply via email to