G-format compilers for Ultrix/Unix Vaxes (4 of 4)

sources-request at panda.UUCP sources-request at panda.UUCP
Mon Nov 11 23:23:45 AEST 1985


Mod.sources:  Volume 3, Issue 40
Submitted by: J.D.Aplevich <decvax!watmath!watdcsu!aplevich>


#!/bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #!/bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	gfloat
# This archive created: Wed Oct 30 20:44:40 1985
export PATH; PATH=/bin:$PATH
if test ! -d 'gfloat'
then
	mkdir 'gfloat'
fi
cd 'gfloat'
if test ! -d 'f77'
then
	mkdir 'f77'
fi
cd 'f77'
if test ! -d 'src'
then
	mkdir 'src'
fi
cd 'src'
if test ! -d 'f77pass1'
then
	mkdir 'f77pass1'
fi
cd 'f77pass1'
if test -f 'intr.c.diff'
then
	echo shar: over-writing existing file "'intr.c.diff'"
fi
cat << \SHAR_EOF > 'intr.c.diff'
*** ../f77/src/f77pass1/intr.c.orig	Tue Oct 29 15:16:01 1985
--- ../f77/src/f77pass1/intr.c	Tue Oct 29 15:22:50 1985
***************
*** 237,242
  	{ TYCOMPLEX,TYCOMPLEX,1,"r_cnjg" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"d_cnjg" },
  
  	{ TYREAL,TYREAL,1,"r_sqrt", 1 },
  	{ TYDREAL,TYDREAL,1,"d_sqrt", 1 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sqrt" },

--- 237,243 -----
  	{ TYCOMPLEX,TYCOMPLEX,1,"r_cnjg" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"d_cnjg" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_sqrt", 1 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_sqrt" },
***************
*** 238,243
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"d_cnjg" },
  
  	{ TYREAL,TYREAL,1,"r_sqrt", 1 },
  	{ TYDREAL,TYDREAL,1,"d_sqrt", 1 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sqrt" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sqrt" },

--- 239,247 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_sqrt", 1 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_sqrt" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_sqrt", 1 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sqrt" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sqrt" },
***************
*** 242,247
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sqrt" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sqrt" },
  
  	{ TYREAL,TYREAL,1,"r_exp", 2 },
  	{ TYDREAL,TYDREAL,1,"d_exp", 2 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_exp" },

--- 246,252 -----
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sqrt" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sqrt" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_exp", 2 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_exp" },
***************
*** 243,248
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sqrt" },
  
  	{ TYREAL,TYREAL,1,"r_exp", 2 },
  	{ TYDREAL,TYDREAL,1,"d_exp", 2 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_exp" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_exp" },

--- 248,256 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_exp", 2 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_exp" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_exp", 2 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_exp" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_exp" },
***************
*** 247,252
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_exp" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_exp" },
  
  	{ TYREAL,TYREAL,1,"r_log", 3 },
  	{ TYDREAL,TYDREAL,1,"d_log", 3 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_log" },

--- 255,261 -----
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_exp" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_exp" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_log", 3 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_log" },
***************
*** 248,253
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_exp" },
  
  	{ TYREAL,TYREAL,1,"r_log", 3 },
  	{ TYDREAL,TYDREAL,1,"d_log", 3 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_log" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_log" },

--- 257,265 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_log", 3 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_log" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_log", 3 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_log" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_log" },
***************
*** 255,260
  	{ TYREAL,TYREAL,1,"r_lg10" },
  	{ TYDREAL,TYDREAL,1,"d_lg10" },
  
  	{ TYREAL,TYREAL,1,"r_sin", 4 },
  	{ TYDREAL,TYDREAL,1,"d_sin", 4 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sin" },

--- 267,273 -----
  	{ TYREAL,TYREAL,1,"r_lg10" },
  	{ TYDREAL,TYDREAL,1,"d_lg10" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_sin", 4 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_sin" }, 
***************
*** 256,261
  	{ TYDREAL,TYDREAL,1,"d_lg10" },
  
  	{ TYREAL,TYREAL,1,"r_sin", 4 },
  	{ TYDREAL,TYDREAL,1,"d_sin", 4 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sin" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sin" },

--- 269,277 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_sin", 4 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_sin" }, 
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_sin", 4 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sin" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sin" },
***************
*** 260,265
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sin" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sin" },
  
  	{ TYREAL,TYREAL,1,"r_cos", 5 },
  	{ TYDREAL,TYDREAL,1,"d_cos", 5 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_cos" },

--- 276,282 -----
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_sin" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sin" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_cos", 5 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_cos" },
***************
*** 261,266
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_sin" },
  
  	{ TYREAL,TYREAL,1,"r_cos", 5 },
  	{ TYDREAL,TYDREAL,1,"d_cos", 5 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_cos" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_cos" },

--- 278,286 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_cos", 5 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_cos" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_cos", 5 },
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_cos" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_cos" },
***************
*** 265,270
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_cos" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_cos" },
  
  	{ TYREAL,TYREAL,1,"r_tan", 6 },
  	{ TYDREAL,TYDREAL,1,"d_tan", 6 },
  

--- 285,291 -----
  	{ TYCOMPLEX,TYCOMPLEX,1,"c_cos" },
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_cos" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_tan", 6 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_tan" },
***************
*** 266,271
  	{ TYDCOMPLEX,TYDCOMPLEX,1,"z_cos" },
  
  	{ TYREAL,TYREAL,1,"r_tan", 6 },
  	{ TYDREAL,TYDREAL,1,"d_tan", 6 },
  
  	{ TYREAL,TYREAL,1,"r_asin", 7 },

