Date: Fri, 30 Jan 1998 22:40:30 -0800 (PST) Message-Id: <199801310640.WAA09918@adit.ap.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: djgpp AT delorie DOT com From: Nate Eldredge Subject: Re: Inlining Precedence: bulk At 01:48 1/30/1998 -0800, Andrew Crabtree wrote: > >Reinier Heeres wrote in message <34D23EAA DOT 3609B2B AT worldonline DOT nl>... >>I have the idea that DJGPP isnt't inlining my hline routine in my >>program, but I have defined it like this: > >You could always look and see what it is doing. Just add '-S' to your >compile line >and gcc will stop after it has generated assembly code. You can look at >this to see if it was >really inlined or not. You can also use the option `-Winline' to have the compiler warn you if some function you declare `inline' cannot be. > >>and I compile and link with the -finline-fnuctions flag... > >Do you also compile with a -O flags? I don't think gcc will inline unless >you specify optimization >also. This is also what the docs say. Some amplification: * The flag you are interested in is `-finline'. `-finline-functions' makes the compiler attempt to inline ALL functions. * `-finline' is turned on by all `-O' options by default, so you shouldn't need to use it at all. > >>Does anybody have an idea how this might happen (the functions that call >>hline() are in the same module) >Does the inline definition come before places that call it? That is another >possibility, although I don't think stock 2.7.2 has this restriction (you >don't mention what version you use but I'll mention it anyway). Version 2.7.2.1 still said in the documentations that this restriction applied. Perhaps it is inaccurate though, I don't know. It would be wise to define the function before you use it. Nate Eldredge eldredge AT ap DOT net