Before applying this patch, make sure you have renamed the following files,
all in libg++/src:

  - complex.h -> _complex.h
  - regex.cc  -> _regex.cc
  - regex.h   -> _regex.h
  
If you unpacked libg++-2.2.tar.Z, tar will have overwritten one copy of 
for example Complex.h and complex.h, just make sure that the Complex.h 
you're keeping really is Complex.h, not complex.h!!
-------

diff -2rcN libg++-2.2/config/mh-amigados my-libg++-2.2/config/mh-amigados
*** libg++-2.2/config/mh-amigados
--- my-libg++-2.2/config/mh-amigados	Sun Jul  5 01:01:08 1992
***************
*** 0 ****
--- 1,5 ----
+ # do the best you can ;-)
+ CC = gcc -O2
+ # as long as we don't have a working debugger under AmigaDOS, using
+ # -g just wastes disk space, so don't use it
+ CFLAGS =
diff -2rcN libg++-2.2/config.sub my-libg++-2.2/config.sub
*** libg++-2.2/config.sub	Fri Jun 26 21:14:14 1992
--- my-libg++-2.2/config.sub	Sun Jul  5 01:07:26 1992
***************
*** 1,5 ****
  #!/bin/sh
! # Configuration validation subroutine script, version 1.0.
  #   Copyright (C) 1991, 1992 Free Software Foundation, Inc.
  
  #This file is free software; you can redistribute it and/or modify
--- 1,8 ----
  #!/bin/sh
! # Configuration validation subroutine script, version 1.1.
  #   Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+ # can handle that machine.  It does not imply ALL GNU software can. 
  
  #This file is free software; you can redistribute it and/or modify
***************
*** 47,51 ****
  
  # Separate what the user gave into CPU-COMPANY and OS (if any).
! basic_machine=`echo $1 | sed 's/-[^-][^-]*$//'`
  if [ $basic_machine != $1 ]
  then os=`echo $1 | sed 's/.*-/-/'`
--- 50,54 ----
  
  # Separate what the user gave into CPU-COMPANY and OS (if any).
! basic_machine=`echo $1 | sed 's/-[^-]*$//'`
  if [ $basic_machine != $1 ]
  then os=`echo $1 | sed 's/.*-/-/'`
***************
*** 53,57 ****
  
  # Lets recognize common machines as not being OS so that things like
! # config.subr decstation-3100 as legal.
  case $os in
  	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
--- 56,60 ----
  
  # Lets recognize common machines as not being OS so that things like
! # config.subr decstation-3100 work.
  case $os in
  	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
***************
*** 58,64 ****
  	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
  	-unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \
! 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -osf* | \
  	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
! 	-harris)
  		os=
  		basic_machine=$1
--- 61,67 ----
  	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
  	-unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \
! 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | \
  	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
! 	-harris | -dolphin)
  		os=
  		basic_machine=$1
***************
*** 65,73 ****
  		;;
  	-sco*)
! 		os=-scosysv322
  		basic_machine=i386-unknown
  		;;
  	-isc*)
! 		os=-iscsysv
  		basic_machine=i386-unknown
  		;;
--- 68,76 ----
  		;;
  	-sco*)
! 		os=-sco3.2v2
  		basic_machine=i386-unknown
  		;;
  	-isc*)
! 		os=-isc
  		basic_machine=i386-unknown
  		;;
***************
*** 77,95 ****
  case $basic_machine in
  	# Recognize the basic CPU types with without company name.
! 	tahoe | i386 | i860 | m68k | m680[01234]0 | m88k | ns32k | arm | pyramid \
! 		| tron | a29k | 580 | i960 | h8300 | v70)
  		basic_machine=$basic_machine-unknown
  		;;
  	# Recognize the basic CPU types with with company name.
! 	vax-* | tahoe-* | i386-* | i860-* | m68k-* | m680[01234]0-* | m88k-* \
! 	      | sparc-* | ns32k-* | alliant-* | arm-* | c[123]* \
  	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
  	      | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
! 	      | hppa-*)
  		;;
  	# Recognize the various machine names and aliases which stand
  	# for a CPU type and a company and sometimes even an OS.
- 
- 
  	vaxv)
  		basic_machine=vax-dec
--- 80,97 ----
  case $basic_machine in
  	# Recognize the basic CPU types with without company name.