--- 287,295 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_tan", 6 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_tan" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_tan", 6 },
  
  #ifndef GFLOAT
***************
*** 268,273
  	{ TYREAL,TYREAL,1,"r_tan", 6 },
  	{ TYDREAL,TYDREAL,1,"d_tan", 6 },
  
  	{ TYREAL,TYREAL,1,"r_asin", 7 },
  	{ TYDREAL,TYDREAL,1,"d_asin", 7 },
  

--- 292,298 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_tan", 6 },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_asin", 7 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_asin" },
***************
*** 269,274
  	{ TYDREAL,TYDREAL,1,"d_tan", 6 },
  
  	{ TYREAL,TYREAL,1,"r_asin", 7 },
  	{ TYDREAL,TYDREAL,1,"d_asin", 7 },
  
  	{ TYREAL,TYREAL,1,"r_acos", 8 },

--- 294,302 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_asin", 7 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_asin" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_asin", 7 },
  
  #ifndef GFLOAT
***************
*** 271,276
  	{ TYREAL,TYREAL,1,"r_asin", 7 },
  	{ TYDREAL,TYDREAL,1,"d_asin", 7 },
  
  	{ TYREAL,TYREAL,1,"r_acos", 8 },
  	{ TYDREAL,TYDREAL,1,"d_acos", 8 },
  

--- 299,305 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_asin", 7 },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_acos", 8 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_acos" },
***************
*** 272,277
  	{ TYDREAL,TYDREAL,1,"d_asin", 7 },
  
  	{ TYREAL,TYREAL,1,"r_acos", 8 },
  	{ TYDREAL,TYDREAL,1,"d_acos", 8 },
  
  	{ TYREAL,TYREAL,1,"r_atan", 9 },

--- 301,309 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_acos", 8 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_acos" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_acos", 8 },
  
  #ifndef GFLOAT
***************
*** 274,279
  	{ TYREAL,TYREAL,1,"r_acos", 8 },
  	{ TYDREAL,TYDREAL,1,"d_acos", 8 },
  
  	{ TYREAL,TYREAL,1,"r_atan", 9 },
  	{ TYDREAL,TYDREAL,1,"d_atan", 9 },
  

--- 306,312 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_acos", 8 },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_atan", 9 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_atan" },
***************
*** 275,280
  	{ TYDREAL,TYDREAL,1,"d_acos", 8 },
  
  	{ TYREAL,TYREAL,1,"r_atan", 9 },
  	{ TYDREAL,TYDREAL,1,"d_atan", 9 },
  
  	{ TYREAL,TYREAL,2,"r_atn2", 10 },

--- 308,316 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_atan", 9 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_atan" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_atan", 9 },
  
  #ifndef GFLOAT
***************
*** 277,282
  	{ TYREAL,TYREAL,1,"r_atan", 9 },
  	{ TYDREAL,TYDREAL,1,"d_atan", 9 },
  
  	{ TYREAL,TYREAL,2,"r_atn2", 10 },
  	{ TYDREAL,TYDREAL,2,"d_atn2", 10 },
  

--- 313,319 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_atan", 9 },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,2,"r_atn2", 10 },
  #else GFLOAT
  	{ TYREAL,TYREAL,2,"r_atn2" },
***************
*** 278,283
  	{ TYDREAL,TYDREAL,1,"d_atan", 9 },
  
  	{ TYREAL,TYREAL,2,"r_atn2", 10 },
  	{ TYDREAL,TYDREAL,2,"d_atn2", 10 },
  
  	{ TYREAL,TYREAL,1,"r_sinh", 11 },

--- 315,323 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,2,"r_atn2", 10 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,2,"r_atn2" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,2,"d_atn2", 10 },
  
  #ifndef GFLOAT
***************
*** 280,285
  	{ TYREAL,TYREAL,2,"r_atn2", 10 },
  	{ TYDREAL,TYDREAL,2,"d_atn2", 10 },
  
  	{ TYREAL,TYREAL,1,"r_sinh", 11 },
  	{ TYDREAL,TYDREAL,1,"d_sinh", 11 },
  

--- 320,326 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,2,"d_atn2", 10 },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_sinh", 11 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_sinh" },
***************
*** 281,286
  	{ TYDREAL,TYDREAL,2,"d_atn2", 10 },
  
  	{ TYREAL,TYREAL,1,"r_sinh", 11 },
  	{ TYDREAL,TYDREAL,1,"d_sinh", 11 },
  
  	{ TYREAL,TYREAL,1,"r_cosh", 12 },

--- 322,330 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_sinh", 11 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_sinh" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_sinh", 11 },
  
  #ifndef GFLOAT
***************
*** 283,288
  	{ TYREAL,TYREAL,1,"r_sinh", 11 },
  	{ TYDREAL,TYDREAL,1,"d_sinh", 11 },
  
  	{ TYREAL,TYREAL,1,"r_cosh", 12 },
  	{ TYDREAL,TYDREAL,1,"d_cosh", 12 },
  

--- 327,333 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_sinh", 11 },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_cosh", 12 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_cosh" },
***************
*** 284,289
  	{ TYDREAL,TYDREAL,1,"d_sinh", 11 },
  
  	{ TYREAL,TYREAL,1,"r_cosh", 12 },
  	{ TYDREAL,TYDREAL,1,"d_cosh", 12 },
  
  	{ TYREAL,TYREAL,1,"r_tanh", 13 },

--- 329,337 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_cosh", 12 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_cosh" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_cosh", 12 },
  
  #ifndef GFLOAT
