[Patch, Fortran] PRs 41872, 40849, 40849, 42517

Tobias Burnus burnus@net-b.de
Wed Dec 30 21:21:00 GMT 2009


Hi all,

attached you find a patch which fixes a larger and several smaller issues.

a) PR 41872 - Allocatable scalars:
- Local and result variables are now initialized by NULL
- Double allocation is now properly detected
- Assignment of result variables works now

There are presumably some issues left, e.g. related to SAVE or to
characters or to

b) PR 40849 - Improve % checking for msgfmt
Currently, all gfortran strings to gfc_error etc. are marked as
no-c-format; thus "msgfmt" does not check whether the original string
and the translated string contain the same items; if one mixes up e.g.
%s and %d then one gets a crash.
One cannot mark those as "c-format" as %L is invalid. However, similarly
to gcc/* one can mark them as something else, e.g. as
"gcc-internal-format". That's what the patch does. (If you do not
understand how it works, read gcc/ABOUT-GCC-NLS and gcc/po/exgettext.) I
tested it by manually running gcc/po/exgettext and it works. (Well, kind
of - the "/" in the file-name comments of the .pot file are eaten; but
as this cannot be due to my patch, it probably is OK and just due to the
way I invoke the script.)

c) PR 40849 - Another translation fix
Here, the problem is that we use the preprocessor to concatenate the
error string with the version number, which does not work. Solution: Use
%s and an additional argument.

d) PR 42517 - As wished by me: Disable -fcheck=recursion already for
-frecursive and not only for -fopenmp (which implies -frecursive)

f) Improve the wording in the manual (intrinsic.texi)

Build and regtested on x86-64-linux.
OK for the trunk?

Note: I get the following failures, which seem to be unrelated
* gfortran.dg/gomp/recursion1.f90  (no libgomp available, see today's
thread)
* Graphite crashes
-  gfortran.dg/graphite/id-17.f (ICE in cloog_domain_stride, via -O2
-fgraphite-identity)
- gfortran.dg/graphite/pr42050.f90
- gfortran.dg/graphite/pr42334-1.f
- gfortran.dg/graphite/pr42334.f90
- gfortran.dg/graphite/pr42393.f90
* LTO: I think I those never worked for me:
- gfortran.dg/lto/pr40725 (-flto and -fwhopr)

Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: alloc.diff
Type: text/x-patch
Size: 14359 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20091230/30db533e/attachment.bin>


More information about the Fortran mailing list