! 	# Some are omitted here because they have special meanings below.
! 	tahoe | i[34]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
! 		| tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 | we32k)
  		basic_machine=$basic_machine-unknown
  		;;
  	# Recognize the basic CPU types with with company name.
! 	vax-* | tahoe-* | i[34]86-* | i860-* | m68k-* | m68000-* | m88k-* \
! 	      | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
  	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
  	      | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
! 	      | hppa1.0-* | hppa1.1-* | we32k-*)
  		;;
  	# Recognize the various machine names and aliases which stand
  	# for a CPU type and a company and sometimes even an OS.
  	vaxv)
  		basic_machine=vax-dec
***************
*** 100,107 ****
  		os=-vms
  		;;
- 	i386mach)
- 		basic_machine=i386-mach
- 		os=-mach
- 		;;
  	i386v32)
  		basic_machine=i386-unknown
--- 102,105 ----
***************
*** 110,126 ****
  	i386-sco* | i386sco | sco)
  		basic_machine=i386-unknown
! 		os=-scosysv322
  		;;
- 	go32 | i386-go32)
- 		basic_machine=i386-unknown
- 		os=-go32
- 		;;
  	i386-isc* | isc)
  		basic_machine=i386-unknown
! 		os=-iscsysv
! 		;;
! 	i386-linux* | linux)
! 		basic_machine=i386-unknown
! 		os=-linux
  		;;
  	i386v4*)
--- 108,116 ----
  	i386-sco* | i386sco | sco)
  		basic_machine=i386-unknown
! 		os=-sco3.2v2
  		;;
  	i386-isc* | isc)
  		basic_machine=i386-unknown
! 		os=-isc
  		;;
  	i386v4*)
***************
*** 128,131 ****
--- 118,125 ----
  		os=-sysv4
  		;;
+ 	i486v4*)
+ 		basic_machine=i486-unknown
+ 		os=-sysv4
+ 		;;
  	i386v)
  		basic_machine=i386-unknown
***************
*** 135,160 ****
  		basic_machine=spur-unknown
  		;;
! 	alliant)
! 		basic_machine=alliant-alliant
  		;;
  	convex-c1)
  		basic_machine=c1-convex
! 		os=-sysv
  		;;
  	convex-c2)
  		basic_machine=c2-convex
! 		os=-sysv
  		;;
  	convex-c32)
  		basic_machine=c32-convex
! 		os=-sysv
  		;;
  	convex-c34)
  		basic_machine=c34-convex
! 		os=-sysv
  		;;
  	convex-c38)
  		basic_machine=c38-convex
! 		os=-sysv
  		;;
  	m88k-omron*)
--- 129,154 ----
  		basic_machine=spur-unknown
  		;;
! 	alliant | fx80)
! 		basic_machine=fx80-alliant
  		;;
  	convex-c1)
  		basic_machine=c1-convex
! 		os=-bsd
  		;;
  	convex-c2)
  		basic_machine=c2-convex
! 		os=-bsd
  		;;
  	convex-c32)
  		basic_machine=c32-convex
! 		os=-bsd
  		;;
  	convex-c34)
  		basic_machine=c34-convex
! 		os=-bsd
  		;;
  	convex-c38)
  		basic_machine=c38-convex
! 		os=-bsd
  		;;
  	m88k-omron*)
***************
*** 170,174 ****
  	encore | umax | mmax)
  		basic_machine=ns32k-encore
! 		os=-sysv
  		;;
  	genix)
--- 164,168 ----
  	encore | umax | mmax)
  		basic_machine=ns32k-encore
! 		os=-bsd
  		;;
  	genix)
***************
*** 175,185 ****
  		basic_machine=ns32k-ns
  		;;
! 	iris | iris3 | iris4d)
! 		basic_machine=mips-sgi
! 		os=-irix3
! 		;;
! 	iris4)
  		basic_machine=mips-sgi
! 		os=-irix4
  		;;
  	news | news700 | news800 | news900)
--- 169,181 ----
  		basic_machine=ns32k-ns
  		;;
! 	iris | iris4d)
  		basic_machine=mips-sgi
! 		case $os in
! 		    -irix*)
! 			;;
! 		    *)
! 			os=-irix4
! 			;;
! 		esac
  		;;
  	news | news700 | news800 | news900)
***************
*** 188,193 ****
  		;;
  	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
! 		basic_machine=m68k-att
  		;;
  	delta | 3300 | motorola-3300 | motorola-delta \
  	      | 3300-motorola | delta-motorola)
