Messages in this thread | | | Date | Tue, 25 Apr 2006 19:55:14 +0200 (CEST) | From | Geert Uytterhoeven <> | Subject | Re: Compiling C++ modules |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |