namespace namespace

Dave Korn dave.korn.cygwin@googlemail.com
Wed Jul 8 00:31:00 GMT 2009


Jakub Jelinek wrote:
> On Tue, Jul 07, 2009 at 10:51:27PM +0100, Dave Korn wrote:
>>>   I don't, but I didn't know that for sure until you said above that it would
>>> definitely never be exported.  
>>   Ok, now I do, and they are(*).
> 
> That would be a target bug then.

  Yep, that's what I meant by target hooks.

>>   I take it that this is a bug in the dllexport attribute getting propagated
>> unduly to clones when it should only be applied to the original (non-cloned)
>> version, and not that these clones are meant to be externally visible for some
>> reason I don't understand?
>>
>>   There's presumably an issue with the handling in the backend hooks, which I
>> should be able to track down without too much difficulty, but you could help
>> me with one bit of advice: how do I detect when I've been handed the tree for
>> a decl of a cloned function rather than an original?
> 
>   /* Update the properties.
>      Make clone visible only within this translation unit.  Make sure
>      that is not weak also.
>      ??? We cannot use COMDAT linkage because there is no
>      ABI support for this.  */
>   DECL_EXTERNAL (new_node->decl) = 0;
>   DECL_COMDAT_GROUP (new_node->decl) = 0;
>   TREE_PUBLIC (new_node->decl) = 0;
>   DECL_COMDAT (new_node->decl) = 0;
>   DECL_WEAK (new_node->decl) = 0;
> 
> Certainly !TREE_PUBLIC functions shouldn't be exported from the current
> assembly file in any way...

  That should do for me.  Thanks!

    cheers,
      DaveK



More information about the Gcc-patches mailing list