Skip site navigation (1)Skip section navigation (2)
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>