Date: Wed, 29 May 96 17:57:10 +0100 From: Jean-Marc Zucconi <jmz@cabri.obs-besancon.fr> To: jonas@mcs.com Cc: hackers@freebsd.org, jonas@mcs.net Subject: Re: Potential f77 bugs Message-ID: <9605291657.AA01122@cabri.obs-besancon.fr> In-Reply-To: <m0uOmxU-0005yQC@mars.mcs.com> (jonas@mcs.com)
next in thread | previous in thread | raw e-mail | index | archive | help
>>>>> Lars Jonas Olsson writes:
> Some f2c flags are processed. The rule is:
> (From usr/src/gnu/usr.bin/cc/cc/gcc.c)
> /***** ljo's Fortran rule *****/
> {".f", "@f2c"},
> {"@f2c",
> "f2c %{checksubscripts:-C} %{I2} %{onetrip} %{honorcase:-U} %{u} %{w}\
> %{ANSIC:-A} %{a} %{C++}\
> %{c} %{E} %{ec} %{ext} %{f} %{72} %{g} %{h} %{i2} %{kr}\
> %{P} %{p} %{r} %{r8} %{s} %{w8} %{z} %{N*}\
> %i %{!pipe: -o %g.c} %{pipe:-o -}|\n",
> "cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
> %{C:%{!E:%eGNU C does not support -C without using -E}}\
> %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{MG}\
> -undef -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\
> %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
> %{!undef:%{!ansi:%p} %P} %{trigraphs} \
> %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\
> %{traditional-cpp:-traditional}\
> %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*} %{U*} %{i*}\
> %{pipe:-} %{!pipe:%g.c} %{!M:%{!MM:%{!E:%{!pipe:%g.i}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",
> "%{!M:%{!MM:%{!E:cc1 %{!pipe:%g.i} %1 \
> %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a}\
> %{g*} %{O*} %{W*} %{w} %{pedantic*} %{ansi} \
> %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\
> %{aux-info*}\
> %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
> %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
> %{!S:as %{R} %{j} %{J} %{h} %{d2} %a %Y\
> %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o}\
> %{!pipe:%g.s} %A\n }}}}"},
> /***** End of ljo's Fortran rule *****/
> This means that we forward to f2c the arguments:
> -checksubscripts (renamed to -C before being sent to f2c)
> -I2
> -onetrip (This one is erronuous as it conflicts with gcc's -o)
> -honorcase (renamed to -U)
> -u
> -w
> -ANSIC (renamed to -A)
> -a
> -C++
> etc.
But there is still a bug: try -E, -ext, -ec, -u. They generate errors,
because it seems that they are also passed to cpp, cc1, etc. For instance
'f77 -ext -c foo.f' works but 'f77 -ext foo.f' fails (rejected by ld)
Jean-Marc
--
_____________________________________________________________________________
Jean-Marc Zucconi Observatoire de Besancon F 25010 Besancon cedex
PGP Key: finger jmz@cabri.obs-besancon.fr
=============================================================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9605291657.AA01122>
