Ulrich Weigand weigand@immd1.informatik.uni-erlangen.de wrote in article 200107262124.XAA25786@faui11.informatik.uni-erlangen.de...
Uwe Bonnes wrote:
> "Medland," == Medland, Bill Bill.Medland@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@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