On 18/09/13 06:51, Lucas De Marchi wrote:
> On Tue, Sep 17, 2013 at 6:21 AM, Tom Hacohen <tom.haco...@samsung.com> wrote:
>> On 17/09/13 08:30, Stefan Schmidt wrote:
>>> Hello.
>>>
>>> On 09/17/2013 07:44 AM, Chris Michael - Enlightenment Git wrote:
>>>> devilhorns pushed a commit to branch master.
>>>>
>>>> commit 64bc97c53c5c3772595f9d2321f9e19590d8a477
>>>> Author: Chris Michael <cp.mich...@samsung.com>
>>>> Date:   Mon Sep 16 11:40:30 2013 +0100
>>>>
>>>>        Remove __UNUSED__ from function declaration where parameter is
>>>>        actually used.
>>>
>>> This brings an old topic back into my mind.
>>>
>>> Its not the first time we eagerly tagged parameters as unused because
>>> gcc warned about it and later started to use them without removing the
>>> unused label. This has the potential to screw us badly as it is up to
>>> the compiler to decide what to do with the parameter here.
>>
>> I don't know much about the exact implementation details of GCC, but I
>> find it very unlikely that GCC is allowed, or will ever actually do
>> anything about a *used* variable that is marked as unused. That just
>> sounds too crazy to be true. So I don't think we'll ever get screwed.
>
> It won't produce incorrect code.

Yeah, that's what I said (and backed up with gcc docs after).

>
>>
>>>
>>> Given how many callback and other signatures we have with user_data or
>>> other unused parameters we end up with 3630 EINA_UNUSED and even 71
>>> __UNUSED__ in efl alone. All with the potential to be used at some point
>>> but forgotten to remove the label.
>>
>> Again, not really an issue.
>>>
>>> My proposal would be to use -Wno-unused-parameter in our CFLAGS to
>>> disable this warning and remove all EINA_UNUSED and __UNUSED__ from
>>> parameters.
>>>
>>> I know it has the downside that in the rare case where you add a
>>> parameter to a signature yourself (read: not using an existing function
>>> signature) you might add it and forgot to use it. Which will not
>>> reported as warning in this case.
>>>
>>> In my opinion the risk is higher than the benefit here.
>>
>> I disagree. I find this warning very useful when prototyping and
>> refactoring APIs (both internal and external). I would really hate
>> losing that in a mess of warnings.
>
> Then you turn it on once, for that part of the code. Having it as the
> default isn't helping, but instead requiring more work from others.

1. I'm not the only one who adds APIs and might accidentally add a 
parameter that's not used.
2. Reconfiguring just to change cflags (and back, because all the 
warnings will hide the real warnings that I also care about while 
developing) is torture and wasteful and will just mean people won't do it.
3. Everyone should look at those when adding API, not just me.

--
Tom.


------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to