--- 184,192 ----
  		;;
  	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
! 		basic_machine=m68000-att
  		;;
+ 	3b*)
+ 		basic_machine=we32k-att
+ 		;;
  	delta | 3300 | motorola-3300 | motorola-delta \
  	      | 3300-motorola | delta-motorola)
***************
*** 232,239 ****
  		os=-sunos4
  		;;
- 	sun4sol2)
- 		basic_machine=sparc-sun
- 		os=-solaris2
- 		;;
  	sun3)
  		basic_machine=m68k-sun
--- 231,234 ----
***************
*** 243,248 ****
  		;;
  	pbd)
! 		basic_machine=sparc-unicom
  		;;
  	sun386 | sun386i | roadrunner)
  		basic_machine=i386-sun
--- 238,246 ----
  		;;
  	pbd)
! 		basic_machine=sparc-tti
  		;;
+ 	pbb)
+ 		basic_machine=m68k-tti
+ 		;;
  	sun386 | sun386i | roadrunner)
  		basic_machine=i386-sun
***************
*** 251,254 ****
--- 249,255 ----
  		basic_machine=i386-ibm
  		;;
+ 	fx2800)
+ 		basic_machine=i860-alliant
+ 		;;
  	next)
  		basic_machine=m68k-next
***************
*** 255,258 ****
--- 256,262 ----
  		os=-bsd
  		;;
+ 	amiga)
+ 		basic_machine=m68k-cbm
+ 		;;
  	hp9k3[2-9][0-9])
  		basic_machine=m68k-hp
***************
*** 261,267 ****
  		basic_machine=m68000-hp
  		;;
! 	hp9k8[0-9][0-9] | hp9k7[0-9][0-9] | hp8[0-9][0-9] | hp7[0-9][0-9])
! 		basic_machine=hp800-hp
  		;;
  	isi68 | isi)
  		basic_machine=m68k-isi
--- 265,274 ----
  		basic_machine=m68000-hp
  		;;
! 	hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
! 		basic_machine=hppa1.1-hp
  		;;
+ 	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ 		basic_machine=hppa1.0-hp
+ 		;;
  	isi68 | isi)
  		basic_machine=m68k-isi
***************
*** 272,279 ****
  		os=-sysv
  		;;
- 	apollo68bsd)
- 		basic_machine=m68k-apollo
- 		os=-bsd
- 		;;
  	altos | altos3068)
  		basic_machine=m68k-altos
--- 279,282 ----
***************
*** 289,296 ****
  		os=-newsos
  		;;
! 	st2000)
! 		basic_machine=m68kmote-tandem
! 		;;
! 	decstation-dec | decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
  		basic_machine=mips-dec
  		;;
--- 292,296 ----
  		os=-newsos
  		;;
! 	decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn)
  		basic_machine=mips-dec
  		;;
***************
*** 320,328 ****
  	amigaunix | amix)
  		basic_machine=m68k-cbm
! 		os=-sysv4
! 		;;
! 	stratus)
! 		basic_machine=i860-stratus
! 		os=-sysv4
  		;;
  	cray | ymp)
--- 320,324 ----
  	amigaunix | amix)
  		basic_machine=m68k-cbm
! 		os=-amix
  		;;
  	cray | ymp)
***************
*** 350,373 ****
  		os=-ebmon
  		;;
! 
! 	h8300hms)
! 		basic_machine=h8300-hitachi
! 		os=-hms
! 		;;
! 	udi29k)
! 		basic_machine=a29k-amd
! 		os=-udi
! 		;;
! 	a29khif)
! 		basic_machine=a29k-amd
! 		os=-udi
! 		;;
! 	sa29200)
! 		basic_machine=a29k-amd
! 		os=-udi
! 		;;
! 	h8300xray)
  		basic_machine=h8300-hitachi
! 		os=-xray
  		;;
  	harris)
--- 346,352 ----
  		os=-ebmon
  		;;
! 	h8300hds)
  		basic_machine=h8300-hitachi
! 		os=-hds
  		;;
  	harris)
***************
*** 391,410 ****
  		os=-hpux
  		;;
- 	hppabsd)
- 		basic_machine=hppa-hp
- 		os=-bsd
- 		;;
- 	hppahpux)
- 		basic_machine=hppa-hp
- 		os=-hpux
- 		;;
  	ncr3000)
! 		basic_machine=i386-ncr
  		os=-sysv4
  		;;
