This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: weakref miscompiling libgfortran


On 25/12/2005, at 8:51 PM, Richard Henderson wrote:

On Sun, Dec 25, 2005 at 07:36:16PM -0800, Geoff Keating wrote:

That targetm.binds_local_p is no longer reliable is a serious bug.


What's wrong with it? It should be answering 'false' for a weakref...



It doesn't. Exchanging the TREE_PUBLIC check for the binds_local_p check was the first thing I tried. At which point I realized that we have Real Problems with this feature at the moment.

The code in default_binds_local_p_1 says:


  /* Weakrefs may not bind locally, even though the weakref itself is
     always static and therefore local.  */
  else if (lookup_attribute ("weakref", DECL_ATTRIBUTES (exp)))
    local_p = false;

which comment, now that I reread it, is a little confused, but the code looks fine, and it worked for me on Darwin. Perhaps you have a local patch which is affecting this?

We've had Real Problems with this feature since it was introduced. I expect it'll take at least another two or three months before it settles down and starts to work on most targets; that's only to be expected for such a far-reaching change to GCC's capabilities.

Attachment: smime.p7s
Description: S/MIME cryptographic signature


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