[Development] Enable Exceptions for Windows CE as default

shane.kearns at accenture.com shane.kearns at accenture.com
Fri May 11 13:01:38 CEST 2012


You would also need to disable exceptions in STL.
MSVC will link exception and no exception code without a warning.

Exception thrown from exception handling DLL or object file to non exception using main() results in a crash and call to terminate()

Exception thrown through a non exception handling DLL or object file is caught, but with intermediate destructors not called.

i.e. with this proposal, if application code calls a Qt function inside a try block, and throws an exception from application code callback or plugin code, it may silently fail by catching the exception but the intermediate stack objects of the Qt code not having been cleaned up.

--


> -----Original Message-----
> From: development-bounces+shane.kearns=accenture.com at qt-project.org
> [mailto:development-bounces+shane.kearns=accenture.com at qt-project.org]
> On Behalf Of lars.knoll at nokia.com
> Sent: 10 May 2012 21:18
> To: olivier at woboq.com; development at qt-project.org
> Subject: Re: [Development] Enable Exceptions for Windows CE as default
>
> On 5/10/12 5:13 PM, "ext Olivier Goffart" <olivier at woboq.com> wrote:
>
> >On Thursday 10 May 2012 07:10:51 lars.knoll at nokia.com wrote:
> >> On 5/10/12 4:20 AM, "ext Thiago Macieira"
> <thiago.macieira at intel.com>
> >>
> >> wrote:
> >> >On quarta-feira, 9 de maio de 2012 21.39.53, lars.knoll at nokia.com
> >>wrote:
> >> >> How about this then?
> >> >>
> >> >> https://codereview.qt-project.org/#change,25788
> >> >>
> >> >> https://codereview.qt-project.org/#change,25787
> >> >
> >> >Yes, something like that. I'm not sure we should do it on 5.0
> though.
> >>
> >> At least as an option I'd like to have it for 5.0. But I can't see
> >>how it  can break things given that QtCore has exceptions enabled. In
> >>addition, we  disable them only when compiling Qt modules, not when
> >>compiling app code.
> >> So I would rather try it for the beta and see whether we get any
> >>feedback  about issues with it.
> >>
> >> My only concern is whether enabling/disabling exceptions changes the
> >> ABI on any platform/compiler.
> >
> >At least with GCC, this should be safe (provided applications don't
> let
> >exceptions go trough the Qt layer)
>
> Yes, it's safe with gcc/ELF, I was more wondering about MSVC.
>
> >There is also QtConcrrent which is not part of QtCore anymore and has
> >some exception handling possibilities.
>
> At least currently it doesn't use any try/catch statements.
> >
> >And I think -no-exception could stay to disable exception even in
> >QtCore if someone  still want to reduce the footprint
>
> I'm not sure it's worth it. We probably gain more by removing one more
> configuration option that we'd otherwise need to maintain and test.
>
> If we really want to remove that overhead the better option would
> probably be to only compile the files that need it with exceptions
> enabled.
>
> Cheers,
> Lars
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development


________________________________
Subject to local law, communications with Accenture and its affiliates including telephone calls and emails (including content), may be monitored by our systems for the purposes of security and the assessment of internal compliance with Accenture policy.
______________________________________________________________________________________

www.accenture.com




More information about the Development mailing list