On Sunday, 26 May 2019 08:55:33 PDT Elvis Stansvik wrote:
> > 2) unlike the other compilers, the conditional is actually in evaluated
> > context. So make sure you only Q_ASSUME on variables, never on function
> > calls. GCC will call them, the others won't. This is the same rule as
> > Q_ASSERT, btw.
> The way Q_ASSUME is defined, isn't that true for non-GCC too?
>
> #define Q_ASSUME(Expr) \
> do {\
> const bool valueOfExpression = Expr;\
> Q_ASSERT_X(valueOfExpression, "Q_ASSUME()", "Assumption in
> Q_ASSUME(\"" #Expr "\") was not correct");\
> Q_ASSUME_IMPL(valueOfExpression);\
> } while (false)
>
> Won't Expr be evaluated at the const bool valueOfExpression = Expr; ?
Oops, that's true. I didn't remember we had changed it; my original goal was
different.
Thanks for pointing it out.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel System Software Products
_______________________________________________
Interest mailing list
[email protected]
https://lists.qt-project.org/listinfo/interest