This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Static variables in template functions
On Sun, 17 Apr 2005 09:49:01 -0700, Mark Mitchell <mark@codesourcery.com> wrote:
> Jason Merrill wrote:
>
>>>>4. Defer the warning until end of function, and then only give it if the
>>>> variable turns out to be addressable.
>> ...this would only apply to const variables, of course.
>
> Would you want to do this after optimization, so that cases where the
> addressing was eliminated by the back end would not result in warnings,
> or in the front end based on TREE_ADDRESSABLE?
Front end would be fine, I think.
> From your recommendation, you think it better to generate faster code on
> these systems (by avoiding the dynamic initialization), even though that
> means that the code is sometimes incorrect (in that the variables are
> duplicated, and a conforming program can detect the difference).
Detect how? If it's const, you can't modify it, so if you don't take its
address I don't think it's possible for a conforming program to tell
whether or not there's a single copy.
Jason