On Thu, Dec 06, 2018 at 10:40:41PM +0000, Julian Brown wrote: > + && (TREE_CODE (inner_type) == REAL_TYPE > + || (!omp_is_reference (var) > + && INTEGRAL_TYPE_P (inner_type)) > + || TREE_CODE (inner_type) == INTEGER_TYPE)
Not sure I understand the above. INTEGRAL_TYPE_P is INTEGER_TYPE, BOOLEAN_TYPE and ENUMERAL_TYPE, so you want to handle INTEGER_TYPE no magger whether var should be passed by reference or not, but BOOLEAN_TYPE or ENUMERAL_TYPE only if it is not a reference? That is just weird. Any test to back that up? > + if ((TREE_CODE (inner_type) == REAL_TYPE > + || (!omp_is_reference (var) > + && INTEGRAL_TYPE_P (inner_type)) > + || TREE_CODE (inner_type) == INTEGER_TYPE) Ditto here. Jakub