@@ -268,15 +268,21 @@ namespace xt
268268 /* *********************
269269 * long long *
270270 **********************/
271+ #ifndef SKIP_ON_WERROR
272+ // intermediate computation done in double may imply precision loss
271273 CHECK_RESULT_TYPE_FOR_ALL (along, signed long long );
274+ #endif
272275 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (along, int , signed long long , double );
273276 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (along, long , signed long long , double );
274277 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (along, signed long long , signed long long , double );
275278
276279 /* *********************
277280 * unsigned long long *
278281 **********************/
282+ #ifndef SKIP_ON_WERROR
283+ // intermediate computation done in double may imply precision loss
279284 CHECK_RESULT_TYPE_FOR_ALL (aulong, unsigned long long );
285+ #endif
280286 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (aulong, unsigned int , unsigned long long , double );
281287 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (aulong, unsigned long , unsigned long long , double );
282288 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (aulong, unsigned long long , unsigned long long , double );
@@ -285,7 +291,10 @@ namespace xt
285291 * float *
286292 *********/
287293 CHECK_RESULT_TYPE_FOR_ALL (afloat, float );
294+ #ifndef SKIP_ON_WERROR
295+ // final conversion to int may imply conversion loss
288296 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (afloat, int , float , float );
297+ #endif
289298 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (afloat, float , float , float );
290299 CHECK_TEMPLATED_RESULT_TYPE_FOR_ALL (afloat, double , double , double );
291300
0 commit comments