- 	necv70)
- 		basic_machine=v70-nec
- 		os=-sysv
- 		;;
  	news1000)
  		basic_machine=m68030-sony
--- 370,377 ----
  		os=-hpux
  		;;
  	ncr3000)
! 		basic_machine=i486-ncr
  		os=-sysv4
  		;;
  	news1000)
  		basic_machine=m68030-sony
***************
*** 435,447 ****
  		os=-vxworks
  		;;
- 	os68k)
- 		basic_machine=m68k-none
- 		os=-os68k
- 		;;
- 	sparclite)
- 		basic_machine=sparclite-fujitsu
- 		os=-none
- 		;;
- 
  	none)
  		basic_machine=none-none
--- 402,405 ----
***************
*** 463,472 ****
  		basic_machine=vax-dec
  		;;
  	sparc)
  		basic_machine=sparc-sun
  		;;
- 	fx2800)
- 		basic_machine=i860-alliant
- 		;;
  	*)
  		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
--- 421,430 ----
  		basic_machine=vax-dec
  		;;
+ 	we32k)
+ 		basic_machine=we32k-att
+ 		;;
  	sparc)
  		basic_machine=sparc-sun
  		;;
  	*)
  		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
***************
*** 475,478 ****
--- 433,448 ----
  esac
  
+ # Here we canonicalize certain aliases for manufacturers.
+ case $basic_machine in
+ 	*-digital*)
+ 		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ 		;;
+ 	*-commodore*)
+ 		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ 		;;
+ 	*)
+ 		;;
+ esac
+ 
  # Decode manufacturer-specific aliases for certain operating systems.
  
***************
*** 483,503 ****
  	# The portable systems comes first.
  	# Each alternative must end in a *, to match a version number.
! 	-bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* | -aout \
  	      | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
! 	      | -unos* | -osf* | -v88r* | -luna* | -dgux* | -solaris* | -sym* \
! 	      | -newsos | -amigados* | -msdos* | -none* | -os68k* | -irix* \
! 	      | -nindy* | -vxworks* | -ebmon* | -udi | -hms* | -xray \
! 	      | -m88kbcs* | -go32 | -linux*)
! 	;;
! 
! # Note that readline checks for newsos
! #	-newsos*)
! #		os=-bsd
! #		;;
  	-osfrose*)
! 		os=-osf
  		;;
  	-osf*)
! 		os=-bsd
  		;;
  	-dynix*)
--- 453,467 ----
  	# The portable systems comes first.
  	# Each alternative must end in a *, to match a version number.
! 	-bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  	      | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
! 	      | -unos* | -osf* | -luna* | -dgux* | -solari* | -sym* | -amix* \
! 	      | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
! 	      | -nindy* | -vxworks* | -ebmon* | -hds* | -m88kbcs*)
! 		;;
  	-osfrose*)
! 		os=-osfrose
  		;;
  	-osf*)
! 		os=-osf
  		;;
  	-dynix*)
***************
*** 504,509 ****
  		os=-bsd
  		;;
! 	-aos*)
! 		os=-bsd
  		;;
  	-ctix* | -uts*)
--- 468,473 ----
  		os=-bsd
  		;;
! 	-acis*)
! 		os=-aos
  		;;
  	-ctix* | -uts*)
***************
*** 510,513 ****
--- 474,483 ----
  		os=-sysv
  		;;
+ 	-triton*)
+ 		os=-sysv3
+ 		;;
+ 	-oss*)
+ 		os=-sysv3
+ 		;;
  	-svr4)
  		os=-sysv4
***************
*** 516,519 ****
--- 486,491 ----
  		os=-sysv3
  		;;
+ 	-none)
+ 		;;
  	*)
  		# Get rid of the `-' at the beginning of $os.
***************
*** 530,537 ****
  case $basic_machine in
  	*-dec | vax-*)
! 		os=-ultrix42
  		;;
  	i386-sun)
! 		os=-sunos402
  		;;
  	m68000-sun)
--- 502,509 ----
  case $basic_machine in
  	*-dec | vax-*)
! 		os=-ultrix4.2
  		;;
  	i386-sun)
! 		os=-sunos4.0.2
  		;;
  	m68000-sun)
***************
*** 541,549 ****
  		# os=-sunos4
  		;;
! 	sparc-* | *-sun)
! 		os=-sunos411
  		;;
! 	romp-*)
! 		os=-bsd
  		;;
  	*-ibm)
