On Tue, May 04, 2021 at 12:16:50PM +0200, Tobias Burnus wrote:
> Unless there are further comments, I intent to commit it after the lunch
> break.

Just further nits, sorry (but no need to retest):

> --- a/gcc/omp-low.c
> +++ b/gcc/omp-low.c
> @@ -6389,6 +6389,11 @@ lower_rec_input_clauses (tree clauses, gimple_seq 
> *ilist, gimple_seq *dlist,
>                 if (code == MINUS_EXPR)
>                   code = PLUS_EXPR;
>  
> +               /* C/C++ permits FP/complex with || and &&.  */
> +               bool is_fp_and_or
> +                 = (((code == TRUTH_ANDIF_EXPR) || (code == TRUTH_ORIF_EXPR))

The ()s around code == TRUTH_*_EXPR are unnecessary.

> +                    && (FLOAT_TYPE_P (TREE_TYPE (new_var))
> +                        || (TREE_CODE (TREE_TYPE (new_var)) == 
> COMPLEX_TYPE)));

And if I count well, this is too long, so should have == on the next line
below TREE_CODE.  If it would fit, the ()s around the == would be
unnecessary too, the whole point of them is to make emacs happy (not an
emacs user myself though), which would otherwise misalign it.
Only needed if it needs a line split.
Without ()s, I think emacs likes to indent
        foo (....)
        || bar (..................)
           == ...........
as
        foo (....)
        || bar (..................)
        == ...........
and the cure is
        foo (....)
        || (bar (..................)
            == ...........)


> @@ -7397,13 +7429,32 @@ lower_reduction_clauses (tree clauses, gimple_seq 
> *stmt_seqp,
>        if (code == MINUS_EXPR)
>          code = PLUS_EXPR;
>  
> +      /* C/C++ permits FP/complex with || and &&.  */
> +      bool is_fp_and_or = (((code == TRUTH_ANDIF_EXPR)
> +                         || (code == TRUTH_ORIF_EXPR))

See above.

Otherwise ok.

        Jakub

Reply via email to