***************
*** 286,291
  	{ TYREAL,TYREAL,1,"r_cosh", 12 },
  	{ TYDREAL,TYDREAL,1,"d_cosh", 12 },
  
  	{ TYREAL,TYREAL,1,"r_tanh", 13 },
  	{ TYDREAL,TYDREAL,1,"d_tanh", 13 },
  

--- 334,340 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_cosh", 12 },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_tanh", 13 },
  #else GFLOAT
  	{ TYREAL,TYREAL,1,"r_tanh" },
***************
*** 287,292
  	{ TYDREAL,TYDREAL,1,"d_cosh", 12 },
  
  	{ TYREAL,TYREAL,1,"r_tanh", 13 },
  	{ TYDREAL,TYDREAL,1,"d_tanh", 13 },
  
  	{ TYCHAR,TYLOGICAL,2,"hl_ge" },

--- 336,344 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_tanh", 13 },
+ #else GFLOAT
+ 	{ TYREAL,TYREAL,1,"r_tanh" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_tanh", 13 },
  
  	{ TYCHAR,TYLOGICAL,2,"hl_ge" },
***************
*** 306,311
  	{ TYDREAL,TYSHORT,1,"hd_expn" },
  	{ TYDREAL,TYLONG,1,"id_expn" },
  
  	{ TYREAL,TYREAL,1,"r_absp" },
  	{ TYDREAL,TYDREAL,1,"d_absp" },
  

--- 358,364 -----
  	{ TYDREAL,TYSHORT,1,"hd_expn" },
  	{ TYDREAL,TYLONG,1,"id_expn" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_absp" },
  #else GFLOAT
  	{ TYREAL,TYDREAL,1,"r_absp" },
***************
*** 307,312
  	{ TYDREAL,TYLONG,1,"id_expn" },
  
  	{ TYREAL,TYREAL,1,"r_absp" },
  	{ TYDREAL,TYDREAL,1,"d_absp" },
  
  	{ TYREAL,TYDREAL,1,"r_rrsp" },

--- 360,368 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_absp" },
+ #else GFLOAT
+ 	{ TYREAL,TYDREAL,1,"r_absp" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_absp" },
  
  	{ TYREAL,TYDREAL,1,"r_rrsp" },
***************
*** 312,317
  	{ TYREAL,TYDREAL,1,"r_rrsp" },
  	{ TYDREAL,TYDREAL,1,"d_rrsp" },
  
  	{ TYREAL,TYREAL,1,"r_frac" },
  	{ TYDREAL,TYDREAL,1,"d_frac" },
  

--- 368,374 -----
  	{ TYREAL,TYDREAL,1,"r_rrsp" },
  	{ TYDREAL,TYDREAL,1,"d_rrsp" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_frac" },
  #else GFLOAT
  	{ TYREAL,TYDREAL,1,"r_frac" },
***************
*** 313,318
  	{ TYDREAL,TYDREAL,1,"d_rrsp" },
  
  	{ TYREAL,TYREAL,1,"r_frac" },
  	{ TYDREAL,TYDREAL,1,"d_frac" },
  
  	{ TYREAL,TYREAL,2,"r_make" },

--- 370,378 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,1,"r_frac" },
+ #else GFLOAT
+ 	{ TYREAL,TYDREAL,1,"r_frac" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_frac" },
  
  #ifndef GFLOAT
***************
*** 315,320
  	{ TYREAL,TYREAL,1,"r_frac" },
  	{ TYDREAL,TYDREAL,1,"d_frac" },
  
  	{ TYREAL,TYREAL,2,"r_make" },
  	{ TYDREAL,TYDREAL,2,"d_make" },
  

--- 375,381 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,1,"d_frac" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,2,"r_make" },
  #else GFLOAT
  	{ TYREAL,TYDREAL,2,"r_make" },
***************
*** 316,321
  	{ TYDREAL,TYDREAL,1,"d_frac" },
  
  	{ TYREAL,TYREAL,2,"r_make" },
  	{ TYDREAL,TYDREAL,2,"d_make" },
  
  	{ TYREAL,TYREAL,2,"r_scal" },

--- 377,385 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,2,"r_make" },
+ #else GFLOAT
+ 	{ TYREAL,TYDREAL,2,"r_make" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,2,"d_make" },
  
  #ifndef GFLOAT
***************
*** 318,323
  	{ TYREAL,TYREAL,2,"r_make" },
  	{ TYDREAL,TYDREAL,2,"d_make" },
  
  	{ TYREAL,TYREAL,2,"r_scal" },
  	{ TYDREAL,TYDREAL,2,"d_scal" }
  } ;

--- 382,388 -----
  #endif GFLOAT
  	{ TYDREAL,TYDREAL,2,"d_make" },
  
+ #ifndef GFLOAT
  	{ TYREAL,TYREAL,2,"r_scal" },
  #else GFLOAT
  	{ TYREAL,TYDREAL,2,"r_scal" },
***************
*** 319,324
  	{ TYDREAL,TYDREAL,2,"d_make" },
  
  	{ TYREAL,TYREAL,2,"r_scal" },
  	{ TYDREAL,TYDREAL,2,"d_scal" }
  } ;
  

--- 384,392 -----
  
  #ifndef GFLOAT
  	{ TYREAL,TYREAL,2,"r_scal" },
+ #else GFLOAT
+ 	{ TYREAL,TYDREAL,2,"r_scal" },
+ #endif GFLOAT
  	{ TYDREAL,TYDREAL,2,"d_scal" }
  } ;
  
SHAR_EOF
chmod +x 'intr.c.diff'
if test -f 'optcse.c.diff'
then
	echo shar: over-writing existing file "'optcse.c.diff'"
