lkml.org 
[lkml]   [2008]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Patch] Shut up warnings from files under drivers/
> I checked up on the synclink.c warning.
> We have the following code:
>
> static void synclink_remove_one (struct pci_dev *dev);
>
> ...
>
> static struct pci_driver synclink_pci_driver = {
> .remove = __devexit_p(synclink_remove_one),
> };
>
> ...
>
> static void __devexit synclink_remove_one (struct pci_dev *dev)
> {
> }
>
> And I double checked the preprocessed source to check
> that we applied the __attribute__((__used__)) to the function.
>
> Investigating a bit more I realized that gcc looses the
> __used__ attribution due to the prototype.
> So there are two correct fixes:
> a) move the function up so we do not need the forward
> declaration
> b) add a __devexit to the forward decalration too.
>
> I strongly prefer the first version and this is the
> correct fix for these cases.
>
> Do we have a gcc bug here - I did not see a definitive answer in gcc docs?

I have reported it now - follow:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34985

Sam


\
 
 \ /
  Last update: 2008-01-26 20:33    [W:0.089 / U:1.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site