On Thu, May 06, 2021 at 03:12:59PM +0200, Tom de Vries wrote: > + if (truth_value_p (OMP_CLAUSE_REDUCTION_CODE (c)) > + && TREE_CODE (TREE_TYPE (new_var)) != BOOLEAN_TYPE)
I would use && !INTEGRAL_TYPE_P (TREE_TYPE (new_var)) Especially in C code using || or && with int or other non-_Bool types will pretty frequent. Of course, if that doesn't work for SIMT either, it needs further work and punting on those could be a temporary workaround. But it would be a preexisting issue, not something introduced with accepting &&/|| for floating/complex types - we've accepted &&/|| for integral types forever. Jakub