Re: Compiling C++ modules

Geert Uytterhoeven
2006-04-25T17:55:31Z

On Tue, 25 Apr 2006, Kyle Moffett wrote:
> On Apr 25, 2006, at 03:08:02, Avi Kivity wrote:
> > {
> > spinlock_t::guard foo_guard(foo_lock);
> > Foo item1;
> > Foo item2;
> > }
>
> Let me point out _again_ how unobvious and fragile the flow of code there is.
> Not to mention the fact that the C++ compiler can easily notice that item1 and
> item2 are never used and optimize them out entirely. You also totally missed

Only if the constructor and destructor of Foo is inline. Else there may be side
effects.

This is commonly used for function scope debugging, and I never saw the
compiler optimize away any of these debug objects, even if they look unused to
the casual reader.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds