weakref miscompiling libgfortran

Geoff Keating geoffk@geoffk.org
Tue Dec 27 17:05:00 GMT 2005


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2410 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20051227/ddbf21cc/attachment.p7s>


More information about the Gcc mailing list