This is an archive of CompuServe forum messages from 1985 to 1995, as saved in transcripts by John Foust.
Search Results (255 messages)
To add to that, position-dependent bugs like array-overwrites and uninitialized pointers show that kind of behavior. I've personally talked to many people saying "But it worked on compiler 'x' but not on Aztec C", only to discover that half of the pointers used in the program were never initialized anywhere……
Well, if you made it with the Microsoft 5.1 (or 6.0 for that matter) compiler, I can simply try it out here (assuming you used the unmodified 'pi' source). What options did you use on MS? -Mike
Right…._reading_ location 0 with a NULL pointer is as nasty as writing to location 0. However, at least its easier to temporarily patch the reader by stuffing 0 there. -Mike
Yes, there's a definite language snobbery among programmers, and its espeically bad on the Amiga (since C is the 'official' language of the machine). This is compounded by the fact that the BASIC that comes with the Amiga is really bad…. But BASIC has its place in the scheme of…
What happens is this: char *foo; main () { if (*foo == 0) do_somethin(); else do_somethin_else(); } In this code, 'foo' is never initialized to point to anything. However, a rule in C is that uninitialized global variables get implicitly initialized to '0' – thus, foo is guaranteed to be…
In that case, it'd be nice to see the microsoft assembly in its entirety. Certain set-up operations are definitely not being done in the Microsofot code (like getting t[j], perhaps this is done in the 1st line, which is incomplete?), which is what's partially slowing us down. The other interesting…
Well, the Amiga is a multitasking machine, and I'm sure there's lots of interesting stuff going on in the background (even when no user tasks are running) which could be slowing it down somewhat, where as the PC wouldn't have any overhead of that type. If I recall, I think…
Um, its generally not a good idea to mix large and small data model in the same program. It can be done, but the potential for running into problems is pretty big. If you're compiling one module for large-data, I'd generally recommend compiling all of them for that model (and…
I'm glad to hear 5.0b fixed your problems! Indeed, a program which is 'finished' is one which is dead. -Mike
Oh….have you indented your lines with a tab? make gets very upset if you indent with spaces instead of with tabs. -Mike
Yes, please post the makefile. I tried an example very similar to yours here and it worked wihtout a hitch. -Mike
Test Suites
Message #114467
A test suite is a series of programs/tests that can be run to give the compiler a "work out". The Plum/Hall test suite specifically tests ANSI compliance in both the libraries and the compiler itself through two methods: a set of static programs that you have to compile/link, and a…
Are you running 2.0 by any chance? Normal system commands work fine, but things like 'echo' are no longer in the 'C:' directory, so the makefile exec will fail. Under 1.3, your example works fine, although I'm not sure why you're giving a complete path name to the program. -Mike
Lattice uses a 'quad' file between compiler passes (I assume this is their intermediate language), but the final result is a BLink-compatable object module. This is the 'official' Amiga object module format. However, every major library vendor that I'm aware of supplies libraries/object modules commercially in _both_ formats, for both…
It appears you're missing your initial '.' in the z->pre rule. It should be: .z.pre: cc -ho $@ $*.z If you don't have that leading '.', the compiler won't consider it as a rule. -Mike
Um, Bix has one very major advantage over CI$ support at least….messages don't scroll off, which is very valuable from a tech-support stand point. -Mike
Yes, Lattice certainly doesn't have anything to be ashamed of with their support policies. However, Lattice is no longer calling the shots, and lots of people are rather angry at SAS for their handling of things. I'm obviously biased, but quite frankly the SAS people should've been doing the transition…
All the functions that work on stdin (scanf, getchar, etc.) should pause until an entire line has been entered (i.e., you press return), and will then return/operate on whatever you entered. Do you have a short code sample where getchar or scanf aren't waiting for your input? -Mike
I think Matt Dillon's parnet device lets DNet communicate through the parallel port instead of the serial port. Sorry, I don't know the details though. -Mike
In the ZOPTS file you don't need the ':se' part, since its assumed that you're setting options. Simply say 'F1=:cn', and you should be flyin'. -Mike
Yes, it can be taken literally. The declarations in functions.h are now fully prototyped (a la ANSI), which means that the compiler will 'quietly cast' integral values which don't quite match, like when a short is passed but a long is expected. This is probably the niftiest thing the ANSI…
You haven't made any dependencies for the header file, which is why make never sees it. Try something like: c.pre: header.h cc -bs -ho c.pre header.c The key to getting makefiles working is to get the dependencies right – unfortunately, figuring out how make figures out dependencies can be, ah,…
Actually, I have no idea. I haven't been in touch with the author recently, and he hasn't contacted Manx, so who knows? -Mike
#113306-
C problem
Message #113411
It's the -wl option that's doing it to you. You're correct that '\n' is actually an int, however ANSI states that a compiler should convert ints to chars and vice versa 'quietly' i.e., it shouldn't give a diagnostic message about it. However, the -wl option turns on -wa, which will…
#112880-
5.0b questions
Message #113218
The bugs exterminated in 5.0b were not 'exotic' – several of them caught quite a few people, and I strongly suggest you upgrade. The upgrade can be obtained through our BBS or from Bix at no cost, or from our upgrade dept. for $5 shipping and handling. Also, your entire…
5.0b has been shipping for a few weeks now, almost a month. You should call our sales dept. and ask them what happened, as I'm pretty sure we don't have any back logs at this juncture. -Mike
Yes, library source is now available for 5.0b – call our update dept. for details on getting it. The # is (201)542-2121. I looked at the pi program briefly, and there's definitely something wrong there. It does appear to be a code generation problem, but I haven't scrutinized the assembly…
Glad you got it working! -Mike
#111033-
Aztec 5.0b problems
Message #111163
The majority of the problems with the 'expression too complex' error have been fixed. However, there are a few cases (such as yours) where the error still pops up (even with -mr). The workaround is to simplify the expression. -There are still some problems with SDB in 5.0b, however we've…
'sok – like I said, as long as I'm still here I don't mind 😎 BTW, you may be interested to know that Lattice just announced on Bix that they're shutting down there bix conference. Sometime in the future SAS is suppose to come up with their own conference, but…
The professional C compilers (Lattice and Manx) include pretty much all of the standard C functions in their own libraries. The stuff in the RKMs covers _only_ very Amiga specific functions for doing things with Intuition, Exec, Layers, etc. etc. I'm afraid many of the problems you're experiencing are due…
Well, I hope SAS can do as good a job supporting the comiler as yourself and others at Lattice have done. You guys have a good product, but the support is what really made it fly. In any case, I wish you well in your endeavors, Mike!
(darn message length limit) The extensions aren't required, but the most commonly used ones. Your basic development cycle on the Amiga is the same as with other machines. You create your source file, compile it, possibly assemble it, link it, and run it. The only real problems you can encounter…
"a run-down of the basic assumtions that one requires before programming the Amiga" Wow, that's quite a bit of information. The Amiga environment is much more powerful than that on Clones. This means all sorts of nifty things can be done w/ an Amiga that would be difficult or impossible…
Lattice Status
Message #109881
I think ya got the wrong Mike, Bill – Neither Manx nor myself are going anywhere 😎 -Mike
Yes, Amiga C development has been done at SAS for quite awhile now. The big change is that now _support_ is being done through SAS as well – phone support, Bix, CIS, etc. are all being transferred. This is what has people worried…. -Mike
Dunno about the zc startup library, but I can answer your second question. There are two types of libraries on the Amiga – link libraries and resident libraries. Link libraries are the libraries that you physically link in with your program, and are generally specified on your link invocation line.…
Well…there's lots of places in life where there's "what there should be" and "what there is". ANSI C has given implimentors so much lattitude in bitfields that I've found its usually alot less painful to just avoid them altogether and roll my own. -Mike
Seems to me like you've had lots of interaction with Lattice support, considering that Mike R and the Lattice BBS are included in it 😎
No problem 😎 We didn't keep the product quiet – we did what we could to make Aztec C well known. However, C= apparently only wanted _one_ C compiler available for their machine, and seemed to do what they could to suppress us. -Mike
My point Harry was that bitfields, almost by definition, are extremely volatile in their implimentation. It would be perfectly valid for Lattice or Aztec or anybody to change how they handled bitfields across releases, if they wish (by both K&R and ANSI reckoning). If you've got to _count_ on the…
I think it would be wise to ignore you in this case rather than Jerry – Aztec C for the Amiga shipped in early 1986 (sometime around the 1st quarter). -Mike
Haven't looked at DICE yet (plan to,b ut haven't had the time to download the huge file 8-), but it sounds like you have to set some environment variables. To get started, you can assign ENV: (which is where environment variables go) to ram: like this: assign ENV: ram: (of…
Hopefully we can make it up to ya in 5.0b 😎 -Mike
5.1 will probably be a shipping & handling charge upgrade (about $10 or $15). 5.0b will of course be no-cost. -Mike
Actually, this is the perfect time for C= to come out with a competing product to CD-I, since CD-I for all practical purposes does not exist. If C= had come out w/ a CD-I product, it would be much more of a "me-too" type of thing, and they'd probably end…
No, its definitely not a bug. Both ANSI and K&R essentially say that bit-field implimentation is entirely implimentation-defined, and Lattice's implimentation doesn't seem to do anything really bizarre. Perhaps it does not perform optimally on a 68000, but this only shows that bitfields are generally pretty kludgy, entirely non-portable, and…
Peter, contrary to the tone of your message lots and lots of people are using 5.0a with little or no difficulties. Whether or not you encounter bugs depends alot on your coding style. See my message here in the C language area about the 5.0b release… enum problem is known,…
Coding for 5.0b is done, we're more or less waiting for other external forces to finish. Late breaking news: 5.0b is going to be an interim essentials-fixed only release, and should be available next week. In essence, it'll contain a new compiler, libraries, and SDB. There'll be no charge for…
ISO is doing C…and the result looks like it'll be more or less ANSI C. -Mike
Page 3 of 6