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