Ulrich Weigand <weigand(a)immd1.informatik.uni-erlangen.de> wrote in article <200107262124.XAA25786(a)faui11.informatik.uni-erlangen.de>...
Uwe Bonnes wrote:
> "Medland," == Medland, Bill <Bill.Medland(a)accpac.com> writes:
Medland,> I am not very comfortable with this one but strange as it
may
Medland,> seem it solves the problem. I'd love to know why. Medland,> <<diff13.txt>> Bill Medland (medbi01(a)accpac.com) Prevents Medland,> excessive clipping in SysListView32.
Medland,> Medland,>-static inline int perfect_graphics(void) Medland,>+static int perfect_graphics(void) Medland,> { Medland,> static int perfect = -1; Medland,> if (perfect == -1) Medland,>
Some C-Expert is requested here, but I suspect that in the old function
the
variable "perfect" was created in every instantiation of the "perfect_graphics" inlined function. Could you perhaps try to declare the "perfect" outside the inlined function, like
static int perfect = -1; static inline int perfect_graphics(void)
No, 'inline' must not change the semantics of the routine in any way, including static variables.
If the app behaves differently when 'perfect_graphics' is inlined, this is a compiler bug. Which compiler version are you using?
Excuse my ignorance. rpm says it is 2.96-81. How do I ask gcc what version IT thinks it is? (Running on RH7.1; how do I get the kernel version? rpm says 2.4.2-2) Bill