benw@syma.sussex.ac.uk (Ben Whitaker) (04/13/89)
i am using MWC (v3.0) on an atari 1040 with two double sided drives.
when compiling the following, with the source on a 512k RAM disc
(of which some 300k is free) which also holds \tmp, i get the following
message:
In cc1: Internal compiler error::no match,op=61
code follows:
void foo(fx)
float (*fx)();
{
float fc,x=1.0;
fc=(*fx)(x);
}
my manual says "this shouldn't happen". does anyone have any ideas why cc1.prg
gets confused with the declaration
float (*fx)();
...
fc=(*fx)(x);
and any ideas on a fix ? i can also generate internal compiler error
op=69, but it looks like the same problem in a different quise.
i'd be most grateful for any help you can give me on this. i am snailing
a copy of this to mark williams co. but am hoping that i might get a
quicker response over the net (and that MW are listening).
ben whitaker
--
-------------------------------------------------------------------------
school of molecular sciences # EARN kafe3@cluster.sussex.ac.uk
university of sussex # UUCP mcvax!ukc!icdoc!syma!benw
brighton bn1 9qj (uk) # phone (44) 273 606755 x3221
rob@kaa.eng.ohio-state.edu (Rob Carriere) (04/16/89)
In article <886@syma.sussex.ac.uk> benw@syma.sussex.ac.uk (Ben Whitaker) writes: >i am using MWC (v3.0) on an atari 1040 with two double sided drives. [which gives the error:] >In cc1: Internal compiler error::no match,op=61 [when I compile] >void foo(fx) >float (*fx)(); >{ > float fc,x=1.0; > fc=(*fx)(x); >} I've had the exact same problem a while back, and the called their toll-free help number (the one they don't list in the manual, I can look it up if you want). It's a bug, they know about it, they plan to do something about somewhen, and offer the following workaround: change float (*fx)(); into double (*fx)(); and it will work. (They're right about that, I tried) SR