[Development] Compiler warnings
Kurt Pattyn
pattyn.kurt at gmail.com
Wed Oct 15 10:52:32 CEST 2014
On 15 Oct 2014, at 09:48, Poenitz Andre <Andre.Poenitz at theqtcompany.com> wrote:
> Kurt Pattyn <pattyn.kurt at gmail.com> wrote:
>>> On 14 Oct 2014, at 10:21, Bo Thorsen <bo at vikingsoft.eu> wrote:
>>>
>>> Den 14-10-2014 08:59, Kurt Pattyn skrev:
>>>> how do these applications comply with MISRA?
>>>
>>> MISRA is impossible to comply with for a framework. For example,
>>> consider the required rule 0-1-11: "There shall be no unused parameters
>>> (named or unnamed) in non-virtual functions."
>>>
>>> With this, void f(int /*no_longer_used*/) is illegal. For any
>>> non-trivial framework that keeps binary compatibility, this will over time be hit.
>>
>> On second thought, I think this is a very bad example. Even while you keep
>> binary compatibility, you break semantics here.
>> This is typically a case where one should break binary compatibility.
>
> Are you seriously asking for a new major Qt release just because a
> new implementation of some function does not require some parameter
> anymore?
Yes, if the semantics of the method changes. I can hardly imagine that
obsoleting a parameter from a method does not have any behavioural impact
in the calling application. This even holds for the case when the signature of
the method does not change at all, but the semantics do.
I remember once having replaced strict floating point compares with qFuzzyCompares.
Although this was internal to Qt this change was - correctly - rejected.
Cheers,
Kurt
>
> Andre'
More information about the Development
mailing list