URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [mentor1.C] - Rev 384
Compare with Previous | Blame | View Log
// { dg-do assemble }
// { dg-options "-O" }
// GROUPS passed mentor
struct Word {
struct S1 *p1;
};
struct S1 {
Word o;
void shift_left(int delta, int ct);
};
inline void S1::shift_left(int delta, int ct)
{
int cnt = ct;
for (S1 *to_p = this, *from_p = to_p + delta; cnt--;) *to_p++ = *from_p++;
}
void dispose_t(S1 *tp, int from_index, int ct, const int d_last_t)
{
int new_ct = d_last_t + 1 - ct;
tp[0].o.p1[from_index].shift_left(ct, new_ct - from_index);
}