Re: Compiling C++ modules

From: Geert Uytterhoeven
Date: Tue Apr 25 2006 - 13:55:32 EST


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@xxxxxxxxxxxxxx

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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/