Remove fortran from base.
authorHasso Tepper <hasso@dragonflybsd.org>
Wed, 14 May 2008 15:02:48 +0000 (15:02 +0000)
committerHasso Tepper <hasso@dragonflybsd.org>
Wed, 14 May 2008 15:02:48 +0000 (15:02 +0000)
352 files changed:
Makefile.inc1
Makefile_upgrade.inc
contrib/gcc-3.4/gcc/doc/g77.1 [deleted file]
contrib/gcc-3.4/gcc/f/ansify.c [deleted file]
contrib/gcc-3.4/gcc/f/bad.c [deleted file]
contrib/gcc-3.4/gcc/f/bad.def [deleted file]
contrib/gcc-3.4/gcc/f/bad.h [deleted file]
contrib/gcc-3.4/gcc/f/bit.c [deleted file]
contrib/gcc-3.4/gcc/f/bit.h [deleted file]
contrib/gcc-3.4/gcc/f/bld-op.def [deleted file]
contrib/gcc-3.4/gcc/f/bld.c [deleted file]
contrib/gcc-3.4/gcc/f/bld.h [deleted file]
contrib/gcc-3.4/gcc/f/bugs.texi [deleted file]
contrib/gcc-3.4/gcc/f/bugs0.texi [deleted file]
contrib/gcc-3.4/gcc/f/com-rt.def [deleted file]
contrib/gcc-3.4/gcc/f/com.c [deleted file]
contrib/gcc-3.4/gcc/f/com.h [deleted file]
contrib/gcc-3.4/gcc/f/data.c [deleted file]
contrib/gcc-3.4/gcc/f/data.h [deleted file]
contrib/gcc-3.4/gcc/f/equiv.c [deleted file]
contrib/gcc-3.4/gcc/f/equiv.h [deleted file]
contrib/gcc-3.4/gcc/f/expr.c [deleted file]
contrib/gcc-3.4/gcc/f/expr.h [deleted file]
contrib/gcc-3.4/gcc/f/ffe.texi [deleted file]
contrib/gcc-3.4/gcc/f/fini.c [deleted file]
contrib/gcc-3.4/gcc/f/g77.texi [deleted file]
contrib/gcc-3.4/gcc/f/g77spec.c [deleted file]
contrib/gcc-3.4/gcc/f/global.c [deleted file]
contrib/gcc-3.4/gcc/f/global.h [deleted file]
contrib/gcc-3.4/gcc/f/implic.c [deleted file]
contrib/gcc-3.4/gcc/f/implic.h [deleted file]
contrib/gcc-3.4/gcc/f/info-b.def [deleted file]
contrib/gcc-3.4/gcc/f/info-k.def [deleted file]
contrib/gcc-3.4/gcc/f/info-w.def [deleted file]
contrib/gcc-3.4/gcc/f/info.c [deleted file]
contrib/gcc-3.4/gcc/f/info.h [deleted file]
contrib/gcc-3.4/gcc/f/intdoc.c [deleted file]
contrib/gcc-3.4/gcc/f/intdoc.in [deleted file]
contrib/gcc-3.4/gcc/f/intdoc.texi [deleted file]
contrib/gcc-3.4/gcc/f/intrin.c [deleted file]
contrib/gcc-3.4/gcc/f/intrin.def [deleted file]
contrib/gcc-3.4/gcc/f/intrin.h [deleted file]
contrib/gcc-3.4/gcc/f/invoke.texi [deleted file]
contrib/gcc-3.4/gcc/f/lab.c [deleted file]
contrib/gcc-3.4/gcc/f/lab.h [deleted file]
contrib/gcc-3.4/gcc/f/lang-specs.h [deleted file]
contrib/gcc-3.4/gcc/f/lang.opt [deleted file]
contrib/gcc-3.4/gcc/f/lex.c [deleted file]
contrib/gcc-3.4/gcc/f/lex.h [deleted file]
contrib/gcc-3.4/gcc/f/malloc.c [deleted file]
contrib/gcc-3.4/gcc/f/malloc.h [deleted file]
contrib/gcc-3.4/gcc/f/name.c [deleted file]
contrib/gcc-3.4/gcc/f/name.h [deleted file]
contrib/gcc-3.4/gcc/f/news.texi [deleted file]
contrib/gcc-3.4/gcc/f/news0.texi [deleted file]
contrib/gcc-3.4/gcc/f/parse.c [deleted file]
contrib/gcc-3.4/gcc/f/proj.h [deleted file]
contrib/gcc-3.4/gcc/f/root.texi [deleted file]
contrib/gcc-3.4/gcc/f/src.c [deleted file]
contrib/gcc-3.4/gcc/f/src.h [deleted file]
contrib/gcc-3.4/gcc/f/st.c [deleted file]
contrib/gcc-3.4/gcc/f/st.h [deleted file]
contrib/gcc-3.4/gcc/f/sta.c [deleted file]
contrib/gcc-3.4/gcc/f/sta.h [deleted file]
contrib/gcc-3.4/gcc/f/stb.c [deleted file]
contrib/gcc-3.4/gcc/f/stb.h [deleted file]
contrib/gcc-3.4/gcc/f/stc.c [deleted file]
contrib/gcc-3.4/gcc/f/stc.h [deleted file]
contrib/gcc-3.4/gcc/f/std.c [deleted file]
contrib/gcc-3.4/gcc/f/std.h [deleted file]
contrib/gcc-3.4/gcc/f/ste.c [deleted file]
contrib/gcc-3.4/gcc/f/ste.h [deleted file]
contrib/gcc-3.4/gcc/f/storag.c [deleted file]
contrib/gcc-3.4/gcc/f/storag.h [deleted file]
contrib/gcc-3.4/gcc/f/stp.c [deleted file]
contrib/gcc-3.4/gcc/f/stp.h [deleted file]
contrib/gcc-3.4/gcc/f/str-1t.fin [deleted file]
contrib/gcc-3.4/gcc/f/str-2t.fin [deleted file]
contrib/gcc-3.4/gcc/f/str-fo.fin [deleted file]
contrib/gcc-3.4/gcc/f/str-io.fin [deleted file]
contrib/gcc-3.4/gcc/f/str-nq.fin [deleted file]
contrib/gcc-3.4/gcc/f/str-op.fin [deleted file]
contrib/gcc-3.4/gcc/f/str-ot.fin [deleted file]
contrib/gcc-3.4/gcc/f/str.c [deleted file]
contrib/gcc-3.4/gcc/f/str.h [deleted file]
contrib/gcc-3.4/gcc/f/sts.c [deleted file]
contrib/gcc-3.4/gcc/f/sts.h [deleted file]
contrib/gcc-3.4/gcc/f/stt.c [deleted file]
contrib/gcc-3.4/gcc/f/stt.h [deleted file]
contrib/gcc-3.4/gcc/f/stu.c [deleted file]
contrib/gcc-3.4/gcc/f/stu.h [deleted file]
contrib/gcc-3.4/gcc/f/stv.c [deleted file]
contrib/gcc-3.4/gcc/f/stv.h [deleted file]
contrib/gcc-3.4/gcc/f/stw.c [deleted file]
contrib/gcc-3.4/gcc/f/stw.h [deleted file]
contrib/gcc-3.4/gcc/f/symbol.c [deleted file]
contrib/gcc-3.4/gcc/f/symbol.def [deleted file]
contrib/gcc-3.4/gcc/f/symbol.h [deleted file]
contrib/gcc-3.4/gcc/f/target.c [deleted file]
contrib/gcc-3.4/gcc/f/target.h [deleted file]
contrib/gcc-3.4/gcc/f/top.c [deleted file]
contrib/gcc-3.4/gcc/f/top.h [deleted file]
contrib/gcc-3.4/gcc/f/type.c [deleted file]
contrib/gcc-3.4/gcc/f/type.h [deleted file]
contrib/gcc-3.4/gcc/f/where.c [deleted file]
contrib/gcc-3.4/gcc/f/where.h [deleted file]
contrib/gcc-3.4/libf2c/ChangeLog [deleted file]
contrib/gcc-3.4/libf2c/README [deleted file]
contrib/gcc-3.4/libf2c/TODO [deleted file]
contrib/gcc-3.4/libf2c/changes.netlib [deleted file]
contrib/gcc-3.4/libf2c/disclaimer.netlib [deleted file]
contrib/gcc-3.4/libf2c/f2c.h [deleted file]
contrib/gcc-3.4/libf2c/f2cext.c [deleted file]
contrib/gcc-3.4/libf2c/g2c.hin [deleted file]
contrib/gcc-3.4/libf2c/libF77/F77_aloc.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/Notice [deleted file]
contrib/gcc-3.4/libf2c/libF77/README.netlib [deleted file]
contrib/gcc-3.4/libf2c/libF77/Version.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/abort_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/c_abs.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/c_cos.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/c_div.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/c_exp.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/c_log.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/c_sin.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/c_sqrt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/cabs.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_abs.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_acos.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_asin.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_atan.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_atn2.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_cnjg.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_cos.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_cosh.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_dim.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_exp.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_imag.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_int.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_lg10.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_log.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_mod.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_nint.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_prod.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_sign.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_sin.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_sinh.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_sqrt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_tan.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/d_tanh.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/derf_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/derfc_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/ef1asc_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/ef1cmc_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/erf_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/erfc_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/exit_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/getarg_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/getenv_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_abs.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_dim.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_dnnt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_indx.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_len.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_mod.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_nint.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/h_sign.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/hl_ge.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/hl_gt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/hl_le.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/hl_lt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_abs.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_dim.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_dnnt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_indx.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_len.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_mod.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_nint.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/i_sign.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/iargc_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/l_ge.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/l_gt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/l_le.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/l_lt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/lbitbits.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/lbitshft.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/main.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_ci.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_dd.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_di.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_hh.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_ii.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_qq.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_ri.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_zi.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/pow_zz.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/qbitbits.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/qbitshft.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_abs.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_acos.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_asin.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_atan.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_atn2.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_cnjg.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_cos.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_cosh.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_dim.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_exp.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_imag.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_int.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_lg10.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_log.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_mod.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_nint.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_sign.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_sin.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_sinh.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_sqrt.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_tan.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/r_tanh.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/s_cat.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/s_cmp.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/s_copy.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/s_paus.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/s_rnge.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/s_stop.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/setarg.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/setsig.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/sig_die.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/signal1.h [deleted file]
contrib/gcc-3.4/libf2c/libF77/signal1.h0 [deleted file]
contrib/gcc-3.4/libf2c/libF77/signal_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/system_.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/z_abs.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/z_cos.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/z_div.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/z_exp.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/z_log.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/z_sin.c [deleted file]
contrib/gcc-3.4/libf2c/libF77/z_sqrt.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/Notice [deleted file]
contrib/gcc-3.4/libf2c/libI77/README.netlib [deleted file]
contrib/gcc-3.4/libf2c/libI77/Version.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/backspace.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/close.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/dfe.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/dolio.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/due.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/endfile.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/err.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/fio.h [deleted file]
contrib/gcc-3.4/libf2c/libI77/fmt.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/fmt.h [deleted file]
contrib/gcc-3.4/libf2c/libI77/fmtlib.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/fp.h [deleted file]
contrib/gcc-3.4/libf2c/libI77/ftell_.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/iio.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/ilnw.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/inquire.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/lio.h [deleted file]
contrib/gcc-3.4/libf2c/libI77/lread.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/lwrite.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/open.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/rdfmt.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/rewind.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/rsfe.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/rsli.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/rsne.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/sfe.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/sue.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/typesize.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/uio.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/util.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/wref.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/wrtfmt.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/wsfe.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/wsle.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/wsne.c [deleted file]
contrib/gcc-3.4/libf2c/libI77/xwsne.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/COPYING.LIB [deleted file]
contrib/gcc-3.4/libf2c/libU77/PROJECTS [deleted file]
contrib/gcc-3.4/libf2c/libU77/README [deleted file]
contrib/gcc-3.4/libf2c/libU77/Version.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/access_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/alarm_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/chdir_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/chmod_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/ctime_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/date_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/datetime_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/dtime_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/etime_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/fdate_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/fgetc_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/flush1_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/fnum_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/fputc_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/fstat_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/gerror_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/getcwd_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/getgid_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/getlog_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/getpid_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/getuid_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/gmtime_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/hostnm_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/idate_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/ierrno_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/irand_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/isatty_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/itime_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/kill_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/link_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/lnblnk_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/lstat_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/ltime_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/mclock_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/perror_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/rand_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/rename_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/secnds_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/second_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/sleep_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/srand_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/stat_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/symlnk_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/sys_clock_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/time_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/ttynam_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/umask_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/unlink_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/vxtidate_.c [deleted file]
contrib/gcc-3.4/libf2c/libU77/vxttime_.c [deleted file]
contrib/gcc-3.4/libf2c/permission.netlib [deleted file]
contrib/gcc-3.4/libf2c/readme.netlib [deleted file]
etc/defaults/make.conf
gnu/lib/gcc34/Makefile
gnu/lib/gcc34/libfrtbegin/Makefile [deleted file]
gnu/lib/gcc34/libg2c/Makefile [deleted file]
gnu/usr.bin/cc34/Makefile
gnu/usr.bin/cc34/Makefile.langs
gnu/usr.bin/cc34/cc_tools/Makefile
gnu/usr.bin/cc34/doc/Makefile
gnu/usr.bin/cc34/f771/Makefile [deleted file]
gnu/usr.bin/cc34/g77/Makefile [deleted file]
gnu/usr.bin/cc41/Makefile
gnu/usr.bin/cc41/Makefile.langs
gnu/usr.bin/cc41/cc_tools/Makefile
gnu/usr.bin/cc41/cc_tools/fini/Makefile [deleted file]
share/man/man5/make.conf.5
usr.bin/objformat/Makefile
usr.bin/objformat/objformat.c

index 9c82dd3..4aa6bcc 100644 (file)
@@ -1,6 +1,6 @@
 #
 # $FreeBSD: src/Makefile.inc1,v 1.141.2.62 2003/04/06 19:54:00 dwmalone Exp $
-# $DragonFly: src/Makefile.inc1,v 1.115 2008/05/01 19:44:37 tgen Exp $
+# $DragonFly: src/Makefile.inc1,v 1.116 2008/05/14 15:02:44 hasso Exp $
 #
 # Build-time options are documented in make.conf(5).
 #
@@ -833,10 +833,6 @@ _gcc41_cross= gnu/usr.bin/cc41
 _gcc41_tools= gnu/usr.bin/cc41/cc_prep gnu/usr.bin/cc41/cc_tools
 _binutils= gnu/usr.bin/binutils217
 
-.if !defined(NO_FORTRAN)
-_fortran= gnu/usr.bin/cc34/f771
-.endif
-
 .if exists(${.CURDIR}/kerberos5) && exists(${.CURDIR}/crypto) && \
     !defined(NO_CRYPT) && defined(WANT_KERBEROS)
 _libkrb5= kerberos5/tools kerberos5/lib/libroken kerberos5/lib/libvers \
@@ -844,7 +840,7 @@ _libkrb5= kerberos5/tools kerberos5/lib/libroken kerberos5/lib/libvers \
 .endif
 
 build-tools:
-.for _tool in ${_gcc34_tools} ${_gcc41_tools} ${_fortran} ${_libkrb5} ${_share}
+.for _tool in ${_gcc34_tools} ${_gcc41_tools} ${_libkrb5} ${_share}
        ${ECHODIR} "===> ${_tool} (build-tools)"; \
                cd ${.CURDIR}/${_tool}; \
                ${MAKE} DIRPRFX=${_tool}/ obj; \
index d18d43e..e1aa9e0 100644 (file)
@@ -1,4 +1,4 @@
-# $DragonFly: src/Makefile_upgrade.inc,v 1.24 2008/05/04 04:17:11 swildner Exp $
+# $DragonFly: src/Makefile_upgrade.inc,v 1.25 2008/05/14 15:02:44 hasso Exp $
 #
 # Append all obsolete files to this file
 # Avoid constructs like {foo,bar}.  It is parsed by /bin/sh
@@ -617,3 +617,14 @@ TO_REMOVE+=/usr/share/man/cat5/pam.d.5.gz
 TO_REMOVE+=/usr/share/man/man5/pam.d.5.gz
 TO_REMOVE+=/usr/share/man/cat8/pam.8.gz
 TO_REMOVE+=/usr/share/man/man8/pam.8.gz
