This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]