fi
cat << \SHAR_EOF > 'optcse.c.diff'
*** ../f77/src/f77pass1/optcse.c.orig	Tue Oct 29 15:16:07 1985
--- ../f77/src/f77pass1/optcse.c	Tue Oct 29 15:22:56 1985
***************
*** 477,483
  			case TYLONG:
  				if(ap->ci == bp->ci) return(TRUE);
  				break;
! 			case TYREAL:
  			case TYDREAL:
  				if(ap->cd[0] == bp->cd[0]) return(TRUE);
  				break;

--- 477,487 -----
  			case TYLONG:
  				if(ap->ci == bp->ci) return(TRUE);
  				break;
! 			case TYREAL: 
! #ifdef GFLOAT
! 				if(ap->cr[0] == bp->cr[0]) return(TRUE);
! 				break;
! #endif GFLOAT
  			case TYDREAL:
  				if(ap->cd[0] == bp->cd[0]) return(TRUE);
  				break;
***************
*** 482,487
  				if(ap->cd[0] == bp->cd[0]) return(TRUE);
  				break;
  			case TYCOMPLEX:
  			case TYDCOMPLEX:
  				if(ap->cd[0] == bp->cd[0] &&
  				    ap->cd[1] == bp->cd[1] )

--- 486,497 -----
  				if(ap->cd[0] == bp->cd[0]) return(TRUE);
  				break;
  			case TYCOMPLEX:
+ #ifdef GFLOAT
+ 				if(ap->cr[0] == bp->cr[0] &&
+ 				    ap->cr[1] == bp->cr[1] )
+ 					return(TRUE);
+ 				break;
+ #endif GFLOAT
  			case TYDCOMPLEX:
  				if(ap->cd[0] == bp->cd[0] &&
  				    ap->cd[1] == bp->cd[1] )
SHAR_EOF
chmod +x 'optcse.c.diff'
if test -f 'optloop.c.diff'
then
	echo shar: over-writing existing file "'optloop.c.diff'"
fi
cat << \SHAR_EOF > 'optloop.c.diff'
*** ../f77/src/f77pass1/optloop.c.orig	Tue Oct 29 15:16:09 1985
--- ../f77/src/f77pass1/optloop.c	Wed Oct 30 20:26:44 1985
***************
*** 660,665
        return YES;
  
    if (ISREAL(p->constblock.vtype))
      if (abs(p->constblock.const.cd[0]) <= 1.0)
        return YES;
  

--- 660,666 -----
        return YES;
  
    if (ISREAL(p->constblock.vtype))