+TO_REMOVE+=/usr/bin/f77
+TO_REMOVE+=/usr/bin/g77
+TO_REMOVE+=/usr/libexec/gcc34/f77
+TO_REMOVE+=/usr/libexec/gcc34/f771
+TO_REMOVE+=/usr/libexec/gcc34/g77
+TO_REMOVE+=/usr/lib/gcc34/libfrtbegin.a
+TO_REMOVE+=/usr/lib/gcc34/libfrtbegin.so
+TO_REMOVE+=/usr/lib/gcc34/libfrtbegin.so.1
+TO_REMOVE+=/usr/lib/gcc34/libg2c.a
+TO_REMOVE+=/usr/lib/gcc34/libg2c.so
+TO_REMOVE+=/usr/lib/gcc34/libg2c.so.3
diff --git a/contrib/gcc-3.4/gcc/doc/g77.1 b/contrib/gcc-3.4/gcc/doc/g77.1
deleted file mode 100644 (file)
index 955628d..0000000
+++ /dev/null
@@ -1,1735 +0,0 @@
-.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14
-.\"
-.\" Standard preamble:
-.\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-.fi
-..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  | will give a
-.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
-.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
-.\" expand to `' in nroff, nothing in troff, for use with C<>.
-.tr \(*W-|\(bv\*(Tr
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
-.    ds C` ""
-.    ds C' ""
-'br\}
-.el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
-'br\}
-.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
-.\" entries marked with X<> in POD.  Of course, you'll have to process the
-.\" output yourself in some meaningful fashion.
-.if \nF \{\
-.    de IX
-.    tm Index:\\$1\t\\n%\t"\\$2"
-..
-.    nr % 0
-.    rr F
-.\}
-.\"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.hy 0
-.if n .na
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ========================================================================
-.\"
-.IX Title "G77 1"
-.TH G77 1 "2006-03-06" "gcc-3.4.6" "GNU"
-.SH "NAME"
-g77 \- GNU project Fortran 77 compiler
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-g77 [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR]
-    [\fB\-g\fR] [\fB\-pg\fR] [\fB\-O\fR\fIlevel\fR]
-    [\fB\-W\fR\fIwarn\fR...] [\fB\-pedantic\fR]
-    [\fB\-I\fR\fIdir\fR...] [\fB\-L\fR\fIdir\fR...]
-    [\fB\-D\fR\fImacro\fR[=\fIdefn\fR]...] [\fB\-U\fR\fImacro\fR]
-    [\fB\-f\fR\fIoption\fR...] [\fB\-m\fR\fImachine-option\fR...]
-    [\fB\-o\fR \fIoutfile\fR] \fIinfile\fR...
-.PP
-Only the most useful options are listed here; see below for the
-remainder.
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-The \fBg77\fR command supports all the options supported by the
-\&\fBgcc\fR command.
-.PP
-All \fBgcc\fR and \fBg77\fR options
-are accepted both by \fBg77\fR and by \fBgcc\fR
-(as well as any other drivers built at the same time,
-such as \fBg++\fR),
-since adding \fBg77\fR to the \fBgcc\fR distribution
-enables acceptance of \fBg77\fR options
-by all of the relevant drivers.
-.PP
-In some cases, options have positive and negative forms;
-the negative form of \fB\-ffoo\fR would be \fB\-fno\-foo\fR.
-This manual documents only one of these two forms, whichever
-one is not the default.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-Here is a summary of all the options specific to \s-1GNU\s0 Fortran, grouped
-by type.  Explanations are in the following sections.
-.IP "\fIOverall Options\fR" 4
-.IX Item "Overall Options"
-\&\fB\-fversion  \-fset\-g77\-defaults  \-fno\-silent\fR
-.IP "\fIShorthand Options\fR" 4
-.IX Item "Shorthand Options"
-\&\fB\-ff66  \-fno\-f66  \-ff77  \-fno\-f77  \-fno\-ugly\fR
-.IP "\fIFortran Language Options\fR" 4
-.IX Item "Fortran Language Options"
-\&\fB\-ffree\-form  \-fno\-fixed\-form  \-ff90 
-\&\-fvxt  \-fdollar\-ok  \-fno\-backslash 
-\&\-fno\-ugly\-args  \-fno\-ugly\-assign  \-fno\-ugly\-assumed 
-\&\-fugly\-comma  \-fugly\-complex  \-fugly\-init  \-fugly\-logint 
-\&\-fonetrip  \-ftypeless\-boz 
-\&\-fintrin\-case\-initcap  \-fintrin\-case\-upper 
-\&\-fintrin\-case\-lower  \-fintrin\-case\-any 
-\&\-fmatch\-case\-initcap  \-fmatch\-case\-upper 
-\&\-fmatch\-case\-lower  \-fmatch\-case\-any 
-\&\-fsource\-case\-upper  \-fsource\-case\-lower 
-\&\-fsource\-case\-preserve 
-\&\-fsymbol\-case\-initcap  \-fsymbol\-case\-upper 
-\&\-fsymbol\-case\-lower  \-fsymbol\-case\-any 
-\&\-fcase\-strict\-upper  \-fcase\-strict\-lower 
-\&\-fcase\-initcap  \-fcase\-upper  \-fcase\-lower  \-fcase\-preserve 
-\&\-ff2c\-intrinsics\-delete  \-ff2c\-intrinsics\-hide 
-\&\-ff2c\-intrinsics\-disable  \-ff2c\-intrinsics\-enable 
-\&\-fbadu77\-intrinsics\-delete  \-fbadu77\-intrinsics\-hide 
-\&\-fbadu77\-intrinsics\-disable  \-fbadu77\-intrinsics\-enable 
-\&\-ff90\-intrinsics\-delete  \-ff90\-intrinsics\-hide 
-\&\-ff90\-intrinsics\-disable  \-ff90\-intrinsics\-enable 
-\&\-fgnu\-intrinsics\-delete  \-fgnu\-intrinsics\-hide 
-\&\-fgnu\-intrinsics\-disable  \-fgnu\-intrinsics\-enable 
-\&\-fmil\-intrinsics\-delete  \-fmil\-intrinsics\-hide 
-\&\-fmil\-intrinsics\-disable  \-fmil\-intrinsics\-enable 
-\&\-funix\-intrinsics\-delete  \-funix\-intrinsics\-hide 
-\&\-funix\-intrinsics\-disable  \-funix\-intrinsics\-enable 
-\&\-fvxt\-intrinsics\-delete  \-fvxt\-intrinsics\-hide 
-\&\-fvxt\-intrinsics\-disable  \-fvxt\-intrinsics\-enable 
-\&\-ffixed\-line\-length\-\fR\fIn\fR  \fB\-ffixed\-line\-length\-none\fR
-.IP "\fIWarning Options\fR" 4
-.IX Item "Warning Options"
-\&\fB\-fsyntax\-only  \-pedantic  \-pedantic\-errors  \-fpedantic 
-\&\-w  \-Wno\-globals  \-Wimplicit  \-Wunused  \-Wuninitialized 
-\&\-Wall  \-Wsurprising 
-\&\-Werror  \-W\fR
-.IP "\fIDebugging Options\fR" 4
-.IX Item "Debugging Options"
-\&\fB\-g\fR
-.IP "\fIOptimization Options\fR" 4
-.IX Item "Optimization Options"
-\&\fB\-malign\-double 
-\&\-ffloat\-store  \-fforce\-mem  \-fforce\-addr  \-fno\-inline 
-\&\-ffast\-math  \-fstrength\-reduce  \-frerun\-cse\-after\-loop 
-\&\-funsafe\-math\-optimizations \-ffinite\-math\-only \-fno\-trapping\-math 
-\&\-fexpensive\-optimizations  \-fdelayed\-branch 
-\&\-fschedule\-insns  \-fschedule\-insn2  \-fcaller\-saves 
-\&\-funroll\-loops  \-funroll\-all\-loops 
-\&\-fno\-move\-all\-movables  \-fno\-reduce\-all\-givs 
-\&\-fno\-rerun\-loop\-opt\fR
-.IP "\fIDirectory Options\fR" 4
-.IX Item "Directory Options"
-\&\fB\-I\fR\fIdir\fR  \fB\-I\-\fR
-.IP "\fICode Generation Options\fR" 4
-.IX Item "Code Generation Options"
-\&\fB\-fno\-automatic  \-finit\-local\-zero  \-fno\-f2c 
-\&\-ff2c\-library  \-fno\-underscoring  \-fno\-ident 
-\&\-fpcc\-struct\-return  \-freg\-struct\-return 
-\&\-fshort\-double  \-fno\-common  \-fpack\-struct 
-\&\-fzeros  \-fno\-second\-underscore 
-\&\-femulate\-complex 
-\&\-falias\-check  \-fargument\-alias 
-\&\-fargument\-noalias  \-fno\-argument\-noalias\-global 
-\&\-fno\-globals  \-fflatten\-arrays 
-\&\-fbounds\-check  \-ffortran\-bounds\-check\fR
-.PP
-Compilation can involve as many as four stages: preprocessing, code
-generation (often what is really meant by the term ``compilation''),
-assembly, and linking, always in that order.  The first three
-stages apply to an individual source file, and end by producing an
-object file; linking combines all the object files (those newly
-compiled, and those specified as input) into an executable file.
-.PP
-For any given input file, the file name suffix determines what kind of
-program is contained in the file\-\-\-that is, the language in which the
-program is written is generally indicated by the suffix.
-Suffixes specific to \s-1GNU\s0 Fortran are listed below.
-.IP "\fIfile\fR\fB.f\fR" 4
-.IX Item "file.f"
-.PD 0
-.IP "\fIfile\fR\fB.for\fR" 4
-.IX Item "file.for"
-.IP "\fIfile\fR\fB.FOR\fR" 4
-.IX Item "file.FOR"
-.PD
-Fortran source code that should not be preprocessed.
-.Sp
-Such source code cannot contain any preprocessor directives, such
-as \f(CW\*(C`#include\*(C'\fR, \f(CW\*(C`#define\*(C'\fR, \f(CW\*(C`#if\*(C'\fR, and so on.
-.Sp
-You can force \fB.f\fR files to be preprocessed by \fBcpp\fR by using
-\&\fB\-x f77\-cpp\-input\fR.
-.IP "\fIfile\fR\fB.F\fR" 4
-.IX Item "file.F"
-.PD 0
-.IP "\fIfile\fR\fB.fpp\fR" 4
-.IX Item "file.fpp"
-.IP "\fIfile\fR\fB.FPP\fR" 4
-.IX Item "file.FPP"
-.PD
-Fortran source code that must be preprocessed (by the C preprocessor
-\&\fBcpp\fR, which is part of \s-1GCC\s0).
-.Sp
-Note that preprocessing is not extended to the contents of
-files included by the \f(CW\*(C`INCLUDE\*(C'\fR directive\-\-\-the \f(CW\*(C`#include\*(C'\fR
-preprocessor directive must be used instead.
-.IP "\fIfile\fR\fB.r\fR" 4
-.IX Item "file.r"
-Ratfor source code, which must be preprocessed by the \fBratfor\fR
-command, which is available separately (as it is not yet part of the \s-1GNU\s0
-Fortran distribution).
-A public domain version in C is at
-<\fBhttp://sepwww.stanford.edu/sep/prof/ratfor.shar.2\fR>.
-.PP
-\&\s-1UNIX\s0 users typically use the \fI\fIfile\fI.f\fR and \fI\fIfile\fI.F\fR
-nomenclature.
-Users of other operating systems, especially those that cannot
-distinguish upper-case
-letters from lower-case letters in their file names, typically use
-the \fI\fIfile\fI.for\fR and \fI\fIfile\fI.fpp\fR nomenclature.
-.PP
-Use of the preprocessor \fBcpp\fR allows use of C\-like
-constructs such as \f(CW\*(C`#define\*(C'\fR and \f(CW\*(C`#include\*(C'\fR, but can
-lead to unexpected, even mistaken, results due to Fortran's source file
-format.
-It is recommended that use of the C preprocessor
-be limited to \f(CW\*(C`#include\*(C'\fR and, in
-conjunction with \f(CW\*(C`#define\*(C'\fR, only \f(CW\*(C`#if\*(C'\fR and related directives,
-thus avoiding in-line macro expansion entirely.
-This recommendation applies especially
-when using the traditional fixed source form.
-With free source form,
-fewer unexpected transformations are likely to happen, but use of
-constructs such as Hollerith and character constants can nevertheless
-present problems, especially when these are continued across multiple
-source lines.
-These problems result, primarily, from differences between the way
-such constants are interpreted by the C preprocessor and by a Fortran
-compiler.
-.PP
-Another example of a problem that results from using the C preprocessor
-is that a Fortran comment line that happens to contain any
-characters ``interesting'' to the C preprocessor,
-such as a backslash at the end of the line,
-is not recognized by the preprocessor as a comment line,
-so instead of being passed through ``raw'',
-the line is edited according to the rules for the preprocessor.
-For example, the backslash at the end of the line is removed,
-along with the subsequent newline, resulting in the next
-line being effectively commented out\-\-\-unfortunate if that
-line is a non-comment line of important code!
-.PP
-\&\fINote:\fR The \fB\-traditional\fR and \fB\-undef\fR flags are supplied
-to \fBcpp\fR by default, to help avoid unpleasant surprises.
-.PP
-This means that \s-1ANSI\s0 C preprocessor features (such as the \fB#\fR
-operator) aren't available, and only variables in the C reserved
-namespace (generally, names with a leading underscore) are liable to
-substitution by C predefines.
-Thus, if you want to do system-specific
-tests, use, for example, \fB#ifdef _\|_linux_\|_\fR rather than \fB#ifdef linux\fR.
-Use the \fB\-v\fR option to see exactly how the preprocessor is invoked.
-.PP
-Unfortunately, the \fB\-traditional\fR flag will not avoid an error from
-anything that \fBcpp\fR sees as an unterminated C comment, such as:
-.PP
-.Vb 2
-\&        C Some Fortran compilers accept /* as starting
-\&        C an inline comment.
-.Ve
-.PP
-The following options that affect overall processing are recognized
-by the \fBg77\fR and \fBgcc\fR commands in a \s-1GNU\s0 Fortran installation:
-.IP "\fB\-fversion\fR" 4
-.IX Item "-fversion"
-Ensure that the \fBg77\fR version of the compiler phase is reported,
-if run,
-and, starting in \f(CW\*(C`egcs\*(C'\fR version 1.1,
-that internal consistency checks in the \fIf771\fR program are run.
-.Sp
-This option is supplied automatically when \fB\-v\fR or \fB\-\-verbose\fR
-is specified as a command-line option for \fBg77\fR or \fBgcc\fR
-and when the resulting commands compile Fortran source files.
-.Sp
-In \s-1GCC\s0 3.1, this is changed back to the behavior \fBgcc\fR displays
-for \fB.c\fR files.
-.IP "\fB\-fset\-g77\-defaults\fR" 4
-.IX Item "-fset-g77-defaults"
-\&\fIVersion info:\fR
-This option was obsolete as of \f(CW\*(C`egcs\*(C'\fR
-version 1.1.
-The effect is instead achieved
-by the \f(CW\*(C`lang_init_options\*(C'\fR routine
-in \fIgcc/gcc/f/com.c\fR.
-.Sp
-Set up whatever \fBgcc\fR options are to apply to Fortran
-compilations, and avoid running internal consistency checks
-that might take some time.
-.Sp
-This option is supplied automatically when compiling Fortran code
-via the \fBg77\fR or \fBgcc\fR command.
-The description of this option is provided so that users seeing
-it in the output of, say, \fBg77 \-v\fR understand why it is
-there.
-.Sp
-Also, developers who run \f(CW\*(C`f771\*(C'\fR directly might want to specify it
-by hand to get the same defaults as they would running \f(CW\*(C`f771\*(C'\fR
-via \fBg77\fR or \fBgcc\fR
-However, such developers should, after linking a new \f(CW\*(C`f771\*(C'\fR
-executable, invoke it without this option once,
-e.g. via \f(CW\*(C`./f771 \-quiet < /dev/null\*(C'\fR,
-to ensure that they have not introduced any
-internal inconsistencies (such as in the table of
-intrinsics) before proceeding\-\-\-\fBg77\fR will crash
-with a diagnostic if it detects an inconsistency.
-.IP "\fB\-fno\-silent\fR" 4
-.IX Item "-fno-silent"
-Print (to \f(CW\*(C`stderr\*(C'\fR) the names of the program units as
-they are compiled, in a form similar to that used by popular
-\&\s-1UNIX\s0 \fBf77\fR implementations and \fBf2c\fR
-.Sh "Shorthand Options"
-.IX Subsection "Shorthand Options"
-The following options serve as ``shorthand''
-for other options accepted by the compiler:
-.IP "\fB\-fugly\fR" 4
-.IX Item "-fugly"
-\&\fINote:\fR This option is no longer supported.
-The information, below, is provided to aid
-in the conversion of old scripts.
-.Sp
-Specify that certain ``ugly'' constructs are to be quietly accepted.
-Same as:
-.Sp
-.Vb 3
-\&        -fugly-args -fugly-assign -fugly-assumed
-\&        -fugly-comma -fugly-complex -fugly-init
-\&        -fugly-logint
-.Ve
-.Sp
-These constructs are considered inappropriate to use in new
-or well-maintained portable Fortran code, but widely used
-in old code.
-.IP "\fB\-fno\-ugly\fR" 4
-.IX Item "-fno-ugly"
-Specify that all ``ugly'' constructs are to be noisily rejected.
-Same as:
-.Sp
-.Vb 3
-\&        -fno-ugly-args -fno-ugly-assign -fno-ugly-assumed
-\&        -fno-ugly-comma -fno-ugly-complex -fno-ugly-init
-\&        -fno-ugly-logint
-.Ve
-.IP "\fB\-ff66\fR" 4
-.IX Item "-ff66"
-Specify that the program is written in idiomatic \s-1FORTRAN\s0 66.
-Same as \fB\-fonetrip \-fugly\-assumed\fR.
-.Sp
-The \fB\-fno\-f66\fR option is the inverse of \fB\-ff66\fR.
-As such, it is the same as \fB\-fno\-onetrip \-fno\-ugly\-assumed\fR.
-.Sp
-The meaning of this option is likely to be refined as future
-versions of \fBg77\fR provide more compatibility with other
-existing and obsolete Fortran implementations.
-.IP "\fB\-ff77\fR" 4
-.IX Item "-ff77"
-Specify that the program is written in idiomatic \s-1UNIX\s0 \s-1FORTRAN\s0 77
-and/or the dialect accepted by the \fBf2c\fR product.
-Same as \fB\-fbackslash \-fno\-typeless\-boz\fR.
-.Sp
-The meaning of this option is likely to be refined as future
-versions of \fBg77\fR provide more compatibility with other
-existing and obsolete Fortran implementations.
-.IP "\fB\-fno\-f77\fR" 4
-.IX Item "-fno-f77"
-The \fB\-fno\-f77\fR option is \fInot\fR the inverse
-of \fB\-ff77\fR.
-It specifies that the program is not written in idiomatic \s-1UNIX\s0
-\&\s-1FORTRAN\s0 77 or \fBf2c\fR but in a more widely portable dialect.
-\&\fB\-fno\-f77\fR is the same as \fB\-fno\-backslash\fR.
-.Sp
-The meaning of this option is likely to be refined as future
-versions of \fBg77\fR provide more compatibility with other
-existing and obsolete Fortran implementations.
-.Sh "Options Controlling Fortran Dialect"
-.IX Subsection "Options Controlling Fortran Dialect"
-The following options control the dialect of Fortran
-that the compiler accepts:
-.IP "\fB\-ffree\-form\fR" 4
-.IX Item "-ffree-form"
-.PD 0
-.IP "\fB\-fno\-fixed\-form\fR" 4
-.IX Item "-fno-fixed-form"
-.PD
-Specify that the source file is written in free form
-(introduced in Fortran 90) instead of the more-traditional fixed form.
-.IP "\fB\-ff90\fR" 4
-.IX Item "-ff90"
-Allow certain Fortran\-90 constructs.
-.Sp
-This option controls whether certain
-Fortran 90 constructs are recognized.
-(Other Fortran 90 constructs
-might or might not be recognized depending on other options such as
-\&\fB\-fvxt\fR, \fB\-ff90\-intrinsics\-enable\fR, and the
-current level of support for Fortran 90.)
-.IP "\fB\-fvxt\fR" 4
-.IX Item "-fvxt"
-Specify the treatment of certain constructs that have different
-meanings depending on whether the code is written in
-\&\s-1GNU\s0 Fortran (based on \s-1FORTRAN\s0 77 and akin to Fortran 90)
-or \s-1VXT\s0 Fortran (more like \s-1VAX\s0 \s-1FORTRAN\s0).
-.Sp
-The default is \fB\-fno\-vxt\fR.
-\&\fB\-fvxt\fR specifies that the \s-1VXT\s0 Fortran interpretations
-for those constructs are to be chosen.
-.IP "\fB\-fdollar\-ok\fR" 4
-.IX Item "-fdollar-ok"
-Allow \fB$\fR as a valid character in a symbol name.
-.IP "\fB\-fno\-backslash\fR" 4
-.IX Item "-fno-backslash"
-Specify that \fB\e\fR is not to be specially interpreted in character
-and Hollerith constants a la C and many \s-1UNIX\s0 Fortran compilers.
-.Sp
-For example, with \fB\-fbackslash\fR in effect, \fBA\enB\fR specifies
-three characters, with the second one being newline.
-With \fB\-fno\-backslash\fR, it specifies four characters,
-\&\fBA\fR, \fB\e\fR, \fBn\fR, and \fBB\fR.
-.Sp
-Note that \fBg77\fR implements a fairly general form of backslash
-processing that is incompatible with the narrower forms supported
-by some other compilers.
-For example, \fB'A\e003B'\fR is a three-character string in \fBg77\fR
-whereas other compilers that support backslash might not support
-the three-octal-digit form, and thus treat that string as longer
-than three characters.
-.IP "\fB\-fno\-ugly\-args\fR" 4
-.IX Item "-fno-ugly-args"
-Disallow passing Hollerith and typeless constants as actual
-arguments (for example, \fB\s-1CALL\s0 \s-1FOO\s0(4HABCD)\fR).
-.IP "\fB\-fugly\-assign\fR" 4
-.IX Item "-fugly-assign"
-Use the same storage for a given variable regardless of
-whether it is used to hold an assigned-statement label
-(as in \fB\s-1ASSIGN\s0 10 \s-1TO\s0 I\fR) or used to hold numeric data
-(as in \fBI = 3\fR).
-.IP "\fB\-fugly\-assumed\fR" 4
-.IX Item "-fugly-assumed"
-Assume any dummy array with a final dimension specified as \fB1\fR
-is really an assumed-size array, as if \fB*\fR had been specified
-for the final dimension instead of \fB1\fR.
-.Sp
-For example, \fB\s-1DIMENSION\s0 X(1)\fR is treated as if it
-had read \fB\s-1DIMENSION\s0 X(*)\fR.
-.IP "\fB\-fugly\-comma\fR" 4
-.IX Item "-fugly-comma"
-In an external-procedure invocation,
-treat a trailing comma in the argument list
-as specification of a trailing null argument,
-and treat an empty argument list
-as specification of a single null argument.
-.Sp
-For example, \fB\s-1CALL\s0 \s-1FOO\s0(,)\fR is treated as
-\&\fB\s-1CALL\s0 \s-1FOO\s0(%\f(BIVAL\fB\|(0), %\f(BIVAL\fB\|(0))\fR.
-That is, \fItwo\fR null arguments are specified
-by the procedure call when \fB\-fugly\-comma\fR is in force.
-And \fBF = \s-1\f(BIFUNC\s0()\fB\fR is treated as \fBF = \s-1FUNC\s0(%\f(BIVAL\fB\|(0))\fR.
-.Sp
-The default behavior, \fB\-fno\-ugly\-comma\fR, is to ignore
-a single trailing comma in an argument list.
-So, by default, \fB\s-1CALL\s0 \s-1FOO\s0(X,)\fR is treated
-exactly the same as \fB\s-1CALL\s0 \s-1FOO\s0(X)\fR.
-.IP "\fB\-fugly\-complex\fR" 4
-.IX Item "-fugly-complex"
-Do not complain about \fB\s-1REAL\s0(\fR\fIexpr\fR\fB)\fR or
-\&\fB\s-1AIMAG\s0(\fR\fIexpr\fR\fB)\fR when \fIexpr\fR is a \f(CW\*(C`COMPLEX\*(C'\fR
-type other than \f(CW\*(C`COMPLEX(KIND=1)\*(C'\fR\-\-\-usually
-this is used to permit \f(CW\*(C`COMPLEX(KIND=2)\*(C'\fR
-(\f(CW\*(C`DOUBLE COMPLEX\*(C'\fR) operands.
-.Sp
-The \fB\-ff90\fR option controls the interpretation
-of this construct.
-.IP "\fB\-fno\-ugly\-init\fR" 4
-.IX Item "-fno-ugly-init"
-Disallow use of Hollerith and typeless constants as initial
-values (in \f(CW\*(C`PARAMETER\*(C'\fR and \f(CW\*(C`DATA\*(C'\fR statements), and
-use of character constants to
-initialize numeric types and vice versa.
-.Sp
-For example, \fB\s-1DATA\s0 I/'F'/, \s-1CHRVAR/65/\s0, J/4HABCD/\fR is disallowed by
-\&\fB\-fno\-ugly\-init\fR.
-.IP "\fB\-fugly\-logint\fR" 4
-.IX Item "-fugly-logint"
-Treat \f(CW\*(C`INTEGER\*(C'\fR and \f(CW\*(C`LOGICAL\*(C'\fR variables and
-expressions as potential stand-ins for each other.
-.Sp
-For example, automatic conversion between \f(CW\*(C`INTEGER\*(C'\fR and
-\&\f(CW\*(C`LOGICAL\*(C'\fR is enabled, for many contexts, via this option.
-.IP "\fB\-fonetrip\fR" 4
-.IX Item "-fonetrip"
-Executable iterative \f(CW\*(C`DO\*(C'\fR loops are to be executed at
-least once each time they are reached.
-.Sp
-\&\s-1ANSI\s0 \s-1FORTRAN\s0 77 and more recent versions of the Fortran standard
-specify that the body of an iterative \f(CW\*(C`DO\*(C'\fR loop is not executed
-if the number of iterations calculated from the parameters of the
-loop is less than 1.
-(For example, \fB\s-1DO\s0 10 I = 1, 0\fR.)
-Such a loop is called a \fIzero-trip loop\fR.
-.Sp
-Prior to \s-1ANSI\s0 \s-1FORTRAN\s0 77, many compilers implemented \f(CW\*(C`DO\*(C'\fR loops
-such that the body of a loop would be executed at least once, even
-if the iteration count was zero.
-Fortran code written assuming this behavior is said to require
-\&\fIone-trip loops\fR.
-For example, some code written to the \s-1FORTRAN\s0 66 standard
-expects this behavior from its \f(CW\*(C`DO\*(C'\fR loops, although that
-standard did not specify this behavior.
-.Sp
-The \fB\-fonetrip\fR option specifies that the source file(s) being
-compiled require one-trip loops.
-.Sp
-This option affects only those loops specified by the (iterative) \f(CW\*(C`DO\*(C'\fR
-statement and by implied\-\f(CW\*(C`DO\*(C'\fR lists in I/O statements.
-Loops specified by implied\-\f(CW\*(C`DO\*(C'\fR lists in \f(CW\*(C`DATA\*(C'\fR and
-specification (non\-executable) statements are not affected.
-.IP "\fB\-ftypeless\-boz\fR" 4
-.IX Item "-ftypeless-boz"
-Specifies that prefix-radix non-decimal constants, such as
-\&\fBZ'\s-1ABCD\s0'\fR, are typeless instead of \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR.
-.Sp
-You can test for yourself whether a particular compiler treats
-the prefix form as \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR or typeless by running the
-following program:
-.Sp
-.Vb 6
-\&        EQUIVALENCE (I, R)
-\&        R = Z'ABCD1234'
-\&        J = Z'ABCD1234'
-\&        IF (J .EQ. I) PRINT *, 'Prefix form is TYPELESS'
-\&        IF (J .NE. I) PRINT *, 'Prefix form is INTEGER'
-\&        END
-.Ve
-.Sp
-Reports indicate that many compilers process this form as
-\&\f(CW\*(C`INTEGER(KIND=1)\*(C'\fR, though a few as typeless, and at least one
-based on a command-line option specifying some kind of
-compatibility.
-.IP "\fB\-fintrin\-case\-initcap\fR" 4
-.IX Item "-fintrin-case-initcap"
-.PD 0
-.IP "\fB\-fintrin\-case\-upper\fR" 4
-.IX Item "-fintrin-case-upper"
-.IP "\fB\-fintrin\-case\-lower\fR" 4
-.IX Item "-fintrin-case-lower"
-.IP "\fB\-fintrin\-case\-any\fR" 4
-.IX Item "-fintrin-case-any"
-.PD
-Specify expected case for intrinsic names.
-\&\fB\-fintrin\-case\-lower\fR is the default.
-.IP "\fB\-fmatch\-case\-initcap\fR" 4
-.IX Item "-fmatch-case-initcap"
-.PD 0
-.IP "\fB\-fmatch\-case\-upper\fR" 4
-.IX Item "-fmatch-case-upper"
-.IP "\fB\-fmatch\-case\-lower\fR" 4
-.IX Item "-fmatch-case-lower"
-.IP "\fB\-fmatch\-case\-any\fR" 4
-.IX Item "-fmatch-case-any"
-.PD
-Specify expected case for keywords.
-\&\fB\-fmatch\-case\-lower\fR is the default.
-.IP "\fB\-fsource\-case\-upper\fR" 4
-.IX Item "-fsource-case-upper"
-.PD 0
-.IP "\fB\-fsource\-case\-lower\fR" 4
-.IX Item "-fsource-case-lower"
-.IP "\fB\-fsource\-case\-preserve\fR" 4
-.IX Item "-fsource-case-preserve"
-.PD
-Specify whether source text other than character and Hollerith constants
-is to be translated to uppercase, to lowercase, or preserved as is.
-\&\fB\-fsource\-case\-lower\fR is the default.
-.IP "\fB\-fsymbol\-case\-initcap\fR" 4
-.IX Item "-fsymbol-case-initcap"
-.PD 0
-.IP "\fB\-fsymbol\-case\-upper\fR" 4
-.IX Item "-fsymbol-case-upper"
-.IP "\fB\-fsymbol\-case\-lower\fR" 4
-.IX Item "-fsymbol-case-lower"
-.IP "\fB\-fsymbol\-case\-any\fR" 4
-.IX Item "-fsymbol-case-any"
-.PD
-Specify valid cases for user-defined symbol names.
-\&\fB\-fsymbol\-case\-any\fR is the default.
-.IP "\fB\-fcase\-strict\-upper\fR" 4
-.IX Item "-fcase-strict-upper"
-Same as \fB\-fintrin\-case\-upper \-fmatch\-case\-upper \-fsource\-case\-preserve
-\&\-fsymbol\-case\-upper\fR.
-(Requires all pertinent source to be in uppercase.)
-.IP "\fB\-fcase\-strict\-lower\fR" 4
-.IX Item "-fcase-strict-lower"
-Same as \fB\-fintrin\-case\-lower \-fmatch\-case\-lower \-fsource\-case\-preserve
-\&\-fsymbol\-case\-lower\fR.
-(Requires all pertinent source to be in lowercase.)
-.IP "\fB\-fcase\-initcap\fR" 4
-.IX Item "-fcase-initcap"
-Same as \fB\-fintrin\-case\-initcap \-fmatch\-case\-initcap \-fsource\-case\-preserve
-\&\-fsymbol\-case\-initcap\fR.
-(Requires all pertinent source to be in initial capitals,
-as in \fBPrint *,SqRt(Value)\fR.)
-.IP "\fB\-fcase\-upper\fR" 4
-.IX Item "-fcase-upper"
-Same as \fB\-fintrin\-case\-any \-fmatch\-case\-any \-fsource\-case\-upper
-\&\-fsymbol\-case\-any\fR.
-(Maps all pertinent source to uppercase.)
-.IP "\fB\-fcase\-lower\fR" 4
-.IX Item "-fcase-lower"
-Same as \fB\-fintrin\-case\-any \-fmatch\-case\-any \-fsource\-case\-lower
-\&\-fsymbol\-case\-any\fR.
-(Maps all pertinent source to lowercase.)
-.IP "\fB\-fcase\-preserve\fR" 4
-.IX Item "-fcase-preserve"
-Same as \fB\-fintrin\-case\-any \-fmatch\-case\-any \-fsource\-case\-preserve
-\&\-fsymbol\-case\-any\fR.
-(Preserves all case in user-defined symbols,
-while allowing any-case matching of intrinsics and keywords.
-For example, \fBcall Foo(i,I)\fR would pass two \fIdifferent\fR
-variables named \fBi\fR and \fBI\fR to a procedure named \fBFoo\fR.)
-.IP "\fB\-fbadu77\-intrinsics\-delete\fR" 4
-.IX Item "-fbadu77-intrinsics-delete"
-.PD 0
-.IP "\fB\-fbadu77\-intrinsics\-hide\fR" 4
-.IX Item "-fbadu77-intrinsics-hide"
-.IP "\fB\-fbadu77\-intrinsics\-disable\fR" 4
-.IX Item "-fbadu77-intrinsics-disable"
-.IP "\fB\-fbadu77\-intrinsics\-enable\fR" 4
-.IX Item "-fbadu77-intrinsics-enable"
-.PD
-Specify status of \s-1UNIX\s0 intrinsics having inappropriate forms.
-\&\fB\-fbadu77\-intrinsics\-enable\fR is the default.
-.IP "\fB\-ff2c\-intrinsics\-delete\fR" 4
-.IX Item "-ff2c-intrinsics-delete"
-.PD 0
-.IP "\fB\-ff2c\-intrinsics\-hide\fR" 4
-.IX Item "-ff2c-intrinsics-hide"
-.IP "\fB\-ff2c\-intrinsics\-disable\fR" 4
-.IX Item "-ff2c-intrinsics-disable"
-.IP "\fB\-ff2c\-intrinsics\-enable\fR" 4
-.IX Item "-ff2c-intrinsics-enable"
-.PD
-Specify status of f2c\-specific intrinsics.
-\&\fB\-ff2c\-intrinsics\-enable\fR is the default.
-.IP "\fB\-ff90\-intrinsics\-delete\fR" 4
-.IX Item "-ff90-intrinsics-delete"
-.PD 0
-.IP "\fB\-ff90\-intrinsics\-hide\fR" 4
-.IX Item "-ff90-intrinsics-hide"
-.IP "\fB\-ff90\-intrinsics\-disable\fR" 4
-.IX Item "-ff90-intrinsics-disable"
-.IP "\fB\-ff90\-intrinsics\-enable\fR" 4
-.IX Item "-ff90-intrinsics-enable"
-.PD
-Specify status of F90\-specific intrinsics.
-\&\fB\-ff90\-intrinsics\-enable\fR is the default.
-.IP "\fB\-fgnu\-intrinsics\-delete\fR" 4
-.IX Item "-fgnu-intrinsics-delete"
-.PD 0
-.IP "\fB\-fgnu\-intrinsics\-hide\fR" 4
-.IX Item "-fgnu-intrinsics-hide"
-.IP "\fB\-fgnu\-intrinsics\-disable\fR" 4
-.IX Item "-fgnu-intrinsics-disable"
-.IP "\fB\-fgnu\-intrinsics\-enable\fR" 4
-.IX Item "-fgnu-intrinsics-enable"
-.PD
-Specify status of Digital's COMPLEX-related intrinsics.
-\&\fB\-fgnu\-intrinsics\-enable\fR is the default.
-.IP "\fB\-fmil\-intrinsics\-delete\fR" 4
-.IX Item "-fmil-intrinsics-delete"
-.PD 0
-.IP "\fB\-fmil\-intrinsics\-hide\fR" 4
-.IX Item "-fmil-intrinsics-hide"
-.IP "\fB\-fmil\-intrinsics\-disable\fR" 4
-.IX Item "-fmil-intrinsics-disable"
-.IP "\fB\-fmil\-intrinsics\-enable\fR" 4
-.IX Item "-fmil-intrinsics-enable"
-.PD
-Specify status of MIL\-STD\-1753\-specific intrinsics.
-\&\fB\-fmil\-intrinsics\-enable\fR is the default.
-.IP "\fB\-funix\-intrinsics\-delete\fR" 4
-.IX Item "-funix-intrinsics-delete"
-.PD 0
-.IP "\fB\-funix\-intrinsics\-hide\fR" 4
-.IX Item "-funix-intrinsics-hide"
-.IP "\fB\-funix\-intrinsics\-disable\fR" 4
-.IX Item "-funix-intrinsics-disable"
-.IP "\fB\-funix\-intrinsics\-enable\fR" 4
-.IX Item "-funix-intrinsics-enable"
-.PD
-Specify status of \s-1UNIX\s0 intrinsics.
-\&\fB\-funix\-intrinsics\-enable\fR is the default.
-.IP "\fB\-fvxt\-intrinsics\-delete\fR" 4
-.IX Item "-fvxt-intrinsics-delete"
-.PD 0
-.IP "\fB\-fvxt\-intrinsics\-hide\fR" 4
-.IX Item "-fvxt-intrinsics-hide"
-.IP "\fB\-fvxt\-intrinsics\-disable\fR" 4
-.IX Item "-fvxt-intrinsics-disable"
-.IP "\fB\-fvxt\-intrinsics\-enable\fR" 4
-.IX Item "-fvxt-intrinsics-enable"
-.PD
-Specify status of \s-1VXT\s0 intrinsics.
-\&\fB\-fvxt\-intrinsics\-enable\fR is the default.
-.IP "\fB\-ffixed\-line\-length\-\fR\fIn\fR" 4
-.IX Item "-ffixed-line-length-n"
-Set column after which characters are ignored in typical fixed-form
-lines in the source file, and through which spaces are assumed (as
-if padded to that length) after the ends of short fixed-form lines.
-.Sp
-Popular values for \fIn\fR include 72 (the
-standard and the default), 80 (card image), and 132 (corresponds
-to ``extended\-source'' options in some popular compilers).
-\&\fIn\fR may be \fBnone\fR, meaning that the entire line is meaningful
-and that continued character constants never have implicit spaces appended
-to them to fill out the line.
-\&\fB\-ffixed\-line\-length\-0\fR means the same thing as
-\&\fB\-ffixed\-line\-length\-none\fR.
-.Sh "Options to Request or Suppress Warnings"
-.IX Subsection "Options to Request or Suppress Warnings"
-Warnings are diagnostic messages that report constructions which
-are not inherently erroneous but which are risky or suggest there
-might have been an error.
-.PP
-You can request many specific warnings with options beginning \fB\-W\fR,
-for example \fB\-Wimplicit\fR to request warnings on implicit
-declarations.  Each of these specific warning options also has a
-negative form beginning \fB\-Wno\-\fR to turn off warnings;
-for example, \fB\-Wno\-implicit\fR.  This manual lists only one of the
-two forms, whichever is not the default.
-.PP
-These options control the amount and kinds of warnings produced by \s-1GNU\s0
-Fortran:
-.IP "\fB\-fsyntax\-only\fR" 4
-.IX Item "-fsyntax-only"
-Check the code for syntax errors, but don't do anything beyond that.
-.IP "\fB\-pedantic\fR" 4
-.IX Item "-pedantic"
-Issue warnings for uses of extensions to \s-1ANSI\s0 \s-1FORTRAN\s0 77.
-\&\fB\-pedantic\fR also applies to C\-language constructs where they
-occur in \s-1GNU\s0 Fortran source files, such as use of \fB\ee\fR in a
-character constant within a directive like \fB#include\fR.
-.Sp
-Valid \s-1ANSI\s0 \s-1FORTRAN\s0 77 programs should compile properly with or without
-this option.
-However, without this option, certain \s-1GNU\s0 extensions and traditional
-Fortran features are supported as well.
-With this option, many of them are rejected.
-.Sp
-Some users try to use \fB\-pedantic\fR to check programs for strict \s-1ANSI\s0
-conformance.
-They soon find that it does not do quite what they want\-\-\-it finds some
-non-ANSI practices, but not all.
-However, improvements to \fBg77\fR in this area are welcome.
-.IP "\fB\-pedantic\-errors\fR" 4
-.IX Item "-pedantic-errors"
-Like \fB\-pedantic\fR, except that errors are produced rather than
-warnings.
-.IP "\fB\-fpedantic\fR" 4
-.IX Item "-fpedantic"
-Like \fB\-pedantic\fR, but applies only to Fortran constructs.
-.IP "\fB\-w\fR" 4
-.IX Item "-w"
-Inhibit all warning messages.
-.IP "\fB\-Wno\-globals\fR" 4
-.IX Item "-Wno-globals"
-Inhibit warnings about use of a name as both a global name
-(a subroutine, function, or block data program unit, or a
-common block) and implicitly as the name of an intrinsic
-in a source file.
-.Sp
-Also inhibit warnings about inconsistent invocations and/or
-definitions of global procedures (function and subroutines).
-Such inconsistencies include different numbers of arguments
-and different types of arguments.
-.IP "\fB\-Wimplicit\fR" 4
-.IX Item "-Wimplicit"
-Warn whenever a variable, array, or function is implicitly
-declared.
-Has an effect similar to using the \f(CW\*(C`IMPLICIT NONE\*(C'\fR statement
-in every program unit.
-(Some Fortran compilers provide this feature by an option
-named \fB\-u\fR or \fB/WARNINGS=DECLARATIONS\fR.)
-.IP "\fB\-Wunused\fR" 4
-.IX Item "-Wunused"
-Warn whenever a variable is unused aside from its declaration.
-.IP "\fB\-Wuninitialized\fR" 4
-.IX Item "-Wuninitialized"
-Warn whenever an automatic variable is used without first being initialized.
-.Sp
-These warnings are possible only in optimizing compilation,
-because they require data-flow information that is computed only
-when optimizing.  If you don't specify \fB\-O\fR, you simply won't
-get these warnings.
-.Sp
-These warnings occur only for variables that are candidates for
-register allocation.  Therefore, they do not occur for a variable
-whose address is taken, or whose size
-is other than 1, 2, 4 or 8 bytes.  Also, they do not occur for
-arrays, even when they are in registers.
-.Sp
-Note that there might be no warning about a variable that is used only
-to compute a value that itself is never used, because such
-computations may be deleted by data-flow analysis before the warnings
-are printed.
-.Sp
-These warnings are made optional because \s-1GNU\s0 Fortran is not smart
-enough to see all the reasons why the code might be correct
-despite appearing to have an error.  Here is one example of how
-this can happen:
-.Sp
-.Vb 6
-\&        SUBROUTINE DISPAT(J)
-\&        IF (J.EQ.1) I=1
-\&        IF (J.EQ.2) I=4
-\&        IF (J.EQ.3) I=5
-\&        CALL FOO(I)
-\&        END
-.Ve
-.Sp
-If the value of \f(CW\*(C`J\*(C'\fR is always 1, 2 or 3, then \f(CW\*(C`I\*(C'\fR is
-always initialized, but \s-1GNU\s0 Fortran doesn't know this.  Here is
-another common case:
-.Sp
-.Vb 6
-\&        SUBROUTINE MAYBE(FLAG)
-\&        LOGICAL FLAG
-\&        IF (FLAG) VALUE = 9.4
-\&        ...
-\&        IF (FLAG) PRINT *, VALUE
-\&        END
-.Ve
-.Sp
-This has no bug because \f(CW\*(C`VALUE\*(C'\fR is used only if it is set.
-.IP "\fB\-Wall\fR" 4
-.IX Item "-Wall"
-The \fB\-Wunused\fR and \fB\-Wuninitialized\fR options combined.
-These are all the
-options which pertain to usage that we recommend avoiding and that we
-believe is easy to avoid.
-(As more warnings are added to \fBg77\fR some might
-be added to the list enabled by \fB\-Wall\fR.)
-.PP
-The remaining \fB\-W...\fR options are not implied by \fB\-Wall\fR
-because they warn about constructions that we consider reasonable to
-use, on occasion, in clean programs.
-.IP "\fB\-Wsurprising\fR" 4
-.IX Item "-Wsurprising"
-Warn about ``suspicious'' constructs that are interpreted
-by the compiler in a way that might well be surprising to
-someone reading the code.
-These differences can result in subtle, compiler-dependent
-(even machine\-dependent) behavioral differences.
-The constructs warned about include:
-.RS 4
-.IP "*" 4
-Expressions having two arithmetic operators in a row, such
-as \fBX*\-Y\fR.
-Such a construct is nonstandard, and can produce
-unexpected results in more complicated situations such
-as \fBX**\-Y*Z\fR.
-\&\fBg77\fR along with many other compilers, interprets
-this example differently than many programmers, and a few
-other compilers.
-Specifically, \fBg77\fR interprets \fBX**\-Y*Z\fR as
-\&\fB(X**(\-Y))*Z\fR, while others might think it should
-be interpreted as \fBX**(\-(Y*Z))\fR.
-.Sp
-A revealing example is the constant expression \fB2**\-2*1.\fR,
-which \fBg77\fR evaluates to .25, while others might evaluate
-it to 0., the difference resulting from the way precedence affects
-type promotion.
-.Sp
-(The \fB\-fpedantic\fR option also warns about expressions
-having two arithmetic operators in a row.)
-.IP "*" 4
-Expressions with a unary minus followed by an operand and then
-a binary operator other than plus or minus.
-For example, \fB\-2**2\fR produces a warning, because
-the precedence is \fB\-(2**2)\fR, yielding \-4, not
-\&\fB(\-2)**2\fR, which yields 4, and which might represent
-what a programmer expects.
-.Sp
-An example of an expression producing different results
-in a surprising way is \fB\-I*S\fR, where \fII\fR holds
-the value \fB\-2147483648\fR and \fIS\fR holds \fB0.5\fR.
-On many systems, negating \fII\fR results in the same
-value, not a positive number, because it is already the
-lower bound of what an \f(CW\*(C`INTEGER(KIND=1)\*(C'\fR variable can hold.
-So, the expression evaluates to a positive number, while
-the ``expected'' interpretation, \fB(\-I)*S\fR, would
-evaluate to a negative number.
-.Sp
-Even cases such as \fB\-I*J\fR produce warnings,
-even though, in most configurations and situations,
-there is no computational difference between the
-results of the two interpretations\-\-\-the purpose
-of this warning is to warn about differing interpretations
-and encourage a better style of coding, not to identify
-only those places where bugs might exist in the user's
-code.
-.IP "*" 4
-\&\f(CW\*(C`DO\*(C'\fR loops with \f(CW\*(C`DO\*(C'\fR variables that are not
-of integral type\-\-\-that is, using \f(CW\*(C`REAL\*(C'\fR
-variables as loop control variables.
-Although such loops can be written to work in the
-``obvious'' way, the way \fBg77\fR is required by the
-Fortran standard to interpret such code is likely to
-be quite different from the way many programmers expect.
-(This is true of all \f(CW\*(C`DO\*(C'\fR loops, but the differences
-are pronounced for non-integral loop control variables.)
-.RE
-.RS 4
-.RE
-.IP "\fB\-Werror\fR" 4
-.IX Item "-Werror"
-Make all warnings into errors.
-.IP "\fB\-W\fR" 4
-.IX Item "-W"
-Turns on ``extra warnings'' and, if optimization is specified
-via \fB\-O\fR, the \fB\-Wuninitialized\fR option.
-(This might change in future versions of \fBg77\fR
-.Sp
-``Extra warnings'' are issued for:
-.RS 4
-.IP "*" 4
-Unused parameters to a procedure (when \fB\-Wunused\fR also is
-specified).
-.IP "*" 4
-Overflows involving floating-point constants (not available
-for certain configurations).
-.RE
-.RS 4
-.RE
-.PP
-Some of these have no effect when compiling programs written in Fortran:
-.IP "\fB\-Wcomment\fR" 4
-.IX Item "-Wcomment"
-.PD 0
-.IP "\fB\-Wformat\fR" 4
-.IX Item "-Wformat"
-.IP "\fB\-Wparentheses\fR" 4
-.IX Item "-Wparentheses"
-.IP "\fB\-Wswitch\fR" 4
-.IX Item "-Wswitch"
-.IP "\fB\-Wswitch\-default\fR" 4
-.IX Item "-Wswitch-default"
-.IP "\fB\-Wswitch\-enum\fR" 4
-.IX Item "-Wswitch-enum"
-.IP "\fB\-Wtraditional\fR" 4
-.IX Item "-Wtraditional"
-.IP "\fB\-Wshadow\fR" 4
-.IX Item "-Wshadow"
-.IP "\fB\-Wid\-clash\-\fR\fIlen\fR" 4
-.IX Item "-Wid-clash-len"
-.IP "\fB\-Wlarger\-than\-\fR\fIlen\fR" 4
-.IX Item "-Wlarger-than-len"
-.IP "\fB\-Wconversion\fR" 4
-.IX Item "-Wconversion"
-.IP "\fB\-Waggregate\-return\fR" 4
-.IX Item "-Waggregate-return"
-.IP "\fB\-Wredundant\-decls\fR" 4
-.IX Item "-Wredundant-decls"
-.PD
-These options all could have some relevant meaning for
-\&\s-1GNU\s0 Fortran programs, but are not yet supported.
-.Sh "Options for Debugging Your Program or \s-1GNU\s0 Fortran"
-.IX Subsection "Options for Debugging Your Program or GNU Fortran"
-\&\s-1GNU\s0 Fortran has various special options that are used for debugging
-either your program or \fBg77\fR
-.IP "\fB\-g\fR" 4
-.IX Item "-g"
-Produce debugging information in the operating system's native format
-(stabs, \s-1COFF\s0, \s-1XCOFF\s0, or \s-1DWARF\s0).  \s-1GDB\s0 can work with this debugging
-information.
-.Sp
-A sample debugging session looks like this (note the use of the breakpoint):
-.Sp
-.Vb 24
-\&        $ cat gdb.f
-\&              PROGRAM PROG
-\&              DIMENSION A(10)
-\&              DATA A /1.,2.,3.,4.,5.,6.,7.,8.,9.,10./
-\&              A(5) = 4.
-\&              PRINT*,A
-\&              END
-\&        $ g77 -g -O gdb.f
-\&        $ gdb a.out
-\&        ...
-\&        (gdb) break MAIN__ 
-\&        Breakpoint 1 at 0x8048e96: file gdb.f, line 4.
-\&        (gdb) run
-\&        Starting program: /home/toon/g77-bugs/./a.out 
-\&        Breakpoint 1, MAIN__ () at gdb.f:4
-\&        4             A(5) = 4.
-\&        Current language:  auto; currently fortran
-\&        (gdb) print a(5)
-\&        $1 = 5
-\&        (gdb) step 
-\&        5             PRINT*,A
-\&        (gdb) print a(5)
-\&        $2 = 4
-\&        ...
-.Ve
-.Sp
-One could also add the setting of the breakpoint and the first run command
-to the file \fI.gdbinit\fR in the current directory, to simplify the debugging
-session.
-.Sh "Options That Control Optimization"
-.IX Subsection "Options That Control Optimization"
-Most Fortran users will want to use no optimization when
-developing and testing programs, and use \fB\-O\fR or \fB\-O2\fR when
-compiling programs for late-cycle testing and for production use.
-However, note that certain diagnostics\-\-\-such as for uninitialized
-variables\-\-\-depend on the flow analysis done by \fB\-O\fR, i.e. you
-must use \fB\-O\fR or \fB\-O2\fR to get such diagnostics.
-.PP
-The following flags have particular applicability when
-compiling Fortran programs:
-.IP "\fB\-malign\-double\fR" 4
-.IX Item "-malign-double"
-(Intel x86 architecture only.)
-.Sp
-Noticeably improves performance of \fBg77\fR programs making
-heavy use of \f(CW\*(C`REAL(KIND=2)\*(C'\fR (\f(CW\*(C`DOUBLE PRECISION\*(C'\fR) data
-on some systems.
-In particular, systems using Pentium, Pentium Pro, 586, and
-686 implementations
-of the i386 architecture execute programs faster when
-\&\f(CW\*(C`REAL(KIND=2)\*(C'\fR (\f(CW\*(C`DOUBLE PRECISION\*(C'\fR) data are
-aligned on 64\-bit boundaries
-in memory.
-.Sp
-This option can, at least, make benchmark results more consistent
-across various system configurations, versions of the program,
-and data sets.
-.Sp
-\&\fINote:\fR The warning in the \fBgcc\fR documentation about
-this option does not apply, generally speaking, to Fortran
-code compiled by \fBg77\fR
-.Sp
-\&\fIAlso also note:\fR The negative form of \fB\-malign\-double\fR
-is \fB\-mno\-align\-double\fR, not \fB\-benign\-double\fR.
-.IP "\fB\-ffloat\-store\fR" 4
-.IX Item "-ffloat-store"
-Might help a Fortran program that depends on exact \s-1IEEE\s0 conformance on
-some machines, but might slow down a program that doesn't.
-.Sp
-This option is effective when the floating-point unit is set to work in
-\&\s-1IEEE\s0 854 `extended precision'\-\-\-as it typically is on x86 and m68k \s-1GNU\s0
-systems\-\-\-rather than \s-1IEEE\s0 754 double precision.  \fB\-ffloat\-store\fR
-tries to remove the extra precision by spilling data from floating-point
-registers into memory and this typically involves a big performance
-hit.  However, it doesn't affect intermediate results, so that it is
-only partially effective.  `Excess precision' is avoided in code like:
-.Sp
-.Vb 2
-\&        a = b + c
-\&        d = a * e
-.Ve
-.Sp
-but not in code like:
-.Sp
-.Vb 1
-\&              d = (b + c) * e
-.Ve
-.Sp
-For another, potentially better, way of controlling the precision,
-see \fBFloating-point precision\fR.
-.IP "\fB\-fforce\-mem\fR" 4
-.IX Item "-fforce-mem"
-.PD 0
-.IP "\fB\-fforce\-addr\fR" 4
-.IX Item "-fforce-addr"
-.PD
-Might improve optimization of loops.
-.IP "\fB\-fno\-inline\fR" 4
-.IX Item "-fno-inline"
-Don't compile statement functions inline.
-Might reduce the size of a program unit\-\-\-which might be at
-expense of some speed (though it should compile faster).
-Note that if you are not optimizing, no functions can be expanded inline.
-.IP "\fB\-ffast\-math\fR" 4
-.IX Item "-ffast-math"
-Might allow some programs designed to not be too dependent
-on \s-1IEEE\s0 behavior for floating-point to run faster, or die trying.
-Sets \fB\-funsafe\-math\-optimizations\fR, \fB\-ffinite\-math\-only\fR,
-and \fB\-fno\-trapping\-math\fR.
-.IP "\fB\-funsafe\-math\-optimizations\fR" 4
-.IX Item "-funsafe-math-optimizations"
-Allow optimizations that may be give incorrect results
-for certain \s-1IEEE\s0 inputs.
-.IP "\fB\-ffinite\-math\-only\fR" 4
-.IX Item "-ffinite-math-only"
-Allow optimizations for floating-point arithmetic that assume
-that arguments and results are not NaNs or +\-Infs.
-.Sp
-This option should never be turned on by any \fB\-O\fR option since
-it can result in incorrect output for programs which depend on
-an exact implementation of \s-1IEEE\s0 or \s-1ISO\s0 rules/specifications.
-.Sp
-The default is \fB\-fno\-finite\-math\-only\fR.
-.IP "\fB\-fno\-trapping\-math\fR" 4
-.IX Item "-fno-trapping-math"
-Allow the compiler to assume that floating-point arithmetic
-will not generate traps on any inputs.  This is useful, for
-example, when running a program using \s-1IEEE\s0 \*(L"non\-stop\*(R"
-floating-point arithmetic.
-.IP "\fB\-fstrength\-reduce\fR" 4
-.IX Item "-fstrength-reduce"
-Might make some loops run faster.
-.IP "\fB\-frerun\-cse\-after\-loop\fR" 4
-.IX Item "-frerun-cse-after-loop"
-.PD 0
-.IP "\fB\-fexpensive\-optimizations\fR" 4
-.IX Item "-fexpensive-optimizations"
-.IP "\fB\-fdelayed\-branch\fR" 4
-.IX Item "-fdelayed-branch"
-.IP "\fB\-fschedule\-insns\fR" 4
-.IX Item "-fschedule-insns"
-.IP "\fB\-fschedule\-insns2\fR" 4
-.IX Item "-fschedule-insns2"
-.IP "\fB\-fcaller\-saves\fR" 4
-.IX Item "-fcaller-saves"
-.PD
-Might improve performance on some code.
-.IP "\fB\-funroll\-loops\fR" 4
-.IX Item "-funroll-loops"
-Typically improves performance on code using iterative \f(CW\*(C`DO\*(C'\fR loops by
-unrolling them and is probably generally appropriate for Fortran, though
-it is not turned on at any optimization level.
-Note that outer loop unrolling isn't done specifically; decisions about
-whether to unroll a loop are made on the basis of its instruction count.
-.Sp
-Also, no `loop discovery'[1] is done, so only loops written with \f(CW\*(C`DO\*(C'\fR
-benefit from loop optimizations, including\-\-\-but not limited
-to\-\-\-unrolling.  Loops written with \f(CW\*(C`IF\*(C'\fR and \f(CW\*(C`GOTO\*(C'\fR are not
-currently recognized as such.  This option unrolls only iterative
-\&\f(CW\*(C`DO\*(C'\fR loops, not \f(CW\*(C`DO WHILE\*(C'\fR loops.
-.IP "\fB\-funroll\-all\-loops\fR" 4
-.IX Item "-funroll-all-loops"
-Probably improves performance on code using \f(CW\*(C`DO WHILE\*(C'\fR loops by
-unrolling them in addition to iterative \f(CW\*(C`DO\*(C'\fR loops.  In the absence
-of \f(CW\*(C`DO WHILE\*(C'\fR, this option is equivalent to \fB\-funroll\-loops\fR
-but possibly slower.
-.IP "\fB\-fno\-move\-all\-movables\fR" 4
-.IX Item "-fno-move-all-movables"
-.PD 0
-.IP "\fB\-fno\-reduce\-all\-givs\fR" 4
-.IX Item "-fno-reduce-all-givs"
-.IP "\fB\-fno\-rerun\-loop\-opt\fR" 4
-.IX Item "-fno-rerun-loop-opt"
-.PD
-In general, the optimizations enabled with these options will lead to
-faster code being generated by \s-1GNU\s0 Fortran; hence they are enabled by default
-when issuing the \fBg77\fR command.
-.Sp
-\&\fB\-fmove\-all\-movables\fR and \fB\-freduce\-all\-givs\fR will enable
-loop optimization to move all loop-invariant index computations in nested
-loops over multi-rank array dummy arguments out of these loops.
-.Sp
-\&\fB\-frerun\-loop\-opt\fR will move offset calculations resulting
-from the fact that Fortran arrays by default have a lower bound of 1
-out of the loops.
-.Sp
-These three options are intended to be removed someday, once
-loop optimization is sufficiently advanced to perform all those
-transformations without help from these options.
-.Sh "Options Controlling the Preprocessor"
-.IX Subsection "Options Controlling the Preprocessor"
-These options control the C preprocessor, which is run on each C source
-file before actual compilation.
-.PP
-Some of these options also affect how \fBg77\fR processes the
-\&\f(CW\*(C`INCLUDE\*(C'\fR directive.
-Since this directive is processed even when preprocessing
-is not requested, it is not described in this section.
-.PP
-However, the \f(CW\*(C`INCLUDE\*(C'\fR directive does not apply
-preprocessing to the contents of the included file itself.
-.PP
-Therefore, any file that contains preprocessor directives
-(such as \f(CW\*(C`#include\*(C'\fR, \f(CW\*(C`#define\*(C'\fR, and \f(CW\*(C`#if\*(C'\fR)
-must be included via the \f(CW\*(C`#include\*(C'\fR directive, not
-via the \f(CW\*(C`INCLUDE\*(C'\fR directive.
-Therefore, any file containing preprocessor directives,
-if included, is necessarily included by a file that itself
-contains preprocessor directives.
-.Sh "Options for Directory Search"
-.IX Subsection "Options for Directory Search"
-These options affect how the \fBcpp\fR preprocessor searches
-for files specified via the \f(CW\*(C`#include\*(C'\fR directive.
-Therefore, when compiling Fortran programs, they are meaningful
-when the preprocessor is used.
-.PP
-Some of these options also affect how \fBg77\fR searches
-for files specified via the \f(CW\*(C`INCLUDE\*(C'\fR directive,
-although files included by that directive are not,
-themselves, preprocessed.
-These options are:
-.IP "\fB\-I\-\fR" 4
-.IX Item "-I-"
-.PD 0
-.IP "\fB\-I\fR\fIdir\fR" 4
-.IX Item "-Idir"
-.PD
-These affect interpretation of the \f(CW\*(C`INCLUDE\*(C'\fR directive
-(as well as of the \f(CW\*(C`#include\*(C'\fR directive of the \fBcpp\fR
-preprocessor).
-.Sp
-Note that \fB\-I\fR\fIdir\fR must be specified \fIwithout\fR any
-spaces between \fB\-I\fR and the directory name\-\-\-that is,
-\&\fB\-Ifoo/bar\fR is valid, but \fB\-I foo/bar\fR
-is rejected by the \fBg77\fR compiler (though the preprocessor supports
-the latter form).
-Also note that the general behavior of \fB\-I\fR and
-\&\f(CW\*(C`INCLUDE\*(C'\fR is pretty much the same as of \fB\-I\fR with
-\&\f(CW\*(C`#include\*(C'\fR in the \fBcpp\fR preprocessor, with regard to
-looking for \fIheader.gcc\fR files and other such things.
-.Sh "Options for Code Generation Conventions"
-.IX Subsection "Options for Code Generation Conventions"
-These machine-independent options control the interface conventions
-used in code generation.
-.PP
-Most of them have both positive and negative forms; the negative form
-of \fB\-ffoo\fR would be \fB\-fno\-foo\fR.  In the table below, only
-one of the forms is listed\-\-\-the one which is not the default.  You
-can figure out the other form by either removing \fBno\-\fR or adding
-it.
-.IP "\fB\-fno\-automatic\fR" 4
-.IX Item "-fno-automatic"
-Treat each program unit as if the \f(CW\*(C`SAVE\*(C'\fR statement was specified
-for every local variable and array referenced in it.
-Does not affect common blocks.
-(Some Fortran compilers provide this option under
-the name \fB\-static\fR.)
-.IP "\fB\-finit\-local\-zero\fR" 4
-.IX Item "-finit-local-zero"
-Specify that variables and arrays that are local to a program unit
-(not in a common block and not passed as an argument) are to be initialized
-to binary zeros.
-.Sp
-Since there is a run-time penalty for initialization of variables
-that are not given the \f(CW\*(C`SAVE\*(C'\fR attribute, it might be a
-good idea to also use \fB\-fno\-automatic\fR with \fB\-finit\-local\-zero\fR.
-.IP "\fB\-fno\-f2c\fR" 4
-.IX Item "-fno-f2c"
-Do not generate code designed to be compatible with code generated
-by \fBf2c\fR use the \s-1GNU\s0 calling conventions instead.
-.Sp
-The \fBf2c\fR calling conventions require functions that return
-type \f(CW\*(C`REAL(KIND=1)\*(C'\fR to actually return the C type \f(CW\*(C`double\*(C'\fR,
-and functions that return type \f(CW\*(C`COMPLEX\*(C'\fR to return the
-values via an extra argument in the calling sequence that points
-to where to store the return value.
-Under the \s-1GNU\s0 calling conventions, such functions simply return
-their results as they would in \s-1GNU\s0 C\-\-\-\f(CW\*(C`REAL(KIND=1)\*(C'\fR functions
-return the C type \f(CW\*(C`float\*(C'\fR, and \f(CW\*(C`COMPLEX\*(C'\fR functions
-return the \s-1GNU\s0 C type \f(CW\*(C`complex\*(C'\fR (or its \f(CW\*(C`struct\*(C'\fR
-equivalent).
-.Sp
-This does not affect the generation of code that interfaces with the
-\&\f(CW\*(C`libg2c\*(C'\fR library.
-.Sp
-However, because the \f(CW\*(C`libg2c\*(C'\fR library uses \fBf2c\fR
-calling conventions, \fBg77\fR rejects attempts to pass
-intrinsics implemented by routines in this library as actual
-arguments when \fB\-fno\-f2c\fR is used, to avoid bugs when
-they are actually called by code expecting the \s-1GNU\s0 calling
-conventions to work.
-.Sp
-For example, \fB\s-1INTRINSIC\s0 \s-1ABS\s0;CALL \s-1FOO\s0(\s-1ABS\s0)\fR is
-rejected when \fB\-fno\-f2c\fR is in force.
-(Future versions of the \fBg77\fR run-time library might
-offer routines that provide GNU-callable versions of the
-routines that implement the \fBf2c\fR intrinsics
-that may be passed as actual arguments, so that
-valid programs need not be rejected when \fB\-fno\-f2c\fR
-is used.)
-.Sp
-\&\fBCaution:\fR If \fB\-fno\-f2c\fR is used when compiling any
-source file used in a program, it must be used when compiling
-\&\fIall\fR Fortran source files used in that program.
-.IP "\fB\-ff2c\-library\fR" 4
-.IX Item "-ff2c-library"
-Specify that use of \f(CW\*(C`libg2c\*(C'\fR (or the original \f(CW\*(C`libf2c\*(C'\fR)
-is required.
-This is the default for the current version of \fBg77\fR
-.Sp
-Currently it is not
-valid to specify \fB\-fno\-f2c\-library\fR.
-This option is provided so users can specify it in shell
-scripts that build programs and libraries that require the
-\&\f(CW\*(C`libf2c\*(C'\fR library, even when being compiled by future
-versions of \fBg77\fR that might otherwise default to
-generating code for an incompatible library.
-.IP "\fB\-fno\-underscoring\fR" 4
-.IX Item "-fno-underscoring"
-Do not transform names of entities specified in the Fortran
-source file by appending underscores to them.
-.Sp
-With \fB\-funderscoring\fR in effect, \fBg77\fR appends two underscores
-to names with underscores and one underscore to external names with
-no underscores.  (\fBg77\fR also appends two underscores to internal
-names with underscores to avoid naming collisions with external names.
-The \fB\-fno\-second\-underscore\fR option disables appending of the
-second underscore in all cases.)
-.Sp
-This is done to ensure compatibility with code produced by many
-\&\s-1UNIX\s0 Fortran compilers, including \fBf2c\fR which perform the
-same transformations.
-.Sp
-Use of \fB\-fno\-underscoring\fR is not recommended unless you are
-experimenting with issues such as integration of (\s-1GNU\s0) Fortran into
-existing system environments (vis\-a\-vis existing libraries, tools, and
-so on).
-.Sp
-For example, with \fB\-funderscoring\fR, and assuming other defaults like
-\&\fB\-fcase\-lower\fR and that \fBj()\fR and \fB\f(BImax_count()\fB\fR are
-external functions while \fBmy_var\fR and \fBlvar\fR are local variables,
-a statement like
-.Sp
-.Vb 1
-\&        I = J() + MAX_COUNT (MY_VAR, LVAR)
-.Ve
-.Sp
-is implemented as something akin to:
-.Sp
-.Vb 1
-\&        i = j_() + max_count__(&my_var__, &lvar);
-.Ve
-.Sp
-With \fB\-fno\-underscoring\fR, the same statement is implemented as:
-.Sp
-.Vb 1
-\&        i = j() + max_count(&my_var, &lvar);
-.Ve
-.Sp
-Use of \fB\-fno\-underscoring\fR allows direct specification of
-user-defined names while debugging and when interfacing \fBg77\fR
-code with other languages.
-.Sp
-Note that just because the names match does \fInot\fR mean that the
-interface implemented by \fBg77\fR for an external name matches the
-interface implemented by some other language for that same name.
-That is, getting code produced by \fBg77\fR to link to code produced
-by some other compiler using this or any other method can be only a
-small part of the overall solution\-\-\-getting the code generated by
-both compilers to agree on issues other than naming can require
-significant effort, and, unlike naming disagreements, linkers normally
-cannot detect disagreements in these other areas.
-.Sp
-Also, note that with \fB\-fno\-underscoring\fR, the lack of appended
-underscores introduces the very real possibility that a user-defined
-external name will conflict with a name in a system library, which
-could make finding unresolved-reference bugs quite difficult in some
-cases\-\-\-they might occur at program run time, and show up only as
-buggy behavior at run time.
-.Sp
-In future versions of \fBg77\fR we hope to improve naming and linking
-issues so that debugging always involves using the names as they appear
-in the source, even if the names as seen by the linker are mangled to
-prevent accidental linking between procedures with incompatible
-interfaces.
-.IP "\fB\-fno\-second\-underscore\fR" 4
-.IX Item "-fno-second-underscore"
-Do not append a second underscore to names of entities specified
-in the Fortran source file.
-.Sp
-This option has no effect if \fB\-fno\-underscoring\fR is
-in effect.
-.Sp
-Otherwise, with this option, an external name such as \fB\s-1MAX_COUNT\s0\fR
-is implemented as a reference to the link-time external symbol
-\&\fBmax_count_\fR, instead of \fBmax_count_\|_\fR.
-.IP "\fB\-fno\-ident\fR" 4
-.IX Item "-fno-ident"
-Ignore the \fB#ident\fR directive.
-.IP "\fB\-fzeros\fR" 4
-.IX Item "-fzeros"
-Treat initial values of zero as if they were any other value.
-.Sp
-As of version 0.5.18, \fBg77\fR normally treats \f(CW\*(C`DATA\*(C'\fR and
-other statements that are used to specify initial values of zero
-for variables and arrays as if no values were actually specified,
-in the sense that no diagnostics regarding multiple initializations
-are produced.
-.Sp
-This is done to speed up compiling of programs that initialize
-large arrays to zeros.
-.Sp
-Use \fB\-fzeros\fR to revert to the simpler, slower behavior
-that can catch multiple initializations by keeping track of
-all initializations, zero or otherwise.
-.Sp
-\&\fICaution:\fR Future versions of \fBg77\fR might disregard this option
-(and its negative form, the default) or interpret it somewhat
-differently.
-The interpretation changes will affect only non-standard
-programs; standard-conforming programs should not be affected.
-.IP "\fB\-femulate\-complex\fR" 4
-.IX Item "-femulate-complex"
-Implement \f(CW\*(C`COMPLEX\*(C'\fR arithmetic via emulation,
-instead of using the facilities of
-the \fBgcc\fR back end that provide direct support of
-\&\f(CW\*(C`complex\*(C'\fR arithmetic.
-.Sp
-(\fBgcc\fR had some bugs in its back-end support
-for \f(CW\*(C`complex\*(C'\fR arithmetic, due primarily to the support not being
-completed as of version 2.8.1 and \f(CW\*(C`egcs\*(C'\fR 1.1.2.)
-.Sp
-Use \fB\-femulate\-complex\fR if you suspect code-generation bugs,
-or experience compiler crashes,
-that might result from \fBg77\fR using the \f(CW\*(C`COMPLEX\*(C'\fR support
-in the \fBgcc\fR back end.
-If using that option fixes the bugs or crashes you are seeing,
-that indicates a likely \fBg77\fR bugs
-(though, all compiler crashes are considered bugs),
-so, please report it.
-(Note that the known bugs, now believed fixed, produced compiler crashes
-rather than causing the generation of incorrect code.)
-.Sp
-Use of this option should not affect how Fortran code compiled
-by \fBg77\fR works in terms of its interfaces to other code,
-e.g. that compiled by \fBf2c\fR
-.Sp
-As of \s-1GCC\s0 version 3.0, this option is not necessary anymore.
-.Sp
-\&\fICaution:\fR Future versions of \fBg77\fR might ignore both forms
-of this option.
-.IP "\fB\-falias\-check\fR" 4
-.IX Item "-falias-check"
-.PD 0
-.IP "\fB\-fargument\-alias\fR" 4
-.IX Item "-fargument-alias"
-.IP "\fB\-fargument\-noalias\fR" 4
-.IX Item "-fargument-noalias"
-.IP "\fB\-fno\-argument\-noalias\-global\fR" 4
-.IX Item "-fno-argument-noalias-global"
-.PD
-\&\fIVersion info:\fR
-These options are not supported by
-versions of \fBg77\fR based on \fBgcc\fR version 2.8.
-.Sp
-These options specify to what degree aliasing
-(overlap)
-is permitted between
-arguments (passed as pointers) and \f(CW\*(C`COMMON\*(C'\fR (external, or
-public) storage.
-.Sp
-The default for Fortran code, as mandated by the \s-1FORTRAN\s0 77 and
-Fortran 90 standards, is \fB\-fargument\-noalias\-global\fR.
-The default for code written in the C language family is
-\&\fB\-fargument\-alias\fR.
-.Sp
-Note that, on some systems, compiling with \fB\-fforce\-addr\fR in
-effect can produce more optimal code when the default aliasing
-options are in effect (and when optimization is enabled).
-.IP "\fB\-fno\-globals\fR" 4
-.IX Item "-fno-globals"
-Disable diagnostics about inter-procedural
-analysis problems, such as disagreements about the
-type of a function or a procedure's argument,
-that might cause a compiler crash when attempting
-to inline a reference to a procedure within a
-program unit.
-(The diagnostics themselves are still produced, but
-as warnings, unless \fB\-Wno\-globals\fR is specified,
-in which case no relevant diagnostics are produced.)
-.Sp
-Further, this option disables such inlining, to
-avoid compiler crashes resulting from incorrect
-code that would otherwise be diagnosed.
-.Sp
-As such, this option might be quite useful when
-compiling existing, ``working'' code that happens
-to have a few bugs that do not generally show themselves,
-but which \fBg77\fR diagnoses.
-.Sp
-Use of this option therefore has the effect of
-instructing \fBg77\fR to behave more like it did
-up through version 0.5.19.1, when it paid little or
-no attention to disagreements between program units
-about a procedure's type and argument information,
-and when it performed no inlining of procedures
-(except statement functions).
-.Sp
-Without this option, \fBg77\fR defaults to performing
-the potentially inlining procedures as it started doing
-in version 0.5.20, but as of version 0.5.21, it also
-diagnoses disagreements that might cause such inlining
-to crash the compiler as (fatal) errors,
-and warns about similar disagreements
-that are currently believed to not
-likely to result in the compiler later crashing
-or producing incorrect code.
-.IP "\fB\-fflatten\-arrays\fR" 4
-.IX Item "-fflatten-arrays"
-Use back end's C\-like constructs
-(pointer plus offset)
-instead of its \f(CW\*(C`ARRAY_REF\*(C'\fR construct
-to handle all array references.
-.Sp
-\&\fINote:\fR This option is not supported.
-It is intended for use only by \fBg77\fR developers,
-to evaluate code-generation issues.
-It might be removed at any time.
-.IP "\fB\-fbounds\-check\fR" 4
-.IX Item "-fbounds-check"
-.PD 0
-.IP "\fB\-ffortran\-bounds\-check\fR" 4
-.IX Item "-ffortran-bounds-check"
-.PD
-Enable generation of run-time checks for array subscripts
-and substring start and end points
-against the (locally) declared minimum and maximum values.
-.Sp
-The current implementation uses the \f(CW\*(C`libf2c\*(C'\fR
-library routine \f(CW\*(C`s_rnge\*(C'\fR to print the diagnostic.
-.Sp
-However, whereas \fBf2c\fR generates a single check per
-reference for a multi-dimensional array, of the computed
-offset against the valid offset range (0 through the size of the array),
-\&\fBg77\fR generates a single check per \fIsubscript\fR expression.
-This catches some cases of potential bugs that \fBf2c\fR does not,
-such as references to below the beginning of an assumed-size array.
-.Sp
-\&\fBg77\fR also generates checks for \f(CW\*(C`CHARACTER\*(C'\fR substring references,
-something \fBf2c\fR currently does not do.
-.Sp
-Use the new \fB\-ffortran\-bounds\-check\fR option
-to specify bounds-checking for only the Fortran code you are compiling,
-not necessarily for code written in other languages.
-.Sp
-\&\fINote:\fR To provide more detailed information on the offending subscript,
-\&\fBg77\fR provides the \f(CW\*(C`libg2c\*(C'\fR run-time library routine \f(CW\*(C`s_rnge\*(C'\fR
-with somewhat differently-formatted information.
-Here's a sample diagnostic:
-.Sp
-.Vb 3
-\&        Subscript out of range on file line 4, procedure rnge.f/bf.
-\&        Attempt to access the -6-th element of variable b[subscript-2-of-2].
-\&        Aborted
-.Ve
-.Sp
-The above message indicates that the offending source line is
-line 4 of the file \fIrnge.f\fR,
-within the program unit (or statement function) named \fBbf\fR.
-The offended array is named \fBb\fR.
-The offended array dimension is the second for a two-dimensional array,
-and the offending, computed subscript expression was \fB\-6\fR.
-.Sp
-For a \f(CW\*(C`CHARACTER\*(C'\fR substring reference, the second line has
-this appearance:
-.Sp
-.Vb 1
-\&        Attempt to access the 11-th element of variable a[start-substring].
-.Ve
-.Sp
-This indicates that the offended \f(CW\*(C`CHARACTER\*(C'\fR variable or array
-is named \fBa\fR,
-the offended substring position is the starting (leftmost) position,
-and the offending substring expression is \fB11\fR.
-.Sp
-(Though the verbage of \f(CW\*(C`s_rnge\*(C'\fR is not ideal
-for the purpose of the \fBg77\fR compiler,
-the above information should provide adequate diagnostic abilities
-to it users.)
-.PP
-Some of these do \fInot\fR work when compiling programs written in Fortran:
-.IP "\fB\-fpcc\-struct\-return\fR" 4
-.IX Item "-fpcc-struct-return"
-.PD 0
-.IP "\fB\-freg\-struct\-return\fR" 4
-.IX Item "-freg-struct-return"
-.PD
-You should not use these except strictly the same way as you
-used them to build the version of \f(CW\*(C`libg2c\*(C'\fR with which
-you will be linking all code compiled by \fBg77\fR with the
-same option.
-.IP "\fB\-fshort\-double\fR" 4
-.IX Item "-fshort-double"
-This probably either has no effect on Fortran programs, or
-makes them act loopy.
-.IP "\fB\-fno\-common\fR" 4
-.IX Item "-fno-common"
-Do not use this when compiling Fortran programs,
-or there will be Trouble.
-.IP "\fB\-fpack\-struct\fR" 4
-.IX Item "-fpack-struct"
-This probably will break any calls to the \f(CW\*(C`libg2c\*(C'\fR library,
-at the very least, even if it is built with the same option.
-.SH "ENVIRONMENT"
-.IX Header "ENVIRONMENT"
-\&\s-1GNU\s0 Fortran currently does not make use of any environment
-variables to control its operation above and beyond those
-that affect the operation of \fBgcc\fR.
-.SH "BUGS"
-.IX Header "BUGS"
-For instructions on reporting bugs, see
-<\fBhttp://gcc.gnu.org/bugs.html\fR>.  Use of the \fBgccbug\fR  
-script to report bugs is recommended.
-.SH "FOOTNOTES"
-.IX Header "FOOTNOTES"
-.IP "1." 4
-\&\fIloop discovery\fR refers to the
-process by which a compiler, or indeed any reader of a program,
-determines which portions of the program are more likely to be executed
-repeatedly as it is being run.  Such discovery typically is done early
-when compiling using optimization techniques, so the ``discovered''
-loops get more attention\-\-\-and more run-time resources, such as
-registers\-\-\-from the compiler.  It is easy to ``discover'' loops that are
-constructed out of looping constructs in the language
-(such as Fortran's \f(CW\*(C`DO\*(C'\fR).  For some programs, ``discovering'' loops
-constructed out of lower-level constructs (such as \f(CW\*(C`IF\*(C'\fR and
-\&\f(CW\*(C`GOTO\*(C'\fR) can lead to generation of more optimal code
-than otherwise.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIgpl\fR\|(7), \fIgfdl\fR\|(7), \fIfsf\-funding\fR\|(7),
-\&\fIcpp\fR\|(1), \fIgcov\fR\|(1), \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), \fIgdb\fR\|(1), \fIadb\fR\|(1), \fIdbx\fR\|(1), \fIsdb\fR\|(1)
-and the Info entries for \fIgcc\fR, \fIcpp\fR, \fIg77\fR, \fIas\fR,
-\&\fIld\fR, \fIbinutils\fR and \fIgdb\fR.
-.SH "AUTHOR"
-.IX Header "AUTHOR"
-See the Info entry for \fBg77\fR for contributors to \s-1GCC\s0 and G77.
-.SH "COPYRIGHT"
-.IX Header "COPYRIGHT"
-Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004
-Free Software Foundation, Inc.
-.PP
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``\s-1GNU\s0 General Public License'' and ``Funding
-Free Software'', the Front-Cover texts being (a) (see below), and with
-the Back-Cover Texts being (b) (see below).  A copy of the license is
-included in the \fIgfdl\fR\|(7) man page.
-.PP
-(a) The \s-1FSF\s0's Front-Cover Text is:
-.PP
-.Vb 1
-\&     A GNU Manual
-.Ve
-.PP
-(b) The \s-1FSF\s0's Back-Cover Text is:
-.PP
-.Vb 3
-\&     You have freedom to copy and modify this GNU Manual, like GNU
-\&     software.  Copies published by the Free Software Foundation raise
-\&     funds for GNU development.
-.Ve
diff --git a/contrib/gcc-3.4/gcc/f/ansify.c b/contrib/gcc-3.4/gcc/f/ansify.c
deleted file mode 100644 (file)
index b03206d..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/* ansify.c
-   Copyright (C) 1997, 2003 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
-
-#include "bconfig.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-
-#define die_unless(c) \
-  do if (!(c)) \
-    { \
-      fprintf (stderr, "%s:%lu: %s\n", argv[1], lineno, #c); \
-      die (); \
-    } \
-  while(0)
-
-static void ATTRIBUTE_NORETURN
-die (void)
-{
-  exit (1);
-}
-
-int
-main(int argc, char **argv)
-{
-  int c;
-  static unsigned long lineno = 1;
-
-  die_unless (argc == 2);
-
-  printf ("\
-/* This file is automatically generated from `%s',\n\
-   which you should modify instead.  */\n\
-#line 1 \"%s\"\n\
-",
-         argv[1], argv[1]);
-
-  while ((c = getchar ()) != EOF)
-    {
-      switch (c)
-       {
-       default:
-         putchar (c);
-         break;
-
-       case '\n':
-         ++lineno;
-         putchar (c);
-         break;
-
-       case '"':
-         putchar (c);
-         for (;;)
-           {
-             c = getchar ();
-             die_unless (c != EOF);
-             switch (c)
-               {
-               case '"':
-                 putchar (c);
-                 goto next_char;
-
-               case '\n':
-                 putchar ('\\');
-                 putchar ('n');
-                 putchar ('\\');
-                 putchar ('\n');
-                 ++lineno;
-                 break;
-
-               case '\\':
-                 putchar (c);
-                 c = getchar ();
-                 die_unless (c != EOF);
-                 putchar (c);
-                 if (c == '\n')
-                   ++lineno;
-                 break;
-                 
-               default:
-                 putchar (c);
-                 break;
-               }
-           }
-         break;
-
-       case '\'':
-         putchar (c);
-         for (;;)
-           {
-             c = getchar ();
-             die_unless (c != EOF);
-             switch (c)
-               {
-               case '\'':
-                 putchar (c);
-                 goto next_char;
-                 
-               case '\n':
-                 putchar ('\\');
-                 putchar ('n');
-                 putchar ('\\');
-                 putchar ('\n');
-                 ++lineno;
-                 break;
-                 
-               case '\\':
-                 putchar (c);
-                 c = getchar ();
-                 die_unless (c != EOF);
-                 putchar (c);
-                 if (c == '\n')
-                   ++lineno;
-                 break;
-                 
-               default:
-                 putchar (c);
-                 break;
-               }
-           }
-         break;
-
-       case '/':
-         putchar (c);
-         c = getchar ();
-         putchar (c);
-         if (c != '*')
-           break;
-         for (;;)
-           {
-             c = getchar ();
-             die_unless (c != EOF);
-
-             switch (c)
-               {
-               case '\n':
-                 ++lineno;
-                 putchar (c);
-                 break;
-                 
-               case '*':
-                 c = getchar ();
-                 die_unless (c != EOF);
-                 if (c == '/')
-                   {
-                     putchar ('*');
-                     putchar ('/');
-                     goto next_char;
-                   }
-                 if (c == '\n')
-                   {
-                     ++lineno;
-                     putchar (c);
-                   }
-                 break;
-                 
-               default:
-                 /* Don't bother outputting content of comments.  */
-                 break;
-               }
-           }
-         break;
-       }
-      
-    next_char:
-      ;
-    }
-
-  die_unless (c == EOF);
-
-  return 0;
-}
diff --git a/contrib/gcc-3.4/gcc/f/bad.c b/contrib/gcc-3.4/gcc/f/bad.c
deleted file mode 100644 (file)
index bed9734..0000000
+++ /dev/null
@@ -1,537 +0,0 @@
-/* bad.c -- Implementation File (module.c template V1.0)
-   Copyright (C) 1995, 2002, 2003 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Related Modules:
-      None
-
-   Description:
-      Handles the displaying of diagnostic messages regarding the user's source
-      files.
-
-   Modifications:
-*/
-
-/* If there's a %E or %4 in the messages, set this to at least 5,
-   for example.  */
-
-#define FFEBAD_MAX_ 6
-
-/* Include files. */
-
-#include "proj.h"
-#include "bad.h"
-#include "flags.h"
-#include "com.h"
-#include "toplev.h"
-#include "where.h"
-#include "intl.h"
-#include "diagnostic.h"
-
-/* Externals defined here. */
-
-bool ffebad_is_inhibited_ = FALSE;
-
-/* Simple definitions and enumerations. */
-
-#define FFEBAD_LONG_MSGS_ 1    /* 0 to use short (or same) messages. */
-
-/* Internal typedefs. */
-
-
-/* Private include files. */
-
-
-/* Internal structure definitions. */
-
-struct _ffebad_message_
-  {
-    const ffebadSeverity severity;
-    const char *const message;
-  };
-
-/* Static objects accessed by functions in this module.         */
-
-static const struct _ffebad_message_ ffebad_messages_[]
-=
-{
-#define FFEBAD_MSG(kwd,sev,msgid) { sev, msgid },
-#if FFEBAD_LONG_MSGS_ == 0
-#define LONG(m)
-#define SHORT(m) m
-#else
-#define LONG(m) m
-#define SHORT(m)
-#endif
-#include "bad.def"
-#undef FFEBAD_MSG
-#undef LONG
-#undef SHORT
-};
-
-static struct
-  {
-    ffewhereLine line;
-    ffewhereColumn col;
-    ffebadIndex tag;
-  }
-
-ffebad_here_[FFEBAD_MAX_];
-static const char *ffebad_string_[FFEBAD_MAX_];
-static ffebadIndex ffebad_order_[FFEBAD_MAX_];
-static ffebad ffebad_errnum_;
-static ffebadSeverity ffebad_severity_;
-static const char *ffebad_message_;
-static unsigned char ffebad_index_;
-static ffebadIndex ffebad_places_;
-static bool ffebad_is_temp_inhibited_; /* Effective setting of
-                                          _is_inhibited_ for this
-                                          _start/_finish invocation. */
-
-/* Static functions (internal). */
-
-static int ffebad_bufputs_ (char buf[], int bufi, const char *s);
-
-/* Internal macros. */
-
-#define ffebad_bufflush_(buf, bufi) \
-  (((buf)[bufi] = '\0'), fputs ((buf), stderr), 0)
-#define ffebad_bufputc_(buf, bufi, c) \
-  (((bufi) == ARRAY_SIZE (buf)) \
-   ? (ffebad_bufflush_ ((buf), (bufi)), ((buf)[0] = (c)), 1) \
-   : (((buf)[bufi] = (c)), (bufi) + 1))
-\f
-
-static int
-ffebad_bufputs_ (char buf[], int bufi, const char *s)
-{
-  for (; *s != '\0'; ++s)
-    bufi = ffebad_bufputc_ (buf, bufi, *s);
-  return bufi;
-}
-
-/* ffebad_init_0 -- Initialize
-
-   ffebad_init_0();  */
-
-void
-ffebad_init_0 (void)
-{
-  assert (FFEBAD == ARRAY_SIZE (ffebad_messages_));
-}
-
-ffebadSeverity
-ffebad_severity (ffebad errnum)
-{
-  return ffebad_messages_[errnum].severity;
-}
-
-/* ffebad_start_ -- Start displaying an error message
-
-   ffebad_start(FFEBAD_SOME_ERROR_CODE);
-
-   Call ffebad_start to establish the message, ffebad_here and ffebad_string
-   to send run-time data to it as necessary, then ffebad_finish when through
-   to actually get it to print (to stderr).
-
-   Note: ffebad_start(errnum) turns into ffebad_start_(FALSE,errnum).  No
-   outside caller should call ffebad_start_ directly (as indicated by the
-   trailing underscore).
-
-   Call ffebad_start to start a normal message, one that might be inhibited
-   by the current state of statement guessing. Call ffebad_start_lex
-   instead to start a message that is global to all statement guesses and
-   happens only once for all guesses (i.e. the lexer).
-
-   sev and message are overrides for the severity and messages when errnum
-   is FFEBAD, meaning the caller didn't want to have to put a message in
-   bad.def to produce a diagnostic.  */
-
-bool
-ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
-              const char *msgid)
-{
-  unsigned char i;
-
-  if (ffebad_is_inhibited_ && !lex_override)
-    {
-      ffebad_is_temp_inhibited_ = TRUE;
-      return FALSE;
-    }
-
-  if (errnum != FFEBAD)
-    {
-      ffebad_severity_ = ffebad_messages_[errnum].severity;
-      ffebad_message_ = gettext (ffebad_messages_[errnum].message);
-    }
-  else
-    {
-      ffebad_severity_ = sev;
-      ffebad_message_ = gettext (msgid);
-    }
-
-  switch (ffebad_severity_)
-    {                          /* Tell toplev.c about this message. */
-    case FFEBAD_severityINFORMATIONAL:
-    case FFEBAD_severityTRIVIAL:
-      if (inhibit_warnings)
-       {                       /* User wants no warnings. */
-         ffebad_is_temp_inhibited_ = TRUE;
-         return FALSE;
-       }
-      /* Fall through.  */
-    case FFEBAD_severityWARNING:
-    case FFEBAD_severityPECULIAR:
-    case FFEBAD_severityPEDANTIC:
-      if ((ffebad_severity_ != FFEBAD_severityPEDANTIC)
-         || !flag_pedantic_errors)
-       {
-         if (!diagnostic_report_warnings_p ())
-           {                   /* User wants no warnings. */
-             ffebad_is_temp_inhibited_ = TRUE;
-             return FALSE;
-           }
-         diagnostic_kind_count (global_dc, DK_WARNING)++;
-         break;
-       }
-      /* Fall through (PEDANTIC && flag_pedantic_errors).  */
-    case FFEBAD_severityFATAL:
-    case FFEBAD_severityWEIRD:
-    case FFEBAD_severitySEVERE:
-    case FFEBAD_severityDISASTER:
-      diagnostic_kind_count (global_dc, DK_ERROR)++;
-      break;
-
-    default:
-      break;
-    }
-
-  ffebad_is_temp_inhibited_ = FALSE;
-  ffebad_errnum_ = errnum;
-  ffebad_index_ = 0;
-  ffebad_places_ = 0;
-  for (i = 0; i < FFEBAD_MAX_; ++i)
-    {
-      ffebad_string_[i] = NULL;
-      ffebad_here_[i].line = ffewhere_line_unknown ();
-      ffebad_here_[i].col = ffewhere_column_unknown ();
-    }
-
-  return TRUE;
-}
-
-/* ffebad_here -- Establish source location of some diagnostic concern
-
-   ffebad_here(ffebadIndex i,ffewhereLine line,ffewhereColumn col);
-
-   Call ffebad_start to establish the message, ffebad_here and ffebad_string
-   to send run-time data to it as necessary, then ffebad_finish when through
-   to actually get it to print (to stderr).  */
-
-void
-ffebad_here (ffebadIndex index, ffewhereLine line, ffewhereColumn col)
-{
-  ffewhereLineNumber line_num;
-  ffewhereLineNumber ln;
-  ffewhereColumnNumber col_num;
-  ffewhereColumnNumber cn;
-  ffebadIndex i;
-  ffebadIndex j;
-
-  if (ffebad_is_temp_inhibited_)
-    return;
-
-  assert (index < FFEBAD_MAX_);
-  ffebad_here_[index].line = ffewhere_line_use (line);
-  ffebad_here_[index].col = ffewhere_column_use (col);
-  if (ffewhere_line_is_unknown (line)
-      || ffewhere_column_is_unknown (col))
-    {
-      ffebad_here_[index].tag = FFEBAD_MAX_;
-      return;
-    }
-  ffebad_here_[index].tag = 0; /* For now, though it shouldn't matter. */
-
-  /* Sort the source line/col points into the order they occur in the source
-     file.  Deal with duplicates appropriately. */
-
-  line_num = ffewhere_line_number (line);
-  col_num = ffewhere_column_number (col);
-
-  /* Determine where in the ffebad_order_ array this new place should go. */
-
-  for (i = 0; i < ffebad_places_; ++i)
-    {
-      ln = ffewhere_line_number (ffebad_here_[ffebad_order_[i]].line);
-      cn = ffewhere_column_number (ffebad_here_[ffebad_order_[i]].col);
-      if (line_num < ln)
-       break;
-      if (line_num == ln)
-       {
-         if (col_num == cn)
-           {
-             ffebad_here_[index].tag = i;
-             return;           /* Shouldn't go in, has equivalent. */
-           }
-         else if (col_num < cn)
-           break;
-       }
-    }
-
-  /* Before putting new place in ffebad_order_[i], first increment all tags
-     that are i or greater. */
-
-  if (i != ffebad_places_)
-    {
-      for (j = 0; j < FFEBAD_MAX_; ++j)
-       {
-         if (ffebad_here_[j].tag >= i)
-           ++ffebad_here_[j].tag;
-       }
-    }
-
-  /* Then slide all ffebad_order_[] entries at and above i up one entry. */
-
-  for (j = ffebad_places_; j > i; --j)
-    ffebad_order_[j] = ffebad_order_[j - 1];
-
-  /* Finally can put new info in ffebad_order_[i]. */
-
-  ffebad_order_[i] = index;
-  ffebad_here_[index].tag = i;
-  ++ffebad_places_;
-}
-
-/* Establish string for next index (always in order) of message
-
-   ffebad_string(const char *string);
-
-   Call ffebad_start to establish the message, ffebad_here and ffebad_string
-   to send run-time data to it as necessary, then ffebad_finish when through
-   to actually get it to print (to stderr).  Note: don't trash the string
-   until after calling ffebad_finish, since we just maintain a pointer to
-   the argument passed in until then.  */
-
-void
-ffebad_string (const char *string)
-{
-  if (ffebad_is_temp_inhibited_)
-    return;
-
-  assert (ffebad_index_ != FFEBAD_MAX_);
-  ffebad_string_[ffebad_index_++] = string;
-}
-
-/* ffebad_finish -- Display error message with where & run-time info
-
-   ffebad_finish();
-
-   Call ffebad_start to establish the message, ffebad_here and ffebad_string
-   to send run-time data to it as necessary, then ffebad_finish when through
-   to actually get it to print (to stderr).  */
-
-void
-ffebad_finish (void)
-{
-#define MAX_SPACES 132
-  static const char *const spaces
-  = "...>\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\
-\040\040\040";                 /* MAX_SPACES - 1 spaces. */
-  ffewhereLineNumber last_line_num;
-  ffewhereLineNumber ln;
-  ffewhereLineNumber rn;
-  ffewhereColumnNumber last_col_num;
-  ffewhereColumnNumber cn;
-  ffewhereColumnNumber cnt;
-  ffewhereLine l;
-  ffebadIndex bi;
-  unsigned short i;
-  char pointer;
-  unsigned char c;
-  unsigned const char *s;
-  const char *fn;
-  static char buf[1024];
-  int bufi;
-  int index;
-
-  if (ffebad_is_temp_inhibited_)
-    return;
-
-  switch (ffebad_severity_)
-    {
-    case FFEBAD_severityINFORMATIONAL:
-      s = _("note:");
-      break;
-
-    case FFEBAD_severityWARNING:
-      s = _("warning:");
-      break;
-
-    case FFEBAD_severitySEVERE:
-      s = _("fatal:");
-      break;
-
-    default:
-      s = "";
-      break;
-    }
-
-  /* Display the annoying source references. */
-
-  last_line_num = 0;
-  last_col_num = 0;
-
-  for (bi = 0; bi < ffebad_places_; ++bi)
-    {
-      if (ffebad_places_ == 1)
-       pointer = '^';
-      else
-       pointer = '1' + bi;
-
-      l = ffebad_here_[ffebad_order_[bi]].line;
-      ln = ffewhere_line_number (l);
-      rn = ffewhere_line_filelinenum (l);
-      cn = ffewhere_column_number (ffebad_here_[ffebad_order_[bi]].col);
-      fn = ffewhere_line_filename (l);
-      if (ln != last_line_num)
-       {
-         if (bi != 0)
-           fputc ('\n', stderr);
-         diagnostic_report_current_function (global_dc);
-         fprintf (stderr,
-                  /* the trailing space on the <file>:<line>: line
-                     fools emacs19 compilation mode into finding the
-                     report */
-                  "%s:%" ffewhereLineNumber_f "u: %s\n   %s\n   %s%c",
-                  fn, rn,
-                  s,
-                  ffewhere_line_content (l),
-                  &spaces[cn > MAX_SPACES ? 0 : MAX_SPACES - cn + 4],
-                  pointer);
-         last_line_num = ln;
-         last_col_num = cn;
-         s = _("(continued):");
-       }
-      else
-       {
-         cnt = cn - last_col_num;
-         fprintf (stderr,
-                  "%s%c", &spaces[cnt > MAX_SPACES
-                                  ? 0 : MAX_SPACES - cnt + 4],
-                  pointer);
-         last_col_num = cn;
-       }
-    }
-  if (ffebad_places_ == 0)
-    {
-      /* Didn't output "warning:" string, capitalize it for message.  */
-      if (s[0] != '\0')
-       {
-         char c;
-
-         c = TOUPPER (s[0]);
-         fprintf (stderr, "%c%s ", c, &s[1]);
-       }
-      else if (s[0] != '\0')
-       fprintf (stderr, "%s ", s);
-    }
-  else
-    fputc ('\n', stderr);
-
-  /* Release the ffewhere info. */
-
-  for (bi = 0; bi < FFEBAD_MAX_; ++bi)
-    {
-      ffewhere_line_kill (ffebad_here_[bi].line);
-      ffewhere_column_kill (ffebad_here_[bi].col);
-    }
-
-  /* Now display the message. */
-
-  bufi = 0;
-  for (i = 0; (c = ffebad_message_[i]) != '\0'; ++i)
-    {
-      if (c == '%')
-       {
-         c = ffebad_message_[++i];
-         if (ISUPPER (c))
-           {
-             index = c - 'A';
-
-             if ((index < 0) || (index >= FFEBAD_MAX_))
-               {
-                 bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!] %"));
-                 bufi = ffebad_bufputc_ (buf, bufi, c);
-               }
-             else
-               {
-                 s = ffebad_string_[index];
-                 if (s == NULL)
-                   bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!]"));
-                 else
-                   bufi = ffebad_bufputs_ (buf, bufi, s);
-               }
-           }
-         else if (ISDIGIT (c))
-           {
-             index = c - '0';
-
-             if ((index < 0) || (index >= FFEBAD_MAX_))
-               {
-                 bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!] %"));
-                 bufi = ffebad_bufputc_ (buf, bufi, c);
-               }
-             else
-               {
-                 pointer = ffebad_here_[index].tag + '1';
-                 if (pointer == FFEBAD_MAX_ + '1')
-                   pointer = '?';
-                 else if (ffebad_places_ == 1)
-                   pointer = '^';
-                 bufi = ffebad_bufputc_ (buf, bufi, '(');
-                 bufi = ffebad_bufputc_ (buf, bufi, pointer);
-                 bufi = ffebad_bufputc_ (buf, bufi, ')');
-               }
-           }
-         else if (c == '\0')
-           break;
-         else if (c == '%')
-           bufi = ffebad_bufputc_ (buf, bufi, '%');
-         else
-           {
-             bufi = ffebad_bufputs_ (buf, bufi, _("[REPORT BUG!!]"));
-             bufi = ffebad_bufputc_ (buf, bufi, '%');
-             bufi = ffebad_bufputc_ (buf, bufi, c);
-           }
-       }
-      else
-       bufi = ffebad_bufputc_ (buf, bufi, c);
-    }
-  bufi = ffebad_bufputc_ (buf, bufi, '\n');
-  bufi = ffebad_bufflush_ (buf, bufi);
-}
diff --git a/contrib/gcc-3.4/gcc/f/bad.def b/contrib/gcc-3.4/gcc/f/bad.def
deleted file mode 100644 (file)
index 92d7e23..0000000
+++ /dev/null
@@ -1,1103 +0,0 @@
-/* bad.def -- Public #include File (module.h template V1.0)
-   Copyright (C) 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Owning Modules:
-      bad.c
-
-   Modifications:
-*/
-
-#define INFORM FFEBAD_severityINFORMATIONAL
-#define TRIVIAL FFEBAD_severityTRIVIAL
-#define WARN FFEBAD_severityWARNING
-#define PECULIAR FFEBAD_severityPECULIAR
-#define FATAL FFEBAD_severityFATAL
-#define WEIRD FFEBAD_severityWEIRD
-#define SEVERE FFEBAD_severitySEVERE
-#define DISASTER FFEBAD_severityDISASTER
-
-FFEBAD_MSG (FFEBAD_MISSING_FIRST_BINARY_OPERAND, FATAL,
-/* xgettext:no-c-format */
-"Missing first operand for binary operator at %0")
-FFEBAD_MSG (FFEBAD_NULL_CHAR_CONST, WARN,
-/* xgettext:no-c-format */
-"Zero-length character constant at %0")
-FFEBAD_MSG (FFEBAD_INVALID_TOKEN_IN_EXPRESSION, FATAL,
-/* xgettext:no-c-format */
-"Invalid token at %0 in expression or subexpression at %1")
-FFEBAD_MSG (FFEBAD_MISSING_OPERAND_FOR_OPERATOR, FATAL,
-/* xgettext:no-c-format */
-"Missing operand for operator at %1 at end of expression at %0")
-FFEBAD_MSG (FFEBAD_LABEL_ALREADY_DEFINED, FATAL,
-/* xgettext:no-c-format */
-"Label %A already defined at %1 when redefined at %0")
-FFEBAD_MSG (FFEBAD_UNRECOGNIZED_CHARACTER, FATAL,
-/* xgettext:no-c-format */
-"Unrecognized character at %0 [info -f g77 M LEX]")
-FFEBAD_MSG (FFEBAD_LABEL_WITHOUT_STMT, WARN,
-/* xgettext:no-c-format */
-"Label definition %A at %0 on empty statement (as of %1)")
-FFEBAD_MSG (FFEBAD_EXTRA_LABEL_DEF, FATAL,
-/* xgettext:no-c-format */
-LONG("Extra label definition %A at %0 -- perhaps previous label definition %B at %1 should have CONTINUE statement?")
-/* xgettext:no-c-format */
-SHORT("Extra label definition %A at %0 following label definition %B at %1"))
-FFEBAD_MSG (FFEBAD_FIRST_CHAR_INVALID, FATAL,
-/* xgettext:no-c-format */
-"Invalid first character at %0 [info -f g77 M LEX]")
-FFEBAD_MSG (FFEBAD_LINE_TOO_LONG, FATAL,
-/* xgettext:no-c-format */
-"Line too long as of %0 [info -f g77 M LEX]")
-FFEBAD_MSG (FFEBAD_LABEL_FIELD_NOT_NUMERIC, FATAL,
-/* xgettext:no-c-format */
-"Non-numeric character at %0 in label field [info -f g77 M LEX]")
-FFEBAD_MSG (FFEBAD_LABEL_NUMBER_INVALID, FATAL,
-/* xgettext:no-c-format */
-"Label number at %0 not in range 1-99999")
-FFEBAD_MSG (FFEBAD_NON_ANSI_COMMENT, WARN,
-/* xgettext:no-c-format */
-"At %0, '!' and '/*' are not valid comment delimiters")
-FFEBAD_MSG (FFEBAD_NON_ANSI_CONTINUATION_COLUMN, WARN,
-/* xgettext:no-c-format */
-"Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]")
-FFEBAD_MSG (FFEBAD_LABEL_ON_CONTINUATION, FATAL,
-/* xgettext:no-c-format */
-"Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]")
-FFEBAD_MSG (FFEBAD_INVALID_CONTINUATION, FATAL,
-/* xgettext:no-c-format */
-LONG("Continuation indicator at %0 invalid on first non-comment line of file or following END or INCLUDE [info -f g77 M LEX]")
-/* xgettext:no-c-format */
-SHORT("Continuation indicator at %0 invalid here [info -f g77 M LEX]"))
-FFEBAD_MSG (FFEBAD_NO_CLOSING_APOSTROPHE, FATAL,
-/* xgettext:no-c-format */
-"Character constant at %0 has no closing apostrophe at %1")
-FFEBAD_MSG (FFEBAD_NOT_ENOUGH_HOLLERITH_CHARS, FATAL,
-/* xgettext:no-c-format */
-"Hollerith constant at %0 specified %A more characters than are present as of %1")
-FFEBAD_MSG (FFEBAD_MISSING_CLOSE_PAREN, FATAL,
-/* xgettext:no-c-format */
-"Missing close parenthese at %0 needed to match open parenthese at %1")
-FFEBAD_MSG (FFEBAD_INTEGER_TOO_LARGE, FATAL,
-/* xgettext:no-c-format */
-"Integer at %0 too large")
-FFEBAD_MSG (FFEBAD_BAD_MAGICAL, WARN,
-/* xgettext:no-c-format */
-LONG("Integer at %0 too large except as negative number (preceded by unary minus sign)")
-/* xgettext:no-c-format */
-SHORT("Non-negative integer at %0 too large"))
-FFEBAD_MSG (FFEBAD_BAD_MAGICAL_PRECEDENCE, WARN,
-/* xgettext:no-c-format */
-LONG("Integer at %0 too large; even though preceded by unary minus sign at %1, subsequent operator at %2 has precedence over unary minus -- enclose unary minus sign and integer in parentheses to force precedence")
-/* xgettext:no-c-format */
-SHORT("Integer at %0 too large (%2 has precedence over %1)"))
-FFEBAD_MSG (FFEBAD_BAD_MAGICAL_BINARY, WARN,
-/* xgettext:no-c-format */
-LONG("Integer at %0 too large; even though preceded by minus sign at %1, because minus sign is a binary, not unary, operator -- insert plus sign before minus sign to change it to a unary minus sign")
-/* xgettext:no-c-format */
-SHORT("Integer at %0 too large (needs unary, not binary, minus at %1)"))
-FFEBAD_MSG (FFEBAD_BAD_MAGICAL_PRECEDENCE_BINARY, WARN,
-/* xgettext:no-c-format */
-LONG("Integer at %0 too large; even though preceded by minus sign at %1, subsequent operator at %2 has precedence over minus, and that minus sign should be a unary minus rather than a binary minus -- insert plus sign before minus sign to change it to a unary minus sign, and enclose unary minus sign and integer in parentheses to force precedence")
-/* xgettext:no-c-format */
-SHORT("Integer at %0 too large (%2 has precedence over %1, which needs to be unary, not binary, minus)"))
-FFEBAD_MSG (FFEBAD_IGNORING_PERIOD, FATAL,
-/* xgettext:no-c-format */
-"Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'")
-FFEBAD_MSG (FFEBAD_INSERTING_PERIOD, FATAL,
-/* xgettext:no-c-format */
-"Missing close-period between `.%A' at %0 and %1")
-FFEBAD_MSG (FFEBAD_INVALID_EXPONENT, FATAL,
-/* xgettext:no-c-format */
-"Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field")
-FFEBAD_MSG (FFEBAD_MISSING_EXPONENT_VALUE, FATAL,
-/* xgettext:no-c-format */
-"Missing value at %1 for real-number exponent at %0")
-FFEBAD_MSG (FFEBAD_MISSING_BINARY_OPERATOR, FATAL,
-/* xgettext:no-c-format */
-"Expected binary operator between expressions at %0 and at %1")
-FFEBAD_MSG (FFEBAD_INVALID_DOTDOT, FATAL,
-/* xgettext:no-c-format */
-LONG("Period at %0 not followed by valid keyword forming a valid binary operator; `.%A.' is not a valid binary operator")
-/* xgettext:no-c-format */
-SHORT("`.%A.' at %0 not a binary operator"))
-FFEBAD_MSG (FFEBAD_QUOTE_MISSES_DIGITS, FATAL,
-/* xgettext:no-c-format */
-LONG("Double-quote at %0 not followed by a string of valid octal digits at %1")
-/* xgettext:no-c-format */
-SHORT("Invalid octal constant at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_BINARY_DIGIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid binary digit(s) found in string of digits at %0")
-/* xgettext:no-c-format */
-SHORT("Invalid binary constant at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_HEX_DIGIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid hexadecimal digit(s) found in string of digits at %0")
-/* xgettext:no-c-format */
-SHORT("Invalid hexadecimal constant at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_OCTAL_DIGIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid octal digit(s) found in string of digits at %0")
-/* xgettext:no-c-format */
-SHORT("Invalid octal constant at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_RADIX_SPECIFIER, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid radix specifier `%A' at %0 for typeless constant at %1")
-/* xgettext:no-c-format */
-SHORT("Invalid typeless constant at %1"))
-FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_BINARY_DIGIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid binary digit(s) found in string of digits at %0")
-/* xgettext:no-c-format */
-SHORT("Invalid binary constant at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_OCTAL_DIGIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid octal digit(s) found in string of digits at %0")
-/* xgettext:no-c-format */
-SHORT("Invalid octal constant at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_HEX_DIGIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid hexadecimal digit(s) found in string of digits at %0")
-/* xgettext:no-c-format */
-SHORT("Invalid hexadecimal constant at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_COMPLEX_PART, FATAL,
-/* xgettext:no-c-format */
-LONG("%A part of complex constant at %0 must be a real or integer constant -- otherwise use CMPLX() or COMPLEX() in place of ()")
-/* xgettext:no-c-format */
-SHORT("%A part of complex constant at %0 not a real or integer constant"))
-FFEBAD_MSG (FFEBAD_INVALID_PERCENT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid keyword `%%%A' at %0 in this context")
-/* xgettext:no-c-format */
-SHORT("Invalid keyword `%%%A' at %0"))
-FFEBAD_MSG (FFEBAD_NULL_EXPRESSION, FATAL,
-/* xgettext:no-c-format */
-LONG("Null expression between %0 and %1 invalid in this context")
-/* xgettext:no-c-format */
-SHORT("Invalid null expression between %0 and %1"))
-FFEBAD_MSG (FFEBAD_CONCAT_ARGS_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Concatenation operator at %0 must operate on two subexpressions of character type, but neither subexpression at %1 or %2 is of character type")
-/* xgettext:no-c-format */
-SHORT("Invalid operands at %1 and %2 for concatenation operator at %0"))
-FFEBAD_MSG (FFEBAD_CONCAT_ARG_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type")
-/* xgettext:no-c-format */
-SHORT("Invalid operand at %1 for concatenation operator at %0"))
-FFEBAD_MSG (FFEBAD_CONCAT_ARG_KIND, FATAL,
-/* xgettext:no-c-format */
-LONG("Concatenation operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning character scalars, or a combination of both -- but the subexpression at %1 is %A")
-/* xgettext:no-c-format */
-SHORT("Invalid operand (is %A) at %1 for concatenation operator at %0"))
-FFEBAD_MSG (FFEBAD_MATH_ARGS_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but neither subexpression at %1 or %2 is of arithmetic type")
-/* xgettext:no-c-format */
-SHORT("Invalid operands at %1 and %2 for arithmetic operator at %0"))
-FFEBAD_MSG (FFEBAD_MATH_ARG_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but the subexpression at %1 is not of arithmetic type")
-/* xgettext:no-c-format */
-SHORT("Invalid operand at %1 for arithmetic operator at %0"))
-FFEBAD_MSG (FFEBAD_MATH_ARG_KIND, FATAL,
-/* xgettext:no-c-format */
-LONG("Arithmetic operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic scalars, or a combination of both -- but the subexpression at %1 is %A")
-/* xgettext:no-c-format */
-SHORT("Invalid operand (is %A) at %1 for arithmetic operator at %0"))
-FFEBAD_MSG (FFEBAD_NO_CLOSING_QUOTE, FATAL,
-/* xgettext:no-c-format */
-LONG("Character constant at %0 has no closing quote at %1 [info -f g77 M LEX]")
-/* xgettext:no-c-format */
-SHORT("Unterminated character constant at %0 [info -f g77 M LEX]"))
-FFEBAD_MSG (FFEBAD_BAD_CHAR_CONTINUE, FATAL,
-/* xgettext:no-c-format */
-LONG("Continuation line at %0 must have initial `&' since it continues a character context [info -f g77 M LEX]")
-/* xgettext:no-c-format */
-SHORT("Missing initial `&' on continuation line at %0 [info -f g77 M LEX]"))
-FFEBAD_MSG (FFEBAD_BAD_LEXTOK_CONTINUE, FATAL,
-/* xgettext:no-c-format */
-LONG("Continuation line at %0 must have initial `&' since it continues a split lexical token [info -f g77 M LEX]")
-/* xgettext:no-c-format */
-SHORT("Missing initial `&' on continuation line at %0 [info -f g77 M LEX]"))
-FFEBAD_MSG (FFEBAD_BAD_FREE_CONTINUE, FATAL,
-/* xgettext:no-c-format */
-LONG("Continuation line at %0 invalid because it consists only of a single `&' as the only nonblank character")
-/* xgettext:no-c-format */
-SHORT("Invalid continuation line at %0"))
-FFEBAD_MSG (FFEBAD_STMT_BEGINS_BAD, FATAL,
-/* xgettext:no-c-format */
-LONG("Statement at %0 begins with invalid token [info -f g77 M LEX]")
-/* xgettext:no-c-format */
-SHORT("Invalid statement at %0 [info -f g77 M LEX]"))
-FFEBAD_MSG (FFEBAD_SEMICOLON, FATAL,
-/* xgettext:no-c-format */
-"Semicolon at %0 is an invalid token")
-FFEBAD_MSG (FFEBAD_UNREC_STMT, FATAL,
-/* xgettext:no-c-format */
-LONG("Unrecognized statement name at %0 and invalid form for assignment or statement-function definition at %1")
-/* xgettext:no-c-format */
-SHORT("Invalid statement at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_STMT_FORM, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid form for %A statement at %0")
-/* xgettext:no-c-format */
-SHORT("Invalid %A statement at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_HOLL_IN_STMT, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid use of hollerith constant in statement at %0 -- enclose the constant in parentheses (for example, change BACKSPACE 2HAB to BACKSPACE (2HAB))")
-/* xgettext:no-c-format */
-SHORT("Enclose hollerith constant in statement at %0 in parentheses"))
-FFEBAD_MSG (FFEBAD_FORMAT_EXTRA_COMMA, FATAL,
-/* xgettext:no-c-format */
-"Extraneous comma in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_MISSING_COMMA, WARN,
-/* xgettext:no-c-format */
-"Missing comma in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_SPURIOUS_SIGN, FATAL,
-/* xgettext:no-c-format */
-"Spurious sign in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_SPURIOUS_NUMBER, FATAL,
-/* xgettext:no-c-format */
-"Spurious number in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_TEXT_IN_NUMBER, FATAL,
-/* xgettext:no-c-format */
-"Spurious text trailing number in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_P_NOCOMMA, FATAL,
-/* xgettext:no-c-format */
-LONG("nP control edit descriptor not followed by comma but followed by edit descriptor at %0 other than D, E, EN, F, or G")
-/* xgettext:no-c-format */
-SHORT("Invalid edit descriptor at %0 following nP control edit descriptor"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_SPEC, FATAL,
-/* xgettext:no-c-format */
-"Unrecognized FORMAT specifier at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_I_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid I specifier in FORMAT statement at %0 -- correct form: [r]Iw.[m]")
-/* xgettext:no-c-format */
-SHORT("Invalid I specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_B_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid B specifier in FORMAT statement at %0 -- correct form: [r]Bw.[m]")
-/* xgettext:no-c-format */
-SHORT("Invalid B specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_O_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid O specifier in FORMAT statement at %0 -- correct form: [r]Ow.[m]")
-/* xgettext:no-c-format */
-SHORT("Invalid O specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_Z_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid Z specifier in FORMAT statement at %0 -- correct form: [r]Zw.[m]")
-/* xgettext:no-c-format */
-SHORT("Invalid Z specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_F_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid F specifier in FORMAT statement at %0 -- correct form: [r]Fw.d")
-/* xgettext:no-c-format */
-SHORT("Invalid F specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_E_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid E specifier in FORMAT statement at %0 -- correct form: [r]Ew.d[Ee]")
-/* xgettext:no-c-format */
-SHORT("Invalid E specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_EN_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid EN specifier in FORMAT statement at %0 -- correct form: [r]ENw.d[Ee]")
-/* xgettext:no-c-format */
-SHORT("Invalid EN specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_G_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid G specifier in FORMAT statement at %0 -- correct form: [r]Gw.d[Ee]")
-/* xgettext:no-c-format */
-SHORT("Invalid G specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_L_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid L specifier in FORMAT statement at %0 -- correct form: [r]Lw")
-/* xgettext:no-c-format */
-SHORT("Invalid L specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_A_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid A specifier in FORMAT statement at %0 -- correct form: [r]A[w]")
-/* xgettext:no-c-format */
-SHORT("Invalid A specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_D_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid D specifier in FORMAT statement at %0 -- correct form: [r]Dw.d")
-/* xgettext:no-c-format */
-SHORT("Invalid D specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_Q_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid Q specifier in FORMAT statement at %0 -- correct form: Q")
-/* xgettext:no-c-format */
-SHORT("Invalid Q specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_DOLLAR_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid $ specifier in FORMAT statement at %0 -- correct form: $")
-/* xgettext:no-c-format */
-SHORT("Invalid $ specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_P_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid P specifier in FORMAT statement at %0 -- correct form: kP")
-/* xgettext:no-c-format */
-SHORT("Invalid P specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_T_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid T specifier in FORMAT statement at %0 -- correct form: Tn")
-/* xgettext:no-c-format */
-SHORT("Invalid T specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_TL_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid TL specifier in FORMAT statement at %0 -- correct form: TLn")
-/* xgettext:no-c-format */
-SHORT("Invalid TL specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_TR_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid TR specifier in FORMAT statement at %0 -- correct form: TRn")
-/* xgettext:no-c-format */
-SHORT("Invalid TR specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_X_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid X specifier in FORMAT statement at %0 -- correct form: nX")
-/* xgettext:no-c-format */
-SHORT("Invalid X specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_S_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid S specifier in FORMAT statement at %0 -- correct form: S")
-/* xgettext:no-c-format */
-SHORT("Invalid S specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_SP_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid SP specifier in FORMAT statement at %0 -- correct form: SP")
-/* xgettext:no-c-format */
-SHORT("Invalid SP specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_SS_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid SS specifier in FORMAT statement at %0 -- correct form: SS")
-/* xgettext:no-c-format */
-SHORT("Invalid SS specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_BN_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid BN specifier in FORMAT statement at %0 -- correct form: BN")
-/* xgettext:no-c-format */
-SHORT("Invalid BN specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_BZ_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid BZ specifier in FORMAT statement at %0 -- correct form: BZ")
-/* xgettext:no-c-format */
-SHORT("Invalid BZ specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_COLON_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid : specifier in FORMAT statement at %0 -- correct form: :")
-/* xgettext:no-c-format */
-SHORT("Invalid : specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_BAD_H_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid H specifier in FORMAT statement at %0 -- correct form: nHcharacters  !where n is an unsigned decimal constant, and characters               !contains exactly n characters (including spaces)")
-/* xgettext:no-c-format */
-SHORT("Invalid H specifier in FORMAT statement at %0"))
-FFEBAD_MSG (FFEBAD_FORMAT_MISSING_PAREN, FATAL,
-/* xgettext:no-c-format */
-"Missing close-parenthese(s) in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_MISSING_DOT, FATAL,
-/* xgettext:no-c-format */
-"Missing number following period in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_MISSING_EXP, FATAL,
-/* xgettext:no-c-format */
-"Missing number following `E' in FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_EXPR_TOKEN, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid token with FORMAT run-time expression at %0 -- use the traditional operators .LT., .LE., .GT., .GE., .EQ., and .NE. in place of the newer tokens <, <=, >, >=, ==, and !=, because > ends an expression within a FORMAT statement")
-/* xgettext:no-c-format */
-SHORT("Invalid token with FORMAT run-time expression at %0"))
-FFEBAD_MSG (FFEBAD_TRAILING_COMMA, WARN,
-/* xgettext:no-c-format */
-"Spurious trailing comma preceding terminator at %0")
-FFEBAD_MSG (FFEBAD_INTERFACE_ASSIGNMENT, WARN,
-/* xgettext:no-c-format */
-"At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)")
-FFEBAD_MSG (FFEBAD_INTERFACE_OPERATOR, WARN,
-/* xgettext:no-c-format */
-"At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)")
-FFEBAD_MSG (FFEBAD_INTERFACE_NONLETTER, FATAL,
-/* xgettext:no-c-format */
-LONG("Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)")
-/* xgettext:no-c-format */
-SHORT("Nonletter in defined operator at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_TYPEDECL_ATTR, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid type-declaration attribute at %0 -- must be one of: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE")
-/* xgettext:no-c-format */
-SHORT("Invalid type-declaration attribute at %0"))
-FFEBAD_MSG (FFEBAD_INVALID_TYPEDECL_INIT, FATAL,
-/* xgettext:no-c-format */
-"Cannot specify =initialization-expr at %0 unless `::' appears before list of objects")
-FFEBAD_MSG (FFEBAD_LABEL_USE_DEF, FATAL,
-/* xgettext:no-c-format */
-"Reference to label at %1 inconsistent with its definition at %0")
-FFEBAD_MSG (FFEBAD_LABEL_USE_USE, FATAL,
-/* xgettext:no-c-format */
-"Reference to label at %1 inconsistent with earlier reference at %0")
-FFEBAD_MSG (FFEBAD_LABEL_DEF_DO, FATAL,
-/* xgettext:no-c-format */
-"DO-statement reference to label at %1 follows its definition at %0")
-FFEBAD_MSG (FFEBAD_LABEL_BLOCK, WARN,
-/* xgettext:no-c-format */
-"Reference to label at %1 is outside block containing definition at %0")
-FFEBAD_MSG (FFEBAD_LABEL_DO_BLOCK_DO, FATAL,
-/* xgettext:no-c-format */
-"DO-statement references to label at %0 and %2 separated by unterminated block starting at %1")
-FFEBAD_MSG (FFEBAD_LABEL_DO_BLOCK_END, FATAL,
-/* xgettext:no-c-format */
-"DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1")
-FFEBAD_MSG (FFEBAD_INVALID_LABEL_DEF, FATAL,
-/* xgettext:no-c-format */
-"Label definition at %0 invalid on this kind of statement")
-FFEBAD_MSG (FFEBAD_ORDER_1, FATAL,
-/* xgettext:no-c-format */
-"Statement at %0 invalid in this context")
-FFEBAD_MSG (FFEBAD_ORDER_2, FATAL,
-/* xgettext:no-c-format */
-"Statement at %0 invalid in context established by statement at %1")
-FFEBAD_MSG (FFEBAD_CONSTRUCT_NAMED, FATAL,
-/* xgettext:no-c-format */
-"Statement at %0 must specify construct name specified at %1")
-FFEBAD_MSG (FFEBAD_CONSTRUCT_NOT_NAMED, FATAL,
-/* xgettext:no-c-format */
-"Construct name at %0 superfluous, no construct name specified at %1")
-FFEBAD_MSG (FFEBAD_CONSTRUCT_WRONG_NAME, FATAL,
-/* xgettext:no-c-format */
-"Construct name at %0 not the same as construct name at %1")
-FFEBAD_MSG (FFEBAD_CONSTRUCT_NO_DO_NAME, FATAL,
-/* xgettext:no-c-format */
-"Construct name at %0 does not match construct name for any containing DO constructs")
-FFEBAD_MSG (FFEBAD_DO_HAD_LABEL, FATAL,
-/* xgettext:no-c-format */
-"Label definition missing at %0 for DO construct specifying label at %1")
-FFEBAD_MSG (FFEBAD_AFTER_ELSE, FATAL,
-/* xgettext:no-c-format */
-"Statement at %0 follows ELSE block for IF construct at %1")
-FFEBAD_MSG (FFEBAD_FORMAT_NO_LABEL_DEF, FATAL,
-/* xgettext:no-c-format */
-"No label definition for FORMAT statement at %0")
-FFEBAD_MSG (FFEBAD_SECOND_ELSE_WHERE, FATAL,
-/* xgettext:no-c-format */
-"Second occurrence of ELSE WHERE at %0 within WHERE at %1")
-FFEBAD_MSG (FFEBAD_END_WO, WARN,
-/* xgettext:no-c-format */
-"END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1")
-FFEBAD_MSG (FFEBAD_INVALID_MODULE_PROCEDURE, FATAL,
-/* xgettext:no-c-format */
-"MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment")
-FFEBAD_MSG (FFEBAD_BLOCKDATA_NOT_NAMED, FATAL,
-/* xgettext:no-c-format */
-"BLOCK DATA name at %0 superfluous, no name specified at %1")
-FFEBAD_MSG (FFEBAD_PROGRAM_NOT_NAMED, FATAL,
-/* xgettext:no-c-format */
-"Program name at %0 superfluous, no PROGRAM statement specified at %1")
-FFEBAD_MSG (FFEBAD_UNIT_WRONG_NAME, FATAL,
-/* xgettext:no-c-format */
-"Program unit name at %0 not the same as name at %1")
-FFEBAD_MSG (FFEBAD_TYPE_WRONG_NAME, FATAL,
-/* xgettext:no-c-format */
-"Type name at %0 not the same as name at %1")
-FFEBAD_MSG (FFEBAD_EOF_BEFORE_BLOCK_END, FATAL,
-/* xgettext:no-c-format */
-"End of source file before end of block started at %0")
-FFEBAD_MSG (FFEBAD_UNDEF_LABEL, FATAL,
-/* xgettext:no-c-format */
-"Undefined label, first referenced at %0")
-FFEBAD_MSG (FFEBAD_CONFLICTING_SAVES, WARN,
-/* xgettext:no-c-format */
-"SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0")
-FFEBAD_MSG (FFEBAD_CONFLICTING_ACCESSES, FATAL,
-/* xgettext:no-c-format */
-"PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0")
-FFEBAD_MSG (FFEBAD_RETURN_IN_MAIN, WARN,
-/* xgettext:no-c-format */
-"RETURN statement at %0 invalid within a main program unit")
-FFEBAD_MSG (FFEBAD_ALTRETURN_IN_PROGRAM, FATAL,
-/* xgettext:no-c-format */
-"Alternate return specifier at %0 invalid within a main program unit")
-FFEBAD_MSG (FFEBAD_ALTRETURN_IN_FUNCTION, FATAL,
-/* xgettext:no-c-format */
-"Alternate return specifier at %0 invalid within a function")
-FFEBAD_MSG (FFEBAD_DERIVTYP_ACCESS, FATAL,
-/* xgettext:no-c-format */
-"Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module")
-FFEBAD_MSG (FFEBAD_DERIVTYP_ACCESS_FIRST, FATAL,
-/* xgettext:no-c-format */
-"Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements")
-FFEBAD_MSG (FFEBAD_DERIVTYP_NO_COMPONENTS, FATAL,
-/* xgettext:no-c-format */
-"No components specified as of %0 for derived-type definition beginning at %1")
-FFEBAD_MSG (FFEBAD_STRUCT_NO_COMPONENTS, FATAL,
-/* xgettext:no-c-format */
-"No components specified as of %0 for structure definition beginning at %1")
-FFEBAD_MSG (FFEBAD_STRUCT_MISSING_NAME, FATAL,
-/* xgettext:no-c-format */
-"Missing structure name for outer structure definition at %0")
-FFEBAD_MSG (FFEBAD_STRUCT_IGNORING_FIELD, FATAL,
-/* xgettext:no-c-format */
-"Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead")
-FFEBAD_MSG (FFEBAD_STRUCT_MISSING_FIELD, FATAL,
-/* xgettext:no-c-format */
-"Missing field name(s) for structure definition at %0 within structure definition at %1")
-FFEBAD_MSG (FFEBAD_MAP_NO_COMPONENTS, FATAL,
-/* xgettext:no-c-format */
-"No components specified as of %0 for map beginning at %1")
-FFEBAD_MSG (FFEBAD_UNION_NO_TWO_MAPS, FATAL,
-/* xgettext:no-c-format */
-"Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required")
-FFEBAD_MSG (FFEBAD_MISSING_SPECIFIER, FATAL,
-/* xgettext:no-c-format */
-"Missing %A specifier in statement at %0")
-FFEBAD_MSG (FFEBAD_NAMELIST_ITEMS, FATAL,
-/* xgettext:no-c-format */
-"Items in I/O list starting at %0 invalid for namelist-directed I/O")
-FFEBAD_MSG (FFEBAD_CONFLICTING_SPECS, FATAL,
-/* xgettext:no-c-format */
-"Conflicting I/O control specifications at %0 and %1")
-FFEBAD_MSG (FFEBAD_NO_UNIT_SPEC, FATAL,
-/* xgettext:no-c-format */
-"No UNIT= specifier in I/O control list at %0")
-FFEBAD_MSG (FFEBAD_MISSING_ADVANCE_SPEC, FATAL,
-/* xgettext:no-c-format */
-"Specification at %0 requires ADVANCE=`NO' specification in same I/O control list")
-FFEBAD_MSG (FFEBAD_MISSING_FORMAT_SPEC, FATAL,
-/* xgettext:no-c-format */
-"Specification at %0 requires explicit FMT= specification in same I/O control list")
-FFEBAD_MSG (FFEBAD_SPEC_VALUE, FATAL,
-/* xgettext:no-c-format */
-LONG("Unrecognized value for character constant at %0 -- expecting %A")
-/* xgettext:no-c-format */
-SHORT("Unrecognized value for character constant at %0"))
-FFEBAD_MSG (FFEBAD_CASE_SECOND_DEFAULT, FATAL,
-/* xgettext:no-c-format */
-"Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1")
-FFEBAD_MSG (FFEBAD_CASE_DUPLICATE, FATAL,
-/* xgettext:no-c-format */
-"Duplicate or overlapping case values/ranges at %0 and %1")
-FFEBAD_MSG (FFEBAD_CASE_TYPE_DISAGREE, FATAL,
-/* xgettext:no-c-format */
-"Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1")
-FFEBAD_MSG (FFEBAD_CASE_LOGICAL_RANGE, FATAL,
-/* xgettext:no-c-format */
-"Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement")
-FFEBAD_MSG (FFEBAD_CASE_BAD_RANGE, FATAL,
-/* xgettext:no-c-format */
-LONG("Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT")
-/* xgettext:no-c-format */
-SHORT("Range specification at %0 invalid"))
-FFEBAD_MSG (FFEBAD_CASE_RANGE_USELESS, INFORM,
-/* xgettext:no-c-format */
-LONG("Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression")
-/* xgettext:no-c-format */
-SHORT("Useless range at %0"))
-FFEBAD_MSG (FFEBAD_F90, FATAL,
-/* xgettext:no-c-format */
-"Fortran 90 feature at %0 unsupported")
-FFEBAD_MSG (FFEBAD_KINDTYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid kind at %0 for type at %1 -- unsupported or not permitted")
-/* xgettext:no-c-format */
-SHORT("Invalid kind at %0 for type at %1"))
-FFEBAD_MSG (FFEBAD_BAD_IMPLICIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Cannot establish implicit type for initial letter `%A' at %0 -- already explicitly established or used to set implicit type of some name, or backwards order of letters in letter range")
-/* xgettext:no-c-format */
-SHORT("Cannot establish implicit type for initial letter `%A' at %0"))
-FFEBAD_MSG (FFEBAD_SYMERR, FATAL,
-/* xgettext:no-c-format */
-"Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]")
-FFEBAD_MSG (FFEBAD_LABEL_WRONG_PLACE, FATAL,
-/* xgettext:no-c-format */
-LONG("Label definition %A (at %0) invalid -- must be in columns 1-5")
-/* xgettext:no-c-format */
-SHORT("Invalid label definition %A (at %0)"))
-FFEBAD_MSG (FFEBAD_NULL_ELEMENT, FATAL,
-/* xgettext:no-c-format */
-"Null element at %0 for array reference at %1")
-FFEBAD_MSG (FFEBAD_TOO_FEW_ELEMENTS, FATAL,
-/* xgettext:no-c-format */
-"Too few elements (%A missing) as of %0 for array reference at %1")
-FFEBAD_MSG (FFEBAD_TOO_MANY_ELEMENTS, FATAL,
-/* xgettext:no-c-format */
-"Too many elements as of %0 for array reference at %1")
-FFEBAD_MSG (FFEBAD_MISSING_COLON_IN_SUBSTR, FATAL,
-/* xgettext:no-c-format */
-"Missing colon as of %0 in substring reference for %1")
-FFEBAD_MSG (FFEBAD_BAD_SUBSTR, FATAL,
-/* xgettext:no-c-format */
-"Invalid use at %0 of substring operator on %1")
-FFEBAD_MSG (FFEBAD_RANGE_SUBSTR, WARN,
-/* xgettext:no-c-format */
-"Substring begin/end point at %0 out of defined range")
-FFEBAD_MSG (FFEBAD_RANGE_ARRAY, WARN,
-/* xgettext:no-c-format */
-"Array element value at %0 out of defined range")
-FFEBAD_MSG (FFEBAD_EXPR_WRONG, FATAL,
-/* xgettext:no-c-format */
-"Expression at %0 has incorrect data type or rank for its context")
-FFEBAD_MSG (FFEBAD_DIV_BY_ZERO, WARN,
-/* xgettext:no-c-format */
-"Division by 0 (zero) at %0 (IEEE not yet supported)")
-FFEBAD_MSG (FFEBAD_DO_STEP_ZERO, FATAL,
-/* xgettext:no-c-format */
-"%A step count known to be 0 (zero) at %0")
-FFEBAD_MSG (FFEBAD_DO_END_OVERFLOW, WARN,
-/* xgettext:no-c-format */
-"%A end value plus step count known to overflow at %0")
-FFEBAD_MSG (FFEBAD_DO_IMP_OVERFLOW, WARN,
-/* xgettext:no-c-format */
-"%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0")
-FFEBAD_MSG (FFEBAD_DO_NULL, WARN,
-/* xgettext:no-c-format */
-"%A begin, end, and step-count values known to result in no iterations at %0")
-FFEBAD_MSG (FFEBAD_BAD_TYPES, FATAL,
-/* xgettext:no-c-format */
-"Type disagreement between expressions at %0 and %1")
-FFEBAD_MSG (FFEBAD_FORMAT_EXPR_SPEC, FATAL,
-/* xgettext:no-c-format */
-LONG("Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement")
-/* xgettext:no-c-format */
-SHORT("FORMAT at %0 with run-time expression must follow first executable statement"))
-FFEBAD_MSG (FFEBAD_BAD_IMPDO, FATAL,
-/* xgettext:no-c-format */
-LONG("Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is `(item-list,do-var=start,end[,incr])'")
-/* xgettext:no-c-format */
-SHORT("Unexpected token at %0 in implied-DO construct at %1"))
-FFEBAD_MSG (FFEBAD_BAD_IMPDCL, FATAL,
-/* xgettext:no-c-format */
-"No specification for implied-DO iterator `%A' at %0")
-FFEBAD_MSG (FFEBAD_IMPDO_PAREN, WARN,
-/* xgettext:no-c-format */
-"Gratuitous parentheses surround implied-DO construct at %0")
-FFEBAD_MSG (FFEBAD_ZERO_SIZE, FATAL,
-/* xgettext:no-c-format */
-"Zero-size specification invalid at %0")
-FFEBAD_MSG (FFEBAD_ZERO_ARRAY, FATAL,
-/* xgettext:no-c-format */
-"Zero-size array at %0")
-FFEBAD_MSG (FFEBAD_BAD_COMPLEX, FATAL,
-/* xgettext:no-c-format */
-"Target machine does not support complex entity of kind specified at %0")
-FFEBAD_MSG (FFEBAD_BAD_DBLCMPLX, FATAL,
-/* xgettext:no-c-format */
-"Target machine does not support DOUBLE COMPLEX, specified at %0")
-FFEBAD_MSG (FFEBAD_BAD_POWER, WARN,
-/* xgettext:no-c-format */
-"Attempt to raise constant zero to a power at %0")
-FFEBAD_MSG (FFEBAD_BOOL_ARGS_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Boolean/logical operator at %0 must operate on two subexpressions of logical type, but neither subexpression at %1 or %2 is of logical type")
-/* xgettext:no-c-format */
-SHORT("Invalid operands at %1 and %2 for boolean operator at %0"))
-FFEBAD_MSG (FFEBAD_BOOL_ARG_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Boolean/logical operator at %0 must operate on two subexpressions of logical type, but the subexpression at %1 is not of logical type")
-/* xgettext:no-c-format */
-SHORT("Invalid operand at %1 for boolean operator at %0"))
-FFEBAD_MSG (FFEBAD_BOOL_ARG_KIND, FATAL,
-/* xgettext:no-c-format */
-LONG("Boolean/logical operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning logical scalars, or a combination of both -- but the subexpression at %1 is %A")
-/* xgettext:no-c-format */
-SHORT("Invalid operand (is %A) at %1 for boolean operator at %0"))
-FFEBAD_MSG (FFEBAD_NOT_ARG_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG(".NOT. operator at %0 must operate on subexpression of logical type, but the subexpression at %1 is not of logical type")
-/* xgettext:no-c-format */
-SHORT("Invalid operand at %1 for .NOT. operator at %0"))
-FFEBAD_MSG (FFEBAD_NOT_ARG_KIND, FATAL,
-/* xgettext:no-c-format */
-LONG(".NOT. operator at %0 must operate on scalar subexpressions -- but the subexpression at %1 is %A")
-/* xgettext:no-c-format */
-SHORT("Invalid operand (is %A) at %1 for .NOT. operator at %0"))
-FFEBAD_MSG (FFEBAD_EQOP_ARGS_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but neither subexpression at %1 or %2 is of arithmetic or character type")
-/* xgettext:no-c-format */
-SHORT("Invalid operands at %1 and %2 for equality operator at %0"))
-FFEBAD_MSG (FFEBAD_EQOP_ARG_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but the subexpression at %1 is not of arithmetic or character type")
-/* xgettext:no-c-format */
-SHORT("Invalid operand at %1 for equality operator at %0"))
-FFEBAD_MSG (FFEBAD_EQOP_ARG_KIND, FATAL,
-/* xgettext:no-c-format */
-LONG("Equality operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic or character scalars, or a combination of both -- but the subexpression at %1 is %A")
-/* xgettext:no-c-format */
-SHORT("Invalid operand (is %A) at %1 for equality operator at %0"))
-FFEBAD_MSG (FFEBAD_RELOP_ARGS_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but neither subexpression at %1 or %2 is of integer, real, or character type")
-/* xgettext:no-c-format */
-SHORT("Invalid operands at %1 and %2 for relational operator at %0"))
-FFEBAD_MSG (FFEBAD_RELOP_ARG_TYPE, FATAL,
-/* xgettext:no-c-format */
-LONG("Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but the subexpression at %1 is not of integer, real, or character type")
-/* xgettext:no-c-format */
-SHORT("Invalid operand at %1 for relational operator at %0"))
-FFEBAD_MSG (FFEBAD_RELOP_ARG_KIND, FATAL,
-/* xgettext:no-c-format */
-LONG("Relational operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning integer, real, or character scalars, or a combination of both -- but the subexpression at %1 is %A")
-/* xgettext:no-c-format */
-SHORT("Invalid operand (is %A) at %1 for relational operator at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_REF, FATAL,
-/* xgettext:no-c-format */
-LONG("Reference to intrinsic `%A' at %0 invalid -- one or more arguments have incorrect type")
-/* xgettext:no-c-format */
-SHORT("Invalid reference to intrinsic `%A' at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_TOOFEW, FATAL,
-/* xgettext:no-c-format */
-LONG("Too few arguments passed to intrinsic `%A' at %0")
-/* xgettext:no-c-format */
-SHORT("Too few arguments for intrinsic `%A' at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_TOOMANY, FATAL,
-/* xgettext:no-c-format */
-LONG("Too many arguments passed to intrinsic `%A' at %0")
-/* xgettext:no-c-format */
-SHORT("Too many arguments for intrinsic `%A' at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_DISABLED, FATAL,
-/* xgettext:no-c-format */
-LONG("Reference to disabled intrinsic `%A' at %0")
-/* xgettext:no-c-format */
-SHORT("Disabled intrinsic `%A' at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_IS_SUBR, FATAL,
-/* xgettext:no-c-format */
-LONG("Reference to intrinsic subroutine `%A' as if it were a function at %0")
-/* xgettext:no-c-format */
-SHORT("Function reference to intrinsic subroutine `%A' at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_IS_FUNC, FATAL,
-/* xgettext:no-c-format */
-LONG("Reference to intrinsic function `%A' as if it were a subroutine at %0")
-/* xgettext:no-c-format */
-SHORT("Subroutine reference to intrinsic function `%A' at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_UNIMPL, FATAL,
-/* xgettext:no-c-format */
-LONG("Reference to unimplemented intrinsic `%A' at %0 -- use EXTERNAL to reference user-written procedure with this name")
-/* xgettext:no-c-format */
-SHORT("Unimplemented intrinsic `%A' at %0"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_UNIMPLW, WARN,
-/* xgettext:no-c-format */
-LONG("Reference to unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)")
-/* xgettext:no-c-format */
-SHORT("Unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)"))
-FFEBAD_MSG (FFEBAD_INTRINSIC_AMBIG, FATAL,
-/* xgettext:no-c-format */
-"Reference to generic intrinsic `%A' at %0 could be to form %B or %C")
-FFEBAD_MSG (FFEBAD_INTRINSIC_CMPAMBIG, FATAL,
-/* xgettext:no-c-format */
-"Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]")
-FFEBAD_MSG (FFEBAD_INTRINSIC_EXPIMP, WARN,
-/* xgettext:no-c-format */
-"Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]")
-FFEBAD_MSG (FFEBAD_INTRINSIC_GLOBAL, WARN,
-/* xgettext:no-c-format */
-"Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]")
-FFEBAD_MSG (FFEBAD_INTRINSIC_TYPE, WARN,
-/* xgettext:no-c-format */
-"Explicit type declaration for intrinsic `%A' disagrees with invocation at %0")
-FFEBAD_MSG (FFEBAD_OPEN_INCLUDE, FATAL,
-/* xgettext:no-c-format */
-"Unable to open INCLUDE file `%A' at %0")
-FFEBAD_MSG (FFEBAD_DOITER, FATAL,
-/* xgettext:no-c-format */
-LONG("Attempt to modify variable `%A' at %0 while it serves as DO-loop iterator at %1")
-/* xgettext:no-c-format */
-SHORT("Modification of DO-loop iterator `%A' at %0"))
-FFEBAD_MSG (FFEBAD_DOITER_IMPDO, FATAL,
-/* xgettext:no-c-format */
-LONG("Attempt to modify variable `%A' via item #%B in list at %0 while it serves as implied-DO iterator at %1")
-/* xgettext:no-c-format */
-SHORT("Modification of DO-loop iterator `%A' at %0"))
-FFEBAD_MSG (FFEBAD_TOO_MANY_DIMS, FATAL,
-/* xgettext:no-c-format */
-LONG("Array has too many dimensions, as of dimension specifier at %0")
-/* xgettext:no-c-format */
-SHORT("Too many dimensions at %0"))
-FFEBAD_MSG (FFEBAD_NULL_ARGUMENT, FATAL,
-/* xgettext:no-c-format */
-"Null argument at %0 for statement function reference at %1")
-FFEBAD_MSG (FFEBAD_NULL_ARGUMENT_W, WARN,
-/* xgettext:no-c-format */
-"Null argument at %0 for procedure invocation at %1")
-FFEBAD_MSG (FFEBAD_TOO_FEW_ARGUMENTS, FATAL,
-/* xgettext:no-c-format */
-"%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1")
-FFEBAD_MSG (FFEBAD_TOO_MANY_ARGUMENTS, FATAL,
-/* xgettext:no-c-format */
-"%A too many arguments as of %0 for statement function reference at %1")
-FFEBAD_MSG (FFEBAD_ARRAY_AS_SFARG, FATAL,
-/* xgettext:no-c-format */
-"Array supplied at %1 for dummy argument `%A' in statement function reference at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_UNSUPPORTED, FATAL,
-/* xgettext:no-c-format */
-"Unsupported FORMAT specifier at %0")
-FFEBAD_MSG (FFEBAD_FORMAT_VARIABLE, FATAL,
-/* xgettext:no-c-format */
-"Variable-expression FORMAT specifier at %0 -- unsupported")
-FFEBAD_MSG (FFEBAD_OPEN_UNSUPPORTED, FATAL,
-/* xgettext:no-c-format */
-LONG("Unsupported OPEN control item at %0 -- ACTION=, ASSOCIATEVARIABLE=, BLOCKSIZE=, BUFFERCOUNT=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, DISPOSE=, EXTENDSIZE=, INITIALSIZE=, KEY=, MAXREC=, NOSPANBLOCKS, ORGANIZATION=, PAD=, POSITION=, READONLY=, RECORDTYPE=, SHARED=, and USEROPEN= are not supported")
-/* xgettext:no-c-format */
-SHORT("Unsupported OPEN control item at %0"))
-FFEBAD_MSG (FFEBAD_INQUIRE_UNSUPPORTED, FATAL,
-/* xgettext:no-c-format */
-LONG("Unsupported INQUIRE control item at %0 -- ACTION=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, KEYED=, ORGANIZATION=, PAD=, POSITION=, READ=, READWRITE=, RECORDTYPE=, and WRITE= are not supported")
-/* xgettext:no-c-format */
-SHORT("Unsupported INQUIRE control item at %0"))
-FFEBAD_MSG (FFEBAD_READ_UNSUPPORTED, FATAL,
-/* xgettext:no-c-format */
-LONG("Unsupported READ control item at %0 -- ADVANCE=, EOR=, KEYEQ=, KEYGE=, KEYGT=, KEYID=, NULLS=, and SIZE= are not supported")
-/* xgettext:no-c-format */
-SHORT("Unsupported READ control item at %0"))
-FFEBAD_MSG (FFEBAD_WRITE_UNSUPPORTED, FATAL,
-/* xgettext:no-c-format */
-LONG("Unsupported WRITE control item at %0 -- ADVANCE= and EOR= are not supported")
-/* xgettext:no-c-format */
-SHORT("Unsupported WRITE control item at %0"))
-FFEBAD_MSG (FFEBAD_VXT_UNSUPPORTED, FATAL,
-/* xgettext:no-c-format */
-"Unsupported VXT statement at %0")
-FFEBAD_MSG (FFEBAD_DATA_REINIT, FATAL,
-/* xgettext:no-c-format */
-"Attempt to specify second initial value for `%A' at %0")
-FFEBAD_MSG (FFEBAD_DATA_TOOFEW, FATAL,
-/* xgettext:no-c-format */
-"Too few initial values in list of initializers for `%A' at %0")
-FFEBAD_MSG (FFEBAD_DATA_TOOMANY, FATAL,
-/* xgettext:no-c-format */
-"Too many initial values in list of initializers starting at %0")
-FFEBAD_MSG (FFEBAD_DATA_RANGE, FATAL,
-/* xgettext:no-c-format */
-"Array or substring specification for `%A' out of range in statement at %0")
-FFEBAD_MSG (FFEBAD_DATA_SUBSCRIPT, FATAL,
-/* xgettext:no-c-format */
-"Array subscript #%B out of range for initialization of `%A' in statement at %0")
-FFEBAD_MSG (FFEBAD_DATA_ZERO, FATAL,
-/* xgettext:no-c-format */
-"Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0")
-FFEBAD_MSG (FFEBAD_DATA_EMPTY, FATAL,
-/* xgettext:no-c-format */
-"Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0")
-FFEBAD_MSG (FFEBAD_DATA_EVAL, FATAL,
-/* xgettext:no-c-format */
-"Not an integer constant expression in implied do-loop in statement at %0")
-FFEBAD_MSG (FFEBAD_DATA_MULTIPLE, FATAL,
-/* xgettext:no-c-format */
-"Attempt to specify second initial value for element of `%A' at %0")
-FFEBAD_MSG (FFEBAD_EQUIV_COMMON, FATAL,
-/* xgettext:no-c-format */
-"Attempt to EQUIVALENCE common areas `%A' and `%B' at %0")
-FFEBAD_MSG (FFEBAD_EQUIV_ALIGN, FATAL,
-/* xgettext:no-c-format */
-"Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions")
-FFEBAD_MSG (FFEBAD_EQUIV_MISMATCH, FATAL,
-/* xgettext:no-c-format */
-"Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'")
-FFEBAD_MSG (FFEBAD_EQUIV_RANGE, FATAL,
-/* xgettext:no-c-format */
-"Array or substring specification for `%A' out of range in EQUIVALENCE statement")
-FFEBAD_MSG (FFEBAD_EQUIV_SUBSTR, FATAL,
-/* xgettext:no-c-format */
-"Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement")
-FFEBAD_MSG (FFEBAD_EQUIV_ARRAY, FATAL,
-/* xgettext:no-c-format */
-"Array reference to scalar variable `%A' in EQUIVALENCE statement")
-FFEBAD_MSG (FFEBAD_EQUIV_SUBSCRIPT, WARN,
-/* xgettext:no-c-format */
-"Array subscript #%B out of range for EQUIVALENCE of `%A'")
-FFEBAD_MSG (FFEBAD_COMMON_PAD, WARN,
-/* xgettext:no-c-format */
-LONG("Padding of %A %D required before `%B' in common block `%C' at %0 -- consider reordering members, largest-type-size first")
-/* xgettext:no-c-format */
-SHORT("Padding of %A %D required before `%B' in common block `%C' at %0"))
-FFEBAD_MSG (FFEBAD_COMMON_NEG, FATAL,
-/* xgettext:no-c-format */
-"Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'")
-FFEBAD_MSG (FFEBAD_EQUIV_FEW, FATAL,
-/* xgettext:no-c-format */
-"Too few elements in reference to array `%A' in EQUIVALENCE statement")
-FFEBAD_MSG (FFEBAD_EQUIV_MANY, FATAL,
-/* xgettext:no-c-format */
-"Too many elements in reference to array `%A' in EQUIVALENCE statement")
-FFEBAD_MSG (FFEBAD_MIXED_TYPES, WARN,
-/* xgettext:no-c-format */
-"Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'")
-FFEBAD_MSG (FFEBAD_IMPLICIT_ADJLEN, FATAL,
-/* xgettext:no-c-format */
-LONG("Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression")
-/* xgettext:no-c-format */
-SHORT("Invalid length specification at %0"))
-FFEBAD_MSG (FFEBAD_ENTRY_CONFLICTS, FATAL,
-/* xgettext:no-c-format */
-LONG("Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type")
-/* xgettext:no-c-format */
-SHORT("Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s)"))
-FFEBAD_MSG (FFEBAD_RETURN_VALUE_UNSET, WARN,
-/* xgettext:no-c-format */
-"Return value `%A' for FUNCTION at %0 not referenced in subprogram")
-FFEBAD_MSG (FFEBAD_COMMON_ALREADY_INIT, FATAL,
-/* xgettext:no-c-format */
-LONG("Common block `%A' initialized at %0 already initialized at %1 -- only one program unit may specify initial values for a particular common block")
-/* xgettext:no-c-format */
-SHORT("Common block `%A' initialized at %0 already initialized at %1"))
-FFEBAD_MSG (FFEBAD_COMMON_INIT_PAD, WARN,
-/* xgettext:no-c-format */
-LONG("Initial padding for common block `%A' is %B %C at %0 -- consider reordering members, largest-type-size first")
-/* xgettext:no-c-format */
-SHORT("Initial padding for common block `%A' is %B %C at %0"))
-FFEBAD_MSG (FFEBAD_COMMON_DIFF_PAD, FATAL,
-/* xgettext:no-c-format */
-LONG("Initial padding for common block `%A' is %B %D at %0 but %C %E at %1 -- consider reordering members, largest-type-size first")
-/* xgettext:no-c-format */
-SHORT("Initial padding for common block `%A' is %B %D at %0 but %C %E at %1"))
-FFEBAD_MSG (FFEBAD_COMMON_DIFF_SAVE, WARN,
-/* xgettext:no-c-format */
-"Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1")
-FFEBAD_MSG (FFEBAD_COMMON_DIFF_SIZE, WARN,
-/* xgettext:no-c-format */
-"Common block `%A' is %B %D in length at %0 but %C %E at %1")
-FFEBAD_MSG (FFEBAD_COMMON_ENLARGED, FATAL,
-/* xgettext:no-c-format */
-LONG("Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1 -- use consistent definitions or reorder program units in source file")
-/* xgettext:no-c-format */
-SHORT("Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1"))
-FFEBAD_MSG (FFEBAD_COMMON_BLANK_INIT, WARN,
-/* xgettext:no-c-format */
-"Blank common initialized at %0")
-FFEBAD_MSG (FFEBAD_NEED_INTRINSIC, WARN,
-/* xgettext:no-c-format */
-"Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC")
-FFEBAD_MSG (FFEBAD_NEED_EXTERNAL, WARN,
-/* xgettext:no-c-format */
-"External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL")
-FFEBAD_MSG (FFEBAD_SYMBOL_UPPER_CASE, WARN,
-/* xgettext:no-c-format */
-"Character `%A' (for example) is upper-case in symbol name at %0")
-FFEBAD_MSG (FFEBAD_SYMBOL_LOWER_CASE, WARN,
-/* xgettext:no-c-format */
-"Character `%A' (for example) is lower-case in symbol name at %0")
-FFEBAD_MSG (FFEBAD_SYMBOL_NOLOWER_INITCAP, WARN,
-/* xgettext:no-c-format */
-"Character `%A' not followed at some point by lower-case character in symbol name at %0")
-FFEBAD_MSG (FFEBAD_SYMBOL_LOWER_INITCAP, WARN,
-/* xgettext:no-c-format */
-"Initial character `%A' is lower-case in symbol name at %0")
-FFEBAD_MSG (FFEBAD_DO_REAL, WARN,
-/* xgettext:no-c-format */
-LONG("DO-variable `%A' is type REAL or DOUBLE PRECISION at %0 -- unexpected behavior likely")
-/* xgettext:no-c-format */
-SHORT("DO-variable `%A' is type REAL or DOUBLE PRECISION at %0"))
-FFEBAD_MSG (FFEBAD_NAMELIST_CASE, WARN,
-/* xgettext:no-c-format */
-"NAMELIST not adequately supported by run-time library for source files with case preserved")
-FFEBAD_MSG (FFEBAD_NESTED_PERCENT, WARN,
-/* xgettext:no-c-format */
-"Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0")
-FFEBAD_MSG (FFEBAD_ACTUALARG, WARN,
-/* xgettext:no-c-format */
-LONG("Invalid actual argument at %0 -- replace hollerith constants with %%REF('string') and typeless constants with INTEGER constant equivalents, or use -fugly-args or -fugly")
-/* xgettext:no-c-format */
-SHORT("Invalid actual argument at %0"))
-FFEBAD_MSG (FFEBAD_QUAD_UNSUPPORTED, FATAL,
-/* xgettext:no-c-format */
-LONG("Quadruple-precision floating-point unsupported -- treating constant at %0 as double-precision")
-/* xgettext:no-c-format */
-SHORT("Quadruple-precision floating-point unsupported"))
-FFEBAD_MSG (FFEBAD_TOO_BIG_INIT, WARN,
-/* xgettext:no-c-format */
-LONG("Initialization of large (%B-unit) aggregate area `%A' at %0 slow and takes lots of memory during g77 compile")
-/* xgettext:no-c-format */
-SHORT("This could take a while (initializing `%A' at %0)..."))
-FFEBAD_MSG (FFEBAD_BLOCKDATA_STMT, FATAL,
-/* xgettext:no-c-format */
-"Statement at %0 invalid in BLOCK DATA program unit at %1")
-FFEBAD_MSG (FFEBAD_TRUNCATING_CHARACTER, FATAL,
-/* xgettext:no-c-format */
-"Truncating characters on right side of character constant at %0")
-FFEBAD_MSG (FFEBAD_TRUNCATING_HOLLERITH, FATAL,
-/* xgettext:no-c-format */
-"Truncating characters on right side of hollerith constant at %0")
-FFEBAD_MSG (FFEBAD_TRUNCATING_NUMERIC, FATAL,
-/* xgettext:no-c-format */
-"Truncating non-zero data on left side of numeric constant at %0")
-FFEBAD_MSG (FFEBAD_TRUNCATING_TYPELESS, FATAL,
-/* xgettext:no-c-format */
-"Truncating non-zero data on left side of typeless constant at %0")
-FFEBAD_MSG (FFEBAD_TYPELESS_OVERFLOW, FATAL,
-/* xgettext:no-c-format */
-"Typeless constant at %0 too large")
-FFEBAD_MSG (FFEBAD_AMPERSAND, WARN,
-/* xgettext:no-c-format */
-"First-column ampersand continuation at %0")
-FFEBAD_MSG (FFEBAD_FILEWIDE_ALREADY_SEEN, FATAL,
-/* xgettext:no-c-format */
-"Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_ALREADY_SEEN_W, WARN,
-/* xgettext:no-c-format */
-"Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_DISAGREEMENT, FATAL,
-/* xgettext:no-c-format */
-"Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_DISAGREEMENT_W, WARN,
-/* xgettext:no-c-format */
-"Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_TYPE_MISMATCH, FATAL,
-/* xgettext:no-c-format */
-"Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_TYPE_MISMATCH_W, WARN,
-/* xgettext:no-c-format */
-"Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_NARGS, FATAL,
-/* xgettext:no-c-format */
-"Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_NARGS_W, WARN,
-/* xgettext:no-c-format */
-"Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_ARG, FATAL,
-/* xgettext:no-c-format */
-"Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_FILEWIDE_ARG_W, WARN,
-/* xgettext:no-c-format */
-"Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]")
-FFEBAD_MSG (FFEBAD_ARRAY_LARGE, FATAL,
-/* xgettext:no-c-format */
-"Array `%A' at %0 is too large to handle")
-FFEBAD_MSG (FFEBAD_SFUNC_UNUSED, WARN,
-/* xgettext:no-c-format */
-"Statement function `%A' defined at %0 is not used")
-FFEBAD_MSG (FFEBAD_INTRINSIC_Y2KBAD, WARN,
-/* xgettext:no-c-format */
-"Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]")
-FFEBAD_MSG (FFEBAD_NOCANDO, DISASTER,
-/* xgettext:no-c-format */
-"Internal compiler error -- cannot perform operation")
-
-#undef INFORM
-#undef TRIVIAL
-#undef WARN
-#undef PECULIAR
-#undef FATAL
-#undef WEIRD
-#undef SEVERE
-#undef DISASTER
diff --git a/contrib/gcc-3.4/gcc/f/bad.h b/contrib/gcc-3.4/gcc/f/bad.h
deleted file mode 100644 (file)
index bd7581e..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/* bad.h -- Public #include File (module.h template V1.0)
-   Copyright (C) 1995, 2002 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Owning Modules:
-      bad.c
-
-   Modifications:
-*/
-
-/* Allow multiple inclusion to work. */
-
-#ifndef GCC_F_BAD_H
-#define GCC_F_BAD_H
-
-/* Simple definitions and enumerations. */
-
-typedef enum
-  {
-#define FFEBAD_MSG(KWD,SEV,MSG) KWD,
-#include "bad.def"
-#undef FFEBAD_MSG
-    FFEBAD
-  } ffebad;
-
-typedef enum
-  {
-
-    /* Order important; must be increasing severity. */
-
-    FFEBAD_severityINFORMATIONAL,      /* User notice. */
-    FFEBAD_severityTRIVIAL,    /* Internal notice. */
-    FFEBAD_severityWARNING,    /* User warning. */
-    FFEBAD_severityPECULIAR,   /* Internal warning. */
-    FFEBAD_severityPEDANTIC,   /* Pedantic, could be warning or error. */
-    FFEBAD_severityFATAL,      /* User error. */
-    FFEBAD_severityWEIRD,      /* Internal error. */
-    FFEBAD_severitySEVERE,     /* User error, cannot continue. */
-    FFEBAD_severityDISASTER,   /* Internal error, cannot continue. */
-    FFEBAD_severity
-  } ffebadSeverity;
-
-/* Typedefs. */
-
-typedef unsigned char ffebadIndex;
-
-/* Include files needed by this one. */
-
-#include "where.h"
-
-/* Structure definitions. */
-
-
-/* Global objects accessed by users of this module. */
-
-extern bool ffebad_is_inhibited_;
-
-/* Declare functions with prototypes. */
-
-void ffebad_finish (void);
-void ffebad_here (ffebadIndex i, ffewhereLine wl, ffewhereColumn wc);
-void ffebad_init_0 (void);
-bool ffebad_is_fatal (ffebad errnum);
-ffebadSeverity ffebad_severity (ffebad errnum);
-bool ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
-                   const char *msgid);
-void ffebad_string (const char *string);
-
-/* Define macros. */
-
-#define ffebad_inhibit() (ffebad_is_inhibited_)
-#define ffebad_init_1()
-#define ffebad_init_2()
-#define ffebad_init_3()
-#define ffebad_init_4()
-#define ffebad_set_inhibit(f) (ffebad_is_inhibited_ = (f))
-#define ffebad_start(e) ffebad_start_ (FALSE, (e), FFEBAD_severity, NULL)
-#define ffebad_start_lex(e) ffebad_start_ (TRUE, (e), FFEBAD_severity, NULL)
-#define ffebad_start_msg(msgid,s) ffebad_start_ (FALSE, FFEBAD, (s), (msgid))
-#define ffebad_start_msg_lex(msgid,s) ffebad_start_ (TRUE, FFEBAD, (s), (msgid))
-#define ffebad_terminate_0()
-#define ffebad_terminate_1()
-#define ffebad_terminate_2()
-#define ffebad_terminate_3()
-#define ffebad_terminate_4()
-
-/* End of #include file. */
-
-#endif /* ! GCC_F_BAD_H */
diff --git a/contrib/gcc-3.4/gcc/f/bit.c b/contrib/gcc-3.4/gcc/f/bit.c
deleted file mode 100644 (file)
index 00f064b..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/* bit.c -- Implementation File (module.c template V1.0)
-   Copyright (C) 1995 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Related Modules:
-      None
-
-   Description:
-      Tracks arrays of booleans in useful ways.
-
-   Modifications:
-*/
-
-/* Include files. */
-
-#include "proj.h"
-#include "bit.h"
-#include "malloc.h"
-
-/* Externals defined here. */
-
-
-/* Simple definitions and enumerations. */
-
-
-/* Internal typedefs. */
-
-
-/* Private include files. */
-
-
-/* Internal structure definitions. */
-
-
-/* Static objects accessed by functions in this module. */
-
-
-/* Static functions (internal). */
-
-
-/* Internal macros. */
-\f
-
-/* ffebit_count -- Count # of bits set a particular way
-
-   ffebit b;  // the ffebit object
-   ffebitCount offset; // 0..size-1
-   bool value; // FALSE (0), TRUE (1)
-   ffebitCount range;  // # bits to test
-   ffebitCount number; // # bits equal to value
-   ffebit_count(b,offset,value,range,&number);
-
-   Sets <number> to # bits at <offset> through <offset + range - 1> set to
-   <value>.  If <range> is 0, <number> is set to 0.  */
-
-void
-ffebit_count (ffebit b, ffebitCount offset, bool value, ffebitCount range,
-             ffebitCount *number)
-{
-  ffebitCount element;
-  ffebitCount bitno;
-
-  assert (offset + range <= b->size);
-
-  for (*number = 0; range != 0; --range, ++offset)
-    {
-      element = offset / CHAR_BIT;
-      bitno = offset % CHAR_BIT;
-      if (value
-         == ((b->bits[element] & ((unsigned char) 1 << bitno)) == 0 ? FALSE : TRUE))
-       ++ * number;
-    }
-}
-
-/* ffebit_new -- Create a new ffebit object
-
-   ffebit b;
-   ffebit_kill(b);
-
-   Destroys an ffebit object obtained via ffebit_new.  */
-
-void
-ffebit_kill (ffebit b)
-{
-  malloc_kill_ks (b->pool, b,
-                 offsetof (struct _ffebit_, bits)
-                 + (b->size + CHAR_BIT - 1) / CHAR_BIT);
-}
-
-/* ffebit_new -- Create a new ffebit object
-
-   ffebit b;
-   mallocPool pool;
-   ffebitCount size;
-   b = ffebit_new(pool,size);
-
-   Allocates an ffebit object that holds the values of <size> bits in pool
-   <pool>.  */
-
-ffebit
-ffebit_new (mallocPool pool, ffebitCount size)
-{
-  ffebit b;
-
-  b = malloc_new_zks (pool, "ffebit",
-                     offsetof (struct _ffebit_, bits)
-                     + (size + CHAR_BIT - 1) / CHAR_BIT,
-                     0);
-  b->pool = pool;
-  b->size = size;
-
-  return b;
-}
-
-/* ffebit_set -- Set value of # of bits
-
-   ffebit b;  // the ffebit object
-   ffebitCount offset; // 0..size-1
-   bool value; // FALSE (0), TRUE (1)
-   ffebitCount length; // # bits to set starting at offset (usually 1)
-   ffebit_set(b,offset,value,length);
-
-   Sets bit #s <offset> through <offset + length - 1> to <value>.  */
-
-void
-ffebit_set (ffebit b, ffebitCount offset, bool value, ffebitCount length)
-{
-  ffebitCount i;
-  ffebitCount element;
-  ffebitCount bitno;
-
-  assert (offset + length <= b->size);
-
-  for (i = 0; i < length; ++i, ++offset)
-    {
-      element = offset / CHAR_BIT;
-      bitno = offset % CHAR_BIT;
-      b->bits[element] = (((unsigned char) (value ? 1 : 0)) << bitno)
-       | (b->bits[element] & ~((unsigned char) 1 << bitno));
-    }
-}
-
-/* ffebit_test -- Test value of # of bits
-
-   ffebit b;  // the ffebit object
-   ffebitCount offset; // 0..size-1
-   bool value; // FALSE (0), TRUE (1)
-   ffebitCount length; // # bits with same value
-   ffebit_test(b,offset,&value,&length);
-
-   Returns value of bits at <offset> through <offset + length - 1> in
-   <value>.  If <offset> is already at the end of the bit array (if
-   offset == ffebit_size(b)), <length> is set to 0 and <value> is
-   undefined.  */
-
-void
-ffebit_test (ffebit b, ffebitCount offset, bool *value, ffebitCount *length)
-{
-  ffebitCount i;
-  ffebitCount element;
-  ffebitCount bitno;
-
-  if (offset >= b->size)
-    {
-      assert (offset == b->size);
-      *length = 0;
-      return;
-    }
-
-  element = offset / CHAR_BIT;
-  bitno = offset % CHAR_BIT;
-  *value = (b->bits[element] & ((unsigned char) 1 << bitno)) == 0 ? FALSE : TRUE;
-  *length = 1;
-
-  for (i = b->size - offset - 1, ++offset; i != 0; --i, ++offset, ++*length)
-    {
-      element = offset / CHAR_BIT;
-      bitno = offset % CHAR_BIT;
-      if (*value
-         != ((b->bits[element] & ((unsigned char) 1 << bitno)) == 0 ? FALSE : TRUE))
-       break;
-    }
-}
diff --git a/contrib/gcc-3.4/gcc/f/bit.h b/contrib/gcc-3.4/gcc/f/bit.h
deleted file mode 100644 (file)
index 6b559ef..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/* bit.h -- Public #include File (module.h template V1.0)
-   Copyright (C) 1995 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Owning Modules:
-      bit.c
-
-   Modifications:
-*/
-
-/* Allow multiple inclusion to work. */
-
-#ifndef GCC_F_BIT_H
-#define GCC_F_BIT_H
-
-/* Simple definitions and enumerations. */
-
-
-/* Typedefs. */
-
-typedef struct _ffebit_ *ffebit;
-typedef unsigned long ffebitCount;
-#define ffebitCount_f "l"
-
-/* Include files needed by this one. */
-
-#include "malloc.h"
-
-/* Structure definitions. */
-
-struct _ffebit_
-  {
-    mallocPool pool;
-    ffebitCount size;
-    unsigned char bits[1];
-  };
-
-/* Global objects accessed by users of this module. */
-
-
-/* Declare functions with prototypes. */
-
-void ffebit_count (ffebit b, ffebitCount offset, bool value, ffebitCount range,
-                  ffebitCount *number);
-void ffebit_kill (ffebit b);
-ffebit ffebit_new (mallocPool pool, ffebitCount size);
-void ffebit_set (ffebit b, ffebitCount offset, bool value, ffebitCount length);
-void ffebit_test (ffebit b, ffebitCount offset, bool *value, ffebitCount *length);
-
-/* Define macros. */
-
-#define ffebit_init_0()
-#define ffebit_init_1()
-#define ffebit_init_2()
-#define ffebit_init_3()
-#define ffebit_init_4()
-#define ffebit_pool(b) ((b)->pool)
-#define ffebit_size(b) ((b)->size)
-#define ffebit_terminate_0()
-#define ffebit_terminate_1()
-#define ffebit_terminate_2()
-#define ffebit_terminate_3()
-#define ffebit_terminate_4()
-
-/* End of #include file. */
-
-#endif /* ! GCC_F_BIT_H */
diff --git a/contrib/gcc-3.4/gcc/f/bld-op.def b/contrib/gcc-3.4/gcc/f/bld-op.def
deleted file mode 100644 (file)
index 737dcc7..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* bld-op.def -- Public #include File (module.h template V1.0)
-   Copyright (C) 1995 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Owning Modules:
-      bad.c
-
-   Modifications:
-*/
-
-FFEBLD_OP (FFEBLD_opANY, "ANY", 0)
-FFEBLD_OP (FFEBLD_opSTAR, "STAR", 0)   /* For adjustable arrays, alternate return dummies, etc. */
-FFEBLD_OP (FFEBLD_opCONTER, "CONTER", 0)
-FFEBLD_OP (FFEBLD_opARRTER, "ARRTER", 0)       /* Array of constants (DATA...). */
-FFEBLD_OP (FFEBLD_opACCTER, "ACCTER", 0)       /* Accreting ARRTER. */
-FFEBLD_OP (FFEBLD_opSYMTER, "SYMTER", 0)
-FFEBLD_OP (FFEBLD_opITEM, "ITEM", 0)
-FFEBLD_OP (FFEBLD_opUPLUS, "UPLUS", 1)
-FFEBLD_OP (FFEBLD_opUMINUS, "UMINUS", 1)
-FFEBLD_OP (FFEBLD_opADD, "ADD", 2)
-FFEBLD_OP (FFEBLD_opSUBTRACT, "SUBTRACT", 2)
-FFEBLD_OP (FFEBLD_opMULTIPLY, "MULTIPLY", 2)
-FFEBLD_OP (FFEBLD_opDIVIDE, "DIVIDE", 2)
-FFEBLD_OP (FFEBLD_opPOWER, "POWER", 2)
-FFEBLD_OP (FFEBLD_opCONCATENATE, "CONCATENATE", 2)
-FFEBLD_OP (FFEBLD_opNOT, "NOT", 1)
-FFEBLD_OP (FFEBLD_opLT, "LT", 2)
-FFEBLD_OP (FFEBLD_opLE, "LE", 2)
-FFEBLD_OP (FFEBLD_opEQ, "EQ", 2)
-FFEBLD_OP (FFEBLD_opNE, "NE", 2)
-FFEBLD_OP (FFEBLD_opGT, "GT", 2)
-FFEBLD_OP (FFEBLD_opGE, "GE", 2)
-FFEBLD_OP (FFEBLD_opAND, "AND", 2)
-FFEBLD_OP (FFEBLD_opOR, "OR", 2)
-FFEBLD_OP (FFEBLD_opXOR, "XOR", 2)
-FFEBLD_OP (FFEBLD_opEQV, "EQV", 2)
-FFEBLD_OP (FFEBLD_opNEQV, "NEQV", 2)
-FFEBLD_OP (FFEBLD_opPAREN, "PAREN", 1)
-FFEBLD_OP (FFEBLD_opPERCENT_LOC, "%LOC", 1)
-FFEBLD_OP (FFEBLD_opPERCENT_VAL, "%VAL", 1)
-FFEBLD_OP (FFEBLD_opPERCENT_REF, "%REF", 1)
-FFEBLD_OP (FFEBLD_opPERCENT_DESCR, "%DESCR", 1)
-FFEBLD_OP (FFEBLD_opCONVERT, "CONVERT", 1)
-FFEBLD_OP (FFEBLD_opREPEAT, "REPEAT", 2)
-FFEBLD_OP (FFEBLD_opBOUNDS, "BOUNDS", 2)       /* For low:high in dimension lists. */
-FFEBLD_OP (FFEBLD_opFUNCREF, "FUNCREF", 2)
-FFEBLD_OP (FFEBLD_opSUBRREF, "SUBRREF", 2)
-FFEBLD_OP (FFEBLD_opARRAYREF, "ARRAYREF", 2)
-FFEBLD_OP (FFEBLD_opSUBSTR, "SUBSTR", 2)
-FFEBLD_OP (FFEBLD_opLABTER, "LABTER", 0)
-FFEBLD_OP (FFEBLD_opLABTOK, "LABTOK", 0)       /* Like LABTER but contains ffelexToken instead. */
-FFEBLD_OP (FFEBLD_opIMPDO, "IMPDO", 2)
diff --git a/contrib/gcc-3.4/gcc/f/bld.c b/contrib/gcc-3.4/gcc/f/bld.c
deleted file mode 100644 (file)
index d300069..0000000
+++ /dev/null
@@ -1,3135 +0,0 @@
-/* bld.c -- Implementation File (module.c template V1.0)
-   Copyright (C) 1995, 1996, 2003, 2004 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Related Modules:
-      None
-
-   Description:
-      The primary "output" of the FFE includes ffebld objects, which
-      connect expressions, operators, and operands together, along with
-      connecting lists of expressions together for argument or dimension
-      lists.
-
-   Modifications:
-      30-Aug-92         JCB  1.1
-        Change names of some things for consistency.
-*/
-
-/* Include files. */
-
-#include "proj.h"
-#include "bld.h"
-#include "bit.h"
-#include "info.h"
-#include "lex.h"
-#include "malloc.h"
-#include "target.h"
-#include "where.h"
-#include "real.h"
-
-/* Externals defined here.  */
-
-const ffebldArity ffebld_arity_op_[(int) FFEBLD_op]
-=
-{
-#define FFEBLD_OP(KWD,NAME,ARITY) ARITY,
-#include "bld-op.def"
-#undef FFEBLD_OP
-};
-struct _ffebld_pool_stack_ ffebld_pool_stack_;
-
-/* Simple definitions and enumerations. */
-
-
-/* Internal typedefs. */
-
-
-/* Private include files. */
-
-
-/* Internal structure definitions. */
-
-
-/* Static objects accessed by functions in this module.         */
-
-#if FFETARGET_okCHARACTER1
-static ffebldConstant ffebld_constant_character1_;
-#endif
-#if FFETARGET_okCOMPLEX1
-static ffebldConstant ffebld_constant_complex1_;
-#endif
-#if FFETARGET_okCOMPLEX2
-static ffebldConstant ffebld_constant_complex2_;
-#endif
-#if FFETARGET_okCOMPLEX3
-static ffebldConstant ffebld_constant_complex3_;
-#endif
-#if FFETARGET_okINTEGER1
-static ffebldConstant ffebld_constant_integer1_;
-#endif
-#if FFETARGET_okINTEGER2
-static ffebldConstant ffebld_constant_integer2_;
-#endif
-#if FFETARGET_okINTEGER3
-static ffebldConstant ffebld_constant_integer3_;
-#endif
-#if FFETARGET_okINTEGER4
-static ffebldConstant ffebld_constant_integer4_;
-#endif
-#if FFETARGET_okLOGICAL1
-static ffebldConstant ffebld_constant_logical1_;
-#endif
-#if FFETARGET_okLOGICAL2
-static ffebldConstant ffebld_constant_logical2_;
-#endif
-#if FFETARGET_okLOGICAL3
-static ffebldConstant ffebld_constant_logical3_;
-#endif
-#if FFETARGET_okLOGICAL4
-static ffebldConstant ffebld_constant_logical4_;
-#endif
-#if FFETARGET_okREAL1
-static ffebldConstant ffebld_constant_real1_;
-#endif
-#if FFETARGET_okREAL2
-static ffebldConstant ffebld_constant_real2_;
-#endif
-#if FFETARGET_okREAL3
-static ffebldConstant ffebld_constant_real3_;
-#endif
-static ffebldConstant ffebld_constant_hollerith_;
-static ffebldConstant ffebld_constant_typeless_[FFEBLD_constTYPELESS_LAST
-                                         - FFEBLD_constTYPELESS_FIRST + 1];
-
-static const char *const ffebld_op_string_[]
-=
-{
-#define FFEBLD_OP(KWD,NAME,ARITY) NAME,
-#include "bld-op.def"
-#undef FFEBLD_OP
-};
-
-/* Static functions (internal). */
-
-
-/* Internal macros. */
-
-#define integerdefault_ CATX(integer,FFETARGET_ktINTEGERDEFAULT)
-#define logicaldefault_ CATX(logical,FFETARGET_ktLOGICALDEFAULT)
-#define realdefault_ CATX(real,FFETARGET_ktREALDEFAULT)
-#define realdouble_ CATX(real,FFETARGET_ktREALDOUBLE)
-#define realquad_ CATX(real,FFETARGET_ktREALQUAD)
-\f
-/* ffebld_constant_cmp -- Compare two constants a la strcmp
-
-   ffebldConstant c1, c2;
-   if (ffebld_constant_cmp(c1,c2) == 0)
-       // they're equal, else they're not.
-
-   Returns -1 if c1 < c2, 0 if c1 == c2, +1 if c1 == c2.  */
-
-int
-ffebld_constant_cmp (ffebldConstant c1, ffebldConstant c2)
-{
-  if (c1 == c2)
-    return 0;
-
-  assert (ffebld_constant_type (c1) == ffebld_constant_type (c2));
-
-  switch (ffebld_constant_type (c1))
-    {
-#if FFETARGET_okINTEGER1
-    case FFEBLD_constINTEGER1:
-      return ffetarget_cmp_integer1 (ffebld_constant_integer1 (c1),
-                                    ffebld_constant_integer1 (c2));
-#endif
-
-#if FFETARGET_okINTEGER2
-    case FFEBLD_constINTEGER2:
-      return ffetarget_cmp_integer2 (ffebld_constant_integer2 (c1),
-                                    ffebld_constant_integer2 (c2));
-#endif
-
-#if FFETARGET_okINTEGER3
-    case FFEBLD_constINTEGER3:
-      return ffetarget_cmp_integer3 (ffebld_constant_integer3 (c1),
-                                    ffebld_constant_integer3 (c2));
-#endif
-
-#if FFETARGET_okINTEGER4
-    case FFEBLD_constINTEGER4:
-      return ffetarget_cmp_integer4 (ffebld_constant_integer4 (c1),
-                                    ffebld_constant_integer4 (c2));
-#endif
-
-#if FFETARGET_okLOGICAL1
-    case FFEBLD_constLOGICAL1:
-      return ffetarget_cmp_logical1 (ffebld_constant_logical1 (c1),
-                                    ffebld_constant_logical1 (c2));
-#endif
-
-#if FFETARGET_okLOGICAL2
-    case FFEBLD_constLOGICAL2:
-      return ffetarget_cmp_logical2 (ffebld_constant_logical2 (c1),
-                                    ffebld_constant_logical2 (c2));
-#endif
-
-#if FFETARGET_okLOGICAL3
-    case FFEBLD_constLOGICAL3:
-      return ffetarget_cmp_logical3 (ffebld_constant_logical3 (c1),
-                                    ffebld_constant_logical3 (c2));
-#endif
-
-#if FFETARGET_okLOGICAL4
-    case FFEBLD_constLOGICAL4:
-      return ffetarget_cmp_logical4 (ffebld_constant_logical4 (c1),
-                                    ffebld_constant_logical4 (c2));
-#endif
-
-#if FFETARGET_okREAL1
-    case FFEBLD_constREAL1:
-      return ffetarget_cmp_real1 (ffebld_constant_real1 (c1),
-                                 ffebld_constant_real1 (c2));
-#endif
-
-#if FFETARGET_okREAL2
-    case FFEBLD_constREAL2:
-      return ffetarget_cmp_real2 (ffebld_constant_real2 (c1),
-                                 ffebld_constant_real2 (c2));
-#endif
-
-#if FFETARGET_okREAL3
-    case FFEBLD_constREAL3:
-      return ffetarget_cmp_real3 (ffebld_constant_real3 (c1),
-                                 ffebld_constant_real3 (c2));
-#endif
-
-#if FFETARGET_okCHARACTER1
-    case FFEBLD_constCHARACTER1:
-      return ffetarget_cmp_character1 (ffebld_constant_character1 (c1),
-                                      ffebld_constant_character1 (c2));
-#endif
-
-    default:
-      assert ("bad constant type" == NULL);
-      return 0;
-    }
-}
-
-/* ffebld_constant_is_magical -- Determine if integer is "magical"
-
-   ffebldConstant c;
-   if (ffebld_constant_is_magical(c))
-       // it is 2**(n-1), where n is # bits in ffetargetIntegerDefault type
-       // (this test is important for 2's-complement machines only).  */
-
-bool
-ffebld_constant_is_magical (ffebldConstant c)
-{
-  switch (ffebld_constant_type (c))
-    {
-    case FFEBLD_constINTEGERDEFAULT:
-      return ffetarget_integerdefault_is_magical (ffebld_constant_integer1 (c));
-
-    default:
-      return FALSE;
-    }
-}
-
-/* Determine if constant is zero.  Used to ensure step count
-   for DO loops isn't zero, also to determine if values will
-   be binary zeros, so not entirely portable at this point.  */
-
-bool
-ffebld_constant_is_zero (ffebldConstant c)
-{
-  switch (ffebld_constant_type (c))
-    {
-#if FFETARGET_okINTEGER1
-    case FFEBLD_constINTEGER1:
-      return ffebld_constant_integer1 (c) == 0;
-#endif
-
-#if FFETARGET_okINTEGER2
-    case FFEBLD_constINTEGER2:
-      return ffebld_constant_integer2 (c) == 0;
-#endif
-
-#if FFETARGET_okINTEGER3
-    case FFEBLD_constINTEGER3:
-      return ffebld_constant_integer3 (c) == 0;
-#endif
-
-#if FFETARGET_okINTEGER4
-    case FFEBLD_constINTEGER4:
-      return ffebld_constant_integer4 (c) == 0;
-#endif
-
-#if FFETARGET_okLOGICAL1
-    case FFEBLD_constLOGICAL1:
-      return ffebld_constant_logical1 (c) == 0;
-#endif
-
-#if FFETARGET_okLOGICAL2
-    case FFEBLD_constLOGICAL2:
-      return ffebld_constant_logical2 (c) == 0;
-#endif
-
-#if FFETARGET_okLOGICAL3
-    case FFEBLD_constLOGICAL3:
-      return ffebld_constant_logical3 (c) == 0;
-#endif
-
-#if FFETARGET_okLOGICAL4
-    case FFEBLD_constLOGICAL4:
-      return ffebld_constant_logical4 (c) == 0;
-#endif
-
-#if FFETARGET_okREAL1
-    case FFEBLD_constREAL1:
-      return ffetarget_iszero_real1 (ffebld_constant_real1 (c));
-#endif
-
-#if FFETARGET_okREAL2
-    case FFEBLD_constREAL2:
-      return ffetarget_iszero_real2 (ffebld_constant_real2 (c));
-#endif
-
-#if FFETARGET_okREAL3
-    case FFEBLD_constREAL3:
-      return ffetarget_iszero_real3 (ffebld_constant_real3 (c));
-#endif
-
-#if FFETARGET_okCOMPLEX1
-    case FFEBLD_constCOMPLEX1:
-      return ffetarget_iszero_real1 (ffebld_constant_complex1 (c).real)
-     && ffetarget_iszero_real1 (ffebld_constant_complex1 (c).imaginary);
-#endif
-
-#if FFETARGET_okCOMPLEX2
-    case FFEBLD_constCOMPLEX2:
-      return ffetarget_iszero_real2 (ffebld_constant_complex2 (c).real)
-     && ffetarget_iszero_real2 (ffebld_constant_complex2 (c).imaginary);
-#endif
-
-#if FFETARGET_okCOMPLEX3
-    case FFEBLD_constCOMPLEX3:
-      return ffetarget_iszero_real3 (ffebld_constant_complex3 (c).real)
-     && ffetarget_iszero_real3 (ffebld_constant_complex3 (c).imaginary);
-#endif
-
-#if FFETARGET_okCHARACTER1
-    case FFEBLD_constCHARACTER1:
-      return ffetarget_iszero_character1 (ffebld_constant_character1 (c));
-#endif
-
-    case FFEBLD_constHOLLERITH:
-      return ffetarget_iszero_hollerith (ffebld_constant_hollerith (c));
-
-    case FFEBLD_constBINARY_MIL:
-    case FFEBLD_constBINARY_VXT:
-    case FFEBLD_constOCTAL_MIL:
-    case FFEBLD_constOCTAL_VXT:
-    case FFEBLD_constHEX_X_MIL:
-    case FFEBLD_constHEX_X_VXT:
-    case FFEBLD_constHEX_Z_MIL:
-    case FFEBLD_constHEX_Z_VXT:
-      return ffetarget_iszero_typeless (ffebld_constant_typeless (c));
-
-    default:
-      return FALSE;
-    }
-}
-
-/* ffebld_constant_new_character1 -- Return character1 constant object from token
-
-   See prototype.  */
-
-#if FFETARGET_okCHARACTER1
-ffebldConstant
-ffebld_constant_new_character1 (ffelexToken t)
-{
-  ffetargetCharacter1 val;
-
-  ffetarget_character1 (&val, t, ffebld_constant_pool());
-  return ffebld_constant_new_character1_val (val);
-}
-
-#endif
-/* ffebld_constant_new_character1_val -- Return an character1 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okCHARACTER1
-ffebldConstant
-ffebld_constant_new_character1_val (ffetargetCharacter1 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_character1_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constCHARACTER1",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constCHARACTER1;
-     nc->u.character1 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_character1_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_character1 (val, ffebld_constant_character1 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constCHARACTER1",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constCHARACTER1;
-  nc->u.character1 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_complex1 -- Return complex1 constant object from token
-
-   See prototype.  */
-
-#if FFETARGET_okCOMPLEX1
-ffebldConstant
-ffebld_constant_new_complex1 (ffebldConstant real,
-                             ffebldConstant imaginary)
-{
-  ffetargetComplex1 val;
-
-  val.real = ffebld_constant_real1 (real);
-  val.imaginary = ffebld_constant_real1 (imaginary);
-  return ffebld_constant_new_complex1_val (val);
-}
-
-#endif
-/* ffebld_constant_new_complex1_val -- Return a complex1 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okCOMPLEX1
-ffebldConstant
-ffebld_constant_new_complex1_val (ffetargetComplex1 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_complex1_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constCOMPLEX1",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constCOMPLEX1;
-     nc->u.complex1 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_complex1_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_real1 (val.real, 
-                                  ffebld_constant_complex1 (P).real);
-       if (cmp == 0)
-         cmp = ffetarget_cmp_real1 (val.imaginary,
-                                  ffebld_constant_complex1 (P).imaginary);
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constCOMPLEX1",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constCOMPLEX1;
-  nc->u.complex1 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_complex2 -- Return complex2 constant object from token
-
-   See prototype.  */
-
-#if FFETARGET_okCOMPLEX2
-ffebldConstant
-ffebld_constant_new_complex2 (ffebldConstant real,
-                             ffebldConstant imaginary)
-{
-  ffetargetComplex2 val;
-
-  val.real = ffebld_constant_real2 (real);
-  val.imaginary = ffebld_constant_real2 (imaginary);
-  return ffebld_constant_new_complex2_val (val);
-}
-
-#endif
-/* ffebld_constant_new_complex2_val -- Return a complex2 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okCOMPLEX2
-ffebldConstant
-ffebld_constant_new_complex2_val (ffetargetComplex2 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_complex2_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constCOMPLEX2",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constCOMPLEX2;
-     nc->u.complex2 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_complex2_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_real2 (val.real,
-                                  ffebld_constant_complex2 (P).real);
-       if (cmp == 0)
-         cmp = ffetarget_cmp_real2 (val.imaginary,
-                                    ffebld_constant_complex2 (P).imaginary);   
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constCOMPLEX2",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constCOMPLEX2;
-  nc->u.complex2 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_hollerith -- Return hollerith constant object from token
-
-   See prototype.  */
-
-ffebldConstant
-ffebld_constant_new_hollerith (ffelexToken t)
-{
-  ffetargetHollerith val;
-
-  ffetarget_hollerith (&val, t, ffebld_constant_pool());
-  return ffebld_constant_new_hollerith_val (val);
-}
-
-/* ffebld_constant_new_hollerith_val -- Return an hollerith constant object
-
-   See prototype.  */
-
-ffebldConstant
-ffebld_constant_new_hollerith_val (ffetargetHollerith val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_hollerith_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constHOLLERITH",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constHOLLERITH;
-     nc->u.hollerith = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_hollerith_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_hollerith (val, ffebld_constant_hollerith (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constHOLLERITH",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constHOLLERITH;
-  nc->u.hollerith = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-/* ffebld_constant_new_integer1 -- Return integer1 constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-#if FFETARGET_okINTEGER1
-ffebldConstant
-ffebld_constant_new_integer1 (ffelexToken t)
-{
-  ffetargetInteger1 val;
-
-  assert (ffelex_token_type (t) == FFELEX_typeNUMBER);
-
-  ffetarget_integer1 (&val, t);
-  return ffebld_constant_new_integer1_val (val);
-}
-
-#endif
-/* ffebld_constant_new_integer1_val -- Return an integer1 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okINTEGER1
-ffebldConstant
-ffebld_constant_new_integer1_val (ffetargetInteger1 val)
-{
-
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_integer1_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constINTEGER1",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constINTEGER1;
-     nc->u.integer1 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_integer1_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_integer1 (val, ffebld_constant_integer1 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constINTEGER1",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constINTEGER1;
-  nc->u.integer1 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_integer2_val -- Return an integer2 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okINTEGER2
-ffebldConstant
-ffebld_constant_new_integer2_val (ffetargetInteger2 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_integer2_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constINTEGER2",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constINTEGER2;
-     nc->u.integer2 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_integer2_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_integer2 (val, ffebld_constant_integer2 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constINTEGER2",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constINTEGER2;
-  nc->u.integer2 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_integer3_val -- Return an integer3 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okINTEGER3
-ffebldConstant
-ffebld_constant_new_integer3_val (ffetargetInteger3 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_integer3_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constINTEGER3",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constINTEGER3;
-     nc->u.integer3 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_integer3_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_integer3 (val, ffebld_constant_integer3 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constINTEGER3",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constINTEGER3;
-  nc->u.integer3 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_integer4_val -- Return an integer4 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okINTEGER4
-ffebldConstant
-ffebld_constant_new_integer4_val (ffetargetInteger4 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_integer4_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constINTEGER4",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constINTEGER4;
-     nc->u.integer4 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_integer4_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_integer4 (val, ffebld_constant_integer4 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constINTEGER4",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constINTEGER4;
-  nc->u.integer4 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_integerbinary -- Return binary constant object from token
-
-   See prototype.
-
-   Parses the token as a binary integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_integerbinary (ffelexToken t)
-{
-  ffetargetIntegerDefault val;
-
-  assert ((ffelex_token_type (t) == FFELEX_typeNAME)
-         || (ffelex_token_type (t) == FFELEX_typeNUMBER));
-
-  ffetarget_integerbinary (&val, t);
-  return ffebld_constant_new_integerdefault_val (val);
-}
-
-/* ffebld_constant_new_integerhex -- Return hex constant object from token
-
-   See prototype.
-
-   Parses the token as a hex integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_integerhex (ffelexToken t)
-{
-  ffetargetIntegerDefault val;
-
-  assert ((ffelex_token_type (t) == FFELEX_typeNAME)
-         || (ffelex_token_type (t) == FFELEX_typeNUMBER));
-
-  ffetarget_integerhex (&val, t);
-  return ffebld_constant_new_integerdefault_val (val);
-}
-
-/* ffebld_constant_new_integeroctal -- Return octal constant object from token
-
-   See prototype.
-
-   Parses the token as a octal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_integeroctal (ffelexToken t)
-{
-  ffetargetIntegerDefault val;
-
-  assert ((ffelex_token_type (t) == FFELEX_typeNAME)
-         || (ffelex_token_type (t) == FFELEX_typeNUMBER));
-
-  ffetarget_integeroctal (&val, t);
-  return ffebld_constant_new_integerdefault_val (val);
-}
-
-/* ffebld_constant_new_logical1 -- Return logical1 constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal logical constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-#if FFETARGET_okLOGICAL1
-ffebldConstant
-ffebld_constant_new_logical1 (bool truth)
-{
-  ffetargetLogical1 val;
-
-  ffetarget_logical1 (&val, truth);
-  return ffebld_constant_new_logical1_val (val);
-}
-
-#endif
-/* ffebld_constant_new_logical1_val -- Return a logical1 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okLOGICAL1
-ffebldConstant
-ffebld_constant_new_logical1_val (ffetargetLogical1 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_logical1_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constLOGICAL1",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constLOGICAL1;
-     nc->u.logical1 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_logical1_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_logical1 (val, ffebld_constant_logical1 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constLOGICAL1",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constLOGICAL1;
-  nc->u.logical1 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_logical2_val -- Return a logical2 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okLOGICAL2
-ffebldConstant
-ffebld_constant_new_logical2_val (ffetargetLogical2 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_logical2_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constLOGICAL2",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constLOGICAL2;
-     nc->u.logical2 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_logical2_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_logical2 (val, ffebld_constant_logical2 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constLOGICAL2",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constLOGICAL2;
-  nc->u.logical2 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_logical3_val -- Return a logical3 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okLOGICAL3
-ffebldConstant
-ffebld_constant_new_logical3_val (ffetargetLogical3 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_logical3_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constLOGICAL3",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constLOGICAL3;
-     nc->u.logical3 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_logical3_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_logical3 (val, ffebld_constant_logical3 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constLOGICAL3",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constLOGICAL3;
-  nc->u.logical3 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_logical4_val -- Return a logical4 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okLOGICAL4
-ffebldConstant
-ffebld_constant_new_logical4_val (ffetargetLogical4 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_logical4_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constLOGICAL4",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constLOGICAL4;
-     nc->u.logical4 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_logical4_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_logical4 (val, ffebld_constant_logical4 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constLOGICAL4",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constLOGICAL4;
-  nc->u.logical4 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_real1 -- Return real1 constant object from token
-
-   See prototype.  */
-
-#if FFETARGET_okREAL1
-ffebldConstant
-ffebld_constant_new_real1 (ffelexToken integer, ffelexToken decimal,
-      ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign,
-                          ffelexToken exponent_digits)
-{
-  ffetargetReal1 val;
-
-  ffetarget_real1 (&val,
-      integer, decimal, fraction, exponent, exponent_sign, exponent_digits);
-  return ffebld_constant_new_real1_val (val);
-}
-
-#endif
-/* ffebld_constant_new_real1_val -- Return an real1 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okREAL1
-ffebldConstant
-ffebld_constant_new_real1_val (ffetargetReal1 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_real1_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constREAL1",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constREAL1;
-     nc->u.real1 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_real1_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_real1 (val, ffebld_constant_real1 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constREAL1",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constREAL1;
-  nc->u.real1 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_real2 -- Return real2 constant object from token
-
-   See prototype.  */
-
-#if FFETARGET_okREAL2
-ffebldConstant
-ffebld_constant_new_real2 (ffelexToken integer, ffelexToken decimal,
-      ffelexToken fraction, ffelexToken exponent, ffelexToken exponent_sign,
-                          ffelexToken exponent_digits)
-{
-  ffetargetReal2 val;
-
-  ffetarget_real2 (&val,
-      integer, decimal, fraction, exponent, exponent_sign, exponent_digits);
-  return ffebld_constant_new_real2_val (val);
-}
-
-#endif
-/* ffebld_constant_new_real2_val -- Return an real2 constant object
-
-   See prototype.  */
-
-#if FFETARGET_okREAL2
-ffebldConstant
-ffebld_constant_new_real2_val (ffetargetReal2 val)
-{
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_real2_;
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constREAL2",
-                         sizeof (*nc));
-     nc->consttype = FFEBLD_constREAL2;
-     nc->u.real2 = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_real2_ = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_real2 (val, ffebld_constant_real2 (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constREAL2",
-                     sizeof (*nc));
-  nc->consttype = FFEBLD_constREAL2;
-  nc->u.real2 = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-#endif
-/* ffebld_constant_new_typeless_bm -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_bm (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_binarymil (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constBINARY_MIL, val);
-}
-
-/* ffebld_constant_new_typeless_bv -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_bv (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_binaryvxt (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constBINARY_VXT, val);
-}
-
-/* ffebld_constant_new_typeless_hxm -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_hxm (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_hexxmil (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constHEX_X_MIL, val);
-}
-
-/* ffebld_constant_new_typeless_hxv -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_hxv (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_hexxvxt (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constHEX_X_VXT, val);
-}
-
-/* ffebld_constant_new_typeless_hzm -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_hzm (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_hexzmil (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constHEX_Z_MIL, val);
-}
-
-/* ffebld_constant_new_typeless_hzv -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_hzv (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_hexzvxt (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constHEX_Z_VXT, val);
-}
-
-/* ffebld_constant_new_typeless_om -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_om (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_octalmil (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constOCTAL_MIL, val);
-}
-
-/* ffebld_constant_new_typeless_ov -- Return typeless constant object from token
-
-   See prototype.
-
-   Parses the token as a decimal integer constant, thus it must be an
-   FFELEX_typeNUMBER.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_ov (ffelexToken t)
-{
-  ffetargetTypeless val;
-
-  ffetarget_octalvxt (&val, t);
-  return ffebld_constant_new_typeless_val (FFEBLD_constOCTAL_VXT, val);
-}
-
-/* ffebld_constant_new_typeless_val -- Return a typeless constant object
-
-   See prototype.  */
-
-ffebldConstant
-ffebld_constant_new_typeless_val (ffebldConst type, ffetargetTypeless val)
-{
-
-  ffebldConstant nc;
-  ffebldConstant P;
-  ffebldConstant Q;
-  int cmp = 0;
-  P = ffebld_constant_typeless_[type
-                            - FFEBLD_constTYPELESS_FIRST];
-  Q = P;
-  if (!P)
-   {
-    /* make this node the root */
-     nc = malloc_new_kp (ffebld_constant_pool(),
-                         "FFEBLD_constTYPELESS",
-                         sizeof (*nc));
-     nc->consttype = type;
-     nc->u.typeless = val;
-     nc->hook = FFECOM_constantNULL;
-     nc->llink = NULL;
-     nc->rlink = NULL;
-     ffebld_constant_typeless_[type- FFEBLD_constTYPELESS_FIRST] = nc;
-     return nc;
-   }
-  else
-    while (P)
-     {
-       Q = P;
-       cmp = ffetarget_cmp_typeless (val, ffebld_constant_typeless (P));
-       if (cmp > 0)
-         P = P->llink;
-       else if (cmp < 0)
-         P = P->rlink;
-       else
-         return P;
-     }
-
-  nc = malloc_new_kp (ffebld_constant_pool(),
-                     "FFEBLD_constTYPELESS",
-                     sizeof (*nc));
-  nc->consttype = type;
-  nc->u.typeless = val;
-  nc->hook = FFECOM_constantNULL;
-  nc->llink = NULL;
-  nc->rlink = NULL;
-
-  if (cmp < 0)
-    Q->llink = nc;
-  else
-    Q->rlink = nc;
-  return nc;
-}
-
-/* ffebld_constantarray_get -- Get a value from an array of constants
-
-   See prototype.  */
-
-ffebldConstantUnion
-ffebld_constantarray_get (ffebldConstantArray array, ffeinfoBasictype bt,
-                         ffeinfoKindtype kt, ffetargetOffset offset)
-{
-  ffebldConstantUnion u;
-
-  switch (bt)
-    {
-    case FFEINFO_basictypeINTEGER:
-      switch (kt)
-       {
-#if FFETARGET_okINTEGER1
-       case FFEINFO_kindtypeINTEGER1:
-         u.integer1 = *(array.integer1 + offset);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER2
-       case FFEINFO_kindtypeINTEGER2:
-         u.integer2 = *(array.integer2 + offset);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER3
-       case FFEINFO_kindtypeINTEGER3:
-         u.integer3 = *(array.integer3 + offset);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER4
-       case FFEINFO_kindtypeINTEGER4:
-         u.integer4 = *(array.integer4 + offset);
-         break;
-#endif
-
-       default:
-         assert ("bad INTEGER kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeLOGICAL:
-      switch (kt)
-       {
-#if FFETARGET_okLOGICAL1
-       case FFEINFO_kindtypeLOGICAL1:
-         u.logical1 = *(array.logical1 + offset);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL2
-       case FFEINFO_kindtypeLOGICAL2:
-         u.logical2 = *(array.logical2 + offset);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL3
-       case FFEINFO_kindtypeLOGICAL3:
-         u.logical3 = *(array.logical3 + offset);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL4
-       case FFEINFO_kindtypeLOGICAL4:
-         u.logical4 = *(array.logical4 + offset);
-         break;
-#endif
-
-       default:
-         assert ("bad LOGICAL kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeREAL:
-      switch (kt)
-       {
-#if FFETARGET_okREAL1
-       case FFEINFO_kindtypeREAL1:
-         u.real1 = *(array.real1 + offset);
-         break;
-#endif
-
-#if FFETARGET_okREAL2
-       case FFEINFO_kindtypeREAL2:
-         u.real2 = *(array.real2 + offset);
-         break;
-#endif
-
-#if FFETARGET_okREAL3
-       case FFEINFO_kindtypeREAL3:
-         u.real3 = *(array.real3 + offset);
-         break;
-#endif
-
-       default:
-         assert ("bad REAL kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCOMPLEX:
-      switch (kt)
-       {
-#if FFETARGET_okCOMPLEX1
-       case FFEINFO_kindtypeREAL1:
-         u.complex1 = *(array.complex1 + offset);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX2
-       case FFEINFO_kindtypeREAL2:
-         u.complex2 = *(array.complex2 + offset);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX3
-       case FFEINFO_kindtypeREAL3:
-         u.complex3 = *(array.complex3 + offset);
-         break;
-#endif
-
-       default:
-         assert ("bad COMPLEX kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCHARACTER:
-      switch (kt)
-       {
-#if FFETARGET_okCHARACTER1
-       case FFEINFO_kindtypeCHARACTER1:
-         u.character1.length = 1;
-         u.character1.text = array.character1 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad CHARACTER kindtype" == NULL);
-         break;
-       }
-      break;
-
-    default:
-      assert ("bad basictype" == NULL);
-      break;
-    }
-
-  return u;
-}
-
-/* ffebld_constantarray_new -- Make an array of constants
-
-   See prototype.  */
-
-ffebldConstantArray
-ffebld_constantarray_new (ffeinfoBasictype bt,
-                         ffeinfoKindtype kt, ffetargetOffset size)
-{
-  ffebldConstantArray ptr;
-
-  switch (bt)
-    {
-    case FFEINFO_basictypeINTEGER:
-      switch (kt)
-       {
-#if FFETARGET_okINTEGER1
-       case FFEINFO_kindtypeINTEGER1:
-         ptr.integer1 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetInteger1),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER2
-       case FFEINFO_kindtypeINTEGER2:
-         ptr.integer2 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetInteger2),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER3
-       case FFEINFO_kindtypeINTEGER3:
-         ptr.integer3 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetInteger3),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER4
-       case FFEINFO_kindtypeINTEGER4:
-         ptr.integer4 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetInteger4),
-                                        0);
-         break;
-#endif
-
-       default:
-         assert ("bad INTEGER kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeLOGICAL:
-      switch (kt)
-       {
-#if FFETARGET_okLOGICAL1
-       case FFEINFO_kindtypeLOGICAL1:
-         ptr.logical1 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetLogical1),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL2
-       case FFEINFO_kindtypeLOGICAL2:
-         ptr.logical2 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetLogical2),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL3
-       case FFEINFO_kindtypeLOGICAL3:
-         ptr.logical3 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetLogical3),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL4
-       case FFEINFO_kindtypeLOGICAL4:
-         ptr.logical4 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetLogical4),
-                                        0);
-         break;
-#endif
-
-       default:
-         assert ("bad LOGICAL kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeREAL:
-      switch (kt)
-       {
-#if FFETARGET_okREAL1
-       case FFEINFO_kindtypeREAL1:
-         ptr.real1 = malloc_new_zkp (ffebld_constant_pool(),
-                                     "ffebldConstantArray",
-                                     size *= sizeof (ffetargetReal1),
-                                     0);
-         break;
-#endif
-
-#if FFETARGET_okREAL2
-       case FFEINFO_kindtypeREAL2:
-         ptr.real2 = malloc_new_zkp (ffebld_constant_pool(),
-                                     "ffebldConstantArray",
-                                     size *= sizeof (ffetargetReal2),
-                                     0);
-         break;
-#endif
-
-#if FFETARGET_okREAL3
-       case FFEINFO_kindtypeREAL3:
-         ptr.real3 = malloc_new_zkp (ffebld_constant_pool(),
-                                     "ffebldConstantArray",
-                                     size *= sizeof (ffetargetReal3),
-                                     0);
-         break;
-#endif
-
-       default:
-         assert ("bad REAL kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCOMPLEX:
-      switch (kt)
-       {
-#if FFETARGET_okCOMPLEX1
-       case FFEINFO_kindtypeREAL1:
-         ptr.complex1 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetComplex1),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX2
-       case FFEINFO_kindtypeREAL2:
-         ptr.complex2 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetComplex2),
-                                        0);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX3
-       case FFEINFO_kindtypeREAL3:
-         ptr.complex3 = malloc_new_zkp (ffebld_constant_pool(),
-                                        "ffebldConstantArray",
-                                        size *= sizeof (ffetargetComplex3),
-                                        0);
-         break;
-#endif
-
-       default:
-         assert ("bad COMPLEX kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCHARACTER:
-      switch (kt)
-       {
-#if FFETARGET_okCHARACTER1
-       case FFEINFO_kindtypeCHARACTER1:
-         ptr.character1 = malloc_new_zkp (ffebld_constant_pool(),
-                                          "ffebldConstantArray",
-                                          size
-                                          *= sizeof (ffetargetCharacterUnit1),
-                                          0);
-         break;
-#endif
-
-       default:
-         assert ("bad CHARACTER kindtype" == NULL);
-         break;
-       }
-      break;
-
-    default:
-      assert ("bad basictype" == NULL);
-      break;
-    }
-
-  return ptr;
-}
-
-/* ffebld_constantarray_preparray -- Prepare for copy between arrays
-
-   See prototype.
-
-   Like _prepare, but the source is an array instead of a single-value
-   constant.  */
-
-void
-ffebld_constantarray_preparray (void **aptr, void **cptr, size_t *size,
-       ffebldConstantArray array, ffeinfoBasictype abt, ffeinfoKindtype akt,
-                  ffetargetOffset offset, ffebldConstantArray source_array,
-                               ffeinfoBasictype cbt, ffeinfoKindtype ckt)
-{
-  switch (abt)
-    {
-    case FFEINFO_basictypeINTEGER:
-      switch (akt)
-       {
-#if FFETARGET_okINTEGER1
-       case FFEINFO_kindtypeINTEGER1:
-         *aptr = array.integer1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER2
-       case FFEINFO_kindtypeINTEGER2:
-         *aptr = array.integer2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER3
-       case FFEINFO_kindtypeINTEGER3:
-         *aptr = array.integer3 + offset;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER4
-       case FFEINFO_kindtypeINTEGER4:
-         *aptr = array.integer4 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad INTEGER akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeLOGICAL:
-      switch (akt)
-       {
-#if FFETARGET_okLOGICAL1
-       case FFEINFO_kindtypeLOGICAL1:
-         *aptr = array.logical1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL2
-       case FFEINFO_kindtypeLOGICAL2:
-         *aptr = array.logical2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL3
-       case FFEINFO_kindtypeLOGICAL3:
-         *aptr = array.logical3 + offset;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL4
-       case FFEINFO_kindtypeLOGICAL4:
-         *aptr = array.logical4 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad LOGICAL akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeREAL:
-      switch (akt)
-       {
-#if FFETARGET_okREAL1
-       case FFEINFO_kindtypeREAL1:
-         *aptr = array.real1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okREAL2
-       case FFEINFO_kindtypeREAL2:
-         *aptr = array.real2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okREAL3
-       case FFEINFO_kindtypeREAL3:
-         *aptr = array.real3 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad REAL akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCOMPLEX:
-      switch (akt)
-       {
-#if FFETARGET_okCOMPLEX1
-       case FFEINFO_kindtypeREAL1:
-         *aptr = array.complex1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX2
-       case FFEINFO_kindtypeREAL2:
-         *aptr = array.complex2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX3
-       case FFEINFO_kindtypeREAL3:
-         *aptr = array.complex3 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad COMPLEX akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCHARACTER:
-      switch (akt)
-       {
-#if FFETARGET_okCHARACTER1
-       case FFEINFO_kindtypeCHARACTER1:
-         *aptr = array.character1 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad CHARACTER akindtype" == NULL);
-         break;
-       }
-      break;
-
-    default:
-      assert ("bad abasictype" == NULL);
-      break;
-    }
-
-  switch (cbt)
-    {
-    case FFEINFO_basictypeINTEGER:
-      switch (ckt)
-       {
-#if FFETARGET_okINTEGER1
-       case FFEINFO_kindtypeINTEGER1:
-         *cptr = source_array.integer1;
-         *size = sizeof (*source_array.integer1);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER2
-       case FFEINFO_kindtypeINTEGER2:
-         *cptr = source_array.integer2;
-         *size = sizeof (*source_array.integer2);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER3
-       case FFEINFO_kindtypeINTEGER3:
-         *cptr = source_array.integer3;
-         *size = sizeof (*source_array.integer3);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER4
-       case FFEINFO_kindtypeINTEGER4:
-         *cptr = source_array.integer4;
-         *size = sizeof (*source_array.integer4);
-         break;
-#endif
-
-       default:
-         assert ("bad INTEGER ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeLOGICAL:
-      switch (ckt)
-       {
-#if FFETARGET_okLOGICAL1
-       case FFEINFO_kindtypeLOGICAL1:
-         *cptr = source_array.logical1;
-         *size = sizeof (*source_array.logical1);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL2
-       case FFEINFO_kindtypeLOGICAL2:
-         *cptr = source_array.logical2;
-         *size = sizeof (*source_array.logical2);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL3
-       case FFEINFO_kindtypeLOGICAL3:
-         *cptr = source_array.logical3;
-         *size = sizeof (*source_array.logical3);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL4
-       case FFEINFO_kindtypeLOGICAL4:
-         *cptr = source_array.logical4;
-         *size = sizeof (*source_array.logical4);
-         break;
-#endif
-
-       default:
-         assert ("bad LOGICAL ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeREAL:
-      switch (ckt)
-       {
-#if FFETARGET_okREAL1
-       case FFEINFO_kindtypeREAL1:
-         *cptr = source_array.real1;
-         *size = sizeof (*source_array.real1);
-         break;
-#endif
-
-#if FFETARGET_okREAL2
-       case FFEINFO_kindtypeREAL2:
-         *cptr = source_array.real2;
-         *size = sizeof (*source_array.real2);
-         break;
-#endif
-
-#if FFETARGET_okREAL3
-       case FFEINFO_kindtypeREAL3:
-         *cptr = source_array.real3;
-         *size = sizeof (*source_array.real3);
-         break;
-#endif
-
-       default:
-         assert ("bad REAL ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCOMPLEX:
-      switch (ckt)
-       {
-#if FFETARGET_okCOMPLEX1
-       case FFEINFO_kindtypeREAL1:
-         *cptr = source_array.complex1;
-         *size = sizeof (*source_array.complex1);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX2
-       case FFEINFO_kindtypeREAL2:
-         *cptr = source_array.complex2;
-         *size = sizeof (*source_array.complex2);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX3
-       case FFEINFO_kindtypeREAL3:
-         *cptr = source_array.complex3;
-         *size = sizeof (*source_array.complex3);
-         break;
-#endif
-
-       default:
-         assert ("bad COMPLEX ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCHARACTER:
-      switch (ckt)
-       {
-#if FFETARGET_okCHARACTER1
-       case FFEINFO_kindtypeCHARACTER1:
-         *cptr = source_array.character1;
-         *size = sizeof (*source_array.character1);
-         break;
-#endif
-
-       default:
-         assert ("bad CHARACTER ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    default:
-      assert ("bad cbasictype" == NULL);
-      break;
-    }
-}
-
-/* ffebld_constantarray_prepare -- Prepare for copy between value and array
-
-   See prototype.
-
-   Like _put, but just returns the pointers to the beginnings of the
-   array and the constant and returns the size (the amount of info to
-   copy).  The idea is that the caller can use memcpy to accomplish the
-   same thing as _put (though slower), or the caller can use a different
-   function that swaps bytes, words, etc for a different target machine.
-   Also, the type of the array may be different from the type of the
-   constant; the array type is used to determine the meaning (scale) of
-   the offset field (to calculate the array pointer), the constant type is
-   used to determine the constant pointer and the size (amount of info to
-   copy).  */
-
-void
-ffebld_constantarray_prepare (void **aptr, void **cptr, size_t *size,
-       ffebldConstantArray array, ffeinfoBasictype abt, ffeinfoKindtype akt,
-                     ffetargetOffset offset, ffebldConstantUnion *constant,
-                             ffeinfoBasictype cbt, ffeinfoKindtype ckt)
-{
-  switch (abt)
-    {
-    case FFEINFO_basictypeINTEGER:
-      switch (akt)
-       {
-#if FFETARGET_okINTEGER1
-       case FFEINFO_kindtypeINTEGER1:
-         *aptr = array.integer1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER2
-       case FFEINFO_kindtypeINTEGER2:
-         *aptr = array.integer2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER3
-       case FFEINFO_kindtypeINTEGER3:
-         *aptr = array.integer3 + offset;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER4
-       case FFEINFO_kindtypeINTEGER4:
-         *aptr = array.integer4 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad INTEGER akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeLOGICAL:
-      switch (akt)
-       {
-#if FFETARGET_okLOGICAL1
-       case FFEINFO_kindtypeLOGICAL1:
-         *aptr = array.logical1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL2
-       case FFEINFO_kindtypeLOGICAL2:
-         *aptr = array.logical2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL3
-       case FFEINFO_kindtypeLOGICAL3:
-         *aptr = array.logical3 + offset;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL4
-       case FFEINFO_kindtypeLOGICAL4:
-         *aptr = array.logical4 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad LOGICAL akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeREAL:
-      switch (akt)
-       {
-#if FFETARGET_okREAL1
-       case FFEINFO_kindtypeREAL1:
-         *aptr = array.real1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okREAL2
-       case FFEINFO_kindtypeREAL2:
-         *aptr = array.real2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okREAL3
-       case FFEINFO_kindtypeREAL3:
-         *aptr = array.real3 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad REAL akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCOMPLEX:
-      switch (akt)
-       {
-#if FFETARGET_okCOMPLEX1
-       case FFEINFO_kindtypeREAL1:
-         *aptr = array.complex1 + offset;
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX2
-       case FFEINFO_kindtypeREAL2:
-         *aptr = array.complex2 + offset;
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX3
-       case FFEINFO_kindtypeREAL3:
-         *aptr = array.complex3 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad COMPLEX akindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCHARACTER:
-      switch (akt)
-       {
-#if FFETARGET_okCHARACTER1
-       case FFEINFO_kindtypeCHARACTER1:
-         *aptr = array.character1 + offset;
-         break;
-#endif
-
-       default:
-         assert ("bad CHARACTER akindtype" == NULL);
-         break;
-       }
-      break;
-
-    default:
-      assert ("bad abasictype" == NULL);
-      break;
-    }
-
-  switch (cbt)
-    {
-    case FFEINFO_basictypeINTEGER:
-      switch (ckt)
-       {
-#if FFETARGET_okINTEGER1
-       case FFEINFO_kindtypeINTEGER1:
-         *cptr = &constant->integer1;
-         *size = sizeof (constant->integer1);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER2
-       case FFEINFO_kindtypeINTEGER2:
-         *cptr = &constant->integer2;
-         *size = sizeof (constant->integer2);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER3
-       case FFEINFO_kindtypeINTEGER3:
-         *cptr = &constant->integer3;
-         *size = sizeof (constant->integer3);
-         break;
-#endif
-
-#if FFETARGET_okINTEGER4
-       case FFEINFO_kindtypeINTEGER4:
-         *cptr = &constant->integer4;
-         *size = sizeof (constant->integer4);
-         break;
-#endif
-
-       default:
-         assert ("bad INTEGER ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeLOGICAL:
-      switch (ckt)
-       {
-#if FFETARGET_okLOGICAL1
-       case FFEINFO_kindtypeLOGICAL1:
-         *cptr = &constant->logical1;
-         *size = sizeof (constant->logical1);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL2
-       case FFEINFO_kindtypeLOGICAL2:
-         *cptr = &constant->logical2;
-         *size = sizeof (constant->logical2);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL3
-       case FFEINFO_kindtypeLOGICAL3:
-         *cptr = &constant->logical3;
-         *size = sizeof (constant->logical3);
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL4
-       case FFEINFO_kindtypeLOGICAL4:
-         *cptr = &constant->logical4;
-         *size = sizeof (constant->logical4);
-         break;
-#endif
-
-       default:
-         assert ("bad LOGICAL ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeREAL:
-      switch (ckt)
-       {
-#if FFETARGET_okREAL1
-       case FFEINFO_kindtypeREAL1:
-         *cptr = &constant->real1;
-         *size = sizeof (constant->real1);
-         break;
-#endif
-
-#if FFETARGET_okREAL2
-       case FFEINFO_kindtypeREAL2:
-         *cptr = &constant->real2;
-         *size = sizeof (constant->real2);
-         break;
-#endif
-
-#if FFETARGET_okREAL3
-       case FFEINFO_kindtypeREAL3:
-         *cptr = &constant->real3;
-         *size = sizeof (constant->real3);
-         break;
-#endif
-
-       default:
-         assert ("bad REAL ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCOMPLEX:
-      switch (ckt)
-       {
-#if FFETARGET_okCOMPLEX1
-       case FFEINFO_kindtypeREAL1:
-         *cptr = &constant->complex1;
-         *size = sizeof (constant->complex1);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX2
-       case FFEINFO_kindtypeREAL2:
-         *cptr = &constant->complex2;
-         *size = sizeof (constant->complex2);
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX3
-       case FFEINFO_kindtypeREAL3:
-         *cptr = &constant->complex3;
-         *size = sizeof (constant->complex3);
-         break;
-#endif
-
-       default:
-         assert ("bad COMPLEX ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCHARACTER:
-      switch (ckt)
-       {
-#if FFETARGET_okCHARACTER1
-       case FFEINFO_kindtypeCHARACTER1:
-         *cptr = ffetarget_text_character1 (constant->character1);
-         *size = ffetarget_length_character1 (constant->character1);
-         break;
-#endif
-
-       default:
-         assert ("bad CHARACTER ckindtype" == NULL);
-         break;
-       }
-      break;
-
-    default:
-      assert ("bad cbasictype" == NULL);
-      break;
-    }
-}
-
-/* ffebld_constantarray_put -- Put a value into an array of constants
-
-   See prototype.  */
-
-void
-ffebld_constantarray_put (ffebldConstantArray array, ffeinfoBasictype bt,
-   ffeinfoKindtype kt, ffetargetOffset offset, ffebldConstantUnion constant)
-{
-  switch (bt)
-    {
-    case FFEINFO_basictypeINTEGER:
-      switch (kt)
-       {
-#if FFETARGET_okINTEGER1
-       case FFEINFO_kindtypeINTEGER1:
-         *(array.integer1 + offset) = constant.integer1;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER2
-       case FFEINFO_kindtypeINTEGER2:
-         *(array.integer2 + offset) = constant.integer2;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER3
-       case FFEINFO_kindtypeINTEGER3:
-         *(array.integer3 + offset) = constant.integer3;
-         break;
-#endif
-
-#if FFETARGET_okINTEGER4
-       case FFEINFO_kindtypeINTEGER4:
-         *(array.integer4 + offset) = constant.integer4;
-         break;
-#endif
-
-       default:
-         assert ("bad INTEGER kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeLOGICAL:
-      switch (kt)
-       {
-#if FFETARGET_okLOGICAL1
-       case FFEINFO_kindtypeLOGICAL1:
-         *(array.logical1 + offset) = constant.logical1;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL2
-       case FFEINFO_kindtypeLOGICAL2:
-         *(array.logical2 + offset) = constant.logical2;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL3
-       case FFEINFO_kindtypeLOGICAL3:
-         *(array.logical3 + offset) = constant.logical3;
-         break;
-#endif
-
-#if FFETARGET_okLOGICAL4
-       case FFEINFO_kindtypeLOGICAL4:
-         *(array.logical4 + offset) = constant.logical4;
-         break;
-#endif
-
-       default:
-         assert ("bad LOGICAL kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeREAL:
-      switch (kt)
-       {
-#if FFETARGET_okREAL1
-       case FFEINFO_kindtypeREAL1:
-         *(array.real1 + offset) = constant.real1;
-         break;
-#endif
-
-#if FFETARGET_okREAL2
-       case FFEINFO_kindtypeREAL2:
-         *(array.real2 + offset) = constant.real2;
-         break;
-#endif
-
-#if FFETARGET_okREAL3
-       case FFEINFO_kindtypeREAL3:
-         *(array.real3 + offset) = constant.real3;
-         break;
-#endif
-
-       default:
-         assert ("bad REAL kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCOMPLEX:
-      switch (kt)
-       {
-#if FFETARGET_okCOMPLEX1
-       case FFEINFO_kindtypeREAL1:
-         *(array.complex1 + offset) = constant.complex1;
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX2
-       case FFEINFO_kindtypeREAL2:
-         *(array.complex2 + offset) = constant.complex2;
-         break;
-#endif
-
-#if FFETARGET_okCOMPLEX3
-       case FFEINFO_kindtypeREAL3:
-         *(array.complex3 + offset) = constant.complex3;
-         break;
-#endif
-
-       default:
-         assert ("bad COMPLEX kindtype" == NULL);
-         break;
-       }
-      break;
-
-    case FFEINFO_basictypeCHARACTER:
-      switch (kt)
-       {
-#if FFETARGET_okCHARACTER1
-       case FFEINFO_kindtypeCHARACTER1:
-         memcpy (array.character1 + offset,
-                 ffetarget_text_character1 (constant.character1),
-                 ffetarget_length_character1 (constant.character1));
-         break;
-#endif
-
-       default:
-         assert ("bad CHARACTER kindtype" == NULL);
-         break;
-       }
-      break;
-
-    default:
-      assert ("bad basictype" == NULL);
-      break;
-    }
-}
-
-/* ffebld_init_0 -- Initialize the module
-
-   ffebld_init_0();  */
-
-void
-ffebld_init_0 (void)
-{
-  assert (FFEBLD_op == ARRAY_SIZE (ffebld_op_string_));
-  assert (FFEBLD_op == ARRAY_SIZE (ffebld_arity_op_));
-}
-
-/* ffebld_init_1 -- Initialize the module for a file
-
-   ffebld_init_1();  */
-
-void
-ffebld_init_1 (void)
-{
-#if FFEBLD_whereconstCURRENT_ == FFEBLD_whereconstFILE_
-  int i;
-
-#if FFETARGET_okCHARACTER1
-  ffebld_constant_character1_ = NULL;
-#endif
-#if FFETARGET_okCOMPLEX1
-  ffebld_constant_complex1_ = NULL;
-#endif
-#if FFETARGET_okCOMPLEX2
-  ffebld_constant_complex2_ = NULL;
-#endif
-#if FFETARGET_okCOMPLEX3
-  ffebld_constant_complex3_ = NULL;
-#endif
-#if FFETARGET_okINTEGER1
-  ffebld_constant_integer1_ = NULL;
-#endif
-#if FFETARGET_okINTEGER2
-  ffebld_constant_integer2_ = NULL;
-#endif
-#if FFETARGET_okINTEGER3
-  ffebld_constant_integer3_ = NULL;
-#endif
-#if FFETARGET_okINTEGER4
-  ffebld_constant_integer4_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL1
-  ffebld_constant_logical1_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL2
-  ffebld_constant_logical2_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL3
-  ffebld_constant_logical3_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL4
-  ffebld_constant_logical4_ = NULL;
-#endif
-#if FFETARGET_okREAL1
-  ffebld_constant_real1_ = NULL;
-#endif
-#if FFETARGET_okREAL2
-  ffebld_constant_real2_ = NULL;
-#endif
-#if FFETARGET_okREAL3
-  ffebld_constant_real3_ = NULL;
-#endif
-  ffebld_constant_hollerith_ = NULL;
-  for (i = FFEBLD_constTYPELESS_FIRST; i <= FFEBLD_constTYPELESS_LAST; ++i)
-    ffebld_constant_typeless_[i - FFEBLD_constTYPELESS_FIRST] = NULL;
-#endif
-}
-
-/* ffebld_init_2 -- Initialize the module
-
-   ffebld_init_2();  */
-
-void
-ffebld_init_2 (void)
-{
-#if FFEBLD_whereconstCURRENT_ == FFEBLD_whereconstPROGUNIT_
-  int i;
-#endif
-
-  ffebld_pool_stack_.next = NULL;
-  ffebld_pool_stack_.pool = ffe_pool_program_unit ();
-#if FFEBLD_whereconstCURRENT_ == FFEBLD_whereconstPROGUNIT_
-#if FFETARGET_okCHARACTER1
-  ffebld_constant_character1_ = NULL;
-#endif
-#if FFETARGET_okCOMPLEX1
-  ffebld_constant_complex1_ = NULL;
-#endif
-#if FFETARGET_okCOMPLEX2
-  ffebld_constant_complex2_ = NULL;
-#endif
-#if FFETARGET_okCOMPLEX3
-  ffebld_constant_complex3_ = NULL;
-#endif
-#if FFETARGET_okINTEGER1
-  ffebld_constant_integer1_ = NULL;
-#endif
-#if FFETARGET_okINTEGER2
-  ffebld_constant_integer2_ = NULL;
-#endif
-#if FFETARGET_okINTEGER3
-  ffebld_constant_integer3_ = NULL;
-#endif
-#if FFETARGET_okINTEGER4
-  ffebld_constant_integer4_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL1
-  ffebld_constant_logical1_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL2
-  ffebld_constant_logical2_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL3
-  ffebld_constant_logical3_ = NULL;
-#endif
-#if FFETARGET_okLOGICAL4
-  ffebld_constant_logical4_ = NULL;
-#endif
-#if FFETARGET_okREAL1
-  ffebld_constant_real1_ = NULL;
-#endif
-#if FFETARGET_okREAL2
-  ffebld_constant_real2_ = NULL;
-#endif
-#if FFETARGET_okREAL3
-  ffebld_constant_real3_ = NULL;
-#endif
-  ffebld_constant_hollerith_ = NULL;
-  for (i = FFEBLD_constTYPELESS_FIRST; i <= FFEBLD_constTYPELESS_LAST; ++i)
-    ffebld_constant_typeless_[i - FFEBLD_constTYPELESS_FIRST] = NULL;
-#endif
-}
-
-/* ffebld_list_length -- Return # of opITEMs in list
-
-   ffebld list;         // Must be NULL or opITEM
-   ffebldListLength length;
-   length = ffebld_list_length(list);
-
-   Returns 0 if list is NULL, 1 if it's ffebld_trail is NULL, and so on.  */
-
-ffebldListLength
-ffebld_list_length (ffebld list)
-{
-  ffebldListLength length;
-
-  for (length = 0; list != NULL; ++length, list = ffebld_trail (list))
-    ;
-
-  return length;
-}
-
-/* ffebld_new_accter -- Create an ffebld object that is an array
-
-   ffebld x;
-   ffebldConstantArray a;
-   ffebit b;
-   x = ffebld_new_accter(a,b); */
-
-ffebld
-ffebld_new_accter (ffebldConstantArray a, ffebit b)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = FFEBLD_opACCTER;
-  x->u.accter.array = a;
-  x->u.accter.bits = b;
-  x->u.accter.pad = 0;
-  return x;
-}
-
-/* ffebld_new_arrter -- Create an ffebld object that is an array
-
-   ffebld x;
-   ffebldConstantArray a;
-   ffetargetOffset size;
-   x = ffebld_new_arrter(a,size);  */
-
-ffebld
-ffebld_new_arrter (ffebldConstantArray a, ffetargetOffset size)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = FFEBLD_opARRTER;
-  x->u.arrter.array = a;
-  x->u.arrter.size = size;
-  x->u.arrter.pad = 0;
-  return x;
-}
-
-/* ffebld_new_conter_with_orig -- Create an ffebld object that is a constant
-
-   ffebld x;
-   ffebldConstant c;
-   x = ffebld_new_conter_with_orig(c,NULL);  */
-
-ffebld
-ffebld_new_conter_with_orig (ffebldConstant c, ffebld o)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = FFEBLD_opCONTER;
-  x->u.conter.expr = c;
-  x->u.conter.orig = o;
-  x->u.conter.pad = 0;
-  return x;
-}
-
-/* ffebld_new_item -- Create an ffebld item object
-
-   ffebld x,y,z;
-   x = ffebld_new_item(y,z);  */
-
-ffebld
-ffebld_new_item (ffebld head, ffebld trail)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = FFEBLD_opITEM;
-  x->u.item.head = head;
-  x->u.item.trail = trail;
-  return x;
-}
-
-/* ffebld_new_labter -- Create an ffebld object that is a label
-
-   ffebld x;
-   ffelab l;
-   x = ffebld_new_labter(c);  */
-
-ffebld
-ffebld_new_labter (ffelab l)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = FFEBLD_opLABTER;
-  x->u.labter = l;
-  return x;
-}
-
-/* ffebld_new_labtok -- Create object that is a label's NUMBER token
-
-   ffebld x;
-   ffelexToken t;
-   x = ffebld_new_labter(c);
-
-   Like the other ffebld_new_ functions, the
-   supplied argument is stored exactly as is: ffelex_token_use is NOT
-   called, so the token is "consumed", if one is indeed supplied (it may
-   be NULL).  */
-
-ffebld
-ffebld_new_labtok (ffelexToken t)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = FFEBLD_opLABTOK;
-  x->u.labtok = t;
-  return x;
-}
-
-/* ffebld_new_none -- Create an ffebld object with no arguments
-
-   ffebld x;
-   x = ffebld_new_none(FFEBLD_opWHATEVER);  */
-
-ffebld
-ffebld_new_none (ffebldOp o)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = o;
-  return x;
-}
-
-/* ffebld_new_one -- Create an ffebld object with one argument
-
-   ffebld x,y;
-   x = ffebld_new_one(FFEBLD_opWHATEVER,y);  */
-
-ffebld
-ffebld_new_one (ffebldOp o, ffebld left)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = o;
-  x->u.nonter.left = left;
-  x->u.nonter.hook = FFECOM_nonterNULL;
-  return x;
-}
-
-/* ffebld_new_symter -- Create an ffebld object that is a symbol
-
-   ffebld x;
-   ffesymbol s;
-   ffeintrinGen gen;   // Generic intrinsic id, if any
-   ffeintrinSpec spec; // Specific intrinsic id, if any
-   ffeintrinImp imp;   // Implementation intrinsic id, if any
-   x = ffebld_new_symter (s, gen, spec, imp);  */
-
-ffebld
-ffebld_new_symter (ffesymbol s, ffeintrinGen gen, ffeintrinSpec spec,
-                  ffeintrinImp imp)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = FFEBLD_opSYMTER;
-  x->u.symter.symbol = s;
-  x->u.symter.generic = gen;
-  x->u.symter.specific = spec;
-  x->u.symter.implementation = imp;
-  x->u.symter.do_iter = FALSE;
-  return x;
-}
-
-/* ffebld_new_two -- Create an ffebld object with two arguments
-
-   ffebld x,y,z;
-   x = ffebld_new_two(FFEBLD_opWHATEVER,y,z);  */
-
-ffebld
-ffebld_new_two (ffebldOp o, ffebld left, ffebld right)
-{
-  ffebld x;
-
-  x = ffebld_new ();
-  x->op = o;
-  x->u.nonter.left = left;
-  x->u.nonter.right = right;
-  x->u.nonter.hook = FFECOM_nonterNULL;
-  return x;
-}
-
-/* ffebld_pool_pop -- Pop ffebld's pool stack
-
-   ffebld_pool_pop();  */
-
-void
-ffebld_pool_pop (void)
-{
-  ffebldPoolstack_ ps;
-
-  assert (ffebld_pool_stack_.next != NULL);
-  ps = ffebld_pool_stack_.next;
-  ffebld_pool_stack_.next = ps->next;
-  ffebld_pool_stack_.pool = ps->pool;
-  malloc_kill_ks (malloc_pool_image (), ps, sizeof (*ps));
-}
-
-/* ffebld_pool_push -- Push ffebld's pool stack
-
-   ffebld_pool_push(); */
-
-void
-ffebld_pool_push (mallocPool pool)
-{
-  ffebldPoolstack_ ps;
-
-  ps = malloc_new_ks (malloc_pool_image (), "Pool stack", sizeof (*ps));
-  ps->next = ffebld_pool_stack_.next;
-  ps->pool = ffebld_pool_stack_.pool;
-  ffebld_pool_stack_.next = ps;
-  ffebld_pool_stack_.pool = pool;
-}
-
-/* ffebld_op_string -- Return short string describing op
-
-   ffebldOp o;
-   ffebld_op_string(o);
-
-   Returns a short string (uppercase) containing the name of the op.  */
-
-const char *
-ffebld_op_string (ffebldOp o)
-{
-  if (o >= ARRAY_SIZE (ffebld_op_string_))
-    return "?\?\?";
-  return ffebld_op_string_[o];
-}
-
-/* ffebld_size_max -- Return maximum possible size of CHARACTER-type expr
-
-   ffetargetCharacterSize sz;
-   ffebld b;
-   sz = ffebld_size_max (b);
-
-   Like ffebld_size_known, but if that would return NONE and the expression
-   is opSUBSTR, opCONVERT, opPAREN, or opCONCATENATE, returns ffebld_size_max
-   of the subexpression(s).  */
-
-ffetargetCharacterSize
-ffebld_size_max (ffebld b)
-{
-  ffetargetCharacterSize sz;
-
-recurse:                       /* :::::::::::::::::::: */
-
-  sz = ffebld_size_known (b);
-
-  if (sz != FFETARGET_charactersizeNONE)
-    return sz;
-
-  switch (ffebld_op (b))
-    {
-    case FFEBLD_opSUBSTR:
-    case FFEBLD_opCONVERT:
-    case FFEBLD_opPAREN:
-      b = ffebld_left (b);
-      goto recurse;            /* :::::::::::::::::::: */
-
-    case FFEBLD_opCONCATENATE:
-      sz = ffebld_size_max (ffebld_left (b))
-       + ffebld_size_max (ffebld_right (b));
-      return sz;
-
-    default:
-      return sz;
-    }
-}
diff --git a/contrib/gcc-3.4/gcc/f/bld.h b/contrib/gcc-3.4/gcc/f/bld.h
deleted file mode 100644 (file)
index 900b5de..0000000
+++ /dev/null
@@ -1,748 +0,0 @@
-/* bld.h -- Public #include File (module.h template V1.0)
-   Copyright (C) 1995, 1996, 2003 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Owning Modules:
-      bld.c
-
-   Modifications:
-*/
-
-/* Allow multiple inclusion to work. */
-
-#ifndef GCC_F_BLD_H
-#define GCC_F_BLD_H
-
-/* Simple definitions and enumerations. */
-
-typedef enum
-  {
-    FFEBLD_constNONE,
-    FFEBLD_constINTEGER1,
-    FFEBLD_constINTEGER2,
-    FFEBLD_constINTEGER3,
-    FFEBLD_constINTEGER4,
-    FFEBLD_constINTEGER5,
-    FFEBLD_constINTEGER6,
-    FFEBLD_constINTEGER7,
-    FFEBLD_constINTEGER8,
-    FFEBLD_constLOGICAL1,
-    FFEBLD_constLOGICAL2,
-    FFEBLD_constLOGICAL3,
-    FFEBLD_constLOGICAL4,
-    FFEBLD_constLOGICAL5,
-    FFEBLD_constLOGICAL6,
-    FFEBLD_constLOGICAL7,
-    FFEBLD_constLOGICAL8,
-    FFEBLD_constREAL1,
-    FFEBLD_constREAL2,
-    FFEBLD_constREAL3,
-    FFEBLD_constREAL4,
-    FFEBLD_constREAL5,
-    FFEBLD_constREAL6,
-    FFEBLD_constREAL7,
-    FFEBLD_constREAL8,
-    FFEBLD_constCOMPLEX1,
-    FFEBLD_constCOMPLEX2,
-    FFEBLD_constCOMPLEX3,
-    FFEBLD_constCOMPLEX4,
-    FFEBLD_constCOMPLEX5,
-    FFEBLD_constCOMPLEX6,
-    FFEBLD_constCOMPLEX7,
-    FFEBLD_constCOMPLEX8,
-    FFEBLD_constCHARACTER1,
-    FFEBLD_constCHARACTER2,
-    FFEBLD_constCHARACTER3,
-    FFEBLD_constCHARACTER4,
-    FFEBLD_constCHARACTER5,
-    FFEBLD_constCHARACTER6,
-    FFEBLD_constCHARACTER7,
-    FFEBLD_constCHARACTER8,
-    FFEBLD_constHOLLERITH,
-    FFEBLD_constTYPELESS_FIRST,
-    FFEBLD_constBINARY_MIL = FFEBLD_constTYPELESS_FIRST,
-    FFEBLD_constBINARY_VXT,
-    FFEBLD_constOCTAL_MIL,
-    FFEBLD_constOCTAL_VXT,
-    FFEBLD_constHEX_X_MIL,
-    FFEBLD_constHEX_X_VXT,
-    FFEBLD_constHEX_Z_MIL,
-    FFEBLD_constHEX_Z_VXT,
-    FFEBLD_constTYPELESS_LAST = FFEBLD_constHEX_Z_VXT,
-    FFEBLD_const
-  } ffebldConst;
-
-typedef enum
-  {
-#define FFEBLD_OP(KWD,NAME,ARITY) KWD,
-#include "bld-op.def"
-#undef FFEBLD_OP
-    FFEBLD_op
-  } ffebldOp;
-
-/* Typedefs. */
-
-typedef struct _ffebld_ *ffebld;
-typedef unsigned char ffebldArity;
-typedef union _ffebld_constant_array_ ffebldConstantArray;
-typedef struct _ffebld_constant_ *ffebldConstant;
-typedef union _ffebld_constant_union_ ffebldConstantUnion;
-typedef ffebld *ffebldListBottom;
-typedef unsigned int ffebldListLength;
-#define ffebldListLength_f ""
-typedef struct _ffebld_pool_stack_ *ffebldPoolstack_;
-
-/* Include files needed by this one. */
-
-#include "bit.h"
-#include "com.h"
-#include "info.h"
-#include "intrin.h"
-#include "lab.h"
-#include "lex.h"
-#include "malloc.h"
-#include "symbol.h"
-#include "target.h"
-
-#define FFEBLD_whereconstPROGUNIT_ 1
-#define FFEBLD_whereconstFILE_ 2
-
-#define FFEBLD_whereconstCURRENT_ FFEBLD_whereconstFILE_
-
-/* Structure definitions. */
-
-#define FFEBLD_constINTEGERDEFAULT FFEBLD_constINTEGER1
-#define FFEBLD_constLOGICALDEFAULT FFEBLD_constLOGICAL1
-#define FFEBLD_constREALDEFAULT FFEBLD_constREAL1
-#define FFEBLD_constREALDOUBLE FFEBLD_constREAL2
-#define FFEBLD_constREALQUAD FFEBLD_constREAL3
-#define FFEBLD_constCOMPLEX FFEBLD_constCOMPLEX1
-#define FFEBLD_constCOMPLEXDOUBLE FFEBLD_constCOMPLEX2
-#define FFEBLD_constCOMPLEXQUAD FFEBLD_constCOMPLEX3
-#define FFEBLD_constCHARACTERDEFAULT FFEBLD_constCHARACTER1
-
-union _ffebld_constant_union_
-  {
-    ffetargetTypeless typeless;
-    ffetargetHollerith hollerith;
-#if FFETARGET_okINTEGER1
-    ffetargetInteger1 integer1;
-#endif
-#if FFETARGET_okINTEGER2
-    ffetargetInteger2 integer2;
-#endif
-#if FFETARGET_okINTEGER3
-    ffetargetInteger3 integer3;
-#endif
-#if FFETARGET_okINTEGER4
-    ffetargetInteger4 integer4;
-#endif
-#if FFETARGET_okLOGICAL1
-    ffetargetLogical1 logical1;
-#endif
-#if FFETARGET_okLOGICAL2
-    ffetargetLogical2 logical2;
-#endif
-#if FFETARGET_okLOGICAL3
-    ffetargetLogical3 logical3;
-#endif
-#if FFETARGET_okLOGICAL4
-    ffetargetLogical4 logical4;
-#endif
-#if FFETARGET_okREAL1
-    ffetargetReal1 real1;
-#endif
-#if FFETARGET_okREAL2
-    ffetargetReal2 real2;
-#endif
-#if FFETARGET_okREAL3
-    ffetargetReal3 real3;
-#endif
-#if FFETARGET_okCOMPLEX1
-    ffetargetComplex1 complex1;
-#endif
-#if FFETARGET_okCOMPLEX2
-    ffetargetComplex2 complex2;
-#endif
-#if FFETARGET_okCOMPLEX3
-    ffetargetComplex3 complex3;
-#endif
-#if FFETARGET_okCHARACTER1
-    ffetargetCharacter1 character1;
-#endif
-  };
-
-union _ffebld_constant_array_
-  {
-#if FFETARGET_okINTEGER1
-    ffetargetInteger1 *integer1;
-#endif
-#if FFETARGET_okINTEGER2
-    ffetargetInteger2 *integer2;
-#endif
-#if FFETARGET_okINTEGER3
-    ffetargetInteger3 *integer3;
-#endif
-#if FFETARGET_okINTEGER4
-    ffetargetInteger4 *integer4;
-#endif
-#if FFETARGET_okLOGICAL1
-    ffetargetLogical1 *logical1;
-#endif
-#if FFETARGET_okLOGICAL2
-    ffetargetLogical2 *logical2;
-#endif
-#if FFETARGET_okLOGICAL3
-    ffetargetLogical3 *logical3;
-#endif
-#if FFETARGET_okLOGICAL4
-    ffetargetLogical4 *logical4;
-#endif
-#if FFETARGET_okREAL1
-    ffetargetReal1 *real1;
-#endif
-#if FFETARGET_okREAL2
-    ffetargetReal2 *real2;
-#endif
-#if FFETARGET_okREAL3
-    ffetargetReal3 *real3;
-#endif
-#if FFETARGET_okCOMPLEX1
-    ffetargetComplex1 *complex1;
-#endif
-#if FFETARGET_okCOMPLEX2
-    ffetargetComplex2 *complex2;
-#endif
-#if FFETARGET_okCOMPLEX3
-    ffetargetComplex3 *complex3;
-#endif
-#if FFETARGET_okCHARACTER1
-    ffetargetCharacterUnit1 *character1;
-#endif
-  };
-
-struct _ffebld_
-  {
-    ffebldOp op;
-    ffeinfo info;              /* Not used or valid for
-                                  op=={STAR,ITEM,BOUNDS,REPEAT,LABTER,
-                                  LABTOK,IMPDO}. */
-    union
-      {
-       struct
-         {
-           ffebld left;
-           ffebld right;
-           ffecomNonter hook;  /* Whatever the compiler/backend wants! */
-         }
-       nonter;
-       struct
-         {
-           ffebld head;
-           ffebld trail;
-         }
-       item;
-       struct
-         {
-           ffebldConstant expr;
-           ffebld orig;        /* Original expression, or NULL if none. */
-           ffetargetAlign pad; /* Initial padding (for DATA, etc.). */
-         }
-       conter;
-       struct
-         {
-           ffebldConstantArray array;
-           ffetargetOffset size;
-           ffetargetAlign pad; /* Initial padding (for DATA, etc.). */
-         }
-       arrter;
-       struct
-         {
-           ffebldConstantArray array;
-           ffebit bits;
-           ffetargetAlign pad; /* Initial padding (for DATA, etc.). */
-         }
-       accter;
-       struct
-         {
-           ffesymbol symbol;
-           ffeintrinGen generic;       /* Id for generic intrinsic. */
-           ffeintrinSpec specific;     /* Id for specific intrinsic. */
-           ffeintrinImp implementation;        /* Id for implementation. */
-           bool do_iter;       /* TRUE if this ref is a read-only ref by
-                                  definition (ref within DO loop using this
-                                  var as iterator). */
-         }
-       symter;
-       ffelab labter;
-       ffelexToken labtok;
-      }
-    u;
-  };
-
-struct _ffebld_constant_
-  {
-    ffebldConstant rlink;
-    ffebldConstant llink;
-    ffebldConstant first_complex;      /* First complex const with me as
-                                          real. */
-    ffebldConst consttype;
-    ffecomConstant hook;       /* Whatever the compiler/backend wants! */
-    bool numeric;              /* A numeric kind of constant. */
-    ffebldConstantUnion u;
-  };
-
-struct _ffebld_pool_stack_
-  {
-    ffebldPoolstack_ next;
-    mallocPool pool;
-  };
-
-/* Global objects accessed by users of this module. */
-
-extern const ffebldArity ffebld_arity_op_[(int) FFEBLD_op];
-extern struct _ffebld_pool_stack_ ffebld_pool_stack_;
-
-/* Declare functions with prototypes. */
-
-int ffebld_constant_cmp (ffebldConstant c1, ffebldConstant c2);
-bool ffebld_constant_is_magical (ffebldConstant c);
-bool ffebld_constant_is_zero (ffebldConstant c);
-#if FFETARGET_okCHARACTER1
-ffebldConstant ffebld_constant_new_character1 (ffelexToken t);
-ffebldConstant ffebld_constant_new_character1_val (ffetargetCharacter1 val);
-#endif
-#if FFETARGET_okCOMPLEX1
-ffebldConstant ffebld_constant_new_complex1 (ffebldConstant real,
-                                            ffebldConstant imaginary);
-ffebldConstant ffebld_constant_new_complex1_val (ffetargetComplex1 val);
-#endif
-#if FFETARGET_okCOMPLEX2
-ffebldConstant ffebld_constant_new_complex2 (ffebldConstant real,
-                                            ffebldConstant imaginary);
-ffebldConstant ffebld_constant_new_complex2_val (ffetargetComplex2 val);
-#endif
-#if FFETARGET_okCOMPLEX3
-ffebldConstant ffebld_constant_new_complex3 (ffebldConstant real,
-                                            ffebldConstant imaginary);
-ffebldConstant ffebld_constant_new_complex3_val (ffetargetComplex3 val);
-#endif
-ffebldConstant ffebld_constant_new_hollerith (ffelexToken t);
-ffebldConstant ffebld_constant_new_hollerith_val (ffetargetHollerith val);
-#if FFETARGET_okINTEGER1
-ffebldConstant ffebld_constant_new_integer1 (ffelexToken t);
-ffebldConstant ffebld_constant_new_integer1_val (ffetargetInteger1 val);
-#endif
-#if FFETARGET_okINTEGER2
-ffebldConstant ffebld_constant_new_integer2 (ffelexToken t);
-ffebldConstant ffebld_constant_new_integer2_val (ffetargetInteger2 val);
-#endif
-#if FFETARGET_okINTEGER3
-ffebldConstant ffebld_constant_new_integer3 (ffelexToken t);
-ffebldConstant ffebld_constant_new_integer3_val (ffetargetInteger3 val);
-#endif
-#if FFETARGET_okINTEGER4
-ffebldConstant ffebld_constant_new_integer4 (ffelexToken t);
-ffebldConstant ffebld_constant_new_integer4_val (ffetargetInteger4 val);
-#endif
-ffebldConstant ffebld_constant_new_integerbinary (ffelexToken t);
-ffebldConstant ffebld_constant_new_integerhex (ffelexToken t);
-ffebldConstant ffebld_constant_new_integeroctal (ffelexToken t);
-#if FFETARGET_okLOGICAL1
-ffebldConstant ffebld_constant_new_logical1 (bool truth);
-ffebldConstant ffebld_constant_new_logical1_val (ffetargetLogical1 val);
-#endif
-#if FFETARGET_okLOGICAL2
-ffebldConstant ffebld_constant_new_logical2 (bool truth);
-ffebldConstant ffebld_constant_new_logical2_val (ffetargetLogical2 val);
-#endif
-#if FFETARGET_okLOGICAL3
-ffebldConstant ffebld_constant_new_logical3 (bool truth);
-ffebldConstant ffebld_constant_new_logical3_val (ffetargetLogical3 val);
-#endif
-#if FFETARGET_okLOGICAL4
-ffebldConstant ffebld_constant_new_logical4 (bool truth);
-ffebldConstant ffebld_constant_new_logical4_val (ffetargetLogical4 val);
-#endif
-#if FFETARGET_okREAL1
-ffebldConstant ffebld_constant_new_real1 (ffelexToken integer,
-           ffelexToken decimal, ffelexToken fraction, ffelexToken exponent,
-                   ffelexToken exponent_sign, ffelexToken exponent_digits);
-ffebldConstant ffebld_constant_new_real1_val (ffetargetReal1 val);
-#endif
-#if FFETARGET_okREAL2
-ffebldConstant ffebld_constant_new_real2 (ffelexToken integer,
-           ffelexToken decimal, ffelexToken fraction, ffelexToken exponent,
-                   ffelexToken exponent_sign, ffelexToken exponent_digits);
-ffebldConstant ffebld_constant_new_real2_val (ffetargetReal2 val);
-#endif
-#if FFETARGET_okREAL3
-ffebldConstant ffebld_constant_new_real3 (ffelexToken integer,
-           ffelexToken decimal, ffelexToken fraction, ffelexToken exponent,
-                   ffelexToken exponent_sign, ffelexToken exponent_digits);
-ffebldConstant ffebld_constant_new_real3_val (ffetargetReal3 val);
-#endif
-ffebldConstant ffebld_constant_new_typeless_bm (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_bv (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_hxm (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_hxv (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_hzm (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_hzv (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_om (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_ov (ffelexToken t);
-ffebldConstant ffebld_constant_new_typeless_val (ffebldConst type,
-                                                ffetargetTypeless val);
-ffebldConstant ffebld_constant_negated (ffebldConstant c);
-ffebldConstantUnion ffebld_constantarray_get (ffebldConstantArray array,
-          ffeinfoBasictype bt, ffeinfoKindtype kt, ffetargetOffset offset);
-void ffebld_constantarray_kill (ffebldConstantArray array, ffeinfoBasictype bt,
-                               ffeinfoKindtype kt, ffetargetOffset size);
-ffebldConstantArray ffebld_constantarray_new (ffeinfoBasictype bt,
-                                 ffeinfoKindtype kt, ffetargetOffset size);
-void ffebld_constantarray_prepare (void **aptr, void **cptr, size_t *size,
-       ffebldConstantArray array, ffeinfoBasictype abt, ffeinfoKindtype akt,
-                     ffetargetOffset offset, ffebldConstantUnion *constant,
-                                ffeinfoBasictype cbt, ffeinfoKindtype ckt);
-void ffebld_constantarray_preparray (void **aptr, void **cptr, size_t *size,
-       ffebldConstantArray array, ffeinfoBasictype abt, ffeinfoKindtype akt,
-                  ffetargetOffset offset, ffebldConstantArray source_array,
-                                ffeinfoBasictype cbt, ffeinfoKindtype ckt);
-void ffebld_constantarray_put (ffebldConstantArray array, ffeinfoBasictype bt,
-  ffeinfoKindtype kt, ffetargetOffset offset, ffebldConstantUnion constant);
-void ffebld_init_0 (void);
-void ffebld_init_1 (void);
-void ffebld_init_2 (void);
-ffebldListLength ffebld_list_length (ffebld l);
-ffebld ffebld_new_accter (ffebldConstantArray array, ffebit b);
-ffebld ffebld_new_arrter (ffebldConstantArray array, ffetargetOffset size);
-ffebld ffebld_new_conter_with_orig (ffebldConstant c, ffebld orig);
-ffebld ffebld_new_item (ffebld head, ffebld trail);
-ffebld ffebld_new_labter (ffelab l);
-ffebld ffebld_new_labtok (ffelexToken t);
-ffebld ffebld_new_none (ffebldOp o);
-ffebld ffebld_new_symter (ffesymbol s, ffeintrinGen gen, ffeintrinSpec spec,
-                         ffeintrinImp imp);
-ffebld ffebld_new_one (ffebldOp o, ffebld left);
-ffebld ffebld_new_two (ffebldOp o, ffebld left, ffebld right);
-const char *ffebld_op_string (ffebldOp o);
-void ffebld_pool_pop (void);
-void ffebld_pool_push (mallocPool pool);
-ffetargetCharacterSize ffebld_size_max (ffebld b);
-
-/* Define macros. */
-
-#define ffebld_accter(b) ((b)->u.accter.array)
-#define ffebld_accter_bits(b) ((b)->u.accter.bits)
-#define ffebld_accter_pad(b) ((b)->u.accter.pad)
-#define ffebld_accter_set_bits(b,bt) ((b)->u.accter.bits = (bt))
-#define ffebld_accter_set_pad(b,p) ((b)->u.accter.pad = (p))
-#define ffebld_accter_size(b) ffebit_size((b)->u.accter.bits)
-#define ffebld_append_item(b,i) (**(b) = ffebld_new_item((i),NULL),          \
-                                *(b) = &((**(b))->u.item.trail))
-#define ffebld_arity(b) ffebld_arity_op(ffebld_op(b))
-#define ffebld_arity_op(o) (ffebld_arity_op_[o])
-#define ffebld_arrter(b) ((b)->u.arrter.array)
-#define ffebld_arrter_pad(b) ((b)->u.arrter.pad)
-#define ffebld_arrter_set_pad(b,p) ((b)->u.arrter.pad = (p))
-#define ffebld_arrter_set_size(b,s) ((b)->u.arrter.size = (s))
-#define ffebld_arrter_size(b) ((b)->u.arrter.size)
-#define ffebld_basictype(b) (ffeinfo_basictype (ffebld_info ((b))))
-#if FFEBLD_whereconstCURRENT_ == FFEBLD_whereconstPROGUNIT_
-#define ffebld_constant_pool() ffe_pool_program_unit()
-#elif FFEBLD_whereconstCURRENT_ == FFEBLD_whereconstFILE_
-#define ffebld_constant_pool() ffe_pool_file()
-#else
-#error
-#endif
-#define ffebld_constant_character1(c) ((c)->u.character1)
-#define ffebld_constant_character2(c) ((c)->u.character2)
-#define ffebld_constant_character3(c) ((c)->u.character3)
-#define ffebld_constant_character4(c) ((c)->u.character4)
-#define ffebld_constant_character5(c) ((c)->u.character5)
-#define ffebld_constant_character6(c) ((c)->u.character6)
-#define ffebld_constant_character7(c) ((c)->u.character7)
-#define ffebld_constant_character8(c) ((c)->u.character8)
-#define ffebld_constant_characterdefault ffebld_constant_character1
-#define ffebld_constant_complex1(c) ((c)->u.complex1)
-#define ffebld_constant_complex2(c) ((c)->u.complex2)
-#define ffebld_constant_complex3(c) ((c)->u.complex3)
-#define ffebld_constant_complex4(c) ((c)->u.complex4)
-#define ffebld_constant_complex5(c) ((c)->u.complex5)
-#define ffebld_constant_complex6(c) ((c)->u.complex6)
-#define ffebld_constant_complex7(c) ((c)->u.complex7)
-#define ffebld_constant_complex8(c) ((c)->u.complex8)
-#define ffebld_constant_complexdefault ffebld_constant_complex1
-#define ffebld_constant_complexdouble ffebld_constant_complex2
-#define ffebld_constant_complexquad ffebld_constant_complex3
-#define ffebld_constant_copy(c) (c)
-#define ffebld_constant_hollerith(c) ((c)->u.hollerith)
-#define ffebld_constant_hook(c) ((c)->hook)
-#define ffebld_constant_integer1(c) ((c)->u.integer1)
-#define ffebld_constant_integer2(c) ((c)->u.integer2)
-#define ffebld_constant_integer3(c) ((c)->u.integer3)
-#define ffebld_constant_integer4(c) ((c)->u.integer4)
-#define ffebld_constant_integer5(c) ((c)->u.integer5)
-#define ffebld_constant_integer6(c) ((c)->u.integer6)
-#define ffebld_constant_integer7(c) ((c)->u.integer7)
-#define ffebld_constant_integer8(c) ((c)->u.integer8)
-#define ffebld_constant_integerdefault ffebld_constant_integer1
-#define ffebld_constant_is_numeric(c) ((c)->numeric)
-#define ffebld_constant_logical1(c) ((c)->u.logical1)
-#define ffebld_constant_logical2(c) ((c)->u.logical2)
-#define ffebld_constant_logical3(c) ((c)->u.logical3)
-#define ffebld_constant_logical4(c) ((c)->u.logical4)
-#define ffebld_constant_logical5(c) ((c)->u.logical5)
-#define ffebld_constant_logical6(c) ((c)->u.logical6)
-#define ffebld_constant_logical7(c) ((c)->u.logical7)
-#define ffebld_constant_logical8(c) ((c)->u.logical8)
-#define ffebld_constant_logicaldefault ffebld_constant_logical1
-#define ffebld_constant_new_characterdefault ffebld_constant_new_character1
-#define ffebld_constant_new_characterdefault_val ffebld_constant_new_character1_val
-#define ffebld_constant_new_complexdefault ffebld_constant_new_complex1
-#define ffebld_constant_new_complexdefault_val ffebld_constant_new_complex1_val
-#define ffebld_constant_new_complexdouble ffebld_constant_new_complex2
-#define ffebld_constant_new_complexdouble_val ffebld_constant_new_complex2_val
-#define ffebld_constant_new_complexquad ffebld_constant_new_complex3
-#define ffebld_constant_new_complexquad_valffebld_constant_new_complex3_val
-#define ffebld_constant_new_integerdefault ffebld_constant_new_integer1
-#define ffebld_constant_new_integerdefault_val ffebld_constant_new_integer1_val
-#define ffebld_constant_new_logicaldefault ffebld_constant_new_logical1
-#define ffebld_constant_new_logicaldefault_val ffebld_constant_new_logical1_val
-#define ffebld_constant_new_realdefault ffebld_constant_new_real1
-#define ffebld_constant_new_realdefault_val ffebld_constant_new_real1_val
-#define ffebld_constant_new_realdouble ffebld_constant_new_real2
-#define ffebld_constant_new_realdouble_val ffebld_constant_new_real2_val
-#define ffebld_constant_new_realquad ffebld_constant_new_real3
-#define ffebld_constant_new_realquad_val ffebld_constant_new_real3_val
-#define ffebld_constant_ptr_to_union(c) (&(c)->u)
-#define ffebld_constant_real1(c) ((c)->u.real1)
-#define ffebld_constant_real2(c) ((c)->u.real2)
-#define ffebld_constant_real3(c) ((c)->u.real3)
-#define ffebld_constant_real4(c) ((c)->u.real4)
-#define ffebld_constant_real5(c) ((c)->u.real5)
-#define ffebld_constant_real6(c) ((c)->u.real6)
-#define ffebld_constant_real7(c) ((c)->u.real7)
-#define ffebld_constant_real8(c) ((c)->u.real8)
-#define ffebld_constant_realdefault ffebld_constant_real1
-#define ffebld_constant_realdouble ffebld_constant_real2
-#define ffebld_constant_realquad ffebld_constant_real3
-#define ffebld_constant_set_hook(c,h) ((c)->hook = (h))
-#define ffebld_constant_set_union(c,un) ((c)->u = (un))
-#define ffebld_constant_type(c) ((c)->consttype)
-#define ffebld_constant_typeless(c) ((c)->u.typeless)
-#define ffebld_constant_union(c) ((c)->u)
-#define ffebld_conter(b) ((b)->u.conter.expr)
-#define ffebld_conter_orig(b) ((b)->u.conter.orig)
-#define ffebld_conter_pad(b) ((b)->u.conter.pad)
-#define ffebld_conter_set_orig(b,o) ((b)->u.conter.orig = (o))
-#define ffebld_conter_set_pad(b,p) ((b)->u.conter.pad = (p))
-#define ffebld_copy(b) (b)     /* ~~~Someday really make a copy. */
-#define ffebld_cu_ptr_typeless(u) &(u).typeless
-#define ffebld_cu_ptr_hollerith(u) &(u).hollerith
-#define ffebld_cu_ptr_integer1(u) &(u).integer1
-#define ffebld_cu_ptr_integer2(u) &(u).integer2
-#define ffebld_cu_ptr_integer3(u) &(u).integer3
-#define ffebld_cu_ptr_integer4(u) &(u).integer4
-#define ffebld_cu_ptr_integer5(u) &(u).integer5
-#define ffebld_cu_ptr_integer6(u) &(u).integer6
-#define ffebld_cu_ptr_integer7(u) &(u).integer7
-#define ffebld_cu_ptr_integer8(u) &(u).integer8
-#define ffebld_cu_ptr_integerdefault ffebld_cu_ptr_integer1
-#define ffebld_cu_ptr_logical1(u) &(u).logical1
-#define ffebld_cu_ptr_logical2(u) &(u).logical2
-#define ffebld_cu_ptr_logical3(u) &(u).logical3
-#define ffebld_cu_ptr_logical4(u) &(u).logical4
-#define ffebld_cu_ptr_logical5(u) &(u).logical5
-#define ffebld_cu_ptr_logical6(u) &(u).logical6
-#define ffebld_cu_ptr_logical7(u) &(u).logical7
-#define ffebld_cu_ptr_logical8(u) &(u).logical8
-#define ffebld_cu_ptr_logicaldefault ffebld_cu_ptr_logical1
-#define ffebld_cu_ptr_real1(u) &(u).real1
-#define ffebld_cu_ptr_real2(u) &(u).real2
-#define ffebld_cu_ptr_real3(u) &(u).real3
-#define ffebld_cu_ptr_real4(u) &(u).real4
-#define ffebld_cu_ptr_real5(u) &(u).real5
-#define ffebld_cu_ptr_real6(u) &(u).real6
-#define ffebld_cu_ptr_real7(u) &(u).real7
-#define ffebld_cu_ptr_real8(u) &(u).real8
-#define ffebld_cu_ptr_realdefault ffebld_cu_ptr_real1
-#define ffebld_cu_ptr_realdouble ffebld_cu_ptr_real2
-#define ffebld_cu_ptr_realquad ffebld_cu_ptr_real3
-#define ffebld_cu_ptr_complex1(u) &(u).complex1
-#define ffebld_cu_ptr_complex2(u) &(u).complex2
-#define ffebld_cu_ptr_complex3(u) &(u).complex3
-#define ffebld_cu_ptr_complex4(u) &(u).complex4
-#define ffebld_cu_ptr_complex5(u) &(u).complex5
-#define ffebld_cu_ptr_complex6(u) &(u).complex6
-#define ffebld_cu_ptr_complex7(u) &(u).complex7
-#define ffebld_cu_ptr_complex8(u) &(u).complex8
-#define ffebld_cu_ptr_complexdefault ffebld_cu_ptr_complex1
-#define ffebld_cu_ptr_complexdouble ffebld_cu_ptr_complex2
-#define ffebld_cu_ptr_complexquad ffebld_cu_ptr_complex3
-#define ffebld_cu_ptr_character1(u) &(u).character1
-#define ffebld_cu_ptr_character2(u) &(u).character2
-#define ffebld_cu_ptr_character3(u) &(u).character3
-#define ffebld_cu_ptr_character4(u) &(u).character4
-#define ffebld_cu_ptr_character5(u) &(u).character5
-#define ffebld_cu_ptr_character6(u) &(u).character6
-#define ffebld_cu_ptr_character7(u) &(u).character7
-#define ffebld_cu_ptr_character8(u) &(u).character8
-#define ffebld_cu_val_typeless(u) (u).typeless
-#define ffebld_cu_val_hollerith(u) (u).hollerith
-#define ffebld_cu_val_integer1(u) (u).integer1
-#define ffebld_cu_val_integer2(u) (u).integer2
-#define ffebld_cu_val_integer3(u) (u).integer3
-#define ffebld_cu_val_integer4(u) (u).integer4
-#define ffebld_cu_val_integer5(u) (u).integer5
-#define ffebld_cu_val_integer6(u) (u).integer6
-#define ffebld_cu_val_integer7(u) (u).integer7
-#define ffebld_cu_val_integer8(u) (u).integer8
-#define ffebld_cu_val_integerdefault ffebld_cu_val_integer1
-#define ffebld_cu_val_logical1(u) (u).logical1
-#define ffebld_cu_val_logical2(u) (u).logical2
-#define ffebld_cu_val_logical3(u) (u).logical3
-#define ffebld_cu_val_logical4(u) (u).logical4
-#define ffebld_cu_val_logical5(u) (u).logical5
-#define ffebld_cu_val_logical6(u) (u).logical6
-#define ffebld_cu_val_logical7(u) (u).logical7
-#define ffebld_cu_val_logical8(u) (u).logical8
-#define ffebld_cu_val_logicaldefault ffebld_cu_val_logical
-#define ffebld_cu_val_real1(u) (u).real1
-#define ffebld_cu_val_real2(u) (u).real2
-#define ffebld_cu_val_real3(u) (u).real3
-#define ffebld_cu_val_real4(u) (u).real4
-#define ffebld_cu_val_real5(u) (u).real5
-#define ffebld_cu_val_real6(u) (u).real6
-#define ffebld_cu_val_real7(u) (u).real7
-#define ffebld_cu_val_real8(u) (u).real8
-#define ffebld_cu_val_realdefault ffebld_cu_val_real1
-#define ffebld_cu_val_realdouble ffebld_cu_val_real2
-#define ffebld_cu_val_realquad ffebld_cu_val_real3
-#define ffebld_cu_val_complex1(u) (u).complex1
-#define ffebld_cu_val_complex2(u) (u).complex2
-#define ffebld_cu_val_complex3(u) (u).complex3
-#define ffebld_cu_val_complex4(u) (u).complex4
-#define ffebld_cu_val_complex5(u) (u).complex5
-#define ffebld_cu_val_complex6(u) (u).complex6
-#define ffebld_cu_val_complex7(u) (u).complex7
-#define ffebld_cu_val_complex8(u) (u).complex8
-#define ffebld_cu_val_complexdefault ffebld_cu_val_complex1
-#define ffebld_cu_val_complexdouble ffebld_cu_val_complex2
-#define ffebld_cu_val_complexquad ffebld_cu_val_complex3
-#define ffebld_cu_val_character1(u) (u).character1
-#define ffebld_cu_val_character2(u) (u).character2
-#define ffebld_cu_val_character3(u) (u).character3
-#define ffebld_cu_val_character4(u) (u).character4
-#define ffebld_cu_val_character5(u) (u).character5
-#define ffebld_cu_val_character6(u) (u).character6
-#define ffebld_cu_val_character7(u) (u).character7
-#define ffebld_cu_val_character8(u) (u).character8
-#define ffebld_end_list(b) (*(b) = NULL)
-#define ffebld_head(b) ((b)->u.item.head)
-#define ffebld_info(b) ((b)->info)
-#define ffebld_init_3()
-#define ffebld_init_4()
-#define ffebld_init_list(l,b) (*(l) = NULL, *(b) = (l))
-#define ffebld_item_hook(b) ((b)->u.item.hook)
-#define ffebld_item_set_hook(b,h) ((b)->u.item.hook = (h))
-#define ffebld_kind(b) (ffeinfo_kind (ffebld_info ((b))))
-#define ffebld_kindtype(b) (ffeinfo_kindtype (ffebld_info ((b))))
-#define ffebld_labter(b) ((b)->u.labter)
-#define ffebld_labtok(b) ((b)->u.labtok)
-#define ffebld_left(b) ((b)->u.nonter.left)
-#define ffebld_name_string(n) ((n)->name)
-#define ffebld_new()                                                         \
-  ((ffebld) malloc_new_kp(ffebld_pool(), "FFEBLD",sizeof(struct _ffebld_)))
-#define ffebld_new_any() ffebld_new_none(FFEBLD_opANY)
-#define ffebld_new_conter(c) ffebld_new_conter_with_orig((c),NULL)
-#define ffebld_new_star() ffebld_new_none(FFEBLD_opSTAR)
-#define ffebld_new_uplus(l) ffebld_new_one(FFEBLD_opUPLUS,(l))
-#define ffebld_new_uminus(l) ffebld_new_one(FFEBLD_opUMINUS,(l))
-#define ffebld_new_add(l,r) ffebld_new_two(FFEBLD_opADD,(l),(r))
-#define ffebld_new_subtract(l,r) ffebld_new_two(FFEBLD_opSUBTRACT,(l),(r))
-#define ffebld_new_multiply(l,r) ffebld_new_two(FFEBLD_opMULTIPLY,(l),(r))
-#define ffebld_new_divide(l,r) ffebld_new_two(FFEBLD_opDIVIDE,(l),(r))
-#define ffebld_new_power(l,r) ffebld_new_two(FFEBLD_opPOWER,(l),(r))
-#define ffebld_new_bounds(l,r) ffebld_new_two(FFEBLD_opBOUNDS,(l),(r))
-#define ffebld_new_concatenate(l,r) ffebld_new_two(FFEBLD_opCONCATENATE,(l),(r))
-#define ffebld_new_not(l) ffebld_new_one(FFEBLD_opNOT,(l))
-#define ffebld_new_lt(l,r) ffebld_new_two(FFEBLD_opLT,(l),(r))
-#define ffebld_new_le(l,r) ffebld_new_two(FFEBLD_opLE,(l),(r))
-#define ffebld_new_eq(l,r) ffebld_new_two(FFEBLD_opEQ,(l),(r))
-#define ffebld_new_ne(l,r) ffebld_new_two(FFEBLD_opNE,(l),(r))
-#define ffebld_new_gt(l,r) ffebld_new_two(FFEBLD_opGT,(l),(r))
-#define ffebld_new_ge(l,r) ffebld_new_two(FFEBLD_opGE,(l),(r))
-#define ffebld_new_and(l,r) ffebld_new_two(FFEBLD_opAND,(l),(r))
-#define ffebld_new_or(l,r) ffebld_new_two(FFEBLD_opOR,(l),(r))
-#define ffebld_new_xor(l,r) ffebld_new_two(FFEBLD_opXOR,(l),(r))
-#define ffebld_new_eqv(l,r) ffebld_new_two(FFEBLD_opEQV,(l),(r))
-#define ffebld_new_neqv(l,r) ffebld_new_two(FFEBLD_opNEQV,(l),(r))
-#define ffebld_new_paren(l) ffebld_new_one(FFEBLD_opPAREN,(l))
-#define ffebld_new_repeat(l,r) ffebld_new_two(FFEBLD_opREPEAT,(l),(r))
-#define ffebld_new_percent_descr(l) ffebld_new_one(FFEBLD_opPERCENT_DESCR,(l))
-#define ffebld_new_percent_loc(l) ffebld_new_one(FFEBLD_opPERCENT_LOC,(l))
-#define ffebld_new_percent_ref(l) ffebld_new_one(FFEBLD_opPERCENT_REF,(l))
-#define ffebld_new_percent_val(l) ffebld_new_one(FFEBLD_opPERCENT_VAL,(l))
-#define ffebld_new_complex(l,r) ffebld_new_two(FFEBLD_opCOMPLEX,(l),(r))
-#define ffebld_new_convert(l) ffebld_new_one(FFEBLD_opCONVERT,(l))
-#define ffebld_new_funcref(l,r) ffebld_new_two(FFEBLD_opFUNCREF,(l),(r))
-#define ffebld_new_subrref(l,r) ffebld_new_two(FFEBLD_opSUBRREF,(l),(r))
-#define ffebld_new_arrayref(l,r) ffebld_new_two(FFEBLD_opARRAYREF,(l),(r))
-#define ffebld_new_substr(l,r) ffebld_new_two(FFEBLD_opSUBSTR,(l),(r))
-#define ffebld_new_impdo(l,r) ffebld_new_two(FFEBLD_opIMPDO,(l),(r))
-#define ffebld_nonter_hook(b) ((b)->u.nonter.hook)
-#define ffebld_nonter_set_hook(b,h) ((b)->u.nonter.hook = (h))
-#define ffebld_op(b) ((b)->op)
-#define ffebld_pool() (ffebld_pool_stack_.pool)
-#define ffebld_rank(b) (ffeinfo_rank (ffebld_info ((b))))
-#define ffebld_right(b) ((b)->u.nonter.right)
-#define ffebld_set_accter(b,a) ((b)->u.accter.array = (a))
-#define ffebld_set_arrter(b,a) ((b)->u.arrter.array = (a))
-#define ffebld_set_conter(b,c) ((b)->u.conter.expr = (c))
-#define ffebld_set_info(b,i) ((b)->info = (i))
-#define ffebld_set_labter(b,l) ((b)->u.labter = (l))
-#define ffebld_set_op(b,o) ((b)->op = (o))
-#define ffebld_set_head(b,h) ((b)->u.item.head = (h))
-#define ffebld_set_left(b,l) ((b)->u.nonter.left = (l))
-#define ffebld_set_right(b,r) ((b)->u.nonter.right = (r))
-#define ffebld_set_trail(b,t) ((b)->u.item.trail = (t))
-#define ffebld_size(b) (ffeinfo_size (ffebld_info ((b))))
-#define ffebld_size_known(b) ffebld_size((b))
-#define ffebld_symter(b) ((b)->u.symter.symbol)
-#define ffebld_symter_generic(b) ((b)->u.symter.generic)
-#define ffebld_symter_doiter(b) ((b)->u.symter.do_iter)
-#define ffebld_symter_implementation(b) ((b)->u.symter.implementation)
-#define ffebld_symter_specific(b) ((b)->u.symter.specific)
-#define ffebld_symter_set_generic(b,g) ((b)->u.symter.generic = (g))
-#define ffebld_symter_set_implementation(b,i) \
-  ((b)->u.symter.implementation = (i))
-#define ffebld_symter_set_is_doiter(b,f) ((b)->u.symter.do_iter = (f))
-#define ffebld_symter_set_specific(b,s) ((b)->u.symter.specific = (s))
-#define ffebld_terminate_0()
-#define ffebld_terminate_1()
-#define ffebld_terminate_2()
-#define ffebld_terminate_3()
-#define ffebld_terminate_4()
-#define ffebld_trail(b) ((b)->u.item.trail)
-#define ffebld_where(b) (ffeinfo_where (ffebld_info ((b))))
-
-/* End of #include file. */
-
-#endif /* ! GCC_F_BLD_H */
diff --git a/contrib/gcc-3.4/gcc/f/bugs.texi b/contrib/gcc-3.4/gcc/f/bugs.texi
deleted file mode 100644 (file)
index fdc4f15..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
-@c This is part of the G77 manual.
-@c For copying conditions, see the file g77.texi.
-
-@c The text of this file appears in the file BUGS
-@c in the G77 distribution, as well as in the G77 manual.
-
-@c Keep this the same as the dates above, since it's used
-@c in the standalone derivations of this file (e.g. BUGS).
-@set copyrights-bugs 1995,1996,1997,1998,1999,2000,2001,2002,2004
-
-@set last-update-bugs 2004-05-18
-
-@ifset DOC-BUGS
-@include root.texi
-@c The immediately following lines apply to the BUGS file
-@c which is derived from this file.
-@emph{Note:} This file is automatically generated from the files
-@file{bugs0.texi} and @file{bugs.texi}.
-@file{BUGS} is @emph{not} a source file,
-although it is normally included within source distributions.
-
-This file lists known bugs in the @value{which-g77} version
-of the GNU Fortran compiler.
-Copyright (C) @value{copyrights-bugs} Free Software Foundation, Inc.
-You may copy, distribute, and modify it freely as long as you preserve
-this copyright notice and permission notice.
-
-@node Top,,, (dir)
-@chapter Known Bugs In GNU Fortran
-@end ifset
-
-@ifset DOC-G77
-@node Known Bugs
-@section Known Bugs In GNU Fortran
-@end ifset
-
-This section identifies bugs that @code{g77} @emph{users}
-might run into in the @value{which-g77} version
-of @code{g77}.
-This includes bugs that are actually in the @code{gcc}
-back end (GBE) or in @code{libf2c}, because those
-sets of code are at least somewhat under the control
-of (and necessarily intertwined with) @code{g77},
-so it isn't worth separating them out.
-
-@ifset DOC-G77
-For information on bugs in @emph{other} versions of @code{g77},
-see @ref{News,,News About GNU Fortran}.
-There, lists of bugs fixed in various versions of @code{g77}
-can help determine what bugs existed in prior versions.
-@end ifset
-
-@ifset DOC-BUGS
-For information on bugs in @emph{other} versions of @code{g77},
-see @file{@value{path-g77}/NEWS}.
-There, lists of bugs fixed in various versions of @code{g77}
-can help determine what bugs existed in prior versions.
-@end ifset
-
-@ifset DEVELOPMENT
-@emph{Warning:} The information below is still under development,
-and might not accurately reflect the @code{g77} code base
-of which it is a part.
-Efforts are made to keep it somewhat up-to-date,
-but they are particularly concentrated
-on any version of this information
-that is distributed as part of a @emph{released} @code{g77}.
-
-In particular, while this information is intended to apply to
-the @value{which-g77} version of @code{g77},
-only an official @emph{release} of that version
-is expected to contain documentation that is
-most consistent with the @code{g77} product in that version.
-@end ifset
-
-The following information was last updated on @value{last-update-bugs}:
-
-@itemize @bullet
-@item
-@code{g77} fails to warn about
-use of a ``live'' iterative-DO variable
-as an implied-DO variable
-in a @code{WRITE} or @code{PRINT} statement
-(although it does warn about this in a @code{READ} statement).
-
-@item
-Something about @code{g77}'s straightforward handling of
-label references and definitions sometimes prevents the GBE
-from unrolling loops.
-Until this is solved, try inserting or removing @code{CONTINUE}
-statements as the terminal statement, using the @code{END DO}
-form instead, and so on.
-
-@item
-Some confusion in diagnostics concerning failing @code{INCLUDE}
-statements from within @code{INCLUDE}'d or @code{#include}'d files.
-
-@cindex integer constants
-@cindex constants, integer
-@item
-@code{g77} assumes that @code{INTEGER(KIND=1)} constants range
-from @samp{-2**31} to @samp{2**31-1} (the range for
-two's-complement 32-bit values),
-instead of determining their range from the actual range of the
-type for the configuration (and, someday, for the constant).
-
-Further, it generally doesn't implement the handling
-of constants very well in that it makes assumptions about the
-configuration that it no longer makes regarding variables (types).
-
-Included with this item is the fact that @code{g77} doesn't recognize
-that, on IEEE-754/854-compliant systems, @samp{0./0.} should produce a NaN
-and no warning instead of the value @samp{0.} and a warning.
-
-@cindex compiler speed
-@cindex speed, of compiler
-@cindex compiler memory usage
-@cindex memory usage, of compiler
-@cindex large aggregate areas
-@cindex initialization, bug
-@cindex DATA statement
-@cindex statements, DATA
-@item
-@code{g77} uses way too much memory and CPU time to process large aggregate
-areas having any initialized elements.
-
-For example, @samp{REAL A(1000000)} followed by @samp{DATA A(1)/1/}
-takes up way too much time and space, including
-the size of the generated assembler file.
-
-Version 0.5.18 improves cases like this---specifically,
-cases of @emph{sparse} initialization that leave large, contiguous
-areas uninitialized---significantly.
-However, even with the improvements, these cases still
-require too much memory and CPU time.
-
-(Version 0.5.18 also improves cases where the initial values are
-zero to a much greater degree, so if the above example
-ends with @samp{DATA A(1)/0/}, the compile-time performance
-will be about as good as it will ever get, aside from unrelated
-improvements to the compiler.)
-
-Note that @code{g77} does display a warning message to
-notify the user before the compiler appears to hang.
-@ifset DOC-G77
-A warning message is issued when @code{g77} sees code that provides
-initial values (e.g. via @code{DATA}) to an aggregate area (@code{COMMON}
-or @code{EQUIVALENCE}, or even a large enough array or @code{CHARACTER}
-variable)
-that is large enough to increase @code{g77}'s compile time by roughly
-a factor of 10.
-
-This size currently is quite small, since @code{g77}
-currently has a known bug requiring too much memory
-and time to handle such cases.
-In @file{@value{path-g77}/data.c}, the macro
-@code{FFEDATA_sizeTOO_BIG_INIT_} is defined
-to the minimum size for the warning to appear.
-The size is specified in storage units,
-which can be bytes, words, or whatever, on a case-by-case basis.
-
-After changing this macro definition, you must
-(of course) rebuild and reinstall @code{g77} for
-the change to take effect.
-
-Note that, as of version 0.5.18, improvements have
-reduced the scope of the problem for @emph{sparse}
-initialization of large arrays, especially those
-with large, contiguous uninitialized areas.
-However, the warning is issued at a point prior to
-when @code{g77} knows whether the initialization is sparse,
-and delaying the warning could mean it is produced
-too late to be helpful.
-
-Therefore, the macro definition should not be adjusted to
-reflect sparse cases.
-Instead, adjust it to generate the warning when densely
-initialized arrays begin to cause responses noticeably slower
-than linear performance would suggest.
-@end ifset
-
-@cindex code, displaying main source
-@cindex displaying main source code
-@cindex debugging main source code
-@cindex printing main source
-@item
-When debugging, after starting up the debugger but before being able
-to see the source code for the main program unit, the user must currently
-set a breakpoint at @code{MAIN__} (or @code{MAIN___} or @code{MAIN_} if
-@code{MAIN__} doesn't exist)
-and run the program until it hits the breakpoint.
-At that point, the
-main program unit is activated and about to execute its first
-executable statement, but that's the state in which the debugger should
-start up, as is the case for languages like C.
-
-@cindex debugger
-@item
-Debugging @code{g77}-compiled code using debuggers other than
-@code{gdb} is likely not to work.
-
-Getting @code{g77} and @code{gdb} to work together is a known
-problem---getting @code{g77} to work properly with other
-debuggers, for which source code often is unavailable to @code{g77}
-developers, seems like a much larger, unknown problem,
-and is a lower priority than making @code{g77} and @code{gdb}
-work together properly.
-
-On the other hand, information about problems other debuggers
-have with @code{g77} output might make it easier to properly
-fix @code{g77}, and perhaps even improve @code{gdb}, so it
-is definitely welcome.
-Such information might even lead to all relevant products
-working together properly sooner.
-
-@cindex Alpha, support
-@cindex support, Alpha
-@item
-@code{g77} doesn't work perfectly on 64-bit configurations
-such as the Digital Semiconductor (``DEC'') Alpha.
-
-This problem is largely resolved as of version 0.5.23.
-
-@cindex padding
-@cindex structures
-@cindex common blocks
-@cindex equivalence areas
-@item
-@code{g77} currently inserts needless padding for things like
-@samp{COMMON A,IPAD} where @samp{A} is @code{CHARACTER*1} and @samp{IPAD}
-is @code{INTEGER(KIND=1)} on machines like x86,
-because the back end insists that @samp{IPAD}
-be aligned to a 4-byte boundary,
-but the processor has no such requirement
-(though it is usually good for performance).
-
-The @code{gcc} back end needs to provide a wider array
-of specifications of alignment requirements and preferences for targets,
-and front ends like @code{g77} should take advantage of this
-when it becomes available.
-
-@cindex complex performance
-@cindex aliasing
-@item
-The @code{libf2c} routines that perform some run-time
-arithmetic on @code{COMPLEX} operands
-were modified circa version 0.5.20 of @code{g77}
-to work properly even in the presence of aliased operands.
-
-While the @code{g77} and @code{netlib} versions of @code{libf2c}
-differ on how this is accomplished,
-the main differences are that we believe
-the @code{g77} version works properly
-even in the presence of @emph{partially} aliased operands.
-
-However, these modifications have reduced performance
-on targets such as x86,
-due to the extra copies of operands involved.
-@end itemize
diff --git a/contrib/gcc-3.4/gcc/f/bugs0.texi b/contrib/gcc-3.4/gcc/f/bugs0.texi
deleted file mode 100644 (file)
index 9636f4d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-\input texinfo  @c -*-texinfo-*-
-@c %**start of header
-@setfilename BUGS
-@c %**end of header
-
-@c This tells bugs.texi that it's generating just the BUGS file.
-@set DOC-BUGS
-@include bugs.texi
-@bye
diff --git a/contrib/gcc-3.4/gcc/f/com-rt.def b/contrib/gcc-3.4/gcc/f/com-rt.def
deleted file mode 100644 (file)
index 185aef5..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-/* com-rt.def -- Public #include File (module.h template V1.0)
-   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
-
-   Owning Modules:
-      com.c
-
-   Modifications:
-*/
-
-/* DEFGFRT(CODE,NAME,TYPE,VOLATILE,COMPLEX,CONST):
-
-   CODE -- the #define name to use to refer to the function in g77 code
-
-   NAME -- the name as seen by the back end and, with whatever massaging
-          is normal, the linker
-
-   TYPE -- a code for the tree for the type, assigned when first encountered
-          (NOTE: There's a distinction made between the semantic return
-          value for the function, and the actual return mechanism; e.g.
-          `r_abs()' computes a single-precision `float' return value
-          but returns it as a `double'.  This distinction is important
-          and is flagged via the _F2C_ versus _GNU_ suffix.)
-
-   ARGS -- a string of codes representing the types of the arguments; the
-           last type specifies the type for that and all following args,
-           and the null pointer (0) means the same as "0":
-
-               0  Not applicable at and beyond this point
-               &  Pointer to type that follows
-               a  char
-               c  complex
-               d  doublereal
-               e  doublecomplex
-               f  real
-               i  integer
-               j  longint
-
-   VOLATILE -- TRUE if the function never returns (gen's emit_barrier in
-              g77 back end)
-
-   COMPLEX -- TRUE if the return value is COMPLEX or DOUBLE COMPLEX and
-             thus might need to be returned as ptr-to-1st-arg
-
-   CONST -- TRUE if the function is const
-            (does not have side effects and only depends on its arguments).
-
-*/
-
-DEFGFRT (FFECOM_gfrtCAT, "s_cat", FFECOM_rttypeVOID_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCMP, "s_cmp", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCOPY, "s_copy", FFECOM_rttypeVOID_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtPAUSE, "s_paus", FFECOM_rttypeVOID_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSTOP, "s_stop", FFECOM_rttypeVOID_, 0, TRUE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtRANGE, "s_rnge", FFECOM_rttypeINTEGER_, 0, TRUE, FALSE, FALSE)
-
-DEFGFRT (FFECOM_gfrtSRDUE, "s_rdue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtERDUE, "e_rdue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSRSUE, "s_rsue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtERSUE, "e_rsue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSRDFE, "s_rdfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtERDFE, "e_rdfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSRSFI, "s_rsfi", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtERSFI, "e_rsfi", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSRSFE, "s_rsfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtERSFE, "e_rsfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSRSLI, "s_rsli", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtERSLI, "e_rsli", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSRSLE, "s_rsle", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtERSLE, "e_rsle", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSRSNE, "s_rsne", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-
-DEFGFRT (FFECOM_gfrtSWDUE, "s_wdue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtEWDUE, "e_wdue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSWSUE, "s_wsue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtEWSUE, "e_wsue", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSWDFE, "s_wdfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtEWDFE, "e_wdfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSWSFI, "s_wsfi", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtEWSFI, "e_wsfi", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSWSFE, "s_wsfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtEWSFE, "e_wsfe", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSWSLI, "s_wsli", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtEWSLI, "e_wsli", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSWSLE, "s_wsle", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtEWSLE, "e_wsle", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtSWSNE, "s_wsne", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-
-DEFGFRT (FFECOM_gfrtDOFIO, "do_fio", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtDOLIO, "do_lio", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtDOUIO, "do_uio", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-
-DEFGFRT (FFECOM_gfrtFOPEN, "f_open", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtFCLOS, "f_clos", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtFINQU, "f_inqu", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-
-DEFGFRT (FFECOM_gfrtFBACK, "f_back", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtFEND, "f_end", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtFREW, "f_rew", FFECOM_rttypeINTEGER_, 0, FALSE, FALSE, FALSE)
-
-DEFGFRT (FFECOM_gfrtABORT, "G77_abort_0", FFECOM_rttypeVOID_, 0, TRUE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtABS, "r_abs", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtACCESS, "G77_access_0", FFECOM_rttypeINTEGER_, "&a&a", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtACOS, "r_acos", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtAIMAG, "r_imag", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtAINT, "r_int", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtALARM, "G77_alarm_0", FFECOM_rttypeINTEGER_, "&i0", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtALOG, "r_log", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtALOG10, "r_lg10", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtAMOD, "r_mod", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtANINT, "r_nint", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtASIN, "r_asin", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtATAN, "r_atan", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtATAN2, "r_atn2", FFECOM_rttypeREAL_F2C_, "&f&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCABS, "c_abs", FFECOM_rttypeREAL_F2C_, "&c", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCCOS, "c_cos", FFECOM_rttypeCOMPLEX_F2C_, "&c", FALSE, TRUE, FALSE)
-DEFGFRT (FFECOM_gfrtCEXP, "c_exp", FFECOM_rttypeCOMPLEX_F2C_, "&c", FALSE, TRUE, FALSE)
-DEFGFRT (FFECOM_gfrtCHDIR, "G77_chdir_0", FFECOM_rttypeINTEGER_, "&a", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCLOG, "c_log", FFECOM_rttypeCOMPLEX_F2C_, "&c", FALSE, TRUE, FALSE)
-DEFGFRT (FFECOM_gfrtCHMOD, "G77_chmod_0", FFECOM_rttypeINTEGER_, "&a&a", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCONJG, "r_cnjg", FFECOM_rttypeCOMPLEX_F2C_, "&c", FALSE, TRUE, FALSE)
-DEFGFRT (FFECOM_gfrtCOS, "r_cos", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCOSH, "r_cosh", FFECOM_rttypeREAL_F2C_, "&f", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtCSIN, "c_sin", FFECOM_rttypeCOMPLEX_F2C_, "&c", FALSE, TRUE, FALSE)
-DEFGFRT (FFECOM_gfrtCSQRT, "c_sqrt", FFECOM_rttypeCOMPLEX_F2C_, "&c", FALSE, TRUE, FALSE)
-DEFGFRT (FFECOM_gfrtCTIME, "G77_ctime_0", FFECOM_rttypeCHARACTER_, "&j", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtDABS, "d_abs", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtDACOS, "d_acos", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE, FALSE)
-DEFGFRT (FFECOM_gfrtDASIN, "d_asin", FFECOM_rttypeDOUBLE_, "&d", FALSE, FALSE,&nb