URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [pr48484.C] - Rev 867
Go to most recent revision | Compare with Previous | Blame | View Log
/* { dg-do compile } *//* { dg-options "-O -finline-functions -finline-small-functions -Wuninitialized" } */struct SQObjectPtr{int _type;SQObjectPtr operator = (long);};struct SQObjectPtrVec{SQObjectPtr fff (unsigned);SQObjectPtr *_vals;};struct SQInstruction{int _arg1;unsigned op;unsigned _arg0;unsigned _arg2;};struct SQVM{struct CallInfo{SQInstruction *_ip;};boolExecute (SQObjectPtr &, long, long, long, SQObjectPtr &, unsigned, int);boolFOREACH_OP(SQObjectPtr&, SQObjectPtr &, SQObjectPtr &, SQObjectPtr &, long, int, int &);SQObjectPtrVec _stack;CallInfo *ci;long _nnativecalls;bool ShouldSuspend ();};struct AutoDec{AutoDec (long *);~AutoDec ();};boolSQVM::FOREACH_OP(SQObjectPtr&o1,SQObjectPtr & o2, SQObjectPtr &, SQObjectPtr & o4, long, int, int &jump){longnrefidx = 0;switch (o1._type){case 0x02000000:o4 = nrefidx;jump = 1;return true;case 0x00000080:{longidx = 10;o2 = idx;jump = 0;}}}boolSQVM::Execute(SQObjectPtr &, long, long, long, SQObjectPtr &, unsigned, int){AutoDecad (&_nnativecalls);for (;;){if (ShouldSuspend ())return true;SQInstruction_i_ = *ci->_ip;switch (_i_.op){case 0:{inttojump;FOREACH_OP(_stack._vals[_i_._arg0],_stack._vals[_i_._arg2],_stack._vals[_i_._arg2],_stack._vals[_i_._arg2], _i_._arg2, _i_._arg1, tojump);ci += tojump; /* { dg-warning "uninitialized" "warning" } */}case 1:_stack.fff (_i_._arg1);}}}
Go to most recent revision | Compare with Previous | Blame | View Log
