Xref: utzoo comp.compilers:783 comp.lang.c:25813 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!snorkelwacker!bu.edu!bu-cs!xylogics!merk!spdcc!esegue!compilers-sender From: ray@ntmtka.mn.org (ray) Newsgroups: comp.compilers,comp.lang.c Subject: C Compiler for Unix V.2 Motorola 68020 Port Keywords: C Compiler Double Float problem Message-ID: <1990Feb10.035315.1140@esegue.segue.boston.ma.us> Date: 10 Feb 90 03:53:15 GMT Sender: compilers-sender@esegue.segue.boston.ma.us Reply-To: ray@ntmtka.mn.org (ray) Followup-To: comp.lang.c Organization: Northern Telecom Inc., Minnetonka, MN Lines: 25 Approved: compilers@esegue.segue.boston.ma.us I am having a problem compiling the following source: main() { long x; double y; x = -((long) y); } The faulty generated assembler code is : fneg.d((S%1-12).w,%fp),%d0 The %d0 is obviously wrong. This should be a floating poing register. Does anybody have any ideas where to start looking in the compiler code? Please use email. Thanks in advance. -- Send compilers articles to compilers@esegue.segue.boston.ma.us {spdcc | ima | lotus}!esegue. Meta-mail to compilers-request@esegue. Please send responses to the author of the message, not the poster.