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]

Re: [Patch, Fortran] Use -huge()-1 as most negative integer for maxval/maxloc (PR30512)


On Sat, Feb 03, 2007 at 10:45:56AM +0100, Tobias Burnus wrote:

> While I still don't understand why
>    m4/pow.m4:ifelse(rtype_letter,i,`dnl
> works (unquoted "i"). I found out why

The quoting rules of m4 are arcane at best, and the style of the m4
files in libgfortran is also pretty bad (a lot of reversed quoting
going on there).

Unfortunately, m4 is pretty much a write-only language.  Also, the
state of the m4 files is pretty sorry (the style is inconsistent,
and there is no documentation).  I've submitted PR 30690 about
this (thre really should be a 'cleanup' keyword :-).

> It works for   "function_r8.c" where rtype_letter
> is "r", but
> it fails for "function_16_r8.c" since rtype is integer(16) and while
> atype is real(8).

Ah, my mistake. Sorry for not checking the results more thoroughly.

> The following fixes it:
> 
> define(atype_min,ifelse(regexp(file, `_\(.\)[0-9]*\.c$',
> `\1'),`i',`(-'atype_max`-1)',`-'atype_max))dnl

> Ok for the trunk and a week later for the 4.2 branch?

I'll look at it later this weekend, if nobody else beats me to it.

	Thomas


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]