--- 513,521 ----
  		# os=-sunos4
  		;;
! 	*-tti)	# must be before sparc entry or we get the wrong os.
! 		os=-sysv3
  		;;
! 	sparc-* | *-sun)
! 		os=-sunos4.1.1
  		;;
  	*-ibm)
***************
*** 556,562 ****
--- 528,540 ----
  		os=-sysv
  		;;
+ 	*-cbm)
+ 		os=-amigados
+ 		;;
  	*-dg)
  		os=-dgux
  		;;
+ 	*-dolphin)
+ 		os=-sysv3
+ 		;;
  	m88k-omron*)
  		os=-luna
***************
*** 569,573 ****
  		;;
  	i386-*)
! 		os=-scosysv322
  		;;
  	*)
--- 547,551 ----
  		;;
  	i386-*)
! 		os=-sco3.2v2
  		;;
  	*)
diff -2rcN libg++-2.2/configure.in my-libg++-2.2/configure.in
*** libg++-2.2/configure.in	Tue Jun 23 06:50:30 1992
--- my-libg++-2.2/configure.in	Sun Jul  5 01:10:26 1992
***************
*** 21,24 ****
--- 21,25 ----
  irix4)		host_makefile_frag=config/mh-irix4 ;;
  linux)		host_makefile_frag=config/mh-linux ;;
+ amigados)	host_makefile_frag=config/mh-amigados ;;
  ultrix*)
  	case "${host_cpu}" in
diff -2rcN libg++-2.2/libg++/Makefile.in my-libg++-2.2/libg++/Makefile.in
*** libg++-2.2/libg++/Makefile.in	Fri Jun 26 19:35:09 1992
--- my-libg++-2.2/libg++/Makefile.in	Mon Jul  6 16:56:33 1992
***************
*** 170,173 ****
--- 170,174 ----
  .NOEXPORT:
  .PHONY: all
+ 
  all: $(TARGETLIB) rest-in-parallel
  
diff -2rcN libg++-2.2/libg++/config/amigados.mh my-libg++-2.2/libg++/config/amigados.mh
*** libg++-2.2/libg++/config/amigados.mh
--- my-libg++-2.2/libg++/config/amigados.mh	Sun Jul  5 15:00:32 1992
***************
*** 0 ****
--- 1,16 ----
+ # do the best you can ;-)
+ CC = gcc -O2
+ # as long as we don't have a working debugger under AmigaDOS, using
+ # -g just wastes disk space, so don't use it
+ CFLAGS =
+ 
+ # Use -nostdinc++ flag if your version of gcc understands it.
+ NOSTDINC = -nostdinc++
+ 
+ # If the C include files are C++-ready (with extern "C"),
+ # define: HAVE_CPLUS_EXTERN = 1 and: WRAP_C_INCLUDES =
+ # If not, define HAVE_CPLUS_EXTERN = 0, and do not define WRAP_C_INCLUDES here
+ HAVE_CPLUS_EXTERN = 1
+ WRAP_C_INCLUDES =
+ 
+ XTRAFLAGS = -DNO_LIBGXX_MALLOC
diff -2rcN libg++-2.2/libg++/configure.in my-libg++-2.2/libg++/configure.in
*** libg++-2.2/libg++/configure.in	Fri Jun 26 19:32:57 1992
--- my-libg++-2.2/libg++/configure.in	Sun Jul  5 14:53:42 1992
***************
*** 18,21 ****
--- 18,27 ----
  	esac
  	;;
+ m68k)
+ 	case "${host_os}" in
+ 	amigados) my_host=amigados ;;
+ 	*) ;;
+ 	esac
+ 	;;
  *)
  	case "${host_os}" in
diff -2rcN libg++-2.2/libg++/iostream/ioprivate.h my-libg++-2.2/libg++/iostream/ioprivate.h
*** libg++-2.2/libg++/iostream/ioprivate.h	Thu Jun 18 02:44:10 1992
--- my-libg++-2.2/libg++/iostream/ioprivate.h	Sun Jul  5 14:48:23 1992
***************
*** 18,22 ****
--- 18,27 ----
  #include <stddef.h>
  #include <stdlib.h>
+ #ifdef amigados
+ /* amigados is not case sensitive ! */
+ #include "gcc:include/string.h"
+ #else
  #include <string.h>
+ #endif
  #include <unistd.h>
  #include "streambuf.h"
