------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-16 
14:45 -------
I forgot to say that the reduced testcase only fails at -O1 now (I don't know 
why).

Also here is the C example (which is just slight changes to C++ example):
#define bool _Bool
typedef struct QChar {
  unsigned short ucs;
} QChar;
int tibetan_form( const QChar *c );
static inline int tibetan_nextSyllableBoundary( int start, bool *invalid, QChar 
*uc)
{
  int pos = 0;
  int state = tibetan_form( &uc[pos] );
  if ( state != 1 )
  {
    if ( state != 0 )
      *invalid = 1;
    goto finish;
  }
finish:
    *invalid = 0;
  return start+pos;
}

void tibetan_shape( int from, int len, QChar *uc)
{
  int sstart = from;
  int end = sstart + len;
  while ( sstart < end ) {
    bool invalid;
    tibetan_nextSyllableBoundary(sstart, &invalid, uc );
  }
}

-- 


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

Reply via email to