+ #ifndef GFLOAT
      if (abs(p->constblock.const.cd[0]) <= 1.0)
  #else GFLOAT
      if (p->constblock.vtype==TYREAL) {
***************
*** 661,666
  
    if (ISREAL(p->constblock.vtype))
      if (abs(p->constblock.const.cd[0]) <= 1.0)
        return YES;
  
    return NO;

--- 662,673 -----
    if (ISREAL(p->constblock.vtype))
  #ifndef GFLOAT
      if (abs(p->constblock.const.cd[0]) <= 1.0)
+ #else GFLOAT
+     if (p->constblock.vtype==TYREAL) {
+       if (abs(p->constblock.const.cr[0]) <= 1.0) return YES;
+       }
+     else if (abs(p->constblock.const.cd[0]) <= 1.0)
+ #endif GFLOAT
        return YES;
  
    return NO;
SHAR_EOF
chmod +x 'optloop.c.diff'
if test -f 'put.c.diff'
then
	echo shar: over-writing existing file "'put.c.diff'"
fi
cat << \SHAR_EOF > 'put.c.diff'
*** ../f77/src/f77pass1/put.c.orig	Tue Oct 29 15:16:12 1985
--- ../f77/src/f77pass1/put.c	Tue Oct 29 15:23:07 1985
***************
*** 169,174
  
  if (ISCONST(p))
  	{
  	if (ISCOMPLEX(p->constblock.vtype))
  		return(mkrealcon(p->constblock.vtype == TYCOMPLEX ?
  					TYREAL : TYDREAL,

--- 169,175 -----
  
  if (ISCONST(p))
  	{
+ #ifndef GFLOAT
  	if (ISCOMPLEX(p->constblock.vtype))
  		return(mkrealcon(p->constblock.vtype == TYCOMPLEX ?
  					TYREAL : TYDREAL,
***************
*** 173,178
  		return(mkrealcon(p->constblock.vtype == TYCOMPLEX ?
  					TYREAL : TYDREAL,
  				p->constblock.const.cd[1]));
  	else if (p->constblock.vtype == TYDREAL)
  		return(mkrealcon(TYDREAL, 0.0));
  	else

--- 174,186 -----
  		return(mkrealcon(p->constblock.vtype == TYCOMPLEX ?
  					TYREAL : TYDREAL,
  				p->constblock.const.cd[1]));
+ #else GFLOAT
+ 	if (p->constblock.vtype == TYCOMPLEX) 
+ 		return(mkrealcon( TYREAL, 
+ 			(double) p->constblock.const.cr[1]));
+ 	else if (p->constblock.vtype == TYDCOMPLEX)
+ 		return(mkrealcon( TYDREAL, p->constblock.const.cd[1]));
+ #endif GFLOAT
  	else if (p->constblock.vtype == TYDREAL)
  		return(mkrealcon(TYDREAL, 0.0));
  	else
***************
*** 340,345
  		k = 2;
  	case TYREAL:
  		type = TYREAL;
  		goto flpt;
  
  	case TYDCOMPLEX:

--- 348,354 -----
  		k = 2;
  	case TYREAL:
  		type = TYREAL;
+ #ifndef GFLOAT
  		goto flpt;
  #else GFLOAT
  		for(i = 0 ; i < k ; ++i) 
***************
*** 341,346
  	case TYREAL:
  		type = TYREAL;
  		goto flpt;
  
  	case TYDCOMPLEX:
  		k = 2;

--- 350,360 -----
  		type = TYREAL;
  #ifndef GFLOAT
  		goto flpt;
+ #else GFLOAT
+ 		for(i = 0 ; i < k ; ++i) 
+ 			prconr(asmfile, type, &p->const.cr[i]); 
+ 		break;
+ #endif GFLOAT
  
  	case TYDCOMPLEX:
  		k = 2;
***************
*** 346,351
  		k = 2;
  	case TYDREAL:
  		type = TYDREAL;
  
  	flpt:
  		for(i = 0 ; i < k ; ++i)

--- 360,366 -----
  		k = 2;
  	case TYDREAL:
  		type = TYDREAL;
+ #ifndef GFLOAT
  
  	flpt:
  #endif GFLOAT
***************
*** 348,353
  		type = TYDREAL;
  
  	flpt:
  		for(i = 0 ; i < k ; ++i)
  			prconr(asmfile, type, p->const.cd[i]);
  		break;

--- 363,369 -----
  #ifndef GFLOAT
  
  	flpt:
+ #endif GFLOAT
  		for(i = 0 ; i < k ; ++i)
  #ifndef GFLOAT
  			prconr(asmfile, type, p->const.cd[i]);
***************
*** 349,354
  
  	flpt:
  		for(i = 0 ; i < k ; ++i)
  			prconr(asmfile, type, p->const.cd[i]);
  		break;
  

--- 365,371 -----
  	flpt:
  #endif GFLOAT
  		for(i = 0 ; i < k ; ++i)
+ #ifndef GFLOAT
  			prconr(asmfile, type, p->const.cd[i]);
  #else GFLOAT
  			prconr(asmfile, type, &p->const.cd[i]);
***************
*** 350,355
  	flpt:
  		for(i = 0 ; i < k ; ++i)
  			prconr(asmfile, type, p->const.cd[i]);
  		break;
  
  	case TYCHAR:

--- 367,375 -----
  		for(i = 0 ; i < k ; ++i)
  #ifndef GFLOAT
  			prconr(asmfile, type, p->const.cd[i]);
+ #else GFLOAT
+ 			prconr(asmfile, type, &p->const.cd[i]);
+ #endif GFLOAT
  		break;
  
  	case TYCHAR:
SHAR_EOF
chmod +x 'put.c.diff'
if test -f 'vax.c.diff'
then
	echo shar: over-writing existing file "'vax.c.diff'"
fi
cat << \SHAR_EOF > 'vax.c.diff'
*** ../f77/src/f77pass1/vax.c.orig	Tue Oct 29 15:16:18 1985
--- ../f77/src/f77pass1/vax.c	Tue Oct 29 15:23:13 1985
***************
*** 69,74
  
  ftnint intcon[14] =
  	{ 2, 2, 2, 2,
  	  15, 31, 24, 56,
  	  -128, -128, 127, 127,
  	  32767, 2147483647 };

--- 69,75 -----
  
  ftnint intcon[14] =
  	{ 2, 2, 2, 2,
+ #ifndef GFLOAT
  	  15, 31, 24, 56,
  	  -128, -128, 127, 127,
  #else GFLOAT
***************
*** 71,76
  	{ 2, 2, 2, 2,
  	  15, 31, 24, 56,
  	  -128, -128, 127, 127,
  	  32767, 2147483647 };
  
  #if HERE == VAX

--- 72,81 -----
  #ifndef GFLOAT
  	  15, 31, 24, 56,
  	  -128, -128, 127, 127,
+ #else GFLOAT
+ 	  15, 31, 24, 53,
+ 	  -128, -1024, 127, 1023,
+ #endif GFLOAT
  	  32767, 2147483647 };
  
  #if HERE == VAX
***************
*** 78,83
  long realcon[6][2] =
  	{
  		{ 0200, 0 },
  		{ 0200, 0 },
  		{ 037777677777, 0 },
  		{ 037777677777, 037777777777 },

--- 83,89 -----
  long realcon[6][2] =
  	{
  		{ 0200, 0 },
+ #ifndef GFLOAT
  		{ 0200, 0 },
  #else GFLOAT
  		{ 0020, 0 },
***************
*** 79,84
  	{
  		{ 0200, 0 },
  		{ 0200, 0 },
  		{ 037777677777, 0 },
  		{ 037777677777, 037777777777 },
  		{ 032200, 0 },

--- 85,93 -----
  		{ 0200, 0 },
  #ifndef GFLOAT
  		{ 0200, 0 },
+ #else GFLOAT
+ 		{ 0020, 0 },
+ #endif GFLOAT
  		{ 037777677777, 0 },
  #ifndef GFLOAT
  		{ 037777677777, 037777777777 },
***************
*** 80,85
  		{ 0200, 0 },
  		{ 0200, 0 },
  		{ 037777677777, 0 },
  		{ 037777677777, 037777777777 },
  		{ 032200, 0 },
  		{ 022200, 0 }

--- 89,95 -----
  		{ 0020, 0 },
  #endif GFLOAT
  		{ 037777677777, 0 },
+ #ifndef GFLOAT
  		{ 037777677777, 037777777777 },
  #else GFLOAT
  		{ 037777677777, 037777777777 },
***************
*** 81,86
  		{ 0200, 0 },
  		{ 037777677777, 0 },
  		{ 037777677777, 037777777777 },
  		{ 032200, 0 },
  		{ 022200, 0 }
  	};

--- 91,99 -----
  		{ 037777677777, 0 },
  #ifndef GFLOAT
  		{ 037777677777, 037777777777 },
+ #else GFLOAT
+ 		{ 037777677777, 037777777777 },
+ #endif GFLOAT
  		{ 032200, 0 },
  #ifndef GFLOAT
  		{ 022200, 0 }
***************
*** 82,87
  		{ 037777677777, 0 },
  		{ 037777677777, 037777777777 },
  		{ 032200, 0 },
  		{ 022200, 0 }
  	};
  #else

--- 95,101 -----
  		{ 037777677777, 037777777777 },
  #endif GFLOAT
  		{ 032200, 0 },
+ #ifndef GFLOAT
  		{ 022200, 0 }
  #else GFLOAT
  		{ 036320, 0 }
***************
*** 83,88
  		{ 037777677777, 037777777777 },
  		{ 032200, 0 },
  		{ 022200, 0 }
  	};
  #else
  double realcon[6] =

--- 97,105 -----
  		{ 032200, 0 },
  #ifndef GFLOAT
  		{ 022200, 0 }
+ #else GFLOAT
+ 		{ 036320, 0 }
+ #endif GFLOAT
  	};
  #else
  double realcon[6] =
***************
*** 197,202
  prconr(fp, type, x)
  FILEP fp;
  int type;
  float x;
  {
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), x);

--- 214,220 -----
  prconr(fp, type, x)
  FILEP fp;
  int type;
+ #ifndef GFLOAT
  float x;
  #else GFLOAT
  float *x;
***************
*** 198,203
  FILEP fp;
  int type;
  float x;
  {
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), x);
  }

--- 216,224 -----
  int type;
  #ifndef GFLOAT
  float x;
+ #else GFLOAT
+ float *x;
+ #endif GFLOAT
  {
  #ifndef GFLOAT
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), x);
***************
*** 199,204
  int type;
  float x;
  {
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), x);
  }
  #endif

