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 Interest@qt-project.org https://lists.qt-project.org/listinfo/interest