Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!udel!galuska From: galuska@udel.edu (Scott Galuska) Newsgroups: comp.sys.transputer Subject: Re: 3L C & the poison constant! Keywords: 3L C constant bug Message-ID: <35797@nigel.ee.udel.edu> Date: 8 Nov 90 15:14:33 GMT References: <671@skipper.dfrf.nasa.gov> Sender: usenet@ee.udel.edu Organization: University of Delaware Lines: 38 Nntp-Posting-Host: dewey.udel.edu In article <671@skipper.dfrf.nasa.gov> rando@skipper.dfrf.nasa.gov (Randy Brumbaugh) writes: >I feel I have had more than my fair share of problems with the >3L C compiler (IMHO). Now this . . . >The 3L compiler/ assembler doesn't like the constant 0x20800000. >Yes! That's right! It turns out that this is a very important >constant for my application. Here is the input: >func() { asm { ldc 0x20800000; } } >This will produce an error message about an undefined forward >reference. However, either of the following (very similar) >functions will compile: Welcome to the club! I had a very similar problem- for me, it choked on ldc 32; /* decimal */ And I tried also to fool it- I used hex, octal, binary. didn't like any of 'em! What I eventually did was to assign the value to a variable outside of the asm section and then use the variable. That worked. >rational, I'd really like to hear it! Or - if the error doesn't >happen on your system! I have V 2.0 of the compiler, which I admit >is one rev out, but this behavior is way out! This alos happened to me in V2.0. When I upgraded to V2.1, the error went away. I also tried yours on V2.1- it compiled just fine. -- Scott Galuska Dept. of Computer & Info. Science Univ of Delaware galuska@dewey.udel.edu