From: "Alberto Chessa" Newsgroups: comp.os.msdos.djgpp Subject: Re: How prevent GCC from inlining a function? Date: 23 Apr 1998 06:40:56 GMT Organization: FIAR S.p.A. Lines: 26 Message-ID: <01bd6e03$d66bfb00$92c809c0@CHESSA> References: <3537E4CB DOT 5B59 AT icrdl DOT net> Reply-To: "\"Alberto Chessa\" NNTP-Posting-Host: milano28-39.tin.it To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Michel Huot wrote in article <3537E4CB DOT 5B59 AT icrdl DOT net>... > I am writing a program and, for speed reasons, i must inline some > function that has a label and a loop in it, like that: > > void foo(. . .) > { > asm volatile (" ... > Loop1: ... > loop Loop1 > ... "); > } > > GCC compiles and say me that Loop1 is already defined. I found that > everywhere I call foo, the compiler inline it and put the label "Loop1"... Look for as.info, node: "Symbols Names". It say that you can use up to ten local labels (0..9) and make reference to the nearest ([f]orward of [b]ackward) one: asm volatile (" ... 0: ... // the local label loop 0b // refer to the most recent definition of 0 ... ");