This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
All other unary operators have an equivalent GIMPLE unary operator. */ if (code == TRUTH_NOT_EXPR) se->expr = build2 (EQ_EXPR, type, operand.expr, - build_int_cst (type, 0)); + build_int_cst (TREE_TYPE (operand.expr), 0)); else se->expr = build1 (code, type, operand.expr);
(This hunk is unrelated to your other clenaups.)> Unless I'm mistaken, TREE_TYPE (operand.expr) == type here, as the necessary conversions should have been added during resolution.
Yes, that one is a temporary workaround that I have for PR33626 (failure to get the correct kind for parenthesized expression). I think there are still a few shortcomings of the parentheses handling in the front-end, maybe more than we are currently aware (see last testcase of comment #20 in PR31608; http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31608#c20)
This has nothing to do with your cleanups, but I think that change is wrong. It's not an error the user made, but a shortcoming of the compiler.
I beg to differ. I think the compiler has a right to impose any limit it sees fit on the size of arrays, and this is what we do here. It would certainly improve the quality of our compiler to get rid of this limit, but I don't think it's a non-conforming behaviour.
Cheers, - Tobi
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |