------- Comment #2 from rguenth at gcc dot gnu dot org  2005-11-14 15:29 -------
The problem is that with 31.ccp we introduce:

<bb 0>:
  save1 = yylval;
  save2 = yyval;
  save3_92 = yynerrs;
  save4_94 = yyerrflag;
  yystate_95 = 0;
  yychar_96 = -1;
  yynerrs = 0;
  yyerrflag = 0;
  yyp_99 = &yys[536870911];
  goto <bb 4> (yystack);

...

  # yychar_56 = PHI <-1(0), -1(13), yychar_61(31), ...
  # yystate_52 = PHI <0(0), yystate_2511(13), yystate_2467(31), ...
  # yyp_48 = PHI <&yys[536870911](0), yyp_129(13), yyp_49(31), ...
yystack:;
  yyp_129 = yyp_48 + 8B;
  D.1934_130 = &yys[150];
  if (yyp_129 >= &yys[150]) goto <L4>; else goto <L5>;

<L4>:;
  yyerror (&"yacc stack overflow"[0]);
  goto <bb 2> (ret1);

...

and later we will say that (yyp_129 >= &yys[150]) is always true because
of this.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24851

Reply via email to