[Development] Enable Exceptions for Windows CE as default

Andreas Holzammer andreas.holzammer at kdab.com
Wed May 9 14:53:17 CEST 2012


Am 09.05.2012 13:30, schrieb lars.knoll at nokia.com:
> On 5/9/12 12:33 PM, "ext Olivier Goffart" <olivier at woboq.com> wrote:
> 
>> On Wednesday 09 May 2012 11:28:30 Giuseppe D'Angelo wrote:
>>> On 9 May 2012 10:22, Olivier Goffart <olivier at woboq.com> wrote:
>>>> On Wednesday 09 May 2012 09:45:31 Andreas Holzammer wrote:
>>>>> Hi,
>>>>>
>>>>> I was hitting qtxmlpatterns not compiling, because Exceptions are not
>>>>> enabled by default for Windows CE. My guess is that this was done for
>>>>> performance and or security reasons.
>>>>>
>>>>> I would like to propose that we enable the Exceptions for Windows CE
>>> for
>>>>> Qt5 as default. If you have concerns, comments or issues with that,
>>>>> please answer to this mail and explain it.
>>>>
>>>> You can enable exceptions only in xmlpattern.  They are not suppose to
>>>> "traverse" other layers of Qt.
>>>>
>>>> In particular, Qt does not play well with exceptions.  They won't pass
>>>> trough the event loop, and most of the Qt code is not exceptions safe
>>>> (code often do not expect a signal to throw)
>>>>
>>>> So it is probably better to leave them disabled, as exceptions still
>>> add
>>>> lot of code to the binary, and that won't be of any use
>>>
>>> I think the point here is that
>>> 1) xmlpatterns doesn't build under any platform if exceptions are
>>> disabled (it won't "expose" exceptions in its API / propagate them,
>>> but it uses them internally);
>>> 2) WinCE *always* get exceptions disabled.
>>>
>>> While 1) is of course a design decision (so far, so good) what's the
>>> reason for 2)? Prevent a massive code expansion? Broken MS compilers?

Yes I was thinking that before, but I cannot find hints which indicate
that exceptions are broken with the Mircosoft compiler. That is why I
ask here on the mailinglist, if somebody knows problems with it.

>>
>> Yes. My point is that one can add in the xmlpatterns.pro the proper flags
>> to 
>> build with exception.  But leave the exceptions disabled for the rest of
>> Qt 
>> which does not need it.
>>
>> Maybe the compilers used to be broken (I don't know). But i hope that by
>> now 
>> compilers have been fixed.
>> I suppose the reason was mainly performence.

Yes I agree here, and again thats why I am asking.

> 
> Actually I wonder why we don't compile all of Qt with exceptions disabled
> by default and enable them only for the places they are really needed
> (QtCore for exception safe signal/slot connections etc, and QtXmlPatterns
> because it uses them). Can anybody come up with a good reason not to do
> this?
> 
> The other option would be to fix the -no-exceptions configure flag to mean
> no exceptions, except where they are really needed.

This is kind of wired to me, first tell that you don't want exceptions
and then use them where they are needed. Sorry that is wrong to me. For
me there needs to be a third configure option for this, to enable
exceptions where there are really needed.

Andreas

-- 
Andreas Holzammer | andreas.holzammer at kdab.com | Software Engineer
KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
Tel. Germany +49-30-521325470, Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-independent software solutions

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4134 bytes
Desc: S/MIME Kryptografische Unterschrift
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120509/2274f580/attachment.bin>


More information about the Development mailing list