--- 220,226 -----
  float *x;
  #endif GFLOAT
  {
+ #ifndef GFLOAT
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), x);
  #else GFLOAT
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), *x);
***************
*** 200,205
  float x;
  {
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), x);
  }
  #endif
  

--- 222,230 -----
  {
  #ifndef GFLOAT
  fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), x);
+ #else GFLOAT
+ fprintf(fp, "\t%s\t0f%e\n", (type==TYREAL ? ".float" : ".double"), *x);
+ #endif GFLOAT
  }
  #endif
  
***************
*** 207,212
  prconr(fp, type, x)
  FILEP fp;
  int type;
  double x;
  {
  /* non-portable cheat to preserve bit patterns */

--- 232,238 -----
  prconr(fp, type, x)
  FILEP fp;
  int type;
+ #ifndef GFLOAT
  double x;
  {
  /* non-portable cheat to preserve bit patterns */
***************
*** 226,231
  	fprintf(fp, "\t.long\t0x%X,0x%X\n", cheat.xl[0], cheat.xl[1]);
  	i = SZDOUBLE;
  	}
  if(fp == initfile)
  	i_offset += i;
  else

--- 252,274 -----
  	fprintf(fp, "\t.long\t0x%X,0x%X\n", cheat.xl[0], cheat.xl[1]);
  	i = SZDOUBLE;
  	}
