From: "John S. Fine" Newsgroups: comp.os.msdos.djgpp Subject: Re: gcc-295 and inline ASM Date: Fri, 15 Oct 1999 15:40:27 -0400 Lines: 31 Message-ID: <3807832B.4480@erols.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: nil/yssqHnugpb7BnN4HLymcqhcM54iuFmOkP7niFE8= X-Complaints-To: abuse AT rcn DOT com NNTP-Posting-Date: 15 Oct 1999 19:42:59 GMT X-Mailer: Mozilla 3.01 (Win95; U) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Eli Zaretskii wrote: > http://egcs.cygnus.com/faq.html#asmclobber Thanks, I've been meaning to read that but was too lazy to search for it. Clicking on it was much easier :) No that I've read it, I'm worried. Somewhere (I think it was this newsgroup) I read an example of how to fix code that had an input in the clobber list. The fix was simply to remove it from the clobber list. That made no sense, but it seems to work, so I used it some code that I recompiled for 2.95. It seemed to work but might be responsible for some subtle problems I'm having. That URL seems to be saying that if a register is both an input and a clobber of a chunk of inline ASM, then there is no longer any way to tell the compiler that; But it is not safe to pretend the register is only an input. Instead you must tell the compiler that it is both an input and an output. (Which creates some cases in which the whole thing must be "volatile" in order to avoid another problem). Did I misunderstand the URL? Or did I misunderstand the example that was posted here? Or are people generating incorrect fixes to these compile-time errors, by simply removing register from the clobber list? -- http://www.erols.com/johnfine/ http://www.geocities.com/SiliconValley/Peaks/8600/