https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99826

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
__GIMPLE(ssa) char * foo(char *p) {..}

works for the first issue.  I failed to make the "late" __GIMPLE spec work in
a straight-forward manner.  I guess we might want to change the default dumping
to prefer the above order.

The 2nd issue remains and can be seen as

char * foo (char * p)
{
  char * _2;

  <bb 2> :
  _2_2 = p_1(D);
  return _2_2;

}

fixing it in a generic way will likely require exposing more of grokdeclarator
and eventually generating the SSA name there directly.  Limited support
is possible of course and the workaround is to declare a decl:

  char * q;

__BB(2):
  q_2 = p_1(D);
  return q_2;

which will work at the expense of creating a decl.

Reply via email to