diff -2rcN libg++-2.2/libg++/src/BitSet.cc my-libg++-2.2/libg++/src/BitSet.cc
*** libg++-2.2/libg++/src/BitSet.cc	Thu Jun 18 01:39:22 1992
--- my-libg++-2.2/libg++/src/BitSet.cc	Sun Jul  5 14:43:50 1992
***************
*** 30,34 ****
  #include <new.h>
  #include <builtin.h>
! #include <string.h>
  #include <strstream.h>
  
--- 30,34 ----
  #include <new.h>
  #include <builtin.h>
! // #include <string.h>  // not needed, <std.h> includes <string.h>
  #include <strstream.h>
  
diff -2rcN libg++-2.2/libg++/src/Integer.cc my-libg++-2.2/libg++/src/Integer.cc
*** libg++-2.2/libg++/src/Integer.cc	Fri Jun 26 18:32:53 1992
--- my-libg++-2.2/libg++/src/Integer.cc	Wed Jul  8 01:11:23 1992
***************
*** 416,420 ****
      {
        if (d >= bound)
!         return (rep->sgn == I_NEGATIVE) ? -HUGE : HUGE;
        d *= 2.0;
        if (rep->s[i] & a)
--- 416,420 ----
      {
        if (d >= bound)
!         return (rep->sgn == I_NEGATIVE) ? -HUGE_VAL : HUGE_VAL;
        d *= 2.0;
        if (rep->s[i] & a)
***************
*** 461,465 ****
    double d1 = double(q);
   
!   if (d1 == HUGE || d1 == -HUGE || sign(r) == 0)
      return d1;
    else      // use as much precision as available for fractional part
--- 461,465 ----
    double d1 = double(q);
   
!   if (d1 == HUGE_VAL || d1 == -HUGE_VAL || sign(r) == 0)
      return d1;
    else      // use as much precision as available for fractional part
diff -2rcN libg++-2.2/libg++/src/Makefile.in my-libg++-2.2/libg++/src/Makefile.in
*** libg++-2.2/libg++/src/Makefile.in	Thu Jun 18 01:39:45 1992
--- my-libg++-2.2/libg++/src/Makefile.in	Mon Jul  6 16:49:22 1992
***************
*** 79,84 ****
   PlotFile.o  SFile.o
  
! # Comment out if you're getting regex from somewhere else.
! REGEX_OBJ=regex.o
  OBJS =  AllocRing.o Obstack.o builtin.o \
   $(REGEX_OBJ) Regex.o String.o  Integer.o Rational.o Complex.o Random.o \
--- 79,84 ----
   PlotFile.o  SFile.o
  
! # Comment out if you're getting _regex from somewhere else.
! REGEX_OBJ=_regex.o
  OBJS =  AllocRing.o Obstack.o builtin.o \
   $(REGEX_OBJ) Regex.o String.o  Integer.o Rational.o Complex.o Random.o \
***************
*** 107,114 ****
  WRAP_C_INCLUDES=-I$(srcdir)/../g++-include
  
  #### host, target, and site dependent Makefile fragments come in here.
  ##
- 
- CFLAGS = -g
  
  .SUFFIXES: .cc .o
--- 107,114 ----
  WRAP_C_INCLUDES=-I$(srcdir)/../g++-include
  
+ CFLAGS = -g
+ 
  #### host, target, and site dependent Makefile fragments come in here.
  ##
  
  .SUFFIXES: .cc .o
diff -2rcN libg++-2.2/libg++/src/String.cc my-libg++-2.2/libg++/src/String.cc
*** libg++-2.2/libg++/src/String.cc	Thu Jun 18 01:39:48 1992
--- my-libg++-2.2/libg++/src/String.cc	Sun Jul  5 14:42:01 1992
***************
*** 31,35 ****
--- 31,39 ----
  
  // extern "C" {
+ #ifdef amigados
+ #include <_regex.h>
+ #else
  #include <regex.h>
+ #endif
  // }
  
diff -2rcN libg++-2.2/libg++/src/std.h my-libg++-2.2/libg++/src/std.h
*** libg++-2.2/libg++/src/std.h	Fri Jun 26 18:33:05 1992
--- my-libg++-2.2/libg++/src/std.h	Sun Jul  5 14:43:07 1992
***************
*** 24,29 ****
--- 24,34 ----
  #include <stddef.h>
  #include <stdlib.h>
+ #ifdef amigados
+ /* amigados is *not* case sensitive. <string.h> would load <String.h> ! */
+ #include "gcc:include/string.h"
+ #else
  #include <string.h>
  #include <memory.h>
+ #endif
  #include <unistd.h>
  #include <stdio.h> 
diff -2rcN libg++-2.2/libg++/tests/tInteger.cc my-libg++-2.2/libg++/tests/tInteger.cc
*** libg++-2.2/libg++/tests/tInteger.cc	Fri Jun 28 21:31:10 1991
--- my-libg++-2.2/libg++/tests/tInteger.cc	Wed Jul  8 01:14:28 1992
***************
*** 81,85 ****
      x *= a;
    }
!   setbit(x, 0);
    assert(testbit(x, 0));
    assert(odd(x));
--- 81,85 ----
      x *= a;
    }