+ #else GFLOAT
+ /* This assumes two longs make a double */
+ long *x;
+ {
+ register int i;
+ 
+ if(type == TYREAL)
+ 	{
+ 	fprintf(fp, "\t.long\t0x%X\n", *x );
+ 	i = SZFLOAT;
+ 	}
+ else
+ 	{
+ 	fprintf(fp, "\t.long\t0x%X,0x%X\n", *x, *(x+1) );
+ 	i = SZDOUBLE;
+ 	}
+ #endif GFLOAT
  if(fp == initfile)
  	i_offset += i;
  else
***************
*** 369,374
  else if (type == TYSHORT)
  	p2pass("\ttstw\tr0");
  else
  	p2pass("\ttstd\tr0");
  p2pi("\tjlss\tL%d", neg);
  p2pi("\tjeql\tL%d", zer);

--- 412,418 -----
  else if (type == TYSHORT)
  	p2pass("\ttstw\tr0");
  else
+ #ifndef GFLOAT
  	p2pass("\ttstd\tr0");
  #else GFLOAT
  	p2pass("\ttstg\tr0");
***************
*** 370,375
  	p2pass("\ttstw\tr0");
  else
  	p2pass("\ttstd\tr0");
  p2pi("\tjlss\tL%d", neg);
  p2pi("\tjeql\tL%d", zer);
  p2pi("\tjbr\tL%d", pos);

--- 414,422 -----
  else
  #ifndef GFLOAT
  	p2pass("\ttstd\tr0");
+ #else GFLOAT
+ 	p2pass("\ttstg\tr0");
+ #endif GFLOAT
  p2pi("\tjlss\tL%d", neg);
  p2pi("\tjeql\tL%d", zer);
  p2pi("\tjbr\tL%d", pos);
SHAR_EOF
chmod +x 'vax.c.diff'
if test -f 'Makefile.diff'
then
	echo shar: over-writing existing file "'Makefile.diff'"
fi
cat << \SHAR_EOF > 'Makefile.diff'
*** ../f77/src/f77pass1/Makefile.orig	Tue Oct 29 15:16:19 1985
--- ../f77/src/f77pass1/Makefile	Tue Oct 29 15:23:17 1985
***************
*** 2,8
  #
  
  CFLAGS	      = -O -DHERE=VAX -DTARGET=VAX -DFAMILY=PCC -DUCBVAXASM -DUCBPASS2 \
! 		-I../../include
  
  DEST	      = $(DESTROOT)/usr/lib
  

--- 2,8 -----
  #
  
  CFLAGS	      = -O -DHERE=VAX -DTARGET=VAX -DFAMILY=PCC -DUCBVAXASM -DUCBPASS2 \
! 		-DGFLOAT -I../../include
  
  DEST	      = $(DESTROOT)/usr/lib
  
SHAR_EOF
chmod +x 'Makefile.diff'
if test -f 'conv.h.diff'
then
	echo shar: over-writing existing file "'conv.h.diff'"
fi
cat << \SHAR_EOF > 'conv.h.diff'
*** ../f77/src/f77pass1/conv.h.orig	Tue Oct 29 15:15:46 1985
--- ../f77/src/f77pass1/conv.h	Tue Oct 29 15:22:26 1985
***************
*** 20,25
  #define MINWORD -32768
  
  typedef
    struct Dreal
      {
        unsigned fract1: 7;

--- 20,26 -----
  #define MINWORD -32768
  
  typedef
+ #ifndef GFLOAT
    struct Dreal
      {
        unsigned fract1: 7;
***************
*** 24,29
      {
        unsigned fract1: 7;
        unsigned exp: 8;
        unsigned sign: 1;
        unsigned fract2: 16;
        unsigned fract3: 16;

--- 25,36 -----
      {
        unsigned fract1: 7;
        unsigned exp: 8;
+ #else GFLOAT
+   struct Greal
+     {
+       unsigned fract1: 4;
+       unsigned exp: 11;
+ #endif GFLOAT
        unsigned sign: 1;
        unsigned fract2: 16;
        unsigned fract3: 16;
***************
*** 29,34
        unsigned fract3: 16;
        unsigned fract4: 16;
      }
    dreal;
  
  typedef

--- 36,42 -----
        unsigned fract3: 16;
        unsigned fract4: 16;
      }
+ #ifndef GFLOAT
    dreal;
  #else GFLOAT
    greal;
***************
*** 30,35
        unsigned fract4: 16;
      }
    dreal;
  
  typedef
    struct Quad

--- 38,46 -----
      }
  #ifndef GFLOAT
    dreal;
+ #else GFLOAT
+   greal;
+ #endif GFLOAT
  
  typedef
    struct Quad
***************
*** 40,45
    quad;
  
  typedef
    union RealValue
      {
        double d;

--- 51,69 -----
    quad;
  
  typedef
+ #ifdef GFLOAT
+   struct Freal
+     {
+       unsigned fract1: 7;
+       unsigned exp: 8;
+       unsigned sign: 1;
+       unsigned fract2: 16;
+       unsigned fract3: 16;
+       unsigned fract4: 16;
+     }
+   freal;
+ typedef
+ #endif GFLOAT
    union RealValue
      {
        double d;
***************
*** 44,49
      {
        double d;
        quad   q;
        dreal  f;
      }
    realvalue;

--- 68,74 -----
      {
        double d;
        quad   q;
+ #ifndef GFLOAT
        dreal  f;
  #else GFLOAT
        freal  f;
***************
*** 45,49
        double d;
        quad   q;
        dreal  f;
      }
    realvalue;

--- 70,78 -----
        quad   q;
  #ifndef GFLOAT
        dreal  f;
+ #else GFLOAT
+       freal  f;
+       greal  g;
+ #endif GFLOAT
      }
    realvalue;
SHAR_EOF
chmod +x 'conv.h.diff'
chdir ..
chdir ..
chdir ..
if test -f 'modf.s'
then
	echo shar: over-writing existing file "'modf.s'"
fi
cat << \SHAR_EOF > 'modf.s'
/*	modf.s	4.1	83/06/27	*/
/*
NOTE (Apr. 1985): wrtfmt.o calls ecvt in libc.a which calls modf.
This is a modified source that works only for G-format.
*/

/*
 * double modf (value, iptr)
 * double value, *iptr;
 *
 * Modf returns the fractional part of "value",
 * and stores the integer part indirectly through "iptr".
 */

/* #include "DEFS.h" */
#define	ENTRY(x)	.globl _/**/x; .align 2; _/**/x: .word 0

ENTRY(modf)
	emodg	4(ap),$0,$0g1.0,r2,r0
	jvs	1f			# integer overflow
	cvtlg	r2,*12(ap)
	ret
1:
	subg3	r0,4(ap),*12(ap)
	ret
SHAR_EOF
chmod +x 'modf.s'
if test -f 'NOTE'
then
	echo shar: over-writing existing file "'NOTE'"
fi
cat << \SHAR_EOF > 'NOTE'

NOTE (UW, Apr. 1985): wrtfmt.o calls ecvt in libc.a which calls modf.
Modf must be replaced by a version corrected for G-format uVaxes.
A source that works is included in this directory.

    The f77 built-in functions (sin(x), etc) use the C math library and
are subject to the bugs in it.  As a beginning, re-compile sin.c
without optimization.
SHAR_EOF
chmod +x 'NOTE'
if test ! -d 'libU77'
then
	mkdir 'libU77'
fi
cd 'libU77'
if test -f 'dtime_.c.diff'
then
	echo shar: over-writing existing file "'dtime_.c.diff'"
fi
cat << \SHAR_EOF > 'dtime_.c.diff'
29a30,34
> #ifdef GFLOAT
> union { double d;
> 	float r[2];
> 	} res;
> #endif GFLOAT
35a41,44
> #ifdef GFLOAT
> 	res.r[0] = (dt->usrtime + dt->systime);
> 	return( res.d );
> #else GFLOAT
36a46
> #endif GFLOAT
SHAR_EOF
chmod +x 'dtime_.c.diff'
if test -f 'Makefile.diff'
then
	echo shar: over-writing existing file "'Makefile.diff'"
fi
cat << \SHAR_EOF > 'Makefile.diff'
6c6
< CFLAGS	      = -O
---
> CFLAGS	      = -O -DGFLOAT
SHAR_EOF
chmod +x 'Makefile.diff'
chdir ..
if test ! -d 'f77.gfloat'
then
	mkdir 'f77.gfloat'
fi
cd 'f77.gfloat'
if test -f 'Makefile'
then
	echo shar: over-writing existing file "'Makefile'"
fi
cat << \SHAR_EOF > 'Makefile'
PROGRAMS      = f77 f77pass1 f1 f2 fpr fsplit libF77.a libI66.a libI77.a \
                libU77.a modf.o

install:	$(PROGRAMS)
		@echo Installing f77 in /usr/bin
		install f77 /usr/bin
		@echo Installing f77pass1 in /usr/lib
		install f77pass1 /usr/lib
		@echo Installing f1 in /lib
		@install f1 /lib
		@echo Installing f2 in /lib
		@install f2 /lib
		@echo Installing fpr in /usr/ucb
		@install fpr /usr/ucb
		@echo Installing fsplit in /usr/ucb
		@install fsplit /usr/ucb
		@echo Installing libF77.a in /usr/lib
		install -m 644 libF77.a /usr/lib
		ranlib /usr/lib/libF77.a
		@echo Installing libI77.a in /usr/lib
		install -m 644 libI77.a /usr/lib
		ranlib /usr/lib/libI77.a
		@echo Installing libU77.a in /usr/lib
		install -m 644 libU77.a /usr/lib
		ranlib /usr/lib/libU77.a
		@echo Installing libI66.a in /usr/lib
		install -m 644 libI66.a /usr/lib
		@echo Fixing modf.o in /lib/libc.a
		mv modf.o /lib
		ar r /lib/libc.a /lib/modf.o
		ranlib /lib/libc.a
		rm /lib/modf.o

collect:	
		cp /usr/bin/f77 .
		cp /usr/lib/f77pass1 .
		cp /lib/f1 .
		cp /lib/f2 .
		cp /usr/ucb/fpr .
		cp /usr/ucb/fsplit .
		cp /usr/lib/libF77.a .
		cp /usr/lib/libI77.a .
		cp /usr/lib/libU77.a .
		cp /usr/lib/libI66.a .
		ar x /lib/libc.a modf.o
SHAR_EOF
chmod +x 'Makefile'
if test -f 'READ_ME'
then
	echo shar: over-writing existing file "'READ_ME'"
fi
cat << \SHAR_EOF > 'READ_ME'
     This directory contains the modified executable code and libraries
for f77 to run on a G-float Vax, such as the majority of early microvaxes.
It also contains a modified modf.o for /lib/libc.a, which contains a 
bug in Ultrix 1.0.

1.  Log on or su as root, and copy this directory to the G-format machine.

2.  Type make install from this directory.

3.  Stand well back.

4.  NOTE that the contents of this directory will be moved to the
    appropriate places, and will no longer exist here.

5.  NOTE ALSO that the f77 built-in math functions access the C math
    library, and the bugs therein.
SHAR_EOF
chmod +x 'READ_ME'
chdir ..
if test -f 'tog.p'
then
	echo shar: over-writing existing file "'tog.p'"
fi
cat << \SHAR_EOF > 'tog.p'
program torig( input, output );
{ This Pascal program will convert #ifdef GFLOAT files to 
  pure g-float files.  There is no pretense of efficiency.}

const buflen=133;
type bufstr=packed array[1..buflen] of char;
var
    buf: bufstr;
    linlen: integer;

procedure rdbuf;
begin
    linlen := 0;
    if not eof then while not eoln do begin
        linlen := linlen+1;
        read( buf[linlen] )
        end;
    if not eof then readln
    end;

procedure wrtbuf;
begin
    if linlen=0 then writeln
    else writeln( buf:linlen )
    end;

function match( strng: bufstr; len: integer ): boolean;
var 
    ok: boolean;
    i: integer;
begin
    i := 1;
    ok := true;
    while ok and (i<=len) do begin
        ok := (strng[i]=buf[i]);  
        i := i+1
        end;
    match := ok
    end; 

begin { torig }
    while not eof do begin
        rdbuf;
        if match('#ifdef GFLOAT',13) then 
            repeat
                rdbuf;
                if match('#else GFLOAT',12) then 
                    repeat rdbuf until match('#endif GFLOAT',13)
                else if not match('#endif GFLOAT',13) then wrtbuf
            until match('#endif GFLOAT',13)
        else if match('#ifndef GFLOAT',14) then
            repeat
                rdbuf;
                if match('#else GFLOAT',12) then begin
                    rdbuf;
                    while not match('#endif GFLOAT',13) do begin
                        wrtbuf;
                        rdbuf
                        end
                    end
            until match('#endif GFLOAT',13)
        else wrtbuf
        end
    end.
SHAR_EOF
chmod +x 'tog.p'
chdir ..
#	End of shell archive
exit 0



More information about the Mod.sources mailing list