Janne Blomqvist wrote:
On Thu, Mar 21, 2013 at 11:31 PM, Janne Blomqvist
<blomqvist.ja...@gmail.com> wrote:
Updated patch which in addition does the above transformations as
well.
.. and here is the actual patch (thanks Bernhard!)
http://gcc.gnu.org/ml/fortran/2013-03/msg00108.html
Thanks for the update and sorry for the delay. The patch idea as such is 
okay. However, the patch isn't.

+ if (!gfc_notify_std(GFC_STD_F2003, "Noninteger ""exponent in an initialization ""expression at %L", &op2->where))
Missing " " before the "(" additionally, the line is way too long. 
That's actually an issue throughout the whole file.
Additionally, the reformating caused code like:  "Noninteger ""exponent 
in  ....    The "" is quite ugly.

If you fix those issues, and update the patch for the newly added code (which presumably added a few FAILUREs), the patch is okay.
It is, indeed, most of the time helpful as it shortens the code without 
loosing its clearness. (Only at a few places, 'I found FAILURE/SUCCESS a 
tad clearer.)
Thanks for the patch.


For nicer looking code, you could also do:

* Remove the trailing " " for
+           return false;
(That's the only modified line with a trailing space)

* Change
+  if (!gfc_resolve_expr(e)
+      || !gfc_specification_expr(e))
+    return false;
to
  if (!gfc_resolve_expr(e) || !gfc_specification_expr(e))

* Ditto for:
+         if (t
              && b->expr1 != NULL
and a few more.


Tobias

Reply via email to