!   (setbit)(x, 0);
    assert(testbit(x, 0));
    assert(odd(x));
***************
*** 102,105 ****
--- 102,108 ----
    assert( (a & (b | c)) ==  ((a & b) | (a & c)));
    assert( (a | (b & c)) ==  ((a | b) & (a | c)));
+ //cout << "a = " << a << ", b = " << b << "\n";
+ //cout << "a & b = " << (a & b) << "\n";
+ //cout << "a | b = " << (a|b) << ", (a & (a|b)) = " << (a & (a|b)) << "\n";
    assert( (a & (a | b)) ==  a);
    assert( (a | (a & b)) ==  a);
diff -2rcN libg++-2.2/libiberty/config/mh-amigados my-libg++-2.2/libiberty/config/mh-amigados
*** libg++-2.2/libiberty/config/mh-amigados
--- my-libg++-2.2/libiberty/config/mh-amigados	Sun Jul  5 01:01:32 1992
***************
*** 0 ****
--- 1,5 ----
+ # do the best you can ;-)
+ CC = gcc -O2
+ # as long as we don't have a working debugger under AmigaDOS, using
+ # -g just wastes disk space, so don't use it
+ CFLAGS =
diff -2rcN libg++-2.2/libiberty/configure.in my-libg++-2.2/libiberty/configure.in
*** libg++-2.2/libiberty/configure.in	Sat Jun 13 02:23:35 1992
--- my-libg++-2.2/libiberty/configure.in	Sun Jul  5 02:00:33 1992
***************
*** 14,17 ****
--- 14,21 ----
  case "${host_os}" in
  
+ amigados)
+ 	host_makefile_frag=config/mh-amigados
+ 	;;
+ 
  sysv4 )
  	host_makefile_frag=config/mh-sysv4
*** libg++-2.2/libg++/src/Regex.h	Thu Jun  4 00:16:02 1992
--- my-libg++-2.2/libg++/src/_regex.h	Mon Jul  6 15:51:54 1992
***************
*** 238,243 ****
  
  /* 4.2 bsd compatibility.  */
! extern char *re_comp (char *);
! extern int re_exec (char *);
  
  #else /* !__STDC__ */
--- 238,243 ----
  
  /* 4.2 bsd compatibility.  */
! extern char *re_comp (const char *);
! extern int re_exec (const char *);
  
  #else /* !__STDC__ */
*** libg++-2.2/libg++/src/Regex.cc	Fri Jun 26 18:33:02 1992
--- my-libg++-2.2/libg++/src/_regex.cc	Sun Jul  5 14:41:34 1992
***************
*** 53,57 ****
--- 53,62 ----
  #else  /* not emacs */
  
+ #ifdef amigados
+ /* sigh.. lc == UC, so <string.h> would really include <String.h>.. */
+ #include "gcc:include/string.h"
+ #else
  #include <string.h>
+ #endif /* amigados */
  #include <_G_config.h>
  
***************
*** 123,127 ****
--- 128,136 ----
  
  /* Get the interface, including the syntax bits.  */
+ #ifdef amigados
+ #include "_regex.h"
+ #else
  #include "regex.h"
+ #endif
  
  
***************
*** 2565,2569 ****
  
  char *
! re_comp (char *s)
  {
    if (!s)
--- 2574,2578 ----
  
  char *
! re_comp (const char *s)
  {
    if (!s)
***************
*** 2586,2590 ****
  
  int
! re_exec (char *s)
  {
    int len = strlen (s);
--- 2595,2599 ----
  
  int
! re_exec (const char *s)
  {
    int len = strlen (s);
