On Fri, 2001-10-26 at 01:32, Tom Hughes wrote: > In message <[EMAIL PROTECTED]> > Brian Wheeler <[EMAIL PROTECTED]> wrote: > > > Darn it, I fat fingered the log message. > > > > This is a fix which changes the way op variants are handled. The old > > method "forgot" the last variant, so thing(i,i|ic,i|ic) would > > generate: > > thing(i,i,i) > > thing(i,i,ic) > > thing(i,ic,i) > > > > but not > > > > thing(i,ic,ic) > > It didn't forget it, it went to some considerable trouble to > ignore it on the grounds that such an opcode is pointless as > alll the operands are constant. > > I did describe the algorithm used and the logic behind it on the > list when I implemented it. >
Except there was a case where it was not generating needed opcodes. I was implementing open just to see if I could. The prototype would be: AUTO_OP open (i,s|sc,i|ic,i|ic) { where $1 is the new handle, $2 is the name of the file, $3 is the flags, and $4 is the mode of the file if it has to create it. the open_i_sc_ic_ic opcode isn't pointless :) Brian