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.
smime.p7s
Description: S/MIME cryptographic signature