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


Mark Mitchell <mark@codesourcery.com> writes:

| 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.
| 
| All of this is getting increasingly moot with every passing day, as the
| number of systems without weak symbol support is rapidly dwindling,
| thankfully.  So, we can always decide to consider this an academic
| discussion.
| 
| 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?
| 
|  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). I

I must be missing something here, but if the address of the variable
is not taken, how can a conforming program tell the difference?

-- Gaby


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