Index: gcc/config.sub
diff -c gcc/config.sub:1.1.1.1 gcc/config.sub:1.1.1.2
*** gcc/config.sub:1.1.1.1	Wed Apr 15 16:25:42 2009
--- gcc/config.sub	Wed Apr 15 16:33:02 2009
***************
*** 264,270 ****
  	| sh64 | sh64le \
  	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
  	| strongarm \
! 	| tahoe | thumb | tic4x | tic80 | tron \
  	| v850 | v850e \
  	| we32k \
  	| x86 | xscale | xstormy16 | xtensa \
--- 264,270 ----
  	| sh64 | sh64le \
  	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
  	| strongarm \
! 	| tahoe | thumb | tic4x | tic80 | ti990 | tron \
  	| v850 | v850e \
  	| we32k \
  	| x86 | xscale | xstormy16 | xtensa \
***************
*** 339,345 ****
  	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
  	| tahoe-* | thumb-* \
  	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
! 	| tron-* \
  	| v850-* | v850e-* | vax-* \
  	| we32k-* \
  	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
--- 339,345 ----
  	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
  	| tahoe-* | thumb-* \
  	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
! 	| ti990-* | tron-* \
  	| v850-* | v850e-* | vax-* \
  	| we32k-* \
  	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
***************
*** 671,679 ****
  		basic_machine=i386-pc
  		os=-msdos
  		;;
! 	mvs)
  		basic_machine=i370-ibm
! 		os=-mvs
  		;;
  	ncr3000)
  		basic_machine=i486-ncr
--- 671,687 ----
  		basic_machine=i386-pc
  		os=-msdos
  		;;
! 	mvsle)
  		basic_machine=i370-ibm
! 		os=-mvsle
! 		;;
! 	mvsdignus)
! 		basic_machine=i370-ibm
! 		os=-mvsdignus
! 		;;
! 	mvs38)
! 		basic_machine=i370-ibm
! 		os=-mvs38
  		;;
  	ncr3000)
  		basic_machine=i486-ncr
***************
*** 750,755 ****
--- 758,767 ----
  		basic_machine=hppa1.1-oki
  		os=-proelf
  		;;
+ 	opened*)
+ 		basic_machine=i370-ibm
+ 		os=-openedition
+ 		;;
  	or32 | or32-*)
  		basic_machine=or32-unknown
  		os=-coff
***************
*** 1068,1073 ****
--- 1080,1088 ----
  	pdp11)
  		basic_machine=pdp11-dec
  		;;
+ 	ti990)
+ 		basic_machine=ti990-ti
+ 		;;
  	we32k)
  		basic_machine=we32k-att
  		;;
***************
*** 1155,1161 ****
  	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
  	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
! 	      | -chorusos* | -chorusrdb* \
  	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
  	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
  	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
--- 1170,1176 ----
  	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
  	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
  	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
! 	      | -chorusos* | -chorusrdb* | -dx10* \
  	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
  	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
  	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
***************
*** 1331,1336 ****
--- 1346,1354 ----
  	pdp11-*)
  		os=-none
  		;;
+ 	ti990-*)
+ 		os=-none
+ 		;;
  	*-dec | vax-*)
  		os=-ultrix4.2
  		;;
***************
*** 1367,1372 ****
--- 1385,1393 ----
  	*-be)
  		os=-beos
  		;;
+ 	*-ti)
+ 		os=-dx10
+ 		;;
  	*-ibm)
  		os=-aix
  		;;
***************
*** 1416,1422 ****
  		os=-genix
  		;;
  	i370-*)
! 		os=-mvs
  		;;
  	*-next)
  		os=-nextstep3
--- 1437,1443 ----
  		os=-genix
  		;;
  	i370-*)
! 		os=-mvs38
  		;;
  	*-next)
  		os=-nextstep3
***************
*** 1475,1480 ****
--- 1496,1504 ----
  			-aix*)
  				vendor=ibm
  				;;
+ 			-dx10*)
+ 				vendor=ti
+ 				;;
  			-beos*)
  				vendor=be
  				;;
Index: gcc/configure.in
diff -c gcc/configure.in:1.1.1.1 gcc/configure.in:1.1.1.2
*** gcc/configure.in:1.1.1.1	Wed Apr 15 16:25:42 2009
--- gcc/configure.in	Wed Apr 15 16:33:01 2009
***************
*** 344,349 ****
--- 344,365 ----
    *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
      noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
      ;;
+   i370-*-opened*)
+     # Remove unsupported stuff on all OpenEdition configurations.
+     skipdirs="${libgcj} target-libstdc++-v3 target-libf2c target-librx"
+     skipdirs="$skipdirs target-intl intl target-libobjc"
+     skipdirs="$skipdirs target-examples target-groff target-gperf zlib"
+     skipdirs="$skipdirs fastjar target-libjava target-boehm-gc target-zlib"
+     noconfigdirs="$noconfigdirs target-libgloss target-zlib target-intl"
+     ;;
+   ti990-*-*)
+     # Remove unsupported stuff on all OpenEdition configurations.
+     skipdirs="${libgcj} target-libstdc++-v3 target-libf2c target-librx"
+     skipdirs="$skipdirs target-intl intl target-libobjc"
+     skipdirs="$skipdirs target-examples target-groff target-gperf zlib"
+     skipdirs="$skipdirs fastjar target-libjava target-boehm-gc target-zlib"
+     noconfigdirs="$noconfigdirs target-libgloss target-zlib target-intl"
+     ;;
    *-*-kaos*)
      # Remove unsupported stuff on all kaOS configurations.
      skipdirs="target-libiberty ${libgcj} target-libstdc++-v3 target-libf2c target-librx"
Index: gcc/ltcf-cxx.sh
diff -c gcc/ltcf-cxx.sh:1.1.1.1 gcc/ltcf-cxx.sh:1.1.1.2
*** gcc/ltcf-cxx.sh:1.1.1.1	Wed Apr 15 16:25:44 2009
--- gcc/ltcf-cxx.sh	Wed Apr 15 16:33:09 2009
***************
*** 437,443 ****
      # FIXME: insert proper C++ library support
      ld_shlibs=no
      ;;
!   mvs*)
      case $cc_basename in
        cxx)
          # FIXME: insert proper C++ library support
--- 437,443 ----
      # FIXME: insert proper C++ library support
      ld_shlibs=no
      ;;
!   opened* | mvs*)
      case $cc_basename in
        cxx)
          # FIXME: insert proper C++ library support
***************
*** 858,864 ****
        ;;
      m88k*)
        ;;
!     mvs*)
        case $cc_basename in
          cxx)
            ac_cv_prog_cc_pic='-W c,exportall'
--- 858,864 ----
        ;;
      m88k*)
        ;;
!     opened* | mvs*)
        case $cc_basename in
          cxx)
            ac_cv_prog_cc_pic='-W c,exportall'
Index: gcc/gcc/__header.h
diff -c /dev/null gcc/gcc/__header.h:1.4
*** /dev/null	Mon Jun 13 20:10:03 2011
--- gcc/gcc/__header.h	Wed Jun  1 09:05:43 2011
***************
*** 0 ****
--- 1,18 ----
+ builtin-attrs.def builtina.h
+ builtin-types.def builtint.h
+ builtins.def builtind.h
+ c-common.def ccommond.h
+ diagnostic.def diagndef.h
+ machmode.def machmodd.h
+ params.def paramsd.h
+ predict.def predictd.h
+ rtl.def rtld.h
+ stab.def stabd.h
+ timevar.def timevard.h
+ tree.def treed.h
+ insn-constants.h i-constants.h
+ langhooks-def.h langhdef.h
+ hosthooks-def.h hosthdef.h
+ gt-dwarf2asm.h gt-dwasm.h
+ gcov-io.c gcovioc.h
+ c-pretty-print.h c-pretty-prin.h
Index: gcc/gcc/allcms.bat
diff -c /dev/null gcc/gcc/allcms.bat:1.3
*** /dev/null	Mon Jun 13 20:10:03 2011
--- gcc/gcc/allcms.bat	Thu May 12 19:37:19 2011
***************
*** 0 ****
--- 1,24 ----
+ pushd ..\..\pdos\pdpclib
+ del *.o
+ make -f makefile.w32
+ popd
+ call compile -DTARGET_CMS
+ call compmvs -DTARGET_CMS -ansi -pedantic-errors
+ del output.txt
+ call zipmvs
+ mkdir ..\temp
+ del /q ..\temp\*.*
+ cd ..\temp
+ unzip ..\gcc\all
+ unzip *.zip
+ del *.zip
+ del ..\gcc\all.zip
+ zip -0mX ..\gcc\all *
+ cd ..\gcc
+ 
+ rem for S/380 testing, use this
+ call runcms allcms.exec output.txt all.zip gcccms-exe.vmarc
+ 
+ rem for S/390 testing, use this
+ rem mvsendec encb all.zip all.dat
+ rem loc2ebc all.dat xfer.card
Index: gcc/gcc/allcms.exec
diff -c /dev/null gcc/gcc/allcms.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:03 2011
--- gcc/gcc/allcms.exec	Tue May 26 10:57:51 2009
***************
*** 0 ****
--- 1,35 ----
+ * Usage - ALLCMS <SRC> <EXE> <WORK>
+ 
+ * This script compiles all the files on SRC disk (default is A)
+ * and copies the resultant modules to the EXE disk (default B)
+ * while using the WORK disk (default C) as a temporary area
+ 
+ &SRC = A
+ &EXE = B
+ &WORK = C
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &SRC = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &WORK = &1
+ 
+ -FINARGS
+ 
+ 
+ * Strictly, we're only expecting a blocksize of 80, but
+ * mvsunzip can handle short blocks, so we specify the max
+ FILEDEF INPUT TAP1 (LRECL 80 BLKSIZE 32720 RECFM FB
+ MVSUNZIP DD:INPUT &SRC
+ FILEDEF INPUT CLEAR
+ 
+ 
+ EXEC COMPILE &SRC &EXE &WORK
+ 
+ 
+ VMARC PACK * * &EXE (TAP2 BLOCK 80
Index: gcc/gcc/allmus.bat
diff -c /dev/null gcc/gcc/allmus.bat:1.6
*** /dev/null	Mon Jun 13 20:10:03 2011
--- gcc/gcc/allmus.bat	Sun May 29 23:05:14 2011
***************
*** 0 ****
--- 1,39 ----
+ pushd ..\..\pdos\pdpclib
+ 
+ del *.o
+ make -f makefile.w32
+ 
+ popd
+ 
+ gcc -s -o mvsendec ../../pdos/pdpclib/mvsendec.c
+ 
+ rem !!!!!!!
+ rem This is useful during testing to get a faster compile but
+ rem should NOT be used for release
+ rem !!!!!!!
+ rem call fudge
+ 
+ call compile
+ call compmvs -DMUSIC -DIFOX
+ call zipmvs
+ 
+ mkdir ..\temp
+ del /q ..\temp\*.*
+ cd ..\temp
+ unzip ..\gcc\all
+ unzip *.zip
+ del *.zip
+ del ..\gcc\all.zip
+ 
+ ren c-pretty-print.* c-pretty-prin.*
+ ren make-relative-prefix.* make-relative.*
+ ren make-temp-file.* make-temp-fil.*
+ ren unwind-dw2-fde-compat.* unwcompat.*
+ ren unwind-dw2-fde-darwin.* unwdarwin.*
+ ren unwind-dw2-fde-glibc.* unwglibc.*
+ 
+ zip -0mX ..\gcc\all *
+ cd ..\gcc
+ 
+ call runmus compmus.job output.txt all.zip gccmus.mfarc
+ grep "Files are different" output.txt
Index: gcc/gcc/allmvs.bat
diff -c /dev/null gcc/gcc/allmvs.bat:1.6
*** /dev/null	Mon Jun 13 20:10:03 2011
--- gcc/gcc/allmvs.bat	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,19 ----
+ pushd ..\..\pdos\pdpclib
+ 
+ del *.o
+ make -f makefile.w32
+ 
+ popd
+ 
+ gcc -s -mno-cygwin -O2 -o mvsendec ../../pdos/pdpclib/mvsendec.c
+ 
+ rem !!!!!!!
+ rem This is useful during testing to get a faster compile but
+ rem should NOT be used for release
+ rem !!!!!!!
+ rem call fudge
+ 
+ call compile
+ call compmvs -ansi -pedantic-errors
+ call zipmvs
+ call subjobs
Index: gcc/gcc/allpdos.bat
diff -c /dev/null gcc/gcc/allpdos.bat:1.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/allpdos.bat	Wed Jun  1 21:17:49 2011
***************
*** 0 ****
--- 1,33 ----
+ rem the purpose of this build is to ensure that GCC can be
+ rem compiled on standard hardware, ie S/370 and S/390. So the
+ rem stage1 GCC executable is assembled and linked on S/370.
+ rem then the source is recompiled under PDOS on a S/390.
+ 
+ rem however, you normally want to build a S/380 of GCC
+ rem at both stages.
+ 
+ pushd ..\..\pdos\pdpclib
+ 
+ del *.o
+ make -f makefile.w32
+ 
+ popd
+ 
+ gcc -s -mno-cygwin -O2 -o mvsendec ../../pdos/pdpclib/mvsendec.c
+ 
+ rem !!!!!!!
+ rem This is useful during testing to get a faster compile but
+ rem should NOT be used for release
+ rem !!!!!!!
+ rem call fudge
+ 
+ call compile
+ call compmvs -ansi -pedantic-errors
+ call zipmvs
+ call subjobs_pdos
+ 
+ call zippdos
+ 
+ rem now we rebuild GCC from source on PDOS, and compare results
+ rem with what we had on the PC via cross-compile
+ call runpdos comppdos.bat output.txt all.zip
Index: gcc/gcc/allvse.bat
diff -c /dev/null gcc/gcc/allvse.bat:1.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/allvse.bat	Sun Jun  5 14:07:29 2011
***************
*** 0 ****
--- 1,18 ----
+ 
+ del *.s
+ 
+ pushd ..\..\pdos\pdpclib
+ 
+ del *.o
+ make -f makefile.w32
+ 
+ popd
+ 
+ call compile -DTARGET_VSE
+ 
+ call compmvs -DTARGET_VSE -ansi -pedantic-errors
+ 
+ call zipvse
+ 
+ m4 -I . -I ..\..\pdos\pdpclib compvse.m4 >alljcl.jcl
+ call runvse alljcl.jcl output.txt all.zip gccvse-exe.obj
Index: gcc/gcc/auto-host.h
diff -c /dev/null gcc/gcc/auto-host.h:1.6
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/auto-host.h	Wed Nov 11 15:42:56 2009
***************
*** 0 ****
--- 1,578 ----
+ /* auto-host.h.  Generated by configure.  */
+ /* config.in.  Generated from configure.ac by autoheader.  */
+ 
+ /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
+ #define BYTEORDER 4321
+ 
+ /* Define as the number of bits in a byte, if \`limits.h' doesn't. */
+ /* #undef CHAR_BIT */
+ 
+ /* Define 0/1 to force the choice for exception handling model. */
+ /* #undef CONFIG_SJLJ_EXCEPTIONS */
+ 
+ /* Define to enable the use of a default assembler. */
+ /* #undef DEFAULT_ASSEMBLER */
+ 
+ /* Define to enable the use of a default linker. */
+ /* #undef DEFAULT_LINKER */
+ 
+ /* Define if you want to use __cxa_atexit, rather than atexit, to register C++
+    destructors for local statics and global objects. This is essential for
+    fully standards-compliant handling of destructors, but requires
+    __cxa_atexit in libc. */
+ /* #undef DEFAULT_USE_CXA_ATEXIT */
+ 
+ /* Define if you want more run-time sanity checks. This one gets a grab bag of
+    miscellaneous but relatively cheap checks. */
+ /* #undef ENABLE_CHECKING */
+ 
+ /* Define if you want fold checked that it never destructs its argument. This
+    is quite expensive. */
+ /* #undef ENABLE_FOLD_CHECKING */
+ 
+ /* Define if you want the garbage collector to operate in maximally paranoid
+    mode, validating the entire heap and collecting garbage at every
+    opportunity. This is extremely expensive. */
+ /* #undef ENABLE_GC_ALWAYS_COLLECT */
+ 
+ /* Define if you want the garbage collector to do object poisoning and other
+    memory allocation checks. This is quite expensive. */
+ /* #undef ENABLE_GC_CHECKING */
+ 
+ /* Define to 1 if translation of program messages to the user's native
+    language is requested. */
+ /* #undef ENABLE_NLS */
+ 
+ /* Define if you want all operations on RTL (the basic data structure of the
+    optimizer and back end) to be checked for dynamic type safety at runtime.
+    This is quite expensive. */
+ /* #undef ENABLE_RTL_CHECKING */
+ 
+ /* Define if you want RTL flag accesses to be checked against the RTL codes
+    that are supported for each access macro. This is relatively cheap. */
+ /* #undef ENABLE_RTL_FLAG_CHECKING */
+ 
+ /* Define if you want all operations on trees (the basic data structure of the
+    front ends) to be checked for dynamic type safety at runtime. This is
+    moderately expensive. */
+ /* #undef ENABLE_TREE_CHECKING */
+ 
+ /* Define if you want to run subprograms and generated programs through
+    valgrind (a memory checker). This is extremely expensive. */
+ /* #undef ENABLE_VALGRIND_CHECKING */
+ 
+ /* Define to 1 if installation paths should be looked up in Windows32
+    Registry. Ignored on non windows32 hosts. */
+ /* #undef ENABLE_WIN32_REGISTRY */
+ 
+ /* Define to the name of a file containing a list of extra machine modes for
+    this architecture. */
+ /* #undef EXTRA_MODES_FILE */
+ 
+ /* Define to enable detailed memory allocation stats gathering. */
+ /* #undef GATHER_STATISTICS */
+ 
+ /* Define to the type of elements in the array set by `getgroups'. Usually
+    this is either `int' or `gid_t'. */
+ #define GETGROUPS_T int
+ 
+ /* Define to 1 if you have the `alphasort' function. */
+ /* #undef HAVE_ALPHASORT */
+ 
+ /* Define if your assembler supports dwarf2 .file/.loc directives, and
+    preserves file table indices exactly as given. */
+ /* #undef HAVE_AS_DWARF2_DEBUG_LINE */
+ 
+ /* Define if your assembler supports explicit relocations. */
+ /* #undef HAVE_AS_EXPLICIT_RELOCS */
+ 
+ /* Define if your assembler supports the --gdwarf2 option. */
+ /* #undef HAVE_AS_GDWARF2_DEBUG_FLAG */
+ 
+ /* Define true if the assembler supports '.long foo@GOTOFF'. */
+ /* #undef HAVE_AS_GOTOFF_IN_DATA */
+ 
+ /* Define if your assembler supports the --gstabs option. */
+ /* #undef HAVE_AS_GSTABS_DEBUG_FLAG */
+ 
+ /* Define if your assembler supports the Sun syntax for cmov. */
+ /* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */
+ 
+ /* Define if your assembler supports the lituse_jsrdirect relocation. */
+ /* #undef HAVE_AS_JSRDIRECT_RELOCS */
+ 
+ /* Define if your assembler supports .sleb128 and .uleb128. */
+ #define HAVE_AS_LEB128 1
+ 
+ /* Define if your assembler supports ltoffx and ldxmov relocations. */
+ /* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */
+ 
+ /* Define if your assembler supports mfcr field. */
+ /* #undef HAVE_AS_MFCRF */
+ 
+ /* Define if your assembler supports the -no-mul-bug-abort option. */
+ /* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */
+ 
+ /* Define if your assembler supports offsetable %lo(). */
+ /* #undef HAVE_AS_OFFSETABLE_LO10 */
+ 
+ /* Define if your assembler supports .register. */
+ /* #undef HAVE_AS_REGISTER_PSEUDO_OP */
+ 
+ /* Define if your assembler supports -relax option. */
+ /* #undef HAVE_AS_RELAX_OPTION */
+ 
+ /* Define if your assembler and linker support unaligned PC relative relocs.
+    */
+ /* #undef HAVE_AS_SPARC_UA_PCREL */
+ 
+ /* Define if your assembler and linker support unaligned PC relative relocs
+    against hidden symbols. */
+ /* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */
+ 
+ /* Define if your assembler supports thread-local storage. */
+ /* #undef HAVE_AS_TLS */
+ 
+ /* Define to 1 if you have the `atoll' function. */
+ /* #undef HAVE_ATOLL */
+ 
+ /* Define to 1 if you have the `atoq' function. */
+ /* #undef HAVE_ATOQ */
+ 
+ /* Define to 1 if you have the `clock' function. */
+ /* #undef HAVE_CLOCK */
+ 
+ /* Define if <time.h> defines clock_t. */
+ #define HAVE_CLOCK_T 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_ABORT 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_ATOF 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_ATOL 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_BASENAME 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_CALLOC 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_CLOCK 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_ERRNO 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_FPRINTF_UNLOCKED 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_FPUTS_UNLOCKED 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_FREE 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_FWRITE_UNLOCKED 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_GETCWD 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_GETENV 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_GETOPT 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_GETRLIMIT 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_GETRUSAGE 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_GETWD 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_LDGETNAME 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_MALLOC 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_PUTC_UNLOCKED 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_REALLOC 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_SBRK 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_SETRLIMIT 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_SNPRINTF 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_STRSIGNAL 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_STRSTR 1
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_TIMES 0
+ 
+ /* Define to 1 if we found this declaration otherwise define to 0. */
+ #define HAVE_DECL_VASPRINTF 0
+ 
+ /* Define to 1 if you have the <direct.h> header file. */
+ /* #undef HAVE_DIRECT_H */
+ 
+ /* Define to 1 if you have the `dup2' function. */
+ /* #undef HAVE_DUP2 */
+ 
+ /* Define to 1 if you have the <fcntl.h> header file. */
+ /* #undef HAVE_FCNTL_H */
+ 
+ /* Define to 1 if you have the `fork' function. */
+ /* #undef HAVE_FORK */
+ 
+ /* Define to 1 if you have the `fprintf_unlocked' function. */
+ /* #undef HAVE_FPRINTF_UNLOCKED */
+ 
+ /* Define to 1 if you have the `fputc_unlocked' function. */
+ /* #undef HAVE_FPUTC_UNLOCKED */
+ 
+ /* Define to 1 if you have the `fputs_unlocked' function. */
+ /* #undef HAVE_FPUTS_UNLOCKED */
+ 
+ /* Define to 1 if you have the `fwrite_unlocked' function. */
+ /* #undef HAVE_FWRITE_UNLOCKED */
+ 
+ /* Define if your assembler supports .balign and .p2align. */
+ #define HAVE_GAS_BALIGN_AND_P2ALIGN 1
+ 
+ /* Define if your assembler uses the new HImode fild and fist notation. */
+ /* #undef HAVE_GAS_FILDS_FISTS */
+ 
+ /* Define if your assembler and linker support .hidden. */
+ #define HAVE_GAS_HIDDEN 1
+ 
+ /* Define if your assembler supports specifying the maximum number of bytes to
+    skip when using the GAS .p2align command. */
+ #define HAVE_GAS_MAX_SKIP_P2ALIGN 1
+ 
+ /* Define if your assembler supports .nsubspa comdat option. */
+ /* #undef HAVE_GAS_NSUBSPA_COMDAT */
+ 
+ /* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.
+    */
+ #define HAVE_GAS_SHF_MERGE 1
+ 
+ /* Define if your assembler supports .subsection and .subsection -1 starts
+    emitting at the beginning of your section. */
+ #define HAVE_GAS_SUBSECTION_ORDERING 1
+ 
+ /* Define if your assembler supports .weak. */
+ #define HAVE_GAS_WEAK 1
+ 
+ /* Define to 1 if you have the `getrlimit' function. */
+ /* #undef HAVE_GETRLIMIT */
+ 
+ /* Define to 1 if you have the `getrusage' function. */
+ /* #undef HAVE_GETRUSAGE */
+ 
+ /* Define to 1 if you have the `gettimeofday' function. */
+ /* #undef HAVE_GETTIMEOFDAY */
+ 
+ /* Define if you have the iconv() function. */
+ /* #undef HAVE_ICONV */
+ 
+ /* Define to 1 if you have the <iconv.h> header file. */
+ /* #undef HAVE_ICONV_H */
+ 
+ /* Define .init_array/.fini_array sections are available and working. */
+ /* #undef HAVE_INITFINI_ARRAY */
+ 
+ /* Define if you have a working <inttypes.h> header file. */
+ /* #undef HAVE_INTTYPES_H */
+ 
+ /* Define to 1 if you have the `kill' function. */
+ /* #undef HAVE_KILL */
+ 
+ /* Define to 1 if you have the <langinfo.h> header file. */
+ /* #undef HAVE_LANGINFO_H */
+ 
+ /* Define if your <locale.h> file defines LC_MESSAGES. */
+ /* #undef HAVE_LC_MESSAGES */
+ 
+ /* Define to 1 if you have the <ldfcn.h> header file. */
+ /* #undef HAVE_LDFCN_H */
+ 
+ /* Define if your linker supports --as-needed and --no-as-needed options. */
+ /* #undef HAVE_LD_AS_NEEDED */
+ 
+ /* Define if your linker supports --eh-frame-hdr option. */
+ #define HAVE_LD_EH_FRAME_HDR 1
+ 
+ /* Define if your linker supports -pie option. */
+ #define HAVE_LD_PIE 1
+ 
+ /* Define if your linker links a mix of read-only and read-write sections into
+    a read-write section. */
+ #define HAVE_LD_RO_RW_SECTION_MIXING 1
+ 
+ /* Define if your linker supports -Bstatic/-Bdynamic option. */
+ #define HAVE_LD_STATIC_DYNAMIC 1
+ 
+ /* Define to 1 if you have the <limits.h> header file. */
+ #define HAVE_LIMITS_H 1
+ 
+ /* Define to 1 if you have the <locale.h> header file. */
+ #define HAVE_LOCALE_H 1
+ 
+ /* Define if your compiler supports the \`long long' type. */
+ /* #undef HAVE_LONG_LONG */
+ 
+ /* Define to 1 if you have the <malloc.h> header file. */
+ /* #undef HAVE_MALLOC_H */
+ 
+ /* Define to 1 if you have the `mbstowcs' function. */
+ /* #undef HAVE_MBSTOWCS */
+ 
+ /* Define if valgrind's memcheck.h header is installed. */
+ /* #undef HAVE_MEMCHECK_H */
+ 
+ /* Define to 1 if you have the <memory.h> header file. */
+ /* #undef HAVE_MEMORY_H */
+ 
+ /* Define to 1 if you have the `mincore' function. */
+ /* #undef HAVE_MINCORE */
+ 
+ /* Define to 1 if you have the `mmap' function. */
+ /* #undef HAVE_MMAP */
+ 
+ /* Define if mmap with MAP_ANON(YMOUS) works. */
+ /* #undef HAVE_MMAP_ANON */
+ 
+ /* Define if mmap of /dev/zero works. */
+ /* #undef HAVE_MMAP_DEV_ZERO */
+ 
+ /* Define if read-only mmap of a plain file works. */
+ /* #undef HAVE_MMAP_FILE */
+ 
+ /* Define to 1 if you have the `nl_langinfo' function. */
+ /* #undef HAVE_NL_LANGINFO */
+ 
+ /* Define if printf supports "%p". */
+ /* #undef HAVE_PRINTF_PTR */
+ 
+ /* Define to 1 if you have the `putc_unlocked' function. */
+ /* #undef HAVE_PUTC_UNLOCKED */
+ 
+ /* Define to 1 if you have the `scandir' function. */
+ /* #undef HAVE_SCANDIR */
+ 
+ /* Define to 1 if you have the `setlocale' function. */
+ /* #undef HAVE_SETLOCALE */
+ 
+ /* Define to 1 if you have the `setrlimit' function. */
+ /* #undef HAVE_SETRLIMIT */
+ 
+ /* Define if you have a working <stdbool.h> header file. */
+ /* #undef HAVE_STDBOOL_H */
+ 
+ /* Define to 1 if you have the <stddef.h> header file. */
+ #define HAVE_STDDEF_H 1
+ 
+ /* Define to 1 if you have the <stdint.h> header file. */
+ /* #undef HAVE_STDINT_H */
+ 
+ /* Define to 1 if you have the <stdlib.h> header file. */
+ #define HAVE_STDLIB_H 1
+ 
+ /* Define to 1 if you have the <strings.h> header file. */
+ /* #undef HAVE_STRINGS_H */
+ 
+ /* Define to 1 if you have the <string.h> header file. */
+ #define HAVE_STRING_H 1
+ 
+ /* Define to 1 if you have the `strsignal' function. */
+ /* #undef HAVE_STRSIGNAL */
+ 
+ /* Define if <sys/times.h> defines struct tms. */
+ /* #undef HAVE_STRUCT_TMS */
+ 
+ /* Define to 1 if you have the `sysconf' function. */
+ /* #undef HAVE_SYSCONF */
+ 
+ /* Define to 1 if you have the <sys/file.h> header file. */
+ /* #undef HAVE_SYS_FILE_H */
+ 
+ /* Define to 1 if you have the <sys/mman.h> header file. */
+ /* #undef HAVE_SYS_MMAN_H */
+ 
+ /* Define to 1 if you have the <sys/param.h> header file. */
+ /* #undef HAVE_SYS_PARAM_H */
+ 
+ /* Define to 1 if you have the <sys/resource.h> header file. */
+ /* #undef HAVE_SYS_RESOURCE_H */
+ 
+ /* Define to 1 if you have the <sys/stat.h> header file. */
+ /* #undef HAVE_SYS_STAT_H */
+ 
+ /* Define to 1 if you have the <sys/times.h> header file. */
+ /* #undef HAVE_SYS_TIMES_H */
+ 
+ /* Define to 1 if you have the <sys/time.h> header file. */
+ /* #undef HAVE_SYS_TIME_H */
+ 
+ /* Define to 1 if you have the <sys/types.h> header file. */
+ /* #undef HAVE_SYS_TYPES_H */
+ 
+ /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+ /* #undef HAVE_SYS_WAIT_H */
+ 
+ /* Define to 1 if you have the `times' function. */
+ /* #undef HAVE_TIMES */
+ 
+ /* Define to 1 if you have the <time.h> header file. */
+ #define HAVE_TIME_H 1
+ 
+ /* Define if <sys/types.h> defines \`uchar'. */
+ /* #undef HAVE_UCHAR */
+ 
+ /* Define to 1 if you have the <unistd.h> header file. */
+ /* #undef HAVE_UNISTD_H */
+ 
+ /* Define if valgrind's valgrind/memcheck.h header is installed. */
+ /* #undef HAVE_VALGRIND_MEMCHECK_H */
+ 
+ /* Define to 1 if you have the `vfork' function. */
+ /* #undef HAVE_VFORK */
+ 
+ /* Define to 1 if you have the <vfork.h> header file. */
+ /* #undef HAVE_VFORK_H */
+ 
+ /* Define to 1 if you have the <wchar.h> header file. */
+ /* #undef HAVE_WCHAR_H */
+ 
+ /* Define to 1 if you have the `wcswidth' function. */
+ /* #undef HAVE_WCSWIDTH */
+ 
+ /* Define to 1 if `fork' works. */
+ /* #undef HAVE_WORKING_FORK */
+ 
+ /* Define this macro if mbstowcs does not crash when its first argument is
+    NULL. */
+ /* #undef HAVE_WORKING_MBSTOWCS */
+ 
+ /* Define to 1 if `vfork' works. */
+ /* #undef HAVE_WORKING_VFORK */
+ 
+ /* Define if the \`_Bool' type is built-in. */
+ #define HAVE__BOOL 1
+ 
+ /* Define if your compiler supports the \`__int64' type. */
+ /* #undef HAVE___INT64 */
+ 
+ /* Define if the host machine stores words of multi-word integers in
+    big-endian order. */
+ #define HOST_WORDS_BIG_ENDIAN 1
+ 
+ /* Define as const if the declaration of iconv() needs const. */
+ /* #undef ICONV_CONST */
+ 
+ /* Define if host mkdir takes a single argument. */
+ #define MKDIR_TAKES_ONE_ARG 1
+ 
+ /* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
+ /* #undef NEED_64BIT_HOST_WIDE_INT */
+ 
+ /* Define to 1 if your C compiler doesn't accept -c and -o together. */
+ /* #undef NO_MINUS_C_MINUS_O */
+ 
+ /* Define to the address where bug reports for this package should be sent. */
+ #define PACKAGE_BUGREPORT ""
+ 
+ /* Define to the full name of this package. */
+ #define PACKAGE_NAME ""
+ 
+ /* Define to the full name and version of this package. */
+ #define PACKAGE_STRING ""
+ 
+ /* Define to the one symbol short name of this package. */
+ #define PACKAGE_TARNAME ""
+ 
+ /* Define to the version of this package. */
+ #define PACKAGE_VERSION ""
+ 
+ /* Define to PREFIX/include if cpp should also search that directory. */
+ #define PREFIX_INCLUDE_DIR "/devel/mvshost/include"
+ 
+ /* The number of bytes in type int */
+ #define SIZEOF_INT 4
+ 
+ /* The number of bytes in type long */
+ #define SIZEOF_LONG 4
+ 
+ /* The number of bytes in type long long */
+ /* #undef SIZEOF_LONG_LONG */
+ 
+ /* The number of bytes in type short */
+ #define SIZEOF_SHORT 2
+ 
+ /* The number of bytes in type void * */
+ #define SIZEOF_VOID_P 4
+ 
+ /* The number of bytes in type __int64 */
+ /* #undef SIZEOF___INT64 */
+ 
+ /* Define to 1 if you have the ANSI C header files. */
+ #define STDC_HEADERS 1
+ 
+ /* Define if you can safely include both <string.h> and <strings.h>. */
+ /* #undef STRING_WITH_STRINGS */
+ 
+ /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+ /* #undef TIME_WITH_SYS_TIME */
+ 
+ /* Define if your assembler mis-optimizes .eh_frame data. */
+ /* #undef USE_AS_TRADITIONAL_FORMAT */
+ 
+ /* Define to be the last portion of registry key on windows hosts. */
+ /* #undef WIN32_REGISTRY_KEY */
+ 
+ /* whether byteorder is bigendian */
+ #define WORDS_BIGENDIAN 1
+ 
+ /* Always define this when using the GNU C Library */
+ /* #undef _GNU_SOURCE */
+ 
+ /* Define to `int' if <sys/types.h> doesn't define. */
+ #define gid_t int
+ 
+ /* Define to `__inline__' or `__inline' if that's what the C compiler
+    calls it, or to nothing if 'inline' is not supported under any name.  */
+ #ifndef __cplusplus
+ /* #undef inline */
+ #endif
+ 
+ /* Define to `int' if <sys/types.h> does not define. */
+ #define pid_t int
+ 
+ /* Define to \`long' if <sys/resource.h> doesn't define. */
+ #define rlim_t long
+ 
+ /* Define to `int' if <sys/types.h> does not define. */
+ #define ssize_t int
+ 
+ /* Define to `int' if <sys/types.h> doesn't define. */
+ #define uid_t int
+ 
+ /* Define as `fork' if `vfork' does not work. */
+ #define vfork fork
Index: gcc/gcc/bconfig.h
diff -c /dev/null gcc/gcc/bconfig.h:1.4
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/bconfig.h	Wed Nov 11 15:42:56 2009
***************
*** 0 ****
--- 1,7 ----
+ #ifndef GCC_BCONFIG_H
+ #define GCC_BCONFIG_H
+ #include "auto-build.h"
+ #ifdef IN_GCC
+ # include "ansidecl.h"
+ #endif
+ #endif /* GCC_BCONFIG_H */
Index: gcc/gcc/bootstrap.bat
diff -c /dev/null gcc/gcc/bootstrap.bat:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/bootstrap.bat	Thu May 12 16:38:15 2011
***************
*** 0 ****
--- 1,15 ----
+ call compile
+ copy gccmvs.exe ..\..\zlib\contrib\minizip
+ call compmvs -ansi -pedantic-errors
+ 
+ pushd ..\..\zlib\contrib\minizip
+ call compile
+ del gccmvs.exe
+ call runmvs mini1.jcl temp1.txt
+ call runmvs mini2.jcl temp2.txt
+ popd
+ 
+ call makeutil
+ call runmvs makeutil.jcl makeutil.out
+ del makeutil.jcl
+ call allmvs
Index: gcc/gcc/builtins.c
diff -c gcc/gcc/builtins.c:1.1.1.1 gcc/gcc/builtins.c:1.3
*** gcc/gcc/builtins.c:1.1.1.1	Wed Apr 15 16:25:56 2009
--- gcc/gcc/builtins.c	Wed Apr 29 11:04:10 2009
***************
*** 4284,4289 ****
--- 4284,4296 ----
    rtx op0;
    rtx result;
  
+ /* This function is generating bad code for MVS,
+    so we just return failure instead. see bug4.c
+    for more information. */
+ #if TARGET_MVS
+     return 0;
+ #endif
+ 
    if (!validate_arglist (arglist, INTEGER_TYPE, VOID_TYPE))
      return 0;
  
Index: gcc/gcc/c-incpath.c
diff -c gcc/gcc/c-incpath.c:1.1.1.1 gcc/gcc/c-incpath.c:1.3
*** gcc/gcc/c-incpath.c:1.1.1.1	Wed Apr 15 16:26:15 2009
--- gcc/gcc/c-incpath.c	Thu Jul  2 20:35:53 2009
***************
*** 35,41 ****
  # define INO_T_EQ(A, B) (!memcmp (&(A), &(B), sizeof (A)))
  # define INO_T_COPY(DEST, SRC) memcpy(&(DEST), &(SRC), sizeof (SRC))
  #else
! # if (defined _WIN32 && ! defined (_UWIN)) || defined __MSDOS__
  #  define INO_T_EQ(A, B) 0
  # else
  #  define INO_T_EQ(A, B) ((A) == (B))
--- 35,41 ----
  # define INO_T_EQ(A, B) (!memcmp (&(A), &(B), sizeof (A)))
  # define INO_T_COPY(DEST, SRC) memcpy(&(DEST), &(SRC), sizeof (SRC))
  #else
! # if (defined _WIN32 && ! defined (_UWIN)) || defined __MSDOS__ || defined(PUREISO)
  #  define INO_T_EQ(A, B) 0
  # else
  #  define INO_T_EQ(A, B) ((A) == (B))
***************
*** 191,199 ****
--- 191,201 ----
  	  else
  	    reason = REASON_NOENT;
  	}
+ #if !defined(PUREISO)
        else if (!S_ISDIR (st.st_mode))
  	cpp_error_with_line (pfile, CPP_DL_ERROR, 0, 0,
  			     "%s: not a directory", cur->name);
+ #endif
        else
  	{
  	  INO_T_COPY (cur->ino, st.st_ino);
Index: gcc/gcc/c-opts.c
diff -c gcc/gcc/c-opts.c:1.1.1.1 gcc/gcc/c-opts.c:1.4
*** gcc/gcc/c-opts.c:1.1.1.1	Wed Apr 15 16:26:05 2009
--- gcc/gcc/c-opts.c	Sat Sep 19 12:21:33 2009
***************
*** 206,211 ****
--- 206,227 ----
    parse_in = cpp_create_reader (c_dialect_cxx () ? CLK_GNUCXX: CLK_GNUC89,
  				ident_hash);
  
+ /* switch off all builtins by default, since when an unoptimized
+    compile is done we end up with a worse result when it is not
+    used.
+ 
+    L     15,=V(STRLEN)
+    BALR  14,15
+    LR    2,15          These two instructions only occur if
+    ST    2,100(13)     __builtin_strlen is used
+    SLR   2,2
+    LR    15,2
+ */
+ 
+ #if TARGET_MVS
+   flag_no_builtin = 1;
+ #endif
+ 
    cpp_opts = cpp_get_options (parse_in);
    cpp_opts->dollars_in_ident = DOLLARS_IN_IDENTIFIERS;
    cpp_opts->objc = c_dialect_objc ();
Index: gcc/gcc/c-parse.c
diff -c gcc/gcc/c-parse.c:1.1.1.1 gcc/gcc/c-parse.c:1.5
*** gcc/gcc/c-parse.c:1.1.1.1	Wed Apr 15 16:25:53 2009
--- gcc/gcc/c-parse.c	Mon Aug  3 23:22:02 2009
***************
*** 495,502 ****
--- 495,509 ----
  #define YYUNDEFTOK  2
  #define YYMAXUTOK   329
  
+ #ifdef HOST_EBCDIC
+ #define YYTRANSLATE(YYX)                      \
+   ((unsigned int) (YYX) <= YYMAXUTOK ? \
+   ((unsigned int) (YYX) < 256 ? yytranslate[_sch_ebcasc[YYX]] \
+   : yytranslate[YYX]) : YYUNDEFTOK)
+ #else
  #define YYTRANSLATE(YYX) 						\
    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ #endif
  
  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
  static const unsigned char yytranslate[] =
Index: gcc/gcc/c-pch.c
diff -c gcc/gcc/c-pch.c:1.1.1.1 gcc/gcc/c-pch.c:1.3
*** gcc/gcc/c-pch.c:1.1.1.1	Wed Apr 15 16:26:15 2009
--- gcc/gcc/c-pch.c	Sat Apr 25 21:25:15 2009
***************
*** 382,388 ****
--- 382,392 ----
    unsigned long written;
    struct save_macro_data *smd;
    
+ #if PUREISO
+   f = fopen (orig_name, "rb");
+ #else
    f = fdopen (fd, "rb");
+ #endif
    if (f == NULL)
      {
        cpp_errno (pfile, CPP_DL_ERROR, "calling fdopen");
Index: gcc/gcc/checkgen.bat
diff -c /dev/null gcc/gcc/checkgen.bat:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/checkgen.bat	Sun Jul 19 17:04:40 2009
***************
*** 0 ****
--- 1,4 ----
+ del alljcl.jcl
+ type gencomp.jcl >>alljcl.jcl
+ type checkgen.jcl >>alljcl.jcl
+ call runmvs alljcl.jcl output.txt
Index: gcc/gcc/checkgen.jcl
diff -c /dev/null gcc/gcc/checkgen.jcl:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/checkgen.jcl	Tue May 26 10:57:54 2009
***************
*** 0 ****
--- 1,33 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //COMPARE  PROC GCCPREF='GCC',LIB=''
+ //COMPR    EXEC PGM=IEBCOMPR
+ //SYSPRINT DD SYSOUT=*
+ //SYSUT1   DD DSN=&GCCPREF..&LIB,DISP=SHR
+ //SYSUT2   DD DSN=&GCCPREF..&LIB.2,DISP=SHR
+ //SYSIN    DD DUMMY
+ //         PEND
+ //*
+ //DELETE   PROC GCCPREF='GCC'
+ //DEL      EXEC PGM=IEFBR14
+ //DD5      DD DSN=&GCCPREF..SOURCE2,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD6      DD DSN=&GCCPREF..INCLUDE2,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //         PEND
+ //*
+ //*
+ //*
+ //CMP      EXEC COMPARE,LIB='SOURCE'
+ //SYSIN    DD *
+  COMPARE TYPORG=PO
+ /*
+ //*
+ //CMP2     EXEC COMPARE,LIB='INCLUDE'
+ //SYSIN    DD *
+  COMPARE TYPORG=PO
+ /*
+ //*
+ //CLEAN    EXEC DELETE,COND=(4,LT)
+ //*
+ //
Index: gcc/gcc/cload.exec
diff -c /dev/null gcc/gcc/cload.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/cload.exec	Wed Apr 15 23:24:19 2009
***************
*** 0 ****
--- 1,7 ----
+ &CONTROL CMS MSG
+ FI SYSIN TERM (LRECL 80 RECFM F
+ FI SYSPRINT TERM (LRECL 80 RECFM F
+ LOAD CLIB &1 (NOAUTO NOLIBE
+ FI SYSIN CLEAR
+ FI SYSPRINT CLEAR
+ &EXIT
Index: gcc/gcc/cmsutil.bat
diff -c /dev/null gcc/gcc/cmsutil.bat:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/cmsutil.bat	Thu May 12 16:38:17 2011
***************
*** 0 ****
--- 1,14 ----
+ cd ..\..\pdos\pdpclib
+ del *.o
+ copy pdptop.mac backup.mac
+ copy pdp370.mac pdptop.mac
+ make -f makefile.w32
+ cd ..\..\gcc\gcc
+ call compile -DTARGET_CMS
+ call compmvs -DTARGET_CMS -UUSE_MEMMGR -ansi -pedantic-errors
+ copy copyfile.s cpyfil.s
+ m4 -I ../../pdos/pdpclib cmsutil.m4 >cmsutil.txt
+ cd ..\..\pdos\pdpclib
+ copy backup.mac pdptop.mac
+ del backup.mac
+ cd ..\..\gcc\gcc
Index: gcc/gcc/cmsutil.exec
diff -c /dev/null gcc/gcc/cmsutil.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/cmsutil.exec	Wed Nov 11 16:48:40 2009
***************
*** 0 ****
--- 1,121 ----
+ *******************************************************************
+ *
+ * This EXEC compies C & S source loaded from the TDF file
+ * oe AWS tape onto the appropriate disks
+ *
+ *
+ *******************************************************************
+ &CONTROL
+ 
+ &ZVM = 1
+ 
+ MACLIB GEN PDPCLIB PDPPRLG PDPEPIL PDPTOP
+ &IF &ZVM EQ 1 &GOTO -ZMACS
+ GLOBAL MACLIB OSMACRO CMSLIB PDPCLIB
+ &GOTO -FINMACS
+ -ZMACS
+ GLOBAL MACLIB OSMACRO DMSGPI PDPCLIB
+ -FINMACS
+ 
+ 
+ ASSEMBLE CMSSUPA
+ ASSEMBLE CMSSTART
+ ASSEMBLE START
+ ASSEMBLE STDIO
+ ASSEMBLE STDLIB
+ ASSEMBLE CTYPE
+ ASSEMBLE STRING
+ ASSEMBLE TIME
+ ASSEMBLE ERRNO
+ ASSEMBLE ASSERT
+ ASSEMBLE LOCALE
+ ASSEMBLE MATH
+ ASSEMBLE SETJMP
+ ASSEMBLE SIGNAL
+ ASSEMBLE MVSUNZIP
+ ASSEMBLE HEXDUMP
+ ASSEMBLE MVSENDEC
+ ASSEMBLE CPYFIL
+ 
+ &STACK HT
+ LOAD    CMSSTART (NOLIBE NOAUTO
+ INCLUDE START (NOLIBE NOAUTO
+ INCLUDE CMSSUPA (NOLIBE NOAUTO
+ INCLUDE STDIO (NOLIBE NOAUTO
+ INCLUDE STDLIB (NOLIBE NOAUTO
+ INCLUDE CTYPE (NOLIBE NOAUTO
+ INCLUDE STRING (NOLIBE NOAUTO
+ INCLUDE TIME (NOLIBE NOAUTO
+ INCLUDE ERRNO (NOLIBE NOAUTO
+ INCLUDE ASSERT (NOLIBE NOAUTO
+ INCLUDE LOCALE (NOLIBE NOAUTO
+ INCLUDE MATH (NOLIBE NOAUTO
+ INCLUDE SETJMP (NOLIBE NOAUTO
+ INCLUDE SIGNAL (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE MVSUNZIP (NOLIBE NOAUTO
+ GENMOD MVSUNZIP
+ ERASE LOAD MAP A
+ 
+ &STACK HT
+ LOAD    CMSSTART (NOLIBE NOAUTO
+ INCLUDE START (NOLIBE NOAUTO
+ INCLUDE CMSSUPA (NOLIBE NOAUTO
+ INCLUDE STDIO (NOLIBE NOAUTO
+ INCLUDE STDLIB (NOLIBE NOAUTO
+ INCLUDE CTYPE (NOLIBE NOAUTO
+ INCLUDE STRING (NOLIBE NOAUTO
+ INCLUDE TIME (NOLIBE NOAUTO
+ INCLUDE ERRNO (NOLIBE NOAUTO
+ INCLUDE ASSERT (NOLIBE NOAUTO
+ INCLUDE LOCALE (NOLIBE NOAUTO
+ INCLUDE MATH (NOLIBE NOAUTO
+ INCLUDE SETJMP (NOLIBE NOAUTO
+ INCLUDE SIGNAL (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE HEXDUMP (NOLIBE NOAUTO
+ GENMOD HEXDUMP
+ ERASE LOAD MAP A
+ 
+ &STACK HT
+ LOAD    CMSSTART (NOLIBE NOAUTO
+ INCLUDE START (NOLIBE NOAUTO
+ INCLUDE CMSSUPA (NOLIBE NOAUTO
+ INCLUDE STDIO (NOLIBE NOAUTO
+ INCLUDE STDLIB (NOLIBE NOAUTO
+ INCLUDE CTYPE (NOLIBE NOAUTO
+ INCLUDE STRING (NOLIBE NOAUTO
+ INCLUDE TIME (NOLIBE NOAUTO
+ INCLUDE ERRNO (NOLIBE NOAUTO
+ INCLUDE ASSERT (NOLIBE NOAUTO
+ INCLUDE LOCALE (NOLIBE NOAUTO
+ INCLUDE MATH (NOLIBE NOAUTO
+ INCLUDE SETJMP (NOLIBE NOAUTO
+ INCLUDE SIGNAL (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE MVSENDEC (NOLIBE NOAUTO
+ GENMOD MVSENDEC
+ ERASE LOAD MAP A
+ 
+ &STACK HT
+ LOAD    CMSSTART (NOLIBE NOAUTO
+ INCLUDE START (NOLIBE NOAUTO
+ INCLUDE CMSSUPA (NOLIBE NOAUTO
+ INCLUDE STDIO (NOLIBE NOAUTO
+ INCLUDE STDLIB (NOLIBE NOAUTO
+ INCLUDE CTYPE (NOLIBE NOAUTO
+ INCLUDE STRING (NOLIBE NOAUTO
+ INCLUDE TIME (NOLIBE NOAUTO
+ INCLUDE ERRNO (NOLIBE NOAUTO
+ INCLUDE ASSERT (NOLIBE NOAUTO
+ INCLUDE LOCALE (NOLIBE NOAUTO
+ INCLUDE MATH (NOLIBE NOAUTO
+ INCLUDE SETJMP (NOLIBE NOAUTO
+ INCLUDE SIGNAL (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE CPYFIL (NOLIBE NOAUTO
+ GENMOD CPYFIL
+ ERASE LOAD MAP A
+ 
+ ERASE * LISTING A
+ ERASE * TEXT A
Index: gcc/gcc/cmsutil.m4
diff -c /dev/null gcc/gcc/cmsutil.m4:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/cmsutil.m4	Wed Apr 15 23:24:15 2009
***************
*** 0 ****
--- 1,24 ----
+ :READ  PDPTOP   COPY     A
+ undivert(pdp370.mac):READ  PDPPRLG  MACRO    A
+ undivert(pdpprlg.mac):READ  PDPEPIL  MACRO    A
+ undivert(pdpepil.mac):READ  CMSSTART ASSEMBLE A
+ undivert(cmsstart.asm):READ  CMSSUPA  ASSEMBLE A
+ undivert(cmssupa.asm):READ  START    ASSEMBLE A
+ undivert(start.s):READ  STDIO    ASSEMBLE A
+ undivert(stdio.s):READ  STDLIB   ASSEMBLE A
+ undivert(stdlib.s):READ  CTYPE    ASSEMBLE A
+ undivert(ctype.s):READ  STRING   ASSEMBLE A
+ undivert(string.s):READ  TIME     ASSEMBLE A
+ undivert(time.s):READ  ERRNO    ASSEMBLE A
+ undivert(errno.s):READ  ASSERT   ASSEMBLE A
+ undivert(assert.s):READ  LOCALE   ASSEMBLE A
+ undivert(locale.s):READ  MATH     ASSEMBLE A
+ undivert(math.s):READ  SETJMP   ASSEMBLE A
+ undivert(setjmp.s):READ  SIGNAL   ASSEMBLE A
+ undivert(signal.s):READ  MVSUNZIP ASSEMBLE A
+ undivert(mvsunzip.s):READ  HEXDUMP  ASSEMBLE A
+ undivert(hexdump.s):READ  MVSENDEC ASSEMBLE A
+ undivert(mvsendec.s):READ  CPYFIL   ASSEMBLE A
+ undivert(cpyfil.s):READ  CMSUTIL  EXEC     A
+ undivert(cmsutil.exec):READ  RUNSPOOL EXEC     A
+ undivert(runspool.exec)
Index: gcc/gcc/compile
diff -c /dev/null gcc/gcc/compile:1.14
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compile	Fri Nov 20 08:41:17 2009
***************
*** 0 ****
--- 1,248 ----
+ #/bin/sh
+ 
+ rm gccmvs
+ rm *.o
+ 
+ FILES="
+   alias
+   alloc-pool
+   attribs
+   bb-reorder
+   bitmap
+   bt-load
+   builtins
+   c-aux-info
+   c-common
+   c-convert
+   c-cppbuiltin
+   c-decl
+   c-dump
+   c-errors
+   c-format
+   c-incpath
+   c-lang
+   c-lex
+   c-objc-common
+   c-opts
+   c-parse
+   c-pch
+   c-ppoutput
+   c-pragma
+   c-pretty-print
+   c-semantics
+   c-typeck
+   caller-save
+   calls
+   cfg
+   cfganal
+   cfgbuild
+   cfgcleanup
+   cfghooks
+   cfglayout
+   cfgloop
+   cfgloopanal
+   cfgloopmanip
+   cfgrtl
+   cgraph
+   cgraphunit
+   combine
+   conflict
+   convert
+   coverage
+   cppcharset
+   cppdefault
+   cpperror
+   cppexp
+   cppfiles
+   cpphash
+   cppinit
+   cpplex
+   cpplib
+   cppmacro
+   cpppch
+   cpptrad
+   cse
+   cselib
+   dbxout
+   debug
+   df
+   diagnostic
+   dojump
+   dominance
+   dwarf2asm
+   dwarf2out
+   emit-rtl
+   et-forest
+   except
+   explow
+   expmed
+   expr
+   final
+   flow
+   fold-const
+   function
+   gcse
+   genrtl
+   ggc-common
+   ggc-page
+   global
+   graph
+   gtype-desc
+   haifa-sched
+   hashtable
+   hooks
+   host-default
+   ifcvt
+   insn-attrtab
+   insn-emit
+   insn-extract
+   insn-modes
+   insn-opinit
+   insn-output
+   insn-recog
+   integrate
+   jump
+   langhooks
+   lcm
+   line-map
+   lists
+   local-alloc
+   loop-init
+   loop-unroll
+   loop-unswitch
+   loop
+   mkdeps
+   optabs
+   options
+   opts
+   params
+   postreload
+   predict
+   prefix
+   pretty-print
+   print-rtl
+   print-tree
+   profile
+   ra-build
+   ra-colorize
+   ra-debug
+   ra-rewrite
+   ra
+   real
+   recog
+   reg-stack
+   regclass
+   regmove
+   regrename
+   reload
+   reload1
+   resource
+   rtl-error
+   rtl
+   rtlanal
+   sbitmap
+   sdbout
+   sibcall
+   simplify-rtx
+   sreal
+   stmt
+   stor-layout
+   stringpool
+   stub-objc
+   targhooks
+   timevar
+   toplev
+   tracer
+   tree-dump
+   tree-inline
+   tree-optimize
+   tree
+   unroll
+   value-prof
+   varasm
+   varray
+   version
+   web
+   gcc
+   gccspec
+   cppspec
+   ../libiberty/alloca
+   ../libiberty/argv
+   ../libiberty/asprintf
+   ../libiberty/basename
+   ../libiberty/bcmp
+   ../libiberty/bcopy
+   ../libiberty/bzero
+   ../libiberty/concat
+   ../libiberty/cp-demangle
+   ../libiberty/cp-demint
+   ../libiberty/cplus-dem
+   ../libiberty/dyn-string
+   ../libiberty/fdmatch
+   ../libiberty/ffs
+   ../libiberty/fibheap
+   ../libiberty/floatformat
+   ../libiberty/fnmatch
+   ../libiberty/getcwd
+   ../libiberty/getopt
+   ../libiberty/getopt1
+   ../libiberty/getpagesize
+   ../libiberty/getpwd
+   ../libiberty/getruntime
+   ../libiberty/hashtab
+   ../libiberty/hex
+   ../libiberty/index
+   ../libiberty/insque
+   ../libiberty/lbasename
+   ../libiberty/lrealpath
+   ../libiberty/make-relative-prefix
+   ../libiberty/make-temp-file
+   ../libiberty/md5
+   ../libiberty/mempcpy
+   ../libiberty/mkstemps
+   ../libiberty/objalloc
+   ../libiberty/obstack
+   ../libiberty/partition
+   ../libiberty/physmem
+   ../libiberty/putenv
+   ../libiberty/random
+   ../libiberty/rindex
+   ../libiberty/safe-ctype
+   ../libiberty/setenv
+   ../libiberty/snprintf
+   ../libiberty/sort
+   ../libiberty/spaces
+   ../libiberty/splay-tree
+   ../libiberty/stpcpy
+   ../libiberty/stpncpy
+   ../libiberty/strcasecmp
+   ../libiberty/strdup
+   ../libiberty/strncasecmp
+   ../libiberty/strsignal
+   ../libiberty/ternary
+   ../libiberty/vasprintf
+   ../libiberty/vprintf
+   ../libiberty/vsnprintf
+   ../libiberty/waitpid
+   ../libiberty/xatexit
+   ../libiberty/xexit
+   ../libiberty/xmalloc
+   ../libiberty/xmemdup
+   ../libiberty/xstrdup
+   ../libiberty/xstrerror
+   ../libiberty/unixio
+   config/i370/i370
+   config/i370/i370-c
+   "
+ for file in $FILES
+ 
+ do
+ 
+ echo "Compiling - $file"
+ gcc -nostdinc -O2 -c -ansi -pedantic-errors -DHAVE_CONFIG_H -DIN_GCC -DPUREISO $* -I ../../pdos/pdpclib -I . -I config/i370 -I ../include $file.c
+ 
+ done
+ 
+ gcc -nostdlib -o gccmvs *.o ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ exit
Index: gcc/gcc/compile.bat
diff -c /dev/null gcc/gcc/compile.bat:1.8
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compile.bat	Fri Nov 20 08:41:17 2009
***************
*** 0 ****
--- 1,239 ----
+ del gccmvs.exe
+ del *.obj
+ del *.o
+ 
+ call stdcomp alias.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp alloc-pool.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp attribs.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp bb-reorder.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp bitmap.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp bt-load.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp builtins.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-aux-info.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-common.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-convert.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-cppbuiltin.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-decl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-dump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-errors.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-format.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-incpath.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-lang.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-lex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-objc-common.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-opts.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-parse.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-pch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-ppoutput.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-pragma.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-pretty-print.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-semantics.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp c-typeck.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp caller-save.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp calls.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfg.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfganal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfgbuild.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfgcleanup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfghooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfglayout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfgloop.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfgloopanal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfgloopmanip.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cfgrtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cgraph.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cgraphunit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp combine.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp conflict.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp convert.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp coverage.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cppcharset.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cppdefault.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cpperror.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cppexp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cppfiles.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cpphash.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cppinit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cpplex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cpplib.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cppmacro.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cpppch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cpptrad.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cse.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cselib.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp dbxout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp debug.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp df.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp diagnostic.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp dojump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp dominance.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp dwarf2asm.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp dwarf2out.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp emit-rtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp et-forest.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp except.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp explow.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp expmed.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp expr.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp final.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp flow.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp fold-const.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp function.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp gcse.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp genrtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ggc-common.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ggc-page.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp global.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp graph.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp gtype-desc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp haifa-sched.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp hashtable.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp hooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp host-default.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ifcvt.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp insn-attrtab.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp insn-emit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp insn-extract.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp insn-modes.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp insn-opinit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp insn-output.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp insn-recog.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp integrate.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp jump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp langhooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp lcm.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp line-map.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp lists.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp local-alloc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp loop-init.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp loop-unroll.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp loop-unswitch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp loop.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp mkdeps.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp optabs.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp options.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp opts.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp params.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp postreload.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp predict.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp prefix.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp pretty-print.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp print-rtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp print-tree.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp profile.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ra-build.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ra-colorize.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ra-debug.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ra-rewrite.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ra.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp real.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp recog.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp reg-stack.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp regclass.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp regmove.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp regrename.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp reload.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp reload1.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp resource.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp rtl-error.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp rtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp rtlanal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp sbitmap.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp sdbout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp sibcall.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp simplify-rtx.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp sreal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp stmt.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp stor-layout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp stringpool.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp stub-objc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp targhooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp timevar.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp toplev.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp tracer.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp tree-dump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp tree-inline.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp tree-optimize.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp tree.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp unroll.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp value-prof.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp varasm.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp varray.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp version.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp web.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp gcc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp gccspec.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp cppspec.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/alloca.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/argv.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/asprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/basename.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/bcmp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/bcopy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/bzero.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/concat.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/cp-demangle.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/cp-demint.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/cplus-dem.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/dyn-string.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/fdmatch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/ffs.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/fibheap.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/floatformat.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/fnmatch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/getcwd.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/getopt.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/getopt1.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/getpagesize.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/getpwd.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/getruntime.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/hashtab.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/hex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/index.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/insque.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/lbasename.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/lrealpath.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/make-relative-prefix.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/make-temp-file.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/md5.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/mempcpy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/mkstemps.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/objalloc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/obstack.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/partition.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/physmem.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/putenv.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/random.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/rindex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/safe-ctype.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/setenv.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/snprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/sort.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/spaces.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/splay-tree.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/stpcpy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/stpncpy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/strcasecmp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/strdup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/strncasecmp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/strsignal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/ternary.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/vasprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/vprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/vsnprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/waitpid.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/xatexit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/xexit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/xmalloc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/xmemdup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/xstrdup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/xstrerror.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp ../libiberty/unixio.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp config/i370/i370.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcomp config/i370/i370-c.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ 
+ rem bcc32 -w- -A -egccmvs.exe *.obj
+ rem wcl386 -zq -e=1 -za -w- -fe=gccmvs.exe *.obj
+ rem cl /Fegccmvs.exe *.obj
+ rem gcc -s -o gccmvs.exe *.o
+ gcc -s -nostdlib -o gccmvs.exe *.o ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
Index: gcc/gcc/compile.exec
diff -c /dev/null gcc/gcc/compile.exec:1.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compile.exec	Fri Nov 20 06:39:37 2009
***************
*** 0 ****
--- 1,164 ----
+ * Usage - COMPILE <SRC> <EXE> <WORK>
+ 
+ * This script compiles all the files on SRC disk (default is A)
+ * and copies the resultant modules to the EXE disk (default B)
+ * while using the WORK disk (default C) as a temporary area
+ 
+ &SRC = A
+ &EXE = B
+ &WORK = C
+ 
+ * Set this if you want to build a 370 version of PDPCLIB
+ * so that your executables are maximally portable. Set
+ * to 390 or 380 otherwise. Note that if you set to 380
+ * you should also change stdpdp.parm to define USE_MEMMGR
+ &BLD = 370
+ 
+ * Set this to 1 if you have a pure 370 environment (ie
+ * not z/VM and not VM/380) so can't do 31-bit compiles
+ &ALL370 = 0
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &SRC = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &WORK = &1
+ 
+ -FINARGS
+ 
+ 
+ &IF &SRC EQ &WORK &GOTO -NOERASE
+ * Erase the work disk and avoid errors by copying
+ * a dummy file
+ COPY PDPTOP MAC &SRC = = &WORK (REPL
+ LIST * * &WORK (EXEC
+ EXEC CMS ERASE
+ -NOERASE
+ 
+ COPY PDPTOP MAC &SRC = COPY = (REPL LRECL 80 RECFM F
+ COPY PDPPRLG MAC &SRC = MACRO = (REPL LRECL 80 RECFM F
+ COPY PDPEPIL MAC &SRC = MACRO = (REPL LRECL 80 RECFM F
+ COPY __HEADER H &SRC HEADER GCC &SRC (REPL
+ 
+ MACLIB GEN PDPCLIB PDPPRLG PDPEPIL PDPTOP
+ GLOBAL MACLIB PDPCLIB OSMACRO DMSGPI
+ 
+ * Pass 1
+ EXEC GCCAALL &SRC
+ EXEC GCCLINK &SRC &EXE
+ EXEC MKCLIB &SRC
+ 
+ * Skip the rebuild and verification on a 370 environment
+ * since there isn't enough memory
+ &IF &ALL370 = 1 &GOTO -NO31
+ 
+ * Make copy of assembler for later comparison
+ &IF &SRC EQ &WORK &GOTO -NOCPCMP
+ COPY * S &SRC = = &WORK (REPL
+ -NOCPCMP
+ 
+ * Pass 2
+ EXEC GCCCALL &SRC
+ EXEC GCCAALL &SRC
+ EXEC GCCLINK &SRC &EXE
+ EXEC MKCLIB &SRC
+ 
+ * Compare assembler source is identical. Note that
+ * if you wish to use an option other than -Os to
+ * compile, you'll need to do a 3rd pass for
+ * matching assembler, due to low-level floating
+ * point quirks.
+ &IF &SRC EQ &WORK &GOTO -NOCMPR
+ EXEC ITERGCC DIFFCMS Y Y Y Y &SRC &WORK
+ -NOCMPR
+ 
+ * Now we need a normal S/370 or S/390 (no memmgr,
+ * no S/380) version of PDPCLIB. So let's
+ * compile what we need, using the new C compiler
+ 
+ &IF &BLD NE 370 &GOTO -NO370
+ COPY PDP370 MAC &SRC PDPTOP COPY A (REPL LRECL 80 RECFM F
+ -NO370
+ MACLIB GEN PDPCLIB PDPPRLG PDPEPIL PDPTOP
+ GLOBAL MACLIB OSMACRO DMSGPI PDPCLIB
+ &ASMNAME = ASMAHL
+ 
+ EXEC GCCAONE CMSSUPA &SRC &ASMNAME
+ EXEC GCCAONE CMSSTART &SRC &ASMNAME
+ EXEC GCCE START C &SRC (PARM STDPDP
+ EXEC GCCE STDIO C &SRC (PARM STDPDP
+ EXEC GCCE STDLIB C &SRC (PARM STDPDP
+ EXEC GCCE CTYPE C &SRC (PARM STDPDP
+ EXEC GCCE STRING C &SRC (PARM STDPDP
+ EXEC GCCE TIME C &SRC (PARM STDPDP
+ EXEC GCCE ERRNO C &SRC (PARM STDPDP
+ EXEC GCCE ASSERT C &SRC (PARM STDPDP
+ EXEC GCCE LOCALE C &SRC (PARM STDPDP
+ EXEC GCCE MATH C &SRC (PARM STDPDP
+ EXEC GCCE SETJMP C &SRC (PARM STDPDP
+ EXEC GCCE SIGNAL C &SRC (PARM STDPDP
+ EXEC GCCE __MEMMGR C &SRC (PARM STDPDP
+ EXEC MKCLIB &SRC
+ 
+ 
+ * Now we build a 370 version of the executable, even though
+ * we're on an 380+ system, because we have everything needed
+ * available.
+ &IF &BLD NE 370 &GOTO -NO370B
+ EXEC GCCLINK &SRC &EXE GCC370
+ -NO370B
+ 
+ 
+ -NO31
+ 
+ 
+ * Compile a utility needed to change CSECT names
+ EXEC GCCE NAMCSECT C &SRC
+ EXEC CLOAD NAMCSECT
+ GENMOD NAMCSECT (NOMAP
+ 
+ 
+ * Generate PDPCLIB TXTLIB
+ EXEC MKPDPC &SRC &ASMNAME
+ 
+ GLOBAL TXTLIB PDPCLIB
+ 
+ 
+ * Build some useful utilities
+ EXEC GCCE MVSUNZIP C &SRC
+ LOAD MVSUNZIP (NOAUTO NOMAP
+ GENMOD MVSUNZIP (NOMAP
+ 
+ EXEC GCCE HEXDUMP C &SRC
+ LOAD HEXDUMP (NOAUTO NOMAP
+ GENMOD HEXDUMP (NOMAP
+ 
+ EXEC GCCE MVSENDEC C &SRC
+ LOAD MVSENDEC (NOAUTO NOMAP
+ GENMOD MVSENDEC (NOMAP
+ 
+ * Rename COPYFILE since it clashes with CMS
+ COPY COPYFILE C &SRC CPYFIL C &SRC (REPLACE
+ EXEC GCCE CPYFIL C &SRC
+ LOAD CPYFIL (NOAUTO NOMAP
+ GENMOD CPYFIL (NOMAP
+ 
+ * Compile example program
+ EXEC GCCE PDPTEST C &SRC
+ LOAD PDPTEST (NOAUTO NOMAP
+ GENMOD PDPTEST (NOMAP
+ 
+ * Copy important stuff onto the B disk
+ * Note that the GCC modules were generated directly there
+ &IF &SRC EQ &EXE &GOTO -NOCPY
+ EXEC COPYGCC &SRC &EXE
+ -NOCPY
+ 
+ 
+ * Quick test using pdptest
+ PDPTEST Fred was here
Index: gcc/gcc/compmus.exec
diff -c /dev/null gcc/gcc/compmus.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compmus.exec	Thu May 12 16:38:18 2011
***************
*** 0 ****
--- 1,160 ----
+ /inc rexx
+ 'copy *.mac *.m'
+ 'musaone alias'
+ 'musaone attribs'
+ 'musaone bb-reorder'
+ 'musaone bitmap'
+ 'musaone builtins'
+ 'musaone c-aux-info'
+ 'musaone c-common'
+ 'musaone c-convert'
+ 'musaone c-decl'
+ 'musaone c-errors'
+ 'musaone c-format'
+ 'musaone c-lang'
+ 'musaone c-lex'
+ 'musaone c-objc-common'
+ 'musaone c-parse'
+ 'musaone c-pragma'
+ 'musaone c-semantics'
+ 'musaone c-typeck'
+ 'musaone caller-save'
+ 'musaone calls'
+ 'musaone cfg'
+ 'musaone cfganal'
+ 'musaone cfgbuild'
+ 'musaone cfgcleanup'
+ 'musaone cfglayout'
+ 'musaone cfgloop'
+ 'musaone cfgrtl'
+ 'musaone combine'
+ 'musaone conflict'
+ 'musaone convert'
+ 'musaone cppdefault'
+ 'musaone cpperror'
+ 'musaone cppexp'
+ 'musaone cppfiles'
+ 'musaone cpphash'
+ 'musaone cppinit'
+ 'musaone cpplex'
+ 'musaone cpplib'
+ 'musaone cppmacro'
+ 'musaone cppmain'
+ 'musaone cppspec'
+ 'musaone cse'
+ 'musaone cselib'
+ 'musaone debug'
+ 'musaone dependence'
+ 'musaone df'
+ 'musaone diagnostic'
+ 'musaone dominance'
+ 'musaone dwarf2asm'
+ 'musaone dwarf2out'
+ 'musaone emit-rtl'
+ 'musaone except'
+ 'musaone explow'
+ 'musaone expmed'
+ 'musaone expr'
+ 'musaone final'
+ 'musaone flow'
+ 'musaone fold-const'
+ 'musaone function'
+ 'musaone gcc'
+ 'musaone gccspec'
+ 'musaone gcse'
+ 'musaone genrtl'
+ 'musaone ggc-common'
+ 'musaone ggc-page'
+ 'musaone global'
+ 'musaone graph'
+ 'musaone hash'
+ 'musaone hashtable'
+ 'musaone hooks'
+ 'musaone ifcvt'
+ 'musaone insn-attrtab'
+ 'musaone insn-emit'
+ 'musaone insn-extract'
+ 'musaone insn-opinit'
+ 'musaone insn-output'
+ 'musaone insn-recog'
+ 'musaone integrate'
+ 'musaone jump'
+ 'musaone langhooks'
+ 'musaone lcm'
+ 'musaone line-map'
+ 'musaone lists'
+ 'musaone local-alloc'
+ 'musaone loop'
+ 'musaone mkdeps'
+ 'musaone optabs'
+ 'musaone params'
+ 'musaone predict'
+ 'musaone prefix'
+ 'musaone print-rtl'
+ 'musaone print-tree'
+ 'musaone profile'
+ 'musaone real'
+ 'musaone recog'
+ 'musaone regclass'
+ 'musaone regmove'
+ 'musaone regrename'
+ 'musaone reload'
+ 'musaone reload1'
+ 'musaone resource'
+ 'musaone rtl-error'
+ 'musaone rtl'
+ 'musaone rtlanal'
+ 'musaone sbitmap'
+ 'musaone sibcall'
+ 'musaone simplify-rtx'
+ 'musaone ssa-ccp'
+ 'musaone ssa-dce'
+ 'musaone ssa'
+ 'musaone stmt'
+ 'musaone stor-layout'
+ 'musaone stringpool'
+ 'musaone timevar'
+ 'musaone toplev'
+ 'musaone tree-dump'
+ 'musaone tree-inline'
+ 'musaone tree'
+ 'musaone unroll'
+ 'musaone varasm'
+ 'musaone varray'
+ 'musaone version'
+ 'musaone xmalloc'
+ 'musaone xstrerror'
+ 'musaone xstrdup'
+ 'musaone xexit'
+ 'musaone concat'
+ 'musaone hex'
+ 'musaone alloca'
+ 'musaone lbasename'
+ 'musaone obstack'
+ 'musaone strsignal'
+ 'musaone safe-ctype'
+ 'musaone splay-tree'
+ 'musaone fibheap'
+ 'musaone hashtab'
+ 'musaone asprintf'
+ 'musaone vasprintf'
+ 'musaone getpagesize'
+ 'musaone partition'
+ 'musaone i370-c'
+ 'musaone i370'
+ 'musaone unixio'
+ 'musaone stdio'
+ 'musaone stdlib'
+ 'musaone ctype'
+ 'musaone string'
+ 'musaone time'
+ 'musaone errno'
+ 'musaone assert'
+ 'musaone locale'
+ 'musaone math'
+ 'musaone setjmp'
+ 'musaone signal'
+ 'musaone start'
+ 'musaone __memmgr'
+ 'musaone musstart'
+ 'musaone mussupa'
Index: gcc/gcc/compmus.job
diff -c /dev/null gcc/gcc/compmus.job:1.11
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compmus.job	Wed Jun  1 09:06:06 2011
***************
*** 0 ****
--- 1,4048 ----
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'purge *'
+ 'purge old\*'
+ 'purge new\*'
+ 'purge exe\*'
+ 'rmdir old'
+ 'rmdir new'
+ 'rmdir exe'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file in tape osrecfm(u) blksize(128) vol(PCTOMF) old
+ /parm dd:in
+ /load xmon
+ mvsunzip n(mvsunzip.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'copy *.exec *'
+ 'copy *.mac *.m'
+ 'copy musstart.asm musstart.s'
+ 'copy mussupa.asm mussupa.s'
+ 'mkdir old'
+ 'copy *.s old\*.s'
+ 'musaall'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(gcc.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /file lkedwork uds(@bld.lked01) vol(musicz) bufno(0)
+ /etc new delete nrec(64000)
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=gcc
+ .org 4a00
+ /inc alias.obj
+ /inc alloc-pool.obj
+ /inc attribs.obj
+ /inc bb-reorder.obj
+ /inc bitmap.obj
+ /inc bt-load.obj
+ /inc builtins.obj
+ /inc c-aux-info.obj
+ /inc c-common.obj
+ /inc c-convert.obj
+ /inc c-cppbuiltin.obj
+ /inc c-decl.obj
+ /inc c-dump.obj
+ /inc c-errors.obj
+ /inc c-format.obj
+ /inc c-incpath.obj
+ /inc c-lang.obj
+ /inc c-lex.obj
+ /inc c-objc-common.obj
+ /inc c-opts.obj
+ /inc c-parse.obj
+ /inc c-pch.obj
+ /inc c-ppoutput.obj
+ /inc c-pragma.obj
+ /inc c-pretty-prin.obj
+ /inc c-semantics.obj
+ /inc c-typeck.obj
+ /inc caller-save.obj
+ /inc calls.obj
+ /inc cfg.obj
+ /inc cfganal.obj
+ /inc cfgbuild.obj
+ /inc cfgcleanup.obj
+ /inc cfghooks.obj
+ /inc cfglayout.obj
+ /inc cfgloop.obj
+ /inc cfgloopanal.obj
+ /inc cfgloopmanip.obj
+ /inc cfgrtl.obj
+ /inc cgraph.obj
+ /inc cgraphunit.obj
+ /inc combine.obj
+ /inc conflict.obj
+ /inc convert.obj
+ /inc coverage.obj
+ /inc cppcharset.obj
+ /inc cppdefault.obj
+ /inc cpperror.obj
+ /inc cppexp.obj
+ /inc cppfiles.obj
+ /inc cpphash.obj
+ /inc cppinit.obj
+ /inc cpplex.obj
+ /inc cpplib.obj
+ /inc cppmacro.obj
+ /inc cpppch.obj
+ /inc cpptrad.obj
+ /inc cse.obj
+ /inc cselib.obj
+ /inc dbxout.obj
+ /inc debug.obj
+ /inc df.obj
+ /inc diagnostic.obj
+ /inc dojump.obj
+ /inc dominance.obj
+ /inc dwarf2asm.obj
+ /inc dwarf2out.obj
+ /inc emit-rtl.obj
+ /inc et-forest.obj
+ /inc except.obj
+ /inc explow.obj
+ /inc expmed.obj
+ /inc expr.obj
+ /inc final.obj
+ /inc flow.obj
+ /inc fold-const.obj
+ /inc function.obj
+ /inc gcse.obj
+ /inc genrtl.obj
+ /inc ggc-common.obj
+ /inc ggc-page.obj
+ /inc global.obj
+ /inc graph.obj
+ /inc gtype-desc.obj
+ /inc haifa-sched.obj
+ /inc hashtable.obj
+ /inc hooks.obj
+ /inc host-default.obj
+ /inc ifcvt.obj
+ /inc insn-attrtab.obj
+ /inc insn-emit.obj
+ /inc insn-extract.obj
+ /inc insn-modes.obj
+ /inc insn-opinit.obj
+ /inc insn-output.obj
+ /inc insn-recog.obj
+ /inc integrate.obj
+ /inc jump.obj
+ /inc langhooks.obj
+ /inc lcm.obj
+ /inc line-map.obj
+ /inc lists.obj
+ /inc local-alloc.obj
+ /inc loop-init.obj
+ /inc loop-unroll.obj
+ /inc loop-unswitch.obj
+ /inc loop.obj
+ /inc mkdeps.obj
+ /inc optabs.obj
+ /inc options.obj
+ /inc opts.obj
+ /inc params.obj
+ /inc postreload.obj
+ /inc predict.obj
+ /inc prefix.obj
+ /inc pretty-print.obj
+ /inc print-rtl.obj
+ /inc print-tree.obj
+ /inc profile.obj
+ /inc ra-build.obj
+ /inc ra-colorize.obj
+ /inc ra-debug.obj
+ /inc ra-rewrite.obj
+ /inc ra.obj
+ /inc real.obj
+ /inc recog.obj
+ /inc reg-stack.obj
+ /inc regclass.obj
+ /inc regmove.obj
+ /inc regrename.obj
+ /inc reload.obj
+ /inc reload1.obj
+ /inc resource.obj
+ /inc rtl-error.obj
+ /inc rtl.obj
+ /inc rtlanal.obj
+ /inc sbitmap.obj
+ /inc sdbout.obj
+ /inc sibcall.obj
+ /inc simplify-rtx.obj
+ /inc sreal.obj
+ /inc stmt.obj
+ /inc stor-layout.obj
+ /inc stringpool.obj
+ /inc stub-objc.obj
+ /inc targhooks.obj
+ /inc timevar.obj
+ /inc toplev.obj
+ /inc tracer.obj
+ /inc tree-dump.obj
+ /inc tree-inline.obj
+ /inc tree-optimize.obj
+ /inc tree.obj
+ /inc unroll.obj
+ /inc value-prof.obj
+ /inc varasm.obj
+ /inc varray.obj
+ /inc version.obj
+ /inc web.obj
+ /inc gcc.obj
+ /inc gccspec.obj
+ /inc cppspec.obj
+ /inc alloca.obj
+ /inc argv.obj
+ /inc asprintf.obj
+ /inc basename.obj
+ /inc bcmp.obj
+ /inc bcopy.obj
+ /inc bzero.obj
+ /inc concat.obj
+ /inc cp-demangle.obj
+ /inc cp-demint.obj
+ /inc cplus-dem.obj
+ /inc dyn-string.obj
+ /inc fdmatch.obj
+ /inc ffs.obj
+ /inc fibheap.obj
+ /inc floatformat.obj
+ /inc fnmatch.obj
+ /inc getcwd.obj
+ /inc getopt.obj
+ /inc getopt1.obj
+ /inc getpagesize.obj
+ /inc getpwd.obj
+ /inc getruntime.obj
+ /inc hashtab.obj
+ /inc hex.obj
+ /inc index.obj
+ /inc insque.obj
+ /inc lbasename.obj
+ /inc lrealpath.obj
+ /inc make-relative.obj
+ /inc make-temp-fil.obj
+ /inc md5.obj
+ /inc mempcpy.obj
+ /inc mkstemps.obj
+ /inc objalloc.obj
+ /inc obstack.obj
+ /inc partition.obj
+ /inc physmem.obj
+ /inc putenv.obj
+ /inc random.obj
+ /inc rindex.obj
+ /inc safe-ctype.obj
+ /inc setenv.obj
+ /inc snprintf.obj
+ /inc sort.obj
+ /inc spaces.obj
+ /inc splay-tree.obj
+ /inc stpcpy.obj
+ /inc stpncpy.obj
+ /inc strcasecmp.obj
+ /inc strdup.obj
+ /inc strncasecmp.obj
+ /inc strsignal.obj
+ /inc ternary.obj
+ /inc vasprintf.obj
+ /inc vprintf.obj
+ /inc vsnprintf.obj
+ /inc waitpid.obj
+ /inc xatexit.obj
+ /inc xexit.obj
+ /inc xmalloc.obj
+ /inc xmemdup.obj
+ /inc xstrdup.obj
+ /inc xstrerror.obj
+ /inc unixio.obj
+ /inc i370.obj
+ /inc i370-c.obj
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc ctype.obj
+ /inc string.obj
+ /inc time.obj
+ /inc errno.obj
+ /inc assert.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc __memmgr.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=3000,xregion=64m
+ /parm *
+ /inc dir
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /parm --version
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /PARM *.S
+ /INC PURGE
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(alias.c) shr
+ /file o n(alias.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(alloc-pool.c) shr
+ /file o n(alloc-pool.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(attribs.c) shr
+ /file o n(attribs.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(bb-reorder.c) shr
+ /file o n(bb-reorder.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(bitmap.c) shr
+ /file o n(bitmap.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(bt-load.c) shr
+ /file o n(bt-load.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(builtins.c) shr
+ /file o n(builtins.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-aux-info.c) shr
+ /file o n(c-aux-info.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-common.c) shr
+ /file o n(c-common.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-convert.c) shr
+ /file o n(c-convert.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-cppbuiltin.c) shr
+ /file o n(c-cppbuiltin.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-decl.c) shr
+ /file o n(c-decl.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-dump.c) shr
+ /file o n(c-dump.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-errors.c) shr
+ /file o n(c-errors.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-format.c) shr
+ /file o n(c-format.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-incpath.c) shr
+ /file o n(c-incpath.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-lang.c) shr
+ /file o n(c-lang.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-lex.c) shr
+ /file o n(c-lex.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-objc-common.c) shr
+ /file o n(c-objc-common.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-opts.c) shr
+ /file o n(c-opts.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-parse.c) shr
+ /file o n(c-parse.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-pch.c) shr
+ /file o n(c-pch.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-ppoutput.c) shr
+ /file o n(c-ppoutput.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-pragma.c) shr
+ /file o n(c-pragma.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-pretty-prin.c) shr
+ /file o n(c-pretty-prin.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-semantics.c) shr
+ /file o n(c-semantics.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(c-typeck.c) shr
+ /file o n(c-typeck.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(caller-save.c) shr
+ /file o n(caller-save.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(calls.c) shr
+ /file o n(calls.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfg.c) shr
+ /file o n(cfg.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfganal.c) shr
+ /file o n(cfganal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfgbuild.c) shr
+ /file o n(cfgbuild.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfgcleanup.c) shr
+ /file o n(cfgcleanup.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfghooks.c) shr
+ /file o n(cfghooks.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfglayout.c) shr
+ /file o n(cfglayout.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfgloop.c) shr
+ /file o n(cfgloop.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfgloopanal.c) shr
+ /file o n(cfgloopanal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfgloopmanip.c) shr
+ /file o n(cfgloopmanip.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cfgrtl.c) shr
+ /file o n(cfgrtl.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cgraph.c) shr
+ /file o n(cgraph.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cgraphunit.c) shr
+ /file o n(cgraphunit.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(combine.c) shr
+ /file o n(combine.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(conflict.c) shr
+ /file o n(conflict.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(convert.c) shr
+ /file o n(convert.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(coverage.c) shr
+ /file o n(coverage.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cppcharset.c) shr
+ /file o n(cppcharset.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cppdefault.c) shr
+ /file o n(cppdefault.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cpperror.c) shr
+ /file o n(cpperror.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cppexp.c) shr
+ /file o n(cppexp.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cppfiles.c) shr
+ /file o n(cppfiles.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cpphash.c) shr
+ /file o n(cpphash.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cppinit.c) shr
+ /file o n(cppinit.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cpplex.c) shr
+ /file o n(cpplex.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cpplib.c) shr
+ /file o n(cpplib.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cppmacro.c) shr
+ /file o n(cppmacro.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cpppch.c) shr
+ /file o n(cpppch.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cpptrad.c) shr
+ /file o n(cpptrad.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cse.c) shr
+ /file o n(cse.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cselib.c) shr
+ /file o n(cselib.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(dbxout.c) shr
+ /file o n(dbxout.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(debug.c) shr
+ /file o n(debug.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(df.c) shr
+ /file o n(df.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(diagnostic.c) shr
+ /file o n(diagnostic.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(dojump.c) shr
+ /file o n(dojump.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(dominance.c) shr
+ /file o n(dominance.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(dwarf2asm.c) shr
+ /file o n(dwarf2asm.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(dwarf2out.c) shr
+ /file o n(dwarf2out.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(emit-rtl.c) shr
+ /file o n(emit-rtl.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(et-forest.c) shr
+ /file o n(et-forest.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(except.c) shr
+ /file o n(except.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(explow.c) shr
+ /file o n(explow.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(expmed.c) shr
+ /file o n(expmed.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(expr.c) shr
+ /file o n(expr.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(final.c) shr
+ /file o n(final.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(flow.c) shr
+ /file o n(flow.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(fold-const.c) shr
+ /file o n(fold-const.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(function.c) shr
+ /file o n(function.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(gcse.c) shr
+ /file o n(gcse.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(genrtl.c) shr
+ /file o n(genrtl.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ggc-common.c) shr
+ /file o n(ggc-common.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ggc-page.c) shr
+ /file o n(ggc-page.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(global.c) shr
+ /file o n(global.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(graph.c) shr
+ /file o n(graph.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(gtype-desc.c) shr
+ /file o n(gtype-desc.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(haifa-sched.c) shr
+ /file o n(haifa-sched.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(hashtable.c) shr
+ /file o n(hashtable.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(hooks.c) shr
+ /file o n(hooks.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(host-default.c) shr
+ /file o n(host-default.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ifcvt.c) shr
+ /file o n(ifcvt.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insn-attrtab.c) shr
+ /file o n(insn-attrtab.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insn-emit.c) shr
+ /file o n(insn-emit.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insn-extract.c) shr
+ /file o n(insn-extract.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insn-modes.c) shr
+ /file o n(insn-modes.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insn-opinit.c) shr
+ /file o n(insn-opinit.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insn-output.c) shr
+ /file o n(insn-output.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insn-recog.c) shr
+ /file o n(insn-recog.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(integrate.c) shr
+ /file o n(integrate.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(jump.c) shr
+ /file o n(jump.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(langhooks.c) shr
+ /file o n(langhooks.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(lcm.c) shr
+ /file o n(lcm.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(line-map.c) shr
+ /file o n(line-map.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(lists.c) shr
+ /file o n(lists.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(local-alloc.c) shr
+ /file o n(local-alloc.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(loop-init.c) shr
+ /file o n(loop-init.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(loop-unroll.c) shr
+ /file o n(loop-unroll.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(loop-unswitch.c) shr
+ /file o n(loop-unswitch.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(loop.c) shr
+ /file o n(loop.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mkdeps.c) shr
+ /file o n(mkdeps.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(optabs.c) shr
+ /file o n(optabs.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(options.c) shr
+ /file o n(options.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(opts.c) shr
+ /file o n(opts.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(params.c) shr
+ /file o n(params.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(postreload.c) shr
+ /file o n(postreload.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(predict.c) shr
+ /file o n(predict.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(prefix.c) shr
+ /file o n(prefix.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(pretty-print.c) shr
+ /file o n(pretty-print.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(print-rtl.c) shr
+ /file o n(print-rtl.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(print-tree.c) shr
+ /file o n(print-tree.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(profile.c) shr
+ /file o n(profile.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ra-build.c) shr
+ /file o n(ra-build.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ra-colorize.c) shr
+ /file o n(ra-colorize.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ra-debug.c) shr
+ /file o n(ra-debug.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ra-rewrite.c) shr
+ /file o n(ra-rewrite.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ra.c) shr
+ /file o n(ra.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(real.c) shr
+ /file o n(real.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(recog.c) shr
+ /file o n(recog.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(reg-stack.c) shr
+ /file o n(reg-stack.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(regclass.c) shr
+ /file o n(regclass.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(regmove.c) shr
+ /file o n(regmove.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(regrename.c) shr
+ /file o n(regrename.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(reload.c) shr
+ /file o n(reload.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(reload1.c) shr
+ /file o n(reload1.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(resource.c) shr
+ /file o n(resource.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(rtl-error.c) shr
+ /file o n(rtl-error.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(rtl.c) shr
+ /file o n(rtl.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(rtlanal.c) shr
+ /file o n(rtlanal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(sbitmap.c) shr
+ /file o n(sbitmap.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(sdbout.c) shr
+ /file o n(sdbout.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(sibcall.c) shr
+ /file o n(sibcall.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(simplify-rtx.c) shr
+ /file o n(simplify-rtx.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(sreal.c) shr
+ /file o n(sreal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stmt.c) shr
+ /file o n(stmt.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stor-layout.c) shr
+ /file o n(stor-layout.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stringpool.c) shr
+ /file o n(stringpool.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stub-objc.c) shr
+ /file o n(stub-objc.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(targhooks.c) shr
+ /file o n(targhooks.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(timevar.c) shr
+ /file o n(timevar.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(toplev.c) shr
+ /file o n(toplev.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(tracer.c) shr
+ /file o n(tracer.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(tree-dump.c) shr
+ /file o n(tree-dump.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(tree-inline.c) shr
+ /file o n(tree-inline.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(tree-optimize.c) shr
+ /file o n(tree-optimize.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(tree.c) shr
+ /file o n(tree.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(unroll.c) shr
+ /file o n(unroll.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(value-prof.c) shr
+ /file o n(value-prof.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(varasm.c) shr
+ /file o n(varasm.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(varray.c) shr
+ /file o n(varray.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(version.c) shr
+ /file o n(version.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(web.c) shr
+ /file o n(web.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(gcc.c) shr
+ /file o n(gcc.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(gccspec.c) shr
+ /file o n(gccspec.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cppspec.c) shr
+ /file o n(cppspec.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(alloca.c) shr
+ /file o n(alloca.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(argv.c) shr
+ /file o n(argv.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(asprintf.c) shr
+ /file o n(asprintf.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(basename.c) shr
+ /file o n(basename.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(bcmp.c) shr
+ /file o n(bcmp.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(bcopy.c) shr
+ /file o n(bcopy.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(bzero.c) shr
+ /file o n(bzero.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(concat.c) shr
+ /file o n(concat.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cp-demangle.c) shr
+ /file o n(cp-demangle.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cp-demint.c) shr
+ /file o n(cp-demint.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(cplus-dem.c) shr
+ /file o n(cplus-dem.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(dyn-string.c) shr
+ /file o n(dyn-string.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(fdmatch.c) shr
+ /file o n(fdmatch.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ffs.c) shr
+ /file o n(ffs.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(fibheap.c) shr
+ /file o n(fibheap.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(floatformat.c) shr
+ /file o n(floatformat.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(fnmatch.c) shr
+ /file o n(fnmatch.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(getcwd.c) shr
+ /file o n(getcwd.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(getopt.c) shr
+ /file o n(getopt.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(getopt1.c) shr
+ /file o n(getopt1.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(getpagesize.c) shr
+ /file o n(getpagesize.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(getpwd.c) shr
+ /file o n(getpwd.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(getruntime.c) shr
+ /file o n(getruntime.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(hashtab.c) shr
+ /file o n(hashtab.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(hex.c) shr
+ /file o n(hex.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(index.c) shr
+ /file o n(index.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(insque.c) shr
+ /file o n(insque.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(lbasename.c) shr
+ /file o n(lbasename.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(lrealpath.c) shr
+ /file o n(lrealpath.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(make-relative.c) shr
+ /file o n(make-relative.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(make-temp-fil.c) shr
+ /file o n(make-temp-fil.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(md5.c) shr
+ /file o n(md5.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mempcpy.c) shr
+ /file o n(mempcpy.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mkstemps.c) shr
+ /file o n(mkstemps.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(objalloc.c) shr
+ /file o n(objalloc.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(obstack.c) shr
+ /file o n(obstack.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(partition.c) shr
+ /file o n(partition.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(physmem.c) shr
+ /file o n(physmem.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(putenv.c) shr
+ /file o n(putenv.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(random.c) shr
+ /file o n(random.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(rindex.c) shr
+ /file o n(rindex.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(safe-ctype.c) shr
+ /file o n(safe-ctype.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(setenv.c) shr
+ /file o n(setenv.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(snprintf.c) shr
+ /file o n(snprintf.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(sort.c) shr
+ /file o n(sort.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(spaces.c) shr
+ /file o n(spaces.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(splay-tree.c) shr
+ /file o n(splay-tree.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stpcpy.c) shr
+ /file o n(stpcpy.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stpncpy.c) shr
+ /file o n(stpncpy.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(strcasecmp.c) shr
+ /file o n(strcasecmp.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(strdup.c) shr
+ /file o n(strdup.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(strncasecmp.c) shr
+ /file o n(strncasecmp.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(strsignal.c) shr
+ /file o n(strsignal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ternary.c) shr
+ /file o n(ternary.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(vasprintf.c) shr
+ /file o n(vasprintf.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(vprintf.c) shr
+ /file o n(vprintf.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(vsnprintf.c) shr
+ /file o n(vsnprintf.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(waitpid.c) shr
+ /file o n(waitpid.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(xatexit.c) shr
+ /file o n(xatexit.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(xexit.c) shr
+ /file o n(xexit.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(xmalloc.c) shr
+ /file o n(xmalloc.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(xmemdup.c) shr
+ /file o n(xmemdup.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(xstrdup.c) shr
+ /file o n(xstrdup.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(xstrerror.c) shr
+ /file o n(xstrerror.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(unixio.c) shr
+ /file o n(unixio.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(i370.c) shr
+ /file o n(i370.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(i370-c.c) shr
+ /file o n(i370-c.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stdio.c) shr
+ /file o n(stdio.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stdlib.c) shr
+ /file o n(stdlib.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ctype.c) shr
+ /file o n(ctype.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(string.c) shr
+ /file o n(string.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(time.c) shr
+ /file o n(time.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(errno.c) shr
+ /file o n(errno.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(assert.c) shr
+ /file o n(assert.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(locale.c) shr
+ /file o n(locale.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(math.c) shr
+ /file o n(math.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(setjmp.c) shr
+ /file o n(setjmp.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(signal.c) shr
+ /file o n(signal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(start.c) shr
+ /file o n(start.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(__memmgr.c) shr
+ /file o n(__memmgr.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mvsunzip.c) shr
+ /file o n(mvsunzip.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mvsendec.c) shr
+ /file o n(mvsendec.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(hexdump.c) shr
+ /file o n(hexdump.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(dssrenam.c) shr
+ /file o n(dssrenam.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(copyfile.c) shr
+ /file o n(copyfile.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(vseproc.c) shr
+ /file o n(vseproc.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(vsemanip.c) shr
+ /file o n(vsemanip.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DUSE_MEMMGR -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'copy musstart.asm musstart.s'
+ 'copy mussupa.asm mussupa.s'
+ 'copy gcc.lmod old\gcc.lmod'
+ 'purge gcc.lmod'
+ 'musaall'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(gcc.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /file lkedwork uds(@bld.lked01) vol(musicz) bufno(0)
+ /etc new delete nrec(64000)
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=gcc
+ .org 4a00
+ /inc alias.obj
+ /inc alloc-pool.obj
+ /inc attribs.obj
+ /inc bb-reorder.obj
+ /inc bitmap.obj
+ /inc bt-load.obj
+ /inc builtins.obj
+ /inc c-aux-info.obj
+ /inc c-common.obj
+ /inc c-convert.obj
+ /inc c-cppbuiltin.obj
+ /inc c-decl.obj
+ /inc c-dump.obj
+ /inc c-errors.obj
+ /inc c-format.obj
+ /inc c-incpath.obj
+ /inc c-lang.obj
+ /inc c-lex.obj
+ /inc c-objc-common.obj
+ /inc c-opts.obj
+ /inc c-parse.obj
+ /inc c-pch.obj
+ /inc c-ppoutput.obj
+ /inc c-pragma.obj
+ /inc c-pretty-prin.obj
+ /inc c-semantics.obj
+ /inc c-typeck.obj
+ /inc caller-save.obj
+ /inc calls.obj
+ /inc cfg.obj
+ /inc cfganal.obj
+ /inc cfgbuild.obj
+ /inc cfgcleanup.obj
+ /inc cfghooks.obj
+ /inc cfglayout.obj
+ /inc cfgloop.obj
+ /inc cfgloopanal.obj
+ /inc cfgloopmanip.obj
+ /inc cfgrtl.obj
+ /inc cgraph.obj
+ /inc cgraphunit.obj
+ /inc combine.obj
+ /inc conflict.obj
+ /inc convert.obj
+ /inc coverage.obj
+ /inc cppcharset.obj
+ /inc cppdefault.obj
+ /inc cpperror.obj
+ /inc cppexp.obj
+ /inc cppfiles.obj
+ /inc cpphash.obj
+ /inc cppinit.obj
+ /inc cpplex.obj
+ /inc cpplib.obj
+ /inc cppmacro.obj
+ /inc cpppch.obj
+ /inc cpptrad.obj
+ /inc cse.obj
+ /inc cselib.obj
+ /inc dbxout.obj
+ /inc debug.obj
+ /inc df.obj
+ /inc diagnostic.obj
+ /inc dojump.obj
+ /inc dominance.obj
+ /inc dwarf2asm.obj
+ /inc dwarf2out.obj
+ /inc emit-rtl.obj
+ /inc et-forest.obj
+ /inc except.obj
+ /inc explow.obj
+ /inc expmed.obj
+ /inc expr.obj
+ /inc final.obj
+ /inc flow.obj
+ /inc fold-const.obj
+ /inc function.obj
+ /inc gcse.obj
+ /inc genrtl.obj
+ /inc ggc-common.obj
+ /inc ggc-page.obj
+ /inc global.obj
+ /inc graph.obj
+ /inc gtype-desc.obj
+ /inc haifa-sched.obj
+ /inc hashtable.obj
+ /inc hooks.obj
+ /inc host-default.obj
+ /inc ifcvt.obj
+ /inc insn-attrtab.obj
+ /inc insn-emit.obj
+ /inc insn-extract.obj
+ /inc insn-modes.obj
+ /inc insn-opinit.obj
+ /inc insn-output.obj
+ /inc insn-recog.obj
+ /inc integrate.obj
+ /inc jump.obj
+ /inc langhooks.obj
+ /inc lcm.obj
+ /inc line-map.obj
+ /inc lists.obj
+ /inc local-alloc.obj
+ /inc loop-init.obj
+ /inc loop-unroll.obj
+ /inc loop-unswitch.obj
+ /inc loop.obj
+ /inc mkdeps.obj
+ /inc optabs.obj
+ /inc options.obj
+ /inc opts.obj
+ /inc params.obj
+ /inc postreload.obj
+ /inc predict.obj
+ /inc prefix.obj
+ /inc pretty-print.obj
+ /inc print-rtl.obj
+ /inc print-tree.obj
+ /inc profile.obj
+ /inc ra-build.obj
+ /inc ra-colorize.obj
+ /inc ra-debug.obj
+ /inc ra-rewrite.obj
+ /inc ra.obj
+ /inc real.obj
+ /inc recog.obj
+ /inc reg-stack.obj
+ /inc regclass.obj
+ /inc regmove.obj
+ /inc regrename.obj
+ /inc reload.obj
+ /inc reload1.obj
+ /inc resource.obj
+ /inc rtl-error.obj
+ /inc rtl.obj
+ /inc rtlanal.obj
+ /inc sbitmap.obj
+ /inc sdbout.obj
+ /inc sibcall.obj
+ /inc simplify-rtx.obj
+ /inc sreal.obj
+ /inc stmt.obj
+ /inc stor-layout.obj
+ /inc stringpool.obj
+ /inc stub-objc.obj
+ /inc targhooks.obj
+ /inc timevar.obj
+ /inc toplev.obj
+ /inc tracer.obj
+ /inc tree-dump.obj
+ /inc tree-inline.obj
+ /inc tree-optimize.obj
+ /inc tree.obj
+ /inc unroll.obj
+ /inc value-prof.obj
+ /inc varasm.obj
+ /inc varray.obj
+ /inc version.obj
+ /inc web.obj
+ /inc gcc.obj
+ /inc gccspec.obj
+ /inc cppspec.obj
+ /inc alloca.obj
+ /inc argv.obj
+ /inc asprintf.obj
+ /inc basename.obj
+ /inc bcmp.obj
+ /inc bcopy.obj
+ /inc bzero.obj
+ /inc concat.obj
+ /inc cp-demangle.obj
+ /inc cp-demint.obj
+ /inc cplus-dem.obj
+ /inc dyn-string.obj
+ /inc fdmatch.obj
+ /inc ffs.obj
+ /inc fibheap.obj
+ /inc floatformat.obj
+ /inc fnmatch.obj
+ /inc getcwd.obj
+ /inc getopt.obj
+ /inc getopt1.obj
+ /inc getpagesize.obj
+ /inc getpwd.obj
+ /inc getruntime.obj
+ /inc hashtab.obj
+ /inc hex.obj
+ /inc index.obj
+ /inc insque.obj
+ /inc lbasename.obj
+ /inc lrealpath.obj
+ /inc make-relative.obj
+ /inc make-temp-fil.obj
+ /inc md5.obj
+ /inc mempcpy.obj
+ /inc mkstemps.obj
+ /inc objalloc.obj
+ /inc obstack.obj
+ /inc partition.obj
+ /inc physmem.obj
+ /inc putenv.obj
+ /inc random.obj
+ /inc rindex.obj
+ /inc safe-ctype.obj
+ /inc setenv.obj
+ /inc snprintf.obj
+ /inc sort.obj
+ /inc spaces.obj
+ /inc splay-tree.obj
+ /inc stpcpy.obj
+ /inc stpncpy.obj
+ /inc strcasecmp.obj
+ /inc strdup.obj
+ /inc strncasecmp.obj
+ /inc strsignal.obj
+ /inc ternary.obj
+ /inc vasprintf.obj
+ /inc vprintf.obj
+ /inc vsnprintf.obj
+ /inc waitpid.obj
+ /inc xatexit.obj
+ /inc xexit.obj
+ /inc xmalloc.obj
+ /inc xmemdup.obj
+ /inc xstrdup.obj
+ /inc xstrerror.obj
+ /inc unixio.obj
+ /inc i370.obj
+ /inc i370-c.obj
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc ctype.obj
+ /inc string.obj
+ /inc time.obj
+ /inc errno.obj
+ /inc assert.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc __memmgr.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'mkdir new'
+ 'copy *.s new\*.s'
+ 'musdall'
+ 'copy pdp370.m pdptop.m -repl'
+ 'purge *.obj'
+ 'purge *.s'
+ 'copy musstart.asm musstart.s'
+ 'copy mussupa.asm mussupa.s'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file o prt osrecfm(f) oslrecl(256)
+ /file sysin n(pdptest.c) shr
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stdio.c) shr
+ /file o n(stdio.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stdlib.c) shr
+ /file o n(stdlib.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ctype.c) shr
+ /file o n(ctype.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(string.c) shr
+ /file o n(string.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(time.c) shr
+ /file o n(time.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(errno.c) shr
+ /file o n(errno.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(assert.c) shr
+ /file o n(assert.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(locale.c) shr
+ /file o n(locale.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(math.c) shr
+ /file o n(math.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(setjmp.c) shr
+ /file o n(setjmp.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(signal.c) shr
+ /file o n(signal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(start.c) shr
+ /file o n(start.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(copyfile.c) shr
+ /file o n(copyfile.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(hexdump.c) shr
+ /file o n(hexdump.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mvsunzip.c) shr
+ /file o n(mvsunzip.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mvsendec.c) shr
+ /file o n(mvsendec.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(pdptest.c) shr
+ /file o n(pdptest.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -O0 -S -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'musaone stdio'
+ 'musaone stdlib'
+ 'musaone ctype'
+ 'musaone string'
+ 'musaone time'
+ 'musaone errno'
+ 'musaone assert'
+ 'musaone locale'
+ 'musaone math'
+ 'musaone setjmp'
+ 'musaone signal'
+ 'musaone start'
+ 'musaone musstart'
+ 'musaone mussupa'
+ 
+ 'musaone pdptest'
+ 'musaone copyfile'
+ 'musaone hexdump'
+ 'musaone mvsunzip'
+ 'musaone mvsendec'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPLINK.INC REPL
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc ctype.obj
+ /inc string.obj
+ /inc time.obj
+ /inc errno.obj
+ /inc assert.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(pdptest.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=pdptest
+ .org 4a00
+ /inc pdptest.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(copyfile.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=copyfile
+ .org 4a00
+ /inc copyfile.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(hexdump.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=hexdump
+ .org 4a00
+ /inc hexdump.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(mvsunzip.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=mvsunzip
+ .org 4a00
+ /inc mvsunzip.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(mvsendec.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=mvsendec
+ .org 4a00
+ /inc mvsendec.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPTEST REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "pdptest n(pdptest.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE COPYFILE REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "copyfile n(copyfile.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE HEXDUMP REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "hexdump n(hexdump.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MVSUNZIP REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "mvsunzip n(mvsunzip.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MVSENDEC REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "mvsendec n(mvsendec.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /inc rexx
+ 'pdptest alpha braVo'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'mkdir exe'
+ 
+ 'copy gcc.lmod exe\gcc.lmod'
+ 
+ 'copy assert.h exe\assert.h'
+ 'copy ctype.h exe\ctype.h'
+ 'copy errno.h exe\errno.h'
+ 'copy float.h exe\float.h'
+ 'copy limits.h exe\limits.h'
+ 'copy locale.h exe\locale.h'
+ 'copy math.h exe\math.h'
+ 'copy mvssupa.h exe\mvssupa.h'
+ 'copy setjmp.h exe\setjmp.h'
+ 'copy signal.h exe\signal.h'
+ 'copy stdarg.h exe\stdarg.h'
+ 'copy stddef.h exe\stddef.h'
+ 'copy stdio.h exe\stdio.h'
+ 'copy stdlib.h exe\stdlib.h'
+ 'copy string.h exe\string.h'
+ 'copy time.h exe\time.h'
+ 'copy __memmgr.h exe\__memmgr.h'
+ 
+ 'purge pdptest.obj'
+ 'purge copyfile.obj'
+ 'purge hexdump.obj'
+ 'purge mvsunzip.obj'
+ 'purge mvsendec.obj'
+ 
+ 'copy *.obj exe\*.obj'
+ 
+ 'copy pdplink.inc exe\pdplink.inc'
+ 
+ 'copy copyfile.lmod exe\copyfile.lmod'
+ 'copy copyfile exe\copyfile'
+ 'copy hexdump.lmod exe\hexdump.lmod'
+ 'copy hexdump exe\hexdump'
+ 'copy mvsunzip.lmod exe\mvsunzip.lmod'
+ 'copy mvsunzip exe\mvsunzip'
+ 'copy mvsendec.lmod exe\mvsendec.lmod'
+ 'copy mvsendec exe\mvsendec'
+ 
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file 1 tape vol(MFTOPC) new
+ /inc mfarc2
+ LIST=T
+ @BLD000:EXE\*
+ /END
Index: gcc/gcc/compmvs
diff -c /dev/null gcc/gcc/compmvs:1.13
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compmvs	Fri May 27 22:53:43 2011
***************
*** 0 ****
--- 1,251 ----
+ #/bin/sh
+ 
+ FILES="
+   alias
+   alloc-pool
+   attribs
+   bb-reorder
+   bitmap
+   bt-load
+   builtins
+   c-aux-info
+   c-common
+   c-convert
+   c-cppbuiltin
+   c-decl
+   c-dump
+   c-errors
+   c-format
+   c-incpath
+   c-lang
+   c-lex
+   c-objc-common
+   c-opts
+   c-parse
+   c-pch
+   c-ppoutput
+   c-pragma
+   c-pretty-print
+   c-semantics
+   c-typeck
+   caller-save
+   calls
+   cfg
+   cfganal
+   cfgbuild
+   cfgcleanup
+   cfghooks
+   cfglayout
+   cfgloop
+   cfgloopanal
+   cfgloopmanip
+   cfgrtl
+   cgraph
+   cgraphunit
+   combine
+   conflict
+   convert
+   coverage
+   cppcharset
+   cppdefault
+   cpperror
+   cppexp
+   cppfiles
+   cpphash
+   cppinit
+   cpplex
+   cpplib
+   cppmacro
+   cpppch
+   cpptrad
+   cse
+   cselib
+   dbxout
+   debug
+   df
+   diagnostic
+   dojump
+   dominance
+   dwarf2asm
+   dwarf2out
+   emit-rtl
+   et-forest
+   except
+   explow
+   expmed
+   expr
+   final
+   flow
+   fold-const
+   function
+   gcse
+   genrtl
+   ggc-common
+   ggc-page
+   global
+   graph
+   gtype-desc
+   haifa-sched
+   hashtable
+   hooks
+   host-default
+   ifcvt
+   insn-attrtab
+   insn-emit
+   insn-extract
+   insn-modes
+   insn-opinit
+   insn-output
+   insn-recog
+   integrate
+   jump
+   langhooks
+   lcm
+   line-map
+   lists
+   local-alloc
+   loop-init
+   loop-unroll
+   loop-unswitch
+   loop
+   mkdeps
+   optabs
+   options
+   opts
+   params
+   postreload
+   predict
+   prefix
+   pretty-print
+   print-rtl
+   print-tree
+   profile
+   ra-build
+   ra-colorize
+   ra-debug
+   ra-rewrite
+   ra
+   real
+   recog
+   reg-stack
+   regclass
+   regmove
+   regrename
+   reload
+   reload1
+   resource
+   rtl-error
+   rtl
+   rtlanal
+   sbitmap
+   sdbout
+   sibcall
+   simplify-rtx
+   sreal
+   stmt
+   stor-layout
+   stringpool
+   stub-objc
+   targhooks
+   timevar
+   toplev
+   tracer
+   tree-dump
+   tree-inline
+   tree-optimize
+   tree
+   unroll
+   value-prof
+   varasm
+   varray
+   version
+   web
+   gcc
+   gccspec
+   cppspec
+   ../libiberty/alloca
+   ../libiberty/argv
+   ../libiberty/asprintf
+   ../libiberty/basename
+   ../libiberty/bcmp
+   ../libiberty/bcopy
+   ../libiberty/bzero
+   ../libiberty/concat
+   ../libiberty/cp-demangle
+   ../libiberty/cp-demint
+   ../libiberty/cplus-dem
+   ../libiberty/dyn-string
+   ../libiberty/fdmatch
+   ../libiberty/ffs
+   ../libiberty/fibheap
+   ../libiberty/floatformat
+   ../libiberty/fnmatch
+   ../libiberty/getcwd
+   ../libiberty/getopt
+   ../libiberty/getopt1
+   ../libiberty/getpagesize
+   ../libiberty/getpwd
+   ../libiberty/getruntime
+   ../libiberty/hashtab
+   ../libiberty/hex
+   ../libiberty/index
+   ../libiberty/insque
+   ../libiberty/lbasename
+   ../libiberty/lrealpath
+   ../libiberty/make-relative-prefix
+   ../libiberty/make-temp-file
+   ../libiberty/md5
+   ../libiberty/mempcpy
+   ../libiberty/mkstemps
+   ../libiberty/objalloc
+   ../libiberty/obstack
+   ../libiberty/partition
+   ../libiberty/physmem
+   ../libiberty/putenv
+   ../libiberty/random
+   ../libiberty/rindex
+   ../libiberty/safe-ctype
+   ../libiberty/setenv
+   ../libiberty/snprintf
+   ../libiberty/sort
+   ../libiberty/spaces
+   ../libiberty/splay-tree
+   ../libiberty/stpcpy
+   ../libiberty/stpncpy
+   ../libiberty/strcasecmp
+   ../libiberty/strdup
+   ../libiberty/strncasecmp
+   ../libiberty/strsignal
+   ../libiberty/ternary
+   ../libiberty/vasprintf
+   ../libiberty/vprintf
+   ../libiberty/vsnprintf
+   ../libiberty/waitpid
+   ../libiberty/xatexit
+   ../libiberty/xexit
+   ../libiberty/xmalloc
+   ../libiberty/xmemdup
+   ../libiberty/xstrdup
+   ../libiberty/xstrerror
+   ../libiberty/unixio
+   config/i370/i370
+   config/i370/i370-c
+   ../../pdos/pdpclib/mvsunzip
+   ../../pdos/pdpclib/mvsendec
+   ../../pdos/pdpclib/hexdump
+   ../../pdos/pdpclib/dssrenam
+   ../../pdos/pdpclib/copyfile
+   ../../pdos/pdpclib/vseproc
+   ../../pdos/pdpclib/vsemanip
+   "
+ 
+ for file in $FILES
+ 
+ do
+ 
+ echo "Cross-Compiling - $file"
+ ./gccmvs -DUSE_MEMMGR -O0 -ansi -pedantic-errors -S -DHAVE_CONFIG_H -DIN_GCC -DPUREISO $* -I ../../pdos/pdpclib -I . -I config/i370 -I ../include $file.c
+ 
+ done
+ 
+ exit
Index: gcc/gcc/compmvs.bat
diff -c /dev/null gcc/gcc/compmvs.bat:1.11
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compmvs.bat	Fri May 27 22:53:43 2011
***************
*** 0 ****
--- 1,249 ----
+ call stdcompm alias.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm alloc-pool.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm attribs.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm bb-reorder.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm bitmap.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm bt-load.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm builtins.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-aux-info.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-common.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-convert.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-cppbuiltin.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-decl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-dump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-errors.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-format.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-incpath.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-lang.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-lex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-objc-common.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-opts.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-parse.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-pch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-ppoutput.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-pragma.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-pretty-print.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-semantics.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm c-typeck.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm caller-save.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm calls.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfg.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfganal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfgbuild.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfgcleanup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfghooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfglayout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfgloop.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfgloopanal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfgloopmanip.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cfgrtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cgraph.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cgraphunit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm combine.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm conflict.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm convert.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm coverage.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cppcharset.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cppdefault.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cpperror.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cppexp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cppfiles.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cpphash.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cppinit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cpplex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cpplib.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cppmacro.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cpppch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cpptrad.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cse.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cselib.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm dbxout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm debug.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm df.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm diagnostic.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm dojump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm dominance.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm dwarf2asm.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm dwarf2out.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm emit-rtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm et-forest.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm except.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm explow.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm expmed.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm expr.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm final.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm flow.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm fold-const.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm function.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm gcse.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm genrtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ggc-common.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ggc-page.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm global.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm graph.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm gtype-desc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm haifa-sched.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm hashtable.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm hooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm host-default.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ifcvt.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm insn-attrtab.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm insn-emit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm insn-extract.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm insn-modes.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm insn-opinit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm insn-output.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm insn-recog.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm integrate.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm jump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm langhooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm lcm.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm line-map.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm lists.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm local-alloc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm loop-init.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm loop-unroll.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm loop-unswitch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm loop.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm mkdeps.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm optabs.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm options.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm opts.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm params.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm postreload.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm predict.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm prefix.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm pretty-print.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm print-rtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm print-tree.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm profile.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ra-build.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ra-colorize.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ra-debug.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ra-rewrite.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ra.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm real.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm recog.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm reg-stack.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm regclass.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm regmove.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm regrename.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm reload.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm reload1.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm resource.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm rtl-error.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm rtl.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm rtlanal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm sbitmap.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm sdbout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm sibcall.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm simplify-rtx.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm sreal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm stmt.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm stor-layout.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm stringpool.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm stub-objc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm targhooks.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm timevar.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm toplev.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm tracer.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm tree-dump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm tree-inline.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm tree-optimize.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm tree.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm unroll.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm value-prof.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm varasm.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm varray.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm version.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm web.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm gcc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm gccspec.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm cppspec.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/alloca.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/argv.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/asprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/basename.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/bcmp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/bcopy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/bzero.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/concat.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/cp-demangle.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/cp-demint.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/cplus-dem.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/dyn-string.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/fdmatch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/ffs.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/fibheap.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/floatformat.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/fnmatch.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/getcwd.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/getopt.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/getopt1.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/getpagesize.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/getpwd.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/getruntime.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/hashtab.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/hex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/index.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/insque.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/lbasename.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/lrealpath.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/make-relative-prefix.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/make-temp-file.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/md5.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/mempcpy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/mkstemps.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/objalloc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/obstack.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/partition.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/physmem.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/putenv.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/random.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/rindex.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/safe-ctype.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/setenv.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/snprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/sort.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/spaces.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/splay-tree.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/stpcpy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/stpncpy.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/strcasecmp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/strdup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/strncasecmp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/strsignal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/ternary.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/vasprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/vprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/vsnprintf.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/waitpid.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/xatexit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/xexit.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/xmalloc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/xmemdup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/xstrdup.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/xstrerror.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../libiberty/unixio.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm config/i370/i370.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm config/i370/i370-c.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/stdio.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/stdlib.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/ctype.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/string.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/time.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/errno.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/assert.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/locale.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/math.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/setjmp.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/signal.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/start.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/__memmgr.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/mvsunzip.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/mvsendec.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/hexdump.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/dssrenam.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/copyfile.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/vseproc.c %1 %2 %3 %4 %5 %6 %7 %8 %9
+ call stdcompm ../../pdos/pdpclib/vsemanip.c %1 %2 %3 %4 %5 %6 %7 %8 %9
Index: gcc/gcc/comppdos.bat
diff -c /dev/null gcc/gcc/comppdos.bat:1.2
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/comppdos.bat	Fri Jun  3 22:57:30 2011
***************
*** 0 ****
--- 1,484 ----
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors alias.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors alloc-pool.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors attribs.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors bb-reorder.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors bitmap.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors bt-load.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors builtins.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-aux-info.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-common.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-convert.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-cppbuiltin.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-decl.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-dump.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-errors.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-format.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-incpath.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-lang.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-lex.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-objc-common.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-opts.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-parse.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-pch.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-ppoutput.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-pragma.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-pretty-print.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-semantics.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors c-typeck.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors caller-save.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors calls.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfg.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfganal.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfgbuild.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfgcleanup.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfghooks.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfglayout.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfgloop.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfgloopanal.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfgloopmanip.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cfgrtl.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cgraph.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cgraphunit.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors combine.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors conflict.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors convert.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors coverage.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cppcharset.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cppdefault.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cpperror.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cppexp.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cppfiles.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cpphash.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cppinit.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cpplex.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cpplib.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cppmacro.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cpppch.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cpptrad.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cse.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cselib.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors dbxout.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors debug.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors df.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors diagnostic.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors dojump.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors dominance.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors dwarf2asm.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors dwarf2out.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors emit-rtl.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors et-forest.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors except.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors explow.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors expmed.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors expr.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors final.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors flow.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors fold-const.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors function.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors gcse.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors genrtl.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ggc-common.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ggc-page.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors global.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors graph.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors gtype-desc.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors haifa-sched.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors hashtable.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors hooks.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors host-default.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ifcvt.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insn-attrtab.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insn-emit.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insn-extract.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insn-modes.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insn-opinit.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insn-output.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insn-recog.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors integrate.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors jump.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors langhooks.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors lcm.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors line-map.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors lists.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors local-alloc.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors loop-init.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors loop-unroll.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors loop-unswitch.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors loop.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors mkdeps.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors optabs.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors options.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors opts.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors params.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors postreload.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors predict.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors prefix.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors pretty-print.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors print-rtl.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors print-tree.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors profile.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ra-build.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ra-colorize.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ra-debug.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ra-rewrite.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ra.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors real.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors recog.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors reg-stack.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors regclass.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors regmove.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors regrename.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors reload.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors reload1.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors resource.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors rtl-error.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors rtl.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors rtlanal.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors sbitmap.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors sdbout.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors sibcall.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors simplify-rtx.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors sreal.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors stmt.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors stor-layout.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors stringpool.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors stub-objc.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors targhooks.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors timevar.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors toplev.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors tracer.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors tree-dump.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors tree-inline.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors tree-optimize.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors tree.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors unroll.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors value-prof.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors varasm.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors varray.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors version.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors web.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors gcc.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors gccspec.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cppspec.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors alloca.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors argv.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors asprintf.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors basename.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors bcmp.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors bcopy.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors bzero.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors concat.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cp-demangle.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cp-demint.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors cplus-dem.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors dyn-string.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors fdmatch.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ffs.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors fibheap.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors floatformat.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors fnmatch.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors getcwd.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors getopt.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors getopt1.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors getpagesize.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors getpwd.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors getruntime.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors hashtab.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors hex.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors index.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors insque.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors lbasename.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors lrealpath.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors make-relative-prefix.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors make-temp-file.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors md5.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors mempcpy.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors mkstemps.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors objalloc.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors obstack.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors partition.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors physmem.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors putenv.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors random.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors rindex.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors safe-ctype.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors setenv.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors snprintf.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors sort.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors spaces.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors splay-tree.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors stpcpy.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors stpncpy.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors strcasecmp.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors strdup.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors strncasecmp.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors strsignal.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors ternary.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors vasprintf.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors vprintf.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors vsnprintf.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors waitpid.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors xatexit.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors xexit.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors xmalloc.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors xmemdup.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors xstrdup.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors xstrerror.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors unixio.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors i370.c
+ gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors i370-c.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors stdio.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors stdlib.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors ctype.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors string.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors time.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors errno.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors assert.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors locale.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors math.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors setjmp.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors signal.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors start.c
+ gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors __memmgr.c
+ diff alias.s1 alias.s
+ diff alloc-pool.s1 alloc-pool.s
+ diff attribs.s1 attribs.s
+ diff bb-reorder.s1 bb-reorder.s
+ diff bitmap.s1 bitmap.s
+ diff bt-load.s1 bt-load.s
+ diff builtins.s1 builtins.s
+ diff c-aux-info.s1 c-aux-info.s
+ diff c-common.s1 c-common.s
+ diff c-convert.s1 c-convert.s
+ diff c-cppbuiltin.s1 c-cppbuiltin.s
+ diff c-decl.s1 c-decl.s
+ diff c-dump.s1 c-dump.s
+ diff c-errors.s1 c-errors.s
+ diff c-format.s1 c-format.s
+ diff c-incpath.s1 c-incpath.s
+ diff c-lang.s1 c-lang.s
+ diff c-lex.s1 c-lex.s
+ diff c-objc-common.s1 c-objc-common.s
+ diff c-opts.s1 c-opts.s
+ diff c-parse.s1 c-parse.s
+ diff c-pch.s1 c-pch.s
+ diff c-ppoutput.s1 c-ppoutput.s
+ diff c-pragma.s1 c-pragma.s
+ diff c-pretty-print.s1 c-pretty-print.s
+ diff c-semantics.s1 c-semantics.s
+ diff c-typeck.s1 c-typeck.s
+ diff caller-save.s1 caller-save.s
+ diff calls.s1 calls.s
+ diff cfg.s1 cfg.s
+ diff cfganal.s1 cfganal.s
+ diff cfgbuild.s1 cfgbuild.s
+ diff cfgcleanup.s1 cfgcleanup.s
+ diff cfghooks.s1 cfghooks.s
+ diff cfglayout.s1 cfglayout.s
+ diff cfgloop.s1 cfgloop.s
+ diff cfgloopanal.s1 cfgloopanal.s
+ diff cfgloopmanip.s1 cfgloopmanip.s
+ diff cfgrtl.s1 cfgrtl.s
+ diff cgraph.s1 cgraph.s
+ diff cgraphunit.s1 cgraphunit.s
+ diff combine.s1 combine.s
+ diff conflict.s1 conflict.s
+ diff convert.s1 convert.s
+ diff coverage.s1 coverage.s
+ diff cppcharset.s1 cppcharset.s
+ diff cppdefault.s1 cppdefault.s
+ diff cpperror.s1 cpperror.s
+ diff cppexp.s1 cppexp.s
+ diff cppfiles.s1 cppfiles.s
+ diff cpphash.s1 cpphash.s
+ diff cppinit.s1 cppinit.s
+ diff cpplex.s1 cpplex.s
+ diff cpplib.s1 cpplib.s
+ diff cppmacro.s1 cppmacro.s
+ diff cpppch.s1 cpppch.s
+ diff cpptrad.s1 cpptrad.s
+ diff cse.s1 cse.s
+ diff cselib.s1 cselib.s
+ diff dbxout.s1 dbxout.s
+ diff debug.s1 debug.s
+ diff df.s1 df.s
+ diff diagnostic.s1 diagnostic.s
+ diff dojump.s1 dojump.s
+ diff dominance.s1 dominance.s
+ diff dwarf2asm.s1 dwarf2asm.s
+ diff dwarf2out.s1 dwarf2out.s
+ diff emit-rtl.s1 emit-rtl.s
+ diff et-forest.s1 et-forest.s
+ diff except.s1 except.s
+ diff explow.s1 explow.s
+ diff expmed.s1 expmed.s
+ diff expr.s1 expr.s
+ diff final.s1 final.s
+ diff flow.s1 flow.s
+ diff fold-const.s1 fold-const.s
+ diff function.s1 function.s
+ diff gcse.s1 gcse.s
+ diff genrtl.s1 genrtl.s
+ diff ggc-common.s1 ggc-common.s
+ diff ggc-page.s1 ggc-page.s
+ diff global.s1 global.s
+ diff graph.s1 graph.s
+ diff gtype-desc.s1 gtype-desc.s
+ diff haifa-sched.s1 haifa-sched.s
+ diff hashtable.s1 hashtable.s
+ diff hooks.s1 hooks.s
+ diff host-default.s1 host-default.s
+ diff ifcvt.s1 ifcvt.s
+ diff insn-attrtab.s1 insn-attrtab.s
+ diff insn-emit.s1 insn-emit.s
+ diff insn-extract.s1 insn-extract.s
+ diff insn-modes.s1 insn-modes.s
+ diff insn-opinit.s1 insn-opinit.s
+ diff insn-output.s1 insn-output.s
+ diff insn-recog.s1 insn-recog.s
+ diff integrate.s1 integrate.s
+ diff jump.s1 jump.s
+ diff langhooks.s1 langhooks.s
+ diff lcm.s1 lcm.s
+ diff line-map.s1 line-map.s
+ diff lists.s1 lists.s
+ diff local-alloc.s1 local-alloc.s
+ diff loop-init.s1 loop-init.s
+ diff loop-unroll.s1 loop-unroll.s
+ diff loop-unswitch.s1 loop-unswitch.s
+ diff loop.s1 loop.s
+ diff mkdeps.s1 mkdeps.s
+ diff optabs.s1 optabs.s
+ diff options.s1 options.s
+ diff opts.s1 opts.s
+ diff params.s1 params.s
+ diff postreload.s1 postreload.s
+ diff predict.s1 predict.s
+ diff prefix.s1 prefix.s
+ diff pretty-print.s1 pretty-print.s
+ diff print-rtl.s1 print-rtl.s
+ diff print-tree.s1 print-tree.s
+ diff profile.s1 profile.s
+ diff ra-build.s1 ra-build.s
+ diff ra-colorize.s1 ra-colorize.s
+ diff ra-debug.s1 ra-debug.s
+ diff ra-rewrite.s1 ra-rewrite.s
+ diff ra.s1 ra.s
+ diff real.s1 real.s
+ diff recog.s1 recog.s
+ diff reg-stack.s1 reg-stack.s
+ diff regclass.s1 regclass.s
+ diff regmove.s1 regmove.s
+ diff regrename.s1 regrename.s
+ diff reload.s1 reload.s
+ diff reload1.s1 reload1.s
+ diff resource.s1 resource.s
+ diff rtl-error.s1 rtl-error.s
+ diff rtl.s1 rtl.s
+ diff rtlanal.s1 rtlanal.s
+ diff sbitmap.s1 sbitmap.s
+ diff sdbout.s1 sdbout.s
+ diff sibcall.s1 sibcall.s
+ diff simplify-rtx.s1 simplify-rtx.s
+ diff sreal.s1 sreal.s
+ diff stmt.s1 stmt.s
+ diff stor-layout.s1 stor-layout.s
+ diff stringpool.s1 stringpool.s
+ diff stub-objc.s1 stub-objc.s
+ diff targhooks.s1 targhooks.s
+ diff timevar.s1 timevar.s
+ diff toplev.s1 toplev.s
+ diff tracer.s1 tracer.s
+ diff tree-dump.s1 tree-dump.s
+ diff tree-inline.s1 tree-inline.s
+ diff tree-optimize.s1 tree-optimize.s
+ diff tree.s1 tree.s
+ diff unroll.s1 unroll.s
+ diff value-prof.s1 value-prof.s
+ diff varasm.s1 varasm.s
+ diff varray.s1 varray.s
+ diff version.s1 version.s
+ diff web.s1 web.s
+ diff gcc.s1 gcc.s
+ diff gccspec.s1 gccspec.s
+ diff cppspec.s1 cppspec.s
+ diff alloca.s1 alloca.s
+ diff argv.s1 argv.s
+ diff asprintf.s1 asprintf.s
+ diff basename.s1 basename.s
+ diff bcmp.s1 bcmp.s
+ diff bcopy.s1 bcopy.s
+ diff bzero.s1 bzero.s
+ diff concat.s1 concat.s
+ diff cp-demangle.s1 cp-demangle.s
+ diff cp-demint.s1 cp-demint.s
+ diff cplus-dem.s1 cplus-dem.s
+ diff dyn-string.s1 dyn-string.s
+ diff fdmatch.s1 fdmatch.s
+ diff ffs.s1 ffs.s
+ diff fibheap.s1 fibheap.s
+ diff floatformat.s1 floatformat.s
+ diff fnmatch.s1 fnmatch.s
+ diff getcwd.s1 getcwd.s
+ diff getopt.s1 getopt.s
+ diff getopt1.s1 getopt1.s
+ diff getpagesize.s1 getpagesize.s
+ diff getpwd.s1 getpwd.s
+ diff getruntime.s1 getruntime.s
+ diff hashtab.s1 hashtab.s
+ diff hex.s1 hex.s
+ diff index.s1 index.s
+ diff insque.s1 insque.s
+ diff lbasename.s1 lbasename.s
+ diff lrealpath.s1 lrealpath.s
+ diff make-relative-prefix.s1 make-relative-prefix.s
+ diff make-temp-file.s1 make-temp-file.s
+ diff md5.s1 md5.s
+ diff mempcpy.s1 mempcpy.s
+ diff mkstemps.s1 mkstemps.s
+ diff objalloc.s1 objalloc.s
+ diff obstack.s1 obstack.s
+ diff partition.s1 partition.s
+ diff physmem.s1 physmem.s
+ diff putenv.s1 putenv.s
+ diff random.s1 random.s
+ diff rindex.s1 rindex.s
+ diff safe-ctype.s1 safe-ctype.s
+ diff setenv.s1 setenv.s
+ diff snprintf.s1 snprintf.s
+ diff sort.s1 sort.s
+ diff spaces.s1 spaces.s
+ diff splay-tree.s1 splay-tree.s
+ diff stpcpy.s1 stpcpy.s
+ diff stpncpy.s1 stpncpy.s
+ diff strcasecmp.s1 strcasecmp.s
+ diff strdup.s1 strdup.s
+ diff strncasecmp.s1 strncasecmp.s
+ diff strsignal.s1 strsignal.s
+ diff ternary.s1 ternary.s
+ diff vasprintf.s1 vasprintf.s
+ diff vprintf.s1 vprintf.s
+ diff vsnprintf.s1 vsnprintf.s
+ diff waitpid.s1 waitpid.s
+ diff xatexit.s1 xatexit.s
+ diff xexit.s1 xexit.s
+ diff xmalloc.s1 xmalloc.s
+ diff xmemdup.s1 xmemdup.s
+ diff xstrdup.s1 xstrdup.s
+ diff xstrerror.s1 xstrerror.s
+ diff unixio.s1 unixio.s
+ diff i370.s1 i370.s
+ diff i370-c.s1 i370-c.s
+ diff stdio.s1 stdio.s
+ diff stdlib.s1 stdlib.s
+ diff ctype.s1 ctype.s
+ diff string.s1 string.s
+ diff time.s1 time.s
+ diff errno.s1 errno.s
+ diff assert.s1 assert.s
+ diff locale.s1 locale.s
+ diff math.s1 math.s
+ diff setjmp.s1 setjmp.s
+ diff signal.s1 signal.s
+ diff start.s1 start.s
+ diff __memmgr.s1 __memmgr.s
Index: gcc/gcc/compvse.m4
diff -c /dev/null gcc/gcc/compvse.m4:1.3
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/compvse.m4	Sun Jun  5 14:42:42 2011
***************
*** 0 ****
--- 1,1258 ----
+ * $$ JOB JNM=VSEJOB
+ * $$ LST LST=SYSLST,CLASS=A,RBM=999999
+ // JOB VSEJOB
+ *
+ *
+ * Disk layout, measured in tracks
+ * These are distinct logical files
+ * Default setup assumes that you wish to compile on the
+ * same disk as the normal, predefined disk used for syslnk
+ * Steer clear of bottom 4000, system files are there by default.
+ * Note that by default there are a lot of things cataloged
+ * in system libraries, whereas normally you would only want
+ * the final PHASEs to be put into system libraries, so you
+ * may want to change that.
+ * Space allocation is defined in a way that allows a global
+ * replace to be done.
+ *
+ *
+ * 10000,500 SPACE-ALLZIP (zip of zips)
+ * 10500,300 SPACE-SINGLEZIP (single zip under consideration)
+ * 10800,100 SPACE-SINGLEC (single C source file)
+ *
+ * 11000,500 SPACE-ASMOUT (assembler output from C compile et al)
+ * 12000,500 SPACE-OBJ (object code from above C-based assembly)
+ *
+ * 13000,1000 SPACE-SYSPUNCH (syspunch output, e.g. CIL header extract)
+ * 14000,2000 SPACE-PHASE (syslnk phase input)
+ *
+ *
+ *
+ * Standard assignments for C programs
+ *
+ // ASSGN SYS000,SYSLNK
+ // ASSGN SYS005,SYSLST
+ // ASSGN SYS007,SYSPCH
+ // OPTION DUMP
+ *
+ *
+ *
+ *
+ * First we get the zip of zips from tape.
+ *
+ // DLBL SDO1,'ALL.ZIP',0,SD
+ // EXTENT SYS000,,,,10000,500 SPACE-ALLZIP
+ // ASSGN SYS011,TAPE
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-bb dd:mti1 dd:sdo1'
+ *
+ *
+ *
+ *
+ *
+ * unzip the PDPCLIB include zip file
+ *
+ // DLBL SDI1,'ALL.ZIP'
+ // DLBL SDO1,'PDPI.ZIP',0,SD
+ // EXTENT SYS000,,,,10500,300 SPACE-SINGLEZIP
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 pdpi.zip binary'
+ *
+ *
+ *
+ *
+ *
+ * extract header files
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ *
+ // DLBL SDI1,'PDPI.ZIP'
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1'
+ *
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ *
+ * Put header files into the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ * Assemble the prolog/epilog macros
+ *
+ // OPTION EDECK,NODECK  
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC ASSEMBLY
+ undivert(pdpprlg.mac)undivert(pdpepil.mac)         END
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ * Put them into the assembler macro library
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT                                         
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ * Also save a copy into the CIL that can be fed back to
+ * maint again later.
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpmacs)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * Put copy of macros into CIL using LNKEDT
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ * Put the copy libs directly in
+ *
+ // EXEC MAINT
+  CATALS A.PDPTOP
+  BKEND
+ undivert(pdptop.mac) BKEND
+ /*
+ *
+ // EXEC MAINT
+  CATALS A.PDP370
+  BKEND
+ undivert(pdp370.mac) BKEND
+ /*
+ *
+ // EXEC MAINT
+  CATALS A.PDP380
+  BKEND
+ undivert(pdp380.mac) BKEND
+ /*
+ *
+ // EXEC MAINT
+  CATALS A.PDP390
+  BKEND
+ undivert(pdp390.mac) BKEND
+ /*
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now assemble the main routine
+ *
+ * Note that GCC exceeds the limits of z/VSE so cannot be made
+ * relocatable until a separate tool is written.
+ * Until then, the 7 MB location is the one most likely to work
+ * on a z/VSE system.
+ *
+ * However, if building on a VSE/380 system, some tricks needed
+ * to be pulled to make that work, and as a result, at least for
+ * now, if this value below is changed, both VSEPARM and $JOBEXIT
+ * also need to be changed to cope with the new location.
+ *
+ // DLBL IJSYSLN,,0,SD
+ // EXTENT SYSLNK,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL,NOLIST
+  PHASE GCC,+X'7000C8'
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * Now assemble the subroutines
+ *
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
+ // EXEC ASSEMBLY
+ undivert(alias.s)/*
+ // EXEC ASSEMBLY
+ undivert(alloc-pool.s)/*
+ // EXEC ASSEMBLY
+ undivert(attribs.s)/*
+ // EXEC ASSEMBLY
+ undivert(bb-reorder.s)/*
+ // EXEC ASSEMBLY
+ undivert(bitmap.s)/*
+ // EXEC ASSEMBLY
+ undivert(bt-load.s)/*
+ // EXEC ASSEMBLY
+ undivert(builtins.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-aux-info.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-common.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-convert.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-cppbuiltin.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-decl.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-dump.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-errors.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-format.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-incpath.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-lang.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-lex.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-objc-common.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-opts.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-parse.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-pch.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-ppoutput.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-pragma.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-pretty-print.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-semantics.s)/*
+ // EXEC ASSEMBLY
+ undivert(c-typeck.s)/*
+ // EXEC ASSEMBLY
+ undivert(caller-save.s)/*
+ // EXEC ASSEMBLY
+ undivert(calls.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfg.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfganal.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfgbuild.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfgcleanup.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfghooks.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfglayout.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfgloop.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfgloopanal.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfgloopmanip.s)/*
+ // EXEC ASSEMBLY
+ undivert(cfgrtl.s)/*
+ // EXEC ASSEMBLY
+ undivert(cgraph.s)/*
+ // EXEC ASSEMBLY
+ undivert(cgraphunit.s)/*
+ // EXEC ASSEMBLY
+ undivert(combine.s)/*
+ // EXEC ASSEMBLY
+ undivert(conflict.s)/*
+ // EXEC ASSEMBLY
+ undivert(convert.s)/*
+ // EXEC ASSEMBLY
+ undivert(coverage.s)/*
+ // EXEC ASSEMBLY
+ undivert(cppcharset.s)/*
+ // EXEC ASSEMBLY
+ undivert(cppdefault.s)/*
+ // EXEC ASSEMBLY
+ undivert(cpperror.s)/*
+ // EXEC ASSEMBLY
+ undivert(cppexp.s)/*
+ // EXEC ASSEMBLY
+ undivert(cppfiles.s)/*
+ // EXEC ASSEMBLY
+ undivert(cpphash.s)/*
+ // EXEC ASSEMBLY
+ undivert(cppinit.s)/*
+ // EXEC ASSEMBLY
+ undivert(cpplex.s)/*
+ // EXEC ASSEMBLY
+ undivert(cpplib.s)/*
+ // EXEC ASSEMBLY
+ undivert(cppmacro.s)/*
+ // EXEC ASSEMBLY
+ undivert(cpppch.s)/*
+ // EXEC ASSEMBLY
+ undivert(cpptrad.s)/*
+ // EXEC ASSEMBLY
+ undivert(cse.s)/*
+ // EXEC ASSEMBLY
+ undivert(cselib.s)/*
+ // EXEC ASSEMBLY
+ undivert(dbxout.s)/*
+ // EXEC ASSEMBLY
+ undivert(debug.s)/*
+ // EXEC ASSEMBLY
+ undivert(df.s)/*
+ // EXEC ASSEMBLY
+ undivert(diagnostic.s)/*
+ // EXEC ASSEMBLY
+ undivert(dojump.s)/*
+ // EXEC ASSEMBLY
+ undivert(dominance.s)/*
+ // EXEC ASSEMBLY
+ undivert(dwarf2asm.s)/*
+ // EXEC ASSEMBLY
+ undivert(dwarf2out.s)/*
+ // EXEC ASSEMBLY
+ undivert(emit-rtl.s)/*
+ // EXEC ASSEMBLY
+ undivert(et-forest.s)/*
+ // EXEC ASSEMBLY
+ undivert(except.s)/*
+ // EXEC ASSEMBLY
+ undivert(explow.s)/*
+ // EXEC ASSEMBLY
+ undivert(expmed.s)/*
+ // EXEC ASSEMBLY
+ undivert(expr.s)/*
+ // EXEC ASSEMBLY
+ undivert(final.s)/*
+ // EXEC ASSEMBLY
+ undivert(flow.s)/*
+ // EXEC ASSEMBLY
+ undivert(fold-const.s)/*
+ // EXEC ASSEMBLY
+ undivert(function.s)/*
+ // EXEC ASSEMBLY
+ undivert(gcse.s)/*
+ // EXEC ASSEMBLY
+ undivert(genrtl.s)/*
+ // EXEC ASSEMBLY
+ undivert(ggc-common.s)/*
+ // EXEC ASSEMBLY
+ undivert(ggc-page.s)/*
+ // EXEC ASSEMBLY
+ undivert(global.s)/*
+ // EXEC ASSEMBLY
+ undivert(graph.s)/*
+ // EXEC ASSEMBLY
+ undivert(gtype-desc.s)/*
+ // EXEC ASSEMBLY
+ undivert(haifa-sched.s)/*
+ // EXEC ASSEMBLY
+ undivert(hashtable.s)/*
+ // EXEC ASSEMBLY
+ undivert(hooks.s)/*
+ // EXEC ASSEMBLY
+ undivert(host-default.s)/*
+ // EXEC ASSEMBLY
+ undivert(ifcvt.s)/*
+ // EXEC ASSEMBLY
+ undivert(insn-attrtab.s)/*
+ // EXEC ASSEMBLY
+ undivert(insn-emit.s)/*
+ // EXEC ASSEMBLY
+ undivert(insn-extract.s)/*
+ // EXEC ASSEMBLY
+ undivert(insn-modes.s)/*
+ // EXEC ASSEMBLY
+ undivert(insn-opinit.s)/*
+ // EXEC ASSEMBLY
+ undivert(insn-output.s)/*
+ // EXEC ASSEMBLY
+ undivert(insn-recog.s)/*
+ // EXEC ASSEMBLY
+ undivert(integrate.s)/*
+ // EXEC ASSEMBLY
+ undivert(jump.s)/*
+ // EXEC ASSEMBLY
+ undivert(langhooks.s)/*
+ // EXEC ASSEMBLY
+ undivert(lcm.s)/*
+ // EXEC ASSEMBLY
+ undivert(line-map.s)/*
+ // EXEC ASSEMBLY
+ undivert(lists.s)/*
+ // EXEC ASSEMBLY
+ undivert(local-alloc.s)/*
+ // EXEC ASSEMBLY
+ undivert(loop-init.s)/*
+ // EXEC ASSEMBLY
+ undivert(loop-unroll.s)/*
+ // EXEC ASSEMBLY
+ undivert(loop-unswitch.s)/*
+ // EXEC ASSEMBLY
+ undivert(loop.s)/*
+ // EXEC ASSEMBLY
+ undivert(mkdeps.s)/*
+ // EXEC ASSEMBLY
+ undivert(optabs.s)/*
+ // EXEC ASSEMBLY
+ undivert(options.s)/*
+ // EXEC ASSEMBLY
+ undivert(opts.s)/*
+ // EXEC ASSEMBLY
+ undivert(params.s)/*
+ // EXEC ASSEMBLY
+ undivert(postreload.s)/*
+ // EXEC ASSEMBLY
+ undivert(predict.s)/*
+ // EXEC ASSEMBLY
+ undivert(prefix.s)/*
+ // EXEC ASSEMBLY
+ undivert(pretty-print.s)/*
+ // EXEC ASSEMBLY
+ undivert(print-rtl.s)/*
+ // EXEC ASSEMBLY
+ undivert(print-tree.s)/*
+ // EXEC ASSEMBLY
+ undivert(profile.s)/*
+ // EXEC ASSEMBLY
+ undivert(ra-build.s)/*
+ // EXEC ASSEMBLY
+ undivert(ra-colorize.s)/*
+ // EXEC ASSEMBLY
+ undivert(ra-debug.s)/*
+ // EXEC ASSEMBLY
+ undivert(ra-rewrite.s)/*
+ // EXEC ASSEMBLY
+ undivert(ra.s)/*
+ // EXEC ASSEMBLY
+ undivert(real.s)/*
+ // EXEC ASSEMBLY
+ undivert(recog.s)/*
+ // EXEC ASSEMBLY
+ undivert(reg-stack.s)/*
+ // EXEC ASSEMBLY
+ undivert(regclass.s)/*
+ // EXEC ASSEMBLY
+ undivert(regmove.s)/*
+ // EXEC ASSEMBLY
+ undivert(regrename.s)/*
+ // EXEC ASSEMBLY
+ undivert(reload.s)/*
+ // EXEC ASSEMBLY
+ undivert(reload1.s)/*
+ // EXEC ASSEMBLY
+ undivert(resource.s)/*
+ // EXEC ASSEMBLY
+ undivert(rtl-error.s)/*
+ // EXEC ASSEMBLY
+ undivert(rtl.s)/*
+ // EXEC ASSEMBLY
+ undivert(rtlanal.s)/*
+ // EXEC ASSEMBLY
+ undivert(sbitmap.s)/*
+ // EXEC ASSEMBLY
+ undivert(sdbout.s)/*
+ // EXEC ASSEMBLY
+ undivert(sibcall.s)/*
+ // EXEC ASSEMBLY
+ undivert(simplify-rtx.s)/*
+ // EXEC ASSEMBLY
+ undivert(sreal.s)/*
+ // EXEC ASSEMBLY
+ undivert(stmt.s)/*
+ // EXEC ASSEMBLY
+ undivert(stor-layout.s)/*
+ // EXEC ASSEMBLY
+ undivert(stringpool.s)/*
+ // EXEC ASSEMBLY
+ undivert(stub-objc.s)/*
+ // EXEC ASSEMBLY
+ undivert(targhooks.s)/*
+ // EXEC ASSEMBLY
+ undivert(timevar.s)/*
+ // EXEC ASSEMBLY
+ undivert(toplev.s)/*
+ // EXEC ASSEMBLY
+ undivert(tracer.s)/*
+ // EXEC ASSEMBLY
+ undivert(tree-dump.s)/*
+ // EXEC ASSEMBLY
+ undivert(tree-inline.s)/*
+ // EXEC ASSEMBLY
+ undivert(tree-optimize.s)/*
+ // EXEC ASSEMBLY
+ undivert(tree.s)/*
+ // EXEC ASSEMBLY
+ undivert(unroll.s)/*
+ // EXEC ASSEMBLY
+ undivert(value-prof.s)/*
+ // EXEC ASSEMBLY
+ undivert(varasm.s)/*
+ // EXEC ASSEMBLY
+ undivert(varray.s)/*
+ // EXEC ASSEMBLY
+ undivert(version.s)/*
+ // EXEC ASSEMBLY
+ undivert(web.s)/*
+ // EXEC ASSEMBLY
+ undivert(gcc.s)/*
+ // EXEC ASSEMBLY
+ undivert(gccspec.s)/*
+ // EXEC ASSEMBLY
+ undivert(cppspec.s)/*
+ // EXEC ASSEMBLY
+ undivert(alloca.s)/*
+ // EXEC ASSEMBLY
+ undivert(argv.s)/*
+ // EXEC ASSEMBLY
+ undivert(asprintf.s)/*
+ // EXEC ASSEMBLY
+ undivert(basename.s)/*
+ // EXEC ASSEMBLY
+ undivert(bcmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(bcopy.s)/*
+ // EXEC ASSEMBLY
+ undivert(bzero.s)/*
+ // EXEC ASSEMBLY
+ undivert(concat.s)/*
+ // EXEC ASSEMBLY
+ undivert(cp-demangle.s)/*
+ // EXEC ASSEMBLY
+ undivert(cp-demint.s)/*
+ // EXEC ASSEMBLY
+ undivert(cplus-dem.s)/*
+ // EXEC ASSEMBLY
+ undivert(dyn-string.s)/*
+ // EXEC ASSEMBLY
+ undivert(fdmatch.s)/*
+ // EXEC ASSEMBLY
+ undivert(ffs.s)/*
+ // EXEC ASSEMBLY
+ undivert(fibheap.s)/*
+ // EXEC ASSEMBLY
+ undivert(floatformat.s)/*
+ // EXEC ASSEMBLY
+ undivert(fnmatch.s)/*
+ // EXEC ASSEMBLY
+ undivert(getcwd.s)/*
+ // EXEC ASSEMBLY
+ undivert(getopt.s)/*
+ // EXEC ASSEMBLY
+ undivert(getopt1.s)/*
+ // EXEC ASSEMBLY
+ undivert(getpagesize.s)/*
+ // EXEC ASSEMBLY
+ undivert(getpwd.s)/*
+ // EXEC ASSEMBLY
+ undivert(getruntime.s)/*
+ // EXEC ASSEMBLY
+ undivert(hashtab.s)/*
+ // EXEC ASSEMBLY
+ undivert(hex.s)/*
+ // EXEC ASSEMBLY
+ undivert(index.s)/*
+ // EXEC ASSEMBLY
+ undivert(insque.s)/*
+ // EXEC ASSEMBLY
+ undivert(lbasename.s)/*
+ // EXEC ASSEMBLY
+ undivert(lrealpath.s)/*
+ // EXEC ASSEMBLY
+ undivert(make-relative-prefix.s)/*
+ // EXEC ASSEMBLY
+ undivert(make-temp-file.s)/*
+ // EXEC ASSEMBLY
+ undivert(md5.s)/*
+ // EXEC ASSEMBLY
+ undivert(mempcpy.s)/*
+ // EXEC ASSEMBLY
+ undivert(mkstemps.s)/*
+ // EXEC ASSEMBLY
+ undivert(objalloc.s)/*
+ // EXEC ASSEMBLY
+ undivert(obstack.s)/*
+ // EXEC ASSEMBLY
+ undivert(partition.s)/*
+ // EXEC ASSEMBLY
+ undivert(physmem.s)/*
+ // EXEC ASSEMBLY
+ undivert(putenv.s)/*
+ // EXEC ASSEMBLY
+ undivert(random.s)/*
+ // EXEC ASSEMBLY
+ undivert(rindex.s)/*
+ // EXEC ASSEMBLY
+ undivert(safe-ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(setenv.s)/*
+ // EXEC ASSEMBLY
+ undivert(snprintf.s)/*
+ // EXEC ASSEMBLY
+ undivert(sort.s)/*
+ // EXEC ASSEMBLY
+ undivert(spaces.s)/*
+ // EXEC ASSEMBLY
+ undivert(splay-tree.s)/*
+ // EXEC ASSEMBLY
+ undivert(stpcpy.s)/*
+ // EXEC ASSEMBLY
+ undivert(stpncpy.s)/*
+ // EXEC ASSEMBLY
+ undivert(strcasecmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(strdup.s)/*
+ // EXEC ASSEMBLY
+ undivert(strncasecmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(strsignal.s)/*
+ // EXEC ASSEMBLY
+ undivert(ternary.s)/*
+ // EXEC ASSEMBLY
+ undivert(vasprintf.s)/*
+ // EXEC ASSEMBLY
+ undivert(vprintf.s)/*
+ // EXEC ASSEMBLY
+ undivert(vsnprintf.s)/*
+ // EXEC ASSEMBLY
+ undivert(waitpid.s)/*
+ // EXEC ASSEMBLY
+ undivert(xatexit.s)/*
+ // EXEC ASSEMBLY
+ undivert(xexit.s)/*
+ // EXEC ASSEMBLY
+ undivert(xmalloc.s)/*
+ // EXEC ASSEMBLY
+ undivert(xmemdup.s)/*
+ // EXEC ASSEMBLY
+ undivert(xstrdup.s)/*
+ // EXEC ASSEMBLY
+ undivert(xstrerror.s)/*
+ // EXEC ASSEMBLY
+ undivert(unixio.s)/*
+ // EXEC ASSEMBLY
+ undivert(i370.s)/*
+ // EXEC ASSEMBLY
+ undivert(i370-c.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdio.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdlib.s)/*
+ // EXEC ASSEMBLY
+ undivert(ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(string.s)/*
+ // EXEC ASSEMBLY
+ undivert(time.s)/*
+ // EXEC ASSEMBLY
+ undivert(errno.s)/*
+ // EXEC ASSEMBLY
+ undivert(assert.s)/*
+ // EXEC ASSEMBLY
+ undivert(locale.s)/*
+ // EXEC ASSEMBLY
+ undivert(math.s)/*
+ // EXEC ASSEMBLY
+ undivert(setjmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(signal.s)/*
+ // EXEC ASSEMBLY
+ undivert(start.s)/*
+ // EXEC ASSEMBLY
+ undivert(__memmgr.s)/*
+ *
+ * Now link the whole app
+ *
+ // EXEC LNKEDT
+ *
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now run the app
+ *
+ // EXEC GCC,SIZE=AUTO,PARM='-S -o - -'
+ #include <stdio.h>
+ 
+ int main(void)
+ {
+     printf("hello, world %d\n", FILENAME_MAX);
+     return (0);
+ }
+ /*
+ *
+ *
+ *
+ *
+ * Switch to S/370 executables now
+ *
+ // EXEC MAINT
+  CATALS A.PDPTOP
+  BKEND
+ undivert(pdp370.mac) BKEND
+ /*
+ *
+ *
+ *
+ * unzip the PDPCLIB source zip file
+ *
+ // DLBL SDI1,'ALL.ZIP'
+ // DLBL SDO1,'PDPSRC.ZIP',0,SD
+ // EXTENT SYS000,,,,10500,300 SPACE-SINGLEZIP
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 pdpsrc.zip binary'
+ *
+ *
+ *
+ *
+ *
+ * create the proc from list of files
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEPROC,SIZE=AUTO,PARM='- dd:syspunch'
+ -----
+ STDIO
+ STRING
+ STDLIB
+ CTYPE
+ ERRNO
+ LOCALE
+ MATH
+ SIGNAL
+ SETJMP
+ ASSERT
+ TIME
+ START
+ -----
+ *
+ *
+ *
+ * unzip %s.C
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'%s.C',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 %s.C'
+ *
+ * Compile %s
+ *
+ // DLBL SDI1,'%s.C'
+ // DLBL IJSYSPH,'%s.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC GCC,SIZE=AUTO,PARM='-S -Os -o dd:syspunch dd:sdi1'
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ * assemble %s
+ *
+ // DLBL IJSYSIN,'%s.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'%s.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR %s
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ // DLBL IJSYSIN,'%s.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ -----
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ *
+ * Put the PROC in
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ * execute the proc
+ *
+ // EXEC PROC=VSEPROC
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * unzip __memmgr.c
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'@@MEMMGR.C',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 __memmgr.c'
+ *
+ * Compile __memmgr
+ *
+ // DLBL SDI1,'@@MEMMGR.C'
+ // DLBL IJSYSPH,'@@MEMMGR.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC GCC,SIZE=AUTO,PARM='-S -Os -o dd:syspunch dd:sdi1'
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ * assemble __memmgr
+ *
+ // DLBL IJSYSIN,'@@MEMMGR.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'@@MEMMGR.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR @@MEMMGR
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ // DLBL IJSYSIN,'@@MEMMGR.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * unzip vsesupa
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'VSESUPA.ASM',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 vsesupa.asm'
+ *
+ *
+ * Copy vsesupa
+ *
+ // DLBL SDI1,'VSESUPA.ASM'
+ // DLBL IJSYSPH,'VSESUPA.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-tt dd:sdi1 dd:syspunch'
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ *
+ * assemble vsesupa
+ *
+ // DLBL IJSYSIN,'VSESUPA.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'VSESUPA.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR VSESUPA
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ // DLBL IJSYSIN,'VSESUPA.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * unzip vsestart
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'VSESTART.ASM',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 vsestart.asm'
+ *
+ *
+ * Copy vsestart
+ *
+ // DLBL SDI1,'VSESTART.ASM'
+ // DLBL IJSYSPH,'VSESTART.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-tt dd:sdi1 dd:syspunch'
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ *
+ * assemble vsestart
+ *
+ // DLBL IJSYSIN,'VSESTART.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'VSESTART.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR VSESTART
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ // DLBL IJSYSIN,'VSESTART.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * create the proc from list of files
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEPROC,SIZE=AUTO,PARM='- dd:syspunch'
+ -----
+ COPYFILE
+ MVSENDEC
+ VSEPROC
+ VSEMANIP
+ HEXDUMP
+ MVSUNZIP
+ PDPTEST
+ -----
+ *
+ * unzip %s.C
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'%s.C',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 %s.C'
+ *
+ *
+ *
+ * Compile %s
+ *
+ // DLBL SDI1,'%s.C'
+ // DLBL IJSYSPH,'%s.ASM',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC GCC,SIZE=AUTO,PARM='-S -Os -o dd:syspunch dd:sdi1'
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ *
+ * assemble %s
+ *
+ // DLBL IJSYSLN,,0,SD
+ // EXTENT SYSLNK,,,,14000,1000 SPACE-PHASE
+ ASSGN SYSLNK,SYS000
+ // OPTION LINK
+ // OPTION CATAL,LIST
+  PHASE %s,S+80
+ // DLBL IJSYSIN,'%s.ASM'
+ ASSGN SYSIPT,SYS000
+ // EXEC ASSEMBLY
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ * link %s
+ *
+  INCLUDE VSESTART
+  INCLUDE STDIO
+  INCLUDE STRING
+  INCLUDE STDLIB
+  INCLUDE CTYPE
+  INCLUDE ERRNO
+  INCLUDE LOCALE
+  INCLUDE MATH
+  INCLUDE SIGNAL
+  INCLUDE SETJMP
+  INCLUDE ASSERT
+  INCLUDE TIME
+  INCLUDE START
+  INCLUDE VSESUPA
+  ENTRY @@MAIN
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ -----
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ *
+ * Put the PROC in
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ * execute the proc
+ *
+ // EXEC PROC=VSEPROC
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now run PDPTEST
+ *
+ // EXEC PDPTEST,SIZE=AUTO,PARM='Hi there Guys'
+ *
+ *
+ *
+ *
+ * Now punch the header files by executing CSERV (unusually)
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC CSERV
+  PUNCH ASSERT
+  PUNCH CTYPE
+  PUNCH ERRNO
+  PUNCH FLOAT
+  PUNCH LIMITS
+  PUNCH LOCALE
+  PUNCH MATH
+  PUNCH MVSSUPA
+  PUNCH SETJMP
+  PUNCH SIGNAL
+  PUNCH STDARG
+  PUNCH STDDEF
+  PUNCH STDIO
+  PUNCH STDLIB
+  PUNCH STRING
+  PUNCH TIME
+  PUNCH @@MEMMGR
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And get the single file ready for the CIL
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpi)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ * Now put it in the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now punch the relocatable objects by executing RSERV
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC RSERV
+  PUNCH ASSERT
+  PUNCH CTYPE
+  PUNCH ERRNO
+  PUNCH LOCALE
+  PUNCH MATH
+  PUNCH VSESUPA
+  PUNCH VSESTART
+  PUNCH START
+  PUNCH SETJMP
+  PUNCH SIGNAL
+  PUNCH STDIO
+  PUNCH STDLIB
+  PUNCH STRING
+  PUNCH TIME
+  PUNCH @@MEMMGR
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And get the single file ready for the CIL
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpobj)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ * Now put it in the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now punch the assembler copybooks using SSERV
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC SSERV
+  PUNCH PDPTOP
+  PUNCH PDP370
+  PUNCH PDP380
+  PUNCH PDP390
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And get the single file ready for the CIL
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpcopy)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ * Now put it in the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now punch the phases
+ *
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC CSERV
+  PUNCH GCC
+  PUNCH COPYFILE
+  PUNCH HEXDUMP
+  PUNCH MVSENDEC
+  PUNCH MVSUNZIP
+  PUNCH VSEPROC
+  PUNCH VSEMANIP
+  PUNCH PDPI
+  PUNCH PDPOBJ
+  PUNCH PDPMACS
+  PUNCH PDPCOPY
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And put it to tape
+ *
+ // DLBL SDI1,'PDPPUN2.DAT'
+ // TLBL MTO1,'HERC01.MFTOPC',0
+ // ASSGN SYS011,TAPE,VOL=MFTOPC
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:mto1'
+ *
+ *
+ *
+ *
+ /&
+ * $$ EOJ
Index: gcc/gcc/config.build
diff -c gcc/gcc/config.build:1.1.1.1 gcc/gcc/config.build:1.1.1.2
*** gcc/gcc/config.build:1.1.1.1	Wed Apr 15 16:26:06 2009
--- gcc/gcc/config.build	Wed Apr 15 16:46:31 2009
***************
*** 71,77 ****
      ;;
    i370-*-opened* | i370-*-mvs* )
      # IBM 360/370/390 Architecture
!     build_xm_defines='FATAL_EXIT_CODE=12'
      ;;
    i[34567]86-*-cygwin* | i[34567]86-*-pe )
      build_xm_file=i386/xm-cygwin.h
--- 71,77 ----
      ;;
    i370-*-opened* | i370-*-mvs* )
      # IBM 360/370/390 Architecture
!     build_xm_defines='POSIX'	# 'FATAL_EXIT_CODE=12'
      ;;
    i[34567]86-*-cygwin* | i[34567]86-*-pe )
      build_xm_file=i386/xm-cygwin.h
Index: gcc/gcc/config.gcc
diff -c gcc/gcc/config.gcc:1.1.1.1 gcc/gcc/config.gcc:1.2
*** gcc/gcc/config.gcc:1.1.1.1	Wed Apr 15 16:26:15 2009
--- gcc/gcc/config.gcc	Fri Apr 17 14:41:44 2009
***************
*** 187,193 ****
  case ${target} in
   d30v-* | \
   dsp16xx-* | \
-  i370-* | \
   i960-* | \
   i?86-moss-msdos | i?86-*-moss* | \
   i?86-ncr-sysv4* | \
--- 187,192 ----
***************
*** 895,915 ****
  	esac
  	use_collect2=yes
  	;;
! i370-*-opened*)			 # IBM 360/370/390 Architecture
! 	xm_defines='FATAL_EXIT_CODE=12'
  	tm_file="i370/oe.h i370/i370.h"
! 	tmake_file="i370/t-i370"
  	c_target_objs="i370-c.o"
  	cxx_target_objs="i370-c.o"
  	# Don't bother fixing up header files; they're weird.
  	;;
! i370-*-mvs*)
! 	xm_defines='FATAL_EXIT_CODE=12'
! 	tm_file="i370/mvs.h i370/i370.h"
! 	tmake_file="i370/t-i370"
  	c_target_objs="i370-c.o"
  	cxx_target_objs="i370-c.o"
- 	use_fixproto=yes
  	;;
  i370-*-linux*)
  	tm_file="dbxelf.h elfos.h svr4.h linux.h i370/linux.h i370/i370.h"
--- 894,939 ----
  	esac
  	use_collect2=yes
  	;;
! i370-*-opened*)			# IBM 360/370/390 Architecture
! 	xm_defines='POSIX'	# 'FATAL_EXIT_CODE=12'
! 	xm_file="i370/xm-oe.h"
  	tm_file="i370/oe.h i370/i370.h"
! 	tmake_file="i370/t-oe i370/t-i370"
  	c_target_objs="i370-c.o"
  	cxx_target_objs="i370-c.o"
  	# Don't bother fixing up header files; they're weird.
  	;;
! i370-*-mvsle)
! 	xm_defines='POSIX'	# 'FATAL_EXIT_CODE=12'
! 	xm_file="i370/xm-mvs.h"
! 	tm_file="i370/mvsle.h i370/i370.h"
! 	tmake_file="i370/t-mvs i370/t-i370"
! 	c_target_objs="i370-c.o"
! 	cxx_target_objs="i370-c.o"
! 	;;
! i370-*-mvspdp)
! 	xm_defines='POSIX'	# 'FATAL_EXIT_CODE=12'
! 	xm_file="i370/xm-mvs.h"
! 	tm_file="i370/mvspdp.h i370/i370.h"
! 	tmake_file="i370/t-mvs i370/t-i370"
! 	c_target_objs="i370-c.o"
! 	cxx_target_objs="i370-c.o"
! 	;;
! i370-*-mvsdignus)
! 	xm_defines='POSIX'	# 'FATAL_EXIT_CODE=12'
! 	xm_file="i370/xm-mvs.h"
! 	tm_file="i370/mvsdignus.h i370/i370.h"
! 	tmake_file="i370/t-mvs i370/t-i370"
! 	c_target_objs="i370-c.o"
! 	cxx_target_objs="i370-c.o"
! 	;;
! i370-*-mvs38)
! 	xm_defines='POSIX'	# 'FATAL_EXIT_CODE=12'
! 	xm_file="i370/xm-mvs.h"
! 	tm_file="i370/mvs38.h i370/i370.h"
! 	tmake_file="i370/t-mvs i370/t-i370"
  	c_target_objs="i370-c.o"
  	cxx_target_objs="i370-c.o"
  	;;
  i370-*-linux*)
  	tm_file="dbxelf.h elfos.h svr4.h linux.h i370/linux.h i370/i370.h"
***************
*** 1694,1699 ****
--- 1718,1728 ----
  pdp11-*-*)
  	use_fixproto=yes
  	;;
+ ti990-*-dx10)
+ 	tm_file="ti990/ti990.h ti990/dx10.h"
+ 	tmake_file="ti990/t-ti990"
+ 	use_fixproto=no
+         ;;
  # port not yet contributed
  #powerpc-*-openbsd*)
  #	tmake_file="${tmake_file} rs6000/t-fprules "
Index: gcc/gcc/config.h
diff -c /dev/null gcc/gcc/config.h:1.13
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/config.h	Wed Nov 11 15:42:56 2009
***************
*** 0 ****
--- 1,10 ----
+ #ifndef GCC_CONFIG_H
+ #define GCC_CONFIG_H
+ #ifndef POSIX
+ # define POSIX
+ #endif
+ #include "auto-host.h"
+ #ifdef IN_GCC
+ # include "ansidecl.h"
+ #endif
+ #endif /* GCC_CONFIG_H */
Index: gcc/gcc/config.host
diff -c gcc/gcc/config.host:1.1.1.1 gcc/gcc/config.host:1.1.1.2
*** gcc/gcc/config.host:1.1.1.1	Wed Apr 15 16:26:15 2009
--- gcc/gcc/config.host	Wed Apr 15 16:47:16 2009
***************
*** 111,117 ****
      host_xmake_file=pa/x-linux
      ;;
    i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture
!     host_xm_defines='FATAL_EXIT_CODE=12'
      ;;
    i[34567]86-sequent-ptx4*)
      host_xm_defines="SMALL_ARG_MAX"
--- 111,117 ----
      host_xmake_file=pa/x-linux
      ;;
    i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture
!     host_xm_defines='POSIX'	# 'FATAL_EXIT_CODE=12'
      ;;
    i[34567]86-sequent-ptx4*)
      host_xm_defines="SMALL_ARG_MAX"
Index: gcc/gcc/configargs.h
diff -c /dev/null gcc/gcc/configargs.h:1.4
*** /dev/null	Mon Jun 13 20:10:04 2011
--- gcc/gcc/configargs.h	Fri Nov 20 08:41:35 2009
***************
*** 0 ****
--- 1,7 ----
+ /* Generated automatically. */
+ static const char configuration_arguments[] = "./configure --build=i686-linux --host=i370-mvspdp --target=i370-mvspdp --prefix=/devel/mvshost --enable-languages=c --disable-nls";
+ static const char thread_model[] = "single";
+ 
+ static const struct {
+   const char *name, *value;
+ } configure_default_options[] = { { NULL, NULL} };
Index: gcc/gcc/configure
diff -c gcc/gcc/configure:1.1.1.1 gcc/gcc/configure:1.4
*** gcc/gcc/configure:1.1.1.1	Wed Apr 15 16:25:53 2009
--- gcc/gcc/configure	Wed Dec  2 18:55:12 2009
***************
*** 2463,2470 ****
--- 2463,2472 ----
  /* end confdefs.h.  */
  #include <stdarg.h>
  #include <stdio.h>
+ #if !defined(__MVS__)
  #include <sys/types.h>
  #include <sys/stat.h>
+ #endif
  /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
  struct buf { int x; };
  FILE * (*rcsopen) (struct buf *, struct stat *, int);
***************
*** 3121,3130 ****
--- 3123,3136 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #ifndef __cplusplus
+ #if defined(__MVS__)
+ int foo(void) { return 0; }
+ #else
  typedef int foo_t;
  static $ac_kw foo_t static_foo () {return 0; }
  $ac_kw foo_t foo () {return 0; }
  #endif
+ #endif
  
  _ACEOF
  rm -f conftest.$ac_objext
***************
*** 3377,3383 ****
--- 3383,3391 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #include "confdefs.h"
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  
  
  int
***************
*** 3448,3454 ****
--- 3456,3464 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #include "confdefs.h"
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  
  
  int
***************
*** 3519,3525 ****
--- 3529,3537 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #include "confdefs.h"
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  
  
  int
***************
*** 3590,3596 ****
--- 3602,3610 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #include "confdefs.h"
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  
  
  int
***************
*** 3662,3668 ****
--- 3676,3684 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #include "confdefs.h"
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  
  
  int
***************
*** 3735,3741 ****
--- 3751,3759 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #include "confdefs.h"
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  
  
  int
***************
*** 5656,5662 ****
--- 5674,5682 ----
  if test $ac_cv_header_time = yes; then
  
  cat >>confdefs.h <<\_ACEOF
+ #if !defined(__MVS__)
  #define TIME_WITH_SYS_TIME 1
+ #endif
  _ACEOF
  
  fi
***************
*** 6150,6157 ****
--- 6170,6184 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
+ #if !defined(__MVS__)
  #include <sys/types.h>
  #include <sys/param.h>
+ #endif
+ #if defined(__MVS__)
+ #define BIG_ENDIAN 1
+ #define LITTLE_ENDIAN 2
+ #define BYTE_ORDER 1
+ #endif
  int
  main ()
  {
***************
*** 6192,6199 ****
--- 6219,6233 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
+ #if !defined(__MVS__)
  #include <sys/types.h>
  #include <sys/param.h>
+ #endif
+ #if defined(__MVS__)
+ #define BIG_ENDIAN 1
+ #define LITTLE_ENDIAN 2
+ #define BYTE_ORDER 1
+ #endif
  int
  main ()
  {
***************
*** 6731,6738 ****
--- 6765,6774 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
+ #if !defined(__MVS__)
  #include <sys/types.h>
  #include <inttypes.h>
+ #endif
  int
  main ()
  {
***************
*** 6851,6857 ****
--- 6887,6895 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
+ #if !defined(__MVS__)
  char $ac_func ();
+ #endif
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
***************
*** 7051,7057 ****
--- 7089,7097 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
***************
*** 7093,7099 ****
--- 7133,7141 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  /* Thanks to Mike Rendell for this test.  */
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  #define NGID 256
  #undef MAX
  #define MAX(x, y) ((x) > (y) ? (x) : (y))
***************
*** 7303,7311 ****
--- 7345,7355 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
+ #if !defined(__MVS__)
  #include <sys/types.h>
  #include <sys/mman.h>
  #include <unistd.h>
+ #endif
  
  #ifndef MAP_ANONYMOUS
  #define MAP_ANONYMOUS MAP_ANON
***************
*** 7570,7576 ****
--- 7614,7622 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
+ #if !defined(__MVS__)
  char $ac_func ();
+ #endif
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
***************
*** 7644,7650 ****
--- 7690,7698 ----
  else
    cat >conftest.$ac_ext <<_ACEOF
  /* By Ruediger Kuhlmann. */
+       #if !defined(__MVS__)
        #include <sys/types.h>
+       #endif
        #if HAVE_UNISTD_H
        # include <unistd.h>
        #endif
***************
*** 7717,7725 ****
--- 7765,7775 ----
  /* Thanks to Paul Eggert for this test.  */
  #include <stdio.h>
  #include <stdlib.h>
+ #if !defined(__MVS__)
  #include <sys/types.h>
  #include <sys/stat.h>
  #include <sys/wait.h>
+ #endif
  #if HAVE_UNISTD_H
  # include <unistd.h>
  #endif
***************
*** 8236,8242 ****
  main ()
  {
  #ifndef $ac_func
! char *(*pfn) = (char *(*)) $ac_func ;
  #endif
    ;
    return 0;
--- 8286,8292 ----
  main ()
  {
  #ifndef $ac_func
! char *(*pfn)() = (char *(*)()) $ac_func ;
  #endif
    ;
    return 0;
***************
*** 8416,8422 ****
  main ()
  {
  #ifndef $ac_func
! char *(*pfn) = (char *(*)) $ac_func ;
  #endif
    ;
    return 0;
--- 8466,8472 ----
  main ()
  {
  #ifndef $ac_func
! char *(*pfn)() = (char *(*)()) $ac_func ;
  #endif
    ;
    return 0;
***************
*** 8569,8575 ****
  main ()
  {
  #ifndef $ac_func
! char *(*pfn) = (char *(*)) $ac_func ;
  #endif
    ;
    return 0;
--- 8619,8625 ----
  main ()
  {
  #ifndef $ac_func
! char *(*pfn)() = (char *(*)()) $ac_func ;
  #endif
    ;
    return 0;
***************
*** 8658,8664 ****
  main ()
  {
  #ifndef $ac_func
! char *(*pfn) = (char *(*)) $ac_func ;
  #endif
    ;
    return 0;
--- 8708,8714 ----
  main ()
  {
  #ifndef $ac_func
! char *(*pfn)() = (char *(*)()) $ac_func ;
  #endif
    ;
    return 0;
***************
*** 8998,9004 ****
--- 9048,9056 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  
+ #if !defined(__MVS__)
  #include <sys/types.h>
+ #endif
  #ifdef HAVE_SYS_STAT_H
  # include <sys/stat.h>
  #endif
Index: gcc/gcc/configure.ac
diff -c gcc/gcc/configure.ac:1.1.1.1 gcc/gcc/configure.ac:1.1.1.2
*** gcc/gcc/configure.ac:1.1.1.1	Wed Apr 15 16:25:56 2009
--- gcc/gcc/configure.ac	Wed Apr 15 16:33:58 2009
***************
*** 893,898 ****
--- 893,902 ----
  #endif
  ])
  
+ case "${host}" in
+ i370-*-opened*)
+ ;;
+ *)
  AC_TRY_COMPILE([
  #include "ansidecl.h"
  #include "system.h"
***************
*** 901,906 ****
--- 905,912 ----
  #endif
  ],[rlim_t l = 0;],,[AC_DEFINE([rlim_t],[long],
  [Define to \`long' if <sys/resource.h> doesn't define.])])
+ ;;
+ esac
  
  gcc_AC_CHECK_DECLS(ldgetname, , ,[
  #include "ansidecl.h"
Index: gcc/gcc/copygcc.exec
diff -c /dev/null gcc/gcc/copygcc.exec:1.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/copygcc.exec	Fri Nov 20 06:36:19 2009
***************
*** 0 ****
--- 1,43 ----
+ *******************************************************************
+ *
+ * This EXEC copies all important GCC files onto a disk
+ *
+ *******************************************************************
+ &CONTROL
+ 
+ * The big modules are generated directly onto the
+ * exe disk to save space.
+ *COPY GCC MODULE &1 = = &2 (REPLACE
+ *COPY GCC370 MODULE &1 = = &2 (REPLACE
+ COPY GCCE EXEC &1 = = &2 (REPLACE
+ COPY GCCR EXEC &1 = = &2 (REPLACE
+ COPY GCC PARM &1 = = &2 (REPLACE
+ COPY PDPCLIB MACLIB &1 = = &2 (REPLACE
+ COPY GCCVER PARM &1 = = &2 (REPLACE
+ COPY PDPCLIB TXTLIB &1 = = &2 (REPLACE
+ COPY MKPDPC EXEC &1 = = &2 (REPLACE
+ 
+ COPY ASSERT H &1 = = &2 (REPLACE
+ COPY CTYPE H &1 = = &2 (REPLACE
+ COPY ERRNO H &1 = = &2 (REPLACE
+ COPY FLOAT H &1 = = &2 (REPLACE
+ COPY LIMITS H &1 = = &2 (REPLACE
+ COPY LOCALE H &1 = = &2 (REPLACE
+ COPY MATH H &1 = = &2 (REPLACE
+ COPY SETJMP H &1 = = &2 (REPLACE
+ COPY SIGNAL H &1 = = &2 (REPLACE
+ COPY STDARG H &1 = = &2 (REPLACE
+ COPY STDDEF H &1 = = &2 (REPLACE
+ COPY STDIO H &1 = = &2 (REPLACE
+ COPY STDLIB H &1 = = &2 (REPLACE
+ COPY STRING H &1 = = &2 (REPLACE
+ COPY TIME H &1 = = &2 (REPLACE
+ COPY __MEMMGR H &1 = = &2 (REPLACE
+ 
+ COPY NAMCSECT MODULE &1 = = &2 (REPLACE
+ COPY MVSUNZIP MODULE &1 = = &2 (REPLACE
+ COPY HEXDUMP MODULE &1 = = &2 (REPLACE
+ COPY MVSENDEC MODULE &1 = = &2 (REPLACE
+ COPY CPYFIL MODULE &1 = = &2 (REPLACE
+ COPY PDPTEST MODULE &1 = = &2 (REPLACE
+ 
Index: gcc/gcc/cppcharset.c
diff -c gcc/gcc/cppcharset.c:1.1.1.1 gcc/gcc/cppcharset.c:1.6
*** gcc/gcc/cppcharset.c:1.1.1.1	Wed Apr 15 16:26:16 2009
--- gcc/gcc/cppcharset.c	Wed May 13 11:07:08 2009
***************
*** 23,28 ****
--- 23,30 ----
  #include "cpplib.h"
  #include "cpphash.h"
  #include "cppucnid.h"
+ #include "coretypes.h"
+ #include "tm.h"
  
  /* Character set handling for C-family languages.
  
***************
*** 529,534 ****
--- 531,561 ----
    return conversion_loop (one_utf32_to_utf8, cd, from, flen, to);
  }
  
+ #ifdef MAP_OUTCHAR
+ /* convert ASCII to EBCDIC */
+ static bool
+ convert_asc_ebc (iconv_t cd ATTRIBUTE_UNUSED,
+ 		       const uchar *from, size_t flen, struct _cpp_strbuf *to)
+ {
+   size_t x;
+   int c;
+ 
+   if (to->len + flen > to->asize)
+     {
+       to->asize = to->len + flen;
+       to->text = xrealloc (to->text, to->asize);
+     }
+   for (x = 0; x < flen; x++)
+     {
+       c = from[x];
+       c = MAP_OUTCHAR(c);
+       to->text[to->len + x] = c;
+     }
+   to->len += flen;
+   return true;
+ }
+ #endif
+ 
  /* Identity conversion, used when we have no alternative.  */
  static bool
  convert_no_conversion (iconv_t cd ATTRIBUTE_UNUSED,
***************
*** 606,611 ****
--- 633,641 ----
    { "UTF-32BE/UTF-8", convert_utf32_utf8, (iconv_t)1 },
    { "UTF-16LE/UTF-8", convert_utf16_utf8, (iconv_t)0 },
    { "UTF-16BE/UTF-8", convert_utf16_utf8, (iconv_t)1 },
+ #if defined(TARGET_EBCDIC)
+   { "UTF-8/UTF-EBCDIC", convert_asc_ebc, (iconv_t)0 },
+ #endif
  };
  
  /* Subroutine of cpp_init_iconv: initialize and return a
***************
*** 683,688 ****
--- 713,722 ----
  
    bool be = CPP_OPTION (pfile, bytes_big_endian);
  
+ #if defined(TARGET_EBCDIC)
+   ncset = "UTF-EBCDIC";
+   wcset = "UTF-EBCDIC";
+ #else
    if (CPP_OPTION (pfile, wchar_precision) >= 32)
      default_wcset = be ? "UTF-32BE" : "UTF-32LE";
    else if (CPP_OPTION (pfile, wchar_precision) >= 16)
***************
*** 696,701 ****
--- 730,736 ----
      ncset = SOURCE_CHARSET;
    if (!wcset)
      wcset = default_wcset;
+ #endif
  
    pfile->narrow_cset_desc = init_iconv_desc (pfile, ncset, SOURCE_CHARSET);
    pfile->wide_cset_desc = init_iconv_desc (pfile, wcset, SOURCE_CHARSET);
Index: gcc/gcc/cpperror.c
diff -c gcc/gcc/cpperror.c:1.1.1.1 gcc/gcc/cpperror.c:1.3
*** gcc/gcc/cpperror.c:1.1.1.1	Wed Apr 15 16:26:10 2009
--- gcc/gcc/cpperror.c	Thu Sep 10 07:15:39 2009
***************
*** 28,33 ****
--- 28,38 ----
  #include "cpplib.h"
  #include "cpphash.h"
  #include "intl.h"
+ #ifdef SINGLE_EXECUTABLE
+ #include "coretypes.h"
+ #include "tree.h"
+ #include "diagnostic.h"
+ #endif
  
  static void print_location (cpp_reader *, fileline, unsigned int);
  
***************
*** 107,113 ****
--- 112,123 ----
  
    print_location (pfile, line, column);
    if (CPP_DL_WARNING_P (level))
+   {
      fputs (_("warning: "), stderr);
+ #ifdef SINGLE_EXECUTABLE
+     warningcount++;
+ #endif
+   }
    else if (level == CPP_DL_ICE)
      fputs (_("internal error: "), stderr);
  
Index: gcc/gcc/cppfiles.c
diff -c gcc/gcc/cppfiles.c:1.1.1.1 gcc/gcc/cppfiles.c:1.16
*** gcc/gcc/cppfiles.c:1.1.1.1	Wed Apr 15 16:25:55 2009
--- gcc/gcc/cppfiles.c	Wed Jun  8 17:19:05 2011
***************
*** 28,34 ****
--- 28,36 ----
  #include "intl.h"
  #include "mkdeps.h"
  #include "hashtab.h"
+ #if !defined(PUREISO)
  #include <dirent.h>
+ #endif
  
  /* Variable length record files on VMS will have a stat size that includes
     record control characters that won't be included in the read size.  */
***************
*** 153,158 ****
--- 155,163 ----
    } u;
  };
  
+ static int G_angle = 0;
+ static int gotdirpath = 0;
+ 
  static bool open_file (_cpp_file *file);
  static bool pch_open_file (cpp_reader *pfile, _cpp_file *file,
  			   bool *invalid_pch);
***************
*** 210,216 ****
--- 215,337 ----
        set_stdin_to_binary_mode ();
      }
    else
+ #if defined(__CMS__)
+   {
+       char *p;
+       
+       p = strrchr(file->path, '/');
+       if (p == NULL)
+       {
+           p = (char *)file->path;
+       }
+       else
+       {
+           p++;
+       }
+       file->fd = open (p, O_RDONLY, 0666);
+   }
+ #elif defined(__MVS__) || defined(__VSE__)
+   {
+       char newfnm[FILENAME_MAX];
+       char *p;
+ 
+       if (file->main_file)
+       {
+           /* just open the main file as-is */
+           strcpy(newfnm, file->path);
+       }
+       /* if a directory path was provided we must be in an
+          environment like PDOS in which case get the simple filename. */
+       /* It would be better if there was an indicator we could use
+          to determine that an include path exists. */
+       else if (gotdirpath)
+       {
+           p = strrchr(file->path, '/');
+           if (p == NULL)
+           {
+               p = (char *)file->path;
+           }
+           else
+           {
+               p++;
+           }
+           strcpy(newfnm, p);
+       }
+       /* no directory path means that we are expecting to look up
+          via DDNAME */
+       else
+       {
+           p = strrchr(file->path, '/');
+           if (p == NULL)
+           {
+               p = (char *)file->path;
+           }
+           else
+           {
+               p++;
+           }
+ 
+           if (G_angle)
+           {
+               sprintf(newfnm, "dd:sysincl(%.8s)", p);
+           }
+           else
+           {
+               sprintf(newfnm, "dd:include(%.8s)", p);
+           }
+ 
+           /* strip the '.h' if present */
+           p = strchr(newfnm, '.');
+           if (p != NULL)
+           {
+               strcpy(p, ")");
+           }
+           while ((p = strchr(newfnm, '-')) != NULL)
+           {
+               *p = '@';
+           }
+           while ((p = strchr(newfnm, '_')) != NULL)
+           {
+               *p = '@';
+           }
+ #if defined(MUSIC)
+           /* on MUSIC, if the filename can't be found in a
+              MVS-like search, then as a fallback, look locally.
+              This is because the PDS routines don't cope with
+              the fact that the member is being truncated to
+              8 characters. */
+           {
+               FILE *fp;
+               
+               fp = fopen(newfnm, "r");
+               if (fp == NULL)
+               {
+                   p = strrchr(file->path, '/');
+                   if (p == NULL) p = file->path;
+                   else p++;
+                   strcpy(newfnm, p);
+                   /* automatically truncate filenames down to MUSIC length */
+                   if (strlen(newfnm) > 17)
+                   {
+                       p = strrchr(newfnm, '.');
+                       if (p != NULL)
+                       {
+                           memmove(p - (strlen(newfnm) - 17), p, strlen(p) + 1);
+                       }
+                   }
+               }
+               else
+               {
+                   fclose(fp);
+               }
+           }
+ #endif
+       }
+       file->fd = open (newfnm, O_RDONLY, 0666);
+   }
+ #else
      file->fd = open (file->path, O_RDONLY | O_NOCTTY | O_BINARY, 0666);
+ #endif
  
    if (file->fd != -1)
      {
***************
*** 253,258 ****
--- 374,382 ----
    struct stat st;
    bool valid = false;
  
+ #if defined(PUREISO)
+   return false;
+ #else
    /* No PCH on <stdin> or if not requested.  */
    if (file->name[0] == '\0' || !pfile->cb.valid_pch)
      return false;
***************
*** 304,309 ****
--- 428,434 ----
      free (pchname);
  
    return valid;
+ #endif
  }
  
  /* Try to open the path FILE->name appended to FILE->dir.  This is
***************
*** 328,338 ****
--- 453,465 ----
    if (open_file (file))
      return true;
  
+ #if !defined(PUREISO)
    if (file->err_no != ENOENT)
      {
        open_file_failed (pfile, file, 0);
        return true;
      }
+ #endif
  
    free (path);
    file->path = file->name;
***************
*** 366,371 ****
--- 493,499 ----
    _cpp_file *file;
    bool invalid_pch = false;
  
+   G_angle = angle_brackets; /* let called functions know about this */
    /* Ensure we get no confusion between cached files and directories.  */
    if (start_dir == NULL)
      cpp_error (pfile, CPP_DL_ICE, "NULL directory in find_file");
***************
*** 696,702 ****
--- 824,839 ----
    cpp_dir *dir;
    _cpp_file *file;
  
+ #if defined(__MVS__)
+   dir = pfile->bracket_include;
+   gotdirpath = (dir != NULL);
+   if (dir == NULL) return &pfile->no_search_path;
+   return dir;
+ #elif defined(__CMS__) || defined(__VSE__)
+   if (1)
+ #else
    if (IS_ABSOLUTE_PATH (fname))
+ #endif
      return &pfile->no_search_path;
  
    /* pfile->buffer is NULL when processing an -include command-line flag.  */
***************
*** 769,774 ****
--- 906,916 ----
    int sysp = pfile->map ? pfile->map->sysp: 0;
    bool print_dep = CPP_OPTION (pfile, deps.style) > (angle_brackets || !!sysp);
  
+ #if defined(PUREISO)
+   printf("can't open %s\n", file->name);
+   exit(EXIT_FAILURE);
+ #endif
+ 
    errno = file->err_no;
    if (print_dep && CPP_OPTION (pfile, deps.missing_files) && errno == ENOENT)
      deps_add_dep (pfile->deps, file->name);
***************
*** 1149,1160 ****
--- 1291,1312 ----
  static void
  read_name_map (cpp_dir *dir)
  {
+ #if defined(MUSIC)
+ #define FILE_NAME_MAP_FILE "dd:include(__header)"
+ #elif defined(__MVS__) || defined(__VSE__)
+   static const char FILE_NAME_MAP_FILE[] = "dd:include(@@header)";
+ #else
    static const char FILE_NAME_MAP_FILE[] = "header.gcc";
+ #endif
    char *name;
    FILE *f;
    size_t len, count = 0, room = 9;
  
    len = dir->len;
+ /* Don't prefix directory name on MVS or CMS or VSE */
+ #if defined(__MVS__) || defined(__CMS__) || defined(__VSE__)
+   len = 0;
+ #endif
    name = alloca (len + sizeof (FILE_NAME_MAP_FILE) + 1);
    memcpy (name, dir->name, len);
    if (len && name[len - 1] != '/')
Index: gcc/gcc/cpplib.h
diff -c gcc/gcc/cpplib.h:1.1.1.1 gcc/gcc/cpplib.h:1.2
*** gcc/gcc/cpplib.h:1.1.1.1	Wed Apr 15 16:26:14 2009
--- gcc/gcc/cpplib.h	Fri May  1 18:52:17 2009
***************
*** 23,29 ****
--- 23,31 ----
  #ifndef GCC_CPPLIB_H
  #define GCC_CPPLIB_H
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  #include "hashtable.h"
  #include "line-map.h"
  
Index: gcc/gcc/cppmacro.c
diff -c gcc/gcc/cppmacro.c:1.1.1.1 gcc/gcc/cppmacro.c:1.7
*** gcc/gcc/cppmacro.c:1.1.1.1	Wed Apr 15 16:26:16 2009
--- gcc/gcc/cppmacro.c	Fri Nov 20 13:30:16 2009
***************
*** 27,32 ****
--- 27,34 ----
  #include "system.h"
  #include "cpplib.h"
  #include "cpphash.h"
+ #include "coretypes.h"
+ #include "tm.h"
  
  typedef struct macro_arg macro_arg;
  struct macro_arg
***************
*** 139,144 ****
--- 141,157 ----
  	    map = INCLUDED_FROM (&pfile->line_maps, map);
  
  	name = map->to_file;
+ #ifdef TARGET_MVS
+         /* In order to get the generated assembler consistent on
+            MVS where we don't have an input file name, we force
+            the cross-compile to generate the same name. It may
+            be better to pass an extra parameter to
+            gcc to provide a filename. Even if we could extract
+            the member name from the SYSIN DD statement, it still
+            wouldn't make the source consistent with the PC
+            filename. */
+         name = "<stdin>";
+ #endif
  	len = strlen (name);
  	buf = _cpp_unaligned_alloc (pfile, len * 4 + 3);
  	result = buf;
Index: gcc/gcc/cppspec.c
diff -c gcc/gcc/cppspec.c:1.1.1.1 gcc/gcc/cppspec.c:1.3
*** gcc/gcc/cppspec.c:1.1.1.1	Wed Apr 15 16:25:56 2009
--- gcc/gcc/cppspec.c	Thu Apr 23 18:43:10 2009
***************
*** 24,29 ****
--- 24,41 ----
  #include "tm.h"
  #include "gcc.h"
  
+ #ifdef SINGLE_EXECUTABLE
+ #undef lang_specific_driver
+ #undef lang_specific_extra_outfiles
+ #undef lang_specific_pre_link
+ #undef lang_specific_spec_functions
+ #define lang_specific_driver cpslsd
+ #define lang_specific_pre_link cpslspl
+ #define lang_specific_extra_outfiles cpslseo
+ #define lang_specific_spec_functions cpslssf
+ #endif
+ 
+ 
  /* The `cpp' executable installed in $(bindir) and $(cpp_install_dir)
     is a customized version of the gcc driver.  It forces -E; -S and -c
     are errors.  It defaults to -x c for files with unrecognized
Index: gcc/gcc/cygwin.bat
diff -c /dev/null gcc/gcc/cygwin.bat:1.1.3.3
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/cygwin.bat	Thu May 12 16:38:20 2011
***************
*** 0 ****
--- 1,45 ----
+ rem set this to core or standard
+ set gccname=gcc-core-3.2.3
+ 
+ rem this is the patch name
+ set gccpname=gcc-stage204
+ 
+ rem this is the name of the pdpclib archive
+ set pdpname=pdpclib
+ 
+ rm -fr work
+ md work
+ cd work
+ md pdos
+ cd pdos
+ md pdpclib
+ cd pdpclib
+ unzip ..\..\..\%pdpname%
+ cd ..\..
+ copy ..\%gccname%.tar.bz2
+ copy ..\%gccpname%.zip
+ bzip2 -d %gccname%.tar.bz2
+ tar xvf %gccname%.tar
+ del %gccname%.tar
+ unzip %gccpname%.zip
+ del %gccpname%.zip
+ ren gcc-3.2.3 gcc
+ cd gcc
+ patch -p 1 -f <..\%gccpname%.txt
+ del ..\%gccpname%.txt
+ 
+ cd gcc
+ sed 's/stdcompp/stdcompg/' stdcomp.bat >temp.bat
+ copy temp.bat stdcomp.bat
+ sed 's/rem gcc/gccreal/;s/gcc /rem gcc /;s/gccreal/gcc/' compile.bat >temp.bat
+ copy temp.bat compile.bat
+ del temp.bat
+ 
+ rem in case the cygwin is set to linefeeds, convert to cr/lf
+ zip -m -l temp compile.bat stdcomp.bat
+ unzip temp
+ del temp.zip
+ 
+ call compile
+ call compmvs -ansi -pedantic-errors
+ call zipmvs
Index: gcc/gcc/debug.c
diff -c gcc/gcc/debug.c:1.1.1.1 gcc/gcc/debug.c:1.3
*** gcc/gcc/debug.c:1.1.1.1	Wed Apr 15 16:25:51 2009
--- gcc/gcc/debug.c	Wed Nov 11 23:34:22 2009
***************
*** 20,25 ****
--- 20,41 ----
  #include "coretypes.h"
  #include "tm.h"
  #include "debug.h"
+ #include "rtl.h"
+ #include "output.h"
+ #include "flags.h"
+ 
+ static void
+ debug_source_line (line, text)
+      unsigned int line ATTRIBUTE_UNUSED;
+      const char *text ATTRIBUTE_UNUSED;
+ {
+    if (flag_debug_asm)
+    {
+        app_enable();
+        fprintf(asm_out_file, "%s %d %s\n", ASM_COMMENT_START, line, text);
+        app_disable();
+    }
+ }
  
  /* The do-nothing debug hooks.  */
  const struct gcc_debug_hooks do_nothing_debug_hooks =
***************
*** 33,39 ****
    debug_nothing_int_int,	/* begin_block */
    debug_nothing_int_int,	/* end_block */
    debug_true_tree,		/* ignore_block */
!   debug_nothing_int_charstar,	/* source_line */
    debug_nothing_int_charstar,	/* begin_prologue */
    debug_nothing_int_charstar,	/* end_prologue */
    debug_nothing_int_charstar,	/* end_epilogue */
--- 49,55 ----
    debug_nothing_int_int,	/* begin_block */
    debug_nothing_int_int,	/* end_block */
    debug_true_tree,		/* ignore_block */
!   debug_source_line,	/* source_line */
    debug_nothing_int_charstar,	/* begin_prologue */
    debug_nothing_int_charstar,	/* end_prologue */
    debug_nothing_int_charstar,	/* end_epilogue */
Index: gcc/gcc/diffcms.exec
diff -c /dev/null gcc/gcc/diffcms.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/diffcms.exec	Wed Apr 15 23:24:13 2009
***************
*** 0 ****
--- 1 ----
+ COMPARE &1 S &2 &1 S &3
Index: gcc/gcc/example.jcl
diff -c /dev/null gcc/gcc/example.jcl:1.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/example.jcl	Sun Jun 12 12:27:11 2011
***************
*** 0 ****
--- 1,70 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* This example is for people who don't have a PROC installed
+ //* in their installation. It compiles an example C program.
+ //*
+ //CCOMP    PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ // COS1='-Os -S -ansi -pedantic-errors',
+ // COS2='-o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //            DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
+ //            SPACE=(6160,(500,500))
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&&TEMP,DISP=(OLD,DELETE)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLIB   DD DSN=&PDPPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&&TEMPL(&MEMBER),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //S1       EXEC PGM=IEFBR14
+ //DD1      DD DSN=&&TEMPL,DISP=(NEW,PASS),UNIT=SYSALLDA,
+ //         SPACE=(CYL,(1,1,44)),DCB=(RECFM=U,LRECL=0,BLKSIZE=6144)
+ //*
+ //S2       EXEC CCOMP,MEMBER='PDPTEST'
+ //COMP.SYSIN DD *
+ #include <stdio.h>
+ 
+ int main(void)
+ {
+     printf("Greetings from Jujitsu ...\n");
+     printf("the makers of MVS/380 !!!\n");
+     return (0);
+ }
+ //LKED.SYSLMOD DD DSN=&&TEMPL(PDPTEST),DISP=(OLD,PASS)
+ //*
+ //S3       EXEC PGM=PDPTEST
+ //STEPLIB  DD DSN=&&TEMPL,DISP=(OLD,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //
Index: gcc/gcc/example2.jcl
diff -c /dev/null gcc/gcc/example2.jcl:1.1.3.3
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/example2.jcl	Thu May 12 16:38:21 2011
***************
*** 0 ****
--- 1,33 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* This is an example of how to compile using the
+ //* proc. If your installation has not installed the
+ //* proc, you will need to execute the compiler
+ //* directly, using the other example.
+ //*
+ //S1 EXEC GCCCL,
+ //  INFILE='PDPCLIB.SOURCE(PDPTEST)',
+ //  OUTFILE='PDPCLIB.LINKLIB(PDPTEST)',
+ //*  COPTS='-DLOOP',
+ //  LOPTS='MAP'
+ //*
+ //* Note if you have multiple source files in your
+ //* project, you MAY need specific includes for them,
+ //* in which case uncomment and add them to this:
+ //*LKED.SYSIN DD DUMMY
+ //* You will also need to add an "ENTRY @@MAIN" if you
+ //* have created an intermediate NCAL for your main
+ //* program so that the linkage editor can no longer
+ //* see the original object code.
+ //*
+ //*
+ //*
+ //* Note - if you want this program to loop, uncomment
+ //* the COPTS above.
+ //*
+ //S2 EXEC PGM=PDPTEST,PARM='Fred was here'
+ //STEPLIB  DD DSN=PDPCLIB.LINKLIB,DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //
Index: gcc/gcc/final.c
diff -c gcc/gcc/final.c:1.1.1.1 gcc/gcc/final.c:1.2
*** gcc/gcc/final.c:1.1.1.1	Wed Apr 15 16:26:10 2009
--- gcc/gcc/final.c	Wed Nov 11 18:27:39 2009
***************
*** 1676,1682 ****
--- 1676,1686 ----
  #ifdef IA64_UNWIND_INFO
  	  IA64_UNWIND_EMIT (asm_out_file, insn);
  #endif
+ #if TARGET_MVS || TARGET_CMS
+ 	  if (0)
+ #else
  	  if (flag_debug_asm)
+ #endif
  	    fprintf (asm_out_file, "\t%s basic block %d\n",
  		     ASM_COMMENT_START, NOTE_BASIC_BLOCK (insn)->index);
  
Index: gcc/gcc/fixcsect.exec
diff -c /dev/null gcc/gcc/fixcsect.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fixcsect.exec	Wed Apr 15 23:24:17 2009
***************
*** 0 ****
--- 1,23 ----
+ ********************************************************
+ *
+ * Fix blank CSECTs
+ * Usage: FIXCSECT <filename> <disk> <asm name> <csect name>
+ *
+ ********************************************************
+ &CONTROL
+ 
+ &FILE = &1
+ &DISK = &2
+ &ASMNAME = &3
+ &CSECT = &4
+ 
+ FILEDEF SYSIN DISK &FILE S &DISK
+ FILEDEF SYSPRINT DISK &FILE ASSEMBLE &DISK (LRECL 80 RECFM F
+ NAMCSECT &CSECT
+ FILEDEF SYSPRINT CLEAR
+ FILEDEF SYSIN CLEAR
+ 
+ &ASMNAME &FILE
+ ERASE &FILE ASSEMBLE
+ ERASE &FILE LISTING
+ &EXIT
Index: gcc/gcc/fixifox.bat
diff -c /dev/null gcc/gcc/fixifox.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fixifox.bat	Wed Apr 15 23:24:25 2009
***************
*** 0 ****
--- 1,5 ----
+ cd config\i370
+ sed 's/\/\*\#define IFOX 1\*\//\#define IFOX 1/g' <pureiso.h >ifox.tmp
+ del pureiso.h
+ ren ifox.tmp pureiso.h
+ cd ..\..
Index: gcc/gcc/fixjcl.bat
diff -c /dev/null gcc/gcc/fixjcl.bat:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fixjcl.bat	Tue May 26 10:57:56 2009
***************
*** 0 ****
--- 1,19 ----
+ call runsed stage0a.jcl
+ call runsed stage0b.jcl
+ call runsed stage0c.jcl
+ call runsed stage0d.jcl
+ call runsed stage1a.jcl
+ call runsed stage1b.jcl
+ call runsed stage2a.jcl
+ call runsed stage2b.jcl
+ call runsed stage2c.jcl
+ call runsed stage3a.jcl
+ call runsed stage3b.jcl
+ call runsed stage3c.jcl
+ call runsed stage4.jcl
+ call runsed stage4z.jcl
+ call runsed gencomp.jcl
+ call runsed example.jcl
+ call runsed gccc.prc
+ call runsed gcccl.prc
+ call runsed gccclg.prc
Index: gcc/gcc/flags.h
diff -c gcc/gcc/flags.h:1.1.1.1 gcc/gcc/flags.h:1.9
*** gcc/gcc/flags.h:1.1.1.1	Wed Apr 15 16:26:19 2009
--- gcc/gcc/flags.h	Tue May 31 05:10:30 2011
***************
*** 198,203 ****
--- 198,209 ----
  
  extern int flag_profile_values;
  
+ #if IFOX
+ /* used to work around the 399 identifier limit of IFOX */
+ extern int gflags[64];
+ #endif
+ 
+ #if !IFOX
  /* Nonzero if generating info for gcov to calculate line test coverage.  */
  
  extern int flag_test_coverage;
***************
*** 217,222 ****
--- 223,229 ----
  /* Nonzero if registers should be renamed.  */
  
  extern int flag_rename_registers;
+ #endif
  
  /* Nonzero for -pedantic switch: warn about anything
     that standard C forbids.  */
***************
*** 235,240 ****
--- 242,248 ----
  
  /* Now the symbols that are set with `-f' switches.  */
  
+ #if !IFOX
  /* Nonzero means `char' should be signed.  */
  
  extern int flag_signed_char;
***************
*** 248,258 ****
--- 256,268 ----
     Optional now, so people can test it.  */
  
  extern int flag_caller_saves;
+ #endif
  
  /* Nonzero for -fpcc-struct-return: return values the same way PCC does.  */
  
  extern int flag_pcc_struct_return;
  
+ #if !IFOX
  /* Nonzero for -fforce-mem: load memory value into a register
     before arithmetic on it.  This makes better cse but slower compilation.  */
  
***************
*** 340,345 ****
--- 350,356 ----
  /* Nonzero allows GCC to optimize sibling and tail recursive calls.  */
  
  extern int flag_optimize_sibling_calls;
+ #endif
  
  /* Nonzero means the front end generally wants `errno' maintained by math
     operations, like built-in SQRT.  */
***************
*** 363,368 ****
--- 374,380 ----
  
  extern int flag_trapping_math;
  
+ #if !IFOX
  /* Nonzero means disable transformations that assume default floating
     point rounding behavior.  */
  
***************
*** 373,378 ****
--- 385,391 ----
     2 means C99-like requirements for complex divide (not yet implemented).  */
  
  extern int flag_complex_divide_method;
+ #endif
  
  /* Nonzero means to run loop optimizations twice.  */
  
***************
*** 402,418 ****
--- 415,435 ----
  
  extern int flag_really_no_inline;
  
+ #if !IFOX
  /* Nonzero if we are only using compiler to check syntax errors.  */
  
  extern int flag_syntax_only;
+ #endif
  
  /* Nonzero means we should save auxiliary info into a .X file.  */
  
  extern int flag_gen_aux_info;
  
+ #if !IFOX
  /* Nonzero means make the text shared if supported.  */
  
  extern int flag_shared_data;
+ #endif
  
  /* flag_schedule_insns means schedule insns within basic blocks (before
     local_alloc).
***************
*** 516,521 ****
--- 533,539 ----
     needed for crtstuff.c on other systems.  */
  extern int flag_inhibit_size_directive;
  
+ #if !IFOX
  /* Nonzero means place each function into its own section on those platforms
     which support arbitrary section names and unlimited numbers of sections.  */
  
***************
*** 524,529 ****
--- 542,548 ----
  /* ... and similar for data.  */
   
  extern int flag_data_sections;
+ #endif
  
  /* -fverbose-asm causes extra commentary information to be produced in
     the generated assembly code (to make it more readable).  This option
***************
*** 659,667 ****
--- 678,688 ----
  
  extern int flag_no_ident;
  
+ #if !IFOX
  /* Nonzero means perform global CSE.  */
  
  extern int flag_gcse;
+ #endif
  
  /* Nonzero if we want to perform enhanced load motion during gcse.  */
  
***************
*** 676,683 ****
--- 697,706 ----
  
  extern int flag_gcse_las;
  
+ #if !IFOX
  /* Nonzero if value histograms should be used to optimize code.  */
  extern int flag_value_profile_transformations;
+ #endif
  
  /* Perform branch target register optimization before prologue / epilogue
     threading.  */
***************
*** 708,719 ****
--- 731,746 ----
  /* Nonzero means put zero initialized data in the bss section.  */
  extern int flag_zero_initialized_in_bss;
  
+ #if !IFOX
  /* Nonzero means disable transformations observable by signaling NaNs.  */
  extern int flag_signaling_nans;
+ #endif
  
  extern int flag_unit_at_a_time;
  
+ #if !IFOX
  extern int flag_web;
+ #endif
  
  /* Nonzero means that we defer emitting functions until they are actually
     used.  */
Index: gcc/gcc/fudge.bat
diff -c /dev/null gcc/gcc/fudge.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fudge.bat	Wed Apr 15 23:24:11 2009
***************
*** 0 ****
--- 1,19 ----
+ rem this is useful during testing. It switches off optimization
+ rem which makes things run a LOT faster
+ 
+ sed 's/-Os/-O0/g' stage2a.jcl >temp.zzz
+ del stage2a.jcl
+ ren temp.zzz stage2a.jcl
+ 
+ sed 's/-Os/-O0/g' stage2b.jcl >temp.zzz
+ del stage2b.jcl
+ ren temp.zzz stage2b.jcl
+ 
+ sed 's/-Os/-O0/g' stage2c.jcl >temp.zzz
+ del stage2c.jcl
+ ren temp.zzz stage2c.jcl
+ 
+ sed 's/PGM=IEBCOMPR/PGM=IEFBR14/g' stage2c.jcl >temp.zzz
+ del stage2c.jcl
+ ren temp.zzz stage2c.jcl
+ 
Index: gcc/gcc/fullcms.bat
diff -c /dev/null gcc/gcc/fullcms.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fullcms.bat	Tue May 26 10:57:44 2009
***************
*** 0 ****
--- 1,4 ----
+ call withbis1
+ copy output.txt oldout.txt
+ call restmini gcccms-exe.vmarc 191
+ call withbis2
Index: gcc/gcc/fullcms1.exec
diff -c /dev/null gcc/gcc/fullcms1.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fullcms1.exec	Tue May 26 10:57:45 2009
***************
*** 0 ****
--- 1,35 ----
+ * Usage - FULLCMS1 <SRC> <EXE> <WORK>
+ 
+ * This script invokes WITHBIS2. See it for further information.
+ 
+ 
+ &SRC = A
+ &EXE = B
+ &WORK = C
+ 
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &SRC = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &WORK = &1
+ 
+ -FINARGS
+ 
+ 
+ * Strictly, we're only expecting a blocksize of 80, but
+ * mvsunzip can handle short blocks, so we specify the max
+ FILEDEF INPUT TAP1 (LRECL 80 BLKSIZE 32720 RECFM FB
+ MVSUNZIP DD:INPUT &SRC
+ FILEDEF INPUT CLEAR
+ 
+ 
+ EXEC WITHBIS1 &SRC &EXE &WORK
+ 
+ 
+ VMARC PACK * * &EXE (TAP2 BLOCK 80
Index: gcc/gcc/fullcms2.exec
diff -c /dev/null gcc/gcc/fullcms2.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fullcms2.exec	Tue May 26 10:57:42 2009
***************
*** 0 ****
--- 1,35 ----
+ * Usage - FULLCMS2 <SRC> <EXE> <WORK>
+ 
+ * This script invokes WITHBIS2. See it for further information.
+ 
+ 
+ &SRC = A
+ &EXE = B
+ &WORK = C
+ 
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &SRC = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &WORK = &1
+ 
+ -FINARGS
+ 
+ 
+ * Strictly, we're only expecting a blocksize of 80, but
+ * mvsunzip can handle short blocks, so we specify the max
+ FILEDEF INPUT TAP1 (LRECL 80 BLKSIZE 32720 RECFM FB
+ MVSUNZIP DD:INPUT &SRC
+ FILEDEF INPUT CLEAR
+ 
+ 
+ EXEC WITHBIS2 &SRC &EXE &WORK
+ 
+ 
+ VMARC PACK * * &EXE (TAP2 BLOCK 80
Index: gcc/gcc/fullmvs.bat
diff -c /dev/null gcc/gcc/fullmvs.bat:1.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/fullmvs.bat	Mon Jun 13 10:50:47 2011
***************
*** 0 ****
--- 1,24 ----
+ rem after you have updated version.c with the
+ rem latest version number, you can use this to
+ rem do a full build of GCCMVS (which includes
+ rem using (but not generating) bison and sed)
+ rem and source code-regeneration verification
+ rem It also produces the final deliverable xmits
+ 
+ call allmvs
+ 
+ del gccmvs-xmit.zip
+ rm -fr xxx
+ md xxx
+ copy xmitread.txt xxx\readme.txt
+ zip -9Xmj gccmvs-xmit gccmvs.xmi xxx\readme.txt
+ zip -9X gccmvs-xmit xmit1.jcl xmit2.jcl xmit3.jcl xmit4.jcl xmit5.jcl xmitrecv.bat
+ rd xxx
+ 
+ rem we could combine the checkgen into the single job stream,
+ rem but it would require coordination with the MVS/380 build
+ rem where bison gets generated also.
+ rem We can't use the batch file directly, because that does
+ rem an unnecessary regeneration of code. fullmvs is not designed
+ rem to be used with a rebuild of bison.
+ rem runmvs checkgen.jcl checkgen.txt
Index: gcc/gcc/function.c
diff -c gcc/gcc/function.c:1.1.1.1 gcc/gcc/function.c:1.2
*** gcc/gcc/function.c:1.1.1.1	Wed Apr 15 16:26:19 2009
--- gcc/gcc/function.c	Sat Sep 19 15:17:11 2009
***************
*** 3762,3768 ****
--- 3762,3771 ----
        delete_insn (insn);
      }
    else
+   {
+     debug_rtx(insn);
      abort ();
+   }
  }
  /* Given a pointer to a piece of rtx and an optional pointer to the
     containing object, instantiate any virtual registers present in it.
Index: gcc/gcc/gcc.c
diff -c gcc/gcc/gcc.c:1.1.1.1 gcc/gcc/gcc.c:1.12
*** gcc/gcc/gcc.c:1.1.1.1	Wed Apr 15 16:26:13 2009
--- gcc/gcc/gcc.c	Sun Jun  5 14:08:38 2011
***************
*** 86,96 ****
  #include "prefix.h"
  #include "gcc.h"
  #include "flags.h"
  
  #ifdef HAVE_SYS_RESOURCE_H
  #include <sys/resource.h>
  #endif
! #if defined (HAVE_DECL_GETRUSAGE) && !HAVE_DECL_GETRUSAGE
  extern int getrusage (int, struct rusage *);
  #endif
  
--- 86,100 ----
  #include "prefix.h"
  #include "gcc.h"
  #include "flags.h"
+ #ifdef SINGLE_EXECUTABLE
+ #include "diagnostic.h"
+ #undef input_filename
+ #endif
  
  #ifdef HAVE_SYS_RESOURCE_H
  #include <sys/resource.h>
  #endif
! #if defined (HAVE_GETRUSAGE) && !HAVE_DECL_GETRUSAGE
  extern int getrusage (int, struct rusage *);
  #endif
  
***************
*** 903,941 ****
    {"@c",
     /* cc1 has an integrated ISO C preprocessor.  We should invoke the
        external preprocessor if -save-temps is given.  */
!      "%{E|M|MM:%(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
!       %{!E:%{!M:%{!MM:\
!           %{traditional|ftraditional:\
  %eGNU C no longer supports -traditional without -E}\
! 	  %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
! 		%(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
! 		    cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
! 			%(cc1_options)}\
! 	  %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
! 		cc1 %(cpp_unique_options) %(cc1_options)}}}\
!         %{!fsyntax-only:%(invoke_as)}}}}", 0},
    {"-",
     "%{!E:%e-E or -x required when input is from standard input}\
      %(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)", 0},
    {".h", "@c-header", 0},
    {"@c-header",
     /* cc1 has an integrated ISO C preprocessor.  We should invoke the
        external preprocessor if -save-temps is given.  */
       "%{E|M|MM:%(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
!       %{!E:%{!M:%{!MM:\
! 	  %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
! 		%(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
! 		    cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
! 			%(cc1_options)\
!                         -o %g.s %{!o*:--output-pch=%i.gch}\
!                         %W{o*:--output-pch=%*}%V}\
! 	  %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
! 		cc1 %(cpp_unique_options) %(cc1_options)\
!                     -o %g.s %{!o*:--output-pch=%i.gch}\
!                     %W{o*:--output-pch=%*}%V}}}}}}", 0},
    {".i", "@cpp-output", 0},
    {"@cpp-output",
     "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0},
    {".s", "@assembler", 0},
    {"@assembler",
     "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0},
--- 907,954 ----
    {"@c",
     /* cc1 has an integrated ISO C preprocessor.  We should invoke the
        external preprocessor if -save-temps is given.  */
!  "%{E|M|MM:%(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
!  %{!E:%{!M:%{!MM:\
!  %{traditional|ftraditional:\
  %eGNU C no longer supports -traditional without -E}\
!  %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
!  %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
!  cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
!  %(cc1_options)}\
!  %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
!  cc1 %(cpp_unique_options) %(cc1_options)}}}\
!  %{!fsyntax-only:%(invoke_as)}}}}", 0},
! #if TARGET_MVS        
!   {"-", "@c", 0},
! #else
    {"-",
     "%{!E:%e-E or -x required when input is from standard input}\
      %(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)", 0},
+ #endif
    {".h", "@c-header", 0},
    {"@c-header",
     /* cc1 has an integrated ISO C preprocessor.  We should invoke the
        external preprocessor if -save-temps is given.  */
       "%{E|M|MM:%(trad_capable_cpp) %(cpp_options) %(cpp_debug_options)}\
!  %{!E:%{!M:%{!MM:\
!  %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
!  %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
!  cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
!  %(cc1_options)\
!  -o %g.s %{!o*:--output-pch=%i.gch}\
!  %W{o*:--output-pch=%*}%V}\
!  %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
!  cc1 %(cpp_unique_options) %(cc1_options)\
!  -o %g.s %{!o*:--output-pch=%i.gch}\
!  %W{o*:--output-pch=%*}%V}}}}}}", 0},
    {".i", "@cpp-output", 0},
    {"@cpp-output",
     "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0},
+ #if defined(__MVS__) || defined(__CMS__) || defined(__VSE__)
+ /* For MVS & CMS, we use an empty string to signify that
+    any file is considered to be a C file. */
+   {"", "@c", 0},
+ #endif         
    {".s", "@assembler", 0},
    {"@assembler",
     "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0},
***************
*** 2610,2615 ****
--- 2623,2631 ----
  static int
  execute (void)
  {
+ #ifdef SINGLE_EXECUTABLE
+   int ret_code = 0;
+ #endif    
    int i;
    int n_commands;		/* # of command.  */
    char *string;
***************
*** 2756,2761 ****
--- 2772,2792 ----
        char *errmsg_fmt, *errmsg_arg;
        const char *string = commands[i].argv[0];
  
+ #ifdef SINGLE_EXECUTABLE
+      {
+          int cnt = 0;
+          
+          while (commands[i].argv[cnt] != NULL)
+          {
+              cnt++;
+          }
+          if (strcmp(string, "cc1") == 0)
+          {
+              ret_code = toplev_main(cnt, commands[i].argv);
+              if (ret_code != 0) break;
+          }
+       }
+ #else
        /* For some bizarre reason, the second argument of execvp() is
  	 char *const *, not const char *const *.  */
        commands[i].pid = pexecute (string, (char *const *) commands[i].argv,
***************
*** 2769,2778 ****
  
        if (commands[i].pid == -1)
  	pfatal_pexecute (errmsg_fmt, errmsg_arg);
- 
        if (string != commands[i].prog)
  	free ((void *) string);
      }
  
    execution_count++;
  
--- 2800,2812 ----
  
        if (commands[i].pid == -1)
  	pfatal_pexecute (errmsg_fmt, errmsg_arg);
        if (string != commands[i].prog)
  	free ((void *) string);
+ #endif
      }
+ #ifdef SINGLE_EXECUTABLE
+     return (ret_code);
+ #endif    
  
    execution_count++;
  
***************
*** 3099,3104 ****
--- 3133,3139 ----
    const char *spec_lang = 0;
    int last_language_n_infiles;
    int have_c = 0;
+   int have_e = 0;
    int have_o = 0;
    int lang_n_infiles = 0;
  #ifdef MODIFY_TARGET_NAME
***************
*** 3642,3647 ****
--- 3677,3691 ----
  		}
  	      goto normal_switch;
  
+ 	    case 'E':
+ 	      if (p[1] == 0)
+ 		{
+ 		  have_e = 1;
+ 		  n_switches++;
+ 		  break;
+ 		}
+ 	      goto normal_switch;
+ 
  	    case 'o':
  	      have_o = 1;
  #if defined(HAVE_TARGET_EXECUTABLE_SUFFIX)
***************
*** 3751,3756 ****
--- 3795,3809 ----
        use_pipes = 0;
      }
  
+ #if TARGET_MVS || TARGET_CMS
+ #ifdef SINGLE_EXECUTABLE
+   if (have_c && lang_n_infiles > 1)
+     fatal ("cannot compile multiple files");
+   if (!have_c && !have_e && lang_n_infiles > 0)
+     fatal ("must use -S option on MVS (ie produce assembler output)");
+ #endif
+ #endif
+ 
    /* Set up the search paths before we go looking for config files.  */
  
    /* These come before the md prefixes so that we will find gcc's subcommands
***************
*** 5947,5952 ****
--- 6000,6006 ----
  
    gcc_init_libintl ();
  
+ #ifdef USE_SIGNALS
    if (signal (SIGINT, SIG_IGN) != SIG_IGN)
      signal (SIGINT, fatal_error);
  #ifdef SIGHUP
***************
*** 5964,5969 ****
--- 6018,6024 ----
       receive the signal.  A different setting is inheritable */
    signal (SIGCHLD, SIG_DFL);
  #endif
+ #endif
  
    /* Allocate the argument vector.  */
    alloc_args ();
***************
*** 6309,6315 ****
--- 6364,6374 ----
      }
  
    if (n_infiles == added_libraries)
+   {
+     printf (_("%s (GCC) %s\n"), programname, version_string);
+     display_help();
      fatal ("no input files");
+   }
  
    /* Make a place to record the compiler output file names
       that correspond to the input files.  */
***************
*** 6376,6382 ****
--- 6435,6445 ----
  	  else
  	    {
  	      value = do_spec (input_file_compiler->spec);
+ #ifdef SINGLE_EXECUTABLE
+ 	      if (value != 0)
+ #else
  	      if (value < 0)
+ #endif
  		this_file_error = 1;
  	    }
  	}
***************
*** 6465,6473 ****
--- 6528,6545 ----
        printf ("%s\n", bug_report_url);
      }
  
+ #ifdef SINGLE_EXECUTABLE
+ #if defined(__MVS__) || defined(__CMS__) || defined(__VSE__)
+   /* It is normal on MVS to return with return code 4 if the
+      program issued any warning messages */
+   if ((error_count <= 0) && (warningcount > 0)) return (4);
+ #endif
+   return (error_count > 0 ? EXIT_FAILURE : EXIT_SUCCESS);
+ #else
    return (signal_count != 0 ? 2
  	  : error_count > 0 ? (pass_exit_codes ? greatest_status : 1)
  	  : 0);
+ #endif
  }
  
  /* Find the proper compilation spec for the file name NAME,
***************
*** 6584,6589 ****
--- 6656,6664 ----
  
  /* Output an error message and exit.  */
  
+ #ifdef SINGLE_EXECUTABLE
+ static
+ #endif
  void
  fancy_abort (void)
  {
***************
*** 6604,6612 ****
    va_end (ap);
    fprintf (stderr, "\n");
    delete_temp_files ();
!   exit (1);
  }
  
  void
  error (const char *msgid, ...)
  {
--- 6679,6690 ----
    va_end (ap);
    fprintf (stderr, "\n");
    delete_temp_files ();
!   exit (FATAL_EXIT_CODE);
  }
  
+ #ifdef SINGLE_EXECUTABLE
+ static
+ #endif
  void
  error (const char *msgid, ...)
  {
Index: gcc/gcc/gcc.h
diff -c gcc/gcc/gcc.h:1.1.1.1 gcc/gcc/gcc.h:1.2
*** gcc/gcc/gcc.h:1.1.1.1	Wed Apr 15 16:25:56 2009
--- gcc/gcc/gcc.h	Thu Apr 23 18:12:44 2009
***************
*** 56,64 ****
  /* These are exported by gcc.c.  */
  extern int do_spec (const char *);
  extern void record_temp_file (const char *, int, int);
! extern void fancy_abort (void) ATTRIBUTE_NORETURN;
  extern void fatal (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
! extern void error (const char *, ...) ATTRIBUTE_PRINTF_1;
  extern void pfatal_with_name (const char *) ATTRIBUTE_NORETURN;
  extern void set_input (const char *);
  
--- 56,74 ----
  /* These are exported by gcc.c.  */
  extern int do_spec (const char *);
  extern void record_temp_file (const char *, int, int);
! #ifdef SINGLE_EXECUTABLE
! static
! #else
! extern
! #endif
! void fancy_abort (void) ATTRIBUTE_NORETURN;
  extern void fatal (const char *, ...) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
! #ifdef SINGLE_EXECUTABLE
! static
! #else
! extern
! #endif
! void error (const char *, ...) ATTRIBUTE_PRINTF_1;
  extern void pfatal_with_name (const char *) ATTRIBUTE_NORETURN;
  extern void set_input (const char *);
  
Index: gcc/gcc/gcc.parm
diff -c /dev/null gcc/gcc/gcc.parm:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/gcc.parm	Sun Jul 19 17:05:08 2009
***************
*** 0 ****
--- 1 ----
+ -o dd:out - -S -ansi
Index: gcc/gcc/gccaall.exec
diff -c /dev/null gcc/gcc/gccaall.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/gccaall.exec	Wed Nov 11 16:49:04 2009
***************
*** 0 ****
--- 1,19 ----
+ *******************************************************************
+ *
+ * This EXEC assembles all the assembler files that constitute the
+ * GCC executable.
+ * Usage: GCCAALL <DISK>
+ *
+ *******************************************************************
+ &CONTROL
+ 
+ &DISK = &1
+ &ASMNAME = ASMAHL
+ 
+ GLOBAL MACLIB OSMACRO DMSGPI PDPCLIB
+ 
+ * Rename pdpclib assembler files to same format
+ * name as GCC assembler files
+ COPY * ASM &DISK = S = (REPLACE
+ 
+ EXEC ITERGCC GCCAONE Y Y Y Y &DISK &ASMNAME
Index: gcc/gcc/gccaone.exec
diff -c /dev/null gcc/gcc/gccaone.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/gccaone.exec	Wed Nov 11 16:49:04 2009
***************
*** 0 ****
--- 1,27 ----
+ *******************************************************************
+ *
+ * This EXEC assembles a single assembler (S) file
+ * Usage: GCCAAONE <FILE> <DISK> [ASMNAME]
+ *
+ *******************************************************************
+ &CONTROL
+ 
+ &ASMNAME = ASSEMBLE
+ 
+ &FILE = &1
+ &DISK = &2
+ 
+ &IF &INDEX < 3 &GOTO -NOASMNM
+ &ASMNAME = &3
+ -NOASMNM
+ 
+ * Create temporary file in F instead of V format for
+ * the assembler, and use normal name for assembler
+ * files
+ COPY &FILE S &DISK = ASSEMBLE &DISK (RECFM F LRECL 80 REPLACE
+ 
+ * Assemble
+ &ASMNAME &FILE (NOLIST
+ 
+ * Delete temporary file
+ ERASE &FILE ASSEMBLE &DISK
Index: gcc/gcc/gccc.prc
diff -c /dev/null gcc/gcc/gccc.prc:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:05 2011
--- gcc/gcc/gccc.prc	Wed Nov 11 16:49:05 2009
***************
*** 0 ****
--- 1,18 ----
+ //GCCC    PROC PDPPREF='PDPCLIB',GCCPREF='GCC',INFILE='',
+ //         COPTS='-S',
+ // COS1='-ansi -pedantic-errors',
+ // COS2='-o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,
+ // PARM='&COPTS &COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //*
+ //* INCLUDE SHOULD HAVE YOUR OWN HEADERS ADDED
+ //*
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //SYSIN    DD DSN=&INFILE,DISP=SHR
+ //OUT      DD SYSOUT=*
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
Index: gcc/gcc/gcccall.exec
diff -c /dev/null gcc/gcc/gcccall.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gcccall.exec	Wed Apr 15 23:24:26 2009
***************
*** 0 ****
--- 1,12 ----
+ *******************************************************************
+ *
+ * This EXEC compiles all the C files that constitute the
+ * GCC executable.
+ * Usage: GCCCALL <DISK>
+ *
+ *******************************************************************
+ &CONTROL
+ 
+ &DISK = &1
+ 
+  EXEC ITERGCC GCCCONE Y Y N Y &DISK
Index: gcc/gcc/gcccl.prc
diff -c /dev/null gcc/gcc/gcccl.prc:1.1.3.5
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gcccl.prc	Thu May 12 16:38:23 2011
***************
*** 0 ****
--- 1,44 ----
+ //GCCCL   PROC PDPPREF='PDPCLIB',GCCPREF='GCC',INFILE='',
+ //         OUTFILE='',COPTS='',LOPTS='',
+ // COS1='-S -ansi -pedantic-errors',
+ // COS2='-o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,
+ // PARM='&COS1 &COPTS &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //*
+ //* INCLUDE SHOULD HAVE YOUR OWN HEADERS ADDED
+ //*
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //SYSIN    DD DSN=&INFILE,DISP=SHR
+ //OUT      DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //            DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
+ //            SPACE=(6160,(500,500))
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&&TEMP,DISP=(OLD,DELETE)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='&LOPTS',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLIB   DD DSN=&PDPPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&OUTFILE,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
Index: gcc/gcc/gccclg.prc
diff -c /dev/null gcc/gcc/gccclg.prc:1.1.3.5
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gccclg.prc	Thu May 12 16:38:23 2011
***************
*** 0 ****
--- 1,50 ----
+ //GCCCLG  PROC PDPPREF='PDPCLIB',GCCPREF='GCC',INFILE='',
+ //         COPTS='',LOPTS='',
+ // COS1='-S -ansi -pedantic-errors',
+ // COS2='-o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,COND=(4,LT),
+ // PARM='&COS1 &COPTS &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //*
+ //* INCLUDE SHOULD HAVE YOUR OWN HEADERS ADDED
+ //*
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //SYSIN    DD DSN=&INFILE,DISP=SHR
+ //OUT      DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //            DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
+ //            SPACE=(6160,(500,500))
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(200,200)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&&TEMP,DISP=(OLD,DELETE)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='&LOPTS',
+ //         COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLIB   DD DSN=&PDPPREF..NCALIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLMOD  DD   DSN=&&GOSET(GO),UNIT=SYSALLDA,SPACE=(1024,(50,20,1)),
+ //   DISP=(MOD,PASS)
+ //GO       EXEC PGM=*.LKED.SYSLMOD,
+ //         COND=((4,LT,COMP),(4,LT,ASM),(4,LT,LKED))
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //SYSIN    DD DUMMY
Index: gcc/gcc/gcccms.txt
diff -c /dev/null gcc/gcc/gcccms.txt:1.1.3.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gcccms.txt	Wed Nov 11 16:49:06 2009
***************
*** 0 ****
--- 1,421 ----
+ Release Notes for GCCCMS
+ ------------------------
+ 
+ This document explains what needs to be done to get GCCMVS from:
+ 
+ http://gccmvs.sourceforge.net
+ 
+ to run on VM/CMS. The code is designed to work on VM/370,
+ VM/380, VM/XA and z/VM. You just need to set the
+ appropriate configuration before building.
+ 
+ Note that when used on an non XA capable version of CMS,
+ only the 24-bit version of the module is created. Otherwise,
+ an RMODE 24 AMODE 31 module (ie XA-style) is produced as
+ well. Sites running z/VM, but without the High Level Assembler
+ (or compatible product) need a modified version of IFOX 
+ (see below) which increases the number of externals allowed.
+ 
+ The notes for the MVS version of the compiler (gccmvs.txt)
+ should be read in conjunction with this document. In particlar
+ the section on conversion from ASCII to EBCDIC is relevant to VM.
+ 
+ 
+ Overview of changes for VM/CMS
+ ------------------------------
+ 
+ Note that you will probably need to put:
+ SET LDRTBLS 25
+ or similar in your PROFILE EXEC etc to provide the resources
+ that GCC requires.
+ 
+ While you're doing that, you should probably add "PDPCLIB"
+ to your "GLOBAL TXTLIB" command, preferably at the front.
+ 
+ The changes to the main GCC code in GCCMVS to support CMS
+ are fairly minimal, mainly confined to include file processing.
+ 
+ However, the changes to PDPCLIB (the C runtime library) are
+ more extensive. An old version of the MVS assembler interface
+ was used as a base, and similarities remain between the MVS
+ and CMS versions. The main differences are:
+ 
+ 1) The CMS assembler only supports the OS/MFT (OS/360) macro 
+    formats. The GCCMVS run time uses some OS/MVS macros, which 
+    had to be changed back to the MFT versions.
+ 
+ 2) The conventions for passing command line parameters to CMS 
+    programs is different to that in OS.
+ 
+ 3) The low storage layout is different (PSA macro in OS, NUCON in CMS).
+ 
+ 4) CMS execs are needed to replace the PROCS and JCL files used in GCCMVS.
+ 
+ In addition, two changes to CMS are required to build GCC on VM/370. 
+ These are as follows:
+ 
+ 1) The IFOX assembler needs modifying to allow more than 256 
+ externals per program. (this change is also required for z/VM
+ users still using the IFOX assembler).
+ 
+ 2) The CMS loader needs modifying to allow more than 256 externals 
+ per load module.
+ 
+ Neither of these changes are included with this distribution. Both 
+ may be found in the "files" section of the Yahoo H390-VM "e-group". 
+ Note that if you are using VM/380 or the VM/370 Sixpack, these
+ changes are already included.
+ 
+ 
+ Installing the compiler on VM
+ -----------------------------
+ 
+ To install from scratch you need to cross-compile from another 
+ platform. Scripts are provided for MS Windows and Linux. 
+ 
+ First of all you need to get the source code by:
+ 
+ 1. Downloading the GCC base code (as per GCCMVS).
+ 
+ 2. Downloading the MVS & CMS patch and applying it (as per GCCMVS).
+ 
+ 
+ You then need to set the configuration properly.
+ 
+ There are 4 distinct CMS programming environments possible:
+ 
+ 1. VM/370 where everything is 24-bit. This is the S370
+ environment.
+ 
+ 2. z/VM with native CMS macros where it is possible to write
+ 31-bit executables that reside above the 16 MB line. Since
+ PDPCLIB uses MVS emulation macros which can't handle being
+ run from above the line, this environment isn't yet available.
+ If this changes in the future, this would be the S390
+ environment.
+ 
+ 3. VM/380 where 31-bit executables can be created, but they
+ must reside below the line and they can only obtain a single
+ chunk of ATL memory (current restriction). This is the S380
+ environment.
+ 
+ 4. VM/XA where 31-bit capability exists, but I/O macros
+ necessitate that the executable must reside below the line.
+ z/VM users fall into this category. This is also the S380
+ environment.
+ 
+ 
+ The differences between categories 3 and 4 are as follows:
+ 
+ 1. VM/XA can get control in 31-bit mode, not requiring
+ an AMODE switch.
+ 
+ 2. VM/XA can make multiple ATL memory requests.
+ 
+ 3. VM/XA will remain in 31-bit mode after an SVC 202 call.
+ 
+ 
+ Rather than create another flavor of the code, PDPCLIB
+ was written such that S380 mode:
+ 
+ 1. Detects whether it was called in 31-bit or 24-bit mode
+ and switches to 31-bit mode if not already in that. This
+ code is in cmsstart.asm and could potentially be removed.
+ 
+ 2. Uses an internal heap manager (memmgr) so that only a
+ single request for a chunk of 31-bit memory is made. This
+ is faster than repeatedly calling the operating system
+ anyway, but can be reversed out by not defining USE_MEMMGR
+ in stdcompm.bat and stdcomp.parm.
+ 
+ 3. Switches to 24-bit mode prior to calling SVC 202. This
+ can be reversed out in cmssupa.asm if required for some
+ reason. The technical reason why this is required is
+ because the version of CMS used in VM/380 runs in BC mode
+ so cannot preserve the AMODE flag over an SVC call itself -
+ instead Hercules/380 has been coded to detect a PSW being
+ loaded and if it matches the last known transition, the
+ AMODE is set based on that, which doesn't work with SVC 202
+ because the SVC doesn't return to the same point.
+ 
+ 
+ You need to decide what mode:
+ 
+ 1. You want the GCC executable to be.
+ 
+ 2. You want executables produced by GCC to be.
+ 
+ 
+ The execs are set up by default to produce a S/380 GCC
+ executable using memmgr (which will thus work on both
+ VM/380 and z/VM), and the executables subsequently
+ produced are S/370 (which will thus work anywhere).
+ 
+ If you are using z/VM you have the option of switching
+ off memmgr for the GCC module by getting rid of USE_MEMMGR 
+ in stdcompm.bat and stdcomp.parm. You may wish to do this
+ to create a more flexible module that uses up less storage
+ for small compiles, and for really huge compiles, will
+ not exhaust the fixed limit that memmgr has. Neither
+ thing is likely to be a genuine concern, so the default
+ setup should be fine.
+ 
+ On every version of VM, you have the option of using a
+ S/370 version of GCC, and it will still work for most
+ practical uses. It won't compile very large programs
+ with full optimization though (such as some of the GCC
+ source code itself) since it exceeds the 16 MB limit.
+ However, if you wish to do this, then overwrite pdptop.mac
+ with pdp370.mac and switch off USE_MEMMGR in stdcompm.bat
+ and stdcomp.parm and set ALL370 to 1 in compile.exec.
+ Also you may need to change all occurrences of the
+ maclib DMSGPI to CMSLIB.
+ 
+ On VM/380 and z/VM you have the option of getting GCC
+ to produce S/380 modules. This is done by setting BLD to
+ 380 in compile.exec and defining USE_MEMMGR in stdpdp.parm.
+ On z/VM you can skip this last step, ie don't change
+ stdpdp.parm, and you can produce VM/XA modules without
+ the use of a heap manager (this will produce executables
+ that typically use less memory but have the ability to
+ use larger amounts of memory if required).
+ 
+ 
+ Once you have made the changes you require for your
+ environment, you are ready to build everything. The
+ "allcms.bat" file may be useful to do that in some
+ circumstances. But the documentation below is for
+ the individual steps.
+ 
+ 
+ As mentioned, you need an assembler that can handle more
+ than 256 externals. By default it is assumed that you are
+ using ASMAHL (High Level Assembler) which fits that purpose.
+ If instead you are using ASSEMBLE (Assembler/XF aka IFOX00)
+ you need to modify gccaall.exec to specify that as your
+ assembler name. Also you should modify gcce.exec and
+ gccr.exec
+ 
+ 
+ Now you can build the cross-compiler using "compile.bat"
+ (or "compile" under Unix). This will produce a version of GCC 
+ that can produce 370 assembler on Windows. You need to pass a 
+ parameter to compile.bat of -DTARGET_CMS, ie:
+ 
+ compile -DTARGET_CMS
+ 
+ Now use compmvs.bat (compmvs in Unix) to create a set of 
+ assembler source file containing the CMS version of GCC, ie:
+ 
+ compmvs -DTARGET_CMS
+ 
+ Don't worry about the fact that the executable is called
+ gccmvs.exe and the batch file is also called mvs.  The
+ name is shared, but they are different.
+ 
+ 
+ You now need to bundle up all the source (assembler, C,
+ headers, execs, parms) and transfer it to VM. There are
+ a lot of different ways you can accomplish this and it
+ is beyond the scope of the GCCCMS install to specify how
+ to do this.
+ 
+ However, one example method is explained here.
+ 
+ zipmvs.bat (zipmvs in Unix) will zip up all the important
+ source code. These zip files can then be unzipped into a
+ single directory and then rezipped to produce a convenient
+ single zip file. Should be zipped with no compression
+ though (zip -0).
+ 
+ If you have cygwin (or real Unix) you can run the "cmsutil"
+ batch file to generate a text file which can then be
+ transferred via the card reader (you will need to add a
+ "USERID GCCCMS" or similar (without quotes) to the first
+ line of the file if you are using VM/370 or VM/380. This
+ file can then be assigned to the card reader and then a
+ "readcard * *" can be done, followed by "cmsutil" and you
+ will end up with an mvsunzip module. VM/380 comes with
+ this already done and you can see the technique already
+ done too.
+ 
+ So now that you have the mvsunzip module and the zip
+ file, you can marry them together.
+ 
+ On z/VM you will probably use ind$file to transfer the
+ zip file in binary mode. On VM/370 and VM/380 under
+ Hercules you will probably use a TDF tape file and
+ point to the zip file. Then run:
+ 
+ mvsunzip dd:hrcin a
+ 
+ assuming your tape is on filedef HRCIN and you are
+ extracting to the A disk.
+ 
+ Next let's discuss disks. GCCCMS is designed to be built
+ in a "standard build environment" (used by other programs)
+ which consists of 3 disks.
+ 
+ 1. All the source code and building.
+ 2. The final executables designed to eventually be installed on the Y drive.
+ 3. A work disk.
+ 
+ These are typically A, B and C.
+ 
+ The EXEC "COMPILE" (and its front-end, "ALLCMS"), takes 
+ those 3 letters as parameters. If for some reason you only 
+ have one disk, you can set them all to A, in which case the
+ executables won't be separately copied to B, and there 
+ won't be an assembler verification (which is what the work 
+ disk is used for in the case of GCCCMS's build exec).
+ 
+ To build GCC, the first disk (let's assume A - and because
+ other commands assume A, this is likely to be the only
+ option that works fully) needs to be at least 46 MB in size. 
+ VM/370 allows a disk up to about 52 MB, so it's probably 
+ best to just define the max.
+ 
+ The B disk needs to be about 7 MB in size, mainly for the
+ GCC and GCC370 modules.
+ 
+ The C disk needs to be about 18 MB in size - it contains a
+ copy of the generated assembly code.
+ 
+ 
+ On VM/380 (and some VM/370) you will find disks suitable
+ for compiling GCC that are set up under a GCCCMS userid.
+ The 291, 391 and 491 disks are set to the maximum (52 MB)
+ allowed.
+ 
+ 
+ Also note that for full integrity, you can use bison and
+ sed to generate the generated file. The batch file "fullcms"
+ is used to do this, and is what is used prior to a release.
+ 
+ 
+ 
+ Using the compiler
+ ------------------
+ 
+ The run time has a number of differences to the GCCMVS compiler.
+ 
+ 1) As VM parameter passing is (at least on VM/370) all upper 
+ case, 8-byte tokens a facility exists to read the parameters 
+ from OS DD name SYSPARM. Simply define this file and the
+ command line will be picked up from the first line of that
+ file. Another facility available is to provide a command line
+ at the same time as defining a dummy SYSPARM, and it will go
+ into special processing. This means (unless the first parameter
+ is "_+") lowercasing everything, eliminating the space gaps
+ (spaces require a _ before them to be preserved) except for
+ characters prefixed with a "_" which will be uppercased (or
+ if "_+" was specified at the beginning - lowercased).
+ 
+ 2) If you omit the "DD:" from the front of a filename passed 
+ to the I/O open routines the run-time code will assume it has 
+ been passed a CMS file name. If the name contains a "." it 
+ will be assumed it seperates the filename and filetype. As the
+ code still uses OS emulation SVC202 is used to issue a "filedef" 
+ command to define the file to the code.
+ 
+ To compile, assemble and link a program "TEST C A" use the 
+ following commands:
+ 
+ GCCE TEST C A
+ LOAD TEST (NOAUTO
+ GENMOD TEST
+ TEST
+ 
+ (note that this relies on the GLOBAL TXTLIB having PDPCLIB
+ in it so that it can resolve the externals)
+ 
+ 
+ 
+ Version
+ -------
+ 
+ To find out version, you can go:
+ 
+ GCC --version
+ 
+ 
+ 
+ Support
+ -------
+ 
+ Try asking a generic GCC question here:
+ 
+ http://tech.groups.yahoo.com/group/hercules-os380/
+ 
+ If your question is more VM-related than GCC-related,
+ a broader range of VM expertise is available here:
+ 
+ http://tech.groups.yahoo.com/group/H390-VM/
+ 
+ The main people who contributed to and are familiar with 
+ GCCCMS are Dave Wade, Paul Edwards and Robert O'Hara.
+ 
+ 
+ 
+ z/VM example
+ ------------
+ 
+ Example of using ind$file via c3270.
+ 
+ "cmsutil" is run to create a file like this on the PC
+ (note that there is no userid):
+ 
+ :READ FILE1 EXEC A
+ fdfdfd
+ :READ FILE2 ASSEMBLE A
+ defkkd
+ 
+ convert to binary format, e.g:
+ 
+ loc2ebc cmsutil.txt cmsutil.card 80
+ 
+ log on to z/VM with c3270
+ 
+ Get into c3270 command mode with ctrl-]
+ 
+ transfer file with:
+ 
+ c3270> transfer localfile=cmsutil.card "hostfile=cmsutil card" 
+ direction=send mode=binary exist=replace
+ 
+ (note that text mode didn't seem to work for me)
+ 
+ enter to get back to z/vm
+ 
+ SPOOL PUN *
+ PUNCH CMSUTIL CARD (NOH
+ 
+ readcard * * (nop replace
+ 
+ 
+ Compile the utilities by going:
+ 
+ cmsutil
+ 
+ Then back on the PC use "allcms" to create all.zip,
+ encode it to be printable characters, then convert it
+ to EBCDIC. This is done to avoid problems with the CR
+ being stripped by the file transfer (it seems that c3270
+ reads files in text mode regardless).
+ 
+ Then transfer the encoded binary up
+ 
+ c3270> transfer localfile=xfer.card "hostfile=xfer card b"
+ direction=send mode=binary exist=replace
+ 
+ edit runspool exec to fix drive numbers
+ 
+ access 191 d
+ 
+ Then:
+ 
+ runspool
+ 
+ (although it's better to rename this script so that
+ you don't lose your drive letter changes and end up
+ with a disaster).
Index: gcc/gcc/gcccone.exec
diff -c /dev/null gcc/gcc/gcccone.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gcccone.exec	Wed Apr 15 23:24:17 2009
***************
*** 0 ****
--- 1,31 ----
+ *******************************************************************
+ *
+ * This EXEC compiles a single C file
+ * Usage: GCCCONE <FILE> <DISK>
+ *
+ *******************************************************************
+ &CONTROL
+ 
+ &FILE = &1
+ &DISK = &2
+ 
+ FILEDEF SYSPRINT TERM (LRECL 80
+ FILEDEF SYSPARM DISK STDCOMP PARM &DISK
+ FILEDEF OUT DISK &FILE WORK &DISK (LRECL 2000 RECFM V
+ FILEDEF SYSIN DISK &FILE C &DISK
+ &NAME = &CONCAT  &FILE .C
+ GCC
+ 
+ *
+ * NOW RENAME OUTPUT FILE IF GCC WORKED
+ *
+ &IF &RETCODE NE 0 &EXIT &RETCODE
+ STATE &FILE S &DISK
+ &IF &RETCODE NE 0 &GOTO -COPYFILE
+ ERASE &FILE S &DISK
+ -COPYFILE
+ RENAME &FILE WORK &DISK = S =
+ FILEDEF SYSPRINT CLEAR
+ FILEDEF SYSPARM CLEAR
+ FILEDEF OUT CLEAR
+ FILEDEF SYSIN CLEAR
Index: gcc/gcc/gcce.exec
diff -c /dev/null gcc/gcc/gcce.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gcce.exec	Wed Nov 11 16:49:06 2009
***************
*** 0 ****
--- 1,143 ----
+ ***************************************************************
+ *
+ * Wrapper EXEC to run GCC and then assemble the output
+ *
+ * Format is :-
+ *
+ *  GCCE <fn> <ft> <fm> <( <NOASM> <PARM fn> >
+ *
+ * Where fn, ft and fm specify a file to be compiled
+ *
+ * NOASM overrides the default behaviour and does not call the assembler
+ *
+ * PARM fb  specifies an PARM file containg arguments to be passed to GCC
+ *          By default GCC PARM is used.
+ *
+ *
+ ***************************************************************
+ &CONTROL OFF NOMSG
+ &FT = C
+ &FM = A
+ &ASM = ASM
+ &PARM = GCC
+ &ASMNAME = ASMAHL
+ 
+ GLOBAL MACLIB OSMACRO DMSGPI PDPCLIB
+ 
+ *
+ * CHECK WE HAVE A FILE NAME
+ *
+ &IF &INDEX EQ 0 &GOTO -NOARGS
+ &IF &1 EQ &LITERAL ( &GOTO -NOARGS
+ &FN = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8
+ *
+ * NOW GET A FILE TYPE
+ *
+ &IF &INDEX EQ 0 &GOTO -COMPILE
+ &IF &1 EQ &LITERAL ( &GOTO -PARMS
+ &FT = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ *
+ * NOW CHECK FOR A FILE MODE
+ *
+ &IF &INDEX EQ 0 &GOTO -COMPILE
+ &IF &1 EQ &LITERAL ( &GOTO -PARMS
+ &FM = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ *
+ * NOW LOOP AND EXTRACT THE PARMS
+ *
+ -PARMS
+ &IF &INDEX EQ 0 &GOTO -COMPILE
+ &IF &1 NE &LITERAL ( &GOTO -NOBRACK
+ &ARGS &2 &3 &4 &5 &6 &7
+ &LOOP -NEXTPRM &INDEX
+ &IF &INDEX EQ 0 &GOTO -COMPILE
+ *
+ * FIRST CHECK FOR <PARM FN>
+ *
+ &IF &1 NE PARM &GOTO -NOFILE
+ &IF &INDEX EQ 1 &GOTO -BADPARM
+ &PARM = &2
+ &ARGS &3 &4 &5 &6 &7 &8
+ &GOTO -NEXTPRM
+ -NOFILE
+ *
+ * NOW CHECK FOR NOASM
+ *
+ &IF &1 NE NOASM &GOTO -BADPARM
+ &ASM = NOASM
+ &ARGS &1 &2 &3 &4 &5 &6 &7 &8
+ -NEXTPRM
+ *
+ * NOW SET UP FOR GCC
+ *
+ -COMPILE
+ STATE &FN &FT &FM
+ &IF &RETCODE NE 0 &GOTO -NOSRC
+ *
+ * SOURCE FILE EXISTS - ISSUES FILEDEFS
+ *
+ FILEDEF SYSPRINT TERM (LRECL 80
+ FILEDEF SYSPARM DISK &PARM PARM *
+ FILEDEF OUT DISK &FN WORK &FM (LRECL 80 RECFM F
+ FILEDEF SYSIN DISK &FN C &FM
+ &NAME = &CONCAT  &FN .C
+ GCC
+ *
+ * NOW RENAME OUTPUT FILE IF GCC WORKED
+ *
+ &MYRC = &RETCODE
+ FILEDEF SYSPRINT CLEAR
+ FILEDEF SYSPARM CLEAR
+ FILEDEF OUT CLEAR
+ FILEDEF SYSIN CLEAR
+ &IF &MYRC GT 4 &EXIT &MYRC
+ STATE &FN ASSEMBLE &FM
+ &IF &RETCODE NE 0 &GOTO -COPYFILE
+ ERASE &FN ASSEMBLE &FM
+ -COPYFILE
+ RENAME &FN WORK &FM = ASSEMBLE =
+ &IF &ASM EQ NOASM &EXIT
+ &CONTROL
+ &ASMNAME &FN
+ &CONTROL OFF NOMSG
+ ERASE &FN ASSEMBLE &FM
+ ERASE &FN LISTING &FM
+ &EXIT
+ *
+ * ERROR MESSAGES GO HERE
+ *
+ -NOARGS
+ *
+ * NO PARAMS - TYPE SOME BASIC INFO
+ *
+ &BEGTYPE
+ ********************************************************
+ *
+ * EXEC to run GCC and then assemble the output
+ *
+ * Format is :-
+ *
+ *  GCCE <fn> <ft> <fm> <( <NOASM> <PARM fn> >
+ *
+ * Where fn, ft and fm specify a file to be compiler
+ *
+ * NOASM overrides the default behaviour and does not call the assembler
+ *
+ * PARM fb  specifies an alternative PARM file containg arguments to pass to GCC
+ *          by default GCC PARM is used.
+ *
+ ***************************************************************
+ &ENDTYPE
+ &EXIT 4
+ -NOBRACK
+ &TYPE ARGS MUST START WITH A &LITERAL (
+ &EXIT 4
+ -BADPARM
+ &TYPE PARM OPTION MUST HAVE A FILENAME
+ &EXIT 4
+ -NOSRC
+ &TYPE SOURCE FILE  ' &FN &FT &FM ' NOT FOUND
+ &EXIT 4
Index: gcc/gcc/gcclink.exec
diff -c /dev/null gcc/gcc/gcclink.exec:1.4
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gcclink.exec	Fri Nov 20 08:42:29 2009
***************
*** 0 ****
--- 1,291 ----
+ ****************************************************************
+ *
+ * This exec links all object together to create GCC MODULE.
+ * It also produces a GCC MAP for debugging purposes
+ * Usage: GCCLINK <DISK> <EXE> <MODULE_NAME>
+ *
+ *******************************************************************
+ 
+ &DISK = A
+ &MODULE = GCC
+ 
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &DISK = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &MODULE = &1
+ 
+ -FINARGS
+ 
+ 
+ &CONTROL CMS MSG
+ &BEGTYPE
+ 
+ LOADING GCC MAIN MODULE...
+ 
+ &ENDTYPE
+ &STACK HT
+ LOAD    CMSSTART (NOLIBE NOAUTO
+ INCLUDE START (NOLIBE NOAUTO
+ INCLUDE CMSSUPA (NOLIBE NOAUTO
+ INCLUDE STDIO (NOLIBE NOAUTO
+ INCLUDE STDLIB (NOLIBE NOAUTO
+ INCLUDE CTYPE (NOLIBE NOAUTO
+ INCLUDE STRING (NOLIBE NOAUTO
+ INCLUDE TIME (NOLIBE NOAUTO
+ INCLUDE ERRNO (NOLIBE NOAUTO
+ INCLUDE ASSERT (NOLIBE NOAUTO
+ INCLUDE LOCALE (NOLIBE NOAUTO
+ INCLUDE MATH (NOLIBE NOAUTO
+ INCLUDE SETJMP (NOLIBE NOAUTO
+ INCLUDE SIGNAL (NOLIBE NOAUTO
+ INCLUDE ALIAS (NOLIBE NOAUTO
+ INCLUDE ALLOC-PO (NOLIBE NOAUTO
+ INCLUDE ATTRIBS (NOLIBE NOAUTO
+ INCLUDE BB-REORD (NOLIBE NOAUTO
+ INCLUDE BITMAP (NOLIBE NOAUTO
+ INCLUDE BT-LOAD (NOLIBE NOAUTO
+ INCLUDE BUILTINS (NOLIBE NOAUTO
+ INCLUDE C-AUX-IN (NOLIBE NOAUTO
+ INCLUDE C-COMMON (NOLIBE NOAUTO
+ INCLUDE C-CONVER (NOLIBE NOAUTO
+ INCLUDE C-CPPBUI (NOLIBE NOAUTO
+ INCLUDE C-DECL (NOLIBE NOAUTO
+ INCLUDE C-DUMP (NOLIBE NOAUTO
+ INCLUDE C-ERRORS (NOLIBE NOAUTO
+ INCLUDE C-FORMAT (NOLIBE NOAUTO
+ INCLUDE C-INCPAT (NOLIBE NOAUTO
+ INCLUDE C-LANG (NOLIBE NOAUTO
+ INCLUDE C-LEX (NOLIBE NOAUTO
+ INCLUDE C-OBJC-C (NOLIBE NOAUTO
+ INCLUDE C-OPTS (NOLIBE NOAUTO
+ INCLUDE C-PARSE (NOLIBE NOAUTO
+ INCLUDE C-PCH (NOLIBE NOAUTO
+ INCLUDE C-PPOUTP (NOLIBE NOAUTO
+ INCLUDE C-PRAGMA (NOLIBE NOAUTO
+ INCLUDE C-PRETTY (NOLIBE NOAUTO
+ INCLUDE C-SEMANT (NOLIBE NOAUTO
+ INCLUDE C-TYPECK (NOLIBE NOAUTO
+ INCLUDE CALLER-S (NOLIBE NOAUTO
+ INCLUDE CALLS (NOLIBE NOAUTO
+ INCLUDE CFG (NOLIBE NOAUTO
+ INCLUDE CFGANAL (NOLIBE NOAUTO
+ INCLUDE CFGBUILD (NOLIBE NOAUTO
+ INCLUDE CFGCLEAN (NOLIBE NOAUTO
+ INCLUDE CFGHOOKS (NOLIBE NOAUTO
+ INCLUDE CFGLAYOU (NOLIBE NOAUTO
+ INCLUDE CFGLOOP (NOLIBE NOAUTO
+ INCLUDE CFGLOOPA (NOLIBE NOAUTO
+ INCLUDE CFGLOOPM (NOLIBE NOAUTO
+ INCLUDE CFGRTL (NOLIBE NOAUTO
+ INCLUDE CGRAPH (NOLIBE NOAUTO
+ INCLUDE CGRAPHUN (NOLIBE NOAUTO
+ INCLUDE COMBINE (NOLIBE NOAUTO
+ INCLUDE CONFLICT (NOLIBE NOAUTO
+ INCLUDE CONVERT (NOLIBE NOAUTO
+ INCLUDE COVERAGE (NOLIBE NOAUTO
+ INCLUDE CPPCHARS (NOLIBE NOAUTO
+ INCLUDE CPPDEFAU (NOLIBE NOAUTO
+ INCLUDE CPPERROR (NOLIBE NOAUTO
+ INCLUDE CPPEXP (NOLIBE NOAUTO
+ INCLUDE CPPFILES (NOLIBE NOAUTO
+ INCLUDE CPPHASH (NOLIBE NOAUTO
+ INCLUDE CPPINIT (NOLIBE NOAUTO
+ INCLUDE CPPLEX (NOLIBE NOAUTO
+ INCLUDE CPPLIB (NOLIBE NOAUTO
+ INCLUDE CPPMACRO (NOLIBE NOAUTO
+ INCLUDE CPPPCH (NOLIBE NOAUTO
+ INCLUDE CPPTRAD (NOLIBE NOAUTO
+ INCLUDE CSE (NOLIBE NOAUTO
+ INCLUDE CSELIB (NOLIBE NOAUTO
+ INCLUDE DBXOUT (NOLIBE NOAUTO
+ INCLUDE DEBUG (NOLIBE NOAUTO
+ INCLUDE DF (NOLIBE NOAUTO
+ INCLUDE DIAGNOST (NOLIBE NOAUTO
+ INCLUDE DOJUMP (NOLIBE NOAUTO
+ INCLUDE DOMINANC (NOLIBE NOAUTO
+ INCLUDE DWARF2AS (NOLIBE NOAUTO
+ INCLUDE DWARF2OU (NOLIBE NOAUTO
+ INCLUDE EMIT-RTL (NOLIBE NOAUTO
+ INCLUDE ET-FORES (NOLIBE NOAUTO
+ INCLUDE EXCEPT (NOLIBE NOAUTO
+ INCLUDE EXPLOW (NOLIBE NOAUTO
+ INCLUDE EXPMED (NOLIBE NOAUTO
+ INCLUDE EXPR (NOLIBE NOAUTO
+ INCLUDE FINAL (NOLIBE NOAUTO
+ INCLUDE FLOW (NOLIBE NOAUTO
+ INCLUDE FOLD-CON (NOLIBE NOAUTO
+ INCLUDE FUNCTION (NOLIBE NOAUTO
+ INCLUDE GCSE (NOLIBE NOAUTO
+ INCLUDE GENRTL (NOLIBE NOAUTO
+ INCLUDE GGC-COMM (NOLIBE NOAUTO
+ INCLUDE GGC-PAGE (NOLIBE NOAUTO
+ INCLUDE GLOBAL (NOLIBE NOAUTO
+ INCLUDE GRAPH (NOLIBE NOAUTO
+ INCLUDE GTYPE-DE (NOLIBE NOAUTO
+ INCLUDE HAIFA-SC (NOLIBE NOAUTO
+ INCLUDE HASHTABL (NOLIBE NOAUTO
+ INCLUDE HOOKS (NOLIBE NOAUTO
+ INCLUDE HOST-DEF (NOLIBE NOAUTO
+ INCLUDE IFCVT (NOLIBE NOAUTO
+ INCLUDE INSN-ATT (NOLIBE NOAUTO
+ INCLUDE INSN-EMI (NOLIBE NOAUTO
+ INCLUDE INSN-EXT (NOLIBE NOAUTO
+ INCLUDE INSN-MOD (NOLIBE NOAUTO
+ INCLUDE INSN-OPI (NOLIBE NOAUTO
+ INCLUDE INSN-OUT (NOLIBE NOAUTO
+ INCLUDE INSN-REC (NOLIBE NOAUTO
+ INCLUDE INTEGRAT (NOLIBE NOAUTO
+ INCLUDE JUMP (NOLIBE NOAUTO
+ INCLUDE LANGHOOK (NOLIBE NOAUTO
+ INCLUDE LCM (NOLIBE NOAUTO
+ INCLUDE LINE-MAP (NOLIBE NOAUTO
+ INCLUDE LISTS (NOLIBE NOAUTO
+ INCLUDE LOCAL-AL (NOLIBE NOAUTO
+ INCLUDE LOOP-INI (NOLIBE NOAUTO
+ INCLUDE LOOP-UNR (NOLIBE NOAUTO
+ INCLUDE LOOP-UNS (NOLIBE NOAUTO
+ INCLUDE LOOP (NOLIBE NOAUTO
+ INCLUDE MKDEPS (NOLIBE NOAUTO
+ INCLUDE OPTABS (NOLIBE NOAUTO
+ INCLUDE OPTIONS (NOLIBE NOAUTO
+ INCLUDE OPTS (NOLIBE NOAUTO
+ INCLUDE PARAMS (NOLIBE NOAUTO
+ INCLUDE POSTRELO (NOLIBE NOAUTO
+ INCLUDE PREDICT (NOLIBE NOAUTO
+ INCLUDE PREFIX (NOLIBE NOAUTO
+ INCLUDE PRETTY-P (NOLIBE NOAUTO
+ INCLUDE PRINT-RT (NOLIBE NOAUTO
+ INCLUDE PRINT-TR (NOLIBE NOAUTO
+ INCLUDE PROFILE (NOLIBE NOAUTO
+ INCLUDE RA-BUILD (NOLIBE NOAUTO
+ INCLUDE RA-COLOR (NOLIBE NOAUTO
+ INCLUDE RA-DEBUG (NOLIBE NOAUTO
+ INCLUDE RA-REWRI (NOLIBE NOAUTO
+ INCLUDE RA (NOLIBE NOAUTO
+ INCLUDE REAL (NOLIBE NOAUTO
+ INCLUDE RECOG (NOLIBE NOAUTO
+ INCLUDE REG-STAC (NOLIBE NOAUTO
+ INCLUDE REGCLASS (NOLIBE NOAUTO
+ INCLUDE REGMOVE (NOLIBE NOAUTO
+ INCLUDE REGRENAM (NOLIBE NOAUTO
+ INCLUDE RELOAD (NOLIBE NOAUTO
+ INCLUDE RELOAD1 (NOLIBE NOAUTO
+ INCLUDE RESOURCE (NOLIBE NOAUTO
+ INCLUDE RTL-ERRO (NOLIBE NOAUTO
+ INCLUDE RTL (NOLIBE NOAUTO
+ INCLUDE RTLANAL (NOLIBE NOAUTO
+ INCLUDE SBITMAP (NOLIBE NOAUTO
+ INCLUDE SDBOUT (NOLIBE NOAUTO
+ INCLUDE SIBCALL (NOLIBE NOAUTO
+ INCLUDE SIMPLIFY (NOLIBE NOAUTO
+ INCLUDE SREAL (NOLIBE NOAUTO
+ INCLUDE STMT (NOLIBE NOAUTO
+ INCLUDE STOR-LAY (NOLIBE NOAUTO
+ INCLUDE STRINGPO (NOLIBE NOAUTO
+ INCLUDE STUB-OBJ (NOLIBE NOAUTO
+ INCLUDE TARGHOOK (NOLIBE NOAUTO
+ INCLUDE TIMEVAR (NOLIBE NOAUTO
+ INCLUDE TOPLEV (NOLIBE NOAUTO
+ INCLUDE TRACER (NOLIBE NOAUTO
+ INCLUDE TREE-DUM (NOLIBE NOAUTO
+ INCLUDE TREE-INL (NOLIBE NOAUTO
+ INCLUDE TREE-OPT (NOLIBE NOAUTO
+ INCLUDE TREE (NOLIBE NOAUTO
+ INCLUDE UNROLL (NOLIBE NOAUTO
+ INCLUDE VALUE-PR (NOLIBE NOAUTO
+ INCLUDE VARASM (NOLIBE NOAUTO
+ INCLUDE VARRAY (NOLIBE NOAUTO
+ INCLUDE VERSION (NOLIBE NOAUTO
+ INCLUDE WEB (NOLIBE NOAUTO
+ INCLUDE GCC (NOLIBE NOAUTO
+ INCLUDE GCCSPEC (NOLIBE NOAUTO
+ INCLUDE CPPSPEC (NOLIBE NOAUTO
+ INCLUDE ALLOCA (NOLIBE NOAUTO
+ INCLUDE ARGV (NOLIBE NOAUTO
+ INCLUDE ASPRINTF (NOLIBE NOAUTO
+ INCLUDE BASENAME (NOLIBE NOAUTO
+ INCLUDE BCMP (NOLIBE NOAUTO
+ INCLUDE BCOPY (NOLIBE NOAUTO
+ INCLUDE BZERO (NOLIBE NOAUTO
+ INCLUDE CONCAT (NOLIBE NOAUTO
+ INCLUDE CP-DEMAN (NOLIBE NOAUTO
+ INCLUDE CP-DEMIN (NOLIBE NOAUTO
+ INCLUDE CPLUS-DE (NOLIBE NOAUTO
+ INCLUDE DYN-STRI (NOLIBE NOAUTO
+ INCLUDE FDMATCH (NOLIBE NOAUTO
+ INCLUDE FFS (NOLIBE NOAUTO
+ INCLUDE FIBHEAP (NOLIBE NOAUTO
+ INCLUDE FLOATFOR (NOLIBE NOAUTO
+ INCLUDE FNMATCH (NOLIBE NOAUTO
+ INCLUDE GETCWD (NOLIBE NOAUTO
+ INCLUDE GETOPT (NOLIBE NOAUTO
+ INCLUDE GETOPT1 (NOLIBE NOAUTO
+ INCLUDE GETPAGES (NOLIBE NOAUTO
+ INCLUDE GETPWD (NOLIBE NOAUTO
+ INCLUDE GETRUNTI (NOLIBE NOAUTO
+ INCLUDE HASHTAB (NOLIBE NOAUTO
+ INCLUDE HEX (NOLIBE NOAUTO
+ INCLUDE INDEX (NOLIBE NOAUTO
+ INCLUDE INSQUE (NOLIBE NOAUTO
+ INCLUDE LBASENAM (NOLIBE NOAUTO
+ INCLUDE LREALPAT (NOLIBE NOAUTO
+ INCLUDE MAKE-REL (NOLIBE NOAUTO
+ INCLUDE MAKE-TEM (NOLIBE NOAUTO
+ INCLUDE MD5 (NOLIBE NOAUTO
+ INCLUDE MEMPCPY (NOLIBE NOAUTO
+ INCLUDE MKSTEMPS (NOLIBE NOAUTO
+ INCLUDE OBJALLOC (NOLIBE NOAUTO
+ INCLUDE OBSTACK (NOLIBE NOAUTO
+ INCLUDE PARTITIO (NOLIBE NOAUTO
+ INCLUDE PHYSMEM (NOLIBE NOAUTO
+ INCLUDE PUTENV (NOLIBE NOAUTO
+ INCLUDE RANDOM (NOLIBE NOAUTO
+ INCLUDE RINDEX (NOLIBE NOAUTO
+ INCLUDE SAFE-CTY (NOLIBE NOAUTO
+ INCLUDE SETENV (NOLIBE NOAUTO
+ INCLUDE SNPRINTF (NOLIBE NOAUTO
+ INCLUDE SORT (NOLIBE NOAUTO
+ INCLUDE SPACES (NOLIBE NOAUTO
+ INCLUDE SPLAY-TR (NOLIBE NOAUTO
+ INCLUDE STPCPY (NOLIBE NOAUTO
+ INCLUDE STPNCPY (NOLIBE NOAUTO
+ INCLUDE STRCASEC (NOLIBE NOAUTO
+ INCLUDE STRDUP (NOLIBE NOAUTO
+ INCLUDE STRNCASE (NOLIBE NOAUTO
+ INCLUDE STRSIGNA (NOLIBE NOAUTO
+ INCLUDE TERNARY (NOLIBE NOAUTO
+ INCLUDE VASPRINT (NOLIBE NOAUTO
+ INCLUDE VPRINTF (NOLIBE NOAUTO
+ INCLUDE VSNPRINT (NOLIBE NOAUTO
+ INCLUDE WAITPID (NOLIBE NOAUTO
+ INCLUDE XATEXIT (NOLIBE NOAUTO
+ INCLUDE XEXIT (NOLIBE NOAUTO
+ INCLUDE XMALLOC (NOLIBE NOAUTO
+ INCLUDE XMEMDUP (NOLIBE NOAUTO
+ INCLUDE XSTRDUP (NOLIBE NOAUTO
+ INCLUDE XSTRERRO (NOLIBE NOAUTO
+ INCLUDE UNIXIO (NOLIBE NOAUTO
+ INCLUDE I370 (NOLIBE NOAUTO
+ INCLUDE I370-C (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE __MEMMGR (NOLIBE NOAUTO
+ &IF &RETCODE NE 0 &GOTO -MISSING
+ GENMOD &MODULE MODULE &EXE (NOMAP
+ *COPY LOAD MAP &DISK GCC MAP &DISK (REPLACE
+ ERASE LOAD MAP &DISK
+ &EXIT
+ -MISSING
+ &BEGTYPE
+ *
+ * GCC MODULE note generated
+ * Problem with load - check all TEXT decks are present
+ *
+ &ENDTYPE
+ &EXIT 4
Index: gcc/gcc/gccmus.txt
diff -c /dev/null gcc/gcc/gccmus.txt:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gccmus.txt	Thu May 12 16:38:23 2011
***************
*** 0 ****
--- 1,123 ----
+ Release Notes for GCCMUS
+ ------------------------
+ 
+ This document explains what needs to be done to get GCCMVS from:
+ 
+ http://gccmvs.sourceforge.net
+ 
+ to run on MUSIC/SP demo.
+ 
+ The notes for the MVS version of the compiler (gccmvs.txt)
+ should be read in conjunction with this document. In particlar
+ the section on conversion from ASCII to EBCDIC is relevant to
+ MUSIC/SP.
+ 
+ 
+ 
+ Miscellaneous notes about MUSIC/SP
+ ----------------------------------
+ 
+ The original MUSIC/SP port was done by Dave Edwards, but
+ he unfortunately died, so Paul Edwards (no relation)
+ picked it up some time later, with assistance mainly
+ from Fausto Saporito.
+ 
+ Dave's documentation for the newly-available ATL memory
+ was scant, and currently the ATL address is simply
+ hardcoded as 0x2000000 (32 MB), since it appears that
+ it is not available via a GETMAIN etc call.
+ 
+ Running under Hercules is much faster than running under
+ SIM390. Also Hercules provides tape facilities which are
+ not available on SIM390, and the build procedure is based
+ around this. Testing is normally done under Hercules/380
+ which has tape enhancements.
+ 
+ The build procedure is basically reliant on the existence
+ of a MUSIC/390, which is an enhancement to MUSIC/SP Demo,
+ containing e.g. additional macro options.
+ 
+ MUSIC/390 as its name implies runs on a standard S/390
+ machine. However, the code model is S/380 (RMODE 24,
+ AMODE 31).
+ 
+ MUSIC/SP by default pages intensely. This in turn appears
+ to invoke a presumed bug in Hercules. Changing MAXRRS
+ from 2000 to 4000 ends the paging, allowing GCC to rebuild
+ itself on MUSIC/390.
+ 
+ The port is effectively complete, just waiting for someone
+ to finalize scripts etc to do normal compilation, and
+ putting things into a library to link with, and testing
+ the mfarc (and formally producing MUSIC/390). The 
+ technology itself is proven.
+ 
+ The GCCMUS compiler simply reuses the MVS version, so there
+ is currently no special __MUSIC__ define to use.  You can
+ define one yourself as a parameter, or define a MUSIC, as
+ you wish. The long-term intention is to have a __MUSIC__.
+ 
+ 
+ 
+ Building
+ --------
+ 
+ To install from scratch you need to cross-compile from another 
+ platform. Scripts are provided for MS Windows.
+ 
+ First of all you need to get the source code by:
+ 
+ 1. Downloading the GCC base code (as per GCCMVS).
+ 
+ 2. Downloading the GCCMVS patch and applying it (as per GCCMVS).
+ 
+ 
+ You then need to set the configuration properly.
+ 
+ There are 2 distinct MUSIC/SP programming environments possible:
+ 
+ 1. Normal 24-bit. This is the S370 environment.
+ 
+ 2. RMODE 24, AMODE 31 with a chunk of ATL memory available for
+ you to manage yourself. This is the S380 environment using
+ MEMMGR.
+ 
+ 
+ You can build the cross-compiler and then produce the
+ assembler code and then have that transferred via tape
+ to MUSIC/390 by running the "allmus.bat" file (after
+ inspecting it for any required modifications).
+ 
+ Don't worry about the fact that the executable is called
+ gccmvs.exe and the batch file is also called mvs.  The
+ name is shared, but they are different.
+ 
+ 
+ 
+ Version
+ -------
+ 
+ To find out version, you can go:
+ 
+ /parm --version
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ 
+ 
+ 
+ Support
+ -------
+ 
+ Try asking a generic GCC question here:
+ 
+ http://tech.groups.yahoo.com/group/hercules-os380/
+ 
+ If your question is more MUSIC-related than GCC-related,
+ a broader range of MUSIC/SP expertise is available here:
+ 
+ http://tech.groups.yahoo.com/group/H390-music/
+ 
+ and sometimes
+ 
+ http://tech.groups.yahoo.com/group/musicspdemo/
+ 
Index: gcc/gcc/gccmvs.txt
diff -c /dev/null gcc/gcc/gccmvs.txt:1.6
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gccmvs.txt	Mon Jun 13 17:09:50 2011
***************
*** 0 ****
--- 1,1024 ----
+ GCC and PDPCLIB for z/OS and MVS/380
+ ------------------------------------
+ 
+ This is a port of GCC version 3.4.6 to MVS (all versions
+ of MVS, from z/OS down to 3.8j plus MVS/380). GCC 3.4.6
+ doesn't ship with a C runtime library suitable for use
+ on an MVS environment, so for that, PDPCLIB is included,
+ to provide a complete solution to all your programming
+ needs. So long as you only need an ISO C90 (ANSI C89)
+ compiler, anyway!
+ 
+ Although GCC originated on an ASCII Unix environment,
+ this MVS version of GCC is mostly unrelated to that
+ environment. It is an MVS EBCDIC compiler. Mostly
+ built on MVS, using only tools that are also available
+ on MVS. It does not need or use a USS environment.
+ 
+ The same can be said of the C runtime library. Although
+ there is an ASCII Windows version of PDPCLIB available
+ too, the MVS version was written for MVS, not Windows.
+ 
+ So too is the case with 24-bit support. Although MVS
+ 3.8j (24-bit) is a supported environment, every fullword
+ of the 31-bit version is purely 31-bit.
+ 
+ Nor does the fact that GCC is copyrighted with a variety
+ of licencing conditions (see the COPYING file in the
+ GCC base source code) impact on your commercial use of
+ load modules you compile with GCC. Every byte of
+ PDPCLIB is public domain (no code is accepted otherwise).
+ Thus every byte of your executable is either your own
+ work, thus copyrighted by you and you alone, or it was
+ from PDPCLIB, and thus can be used as freely as you
+ can use Shakespeare's "Hamlet". There is absolutely no
+ licencing restriction. No creditting. Nothing. No
+ restriction on modification. No requirements on you to
+ do anything if you modify it. No restriction on selling
+ it, with or without modification. And no need to ask
+ permission - it is already granted.
+ 
+ In principle, GCC will work with C runtime libraries
+ other than PDPCLIB (e.g. Dignus is a defined GCC target,
+ and was the base for the PDPCLIB target, since GCC 3.2.3
+ was generating nice, flexible code for that target).
+ Also in principle, PDPCLIB will work with compilers other 
+ than GCC, and indeed, the first time PDPCLIB worked on
+ MVS, it was after having been compiled by C/370. In practice,
+ GCC's MVS target and PDPCLIB have matured, and continue
+ to mature, hand in hand.  This combined product is
+ known as "GCCMVS" in the MVS environment, "GCCCMS"
+ in the CMS environment, "GCCVSE" in the VSE environment
+ and "GCCMUS" in the MUSIC/SP environment.
+ 
+ 
+ 
+ QUICK START
+ -----------
+ 
+ Run GCC.JCL(EXAMPLE) to make sure it works.
+ 
+ If you are on a z/OS system and wish to produce 31-bit
+ modules instead of 24-bit, replace PDPCLIB.MACLIB(PDPTOP)
+ with PDPCLIB.MACLIB(PDP390), delete and reallocate
+ PDPCLIB.NCALIB, then run GCC.JCL(STAGE4).
+ Then run GCC.JCL(EXAMPLE) to ensure it still works and
+ that the link step is producing an AMODE 31, RMODE ANY
+ module.
+ 
+ 
+ 
+ OBTAINING
+ ---------
+ 
+ The normal way for a z/OS user (systems or application
+ programmer) to obtain GCCMVS is via an XMIT tape downloaded
+ from the sourceforge website:
+ 
+ http://gccmvs.sourceforge.net
+ 
+ The normal way for an MVS/380 user to obtain GCCMVS is to 
+ simply wait for a new version of either to be released, 
+ which normally comes with the version of the compiler that
+ was latest at the time of release.
+ 
+ However, the XMIT can also be used on MVS/380 (and indeed,
+ MVS 3.8j).
+ 
+ But probably the most convenient way of obtaining it is
+ from the "SEASIK" DFDSS dump, which contains a number of
+ freeware products.
+ 
+ If you prefer, the compiler can also be produced by
+ building it from scratch from source code. When it is done
+ this way, it is done on the assumption that the MVS
+ system does not already have a C compiler or tools
+ available, and will thus do a cross-compile (on an ASCII
+ machine). This is a very involved process, although it is
+ usually done in an automated manner.
+ 
+ 
+ 
+ DATASETS
+ --------
+ 
+ The following datasets are included in the XMIT:
+ 
+ required:
+ GCC.LINKLIB - the compiler
+ PDPCLIB.NCALIB - the C runtime library binaries
+ PDPCLIB.INCLUDE - the C header files
+ PDPCLIB.MACLIB - assembler support files
+ 
+ optional:
+ GCC.PROCLIB - compile procedure
+ GCC.JCL - compile JCL
+ PDPCLIB.LINKLIB - some useful utilities
+ GCC.DOC - documentation for the C compiler
+ PDPCLIB.DOC - documentation for the C runtime library
+ GCC.SOURCE - complete source code for C compiler
+ GCC.INCLUDE - header files for C compiler
+ PDPCLIB.SOURCE - complete source code for the C runtime library
+ GCC.S2 - assembler code (stage 2 output) used to build GCC load module
+ 
+ 
+ 
+ BUILDING FROM SOURCE
+ --------------------
+ 
+ There are at least 5 different things you could do that 
+ could be described as "building from source code", and
+ it depends on what you are trying to achieve that would
+ determine which, if any, of these you would choose:
+ 
+ 1. Using assembler, simply set PDPTOP in PDPCLIB.MACLIB
+ to be the version you want (S/390, S/380 or S/370) then
+ reassemble the code in GCC.S2 using the STAGE1A and 
+ STAGE1B JCL to produce the GCC load module. In STAGE1B, 
+ you should rename "MODULE" from "STAGE1" to "GCC". After
+ doing that, you have another opportunity to change
+ PDPTOP, for what you want your own executables to come
+ out as. Then on z/OS submit STAGE4 to compile the C runtime 
+ library.  MVS 3.8j and MVS/380 users should use STAGE4Z 
+ instead.
+ 
+ 2. Compile the C code in GCC.SOURCE by running through
+ the STAGE2 and STAGE3 jobs, using the provided GCC
+ executable. Then run STAGE4.
+ 
+ 3. Same as 2, except use BISON and SED to generate some
+ of the C code which is actually generated code.
+ 
+ 4. Take the ASCII patch file, and the ASCII base gcc 3.2.3,
+ build a cross compiler, generate the assembler, put that
+ on MVS, then run stages 1 to 3 to build the executable
+ with verification. This is what is described at length
+ below. This is a non-trivial task.
+ 
+ 5. Do number 4, then with the newly-built compiler, go
+ and build BISON and SED, then compile the compiler again,
+ this time using the tools, and then verify that all
+ generated code is as expected. This is what the MVS/380
+ build does.
+ 
+ 
+ 
+ THREE STAGES
+ ------------
+ 
+ Compilers are normally built in 3 stages.
+ 
+ STAGE 1 - using a compiler from another vendor, or from
+ an earlier version of your own compiler, or using a
+ cross-compiler, compile your new compiler.
+ 
+ STAGE 2 - using your just-built new compiler, recompile
+ your compiler again, to produce a new module. This new
+ module will most likely be significantly different from
+ the previous one, because it used your own compiler,
+ rather than another vendor's, so will have generated
+ different code, even though both sets of code work fine.
+ 
+ STAGE 3 - using your NEW just-built module, once again
+ recompile everything to produce a new module. This new
+ module should be identical to the one you used (although
+ there may be timestamp differences, depending on your
+ build environment). If it isn't, it means that there's 
+ a bug in your compiler that is affecting the compiler itself.
+ 
+ 
+ 
+ OBTAINING BASE SOURCE
+ ---------------------
+ 
+ GCCMVS is simply a patch of around 300k (zipped) on 
+ top of standard GCC 3.4.6. Standard GCC 3.4.6 can be 
+ obtained from:
+ ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-3.4.6.tar.bz2
+ File is dated 2006-03-10 00:00 and is 
+ 28,193,401 bytes in size.
+ 
+ However, you would probably be better off with the smaller:
+ ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-core-3.4.6.tar.bz2
+ File is dated 2006-03-10 00:00 and is 
+ 13,366,790 bytes in size.
+ 
+ The official place to obtain the GCCMVS patch from is:
+ http://gccmvs.sourceforge.net
+ 
+ GCCCMS (GCC for CMS) is part of the same product,
+ and you can read gcccms.txt for further information.
+ 
+ GCCVSE (GCC for VSE) is also part of the same product
+ and has a gccvse.txt.
+ 
+ GCCMUS (GCC for MUSIC/SP) is also included and has a gccmus.txt.
+ Note that the initial work on that was done by Dave Edwards (RIP)
+ who made it available here:
+ http://webpages.mcgill.ca/staff/group3/dedwar1/web/gccmu10.zip
+ 
+ GCC can also be targetted to PDOS, although that is still experimental.
+ 
+ Note that at the moment there is a separate, but
+ similar, product - GCC for USS on OS/390, z/OS,
+ maintained by David Pitts, which is available from here:
+ http://www.cozx.com/~dpitts/gcc.html
+ A lot of code is shared between the two projects, but
+ not all. The code may coalesce in the future.
+ 
+ 
+ You will also need to obtain PDPCLIB.  The official
+ place to get PDPCLIB from is:
+ http://pdos.sourceforge.net
+ 
+ 
+ 
+ PREPARING INITIAL SOURCE
+ ------------------------
+ 
+ If you obtain GCCMVS in source code form, then
+ you need the following tools:
+ 
+ 1. The "patch" utility (Unix standard).
+ 
+ 2. a C compiler (by default, gcc for windows with
+ pdpclib for windows is used (which also requires a
+ "make" which supports spaces, such as the one from
+ Borland C++, or else you need to change all spaces to 
+ tabs in the makefile), but you can use C compilers 
+ other than gcc, and you can use standard gcc without
+ pdpclib for windows too).
+ 
+ 3. Miscellaneous decompression tools such as bzip2
+ and tar (normally you get these by installing Cygwin).
+ 
+ So do the following (note that all these commands
+ and the rest of the process is contained in cygwin.bat
+ as an EXAMPLE of what you MIGHT want to do if you had
+ a standard cygwin install and wanted to be up and
+ running as quickly as possible, and allmvs.bat MIGHT,
+ after modification, be used for someone doing a gcc/pdpclib 
+ win32 build (this is the combination that is exercised
+ in development) - and you can see this being done in the
+ build scripts for MVS/380):
+ 
+ bzip2 -d gcc-3.4.6.tar.bz2
+ tar xvf gcc-3.4.6.tar
+ ren gcc-3.4.6 gcc
+ cd gcc
+ patch -p 1 -f <patch.txt (whatever the patch file is called)
+ 
+ Note that this file that you are reading right now is
+ called gccmvs.txt and after you've applied the patch,
+ you can switch to reading the gccmvs.txt that just got
+ produced. Just in case the one you are reading now is
+ out of date.
+ 
+ For your information, some of the files in
+ the gccmvs patch were originally obtained by doing:
+ ./configure --target=i370-ibm-mvspdp --enable-languages=c
+ but you should NOT do that, otherwise you will
+ overwrite various working source files with possibly
+ non-working ones. Actually there is a script called
+ "masterbuild" in the i370 directory which was run on a Unix
+ system that generated a lot of the MVS et al compilation
+ scripts and an include file. The way it works is to first
+ call configure to build a cross-compiler (for Unix or
+ whatever). Once that is built, configure is called again,
+ this time to (attempt to) use the cross-compiler to build an
+ MVS (instead of Unix) version of the C compiler. But since
+ we're missing things like a cross-assembler and cross-linker,
+ what we instead do is use "dummy" scripts to just go through
+ the motions and we record a list of files it attempted to
+ compile along the way. With the file list we then generate
+ the unique MVS-specific way of building things and we also
+ run another utility to go over the assembler files to find
+ duplicate (or rather, long) externals. Configure is designed
+ to look for linker errors to see if a particular function is
+ available or not, but what the dummy script does instead is
+ to force an error for a missing prototype, relying on the
+ header files to define all available functions.
+ 
+ 
+ You will also need to extract PDPCLIB. You should
+ create a dummy "pdos" directory, and create a "pdpclib"
+ directory under that (which is where all the PDPCLIB
+ files should go), and then place "pdos" and "gcc" at the
+ same level, so you end up with a structure like this:
+ 
+ gcc/include
+ gcc/gcc
+ gcc/libiberty
+ pdos/pdpclib
+ 
+ It needs to be like this because the compile scripts
+ assume these relative paths and names.
+ 
+ 
+ 
+ COMPILING CROSS-COMPILER
+ ------------------------
+ 
+ Then, assuming you are doing this from a DOS
+ prompt, change to the gcc/gcc directory and go:
+ 
+ gencomp (this step is actually optional, as the
+ source files it generates are actually already
+ part of the patch, so you're probably better off
+ omitting this step, and it assumes you are using
+ gcc as your compiler).
+ 
+ compile
+ 
+ which will create an executable called gccmvs.exe
+ on Windows, or gccmvs on Unix.
+ 
+ First problem - by default, "compile.bat" is set up
+ to compile using gcc/pdpclib-win32. You can easily
+ change this to use some other compiler, but if you
+ want to use the default, it requires you to actually
+ build pdpclib-win32 according to the instructions
+ included in pdpclib.txt in the pdpclib directory.
+ The advantage of using pdpclib-win32 is that it means
+ that the C runtime library you use for the PC is the
+ same/similar to that which is being used on the
+ mainframe, so if you were to hit a bug, you will find
+ out the problem on the PC before you get to the
+ mainframe. Another advantage is that it bypasses the
+ buggy newlib headers which pollute the namespace with
+ Unix rubbish which sometimes causes problems.
+ 
+ 
+ 
+ CHOOSING TARGET ENVIRONMENT
+ ---------------------------
+ 
+ There are actually 3 distinct architectures supported:
+ S/370
+ S/380
+ S/390
+ 
+ Some time during MVS/ESA, IBM provided 31-bit versions of the
+ "PUT" etc macro (and supporting infrastructure) so that you
+ could actually have a clean AMODE 31, RMODE ANY executable.
+ Prior to that time, any executable that needed to call "PUT"
+ needed to be RMODE 24 and switch to AMODE 24 before calling
+ "PUT", then it could switch back to AMODE 31. ie it was a
+ hybrid of sorts.
+ 
+ Prior to MVS/XA, ie back at MVS 3.8j, you couldn't even have
+ a hybrid. Your application needed to be AMODE 24, RMODE 24.
+ 
+ Add to this mix the recent introduction of MVS/380, which 
+ is a modification to MVS 3.8j to allow it to support a hybrid 
+ mode (although at time of writing, the hybrid environment is
+ not identical to MVS/XA, and the intention is to modify "PUT"
+ etc so that it is no longer a hybrid anyway, but instead
+ allows pure 31-bit executables - but then it will use the
+ S/390 definition).
+ 
+ So you will need to choose your environment. There are 4 distinct
+ categories of potential users:
+ 
+ 1. If you are running TK3 (Turnkey-MVS, ie MVS 3.8j), you 
+ should choose S/370 and copy pdp370.mac to pdptop.mac (in pdpclib)
+ to set the architecture to S370 and also get rid of the AMODE and RMODE 
+ statements. You should also change USE_MEMMGR to XXX_MEMMGR in
+ compmvs.bat so that it has no effect.
+ 
+ 2. If you are running a later version of MVS/ESA, or OS/390, or z/OS
+ or later, then you have a pure 31-bit environment available to you,
+ and you can copy pdp390.mac to pdptop.mac and optionally change
+ compmvs.bat, stage2c.jcl and stage3c.jcl to replace USE_MEMMGR with 
+ XXX_MEMMGR. This will make the compiler use standard GETMAIN instead
+ of having an internal heap. The standard GETMAIN is more flexible
+ but a bit slower. Executables you produce will only work on
+ a 31-bit system
+ 
+ 3. If you are running MVS/380, then everything is set up by default.
+ The AMODE is ANY (it will switch to 31-bit mode at startup, but
+ can cope with being called in any mode, and will return to the
+ caller in that mode) and RMODE is 24 (not ANY, MVS/XA modules 
+ that do I/O need to reside below the line). However do note
+ that only the compiler runs in 31-bit. STAGE4Z copies the S/370
+ version of the macro in so that normal programs are compiled
+ as AMODE 24, RMODE 24 using standard GETMAIN, because most applications
+ don't require the extra memory and are more portable this way.
+ 
+ 4. If you are running MVS/XA or an early version of MVS/ESA, then
+ you have three choices:
+ A. Follow the instructions for TK3 above to create 24-bit
+ executables.
+ B. Use the default MVS/380 version above.
+ C. Same as B, except change USE_MEMMGR to XXX_MEMMGR as per
+ S/390 instructions. If you're running STAGE4Z rather than STAGE4 
+ (not sure if STAGE4 will work on MVS/XA), then comment out the 
+ step that copies PDP370 to PDPTOP.
+ 
+ 
+ For full integrity on S/380 or S/390 you can also run gencomp, so
+ you need to change gencomp.jcl to replace occurrences
+ of "BISON" and "SED" to whatever you have called
+ your installation libraries for those two products. The script
+ "withbis" will do a full build assuming bison is available,
+ and that is normally called via "fullmvs" to package GCCMVS
+ ready for distribution. Note that the building of MVS/380 does 
+ all these steps to create a pure mainframe product.
+ 
+ 
+ 
+ GENERATING ASSEMBLER
+ --------------------
+ 
+ Now run the "compmvs" script.
+ 
+ (unless you want to use the unmodified IFOX on MVS 3.8, in which 
+ case go "compmvs -DIFOX")
+ 
+ This will generate S/370 assembler code (clean, 31-bit
+ assembler).
+ 
+ You now need to get all the stuff up onto the mainframe.
+ 
+ This is your big chance to screw things up.
+ You need to transfer these files with the
+ same ASCII to EBCDIC translation that GCCMVS
+ expects.  Easiest to stuff up are the following:
+ 
+ | x'4f'
+ ^ x'5f'
+ [ x'ad'
+ ] x'bd'
+ 
+ If you actually try transferring this file you
+ are reading now to the mainframe, and do a
+ search on "screw" and put "hex on", you can
+ see how successful you are likely to be. However,
+ there are ways to avoid bad translation tables,
+ and having to deal with so many files as well.
+ 
+ For example you could use the "mvsunzip" and
+ "mvsendec" tools that come with PDPCLIB. These allow
+ you to zip up code (but without compression), encode
+ into printable hex (translate tables are never so bad
+ that they can't handle A-F and 0-9), and then reverse
+ the process on the mainframe. However, to reverse
+ the process, you still need to get those utilities
+ onto the mainframe in the first place. For that,
+ if you have m4 installed, you can run the "makeutil"
+ script to produce a convenient batch job that
+ compiles these basic utilities.
+ 
+ All such file transfer methods are beyond the scope
+ of GCCMVS. The example (stress - example) jobs below
+ assume an emulated tape is being used. This is a
+ convenient method for MVS/380 users.
+ 
+ The JCL is all set up to use particular prefixes in
+ proc statements - GCCPREF and PDPPREF.  Thus they 
+ all need to be changed, as well as any JOBCARD 
+ changes your installation requires, unless you're
+ happy with the defaults of "GCC" and "PDPCLIB". jcl, 
+ m4 and prc files all need to be changed.
+ 
+ It is recommended that you spend the time to automate
+ the process of changing the jobcard so that you can
+ rerun these jobs again and again. You could set up an
+ edit macro in ISPF or you could make use of the
+ "fixjcl" batch file on the PC to make the changes. Note
+ that on your jobcard, you don't need REGION=0K, you can
+ probably get by with something like REGION=100M.
+ 
+ 
+ 
+ RUNNING JOBS ON MVS
+ -------------------
+ 
+ You probably want to run stage0a.jcl to create high-level
+ aliases for GCC and PDPCLIB. The exception is if you do
+ not have authority to create new aliases, and wish instead
+ to run the compiler out of your own libraries. In which
+ case you would be using a high-level prefix of perhaps
+ "userid.GCC" and "userid.PDPCLIB" instead, and thus no
+ aliases are required. Note that the compile JCL also expects
+ a 'SYS1.MODGEN' to exist. This doesn't exist on TK3, so
+ you will either need to create an alias for it, or modify
+ the JCL to replace MODGEN with AMODGEN.
+ 
+ Next run stage0b.jcl to allocate the datasets which will
+ eventually store the source code etc from the PC.
+ 
+ The next steps are an example of how to get the source
+ code from the PC to mainframe. It uses zip on the PC
+ side, and minizip on the host side, and emulated tape
+ inbetween. Replace these steps with whatever your site
+ uses.
+ 
+ In order to get minizip onto the host if it isn't
+ already there, you can run "makeutil", which is
+ called by "bootstrap". Assuming the pre-existence of
+ minizip, or something similar, zip up all the source
+ code etc to go to the mainframe by running "zipmvs".
+ Note that for for complete integrity on a 31-bit 
+ system, it would be good if you editted zipmvs.bat and 
+ removed all those "rem" statements down the bottom. This 
+ will prevent you from uploading the generated source,
+ and force gencomp to generate them instead. The script
+ "withbis" will do this automatically.
+ 
+ stage0c.jcl is then used to transfer the zip file up.
+ 
+ stage0d.jcl then executes minizip to unzip the zip files.
+ 
+ That ends the involvement of the PC, as everything is
+ now on the host.
+ 
+ 
+ 
+ BUILDING STAGE1
+ ---------------
+ 
+ Run the JCL from GCC.JCL(STAGE1A) and GCC.JCL(STAGE1B).
+ This will create the stage1 executable, which is a 
+ working gccmvs, the only disadvantage of which is that
+ it was compiled on the PC instead of the mainframe.
+ 
+ If you had another vendor's compiler, or an old version
+ of GCCMVS, you could have built this on the host in
+ the first place.
+ 
+ 
+ 
+ GENERATED FILES
+ ---------------
+ 
+ For complete integrity on a 31-bit system,
+ you can run GCC.JCL(GENCOMP), which will
+ regenerate all the generated source files.
+ This assumes that you have bison and sed
+ available. If you don't have them, you can
+ compile them using the stage1 executable,
+ and you can temporarily rename stage1 to gcc.
+ If you already have old copies of bison, sed
+ and gcc, there is no need to recompile them
+ now with stage1. That step happens later.
+ 
+ 
+ 
+ BUILDING STAGE2
+ ---------------
+ 
+ Next run GCC.JCL(STAGE2A-C).  Making use of
+ the just-compiled STAGE1, it will compile from
+ source code the entire gccmvs suite, this
+ time to create an executable called STAGE2.
+ 
+ Note for MVS 3.8j users: Due to memory requirements,
+ you cannot build a stage2 compiler. You should
+ instead just rename this STAGE1 compiler to GCC,
+ copy it to GCC.LINKLIB, then pick up again in
+ STAGE4(Z).
+ 
+ 
+ 
+ BUILDING STAGE3
+ ---------------
+ 
+ It so happens that the process used to build the stage1
+ compiler, being from the same vendor, has generated
+ identical code to that produced in stage2. So, it is
+ possible to compare the stage1 and stage2 executables,
+ without needing to go to stage3. As such, stage2d is
+ designed to do the comparison prematurely, and avoid
+ the need for STAGE3.
+ 
+ If that is not your situation, you will now need to
+ run the STAGE3(A-C) jobs, which will compare with the
+ output of STAGE2.  The other situation where you
+ will need to run STAGE3 is if you ran GENCOMP, as
+ the source code will have changed slightly as a
+ result of that.
+ 
+ When STAGE3C completes, it verifies the integrity
+ of the compiler output, then produces a GCC module.
+ During that process, a GCC.S2 file is produced
+ containing the generated assembler. This can then
+ be transported to any other system, even MVS 3.8j
+ with memory constraints, to produce a perfectly
+ viable C compiler, just by reassembly.
+ 
+ Note that if the executables STAGE2 and GCC (aka
+ STAGE3) were not identical, then there is a compiler
+ bug somewhere that is affecting the integrity of
+ the compiler itself.
+ 
+ 
+ 
+ FINALIZING
+ ----------
+ 
+ Now run GCC.JCL(STAGE4). MVS 3.8j and MVS/380 users
+ should run STAGE4Z instead, because of the 15 alias
+ restriction on these systems. This will compile
+ PDPCLIB, the C runtime library. You have the option
+ of changing PDPTOP to choose a different architecture
+ to target for your own executables.
+ 
+ Now (optionally) generate the 24-bit version of the
+ compiler and clean up all the intermediate datasets by
+ submitting STAGE5A. Comment out the first step if you
+ don't have any use for the 24-bit version.
+ 
+ Then (optionally) compile some useful utilities from
+ PDPCLIB by submitting STAGE5B.
+ 
+ Now if you're a systems programmer, you can choose to
+ install the procs in GCC.PROCLIB into SYS1.PROCLIB
+ etc, after modifying them to your site's requirements.
+ Submit STAGE5C to do that. Note that if you want to
+ run the 24-bit version of the compiler by default,
+ you should change the PROCs to change the
+ "EXEC PGM=GCC" to "EXEC PGM=GCC370".
+ 
+ STAGE6.JCL is not required to be run. It is only
+ used in circumstances where you want to dump the
+ datasets to tape and then reload them.
+ 
+ 
+ Congratulations, you now have GCCMVS fully installed.
+ 
+ You can now compile your own C programs by
+ running the example jcl found in GCC.JCL(EXAMPLE),
+ or if you have installed the procs, then EXAMPLE2.
+ 
+ 
+ 
+ BISON and SED
+ -------------
+ 
+ For complete integrity on a 31-bit system,
+ you should now go and recompile bison and sed,
+ then rename your GCC.SOURCE and GCC.INCLUDE
+ to ".OLD" datasets, repopulate them (from the
+ zip files), then run GENCOMP (to repopulate
+ the generated source files), and then confirm
+ that the source and include haven't changed
+ with your new compiler by comparing with the
+ old datasets. The MVS/380 build scripts do this
+ as part of the process, by running the "withbis"
+ script. However, the integrity of the tools is
+ outside the scope of GCC proper.
+ 
+ 
+ 
+ 
+ CREDITS
+ -------
+ 
+ Everyone who worked on GCC in areas besides i370
+   and to the people out there who contribute the
+   odd fix that they developed.
+ Jan Stein for the original i370 machine definition
+ Dave Pitts for doing the port to OS/390 USS,
+   without which the further work could not have
+   been done.
+ Linas Vepstas for a slew of bug fixes and enhancements
+   made during his port of Linux to S/370.
+ Paul Edwards for doing the port to native (ie
+   non-USS) MVS 3.8, MVS/XA, OS/390, Z/OS, MVS/380
+   as well as getting GCC to be able to compile 
+   itself on the mainframe (previously it was 
+   only compilable by IBM's C compiler).
+ Phil Roberts for testing & debugging & releasing
+   the native MVS port created by Paul Edwards. The 
+   product wouldn't exist without Phil's work either.
+ Dave Wade for fixing the last compiler bug that
+   was preventing GCC from compiling itself on the
+   mainframe, and also for doing the VM/CMS port.
+   And various other bug fixes and improvements to
+   PDPCLIB as well.
+ Dave Edwards (RIP) for doing the MUSIC/SP port and 
+   fixing various bugs in PDPCLIB in the process.
+ Tim Pinkanawa for writing the HTML documentation.
+ Tim Holloway for figuring out where to put the code
+   to get the static function names unique so that
+   the final problem stopping the compiler from
+   being C90 compliant was fixed.
+ Robert O'Hara for getting EPLIST support in PDPCLIB
+   working on CMS and providing the mods to VM/380
+   required to get 31-bit GCCCMS binary compatible
+   between VM/380 and z/VM.
+ Gerhard Postpischil for providing the mods to MVS/380
+   required to get 31-bit GCCMVS binary compatible
+   between MVS/380 and z/OS so that we could build
+   GCCMVS on a free system. Also for the final functions
+   missing in PDPCLIB for C90 conformance for MVS and
+   for the virtual rewrite of mvssupa.asm.
+ Scott Cosel for the XMIT JCL which enabled a nice
+   package to be produced for z/OS users. Also for
+   producing a real 31-bit z/OS executable using
+   GCCMVS on z/OS and putting that in XMIT format to
+   truly test MVS/380. Also for other testing.
+ Tony Harminc for assistance in getting integer divide
+   working properly.
+ Ulrich Weigand for providing direction on tying up some
+   loose ends, especially getting rid of some warnings from
+   gencomp.
+ Fausto Saporito for his work on making the MUSIC/SP port
+   native.
+ Fran Hensler, Bruce Smith, Bill Carlborg, Louis Millon,
+   Michel Beaulieu and others for assistance and code
+   for the z/VSE port.
+ 
+ 
+ 
+ VERSION
+ -------
+ 
+ See version.c for the version number.
+ 
+ 
+ 
+ SUPPORT
+ -------
+ 
+ PDPCLIB is separately maintained by Paul Edwards,
+ and support is generally forthcoming for that.
+ Certainly submission of *public domain* (ie NOT
+ GPL) bug fixes/enhancements are welcome.
+ 
+ Support for most common GCC problems is generally
+ available also.
+ 
+ The usual place to get support for either thing is
+ the hercules-os380 Yahoo group at:
+ 
+ http://tech.groups.yahoo.com/group/hercules-os380/
+ 
+ If your question is more MVS-related than GCC-related,
+ there are a number of other MVS forums linked from
+ os380.
+ 
+ 
+ 
+ TECHNICAL NOTES
+ ---------------
+ 
+ Technical notes about executables created in this manner plus 
+ other issues:
+ 
+ 1. A "hello, world" program is approximately 52k in size.
+ 
+ 2. The memory requirements (not including the
+ space for the executable) for a "hello, world"
+ program are around 350k, assuming the default
+ stack size of 256k is being used in mvsstart.asm (and
+ the rest is mainly because the 3 standard files all
+ use 32k buffers, so that's 96k + 256k = around 350k.
+ 
+ 3. PDPCLIB is designed to conform to the ISO/IEC 
+ 9899:1990 (aka ANSI X3.159-1989) standard, and there
+ are no extensions (like "open", "chmod" etc
+ found on other operating systems or compilers).
+ 
+ 4. What PDPCLIB on MVS is primarily designed for,
+ is fast processing of binary, fixed block datasets,
+ and also for text processing, via fgets, from
+ variable length records.  Or if you want to write a 
+ utility to traverse MVS control blocks, you 
+ can use it for that sort of thing.  When operating
+ on binary, fixed-length records, the path from
+ fwrite to the "PUT" macro is very short indeed.
+ The path from fputs to the "PUT" macro is pretty
+ short too.
+ 
+ 5. The files that PDPCLIB operates on do not
+ have default DCB information (LRECL etc).  This
+ has the advantage that the programs will operate
+ on datasets of any LRECL, but does have the 
+ downside that you need to specify all the DCB
+ information in your JCL. IBM's default appears
+ to be RECFM=U, which will not get you very far.
+ 
+ 6. The executables that are produced can be run
+ as both TSO command processor or in batch.  The
+ parameter parsing will handle either method of
+ invocation.
+ 
+ 7. N/A.
+ 
+ 8. PDPCLIB makes no attempt to operate on VSAM
+ datasets, or anything else outside of bog-standard
+ sequential files.  It will also refuse any attempt
+ to open a file in update or append mode, and random
+ access will usually be unacceptably slow due to
+ the constant reopening of the file. The design of 
+ RECFM=U handling is to allow the "copyfile" utility
+ (part of PDPCLIB) to be able to do a binary copy 
+ from a VB file, to a U file, to an FB file, back to 
+ a VB file, and have the files still be identical.
+ 
+ 9. Note that the "-g -dA" option can be used to get
+ source file line numbers inserted into the assembler
+ file.
+ 
+ 10. The compiler generates excessive instructions,
+ reloading the base register at every single label.
+ The smarts are already in the code generator to
+ avoid this, it's just that they're not quite smart
+ enough, so needed to be disabled! Search for do_spec_1
+ in i370.c to see the problem. An exception has been
+ made for functions that fit in a single page. This
+ gets around the vast majority of the problem.
+ 
+ 11. You need to have an assembler capable of handling
+ more than 400 externals. If you are using the (very
+ old) IBM-supplied IFOX, then you need to apply this
+ patch:
+ http://www.prycroft6.com.au/vs2mods/download/asmxfesd.zip
+ If you really must use an unmodified IFOX, you can
+ compile with "-DIFOX" which will disable some externals
+ that you may be able to do without. It is not recommended
+ or supported.
+ 
+ 12. The compiler requires approximately 50 MB of memory to
+ compile everything optimized, on top of the GCC executable
+ itself (3 MB). Specifically C@COMMON won't build with only
+ 49 MB of memory for data. This means you can't complete the
+ normal build process on any S/370 machine.
+ 
+ 13. Note that the source and include files are generally
+ stored in VB files, except for the bits with assembler in
+ it, which need to be FB80.
+ 
+ 14. When importing a new release it is necessary
+ to allow c-parse.c to be imported. This is set to 
+ ignore in .cvsignore. We have a local modification
+ to c-parse.c that allows it to handle both ASCII
+ and EBCDIC. But there is actually no need to use
+ this modified c-parse.c, as a version that works
+ on EBCDIC can be generated using bison on an
+ EBCDIC host, and that is in fact what the "gencomp"
+ JCL does. But if you don't have bison, you will need
+ this modification. While updating .cvsignore, it
+ is also best to get rid of the genrtl.c and genrtl.h
+ from there, to allow them to be imported if they exist.
+ 
+ 15. Most generated files are generated by "gencomp".
+ But some were generated by using
+ "configure" and "make".
+ The command to run configure is:
+ ./configure --target=i370-ibm-mvspdp --enable-languages=c
+ 
+ 16. Since the S/370 target as it stands doesn't dedicate
+ a register for a frame pointer, the stack pointer and
+ frame pointer are both set to R13. As such, alloca() can't
+ allocate space on the stack. So, it was necessary to modify
+ the builtin_alloca() function to stop it from allocating
+ space and letting it call alloca() instead. This could
+ all be changed, but would add an additional complexity.
+ 
+ 17. The assembler code generated by gccmvs when run on the
+ PC is slightly different (even when the same parameters
+ are used for code generation) from that when run on the
+ mainframe, if -O2 is used instead of -Os. But functionally 
+ equivalent. This non-deterministic nature of the compiler 
+ is disconcerting. It seems to not always allocate registers 
+ consistently. This has been traced to floating point code
+ in predict.c and local-alloc.c which is sensitive to the
+ very small changes in floating point representation. This
+ should be changed to include deltas when comparing floating
+ point values. Here's an example of what's happening:
+ 
+ *** c-lex.s Mon Jan 14 20:48:35 2008
+ --- temp.dat Mon Jan 14 21:14:04 2008
+ ***************
+ *** 1328,1335 ****
+            SLR   15,15
+            STC   15,0(3,4)
+            SLR   6,6
+ -          LR    9,6
+            LR    8,6
+            L     2,192(13)
+            CLR   2,5
+            BNL   L303
+ --- 1328,1335 ----
+            SLR   15,15
+            STC   15,0(3,4)
+            SLR   6,6
+            LR    8,6
+ +          LR    9,6
+            L     2,192(13)
+            CLR   2,5
+            BNL   L303
+ 
+ 
+ 18. builtins have all been switched off in the compiler
+ by default (ie -fno-builtin), as they can sometimes 
+ generate bad code. Instead, the header file is used to
+ selectively enable working builtins.
+ 
+ 19. Versions of GCCMVS up to and including 3.2.3 MVS 6.0 
+ should be considered betas because of the compiler bugs that
+ they contained. With the elimination of those bugs, GCCMVS
+ is now of acceptable quality.
+ 
+ 20. nostdinc is on by default so that you have to
+ specify where you get your include files from on
+ the compile command line. There might be a better
+ way of doing this rather than setting no_standard_includes
+ in cppinit.c
+ 
+ 21. We should look at making "configure" and "make"
+ work for the mvspdp target, so that people on Unix
+ don't need to use our custom-made scripts. They currently 
+ work, but the detab routines are bypassed.
+ 
+ 22. PDPCLIB should be changed to read data a block
+ at a time rather than a record at a time. This will
+ allow us to efficiently process datasets with an
+ LRECL of 1, which fits the C paradigm more accurately.
+ 
+ 23. We should consider having a utility to compare two 
+ executables so that we can see that the stage2 and stage3 
+ executables are identical. A utility to do this can be 
+ written as follows: BLDL each to find the length.
+ If lengths are equal, GETMAIN the space for it twice.
+ Load the first load module in the first GETMAINed space.
+ Copy it to the second GETMAINed space with MVCL.
+ Load the second load module to the first GETMAINed space.
+ Compare the two GETMAINed spaces with CLCL. We currently
+ compare assembler instead, which should be just as good.
+ 
+ 24. Because MVS 3.8 has a limitation of 15 aliases in the linker
+ (and presumably elsewhere), the same module is linked multiple
+ times, to ensure all aliases can be created. This opens up the
+ possibility of some object code being out of date if someone
+ links one of the modules manually without doing the other required
+ links as per STAGE4Z. The alternative is to add more than 15
+ aliases via other means, but no-one has explained why there is
+ a 15 alias limit in the first place, so we don't know what the
+ ramifications of doing that are.
+ 
+ 25. If you are using a compiler that gives you an error when you
+ compile vasprintf.c, then add a define in the compile command to
+ define VALIST_NOT_PTR, and that should get around the problem.
+ See stdcompw.bat for an example. The gcc code is basically not 100%
+ C90-compliant as it depends on the implementation of va_list.
+ 
+ 26. With -pedantic-errors switched on we get slightly different
+ and seemingly slightly less efficient code generated. This was
+ not expected. pedantic-errors is desirable to aid portability.
+ 
+ 27. I added the __extension__ keyword to genoutput.c because
+ I couldn't see how to get rid of the pedantic error.  This should
+ be replaced with something better.
+ 
+ 28. #pragma map() and linkage exist, but don't currently
+ have any effect. TARGET_ALIASES would need to be switched
+ on for map to start having an effect.
+ Syntax is like this:
+ #pragma map(finalize_buffer, "FIN@BUF")
+ GCC already has:
+ #pragma redefined_extname oldname newname
+ but that's not what is normally used for MVS. And it doesn't
+ have any effect either! Probably because of the name
+ grunging being done in GCCMVS unconditionally to trunc to 8
+ characters and convert abnormal characters into '@' and
+ uppercasing.
+ 
+ 29. Failed compiles on the PC don't clean up after an error,
+ so you can have a partially-produced .s file which causes much
+ confusion later when you have missing externals.
+ 
+ 30. makeutil.bat has been provided to put some useful
+ utilities into a single JCL stream for convenient transfer.
+ 
+ 31. GCC when compiling a program with "main()" in it, will
+ generate code for an entry point for the entire executable.
+ This entry point is called @@MAIN and is different from
+ MAIN. @@MAIN will then call @@CRT0 which will eventually
+ call MAIN.  @@CRT0 returns directly to the OS from there,
+ and in fact, if @@CRT0 is forced to be the entry point,
+ it will still work fine too. @@MAIN was introduced so that
+ the linker can automatically resolve things. However, that
+ bit of the automatic resolution will only work if you
+ pass the object code with @@MAIN directly to the linker,
+ rather than first of all creating an NCAL and then passing
+ that to the linker. If you wish to create NCALs, then you
+ will need to put an "ENTRY @@MAIN" in yourself for the
+ linkage editor control statements. Unfortunately this setup
+ has the side-effect that the entry point of modules by default
+ is not 0, which while perfectly technically valid, is a bit
+ annoying.
+ 
+ 32. The calling convention is slightly different in GCC
+ compared to IBM C. Integers are passed by value rather than
+ reference. This is normally not visible, but we should
+ consider making this the same as IBM C and perhaps follow
+ the LE specs.
+ 
+ 33. This file and all compile scripts etc should probably
+ be moved into the "config/i370" directory, but for now it
+ is more convenient to leave them where they are.
+ 
Index: gcc/gcc/gccr.exec
diff -c /dev/null gcc/gcc/gccr.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gccr.exec	Wed Nov 11 16:49:07 2009
***************
*** 0 ****
--- 1,121 ----
+ /* REXX EXEC TO COMPILE GCC PROGRAM DAVE WADE 24-APRIL-2006 */
+ /*
+    This exec is in the Public Domain and may be freely re-used
+    without reference to the author. It is however provided AS-IS
+    and without any warranty of fitness for any purpose.
+ 
+    It will overwrite files without reference to the user and
+    may compile the wrong code.
+ */
+ /*
+   Format of the EXEC is
+ 
+       GCC fn ft fm ( gcc_options
+ 
+   Where:-
+ 
+       "fn ft fm" Is a source file.
+ 
+       If "ft" is omitted it is assumed to be "C"
+       If "fm" is omitted it is assumed to be "A"
+ 
+ 
+       gcc_options are the "standard" GCC options.
+ 
+       Entering "GCC" with no options will list the GCC options.
+ */
+ /*
+   EXTRACT THE COMMAND OPTIONS
+ */
+ /* CE R */
+ ADDRESS COMMAND
+ 
+ PARSE ARG cfile "(" gccopts
+ PARSE UPPER VAR cfile cfn cft cfm
+ /*
+   If no file-name invoke the compiler with just the
+   option string. If the option string is also null
+   do "gcc --help"
+ */
+ 
+ If cfn = "" Then Do
+  Say "Format of this EXEC is"
+  Say " "
+  Say "   GCCR fn ft fm ( gcc_options"
+  Say " "
+  if gccopts = "" then gccopts = "--help"
+  Address CMS  'Pipe (end ?)'  ,
+     'var GCCOPTS'  ,
+     '| > $GCC$ $PARM$ A2'
+  "FILEDEF SYSPARM DISK $GCC$ $PARM$ A"
+  "GCC"
+  return
+ End
+ /*
+   We have at least a file name
+ 
+ */
+ If cft = "" Then cft = "C"
+ /*
+   check for a file mode.
+ */
+ 
+ If cfm = "" Then Do               /*  no file mode */
+  "STATE" cfn cft "*"              /*  check that the file exists */
+  If rc <> 0 Then Do               /* nope exit with grace */
+   Say "Input File <"cfn cft cfm"> Not Found"
+   return 28
+  End
+  "FILEDEF SYSIN DISK" cfn cft "*"
+  "FILEDEF OUT  DISK" cfn "$WORK$ A (LRECL 80 RECFM F"
+  wfm = "A"
+ End
+ Else Do                           /* we have a file mode */
+  "STATE" cfn cft cfm              /*  check that the file exists */
+  If rc <> 0 Then Do               /* nope exit with grace */
+   Say "Input File <"cfn cft cfm"> Not Found"
+   return 28
+  End
+  "FILEDEF SYSIN DISK" cfn cft "*" /* define input */
+  "STATEW" cfn cft cfm             /* is it a writable disk */
+  if rc = 0 Then Do                /* yes - work file on the same disk*/
+    "FILEDEF OUT  DISK" cfn "$WORK$" cfm "(LRECL 80 RECFM F"
+    wfm = cfm
+  End
+  Else Do                          /* nop pop on "A" disk */
+    "FILEDEF OUT  DISK" cfn "$WORK$ A (LRECL 80 RECFM F"
+    wfm = "A"
+  End
+ End /* input and work files defined */
+ /* now create options file */
+ gccopts = "-o dd:out - -S" gccopts /* put files on options */
+  "EXECIO 1 DISKW $GCC$ $PARM$ A2 1 V (FINIS VAR GCCOPTS"
+  "FILEDEF SYSPARM DISK $GCC$ $PARM$ A"
+ /*
+   Now run the compiler reading options from sysparm
+ */
+ Say "Starting GCC Options = <"gccopts">"
+ "GCC"
+ if RC <>0 then do
+    say 'error in GCC compile step'
+    say 'RC:' rc
+    return -4
+ end
+ /* now rename from S to ASSEMBLE */
+ address cms  ,
+     'PIPE (end ?)' ,
+       '<' cfn '$WORK$' wfm  ,
+       '| >' cfn 'ASSEMBLE' wfm 'F'
+ "ERASE" cfn "$WORK$" wfm
+ "FI OUT CLEAR"
+ "FI SYSPARM CLEAR"
+ "FI SYSIN CLEAR"
+ Say "Assembling code"
+ /*  we need the OSMACRO maclib for the SAVE and RETURN macros  */
+ "GL MACLIB OSMACRO PDPCLIB"
+ "ASMAHL" cfn
+ if RC <>0 then do
+    say 'error in ASMAHL step'
+    say 'RC:' rc
+    return -8
+ end
Index: gcc/gcc/gccver.parm
diff -c /dev/null gcc/gcc/gccver.parm:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gccver.parm	Wed Apr 15 23:24:25 2009
***************
*** 0 ****
--- 1 ----
+ --version
Index: gcc/gcc/gccvse.txt
diff -c /dev/null gcc/gcc/gccvse.txt:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gccvse.txt	Thu May 12 16:38:24 2011
***************
*** 0 ****
--- 1,418 ----
+ Release Notes for GCCVSE
+ ------------------------
+ 
+ This document explains what needs to be done to get GCCMVS from:
+ 
+ http://gccmvs.sourceforge.net
+ 
+ to run on z/VSE (or VSE/380). The code is designed to work on
+ DOS/VS through to z/VSE. You just need to set the
+ appropriate configuration before building.
+ 
+ The notes for the MVS version of the compiler (gccmvs.txt)
+ should be read in conjunction with this document. In particlar
+ the section on conversion from ASCII to EBCDIC is relevant to VSE.
+ That file is contained within the source code patch, and
+ you should obtain that, and the base source code, where
+ the COPYING file is, to read the license, as these are all
+ considered to be part of the same package, broken up for
+ convenience).
+ 
+ 
+ 
+ Installing
+ ----------
+ 
+ Assuming you wish to use the shipped executables directly,
+ the process is as follows.
+ 
+ GCCVSE is shipped as object code which was punched with
+ CSERV. To reverse that process, you need to invoke LNKEDT.
+ Getting the object code onto disk (via e.g. ftp, emulated
+ tape) is outside the scope of this document. The sample
+ instvse.jcl (and the example instvse.bat that invokes that
+ on a Windows system running VSE/380) is set up by default
+ to read from a RECFM=FB,LRECL=80,BLKSIZE=3440 (RECFM=F
+ also fine) tape using OBJMAINT (which deblocks it if it
+ was blocked).
+ 
+ Once the object code is on disk, it is fed straight into
+ LNKEDT which catalogs all the phases, plus some
+ pseudo-phases. More JCL and (just-loaded) utilities 
+ extract the pseudo-phases and convert them into relocatable
+ object, macros, and copybooks.
+ 
+ 
+ 
+ Using
+ -----
+ 
+ Here is some example JCL. Your source code must be in one
+ of the formats currently supported by PDPCLIB, e.g. F80
+ and coming from SYSIPT. Header files will need to be put
+ into the CIL in the same manner stdio.h etc are.
+ 
+ 
+ * $$ JOB JNM=VSEJOB
+ * $$ LST LST=SYSLST,CLASS=A,RBM=999999
+ // JOB VSEJOB
+ *
+ *
+ * Compile a sample C program.
+ *
+ *
+ * This job allocates space as follows:
+ * 10000,100 SPACE-SYSPCH
+ * 11000,100 SPACE-SYSLNK
+ *
+ *
+ *
+ 
+ * Standard assignments for C programs
+ *
+ // ASSGN SYS000,SYSLNK
+ // ASSGN SYS005,SYSLST
+ // ASSGN SYS007,SYSPCH
+ *
+ *
+ * Compile zztest
+ *
+ // DLBL IJSYSPH,'ZZTEST.ASM',0,SD
+ // EXTENT SYSPCH,,,,10000,100 SPACE-SYSPCH
+ ASSGN SYSPCH,SYS000
+ // EXEC GCC,SIZE=AUTO,PARM='-S -o dd:syspunch -'
+ #include <stdio.h>
+ 
+ int main(int argc, char **argv)
+ {
+     int x;
+     
+     printf("Hi %s. This is a test of GCCVSE\n", *(argv + 1));
+     return (0);
+ }
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ * assemble zztest
+ *
+ // DLBL IJSYSLN,,0,SD
+ // EXTENT SYSLNK,,,,11000,100 SPACE-SYSLNK
+ ASSGN SYSLNK,SYS000
+ // OPTION LINK
+ // OPTION CATAL,LIST
+  PHASE ZZTEST,S+80
+ // DLBL IJSYSIN,'ZZTEST.ASM'
+ ASSGN SYSIPT,SYS000
+ // EXEC ASSEMBLY
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now link the whole app
+ *
+  INCLUDE VSESTART
+  INCLUDE STDIO
+  INCLUDE STRING
+  INCLUDE STDLIB
+  INCLUDE CTYPE
+  INCLUDE ERRNO
+  INCLUDE LOCALE
+  INCLUDE MATH
+  INCLUDE SIGNAL
+  INCLUDE SETJMP
+  INCLUDE ASSERT
+  INCLUDE TIME
+  INCLUDE START
+  INCLUDE VSESUPA
+ // EXEC LNKEDT
+ *
+ *
+ * Now run ZZTEST
+ *
+ // EXEC ZZTEST,SIZE=AUTO,PARM='Fred'
+ /*
+ *
+ *
+ *
+ /&
+ * $$ EOJ
+ 
+ 
+ 
+ 
+ 
+ Miscellaneous notes about VSE
+ -----------------------------
+ 
+ The attempt to get GCCVSE to self-recompile on VSE has
+ not yet been done.
+ 
+ The DOS/VS linker cannot handle blank CSECTs because of a
+ bug in the linkage editor, which is fixed in VSE/380. So
+ you may find it difficult to build on an unpatched DOS/VS
+ (you can use NAMCSECT to name CSECTs), but you can still 
+ run on it.
+ 
+ Both DOS/VS and z/VSE have a restriction on the number of
+ relocatable items. GCC exceeds this by a small amount, so
+ you get this problem:
+ 
+ 2188I TOO MANY RLD ITEMS, ONLY 65534 ITEMS ARE ALLOWED
+ PHASE(S) NOT CATALOGED DUE TO ERROR
+ 
+ On DOS/VS things are worse - the same restriction exists,
+ but there is no error message - it just clobbers storage
+ (ie a bug) and then fails to catalog the executable.
+ 
+ The problem can be circumvented by making the module
+ non-relocatable, with this statement:
+ 
+  PHASE GCC,+X'7000C8'
+   
+ which you can see in compvse.m4 (the precursor to alljcl.jcl).
+ 
+ Although the GCC executable is not relocatable, it is still
+ perfectly fine for creating new relocatable programs. The
+ address of approx 7 MB should be valid in most z/VSE systems.
+ If you find it isn't, you will need to recompile from
+ source.
+ 
+ Here is the underlying technical problem (courtesy of Bill Carlborg):
+ 
+ It was interesting tracking this one down. Originally in using the relocating
+ loader the linkage editor only allowed 255 relocatable items per phase. In R34
+ they raised the number to 400. The LE reserves space at the end of its code for
+ the 400 entries before it sets up space for another table of external names. So
+ there's space in the LE for 400. But IBM never checked if they ran out of room.
+ So we got the old buffer or table overflow problem causing the kaboom. I guess
+ they figured nobody would ever hit the limit, and I've never seen it happen
+ until now. The problem is complicated in this case because we only have one
+ phase. Usually such programs under DOS/VS were multiple phases. I started
+ patching the LE raising the number up to 10000 but it still wasn't enough room. 
+ Then I ran into halfword number limitations. So I patched the LE to use
+ fullword numbers instead of halfword numbers. Raised the number to 64000,
+ still wasn't enough room. Finally by giving the table a size of 256K (about
+ 85000 items) instead of 1200 bytes (for 400 items) it did catalog. Of course
+ that means with the patches the LE will always need a partition of more than
+ 300K to run. Then we hit the next wall. With that many entries needing to be
+ relocated it would require more CIL records at the end of the phase to hold the
+ relocatable dictionary. Specifically in this case I'm guessing about an
+ additional 257 1K CIL records. The CI directory entry has a field for the
+ number of CIL records holding the relocatable dictionary. Guess what, it's only
+ one byte, max number of 255. Not big enough. So the loader sees in the
+ directory entry there are only 2 CIL records holding relocatable information. 
+ That's not gonna work. Okay, I'm done. Either the program needs to become
+ multi-phase or have fewer relocatable items or ACTION NOREL becomes the
+ permanent solution.
+ 
+ 
+ One more thing that should be done is allow at least
+ 60 MB above the 16 MB line, as that is the normal way
+ that GCC operates. This behaviour can be changed by
+ compiling without USE_MEMMGR (see stdcompd.bat).
+ 
+ 
+ The compiler asserts __VSE__ for conditional compilation.
+ 
+ 
+ The compiler is dependent on PDPCLIB, which allows
+ parameters in the following manner:
+ 
+ 1. If a PARM= is supplied, it will be used.
+ 2. Otherwise, if a SYSPARM is provided, it will be used.
+ 3. SYSPARM only allows 8 characters, so if it is set to
+ "?" then special processing will be invoked.
+ 4. If the UPSI has the first bit set to 1, then the first
+ line of SYSIPT will be treated as the parameter.
+ 5. The other UPSI bits are not yet defined so should be
+ explicitly set to 0.
+ 
+ 
+ stdin comes from SYSIPT.
+ stdout goes to SYSLST.
+ stderr goes to SYS005 which needs to be manually
+   assigned to something - usually SYSLST also.
+ 
+ 
+ PDPCLIB's VSE implementation is somewhat limited, but still
+ very useful. If you want to read from a tape, you have
+ to use a ddname of MTI1 (ie "dd:mti1"). "dd:syspunch" is
+ also recognized as being for the punch. Disk and tape 
+ files are expected to be RECFM=U. When reading from
+ disk files, the maximum blocksize will be accepted, but
+ on output, 6480 is always used, to provide a multiple of
+ both 80 and 81, which may be useful to some applications.
+ sysin (stdin) is F80 and assigned to SYSIPT, and sysprint 
+ (stdout) is F121 (including automatically-inserted, mandatory 
+ control character) and assigned to SYSLST, and both are
+ device-independent. systerm (stderr) is F80 and goes to 
+ whatever is assigned to SYS005, usually syslst.
+ 
+ Modules are typically built with a PHASE statement of
+ S+80 so that if they are executed on a DOS/VS system
+ (which has a loader that doesn't automatically provide
+ room for this), they will still be able to cope with
+ labelled tapes. The "S" rather than "*" provides
+ consistency when doing multiple links.
+ 
+ When a nominal attempt to write to a library member is done,
+ the C library will translate this into automatic punching of
+ object code which can be fed into LNKEDT to put the data
+ into the CIL. This is automatically fetched when a read
+ attempt is done. No attempt has yet been made to allow
+ similar behaviour (except BKEND/MAINT) for writing to other 
+ library types (current plan is for the DDNAME to codify the 
+ desired library type).
+ 
+ File access is done via DDNAMEs of the form dd:ddname,
+ where ddname is defined in JCL.
+ 
+ There is a concept of a "default disk" which is SYS000,
+ to reduce the amount of JCL needed to be written. All
+ normal files come from there by default.
+ 
+ The entry point is always @@MAIN (which just calls @@CRT0),
+ and normally you would not need to explicitly set that,
+ it should be automatically set.
+ 
+ 
+ 
+ 
+ Building
+ --------
+ 
+ To install from scratch you need to cross-compile from another 
+ platform. Scripts are provided for Windows.
+ 
+ First of all you need to get the source code by:
+ 
+ 1. Downloading the GCC base code (as per GCCMVS).
+ 
+ 2. Downloading the GCCMVS patch and applying it (as per GCCMVS).
+ 
+ 
+ You then need to set the configuration properly.
+ 
+ There are 4 distinct VSE programming environments possible:
+ 
+ 1. DOS/VS where everything is 24-bit. This is the S370
+ environment.
+ 
+ 2. z/VSE where it is possible to write 31-bit executables 
+ that reside above the 16 MB line. This is the S390
+ environment.
+ 
+ 3. VSE/380 where 31-bit executables can be created, but they
+ must reside below the line and they can only obtain a single
+ chunk of ATL memory (current restriction). This is the S380
+ environment.
+ 
+ 4. VSE/XA where 31-bit capability exists, but I/O macros
+ necessitate that the executable must reside below the line.
+ This is also the S380 environment (the only difference is
+ that use of MEMMGR is not mandatory).
+ 
+ 
+ The differences between categories 3 and 4 are as follows:
+ 
+ 1. VSE/XA can get control in 31-bit mode, not requiring
+ an AMODE switch.
+ 
+ 2. VSE/XA can make multiple ATL memory requests.
+ 
+ 
+ Rather than create another flavor of the code, PDPCLIB
+ was written such that S380 mode:
+ 
+ 1. Detects whether it was called in 31-bit or 24-bit mode
+ and switches to 31-bit mode if not already in that. This
+ code is in vsestart.asm and could potentially be removed.
+ 
+ 2. Uses an internal heap manager (memmgr) so that only a
+ single request for a chunk of 31-bit memory is made. This
+ is faster than repeatedly calling the operating system
+ anyway, but can be reversed out by not defining USE_MEMMGR
+ in stdcompd.bat.
+ 
+ 
+ You can build the cross-compiler and then produce the
+ assembler code that can be transferred to VSE by using
+ the "allvse.bat" file (after inspecting it for any
+ required modifications). However, that batch file relies
+ on the existence of other VSE-based programs, which
+ are built by "vseutil.bat". Although those utilities 
+ are at least nominally optional.
+ 
+ Don't worry about the fact that the executable is called
+ gccmvs.exe and the batch file is also called mvs.  The
+ name is shared, but they are different. The executable
+ is manually renamed from gccmvs.exe to gccvse.exe before
+ shipment.
+ 
+ At time of writing, precompiled binaries were only available
+ as part of the VSE/380 distribution:
+ http://mvs380.sourceforge.net
+ 
+ 
+ 
+ 
+ Version
+ -------
+ 
+ To find out version, you can go:
+ 
+ EXEC GCC,PARM='--version'
+ 
+ 
+ 
+ Support
+ -------
+ 
+ Try asking a generic GCC question here:
+ 
+ http://tech.groups.yahoo.com/group/hercules-os380/
+ 
+ If your question is more VSE-related than GCC-related,
+ a broader range of VSE expertise is available here:
+ 
+ http://tech.groups.yahoo.com/group/H390-DOSVS/
+ 
+ 
+ 
+ Future direction
+ ----------------
+ 
+ * Get GCCVSE to self-recompile on VSE/380
+ 
+ * Write and then use a utility to make an executable self-relocating
+ 
+ * Build from minizip (compressed) input
+ 
+ * PDPCLIB should recognize long DDNAMEs like sdi2fb133 and adjust
+ LRECL appropriately.
+ 
+ * PDPCLIB should be able to deblock fb files.
+ 
+ * PDPCLIB should generate BKEND output when writing to f80 library.
+ 
+ * Make use of private libraries instead of putting everything
+ directly into system libraries.
+ 
+ * Get autolink working.
+ 
+ * PDPCLIB should read from a DDNAME such as SYSDIR whenever an
+ attempt is made to read a nominal PDS. Perhaps a member name
+ of '*' signifies a PDS directory read. That way minizip can
+ get an MVS-style member list and start reading things like
+ header files from the CIL.
+ 
+ * PDPCLIB should probably be using LOAD rather than CDLOAD
+ to use less memory. But that would require 24-bit storage
+ to be obtained, so malloc wouldn't necessarily be appropriate.
+ 
+ * Produce a 24-bit executable.
+ 
Index: gcc/gcc/gccxat.exec
diff -c /dev/null gcc/gcc/gccxat.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gccxat.exec	Wed Apr 15 23:24:15 2009
***************
*** 0 ****
--- 1,34 ----
+ *
+ *
+ * EXEC EXEC TO ROUGHLY THE VERSION OF CMS IN USE
+ *
+ * AS VM/370 DOES NOT UNDERSTAND YET UNDERSTAND (STACK
+ * WE NEED TO CHECK IF THE INFO HAS BEEN STACKED
+ * IF NOTHING IS STACKED ASSUME VM/370
+ *
+ * BUGS:-
+ * CURRENTLY ASSUME STACK IS EMPTY WHEN WE START
+ * STACK IS ALWAYS EMPTY ON RETURN
+ *
+ *
+ * WRITTEN BY DAVE WADE,G4UGM@HOTMAIL.COM
+ * RELEASED INTO THE PUBLIC DOMAIN
+ * USE AT YOUR OWN RISK
+ *
+ &CONTROL OFF
+ &STACK HT
+ QUERY CMSLEVEL ( STACK
+ &STACK RT
+ &FRED = &READFLAG
+ *TYPE &FRED
+ &IF &FRED EQ CONSOLE &GOTO -VM370
+ &READ VARS &CMS &LEVEL &LVL
+ *TYPE CMS Level &LVL
+ &IF &LVL EQ 6, &GOTO -VM370
+ *TYPE VM XA
+ DESBUF
+ &EXIT 1
+ -VM370
+ DESBUF
+ *TYPE VM/370
+ &EXIT 0
Index: gcc/gcc/gcov-io.c
diff -c gcc/gcc/gcov-io.c:1.1.1.1 gcc/gcc/gcov-io.c:1.2
*** gcc/gcc/gcov-io.c:1.1.1.1	Wed Apr 15 16:26:12 2009
--- gcc/gcc/gcov-io.c	Sat Apr 25 18:50:20 2009
***************
*** 450,456 ****
--- 450,460 ----
      return 0;
    value = from_file (buffer[0]);
    if (sizeof (value) > sizeof (gcov_unsigned_t))
+ #ifdef HAVE_LONG_LONG
      value |= ((gcov_type) from_file (buffer[1])) << 32;
+ #else
+     ; /* nothing will be achieved if you don't have 64 bits */
+ #endif
    else if (buffer[1])
      gcov_var.error = -1;
    
Index: gcc/gcc/gcov-io.h
diff -c gcc/gcc/gcov-io.h:1.1.1.1 gcc/gcc/gcov-io.h:1.2
*** gcc/gcc/gcov-io.h:1.1.1.1	Wed Apr 15 16:26:14 2009
--- gcc/gcc/gcov-io.h	Fri May  1 18:52:17 2009
***************
*** 212,219 ****
--- 212,221 ----
  #define GCOV_LINKAGE static
  typedef HOST_WIDEST_INT gcov_type;
  #if IN_GCOV > 0
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
  #endif
+ #endif
  #else /*!IN_GCOV */
  #if LONG_LONG_TYPE_SIZE > 32
  #define GCOV_TYPE_NODE intDI_type_node
Index: gcc/gcc/gcov-iov.h
diff -c /dev/null gcc/gcc/gcov-iov.h:1.2
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gcov-iov.h	Fri Nov 20 08:42:47 2009
***************
*** 0 ****
--- 1 ----
+ #define GCOV_VERSION 0
Index: gcc/gcc/gencheck.h
diff -c /dev/null gcc/gcc/gencheck.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gencheck.h	Thu Apr 30 10:26:05 2009
***************
*** 0 ****
--- 1 ----
+ /* empty file */
Index: gcc/gcc/gencomp
diff -c /dev/null gcc/gcc/gencomp:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gencomp	Wed Nov 18 20:21:37 2009
***************
*** 0 ****
--- 1,200 ----
+ rm *.o
+ 
+ #ren gencomp.exec gencomp.save
+ #del gen*.exe
+ #ren gencomp.save gencomp.exec
+ 
+ rm libiberty.a
+ rm autos.zip
+ 
+ zip -0 -m -@ -X autos.zip <genfiles.txt
+ unzip autos config.h auto-host.h
+ 
+ echo #include "auto-host.h" >auto-build.h
+ 
+ stdcompz ../libiberty/cplus-dem.c
+ stdcompz ../libiberty/cp-demangle.c
+ stdcompz ../libiberty/cp-demint.c
+ stdcompz ../libiberty/md5.c
+ stdcompz ../libiberty/alloca.c
+ stdcompz ../libiberty/asprintf.c
+ stdcompz ../libiberty/argv.c
+ stdcompz ../libiberty/concat.c
+ stdcompz ../libiberty/dyn-string.c
+ stdcompz ../libiberty/fdmatch.c
+ stdcompz ../libiberty/fibheap.c
+ stdcompz ../libiberty/floatformat.c
+ stdcompz ../libiberty/fnmatch.c
+ stdcompz ../libiberty/getopt.c
+ stdcompz ../libiberty/getopt1.c
+ stdcompz ../libiberty/getpagesize.c
+ stdcompz ../libiberty/getpwd.c
+ stdcompz ../libiberty/getruntime.c
+ stdcompz ../libiberty/hashtab.c
+ stdcompz ../libiberty/hex.c
+ stdcompz ../libiberty/lbasename.c
+ stdcompz ../libiberty/lrealpath.c
+ stdcompz ../libiberty/make-relative-prefix.c
+ stdcompz ../libiberty/objalloc.c
+ stdcompz ../libiberty/obstack.c
+ stdcompz ../libiberty/partition.c
+ stdcompz ../libiberty/physmem.c
+ stdcompz ../libiberty/safe-ctype.c
+ stdcompz ../libiberty/snprintf.c
+ stdcompz ../libiberty/sort.c
+ stdcompz ../libiberty/spaces.c
+ stdcompz ../libiberty/splay-tree.c
+ stdcompz ../libiberty/strcasecmp.c
+ stdcompz ../libiberty/strdup.c
+ stdcompz ../libiberty/strsignal.c
+ stdcompz ../libiberty/ternary.c
+ stdcompz ../libiberty/vasprintf.c
+ stdcompz ../libiberty/vsnprintf.c
+ stdcompz ../libiberty/xatexit.c
+ stdcompz ../libiberty/xexit.c
+ stdcompz ../libiberty/xmalloc.c
+ stdcompz ../libiberty/xmemdup.c
+ stdcompz ../libiberty/xstrdup.c
+ stdcompz ../libiberty/xstrerror.c
+ 
+ ar rc libiberty.a *.o
+ ranlib libiberty.a
+ 
+ 
+ stdcompz errors.c
+ 
+ stdcompz genmodes.c
+ gcc -g -nostdlib -o genmodes genmodes.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ ./genmodes -h >insn-modes.h
+ ./genmodes -m >min-insn-modes.c
+ ./genmodes >insn-modes.c
+ 
+ stdcompz gengenrtl.c
+ gcc -nostdlib -o gengenrtl gengenrtl.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./gengenrtl -h >genrtl.h
+ ./gengenrtl >genrtl.c
+ 
+ stdcompz genconstants.c
+ 
+ stdcompz gengtype.c
+ 
+ stdcompz gengtype-lex.c
+ echo bison  -d -o gengtype-yacc.c gengtype-yacc.y
+ stdcompz gengtype-yacc.c
+ 
+ gcc -nostdlib -o gengtype gengtype.o gengtype-lex.o gengtype-yacc.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ # filenames hardcoded
+ ./gengtype
+ 
+ stdcompz rtl.c
+ stdcompz read-rtl.c
+ stdcompz bitmap.c
+ stdcompz ggc-none.c
+ stdcompz min-insn-modes.c
+ stdcompz gensupport.c
+ stdcompz dummy-conditions.c
+ 
+ gcc -nostdlib -o genconstants genconstants.o gensupport.o dummy-conditions.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genconstants ./config/i370/i370.md >insn-constants.h
+ 
+ stdcompz genflags.c
+ stdcompz genconditions.c
+ 
+ gcc -nostdlib -o genconditions genconditions.o gensupport.o dummy-conditions.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genconditions ./config/i370/i370.md >insn-conditions.c
+ 
+ stdcompz genpreds.c
+ gcc -nostdlib -o genpreds genpreds.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genpreds >tm-preds.h
+ 
+ stdcompz insn-conditions.c
+ 
+ stdcompz gencheck.c
+ 
+ gcc -nostdlib -o gencheck gencheck.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./gencheck >tree-check.h
+ 
+ sed -e 's/config[.]h/bconfig.h/' ./print-rtl.c >print-rtl1.c
+ 
+ stdcompz print-rtl1.c
+ 
+ gcc -nostdlib -o genflags genflags.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genflags ./config/i370/i370.md >insn-flags.h
+ 
+ stdcompz genconfig.c
+ 
+ gcc -nostdlib -o genconfig genconfig.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genconfig ./config/i370/i370.md >insn-config.h
+ 
+ stdcompz gencodes.c
+ 
+ gcc -nostdlib -o gengenrtl gengenrtl.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ gcc -nostdlib -o gencodes gencodes.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./gencodes ./config/i370/i370.md >insn-codes.h
+ 
+ stdcompz genattr.c
+ 
+ gcc -nostdlib -o genattr genattr.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genattr ./config/i370/i370.md >insn-attr.h
+ 
+ stdcompz ./gcov-iov.c
+ 
+ gcc -nostdlib -o gengenrtl gengenrtl.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ gcc -nostdlib -o gcov-iov gcov-iov.o ../../pdos/pdpclib/pdplinux.a -lgcc
+ #./gcov-iov >gcov-iov.h
+ 
+ stdcompz genattrtab.c
+ stdcompz genautomata.c
+ stdcompz varray.c
+ 
+ gcc -nostdlib -o genattrtab genattrtab.o genautomata.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o varray.o libiberty.a -lm ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genattrtab ./config/i370/i370.md >insn-attrtab.c
+ 
+ stdcompz genemit.c
+ 
+ gcc -nostdlib -o genemit genemit.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genemit ./config/i370/i370.md >insn-emit.c
+ 
+ stdcompz genextract.c
+ 
+ gcc -nostdlib -o genextract genextract.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genextract ./config/i370/i370.md >insn-extract.c
+ 
+ stdcompz genopinit.c
+ 
+ gcc -nostdlib -o genopinit genopinit.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genopinit ./config/i370/i370.md >insn-opinit.c
+ 
+ stdcompz genoutput.c
+ 
+ gcc -nostdlib -o genoutput genoutput.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genoutput ./config/i370/i370.md >insn-output.c
+ 
+ stdcompz genpeep.c
+ 
+ gcc -nostdlib -o genpeep genpeep.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genpeep ./config/i370/i370.md >insn-peep.c
+ 
+ stdcompz genrecog.c
+ 
+ gcc -nostdlib -o genrecog genrecog.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ ./genrecog ./config/i370/i370.md >insn-recog.c
Index: gcc/gcc/gencomp.bat
diff -c /dev/null gcc/gcc/gencomp.bat:1.5
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gencomp.bat	Wed Nov 18 20:20:51 2009
***************
*** 0 ****
--- 1,201 ----
+ rm *.o
+ 
+ ren gencomp.exec gencomp.save
+ del gen*.exe
+ ren gencomp.save gencomp.exec
+ 
+ rm libiberty.a
+ rm autos.zip
+ 
+ zip -0 -m -@ -X autos.zip <genfiles.txt
+ unzip autos config.h auto-host.h tm.h tm_p.h specs.h options.c options.h multilib.h gtyp-gen.h gencheck.h gcov-iov.h configargs.h bconfig.h
+ 
+ echo #include "auto-host.h" >auto-build.h
+ 
+ call stdcompz ../libiberty/cplus-dem.c
+ call stdcompz ../libiberty/cp-demangle.c
+ call stdcompz ../libiberty/cp-demint.c
+ call stdcompz ../libiberty/md5.c
+ call stdcompz ../libiberty/alloca.c
+ call stdcompz ../libiberty/asprintf.c
+ call stdcompz ../libiberty/argv.c
+ call stdcompz ../libiberty/concat.c
+ call stdcompz ../libiberty/dyn-string.c
+ call stdcompz ../libiberty/fdmatch.c
+ call stdcompz ../libiberty/fibheap.c
+ call stdcompz ../libiberty/floatformat.c
+ call stdcompz ../libiberty/fnmatch.c
+ call stdcompz ../libiberty/getopt.c
+ call stdcompz ../libiberty/getopt1.c
+ call stdcompz ../libiberty/getpagesize.c
+ call stdcompz ../libiberty/getpwd.c
+ call stdcompz ../libiberty/getruntime.c
+ call stdcompz ../libiberty/hashtab.c
+ call stdcompz ../libiberty/hex.c
+ call stdcompz ../libiberty/lbasename.c
+ call stdcompz ../libiberty/lrealpath.c
+ call stdcompz ../libiberty/make-relative-prefix.c
+ call stdcompz ../libiberty/objalloc.c
+ call stdcompz ../libiberty/obstack.c
+ call stdcompz ../libiberty/partition.c
+ call stdcompz ../libiberty/physmem.c
+ call stdcompz ../libiberty/safe-ctype.c
+ call stdcompz ../libiberty/snprintf.c
+ call stdcompz ../libiberty/sort.c
+ call stdcompz ../libiberty/spaces.c
+ call stdcompz ../libiberty/splay-tree.c
+ call stdcompz ../libiberty/strcasecmp.c
+ call stdcompz ../libiberty/strdup.c
+ call stdcompz ../libiberty/strsignal.c
+ call stdcompz ../libiberty/ternary.c
+ call stdcompz ../libiberty/vasprintf.c
+ call stdcompz ../libiberty/vsnprintf.c
+ call stdcompz ../libiberty/xatexit.c
+ call stdcompz ../libiberty/xexit.c
+ call stdcompz ../libiberty/xmalloc.c
+ call stdcompz ../libiberty/xmemdup.c
+ call stdcompz ../libiberty/xstrdup.c
+ call stdcompz ../libiberty/xstrerror.c
+ 
+ ar rc libiberty.a *.o
+ ranlib libiberty.a
+ 
+ 
+ call stdcompz errors.c
+ 
+ call stdcompz genmodes.c
+ gcc -g -nostdlib -o genmodes genmodes.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ genmodes -h >insn-modes.h
+ genmodes -m >min-insn-modes.c
+ genmodes >insn-modes.c
+ 
+ call stdcompz gengenrtl.c
+ gcc -nostdlib -o gengenrtl gengenrtl.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ gengenrtl -h >genrtl.h
+ gengenrtl >genrtl.c
+ 
+ call stdcompz genconstants.c
+ 
+ call stdcompz gengtype.c
+ 
+ call stdcompz gengtype-lex.c
+ echo bison  -d -o gengtype-yacc.c gengtype-yacc.y
+ call stdcompz gengtype-yacc.c
+ 
+ gcc -nostdlib -o gengtype gengtype.o gengtype-lex.o gengtype-yacc.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ rem filenames hardcoded
+ echo this program generates a few warnings - that is normal
+ gengtype
+ 
+ call stdcompz rtl.c
+ call stdcompz read-rtl.c
+ call stdcompz bitmap.c
+ call stdcompz ggc-none.c
+ call stdcompz min-insn-modes.c
+ call stdcompz gensupport.c
+ call stdcompz dummy-conditions.c
+ 
+ gcc -nostdlib -o genconstants genconstants.o gensupport.o dummy-conditions.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genconstants ./config/i370/i370.md >insn-constants.h
+ 
+ call stdcompz genflags.c
+ call stdcompz genconditions.c
+ 
+ gcc -nostdlib -o genconditions genconditions.o gensupport.o dummy-conditions.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genconditions ./config/i370/i370.md >insn-conditions.c
+ 
+ call stdcompz genpreds.c
+ gcc -nostdlib -o genpreds genpreds.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genpreds >tm-preds.h
+ 
+ call stdcompz insn-conditions.c
+ 
+ call stdcompz gencheck.c
+ 
+ gcc -nostdlib -o gencheck gencheck.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ gencheck >tree-check.h
+ 
+ sed -e 's/config[.]h/bconfig.h/' ./print-rtl.c >print-rtl1.c
+ 
+ call stdcompz print-rtl1.c
+ 
+ gcc -nostdlib -o genflags genflags.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genflags ./config/i370/i370.md >insn-flags.h
+ 
+ call stdcompz genconfig.c
+ 
+ gcc -nostdlib -o genconfig genconfig.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genconfig ./config/i370/i370.md >insn-config.h
+ 
+ call stdcompz gencodes.c
+ 
+ gcc -nostdlib -o gengenrtl gengenrtl.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ gcc -nostdlib -o gencodes gencodes.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ gencodes ./config/i370/i370.md >insn-codes.h
+ 
+ call stdcompz genattr.c
+ 
+ gcc -nostdlib -o genattr genattr.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genattr ./config/i370/i370.md >insn-attr.h
+ 
+ call stdcompz ./gcov-iov.c
+ 
+ gcc -nostdlib -o gengenrtl gengenrtl.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ gcc -nostdlib -o gcov-iov gcov-iov.o ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ rem gcov-iov >gcov-iov.h
+ 
+ call stdcompz genattrtab.c
+ call stdcompz genautomata.c
+ call stdcompz varray.c
+ 
+ gcc -nostdlib -o genattrtab genattrtab.o genautomata.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o varray.o libiberty.a -lm ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genattrtab ./config/i370/i370.md >insn-attrtab.c
+ 
+ call stdcompz genemit.c
+ 
+ gcc -nostdlib -o genemit genemit.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genemit ./config/i370/i370.md >insn-emit.c
+ 
+ call stdcompz genextract.c
+ 
+ gcc -nostdlib -o genextract genextract.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genextract ./config/i370/i370.md >insn-extract.c
+ 
+ call stdcompz genopinit.c
+ 
+ gcc -nostdlib -o genopinit genopinit.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genopinit ./config/i370/i370.md >insn-opinit.c
+ 
+ call stdcompz genoutput.c
+ 
+ gcc -nostdlib -o genoutput genoutput.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genoutput ./config/i370/i370.md >insn-output.c
+ 
+ call stdcompz genpeep.c
+ 
+ gcc -nostdlib -o genpeep genpeep.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genpeep ./config/i370/i370.md >insn-peep.c
+ 
+ call stdcompz genrecog.c
+ 
+ gcc -nostdlib -o genrecog genrecog.o rtl.o read-rtl.o bitmap.o ggc-none.o min-insn-modes.o gensupport.o insn-conditions.o print-rtl1.o errors.o libiberty.a ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
+ 
+ genrecog ./config/i370/i370.md >insn-recog.c
Index: gcc/gcc/gencomp.exec
diff -c /dev/null gcc/gcc/gencomp.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gencomp.exec	Wed Nov 11 16:49:11 2009
***************
*** 0 ****
--- 1,605 ----
+ * Usage - GENCOMP <SRC>
+ 
+ * This script compiles and builds the generated files
+ 
+ &SRC = &1
+ 
+ 
+ EXEC GCCE XMALLOC C &SRC (PARM GENCOMP
+ EXEC GCCE XSTRERRO C &SRC (PARM GENCOMP
+ EXEC GCCE XSTRDUP C &SRC (PARM GENCOMP
+ EXEC GCCE XEXIT C &SRC (PARM GENCOMP
+ EXEC GCCE CONCAT C &SRC (PARM GENCOMP
+ EXEC GCCE HEX C &SRC (PARM GENCOMP
+ EXEC GCCE ALLOCA C &SRC (PARM GENCOMP
+ EXEC GCCE LBASENAM C &SRC (PARM GENCOMP
+ EXEC GCCE OBSTACK C &SRC (PARM GENCOMP
+ EXEC GCCE STRSIGNA C &SRC (PARM GENCOMP
+ EXEC GCCE SAFE-CTY C &SRC (PARM GENCOMP
+ EXEC GCCE SPLAY-TR C &SRC (PARM GENCOMP
+ EXEC GCCE FIBHEAP C &SRC (PARM GENCOMP
+ EXEC GCCE HASHTAB C &SRC (PARM GENCOMP
+ EXEC GCCE ASPRINTF C &SRC (PARM GENCOMP
+ EXEC GCCE VASPRINT C &SRC (PARM GENCOMP
+ EXEC GCCE GETPAGES C &SRC (PARM GENCOMP
+ EXEC GCCE PARTITIO C &SRC (PARM GENCOMP
+ 
+ 
+ EXEC GCCE GENGENRT C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENGENRT (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE PARTITIO (NOAUTO
+ 
+ GENMOD GENGENRT
+ 
+ FILEDEF SYSPRINT DISK GENRTL H &SRC (LRECL 2000 RECFM V
+ GENGENRT -h
+ FILEDEF SYSPRINT CLEAR
+ 
+ FILEDEF SYSPRINT DISK GENRTL C &SRC (LRECL 2000 RECFM V
+ GENGENRT
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENCHECK C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENCHECK (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE PARTITIO (NOAUTO
+ 
+ GENMOD GENCHECK
+ 
+ FILEDEF SYSPRINT DISK TREE-CHE H &SRC (LRECL 2000 RECFM V
+ GENCHECK
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE BITMAP C &SRC (PARM GENCOMP
+ EXEC GCCE PRINT-RT C &SRC (PARM GENCOMP
+ EXEC GCCE RTL C &SRC (PARM GENCOMP
+ EXEC GCCE ERRORS C &SRC (PARM GENCOMP
+ EXEC GCCE READ-RTL C &SRC (PARM GENCOMP
+ EXEC GCCE GGC-NONE C &SRC (PARM GENCOMP
+ EXEC GCCE GENSUPPO C &SRC (PARM GENCOMP
+ 
+ 
+ EXEC GCCE GENFLAGS C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENFLAGS (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENFLAGS
+ 
+ FILEDEF SYSPRINT DISK INSN-FLA H &SRC (LRECL 2000 RECFM V
+ GENFLAGS "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENCONST C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENCONST (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENCONST
+ 
+ FILEDEF SYSPRINT DISK I-CONSTA H &SRC (LRECL 2000 RECFM V
+ GENCONST "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENPREDS C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENPREDS (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE PARTITIO (NOAUTO
+ 
+ GENMOD GENPREDS
+ 
+ FILEDEF SYSPRINT DISK TM-PREDS H &SRC (LRECL 2000 RECFM V
+ GENPREDS
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENCONFI C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENCONFI (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENCONFI
+ 
+ FILEDEF SYSPRINT DISK INSN-CON H &SRC (LRECL 2000 RECFM V
+ GENCONFI "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENCODES C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENCODES (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENCODES
+ 
+ FILEDEF SYSPRINT DISK INSN-COD H &SRC (LRECL 2000 RECFM V
+ GENCODES "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENATTR C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENATTR (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENATTR
+ 
+ FILEDEF SYSPRINT DISK INSN-ATT H &SRC (LRECL 2000 RECFM V
+ GENATTR "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENATTRT C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENATTRT (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENATTRT
+ 
+ FILEDEF SYSPRINT DISK INSN-ATT C &SRC (LRECL 2000 RECFM V
+ GENATTRT "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENEMIT C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENEMIT (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENEMIT
+ 
+ FILEDEF SYSPRINT DISK INSN-EMI C &SRC (LRECL 2000 RECFM V
+ GENEMIT "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENEXTRA C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENEXTRA (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENEXTRA
+ 
+ FILEDEF SYSPRINT DISK INSN-EXT C &SRC (LRECL 2000 RECFM V
+ GENEXTRA "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENOPINI C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENOPINI (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENOPINI
+ 
+ FILEDEF SYSPRINT DISK INSN-OPI C &SRC (LRECL 2000 RECFM V
+ GENOPINI "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENOUTPU C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENOUTPU (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENOUTPU
+ 
+ FILEDEF SYSPRINT DISK INSN-OUT C &SRC (LRECL 2000 RECFM V
+ GENOUTPU "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENPEEP C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENPEEP (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENPEEP
+ 
+ FILEDEF SYSPRINT DISK INSN-PEE C &SRC (LRECL 2000 RECFM V
+ GENPEEP "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ EXEC GCCE GENRECOG C &SRC (PARM GENCOMP
+ 
+ &STACK HT
+ LOAD GENRECOG (NOAUTO NOLIBE NOMAP
+  INCLUDE XMALLOC (NOLIBE NOAUTO
+  INCLUDE XSTRERRO (NOLIBE NOAUTO
+  INCLUDE XSTRDUP (NOLIBE NOAUTO
+  INCLUDE XEXIT (NOLIBE NOAUTO
+  INCLUDE CONCAT (NOLIBE NOAUTO
+  INCLUDE HEX (NOLIBE NOAUTO
+  INCLUDE ALLOCA (NOLIBE NOAUTO
+  INCLUDE LBASENAM (NOLIBE NOAUTO
+  INCLUDE OBSTACK (NOLIBE NOAUTO
+  INCLUDE STRSIGNA (NOLIBE NOAUTO
+  INCLUDE SAFE-CTY (NOLIBE NOAUTO
+  INCLUDE SPLAY-TR (NOLIBE NOAUTO
+  INCLUDE FIBHEAP (NOLIBE NOAUTO
+  INCLUDE HASHTAB (NOLIBE NOAUTO
+  INCLUDE ASPRINTF (NOLIBE NOAUTO
+  INCLUDE VASPRINT (NOLIBE NOAUTO
+  INCLUDE GETPAGES (NOLIBE NOAUTO
+  INCLUDE PARTITIO (NOLIBE NOAUTO
+  INCLUDE RTL (NOLIBE NOAUTO
+  INCLUDE READ-RTL (NOLIBE NOAUTO
+  INCLUDE BITMAP (NOLIBE NOAUTO
+  INCLUDE GGC-NONE (NOLIBE NOAUTO
+  INCLUDE GENSUPPO (NOLIBE NOAUTO
+  INCLUDE PRINT-RT (NOLIBE NOAUTO
+ &STACK RT
+ INCLUDE ERRORS (NOAUTO
+ 
+ GENMOD GENRECOG
+ 
+ FILEDEF SYSPRINT DISK INSN-REC C &SRC (LRECL 2000 RECFM V
+ GENRECOG "I370 MD"
+ FILEDEF SYSPRINT CLEAR
+ 
+ 
+ FILEDEF SYSIN DISK C-PARSE IN &SRC
+ FILEDEF SYSPRINT DISK C-PARSE Y &SRC (LRECL 2000 RECFM V
+ FILEDEF SYSPARM DISK GENSED PARM &SRC
+ SED
+ FILEDEF SYSIN CLEAR
+ FILEDEF SYSPRINT CLEAR
+ FILEDEF SYSPARM CLEAR
+ 
+ 
+ EXEC BISON C-PARSE Y &SRC C-PARSE C &SRC TMPDEF TXT &SRC
+ 
+ ERASE C-PARSE Y &SRC
+ ERASE TMPDEF TXT &SRC
+ 
+ 
+ ERASE * TEXT &SRC
+ ERASE * MODULE &SRC
Index: gcc/gcc/gencomp.jcl
diff -c /dev/null gcc/gcc/gencomp.jcl:1.1.3.5
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gencomp.jcl	Thu May 12 16:38:24 2011
***************
*** 0 ****
--- 1,910 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //CREATE   PROC
+ //S1       EXEC PGM=IEFBR14
+ //DD10     DD DSN=&&TMPLOAD,DISP=(,PASS),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1000,1000,44)),UNIT=SYSALLDA
+ //DD11     DD DSN=&&TMPNCAL,DISP=(,PASS),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1000,1000,44)),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //GENCMP   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ //* Note - due to the 100-character limit, we use 'GENFILES'
+ //* rather than the normal defines you would expect.
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DGENFILES -o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=(SHR,PASS)
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //            DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
+ //            SPACE=(6160,(500,500))
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&&TEMP,DISP=(OLD,DELETE)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&&TMPNCAL(&MEMBER),DISP=(SHR,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC PDPPREF='PDPCLIB',EXE=''
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&&TMPNCAL,DISP=(SHR,PASS)
+ //         DD DSN=&PDPPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&&TMPLOAD(&EXE),DISP=(SHR,PASS)
+ //         PEND
+ //*
+ //MAKECP   PROC GCCPREF='GCC',BISPREF='BISON',SEDPREF='SED',
+ // SO1='-e "/^ifobjc$/,/^end ifobjc$/d"',
+ // SO2='-e "/^ifc$/d" -e "/^end ifc$/d"'
+ //SED      EXEC PGM=SED,PARM='&SO1 &SO2'
+ //STEPLIB  DD DSN=&SEDPREF..LINKLIB,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..DOC(C@PARSE),DISP=SHR
+ //SYSPRINT DD DSN=&&TEMP2,DISP=(NEW,PASS),UNIT=SYSALLDA,
+ //            DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ //            SPACE=(6233,(1000,1000))
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //BISON    EXEC PGM=BISON,PARM='--output=dd:out dd:in'
+ //STEPLIB  DD DSN=&BISPREF..LINKLIB,DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //IN       DD DSN=&&TEMP2,DISP=(OLD,DELETE)
+ //OUT      DD DSN=&GCCPREF..SOURCE(C@PARSE),DISP=SHR
+ //BISONH   DD DSN=&BISPREF..SOURCE(HAIRY),DISP=SHR
+ //BISONS   DD DSN=&BISPREF..SOURCE(SIMPLE),DISP=SHR
+ //         PEND
+ //*
+ //CREATTMP EXEC CREATE
+ //*
+ //XMALLOC  EXEC GENCMP,MEMBER=XMALLOC
+ //XSTRERRO EXEC GENCMP,MEMBER=XSTRERRO
+ //XSTRDUP  EXEC GENCMP,MEMBER=XSTRDUP
+ //XEXIT    EXEC GENCMP,MEMBER=XEXIT  
+ //CONCAT   EXEC GENCMP,MEMBER=CONCAT 
+ //HEX      EXEC GENCMP,MEMBER=HEX    
+ //ALLOCA   EXEC GENCMP,MEMBER=ALLOCA 
+ //LBASENAM EXEC GENCMP,MEMBER=LBASENAM
+ //OBSTACK  EXEC GENCMP,MEMBER=OBSTACK
+ //STRSIGNA EXEC GENCMP,MEMBER=STRSIGNA
+ //SAFE@CTY EXEC GENCMP,MEMBER=SAFE@CTY
+ //SPLAY@TR EXEC GENCMP,MEMBER=SPLAY@TR
+ //FIBHEAP  EXEC GENCMP,MEMBER=FIBHEAP
+ //HASHTAB  EXEC GENCMP,MEMBER=HASHTAB
+ //ASPRINTF EXEC GENCMP,MEMBER=ASPRINTF
+ //VASPRINT EXEC GENCMP,MEMBER=VASPRINT
+ //GETPAGES EXEC GENCMP,MEMBER=GETPAGES
+ //PARTITIO EXEC GENCMP,MEMBER=PARTITIO
+ //*
+ //GENGENRT EXEC GENCMP,MEMBER=GENGENRT
+ //*
+ //DOLINK   EXEC LINK,EXE='GENGENRT'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(GENGENRT)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENGENRT EXEC PGM=GENGENRT,PARM='-h'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD DSN=GCC.INCLUDE(GENRTL),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENGENRT EXEC PGM=GENGENRT
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD DSN=GCC.SOURCE(GENRTL),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENCHECK EXEC GENCMP,MEMBER=GENCHECK
+ //*
+ //DOLINK   EXEC LINK,EXE='GENCHECK'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(GENCHECK)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENCHECK EXEC PGM=GENCHECK
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD DSN=GCC.INCLUDE(TREE@CHE),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //BITMAP   EXEC GENCMP,MEMBER=BITMAP  
+ //PRINT@RT EXEC GENCMP,MEMBER=PRINT@RT
+ //RTL      EXEC GENCMP,MEMBER=RTL
+ //*
+ //ERRORS   EXEC GENCMP,MEMBER=ERRORS
+ //READ@RTL EXEC GENCMP,MEMBER=READ@RTL
+ //GGC@NONE EXEC GENCMP,MEMBER=GGC@NONE
+ //GENSUPPO EXEC GENCMP,MEMBER=GENSUPPO
+ //*
+ //GENFLAGS EXEC GENCMP,MEMBER=GENFLAGS
+ //*
+ //DOLINK   EXEC LINK,EXE='GENFLAGS'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENFLAGS)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENFLAGS EXEC PGM=GENFLAGS,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.INCLUDE(INSN@FLA),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENCONST EXEC GENCMP,MEMBER=GENCONST
+ //*
+ //DOLINK   EXEC LINK,EXE='GENCONST'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENCONST)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENCONST EXEC PGM=GENCONST,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.INCLUDE(I@CONSTA),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENPREDS EXEC GENCMP,MEMBER=GENPREDS
+ //*
+ //DOLINK   EXEC LINK,EXE='GENPREDS'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(GENPREDS)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENPREDS EXEC PGM=GENPREDS
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD DSN=GCC.INCLUDE(TM@PREDS),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENCONFI EXEC GENCMP,MEMBER=GENCONFI
+ //*
+ //DOLINK   EXEC LINK,EXE='GENCONFI'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENCONFI)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENCONFI EXEC PGM=GENCONFI,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.INCLUDE(INSN@CON),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENCODES EXEC GENCMP,MEMBER=GENCODES
+ //*
+ //DOLINK   EXEC LINK,EXE='GENCODES'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENCODES)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENCODES EXEC PGM=GENCODES,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.INCLUDE(INSN@COD),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENATTR  EXEC GENCMP,MEMBER=GENATTR
+ //*
+ //DOLINK   EXEC LINK,EXE='GENATTR'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENATTR)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENATTR  EXEC PGM=GENATTR,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.INCLUDE(INSN@ATT),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENATTRT EXEC GENCMP,MEMBER=GENATTRT
+ //*
+ //DOLINK   EXEC LINK,EXE='GENATTRT'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENATTRT)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENATTRT EXEC PGM=GENATTRT,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.SOURCE(INSN@ATT),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENEMIT  EXEC GENCMP,MEMBER=GENEMIT 
+ //*
+ //DOLINK   EXEC LINK,EXE='GENEMIT'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENEMIT)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENEMIT  EXEC PGM=GENEMIT,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.SOURCE(INSN@EMI),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENEXTRA EXEC GENCMP,MEMBER=GENEXTRA
+ //*
+ //DOLINK   EXEC LINK,EXE='GENEXTRA'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENEXTRA)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENEXTRA EXEC PGM=GENEXTRA,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.SOURCE(INSN@EXT),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENOPINI EXEC GENCMP,MEMBER=GENOPINI
+ //*
+ //DOLINK   EXEC LINK,EXE='GENOPINI'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENOPINI)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENOPINI EXEC PGM=GENOPINI,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.SOURCE(INSN@OPI),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENOUTPU EXEC GENCMP,MEMBER=GENOUTPU
+ //*
+ //DOLINK   EXEC LINK,EXE='GENOUTPU'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENOUTPU)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENOUTPU EXEC PGM=GENOUTPU,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.SOURCE(INSN@OUT),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENPEEP  EXEC GENCMP,MEMBER=GENPEEP
+ //*
+ //DOLINK   EXEC LINK,EXE='GENPEEP'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENPEEP)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENPEEP  EXEC PGM=GENPEEP,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.SOURCE(INSN@PEE),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //GENRECOG EXEC GENCMP,MEMBER=GENRECOG
+ //*
+ //DOLINK   EXEC LINK,EXE='GENRECOG'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL) 
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(READ@RTL)
+  INCLUDE SYSLIB(BITMAP)  
+  INCLUDE SYSLIB(GGC@NONE)
+  INCLUDE SYSLIB(GENSUPPO)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(ERRORS)
+  INCLUDE SYSLIB(GENRECOG)
+  ENTRY @@MAIN
+ /*
+ //*
+ //GENRECOG EXEC PGM=GENRECOG,PARM='dd:i370md'
+ //STEPLIB  DD DSN=&&TMPLOAD,DISP=(SHR,PASS)
+ //SYSIN    DD DUMMY
+ //I370MD   DD DSN=GCC.DOC(I370),DISP=SHR
+ //SYSPRINT DD DSN=GCC.SOURCE(INSN@REC),DISP=SHR
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //MAKECP   EXEC MAKECP
+ //*
+ //
Index: gcc/gcc/gencomp.parm
diff -c /dev/null gcc/gcc/gencomp.parm:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gencomp.parm	Wed Apr 15 23:24:21 2009
***************
*** 0 ****
--- 1 ----
+ -Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H -DGENFILES -o dd:out -
Index: gcc/gcc/genfiles.txt
diff -c /dev/null gcc/gcc/genfiles.txt:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/genfiles.txt	Mon Aug  3 22:59:26 2009
***************
*** 0 ****
--- 1,71 ----
+ auto-host.h
+ bconfig.h
+ config.h
+ configargs.h
+ gcov-iov.h
+ gencheck.h
+ genrtl.c
+ genrtl.h
+ gt-alias.h
+ gt-bitmap.h
+ gt-c-common.h
+ gt-c-decl.h
+ gt-c-parse.h
+ gt-c-pragma.h
+ gt-cfglayout.h
+ gt-cgraph.h
+ gt-coverage.h
+ gt-cselib.h
+ gt-dbxout.h
+ gt-dojump.h
+ gt-dwarf2asm.h
+ gt-dwarf2out.h
+ gt-emit-rtl.h
+ gt-except.h
+ gt-explow.h
+ gt-expr.h
+ gt-fold-const.h
+ gt-function.h
+ gt-gcse.h
+ gt-integrate.h
+ gt-langhooks.h
+ gt-lists.h
+ gt-optabs.h
+ gt-ra-build.h
+ gt-reg-stack.h
+ gt-regclass.h
+ gt-sdbout.h
+ gt-stmt.h
+ gt-stor-layout.h
+ gt-stringpool.h
+ gt-tree.h
+ gt-varasm.h
+ gtyp-gen.h
+ gtype-c.h
+ gtype-desc.c
+ gtype-desc.h
+ insn-attr.h
+ insn-attrtab.c
+ insn-codes.h
+ insn-conditions.c
+ insn-config.h
+ insn-constants.h
+ insn-emit.c
+ insn-extract.c
+ insn-flags.h
+ insn-modes.c
+ insn-modes.h
+ insn-opinit.c
+ insn-output.c
+ insn-peep.c
+ insn-recog.c
+ min-insn-modes.c
+ multilib.h
+ options.c
+ options.h
+ print-rtl1.c
+ specs.h
+ tm-preds.h
+ tm.h
+ tm_p.h
+ tree-check.h
Index: gcc/gcc/genrtl.c
diff -c /dev/null gcc/gcc/genrtl.c:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/genrtl.c	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,914 ----
+ /* Generated automatically by gengenrtl from rtl.def.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "obstack.h"
+ #include "rtl.h"
+ #include "ggc.h"
+ 
+ rtx
+ gen_rtx_fmt_s (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_ee (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtx arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_ue (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtx arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iss (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	const char *arg1,
+ 	const char *arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XSTR (rt, 1) = arg1;
+   XSTR (rt, 2) = arg2;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_is (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	const char *arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XSTR (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_i (RTX_CODE code, enum machine_mode mode,
+ 	int arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_isE (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	const char *arg1,
+ 	rtvec arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XSTR (rt, 1) = arg1;
+   XVEC (rt, 2) = arg2;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iE (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	rtvec arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XVEC (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_Ess (RTX_CODE code, enum machine_mode mode,
+ 	rtvec arg0,
+ 	const char *arg1,
+ 	const char *arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XVEC (rt, 0) = arg0;
+   XSTR (rt, 1) = arg1;
+   XSTR (rt, 2) = arg2;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_sEss (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0,
+ 	rtvec arg1,
+ 	const char *arg2,
+ 	const char *arg3)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+   XVEC (rt, 1) = arg1;
+   XSTR (rt, 2) = arg2;
+   XSTR (rt, 3) = arg3;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_eE (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtvec arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XVEC (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_E (RTX_CODE code, enum machine_mode mode,
+ 	rtvec arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XVEC (rt, 0) = arg0;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_e (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_ss (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0,
+ 	const char *arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+   XSTR (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_sies (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0,
+ 	int arg1,
+ 	rtx arg2,
+ 	const char *arg3)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+   XINT (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XSTR (rt, 3) = arg3;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_sse (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0,
+ 	const char *arg1,
+ 	rtx arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+   XSTR (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_sE (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0,
+ 	rtvec arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+   XVEC (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_ii (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	int arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XINT (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iuuBieiee (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	rtx arg1,
+ 	rtx arg2,
+ 	struct basic_block_def *arg3,
+ 	int arg4,
+ 	rtx arg5,
+ 	int arg6,
+ 	rtx arg7,
+ 	rtx arg8)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XBBDEF (rt, 3) = arg3;
+   XINT (rt, 4) = arg4;
+   XEXP (rt, 5) = arg5;
+   XINT (rt, 6) = arg6;
+   XEXP (rt, 7) = arg7;
+   XEXP (rt, 8) = arg8;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iuuBieiee0 (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	rtx arg1,
+ 	rtx arg2,
+ 	struct basic_block_def *arg3,
+ 	int arg4,
+ 	rtx arg5,
+ 	int arg6,
+ 	rtx arg7,
+ 	rtx arg8)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XBBDEF (rt, 3) = arg3;
+   XINT (rt, 4) = arg4;
+   XEXP (rt, 5) = arg5;
+   XINT (rt, 6) = arg6;
+   XEXP (rt, 7) = arg7;
+   XEXP (rt, 8) = arg8;
+   X0EXP (rt, 9) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iuuBieieee (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	rtx arg1,
+ 	rtx arg2,
+ 	struct basic_block_def *arg3,
+ 	int arg4,
+ 	rtx arg5,
+ 	int arg6,
+ 	rtx arg7,
+ 	rtx arg8,
+ 	rtx arg9)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XBBDEF (rt, 3) = arg3;
+   XINT (rt, 4) = arg4;
+   XEXP (rt, 5) = arg5;
+   XINT (rt, 6) = arg6;
+   XEXP (rt, 7) = arg7;
+   XEXP (rt, 8) = arg8;
+   XEXP (rt, 9) = arg9;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iuu000000 (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	rtx arg1,
+ 	rtx arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   X0EXP (rt, 3) = NULL_RTX;
+   X0EXP (rt, 4) = NULL_RTX;
+   X0EXP (rt, 5) = NULL_RTX;
+   X0EXP (rt, 6) = NULL_RTX;
+   X0EXP (rt, 7) = NULL_RTX;
+   X0EXP (rt, 8) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iuuB00is (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	rtx arg1,
+ 	rtx arg2,
+ 	struct basic_block_def *arg3,
+ 	int arg4,
+ 	const char *arg5)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XBBDEF (rt, 3) = arg3;
+   X0EXP (rt, 4) = NULL_RTX;
+   X0EXP (rt, 5) = NULL_RTX;
+   XINT (rt, 6) = arg4;
+   XSTR (rt, 7) = arg5;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_ssiEEsi (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0,
+ 	const char *arg1,
+ 	int arg2,
+ 	rtvec arg3,
+ 	rtvec arg4,
+ 	const char *arg5,
+ 	int arg6)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+   XSTR (rt, 1) = arg1;
+   XINT (rt, 2) = arg2;
+   XVEC (rt, 3) = arg3;
+   XVEC (rt, 4) = arg4;
+   XSTR (rt, 5) = arg5;
+   XINT (rt, 6) = arg6;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_Ei (RTX_CODE code, enum machine_mode mode,
+ 	rtvec arg0,
+ 	int arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XVEC (rt, 0) = arg0;
+   XINT (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_eEee0 (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtvec arg1,
+ 	rtx arg2,
+ 	rtx arg3)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XVEC (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XEXP (rt, 3) = arg3;
+   X0EXP (rt, 4) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_eee (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtx arg1,
+ 	rtx arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_ (RTX_CODE code, enum machine_mode mode)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_w (RTX_CODE code, enum machine_mode mode,
+ 	HOST_WIDE_INT arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XWINT (rt, 0) = arg0;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_0 (RTX_CODE code, enum machine_mode mode)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   X0EXP (rt, 0) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_i00 (RTX_CODE code, enum machine_mode mode,
+ 	int arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   X0EXP (rt, 1) = NULL_RTX;
+   X0EXP (rt, 2) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_ei (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	int arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XINT (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_e0 (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   X0EXP (rt, 1) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_u00 (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   X0EXP (rt, 1) = NULL_RTX;
+   X0EXP (rt, 2) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_s00 (RTX_CODE code, enum machine_mode mode,
+ 	const char *arg0)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XSTR (rt, 0) = arg0;
+   X0EXP (rt, 1) = NULL_RTX;
+   X0EXP (rt, 2) = NULL_RTX;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_eit (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	int arg1,
+ 	union tree_node *arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XINT (rt, 1) = arg1;
+   XTREE (rt, 2) = arg2;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_eeeee (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtx arg1,
+ 	rtx arg2,
+ 	rtx arg3,
+ 	rtx arg4)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XEXP (rt, 3) = arg3;
+   XEXP (rt, 4) = arg4;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_Ee (RTX_CODE code, enum machine_mode mode,
+ 	rtvec arg0,
+ 	rtx arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XVEC (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_uuEiiiiiibbii (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtx arg1,
+ 	rtvec arg2,
+ 	int arg3,
+ 	int arg4,
+ 	int arg5,
+ 	int arg6,
+ 	int arg7,
+ 	int arg8,
+ 	struct bitmap_head_def *arg9,
+ 	struct bitmap_head_def *arg10,
+ 	int arg11,
+ 	int arg12)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XVEC (rt, 2) = arg2;
+   XINT (rt, 3) = arg3;
+   XINT (rt, 4) = arg4;
+   XINT (rt, 5) = arg5;
+   XINT (rt, 6) = arg6;
+   XINT (rt, 7) = arg7;
+   XINT (rt, 8) = arg8;
+   XBITMAP (rt, 9) = arg9;
+   XBITMAP (rt, 10) = arg10;
+   XINT (rt, 11) = arg11;
+   XINT (rt, 12) = arg12;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_iiiiiiiitt (RTX_CODE code, enum machine_mode mode,
+ 	int arg0,
+ 	int arg1,
+ 	int arg2,
+ 	int arg3,
+ 	int arg4,
+ 	int arg5,
+ 	int arg6,
+ 	int arg7,
+ 	union tree_node *arg8,
+ 	union tree_node *arg9)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XINT (rt, 0) = arg0;
+   XINT (rt, 1) = arg1;
+   XINT (rt, 2) = arg2;
+   XINT (rt, 3) = arg3;
+   XINT (rt, 4) = arg4;
+   XINT (rt, 5) = arg5;
+   XINT (rt, 6) = arg6;
+   XINT (rt, 7) = arg7;
+   XTREE (rt, 8) = arg8;
+   XTREE (rt, 9) = arg9;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_eti (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	union tree_node *arg1,
+ 	int arg2)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XTREE (rt, 1) = arg1;
+   XINT (rt, 2) = arg2;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_bi (RTX_CODE code, enum machine_mode mode,
+ 	struct bitmap_head_def *arg0,
+ 	int arg1)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XBITMAP (rt, 0) = arg0;
+   XINT (rt, 1) = arg1;
+ 
+   return rt;
+ }
+ 
+ rtx
+ gen_rtx_fmt_uuuu (RTX_CODE code, enum machine_mode mode,
+ 	rtx arg0,
+ 	rtx arg1,
+ 	rtx arg2,
+ 	rtx arg3)
+ {
+   rtx rt;
+   rt = ggc_alloc_rtx (code);
+ 
+   memset (rt, 0, RTX_HDR_SIZE);
+ 
+   PUT_CODE (rt, code);
+   PUT_MODE (rt, mode);
+   XEXP (rt, 0) = arg0;
+   XEXP (rt, 1) = arg1;
+   XEXP (rt, 2) = arg2;
+   XEXP (rt, 3) = arg3;
+ 
+   return rt;
+ }
+ 
Index: gcc/gcc/genrtl.h
diff -c /dev/null gcc/gcc/genrtl.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/genrtl.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,436 ----
+ /* Generated automatically by gengenrtl from rtl.def.  */
+ 
+ #ifndef GCC_GENRTL_H
+ #define GCC_GENRTL_H
+ 
+ extern rtx gen_rtx_fmt_s	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0);
+ extern rtx gen_rtx_fmt_ee	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtx arg1);
+ extern rtx gen_rtx_fmt_ue	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtx arg1);
+ extern rtx gen_rtx_fmt_iss	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, const char *arg1,
+ 				       const char *arg2);
+ extern rtx gen_rtx_fmt_is	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, const char *arg1);
+ extern rtx gen_rtx_fmt_i	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0);
+ extern rtx gen_rtx_fmt_isE	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, const char *arg1,
+ 				       rtvec arg2);
+ extern rtx gen_rtx_fmt_iE	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, rtvec arg1);
+ extern rtx gen_rtx_fmt_Ess	 (RTX_CODE, enum machine_mode mode,
+ 				       rtvec arg0, const char *arg1,
+ 				       const char *arg2);
+ extern rtx gen_rtx_fmt_sEss	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0, rtvec arg1,
+ 				       const char *arg2, const char *arg3);
+ extern rtx gen_rtx_fmt_eE	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtvec arg1);
+ extern rtx gen_rtx_fmt_E	 (RTX_CODE, enum machine_mode mode,
+ 				       rtvec arg0);
+ extern rtx gen_rtx_fmt_e	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0);
+ extern rtx gen_rtx_fmt_ss	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0, const char *arg1);
+ extern rtx gen_rtx_fmt_sies	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0, int arg1,
+ 				       rtx arg2, const char *arg3);
+ extern rtx gen_rtx_fmt_sse	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0, const char *arg1,
+ 				       rtx arg2);
+ extern rtx gen_rtx_fmt_sE	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0, rtvec arg1);
+ extern rtx gen_rtx_fmt_ii	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, int arg1);
+ extern rtx gen_rtx_fmt_iuuBieiee	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, rtx arg1, rtx arg2,
+ 				       struct basic_block_def *arg3,
+ 				       int arg4, rtx arg5, int arg6,
+ 				       rtx arg7, rtx arg8);
+ extern rtx gen_rtx_fmt_iuuBieiee0	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, rtx arg1, rtx arg2,
+ 				       struct basic_block_def *arg3,
+ 				       int arg4, rtx arg5, int arg6,
+ 				       rtx arg7, rtx arg8);
+ extern rtx gen_rtx_fmt_iuuBieieee	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, rtx arg1, rtx arg2,
+ 				       struct basic_block_def *arg3,
+ 				       int arg4, rtx arg5, int arg6,
+ 				       rtx arg7, rtx arg8, rtx arg9);
+ extern rtx gen_rtx_fmt_iuu000000	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, rtx arg1, rtx arg2);
+ extern rtx gen_rtx_fmt_iuuB00is	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, rtx arg1, rtx arg2,
+ 				       struct basic_block_def *arg3,
+ 				       int arg4, const char *arg5);
+ extern rtx gen_rtx_fmt_ssiEEsi	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0, const char *arg1,
+ 				       int arg2, rtvec arg3, rtvec arg4,
+ 				       const char *arg5, int arg6);
+ extern rtx gen_rtx_fmt_Ei	 (RTX_CODE, enum machine_mode mode,
+ 				       rtvec arg0, int arg1);
+ extern rtx gen_rtx_fmt_eEee0	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtvec arg1, rtx arg2,
+ 				       rtx arg3);
+ extern rtx gen_rtx_fmt_eee	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtx arg1, rtx arg2);
+ extern rtx gen_rtx_fmt_	 (RTX_CODE, enum machine_mode mode);
+ extern rtx gen_rtx_fmt_w	 (RTX_CODE, enum machine_mode mode,
+ 				       HOST_WIDE_INT arg0);
+ extern rtx gen_rtx_fmt_0	 (RTX_CODE, enum machine_mode mode);
+ extern rtx gen_rtx_fmt_i00	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0);
+ extern rtx gen_rtx_fmt_ei	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, int arg1);
+ extern rtx gen_rtx_fmt_e0	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0);
+ extern rtx gen_rtx_fmt_u00	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0);
+ extern rtx gen_rtx_fmt_s00	 (RTX_CODE, enum machine_mode mode,
+ 				       const char *arg0);
+ extern rtx gen_rtx_fmt_eit	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, int arg1,
+ 				       union tree_node *arg2);
+ extern rtx gen_rtx_fmt_eeeee	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtx arg1, rtx arg2,
+ 				       rtx arg3, rtx arg4);
+ extern rtx gen_rtx_fmt_Ee	 (RTX_CODE, enum machine_mode mode,
+ 				       rtvec arg0, rtx arg1);
+ extern rtx gen_rtx_fmt_uuEiiiiiibbii	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtx arg1, rtvec arg2,
+ 				       int arg3, int arg4, int arg5,
+ 				       int arg6, int arg7, int arg8,
+ 				       struct bitmap_head_def *arg9,
+ 				       struct bitmap_head_def *arg10,
+ 				       int arg11, int arg12);
+ extern rtx gen_rtx_fmt_iiiiiiiitt	 (RTX_CODE, enum machine_mode mode,
+ 				       int arg0, int arg1, int arg2,
+ 				       int arg3, int arg4, int arg5,
+ 				       int arg6, int arg7,
+ 				       union tree_node *arg8,
+ 				       union tree_node *arg9);
+ extern rtx gen_rtx_fmt_eti	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, union tree_node *arg1,
+ 				       int arg2);
+ extern rtx gen_rtx_fmt_bi	 (RTX_CODE, enum machine_mode mode,
+ 				       struct bitmap_head_def *arg0,
+ 				       int arg1);
+ extern rtx gen_rtx_fmt_uuuu	 (RTX_CODE, enum machine_mode mode,
+ 				       rtx arg0, rtx arg1, rtx arg2,
+ 				       rtx arg3);
+ 
+ #define gen_rtx_INCLUDE(MODE, ARG0) \
+   gen_rtx_fmt_s (INCLUDE, (MODE), (ARG0))
+ #define gen_rtx_EXPR_LIST(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (EXPR_LIST, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_INSN_LIST(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ue (INSN_LIST, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_MATCH_OPERAND(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_iss (MATCH_OPERAND, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_MATCH_SCRATCH(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_is (MATCH_SCRATCH, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_MATCH_DUP(MODE, ARG0) \
+   gen_rtx_fmt_i (MATCH_DUP, (MODE), (ARG0))
+ #define gen_rtx_MATCH_OPERATOR(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_isE (MATCH_OPERATOR, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_MATCH_PARALLEL(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_isE (MATCH_PARALLEL, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_MATCH_OP_DUP(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_iE (MATCH_OP_DUP, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_MATCH_PAR_DUP(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_iE (MATCH_PAR_DUP, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_MATCH_INSN(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_is (MATCH_INSN, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_DEFINE_COMBINE(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_Ess (DEFINE_COMBINE, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_DEFINE_EXPAND(MODE, ARG0, ARG1, ARG2, ARG3) \
+   gen_rtx_fmt_sEss (DEFINE_EXPAND, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
+ #define gen_rtx_DEFINE_DELAY(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_eE (DEFINE_DELAY, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_DEFINE_COND_EXEC(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_Ess (DEFINE_COND_EXEC, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_SEQUENCE(MODE, ARG0) \
+   gen_rtx_fmt_E (SEQUENCE, (MODE), (ARG0))
+ #define gen_rtx_ADDRESS(MODE, ARG0) \
+   gen_rtx_fmt_e (ADDRESS, (MODE), (ARG0))
+ #define gen_rtx_EXCLUSION_SET(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (EXCLUSION_SET, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_PRESENCE_SET(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (PRESENCE_SET, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_FINAL_PRESENCE_SET(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (FINAL_PRESENCE_SET, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_ABSENCE_SET(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (ABSENCE_SET, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_FINAL_ABSENCE_SET(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (FINAL_ABSENCE_SET, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_DEFINE_AUTOMATON(MODE, ARG0) \
+   gen_rtx_fmt_s (DEFINE_AUTOMATON, (MODE), (ARG0))
+ #define gen_rtx_AUTOMATA_OPTION(MODE, ARG0) \
+   gen_rtx_fmt_s (AUTOMATA_OPTION, (MODE), (ARG0))
+ #define gen_rtx_DEFINE_RESERVATION(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (DEFINE_RESERVATION, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_DEFINE_INSN_RESERVATION(MODE, ARG0, ARG1, ARG2, ARG3) \
+   gen_rtx_fmt_sies (DEFINE_INSN_RESERVATION, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
+ #define gen_rtx_DEFINE_ATTR(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_sse (DEFINE_ATTR, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_ATTR(MODE, ARG0) \
+   gen_rtx_fmt_s (ATTR, (MODE), (ARG0))
+ #define gen_rtx_SET_ATTR(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (SET_ATTR, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_SET_ATTR_ALTERNATIVE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_sE (SET_ATTR_ALTERNATIVE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_EQ_ATTR(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ss (EQ_ATTR, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_EQ_ATTR_ALT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ii (EQ_ATTR_ALT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_ATTR_FLAG(MODE, ARG0) \
+   gen_rtx_fmt_s (ATTR_FLAG, (MODE), (ARG0))
+ #define gen_rtx_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8) \
+   gen_rtx_fmt_iuuBieiee (INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7), (ARG8))
+ #define gen_rtx_JUMP_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8) \
+   gen_rtx_fmt_iuuBieiee0 (JUMP_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7), (ARG8))
+ #define gen_rtx_CALL_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8, ARG9) \
+   gen_rtx_fmt_iuuBieieee (CALL_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7), (ARG8), (ARG9))
+ #define gen_rtx_BARRIER(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_iuu000000 (BARRIER, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_CODE_LABEL(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5) \
+   gen_rtx_fmt_iuuB00is (CODE_LABEL, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5))
+ #define gen_rtx_COND_EXEC(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (COND_EXEC, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_PARALLEL(MODE, ARG0) \
+   gen_rtx_fmt_E (PARALLEL, (MODE), (ARG0))
+ #define gen_rtx_ASM_INPUT(MODE, ARG0) \
+   gen_rtx_fmt_s (ASM_INPUT, (MODE), (ARG0))
+ #define gen_rtx_ASM_OPERANDS(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
+   gen_rtx_fmt_ssiEEsi (ASM_OPERANDS, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
+ #define gen_rtx_UNSPEC(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_Ei (UNSPEC, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UNSPEC_VOLATILE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_Ei (UNSPEC_VOLATILE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_ADDR_VEC(MODE, ARG0) \
+   gen_rtx_fmt_E (ADDR_VEC, (MODE), (ARG0))
+ #define gen_rtx_ADDR_DIFF_VEC(MODE, ARG0, ARG1, ARG2, ARG3) \
+   gen_rtx_fmt_eEee0 (ADDR_DIFF_VEC, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
+ #define gen_rtx_PREFETCH(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_eee (PREFETCH, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_SET(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (SET, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_USE(MODE, ARG0) \
+   gen_rtx_fmt_e (USE, (MODE), (ARG0))
+ #define gen_rtx_CLOBBER(MODE, ARG0) \
+   gen_rtx_fmt_e (CLOBBER, (MODE), (ARG0))
+ #define gen_rtx_CALL(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (CALL, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_RETURN(MODE) \
+   gen_rtx_fmt_ (RETURN, (MODE))
+ #define gen_rtx_TRAP_IF(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (TRAP_IF, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_RESX(MODE, ARG0) \
+   gen_rtx_fmt_i (RESX, (MODE), (ARG0))
+ #define gen_rtx_raw_CONST_INT(MODE, ARG0) \
+   gen_rtx_fmt_w (CONST_INT, (MODE), (ARG0))
+ #define gen_rtx_raw_CONST_VECTOR(MODE, ARG0) \
+   gen_rtx_fmt_E (CONST_VECTOR, (MODE), (ARG0))
+ #define gen_rtx_CONST_STRING(MODE, ARG0) \
+   gen_rtx_fmt_s (CONST_STRING, (MODE), (ARG0))
+ #define gen_rtx_CONST(MODE, ARG0) \
+   gen_rtx_fmt_e (CONST, (MODE), (ARG0))
+ #define gen_rtx_PC(MODE) \
+   gen_rtx_fmt_ (PC, (MODE))
+ #define gen_rtx_VALUE(MODE) \
+   gen_rtx_fmt_0 (VALUE, (MODE))
+ #define gen_rtx_raw_REG(MODE, ARG0) \
+   gen_rtx_fmt_i00 (REG, (MODE), (ARG0))
+ #define gen_rtx_SCRATCH(MODE) \
+   gen_rtx_fmt_0 (SCRATCH, (MODE))
+ #define gen_rtx_raw_SUBREG(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ei (SUBREG, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_STRICT_LOW_PART(MODE, ARG0) \
+   gen_rtx_fmt_e (STRICT_LOW_PART, (MODE), (ARG0))
+ #define gen_rtx_CONCAT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (CONCAT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_raw_MEM(MODE, ARG0) \
+   gen_rtx_fmt_e0 (MEM, (MODE), (ARG0))
+ #define gen_rtx_LABEL_REF(MODE, ARG0) \
+   gen_rtx_fmt_u00 (LABEL_REF, (MODE), (ARG0))
+ #define gen_rtx_SYMBOL_REF(MODE, ARG0) \
+   gen_rtx_fmt_s00 (SYMBOL_REF, (MODE), (ARG0))
+ #define gen_rtx_CC0(MODE) \
+   gen_rtx_fmt_ (CC0, (MODE))
+ #define gen_rtx_ADDRESSOF(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_eit (ADDRESSOF, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_QUEUED(MODE, ARG0, ARG1, ARG2, ARG3, ARG4) \
+   gen_rtx_fmt_eeeee (QUEUED, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4))
+ #define gen_rtx_IF_THEN_ELSE(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_eee (IF_THEN_ELSE, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_COND(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_Ee (COND, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_COMPARE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (COMPARE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_PLUS(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (PLUS, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_MINUS(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (MINUS, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_NEG(MODE, ARG0) \
+   gen_rtx_fmt_e (NEG, (MODE), (ARG0))
+ #define gen_rtx_MULT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (MULT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_DIV(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (DIV, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_MOD(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (MOD, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UDIV(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UDIV, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UMOD(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UMOD, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_AND(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (AND, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_IOR(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (IOR, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_XOR(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (XOR, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_NOT(MODE, ARG0) \
+   gen_rtx_fmt_e (NOT, (MODE), (ARG0))
+ #define gen_rtx_ASHIFT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (ASHIFT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_ROTATE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (ROTATE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_ASHIFTRT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (ASHIFTRT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_LSHIFTRT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (LSHIFTRT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_ROTATERT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (ROTATERT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_SMIN(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (SMIN, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_SMAX(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (SMAX, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UMIN(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UMIN, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UMAX(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UMAX, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_PRE_DEC(MODE, ARG0) \
+   gen_rtx_fmt_e (PRE_DEC, (MODE), (ARG0))
+ #define gen_rtx_PRE_INC(MODE, ARG0) \
+   gen_rtx_fmt_e (PRE_INC, (MODE), (ARG0))
+ #define gen_rtx_POST_DEC(MODE, ARG0) \
+   gen_rtx_fmt_e (POST_DEC, (MODE), (ARG0))
+ #define gen_rtx_POST_INC(MODE, ARG0) \
+   gen_rtx_fmt_e (POST_INC, (MODE), (ARG0))
+ #define gen_rtx_PRE_MODIFY(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (PRE_MODIFY, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_POST_MODIFY(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (POST_MODIFY, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_NE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (NE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_EQ(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (EQ, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_GE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (GE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_GT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (GT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_LE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (LE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_LT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (LT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_GEU(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (GEU, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_GTU(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (GTU, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_LEU(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (LEU, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_LTU(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (LTU, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UNORDERED(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UNORDERED, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_ORDERED(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (ORDERED, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UNEQ(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UNEQ, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UNGE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UNGE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UNGT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UNGT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UNLE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UNLE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_UNLT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (UNLT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_LTGT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (LTGT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_SIGN_EXTEND(MODE, ARG0) \
+   gen_rtx_fmt_e (SIGN_EXTEND, (MODE), (ARG0))
+ #define gen_rtx_ZERO_EXTEND(MODE, ARG0) \
+   gen_rtx_fmt_e (ZERO_EXTEND, (MODE), (ARG0))
+ #define gen_rtx_TRUNCATE(MODE, ARG0) \
+   gen_rtx_fmt_e (TRUNCATE, (MODE), (ARG0))
+ #define gen_rtx_FLOAT_EXTEND(MODE, ARG0) \
+   gen_rtx_fmt_e (FLOAT_EXTEND, (MODE), (ARG0))
+ #define gen_rtx_FLOAT_TRUNCATE(MODE, ARG0) \
+   gen_rtx_fmt_e (FLOAT_TRUNCATE, (MODE), (ARG0))
+ #define gen_rtx_FLOAT(MODE, ARG0) \
+   gen_rtx_fmt_e (FLOAT, (MODE), (ARG0))
+ #define gen_rtx_FIX(MODE, ARG0) \
+   gen_rtx_fmt_e (FIX, (MODE), (ARG0))
+ #define gen_rtx_UNSIGNED_FLOAT(MODE, ARG0) \
+   gen_rtx_fmt_e (UNSIGNED_FLOAT, (MODE), (ARG0))
+ #define gen_rtx_UNSIGNED_FIX(MODE, ARG0) \
+   gen_rtx_fmt_e (UNSIGNED_FIX, (MODE), (ARG0))
+ #define gen_rtx_ABS(MODE, ARG0) \
+   gen_rtx_fmt_e (ABS, (MODE), (ARG0))
+ #define gen_rtx_SQRT(MODE, ARG0) \
+   gen_rtx_fmt_e (SQRT, (MODE), (ARG0))
+ #define gen_rtx_FFS(MODE, ARG0) \
+   gen_rtx_fmt_e (FFS, (MODE), (ARG0))
+ #define gen_rtx_CLZ(MODE, ARG0) \
+   gen_rtx_fmt_e (CLZ, (MODE), (ARG0))
+ #define gen_rtx_CTZ(MODE, ARG0) \
+   gen_rtx_fmt_e (CTZ, (MODE), (ARG0))
+ #define gen_rtx_POPCOUNT(MODE, ARG0) \
+   gen_rtx_fmt_e (POPCOUNT, (MODE), (ARG0))
+ #define gen_rtx_PARITY(MODE, ARG0) \
+   gen_rtx_fmt_e (PARITY, (MODE), (ARG0))
+ #define gen_rtx_SIGN_EXTRACT(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_eee (SIGN_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_ZERO_EXTRACT(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_eee (ZERO_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_HIGH(MODE, ARG0) \
+   gen_rtx_fmt_e (HIGH, (MODE), (ARG0))
+ #define gen_rtx_LO_SUM(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (LO_SUM, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_RANGE_INFO(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8, ARG9, ARG10, ARG11, ARG12) \
+   gen_rtx_fmt_uuEiiiiiibbii (RANGE_INFO, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7), (ARG8), (ARG9), (ARG10), (ARG11), (ARG12))
+ #define gen_rtx_RANGE_REG(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8, ARG9) \
+   gen_rtx_fmt_iiiiiiiitt (RANGE_REG, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7), (ARG8), (ARG9))
+ #define gen_rtx_RANGE_VAR(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_eti (RANGE_VAR, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_RANGE_LIVE(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_bi (RANGE_LIVE, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_CONSTANT_P_RTX(MODE, ARG0) \
+   gen_rtx_fmt_e (CONSTANT_P_RTX, (MODE), (ARG0))
+ #define gen_rtx_CALL_PLACEHOLDER(MODE, ARG0, ARG1, ARG2, ARG3) \
+   gen_rtx_fmt_uuuu (CALL_PLACEHOLDER, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
+ #define gen_rtx_VEC_MERGE(MODE, ARG0, ARG1, ARG2) \
+   gen_rtx_fmt_eee (VEC_MERGE, (MODE), (ARG0), (ARG1), (ARG2))
+ #define gen_rtx_VEC_SELECT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (VEC_SELECT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_VEC_CONCAT(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (VEC_CONCAT, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_VEC_DUPLICATE(MODE, ARG0) \
+   gen_rtx_fmt_e (VEC_DUPLICATE, (MODE), (ARG0))
+ #define gen_rtx_SS_PLUS(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (SS_PLUS, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_US_PLUS(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (US_PLUS, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_SS_MINUS(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (SS_MINUS, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_US_MINUS(MODE, ARG0, ARG1) \
+   gen_rtx_fmt_ee (US_MINUS, (MODE), (ARG0), (ARG1))
+ #define gen_rtx_SS_TRUNCATE(MODE, ARG0) \
+   gen_rtx_fmt_e (SS_TRUNCATE, (MODE), (ARG0))
+ #define gen_rtx_US_TRUNCATE(MODE, ARG0) \
+   gen_rtx_fmt_e (US_TRUNCATE, (MODE), (ARG0))
+ 
+ #endif /* GCC_GENRTL_H */
Index: gcc/gcc/gensed.parm
diff -c /dev/null gcc/gcc/gensed.parm:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gensed.parm	Wed Apr 15 23:24:15 2009
***************
*** 0 ****
--- 1 ----
+ -e "/^ifobjc$/,/^end ifobjc$/d" -e "/^ifc$/d" -e "/^end ifc$/d"
Index: gcc/gcc/gt-alias.h
diff -c /dev/null gcc/gcc/gt-alias.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gt-alias.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,499 ----
+ /* Type information for alias.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_alias_set_entry (void *x_p)
+ {
+   struct alias_set_entry * const x = (struct alias_set_entry *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_II12splay_tree_s ((*x).children);
+     }
+ }
+ 
+ void
+ gt_ggc_m_P15alias_set_entry15varray_head_tag (void *x_p)
+ {
+   struct varray_head_tag * const x = (struct varray_head_tag *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       switch ((*x).type)
+         {
+         case VARRAY_DATA_C:
+           break;
+         case VARRAY_DATA_UC:
+           break;
+         case VARRAY_DATA_S:
+           break;
+         case VARRAY_DATA_US:
+           break;
+         case VARRAY_DATA_I:
+           break;
+         case VARRAY_DATA_U:
+           break;
+         case VARRAY_DATA_L:
+           break;
+         case VARRAY_DATA_UL:
+           break;
+         case VARRAY_DATA_HINT:
+           break;
+         case VARRAY_DATA_UHINT:
+           break;
+         case VARRAY_DATA_GENERIC:
+           {
+             size_t i10;
+             for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+               gt_ggc_m_15alias_set_entry ((*x).data.generic[i10]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CPTR:
+           {
+             size_t i11;
+             for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+             }
+           }
+           break;
+         case VARRAY_DATA_RTX:
+           {
+             size_t i12;
+             for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+               gt_ggc_m_7rtx_def ((*x).data.rtx[i12]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTVEC:
+           {
+             size_t i13;
+             for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+               gt_ggc_m_9rtvec_def ((*x).data.rtvec[i13]);
+             }
+           }
+           break;
+         case VARRAY_DATA_TREE:
+           {
+             size_t i14;
+             for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+               gt_ggc_m_9tree_node ((*x).data.tree[i14]);
+             }
+           }
+           break;
+         case VARRAY_DATA_BITMAP:
+           {
+             size_t i15;
+             for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+               gt_ggc_m_15bitmap_head_def ((*x).data.bitmap[i15]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CONST_EQUIV:
+           {
+             size_t i16;
+             for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+               gt_ggc_m_7rtx_def ((*x).data.const_equiv[i16].rtx);
+             }
+           }
+           break;
+         case VARRAY_DATA_TE:
+           {
+             size_t i17;
+             for (i17 = 0; i17 < (size_t)((*x).num_elements); i17++) {
+               gt_ggc_m_8elt_list ((*x).data.te[i17]);
+             }
+           }
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_nx_alias_set_entry (void *x_p)
+ {
+   struct alias_set_entry * const x = (struct alias_set_entry *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_15alias_set_entry))
+     {
+       gt_pch_n_II12splay_tree_s ((*x).children);
+     }
+ }
+ 
+ void
+ gt_pch_n_P15alias_set_entry15varray_head_tag (void *x_p)
+ {
+   struct varray_head_tag * const x = (struct varray_head_tag *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P15alias_set_entry15varray_head_tag))
+     {
+       gt_pch_n_S ((*x).name);
+       switch ((*x).type)
+         {
+         case VARRAY_DATA_C:
+           break;
+         case VARRAY_DATA_UC:
+           break;
+         case VARRAY_DATA_S:
+           break;
+         case VARRAY_DATA_US:
+           break;
+         case VARRAY_DATA_I:
+           break;
+         case VARRAY_DATA_U:
+           break;
+         case VARRAY_DATA_L:
+           break;
+         case VARRAY_DATA_UL:
+           break;
+         case VARRAY_DATA_HINT:
+           break;
+         case VARRAY_DATA_UHINT:
+           break;
+         case VARRAY_DATA_GENERIC:
+           {
+             size_t i10;
+             for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+               gt_pch_n_15alias_set_entry ((*x).data.generic[i10]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CPTR:
+           {
+             size_t i11;
+             for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+               gt_pch_n_S ((*x).data.cptr[i11]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTX:
+           {
+             size_t i12;
+             for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+               gt_pch_n_7rtx_def ((*x).data.rtx[i12]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTVEC:
+           {
+             size_t i13;
+             for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+               gt_pch_n_9rtvec_def ((*x).data.rtvec[i13]);
+             }
+           }
+           break;
+         case VARRAY_DATA_TREE:
+           {
+             size_t i14;
+             for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+               gt_pch_n_9tree_node ((*x).data.tree[i14]);
+             }
+           }
+           break;
+         case VARRAY_DATA_BITMAP:
+           {
+             size_t i15;
+             for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+               gt_pch_n_15bitmap_head_def ((*x).data.bitmap[i15]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CONST_EQUIV:
+           {
+             size_t i16;
+             for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+               gt_pch_n_7rtx_def ((*x).data.const_equiv[i16].rtx);
+             }
+           }
+           break;
+         case VARRAY_DATA_TE:
+           {
+             size_t i17;
+             for (i17 = 0; i17 < (size_t)((*x).num_elements); i17++) {
+               gt_pch_n_8elt_list ((*x).data.te[i17]);
+             }
+           }
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_p_15alias_set_entry (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct alias_set_entry * const x ATTRIBUTE_UNUSED = (struct alias_set_entry *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).children), cookie);
+ }
+ 
+ void
+ gt_pch_p_P15alias_set_entry15varray_head_tag (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct varray_head_tag * const x ATTRIBUTE_UNUSED = (struct varray_head_tag *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).name), cookie);
+   switch ((*x).type)
+     {
+     case VARRAY_DATA_C:
+       break;
+     case VARRAY_DATA_UC:
+       break;
+     case VARRAY_DATA_S:
+       break;
+     case VARRAY_DATA_US:
+       break;
+     case VARRAY_DATA_I:
+       break;
+     case VARRAY_DATA_U:
+       break;
+     case VARRAY_DATA_L:
+       break;
+     case VARRAY_DATA_UL:
+       break;
+     case VARRAY_DATA_HINT:
+       break;
+     case VARRAY_DATA_UHINT:
+       break;
+     case VARRAY_DATA_GENERIC:
+       {
+         size_t i10;
+         for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.generic[i10]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_CPTR:
+       {
+         size_t i11;
+         for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.cptr[i11]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_RTX:
+       {
+         size_t i12;
+         for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.rtx[i12]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_RTVEC:
+       {
+         size_t i13;
+         for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.rtvec[i13]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_TREE:
+       {
+         size_t i14;
+         for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.tree[i14]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_BITMAP:
+       {
+         size_t i15;
+         for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.bitmap[i15]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_CONST_EQUIV:
+       {
+         size_t i16;
+         for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.const_equiv[i16].rtx), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_TE:
+       {
+         size_t i17;
+         for (i17 = 0; i17 < (size_t)((*x).num_elements); i17++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.te[i17]), cookie);
+         }
+       }
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ /* GC roots.  */
+ 
+ static void gt_ggc_ma_reg_known_value (void *);
+ static void
+ gt_ggc_ma_reg_known_value (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (reg_known_value != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(reg_known_value_size); i0++) {
+       gt_ggc_m_7rtx_def (reg_known_value[i0]);
+     }
+     ggc_mark (reg_known_value);
+   }
+ }
+ 
+ static void gt_pch_pa_reg_known_value
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_reg_known_value (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (reg_known_value != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(reg_known_value_size); i0++) {
+       if ((void *)(reg_known_value) == this_obj)
+         op (&(reg_known_value[i0]), cookie);
+     }
+     if ((void *)(&reg_known_value) == this_obj)
+       op (&(reg_known_value), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_reg_known_value (void *);
+ static void
+ gt_pch_na_reg_known_value (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (reg_known_value != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(reg_known_value_size); i1++) {
+       gt_pch_n_7rtx_def (reg_known_value[i1]);
+     }
+     gt_pch_note_object (reg_known_value, &reg_known_value, gt_pch_pa_reg_known_value);
+   }
+ }
+ 
+ static void gt_ggc_ma_alias_invariant (void *);
+ static void
+ gt_ggc_ma_alias_invariant (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (alias_invariant != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(alias_invariant_size); i0++) {
+       gt_ggc_m_7rtx_def (alias_invariant[i0]);
+     }
+     ggc_mark (alias_invariant);
+   }
+ }
+ 
+ static void gt_pch_pa_alias_invariant
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_alias_invariant (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (alias_invariant != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(alias_invariant_size); i0++) {
+       if ((void *)(alias_invariant) == this_obj)
+         op (&(alias_invariant[i0]), cookie);
+     }
+     if ((void *)(&alias_invariant) == this_obj)
+       op (&(alias_invariant), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_alias_invariant (void *);
+ static void
+ gt_pch_na_alias_invariant (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (alias_invariant != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(alias_invariant_size); i1++) {
+       gt_pch_n_7rtx_def (alias_invariant[i1]);
+     }
+     gt_pch_note_object (alias_invariant, &alias_invariant, gt_pch_pa_alias_invariant);
+   }
+ }
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_alias_h[] = {
+   {
+     &alias_sets,
+     1,
+     sizeof (alias_sets),
+     &gt_ggc_m_P15alias_set_entry15varray_head_tag,
+     &gt_pch_n_P15alias_set_entry15varray_head_tag
+   },
+   {
+     &reg_known_value,
+     1,
+     sizeof (reg_known_value),
+     &gt_ggc_ma_reg_known_value,
+     &gt_pch_na_reg_known_value
+   },
+   {
+     &alias_invariant,
+     1,
+     sizeof (alias_invariant),
+     &gt_ggc_ma_alias_invariant,
+     &gt_pch_na_alias_invariant
+   },
+   {
+     &static_reg_base_value[0],
+     1 * (FIRST_PSEUDO_REGISTER),
+     sizeof (static_reg_base_value[0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &reg_base_value,
+     1,
+     sizeof (reg_base_value),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_ggc_rd_gt_alias_h[] = {
+   { &old_reg_base_value, 1, sizeof (old_reg_base_value), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_alias_h[] = {
+   { &frame_set, 1, sizeof (frame_set), NULL, NULL },
+   { &varargs_set, 1, sizeof (varargs_set), NULL, NULL },
+   { &last_alias_set, 1, sizeof (last_alias_set), NULL, NULL },
+   { &reg_known_value_size, 1, sizeof (reg_known_value_size), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-bitmap.h
diff -c /dev/null gcc/gcc/gt-bitmap.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gt-bitmap.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,29 ----
+ /* Type information for bitmap.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_rd_gt_bitmap_h[] = {
+   { &bitmap_ggc_free, 1, sizeof (bitmap_ggc_free), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-c-common.h
diff -c /dev/null gcc/gcc/gt-c-common.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gt-c-common.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,153 ----
+ /* Type information for c-common.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_sorted_fields_type (void *x_p)
+ {
+   struct sorted_fields_type * const x = (struct sorted_fields_type *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).len); i0++) {
+           gt_ggc_m_9tree_node ((*x).elts[i0]);
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_sorted_fields_type (void *x_p)
+ {
+   struct sorted_fields_type * const x = (struct sorted_fields_type *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_18sorted_fields_type))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).len); i0++) {
+           gt_pch_n_9tree_node ((*x).elts[i0]);
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_pch_p_18sorted_fields_type (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct sorted_fields_type * const x ATTRIBUTE_UNUSED = (struct sorted_fields_type *)x_p;
+   {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).len); i0++) {
+       if ((void *)(x) == this_obj)
+         op (&((*x).elts[i0]), cookie);
+     }
+   }
+ }
+ 
+ /* GC roots.  */
+ 
+ static void gt_ggc_ma_ridpointers (void *);
+ static void
+ gt_ggc_ma_ridpointers (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (ridpointers != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)((int)RID_MAX); i0++) {
+       gt_ggc_m_9tree_node (ridpointers[i0]);
+     }
+     ggc_mark (ridpointers);
+   }
+ }
+ 
+ static void gt_pch_pa_ridpointers
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_ridpointers (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (ridpointers != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)((int)RID_MAX); i0++) {
+       if ((void *)(ridpointers) == this_obj)
+         op (&(ridpointers[i0]), cookie);
+     }
+     if ((void *)(&ridpointers) == this_obj)
+       op (&(ridpointers), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_ridpointers (void *);
+ static void
+ gt_pch_na_ridpointers (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (ridpointers != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)((int)RID_MAX); i1++) {
+       gt_pch_n_9tree_node (ridpointers[i1]);
+     }
+     gt_pch_note_object (ridpointers, &ridpointers, gt_pch_pa_ridpointers);
+   }
+ }
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_c_common_h[] = {
+   {
+     &vector_type_node_list,
+     1,
+     sizeof (vector_type_node_list),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &built_in_attributes[0],
+     1 * ((int) ATTR_LAST),
+     sizeof (built_in_attributes[0]),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &registered_builtin_types,
+     1,
+     sizeof (registered_builtin_types),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &c_global_trees[0],
+     1 * (CTI_MAX),
+     sizeof (c_global_trees[0]),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &ridpointers,
+     1,
+     sizeof (ridpointers),
+     &gt_ggc_ma_ridpointers,
+     &gt_pch_na_ridpointers
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-c-decl.h
diff -c /dev/null gcc/gcc/gt-c-decl.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gt-c-decl.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,1000 ----
+ /* Type information for c-decl.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_c_scope (void *x_p)
+ {
+   struct c_scope * const x = (struct c_scope *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7c_scope ((*x).outer);
+       gt_ggc_m_7c_scope ((*x).outer_function);
+       gt_ggc_m_9tree_node ((*x).names);
+       gt_ggc_m_9tree_node ((*x).names_last);
+       gt_ggc_m_9tree_node ((*x).parms);
+       gt_ggc_m_9tree_node ((*x).parms_last);
+       gt_ggc_m_9tree_node ((*x).tags);
+       gt_ggc_m_9tree_node ((*x).shadowed);
+       gt_ggc_m_9tree_node ((*x).shadowed_tags);
+       gt_ggc_m_9tree_node ((*x).blocks);
+       gt_ggc_m_9tree_node ((*x).blocks_last);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_lang_tree_node (void *x_p)
+ {
+   union lang_tree_node * x = (union lang_tree_node *)x_p;
+   union lang_tree_node * xlimit = x;
+   while (ggc_test_and_set_mark (xlimit))
+    xlimit = (TREE_CODE (&(*xlimit).generic) == INTEGER_TYPE ? (union lang_tree_node *)TYPE_NEXT_VARIANT (&(*xlimit).generic) : (union lang_tree_node *)TREE_CHAIN (&(*xlimit).generic));
+   while (x != xlimit)
+     {
+       switch (TREE_CODE (&((*x)).generic) == IDENTIFIER_NODE)
+         {
+         case 0:
+           switch (tree_node_structure (&((*x).generic)))
+             {
+             case TS_COMMON:
+               gt_ggc_m_9tree_node ((*x).generic.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.common.type);
+               break;
+             case TS_INT_CST:
+               gt_ggc_m_9tree_node ((*x).generic.int_cst.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.int_cst.common.type);
+               break;
+             case TS_REAL_CST:
+               gt_ggc_m_9tree_node ((*x).generic.real_cst.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.real_cst.common.type);
+               gt_ggc_m_10real_value ((*x).generic.real_cst.real_cst_ptr);
+               break;
+             case TS_VECTOR:
+               gt_ggc_m_9tree_node ((*x).generic.vector.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.vector.common.type);
+               gt_ggc_m_9tree_node ((*x).generic.vector.elements);
+               break;
+             case TS_STRING:
+               gt_ggc_m_9tree_node ((*x).generic.string.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.string.common.type);
+               break;
+             case TS_COMPLEX:
+               gt_ggc_m_9tree_node ((*x).generic.complex.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.complex.common.type);
+               gt_ggc_m_9tree_node ((*x).generic.complex.real);
+               gt_ggc_m_9tree_node ((*x).generic.complex.imag);
+               break;
+             case TS_IDENTIFIER:
+               gt_ggc_m_9tree_node ((*x).generic.identifier.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.identifier.common.type);
+               break;
+             case TS_DECL:
+               gt_ggc_m_9tree_node ((*x).generic.decl.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.decl.common.type);
+               gt_ggc_m_9tree_node ((*x).generic.decl.size);
+               gt_ggc_m_9tree_node ((*x).generic.decl.size_unit);
+               gt_ggc_m_9tree_node ((*x).generic.decl.name);
+               gt_ggc_m_9tree_node ((*x).generic.decl.context);
+               gt_ggc_m_9tree_node ((*x).generic.decl.arguments);
+               gt_ggc_m_9tree_node ((*x).generic.decl.result);
+               gt_ggc_m_9tree_node ((*x).generic.decl.initial);
+               gt_ggc_m_9tree_node ((*x).generic.decl.abstract_origin);
+               gt_ggc_m_9tree_node ((*x).generic.decl.assembler_name);
+               gt_ggc_m_9tree_node ((*x).generic.decl.section_name);
+               gt_ggc_m_9tree_node ((*x).generic.decl.attributes);
+               gt_ggc_m_7rtx_def ((*x).generic.decl.rtl);
+               switch (TREE_CODE((tree) &((*x))))
+                 {
+                 case FUNCTION_DECL:
+                   gt_ggc_m_8function ((*x).generic.decl.u2.f);
+                   break;
+                 case PARM_DECL:
+                   gt_ggc_m_7rtx_def ((*x).generic.decl.u2.r);
+                   break;
+                 case FIELD_DECL:
+                   gt_ggc_m_9tree_node ((*x).generic.decl.u2.t);
+                   break;
+                 case VAR_DECL:
+                   break;
+                 default:
+                   break;
+                 }
+               gt_ggc_m_9tree_node ((*x).generic.decl.saved_tree);
+               gt_ggc_m_9tree_node ((*x).generic.decl.inlined_fns);
+               gt_ggc_m_9tree_node ((*x).generic.decl.vindex);
+               gt_ggc_m_9lang_decl ((*x).generic.decl.lang_specific);
+               break;
+             case TS_TYPE:
+               gt_ggc_m_9tree_node ((*x).generic.type.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.type.common.type);
+               gt_ggc_m_9tree_node ((*x).generic.type.values);
+               gt_ggc_m_9tree_node ((*x).generic.type.size);
+               gt_ggc_m_9tree_node ((*x).generic.type.size_unit);
+               gt_ggc_m_9tree_node ((*x).generic.type.attributes);
+               gt_ggc_m_9tree_node ((*x).generic.type.pointer_to);
+               gt_ggc_m_9tree_node ((*x).generic.type.reference_to);
+               switch (debug_hooks == &sdb_debug_hooks ? 1 : debug_hooks == &dwarf2_debug_hooks ? 2 : 0)
+                 {
+                 case 0:
+                   break;
+                 case 1:
+                   break;
+                 case 2:
+                   gt_ggc_m_10die_struct ((*x).generic.type.symtab.die);
+                   break;
+                 default:
+                   break;
+                 }
+               gt_ggc_m_9tree_node ((*x).generic.type.name);
+               gt_ggc_m_9tree_node ((*x).generic.type.minval);
+               gt_ggc_m_9tree_node ((*x).generic.type.maxval);
+               gt_ggc_m_9tree_node ((*x).generic.type.next_variant);
+               gt_ggc_m_9tree_node ((*x).generic.type.main_variant);
+               gt_ggc_m_9tree_node ((*x).generic.type.binfo);
+               gt_ggc_m_9tree_node ((*x).generic.type.context);
+               gt_ggc_m_9lang_type ((*x).generic.type.lang_specific);
+               break;
+             case TS_LIST:
+               gt_ggc_m_9tree_node ((*x).generic.list.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.list.common.type);
+               gt_ggc_m_9tree_node ((*x).generic.list.purpose);
+               gt_ggc_m_9tree_node ((*x).generic.list.value);
+               break;
+             case TS_VEC:
+               gt_ggc_m_9tree_node ((*x).generic.vec.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.vec.common.type);
+               {
+                 size_t i0;
+                 for (i0 = 0; i0 < (size_t)(TREE_VEC_LENGTH ((tree)&((*x).generic.vec))); i0++) {
+                   gt_ggc_m_9tree_node ((*x).generic.vec.a[i0]);
+                 }
+               }
+               break;
+             case TS_EXP:
+               gt_ggc_m_9tree_node ((*x).generic.exp.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.exp.common.type);
+               switch (TREE_CODE ((tree) &(*x)))
+                 {
+                 case WITH_CLEANUP_EXPR:
+                   gt_ggc_m_7rtx_def ((*x).generic.exp.operands[2]);
+                   gt_ggc_m_9tree_node ((*x).generic.exp.operands[1]);
+                   gt_ggc_m_9tree_node ((*x).generic.exp.operands[0]);
+                   break;
+                 case RTL_EXPR:
+                   gt_ggc_m_7rtx_def ((*x).generic.exp.operands[1]);
+                   gt_ggc_m_7rtx_def ((*x).generic.exp.operands[0]);
+                   break;
+                 case GOTO_SUBROUTINE_EXPR:
+                   gt_ggc_m_7rtx_def ((*x).generic.exp.operands[1]);
+                   gt_ggc_m_7rtx_def ((*x).generic.exp.operands[0]);
+                   break;
+                 case SAVE_EXPR:
+                   gt_ggc_m_7rtx_def ((*x).generic.exp.operands[2]);
+                   gt_ggc_m_9tree_node ((*x).generic.exp.operands[1]);
+                   gt_ggc_m_9tree_node ((*x).generic.exp.operands[0]);
+                   break;
+                 default:
+                   {
+                     size_t i1;
+                     for (i1 = 0; i1 < (size_t)(TREE_CODE_LENGTH (TREE_CODE ((tree) &(*x)))); i1++) {
+                       gt_ggc_m_9tree_node ((*x).generic.exp.operands[i1]);
+                     }
+                   }
+                   break;
+                 }
+               break;
+             case TS_BLOCK:
+               gt_ggc_m_9tree_node ((*x).generic.block.common.chain);
+               gt_ggc_m_9tree_node ((*x).generic.block.common.type);
+               gt_ggc_m_9tree_node ((*x).generic.block.vars);
+               gt_ggc_m_9tree_node ((*x).generic.block.subblocks);
+               gt_ggc_m_9tree_node ((*x).generic.block.supercontext);
+               gt_ggc_m_9tree_node ((*x).generic.block.abstract_origin);
+               gt_ggc_m_9tree_node ((*x).generic.block.fragment_origin);
+               gt_ggc_m_9tree_node ((*x).generic.block.fragment_chain);
+               break;
+             default:
+               break;
+             }
+           break;
+         case 1:
+           gt_ggc_m_9tree_node ((*x).identifier.common_id.common.chain);
+           gt_ggc_m_9tree_node ((*x).identifier.common_id.common.type);
+           switch (0)
+             {
+             case 1:
+               break;
+             case 0:
+               break;
+             default:
+               break;
+             }
+           gt_ggc_m_9tree_node ((*x).identifier.symbol_value);
+           gt_ggc_m_9tree_node ((*x).identifier.tag_value);
+           gt_ggc_m_9tree_node ((*x).identifier.label_value);
+           break;
+         default:
+           break;
+         }
+       x = (TREE_CODE (&(*x).generic) == INTEGER_TYPE ? (union lang_tree_node *)TYPE_NEXT_VARIANT (&(*x).generic) : (union lang_tree_node *)TREE_CHAIN (&(*x).generic));
+     }
+ }
+ 
+ void
+ gt_ggc_mx_lang_decl (void *x_p)
+ {
+   struct lang_decl * const x = (struct lang_decl *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).pending_sizes);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_lang_type (void *x_p)
+ {
+   struct lang_type * const x = (struct lang_type *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_18sorted_fields_type ((*x).s);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_language_function (void *x_p)
+ {
+   struct language_function * const x = (struct language_function *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).base.x_stmt_tree.x_last_stmt);
+       gt_ggc_m_9tree_node ((*x).base.x_stmt_tree.x_last_expr_type);
+       gt_ggc_m_9tree_node ((*x).base.x_scope_stmt_stack);
+     }
+ }
+ 
+ void
+ gt_pch_nx_c_scope (void *x_p)
+ {
+   struct c_scope * const x = (struct c_scope *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_7c_scope))
+     {
+       gt_pch_n_7c_scope ((*x).outer);
+       gt_pch_n_7c_scope ((*x).outer_function);
+       gt_pch_n_9tree_node ((*x).names);
+       gt_pch_n_9tree_node ((*x).names_last);
+       gt_pch_n_9tree_node ((*x).parms);
+       gt_pch_n_9tree_node ((*x).parms_last);
+       gt_pch_n_9tree_node ((*x).tags);
+       gt_pch_n_9tree_node ((*x).shadowed);
+       gt_pch_n_9tree_node ((*x).shadowed_tags);
+       gt_pch_n_9tree_node ((*x).blocks);
+       gt_pch_n_9tree_node ((*x).blocks_last);
+     }
+ }
+ 
+ void
+ gt_pch_nx_lang_tree_node (void *x_p)
+ {
+   union lang_tree_node * x = (union lang_tree_node *)x_p;
+   union lang_tree_node * xlimit = x;
+   while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_14lang_tree_node))
+    xlimit = (TREE_CODE (&(*xlimit).generic) == INTEGER_TYPE ? (union lang_tree_node *)TYPE_NEXT_VARIANT (&(*xlimit).generic) : (union lang_tree_node *)TREE_CHAIN (&(*xlimit).generic));
+   while (x != xlimit)
+     {
+       switch (TREE_CODE (&((*x)).generic) == IDENTIFIER_NODE)
+         {
+         case 0:
+           switch (tree_node_structure (&((*x).generic)))
+             {
+             case TS_COMMON:
+               gt_pch_n_9tree_node ((*x).generic.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.common.type);
+               break;
+             case TS_INT_CST:
+               gt_pch_n_9tree_node ((*x).generic.int_cst.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.int_cst.common.type);
+               break;
+             case TS_REAL_CST:
+               gt_pch_n_9tree_node ((*x).generic.real_cst.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.real_cst.common.type);
+               gt_pch_n_10real_value ((*x).generic.real_cst.real_cst_ptr);
+               break;
+             case TS_VECTOR:
+               gt_pch_n_9tree_node ((*x).generic.vector.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.vector.common.type);
+               gt_pch_n_9tree_node ((*x).generic.vector.elements);
+               break;
+             case TS_STRING:
+               gt_pch_n_9tree_node ((*x).generic.string.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.string.common.type);
+               gt_pch_n_S ((*x).generic.string.pointer);
+               break;
+             case TS_COMPLEX:
+               gt_pch_n_9tree_node ((*x).generic.complex.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.complex.common.type);
+               gt_pch_n_9tree_node ((*x).generic.complex.real);
+               gt_pch_n_9tree_node ((*x).generic.complex.imag);
+               break;
+             case TS_IDENTIFIER:
+               gt_pch_n_9tree_node ((*x).generic.identifier.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.identifier.common.type);
+               gt_pch_n_S ((*x).generic.identifier.id.str);
+               break;
+             case TS_DECL:
+               gt_pch_n_9tree_node ((*x).generic.decl.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.decl.common.type);
+               gt_pch_n_S ((*x).generic.decl.locus.file);
+               gt_pch_n_9tree_node ((*x).generic.decl.size);
+               gt_pch_n_9tree_node ((*x).generic.decl.size_unit);
+               gt_pch_n_9tree_node ((*x).generic.decl.name);
+               gt_pch_n_9tree_node ((*x).generic.decl.context);
+               gt_pch_n_9tree_node ((*x).generic.decl.arguments);
+               gt_pch_n_9tree_node ((*x).generic.decl.result);
+               gt_pch_n_9tree_node ((*x).generic.decl.initial);
+               gt_pch_n_9tree_node ((*x).generic.decl.abstract_origin);
+               gt_pch_n_9tree_node ((*x).generic.decl.assembler_name);
+               gt_pch_n_9tree_node ((*x).generic.decl.section_name);
+               gt_pch_n_9tree_node ((*x).generic.decl.attributes);
+               gt_pch_n_7rtx_def ((*x).generic.decl.rtl);
+               switch (TREE_CODE((tree) &((*x))))
+                 {
+                 case FUNCTION_DECL:
+                   gt_pch_n_8function ((*x).generic.decl.u2.f);
+                   break;
+                 case PARM_DECL:
+                   gt_pch_n_7rtx_def ((*x).generic.decl.u2.r);
+                   break;
+                 case FIELD_DECL:
+                   gt_pch_n_9tree_node ((*x).generic.decl.u2.t);
+                   break;
+                 case VAR_DECL:
+                   break;
+                 default:
+                   break;
+                 }
+               gt_pch_n_9tree_node ((*x).generic.decl.saved_tree);
+               gt_pch_n_9tree_node ((*x).generic.decl.inlined_fns);
+               gt_pch_n_9tree_node ((*x).generic.decl.vindex);
+               gt_pch_n_9lang_decl ((*x).generic.decl.lang_specific);
+               break;
+             case TS_TYPE:
+               gt_pch_n_9tree_node ((*x).generic.type.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.type.common.type);
+               gt_pch_n_9tree_node ((*x).generic.type.values);
+               gt_pch_n_9tree_node ((*x).generic.type.size);
+               gt_pch_n_9tree_node ((*x).generic.type.size_unit);
+               gt_pch_n_9tree_node ((*x).generic.type.attributes);
+               gt_pch_n_9tree_node ((*x).generic.type.pointer_to);
+               gt_pch_n_9tree_node ((*x).generic.type.reference_to);
+               switch (debug_hooks == &sdb_debug_hooks ? 1 : debug_hooks == &dwarf2_debug_hooks ? 2 : 0)
+                 {
+                 case 0:
+                   break;
+                 case 1:
+                   gt_pch_n_S ((*x).generic.type.symtab.pointer);
+                   break;
+                 case 2:
+                   gt_pch_n_10die_struct ((*x).generic.type.symtab.die);
+                   break;
+                 default:
+                   break;
+                 }
+               gt_pch_n_9tree_node ((*x).generic.type.name);
+               gt_pch_n_9tree_node ((*x).generic.type.minval);
+               gt_pch_n_9tree_node ((*x).generic.type.maxval);
+               gt_pch_n_9tree_node ((*x).generic.type.next_variant);
+               gt_pch_n_9tree_node ((*x).generic.type.main_variant);
+               gt_pch_n_9tree_node ((*x).generic.type.binfo);
+               gt_pch_n_9tree_node ((*x).generic.type.context);
+               gt_pch_n_9lang_type ((*x).generic.type.lang_specific);
+               break;
+             case TS_LIST:
+               gt_pch_n_9tree_node ((*x).generic.list.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.list.common.type);
+               gt_pch_n_9tree_node ((*x).generic.list.purpose);
+               gt_pch_n_9tree_node ((*x).generic.list.value);
+               break;
+             case TS_VEC:
+               gt_pch_n_9tree_node ((*x).generic.vec.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.vec.common.type);
+               {
+                 size_t i0;
+                 for (i0 = 0; i0 < (size_t)(TREE_VEC_LENGTH ((tree)&((*x).generic.vec))); i0++) {
+                   gt_pch_n_9tree_node ((*x).generic.vec.a[i0]);
+                 }
+               }
+               break;
+             case TS_EXP:
+               gt_pch_n_9tree_node ((*x).generic.exp.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.exp.common.type);
+               switch (TREE_CODE ((tree) &(*x)))
+                 {
+                 case WITH_CLEANUP_EXPR:
+                   gt_pch_n_7rtx_def ((*x).generic.exp.operands[2]);
+                   gt_pch_n_9tree_node ((*x).generic.exp.operands[1]);
+                   gt_pch_n_9tree_node ((*x).generic.exp.operands[0]);
+                   break;
+                 case RTL_EXPR:
+                   gt_pch_n_7rtx_def ((*x).generic.exp.operands[1]);
+                   gt_pch_n_7rtx_def ((*x).generic.exp.operands[0]);
+                   break;
+                 case GOTO_SUBROUTINE_EXPR:
+                   gt_pch_n_7rtx_def ((*x).generic.exp.operands[1]);
+                   gt_pch_n_7rtx_def ((*x).generic.exp.operands[0]);
+                   break;
+                 case SAVE_EXPR:
+                   gt_pch_n_7rtx_def ((*x).generic.exp.operands[2]);
+                   gt_pch_n_9tree_node ((*x).generic.exp.operands[1]);
+                   gt_pch_n_9tree_node ((*x).generic.exp.operands[0]);
+                   break;
+                 default:
+                   {
+                     size_t i1;
+                     for (i1 = 0; i1 < (size_t)(TREE_CODE_LENGTH (TREE_CODE ((tree) &(*x)))); i1++) {
+                       gt_pch_n_9tree_node ((*x).generic.exp.operands[i1]);
+                     }
+                   }
+                   break;
+                 }
+               break;
+             case TS_BLOCK:
+               gt_pch_n_9tree_node ((*x).generic.block.common.chain);
+               gt_pch_n_9tree_node ((*x).generic.block.common.type);
+               gt_pch_n_9tree_node ((*x).generic.block.vars);
+               gt_pch_n_9tree_node ((*x).generic.block.subblocks);
+               gt_pch_n_9tree_node ((*x).generic.block.supercontext);
+               gt_pch_n_9tree_node ((*x).generic.block.abstract_origin);
+               gt_pch_n_9tree_node ((*x).generic.block.fragment_origin);
+               gt_pch_n_9tree_node ((*x).generic.block.fragment_chain);
+               break;
+             default:
+               break;
+             }
+           break;
+         case 1:
+           gt_pch_n_9tree_node ((*x).identifier.common_id.common.chain);
+           gt_pch_n_9tree_node ((*x).identifier.common_id.common.type);
+           gt_pch_n_S ((*x).identifier.common_id.node.ident.str);
+           switch (0)
+             {
+             case 1:
+               break;
+             case 0:
+               break;
+             default:
+               break;
+             }
+           gt_pch_n_9tree_node ((*x).identifier.symbol_value);
+           gt_pch_n_9tree_node ((*x).identifier.tag_value);
+           gt_pch_n_9tree_node ((*x).identifier.label_value);
+           break;
+         default:
+           break;
+         }
+       x = (TREE_CODE (&(*x).generic) == INTEGER_TYPE ? (union lang_tree_node *)TYPE_NEXT_VARIANT (&(*x).generic) : (union lang_tree_node *)TREE_CHAIN (&(*x).generic));
+     }
+ }
+ 
+ void
+ gt_pch_nx_lang_decl (void *x_p)
+ {
+   struct lang_decl * const x = (struct lang_decl *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9lang_decl))
+     {
+       gt_pch_n_9tree_node ((*x).pending_sizes);
+     }
+ }
+ 
+ void
+ gt_pch_nx_lang_type (void *x_p)
+ {
+   struct lang_type * const x = (struct lang_type *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9lang_type))
+     {
+       gt_pch_n_18sorted_fields_type ((*x).s);
+       gt_pch_note_reorder ((*x).s, (*x).s, resort_sorted_fields);
+     }
+ }
+ 
+ void
+ gt_pch_nx_language_function (void *x_p)
+ {
+   struct language_function * const x = (struct language_function *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_17language_function))
+     {
+       gt_pch_n_9tree_node ((*x).base.x_stmt_tree.x_last_stmt);
+       gt_pch_n_9tree_node ((*x).base.x_stmt_tree.x_last_expr_type);
+       gt_pch_n_S ((*x).base.x_stmt_tree.x_last_expr_filename);
+       gt_pch_n_9tree_node ((*x).base.x_scope_stmt_stack);
+     }
+ }
+ 
+ void
+ gt_pch_p_7c_scope (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct c_scope * const x ATTRIBUTE_UNUSED = (struct c_scope *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).outer), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).outer_function), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).names), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).names_last), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).parms), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).parms_last), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).tags), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).shadowed), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).shadowed_tags), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).blocks), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).blocks_last), cookie);
+ }
+ 
+ void
+ gt_pch_p_14lang_tree_node (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   union lang_tree_node * const x ATTRIBUTE_UNUSED = (union lang_tree_node *)x_p;
+   switch (TREE_CODE (&((*x)).generic) == IDENTIFIER_NODE)
+     {
+     case 0:
+       switch (tree_node_structure (&((*x).generic)))
+         {
+         case TS_COMMON:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.common.type), cookie);
+           break;
+         case TS_INT_CST:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.int_cst.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.int_cst.common.type), cookie);
+           break;
+         case TS_REAL_CST:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.real_cst.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.real_cst.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.real_cst.real_cst_ptr), cookie);
+           break;
+         case TS_VECTOR:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.vector.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.vector.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.vector.elements), cookie);
+           break;
+         case TS_STRING:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.string.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.string.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.string.pointer), cookie);
+           break;
+         case TS_COMPLEX:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.complex.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.complex.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.complex.real), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.complex.imag), cookie);
+           break;
+         case TS_IDENTIFIER:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.identifier.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.identifier.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.identifier.id.str), cookie);
+           break;
+         case TS_DECL:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.locus.file), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.size), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.size_unit), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.name), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.context), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.arguments), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.result), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.initial), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.abstract_origin), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.assembler_name), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.section_name), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.attributes), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.rtl), cookie);
+           switch (TREE_CODE((tree) &((*x))))
+             {
+             case FUNCTION_DECL:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.decl.u2.f), cookie);
+               break;
+             case PARM_DECL:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.decl.u2.r), cookie);
+               break;
+             case FIELD_DECL:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.decl.u2.t), cookie);
+               break;
+             case VAR_DECL:
+               break;
+             default:
+               break;
+             }
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.saved_tree), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.inlined_fns), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.vindex), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.decl.lang_specific), cookie);
+           break;
+         case TS_TYPE:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.values), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.size), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.size_unit), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.attributes), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.pointer_to), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.reference_to), cookie);
+           switch (debug_hooks == &sdb_debug_hooks ? 1 : debug_hooks == &dwarf2_debug_hooks ? 2 : 0)
+             {
+             case 0:
+               break;
+             case 1:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.type.symtab.pointer), cookie);
+               break;
+             case 2:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.type.symtab.die), cookie);
+               break;
+             default:
+               break;
+             }
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.name), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.minval), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.maxval), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.next_variant), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.main_variant), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.binfo), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.context), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.type.lang_specific), cookie);
+           break;
+         case TS_LIST:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.list.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.list.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.list.purpose), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.list.value), cookie);
+           break;
+         case TS_VEC:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.vec.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.vec.common.type), cookie);
+           {
+             size_t i0;
+             for (i0 = 0; i0 < (size_t)(TREE_VEC_LENGTH ((tree)&((*x).generic.vec))); i0++) {
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.vec.a[i0]), cookie);
+             }
+           }
+           break;
+         case TS_EXP:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.exp.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.exp.common.type), cookie);
+           switch (TREE_CODE ((tree) &(*x)))
+             {
+             case WITH_CLEANUP_EXPR:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[2]), cookie);
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[1]), cookie);
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[0]), cookie);
+               break;
+             case RTL_EXPR:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[1]), cookie);
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[0]), cookie);
+               break;
+             case GOTO_SUBROUTINE_EXPR:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[1]), cookie);
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[0]), cookie);
+               break;
+             case SAVE_EXPR:
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[2]), cookie);
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[1]), cookie);
+               if ((void *)(x) == this_obj)
+                 op (&((*x).generic.exp.operands[0]), cookie);
+               break;
+             default:
+               {
+                 size_t i1;
+                 for (i1 = 0; i1 < (size_t)(TREE_CODE_LENGTH (TREE_CODE ((tree) &(*x)))); i1++) {
+                   if ((void *)(x) == this_obj)
+                     op (&((*x).generic.exp.operands[i1]), cookie);
+                 }
+               }
+               break;
+             }
+           break;
+         case TS_BLOCK:
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.common.chain), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.common.type), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.vars), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.subblocks), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.supercontext), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.abstract_origin), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.fragment_origin), cookie);
+           if ((void *)(x) == this_obj)
+             op (&((*x).generic.block.fragment_chain), cookie);
+           break;
+         default:
+           break;
+         }
+       break;
+     case 1:
+       if ((void *)(x) == this_obj)
+         op (&((*x).identifier.common_id.common.chain), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).identifier.common_id.common.type), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).identifier.common_id.node.ident.str), cookie);
+       switch (0)
+         {
+         case 1:
+           break;
+         case 0:
+           break;
+         default:
+           break;
+         }
+       if ((void *)(x) == this_obj)
+         op (&((*x).identifier.symbol_value), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).identifier.tag_value), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).identifier.label_value), cookie);
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_9lang_decl (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct lang_decl * const x ATTRIBUTE_UNUSED = (struct lang_decl *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).pending_sizes), cookie);
+ }
+ 
+ void
+ gt_pch_p_9lang_type (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct lang_type * const x ATTRIBUTE_UNUSED = (struct lang_type *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).s), cookie);
+ }
+ 
+ void
+ gt_pch_p_17language_function (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct language_function * const x ATTRIBUTE_UNUSED = (struct language_function *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).base.x_stmt_tree.x_last_stmt), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).base.x_stmt_tree.x_last_expr_type), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).base.x_stmt_tree.x_last_expr_filename), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).base.x_scope_stmt_stack), cookie);
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_c_decl_h[] = {
+   {
+     &global_scope,
+     1,
+     sizeof (global_scope),
+     &gt_ggc_mx_c_scope,
+     &gt_pch_nx_c_scope
+   },
+   {
+     &current_function_scope,
+     1,
+     sizeof (current_function_scope),
+     &gt_ggc_mx_c_scope,
+     &gt_pch_nx_c_scope
+   },
+   {
+     &current_scope,
+     1,
+     sizeof (current_scope),
+     &gt_ggc_mx_c_scope,
+     &gt_pch_nx_c_scope
+   },
+   {
+     &current_file_decl,
+     1,
+     sizeof (current_file_decl),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &last_builtin_decl,
+     1,
+     sizeof (last_builtin_decl),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &first_builtin_decl,
+     1,
+     sizeof (first_builtin_decl),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &truly_local_externals,
+     1,
+     sizeof (truly_local_externals),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &c_scope_stmt_stack,
+     1,
+     sizeof (c_scope_stmt_stack),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &c_stmt_tree.x_last_stmt,
+     1,
+     sizeof (c_stmt_tree),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &c_stmt_tree.x_last_expr_type,
+     1,
+     sizeof (c_stmt_tree),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &c_stmt_tree.x_last_expr_filename,
+     1, 
+     sizeof (c_stmt_tree),
+     &gt_ggc_m_S,
+     (gt_pointer_walker) &gt_pch_n_S
+   },
+   {
+     &static_dtors,
+     1,
+     sizeof (static_dtors),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &static_ctors,
+     1,
+     sizeof (static_ctors),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_ggc_rd_gt_c_decl_h[] = {
+   { &scope_freelist, 1, sizeof (scope_freelist), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_c_decl_h[] = {
+   { &compound_literal_number, 1, sizeof (compound_literal_number), NULL, NULL },
+   { &c_stmt_tree, 1, sizeof (c_stmt_tree), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-c-parse.h
diff -c /dev/null gcc/gcc/gt-c-parse.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gt-c-parse.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,56 ----
+ /* Type information for c-parse.in.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_c_parse_h[] = {
+   {
+     &declspec_stack,
+     1,
+     sizeof (declspec_stack),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &all_prefix_attributes,
+     1,
+     sizeof (all_prefix_attributes),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &prefix_attributes,
+     1,
+     sizeof (prefix_attributes),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &current_declspecs,
+     1,
+     sizeof (current_declspecs),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-c-pragma.h
diff -c /dev/null gcc/gcc/gt-c-pragma.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gt-c-pragma.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,91 ----
+ /* Type information for c-pragma.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_align_stack (void *x_p)
+ {
+   struct align_stack * const x = (struct align_stack *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).id);
+       gt_ggc_m_11align_stack ((*x).prev);
+     }
+ }
+ 
+ void
+ gt_pch_nx_align_stack (void *x_p)
+ {
+   struct align_stack * const x = (struct align_stack *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_11align_stack))
+     {
+       gt_pch_n_9tree_node ((*x).id);
+       gt_pch_n_11align_stack ((*x).prev);
+     }
+ }
+ 
+ void
+ gt_pch_p_11align_stack (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct align_stack * const x ATTRIBUTE_UNUSED = (struct align_stack *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).id), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).prev), cookie);
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_c_pragma_h[] = {
+   {
+     &pragma_extern_prefix,
+     1,
+     sizeof (pragma_extern_prefix),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &pending_redefine_extname,
+     1,
+     sizeof (pending_redefine_extname),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &pending_weaks,
+     1,
+     sizeof (pending_weaks),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &alignment_stack,
+     1,
+     sizeof (alignment_stack),
+     &gt_ggc_mx_align_stack,
+     &gt_pch_nx_align_stack
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-cfglayout.h
diff -c /dev/null gcc/gcc/gt-cfglayout.h:1.3
*** /dev/null	Mon Jun 13 20:10:06 2011
--- gcc/gcc/gt-cfglayout.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,70 ----
+ /* Type information for cfglayout.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_cfglayout_h[] = {
+   {
+     &file_locators_files,
+     1,
+     sizeof (file_locators_files),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &file_locators_locs,
+     1,
+     sizeof (file_locators_locs),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &line_locators_lines,
+     1,
+     sizeof (line_locators_lines),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &line_locators_locs,
+     1,
+     sizeof (line_locators_locs),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &block_locators_blocks,
+     1,
+     sizeof (block_locators_blocks),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &block_locators_locs,
+     1,
+     sizeof (block_locators_locs),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-cgraph.h
diff -c /dev/null gcc/gcc/gt-cgraph.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-cgraph.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,49 ----
+ /* Type information for cgraph.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_cgraph_h[] = {
+   {
+     &cgraph_varpool_nodes,
+     1,
+     sizeof (cgraph_varpool_nodes),
+     &gt_ggc_mx_cgraph_varpool_node,
+     &gt_pch_nx_cgraph_varpool_node
+   },
+   {
+     &cgraph_varpool_hash,
+     1,
+     sizeof (cgraph_varpool_hash),
+     &gt_ggc_m_P19cgraph_varpool_node4htab,
+     &gt_pch_n_P19cgraph_varpool_node4htab
+   },
+   {
+     &cgraph_hash,
+     1,
+     sizeof (cgraph_hash),
+     &gt_ggc_m_P11cgraph_node4htab,
+     &gt_pch_n_P11cgraph_node4htab
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-coverage.h
diff -c /dev/null gcc/gcc/gt-coverage.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-coverage.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for coverage.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_coverage_h[] = {
+   {
+     &ctr_labels[0],
+     1 * (GCOV_COUNTERS),
+     sizeof (ctr_labels[0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-cselib.h
diff -c /dev/null gcc/gcc/gt-cselib.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-cselib.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,62 ----
+ /* Type information for cselib.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_cselib_h[] = {
+   {
+     &callmem,
+     1,
+     sizeof (callmem),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &used_regs,
+     1,
+     sizeof (used_regs),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &reg_values,
+     1,
+     sizeof (reg_values),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &hash_table,
+     1,
+     sizeof (hash_table),
+     &gt_ggc_m_P17cselib_val_struct4htab,
+     &gt_pch_n_P17cselib_val_struct4htab
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_ggc_rd_gt_cselib_h[] = {
+   { &used_regs_old, 1, sizeof (used_regs_old), NULL, NULL },
+   { &reg_values_old, 1, sizeof (reg_values_old), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-dbxout.h
diff -c /dev/null gcc/gcc/gt-dbxout.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-dbxout.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,121 ----
+ /* Type information for dbxout.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_typeinfo (void *x_p)
+ {
+   struct typeinfo * const x = (struct typeinfo *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+     }
+ }
+ 
+ void
+ gt_pch_nx_typeinfo (void *x_p)
+ {
+   struct typeinfo * const x = (struct typeinfo *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_8typeinfo))
+     {
+     }
+ }
+ 
+ void
+ gt_pch_p_8typeinfo (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct typeinfo * const x ATTRIBUTE_UNUSED = (struct typeinfo *)x_p;
+ }
+ 
+ /* GC roots.  */
+ 
+ static void gt_ggc_ma_typevec (void *);
+ static void
+ gt_ggc_ma_typevec (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (typevec != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(typevec_len); i0++) {
+     }
+     ggc_mark (typevec);
+   }
+ }
+ 
+ static void gt_pch_pa_typevec
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_typevec (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (typevec != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(typevec_len); i0++) {
+     }
+     if ((void *)(&typevec) == this_obj)
+       op (&(typevec), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_typevec (void *);
+ static void
+ gt_pch_na_typevec (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (typevec != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(typevec_len); i1++) {
+     }
+     gt_pch_note_object (typevec, &typevec, gt_pch_pa_typevec);
+   }
+ }
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_dbxout_h[] = {
+   {
+     &lastfile,
+     1, 
+     sizeof (lastfile),
+     &gt_ggc_m_S,
+     (gt_pointer_walker) &gt_pch_n_S
+   },
+   {
+     &typevec,
+     1,
+     sizeof (typevec),
+     &gt_ggc_ma_typevec,
+     &gt_pch_na_typevec
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_dbxout_h[] = {
+   { &lastfile_is_base, 1, sizeof (lastfile_is_base), NULL, NULL },
+   { &source_label_number, 1, sizeof (source_label_number), NULL, NULL },
+   { &have_used_extensions, 1, sizeof (have_used_extensions), NULL, NULL },
+   { &dbxout_source_line_counter, 1, sizeof (dbxout_source_line_counter), NULL, NULL },
+   { &scope_labelno, 1, sizeof (scope_labelno), NULL, NULL },
+   { &next_file_number, 1, sizeof (next_file_number), NULL, NULL },
+   { &next_type_number, 1, sizeof (next_type_number), NULL, NULL },
+   { &typevec_len, 1, sizeof (typevec_len), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-dojump.h
diff -c /dev/null gcc/gcc/gt-dojump.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-dojump.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,49 ----
+ /* Type information for dojump.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_dojump_h[] = {
+   {
+     &shift_test,
+     1,
+     sizeof (shift_test),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &and_test,
+     1,
+     sizeof (and_test),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &and_reg,
+     1,
+     sizeof (and_reg),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-dwarf2asm.h
diff -c /dev/null gcc/gcc/gt-dwarf2asm.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-dwarf2asm.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,40 ----
+ /* Type information for dwarf2asm.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_dwarf2asm_h[] = {
+   {
+     &indirect_pool,
+     1,
+     sizeof (indirect_pool),
+     &gt_ggc_m_SP9tree_node12splay_tree_s,
+     &gt_pch_n_SP9tree_node12splay_tree_s
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_dwarf2asm_h[] = {
+   { &dw2_const_labelno, 1, sizeof (dw2_const_labelno), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-dwarf2out.h
diff -c /dev/null gcc/gcc/gt-dwarf2out.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-dwarf2out.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,1513 ----
+ /* Type information for dwarf2out.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_limbo_die_struct (void *x_p)
+ {
+   struct limbo_die_struct * const x = (struct limbo_die_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_10die_struct ((*x).die);
+       gt_ggc_m_9tree_node ((*x).created_for);
+       gt_ggc_m_16limbo_die_struct ((*x).next);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_ranges_struct (void *x_p)
+ {
+   struct dw_ranges_struct * const x = (struct dw_ranges_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+     }
+ }
+ 
+ void
+ gt_ggc_mx_pubname_struct (void *x_p)
+ {
+   struct pubname_struct * const x = (struct pubname_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_10die_struct ((*x).die);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_separate_line_info_struct (void *x_p)
+ {
+   struct dw_separate_line_info_struct * const x = (struct dw_separate_line_info_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_line_info_struct (void *x_p)
+ {
+   struct dw_line_info_struct * const x = (struct dw_line_info_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_attr_struct (void *x_p)
+ {
+   struct dw_attr_struct * const x = (struct dw_attr_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_14dw_attr_struct ((*x).dw_attr_next);
+       switch (((*x).dw_attr_val).val_class)
+         {
+         case dw_val_class_addr:
+           gt_ggc_m_7rtx_def ((*x).dw_attr_val.v.val_addr);
+           break;
+         case dw_val_class_offset:
+           break;
+         case dw_val_class_loc_list:
+           gt_ggc_m_18dw_loc_list_struct ((*x).dw_attr_val.v.val_loc_list);
+           break;
+         case dw_val_class_loc:
+           gt_ggc_m_19dw_loc_descr_struct ((*x).dw_attr_val.v.val_loc);
+           break;
+         default:
+           break;
+         case dw_val_class_unsigned_const:
+           break;
+         case dw_val_class_long_long:
+           break;
+         case dw_val_class_vec:
+           if ((*x).dw_attr_val.v.val_vec.array != NULL) {
+             size_t i0;
+             for (i0 = 0; i0 < (size_t)(((*x).dw_attr_val.v.val_vec).length); i0++) {
+             }
+             ggc_mark ((*x).dw_attr_val.v.val_vec.array);
+           }
+           break;
+         case dw_val_class_die_ref:
+           gt_ggc_m_10die_struct ((*x).dw_attr_val.v.val_die_ref.die);
+           break;
+         case dw_val_class_fde_ref:
+           break;
+         case dw_val_class_str:
+           gt_ggc_m_20indirect_string_node ((*x).dw_attr_val.v.val_str);
+           break;
+         case dw_val_class_lbl_id:
+           break;
+         case dw_val_class_flag:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_loc_list_struct (void *x_p)
+ {
+   struct dw_loc_list_struct * const x = (struct dw_loc_list_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_18dw_loc_list_struct ((*x).dw_loc_next);
+       gt_ggc_m_19dw_loc_descr_struct ((*x).expr);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_queued_reg_save (void *x_p)
+ {
+   struct queued_reg_save * const x = (struct queued_reg_save *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_15queued_reg_save ((*x).next);
+       gt_ggc_m_7rtx_def ((*x).reg);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_indirect_string_node (void *x_p)
+ {
+   struct indirect_string_node * const x = (struct indirect_string_node *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_loc_descr_struct (void *x_p)
+ {
+   struct dw_loc_descr_struct * const x = (struct dw_loc_descr_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_19dw_loc_descr_struct ((*x).dw_loc_next);
+       switch (((*x).dw_loc_oprnd1).val_class)
+         {
+         case dw_val_class_addr:
+           gt_ggc_m_7rtx_def ((*x).dw_loc_oprnd1.v.val_addr);
+           break;
+         case dw_val_class_offset:
+           break;
+         case dw_val_class_loc_list:
+           gt_ggc_m_18dw_loc_list_struct ((*x).dw_loc_oprnd1.v.val_loc_list);
+           break;
+         case dw_val_class_loc:
+           gt_ggc_m_19dw_loc_descr_struct ((*x).dw_loc_oprnd1.v.val_loc);
+           break;
+         default:
+           break;
+         case dw_val_class_unsigned_const:
+           break;
+         case dw_val_class_long_long:
+           break;
+         case dw_val_class_vec:
+           if ((*x).dw_loc_oprnd1.v.val_vec.array != NULL) {
+             size_t i0;
+             for (i0 = 0; i0 < (size_t)(((*x).dw_loc_oprnd1.v.val_vec).length); i0++) {
+             }
+             ggc_mark ((*x).dw_loc_oprnd1.v.val_vec.array);
+           }
+           break;
+         case dw_val_class_die_ref:
+           gt_ggc_m_10die_struct ((*x).dw_loc_oprnd1.v.val_die_ref.die);
+           break;
+         case dw_val_class_fde_ref:
+           break;
+         case dw_val_class_str:
+           gt_ggc_m_20indirect_string_node ((*x).dw_loc_oprnd1.v.val_str);
+           break;
+         case dw_val_class_lbl_id:
+           break;
+         case dw_val_class_flag:
+           break;
+         }
+       switch (((*x).dw_loc_oprnd2).val_class)
+         {
+         case dw_val_class_addr:
+           gt_ggc_m_7rtx_def ((*x).dw_loc_oprnd2.v.val_addr);
+           break;
+         case dw_val_class_offset:
+           break;
+         case dw_val_class_loc_list:
+           gt_ggc_m_18dw_loc_list_struct ((*x).dw_loc_oprnd2.v.val_loc_list);
+           break;
+         case dw_val_class_loc:
+           gt_ggc_m_19dw_loc_descr_struct ((*x).dw_loc_oprnd2.v.val_loc);
+           break;
+         default:
+           break;
+         case dw_val_class_unsigned_const:
+           break;
+         case dw_val_class_long_long:
+           break;
+         case dw_val_class_vec:
+           if ((*x).dw_loc_oprnd2.v.val_vec.array != NULL) {
+             size_t i1;
+             for (i1 = 0; i1 < (size_t)(((*x).dw_loc_oprnd2.v.val_vec).length); i1++) {
+             }
+             ggc_mark ((*x).dw_loc_oprnd2.v.val_vec.array);
+           }
+           break;
+         case dw_val_class_die_ref:
+           gt_ggc_m_10die_struct ((*x).dw_loc_oprnd2.v.val_die_ref.die);
+           break;
+         case dw_val_class_fde_ref:
+           break;
+         case dw_val_class_str:
+           gt_ggc_m_20indirect_string_node ((*x).dw_loc_oprnd2.v.val_str);
+           break;
+         case dw_val_class_lbl_id:
+           break;
+         case dw_val_class_flag:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_fde_struct (void *x_p)
+ {
+   struct dw_fde_struct * const x = (struct dw_fde_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_13dw_cfi_struct ((*x).dw_fde_cfi);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_dw_cfi_struct (void *x_p)
+ {
+   struct dw_cfi_struct * const x = (struct dw_cfi_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_13dw_cfi_struct ((*x).dw_cfi_next);
+       switch (dw_cfi_oprnd1_desc (((*x)).dw_cfi_opc))
+         {
+         case dw_cfi_oprnd_reg_num:
+           break;
+         case dw_cfi_oprnd_offset:
+           break;
+         case dw_cfi_oprnd_addr:
+           break;
+         case dw_cfi_oprnd_loc:
+           gt_ggc_m_19dw_loc_descr_struct ((*x).dw_cfi_oprnd1.dw_cfi_loc);
+           break;
+         default:
+           break;
+         }
+       switch (dw_cfi_oprnd2_desc (((*x)).dw_cfi_opc))
+         {
+         case dw_cfi_oprnd_reg_num:
+           break;
+         case dw_cfi_oprnd_offset:
+           break;
+         case dw_cfi_oprnd_addr:
+           break;
+         case dw_cfi_oprnd_loc:
+           gt_ggc_m_19dw_loc_descr_struct ((*x).dw_cfi_oprnd2.dw_cfi_loc);
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_die_struct (void *x_p)
+ {
+   struct die_struct * const x = (struct die_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_14dw_attr_struct ((*x).die_attr);
+       gt_ggc_m_10die_struct ((*x).die_parent);
+       gt_ggc_m_10die_struct ((*x).die_child);
+       gt_ggc_m_10die_struct ((*x).die_sib);
+       gt_ggc_m_10die_struct ((*x).die_definition);
+     }
+ }
+ 
+ void
+ gt_ggc_m_P20indirect_string_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_20indirect_string_node ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_limbo_die_struct (void *x_p)
+ {
+   struct limbo_die_struct * const x = (struct limbo_die_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_16limbo_die_struct))
+     {
+       gt_pch_n_10die_struct ((*x).die);
+       gt_pch_n_9tree_node ((*x).created_for);
+       gt_pch_n_16limbo_die_struct ((*x).next);
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_ranges_struct (void *x_p)
+ {
+   struct dw_ranges_struct * const x = (struct dw_ranges_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_16dw_ranges_struct))
+     {
+     }
+ }
+ 
+ void
+ gt_pch_nx_pubname_struct (void *x_p)
+ {
+   struct pubname_struct * const x = (struct pubname_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_14pubname_struct))
+     {
+       gt_pch_n_10die_struct ((*x).die);
+       gt_pch_n_S ((*x).name);
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_separate_line_info_struct (void *x_p)
+ {
+   struct dw_separate_line_info_struct * const x = (struct dw_separate_line_info_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_28dw_separate_line_info_struct))
+     {
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_line_info_struct (void *x_p)
+ {
+   struct dw_line_info_struct * const x = (struct dw_line_info_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_19dw_line_info_struct))
+     {
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_attr_struct (void *x_p)
+ {
+   struct dw_attr_struct * const x = (struct dw_attr_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_14dw_attr_struct))
+     {
+       gt_pch_n_14dw_attr_struct ((*x).dw_attr_next);
+       switch (((*x).dw_attr_val).val_class)
+         {
+         case dw_val_class_addr:
+           gt_pch_n_7rtx_def ((*x).dw_attr_val.v.val_addr);
+           break;
+         case dw_val_class_offset:
+           break;
+         case dw_val_class_loc_list:
+           gt_pch_n_18dw_loc_list_struct ((*x).dw_attr_val.v.val_loc_list);
+           break;
+         case dw_val_class_loc:
+           gt_pch_n_19dw_loc_descr_struct ((*x).dw_attr_val.v.val_loc);
+           break;
+         default:
+           break;
+         case dw_val_class_unsigned_const:
+           break;
+         case dw_val_class_long_long:
+           break;
+         case dw_val_class_vec:
+           if ((*x).dw_attr_val.v.val_vec.array != NULL) {
+             size_t i0;
+             for (i0 = 0; i0 < (size_t)(((*x).dw_attr_val.v.val_vec).length); i0++) {
+             }
+             gt_pch_note_object ((*x).dw_attr_val.v.val_vec.array, x, gt_pch_p_14dw_attr_struct);
+           }
+           break;
+         case dw_val_class_die_ref:
+           gt_pch_n_10die_struct ((*x).dw_attr_val.v.val_die_ref.die);
+           break;
+         case dw_val_class_fde_ref:
+           break;
+         case dw_val_class_str:
+           gt_pch_n_20indirect_string_node ((*x).dw_attr_val.v.val_str);
+           break;
+         case dw_val_class_lbl_id:
+           gt_pch_n_S ((*x).dw_attr_val.v.val_lbl_id);
+           break;
+         case dw_val_class_flag:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_loc_list_struct (void *x_p)
+ {
+   struct dw_loc_list_struct * const x = (struct dw_loc_list_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_18dw_loc_list_struct))
+     {
+       gt_pch_n_18dw_loc_list_struct ((*x).dw_loc_next);
+       gt_pch_n_S ((*x).begin);
+       gt_pch_n_S ((*x).end);
+       gt_pch_n_S ((*x).ll_symbol);
+       gt_pch_n_S ((*x).section);
+       gt_pch_n_19dw_loc_descr_struct ((*x).expr);
+     }
+ }
+ 
+ void
+ gt_pch_nx_queued_reg_save (void *x_p)
+ {
+   struct queued_reg_save * const x = (struct queued_reg_save *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_15queued_reg_save))
+     {
+       gt_pch_n_15queued_reg_save ((*x).next);
+       gt_pch_n_7rtx_def ((*x).reg);
+     }
+ }
+ 
+ void
+ gt_pch_nx_indirect_string_node (void *x_p)
+ {
+   struct indirect_string_node * const x = (struct indirect_string_node *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_20indirect_string_node))
+     {
+       gt_pch_n_S ((*x).str);
+       gt_pch_n_S ((*x).label);
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_loc_descr_struct (void *x_p)
+ {
+   struct dw_loc_descr_struct * const x = (struct dw_loc_descr_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_19dw_loc_descr_struct))
+     {
+       gt_pch_n_19dw_loc_descr_struct ((*x).dw_loc_next);
+       switch (((*x).dw_loc_oprnd1).val_class)
+         {
+         case dw_val_class_addr:
+           gt_pch_n_7rtx_def ((*x).dw_loc_oprnd1.v.val_addr);
+           break;
+         case dw_val_class_offset:
+           break;
+         case dw_val_class_loc_list:
+           gt_pch_n_18dw_loc_list_struct ((*x).dw_loc_oprnd1.v.val_loc_list);
+           break;
+         case dw_val_class_loc:
+           gt_pch_n_19dw_loc_descr_struct ((*x).dw_loc_oprnd1.v.val_loc);
+           break;
+         default:
+           break;
+         case dw_val_class_unsigned_const:
+           break;
+         case dw_val_class_long_long:
+           break;
+         case dw_val_class_vec:
+           if ((*x).dw_loc_oprnd1.v.val_vec.array != NULL) {
+             size_t i0;
+             for (i0 = 0; i0 < (size_t)(((*x).dw_loc_oprnd1.v.val_vec).length); i0++) {
+             }
+             gt_pch_note_object ((*x).dw_loc_oprnd1.v.val_vec.array, x, gt_pch_p_19dw_loc_descr_struct);
+           }
+           break;
+         case dw_val_class_die_ref:
+           gt_pch_n_10die_struct ((*x).dw_loc_oprnd1.v.val_die_ref.die);
+           break;
+         case dw_val_class_fde_ref:
+           break;
+         case dw_val_class_str:
+           gt_pch_n_20indirect_string_node ((*x).dw_loc_oprnd1.v.val_str);
+           break;
+         case dw_val_class_lbl_id:
+           gt_pch_n_S ((*x).dw_loc_oprnd1.v.val_lbl_id);
+           break;
+         case dw_val_class_flag:
+           break;
+         }
+       switch (((*x).dw_loc_oprnd2).val_class)
+         {
+         case dw_val_class_addr:
+           gt_pch_n_7rtx_def ((*x).dw_loc_oprnd2.v.val_addr);
+           break;
+         case dw_val_class_offset:
+           break;
+         case dw_val_class_loc_list:
+           gt_pch_n_18dw_loc_list_struct ((*x).dw_loc_oprnd2.v.val_loc_list);
+           break;
+         case dw_val_class_loc:
+           gt_pch_n_19dw_loc_descr_struct ((*x).dw_loc_oprnd2.v.val_loc);
+           break;
+         default:
+           break;
+         case dw_val_class_unsigned_const:
+           break;
+         case dw_val_class_long_long:
+           break;
+         case dw_val_class_vec:
+           if ((*x).dw_loc_oprnd2.v.val_vec.array != NULL) {
+             size_t i1;
+             for (i1 = 0; i1 < (size_t)(((*x).dw_loc_oprnd2.v.val_vec).length); i1++) {
+             }
+             gt_pch_note_object ((*x).dw_loc_oprnd2.v.val_vec.array, x, gt_pch_p_19dw_loc_descr_struct);
+           }
+           break;
+         case dw_val_class_die_ref:
+           gt_pch_n_10die_struct ((*x).dw_loc_oprnd2.v.val_die_ref.die);
+           break;
+         case dw_val_class_fde_ref:
+           break;
+         case dw_val_class_str:
+           gt_pch_n_20indirect_string_node ((*x).dw_loc_oprnd2.v.val_str);
+           break;
+         case dw_val_class_lbl_id:
+           gt_pch_n_S ((*x).dw_loc_oprnd2.v.val_lbl_id);
+           break;
+         case dw_val_class_flag:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_fde_struct (void *x_p)
+ {
+   struct dw_fde_struct * const x = (struct dw_fde_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_13dw_fde_struct))
+     {
+       gt_pch_n_S ((*x).dw_fde_begin);
+       gt_pch_n_S ((*x).dw_fde_current_label);
+       gt_pch_n_S ((*x).dw_fde_end);
+       gt_pch_n_13dw_cfi_struct ((*x).dw_fde_cfi);
+     }
+ }
+ 
+ void
+ gt_pch_nx_dw_cfi_struct (void *x_p)
+ {
+   struct dw_cfi_struct * const x = (struct dw_cfi_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_13dw_cfi_struct))
+     {
+       gt_pch_n_13dw_cfi_struct ((*x).dw_cfi_next);
+       switch (dw_cfi_oprnd1_desc (((*x)).dw_cfi_opc))
+         {
+         case dw_cfi_oprnd_reg_num:
+           break;
+         case dw_cfi_oprnd_offset:
+           break;
+         case dw_cfi_oprnd_addr:
+           gt_pch_n_S ((*x).dw_cfi_oprnd1.dw_cfi_addr);
+           break;
+         case dw_cfi_oprnd_loc:
+           gt_pch_n_19dw_loc_descr_struct ((*x).dw_cfi_oprnd1.dw_cfi_loc);
+           break;
+         default:
+           break;
+         }
+       switch (dw_cfi_oprnd2_desc (((*x)).dw_cfi_opc))
+         {
+         case dw_cfi_oprnd_reg_num:
+           break;
+         case dw_cfi_oprnd_offset:
+           break;
+         case dw_cfi_oprnd_addr:
+           gt_pch_n_S ((*x).dw_cfi_oprnd2.dw_cfi_addr);
+           break;
+         case dw_cfi_oprnd_loc:
+           gt_pch_n_19dw_loc_descr_struct ((*x).dw_cfi_oprnd2.dw_cfi_loc);
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_nx_die_struct (void *x_p)
+ {
+   struct die_struct * const x = (struct die_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_10die_struct))
+     {
+       gt_pch_n_S ((*x).die_symbol);
+       gt_pch_n_14dw_attr_struct ((*x).die_attr);
+       gt_pch_n_10die_struct ((*x).die_parent);
+       gt_pch_n_10die_struct ((*x).die_child);
+       gt_pch_n_10die_struct ((*x).die_sib);
+       gt_pch_n_10die_struct ((*x).die_definition);
+     }
+ }
+ 
+ void
+ gt_pch_n_P20indirect_string_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P20indirect_string_node4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_20indirect_string_node ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P20indirect_string_node4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_p_16limbo_die_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct limbo_die_struct * const x ATTRIBUTE_UNUSED = (struct limbo_die_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).die), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).created_for), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+ }
+ 
+ void
+ gt_pch_p_16dw_ranges_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_ranges_struct * const x ATTRIBUTE_UNUSED = (struct dw_ranges_struct *)x_p;
+ }
+ 
+ void
+ gt_pch_p_14pubname_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct pubname_struct * const x ATTRIBUTE_UNUSED = (struct pubname_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).die), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).name), cookie);
+ }
+ 
+ void
+ gt_pch_p_28dw_separate_line_info_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_separate_line_info_struct * const x ATTRIBUTE_UNUSED = (struct dw_separate_line_info_struct *)x_p;
+ }
+ 
+ void
+ gt_pch_p_19dw_line_info_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_line_info_struct * const x ATTRIBUTE_UNUSED = (struct dw_line_info_struct *)x_p;
+ }
+ 
+ void
+ gt_pch_p_14dw_attr_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_attr_struct * const x ATTRIBUTE_UNUSED = (struct dw_attr_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_attr_next), cookie);
+   switch (((*x).dw_attr_val).val_class)
+     {
+     case dw_val_class_addr:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_attr_val.v.val_addr), cookie);
+       break;
+     case dw_val_class_offset:
+       break;
+     case dw_val_class_loc_list:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_attr_val.v.val_loc_list), cookie);
+       break;
+     case dw_val_class_loc:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_attr_val.v.val_loc), cookie);
+       break;
+     default:
+       break;
+     case dw_val_class_unsigned_const:
+       break;
+     case dw_val_class_long_long:
+       break;
+     case dw_val_class_vec:
+       if ((*x).dw_attr_val.v.val_vec.array != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x).dw_attr_val.v.val_vec).length); i0++) {
+         }
+         if ((void *)(x) == this_obj)
+           op (&((*x).dw_attr_val.v.val_vec.array), cookie);
+       }
+       break;
+     case dw_val_class_die_ref:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_attr_val.v.val_die_ref.die), cookie);
+       break;
+     case dw_val_class_fde_ref:
+       break;
+     case dw_val_class_str:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_attr_val.v.val_str), cookie);
+       break;
+     case dw_val_class_lbl_id:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_attr_val.v.val_lbl_id), cookie);
+       break;
+     case dw_val_class_flag:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_18dw_loc_list_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_loc_list_struct * const x ATTRIBUTE_UNUSED = (struct dw_loc_list_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_loc_next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).begin), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).end), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).ll_symbol), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).section), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).expr), cookie);
+ }
+ 
+ void
+ gt_pch_p_15queued_reg_save (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct queued_reg_save * const x ATTRIBUTE_UNUSED = (struct queued_reg_save *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).reg), cookie);
+ }
+ 
+ void
+ gt_pch_p_20indirect_string_node (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct indirect_string_node * const x ATTRIBUTE_UNUSED = (struct indirect_string_node *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).str), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).label), cookie);
+ }
+ 
+ void
+ gt_pch_p_19dw_loc_descr_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_loc_descr_struct * const x ATTRIBUTE_UNUSED = (struct dw_loc_descr_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_loc_next), cookie);
+   switch (((*x).dw_loc_oprnd1).val_class)
+     {
+     case dw_val_class_addr:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd1.v.val_addr), cookie);
+       break;
+     case dw_val_class_offset:
+       break;
+     case dw_val_class_loc_list:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd1.v.val_loc_list), cookie);
+       break;
+     case dw_val_class_loc:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd1.v.val_loc), cookie);
+       break;
+     default:
+       break;
+     case dw_val_class_unsigned_const:
+       break;
+     case dw_val_class_long_long:
+       break;
+     case dw_val_class_vec:
+       if ((*x).dw_loc_oprnd1.v.val_vec.array != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x).dw_loc_oprnd1.v.val_vec).length); i0++) {
+         }
+         if ((void *)(x) == this_obj)
+           op (&((*x).dw_loc_oprnd1.v.val_vec.array), cookie);
+       }
+       break;
+     case dw_val_class_die_ref:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd1.v.val_die_ref.die), cookie);
+       break;
+     case dw_val_class_fde_ref:
+       break;
+     case dw_val_class_str:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd1.v.val_str), cookie);
+       break;
+     case dw_val_class_lbl_id:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd1.v.val_lbl_id), cookie);
+       break;
+     case dw_val_class_flag:
+       break;
+     }
+   switch (((*x).dw_loc_oprnd2).val_class)
+     {
+     case dw_val_class_addr:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd2.v.val_addr), cookie);
+       break;
+     case dw_val_class_offset:
+       break;
+     case dw_val_class_loc_list:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd2.v.val_loc_list), cookie);
+       break;
+     case dw_val_class_loc:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd2.v.val_loc), cookie);
+       break;
+     default:
+       break;
+     case dw_val_class_unsigned_const:
+       break;
+     case dw_val_class_long_long:
+       break;
+     case dw_val_class_vec:
+       if ((*x).dw_loc_oprnd2.v.val_vec.array != NULL) {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(((*x).dw_loc_oprnd2.v.val_vec).length); i1++) {
+         }
+         if ((void *)(x) == this_obj)
+           op (&((*x).dw_loc_oprnd2.v.val_vec.array), cookie);
+       }
+       break;
+     case dw_val_class_die_ref:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd2.v.val_die_ref.die), cookie);
+       break;
+     case dw_val_class_fde_ref:
+       break;
+     case dw_val_class_str:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd2.v.val_str), cookie);
+       break;
+     case dw_val_class_lbl_id:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_loc_oprnd2.v.val_lbl_id), cookie);
+       break;
+     case dw_val_class_flag:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_13dw_fde_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_fde_struct * const x ATTRIBUTE_UNUSED = (struct dw_fde_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_fde_begin), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_fde_current_label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_fde_end), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_fde_cfi), cookie);
+ }
+ 
+ void
+ gt_pch_p_13dw_cfi_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct dw_cfi_struct * const x ATTRIBUTE_UNUSED = (struct dw_cfi_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).dw_cfi_next), cookie);
+   switch (dw_cfi_oprnd1_desc (((*x)).dw_cfi_opc))
+     {
+     case dw_cfi_oprnd_reg_num:
+       break;
+     case dw_cfi_oprnd_offset:
+       break;
+     case dw_cfi_oprnd_addr:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_cfi_oprnd1.dw_cfi_addr), cookie);
+       break;
+     case dw_cfi_oprnd_loc:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_cfi_oprnd1.dw_cfi_loc), cookie);
+       break;
+     default:
+       break;
+     }
+   switch (dw_cfi_oprnd2_desc (((*x)).dw_cfi_opc))
+     {
+     case dw_cfi_oprnd_reg_num:
+       break;
+     case dw_cfi_oprnd_offset:
+       break;
+     case dw_cfi_oprnd_addr:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_cfi_oprnd2.dw_cfi_addr), cookie);
+       break;
+     case dw_cfi_oprnd_loc:
+       if ((void *)(x) == this_obj)
+         op (&((*x).dw_cfi_oprnd2.dw_cfi_loc), cookie);
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_10die_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct die_struct * const x ATTRIBUTE_UNUSED = (struct die_struct *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).die_symbol), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).die_attr), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).die_parent), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).die_child), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).die_sib), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).die_definition), cookie);
+ }
+ 
+ void
+ gt_pch_p_P20indirect_string_node4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ /* GC roots.  */
+ 
+ static void gt_ggc_ma_ranges_table (void *);
+ static void
+ gt_ggc_ma_ranges_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (ranges_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(ranges_table_allocated); i0++) {
+     }
+     ggc_mark (ranges_table);
+   }
+ }
+ 
+ static void gt_pch_pa_ranges_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_ranges_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (ranges_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(ranges_table_allocated); i0++) {
+     }
+     if ((void *)(&ranges_table) == this_obj)
+       op (&(ranges_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_ranges_table (void *);
+ static void
+ gt_pch_na_ranges_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (ranges_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(ranges_table_allocated); i1++) {
+     }
+     gt_pch_note_object (ranges_table, &ranges_table, gt_pch_pa_ranges_table);
+   }
+ }
+ 
+ static void gt_ggc_ma_arange_table (void *);
+ static void
+ gt_ggc_ma_arange_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (arange_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(arange_table_allocated); i0++) {
+       gt_ggc_m_10die_struct (arange_table[i0]);
+     }
+     ggc_mark (arange_table);
+   }
+ }
+ 
+ static void gt_pch_pa_arange_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_arange_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (arange_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(arange_table_allocated); i0++) {
+       if ((void *)(arange_table) == this_obj)
+         op (&(arange_table[i0]), cookie);
+     }
+     if ((void *)(&arange_table) == this_obj)
+       op (&(arange_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_arange_table (void *);
+ static void
+ gt_pch_na_arange_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (arange_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(arange_table_allocated); i1++) {
+       gt_pch_n_10die_struct (arange_table[i1]);
+     }
+     gt_pch_note_object (arange_table, &arange_table, gt_pch_pa_arange_table);
+   }
+ }
+ 
+ static void gt_ggc_ma_pubname_table (void *);
+ static void
+ gt_ggc_ma_pubname_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (pubname_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(pubname_table_allocated); i0++) {
+       gt_ggc_m_10die_struct (pubname_table[i0].die);
+     }
+     ggc_mark (pubname_table);
+   }
+ }
+ 
+ static void gt_pch_pa_pubname_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_pubname_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (pubname_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(pubname_table_allocated); i0++) {
+       if ((void *)(pubname_table) == this_obj)
+         op (&(pubname_table[i0].die), cookie);
+       if ((void *)(pubname_table) == this_obj)
+         op (&(pubname_table[i0].name), cookie);
+     }
+     if ((void *)(&pubname_table) == this_obj)
+       op (&(pubname_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_pubname_table (void *);
+ static void
+ gt_pch_na_pubname_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (pubname_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(pubname_table_allocated); i1++) {
+       gt_pch_n_10die_struct (pubname_table[i1].die);
+       gt_pch_n_S (pubname_table[i1].name);
+     }
+     gt_pch_note_object (pubname_table, &pubname_table, gt_pch_pa_pubname_table);
+   }
+ }
+ 
+ static void gt_ggc_ma_separate_line_info_table (void *);
+ static void
+ gt_ggc_ma_separate_line_info_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (separate_line_info_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(separate_line_info_table_allocated); i0++) {
+     }
+     ggc_mark (separate_line_info_table);
+   }
+ }
+ 
+ static void gt_pch_pa_separate_line_info_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_separate_line_info_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (separate_line_info_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(separate_line_info_table_allocated); i0++) {
+     }
+     if ((void *)(&separate_line_info_table) == this_obj)
+       op (&(separate_line_info_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_separate_line_info_table (void *);
+ static void
+ gt_pch_na_separate_line_info_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (separate_line_info_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(separate_line_info_table_allocated); i1++) {
+     }
+     gt_pch_note_object (separate_line_info_table, &separate_line_info_table, gt_pch_pa_separate_line_info_table);
+   }
+ }
+ 
+ static void gt_ggc_ma_line_info_table (void *);
+ static void
+ gt_ggc_ma_line_info_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (line_info_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(line_info_table_allocated); i0++) {
+     }
+     ggc_mark (line_info_table);
+   }
+ }
+ 
+ static void gt_pch_pa_line_info_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_line_info_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (line_info_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(line_info_table_allocated); i0++) {
+     }
+     if ((void *)(&line_info_table) == this_obj)
+       op (&(line_info_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_line_info_table (void *);
+ static void
+ gt_pch_na_line_info_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (line_info_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(line_info_table_allocated); i1++) {
+     }
+     gt_pch_note_object (line_info_table, &line_info_table, gt_pch_pa_line_info_table);
+   }
+ }
+ 
+ static void gt_ggc_ma_abbrev_die_table (void *);
+ static void
+ gt_ggc_ma_abbrev_die_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (abbrev_die_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(abbrev_die_table_allocated); i0++) {
+       gt_ggc_m_10die_struct (abbrev_die_table[i0]);
+     }
+     ggc_mark (abbrev_die_table);
+   }
+ }
+ 
+ static void gt_pch_pa_abbrev_die_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_abbrev_die_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (abbrev_die_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(abbrev_die_table_allocated); i0++) {
+       if ((void *)(abbrev_die_table) == this_obj)
+         op (&(abbrev_die_table[i0]), cookie);
+     }
+     if ((void *)(&abbrev_die_table) == this_obj)
+       op (&(abbrev_die_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_abbrev_die_table (void *);
+ static void
+ gt_pch_na_abbrev_die_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (abbrev_die_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(abbrev_die_table_allocated); i1++) {
+       gt_pch_n_10die_struct (abbrev_die_table[i1]);
+     }
+     gt_pch_note_object (abbrev_die_table, &abbrev_die_table, gt_pch_pa_abbrev_die_table);
+   }
+ }
+ 
+ static void gt_ggc_ma_decl_die_table (void *);
+ static void
+ gt_ggc_ma_decl_die_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (decl_die_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(decl_die_table_allocated); i0++) {
+       gt_ggc_m_10die_struct (decl_die_table[i0]);
+     }
+     ggc_mark (decl_die_table);
+   }
+ }
+ 
+ static void gt_pch_pa_decl_die_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_decl_die_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (decl_die_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(decl_die_table_allocated); i0++) {
+       if ((void *)(decl_die_table) == this_obj)
+         op (&(decl_die_table[i0]), cookie);
+     }
+     if ((void *)(&decl_die_table) == this_obj)
+       op (&(decl_die_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_decl_die_table (void *);
+ static void
+ gt_pch_na_decl_die_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (decl_die_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(decl_die_table_allocated); i1++) {
+       gt_pch_n_10die_struct (decl_die_table[i1]);
+     }
+     gt_pch_note_object (decl_die_table, &decl_die_table, gt_pch_pa_decl_die_table);
+   }
+ }
+ 
+ static void gt_ggc_ma_fde_table (void *);
+ static void
+ gt_ggc_ma_fde_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (fde_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(fde_table_allocated); i0++) {
+       gt_ggc_m_13dw_cfi_struct (fde_table[i0].dw_fde_cfi);
+     }
+     ggc_mark (fde_table);
+   }
+ }
+ 
+ static void gt_pch_pa_fde_table
+     (void *, void *, gt_pointer_operator, void *);
+ static void gt_pch_pa_fde_table (void *this_obj ATTRIBUTE_UNUSED,
+       void *x_p ATTRIBUTE_UNUSED,
+       gt_pointer_operator op ATTRIBUTE_UNUSED,
+       void *cookie ATTRIBUTE_UNUSED)
+ {
+   if (fde_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(fde_table_allocated); i0++) {
+       if ((void *)(fde_table) == this_obj)
+         op (&(fde_table[i0].dw_fde_begin), cookie);
+       if ((void *)(fde_table) == this_obj)
+         op (&(fde_table[i0].dw_fde_current_label), cookie);
+       if ((void *)(fde_table) == this_obj)
+         op (&(fde_table[i0].dw_fde_end), cookie);
+       if ((void *)(fde_table) == this_obj)
+         op (&(fde_table[i0].dw_fde_cfi), cookie);
+     }
+     if ((void *)(&fde_table) == this_obj)
+       op (&(fde_table), cookie);
+   }
+ }
+ 
+ static void gt_pch_na_fde_table (void *);
+ static void
+ gt_pch_na_fde_table (void *x_p ATTRIBUTE_UNUSED)
+ {
+   if (fde_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(fde_table_allocated); i1++) {
+       gt_pch_n_S (fde_table[i1].dw_fde_begin);
+       gt_pch_n_S (fde_table[i1].dw_fde_current_label);
+       gt_pch_n_S (fde_table[i1].dw_fde_end);
+       gt_pch_n_13dw_cfi_struct (fde_table[i1].dw_fde_cfi);
+     }
+     gt_pch_note_object (fde_table, &fde_table, gt_pch_pa_fde_table);
+   }
+ }
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_dwarf2out_h[] = {
+   {
+     &ranges_table,
+     1,
+     sizeof (ranges_table),
+     &gt_ggc_ma_ranges_table,
+     &gt_pch_na_ranges_table
+   },
+   {
+     &arange_table,
+     1,
+     sizeof (arange_table),
+     &gt_ggc_ma_arange_table,
+     &gt_pch_na_arange_table
+   },
+   {
+     &pubname_table,
+     1,
+     sizeof (pubname_table),
+     &gt_ggc_ma_pubname_table,
+     &gt_pch_na_pubname_table
+   },
+   {
+     &separate_line_info_table,
+     1,
+     sizeof (separate_line_info_table),
+     &gt_ggc_ma_separate_line_info_table,
+     &gt_pch_na_separate_line_info_table
+   },
+   {
+     &line_info_table,
+     1,
+     sizeof (line_info_table),
+     &gt_ggc_ma_line_info_table,
+     &gt_pch_na_line_info_table
+   },
+   {
+     &abbrev_die_table,
+     1,
+     sizeof (abbrev_die_table),
+     &gt_ggc_ma_abbrev_die_table,
+     &gt_pch_na_abbrev_die_table
+   },
+   {
+     &decl_die_table,
+     1,
+     sizeof (decl_die_table),
+     &gt_ggc_ma_decl_die_table,
+     &gt_pch_na_decl_die_table
+   },
+   {
+     &file_table_emitted,
+     1,
+     sizeof (file_table_emitted),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &file_table,
+     1,
+     sizeof (file_table),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &limbo_die_list,
+     1,
+     sizeof (limbo_die_list),
+     &gt_ggc_mx_limbo_die_struct,
+     &gt_pch_nx_limbo_die_struct
+   },
+   {
+     &comp_unit_die,
+     1,
+     sizeof (comp_unit_die),
+     &gt_ggc_mx_die_struct,
+     &gt_pch_nx_die_struct
+   },
+   {
+     &queued_reg_saves,
+     1,
+     sizeof (queued_reg_saves),
+     &gt_ggc_mx_queued_reg_save,
+     &gt_pch_nx_queued_reg_save
+   },
+   {
+     &debug_str_hash,
+     1,
+     sizeof (debug_str_hash),
+     &gt_ggc_m_P20indirect_string_node4htab,
+     &gt_pch_n_P20indirect_string_node4htab
+   },
+   {
+     &cie_cfi_head,
+     1,
+     sizeof (cie_cfi_head),
+     &gt_ggc_mx_dw_cfi_struct,
+     &gt_pch_nx_dw_cfi_struct
+   },
+   {
+     &fde_table,
+     1,
+     sizeof (fde_table),
+     &gt_ggc_ma_fde_table,
+     &gt_pch_na_fde_table
+   },
+   {
+     &decl_scope_table,
+     1,
+     sizeof (decl_scope_table),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &incomplete_types,
+     1,
+     sizeof (incomplete_types),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &used_rtx_varray,
+     1,
+     sizeof (used_rtx_varray),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_dwarf2out_h[] = {
+   { &label_num, 1, sizeof (label_num), NULL, NULL },
+   { &emitcount, 1, sizeof (emitcount), NULL, NULL },
+   { &have_location_lists, 1, sizeof (have_location_lists), NULL, NULL },
+   { &ranges_table_in_use, 1, sizeof (ranges_table_in_use), NULL, NULL },
+   { &ranges_table_allocated, 1, sizeof (ranges_table_allocated), NULL, NULL },
+   { &arange_table_in_use, 1, sizeof (arange_table_in_use), NULL, NULL },
+   { &arange_table_allocated, 1, sizeof (arange_table_allocated), NULL, NULL },
+   { &pubname_table_in_use, 1, sizeof (pubname_table_in_use), NULL, NULL },
+   { &pubname_table_allocated, 1, sizeof (pubname_table_allocated), NULL, NULL },
+   { &separate_line_info_table_in_use, 1, sizeof (separate_line_info_table_in_use), NULL, NULL },
+   { &separate_line_info_table_allocated, 1, sizeof (separate_line_info_table_allocated), NULL, NULL },
+   { &line_info_table_in_use, 1, sizeof (line_info_table_in_use), NULL, NULL },
+   { &line_info_table_allocated, 1, sizeof (line_info_table_allocated), NULL, NULL },
+   { &abbrev_die_table_in_use, 1, sizeof (abbrev_die_table_in_use), NULL, NULL },
+   { &abbrev_die_table_allocated, 1, sizeof (abbrev_die_table_allocated), NULL, NULL },
+   { &decl_die_table_in_use, 1, sizeof (decl_die_table_in_use), NULL, NULL },
+   { &decl_die_table_allocated, 1, sizeof (decl_die_table_allocated), NULL, NULL },
+   { &file_table_last_lookup_index, 1, sizeof (file_table_last_lookup_index), NULL, NULL },
+   { &dwarf2out_cfi_label_num, 1, sizeof (dwarf2out_cfi_label_num), NULL, NULL },
+   { &dw2_string_counter, 1, sizeof (dw2_string_counter), NULL, NULL },
+   { &fde_table_in_use, 1, sizeof (fde_table_in_use), NULL, NULL },
+   { &fde_table_allocated, 1, sizeof (fde_table_allocated), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-emit-rtl.h
diff -c /dev/null gcc/gcc/gt-emit-rtl.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-emit-rtl.h	Fri Apr 24 10:12:07 2009
***************
*** 0 ****
--- 1,113 ----
+ /* Type information for emit-rtl.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_emit_rtl_h[] = {
+   {
+     &static_regno_reg_rtx[0],
+     1 * (FIRST_PSEUDO_REGISTER),
+     sizeof (static_regno_reg_rtx[0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_ggc_rd_gt_emit_rtl_h[] = {
+   { &free_sequence_stack, 1, sizeof (free_sequence_stack), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_cache_tab gt_ggc_rc_gt_emit_rtl_h[] = {
+   {
+     &const_double_htab,
+     1,
+     sizeof (const_double_htab),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def,
+     &ggc_marked_p
+   },
+   {
+     &reg_attrs_htab,
+     1,
+     sizeof (reg_attrs_htab),
+     &gt_ggc_mx_reg_attrs,
+     &gt_pch_nx_reg_attrs,
+     &ggc_marked_p
+   },
+   {
+     &mem_attrs_htab,
+     1,
+     sizeof (mem_attrs_htab),
+     &gt_ggc_mx_mem_attrs,
+     &gt_pch_nx_mem_attrs,
+     &ggc_marked_p
+   },
+   {
+     &const_int_htab,
+     1,
+     sizeof (const_int_htab),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def,
+     &ggc_marked_p
+   },
+   LAST_GGC_CACHE_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rc_gt_emit_rtl_h[] = {
+   {
+     &const_double_htab,
+     1,
+     sizeof (const_double_htab),
+     &gt_ggc_m_P7rtx_def4htab,
+     &gt_pch_n_P7rtx_def4htab
+   },
+   {
+     &reg_attrs_htab,
+     1,
+     sizeof (reg_attrs_htab),
+     &gt_ggc_m_P9reg_attrs4htab,
+     &gt_pch_n_P9reg_attrs4htab
+   },
+   {
+     &mem_attrs_htab,
+     1,
+     sizeof (mem_attrs_htab),
+     &gt_ggc_m_P9mem_attrs4htab,
+     &gt_pch_n_P9mem_attrs4htab
+   },
+   {
+     &const_int_htab,
+     1,
+     sizeof (const_int_htab),
+     &gt_ggc_m_P7rtx_def4htab,
+     &gt_pch_n_P7rtx_def4htab
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_emit_rtl_h[] = {
+   { &label_num, 1, sizeof (label_num), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-except.h
diff -c /dev/null gcc/gcc/gt-except.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-except.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,427 ----
+ /* Type information for except.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_eh_region (void *x_p)
+ {
+   struct eh_region * const x = (struct eh_region *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9eh_region ((*x).outer);
+       gt_ggc_m_9eh_region ((*x).inner);
+       gt_ggc_m_9eh_region ((*x).next_peer);
+       gt_ggc_m_15bitmap_head_def ((*x).aka);
+       switch ((*x).type)
+         {
+         case ERT_TRY:
+           gt_ggc_m_9eh_region ((*x).u.try.catch);
+           gt_ggc_m_9eh_region ((*x).u.try.last_catch);
+           gt_ggc_m_9eh_region ((*x).u.try.prev_try);
+           gt_ggc_m_7rtx_def ((*x).u.try.continue_label);
+           break;
+         case ERT_CATCH:
+           gt_ggc_m_9eh_region ((*x).u.catch.next_catch);
+           gt_ggc_m_9eh_region ((*x).u.catch.prev_catch);
+           gt_ggc_m_9tree_node ((*x).u.catch.type_list);
+           gt_ggc_m_9tree_node ((*x).u.catch.filter_list);
+           break;
+         case ERT_ALLOWED_EXCEPTIONS:
+           gt_ggc_m_9tree_node ((*x).u.allowed.type_list);
+           break;
+         case ERT_THROW:
+           gt_ggc_m_9tree_node ((*x).u.throw.type);
+           break;
+         case ERT_CLEANUP:
+           gt_ggc_m_9tree_node ((*x).u.cleanup.exp);
+           gt_ggc_m_9eh_region ((*x).u.cleanup.prev_try);
+           break;
+         case ERT_FIXUP:
+           gt_ggc_m_9tree_node ((*x).u.fixup.cleanup_exp);
+           gt_ggc_m_9eh_region ((*x).u.fixup.real_region);
+           break;
+         default:
+           break;
+         }
+       gt_ggc_m_7rtx_def ((*x).label);
+       gt_ggc_m_7rtx_def ((*x).landing_pad);
+       gt_ggc_m_7rtx_def ((*x).post_landing_pad);
+       gt_ggc_m_7rtx_def ((*x).resume);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_ehl_map_entry (void *x_p)
+ {
+   struct ehl_map_entry * const x = (struct ehl_map_entry *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7rtx_def ((*x).label);
+       gt_ggc_m_9eh_region ((*x).region);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_eh_status (void *x_p)
+ {
+   struct eh_status * const x = (struct eh_status *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9eh_region ((*x).region_tree);
+       if ((*x).region_array != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).last_region_number); i0++) {
+           gt_ggc_m_9eh_region ((*x).region_array[i0]);
+         }
+         ggc_mark ((*x).region_array);
+       }
+       gt_ggc_m_9eh_region ((*x).cur_region);
+       gt_ggc_m_9eh_region ((*x).try_region);
+       gt_ggc_m_7rtx_def ((*x).filter);
+       gt_ggc_m_7rtx_def ((*x).exc_ptr);
+       gt_ggc_m_15varray_head_tag ((*x).ttype_data);
+       gt_ggc_m_15varray_head_tag ((*x).ehspec_data);
+       gt_ggc_m_15varray_head_tag ((*x).action_record_data);
+       gt_ggc_m_P13ehl_map_entry4htab ((*x).exception_handler_label_map);
+       if ((*x).call_site_data != NULL) {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(((*x)).call_site_data_used); i1++) {
+           gt_ggc_m_7rtx_def ((*x).call_site_data[i1].landing_pad);
+         }
+         ggc_mark ((*x).call_site_data);
+       }
+       gt_ggc_m_7rtx_def ((*x).ehr_stackadj);
+       gt_ggc_m_7rtx_def ((*x).ehr_handler);
+       gt_ggc_m_7rtx_def ((*x).ehr_label);
+       gt_ggc_m_7rtx_def ((*x).sjlj_fc);
+       gt_ggc_m_7rtx_def ((*x).sjlj_exit_after);
+     }
+ }
+ 
+ void
+ gt_ggc_m_P13ehl_map_entry4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_13ehl_map_entry ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_eh_region (void *x_p)
+ {
+   struct eh_region * const x = (struct eh_region *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9eh_region))
+     {
+       gt_pch_n_9eh_region ((*x).outer);
+       gt_pch_n_9eh_region ((*x).inner);
+       gt_pch_n_9eh_region ((*x).next_peer);
+       gt_pch_n_15bitmap_head_def ((*x).aka);
+       switch ((*x).type)
+         {
+         case ERT_TRY:
+           gt_pch_n_9eh_region ((*x).u.try.catch);
+           gt_pch_n_9eh_region ((*x).u.try.last_catch);
+           gt_pch_n_9eh_region ((*x).u.try.prev_try);
+           gt_pch_n_7rtx_def ((*x).u.try.continue_label);
+           break;
+         case ERT_CATCH:
+           gt_pch_n_9eh_region ((*x).u.catch.next_catch);
+           gt_pch_n_9eh_region ((*x).u.catch.prev_catch);
+           gt_pch_n_9tree_node ((*x).u.catch.type_list);
+           gt_pch_n_9tree_node ((*x).u.catch.filter_list);
+           break;
+         case ERT_ALLOWED_EXCEPTIONS:
+           gt_pch_n_9tree_node ((*x).u.allowed.type_list);
+           break;
+         case ERT_THROW:
+           gt_pch_n_9tree_node ((*x).u.throw.type);
+           break;
+         case ERT_CLEANUP:
+           gt_pch_n_9tree_node ((*x).u.cleanup.exp);
+           gt_pch_n_9eh_region ((*x).u.cleanup.prev_try);
+           break;
+         case ERT_FIXUP:
+           gt_pch_n_9tree_node ((*x).u.fixup.cleanup_exp);
+           gt_pch_n_9eh_region ((*x).u.fixup.real_region);
+           break;
+         default:
+           break;
+         }
+       gt_pch_n_7rtx_def ((*x).label);
+       gt_pch_n_7rtx_def ((*x).landing_pad);
+       gt_pch_n_7rtx_def ((*x).post_landing_pad);
+       gt_pch_n_7rtx_def ((*x).resume);
+     }
+ }
+ 
+ void
+ gt_pch_nx_ehl_map_entry (void *x_p)
+ {
+   struct ehl_map_entry * const x = (struct ehl_map_entry *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_13ehl_map_entry))
+     {
+       gt_pch_n_7rtx_def ((*x).label);
+       gt_pch_n_9eh_region ((*x).region);
+     }
+ }
+ 
+ void
+ gt_pch_nx_eh_status (void *x_p)
+ {
+   struct eh_status * const x = (struct eh_status *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9eh_status))
+     {
+       gt_pch_n_9eh_region ((*x).region_tree);
+       if ((*x).region_array != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).last_region_number); i0++) {
+           gt_pch_n_9eh_region ((*x).region_array[i0]);
+         }
+         gt_pch_note_object ((*x).region_array, x, gt_pch_p_9eh_status);
+       }
+       gt_pch_n_9eh_region ((*x).cur_region);
+       gt_pch_n_9eh_region ((*x).try_region);
+       gt_pch_n_7rtx_def ((*x).filter);
+       gt_pch_n_7rtx_def ((*x).exc_ptr);
+       gt_pch_n_15varray_head_tag ((*x).ttype_data);
+       gt_pch_n_15varray_head_tag ((*x).ehspec_data);
+       gt_pch_n_15varray_head_tag ((*x).action_record_data);
+       gt_pch_n_P13ehl_map_entry4htab ((*x).exception_handler_label_map);
+       if ((*x).call_site_data != NULL) {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(((*x)).call_site_data_used); i1++) {
+           gt_pch_n_7rtx_def ((*x).call_site_data[i1].landing_pad);
+         }
+         gt_pch_note_object ((*x).call_site_data, x, gt_pch_p_9eh_status);
+       }
+       gt_pch_n_7rtx_def ((*x).ehr_stackadj);
+       gt_pch_n_7rtx_def ((*x).ehr_handler);
+       gt_pch_n_7rtx_def ((*x).ehr_label);
+       gt_pch_n_7rtx_def ((*x).sjlj_fc);
+       gt_pch_n_7rtx_def ((*x).sjlj_exit_after);
+     }
+ }
+ 
+ void
+ gt_pch_n_P13ehl_map_entry4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P13ehl_map_entry4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_13ehl_map_entry ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P13ehl_map_entry4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_p_9eh_region (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct eh_region * const x ATTRIBUTE_UNUSED = (struct eh_region *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).outer), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).inner), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_peer), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).aka), cookie);
+   switch ((*x).type)
+     {
+     case ERT_TRY:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.try.catch), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.try.last_catch), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.try.prev_try), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.try.continue_label), cookie);
+       break;
+     case ERT_CATCH:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.catch.next_catch), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.catch.prev_catch), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.catch.type_list), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.catch.filter_list), cookie);
+       break;
+     case ERT_ALLOWED_EXCEPTIONS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.allowed.type_list), cookie);
+       break;
+     case ERT_THROW:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.throw.type), cookie);
+       break;
+     case ERT_CLEANUP:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.cleanup.exp), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.cleanup.prev_try), cookie);
+       break;
+     case ERT_FIXUP:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fixup.cleanup_exp), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fixup.real_region), cookie);
+       break;
+     default:
+       break;
+     }
+   if ((void *)(x) == this_obj)
+     op (&((*x).label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).landing_pad), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).post_landing_pad), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).resume), cookie);
+ }
+ 
+ void
+ gt_pch_p_13ehl_map_entry (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct ehl_map_entry * const x ATTRIBUTE_UNUSED = (struct ehl_map_entry *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).region), cookie);
+ }
+ 
+ void
+ gt_pch_p_9eh_status (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct eh_status * const x ATTRIBUTE_UNUSED = (struct eh_status *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).region_tree), cookie);
+   if ((*x).region_array != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).last_region_number); i0++) {
+       if ((void *)((*x).region_array) == this_obj)
+         op (&((*x).region_array[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).region_array), cookie);
+   }
+   if ((void *)(x) == this_obj)
+     op (&((*x).cur_region), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).try_region), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).filter), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).exc_ptr), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).ttype_data), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).ehspec_data), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).action_record_data), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).exception_handler_label_map), cookie);
+   if ((*x).call_site_data != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(((*x)).call_site_data_used); i1++) {
+       if ((void *)((*x).call_site_data) == this_obj)
+         op (&((*x).call_site_data[i1].landing_pad), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).call_site_data), cookie);
+   }
+   if ((void *)(x) == this_obj)
+     op (&((*x).ehr_stackadj), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).ehr_handler), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).ehr_label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).sjlj_fc), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).sjlj_exit_after), cookie);
+ }
+ 
+ void
+ gt_pch_p_P13ehl_map_entry4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_except_h[] = {
+   {
+     &sjlj_fc_type_node,
+     1,
+     sizeof (sjlj_fc_type_node),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &type_to_runtime_map,
+     1,
+     sizeof (type_to_runtime_map),
+     &gt_ggc_m_P9tree_node4htab,
+     &gt_pch_n_P9tree_node4htab
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_except_h[] = {
+   { &call_site_base, 1, sizeof (call_site_base), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-explow.h
diff -c /dev/null gcc/gcc/gt-explow.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-explow.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for explow.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_explow_h[] = {
+   {
+     &stack_check_libfunc,
+     1,
+     sizeof (stack_check_libfunc),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-expr.h
diff -c /dev/null gcc/gcc/gt-expr.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-expr.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,42 ----
+ /* Type information for expr.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_expr_h[] = {
+   {
+     &block_clear_fn,
+     1,
+     sizeof (block_clear_fn),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &block_move_fn,
+     1,
+     sizeof (block_move_fn),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-fold-const.h
diff -c /dev/null gcc/gcc/gt-fold-const.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-fold-const.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,58 ----
+ /* Type information for fold-const.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_fold_const_h[] = {
+   {
+     &new_const,
+     1,
+     sizeof (new_const),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_cache_tab gt_ggc_rc_gt_fold_const_h[] = {
+   {
+     &size_htab,
+     1,
+     sizeof (size_htab),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node,
+     &ggc_marked_p
+   },
+   LAST_GGC_CACHE_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rc_gt_fold_const_h[] = {
+   {
+     &size_htab,
+     1,
+     sizeof (size_htab),
+     &gt_ggc_m_P9tree_node4htab,
+     &gt_pch_n_P9tree_node4htab
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-function.h
diff -c /dev/null gcc/gcc/gt-function.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-function.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,109 ----
+ /* Type information for function.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_temp_slot (void *x_p)
+ {
+   struct temp_slot * const x = (struct temp_slot *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9temp_slot ((*x).next);
+       gt_ggc_m_7rtx_def ((*x).slot);
+       gt_ggc_m_7rtx_def ((*x).address);
+       gt_ggc_m_9tree_node ((*x).type);
+       gt_ggc_m_9tree_node ((*x).rtl_expr);
+     }
+ }
+ 
+ void
+ gt_pch_nx_temp_slot (void *x_p)
+ {
+   struct temp_slot * const x = (struct temp_slot *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9temp_slot))
+     {
+       gt_pch_n_9temp_slot ((*x).next);
+       gt_pch_n_7rtx_def ((*x).slot);
+       gt_pch_n_7rtx_def ((*x).address);
+       gt_pch_n_9tree_node ((*x).type);
+       gt_pch_n_9tree_node ((*x).rtl_expr);
+     }
+ }
+ 
+ void
+ gt_pch_p_9temp_slot (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct temp_slot * const x ATTRIBUTE_UNUSED = (struct temp_slot *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).slot), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).address), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).type), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).rtl_expr), cookie);
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_function_h[] = {
+   {
+     &initial_trampoline,
+     1,
+     sizeof (initial_trampoline),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &sibcall_epilogue,
+     1,
+     sizeof (sibcall_epilogue),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &epilogue,
+     1,
+     sizeof (epilogue),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &prologue,
+     1,
+     sizeof (prologue),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_function_h[] = {
+   { &next_block_index, 1, sizeof (next_block_index), NULL, NULL },
+   { &funcdef_no, 1, sizeof (funcdef_no), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-gcse.h
diff -c /dev/null gcc/gcc/gt-gcse.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-gcse.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for gcse.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_gcse_h[] = {
+   {
+     &test_insn,
+     1,
+     sizeof (test_insn),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-integrate.h
diff -c /dev/null gcc/gcc/gt-integrate.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-integrate.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,89 ----
+ /* Type information for integrate.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_initial_value_struct (void *x_p)
+ {
+   struct initial_value_struct * const x = (struct initial_value_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).num_entries); i0++) {
+           gt_ggc_m_7rtx_def ((*x).entries[i0].hard_reg);
+           gt_ggc_m_7rtx_def ((*x).entries[i0].pseudo);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_initial_value_struct (void *x_p)
+ {
+   struct initial_value_struct * const x = (struct initial_value_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_20initial_value_struct))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).num_entries); i0++) {
+           gt_pch_n_7rtx_def ((*x).entries[i0].hard_reg);
+           gt_pch_n_7rtx_def ((*x).entries[i0].pseudo);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_20initial_value_struct);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_p_20initial_value_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct initial_value_struct * const x ATTRIBUTE_UNUSED = (struct initial_value_struct *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).num_entries); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0].hard_reg), cookie);
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0].pseudo), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_integrate_h[] = {
+   {
+     &old_cfun,
+     1,
+     sizeof (old_cfun),
+     &gt_ggc_mx_function,
+     &gt_pch_nx_function
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-langhooks.h
diff -c /dev/null gcc/gcc/gt-langhooks.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-langhooks.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,33 ----
+ /* Type information for langhooks.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_langhooks_h[] = {
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_langhooks_h[] = {
+   { &var_labelno, 1, sizeof (var_labelno), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-lists.h
diff -c /dev/null gcc/gcc/gt-lists.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-lists.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,30 ----
+ /* Type information for lists.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_rd_gt_lists_h[] = {
+   { &unused_expr_list, 1, sizeof (unused_expr_list), NULL, NULL },
+   { &unused_insn_list, 1, sizeof (unused_insn_list), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-optabs.h
diff -c /dev/null gcc/gcc/gt-optabs.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-optabs.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for optabs.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_optabs_h[] = {
+   {
+     &trap_rtx,
+     1,
+     sizeof (trap_rtx),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-ra-build.h
diff -c /dev/null gcc/gcc/gt-ra-build.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-ra-build.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for ra-build.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_ra_build_h[] = {
+   {
+     &remat_test_insn,
+     1,
+     sizeof (remat_test_insn),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-reg-stack.h
diff -c /dev/null gcc/gcc/gt-reg-stack.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-reg-stack.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for reg-stack.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_reg_stack_h[] = {
+   {
+     &stack_regs_mentioned_data,
+     1,
+     sizeof (stack_regs_mentioned_data),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-regclass.h
diff -c /dev/null gcc/gcc/gt-regclass.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-regclass.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for regclass.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_regclass_h[] = {
+   {
+     &top_of_stack[0],
+     1 * (MAX_MACHINE_MODE),
+     sizeof (top_of_stack[0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-sdbout.h
diff -c /dev/null gcc/gcc/gt-sdbout.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-sdbout.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,41 ----
+ /* Type information for sdbout.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_sdbout_h[] = {
+   {
+     &anonymous_types,
+     1,
+     sizeof (anonymous_types),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_sdbout_h[] = {
+   { &unnamed_struct_number, 1, sizeof (unnamed_struct_number), NULL, NULL },
+   { &sdbout_source_line_counter, 1, sizeof (sdbout_source_line_counter), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-stmt.h
diff -c /dev/null gcc/gcc/gt-stmt.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-stmt.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,381 ----
+ /* Type information for stmt.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_goto_fixup (void *x_p)
+ {
+   struct goto_fixup * const x = (struct goto_fixup *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_10goto_fixup ((*x).next);
+       gt_ggc_m_7rtx_def ((*x).before_jump);
+       gt_ggc_m_9tree_node ((*x).target);
+       gt_ggc_m_9tree_node ((*x).context);
+       gt_ggc_m_7rtx_def ((*x).target_rtl);
+       gt_ggc_m_7rtx_def ((*x).stack_level);
+       gt_ggc_m_9tree_node ((*x).cleanup_list_list);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_label_chain (void *x_p)
+ {
+   struct label_chain * const x = (struct label_chain *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_11label_chain ((*x).next);
+       gt_ggc_m_9tree_node ((*x).label);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_nesting (void *x_p)
+ {
+   struct nesting * const x = (struct nesting *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7nesting ((*x).all);
+       gt_ggc_m_7nesting ((*x).next);
+       gt_ggc_m_7rtx_def ((*x).exit_label);
+       switch (((*x)).desc)
+         {
+         case COND_NESTING:
+           gt_ggc_m_7rtx_def ((*x).data.cond.endif_label);
+           gt_ggc_m_7rtx_def ((*x).data.cond.next_label);
+           break;
+         case LOOP_NESTING:
+           gt_ggc_m_7rtx_def ((*x).data.loop.start_label);
+           gt_ggc_m_7rtx_def ((*x).data.loop.end_label);
+           gt_ggc_m_7rtx_def ((*x).data.loop.continue_label);
+           break;
+         case BLOCK_NESTING:
+           gt_ggc_m_7rtx_def ((*x).data.block.stack_level);
+           gt_ggc_m_7rtx_def ((*x).data.block.first_insn);
+           gt_ggc_m_7nesting ((*x).data.block.innermost_stack_block);
+           gt_ggc_m_9tree_node ((*x).data.block.cleanups);
+           gt_ggc_m_9tree_node ((*x).data.block.outer_cleanups);
+           gt_ggc_m_11label_chain ((*x).data.block.label_chain);
+           gt_ggc_m_7rtx_def ((*x).data.block.last_unconditional_cleanup);
+           break;
+         case CASE_NESTING:
+           gt_ggc_m_7rtx_def ((*x).data.case_stmt.start);
+           gt_ggc_m_9case_node ((*x).data.case_stmt.case_list);
+           gt_ggc_m_9tree_node ((*x).data.case_stmt.default_label);
+           gt_ggc_m_9tree_node ((*x).data.case_stmt.index_expr);
+           gt_ggc_m_9tree_node ((*x).data.case_stmt.nominal_type);
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_case_node (void *x_p)
+ {
+   struct case_node * const x = (struct case_node *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9case_node ((*x).left);
+       gt_ggc_m_9case_node ((*x).right);
+       gt_ggc_m_9case_node ((*x).parent);
+       gt_ggc_m_9tree_node ((*x).low);
+       gt_ggc_m_9tree_node ((*x).high);
+       gt_ggc_m_9tree_node ((*x).code_label);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_stmt_status (void *x_p)
+ {
+   struct stmt_status * const x = (struct stmt_status *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7nesting ((*x).x_block_stack);
+       gt_ggc_m_7nesting ((*x).x_stack_block_stack);
+       gt_ggc_m_7nesting ((*x).x_cond_stack);
+       gt_ggc_m_7nesting ((*x).x_loop_stack);
+       gt_ggc_m_7nesting ((*x).x_case_stack);
+       gt_ggc_m_7nesting ((*x).x_nesting_stack);
+       gt_ggc_m_9tree_node ((*x).x_last_expr_type);
+       gt_ggc_m_7rtx_def ((*x).x_last_expr_value);
+       gt_ggc_m_7rtx_def ((*x).x_last_expr_alt_rtl);
+       gt_ggc_m_10goto_fixup ((*x).x_goto_fixup_chain);
+     }
+ }
+ 
+ void
+ gt_pch_nx_goto_fixup (void *x_p)
+ {
+   struct goto_fixup * const x = (struct goto_fixup *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_10goto_fixup))
+     {
+       gt_pch_n_10goto_fixup ((*x).next);
+       gt_pch_n_7rtx_def ((*x).before_jump);
+       gt_pch_n_9tree_node ((*x).target);
+       gt_pch_n_9tree_node ((*x).context);
+       gt_pch_n_7rtx_def ((*x).target_rtl);
+       gt_pch_n_7rtx_def ((*x).stack_level);
+       gt_pch_n_9tree_node ((*x).cleanup_list_list);
+     }
+ }
+ 
+ void
+ gt_pch_nx_label_chain (void *x_p)
+ {
+   struct label_chain * const x = (struct label_chain *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_11label_chain))
+     {
+       gt_pch_n_11label_chain ((*x).next);
+       gt_pch_n_9tree_node ((*x).label);
+     }
+ }
+ 
+ void
+ gt_pch_nx_nesting (void *x_p)
+ {
+   struct nesting * const x = (struct nesting *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_7nesting))
+     {
+       gt_pch_n_7nesting ((*x).all);
+       gt_pch_n_7nesting ((*x).next);
+       gt_pch_n_7rtx_def ((*x).exit_label);
+       switch (((*x)).desc)
+         {
+         case COND_NESTING:
+           gt_pch_n_7rtx_def ((*x).data.cond.endif_label);
+           gt_pch_n_7rtx_def ((*x).data.cond.next_label);
+           break;
+         case LOOP_NESTING:
+           gt_pch_n_7rtx_def ((*x).data.loop.start_label);
+           gt_pch_n_7rtx_def ((*x).data.loop.end_label);
+           gt_pch_n_7rtx_def ((*x).data.loop.continue_label);
+           break;
+         case BLOCK_NESTING:
+           gt_pch_n_7rtx_def ((*x).data.block.stack_level);
+           gt_pch_n_7rtx_def ((*x).data.block.first_insn);
+           gt_pch_n_7nesting ((*x).data.block.innermost_stack_block);
+           gt_pch_n_9tree_node ((*x).data.block.cleanups);
+           gt_pch_n_9tree_node ((*x).data.block.outer_cleanups);
+           gt_pch_n_11label_chain ((*x).data.block.label_chain);
+           gt_pch_n_7rtx_def ((*x).data.block.last_unconditional_cleanup);
+           break;
+         case CASE_NESTING:
+           gt_pch_n_7rtx_def ((*x).data.case_stmt.start);
+           gt_pch_n_9case_node ((*x).data.case_stmt.case_list);
+           gt_pch_n_9tree_node ((*x).data.case_stmt.default_label);
+           gt_pch_n_9tree_node ((*x).data.case_stmt.index_expr);
+           gt_pch_n_9tree_node ((*x).data.case_stmt.nominal_type);
+           gt_pch_n_S ((*x).data.case_stmt.printname);
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_nx_case_node (void *x_p)
+ {
+   struct case_node * const x = (struct case_node *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9case_node))
+     {
+       gt_pch_n_9case_node ((*x).left);
+       gt_pch_n_9case_node ((*x).right);
+       gt_pch_n_9case_node ((*x).parent);
+       gt_pch_n_9tree_node ((*x).low);
+       gt_pch_n_9tree_node ((*x).high);
+       gt_pch_n_9tree_node ((*x).code_label);
+     }
+ }
+ 
+ void
+ gt_pch_nx_stmt_status (void *x_p)
+ {
+   struct stmt_status * const x = (struct stmt_status *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_11stmt_status))
+     {
+       gt_pch_n_7nesting ((*x).x_block_stack);
+       gt_pch_n_7nesting ((*x).x_stack_block_stack);
+       gt_pch_n_7nesting ((*x).x_cond_stack);
+       gt_pch_n_7nesting ((*x).x_loop_stack);
+       gt_pch_n_7nesting ((*x).x_case_stack);
+       gt_pch_n_7nesting ((*x).x_nesting_stack);
+       gt_pch_n_9tree_node ((*x).x_last_expr_type);
+       gt_pch_n_7rtx_def ((*x).x_last_expr_value);
+       gt_pch_n_7rtx_def ((*x).x_last_expr_alt_rtl);
+       gt_pch_n_S ((*x).x_emit_locus.file);
+       gt_pch_n_10goto_fixup ((*x).x_goto_fixup_chain);
+     }
+ }
+ 
+ void
+ gt_pch_p_10goto_fixup (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct goto_fixup * const x ATTRIBUTE_UNUSED = (struct goto_fixup *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).before_jump), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).target), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).context), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).target_rtl), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).stack_level), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).cleanup_list_list), cookie);
+ }
+ 
+ void
+ gt_pch_p_11label_chain (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct label_chain * const x ATTRIBUTE_UNUSED = (struct label_chain *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).label), cookie);
+ }
+ 
+ void
+ gt_pch_p_7nesting (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct nesting * const x ATTRIBUTE_UNUSED = (struct nesting *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).all), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).exit_label), cookie);
+   switch (((*x)).desc)
+     {
+     case COND_NESTING:
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.cond.endif_label), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.cond.next_label), cookie);
+       break;
+     case LOOP_NESTING:
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.loop.start_label), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.loop.end_label), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.loop.continue_label), cookie);
+       break;
+     case BLOCK_NESTING:
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.block.stack_level), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.block.first_insn), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.block.innermost_stack_block), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.block.cleanups), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.block.outer_cleanups), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.block.label_chain), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.block.last_unconditional_cleanup), cookie);
+       break;
+     case CASE_NESTING:
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.case_stmt.start), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.case_stmt.case_list), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.case_stmt.default_label), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.case_stmt.index_expr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.case_stmt.nominal_type), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).data.case_stmt.printname), cookie);
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_9case_node (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct case_node * const x ATTRIBUTE_UNUSED = (struct case_node *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).left), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).right), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).parent), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).low), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).high), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).code_label), cookie);
+ }
+ 
+ void
+ gt_pch_p_11stmt_status (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct stmt_status * const x ATTRIBUTE_UNUSED = (struct stmt_status *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_block_stack), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_stack_block_stack), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_cond_stack), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_loop_stack), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_case_stack), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_nesting_stack), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_last_expr_type), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_last_expr_value), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_last_expr_alt_rtl), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_emit_locus.file), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_goto_fixup_chain), cookie);
+ }
Index: gcc/gcc/gt-stor-layout.h
diff -c /dev/null gcc/gcc/gt-stor-layout.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-stor-layout.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,35 ----
+ /* Type information for stor-layout.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_stor_layout_h[] = {
+   {
+     &pending_sizes,
+     1,
+     sizeof (pending_sizes),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-stringpool.h
diff -c /dev/null gcc/gcc/gt-stringpool.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-stringpool.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,85 ----
+ /* Type information for stringpool.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_string_pool_data (void *x_p)
+ {
+   struct string_pool_data * const x = (struct string_pool_data *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).nslots); i0++) {
+           gt_ggc_m_9tree_node ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_string_pool_data (void *x_p)
+ {
+   struct string_pool_data * const x = (struct string_pool_data *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_16string_pool_data))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).nslots); i0++) {
+           gt_pch_n_9tree_node ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_16string_pool_data);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_p_16string_pool_data (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct string_pool_data * const x ATTRIBUTE_UNUSED = (struct string_pool_data *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).nslots); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_stringpool_h[] = {
+   {
+     &spd,
+     1,
+     sizeof (spd),
+     &gt_ggc_mx_string_pool_data,
+     &gt_pch_nx_string_pool_data
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-tree.h
diff -c /dev/null gcc/gcc/gt-tree.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-tree.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,138 ----
+ /* Type information for tree.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_type_hash (void *x_p)
+ {
+   struct type_hash * const x = (struct type_hash *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).type);
+     }
+ }
+ 
+ void
+ gt_ggc_m_P9type_hash4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_9type_hash ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_type_hash (void *x_p)
+ {
+   struct type_hash * const x = (struct type_hash *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9type_hash))
+     {
+       gt_pch_n_9tree_node ((*x).type);
+     }
+ }
+ 
+ void
+ gt_pch_n_P9type_hash4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P9type_hash4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_9type_hash ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P9type_hash4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_p_9type_hash (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct type_hash * const x ATTRIBUTE_UNUSED = (struct type_hash *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).type), cookie);
+ }
+ 
+ void
+ gt_pch_p_P9type_hash4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_tree_h[] = {
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_cache_tab gt_ggc_rc_gt_tree_h[] = {
+   {
+     &type_hash_table,
+     1,
+     sizeof (type_hash_table),
+     &gt_ggc_mx_type_hash,
+     &gt_pch_nx_type_hash,
+     &type_hash_marked_p
+   },
+   LAST_GGC_CACHE_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rc_gt_tree_h[] = {
+   {
+     &type_hash_table,
+     1,
+     sizeof (type_hash_table),
+     &gt_ggc_m_P9type_hash4htab,
+     &gt_pch_n_P9type_hash4htab
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_tree_h[] = {
+   { &next_type_uid, 1, sizeof (next_type_uid), NULL, NULL },
+   { &next_decl_uid, 1, sizeof (next_decl_uid), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gt-varasm.h
diff -c /dev/null gcc/gcc/gt-varasm.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gt-varasm.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,799 ----
+ /* Type information for varasm.c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ void
+ gt_ggc_mx_output_def_pair (void *x_p)
+ {
+   struct output_def_pair * const x = (struct output_def_pair *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).decl);
+       gt_ggc_m_9tree_node ((*x).target);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_constant_descriptor_tree (void *x_p)
+ {
+   struct constant_descriptor_tree * const x = (struct constant_descriptor_tree *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7rtx_def ((*x).rtl);
+       gt_ggc_m_9tree_node ((*x).value);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_in_named_entry (void *x_p)
+ {
+   struct in_named_entry * const x = (struct in_named_entry *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+     }
+ }
+ 
+ void
+ gt_ggc_mx_pool_constant (void *x_p)
+ {
+   struct pool_constant * const x = (struct pool_constant *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_23constant_descriptor_rtx ((*x).desc);
+       gt_ggc_m_13pool_constant ((*x).next);
+       gt_ggc_m_13pool_constant ((*x).next_sym);
+       gt_ggc_m_7rtx_def ((*x).constant);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_constant_descriptor_rtx (void *x_p)
+ {
+   struct constant_descriptor_rtx * const x = (struct constant_descriptor_rtx *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_23constant_descriptor_rtx ((*x).next);
+       gt_ggc_m_7rtx_def ((*x).rtl);
+       switch (((*x).value).kind >= RTX_INT)
+         {
+         case 4:
+           break;
+         case 1:
+           gt_ggc_m_7rtx_def ((*x).value.un.addr.base);
+           break;
+         case 0:
+           break;
+         case 2:
+           {
+             size_t i0;
+             for (i0 = 0; i0 < (size_t)(16); i0++) {
+             }
+           }
+           break;
+         case 3:
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_varasm_status (void *x_p)
+ {
+   struct varasm_status * const x = (struct varasm_status *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).x_const_rtx_hash_table != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(MAX_RTX_HASH_TABLE); i0++) {
+           gt_ggc_m_23constant_descriptor_rtx ((*x).x_const_rtx_hash_table[i0]);
+         }
+         ggc_mark ((*x).x_const_rtx_hash_table);
+       }
+       if ((*x).x_const_rtx_sym_hash_table != NULL) {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(MAX_RTX_HASH_TABLE); i1++) {
+           gt_ggc_m_13pool_constant ((*x).x_const_rtx_sym_hash_table[i1]);
+         }
+         ggc_mark ((*x).x_const_rtx_sym_hash_table);
+       }
+       gt_ggc_m_13pool_constant ((*x).x_first_pool);
+       gt_ggc_m_13pool_constant ((*x).x_last_pool);
+     }
+ }
+ 
+ void
+ gt_ggc_m_P15output_def_pair15varray_head_tag (void *x_p)
+ {
+   struct varray_head_tag * const x = (struct varray_head_tag *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       switch ((*x).type)
+         {
+         case VARRAY_DATA_C:
+           break;
+         case VARRAY_DATA_UC:
+           break;
+         case VARRAY_DATA_S:
+           break;
+         case VARRAY_DATA_US:
+           break;
+         case VARRAY_DATA_I:
+           break;
+         case VARRAY_DATA_U:
+           break;
+         case VARRAY_DATA_L:
+           break;
+         case VARRAY_DATA_UL:
+           break;
+         case VARRAY_DATA_HINT:
+           break;
+         case VARRAY_DATA_UHINT:
+           break;
+         case VARRAY_DATA_GENERIC:
+           {
+             size_t i10;
+             for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+               gt_ggc_m_15output_def_pair ((*x).data.generic[i10]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CPTR:
+           {
+             size_t i11;
+             for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+             }
+           }
+           break;
+         case VARRAY_DATA_RTX:
+           {
+             size_t i12;
+             for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+               gt_ggc_m_7rtx_def ((*x).data.rtx[i12]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTVEC:
+           {
+             size_t i13;
+             for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+               gt_ggc_m_9rtvec_def ((*x).data.rtvec[i13]);
+             }
+           }
+           break;
+         case VARRAY_DATA_TREE:
+           {
+             size_t i14;
+             for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+               gt_ggc_m_9tree_node ((*x).data.tree[i14]);
+             }
+           }
+           break;
+         case VARRAY_DATA_BITMAP:
+           {
+             size_t i15;
+             for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+               gt_ggc_m_15bitmap_head_def ((*x).data.bitmap[i15]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CONST_EQUIV:
+           {
+             size_t i16;
+             for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+               gt_ggc_m_7rtx_def ((*x).data.const_equiv[i16].rtx);
+             }
+           }
+           break;
+         case VARRAY_DATA_TE:
+           {
+             size_t i17;
+             for (i17 = 0; i17 < (size_t)((*x).num_elements); i17++) {
+               gt_ggc_m_8elt_list ((*x).data.te[i17]);
+             }
+           }
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_ggc_m_P24constant_descriptor_tree4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_24constant_descriptor_tree ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_P14in_named_entry4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_14in_named_entry ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_output_def_pair (void *x_p)
+ {
+   struct output_def_pair * const x = (struct output_def_pair *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_15output_def_pair))
+     {
+       gt_pch_n_9tree_node ((*x).decl);
+       gt_pch_n_9tree_node ((*x).target);
+     }
+ }
+ 
+ void
+ gt_pch_nx_constant_descriptor_tree (void *x_p)
+ {
+   struct constant_descriptor_tree * const x = (struct constant_descriptor_tree *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_24constant_descriptor_tree))
+     {
+       gt_pch_n_7rtx_def ((*x).rtl);
+       gt_pch_n_9tree_node ((*x).value);
+     }
+ }
+ 
+ void
+ gt_pch_nx_in_named_entry (void *x_p)
+ {
+   struct in_named_entry * const x = (struct in_named_entry *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_14in_named_entry))
+     {
+       gt_pch_n_S ((*x).name);
+     }
+ }
+ 
+ void
+ gt_pch_nx_pool_constant (void *x_p)
+ {
+   struct pool_constant * const x = (struct pool_constant *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_13pool_constant))
+     {
+       gt_pch_n_23constant_descriptor_rtx ((*x).desc);
+       gt_pch_n_13pool_constant ((*x).next);
+       gt_pch_n_13pool_constant ((*x).next_sym);
+       gt_pch_n_7rtx_def ((*x).constant);
+     }
+ }
+ 
+ void
+ gt_pch_nx_constant_descriptor_rtx (void *x_p)
+ {
+   struct constant_descriptor_rtx * const x = (struct constant_descriptor_rtx *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_23constant_descriptor_rtx))
+     {
+       gt_pch_n_23constant_descriptor_rtx ((*x).next);
+       gt_pch_n_7rtx_def ((*x).rtl);
+       switch (((*x).value).kind >= RTX_INT)
+         {
+         case 4:
+           break;
+         case 1:
+           gt_pch_n_7rtx_def ((*x).value.un.addr.base);
+           gt_pch_n_S ((*x).value.un.addr.symbol);
+           break;
+         case 0:
+           break;
+         case 2:
+           {
+             size_t i0;
+             for (i0 = 0; i0 < (size_t)(16); i0++) {
+             }
+           }
+           break;
+         case 3:
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_nx_varasm_status (void *x_p)
+ {
+   struct varasm_status * const x = (struct varasm_status *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_13varasm_status))
+     {
+       if ((*x).x_const_rtx_hash_table != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(MAX_RTX_HASH_TABLE); i0++) {
+           gt_pch_n_23constant_descriptor_rtx ((*x).x_const_rtx_hash_table[i0]);
+         }
+         gt_pch_note_object ((*x).x_const_rtx_hash_table, x, gt_pch_p_13varasm_status);
+       }
+       if ((*x).x_const_rtx_sym_hash_table != NULL) {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(MAX_RTX_HASH_TABLE); i1++) {
+           gt_pch_n_13pool_constant ((*x).x_const_rtx_sym_hash_table[i1]);
+         }
+         gt_pch_note_object ((*x).x_const_rtx_sym_hash_table, x, gt_pch_p_13varasm_status);
+       }
+       gt_pch_n_13pool_constant ((*x).x_first_pool);
+       gt_pch_n_13pool_constant ((*x).x_last_pool);
+     }
+ }
+ 
+ void
+ gt_pch_n_P15output_def_pair15varray_head_tag (void *x_p)
+ {
+   struct varray_head_tag * const x = (struct varray_head_tag *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P15output_def_pair15varray_head_tag))
+     {
+       gt_pch_n_S ((*x).name);
+       switch ((*x).type)
+         {
+         case VARRAY_DATA_C:
+           break;
+         case VARRAY_DATA_UC:
+           break;
+         case VARRAY_DATA_S:
+           break;
+         case VARRAY_DATA_US:
+           break;
+         case VARRAY_DATA_I:
+           break;
+         case VARRAY_DATA_U:
+           break;
+         case VARRAY_DATA_L:
+           break;
+         case VARRAY_DATA_UL:
+           break;
+         case VARRAY_DATA_HINT:
+           break;
+         case VARRAY_DATA_UHINT:
+           break;
+         case VARRAY_DATA_GENERIC:
+           {
+             size_t i10;
+             for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+               gt_pch_n_15output_def_pair ((*x).data.generic[i10]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CPTR:
+           {
+             size_t i11;
+             for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+               gt_pch_n_S ((*x).data.cptr[i11]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTX:
+           {
+             size_t i12;
+             for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+               gt_pch_n_7rtx_def ((*x).data.rtx[i12]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTVEC:
+           {
+             size_t i13;
+             for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+               gt_pch_n_9rtvec_def ((*x).data.rtvec[i13]);
+             }
+           }
+           break;
+         case VARRAY_DATA_TREE:
+           {
+             size_t i14;
+             for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+               gt_pch_n_9tree_node ((*x).data.tree[i14]);
+             }
+           }
+           break;
+         case VARRAY_DATA_BITMAP:
+           {
+             size_t i15;
+             for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+               gt_pch_n_15bitmap_head_def ((*x).data.bitmap[i15]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CONST_EQUIV:
+           {
+             size_t i16;
+             for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+               gt_pch_n_7rtx_def ((*x).data.const_equiv[i16].rtx);
+             }
+           }
+           break;
+         case VARRAY_DATA_TE:
+           {
+             size_t i17;
+             for (i17 = 0; i17 < (size_t)((*x).num_elements); i17++) {
+               gt_pch_n_8elt_list ((*x).data.te[i17]);
+             }
+           }
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_n_P24constant_descriptor_tree4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P24constant_descriptor_tree4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_24constant_descriptor_tree ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P24constant_descriptor_tree4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_P14in_named_entry4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P14in_named_entry4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_14in_named_entry ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P14in_named_entry4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_p_15output_def_pair (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct output_def_pair * const x ATTRIBUTE_UNUSED = (struct output_def_pair *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).decl), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).target), cookie);
+ }
+ 
+ void
+ gt_pch_p_24constant_descriptor_tree (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct constant_descriptor_tree * const x ATTRIBUTE_UNUSED = (struct constant_descriptor_tree *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).rtl), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).value), cookie);
+ }
+ 
+ void
+ gt_pch_p_14in_named_entry (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct in_named_entry * const x ATTRIBUTE_UNUSED = (struct in_named_entry *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).name), cookie);
+ }
+ 
+ void
+ gt_pch_p_13pool_constant (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct pool_constant * const x ATTRIBUTE_UNUSED = (struct pool_constant *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).desc), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_sym), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).constant), cookie);
+ }
+ 
+ void
+ gt_pch_p_23constant_descriptor_rtx (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct constant_descriptor_rtx * const x ATTRIBUTE_UNUSED = (struct constant_descriptor_rtx *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).rtl), cookie);
+   switch (((*x).value).kind >= RTX_INT)
+     {
+     case 4:
+       break;
+     case 1:
+       if ((void *)(x) == this_obj)
+         op (&((*x).value.un.addr.base), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).value.un.addr.symbol), cookie);
+       break;
+     case 0:
+       break;
+     case 2:
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(16); i0++) {
+         }
+       }
+       break;
+     case 3:
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_13varasm_status (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct varasm_status * const x ATTRIBUTE_UNUSED = (struct varasm_status *)x_p;
+   if ((*x).x_const_rtx_hash_table != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(MAX_RTX_HASH_TABLE); i0++) {
+       if ((void *)((*x).x_const_rtx_hash_table) == this_obj)
+         op (&((*x).x_const_rtx_hash_table[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).x_const_rtx_hash_table), cookie);
+   }
+   if ((*x).x_const_rtx_sym_hash_table != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(MAX_RTX_HASH_TABLE); i1++) {
+       if ((void *)((*x).x_const_rtx_sym_hash_table) == this_obj)
+         op (&((*x).x_const_rtx_sym_hash_table[i1]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).x_const_rtx_sym_hash_table), cookie);
+   }
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_first_pool), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_last_pool), cookie);
+ }
+ 
+ void
+ gt_pch_p_P15output_def_pair15varray_head_tag (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct varray_head_tag * const x ATTRIBUTE_UNUSED = (struct varray_head_tag *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).name), cookie);
+   switch ((*x).type)
+     {
+     case VARRAY_DATA_C:
+       break;
+     case VARRAY_DATA_UC:
+       break;
+     case VARRAY_DATA_S:
+       break;
+     case VARRAY_DATA_US:
+       break;
+     case VARRAY_DATA_I:
+       break;
+     case VARRAY_DATA_U:
+       break;
+     case VARRAY_DATA_L:
+       break;
+     case VARRAY_DATA_UL:
+       break;
+     case VARRAY_DATA_HINT:
+       break;
+     case VARRAY_DATA_UHINT:
+       break;
+     case VARRAY_DATA_GENERIC:
+       {
+         size_t i10;
+         for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.generic[i10]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_CPTR:
+       {
+         size_t i11;
+         for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.cptr[i11]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_RTX:
+       {
+         size_t i12;
+         for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.rtx[i12]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_RTVEC:
+       {
+         size_t i13;
+         for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.rtvec[i13]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_TREE:
+       {
+         size_t i14;
+         for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.tree[i14]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_BITMAP:
+       {
+         size_t i15;
+         for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.bitmap[i15]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_CONST_EQUIV:
+       {
+         size_t i16;
+         for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.const_equiv[i16].rtx), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_TE:
+       {
+         size_t i17;
+         for (i17 = 0; i17 < (size_t)((*x).num_elements); i17++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.te[i17]), cookie);
+         }
+       }
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_P24constant_descriptor_tree4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_P14in_named_entry4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gt_varasm_h[] = {
+   {
+     &output_defs,
+     1,
+     sizeof (output_defs),
+     &gt_ggc_m_P15output_def_pair15varray_head_tag,
+     &gt_pch_n_P15output_def_pair15varray_head_tag
+   },
+   {
+     &weak_decls,
+     1,
+     sizeof (weak_decls),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &const_desc_htab,
+     1,
+     sizeof (const_desc_htab),
+     &gt_ggc_m_P24constant_descriptor_tree4htab,
+     &gt_pch_n_P24constant_descriptor_tree4htab
+   },
+   {
+     &in_named_htab,
+     1,
+     sizeof (in_named_htab),
+     &gt_ggc_m_P14in_named_entry4htab,
+     &gt_pch_n_P14in_named_entry4htab
+   },
+   {
+     &in_named_name,
+     1, 
+     sizeof (in_named_name),
+     &gt_ggc_m_S,
+     (gt_pointer_walker) &gt_pch_n_S
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gt_varasm_h[] = {
+   { &in_section, 1, sizeof (in_section), NULL, NULL },
+   { &const_labelno, 1, sizeof (const_labelno), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
Index: gcc/gcc/gtyp-gen.h
diff -c /dev/null gcc/gcc/gtyp-gen.h:1.4
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gtyp-gen.h	Wed Jul 15 00:29:03 2009
***************
*** 0 ****
--- 1,93 ----
+ /* This file is machine generated.  Do not edit.  */
+ static const char *const srcdir = 
+ "."
+ ;
+ static const char *const lang_files[] = {
+ "./c-lang.c", 
+ "./c-parse.in", 
+ "./c-tree.h", 
+ "./c-decl.c", 
+ "./c-common.c", 
+ "./c-common.h", 
+ "./c-pragma.c", 
+ "./c-objc-common.c", 
+ NULL};
+ static const char *const langs_for_lang_files[] = {
+ "c", 
+ "c", 
+ "c", 
+ "c", 
+ "c", 
+ "c", 
+ "c", 
+ "c", 
+ NULL};
+ static const char *const all_files[] = {
+ "./input.h", 
+ "./coretypes.h", 
+ "./cpplib.h", 
+ "auto-host.h", 
+ "./../include/ansidecl.h", 
+ "./config/i370/mvspdp.h", 
+ "./config/i370/i370.h", 
+ "./defaults.h", 
+ "./../include/hashtab.h", 
+ "./../include/splay-tree.h", 
+ "./bitmap.h", 
+ "./coverage.c", 
+ "./function.h", 
+ "./rtl.h", 
+ "./optabs.h", 
+ "./tree.h", 
+ "./libfuncs.h", 
+ "./hashtable.h", 
+ "./real.h", 
+ "./varray.h", 
+ "./insn-addr.h", 
+ "./cselib.h", 
+ "./basic-block.h", 
+ "./cgraph.h", 
+ "./c-common.h", 
+ "./c-tree.h", 
+ "./alias.c", 
+ "./bitmap.c", 
+ "./cselib.c", 
+ "./cgraph.c", 
+ "./dbxout.c", 
+ "./dwarf2out.c", 
+ "./dwarf2asm.c", 
+ "./dojump.c", 
+ "./emit-rtl.c", 
+ "./except.c", 
+ "./explow.c", 
+ "./expr.c", 
+ "./fold-const.c", 
+ "./function.c", 
+ "./gcse.c", 
+ "./integrate.c", 
+ "./lists.c", 
+ "./optabs.c", 
+ "./profile.c", 
+ "./ra-build.c", 
+ "./regclass.c", 
+ "./reg-stack.c", 
+ "./cfglayout.c", 
+ "./langhooks.c", 
+ "./sdbout.c", 
+ "./stmt.c", 
+ "./stor-layout.c", 
+ "./stringpool.c", 
+ "./tree.c", 
+ "./varasm.c", 
+ "./config/i370/i370.c", 
+ "./c-lang.c", 
+ "./c-parse.in", 
+ "./c-tree.h", 
+ "./c-decl.c", 
+ "./c-common.c", 
+ "./c-common.h", 
+ "./c-pragma.c", 
+ "./c-objc-common.c", 
+  NULL};
+ static const char *const lang_dir_names[] = { "c", 
+ NULL};
Index: gcc/gcc/gtype-c.h
diff -c /dev/null gcc/gcc/gtype-c.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gtype-c.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,150 ----
+ /* Type information for c.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ extern const struct ggc_root_tab gt_ggc_r_gt_coverage_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gtype_desc_c[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_alias_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_cselib_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_cgraph_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_dbxout_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_dwarf2out_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_dwarf2asm_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_dojump_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_emit_rtl_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_except_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_explow_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_expr_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_fold_const_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_function_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_gcse_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_integrate_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_optabs_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_ra_build_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_regclass_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_reg_stack_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_cfglayout_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_langhooks_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_sdbout_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_stor_layout_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_stringpool_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_tree_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_varasm_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_c_parse_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_c_decl_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_c_common_h[];
+ extern const struct ggc_root_tab gt_ggc_r_gt_c_pragma_h[];
+ const struct ggc_root_tab * const gt_ggc_rtab[] = {
+   gt_ggc_r_gt_coverage_h,
+   gt_ggc_r_gtype_desc_c,
+   gt_ggc_r_gt_alias_h,
+   gt_ggc_r_gt_cselib_h,
+   gt_ggc_r_gt_cgraph_h,
+   gt_ggc_r_gt_dbxout_h,
+   gt_ggc_r_gt_dwarf2out_h,
+   gt_ggc_r_gt_dwarf2asm_h,
+   gt_ggc_r_gt_dojump_h,
+   gt_ggc_r_gt_emit_rtl_h,
+   gt_ggc_r_gt_except_h,
+   gt_ggc_r_gt_explow_h,
+   gt_ggc_r_gt_expr_h,
+   gt_ggc_r_gt_fold_const_h,
+   gt_ggc_r_gt_function_h,
+   gt_ggc_r_gt_gcse_h,
+   gt_ggc_r_gt_integrate_h,
+   gt_ggc_r_gt_optabs_h,
+   gt_ggc_r_gt_ra_build_h,
+   gt_ggc_r_gt_regclass_h,
+   gt_ggc_r_gt_reg_stack_h,
+   gt_ggc_r_gt_cfglayout_h,
+   gt_ggc_r_gt_langhooks_h,
+   gt_ggc_r_gt_sdbout_h,
+   gt_ggc_r_gt_stor_layout_h,
+   gt_ggc_r_gt_stringpool_h,
+   gt_ggc_r_gt_tree_h,
+   gt_ggc_r_gt_varasm_h,
+   gt_ggc_r_gt_c_parse_h,
+   gt_ggc_r_gt_c_decl_h,
+   gt_ggc_r_gt_c_common_h,
+   gt_ggc_r_gt_c_pragma_h,
+   NULL
+ };
+ extern const struct ggc_root_tab gt_ggc_rd_gt_alias_h[];
+ extern const struct ggc_root_tab gt_ggc_rd_gt_bitmap_h[];
+ extern const struct ggc_root_tab gt_ggc_rd_gt_cselib_h[];
+ extern const struct ggc_root_tab gt_ggc_rd_gt_emit_rtl_h[];
+ extern const struct ggc_root_tab gt_ggc_rd_gt_lists_h[];
+ extern const struct ggc_root_tab gt_ggc_rd_gt_c_decl_h[];
+ const struct ggc_root_tab * const gt_ggc_deletable_rtab[] = {
+   gt_ggc_rd_gt_alias_h,
+   gt_ggc_rd_gt_bitmap_h,
+   gt_ggc_rd_gt_cselib_h,
+   gt_ggc_rd_gt_emit_rtl_h,
+   gt_ggc_rd_gt_lists_h,
+   gt_ggc_rd_gt_c_decl_h,
+   NULL
+ };
+ extern const struct ggc_cache_tab gt_ggc_rc_gt_emit_rtl_h[];
+ extern const struct ggc_cache_tab gt_ggc_rc_gt_fold_const_h[];
+ extern const struct ggc_cache_tab gt_ggc_rc_gt_tree_h[];
+ const struct ggc_cache_tab * const gt_ggc_cache_rtab[] = {
+   gt_ggc_rc_gt_emit_rtl_h,
+   gt_ggc_rc_gt_fold_const_h,
+   gt_ggc_rc_gt_tree_h,
+   NULL
+ };
+ extern const struct ggc_root_tab gt_pch_rc_gt_emit_rtl_h[];
+ extern const struct ggc_root_tab gt_pch_rc_gt_fold_const_h[];
+ extern const struct ggc_root_tab gt_pch_rc_gt_tree_h[];
+ const struct ggc_root_tab * const gt_pch_cache_rtab[] = {
+   gt_pch_rc_gt_emit_rtl_h,
+   gt_pch_rc_gt_fold_const_h,
+   gt_pch_rc_gt_tree_h,
+   NULL
+ };
+ extern const struct ggc_root_tab gt_pch_rs_gtype_desc_c[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_alias_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_dbxout_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_dwarf2out_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_dwarf2asm_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_emit_rtl_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_except_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_function_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_langhooks_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_sdbout_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_tree_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_varasm_h[];
+ extern const struct ggc_root_tab gt_pch_rs_gt_c_decl_h[];
+ const struct ggc_root_tab * const gt_pch_scalar_rtab[] = {
+   gt_pch_rs_gtype_desc_c,
+   gt_pch_rs_gt_alias_h,
+   gt_pch_rs_gt_dbxout_h,
+   gt_pch_rs_gt_dwarf2out_h,
+   gt_pch_rs_gt_dwarf2asm_h,
+   gt_pch_rs_gt_emit_rtl_h,
+   gt_pch_rs_gt_except_h,
+   gt_pch_rs_gt_function_h,
+   gt_pch_rs_gt_langhooks_h,
+   gt_pch_rs_gt_sdbout_h,
+   gt_pch_rs_gt_tree_h,
+   gt_pch_rs_gt_varasm_h,
+   gt_pch_rs_gt_c_decl_h,
+   NULL
+ };
Index: gcc/gcc/gtype-desc.c
diff -c /dev/null gcc/gcc/gtype-desc.c:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gtype-desc.c	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,4676 ----
+ /* Type information for GCC.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "varray.h"
+ #include "hashtab.h"
+ #include "splay-tree.h"
+ #include "bitmap.h"
+ #include "tree.h"
+ #include "rtl.h"
+ #include "function.h"
+ #include "insn-config.h"
+ #include "expr.h"
+ #include "hard-reg-set.h"
+ #include "basic-block.h"
+ #include "cselib.h"
+ #include "insn-addr.h"
+ #include "optabs.h"
+ #include "libfuncs.h"
+ #include "debug.h"
+ #include "ggc.h"
+ #include "cgraph.h"
+ 
+ void
+ gt_ggc_mx_cgraph_varpool_node (void *x_p)
+ {
+   struct cgraph_varpool_node * const x = (struct cgraph_varpool_node *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).decl);
+       gt_ggc_m_19cgraph_varpool_node ((*x).next_needed);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_cgraph_edge (void *x_p)
+ {
+   struct cgraph_edge * const x = (struct cgraph_edge *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_11cgraph_node ((*x).caller);
+       gt_ggc_m_11cgraph_node ((*x).callee);
+       gt_ggc_m_11cgraph_edge ((*x).next_caller);
+       gt_ggc_m_11cgraph_edge ((*x).next_callee);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_cgraph_node (void *x_p)
+ {
+   struct cgraph_node * x = (struct cgraph_node *)x_p;
+   struct cgraph_node * xlimit = x;
+   while (ggc_test_and_set_mark (xlimit))
+    xlimit = ((*xlimit).next);
+   if (x != xlimit)
+     for (;;)
+       {
+         struct cgraph_node * const xprev = ((*x).previous);
+         if (xprev == NULL) break;
+         x = xprev;
+         (void) ggc_test_and_set_mark (xprev);
+       }
+   while (x != xlimit)
+     {
+       gt_ggc_m_9tree_node ((*x).decl);
+       gt_ggc_m_11cgraph_edge ((*x).callees);
+       gt_ggc_m_11cgraph_edge ((*x).callers);
+       gt_ggc_m_11cgraph_node ((*x).next);
+       gt_ggc_m_11cgraph_node ((*x).previous);
+       gt_ggc_m_11cgraph_node ((*x).origin);
+       gt_ggc_m_11cgraph_node ((*x).nested);
+       gt_ggc_m_11cgraph_node ((*x).next_nested);
+       gt_ggc_m_11cgraph_node ((*x).next_needed);
+       x = ((*x).next);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_elt_loc_list (void *x_p)
+ {
+   struct elt_loc_list * const x = (struct elt_loc_list *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_12elt_loc_list ((*x).next);
+       gt_ggc_m_7rtx_def ((*x).loc);
+       gt_ggc_m_7rtx_def ((*x).canon_loc);
+       gt_ggc_m_7rtx_def ((*x).setting_insn);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_cselib_val_struct (void *x_p)
+ {
+   struct cselib_val_struct * const x = (struct cselib_val_struct *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       switch (1)
+         {
+         case 1:
+           gt_ggc_m_7rtx_def ((*x).u.val_rtx);
+           break;
+         default:
+           break;
+         }
+       gt_ggc_m_12elt_loc_list ((*x).locs);
+       gt_ggc_m_8elt_list ((*x).addr_list);
+       gt_ggc_m_17cselib_val_struct ((*x).next_containing_mem);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_varray_head_tag (void *x_p)
+ {
+   struct varray_head_tag * const x = (struct varray_head_tag *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       switch ((*x).type)
+         {
+         case VARRAY_DATA_C:
+           break;
+         case VARRAY_DATA_UC:
+           break;
+         case VARRAY_DATA_S:
+           break;
+         case VARRAY_DATA_US:
+           break;
+         case VARRAY_DATA_I:
+           break;
+         case VARRAY_DATA_U:
+           break;
+         case VARRAY_DATA_L:
+           break;
+         case VARRAY_DATA_UL:
+           break;
+         case VARRAY_DATA_HINT:
+           break;
+         case VARRAY_DATA_UHINT:
+           break;
+         case VARRAY_DATA_GENERIC:
+           abort();
+           break;
+         case VARRAY_DATA_CPTR:
+           {
+             size_t i10;
+             for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+             }
+           }
+           break;
+         case VARRAY_DATA_RTX:
+           {
+             size_t i11;
+             for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+               gt_ggc_m_7rtx_def ((*x).data.rtx[i11]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTVEC:
+           {
+             size_t i12;
+             for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+               gt_ggc_m_9rtvec_def ((*x).data.rtvec[i12]);
+             }
+           }
+           break;
+         case VARRAY_DATA_TREE:
+           {
+             size_t i13;
+             for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+               gt_ggc_m_9tree_node ((*x).data.tree[i13]);
+             }
+           }
+           break;
+         case VARRAY_DATA_BITMAP:
+           {
+             size_t i14;
+             for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+               gt_ggc_m_15bitmap_head_def ((*x).data.bitmap[i14]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CONST_EQUIV:
+           {
+             size_t i15;
+             for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+               gt_ggc_m_7rtx_def ((*x).data.const_equiv[i15].rtx);
+             }
+           }
+           break;
+         case VARRAY_DATA_TE:
+           {
+             size_t i16;
+             for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+               gt_ggc_m_8elt_list ((*x).data.te[i16]);
+             }
+           }
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_elt_list (void *x_p)
+ {
+   struct elt_list * const x = (struct elt_list *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_8elt_list ((*x).next);
+       gt_ggc_m_17cselib_val_struct ((*x).elt);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_real_value (void *x_p)
+ {
+   struct real_value * const x = (struct real_value *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+     }
+ }
+ 
+ void
+ gt_ggc_mx_convert_optab (void *x_p)
+ {
+   struct convert_optab * const x = (struct convert_optab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(NUM_MACHINE_MODES); i0++) {
+           {
+             size_t i1;
+             for (i1 = 0; i1 < (size_t)(NUM_MACHINE_MODES); i1++) {
+               gt_ggc_m_7rtx_def ((*x).handlers[i0][i1].libfunc);
+             }
+           }
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_optab (void *x_p)
+ {
+   struct optab * const x = (struct optab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(NUM_MACHINE_MODES); i0++) {
+           gt_ggc_m_7rtx_def ((*x).handlers[i0].libfunc);
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_reg_attrs (void *x_p)
+ {
+   struct reg_attrs * const x = (struct reg_attrs *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).decl);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_mem_attrs (void *x_p)
+ {
+   struct mem_attrs * const x = (struct mem_attrs *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((*x).expr);
+       gt_ggc_m_7rtx_def ((*x).offset);
+       gt_ggc_m_7rtx_def ((*x).size);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_function (void *x_p)
+ {
+   struct function * const x = (struct function *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9eh_status ((*x).eh);
+       gt_ggc_m_11stmt_status ((*x).stmt);
+       gt_ggc_m_11expr_status ((*x).expr);
+       gt_ggc_m_11emit_status ((*x).emit);
+       gt_ggc_m_13varasm_status ((*x).varasm);
+       gt_ggc_m_9tree_node ((*x).decl);
+       gt_ggc_m_8function ((*x).outer);
+       gt_ggc_m_7rtx_def ((*x).arg_offset_rtx);
+       gt_ggc_m_7rtx_def ((*x).return_rtx);
+       gt_ggc_m_7rtx_def ((*x).internal_arg_pointer);
+       gt_ggc_m_20initial_value_struct ((*x).hard_reg_initial_vals);
+       gt_ggc_m_9tree_node ((*x).x_nonlocal_labels);
+       gt_ggc_m_7rtx_def ((*x).x_nonlocal_goto_handler_slots);
+       gt_ggc_m_7rtx_def ((*x).x_nonlocal_goto_handler_labels);
+       gt_ggc_m_7rtx_def ((*x).x_nonlocal_goto_stack_level);
+       gt_ggc_m_7rtx_def ((*x).x_cleanup_label);
+       gt_ggc_m_7rtx_def ((*x).x_return_label);
+       gt_ggc_m_7rtx_def ((*x).x_naked_return_label);
+       gt_ggc_m_7rtx_def ((*x).computed_goto_common_label);
+       gt_ggc_m_7rtx_def ((*x).computed_goto_common_reg);
+       gt_ggc_m_7rtx_def ((*x).x_save_expr_regs);
+       gt_ggc_m_7rtx_def ((*x).x_stack_slot_list);
+       gt_ggc_m_9tree_node ((*x).x_rtl_expr_chain);
+       gt_ggc_m_7rtx_def ((*x).x_tail_recursion_label);
+       gt_ggc_m_7rtx_def ((*x).x_tail_recursion_reentry);
+       gt_ggc_m_7rtx_def ((*x).x_arg_pointer_save_area);
+       gt_ggc_m_7rtx_def ((*x).x_clobber_return_insn);
+       gt_ggc_m_9tree_node ((*x).x_context_display);
+       gt_ggc_m_9tree_node ((*x).x_trampoline_list);
+       gt_ggc_m_7rtx_def ((*x).x_parm_birth_insn);
+       gt_ggc_m_7rtx_def ((*x).x_last_parm_insn);
+       if ((*x).x_parm_reg_stack_loc != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).x_max_parm_reg); i0++) {
+           gt_ggc_m_7rtx_def ((*x).x_parm_reg_stack_loc[i0]);
+         }
+         ggc_mark ((*x).x_parm_reg_stack_loc);
+       }
+       gt_ggc_m_9temp_slot ((*x).x_temp_slots);
+       gt_ggc_m_14var_refs_queue ((*x).fixup_var_refs_queue);
+       gt_ggc_m_9rtvec_def ((*x).original_arg_vector);
+       gt_ggc_m_9tree_node ((*x).original_decl_initial);
+       gt_ggc_m_7rtx_def ((*x).inl_last_parm_insn);
+       if ((*x).machine) abort();
+       gt_ggc_m_17language_function ((*x).language);
+       gt_ggc_m_7rtx_def ((*x).epilogue_delay_list);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_expr_status (void *x_p)
+ {
+   struct expr_status * const x = (struct expr_status *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7rtx_def ((*x).x_saveregs_value);
+       gt_ggc_m_7rtx_def ((*x).x_apply_args_value);
+       gt_ggc_m_7rtx_def ((*x).x_forced_labels);
+       gt_ggc_m_7rtx_def ((*x).x_pending_chain);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_emit_status (void *x_p)
+ {
+   struct emit_status * const x = (struct emit_status *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7rtx_def ((*x).x_first_insn);
+       gt_ggc_m_7rtx_def ((*x).x_last_insn);
+       gt_ggc_m_9tree_node ((*x).sequence_rtl_expr);
+       gt_ggc_m_14sequence_stack ((*x).sequence_stack);
+       if ((*x).regno_pointer_align != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).x_reg_rtx_no); i0++) {
+         }
+         ggc_mark ((*x).regno_pointer_align);
+       }
+       if ((*x).x_regno_reg_rtx != NULL) {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(((*x)).x_reg_rtx_no); i1++) {
+           gt_ggc_m_7rtx_def ((*x).x_regno_reg_rtx[i1]);
+         }
+         ggc_mark ((*x).x_regno_reg_rtx);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_sequence_stack (void *x_p)
+ {
+   struct sequence_stack * const x = (struct sequence_stack *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7rtx_def ((*x).first);
+       gt_ggc_m_7rtx_def ((*x).last);
+       gt_ggc_m_9tree_node ((*x).sequence_rtl_expr);
+       gt_ggc_m_14sequence_stack ((*x).next);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_var_refs_queue (void *x_p)
+ {
+   struct var_refs_queue * const x = (struct var_refs_queue *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_7rtx_def ((*x).modified);
+       gt_ggc_m_14var_refs_queue ((*x).next);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_bitmap_head_def (void *x_p)
+ {
+   struct bitmap_head_def * const x = (struct bitmap_head_def *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_18bitmap_element_def ((*x).first);
+       gt_ggc_m_18bitmap_element_def ((*x).current);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_bitmap_element_def (void *x_p)
+ {
+   struct bitmap_element_def * const x = (struct bitmap_element_def *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_18bitmap_element_def ((*x).next);
+       gt_ggc_m_18bitmap_element_def ((*x).prev);
+     }
+ }
+ 
+ void
+ gt_ggc_mx_rtvec_def (void *x_p)
+ {
+   struct rtvec_def * const x = (struct rtvec_def *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).num_elem); i0++) {
+           gt_ggc_m_7rtx_def ((*x).elem[i0]);
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_mx_rtx_def (void *x_p)
+ {
+   struct rtx_def * x = (struct rtx_def *)x_p;
+   struct rtx_def * xlimit = x;
+   while (ggc_test_and_set_mark (xlimit))
+    xlimit = (RTX_NEXT (&(*xlimit)));
+   if (x != xlimit)
+     for (;;)
+       {
+         struct rtx_def * const xprev = (RTX_PREV (&(*x)));
+         if (xprev == NULL) break;
+         x = xprev;
+         (void) ggc_test_and_set_mark (xprev);
+       }
+   while (x != xlimit)
+     {
+       switch (GET_CODE (&(*x)))
+         {
+         case US_TRUNCATE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SS_TRUNCATE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case US_MINUS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SS_MINUS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case US_PLUS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SS_PLUS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_DUPLICATE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_CONCAT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_SELECT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_MERGE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CALL_PLACEHOLDER:
+           gt_ggc_m_7rtx_def ((*x).u.fld[3].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CONSTANT_P_RTX:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case RANGE_LIVE:
+           gt_ggc_m_18bitmap_element_def ((*x).u.fld[0].rtbit);
+           break;
+         case RANGE_VAR:
+           gt_ggc_m_9tree_node ((*x).u.fld[1].rttree);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case RANGE_REG:
+           gt_ggc_m_9tree_node ((*x).u.fld[9].rttree);
+           gt_ggc_m_9tree_node ((*x).u.fld[8].rttree);
+           break;
+         case RANGE_INFO:
+           gt_ggc_m_18bitmap_element_def ((*x).u.fld[10].rtbit);
+           gt_ggc_m_18bitmap_element_def ((*x).u.fld[9].rtbit);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LO_SUM:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case HIGH:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ZERO_EXTRACT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SIGN_EXTRACT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PARITY:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POPCOUNT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CTZ:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CLZ:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FFS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SQRT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ABS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNSIGNED_FIX:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNSIGNED_FLOAT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FIX:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FLOAT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FLOAT_TRUNCATE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FLOAT_EXTEND:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case TRUNCATE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ZERO_EXTEND:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SIGN_EXTEND:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LTGT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNLT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNLE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNGT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNGE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNEQ:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ORDERED:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNORDERED:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LTU:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LEU:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GTU:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GEU:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case EQ:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POST_MODIFY:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PRE_MODIFY:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POST_INC:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POST_DEC:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PRE_INC:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PRE_DEC:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UMAX:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UMIN:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SMAX:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SMIN:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ROTATERT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LSHIFTRT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ASHIFTRT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ROTATE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ASHIFT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NOT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case XOR:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case IOR:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case AND:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UMOD:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UDIV:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MOD:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case DIV:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MULT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NEG:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MINUS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PLUS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case COMPARE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case COND:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case IF_THEN_ELSE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case QUEUED:
+           gt_ggc_m_7rtx_def ((*x).u.fld[4].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[3].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ADDRESSOF:
+           gt_ggc_m_9tree_node ((*x).u.fld[2].rttree);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CC0:
+           break;
+         case SYMBOL_REF:
+           gt_ggc_m_9tree_node ((*x).u.fld[2].rttree);
+           break;
+         case LABEL_REF:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MEM:
+           gt_ggc_m_9mem_attrs ((*x).u.fld[1].rtmem);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CONCAT:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case STRICT_LOW_PART:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SUBREG:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SCRATCH:
+           break;
+         case REG:
+           gt_ggc_m_9reg_attrs ((*x).u.fld[2].rtreg);
+           break;
+         case VALUE:
+           break;
+         case PC:
+           break;
+         case CONST:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CONST_STRING:
+           break;
+         case CONST_VECTOR:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case CONST_DOUBLE:
+           break;
+         case CONST_INT:
+           break;
+         case RESX:
+           break;
+         case TRAP_IF:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case RETURN:
+           break;
+         case CALL:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CLOBBER:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case USE:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SET:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PREFETCH:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ADDR_DIFF_VEC:
+           gt_ggc_m_7rtx_def ((*x).u.fld[3].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ADDR_VEC:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case UNSPEC_VOLATILE:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case UNSPEC:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case ASM_OPERANDS:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[4].rtvec);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[3].rtvec);
+           break;
+         case ASM_INPUT:
+           break;
+         case PARALLEL:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case COND_EXEC:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NOTE:
+           switch (NOTE_LINE_NUMBER (&(*x)))
+             {
+             default:
+               break;
+             case -81:
+               break;
+             case -82:
+               gt_ggc_m_7rtx_def ((*x).u.fld[4].rtx);
+               break;
+             case -83:
+               break;
+             case -84:
+               break;
+             case -85:
+               break;
+             case -86:
+               break;
+             case -87:
+               break;
+             case -88:
+               break;
+             case -89:
+               break;
+             case -90:
+               break;
+             case -91:
+               break;
+             case -92:
+               break;
+             case -93:
+               break;
+             case -94:
+               break;
+             case -95:
+               break;
+             case -96:
+               break;
+             case -97:
+               gt_ggc_m_9tree_node ((*x).u.fld[4].rttree);
+               break;
+             case -98:
+               gt_ggc_m_9tree_node ((*x).u.fld[4].rttree);
+               break;
+             case -99:
+               break;
+             case -100:
+               break;
+             }
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case CODE_LABEL:
+           gt_ggc_m_7rtx_def ((*x).u.fld[5].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case BARRIER:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case CALL_INSN:
+           gt_ggc_m_7rtx_def ((*x).u.fld[9].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[8].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[7].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[5].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case JUMP_INSN:
+           gt_ggc_m_7rtx_def ((*x).u.fld[9].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[8].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[7].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[5].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case INSN:
+           gt_ggc_m_7rtx_def ((*x).u.fld[8].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[7].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[5].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case ATTR_FLAG:
+           break;
+         case EQ_ATTR_ALT:
+           break;
+         case EQ_ATTR:
+           break;
+         case SET_ATTR_ALTERNATIVE:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case SET_ATTR:
+           break;
+         case ATTR:
+           break;
+         case DEFINE_ATTR:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           break;
+         case DEFINE_INSN_RESERVATION:
+           gt_ggc_m_7rtx_def ((*x).u.fld[2].rtx);
+           break;
+         case DEFINE_RESERVATION:
+           break;
+         case AUTOMATA_OPTION:
+           break;
+         case DEFINE_AUTOMATON:
+           break;
+         case DEFINE_BYPASS:
+           break;
+         case FINAL_ABSENCE_SET:
+           break;
+         case ABSENCE_SET:
+           break;
+         case FINAL_PRESENCE_SET:
+           break;
+         case PRESENCE_SET:
+           break;
+         case EXCLUSION_SET:
+           break;
+         case DEFINE_QUERY_CPU_UNIT:
+           break;
+         case DEFINE_CPU_UNIT:
+           break;
+         case ADDRESS:
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SEQUENCE:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_COND_EXEC:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_ASM_ATTRIBUTES:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_FUNCTION_UNIT:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[6].rtvec);
+           gt_ggc_m_7rtx_def ((*x).u.fld[3].rtx);
+           break;
+         case DEFINE_DELAY:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case DEFINE_EXPAND:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case DEFINE_COMBINE:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_PEEPHOLE2:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_INSN_AND_SPLIT:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[7].rtvec);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[5].rtvec);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case DEFINE_SPLIT:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_PEEPHOLE:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[3].rtvec);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_INSN:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[4].rtvec);
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case MATCH_INSN:
+           break;
+         case MATCH_PAR_DUP:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case MATCH_OP_DUP:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case MATCH_PARALLEL:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[2].rtvec);
+           break;
+         case MATCH_OPERATOR:
+           gt_ggc_m_9rtvec_def ((*x).u.fld[2].rtvec);
+           break;
+         case MATCH_DUP:
+           break;
+         case MATCH_SCRATCH:
+           break;
+         case MATCH_OPERAND:
+           break;
+         case INSN_LIST:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case EXPR_LIST:
+           gt_ggc_m_7rtx_def ((*x).u.fld[1].rtx);
+           gt_ggc_m_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case INCLUDE:
+           break;
+         case NIL:
+           break;
+         case UNKNOWN:
+           break;
+         default:
+           break;
+         }
+       x = (RTX_NEXT (&(*x)));
+     }
+ }
+ 
+ void
+ gt_ggc_m_II17splay_tree_node_s (void *x_p)
+ {
+   struct splay_tree_node_s * const x = (struct splay_tree_node_s *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_II17splay_tree_node_s ((*x).left);
+       gt_ggc_m_II17splay_tree_node_s ((*x).right);
+     }
+ }
+ 
+ void
+ gt_ggc_m_SP9tree_node17splay_tree_node_s (void *x_p)
+ {
+   struct splay_tree_node_s * const x = (struct splay_tree_node_s *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_9tree_node ((void *)(*x).value);
+       gt_ggc_m_SP9tree_node17splay_tree_node_s ((*x).left);
+       gt_ggc_m_SP9tree_node17splay_tree_node_s ((*x).right);
+     }
+ }
+ 
+ void
+ gt_ggc_m_P9tree_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_9tree_node ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_P9reg_attrs4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_9reg_attrs ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_P9mem_attrs4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_9mem_attrs ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_P7rtx_def4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_7rtx_def ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_SP9tree_node12splay_tree_s (void *x_p)
+ {
+   struct splay_tree_s * const x = (struct splay_tree_s *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_SP9tree_node17splay_tree_node_s ((*x).root);
+     }
+ }
+ 
+ void
+ gt_ggc_m_P19cgraph_varpool_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_19cgraph_varpool_node ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_P11cgraph_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_11cgraph_node ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_P17cselib_val_struct4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_ggc_m_17cselib_val_struct ((*x).entries[i0]);
+         }
+         ggc_mark ((*x).entries);
+       }
+     }
+ }
+ 
+ void
+ gt_ggc_m_II12splay_tree_s (void *x_p)
+ {
+   struct splay_tree_s * const x = (struct splay_tree_s *)x_p;
+   if (ggc_test_and_set_mark (x))
+     {
+       gt_ggc_m_II17splay_tree_node_s ((*x).root);
+     }
+ }
+ 
+ void
+ gt_pch_nx_cgraph_varpool_node (void *x_p)
+ {
+   struct cgraph_varpool_node * const x = (struct cgraph_varpool_node *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_19cgraph_varpool_node))
+     {
+       gt_pch_n_9tree_node ((*x).decl);
+       gt_pch_n_19cgraph_varpool_node ((*x).next_needed);
+     }
+ }
+ 
+ void
+ gt_pch_nx_cgraph_edge (void *x_p)
+ {
+   struct cgraph_edge * const x = (struct cgraph_edge *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_11cgraph_edge))
+     {
+       gt_pch_n_11cgraph_node ((*x).caller);
+       gt_pch_n_11cgraph_node ((*x).callee);
+       gt_pch_n_11cgraph_edge ((*x).next_caller);
+       gt_pch_n_11cgraph_edge ((*x).next_callee);
+       gt_pch_n_S ((*x).inline_failed);
+     }
+ }
+ 
+ void
+ gt_pch_nx_cgraph_node (void *x_p)
+ {
+   struct cgraph_node * x = (struct cgraph_node *)x_p;
+   struct cgraph_node * xlimit = x;
+   while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_11cgraph_node))
+    xlimit = ((*xlimit).next);
+   if (x != xlimit)
+     for (;;)
+       {
+         struct cgraph_node * const xprev = ((*x).previous);
+         if (xprev == NULL) break;
+         x = xprev;
+         (void) gt_pch_note_object (xprev, xprev, gt_pch_p_11cgraph_node);
+       }
+   while (x != xlimit)
+     {
+       gt_pch_n_9tree_node ((*x).decl);
+       gt_pch_n_11cgraph_edge ((*x).callees);
+       gt_pch_n_11cgraph_edge ((*x).callers);
+       gt_pch_n_11cgraph_node ((*x).next);
+       gt_pch_n_11cgraph_node ((*x).previous);
+       gt_pch_n_11cgraph_node ((*x).origin);
+       gt_pch_n_11cgraph_node ((*x).nested);
+       gt_pch_n_11cgraph_node ((*x).next_nested);
+       gt_pch_n_11cgraph_node ((*x).next_needed);
+       x = ((*x).next);
+     }
+ }
+ 
+ void
+ gt_pch_nx_elt_loc_list (void *x_p)
+ {
+   struct elt_loc_list * const x = (struct elt_loc_list *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_12elt_loc_list))
+     {
+       gt_pch_n_12elt_loc_list ((*x).next);
+       gt_pch_n_7rtx_def ((*x).loc);
+       gt_pch_n_7rtx_def ((*x).canon_loc);
+       gt_pch_n_7rtx_def ((*x).setting_insn);
+     }
+ }
+ 
+ void
+ gt_pch_nx_cselib_val_struct (void *x_p)
+ {
+   struct cselib_val_struct * const x = (struct cselib_val_struct *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_17cselib_val_struct))
+     {
+       switch (1)
+         {
+         case 1:
+           gt_pch_n_7rtx_def ((*x).u.val_rtx);
+           break;
+         default:
+           break;
+         }
+       gt_pch_n_12elt_loc_list ((*x).locs);
+       gt_pch_n_8elt_list ((*x).addr_list);
+       gt_pch_n_17cselib_val_struct ((*x).next_containing_mem);
+     }
+ }
+ 
+ void
+ gt_pch_nx_varray_head_tag (void *x_p)
+ {
+   struct varray_head_tag * const x = (struct varray_head_tag *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_15varray_head_tag))
+     {
+       gt_pch_n_S ((*x).name);
+       switch ((*x).type)
+         {
+         case VARRAY_DATA_C:
+           break;
+         case VARRAY_DATA_UC:
+           break;
+         case VARRAY_DATA_S:
+           break;
+         case VARRAY_DATA_US:
+           break;
+         case VARRAY_DATA_I:
+           break;
+         case VARRAY_DATA_U:
+           break;
+         case VARRAY_DATA_L:
+           break;
+         case VARRAY_DATA_UL:
+           break;
+         case VARRAY_DATA_HINT:
+           break;
+         case VARRAY_DATA_UHINT:
+           break;
+         case VARRAY_DATA_GENERIC:
+           abort();
+           break;
+         case VARRAY_DATA_CPTR:
+           {
+             size_t i10;
+             for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+               gt_pch_n_S ((*x).data.cptr[i10]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTX:
+           {
+             size_t i11;
+             for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+               gt_pch_n_7rtx_def ((*x).data.rtx[i11]);
+             }
+           }
+           break;
+         case VARRAY_DATA_RTVEC:
+           {
+             size_t i12;
+             for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+               gt_pch_n_9rtvec_def ((*x).data.rtvec[i12]);
+             }
+           }
+           break;
+         case VARRAY_DATA_TREE:
+           {
+             size_t i13;
+             for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+               gt_pch_n_9tree_node ((*x).data.tree[i13]);
+             }
+           }
+           break;
+         case VARRAY_DATA_BITMAP:
+           {
+             size_t i14;
+             for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+               gt_pch_n_15bitmap_head_def ((*x).data.bitmap[i14]);
+             }
+           }
+           break;
+         case VARRAY_DATA_CONST_EQUIV:
+           {
+             size_t i15;
+             for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+               gt_pch_n_7rtx_def ((*x).data.const_equiv[i15].rtx);
+             }
+           }
+           break;
+         case VARRAY_DATA_TE:
+           {
+             size_t i16;
+             for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+               gt_pch_n_8elt_list ((*x).data.te[i16]);
+             }
+           }
+           break;
+         default:
+           break;
+         }
+     }
+ }
+ 
+ void
+ gt_pch_nx_elt_list (void *x_p)
+ {
+   struct elt_list * const x = (struct elt_list *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_8elt_list))
+     {
+       gt_pch_n_8elt_list ((*x).next);
+       gt_pch_n_17cselib_val_struct ((*x).elt);
+     }
+ }
+ 
+ void
+ gt_pch_nx_real_value (void *x_p)
+ {
+   struct real_value * const x = (struct real_value *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_10real_value))
+     {
+     }
+ }
+ 
+ void
+ gt_pch_nx_convert_optab (void *x_p)
+ {
+   struct convert_optab * const x = (struct convert_optab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_13convert_optab))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(NUM_MACHINE_MODES); i0++) {
+           {
+             size_t i1;
+             for (i1 = 0; i1 < (size_t)(NUM_MACHINE_MODES); i1++) {
+               gt_pch_n_7rtx_def ((*x).handlers[i0][i1].libfunc);
+             }
+           }
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_optab (void *x_p)
+ {
+   struct optab * const x = (struct optab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_5optab))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(NUM_MACHINE_MODES); i0++) {
+           gt_pch_n_7rtx_def ((*x).handlers[i0].libfunc);
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_reg_attrs (void *x_p)
+ {
+   struct reg_attrs * const x = (struct reg_attrs *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9reg_attrs))
+     {
+       gt_pch_n_9tree_node ((*x).decl);
+     }
+ }
+ 
+ void
+ gt_pch_nx_mem_attrs (void *x_p)
+ {
+   struct mem_attrs * const x = (struct mem_attrs *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9mem_attrs))
+     {
+       gt_pch_n_9tree_node ((*x).expr);
+       gt_pch_n_7rtx_def ((*x).offset);
+       gt_pch_n_7rtx_def ((*x).size);
+     }
+ }
+ 
+ void
+ gt_pch_nx_function (void *x_p)
+ {
+   struct function * const x = (struct function *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_8function))
+     {
+       gt_pch_n_9eh_status ((*x).eh);
+       gt_pch_n_11stmt_status ((*x).stmt);
+       gt_pch_n_11expr_status ((*x).expr);
+       gt_pch_n_11emit_status ((*x).emit);
+       gt_pch_n_13varasm_status ((*x).varasm);
+       gt_pch_n_9tree_node ((*x).decl);
+       gt_pch_n_8function ((*x).outer);
+       gt_pch_n_7rtx_def ((*x).arg_offset_rtx);
+       gt_pch_n_7rtx_def ((*x).return_rtx);
+       gt_pch_n_7rtx_def ((*x).internal_arg_pointer);
+       gt_pch_n_S ((*x).cannot_inline);
+       gt_pch_n_20initial_value_struct ((*x).hard_reg_initial_vals);
+       gt_pch_n_9tree_node ((*x).x_nonlocal_labels);
+       gt_pch_n_7rtx_def ((*x).x_nonlocal_goto_handler_slots);
+       gt_pch_n_7rtx_def ((*x).x_nonlocal_goto_handler_labels);
+       gt_pch_n_7rtx_def ((*x).x_nonlocal_goto_stack_level);
+       gt_pch_n_7rtx_def ((*x).x_cleanup_label);
+       gt_pch_n_7rtx_def ((*x).x_return_label);
+       gt_pch_n_7rtx_def ((*x).x_naked_return_label);
+       gt_pch_n_7rtx_def ((*x).computed_goto_common_label);
+       gt_pch_n_7rtx_def ((*x).computed_goto_common_reg);
+       gt_pch_n_7rtx_def ((*x).x_save_expr_regs);
+       gt_pch_n_7rtx_def ((*x).x_stack_slot_list);
+       gt_pch_n_9tree_node ((*x).x_rtl_expr_chain);
+       gt_pch_n_7rtx_def ((*x).x_tail_recursion_label);
+       gt_pch_n_7rtx_def ((*x).x_tail_recursion_reentry);
+       gt_pch_n_7rtx_def ((*x).x_arg_pointer_save_area);
+       gt_pch_n_7rtx_def ((*x).x_clobber_return_insn);
+       gt_pch_n_9tree_node ((*x).x_context_display);
+       gt_pch_n_9tree_node ((*x).x_trampoline_list);
+       gt_pch_n_7rtx_def ((*x).x_parm_birth_insn);
+       gt_pch_n_7rtx_def ((*x).x_last_parm_insn);
+       if ((*x).x_parm_reg_stack_loc != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).x_max_parm_reg); i0++) {
+           gt_pch_n_7rtx_def ((*x).x_parm_reg_stack_loc[i0]);
+         }
+         gt_pch_note_object ((*x).x_parm_reg_stack_loc, x, gt_pch_p_8function);
+       }
+       gt_pch_n_9temp_slot ((*x).x_temp_slots);
+       gt_pch_n_14var_refs_queue ((*x).fixup_var_refs_queue);
+       gt_pch_n_9rtvec_def ((*x).original_arg_vector);
+       gt_pch_n_9tree_node ((*x).original_decl_initial);
+       gt_pch_n_7rtx_def ((*x).inl_last_parm_insn);
+       if ((*x).machine) abort();
+       gt_pch_n_17language_function ((*x).language);
+       gt_pch_n_7rtx_def ((*x).epilogue_delay_list);
+     }
+ }
+ 
+ void
+ gt_pch_nx_expr_status (void *x_p)
+ {
+   struct expr_status * const x = (struct expr_status *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_11expr_status))
+     {
+       gt_pch_n_7rtx_def ((*x).x_saveregs_value);
+       gt_pch_n_7rtx_def ((*x).x_apply_args_value);
+       gt_pch_n_7rtx_def ((*x).x_forced_labels);
+       gt_pch_n_7rtx_def ((*x).x_pending_chain);
+     }
+ }
+ 
+ void
+ gt_pch_nx_emit_status (void *x_p)
+ {
+   struct emit_status * const x = (struct emit_status *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_11emit_status))
+     {
+       gt_pch_n_7rtx_def ((*x).x_first_insn);
+       gt_pch_n_7rtx_def ((*x).x_last_insn);
+       gt_pch_n_9tree_node ((*x).sequence_rtl_expr);
+       gt_pch_n_14sequence_stack ((*x).sequence_stack);
+       gt_pch_n_S ((*x).x_last_location.file);
+       if ((*x).regno_pointer_align != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).x_reg_rtx_no); i0++) {
+         }
+         gt_pch_note_object ((*x).regno_pointer_align, x, gt_pch_p_11emit_status);
+       }
+       if ((*x).x_regno_reg_rtx != NULL) {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(((*x)).x_reg_rtx_no); i1++) {
+           gt_pch_n_7rtx_def ((*x).x_regno_reg_rtx[i1]);
+         }
+         gt_pch_note_object ((*x).x_regno_reg_rtx, x, gt_pch_p_11emit_status);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_sequence_stack (void *x_p)
+ {
+   struct sequence_stack * const x = (struct sequence_stack *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_14sequence_stack))
+     {
+       gt_pch_n_7rtx_def ((*x).first);
+       gt_pch_n_7rtx_def ((*x).last);
+       gt_pch_n_9tree_node ((*x).sequence_rtl_expr);
+       gt_pch_n_14sequence_stack ((*x).next);
+     }
+ }
+ 
+ void
+ gt_pch_nx_var_refs_queue (void *x_p)
+ {
+   struct var_refs_queue * const x = (struct var_refs_queue *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_14var_refs_queue))
+     {
+       gt_pch_n_7rtx_def ((*x).modified);
+       gt_pch_n_14var_refs_queue ((*x).next);
+     }
+ }
+ 
+ void
+ gt_pch_nx_bitmap_head_def (void *x_p)
+ {
+   struct bitmap_head_def * const x = (struct bitmap_head_def *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_15bitmap_head_def))
+     {
+       gt_pch_n_18bitmap_element_def ((*x).first);
+       gt_pch_n_18bitmap_element_def ((*x).current);
+     }
+ }
+ 
+ void
+ gt_pch_nx_bitmap_element_def (void *x_p)
+ {
+   struct bitmap_element_def * const x = (struct bitmap_element_def *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_18bitmap_element_def))
+     {
+       gt_pch_n_18bitmap_element_def ((*x).next);
+       gt_pch_n_18bitmap_element_def ((*x).prev);
+     }
+ }
+ 
+ void
+ gt_pch_nx_rtvec_def (void *x_p)
+ {
+   struct rtvec_def * const x = (struct rtvec_def *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_9rtvec_def))
+     {
+       {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).num_elem); i0++) {
+           gt_pch_n_7rtx_def ((*x).elem[i0]);
+         }
+       }
+     }
+ }
+ 
+ void
+ gt_pch_nx_rtx_def (void *x_p)
+ {
+   struct rtx_def * x = (struct rtx_def *)x_p;
+   struct rtx_def * xlimit = x;
+   while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_7rtx_def))
+    xlimit = (RTX_NEXT (&(*xlimit)));
+   if (x != xlimit)
+     for (;;)
+       {
+         struct rtx_def * const xprev = (RTX_PREV (&(*x)));
+         if (xprev == NULL) break;
+         x = xprev;
+         (void) gt_pch_note_object (xprev, xprev, gt_pch_p_7rtx_def);
+       }
+   while (x != xlimit)
+     {
+       switch (GET_CODE (&(*x)))
+         {
+         case US_TRUNCATE:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SS_TRUNCATE:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case US_MINUS:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SS_MINUS:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case US_PLUS:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SS_PLUS:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_DUPLICATE:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_CONCAT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_SELECT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case VEC_MERGE:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CALL_PLACEHOLDER:
+           gt_pch_n_7rtx_def ((*x).u.fld[3].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CONSTANT_P_RTX:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case RANGE_LIVE:
+           gt_pch_n_18bitmap_element_def ((*x).u.fld[0].rtbit);
+           break;
+         case RANGE_VAR:
+           gt_pch_n_9tree_node ((*x).u.fld[1].rttree);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case RANGE_REG:
+           gt_pch_n_9tree_node ((*x).u.fld[9].rttree);
+           gt_pch_n_9tree_node ((*x).u.fld[8].rttree);
+           break;
+         case RANGE_INFO:
+           gt_pch_n_18bitmap_element_def ((*x).u.fld[10].rtbit);
+           gt_pch_n_18bitmap_element_def ((*x).u.fld[9].rtbit);
+           gt_pch_n_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LO_SUM:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case HIGH:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ZERO_EXTRACT:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SIGN_EXTRACT:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PARITY:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POPCOUNT:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CTZ:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CLZ:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FFS:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SQRT:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ABS:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNSIGNED_FIX:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNSIGNED_FLOAT:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FIX:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FLOAT:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FLOAT_TRUNCATE:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case FLOAT_EXTEND:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case TRUNCATE:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ZERO_EXTEND:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SIGN_EXTEND:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LTGT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNLT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNLE:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNGT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNGE:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNEQ:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ORDERED:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UNORDERED:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LTU:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LEU:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GTU:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GEU:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LE:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case GE:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case EQ:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NE:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POST_MODIFY:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PRE_MODIFY:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POST_INC:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case POST_DEC:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PRE_INC:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PRE_DEC:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UMAX:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UMIN:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SMAX:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SMIN:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ROTATERT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case LSHIFTRT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ASHIFTRT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ROTATE:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ASHIFT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NOT:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case XOR:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case IOR:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case AND:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UMOD:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case UDIV:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MOD:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case DIV:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MULT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NEG:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MINUS:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PLUS:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case COMPARE:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case COND:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case IF_THEN_ELSE:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case QUEUED:
+           gt_pch_n_7rtx_def ((*x).u.fld[4].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[3].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ADDRESSOF:
+           gt_pch_n_9tree_node ((*x).u.fld[2].rttree);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CC0:
+           break;
+         case SYMBOL_REF:
+           gt_pch_n_9tree_node ((*x).u.fld[2].rttree);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case LABEL_REF:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case MEM:
+           gt_pch_n_9mem_attrs ((*x).u.fld[1].rtmem);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CONCAT:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case STRICT_LOW_PART:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SUBREG:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SCRATCH:
+           break;
+         case REG:
+           gt_pch_n_9reg_attrs ((*x).u.fld[2].rtreg);
+           break;
+         case VALUE:
+           break;
+         case PC:
+           break;
+         case CONST:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CONST_STRING:
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case CONST_VECTOR:
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case CONST_DOUBLE:
+           break;
+         case CONST_INT:
+           break;
+         case RESX:
+           break;
+         case TRAP_IF:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case RETURN:
+           break;
+         case CALL:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case CLOBBER:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case USE:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SET:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case PREFETCH:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ADDR_DIFF_VEC:
+           gt_pch_n_7rtx_def ((*x).u.fld[3].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case ADDR_VEC:
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case UNSPEC_VOLATILE:
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case UNSPEC:
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case ASM_OPERANDS:
+           gt_pch_n_S ((*x).u.fld[5].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[4].rtvec);
+           gt_pch_n_9rtvec_def ((*x).u.fld[3].rtvec);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case ASM_INPUT:
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case PARALLEL:
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case COND_EXEC:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case NOTE:
+           switch (NOTE_LINE_NUMBER (&(*x)))
+             {
+             default:
+               gt_pch_n_S ((*x).u.fld[4].rtstr);
+               break;
+             case -81:
+               break;
+             case -82:
+               gt_pch_n_7rtx_def ((*x).u.fld[4].rtx);
+               break;
+             case -83:
+               break;
+             case -84:
+               break;
+             case -85:
+               break;
+             case -86:
+               break;
+             case -87:
+               break;
+             case -88:
+               break;
+             case -89:
+               break;
+             case -90:
+               break;
+             case -91:
+               break;
+             case -92:
+               break;
+             case -93:
+               break;
+             case -94:
+               break;
+             case -95:
+               break;
+             case -96:
+               break;
+             case -97:
+               gt_pch_n_9tree_node ((*x).u.fld[4].rttree);
+               break;
+             case -98:
+               gt_pch_n_9tree_node ((*x).u.fld[4].rttree);
+               break;
+             case -99:
+               break;
+             case -100:
+               break;
+             }
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case CODE_LABEL:
+           gt_pch_n_S ((*x).u.fld[7].rtstr);
+           gt_pch_n_7rtx_def ((*x).u.fld[5].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case BARRIER:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case CALL_INSN:
+           gt_pch_n_7rtx_def ((*x).u.fld[9].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[8].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[7].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[5].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case JUMP_INSN:
+           gt_pch_n_7rtx_def ((*x).u.fld[9].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[8].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[7].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[5].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case INSN:
+           gt_pch_n_7rtx_def ((*x).u.fld[8].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[7].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[5].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           break;
+         case ATTR_FLAG:
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case EQ_ATTR_ALT:
+           break;
+         case EQ_ATTR:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case SET_ATTR_ALTERNATIVE:
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case SET_ATTR:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case ATTR:
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_ATTR:
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_INSN_RESERVATION:
+           gt_pch_n_S ((*x).u.fld[3].rtstr);
+           gt_pch_n_7rtx_def ((*x).u.fld[2].rtx);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_RESERVATION:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case AUTOMATA_OPTION:
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_AUTOMATON:
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_BYPASS:
+           gt_pch_n_S ((*x).u.fld[3].rtstr);
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           break;
+         case FINAL_ABSENCE_SET:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case ABSENCE_SET:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case FINAL_PRESENCE_SET:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case PRESENCE_SET:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case EXCLUSION_SET:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_QUERY_CPU_UNIT:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_CPU_UNIT:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case ADDRESS:
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case SEQUENCE:
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_COND_EXEC:
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_ASM_ATTRIBUTES:
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_FUNCTION_UNIT:
+           gt_pch_n_9rtvec_def ((*x).u.fld[6].rtvec);
+           gt_pch_n_7rtx_def ((*x).u.fld[3].rtx);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_DELAY:
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case DEFINE_EXPAND:
+           gt_pch_n_S ((*x).u.fld[3].rtstr);
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_COMBINE:
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_PEEPHOLE2:
+           gt_pch_n_S ((*x).u.fld[3].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_INSN_AND_SPLIT:
+           gt_pch_n_9rtvec_def ((*x).u.fld[7].rtvec);
+           gt_pch_n_S ((*x).u.fld[6].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[5].rtvec);
+           gt_pch_n_S ((*x).u.fld[4].rtstr);
+           gt_pch_n_S ((*x).u.fld[3].rtstr);
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case DEFINE_SPLIT:
+           gt_pch_n_S ((*x).u.fld[3].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_PEEPHOLE:
+           gt_pch_n_9rtvec_def ((*x).u.fld[3].rtvec);
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[0].rtvec);
+           break;
+         case DEFINE_INSN:
+           gt_pch_n_9rtvec_def ((*x).u.fld[4].rtvec);
+           gt_pch_n_S ((*x).u.fld[3].rtstr);
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case MATCH_INSN:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           break;
+         case MATCH_PAR_DUP:
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case MATCH_OP_DUP:
+           gt_pch_n_9rtvec_def ((*x).u.fld[1].rtvec);
+           break;
+         case MATCH_PARALLEL:
+           gt_pch_n_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           break;
+         case MATCH_OPERATOR:
+           gt_pch_n_9rtvec_def ((*x).u.fld[2].rtvec);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           break;
+         case MATCH_DUP:
+           break;
+         case MATCH_SCRATCH:
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           break;
+         case MATCH_OPERAND:
+           gt_pch_n_S ((*x).u.fld[2].rtstr);
+           gt_pch_n_S ((*x).u.fld[1].rtstr);
+           break;
+         case INSN_LIST:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case EXPR_LIST:
+           gt_pch_n_7rtx_def ((*x).u.fld[1].rtx);
+           gt_pch_n_7rtx_def ((*x).u.fld[0].rtx);
+           break;
+         case INCLUDE:
+           gt_pch_n_S ((*x).u.fld[0].rtstr);
+           break;
+         case NIL:
+           break;
+         case UNKNOWN:
+           break;
+         default:
+           break;
+         }
+       x = (RTX_NEXT (&(*x)));
+     }
+ }
+ 
+ void
+ gt_pch_n_II17splay_tree_node_s (void *x_p)
+ {
+   struct splay_tree_node_s * const x = (struct splay_tree_node_s *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_II17splay_tree_node_s))
+     {
+       gt_pch_n_II17splay_tree_node_s ((*x).left);
+       gt_pch_n_II17splay_tree_node_s ((*x).right);
+     }
+ }
+ 
+ void
+ gt_pch_n_SP9tree_node17splay_tree_node_s (void *x_p)
+ {
+   struct splay_tree_node_s * const x = (struct splay_tree_node_s *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_SP9tree_node17splay_tree_node_s))
+     {
+       gt_pch_n_S ((void *)(*x).key);
+       gt_pch_n_9tree_node ((void *)(*x).value);
+       gt_pch_n_SP9tree_node17splay_tree_node_s ((*x).left);
+       gt_pch_n_SP9tree_node17splay_tree_node_s ((*x).right);
+     }
+ }
+ 
+ void
+ gt_pch_n_P9tree_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P9tree_node4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_9tree_node ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P9tree_node4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_P9reg_attrs4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P9reg_attrs4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_9reg_attrs ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P9reg_attrs4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_P9mem_attrs4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P9mem_attrs4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_9mem_attrs ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P9mem_attrs4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_P7rtx_def4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P7rtx_def4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_7rtx_def ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P7rtx_def4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_SP9tree_node12splay_tree_s (void *x_p)
+ {
+   struct splay_tree_s * const x = (struct splay_tree_s *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_SP9tree_node12splay_tree_s))
+     {
+       gt_pch_n_SP9tree_node17splay_tree_node_s ((*x).root);
+     }
+ }
+ 
+ void
+ gt_pch_n_P19cgraph_varpool_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P19cgraph_varpool_node4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_19cgraph_varpool_node ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P19cgraph_varpool_node4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_P11cgraph_node4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P11cgraph_node4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_11cgraph_node ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P11cgraph_node4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_P17cselib_val_struct4htab (void *x_p)
+ {
+   struct htab * const x = (struct htab *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_P17cselib_val_struct4htab))
+     {
+       if ((*x).entries != NULL) {
+         size_t i0;
+         for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+           gt_pch_n_17cselib_val_struct ((*x).entries[i0]);
+         }
+         gt_pch_note_object ((*x).entries, x, gt_pch_p_P17cselib_val_struct4htab);
+       }
+     }
+ }
+ 
+ void
+ gt_pch_n_II12splay_tree_s (void *x_p)
+ {
+   struct splay_tree_s * const x = (struct splay_tree_s *)x_p;
+   if (gt_pch_note_object (x, x, gt_pch_p_II12splay_tree_s))
+     {
+       gt_pch_n_II17splay_tree_node_s ((*x).root);
+     }
+ }
+ 
+ void
+ gt_pch_p_19cgraph_varpool_node (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct cgraph_varpool_node * const x ATTRIBUTE_UNUSED = (struct cgraph_varpool_node *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).decl), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_needed), cookie);
+ }
+ 
+ void
+ gt_pch_p_11cgraph_edge (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct cgraph_edge * const x ATTRIBUTE_UNUSED = (struct cgraph_edge *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).caller), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).callee), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_caller), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_callee), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).inline_failed), cookie);
+ }
+ 
+ void
+ gt_pch_p_11cgraph_node (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct cgraph_node * const x ATTRIBUTE_UNUSED = (struct cgraph_node *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).decl), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).callees), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).callers), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).previous), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).origin), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).nested), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_nested), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_needed), cookie);
+ }
+ 
+ void
+ gt_pch_p_12elt_loc_list (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct elt_loc_list * const x ATTRIBUTE_UNUSED = (struct elt_loc_list *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).loc), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).canon_loc), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).setting_insn), cookie);
+ }
+ 
+ void
+ gt_pch_p_17cselib_val_struct (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct cselib_val_struct * const x ATTRIBUTE_UNUSED = (struct cselib_val_struct *)x_p;
+   switch (1)
+     {
+     case 1:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.val_rtx), cookie);
+       break;
+     default:
+       break;
+     }
+   if ((void *)(x) == this_obj)
+     op (&((*x).locs), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).addr_list), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next_containing_mem), cookie);
+ }
+ 
+ void
+ gt_pch_p_15varray_head_tag (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct varray_head_tag * const x ATTRIBUTE_UNUSED = (struct varray_head_tag *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).name), cookie);
+   switch ((*x).type)
+     {
+     case VARRAY_DATA_C:
+       break;
+     case VARRAY_DATA_UC:
+       break;
+     case VARRAY_DATA_S:
+       break;
+     case VARRAY_DATA_US:
+       break;
+     case VARRAY_DATA_I:
+       break;
+     case VARRAY_DATA_U:
+       break;
+     case VARRAY_DATA_L:
+       break;
+     case VARRAY_DATA_UL:
+       break;
+     case VARRAY_DATA_HINT:
+       break;
+     case VARRAY_DATA_UHINT:
+       break;
+     case VARRAY_DATA_GENERIC:
+       abort();
+       break;
+     case VARRAY_DATA_CPTR:
+       {
+         size_t i10;
+         for (i10 = 0; i10 < (size_t)((*x).num_elements); i10++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.cptr[i10]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_RTX:
+       {
+         size_t i11;
+         for (i11 = 0; i11 < (size_t)((*x).num_elements); i11++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.rtx[i11]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_RTVEC:
+       {
+         size_t i12;
+         for (i12 = 0; i12 < (size_t)((*x).num_elements); i12++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.rtvec[i12]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_TREE:
+       {
+         size_t i13;
+         for (i13 = 0; i13 < (size_t)((*x).num_elements); i13++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.tree[i13]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_BITMAP:
+       {
+         size_t i14;
+         for (i14 = 0; i14 < (size_t)((*x).num_elements); i14++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.bitmap[i14]), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_CONST_EQUIV:
+       {
+         size_t i15;
+         for (i15 = 0; i15 < (size_t)((*x).num_elements); i15++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.const_equiv[i15].rtx), cookie);
+         }
+       }
+       break;
+     case VARRAY_DATA_TE:
+       {
+         size_t i16;
+         for (i16 = 0; i16 < (size_t)((*x).num_elements); i16++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).data.te[i16]), cookie);
+         }
+       }
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_8elt_list (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct elt_list * const x ATTRIBUTE_UNUSED = (struct elt_list *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).elt), cookie);
+ }
+ 
+ void
+ gt_pch_p_10real_value (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct real_value * const x ATTRIBUTE_UNUSED = (struct real_value *)x_p;
+ }
+ 
+ void
+ gt_pch_p_13convert_optab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct convert_optab * const x ATTRIBUTE_UNUSED = (struct convert_optab *)x_p;
+   {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(NUM_MACHINE_MODES); i0++) {
+       {
+         size_t i1;
+         for (i1 = 0; i1 < (size_t)(NUM_MACHINE_MODES); i1++) {
+           if ((void *)(x) == this_obj)
+             op (&((*x).handlers[i0][i1].libfunc), cookie);
+         }
+       }
+     }
+   }
+ }
+ 
+ void
+ gt_pch_p_5optab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct optab * const x ATTRIBUTE_UNUSED = (struct optab *)x_p;
+   {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(NUM_MACHINE_MODES); i0++) {
+       if ((void *)(x) == this_obj)
+         op (&((*x).handlers[i0].libfunc), cookie);
+     }
+   }
+ }
+ 
+ void
+ gt_pch_p_9reg_attrs (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct reg_attrs * const x ATTRIBUTE_UNUSED = (struct reg_attrs *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).decl), cookie);
+ }
+ 
+ void
+ gt_pch_p_9mem_attrs (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct mem_attrs * const x ATTRIBUTE_UNUSED = (struct mem_attrs *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).expr), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).offset), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).size), cookie);
+ }
+ 
+ void
+ gt_pch_p_8function (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct function * const x ATTRIBUTE_UNUSED = (struct function *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).eh), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).stmt), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).expr), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).emit), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).varasm), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).decl), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).outer), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).arg_offset_rtx), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).return_rtx), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).internal_arg_pointer), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).cannot_inline), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).hard_reg_initial_vals), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_nonlocal_labels), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_nonlocal_goto_handler_slots), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_nonlocal_goto_handler_labels), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_nonlocal_goto_stack_level), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_cleanup_label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_return_label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_naked_return_label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).computed_goto_common_label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).computed_goto_common_reg), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_save_expr_regs), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_stack_slot_list), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_rtl_expr_chain), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_tail_recursion_label), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_tail_recursion_reentry), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_arg_pointer_save_area), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_clobber_return_insn), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_context_display), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_trampoline_list), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_parm_birth_insn), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_last_parm_insn), cookie);
+   if ((*x).x_parm_reg_stack_loc != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).x_max_parm_reg); i0++) {
+       if ((void *)((*x).x_parm_reg_stack_loc) == this_obj)
+         op (&((*x).x_parm_reg_stack_loc[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).x_parm_reg_stack_loc), cookie);
+   }
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_temp_slots), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).fixup_var_refs_queue), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).original_arg_vector), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).original_decl_initial), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).inl_last_parm_insn), cookie);
+   if ((*x).machine) abort();
+   if ((void *)(x) == this_obj)
+     op (&((*x).language), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).epilogue_delay_list), cookie);
+ }
+ 
+ void
+ gt_pch_p_11expr_status (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct expr_status * const x ATTRIBUTE_UNUSED = (struct expr_status *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_saveregs_value), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_apply_args_value), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_forced_labels), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_pending_chain), cookie);
+ }
+ 
+ void
+ gt_pch_p_11emit_status (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct emit_status * const x ATTRIBUTE_UNUSED = (struct emit_status *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_first_insn), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_last_insn), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).sequence_rtl_expr), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).sequence_stack), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).x_last_location.file), cookie);
+   if ((*x).regno_pointer_align != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).x_reg_rtx_no); i0++) {
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).regno_pointer_align), cookie);
+   }
+   if ((*x).x_regno_reg_rtx != NULL) {
+     size_t i1;
+     for (i1 = 0; i1 < (size_t)(((*x)).x_reg_rtx_no); i1++) {
+       if ((void *)((*x).x_regno_reg_rtx) == this_obj)
+         op (&((*x).x_regno_reg_rtx[i1]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).x_regno_reg_rtx), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_14sequence_stack (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct sequence_stack * const x ATTRIBUTE_UNUSED = (struct sequence_stack *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).first), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).last), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).sequence_rtl_expr), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+ }
+ 
+ void
+ gt_pch_p_14var_refs_queue (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct var_refs_queue * const x ATTRIBUTE_UNUSED = (struct var_refs_queue *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).modified), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+ }
+ 
+ void
+ gt_pch_p_15bitmap_head_def (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct bitmap_head_def * const x ATTRIBUTE_UNUSED = (struct bitmap_head_def *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).first), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).current), cookie);
+ }
+ 
+ void
+ gt_pch_p_18bitmap_element_def (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct bitmap_element_def * const x ATTRIBUTE_UNUSED = (struct bitmap_element_def *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).next), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).prev), cookie);
+ }
+ 
+ void
+ gt_pch_p_9rtvec_def (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct rtvec_def * const x ATTRIBUTE_UNUSED = (struct rtvec_def *)x_p;
+   {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).num_elem); i0++) {
+       if ((void *)(x) == this_obj)
+         op (&((*x).elem[i0]), cookie);
+     }
+   }
+ }
+ 
+ void
+ gt_pch_p_7rtx_def (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct rtx_def * const x ATTRIBUTE_UNUSED = (struct rtx_def *)x_p;
+   switch (GET_CODE (&(*x)))
+     {
+     case US_TRUNCATE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SS_TRUNCATE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case US_MINUS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SS_MINUS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case US_PLUS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SS_PLUS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case VEC_DUPLICATE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case VEC_CONCAT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case VEC_SELECT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case VEC_MERGE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CALL_PLACEHOLDER:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CONSTANT_P_RTX:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case RANGE_LIVE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtbit), cookie);
+       break;
+     case RANGE_VAR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rttree), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case RANGE_REG:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[9].rttree), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[8].rttree), cookie);
+       break;
+     case RANGE_INFO:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[10].rtbit), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[9].rtbit), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case LO_SUM:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case HIGH:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ZERO_EXTRACT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SIGN_EXTRACT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case PARITY:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case POPCOUNT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CTZ:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CLZ:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case FFS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SQRT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ABS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNSIGNED_FIX:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNSIGNED_FLOAT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case FIX:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case FLOAT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case FLOAT_TRUNCATE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case FLOAT_EXTEND:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case TRUNCATE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ZERO_EXTEND:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SIGN_EXTEND:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case LTGT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNLT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNLE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNGT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNGE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNEQ:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ORDERED:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UNORDERED:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case LTU:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case LEU:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case GTU:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case GEU:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case LT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case LE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case GT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case GE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case EQ:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case NE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case POST_MODIFY:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case PRE_MODIFY:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case POST_INC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case POST_DEC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case PRE_INC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case PRE_DEC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UMAX:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UMIN:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SMAX:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SMIN:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ROTATERT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case LSHIFTRT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ASHIFTRT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ROTATE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ASHIFT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case NOT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case XOR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case IOR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case AND:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UMOD:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case UDIV:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case MOD:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case DIV:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case MULT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case NEG:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case MINUS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case PLUS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case COMPARE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case COND:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case IF_THEN_ELSE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case QUEUED:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[4].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ADDRESSOF:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rttree), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CC0:
+       break;
+     case SYMBOL_REF:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rttree), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case LABEL_REF:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case MEM:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtmem), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CONCAT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case STRICT_LOW_PART:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SUBREG:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SCRATCH:
+       break;
+     case REG:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtreg), cookie);
+       break;
+     case VALUE:
+       break;
+     case PC:
+       break;
+     case CONST:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CONST_STRING:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case CONST_VECTOR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case CONST_DOUBLE:
+       break;
+     case CONST_INT:
+       break;
+     case RESX:
+       break;
+     case TRAP_IF:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case RETURN:
+       break;
+     case CALL:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case CLOBBER:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case USE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SET:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case PREFETCH:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ADDR_DIFF_VEC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case ADDR_VEC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case UNSPEC_VOLATILE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case UNSPEC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case ASM_OPERANDS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[5].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[4].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case ASM_INPUT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case PARALLEL:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case COND_EXEC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case NOTE:
+       switch (NOTE_LINE_NUMBER (&(*x)))
+         {
+         default:
+           if ((void *)(x) == this_obj)
+             op (&((*x).u.fld[4].rtstr), cookie);
+           break;
+         case -81:
+           break;
+         case -82:
+           if ((void *)(x) == this_obj)
+             op (&((*x).u.fld[4].rtx), cookie);
+           break;
+         case -83:
+           break;
+         case -84:
+           break;
+         case -85:
+           break;
+         case -86:
+           break;
+         case -87:
+           break;
+         case -88:
+           break;
+         case -89:
+           break;
+         case -90:
+           break;
+         case -91:
+           break;
+         case -92:
+           break;
+         case -93:
+           break;
+         case -94:
+           break;
+         case -95:
+           break;
+         case -96:
+           break;
+         case -97:
+           if ((void *)(x) == this_obj)
+             op (&((*x).u.fld[4].rttree), cookie);
+           break;
+         case -98:
+           if ((void *)(x) == this_obj)
+             op (&((*x).u.fld[4].rttree), cookie);
+           break;
+         case -99:
+           break;
+         case -100:
+           break;
+         }
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       break;
+     case CODE_LABEL:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[7].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[5].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       break;
+     case BARRIER:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       break;
+     case CALL_INSN:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[9].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[8].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[7].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[5].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       break;
+     case JUMP_INSN:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[9].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[8].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[7].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[5].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       break;
+     case INSN:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[8].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[7].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[5].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       break;
+     case ATTR_FLAG:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case EQ_ATTR_ALT:
+       break;
+     case EQ_ATTR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case SET_ATTR_ALTERNATIVE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case SET_ATTR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case ATTR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_ATTR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_INSN_RESERVATION:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_RESERVATION:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case AUTOMATA_OPTION:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_AUTOMATON:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_BYPASS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       break;
+     case FINAL_ABSENCE_SET:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case ABSENCE_SET:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case FINAL_PRESENCE_SET:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case PRESENCE_SET:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case EXCLUSION_SET:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_QUERY_CPU_UNIT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_CPU_UNIT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case ADDRESS:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case SEQUENCE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case DEFINE_COND_EXEC:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case DEFINE_ASM_ATTRIBUTES:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case DEFINE_FUNCTION_UNIT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[6].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_DELAY:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case DEFINE_EXPAND:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_COMBINE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case DEFINE_PEEPHOLE2:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case DEFINE_INSN_AND_SPLIT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[7].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[6].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[5].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[4].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case DEFINE_SPLIT:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case DEFINE_PEEPHOLE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtvec), cookie);
+       break;
+     case DEFINE_INSN:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[4].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[3].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case MATCH_INSN:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       break;
+     case MATCH_PAR_DUP:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       break;
+     case MATCH_OP_DUP:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtvec), cookie);
+       break;
+     case MATCH_PARALLEL:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       break;
+     case MATCH_OPERATOR:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtvec), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       break;
+     case MATCH_DUP:
+       break;
+     case MATCH_SCRATCH:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       break;
+     case MATCH_OPERAND:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[2].rtstr), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtstr), cookie);
+       break;
+     case INSN_LIST:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case EXPR_LIST:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[1].rtx), cookie);
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtx), cookie);
+       break;
+     case INCLUDE:
+       if ((void *)(x) == this_obj)
+         op (&((*x).u.fld[0].rtstr), cookie);
+       break;
+     case NIL:
+       break;
+     case UNKNOWN:
+       break;
+     default:
+       break;
+     }
+ }
+ 
+ void
+ gt_pch_p_II17splay_tree_node_s (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct splay_tree_node_s * const x ATTRIBUTE_UNUSED = (struct splay_tree_node_s *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).left), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).right), cookie);
+ }
+ 
+ void
+ gt_pch_p_SP9tree_node17splay_tree_node_s (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct splay_tree_node_s * const x ATTRIBUTE_UNUSED = (struct splay_tree_node_s *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).key), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).value), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).left), cookie);
+   if ((void *)(x) == this_obj)
+     op (&((*x).right), cookie);
+ }
+ 
+ void
+ gt_pch_p_P9tree_node4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_P9reg_attrs4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_P9mem_attrs4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_P7rtx_def4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_SP9tree_node12splay_tree_s (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct splay_tree_s * const x ATTRIBUTE_UNUSED = (struct splay_tree_s *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).root), cookie);
+ }
+ 
+ void
+ gt_pch_p_P19cgraph_varpool_node4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_P11cgraph_node4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_P17cselib_val_struct4htab (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct htab * const x ATTRIBUTE_UNUSED = (struct htab *)x_p;
+   if ((*x).entries != NULL) {
+     size_t i0;
+     for (i0 = 0; i0 < (size_t)(((*x)).size); i0++) {
+       if ((void *)((*x).entries) == this_obj)
+         op (&((*x).entries[i0]), cookie);
+     }
+     if ((void *)(x) == this_obj)
+       op (&((*x).entries), cookie);
+   }
+ }
+ 
+ void
+ gt_pch_p_II12splay_tree_s (void *this_obj ATTRIBUTE_UNUSED,
+ 	void *x_p,
+ 	gt_pointer_operator op ATTRIBUTE_UNUSED,
+ 	void *cookie ATTRIBUTE_UNUSED)
+ {
+   struct splay_tree_s * const x ATTRIBUTE_UNUSED = (struct splay_tree_s *)x_p;
+   if ((void *)(x) == this_obj)
+     op (&((*x).root), cookie);
+ }
+ 
+ /* GC roots.  */
+ 
+ const struct ggc_root_tab gt_ggc_r_gtype_desc_c[] = {
+   {
+     &cgraph_varpool_nodes_queue,
+     1,
+     sizeof (cgraph_varpool_nodes_queue),
+     &gt_ggc_mx_cgraph_varpool_node,
+     &gt_pch_nx_cgraph_varpool_node
+   },
+   {
+     &cgraph_nodes_queue,
+     1,
+     sizeof (cgraph_nodes_queue),
+     &gt_ggc_mx_cgraph_node,
+     &gt_pch_nx_cgraph_node
+   },
+   {
+     &cgraph_nodes,
+     1,
+     sizeof (cgraph_nodes),
+     &gt_ggc_mx_cgraph_node,
+     &gt_pch_nx_cgraph_node
+   },
+   {
+     &tail_recursion_label_list,
+     1,
+     sizeof (tail_recursion_label_list),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &label_value_list,
+     1,
+     sizeof (label_value_list),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &insn_addresses_,
+     1,
+     sizeof (insn_addresses_),
+     &gt_ggc_mx_varray_head_tag,
+     &gt_pch_nx_varray_head_tag
+   },
+   {
+     &libfunc_table[0],
+     1 * (LTI_MAX),
+     sizeof (libfunc_table[0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &current_function_func_begin_label,
+     1,
+     sizeof (current_function_func_begin_label),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &current_function_decl,
+     1,
+     sizeof (current_function_decl),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &sizetype_tab[0],
+     1 * ((int) TYPE_KIND_LAST),
+     sizeof (sizetype_tab[0]),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &integer_types[0],
+     1 * (itk_none),
+     sizeof (integer_types[0]),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &global_trees[0],
+     1 * (TI_MAX),
+     sizeof (global_trees[0]),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &implicit_built_in_decls[0],
+     1 * ((int) END_BUILTINS),
+     sizeof (implicit_built_in_decls[0]),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &built_in_decls[0],
+     1 * ((int) END_BUILTINS),
+     sizeof (built_in_decls[0]),
+     &gt_ggc_mx_tree_node,
+     &gt_pch_nx_tree_node
+   },
+   {
+     &code_to_optab[0],
+     1 * (NUM_RTX_CODE + 1),
+     sizeof (code_to_optab[0]),
+     &gt_ggc_mx_optab,
+     &gt_pch_nx_optab
+   },
+   {
+     &convert_optab_table[0],
+     1 * (CTI_MAX),
+     sizeof (convert_optab_table[0]),
+     &gt_ggc_mx_convert_optab,
+     &gt_pch_nx_convert_optab
+   },
+   {
+     &optab_table[0],
+     1 * (OTI_MAX),
+     sizeof (optab_table[0]),
+     &gt_ggc_mx_optab,
+     &gt_pch_nx_optab
+   },
+   {
+     &stack_limit_rtx,
+     1,
+     sizeof (stack_limit_rtx),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &return_address_pointer_rtx,
+     1,
+     sizeof (return_address_pointer_rtx),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &static_chain_incoming_rtx,
+     1,
+     sizeof (static_chain_incoming_rtx),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &static_chain_rtx,
+     1,
+     sizeof (static_chain_rtx),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &pic_offset_table_rtx,
+     1,
+     sizeof (pic_offset_table_rtx),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &global_rtl[0],
+     1 * (GR_MAX),
+     sizeof (global_rtl[0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &const_tiny_rtx[0][0],
+     1 * (3) * ((int) MAX_MACHINE_MODE),
+     sizeof (const_tiny_rtx[0][0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &const_true_rtx,
+     1,
+     sizeof (const_true_rtx),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &const_int_rtx[0],
+     1 * (MAX_SAVED_CONST_INT * 2 + 1),
+     sizeof (const_int_rtx[0]),
+     &gt_ggc_mx_rtx_def,
+     &gt_pch_nx_rtx_def
+   },
+   {
+     &outer_function_chain,
+     1,
+     sizeof (outer_function_chain),
+     &gt_ggc_mx_function,
+     &gt_pch_nx_function
+   },
+   {
+     &cfun,
+     1,
+     sizeof (cfun),
+     &gt_ggc_mx_function,
+     &gt_pch_nx_function
+   },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ const struct ggc_root_tab gt_pch_rs_gtype_desc_c[] = {
+   { &cgraph_varpool_n_nodes, 1, sizeof (cgraph_varpool_n_nodes), NULL, NULL },
+   { &cgraph_max_uid, 1, sizeof (cgraph_max_uid), NULL, NULL },
+   { &cgraph_n_nodes, 1, sizeof (cgraph_n_nodes), NULL, NULL },
+   LAST_GGC_ROOT_TAB
+ };
+ 
+ 
+ /* Used to implement the RTX_NEXT macro.  */
+ const unsigned char rtx_next[NUM_RTX_CODE] = {
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 1 * sizeof (rtunion),
+   RTX_HDR_SIZE + 1 * sizeof (rtunion),
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 3 * sizeof (rtunion),
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   RTX_HDR_SIZE + 2 * sizeof (rtunion),
+   RTX_HDR_SIZE + 1 * sizeof (rtunion),
+   0,
+   0,
+   0,
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 1 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   0,
+   0,
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   0,
+   0,
+   0,
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   0,
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 1 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   0,
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+   RTX_HDR_SIZE + 0 * sizeof (rtunion),
+ };
Index: gcc/gcc/gtype-desc.h
diff -c /dev/null gcc/gcc/gtype-desc.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/gtype-desc.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,839 ----
+ /* Type information for GCC.
+    Copyright (C) 2003 Free Software Foundation, Inc.
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to the Free
+ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.  */
+ 
+ /* This file is machine generated.  Do not edit.  */
+ 
+ /* Enumeration of types known.  */
+ enum gt_types_enum {
+  gt_ggc_e_11align_stack, 
+  gt_ggc_e_7c_scope, 
+  gt_ggc_e_15output_def_pair, 
+  gt_ggc_e_24constant_descriptor_tree, 
+  gt_ggc_e_14in_named_entry, 
+  gt_ggc_e_13pool_constant, 
+  gt_ggc_e_23constant_descriptor_rtx, 
+  gt_ggc_e_9type_hash, 
+  gt_ggc_e_16string_pool_data, 
+  gt_ggc_e_10goto_fixup, 
+  gt_ggc_e_11label_chain, 
+  gt_ggc_e_7nesting, 
+  gt_ggc_e_9case_node, 
+  gt_ggc_e_9eh_region, 
+  gt_ggc_e_13ehl_map_entry, 
+  gt_ggc_e_16limbo_die_struct, 
+  gt_ggc_e_16dw_ranges_struct, 
+  gt_ggc_e_14pubname_struct, 
+  gt_ggc_e_28dw_separate_line_info_struct, 
+  gt_ggc_e_19dw_line_info_struct, 
+  gt_ggc_e_14dw_attr_struct, 
+  gt_ggc_e_18dw_loc_list_struct, 
+  gt_ggc_e_15queued_reg_save, 
+  gt_ggc_e_20indirect_string_node, 
+  gt_ggc_e_19dw_loc_descr_struct, 
+  gt_ggc_e_13dw_fde_struct, 
+  gt_ggc_e_13dw_cfi_struct, 
+  gt_ggc_e_8typeinfo, 
+  gt_ggc_e_15alias_set_entry, 
+  gt_ggc_e_18sorted_fields_type, 
+  gt_ggc_e_19cgraph_varpool_node, 
+  gt_ggc_e_11cgraph_edge, 
+  gt_ggc_e_11cgraph_node, 
+  gt_ggc_e_12elt_loc_list, 
+  gt_ggc_e_17cselib_val_struct, 
+  gt_ggc_e_15varray_head_tag, 
+  gt_ggc_e_8elt_list, 
+  gt_ggc_e_12reg_info_def, 
+  gt_ggc_e_14lang_tree_node, 
+  gt_ggc_e_9lang_decl, 
+  gt_ggc_e_9lang_type, 
+  gt_ggc_e_10die_struct, 
+  gt_ggc_e_10real_value, 
+  gt_ggc_e_13convert_optab, 
+  gt_ggc_e_5optab, 
+  gt_ggc_e_15basic_block_def, 
+  gt_ggc_e_9reg_attrs, 
+  gt_ggc_e_9mem_attrs, 
+  gt_ggc_e_17language_function, 
+  gt_ggc_e_9temp_slot, 
+  gt_ggc_e_20initial_value_struct, 
+  gt_ggc_e_13varasm_status, 
+  gt_ggc_e_11stmt_status, 
+  gt_ggc_e_9eh_status, 
+  gt_ggc_e_8function, 
+  gt_ggc_e_11expr_status, 
+  gt_ggc_e_11emit_status, 
+  gt_ggc_e_14sequence_stack, 
+  gt_ggc_e_14var_refs_queue, 
+  gt_ggc_e_15bitmap_head_def, 
+  gt_ggc_e_18bitmap_element_def, 
+  gt_ggc_e_6answer, 
+  gt_ggc_e_9cpp_macro, 
+  gt_ggc_e_9tree_node, 
+  gt_ggc_e_9rtvec_def, 
+  gt_ggc_e_7rtx_def, 
+  gt_e_II17splay_tree_node_s, 
+  gt_e_SP9tree_node17splay_tree_node_s, 
+  gt_e_P15output_def_pair15varray_head_tag, 
+  gt_e_P24constant_descriptor_tree4htab, 
+  gt_e_P14in_named_entry4htab, 
+  gt_e_P9type_hash4htab, 
+  gt_e_P13ehl_map_entry4htab, 
+  gt_e_P9tree_node4htab, 
+  gt_e_P9reg_attrs4htab, 
+  gt_e_P9mem_attrs4htab, 
+  gt_e_P7rtx_def4htab, 
+  gt_e_SP9tree_node12splay_tree_s, 
+  gt_e_P20indirect_string_node4htab, 
+  gt_e_P19cgraph_varpool_node4htab, 
+  gt_e_P11cgraph_node4htab, 
+  gt_e_P17cselib_val_struct4htab, 
+  gt_e_P15alias_set_entry15varray_head_tag, 
+  gt_e_II12splay_tree_s, 
+  gt_types_enum_last
+ };
+ 
+ /* GC marker procedures.  */
+ #define gt_ggc_m_11align_stack(X) do { \
+   if (X != NULL) gt_ggc_mx_align_stack (X);\
+   } while (0)
+ extern void gt_ggc_mx_align_stack (void *);
+ #define gt_ggc_m_7c_scope(X) do { \
+   if (X != NULL) gt_ggc_mx_c_scope (X);\
+   } while (0)
+ extern void gt_ggc_mx_c_scope (void *);
+ #define gt_ggc_m_15output_def_pair(X) do { \
+   if (X != NULL) gt_ggc_mx_output_def_pair (X);\
+   } while (0)
+ extern void gt_ggc_mx_output_def_pair (void *);
+ #define gt_ggc_m_24constant_descriptor_tree(X) do { \
+   if (X != NULL) gt_ggc_mx_constant_descriptor_tree (X);\
+   } while (0)
+ extern void gt_ggc_mx_constant_descriptor_tree (void *);
+ #define gt_ggc_m_14in_named_entry(X) do { \
+   if (X != NULL) gt_ggc_mx_in_named_entry (X);\
+   } while (0)
+ extern void gt_ggc_mx_in_named_entry (void *);
+ #define gt_ggc_m_13pool_constant(X) do { \
+   if (X != NULL) gt_ggc_mx_pool_constant (X);\
+   } while (0)
+ extern void gt_ggc_mx_pool_constant (void *);
+ #define gt_ggc_m_23constant_descriptor_rtx(X) do { \
+   if (X != NULL) gt_ggc_mx_constant_descriptor_rtx (X);\
+   } while (0)
+ extern void gt_ggc_mx_constant_descriptor_rtx (void *);
+ #define gt_ggc_m_9type_hash(X) do { \
+   if (X != NULL) gt_ggc_mx_type_hash (X);\
+   } while (0)
+ extern void gt_ggc_mx_type_hash (void *);
+ #define gt_ggc_m_16string_pool_data(X) do { \
+   if (X != NULL) gt_ggc_mx_string_pool_data (X);\
+   } while (0)
+ extern void gt_ggc_mx_string_pool_data (void *);
+ #define gt_ggc_m_10goto_fixup(X) do { \
+   if (X != NULL) gt_ggc_mx_goto_fixup (X);\
+   } while (0)
+ extern void gt_ggc_mx_goto_fixup (void *);
+ #define gt_ggc_m_11label_chain(X) do { \
+   if (X != NULL) gt_ggc_mx_label_chain (X);\
+   } while (0)
+ extern void gt_ggc_mx_label_chain (void *);
+ #define gt_ggc_m_7nesting(X) do { \
+   if (X != NULL) gt_ggc_mx_nesting (X);\
+   } while (0)
+ extern void gt_ggc_mx_nesting (void *);
+ #define gt_ggc_m_9case_node(X) do { \
+   if (X != NULL) gt_ggc_mx_case_node (X);\
+   } while (0)
+ extern void gt_ggc_mx_case_node (void *);
+ #define gt_ggc_m_9eh_region(X) do { \
+   if (X != NULL) gt_ggc_mx_eh_region (X);\
+   } while (0)
+ extern void gt_ggc_mx_eh_region (void *);
+ #define gt_ggc_m_13ehl_map_entry(X) do { \
+   if (X != NULL) gt_ggc_mx_ehl_map_entry (X);\
+   } while (0)
+ extern void gt_ggc_mx_ehl_map_entry (void *);
+ #define gt_ggc_m_16limbo_die_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_limbo_die_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_limbo_die_struct (void *);
+ #define gt_ggc_m_16dw_ranges_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_ranges_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_ranges_struct (void *);
+ #define gt_ggc_m_14pubname_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_pubname_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_pubname_struct (void *);
+ #define gt_ggc_m_28dw_separate_line_info_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_separate_line_info_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_separate_line_info_struct (void *);
+ #define gt_ggc_m_19dw_line_info_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_line_info_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_line_info_struct (void *);
+ #define gt_ggc_m_14dw_attr_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_attr_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_attr_struct (void *);
+ #define gt_ggc_m_18dw_loc_list_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_loc_list_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_loc_list_struct (void *);
+ #define gt_ggc_m_15queued_reg_save(X) do { \
+   if (X != NULL) gt_ggc_mx_queued_reg_save (X);\
+   } while (0)
+ extern void gt_ggc_mx_queued_reg_save (void *);
+ #define gt_ggc_m_20indirect_string_node(X) do { \
+   if (X != NULL) gt_ggc_mx_indirect_string_node (X);\
+   } while (0)
+ extern void gt_ggc_mx_indirect_string_node (void *);
+ #define gt_ggc_m_19dw_loc_descr_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_loc_descr_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_loc_descr_struct (void *);
+ #define gt_ggc_m_13dw_fde_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_fde_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_fde_struct (void *);
+ #define gt_ggc_m_13dw_cfi_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_dw_cfi_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_dw_cfi_struct (void *);
+ #define gt_ggc_m_8typeinfo(X) do { \
+   if (X != NULL) gt_ggc_mx_typeinfo (X);\
+   } while (0)
+ extern void gt_ggc_mx_typeinfo (void *);
+ #define gt_ggc_m_15alias_set_entry(X) do { \
+   if (X != NULL) gt_ggc_mx_alias_set_entry (X);\
+   } while (0)
+ extern void gt_ggc_mx_alias_set_entry (void *);
+ #define gt_ggc_m_18sorted_fields_type(X) do { \
+   if (X != NULL) gt_ggc_mx_sorted_fields_type (X);\
+   } while (0)
+ extern void gt_ggc_mx_sorted_fields_type (void *);
+ #define gt_ggc_m_19cgraph_varpool_node(X) do { \
+   if (X != NULL) gt_ggc_mx_cgraph_varpool_node (X);\
+   } while (0)
+ extern void gt_ggc_mx_cgraph_varpool_node (void *);
+ #define gt_ggc_m_11cgraph_edge(X) do { \
+   if (X != NULL) gt_ggc_mx_cgraph_edge (X);\
+   } while (0)
+ extern void gt_ggc_mx_cgraph_edge (void *);
+ #define gt_ggc_m_11cgraph_node(X) do { \
+   if (X != NULL) gt_ggc_mx_cgraph_node (X);\
+   } while (0)
+ extern void gt_ggc_mx_cgraph_node (void *);
+ #define gt_ggc_m_12elt_loc_list(X) do { \
+   if (X != NULL) gt_ggc_mx_elt_loc_list (X);\
+   } while (0)
+ extern void gt_ggc_mx_elt_loc_list (void *);
+ #define gt_ggc_m_17cselib_val_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_cselib_val_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_cselib_val_struct (void *);
+ #define gt_ggc_m_15varray_head_tag(X) do { \
+   if (X != NULL) gt_ggc_mx_varray_head_tag (X);\
+   } while (0)
+ extern void gt_ggc_mx_varray_head_tag (void *);
+ #define gt_ggc_m_8elt_list(X) do { \
+   if (X != NULL) gt_ggc_mx_elt_list (X);\
+   } while (0)
+ extern void gt_ggc_mx_elt_list (void *);
+ #define gt_ggc_m_12reg_info_def(X) do { \
+   if (X != NULL) gt_ggc_mx_reg_info_def (X);\
+   } while (0)
+ extern void gt_ggc_mx_reg_info_def (void *);
+ #define gt_ggc_m_14lang_tree_node(X) do { \
+   if (X != NULL) gt_ggc_mx_lang_tree_node (X);\
+   } while (0)
+ extern void gt_ggc_mx_lang_tree_node (void *);
+ #define gt_ggc_m_9lang_decl(X) do { \
+   if (X != NULL) gt_ggc_mx_lang_decl (X);\
+   } while (0)
+ extern void gt_ggc_mx_lang_decl (void *);
+ #define gt_ggc_m_9lang_type(X) do { \
+   if (X != NULL) gt_ggc_mx_lang_type (X);\
+   } while (0)
+ extern void gt_ggc_mx_lang_type (void *);
+ #define gt_ggc_m_10die_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_die_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_die_struct (void *);
+ #define gt_ggc_m_10real_value(X) do { \
+   if (X != NULL) gt_ggc_mx_real_value (X);\
+   } while (0)
+ extern void gt_ggc_mx_real_value (void *);
+ #define gt_ggc_m_13convert_optab(X) do { \
+   if (X != NULL) gt_ggc_mx_convert_optab (X);\
+   } while (0)
+ extern void gt_ggc_mx_convert_optab (void *);
+ #define gt_ggc_m_5optab(X) do { \
+   if (X != NULL) gt_ggc_mx_optab (X);\
+   } while (0)
+ extern void gt_ggc_mx_optab (void *);
+ #define gt_ggc_m_15basic_block_def(X) do { \
+   if (X != NULL) gt_ggc_mx_basic_block_def (X);\
+   } while (0)
+ extern void gt_ggc_mx_basic_block_def (void *);
+ #define gt_ggc_m_9reg_attrs(X) do { \
+   if (X != NULL) gt_ggc_mx_reg_attrs (X);\
+   } while (0)
+ extern void gt_ggc_mx_reg_attrs (void *);
+ #define gt_ggc_m_9mem_attrs(X) do { \
+   if (X != NULL) gt_ggc_mx_mem_attrs (X);\
+   } while (0)
+ extern void gt_ggc_mx_mem_attrs (void *);
+ #define gt_ggc_m_17language_function(X) do { \
+   if (X != NULL) gt_ggc_mx_language_function (X);\
+   } while (0)
+ extern void gt_ggc_mx_language_function (void *);
+ #define gt_ggc_m_9temp_slot(X) do { \
+   if (X != NULL) gt_ggc_mx_temp_slot (X);\
+   } while (0)
+ extern void gt_ggc_mx_temp_slot (void *);
+ #define gt_ggc_m_20initial_value_struct(X) do { \
+   if (X != NULL) gt_ggc_mx_initial_value_struct (X);\
+   } while (0)
+ extern void gt_ggc_mx_initial_value_struct (void *);
+ #define gt_ggc_m_13varasm_status(X) do { \
+   if (X != NULL) gt_ggc_mx_varasm_status (X);\
+   } while (0)
+ extern void gt_ggc_mx_varasm_status (void *);
+ #define gt_ggc_m_11stmt_status(X) do { \
+   if (X != NULL) gt_ggc_mx_stmt_status (X);\
+   } while (0)
+ extern void gt_ggc_mx_stmt_status (void *);
+ #define gt_ggc_m_9eh_status(X) do { \
+   if (X != NULL) gt_ggc_mx_eh_status (X);\
+   } while (0)
+ extern void gt_ggc_mx_eh_status (void *);
+ #define gt_ggc_m_8function(X) do { \
+   if (X != NULL) gt_ggc_mx_function (X);\
+   } while (0)
+ extern void gt_ggc_mx_function (void *);
+ #define gt_ggc_m_11expr_status(X) do { \
+   if (X != NULL) gt_ggc_mx_expr_status (X);\
+   } while (0)
+ extern void gt_ggc_mx_expr_status (void *);
+ #define gt_ggc_m_11emit_status(X) do { \
+   if (X != NULL) gt_ggc_mx_emit_status (X);\
+   } while (0)
+ extern void gt_ggc_mx_emit_status (void *);
+ #define gt_ggc_m_14sequence_stack(X) do { \
+   if (X != NULL) gt_ggc_mx_sequence_stack (X);\
+   } while (0)
+ extern void gt_ggc_mx_sequence_stack (void *);
+ #define gt_ggc_m_14var_refs_queue(X) do { \
+   if (X != NULL) gt_ggc_mx_var_refs_queue (X);\
+   } while (0)
+ extern void gt_ggc_mx_var_refs_queue (void *);
+ #define gt_ggc_m_15bitmap_head_def(X) do { \
+   if (X != NULL) gt_ggc_mx_bitmap_head_def (X);\
+   } while (0)
+ extern void gt_ggc_mx_bitmap_head_def (void *);
+ #define gt_ggc_m_18bitmap_element_def(X) do { \
+   if (X != NULL) gt_ggc_mx_bitmap_element_def (X);\
+   } while (0)
+ extern void gt_ggc_mx_bitmap_element_def (void *);
+ #define gt_ggc_m_6answer(X) do { \
+   if (X != NULL) gt_ggc_mx_answer (X);\
+   } while (0)
+ extern void gt_ggc_mx_answer (void *);
+ #define gt_ggc_m_9cpp_macro(X) do { \
+   if (X != NULL) gt_ggc_mx_cpp_macro (X);\
+   } while (0)
+ extern void gt_ggc_mx_cpp_macro (void *);
+ #define gt_ggc_m_9tree_node(X) do { \
+   if (X != NULL) gt_ggc_mx_tree_node (X);\
+   } while (0)
+ #define gt_ggc_mx_tree_node gt_ggc_mx_lang_tree_node
+ #define gt_ggc_m_9rtvec_def(X) do { \
+   if (X != NULL) gt_ggc_mx_rtvec_def (X);\
+   } while (0)
+ extern void gt_ggc_mx_rtvec_def (void *);
+ #define gt_ggc_m_7rtx_def(X) do { \
+   if (X != NULL) gt_ggc_mx_rtx_def (X);\
+   } while (0)
+ extern void gt_ggc_mx_rtx_def (void *);
+ extern void gt_ggc_m_II17splay_tree_node_s (void *);
+ extern void gt_ggc_m_SP9tree_node17splay_tree_node_s (void *);
+ extern void gt_ggc_m_P15output_def_pair15varray_head_tag (void *);
+ extern void gt_ggc_m_P24constant_descriptor_tree4htab (void *);
+ extern void gt_ggc_m_P14in_named_entry4htab (void *);
+ extern void gt_ggc_m_P9type_hash4htab (void *);
+ extern void gt_ggc_m_P13ehl_map_entry4htab (void *);
+ extern void gt_ggc_m_P9tree_node4htab (void *);
+ extern void gt_ggc_m_P9reg_attrs4htab (void *);
+ extern void gt_ggc_m_P9mem_attrs4htab (void *);
+ extern void gt_ggc_m_P7rtx_def4htab (void *);
+ extern void gt_ggc_m_SP9tree_node12splay_tree_s (void *);
+ extern void gt_ggc_m_P20indirect_string_node4htab (void *);
+ extern void gt_ggc_m_P19cgraph_varpool_node4htab (void *);
+ extern void gt_ggc_m_P11cgraph_node4htab (void *);
+ extern void gt_ggc_m_P17cselib_val_struct4htab (void *);
+ extern void gt_ggc_m_P15alias_set_entry15varray_head_tag (void *);
+ extern void gt_ggc_m_II12splay_tree_s (void *);
+ 
+ /* PCH type-walking procedures.  */
+ #define gt_pch_n_11align_stack(X) do { \
+   if (X != NULL) gt_pch_nx_align_stack (X);\
+   } while (0)
+ extern void gt_pch_nx_align_stack (void *);
+ #define gt_pch_n_7c_scope(X) do { \
+   if (X != NULL) gt_pch_nx_c_scope (X);\
+   } while (0)
+ extern void gt_pch_nx_c_scope (void *);
+ #define gt_pch_n_15output_def_pair(X) do { \
+   if (X != NULL) gt_pch_nx_output_def_pair (X);\
+   } while (0)
+ extern void gt_pch_nx_output_def_pair (void *);
+ #define gt_pch_n_24constant_descriptor_tree(X) do { \
+   if (X != NULL) gt_pch_nx_constant_descriptor_tree (X);\
+   } while (0)
+ extern void gt_pch_nx_constant_descriptor_tree (void *);
+ #define gt_pch_n_14in_named_entry(X) do { \
+   if (X != NULL) gt_pch_nx_in_named_entry (X);\
+   } while (0)
+ extern void gt_pch_nx_in_named_entry (void *);
+ #define gt_pch_n_13pool_constant(X) do { \
+   if (X != NULL) gt_pch_nx_pool_constant (X);\
+   } while (0)
+ extern void gt_pch_nx_pool_constant (void *);
+ #define gt_pch_n_23constant_descriptor_rtx(X) do { \
+   if (X != NULL) gt_pch_nx_constant_descriptor_rtx (X);\
+   } while (0)
+ extern void gt_pch_nx_constant_descriptor_rtx (void *);
+ #define gt_pch_n_9type_hash(X) do { \
+   if (X != NULL) gt_pch_nx_type_hash (X);\
+   } while (0)
+ extern void gt_pch_nx_type_hash (void *);
+ #define gt_pch_n_16string_pool_data(X) do { \
+   if (X != NULL) gt_pch_nx_string_pool_data (X);\
+   } while (0)
+ extern void gt_pch_nx_string_pool_data (void *);
+ #define gt_pch_n_10goto_fixup(X) do { \
+   if (X != NULL) gt_pch_nx_goto_fixup (X);\
+   } while (0)
+ extern void gt_pch_nx_goto_fixup (void *);
+ #define gt_pch_n_11label_chain(X) do { \
+   if (X != NULL) gt_pch_nx_label_chain (X);\
+   } while (0)
+ extern void gt_pch_nx_label_chain (void *);
+ #define gt_pch_n_7nesting(X) do { \
+   if (X != NULL) gt_pch_nx_nesting (X);\
+   } while (0)
+ extern void gt_pch_nx_nesting (void *);
+ #define gt_pch_n_9case_node(X) do { \
+   if (X != NULL) gt_pch_nx_case_node (X);\
+   } while (0)
+ extern void gt_pch_nx_case_node (void *);
+ #define gt_pch_n_9eh_region(X) do { \
+   if (X != NULL) gt_pch_nx_eh_region (X);\
+   } while (0)
+ extern void gt_pch_nx_eh_region (void *);
+ #define gt_pch_n_13ehl_map_entry(X) do { \
+   if (X != NULL) gt_pch_nx_ehl_map_entry (X);\
+   } while (0)
+ extern void gt_pch_nx_ehl_map_entry (void *);
+ #define gt_pch_n_16limbo_die_struct(X) do { \
+   if (X != NULL) gt_pch_nx_limbo_die_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_limbo_die_struct (void *);
+ #define gt_pch_n_16dw_ranges_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_ranges_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_ranges_struct (void *);
+ #define gt_pch_n_14pubname_struct(X) do { \
+   if (X != NULL) gt_pch_nx_pubname_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_pubname_struct (void *);
+ #define gt_pch_n_28dw_separate_line_info_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_separate_line_info_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_separate_line_info_struct (void *);
+ #define gt_pch_n_19dw_line_info_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_line_info_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_line_info_struct (void *);
+ #define gt_pch_n_14dw_attr_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_attr_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_attr_struct (void *);
+ #define gt_pch_n_18dw_loc_list_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_loc_list_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_loc_list_struct (void *);
+ #define gt_pch_n_15queued_reg_save(X) do { \
+   if (X != NULL) gt_pch_nx_queued_reg_save (X);\
+   } while (0)
+ extern void gt_pch_nx_queued_reg_save (void *);
+ #define gt_pch_n_20indirect_string_node(X) do { \
+   if (X != NULL) gt_pch_nx_indirect_string_node (X);\
+   } while (0)
+ extern void gt_pch_nx_indirect_string_node (void *);
+ #define gt_pch_n_19dw_loc_descr_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_loc_descr_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_loc_descr_struct (void *);
+ #define gt_pch_n_13dw_fde_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_fde_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_fde_struct (void *);
+ #define gt_pch_n_13dw_cfi_struct(X) do { \
+   if (X != NULL) gt_pch_nx_dw_cfi_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_dw_cfi_struct (void *);
+ #define gt_pch_n_8typeinfo(X) do { \
+   if (X != NULL) gt_pch_nx_typeinfo (X);\
+   } while (0)
+ extern void gt_pch_nx_typeinfo (void *);
+ #define gt_pch_n_15alias_set_entry(X) do { \
+   if (X != NULL) gt_pch_nx_alias_set_entry (X);\
+   } while (0)
+ extern void gt_pch_nx_alias_set_entry (void *);
+ #define gt_pch_n_18sorted_fields_type(X) do { \
+   if (X != NULL) gt_pch_nx_sorted_fields_type (X);\
+   } while (0)
+ extern void gt_pch_nx_sorted_fields_type (void *);
+ #define gt_pch_n_19cgraph_varpool_node(X) do { \
+   if (X != NULL) gt_pch_nx_cgraph_varpool_node (X);\
+   } while (0)
+ extern void gt_pch_nx_cgraph_varpool_node (void *);
+ #define gt_pch_n_11cgraph_edge(X) do { \
+   if (X != NULL) gt_pch_nx_cgraph_edge (X);\
+   } while (0)
+ extern void gt_pch_nx_cgraph_edge (void *);
+ #define gt_pch_n_11cgraph_node(X) do { \
+   if (X != NULL) gt_pch_nx_cgraph_node (X);\
+   } while (0)
+ extern void gt_pch_nx_cgraph_node (void *);
+ #define gt_pch_n_12elt_loc_list(X) do { \
+   if (X != NULL) gt_pch_nx_elt_loc_list (X);\
+   } while (0)
+ extern void gt_pch_nx_elt_loc_list (void *);
+ #define gt_pch_n_17cselib_val_struct(X) do { \
+   if (X != NULL) gt_pch_nx_cselib_val_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_cselib_val_struct (void *);
+ #define gt_pch_n_15varray_head_tag(X) do { \
+   if (X != NULL) gt_pch_nx_varray_head_tag (X);\
+   } while (0)
+ extern void gt_pch_nx_varray_head_tag (void *);
+ #define gt_pch_n_8elt_list(X) do { \
+   if (X != NULL) gt_pch_nx_elt_list (X);\
+   } while (0)
+ extern void gt_pch_nx_elt_list (void *);
+ #define gt_pch_n_12reg_info_def(X) do { \
+   if (X != NULL) gt_pch_nx_reg_info_def (X);\
+   } while (0)
+ extern void gt_pch_nx_reg_info_def (void *);
+ #define gt_pch_n_14lang_tree_node(X) do { \
+   if (X != NULL) gt_pch_nx_lang_tree_node (X);\
+   } while (0)
+ extern void gt_pch_nx_lang_tree_node (void *);
+ #define gt_pch_n_9lang_decl(X) do { \
+   if (X != NULL) gt_pch_nx_lang_decl (X);\
+   } while (0)
+ extern void gt_pch_nx_lang_decl (void *);
+ #define gt_pch_n_9lang_type(X) do { \
+   if (X != NULL) gt_pch_nx_lang_type (X);\
+   } while (0)
+ extern void gt_pch_nx_lang_type (void *);
+ #define gt_pch_n_10die_struct(X) do { \
+   if (X != NULL) gt_pch_nx_die_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_die_struct (void *);
+ #define gt_pch_n_10real_value(X) do { \
+   if (X != NULL) gt_pch_nx_real_value (X);\
+   } while (0)
+ extern void gt_pch_nx_real_value (void *);
+ #define gt_pch_n_13convert_optab(X) do { \
+   if (X != NULL) gt_pch_nx_convert_optab (X);\
+   } while (0)
+ extern void gt_pch_nx_convert_optab (void *);
+ #define gt_pch_n_5optab(X) do { \
+   if (X != NULL) gt_pch_nx_optab (X);\
+   } while (0)
+ extern void gt_pch_nx_optab (void *);
+ #define gt_pch_n_15basic_block_def(X) do { \
+   if (X != NULL) gt_pch_nx_basic_block_def (X);\
+   } while (0)
+ extern void gt_pch_nx_basic_block_def (void *);
+ #define gt_pch_n_9reg_attrs(X) do { \
+   if (X != NULL) gt_pch_nx_reg_attrs (X);\
+   } while (0)
+ extern void gt_pch_nx_reg_attrs (void *);
+ #define gt_pch_n_9mem_attrs(X) do { \
+   if (X != NULL) gt_pch_nx_mem_attrs (X);\
+   } while (0)
+ extern void gt_pch_nx_mem_attrs (void *);
+ #define gt_pch_n_17language_function(X) do { \
+   if (X != NULL) gt_pch_nx_language_function (X);\
+   } while (0)
+ extern void gt_pch_nx_language_function (void *);
+ #define gt_pch_n_9temp_slot(X) do { \
+   if (X != NULL) gt_pch_nx_temp_slot (X);\
+   } while (0)
+ extern void gt_pch_nx_temp_slot (void *);
+ #define gt_pch_n_20initial_value_struct(X) do { \
+   if (X != NULL) gt_pch_nx_initial_value_struct (X);\
+   } while (0)
+ extern void gt_pch_nx_initial_value_struct (void *);
+ #define gt_pch_n_13varasm_status(X) do { \
+   if (X != NULL) gt_pch_nx_varasm_status (X);\
+   } while (0)
+ extern void gt_pch_nx_varasm_status (void *);
+ #define gt_pch_n_11stmt_status(X) do { \
+   if (X != NULL) gt_pch_nx_stmt_status (X);\
+   } while (0)
+ extern void gt_pch_nx_stmt_status (void *);
+ #define gt_pch_n_9eh_status(X) do { \
+   if (X != NULL) gt_pch_nx_eh_status (X);\
+   } while (0)
+ extern void gt_pch_nx_eh_status (void *);
+ #define gt_pch_n_8function(X) do { \
+   if (X != NULL) gt_pch_nx_function (X);\
+   } while (0)
+ extern void gt_pch_nx_function (void *);
+ #define gt_pch_n_11expr_status(X) do { \
+   if (X != NULL) gt_pch_nx_expr_status (X);\
+   } while (0)
+ extern void gt_pch_nx_expr_status (void *);
+ #define gt_pch_n_11emit_status(X) do { \
+   if (X != NULL) gt_pch_nx_emit_status (X);\
+   } while (0)
+ extern void gt_pch_nx_emit_status (void *);
+ #define gt_pch_n_14sequence_stack(X) do { \
+   if (X != NULL) gt_pch_nx_sequence_stack (X);\
+   } while (0)
+ extern void gt_pch_nx_sequence_stack (void *);
+ #define gt_pch_n_14var_refs_queue(X) do { \
+   if (X != NULL) gt_pch_nx_var_refs_queue (X);\
+   } while (0)
+ extern void gt_pch_nx_var_refs_queue (void *);
+ #define gt_pch_n_15bitmap_head_def(X) do { \
+   if (X != NULL) gt_pch_nx_bitmap_head_def (X);\
+   } while (0)
+ extern void gt_pch_nx_bitmap_head_def (void *);
+ #define gt_pch_n_18bitmap_element_def(X) do { \
+   if (X != NULL) gt_pch_nx_bitmap_element_def (X);\
+   } while (0)
+ extern void gt_pch_nx_bitmap_element_def (void *);
+ #define gt_pch_n_6answer(X) do { \
+   if (X != NULL) gt_pch_nx_answer (X);\
+   } while (0)
+ extern void gt_pch_nx_answer (void *);
+ #define gt_pch_n_9cpp_macro(X) do { \
+   if (X != NULL) gt_pch_nx_cpp_macro (X);\
+   } while (0)
+ extern void gt_pch_nx_cpp_macro (void *);
+ #define gt_pch_n_9tree_node(X) do { \
+   if (X != NULL) gt_pch_nx_tree_node (X);\
+   } while (0)
+ #define gt_pch_nx_tree_node gt_pch_nx_lang_tree_node
+ #define gt_pch_n_9rtvec_def(X) do { \
+   if (X != NULL) gt_pch_nx_rtvec_def (X);\
+   } while (0)
+ extern void gt_pch_nx_rtvec_def (void *);
+ #define gt_pch_n_7rtx_def(X) do { \
+   if (X != NULL) gt_pch_nx_rtx_def (X);\
+   } while (0)
+ extern void gt_pch_nx_rtx_def (void *);
+ extern void gt_pch_n_II17splay_tree_node_s (void *);
+ extern void gt_pch_n_SP9tree_node17splay_tree_node_s (void *);
+ extern void gt_pch_n_P15output_def_pair15varray_head_tag (void *);
+ extern void gt_pch_n_P24constant_descriptor_tree4htab (void *);
+ extern void gt_pch_n_P14in_named_entry4htab (void *);
+ extern void gt_pch_n_P9type_hash4htab (void *);
+ extern void gt_pch_n_P13ehl_map_entry4htab (void *);
+ extern void gt_pch_n_P9tree_node4htab (void *);
+ extern void gt_pch_n_P9reg_attrs4htab (void *);
+ extern void gt_pch_n_P9mem_attrs4htab (void *);
+ extern void gt_pch_n_P7rtx_def4htab (void *);
+ extern void gt_pch_n_SP9tree_node12splay_tree_s (void *);
+ extern void gt_pch_n_P20indirect_string_node4htab (void *);
+ extern void gt_pch_n_P19cgraph_varpool_node4htab (void *);
+ extern void gt_pch_n_P11cgraph_node4htab (void *);
+ extern void gt_pch_n_P17cselib_val_struct4htab (void *);
+ extern void gt_pch_n_P15alias_set_entry15varray_head_tag (void *);
+ extern void gt_pch_n_II12splay_tree_s (void *);
+ 
+ /* Local pointer-walking routines.  */
+ extern void gt_pch_p_11align_stack
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_7c_scope
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_15output_def_pair
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_24constant_descriptor_tree
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_14in_named_entry
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_13pool_constant
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_23constant_descriptor_rtx
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9type_hash
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_16string_pool_data
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_10goto_fixup
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_11label_chain
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_7nesting
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9case_node
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9eh_region
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_13ehl_map_entry
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_16limbo_die_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_16dw_ranges_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_14pubname_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_28dw_separate_line_info_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_19dw_line_info_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_14dw_attr_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_18dw_loc_list_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_15queued_reg_save
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_20indirect_string_node
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_19dw_loc_descr_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_13dw_fde_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_13dw_cfi_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_8typeinfo
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_15alias_set_entry
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_18sorted_fields_type
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_19cgraph_varpool_node
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_11cgraph_edge
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_11cgraph_node
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_12elt_loc_list
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_17cselib_val_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_15varray_head_tag
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_8elt_list
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_14lang_tree_node
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9lang_decl
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9lang_type
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_10die_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_10real_value
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_13convert_optab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_5optab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9reg_attrs
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9mem_attrs
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_17language_function
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9temp_slot
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_20initial_value_struct
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_13varasm_status
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_11stmt_status
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_9eh_status
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_8function
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_11expr_status
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_11emit_status
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_14sequence_stack
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_14var_refs_queue
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_15bitmap_head_def
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_18bitmap_element_def
+     (void *, void *, gt_pointer_operator, void *);
+ #define gt_pch_p_9tree_node gt_pch_p_14lang_tree_node
+ extern void gt_pch_p_9rtvec_def
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_7rtx_def
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_II17splay_tree_node_s
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_SP9tree_node17splay_tree_node_s
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P15output_def_pair15varray_head_tag
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P24constant_descriptor_tree4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P14in_named_entry4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P9type_hash4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P13ehl_map_entry4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P9tree_node4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P9reg_attrs4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P9mem_attrs4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P7rtx_def4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_SP9tree_node12splay_tree_s
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P20indirect_string_node4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P19cgraph_varpool_node4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P11cgraph_node4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P17cselib_val_struct4htab
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_P15alias_set_entry15varray_head_tag
+     (void *, void *, gt_pointer_operator, void *);
+ extern void gt_pch_p_II12splay_tree_s
+     (void *, void *, gt_pointer_operator, void *);
Index: gcc/gcc/hwint.h
diff -c gcc/gcc/hwint.h:1.1.1.1 gcc/gcc/hwint.h:1.3
*** gcc/gcc/hwint.h:1.1.1.1	Wed Apr 15 16:26:15 2009
--- gcc/gcc/hwint.h	Wed Nov 11 15:42:57 2009
***************
*** 22,28 ****
     but they're all cross-compile-only.)  Just in case, force a
     constraint violation if that assumption is incorrect.  */
  #if !defined HAVE_LONG_LONG
! # if GCC_VERSION >= 3000
  #  define HAVE_LONG_LONG 1
  #  define SIZEOF_LONG_LONG 8
  extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
--- 22,28 ----
     but they're all cross-compile-only.)  Just in case, force a
     constraint violation if that assumption is incorrect.  */
  #if !defined HAVE_LONG_LONG
! # if GCC_VERSION >= 3000 && !PUREISO && !USE_ONLY32
  #  define HAVE_LONG_LONG 1
  #  define SIZEOF_LONG_LONG 8
  extern char sizeof_long_long_must_be_8[sizeof(long long) == 8 ? 1 : -1];
Index: gcc/gcc/insn-attr.h
diff -c /dev/null gcc/gcc/insn-attr.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-attr.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,28 ----
+ /* Generated automatically by the program `genattr'
+    from the machine description file `md'.  */
+ 
+ #ifndef GCC_INSN_ATTR_H
+ #define GCC_INSN_ATTR_H
+ 
+ #define HAVE_ATTR_alternative
+ #define get_attr_alternative(insn) which_alternative
+ #define HAVE_ATTR_length
+ extern int get_attr_length (rtx);
+ extern void shorten_branches (rtx);
+ extern int insn_default_length (rtx);
+ extern int insn_variable_length_p (rtx);
+ extern int insn_current_length (rtx);
+ 
+ #include "insn-addr.h"
+ 
+ typedef void *state_t;
+ 
+ 
+ #define ATTR_FLAG_forward	0x1
+ #define ATTR_FLAG_backward	0x2
+ #define ATTR_FLAG_likely	0x4
+ #define ATTR_FLAG_very_likely	0x8
+ #define ATTR_FLAG_unlikely	0x10
+ #define ATTR_FLAG_very_unlikely	0x20
+ 
+ #endif /* GCC_INSN_ATTR_H */
Index: gcc/gcc/insn-attrtab.c
diff -c /dev/null gcc/gcc/insn-attrtab.c:1.8
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-attrtab.c	Fri Sep 18 10:37:21 2009
***************
*** 0 ****
--- 1,174 ----
+ /* Generated automatically by the program `genattrtab'
+ from the machine description file `md'.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "rtl.h"
+ #include "tm_p.h"
+ #include "insn-config.h"
+ #include "recog.h"
+ #include "regs.h"
+ #include "real.h"
+ #include "output.h"
+ #include "insn-attr.h"
+ #include "toplev.h"
+ #include "flags.h"
+ #include "function.h"
+ 
+ #define operands recog_data.operand
+ 
+ int
+ insn_current_length (rtx insn ATTRIBUTE_UNUSED)
+ {
+   switch (recog_memoized (insn))
+     {
+     case -1:
+       if (GET_CODE (PATTERN (insn)) != ASM_INPUT
+           && asm_noperands (PATTERN (insn)) < 0)
+         fatal_insn_not_found (insn);
+     default:
+       return 0;
+ 
+     }
+ }
+ 
+ int
+ insn_variable_length_p (rtx insn ATTRIBUTE_UNUSED)
+ {
+   switch (recog_memoized (insn))
+     {
+     case -1:
+       if (GET_CODE (PATTERN (insn)) != ASM_INPUT
+           && asm_noperands (PATTERN (insn)) < 0)
+         fatal_insn_not_found (insn);
+     default:
+       return 0;
+ 
+     }
+ }
+ 
+ int
+ insn_default_length (rtx insn ATTRIBUTE_UNUSED)
+ {
+   switch (recog_memoized (insn))
+     {
+     case 133:
+     case 85:
+     case 84:
+     case 82:
+     case 81:
+     case 80:
+     case 78:
+     case 49:
+     case 36:
+     case 26:
+     case 4:
+     case 3:
+     case 1:
+       return 2;
+ 
+     case 132:
+     case 131:
+     case 130:
+     case 129:
+     case 35:
+     case 11:
+       return 22 /* 0x16 */;
+ 
+     case 128:
+     case 83:
+     case 79:
+     case 46:
+     case 38:
+     case 37:
+       return 10 /* 0xa */;
+ 
+     case 126:
+     case 125:
+     case 124:
+     case 123:
+     case 122:
+     case 121:
+     case 120:
+     case 119:
+     case 118:
+     case 117:
+     case 116:
+     case 115:
+     case 114:
+     case 113:
+     case 112:
+     case 111:
+     case 110:
+     case 109:
+     case 108:
+     case 107:
+     case 106:
+     case 105:
+     case 104:
+     case 88:
+     case 86:
+     case 76:
+     case 74:
+     case 72:
+     case 70:
+     case 68:
+     case 66:
+     case 64:
+     case 62:
+     case 60:
+     case 40:
+     case 25:
+     case 18:
+     case 16:
+       return 6;
+ 
+     case 103:
+     case 102:
+     case 99:
+     case 97:
+     case 96:
+     case 48:
+     case 42:
+     case 33:
+     case 32:
+     case 31:
+     case 24:
+     case 23:
+     case 20:
+     case 15:
+     case 14:
+     case 13:
+     case 7:
+     case 6:
+       return 8;
+ 
+     case 34:
+       return 14 /* 0xe */;
+ 
+     case 29:
+     case 28:
+     case 27:
+     case 22:
+     case 21:
+       return 12 /* 0xc */;
+ 
+     case 12:
+     case 8:
+       return 18 /* 0x12 */;
+ 
+     case -1:
+       if (GET_CODE (PATTERN (insn)) != ASM_INPUT
+           && asm_noperands (PATTERN (insn)) < 0)
+         fatal_insn_not_found (insn);
+       return 0;
+ 
+     default:
+       return 4;
+ 
+     }
+ }
+ 
+ int length_unit_log = 1;
Index: gcc/gcc/insn-codes.h
diff -c /dev/null gcc/gcc/insn-codes.h:1.9
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-codes.h	Wed Dec  2 18:55:46 2009
***************
*** 0 ****
--- 1,114 ----
+ /* Generated automatically by the program `gencodes'
+    from the machine description file `md'.  */
+ 
+ #ifndef GCC_INSN_CODES_H
+ #define GCC_INSN_CODES_H
+ 
+ enum insn_code {
+   CODE_FOR_tstdi = 0,
+   CODE_FOR_tstsi = 1,
+   CODE_FOR_tsthi = 2,
+   CODE_FOR_tstdf = 3,
+   CODE_FOR_tstsf = 4,
+   CODE_FOR_cmpsi = 5,
+   CODE_FOR_cmphi = 6,
+   CODE_FOR_cmpqi = 8,
+   CODE_FOR_cmpdf = 9,
+   CODE_FOR_cmpsf = 10,
+   CODE_FOR_cmpmemsi_1 = 12,
+   CODE_FOR_movdi = 14,
+   CODE_FOR_movsi = 15,
+   CODE_FOR_movhi = 17,
+   CODE_FOR_movqi = 19,
+   CODE_FOR_movstricthi = 20,
+   CODE_FOR_movdf = 22,
+   CODE_FOR_movsf = 24,
+   CODE_FOR_movstrsi_1 = 26,
+   CODE_FOR_extendhisi2 = 27,
+   CODE_FOR_extendqisi2 = 28,
+   CODE_FOR_extendqihi2 = 29,
+   CODE_FOR_zero_extendhisi2 = 30,
+   CODE_FOR_zero_extendqisi2 = 31,
+   CODE_FOR_zero_extendqihi2 = 32,
+   CODE_FOR_truncsihi2 = 33,
+   CODE_FOR_fix_truncdfsi2 = 34,
+   CODE_FOR_floatsidf2 = 35,
+   CODE_FOR_truncdfsf2 = 36,
+   CODE_FOR_extendsfdf2 = 37,
+   CODE_FOR_addsi3 = 41,
+   CODE_FOR_addhi3 = 42,
+   CODE_FOR_addqi3 = 43,
+   CODE_FOR_adddf3 = 44,
+   CODE_FOR_addsf3 = 45,
+   CODE_FOR_subsi3 = 47,
+   CODE_FOR_subhi3 = 48,
+   CODE_FOR_subqi3 = 49,
+   CODE_FOR_subdf3 = 50,
+   CODE_FOR_subsf3 = 51,
+   CODE_FOR_muldf3 = 54,
+   CODE_FOR_mulsf3 = 55,
+   CODE_FOR_divdf3 = 57,
+   CODE_FOR_divsf3 = 58,
+   CODE_FOR_andsi3 = 61,
+   CODE_FOR_andhi3 = 63,
+   CODE_FOR_andqi3 = 65,
+   CODE_FOR_iorsi3 = 67,
+   CODE_FOR_iorhi3 = 69,
+   CODE_FOR_iorqi3 = 71,
+   CODE_FOR_xorsi3 = 73,
+   CODE_FOR_xorhi3 = 75,
+   CODE_FOR_xorqi3 = 77,
+   CODE_FOR_negsi2 = 78,
+   CODE_FOR_neghi2 = 79,
+   CODE_FOR_negdf2 = 80,
+   CODE_FOR_negsf2 = 81,
+   CODE_FOR_abssi2 = 82,
+   CODE_FOR_abshi2 = 83,
+   CODE_FOR_absdf2 = 84,
+   CODE_FOR_abssf2 = 85,
+   CODE_FOR_one_cmplsi2 = 87,
+   CODE_FOR_one_cmplhi2 = 89,
+   CODE_FOR_one_cmplqi2 = 91,
+   CODE_FOR_ashldi3 = 92,
+   CODE_FOR_ashrdi3 = 93,
+   CODE_FOR_ashlsi3 = 94,
+   CODE_FOR_ashrsi3 = 95,
+   CODE_FOR_ashlhi3 = 96,
+   CODE_FOR_ashrhi3 = 97,
+   CODE_FOR_ashlqi3 = 98,
+   CODE_FOR_ashrqi3 = 99,
+   CODE_FOR_lshrdi3 = 100,
+   CODE_FOR_lshrsi3 = 101,
+   CODE_FOR_lshrhi3 = 102,
+   CODE_FOR_lshrqi3 = 103,
+   CODE_FOR_beq = 104,
+   CODE_FOR_bne = 105,
+   CODE_FOR_bgt = 106,
+   CODE_FOR_bgtu = 107,
+   CODE_FOR_blt = 108,
+   CODE_FOR_bltu = 109,
+   CODE_FOR_bge = 110,
+   CODE_FOR_bgeu = 111,
+   CODE_FOR_ble = 112,
+   CODE_FOR_bleu = 113,
+   CODE_FOR_jump = 126,
+   CODE_FOR_indirect_jump = 127,
+   CODE_FOR_tablejump = 128,
+   CODE_FOR_call = 129,
+   CODE_FOR_call_value = 130,
+   CODE_FOR_nop = 133,
+   CODE_FOR_cmpmemsi = 134,
+   CODE_FOR_clrstrsi = 135,
+   CODE_FOR_movstrsi = 136,
+   CODE_FOR_extendsidi2 = 137,
+   CODE_FOR_zero_extendsidi2 = 138,
+   CODE_FOR_mulsi3 = 139,
+   CODE_FOR_divsi3 = 140,
+   CODE_FOR_udivsi3 = 141,
+   CODE_FOR_modsi3 = 142,
+   CODE_FOR_umodsi3 = 143,
+   CODE_FOR_untyped_call = 144,
+   CODE_FOR_nothing
+ };
+ 
+ #endif /* GCC_INSN_CODES_H */
Index: gcc/gcc/insn-config.h
diff -c /dev/null gcc/gcc/insn-config.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-config.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,15 ----
+ /* Generated automatically by the program `genconfig'
+    from the machine description file `md'.  */
+ 
+ #ifndef GCC_INSN_CONFIG_H
+ #define GCC_INSN_CONFIG_H
+ 
+ #define MAX_RECOG_OPERANDS 30
+ #define MAX_DUP_OPERANDS 4
+ #ifndef MAX_INSNS_PER_SPLIT
+ #define MAX_INSNS_PER_SPLIT 1
+ #endif
+ #define HAVE_cc0 1
+ #define CC0_P(X) ((X) == cc0_rtx)
+ 
+ #endif /* GCC_INSN_CONFIG_H */
Index: gcc/gcc/insn-constants.h
diff -c /dev/null gcc/gcc/insn-constants.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-constants.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,8 ----
+ /* Generated automatically by the program `genconstants'
+    from the machine description file `md'.  */
+ 
+ #ifndef GCC_INSN_CONSTANTS_H
+ #define GCC_INSN_CONSTANTS_H
+ 
+ 
+ #endif /* GCC_INSN_CONSTANTS_H */
Index: gcc/gcc/insn-emit.c
diff -c /dev/null gcc/gcc/insn-emit.c:1.14
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-emit.c	Wed Dec  2 18:55:47 2009
***************
*** 0 ****
--- 1,1907 ----
+ /* Generated automatically by the program `genemit'
+ from the machine description file `md'.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "rtl.h"
+ #include "tm_p.h"
+ #include "function.h"
+ #include "expr.h"
+ #include "optabs.h"
+ #include "real.h"
+ #include "flags.h"
+ #include "output.h"
+ #include "insn-config.h"
+ #include "hard-reg-set.h"
+ #include "recog.h"
+ #include "resource.h"
+ #include "reload.h"
+ #include "toplev.h"
+ #include "ggc.h"
+ 
+ #define FAIL return (end_sequence (), _val)
+ #define DONE return (_val = get_insns (), end_sequence (), _val)
+ 
+ /* ./config/i370/i370.md:283 */
+ rtx
+ gen_tstdi (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	operand0);
+ }
+ 
+ /* ./config/i370/i370.md:300 */
+ rtx
+ gen_tstsi (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	operand0);
+ }
+ 
+ /* ./config/i370/i370.md:317 */
+ rtx
+ gen_tsthi (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	operand0);
+ }
+ 
+ /* ./config/i370/i370.md:376 */
+ rtx
+ gen_tstdf (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	operand0);
+ }
+ 
+ /* ./config/i370/i370.md:393 */
+ rtx
+ gen_tstsf (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	operand0);
+ }
+ 
+ /* ./config/i370/i370.md:439 */
+ rtx
+ gen_cmpsi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	gen_rtx_COMPARE (VOIDmode,
+ 	operand0,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:475 */
+ rtx
+ gen_cmphi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	gen_rtx_COMPARE (VOIDmode,
+ 	operand0,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:568 */
+ rtx
+ gen_cmpqi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	gen_rtx_COMPARE (VOIDmode,
+ 	operand0,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:606 */
+ rtx
+ gen_cmpdf (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	gen_rtx_COMPARE (VOIDmode,
+ 	operand0,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:635 */
+ rtx
+ gen_cmpsf (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	cc0_rtx,
+ 	gen_rtx_COMPARE (VOIDmode,
+ 	operand0,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:759 */
+ rtx
+ gen_cmpmemsi_1 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_PARALLEL (VOIDmode, gen_rtvec (5,
+ 		gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_COMPARE (SImode,
+ 	gen_rtx_MEM (BLKmode,
+ 	operand1),
+ 	gen_rtx_MEM (BLKmode,
+ 	operand2))),
+ 		gen_rtx_USE (VOIDmode,
+ 	operand1),
+ 		gen_rtx_USE (VOIDmode,
+ 	operand2),
+ 		gen_rtx_CLOBBER (VOIDmode,
+ 	operand1),
+ 		gen_rtx_CLOBBER (VOIDmode,
+ 	operand2)));
+ }
+ 
+ /* ./config/i370/i370.md:852 */
+ rtx
+ gen_movdi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:950 */
+ rtx
+ gen_movsi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:1054 */
+ rtx
+ gen_movhi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:1148 */
+ rtx
+ gen_movqi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:1257 */
+ rtx
+ gen_movstricthi (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	gen_rtx_STRICT_LOW_PART (VOIDmode,
+ 	operand0),
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:1342 */
+ rtx
+ gen_movdf (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:1467 */
+ rtx
+ gen_movsf (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:1641 */
+ rtx
+ gen_movstrsi_1 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_PARALLEL (VOIDmode, gen_rtvec (5,
+ 		gen_rtx_SET (VOIDmode,
+ 	gen_rtx_MEM (BLKmode,
+ 	operand0),
+ 	gen_rtx_MEM (BLKmode,
+ 	operand1)),
+ 		gen_rtx_USE (VOIDmode,
+ 	operand0),
+ 		gen_rtx_USE (VOIDmode,
+ 	operand1),
+ 		gen_rtx_CLOBBER (VOIDmode,
+ 	operand0),
+ 		gen_rtx_CLOBBER (VOIDmode,
+ 	operand1)));
+ }
+ 
+ /* ./config/i370/i370.md:1704 */
+ rtx
+ gen_extendhisi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_SIGN_EXTEND (SImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1753 */
+ rtx
+ gen_extendqisi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_SIGN_EXTEND (SImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1781 */
+ rtx
+ gen_extendqihi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_SIGN_EXTEND (HImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1827 */
+ rtx
+ gen_zero_extendhisi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ZERO_EXTEND (SImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1846 */
+ rtx
+ gen_zero_extendqisi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ZERO_EXTEND (SImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1876 */
+ rtx
+ gen_zero_extendqihi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ZERO_EXTEND (HImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1906 */
+ rtx
+ gen_truncsihi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_TRUNCATE (HImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1929 */
+ rtx
+ gen_fix_truncdfsi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2,
+ 		gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_FIX (SImode,
+ 	gen_rtx_TRUNCATE (DFmode,
+ 	operand1))),
+ 		gen_rtx_CLOBBER (VOIDmode,
+ 	gen_rtx_REG (DFmode,
+ 	16))));
+ }
+ 
+ /* ./config/i370/i370.md:1955 */
+ rtx
+ gen_floatsidf2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_FLOAT (DFmode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1981 */
+ rtx
+ gen_truncdfsf2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_FLOAT_TRUNCATE (SFmode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:1998 */
+ rtx
+ gen_extendsfdf2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_FLOAT_EXTEND (DFmode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:2160 */
+ rtx
+ gen_addsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_PLUS (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2192 */
+ rtx
+ gen_addhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_PLUS (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2226 */
+ rtx
+ gen_addqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_PLUS (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2247 */
+ rtx
+ gen_adddf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_PLUS (DFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2270 */
+ rtx
+ gen_addsf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_PLUS (SFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2374 */
+ rtx
+ gen_subsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MINUS (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2403 */
+ rtx
+ gen_subhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MINUS (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2458 */
+ rtx
+ gen_subqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MINUS (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2476 */
+ rtx
+ gen_subdf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MINUS (DFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2499 */
+ rtx
+ gen_subsf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MINUS (SFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2627 */
+ rtx
+ gen_muldf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MULT (DFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2650 */
+ rtx
+ gen_mulsf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MULT (SFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2790 */
+ rtx
+ gen_divdf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_DIV (DFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:2813 */
+ rtx
+ gen_divsf3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_DIV (SFmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3008 */
+ rtx
+ gen_andsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_AND (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3068 */
+ rtx
+ gen_andhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_AND (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3123 */
+ rtx
+ gen_andqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_AND (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3198 */
+ rtx
+ gen_iorsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_IOR (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3252 */
+ rtx
+ gen_iorhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_IOR (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3306 */
+ rtx
+ gen_iorqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_IOR (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3381 */
+ rtx
+ gen_xorsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_XOR (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3440 */
+ rtx
+ gen_xorhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_XOR (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3494 */
+ rtx
+ gen_xorqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_XOR (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3522 */
+ rtx
+ gen_negsi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_NEG (SImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3539 */
+ rtx
+ gen_neghi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_NEG (HImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3556 */
+ rtx
+ gen_negdf2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_NEG (DFmode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3573 */
+ rtx
+ gen_negsf2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_NEG (SFmode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3594 */
+ rtx
+ gen_abssi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ABS (SImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3611 */
+ rtx
+ gen_abshi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ABS (HImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3628 */
+ rtx
+ gen_absdf2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ABS (DFmode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3645 */
+ rtx
+ gen_abssf2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ABS (SFmode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3705 */
+ rtx
+ gen_one_cmplsi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_NOT (SImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3742 */
+ rtx
+ gen_one_cmplhi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_NOT (HImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3779 */
+ rtx
+ gen_one_cmplqi2 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_NOT (QImode,
+ 	operand1));
+ }
+ 
+ /* ./config/i370/i370.md:3801 */
+ rtx
+ gen_ashldi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFT (DImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3824 */
+ rtx
+ gen_ashrdi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFTRT (DImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3847 */
+ rtx
+ gen_ashlsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFT (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3867 */
+ rtx
+ gen_ashrsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFTRT (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3888 */
+ rtx
+ gen_ashlhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFT (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3908 */
+ rtx
+ gen_ashrhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFTRT (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3928 */
+ rtx
+ gen_ashlqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFT (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3948 */
+ rtx
+ gen_ashrqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ASHIFTRT (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3972 */
+ rtx
+ gen_lshrdi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_LSHIFTRT (DImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:3993 */
+ rtx
+ gen_lshrsi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_LSHIFTRT (SImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:4013 */
+ rtx
+ gen_lshrhi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_LSHIFTRT (HImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:4037 */
+ rtx
+ gen_lshrqi3 (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_LSHIFTRT (QImode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:4062 */
+ rtx
+ gen_beq (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_EQ (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4089 */
+ rtx
+ gen_bne (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_NE (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4116 */
+ rtx
+ gen_bgt (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_GT (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4143 */
+ rtx
+ gen_bgtu (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_GTU (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4170 */
+ rtx
+ gen_blt (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_LT (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4197 */
+ rtx
+ gen_bltu (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_LTU (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4224 */
+ rtx
+ gen_bge (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_GE (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4251 */
+ rtx
+ gen_bgeu (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_GEU (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4278 */
+ rtx
+ gen_ble (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_LE (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4305 */
+ rtx
+ gen_bleu (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_IF_THEN_ELSE (VOIDmode,
+ 	gen_rtx_LEU (VOIDmode,
+ 	cc0_rtx,
+ 	const0_rtx),
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0),
+ 	pc_rtx));
+ }
+ 
+ /* ./config/i370/i370.md:4631 */
+ rtx
+ gen_jump (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand0));
+ }
+ 
+ /* ./config/i370/i370.md:4655 */
+ rtx
+ gen_indirect_jump (rtx operand0 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	operand0);
+ }
+ 
+ /* ./config/i370/i370.md:4676 */
+ rtx
+ gen_tablejump (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2,
+ 		gen_rtx_SET (VOIDmode,
+ 	pc_rtx,
+ 	operand0),
+ 		gen_rtx_USE (VOIDmode,
+ 	gen_rtx_LABEL_REF (VOIDmode,
+ 	operand1))));
+ }
+ 
+ /* ./config/i370/i370.md:4718 */
+ rtx
+ gen_call (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_CALL (VOIDmode,
+ 	operand0,
+ 	operand1);
+ }
+ 
+ /* ./config/i370/i370.md:4771 */
+ rtx
+ gen_call_value (rtx operand0 ATTRIBUTE_UNUSED,
+ 	rtx operand1 ATTRIBUTE_UNUSED,
+ 	rtx operand2 ATTRIBUTE_UNUSED)
+ {
+   return gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_CALL (VOIDmode,
+ 	operand1,
+ 	operand2));
+ }
+ 
+ /* ./config/i370/i370.md:4964 */
+ rtx
+ gen_nop (void)
+ {
+   return const0_rtx;
+ }
+ 
+ /* ./config/i370/i370.md:664 */
+ rtx
+ gen_cmpmemsi (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2,
+ 	rtx operand3,
+ 	rtx operand4)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[5];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+     operands[3] = operand3;
+     operands[4] = operand4;
+ 
+ {
+   rtx op1, op2;
+ 
+   op1 = XEXP (operands[1], 0);
+   if (GET_CODE (op1) == REG
+       || (GET_CODE (op1) == PLUS && GET_CODE (XEXP (op1, 0)) == REG
+ 	  && GET_CODE (XEXP (op1, 1)) == CONST_INT
+ 	  && (unsigned) INTVAL (XEXP (op1, 1)) < 4096))
+     {
+       op1 = operands[1];
+     }
+   else
+     {
+       op1 = gen_rtx_MEM (BLKmode, copy_to_mode_reg (SImode, op1));
+     }
+ 
+   op2 = XEXP (operands[2], 0);
+   if (GET_CODE (op2) == REG
+       || (GET_CODE (op2) == PLUS && GET_CODE (XEXP (op2, 0)) == REG
+ 	  && GET_CODE (XEXP (op2, 1)) == CONST_INT
+ 	  && (unsigned) INTVAL (XEXP (op2, 1)) < 4096))
+     {
+       op2 = operands[2];
+     }
+   else
+     {
+       op2 = gen_rtx_MEM (BLKmode, copy_to_mode_reg (SImode, op2));
+     }
+       
+   if (GET_CODE (operands[3]) == CONST_INT 
+       && (unsigned)INTVAL (operands[3]) < 256)
+     {
+       emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2,
+ 		gen_rtx_SET (VOIDmode, operands[0], 
+ 			gen_rtx_COMPARE (SImode, op1, op2)), /* was VOIDmode */
+ 		gen_rtx_USE (VOIDmode, operands[3]))));
+     }
+   else
+     {
+         /* implementation suggested by  Richard Henderson <rth@cygnus.com> */
+         rtx reg1 = gen_reg_rtx (DImode);
+         rtx reg2 = gen_reg_rtx (DImode);
+         rtx result = operands[0];
+         rtx mem1 = operands[1];
+         rtx mem2 = operands[2];
+         rtx len = operands[3];
+         if (!CONSTANT_P (len))
+           len = force_reg (SImode, len);
+ 
+         /* Load up the address+length pairs.  */
+         emit_insn (gen_rtx_CLOBBER (VOIDmode, reg1));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg1, 0),
+                         force_operand (XEXP (mem1, 0), NULL_RTX));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg1, GET_MODE_SIZE (SImode)), len);
+ 
+         emit_insn (gen_rtx_CLOBBER (VOIDmode, reg2));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg2, 0),
+                         force_operand (XEXP (mem2, 0), NULL_RTX));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg2, GET_MODE_SIZE (SImode)), len);
+ 
+         /* Compare! */
+         emit_insn (gen_cmpmemsi_1 (result, reg1, reg2));
+     }
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+     operand3 = operands[3];
+     operand4 = operands[4];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_COMPARE (VOIDmode,
+ 	operand1,
+ 	operand2)));
+   emit_insn (gen_rtx_USE (VOIDmode,
+ 	operand3));
+   emit_insn (gen_rtx_USE (VOIDmode,
+ 	operand4));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:1521 */
+ rtx
+ gen_clrstrsi (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[3];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+ 
+ {
+   {
+         /* implementation suggested by  Richard Henderson <rth@cygnus.com> */
+         rtx reg1 = gen_reg_rtx (DImode);
+         rtx reg2 = gen_reg_rtx (DImode);
+         rtx mem1 = operands[0];
+         rtx zippo = gen_rtx_CONST_INT (SImode, 0);
+         rtx len = operands[1];
+         if (!CONSTANT_P (len))
+           len = force_reg (SImode, len);
+ 
+         /* Load up the address+length pairs.  */
+         emit_insn (gen_rtx_CLOBBER (VOIDmode, reg1));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg1, 0),
+                         force_operand (XEXP (mem1, 0), NULL_RTX));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg1, GET_MODE_SIZE (SImode)), len);
+ 
+         emit_insn (gen_rtx_CLOBBER (VOIDmode, reg2));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg2, 0), zippo);
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg2, GET_MODE_SIZE (SImode)), zippo);
+ 
+         /* Copy! */
+         emit_insn (gen_movstrsi_1 (reg1, reg2));
+   }
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	const0_rtx));
+   emit_insn (gen_rtx_USE (VOIDmode,
+ 	operand1));
+   emit (operand2);
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:1559 */
+ rtx
+ gen_movstrsi (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2,
+ 	rtx operand3)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[4];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+     operands[3] = operand3;
+ 
+ {
+   rtx op0, op1;
+ 
+   op0 = XEXP (operands[0], 0);
+   if (GET_CODE (op0) == REG
+       || (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 0)) == REG
+ 	  && GET_CODE (XEXP (op0, 1)) == CONST_INT
+ 	  && (unsigned) INTVAL (XEXP (op0, 1)) < 4096))
+     op0 = operands[0];
+   else
+     op0 = replace_equiv_address (operands[0], copy_to_mode_reg (SImode, op0));
+ 
+   op1 = XEXP (operands[1], 0);
+   if (GET_CODE (op1) == REG
+       || (GET_CODE (op1) == PLUS && GET_CODE (XEXP (op1, 0)) == REG
+ 	  && GET_CODE (XEXP (op1, 1)) == CONST_INT
+ 	  && (unsigned) INTVAL (XEXP (op1, 1)) < 4096))
+     op1 = operands[1];
+   else
+     op1 = replace_equiv_address (operands[1], copy_to_mode_reg (SImode, op1));
+ 
+   if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) < 256)
+     emit_insn (gen_rtx_PARALLEL (VOIDmode,
+ 			gen_rtvec (2,
+ 				   gen_rtx_SET (VOIDmode, op0, op1),
+ 				   gen_rtx_USE (VOIDmode, operands[2]))));
+ 
+   else
+     {
+         /* implementation provided by  Richard Henderson <rth@cygnus.com> */
+         rtx reg1 = gen_reg_rtx (DImode);
+         rtx reg2 = gen_reg_rtx (DImode);
+         rtx mem1 = operands[0];
+         rtx mem2 = operands[1];
+         rtx len = operands[2];
+         if (!CONSTANT_P (len))
+           len = force_reg (SImode, len);
+ 
+         /* Load up the address+length pairs.  */
+         emit_insn (gen_rtx_CLOBBER (VOIDmode, reg1));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg1, 0),
+                         force_operand (XEXP (mem1, 0), NULL_RTX));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg1, GET_MODE_SIZE (SImode)), len);
+ 
+         emit_insn (gen_rtx_CLOBBER (VOIDmode, reg2));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg2, 0),
+                         force_operand (XEXP (mem2, 0), NULL_RTX));
+         emit_move_insn (gen_rtx_SUBREG (SImode, reg2, GET_MODE_SIZE (SImode)), len);
+ 
+         /* Copy! */
+         emit_insn (gen_movstrsi_1 (reg1, reg2));
+     }
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+     operand3 = operands[3];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	operand1));
+   emit_insn (gen_rtx_USE (VOIDmode,
+ 	operand2));
+   emit (operand3);
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:1666 */
+ rtx
+ gen_extendsidi2 (rtx operand0,
+ 	rtx operand1)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[2];
+     operands[0] = operand0;
+     operands[1] = operand1;
+ 
+ {
+   if (GET_CODE (operands[1]) != CONST_INT)
+     {
+       emit_insn (gen_rtx_SET (VOIDmode,
+ 		  operand_subword (operands[0], 0, 1, DImode), operands[1]));
+       emit_insn (gen_rtx_SET (VOIDmode, operands[0],
+ 			gen_rtx_ASHIFTRT (DImode, operands[0],
+ 				gen_rtx_CONST_INT (SImode, 32))));
+     }
+   else
+     {
+       if (INTVAL (operands[1]) < 0)
+ 	{
+ 	  emit_insn (gen_rtx_SET (VOIDmode,
+ 				  operand_subword (operands[0], 0, 1, DImode),
+ 			       gen_rtx_CONST_INT (SImode, -1)));
+         }
+       else
+ 	{
+ 	  emit_insn (gen_rtx_SET (VOIDmode,
+ 				operand_subword (operands[0], 0, 1, DImode),
+ 			       gen_rtx_CONST_INT (SImode, 0)));
+         }
+       emit_insn (gen_rtx_SET (VOIDmode, gen_lowpart (SImode, operands[0]),
+ 			   operands[1]));
+     }
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_SIGN_EXTEND (DImode,
+ 	operand1)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:1809 */
+ rtx
+ gen_zero_extendsidi2 (rtx operand0,
+ 	rtx operand1)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[2];
+     operands[0] = operand0;
+     operands[1] = operand1;
+ 
+ {
+       emit_insn (gen_rtx_SET (VOIDmode,
+ 		  operand_subword (operands[0], 0, 1, DImode), operands[1]));
+       emit_insn (gen_rtx_SET (VOIDmode, operands[0],
+ 			gen_rtx_LSHIFTRT (DImode, operands[0],
+ 				gen_rtx_CONST_INT (SImode, 32))));
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_ZERO_EXTEND (DImode,
+ 	operand1)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:2526 */
+ rtx
+ gen_mulsi3 (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[3];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+ 
+ {
+   if (GET_CODE (operands[1]) == CONST_INT
+       && REG_P (operands[0])
+       && CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'K'))
+     {
+       emit_insn (gen_rtx_SET (VOIDmode, operands[0],
+ 			  gen_rtx_MULT (SImode, operands[2], operands[1])));
+     }
+   else if (GET_CODE (operands[2]) == CONST_INT
+            && REG_P (operands[0])
+ 	   && CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))
+     {
+       emit_insn (gen_rtx_SET (VOIDmode, operands[0],
+ 			  gen_rtx_MULT (SImode, operands[1], operands[2])));
+     }
+   else
+     {
+       rtx r = gen_reg_rtx (DImode);
+ 
+       /* XXX trouble.  Below we generate some rtx's that model what
+        * is really supposed to happen with multiply on the 370/390
+        * hardware, and that is all well & good.  However, during optimization
+        * it can happen that the two operands are exchanged (after all,
+        * multiplication is commutitive), in which case the doubleword
+        * ends up in memory and everything is hosed.  The gen_reg_rtx
+        * should have kept it in a reg ...  We hack around this
+        * below, in the M/MR isntruction pattern, and constrain it to
+        * "di" instead of "g".  But this still ends up with lots & lots of
+        * movement between registers & memory and is an awful waste.
+        * Dunno how to untwist it elegantly; but it seems to work for now.
+        
+        * Note, this comment doesn't seem to be relevant for 3.4.6
+        * at least, so it is being opened up.
+        */
+       if (GET_CODE (operands[1]) == CONST_INT)
+       {
+       emit_insn (gen_rtx_SET (VOIDmode,
+ 			  gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode)),
+ 					  operands[1]));
+       emit_insn (gen_rtx_SET (VOIDmode, r,
+ 			  gen_rtx_MULT (DImode, r, operands[2])));
+       }
+       else
+       {
+       emit_insn (gen_rtx_SET (VOIDmode,
+ 			  gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode)),
+ 					  operands[2]));
+       emit_insn (gen_rtx_SET (VOIDmode, r,
+ 			  gen_rtx_MULT (DImode, r, operands[1])));
+       }
+       emit_insn (gen_rtx_SET (VOIDmode, operands[0],
+ 			  gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode))));
+     }
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MULT (SImode,
+ 	operand1,
+ 	operand2)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:2677 */
+ rtx
+ gen_divsi3 (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[3];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+ 
+ {
+   rtx r = gen_reg_rtx (DImode);
+ 
+   emit_insn (gen_extendsidi2 (r, operands[1]));
+   emit_insn (gen_rtx_SET (VOIDmode, r,
+ 			gen_rtx_DIV (DImode, r, operands[2])));
+   emit_insn (gen_rtx_SET (VOIDmode, operands[0],
+ 			gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode))));
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_DIV (SImode,
+ 	operand1,
+ 	operand2)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:2699 */
+ rtx
+ gen_udivsi3 (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[3];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+ 
+ {
+   rtx dr = gen_reg_rtx (DImode);
+   rtx dr_0 = gen_rtx_SUBREG (SImode, dr, 0);
+   rtx dr_1 = gen_rtx_SUBREG (SImode, dr, GET_MODE_SIZE (SImode));
+ 
+ 
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       if (INTVAL (operands[2]) > 0)
+ 	{
+ 	  emit_insn (gen_zero_extendsidi2 (dr, operands[1]));
+ 	  emit_insn (gen_rtx_SET (VOIDmode, dr,
+ 			gen_rtx_DIV (DImode, dr, operands[2])));
+ 	}
+       else
+ 	{
+ 	  rtx label1 = gen_label_rtx ();
+ 
+ 	  emit_insn (gen_rtx_SET (VOIDmode, dr_0, operands[1]));
+ 	  emit_insn (gen_rtx_SET (VOIDmode, dr_1, const0_rtx));
+ 	  emit_insn (gen_cmpsi (dr_0, operands[2]));
+ 	  emit_jump_insn (gen_bltu (label1));
+ 	  emit_insn (gen_rtx_SET (VOIDmode, dr_1, const1_rtx));
+ 	  emit_label (label1);
+ 	}
+     }
+   else
+     {
+       rtx label1 = gen_label_rtx ();
+       rtx label2 = gen_label_rtx ();
+       rtx label3 = gen_label_rtx ();
+       rtx sr = gen_reg_rtx (SImode);
+ 
+       emit_insn (gen_rtx_SET (VOIDmode, dr_0, operands[1]));
+       emit_insn (gen_rtx_SET (VOIDmode, sr, operands[2]));
+       emit_insn (gen_rtx_SET (VOIDmode, dr_1, const0_rtx));
+       emit_insn (gen_cmpsi (sr, dr_0));
+       emit_jump_insn (gen_bgtu (label3));
+       emit_insn (gen_cmpsi (sr, const0_rtx));
+       emit_jump_insn (gen_blt (label2));
+       emit_insn (gen_cmpsi (sr, const1_rtx));
+       emit_jump_insn (gen_beq (label1));
+       emit_insn (gen_rtx_SET (VOIDmode, dr,
+ 			  gen_rtx_LSHIFTRT (DImode, dr,
+ 				    gen_rtx_CONST_INT (SImode, 32))));
+       emit_insn (gen_rtx_SET (VOIDmode, dr,
+ 		    gen_rtx_DIV (DImode, dr, sr)));
+       emit_jump_insn (gen_jump (label3));
+       emit_label (label1);
+       emit_insn (gen_rtx_SET (VOIDmode, dr_1, dr_0));
+       emit_jump_insn (gen_jump (label3));
+       emit_label (label2);
+       emit_insn (gen_rtx_SET (VOIDmode, dr_1, const1_rtx));
+       emit_label (label3);
+     }
+   emit_insn (gen_rtx_SET (VOIDmode, operands[0], dr_1));
+ 
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_UDIV (SImode,
+ 	operand1,
+ 	operand2)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:2840 */
+ rtx
+ gen_modsi3 (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[3];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+ 
+ {
+   rtx r = gen_reg_rtx (DImode);
+ 
+   emit_insn (gen_extendsidi2 (r, operands[1]));
+   emit_insn (gen_rtx_SET (VOIDmode, r,
+ 			gen_rtx_MOD (DImode, r, operands[2])));
+   emit_insn (gen_rtx_SET (VOIDmode, operands[0],
+ 			gen_rtx_SUBREG (SImode, r, 0)));
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_MOD (SImode,
+ 	operand1,
+ 	operand2)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:2861 */
+ rtx
+ gen_umodsi3 (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[3];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+ 
+ {
+   rtx dr = gen_reg_rtx (DImode);
+   rtx dr_0 = gen_rtx_SUBREG (SImode, dr, 0);
+ 
+   emit_insn (gen_rtx_SET (VOIDmode, dr_0, operands[1]));
+ 
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       if (INTVAL (operands[2]) > 0)
+ 	{
+ 	  emit_insn (gen_rtx_SET (VOIDmode, dr,
+ 			      gen_rtx_LSHIFTRT (DImode, dr,
+ 					gen_rtx_CONST_INT (SImode, 32))));
+ 	  emit_insn (gen_rtx_SET (VOIDmode, dr,
+ 			gen_rtx_MOD (DImode, dr, operands[2])));
+ 	}
+       else
+ 	{
+ 	  rtx label1 = gen_label_rtx ();
+ 	  rtx sr = gen_reg_rtx (SImode);
+ 
+ 	  emit_insn (gen_rtx_SET (VOIDmode, sr, operands[2]));
+ 	  emit_insn (gen_cmpsi (dr_0, sr));
+ 	  emit_jump_insn (gen_bltu (label1));
+ 	  emit_insn (gen_rtx_SET (VOIDmode, sr, gen_rtx_ABS (SImode, sr)));
+ 	  emit_insn (gen_rtx_SET (VOIDmode, dr_0,
+ 			      gen_rtx_PLUS (SImode, dr_0, sr)));
+ 	  emit_label (label1);
+ 	}
+     }
+   else
+     {
+       rtx label1 = gen_label_rtx ();
+       rtx label2 = gen_label_rtx ();
+       rtx label3 = gen_label_rtx ();
+       rtx sr = gen_reg_rtx (SImode);
+ 
+       emit_insn (gen_rtx_SET (VOIDmode, dr_0, operands[1]));
+       emit_insn (gen_rtx_SET (VOIDmode, sr, operands[2]));
+       emit_insn (gen_cmpsi (sr, dr_0));
+       emit_jump_insn (gen_bgtu (label3));
+       emit_insn (gen_cmpsi (sr, const0_rtx));
+       emit_jump_insn (gen_blt (label2));
+       emit_insn (gen_cmpsi (sr, const1_rtx));
+       emit_jump_insn (gen_beq (label1));
+       emit_insn (gen_rtx_SET (VOIDmode, dr,
+ 			  gen_rtx_LSHIFTRT (DImode, dr,
+ 				    gen_rtx_CONST_INT (SImode, 32))));
+       emit_insn (gen_rtx_SET (VOIDmode, dr, gen_rtx_MOD (DImode, dr, sr)));
+       emit_jump_insn (gen_jump (label3));
+       emit_label (label1);
+       emit_insn (gen_rtx_SET (VOIDmode, dr_0, const0_rtx));
+       emit_jump_insn (gen_jump (label3));
+       emit_label (label2);
+       emit_insn (gen_rtx_SET (VOIDmode, dr_0,
+ 			  gen_rtx_MINUS (SImode, dr_0, sr)));
+       emit_label (label3);
+ 
+     }
+   emit_insn (gen_rtx_SET (VOIDmode, operands[0], dr_0));
+ 
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+   }
+   emit_insn (gen_rtx_SET (VOIDmode,
+ 	operand0,
+ 	gen_rtx_UMOD (SImode,
+ 	operand1,
+ 	operand2)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ /* ./config/i370/i370.md:4928 */
+ rtx
+ gen_untyped_call (rtx operand0,
+ 	rtx operand1,
+ 	rtx operand2)
+ {
+   rtx _val = 0;
+   start_sequence ();
+   {
+     rtx operands[3];
+     operands[0] = operand0;
+     operands[1] = operand1;
+     operands[2] = operand2;
+ 
+ {
+   int i;
+ 
+   emit_call_insn (GEN_CALL (operands[0], const0_rtx, const0_rtx, const0_rtx));
+ 
+   for (i = 0; i < XVECLEN (operands[2], 0); i++)
+     {
+       rtx set = XVECEXP (operands[2], 0, i);
+       emit_move_insn (SET_DEST (set), SET_SRC (set));
+     }
+ 
+   /* The optimizer does not know that the call sets the function value
+      registers we stored in the result block.  We avoid problems by
+      claiming that all hard registers are used and clobbered at this
+      point.  */
+   /* emit_insn (gen_blockage ()); */
+ 
+   DONE;
+ }
+     operand0 = operands[0];
+     operand1 = operands[1];
+     operand2 = operands[2];
+   }
+   emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
+ 	gen_rtvec (3,
+ 		gen_rtx_CALL (VOIDmode,
+ 	operand0,
+ 	const0_rtx),
+ 		operand1,
+ 		operand2)));
+   _val = get_insns ();
+   end_sequence ();
+   return _val;
+ }
+ 
+ 
+ 
+ void
+ add_clobbers (rtx pattern ATTRIBUTE_UNUSED, int insn_code_number)
+ {
+   switch (insn_code_number)
+     {
+     case 34:
+       XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
+ 	gen_rtx_REG (DFmode,
+ 	16));
+       break;
+ 
+     default:
+       abort ();
+     }
+ }
+ 
+ 
+ int
+ added_clobbers_hard_reg_p (int insn_code_number)
+ {
+   switch (insn_code_number)
+     {
+     case 34:
+       return 1;
+ 
+     default:
+       abort ();
+     }
+ }
Index: gcc/gcc/insn-extract.c
diff -c /dev/null gcc/gcc/insn-extract.c:1.13
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-extract.c	Wed Nov  4 16:21:18 2009
***************
*** 0 ****
--- 1,270 ----
+ /* Generated automatically by the program `genextract'
+ from the machine description file `md'.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "rtl.h"
+ #include "insn-config.h"
+ #include "recog.h"
+ #include "toplev.h"
+ 
+ static rtx junk ATTRIBUTE_UNUSED;
+ void
+ insn_extract (rtx insn)
+ {
+   rtx *ro = recog_data.operand;
+   rtx **ro_loc = recog_data.operand_loc;
+   rtx pat = PATTERN (insn);
+   int i ATTRIBUTE_UNUSED;
+ 
+   switch (INSN_CODE (insn))
+     {
+     case -1:
+       fatal_insn_not_found (insn);
+ 
+     case 133:  /* nop */
+       break;
+ 
+     case 132:  /* *i370.md:4869 */
+       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
+       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
+       break;
+ 
+     case 128:  /* tablejump */
+       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 1));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0));
+       break;
+ 
+     case 126:  /* jump */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
+       break;
+ 
+     case 125:  /* *i370.md:4595 */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 2), 0));
+       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
+       recog_data.dup_num[0] = 0;
+       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
+       recog_data.dup_num[1] = 0;
+       break;
+ 
+     case 124:  /* *i370.md:4567 */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
+       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
+       recog_data.dup_num[0] = 0;
+       recog_data.dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
+       recog_data.dup_num[1] = 0;
+       break;
+ 
+     case 123:  /* *i370.md:4539 */
+     case 122:  /* *i370.md:4516 */
+     case 121:  /* *i370.md:4493 */
+     case 120:  /* *i370.md:4470 */
+     case 119:  /* *i370.md:4447 */
+     case 118:  /* *i370.md:4424 */
+     case 117:  /* *i370.md:4401 */
+     case 116:  /* *i370.md:4378 */
+     case 115:  /* *i370.md:4355 */
+     case 114:  /* *i370.md:4332 */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
+       break;
+ 
+     case 113:  /* bleu */
+     case 112:  /* ble */
+     case 111:  /* bgeu */
+     case 110:  /* bge */
+     case 109:  /* bltu */
+     case 108:  /* blt */
+     case 107:  /* bgtu */
+     case 106:  /* bgt */
+     case 105:  /* bne */
+     case 104:  /* beq */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
+       break;
+ 
+     case 130:  /* call_value */
+     case 103:  /* lshrqi3 */
+     case 102:  /* lshrhi3 */
+     case 101:  /* lshrsi3 */
+     case 100:  /* lshrdi3 */
+     case 99:  /* ashrqi3 */
+     case 98:  /* ashlqi3 */
+     case 97:  /* ashrhi3 */
+     case 96:  /* ashlhi3 */
+     case 95:  /* ashrsi3 */
+     case 94:  /* ashlsi3 */
+     case 93:  /* ashrdi3 */
+     case 92:  /* ashldi3 */
+     case 77:  /* xorqi3 */
+     case 76:  /* *i370.md:3464 */
+     case 75:  /* xorhi3 */
+     case 74:  /* *i370.md:3405 */
+     case 73:  /* xorsi3 */
+     case 72:  /* *i370.md:3356 */
+     case 71:  /* iorqi3 */
+     case 70:  /* *i370.md:3276 */
+     case 69:  /* iorhi3 */
+     case 68:  /* *i370.md:3222 */
+     case 67:  /* iorsi3 */
+     case 66:  /* *i370.md:3173 */
+     case 65:  /* andqi3 */
+     case 64:  /* *i370.md:3093 */
+     case 63:  /* andhi3 */
+     case 62:  /* *i370.md:3032 */
+     case 61:  /* andsi3 */
+     case 60:  /* *i370.md:2983 */
+     case 59:  /* *i370.md:2933 */
+     case 58:  /* divsf3 */
+     case 57:  /* divdf3 */
+     case 56:  /* *i370.md:2767 */
+     case 55:  /* mulsf3 */
+     case 54:  /* muldf3 */
+     case 53:  /* *i370.md:2604 */
+     case 52:  /* *i370.md:2588 */
+     case 51:  /* subsf3 */
+     case 50:  /* subdf3 */
+     case 49:  /* subqi3 */
+     case 48:  /* subhi3 */
+     case 47:  /* subsi3 */
+     case 45:  /* addsf3 */
+     case 44:  /* adddf3 */
+     case 43:  /* addqi3 */
+     case 42:  /* addhi3 */
+     case 41:  /* addsi3 */
+     case 40:  /* *i370.md:2127 */
+     case 39:  /* *i370.md:2110 */
+       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
+       ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
+       break;
+ 
+     case 46:  /* *i370.md:2326 */
+     case 38:  /* *i370.md:2057 */
+       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+       ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0));
+       break;
+ 
+     case 34:  /* fix_truncdfsi2 */
+       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+       break;
+ 
+     case 91:  /* one_cmplqi2 */
+     case 90:  /* *i370.md:3760 */
+     case 89:  /* one_cmplhi2 */
+     case 88:  /* *i370.md:3723 */
+     case 87:  /* one_cmplsi2 */
+     case 86:  /* *i370.md:3685 */
+     case 85:  /* abssf2 */
+     case 84:  /* absdf2 */
+     case 83:  /* abshi2 */
+     case 82:  /* abssi2 */
+     case 81:  /* negsf2 */
+     case 80:  /* negdf2 */
+     case 79:  /* neghi2 */
+     case 78:  /* negsi2 */
+     case 37:  /* extendsfdf2 */
+     case 36:  /* truncdfsf2 */
+     case 35:  /* floatsidf2 */
+     case 33:  /* truncsihi2 */
+     case 32:  /* zero_extendqihi2 */
+     case 31:  /* zero_extendqisi2 */
+     case 30:  /* zero_extendhisi2 */
+     case 29:  /* extendqihi2 */
+     case 28:  /* extendqisi2 */
+     case 27:  /* extendhisi2 */
+       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
+       break;
+ 
+     case 26:  /* movstrsi_1 */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 4), 0);
+       recog_data.dup_num[0] = 1;
+       recog_data.dup_loc[1] = &XEXP (XVECEXP (pat, 0, 3), 0);
+       recog_data.dup_num[1] = 0;
+       recog_data.dup_loc[2] = &XEXP (XVECEXP (pat, 0, 2), 0);
+       recog_data.dup_num[2] = 1;
+       recog_data.dup_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0);
+       recog_data.dup_num[3] = 0;
+       break;
+ 
+     case 25:  /* *i370.md:1623 */
+       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 1));
+       ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
+       break;
+ 
+     case 131:  /* *i370.md:4821 */
+     case 20:  /* movstricthi */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
+       break;
+ 
+     case 129:  /* call */
+     case 24:  /* movsf */
+     case 23:  /* *i370.md:1404 */
+     case 22:  /* movdf */
+     case 21:  /* *i370.md:1279 */
+     case 19:  /* movqi */
+     case 18:  /* *i370.md:1098 */
+     case 17:  /* movhi */
+     case 16:  /* *i370.md:1004 */
+     case 15:  /* movsi */
+     case 14:  /* movdi */
+     case 13:  /* *i370.md:786 */
+       ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+       ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
+       break;
+ 
+     case 12:  /* cmpmemsi_1 */
+       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
+       recog_data.dup_loc[0] = &XEXP (XVECEXP (pat, 0, 4), 0);
+       recog_data.dup_num[0] = 2;
+       recog_data.dup_loc[1] = &XEXP (XVECEXP (pat, 0, 3), 0);
+       recog_data.dup_num[1] = 1;
+       recog_data.dup_loc[2] = &XEXP (XVECEXP (pat, 0, 2), 0);
+       recog_data.dup_num[2] = 2;
+       recog_data.dup_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0);
+       recog_data.dup_num[3] = 1;
+       break;
+ 
+     case 11:  /* *i370.md:740 */
+       ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+       ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+       ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
+       break;
+ 
+     case 10:  /* cmpsf */
+     case 9:  /* cmpdf */
+     case 8:  /* cmpqi */
+     case 7:  /* *i370.md:517 */
+     case 6:  /* cmphi */
+     case 5:  /* cmpsi */
+       ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
+       ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
+       break;
+ 
+     case 127:  /* indirect_jump */
+     case 4:  /* tstsf */
+     case 3:  /* tstdf */
+     case 2:  /* tsthi */
+     case 1:  /* tstsi */
+     case 0:  /* tstdi */
+       ro[0] = *(ro_loc[0] = &XEXP (pat, 1));
+       break;
+ 
+     default:
+       abort ();
+     }
+ }
Index: gcc/gcc/insn-flags.h
diff -c /dev/null gcc/gcc/insn-flags.h:1.6
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-flags.h	Wed Dec  2 18:55:47 2009
***************
*** 0 ****
--- 1,216 ----
+ /* Generated automatically by the program `genflags'
+    from the machine description file `md'.  */
+ 
+ #ifndef GCC_INSN_FLAGS_H
+ #define GCC_INSN_FLAGS_H
+ 
+ #define HAVE_tstdi 1
+ #define HAVE_tstsi 1
+ #define HAVE_tsthi 1
+ #define HAVE_tstdf 1
+ #define HAVE_tstsf 1
+ #define HAVE_cmpsi 1
+ #define HAVE_cmphi 1
+ #define HAVE_cmpqi 1
+ #define HAVE_cmpdf 1
+ #define HAVE_cmpsf 1
+ #define HAVE_cmpmemsi_1 1
+ #define HAVE_movdi 1
+ #define HAVE_movsi 1
+ #define HAVE_movhi 1
+ #define HAVE_movqi 1
+ #define HAVE_movstricthi 1
+ #define HAVE_movdf 1
+ #define HAVE_movsf 1
+ #define HAVE_movstrsi_1 1
+ #define HAVE_extendhisi2 1
+ #define HAVE_extendqisi2 1
+ #define HAVE_extendqihi2 1
+ #define HAVE_zero_extendhisi2 1
+ #define HAVE_zero_extendqisi2 1
+ #define HAVE_zero_extendqihi2 1
+ #define HAVE_truncsihi2 1
+ #define HAVE_fix_truncdfsi2 1
+ #define HAVE_floatsidf2 1
+ #define HAVE_truncdfsf2 1
+ #define HAVE_extendsfdf2 1
+ #define HAVE_addsi3 1
+ #define HAVE_addhi3 1
+ #define HAVE_addqi3 1
+ #define HAVE_adddf3 1
+ #define HAVE_addsf3 1
+ #define HAVE_subsi3 1
+ #define HAVE_subhi3 1
+ #define HAVE_subqi3 1
+ #define HAVE_subdf3 1
+ #define HAVE_subsf3 1
+ #define HAVE_muldf3 1
+ #define HAVE_mulsf3 1
+ #define HAVE_divdf3 1
+ #define HAVE_divsf3 1
+ #define HAVE_andsi3 1
+ #define HAVE_andhi3 1
+ #define HAVE_andqi3 1
+ #define HAVE_iorsi3 1
+ #define HAVE_iorhi3 1
+ #define HAVE_iorqi3 1
+ #define HAVE_xorsi3 1
+ #define HAVE_xorhi3 1
+ #define HAVE_xorqi3 1
+ #define HAVE_negsi2 1
+ #define HAVE_neghi2 1
+ #define HAVE_negdf2 1
+ #define HAVE_negsf2 1
+ #define HAVE_abssi2 1
+ #define HAVE_abshi2 1
+ #define HAVE_absdf2 1
+ #define HAVE_abssf2 1
+ #define HAVE_one_cmplsi2 1
+ #define HAVE_one_cmplhi2 1
+ #define HAVE_one_cmplqi2 1
+ #define HAVE_ashldi3 1
+ #define HAVE_ashrdi3 1
+ #define HAVE_ashlsi3 1
+ #define HAVE_ashrsi3 1
+ #define HAVE_ashlhi3 1
+ #define HAVE_ashrhi3 1
+ #define HAVE_ashlqi3 1
+ #define HAVE_ashrqi3 1
+ #define HAVE_lshrdi3 1
+ #define HAVE_lshrsi3 1
+ #define HAVE_lshrhi3 1
+ #define HAVE_lshrqi3 1
+ #define HAVE_beq 1
+ #define HAVE_bne 1
+ #define HAVE_bgt 1
+ #define HAVE_bgtu 1
+ #define HAVE_blt 1
+ #define HAVE_bltu 1
+ #define HAVE_bge 1
+ #define HAVE_bgeu 1
+ #define HAVE_ble 1
+ #define HAVE_bleu 1
+ #define HAVE_jump 1
+ #define HAVE_indirect_jump 1
+ #define HAVE_tablejump 1
+ #define HAVE_call 1
+ #define HAVE_call_value 1
+ #define HAVE_nop 1
+ #define HAVE_cmpmemsi 1
+ #define HAVE_clrstrsi 1
+ #define HAVE_movstrsi 1
+ #define HAVE_extendsidi2 1
+ #define HAVE_zero_extendsidi2 1
+ #define HAVE_mulsi3 1
+ #define HAVE_divsi3 1
+ #define HAVE_udivsi3 1
+ #define HAVE_modsi3 1
+ #define HAVE_umodsi3 1
+ #define HAVE_untyped_call 1
+ extern rtx        gen_tstdi            (rtx);
+ extern rtx        gen_tstsi            (rtx);
+ extern rtx        gen_tsthi            (rtx);
+ extern rtx        gen_tstdf            (rtx);
+ extern rtx        gen_tstsf            (rtx);
+ extern rtx        gen_cmpsi            (rtx, rtx);
+ extern rtx        gen_cmphi            (rtx, rtx);
+ extern rtx        gen_cmpqi            (rtx, rtx);
+ extern rtx        gen_cmpdf            (rtx, rtx);
+ extern rtx        gen_cmpsf            (rtx, rtx);
+ extern rtx        gen_cmpmemsi_1       (rtx, rtx, rtx);
+ extern rtx        gen_movdi            (rtx, rtx);
+ extern rtx        gen_movsi            (rtx, rtx);
+ extern rtx        gen_movhi            (rtx, rtx);
+ extern rtx        gen_movqi            (rtx, rtx);
+ extern rtx        gen_movstricthi      (rtx, rtx);
+ extern rtx        gen_movdf            (rtx, rtx);
+ extern rtx        gen_movsf            (rtx, rtx);
+ extern rtx        gen_movstrsi_1       (rtx, rtx);
+ extern rtx        gen_extendhisi2      (rtx, rtx);
+ extern rtx        gen_extendqisi2      (rtx, rtx);
+ extern rtx        gen_extendqihi2      (rtx, rtx);
+ extern rtx        gen_zero_extendhisi2 (rtx, rtx);
+ extern rtx        gen_zero_extendqisi2 (rtx, rtx);
+ extern rtx        gen_zero_extendqihi2 (rtx, rtx);
+ extern rtx        gen_truncsihi2       (rtx, rtx);
+ extern rtx        gen_fix_truncdfsi2   (rtx, rtx);
+ extern rtx        gen_floatsidf2       (rtx, rtx);
+ extern rtx        gen_truncdfsf2       (rtx, rtx);
+ extern rtx        gen_extendsfdf2      (rtx, rtx);
+ extern rtx        gen_addsi3           (rtx, rtx, rtx);
+ extern rtx        gen_addhi3           (rtx, rtx, rtx);
+ extern rtx        gen_addqi3           (rtx, rtx, rtx);
+ extern rtx        gen_adddf3           (rtx, rtx, rtx);
+ extern rtx        gen_addsf3           (rtx, rtx, rtx);
+ extern rtx        gen_subsi3           (rtx, rtx, rtx);
+ extern rtx        gen_subhi3           (rtx, rtx, rtx);
+ extern rtx        gen_subqi3           (rtx, rtx, rtx);
+ extern rtx        gen_subdf3           (rtx, rtx, rtx);
+ extern rtx        gen_subsf3           (rtx, rtx, rtx);
+ extern rtx        gen_muldf3           (rtx, rtx, rtx);
+ extern rtx        gen_mulsf3           (rtx, rtx, rtx);
+ extern rtx        gen_divdf3           (rtx, rtx, rtx);
+ extern rtx        gen_divsf3           (rtx, rtx, rtx);
+ extern rtx        gen_andsi3           (rtx, rtx, rtx);
+ extern rtx        gen_andhi3           (rtx, rtx, rtx);
+ extern rtx        gen_andqi3           (rtx, rtx, rtx);
+ extern rtx        gen_iorsi3           (rtx, rtx, rtx);
+ extern rtx        gen_iorhi3           (rtx, rtx, rtx);
+ extern rtx        gen_iorqi3           (rtx, rtx, rtx);
+ extern rtx        gen_xorsi3           (rtx, rtx, rtx);
+ extern rtx        gen_xorhi3           (rtx, rtx, rtx);
+ extern rtx        gen_xorqi3           (rtx, rtx, rtx);
+ extern rtx        gen_negsi2           (rtx, rtx);
+ extern rtx        gen_neghi2           (rtx, rtx);
+ extern rtx        gen_negdf2           (rtx, rtx);
+ extern rtx        gen_negsf2           (rtx, rtx);
+ extern rtx        gen_abssi2           (rtx, rtx);
+ extern rtx        gen_abshi2           (rtx, rtx);
+ extern rtx        gen_absdf2           (rtx, rtx);
+ extern rtx        gen_abssf2           (rtx, rtx);
+ extern rtx        gen_one_cmplsi2      (rtx, rtx);
+ extern rtx        gen_one_cmplhi2      (rtx, rtx);
+ extern rtx        gen_one_cmplqi2      (rtx, rtx);
+ extern rtx        gen_ashldi3          (rtx, rtx, rtx);
+ extern rtx        gen_ashrdi3          (rtx, rtx, rtx);
+ extern rtx        gen_ashlsi3          (rtx, rtx, rtx);
+ extern rtx        gen_ashrsi3          (rtx, rtx, rtx);
+ extern rtx        gen_ashlhi3          (rtx, rtx, rtx);
+ extern rtx        gen_ashrhi3          (rtx, rtx, rtx);
+ extern rtx        gen_ashlqi3          (rtx, rtx, rtx);
+ extern rtx        gen_ashrqi3          (rtx, rtx, rtx);
+ extern rtx        gen_lshrdi3          (rtx, rtx, rtx);
+ extern rtx        gen_lshrsi3          (rtx, rtx, rtx);
+ extern rtx        gen_lshrhi3          (rtx, rtx, rtx);
+ extern rtx        gen_lshrqi3          (rtx, rtx, rtx);
+ extern rtx        gen_beq              (rtx);
+ extern rtx        gen_bne              (rtx);
+ extern rtx        gen_bgt              (rtx);
+ extern rtx        gen_bgtu             (rtx);
+ extern rtx        gen_blt              (rtx);
+ extern rtx        gen_bltu             (rtx);
+ extern rtx        gen_bge              (rtx);
+ extern rtx        gen_bgeu             (rtx);
+ extern rtx        gen_ble              (rtx);
+ extern rtx        gen_bleu             (rtx);
+ extern rtx        gen_jump             (rtx);
+ extern rtx        gen_indirect_jump    (rtx);
+ extern rtx        gen_tablejump        (rtx, rtx);
+ #define GEN_CALL(A, B, C, D) gen_call ((A), (B))
+ extern rtx        gen_call             (rtx, rtx);
+ #define GEN_CALL_VALUE(A, B, C, D, E) gen_call_value ((A), (B), (C))
+ extern rtx        gen_call_value       (rtx, rtx, rtx);
+ extern rtx        gen_nop              (void);
+ extern rtx        gen_cmpmemsi         (rtx, rtx, rtx, rtx, rtx);
+ extern rtx        gen_clrstrsi         (rtx, rtx, rtx);
+ extern rtx        gen_movstrsi         (rtx, rtx, rtx, rtx);
+ extern rtx        gen_extendsidi2      (rtx, rtx);
+ extern rtx        gen_zero_extendsidi2 (rtx, rtx);
+ extern rtx        gen_mulsi3           (rtx, rtx, rtx);
+ extern rtx        gen_divsi3           (rtx, rtx, rtx);
+ extern rtx        gen_udivsi3          (rtx, rtx, rtx);
+ extern rtx        gen_modsi3           (rtx, rtx, rtx);
+ extern rtx        gen_umodsi3          (rtx, rtx, rtx);
+ extern rtx        gen_untyped_call     (rtx, rtx, rtx);
+ 
+ #endif /* GCC_INSN_FLAGS_H */
Index: gcc/gcc/insn-modes.c
diff -c /dev/null gcc/gcc/insn-modes.c:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-modes.c	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,428 ----
+ /* Generated automatically from machmode.def
+    by genmodes.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "machmode.h"
+ #include "real.h"
+ 
+ const char *const mode_name[NUM_MACHINE_MODES] =
+ {
+   "VOID",
+   "BLK",
+   "CC",
+   "BI",
+   "QI",
+   "HI",
+   "SI",
+   "DI",
+   "TI",
+   "SF",
+   "DF",
+   "CQI",
+   "CHI",
+   "CSI",
+   "CDI",
+   "CTI",
+   "SC",
+   "DC",
+   "V2QI",
+   "V4QI",
+   "V2HI",
+   "V8QI",
+   "V4HI",
+   "V2SI",
+   "V1DI",
+   "V16QI",
+   "V8HI",
+   "V4SI",
+   "V2DI",
+   "V8SI",
+   "V4DI",
+   "V8DI",
+   "V2SF",
+   "V4SF",
+   "V2DF",
+   "V8SF",
+   "V4DF",
+   "V16SF",
+   "V8DF",
+ };
+ 
+ const unsigned char mode_class[NUM_MACHINE_MODES] =
+ {
+   MODE_RANDOM,             /* VOID */
+   MODE_RANDOM,             /* BLK */
+   MODE_CC,                 /* CC */
+   MODE_INT,                /* BI */
+   MODE_INT,                /* QI */
+   MODE_INT,                /* HI */
+   MODE_INT,                /* SI */
+   MODE_INT,                /* DI */
+   MODE_INT,                /* TI */
+   MODE_FLOAT,              /* SF */
+   MODE_FLOAT,              /* DF */
+   MODE_COMPLEX_INT,        /* CQI */
+   MODE_COMPLEX_INT,        /* CHI */
+   MODE_COMPLEX_INT,        /* CSI */
+   MODE_COMPLEX_INT,        /* CDI */
+   MODE_COMPLEX_INT,        /* CTI */
+   MODE_COMPLEX_FLOAT,      /* SC */
+   MODE_COMPLEX_FLOAT,      /* DC */
+   MODE_VECTOR_INT,         /* V2QI */
+   MODE_VECTOR_INT,         /* V4QI */
+   MODE_VECTOR_INT,         /* V2HI */
+   MODE_VECTOR_INT,         /* V8QI */
+   MODE_VECTOR_INT,         /* V4HI */
+   MODE_VECTOR_INT,         /* V2SI */
+   MODE_VECTOR_INT,         /* V1DI */
+   MODE_VECTOR_INT,         /* V16QI */
+   MODE_VECTOR_INT,         /* V8HI */
+   MODE_VECTOR_INT,         /* V4SI */
+   MODE_VECTOR_INT,         /* V2DI */
+   MODE_VECTOR_INT,         /* V8SI */
+   MODE_VECTOR_INT,         /* V4DI */
+   MODE_VECTOR_INT,         /* V8DI */
+   MODE_VECTOR_FLOAT,       /* V2SF */
+   MODE_VECTOR_FLOAT,       /* V4SF */
+   MODE_VECTOR_FLOAT,       /* V2DF */
+   MODE_VECTOR_FLOAT,       /* V8SF */
+   MODE_VECTOR_FLOAT,       /* V4DF */
+   MODE_VECTOR_FLOAT,       /* V16SF */
+   MODE_VECTOR_FLOAT,       /* V8DF */
+ };
+ 
+ const unsigned short mode_precision[NUM_MACHINE_MODES] =
+ {
+   0,                       /* VOID */
+   0,                       /* BLK */
+   4*BITS_PER_UNIT,         /* CC */
+   1,                       /* BI */
+   1*BITS_PER_UNIT,         /* QI */
+   2*BITS_PER_UNIT,         /* HI */
+   4*BITS_PER_UNIT,         /* SI */
+   8*BITS_PER_UNIT,         /* DI */
+   16*BITS_PER_UNIT,        /* TI */
+   4*BITS_PER_UNIT,         /* SF */
+   8*BITS_PER_UNIT,         /* DF */
+   2*BITS_PER_UNIT,         /* CQI */
+   4*BITS_PER_UNIT,         /* CHI */
+   8*BITS_PER_UNIT,         /* CSI */
+   16*BITS_PER_UNIT,        /* CDI */
+   32*BITS_PER_UNIT,        /* CTI */
+   8*BITS_PER_UNIT,         /* SC */
+   16*BITS_PER_UNIT,        /* DC */
+   2*BITS_PER_UNIT,         /* V2QI */
+   4*BITS_PER_UNIT,         /* V4QI */
+   4*BITS_PER_UNIT,         /* V2HI */
+   8*BITS_PER_UNIT,         /* V8QI */
+   8*BITS_PER_UNIT,         /* V4HI */
+   8*BITS_PER_UNIT,         /* V2SI */
+   8*BITS_PER_UNIT,         /* V1DI */
+   16*BITS_PER_UNIT,        /* V16QI */
+   16*BITS_PER_UNIT,        /* V8HI */
+   16*BITS_PER_UNIT,        /* V4SI */
+   16*BITS_PER_UNIT,        /* V2DI */
+   32*BITS_PER_UNIT,        /* V8SI */
+   32*BITS_PER_UNIT,        /* V4DI */
+   64*BITS_PER_UNIT,        /* V8DI */
+   8*BITS_PER_UNIT,         /* V2SF */
+   16*BITS_PER_UNIT,        /* V4SF */
+   16*BITS_PER_UNIT,        /* V2DF */
+   32*BITS_PER_UNIT,        /* V8SF */
+   32*BITS_PER_UNIT,        /* V4DF */
+   64*BITS_PER_UNIT,        /* V16SF */
+   64*BITS_PER_UNIT,        /* V8DF */
+ };
+ 
+ const unsigned char mode_size[NUM_MACHINE_MODES] = 
+ {
+   0,                       /* VOID */
+   0,                       /* BLK */
+   4,                       /* CC */
+   1,                       /* BI */
+   1,                       /* QI */
+   2,                       /* HI */
+   4,                       /* SI */
+   8,                       /* DI */
+   16,                      /* TI */
+   4,                       /* SF */
+   8,                       /* DF */
+   2,                       /* CQI */
+   4,                       /* CHI */
+   8,                       /* CSI */
+   16,                      /* CDI */
+   32,                      /* CTI */
+   8,                       /* SC */
+   16,                      /* DC */
+   2,                       /* V2QI */
+   4,                       /* V4QI */
+   4,                       /* V2HI */
+   8,                       /* V8QI */
+   8,                       /* V4HI */
+   8,                       /* V2SI */
+   8,                       /* V1DI */
+   16,                      /* V16QI */
+   16,                      /* V8HI */
+   16,                      /* V4SI */
+   16,                      /* V2DI */
+   32,                      /* V8SI */
+   32,                      /* V4DI */
+   64,                      /* V8DI */
+   8,                       /* V2SF */
+   16,                      /* V4SF */
+   16,                      /* V2DF */
+   32,                      /* V8SF */
+   32,                      /* V4DF */
+   64,                      /* V16SF */
+   64,                      /* V8DF */
+ };
+ 
+ const unsigned char mode_nunits[NUM_MACHINE_MODES] =
+ {
+   0,                       /* VOID */
+   0,                       /* BLK */
+   1,                       /* CC */
+   1,                       /* BI */
+   1,                       /* QI */
+   1,                       /* HI */
+   1,                       /* SI */
+   1,                       /* DI */
+   1,                       /* TI */
+   1,                       /* SF */
+   1,                       /* DF */
+   2,                       /* CQI */
+   2,                       /* CHI */
+   2,                       /* CSI */
+   2,                       /* CDI */
+   2,                       /* CTI */
+   2,                       /* SC */
+   2,                       /* DC */
+   2,                       /* V2QI */
+   4,                       /* V4QI */
+   2,                       /* V2HI */
+   8,                       /* V8QI */
+   4,                       /* V4HI */
+   2,                       /* V2SI */
+   1,                       /* V1DI */
+   16,                      /* V16QI */
+   8,                       /* V8HI */
+   4,                       /* V4SI */
+   2,                       /* V2DI */
+   8,                       /* V8SI */
+   4,                       /* V4DI */
+   8,                       /* V8DI */
+   2,                       /* V2SF */
+   4,                       /* V4SF */
+   2,                       /* V2DF */
+   8,                       /* V8SF */
+   4,                       /* V4DF */
+   16,                      /* V16SF */
+   8,                       /* V8DF */
+ };
+ 
+ const unsigned char mode_wider[NUM_MACHINE_MODES] =
+ {
+   VOIDmode,                /* VOID */
+   VOIDmode,                /* BLK */
+   VOIDmode,                /* CC */
+   QImode,                  /* BI */
+   HImode,                  /* QI */
+   SImode,                  /* HI */
+   DImode,                  /* SI */
+   TImode,                  /* DI */
+   VOIDmode,                /* TI */
+   DFmode,                  /* SF */
+   VOIDmode,                /* DF */
+   CHImode,                 /* CQI */
+   CSImode,                 /* CHI */
+   CDImode,                 /* CSI */
+   CTImode,                 /* CDI */
+   VOIDmode,                /* CTI */
+   DCmode,                  /* SC */
+   VOIDmode,                /* DC */
+   V4QImode,                /* V2QI */
+   V2HImode,                /* V4QI */
+   V8QImode,                /* V2HI */
+   V4HImode,                /* V8QI */
+   V2SImode,                /* V4HI */
+   V1DImode,                /* V2SI */
+   V16QImode,               /* V1DI */
+   V8HImode,                /* V16QI */
+   V4SImode,                /* V8HI */
+   V2DImode,                /* V4SI */
+   V8SImode,                /* V2DI */
+   V4DImode,                /* V8SI */
+   V8DImode,                /* V4DI */
+   VOIDmode,                /* V8DI */
+   V4SFmode,                /* V2SF */
+   V2DFmode,                /* V4SF */
+   V8SFmode,                /* V2DF */
+   V4DFmode,                /* V8SF */
+   V16SFmode,               /* V4DF */
+   V8DFmode,                /* V16SF */
+   VOIDmode,                /* V8DF */
+ };
+ 
+ const unsigned HOST_WIDE_INT mode_mask_array[NUM_MACHINE_MODES] =
+ {
+ #define MODE_MASK(m)                          \
+   ((m) >= HOST_BITS_PER_WIDE_INT)             \
+    ? ~(unsigned HOST_WIDE_INT) 0              \
+    : ((unsigned HOST_WIDE_INT) 1 << (m)) - 1
+ 
+   MODE_MASK (0),           /* VOID */
+   MODE_MASK (0),           /* BLK */
+   MODE_MASK (4*BITS_PER_UNIT),   /* CC */
+   MODE_MASK (1),           /* BI */
+   MODE_MASK (1*BITS_PER_UNIT),   /* QI */
+   MODE_MASK (2*BITS_PER_UNIT),   /* HI */
+   MODE_MASK (4*BITS_PER_UNIT),   /* SI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* DI */
+   MODE_MASK (16*BITS_PER_UNIT),    /* TI */
+   MODE_MASK (4*BITS_PER_UNIT),   /* SF */
+   MODE_MASK (8*BITS_PER_UNIT),   /* DF */
+   MODE_MASK (2*BITS_PER_UNIT),   /* CQI */
+   MODE_MASK (4*BITS_PER_UNIT),   /* CHI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* CSI */
+   MODE_MASK (16*BITS_PER_UNIT),    /* CDI */
+   MODE_MASK (32*BITS_PER_UNIT),    /* CTI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* SC */
+   MODE_MASK (16*BITS_PER_UNIT),    /* DC */
+   MODE_MASK (2*BITS_PER_UNIT),   /* V2QI */
+   MODE_MASK (4*BITS_PER_UNIT),   /* V4QI */
+   MODE_MASK (4*BITS_PER_UNIT),   /* V2HI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* V8QI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* V4HI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* V2SI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* V1DI */
+   MODE_MASK (16*BITS_PER_UNIT),    /* V16QI */
+   MODE_MASK (16*BITS_PER_UNIT),    /* V8HI */
+   MODE_MASK (16*BITS_PER_UNIT),    /* V4SI */
+   MODE_MASK (16*BITS_PER_UNIT),    /* V2DI */
+   MODE_MASK (32*BITS_PER_UNIT),    /* V8SI */
+   MODE_MASK (32*BITS_PER_UNIT),    /* V4DI */
+   MODE_MASK (64*BITS_PER_UNIT),    /* V8DI */
+   MODE_MASK (8*BITS_PER_UNIT),   /* V2SF */
+   MODE_MASK (16*BITS_PER_UNIT),    /* V4SF */
+   MODE_MASK (16*BITS_PER_UNIT),    /* V2DF */
+   MODE_MASK (32*BITS_PER_UNIT),    /* V8SF */
+   MODE_MASK (32*BITS_PER_UNIT),    /* V4DF */
+   MODE_MASK (64*BITS_PER_UNIT),    /* V16SF */
+   MODE_MASK (64*BITS_PER_UNIT),    /* V8DF */
+ #undef MODE_MASK
+ };
+ 
+ const unsigned char mode_inner[NUM_MACHINE_MODES] =
+ {
+   VOIDmode,                /* VOID */
+   VOIDmode,                /* BLK */
+   VOIDmode,                /* CC */
+   VOIDmode,                /* BI */
+   VOIDmode,                /* QI */
+   VOIDmode,                /* HI */
+   VOIDmode,                /* SI */
+   VOIDmode,                /* DI */
+   VOIDmode,                /* TI */
+   VOIDmode,                /* SF */
+   VOIDmode,                /* DF */
+   QImode,                  /* CQI */
+   HImode,                  /* CHI */
+   SImode,                  /* CSI */
+   DImode,                  /* CDI */
+   TImode,                  /* CTI */
+   SFmode,                  /* SC */
+   DFmode,                  /* DC */
+   QImode,                  /* V2QI */
+   QImode,                  /* V4QI */
+   HImode,                  /* V2HI */
+   QImode,                  /* V8QI */
+   HImode,                  /* V4HI */
+   SImode,                  /* V2SI */
+   DImode,                  /* V1DI */
+   QImode,                  /* V16QI */
+   HImode,                  /* V8HI */
+   SImode,                  /* V4SI */
+   DImode,                  /* V2DI */
+   SImode,                  /* V8SI */
+   DImode,                  /* V4DI */
+   DImode,                  /* V8DI */
+   SFmode,                  /* V2SF */
+   SFmode,                  /* V4SF */
+   DFmode,                  /* V2DF */
+   SFmode,                  /* V8SF */
+   DFmode,                  /* V4DF */
+   SFmode,                  /* V16SF */
+   DFmode,                  /* V8DF */
+ };
+ 
+ const unsigned char mode_base_align[NUM_MACHINE_MODES] = 
+ {
+   0,                       /* VOID */
+   0,                       /* BLK */
+   4,                       /* CC */
+   1,                       /* BI */
+   1,                       /* QI */
+   2,                       /* HI */
+   4,                       /* SI */
+   8,                       /* DI */
+   16,                      /* TI */
+   4,                       /* SF */
+   8,                       /* DF */
+   1,                       /* CQI */
+   2,                       /* CHI */
+   4,                       /* CSI */
+   8,                       /* CDI */
+   16,                      /* CTI */
+   4,                       /* SC */
+   8,                       /* DC */
+   2,                       /* V2QI */
+   4,                       /* V4QI */
+   4,                       /* V2HI */
+   8,                       /* V8QI */
+   8,                       /* V4HI */
+   8,                       /* V2SI */
+   8,                       /* V1DI */
+   16,                      /* V16QI */
+   16,                      /* V8HI */
+   16,                      /* V4SI */
+   16,                      /* V2DI */
+   32,                      /* V8SI */
+   32,                      /* V4DI */
+   64,                      /* V8DI */
+   8,                       /* V2SF */
+   16,                      /* V4SF */
+   16,                      /* V2DF */
+   32,                      /* V8SF */
+   32,                      /* V4DF */
+   64,                      /* V16SF */
+   64,                      /* V8DF */
+ };
+ 
+ const unsigned char class_narrowest_mode[MAX_MODE_CLASS] =
+ {
+   MIN_MODE_RANDOM,         /* VOID */
+   MIN_MODE_CC,             /* CC */
+   MIN_MODE_INT,            /* QI */
+   MIN_MODE_PARTIAL_INT,    /* VOID */
+   MIN_MODE_FLOAT,          /* SF */
+   MIN_MODE_COMPLEX_INT,    /* CQI */
+   MIN_MODE_COMPLEX_FLOAT,  /* SC */
+   MIN_MODE_VECTOR_INT,     /* V2QI */
+   MIN_MODE_VECTOR_FLOAT,   /* V2SF */
+ };
+ 
+ const struct real_format *
+  real_format_for_mode[MAX_MODE_FLOAT - MIN_MODE_FLOAT + 1] =
+ {
+   &ieee_single_format,     /* SF */
+   &ieee_double_format,     /* DF */
+ };
+ 
+ void
+ init_adjust_machine_modes (void)
+ {
+   size_t s ATTRIBUTE_UNUSED;
+ }
Index: gcc/gcc/insn-modes.h
diff -c /dev/null gcc/gcc/insn-modes.h:1.3
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-modes.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,83 ----
+ /* Generated automatically from machmode.def
+    by genmodes.  */
+ 
+ #ifndef GCC_INSN_MODES_H
+ #define GCC_INSN_MODES_H
+ 
+ enum machine_mode
+ {
+   VOIDmode,                /* machmode.def:146 */
+   BLKmode,                 /* machmode.def:150 */
+   CCmode,                  /* machmode.def:178 */
+   BImode,                  /* machmode.def:153 */
+   QImode,                  /* machmode.def:158 */
+   HImode,                  /* machmode.def:159 */
+   SImode,                  /* machmode.def:160 */
+   DImode,                  /* machmode.def:161 */
+   TImode,                  /* machmode.def:162 */
+   SFmode,                  /* machmode.def:173 */
+   DFmode,                  /* machmode.def:174 */
+   CQImode,                 /* machmode.def:186 */
+   CHImode,                 /* machmode.def:186 */
+   CSImode,                 /* machmode.def:186 */
+   CDImode,                 /* machmode.def:186 */
+   CTImode,                 /* machmode.def:186 */
+   SCmode,                  /* machmode.def:187 */
+   DCmode,                  /* machmode.def:187 */
+   V2QImode,                /* machmode.def:190 */
+   V4QImode,                /* machmode.def:191 */
+   V2HImode,                /* machmode.def:191 */
+   V8QImode,                /* machmode.def:192 */
+   V4HImode,                /* machmode.def:192 */
+   V2SImode,                /* machmode.def:192 */
+   V1DImode,                /* machmode.def:206 */
+   V16QImode,               /* machmode.def:193 */
+   V8HImode,                /* machmode.def:193 */
+   V4SImode,                /* machmode.def:193 */
+   V2DImode,                /* machmode.def:193 */
+   V8SImode,                /* machmode.def:197 */
+   V4DImode,                /* machmode.def:198 */
+   V8DImode,                /* machmode.def:199 */
+   V2SFmode,                /* machmode.def:209 */
+   V4SFmode,                /* machmode.def:210 */
+   V2DFmode,                /* machmode.def:210 */
+   V8SFmode,                /* machmode.def:214 */
+   V4DFmode,                /* machmode.def:216 */
+   V16SFmode,               /* machmode.def:215 */
+   V8DFmode,                /* machmode.def:217 */
+   MAX_MACHINE_MODE,
+ 
+   MIN_MODE_RANDOM = VOIDmode,
+   MAX_MODE_RANDOM = BLKmode,
+ 
+   MIN_MODE_CC = CCmode,
+   MAX_MODE_CC = CCmode,
+ 
+   MIN_MODE_INT = QImode,
+   MAX_MODE_INT = TImode,
+ 
+   MIN_MODE_PARTIAL_INT = VOIDmode,
+   MAX_MODE_PARTIAL_INT = VOIDmode,
+ 
+   MIN_MODE_FLOAT = SFmode,
+   MAX_MODE_FLOAT = DFmode,
+ 
+   MIN_MODE_COMPLEX_INT = CQImode,
+   MAX_MODE_COMPLEX_INT = CTImode,
+ 
+   MIN_MODE_COMPLEX_FLOAT = SCmode,
+   MAX_MODE_COMPLEX_FLOAT = DCmode,
+ 
+   MIN_MODE_VECTOR_INT = V2QImode,
+   MAX_MODE_VECTOR_INT = V8DImode,
+ 
+   MIN_MODE_VECTOR_FLOAT = V2SFmode,
+   MAX_MODE_VECTOR_FLOAT = V8DFmode,
+ 
+   NUM_MACHINE_MODES = MAX_MACHINE_MODE
+ };
+ 
+ #define CONST_MODE_SIZE const
+ #define CONST_MODE_BASE_ALIGN const
+ 
+ #endif /* insn-modes.h */
Index: gcc/gcc/insn-opinit.c
diff -c /dev/null gcc/gcc/insn-opinit.c:1.6
*** /dev/null	Mon Jun 13 20:10:07 2011
--- gcc/gcc/insn-opinit.c	Wed Dec  2 18:55:47 2009
***************
*** 0 ****
--- 1,136 ----
+ /* Generated automatically by the program `genopinit'
+ from the machine description file `md'.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "rtl.h"
+ #include "flags.h"
+ #include "insn-config.h"
+ #include "recog.h"
+ #include "expr.h"
+ #include "optabs.h"
+ #include "reload.h"
+ 
+ void
+ init_all_optabs (void)
+ {
+ #ifdef FIXUNS_TRUNC_LIKE_FIX_TRUNC
+   int i, j;
+ #endif
+ 
+   tst_optab->handlers[DImode].insn_code = CODE_FOR_tstdi;
+   tst_optab->handlers[SImode].insn_code = CODE_FOR_tstsi;
+   tst_optab->handlers[HImode].insn_code = CODE_FOR_tsthi;
+   tst_optab->handlers[DFmode].insn_code = CODE_FOR_tstdf;
+   tst_optab->handlers[SFmode].insn_code = CODE_FOR_tstsf;
+   cmp_optab->handlers[SImode].insn_code = CODE_FOR_cmpsi;
+   cmp_optab->handlers[HImode].insn_code = CODE_FOR_cmphi;
+   cmp_optab->handlers[QImode].insn_code = CODE_FOR_cmpqi;
+   cmp_optab->handlers[DFmode].insn_code = CODE_FOR_cmpdf;
+   cmp_optab->handlers[SFmode].insn_code = CODE_FOR_cmpsf;
+   mov_optab->handlers[DImode].insn_code = CODE_FOR_movdi;
+   mov_optab->handlers[SImode].insn_code = CODE_FOR_movsi;
+   mov_optab->handlers[HImode].insn_code = CODE_FOR_movhi;
+   mov_optab->handlers[QImode].insn_code = CODE_FOR_movqi;
+   movstrict_optab->handlers[HImode].insn_code = CODE_FOR_movstricthi;
+   mov_optab->handlers[DFmode].insn_code = CODE_FOR_movdf;
+   mov_optab->handlers[SFmode].insn_code = CODE_FOR_movsf;
+   sext_optab->handlers[SImode][HImode].insn_code = CODE_FOR_extendhisi2;
+   sext_optab->handlers[SImode][QImode].insn_code = CODE_FOR_extendqisi2;
+   sext_optab->handlers[HImode][QImode].insn_code = CODE_FOR_extendqihi2;
+   zext_optab->handlers[SImode][HImode].insn_code = CODE_FOR_zero_extendhisi2;
+   zext_optab->handlers[SImode][QImode].insn_code = CODE_FOR_zero_extendqisi2;
+   zext_optab->handlers[HImode][QImode].insn_code = CODE_FOR_zero_extendqihi2;
+   trunc_optab->handlers[HImode][SImode].insn_code = CODE_FOR_truncsihi2;
+   sfixtrunc_optab->handlers[SImode][DFmode].insn_code = CODE_FOR_fix_truncdfsi2;
+   sfloat_optab->handlers[DFmode][SImode].insn_code = CODE_FOR_floatsidf2;
+   trunc_optab->handlers[SFmode][DFmode].insn_code = CODE_FOR_truncdfsf2;
+   sext_optab->handlers[DFmode][SFmode].insn_code = CODE_FOR_extendsfdf2;
+   add_optab->handlers[SImode].insn_code = CODE_FOR_addsi3;
+   add_optab->handlers[HImode].insn_code = CODE_FOR_addhi3;
+   add_optab->handlers[QImode].insn_code = CODE_FOR_addqi3;
+   addv_optab->handlers[DFmode].insn_code =
+     add_optab->handlers[DFmode].insn_code = CODE_FOR_adddf3;
+   addv_optab->handlers[SFmode].insn_code =
+     add_optab->handlers[SFmode].insn_code = CODE_FOR_addsf3;
+   sub_optab->handlers[SImode].insn_code = CODE_FOR_subsi3;
+   sub_optab->handlers[HImode].insn_code = CODE_FOR_subhi3;
+   sub_optab->handlers[QImode].insn_code = CODE_FOR_subqi3;
+   subv_optab->handlers[DFmode].insn_code =
+     sub_optab->handlers[DFmode].insn_code = CODE_FOR_subdf3;
+   subv_optab->handlers[SFmode].insn_code =
+     sub_optab->handlers[SFmode].insn_code = CODE_FOR_subsf3;
+   smulv_optab->handlers[DFmode].insn_code =
+     smul_optab->handlers[DFmode].insn_code = CODE_FOR_muldf3;
+   smulv_optab->handlers[SFmode].insn_code =
+     smul_optab->handlers[SFmode].insn_code = CODE_FOR_mulsf3;
+   sdiv_optab->handlers[DFmode].insn_code = CODE_FOR_divdf3;
+   sdiv_optab->handlers[SFmode].insn_code = CODE_FOR_divsf3;
+   and_optab->handlers[SImode].insn_code = CODE_FOR_andsi3;
+   and_optab->handlers[HImode].insn_code = CODE_FOR_andhi3;
+   and_optab->handlers[QImode].insn_code = CODE_FOR_andqi3;
+   ior_optab->handlers[SImode].insn_code = CODE_FOR_iorsi3;
+   ior_optab->handlers[HImode].insn_code = CODE_FOR_iorhi3;
+   ior_optab->handlers[QImode].insn_code = CODE_FOR_iorqi3;
+   xor_optab->handlers[SImode].insn_code = CODE_FOR_xorsi3;
+   xor_optab->handlers[HImode].insn_code = CODE_FOR_xorhi3;
+   xor_optab->handlers[QImode].insn_code = CODE_FOR_xorqi3;
+   neg_optab->handlers[SImode].insn_code = CODE_FOR_negsi2;
+   neg_optab->handlers[HImode].insn_code = CODE_FOR_neghi2;
+   negv_optab->handlers[DFmode].insn_code =
+     neg_optab->handlers[DFmode].insn_code = CODE_FOR_negdf2;
+   negv_optab->handlers[SFmode].insn_code =
+     neg_optab->handlers[SFmode].insn_code = CODE_FOR_negsf2;
+   abs_optab->handlers[SImode].insn_code = CODE_FOR_abssi2;
+   abs_optab->handlers[HImode].insn_code = CODE_FOR_abshi2;
+   absv_optab->handlers[DFmode].insn_code =
+     abs_optab->handlers[DFmode].insn_code = CODE_FOR_absdf2;
+   absv_optab->handlers[SFmode].insn_code =
+     abs_optab->handlers[SFmode].insn_code = CODE_FOR_abssf2;
+   one_cmpl_optab->handlers[SImode].insn_code = CODE_FOR_one_cmplsi2;
+   one_cmpl_optab->handlers[HImode].insn_code = CODE_FOR_one_cmplhi2;
+   one_cmpl_optab->handlers[QImode].insn_code = CODE_FOR_one_cmplqi2;
+   ashl_optab->handlers[DImode].insn_code = CODE_FOR_ashldi3;
+   ashr_optab->handlers[DImode].insn_code = CODE_FOR_ashrdi3;
+   ashl_optab->handlers[SImode].insn_code = CODE_FOR_ashlsi3;
+   ashr_optab->handlers[SImode].insn_code = CODE_FOR_ashrsi3;
+   ashl_optab->handlers[HImode].insn_code = CODE_FOR_ashlhi3;
+   ashr_optab->handlers[HImode].insn_code = CODE_FOR_ashrhi3;
+   ashl_optab->handlers[QImode].insn_code = CODE_FOR_ashlqi3;
+   ashr_optab->handlers[QImode].insn_code = CODE_FOR_ashrqi3;
+   lshr_optab->handlers[DImode].insn_code = CODE_FOR_lshrdi3;
+   lshr_optab->handlers[SImode].insn_code = CODE_FOR_lshrsi3;
+   lshr_optab->handlers[HImode].insn_code = CODE_FOR_lshrhi3;
+   lshr_optab->handlers[QImode].insn_code = CODE_FOR_lshrqi3;
+   bcc_gen_fctn[EQ] = gen_beq;
+   bcc_gen_fctn[NE] = gen_bne;
+   bcc_gen_fctn[GT] = gen_bgt;
+   bcc_gen_fctn[GTU] = gen_bgtu;
+   bcc_gen_fctn[LT] = gen_blt;
+   bcc_gen_fctn[LTU] = gen_bltu;
+   bcc_gen_fctn[GE] = gen_bge;
+   bcc_gen_fctn[GEU] = gen_bgeu;
+   bcc_gen_fctn[LE] = gen_ble;
+   bcc_gen_fctn[LEU] = gen_bleu;
+   cmpmem_optab[SImode] = CODE_FOR_cmpmemsi;
+   clrstr_optab[SImode] = CODE_FOR_clrstrsi;
+   movstr_optab[SImode] = CODE_FOR_movstrsi;
+   sext_optab->handlers[DImode][SImode].insn_code = CODE_FOR_extendsidi2;
+   zext_optab->handlers[DImode][SImode].insn_code = CODE_FOR_zero_extendsidi2;
+   smul_optab->handlers[SImode].insn_code = CODE_FOR_mulsi3;
+   sdiv_optab->handlers[SImode].insn_code = CODE_FOR_divsi3;
+   udiv_optab->handlers[SImode].insn_code = CODE_FOR_udivsi3;
+   smod_optab->handlers[SImode].insn_code = CODE_FOR_modsi3;
+   umod_optab->handlers[SImode].insn_code = CODE_FOR_umodsi3;
+ 
+ #ifdef FIXUNS_TRUNC_LIKE_FIX_TRUNC
+   /* This flag says the same insns that convert to a signed fixnum
+      also convert validly to an unsigned one.  */
+   for (i = 0; i < NUM_MACHINE_MODES; i++)
+     for (j = 0; j < NUM_MACHINE_MODES; j++)
+       ufixtrunc_optab->handlers[i][j].insn_code
+       = sfixtrunc_optab->handlers[i][j].insn_code;
+ #endif
+ }
Index: gcc/gcc/insn-output.c
diff -c /dev/null gcc/gcc/insn-output.c:1.16
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/insn-output.c	Wed Dec  2 18:55:47 2009
***************
*** 0 ****
--- 1,6410 ----
+ /* Generated automatically by the program `genoutput'
+    from the machine description file `md'.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "flags.h"
+ #include "ggc.h"
+ #include "rtl.h"
+ #include "expr.h"
+ #include "insn-codes.h"
+ #include "tm_p.h"
+ #include "function.h"
+ #include "regs.h"
+ #include "hard-reg-set.h"
+ #include "real.h"
+ #include "insn-config.h"
+ 
+ #include "conditions.h"
+ #include "insn-attr.h"
+ 
+ #include "recog.h"
+ 
+ #include "toplev.h"
+ #include "output.h"
+ #include "target.h"
+ 
+ static const char *
+ output_0 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   return "SRDA	%0,0";
+ }
+ }
+ 
+ static const char *
+ output_1 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LTR	%0,%0";
+ }
+ }
+ 
+ static const char *
+ output_2 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 2);
+   return "CH	%0,=H'0'";
+ }
+ }
+ 
+ static const char *
+ output_3 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LTDR	%0,%0";
+ }
+ }
+ 
+ static const char *
+ output_4 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LTER	%0,%0";
+ }
+ }
+ 
+ static const char *
+ output_5 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 2, 0);
+       if (unsigned_jump_follows_p (insn))
+ 	return "CLR	%0,%1";
+       return "CR	%0,%1";
+     }
+   if (GET_CODE (operands[1]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 4);
+       if (unsigned_jump_follows_p (insn))
+ 	 return "CL	%0,=F'%c1'";
+       return "C	%0,=F'%c1'";
+     }
+   mvs_check_page (0, 4, 0);
+   if (unsigned_jump_follows_p (insn))
+     return "CL	%0,%1";
+   return "C	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_6 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 8, 0);
+       if (unsigned_jump_follows_p (insn))
+ 	return "STH	%1," CONVLO "(,13)\n\tCLM	%0,3," CONVLO "(13)";
+       return "STH	%1," CONVLO "(,13)\n\tCH	%0," CONVLO "(,13)";
+     }
+   if (GET_CODE (operands[1]) == CONST_INT)
+     {
+       if (unsigned_jump_follows_p (insn))
+         {
+       mvs_check_page (0, 4, 2);
+       return "CLM	%0,3,%H1";
+         }
+       mvs_check_page (0, 4, 2);
+       return "CH	%0,%H1";
+     }
+   if (unsigned_jump_follows_p (insn))
+     {
+       mvs_check_page (0, 10, 0);
+       if (REG_P (operands[1]))
+ 	return "STH	%1," CONVLO "(,13)\n\tCLM	%0,3," CONVLO "(13)";
+       return "MVC	" CONVLO "(2,13),%1\n\tCLM	%0,3," CONVLO "(13)";
+     }
+   mvs_check_page (0, 4, 0);
+   return "CH	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_7 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+           return "STC	%1," CONVLO "(,13)\n\tCLM	%0,1," CONVLO "(13)";
+         }
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  mvs_check_page (0, 4, 1);
+           return "CLM	%0,1,=XL1'%X1'";
+         }
+       mvs_check_page (0, 4, 0);
+       return "CLM	%0,1,%1";
+     }
+   else if (GET_CODE (operands[0]) == CONST_INT)
+     {
+       cc_status.flags |= CC_REVERSED;
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 4, 1);
+           return "CLM	%1,1,=XL1'%X0'";
+         }
+       mvs_check_page (0, 4, 0);
+       return "CLI	%1,%B0";
+     }
+   if (GET_CODE (operands[1]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "CLI	%0,%B1";
+     }
+   if (GET_CODE (operands[1]) == MEM)
+     {
+       mvs_check_page (0, 6, 0);
+       return "CLC	%O0(1,%R0),%1";
+     }
+   cc_status.flags |= CC_REVERSED;
+   mvs_check_page (0, 4, 0);
+   return "CLM	%1,1,%0";
+ }
+ }
+ 
+ static const char *
+ output_8 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (unsigned_jump_follows_p (insn))
+     {
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  mvs_check_page (0, 4, 1);
+           return "CLM	%0,1,=XL1'%X1'";
+         }
+       if (!(REG_P (operands[1])))
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+           return "CLM	%0,1,%1";
+         }
+       mvs_check_page (0, 8, 0);
+       return "STC	%1," CONVLO "(,13)\n\tCLM	%0,1," CONVLO "(13)";
+     }
+   if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 18, 0);
+       return "SLL	%0,24\n\tSRA	%0,24\n\tSLL	%1,24\n\tSRA	%1,24\n\tCR	%0,%1";
+     }
+   mvs_check_page (0, 12, 0);
+   return "SLL	%0,24\n\tSRA	%0,24\n\tC	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_9 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "CDR	%0,%1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "CD	%0,%1";
+     }
+   cc_status.flags |= CC_REVERSED;
+   mvs_check_page (0, 4, 0);
+   return "CD	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_10 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+ check_label_emit ();
+   if (FP_REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "CER	%0,%1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "CE	%0,%1";
+     }
+   cc_status.flags |= CC_REVERSED;
+   mvs_check_page (0, 4, 0);
+   return "CE	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_11 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 22, 0);
+   return "CLC	%O1(%c3,%R1),%2\n\tBH	*+12\n\tBL	*+6\n\tSLR	%0,%0\n\tLNR	%0,%0";
+ }
+ }
+ 
+ static const char *
+ output_12 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 18, 0);
+   return "LA	%0,1(0,0)\n\tCLCL	%1,%2\n\tBH	*+12\n\tBL	*+6\n\tSLR	%0,%0\n\tLNR	%0,%0";
+ }
+ }
+ 
+ static const char *
+ output_13 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "STD	%1," CONVLO "(,13)\n\tLM	%0,%N0," CONVLO "(13)";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LR	%0,%1\n\tLR	%N0,%N1";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "SLR	%0,%0\n\tSLR	%N0,%N0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT
+   	  && (unsigned) INTVAL (operands[1]) < 4096)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 6, 0);
+ 	  return "SLR	%0,%0\n\tLA	%N0,%c1(0,0)";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  CC_STATUS_SET (operands[0], operands[1]);
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "L	%0,%1\n\tSRDA	%0,32";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_DOUBLE)
+ 	{
+ 	  mvs_check_page (0, 6, 8);
+ 	  return "LM	%0,%N0,%1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       /*return "LM	%0,%N0,%1";*/
+       return "L	%0,%1\n\tL	%N0,4+%1";
+     }
+   else if (FP_REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STD	%1,%0";
+     }
+   else if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       /*return "STM	%1,%N1,%0"; */
+       return "ST	%1,%0\n\tST	%N1,4+%0"; 
+     }
+   mvs_check_page (0, 6, 8);
+   return "MVC	%O0(8,%R0),%1";
+ }
+ }
+ 
+ static const char *
+ output_14 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "STD	%1," CONVLO "(,13)\n\tLM	%0,%N0," CONVLO "(13)";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LR	%0,%1\n\tLR	%N0,%N1";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "SLR	%0,%0\n\tSLR	%N0,%N0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT
+   	  && (unsigned) INTVAL (operands[1]) < 4096)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 6, 0);
+ 	  return "SLR	%0,%0\n\tLA	%N0,%c1(0,0)";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  CC_STATUS_SET (operands[0], operands[1]);
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "L	%0,%1\n\tSRDA	%0,32";
+ 	}
+       mvs_check_page (0, 4, 0);
+       /*return "LM	%0,%N0,%1";*/
+       return "L	%0,%1\n\tL	%N0,4+%1";
+     }
+   else if (FP_REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STD	%1,%0";
+     }
+   mvs_check_page (0, 4, 0);
+   /*return "STM	%1,%N1,%0"; */
+   return "ST	%1,%0\n\tST	%N1,4+%0"; 
+ }
+ }
+ 
+ static const char *
+ output_15 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "STE	%1," CONVLO "(,13)\n\tL	%0," CONVLO "(,13)";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LR	%0,%1";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SLR	%0,%0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT
+ 	  && (unsigned) INTVAL (operands[1]) < 4096)
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LA	%0,%c1(0,0)";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "L	%0,%1";
+     }
+   else if (FP_REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STE	%1,%0";
+     }
+   else if (!REG_P (operands[1]))
+     {
+       mvs_check_page (0, 6, 0);
+       return "MVC	%O0(4,%R0),%1";
+     }
+   mvs_check_page (0, 4, 0);
+   return "ST	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_16 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LR	%0,%1";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SLR	%0,%0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT
+ 	  && (unsigned) INTVAL (operands[1]) < 4096)
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LA	%0,%c1(0,0)";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  mvs_check_page (0, 4, 2);
+ 	  return "LH	%0,%H1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LH	%0,%1";
+     }
+   else if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STH	%1,%0";
+     }
+   if (GET_CODE (operands[1]) == CONST_INT)
+     {
+       mvs_check_page (0, 6, 2);
+       return "MVC	%O0(2,%R0),%H1";
+     }
+   mvs_check_page (0, 6, 0);
+   return "MVC	%O0(2,%R0),%1";
+ }
+ }
+ 
+ static const char *
+ output_17 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LR	%0,%1";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SLR	%0,%0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT
+ 	  && (unsigned) INTVAL (operands[1]) < 4096)
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LA	%0,%c1(0,0)";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  mvs_check_page (0, 4, 2);
+ 	  return "LH	%0,%H1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LH	%0,%1";
+     }
+   mvs_check_page (0, 4, 0);
+   return "STH	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_18 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LR	%0,%1";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SLR	%0,%0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  if ((INTVAL (operands[1]) >= 0)
+   	      && (unsigned) INTVAL (operands[1]) < 4096)
+ 	    {
+ 	      mvs_check_page (0, 4, 0);
+ 	      return "LA	%0,%c1(0,0)";
+ 	    }
+ 	  mvs_check_page (0, 4, 4);
+ 	  return "L	%0,=F'%c1'";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "IC	%0,%1";
+     }
+   else if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STC	%1,%0";
+     }
+   else if (GET_CODE (operands[1]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "MVI	%0,%B1";
+     }
+   mvs_check_page (0, 6, 0);
+   return "MVC	%O0(1,%R0),%1";
+ }
+ }
+ 
+ static const char *
+ output_19 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LR	%0,%1";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SLR	%0,%0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  if ((INTVAL (operands[1]) >= 0)
+   	      && (unsigned) INTVAL (operands[1]) < 4096)
+ 	    {
+ 	      mvs_check_page (0, 4, 0);
+ 	      return "LA	%0,%c1(0,0)";
+ 	    }
+ 	  mvs_check_page (0, 4, 4);
+ 	  return "L	%0,=F'%c1'";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "IC	%0,%1";
+     }
+   mvs_check_page (0, 4, 0);
+   return "STC	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_20 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 8, 0);
+       return "STH	%1," CONVLO "(,13)\n\tICM	%0,3," CONVLO "(13)";
+     }
+   mvs_check_page (0, 4, 0);
+   return "STH	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_21 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LDR	%0,%1";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "STM	%1,%N1," CONVLO "(13)\n\tLD	%0," CONVLO "(,13)";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_SET (operands[0], operands[1]);
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SDR	%0,%0";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LD	%0,%1";
+     }
+   if (REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 12, 0);
+ 	  return "STD	%1," CONVLO "(,13)\n\tLM	%0,%N0," CONVLO "(13)";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LR	%0,%1\n\tLR	%N0,%N1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LM	%0,%N0,%1";
+       /*return "L	%0,%1\n\tL	%N0,4+%1";*/
+     }
+   else if (FP_REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STD	%1,%0";
+     }
+   else if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       /*return "STM	%1,%N1,%0"; */
+       return "ST	%1,%0\n\tST	%N1,4+%0"; 
+     }
+   mvs_check_page (0, 6, 8);
+   return "MVC	%O0(8,%R0),%1";
+ }
+ }
+ 
+ static const char *
+ output_22 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LDR	%0,%1";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "STM	%1,%N1," CONVLO "(13)\n\tLD	%0," CONVLO "(,13)";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_SET (operands[0], operands[1]);
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SDR	%0,%0";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LD	%0,%1";
+     }
+   else if (REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 12, 0);
+ 	  return "STD	%1," CONVLO "(,13)\n\tLM	%0,%N0," CONVLO "(13)";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LR	%0,%1\n\tLR	%N0,%N1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       /*return "LM	%0,%N0,%1";*/
+       return "L	%0,%1\n\tL	%N0,4+%1";
+     }
+   else if (FP_REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STD	%1,%0";
+     }
+   mvs_check_page (0, 4, 0);
+   /*return "STM	%1,%N1,%0"; */
+   return "ST	%1,%0\n\tST	%N1,4+%0"; 
+ }
+ }
+ 
+ static const char *
+ output_23 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LER	%0,%1";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "ST	%1," CONVLO "(,13)\n\tLE	%0," CONVLO "(,13)";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_SET (operands[0], operands[1]);
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SER	%0,%0";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LE	%0,%1";
+     }
+   else if (REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "STE	%1," CONVLO "(,13)\n\tL	%0," CONVLO "(,13)";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LR	%0,%1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "L	%0,%1";
+     }
+   else if (FP_REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STE	%1,%0";
+     }
+   else if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "ST	%1,%0";
+     }
+   mvs_check_page (0, 6, 0);
+   return "MVC	%O0(4,%R0),%1";
+ }
+ }
+ 
+ static const char *
+ output_24 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "LER	%0,%1";
+ 	}
+       if (REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "ST	%1," CONVLO "(,13)\n\tLE	%0," CONVLO "(,13)";
+ 	}
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_SET (operands[0], operands[1]);
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SER	%0,%0";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LE	%0,%1";
+     }
+   else if (REG_P (operands[0]))
+     {
+       if (FP_REG_P (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 8, 0);
+ 	  return "STE	%1," CONVLO "(,13)\n\tL	%0," CONVLO "(,13)";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "L	%0,%1";
+     }
+   else if (FP_REG_P (operands[1]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "STE	%1,%0";
+     }
+   mvs_check_page (0, 4, 0);
+   return "ST	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_25 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 6, 0);
+   return "MVC	%O0(%c2,%R0),%1";
+ }
+ }
+ 
+ static const char *
+ output_26 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "MVCL	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_27 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       if (REG_P (operands[1]))
+       {
+         if (REGNO (operands[0]) != REGNO (operands[1]))
+ 	  {
+ 	    mvs_check_page (0, 10, 0);
+             return "LR	%0,%1\n\tSLL	%0,16\n\tSRA	%0,16";
+ 	  }
+         else
+           return ""; /* Should be empty.  16-bits regs are always 32-bits.  */
+       }
+       if (operands[1] == const0_rtx)
+ 	{
+ 	  CC_STATUS_INIT;
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "SLR	%0,%0";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT
+  	  && (unsigned) INTVAL (operands[1]) < 4096)
+ 	{
+ 	  mvs_check_page (0, 4, 0);
+ 	  return "LA	%0,%c1(0,0)";
+ 	}
+       if (GET_CODE (operands[1]) == CONST_INT)
+ 	{
+ 	  mvs_check_page (0, 4, 2);
+ 	  return "LH	%0,%H1";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "LH	%0,%1";
+     }
+   mvs_check_page (0, 12, 0);
+   return "SLL	%1,16\n\tSRA	%1,16\n\tST	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_28 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_SET (operands[0], operands[1]);
+   if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 8, 0);
+       return "SLL	%0,24\n\tSRA	%0,24";
+     }
+   if (s_operand (operands[1], GET_MODE (operands[1])))
+     {
+       mvs_check_page (0, 8, 0);
+       return "ICM	%0,8,%1\n\tSRA	%0,24";
+     }
+   mvs_check_page (0, 12, 0);
+   return "IC	%0,%1\n\tSLL	%0,24\n\tSRA	%0,24";
+ }
+ }
+ 
+ static const char *
+ output_29 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_SET (operands[0], operands[1]);
+   if (REG_P (operands[1]))
+     {
+       mvs_check_page (0, 8, 0);
+       return "SLL	%0,24\n\tSRA	%0,24";
+     }
+   if (s_operand (operands[1], GET_MODE (operands[1])))
+     {
+       mvs_check_page (0, 8, 0);
+       return "ICM	%0,8,%1\n\tSRA	%0,24";
+     }
+   mvs_check_page (0, 12, 0);
+   return "IC	%0,%1\n\tSLL	%0,24\n\tSRA	%0,24";
+ }
+ }
+ 
+ static const char *
+ output_30 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   /* AND only sets zero/not-zero bits not the arithmetic bits ...  */
+   CC_STATUS_INIT;
+   mvs_check_page (0, 4, 4);
+   return "N	%1,=XL4'0000FFFF'";
+ }
+ }
+ 
+ static const char *
+ output_31 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[1]))
+     {
+       /* AND only sets zero/not-zero bits not the arithmetic bits ...  */
+       CC_STATUS_INIT;
+       mvs_check_page (0, 4, 4);
+       return "N	%0,=XL4'000000FF'";
+     }
+   if (GET_CODE (operands[1]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "LA	%0,%c1(0,0)";
+     }
+   CC_STATUS_INIT;
+   mvs_check_page (0, 8, 0);
+   return "SLR	%0,%0\n\tIC	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_32 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[1]))
+     {
+       /* AND only sets zero/not-zero bits not the arithmetic bits ...  */
+       CC_STATUS_INIT;
+       mvs_check_page (0, 4, 4);
+       return "N	%0,=XL4'000000FF'";
+     }
+   if (GET_CODE (operands[1]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "LA	%0,%c1(0,0)";
+     }
+   CC_STATUS_INIT;
+   mvs_check_page (0, 8, 0);
+   return "SLR	%0,%0\n\tIC	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_33 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       CC_STATUS_SET (operands[0], operands[1]);
+       mvs_check_page (0, 8, 0);
+       return "SLL	%0,16\n\tSRA	%0,16";
+     }
+   mvs_check_page (0, 4, 0);
+   return "STH	%1,%0";
+ }
+ }
+ 
+ static const char *
+ output_34 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;
+   if (REGNO (operands[1]) == 16)
+     {
+       mvs_check_page (0, 12, 8);
+       return "AD	0,=XL8'4F08000000000000'\n\tSTD	0," CONVLO "(,13)\n\tL	%0," CONVHI "(,13)";
+     }
+   mvs_check_page (0, 14, 8);
+   return "LDR	0,%1\n\tAD	0,=XL8'4F08000000000000'\n\tSTD	0," CONVLO "(,13)\n\tL	%0," CONVHI "(,13)";
+ }
+ }
+ 
+ static const char *
+ output_35 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;
+ #if defined(TARGET_LINUX)
+   mvs_check_page (0, 22, 12);
+   return "MVC	" CONVLO "(4,13),=XL4'4E000000'\n\tST	%1," CONVLO "+4(,13)\n\tXI	" CONVLO "+4(13),128\n\tLD	%0," CONVLO "(,13)\n\tSD	%0,=XL8'4E00000080000000'";
+ #elif defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+   mvs_check_page (0, 22, 12);
+   return "MVC	" CONVLO "(4,13),=XL8'4E00000080000000'\n\tST	%1," CONVHI "(,13)\n\tXI	" CONVHI "(13),128\n\tLD	%0," CONVLO "(,13)\n\tSD	%0,=XL8'4E00000080000000'";
+ #else
+   mvs_check_page (0, 16, 8);
+   return "ST	%1,508(,12)\n\tXI	508(12),128\n\tLD	%0,504(,12)\n\tSD	%0,=XL8'4E00000080000000'";
+ #endif
+ }
+ }
+ 
+ static const char *
+ output_36 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LRER	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_37 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_SET (0, const0_rtx);
+   if (FP_REG_P (operands[1]))
+     {
+       if (REGNO (operands[0]) == REGNO (operands[1]))
+ 	{
+ 	  mvs_check_page (0, 10, 0);
+ 	  return "STE	%1," CONVLO "(,13)\n\tSDR	%0,%0\n\tLE	%0," CONVLO "(,13)";
+ 	}
+       mvs_check_page (0, 4, 0);
+       return "SDR	%0,%0\n\tLER	%0,%1";
+     }
+   mvs_check_page (0, 6, 0);
+   return "SDR	%0,%0\n\tLE	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_38 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   int onpage;
+ 
+   check_label_emit ();
+   onpage = mvs_check_label (CODE_LABEL_NUMBER (operands[3]));
+   if (REG_P (operands[2]))
+     {
+       if (!onpage)
+ 	{
+ 	  mvs_check_page (0, 8, 4);
+ 	  return "ALR	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+ 	}
+       if (mvs_check_page (0, 6, 0))
+ 	{
+ 	  mvs_check_page (0, 2, 4);
+ 	  return "ALR	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+ 	}
+       return "ALR	%0,%2\n\tBC	12,%l3";
+     }
+   if (!onpage)
+     {
+       mvs_check_page (0, 10, 4);
+       return "AL	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+     }
+   if (mvs_check_page (0, 8 ,0))
+     {
+       mvs_check_page (0, 2, 4);
+       return "AL	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+     }
+   return "AL	%0,%2\n\tBC	12,%l3";
+ }
+ }
+ 
+ static const char *
+ output_39 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* add assumes CC but LA doesn't set CC */
+   mvs_check_page (0, 4, 0);
+   return "LA	%0,%c2(,%1)";
+ }
+ }
+ 
+ static const char *
+ output_40 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if ((unsigned) INTVAL (operands[2]) < 4096)
+     {
+       CC_STATUS_INIT;  /* add assumes CC but LA doesn't set CC */
+       mvs_check_page (0, 4, 0);
+       return "LA	%0,%c2(,%1)";
+     }
+   if (REGNO (operands[1]) == REGNO (operands[0]))
+     {
+       CC_STATUS_INIT;
+       mvs_check_page (0, 4, 0);
+       return "A	%0,%2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "L	%0,%2\n\tAR	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_41 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "AR	%0,%2";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       if (INTVAL (operands[2]) == -1)
+ 	{
+           CC_STATUS_INIT;  /* add assumes CC but BCTR doesn't set CC */
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "BCTR	%0,0";
+ 	}
+     }
+   mvs_check_page (0, 4, 0);
+   return "A	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_42 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 8, 0);
+       return "STH	%2," CONVLO "(,13)\n\tAH	%0," CONVLO "(,13)";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       if (INTVAL (operands[2]) == -1)
+ 	{
+           CC_STATUS_INIT;  /* add assumes CC but BCTR doesn't set CC */
+ 	  mvs_check_page (0, 2, 0);
+ 	  return "BCTR	%0,0";
+ 	}
+       mvs_check_page (0, 4, 2);
+       return "AH	%0,%H2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "AH	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_43 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* add assumes CC but LA doesn't set CC */
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2]))
+     return "LA	%0,0(%1,%2)";
+   return "LA	%0,%B2(,%1)";
+ }
+ }
+ 
+ static const char *
+ output_44 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "ADR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "AD	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_45 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "AER	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "AE	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_46 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   int onpage;
+ 
+   check_label_emit ();
+   CC_STATUS_INIT;
+   onpage = mvs_check_label (CODE_LABEL_NUMBER (operands[3]));
+   if (REG_P (operands[2]))
+     {
+       if (!onpage)
+ 	{
+ 	  mvs_check_page (0, 8, 4);
+ 	  return "SLR	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+ 	}
+       if (mvs_check_page (0, 6, 0))
+ 	{
+ 	  mvs_check_page (0, 2, 4);
+ 	  return "SLR	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+ 	}
+       return "SLR	%0,%2\n\tBC	12,%l3";
+     }
+   if (!onpage)
+     {
+       mvs_check_page (0, 10, 4);
+       return "SL	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+     }
+   if (mvs_check_page (0, 8, 0))
+     {
+       mvs_check_page (0, 2, 4);
+       return "SL	%0,%2\n\tL	14,=A(%l3)\n\tBCR	12,14";
+     }
+   return "SL	%0,%2\n\tBC	12,%l3";
+ }
+ }
+ 
+ static const char *
+ output_47 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "SR	%0,%2";
+     }
+   if (operands[2] == const1_rtx)
+     {
+       CC_STATUS_INIT;  /* subtract assumes CC but BCTR doesn't set CC */
+       mvs_check_page (0, 2, 0);
+       return "BCTR	%0,0";
+     }
+   mvs_check_page (0, 4, 0);
+   return "S	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_48 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 8, 0);
+       return "STH	%2," CONVLO "(,13)\n\tSH	%0," CONVLO "(,13)";
+     }
+   if (operands[2] == const1_rtx)
+     {
+       CC_STATUS_INIT;  /* subtract assumes CC but BCTR doesn't set CC */
+       mvs_check_page (0, 2, 0);
+       return "BCTR	%0,0";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 2);
+       return "SH	%0,%H2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "SH	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_49 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "SR	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_50 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "SDR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "SD	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_51 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "SER	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "SE	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_52 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   return "MH	%0,%H2";
+ }
+ }
+ 
+ static const char *
+ output_53 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "MR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "M	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_54 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "MDR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "MD	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_55 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "MER	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "ME	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_56 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "DR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "D	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_57 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "DDR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "DD	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_58 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (FP_REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "DER	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "DE	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_59 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "DR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "D	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_60 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* and sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "NR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "N	%0,%2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "NC	%O0(4,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_61 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* and sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "NR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "N	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_62 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* and sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "NR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       /* %K2 == sign extend operand to 32 bits so that CH works */
+       if (GET_CODE (operands[2]) == CONST_INT)
+         {
+           mvs_check_page (0, 4, 4);
+           return "N	%0,%K2";
+         }
+       mvs_check_page (0, 4, 0);
+       return "N	%0,%2";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 6, 2);
+       return "NC	%O0(2,%R0),%H2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "NC	%O0(2,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_63 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* and sets CC but not how we want it */
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       /* %K2 == sign extend operand to 32 bits so that CH works */
+       mvs_check_page (0, 4, 4);
+       return "N	%0,%K2";
+     }
+   mvs_check_page (0, 2, 0);
+   return "NR	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_64 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* and sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "NR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "N	%0,%2";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "NI	%0,%B2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "NC	%O0(1,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_65 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* and sets CC but not how we want it */
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 4);
+       return "N	%0,=XL4'%X2'";
+     }
+   mvs_check_page (0, 2, 0);
+   return "NR	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_66 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* OR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "OR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "O	%0,%2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "OC	%O0(4,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_67 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* OR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "OR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "O	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_68 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* OR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "OR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "O	%0,%2";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 6, 2);
+       return "OC	%O0(2,%R0),%H2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "OC	%O0(2,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_69 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* OR sets CC but not how we want it */
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 4);
+       return "O	%0,%K2";
+     }
+   mvs_check_page (0, 2, 0);
+   return "OR	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_70 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* OR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "OR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "O	%0,%2";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "OI	%0,%B2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "OC	%O0(1,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_71 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* OR sets CC but not how we want it */
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 4);
+       return "O	%0,=XL4'%X2'";
+     }
+   mvs_check_page (0, 2, 0);
+   return "OR	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_72 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "XR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "X	%0,%2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "XC	%O0(4,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_73 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "XR	%0,%2";
+     }
+   mvs_check_page (0, 4, 0);
+   return "X	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_74 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "XR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       if (GET_CODE (operands[2]) == CONST_INT)
+         {
+           mvs_check_page (0, 4, 4);
+           return "X	%0,%K2";
+         }
+       mvs_check_page (0, 4, 0);
+       return "X	%0,%2";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 6, 2);
+       return "XC	%O0(2,%R0),%H2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "XC	%O0(2,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_75 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 4);
+       return "X	%0,%2";
+     }
+   mvs_check_page (0, 2, 0);
+   return "XR	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_76 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "XR	%0,%2";
+     }
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 0);
+       return "X	%0,%2";
+     }
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "XI	%0,%B2";
+     }
+   mvs_check_page (0, 6, 0);
+   return "XC	%O0(1,%R0),%2";
+ }
+ }
+ 
+ static const char *
+ output_77 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (GET_CODE (operands[2]) == CONST_INT)
+     {
+       mvs_check_page (0, 4, 0);
+       return "X	%0,=XL4'%X2'";
+     }
+   mvs_check_page (0, 2, 0);
+   return "XR	%0,%2";
+ }
+ }
+ 
+ static const char *
+ output_78 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LCR	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_79 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 10, 0);
+   return "SLL	%1,16\n\tSRA	%1,16\n\tLCR	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_80 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LCDR	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_81 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LCER	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_82 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LPR	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_83 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 10, 0);
+   return "SLL	%1,16\n\tSRA	%1,16\n\tLPR	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_84 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LPDR	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_85 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "LPER	%0,%1";
+ }
+ }
+ 
+ static const char *
+ output_86 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 4);
+       return "X	%0,=F'-1'";
+     }
+   CC_STATUS_INIT;
+   mvs_check_page (0, 6, 4);
+   return "XC	%O0(4,%R0),=F'-1'";
+ }
+ }
+ 
+ static const char *
+ output_87 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   mvs_check_page (0, 4, 4);
+   return "X	%0,=F'-1'";
+ }
+ }
+ 
+ static const char *
+ output_88 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 4);
+       return "X	%0,=F'-1'";
+     }
+   mvs_check_page (0, 6, 2);
+   return "XC	%O0(2,%R0),=XL2'FFFF'";
+ }
+ }
+ 
+ static const char *
+ output_89 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   mvs_check_page (0, 4, 4);
+   return "X	%0,=F'-1'";
+ }
+ }
+ 
+ static const char *
+ output_90 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 4, 4);
+       return "X	%0,=F'-1'";
+     }
+   mvs_check_page (0, 4, 0);
+   return "XI	%0,255";
+ }
+ }
+ 
+ static const char *
+ output_91 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
+   mvs_check_page (0, 4, 4);
+   return "X	%0,=F'-1'";
+ }
+ }
+ 
+ static const char *
+ output_92 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   /* this status set seems not have the desired effect,
+    * proably because the 64-bit long-long test is emulated ?! */
+   CC_STATUS_SET (operands[0], operands[1]);
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2]))
+     return "SLDA	%0,0(%2)";
+   return "SLDA	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_93 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   /* this status set seems not have the desired effect,
+    * proably because the 64-bit long-long test is emulated ?! */
+   CC_STATUS_SET (operands[0], operands[1]);
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2])) 
+     return "SRDA	%0,0(%2)";
+   return "SRDA	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_94 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2])) 
+     return "SLL	%0,0(%2)";
+   return "SLL	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_95 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_SET (operands[0], operands[1]);
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2])) 
+     return "SRA	%0,0(%2)";
+   return "SRA	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_96 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 8, 0);
+   if (REG_P (operands[2])) 
+     return "SLL	%0,16(%2)\n\tSRA	%0,16";
+   return "SLL	%0,16+%c2\n\tSRA	%0,16";
+ }
+ }
+ 
+ static const char *
+ output_97 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 8, 0);
+   if (REG_P (operands[2])) 
+     return "SLL	%0,16\n\tSRA	%0,16(%2)";
+   return "SLL	%0,16\n\tSRA	%0,16+%c2";
+ }
+ }
+ 
+ static const char *
+ output_98 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2])) 
+     return "SLL	%0,0(%2)";
+   return "SLL	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_99 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 8, 0);
+   if (REG_P (operands[2])) 
+     return "SLL	%0,24\n\tSRA	%0,24(%2)";
+   return "SLL	%0,24\n\tSRA	%0,24+%c2";
+ }
+ }
+ 
+ static const char *
+ output_100 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2])) 
+     return "SRDL	%0,0(%2)";
+   return "SRDL	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_101 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (REG_P (operands[2])) 
+     return "SRL	%0,0(%2)";
+   return "SRL	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_102 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT; /* AND sets the CC but not how we want it */
+   if (REG_P (operands[2]))
+     {
+       mvs_check_page (0, 8, 4);
+       return "N	%0,=XL4'0000FFFF'\n\tSRL	%0,0(%2)";
+     }
+   mvs_check_page (0, 8, 4);
+   return "N	%0,=XL4'0000FFFF'\n\tSRL	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_103 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   CC_STATUS_INIT; /* AND sets the CC but not how we want it */
+   mvs_check_page (0, 8, 4);
+   if (REG_P (operands[2])) 
+     return "N	%0,=XL4'000000FF'\n\tSRL	%0,0(%2)";
+   return "N	%0,=XL4'000000FF'\n\tSRL	%0,%c2";
+ }
+ }
+ 
+ static const char *
+ output_104 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BE	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBER	14";
+ }
+ }
+ 
+ static const char *
+ output_105 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNE	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNER	14";
+ }
+ }
+ 
+ static const char *
+ output_106 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBHR	14";
+ }
+ }
+ 
+ static const char *
+ output_107 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBHR	14";
+ }
+ }
+ 
+ static const char *
+ output_108 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBLR	14";
+ }
+ }
+ 
+ static const char *
+ output_109 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBLR	14";
+ }
+ }
+ 
+ static const char *
+ output_110 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNLR	14";
+ }
+ }
+ 
+ static const char *
+ output_111 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNLR	14";
+ }
+ }
+ 
+ static const char *
+ output_112 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNHR	14";
+ }
+ }
+ 
+ static const char *
+ output_113 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNHR	14";
+ }
+ }
+ 
+ static const char *
+ output_114 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNE	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNER	14";
+ }
+ }
+ 
+ static const char *
+ output_115 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BE	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBER	14";
+ }
+ }
+ 
+ static const char *
+ output_116 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNHR	14";
+ }
+ }
+ 
+ static const char *
+ output_117 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNHR	14";
+ }
+ }
+ 
+ static const char *
+ output_118 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNLR	14";
+ }
+ }
+ 
+ static const char *
+ output_119 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BNL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBNLR	14";
+ }
+ }
+ 
+ static const char *
+ output_120 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBLR	14";
+ }
+ }
+ 
+ static const char *
+ output_121 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BL	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBLR	14";
+ }
+ }
+ 
+ static const char *
+ output_122 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBHR	14";
+ }
+ }
+ 
+ static const char *
+ output_123 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     { 
+       return "BH	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBHR	14";
+ }
+ }
+ 
+ static const char *
+ output_124 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (mvs_check_label (CODE_LABEL_NUMBER (operands[1])))
+     {
+       return "BCT	%0,%l1";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l1)\n\tBCTR	%0,14";
+ }
+ }
+ 
+ static const char *
+ output_125 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (mvs_check_label (CODE_LABEL_NUMBER (operands[1])))
+     {
+       return "BCT	%0,%l1";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l1)\n\tBCTR	%0,14";
+ }
+ }
+ 
+ static const char *
+ output_126 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 4, 0);
+   if (i370_short_branch(insn) || mvs_check_label (CODE_LABEL_NUMBER (operands[0])))
+     {
+       return "B	%l0";
+     }
+   mvs_check_page (0, 2, 4);
+   return "L	14,=A(%l0)\n\tBR	14";
+ }
+ }
+ 
+ static const char *
+ output_127 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 2, 0);
+       return "BR	%0";
+     }
+   mvs_check_page (0, 4, 0);
+   return "B	%0";
+ }
+ }
+ 
+ static const char *
+ output_128 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   if (REG_P (operands[0]))
+     {
+       mvs_check_page (0, 6, 0);
+       return "BR	%0\n\tDS	0F";
+     }
+   mvs_check_page (0, 10, 0);
+   return "L	14,%0\n\tBR	14\n\tDS	0F";
+ }
+ }
+ 
+ static const char *
+ output_129 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+ 
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 10, 4);
+   sprintf ( temp, "LA	r2,%d(,sp)\n\tLA	15,%%0\n\tBASR	14,15", i );
+   return temp;
+ #else /* STACK_GROWS_DOWNWARD */
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 6, 4);
+   return "LA	15,%0\n\tBASR	14,15";
+ #endif /* STACK_GROWS_DOWNWARD */
+ 
+ #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+ 
+   CC_STATUS_INIT;
+   check_label_emit ();
+   if (mvs_function_check (XSTR (operands[0], 0)))
+     {
+       mvs_check_page (0, 22, 4);
+       sprintf ( temp, "LA	1,136(,13)\n\tST	1,%d(,13)\n\tLA 1,%d(,13)\n\tLA	15,%%0\n\tBALR	14,15\n\tLD	0,136(,13)",
+ 	     i - 4, i - 4 );
+     }
+   else
+     {
+       mvs_check_page (0, 10, 4);
+       sprintf ( temp, "LA	1,%d(,13)\n\tLA	15,%%0\n\tBALR	14,15", i );
+     }
+   return temp;
+ #endif
+ }
+ }
+ 
+ static const char *
+ output_130 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+   mvs_check_page (0, 10, 4);
+   sprintf ( temp, "LA	r2,%d(,sp)\n\tLA	15,%%1\n\tBASR	14,15", i );
+   return temp;     
+ 
+ #else /* STACK_GROWS_DOWNWARD */
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 6, 4);
+   return "LA	15,%1\n\tBASR	14,15";
+ #endif /* STACK_GROWS_DOWNWARD */
+ 
+ #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+ 
+   check_label_emit ();
+   if (mvs_function_check (XSTR (operands[1], 0)))
+     {
+       mvs_check_page (0, 22, 4);
+       sprintf ( temp, "LA	1,136(,13)\n\tST	1,%d(,13)\n\tLA 1,%d(,13)\n\tLA	15,%%1\n\tBALR	14,15\n\tLD	0,136(,13)",
+ 	   i - 4, i - 4 );
+     }
+   else
+     {
+       mvs_check_page (0, 10, 4);
+       sprintf ( temp, "LA	1,%d(,13)\n\tLA	15,%%1\n\tBALR	14,15", i );
+     }
+   return temp;
+ 
+ #endif
+ }
+ }
+ 
+ static const char *
+ output_131 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+   mvs_check_page (0, 10, 4);
+   sprintf ( temp, "LA	r2,%d(,sp)\n\tL	15,%%0\n\tBASR	14,15", i );
+   return temp;
+ 
+ #else /* STACK_GROWS_DOWNWARD */
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 6, 4);
+   return "L	15,%0\n\tBASR	14,15";
+ #endif /* STACK_GROWS_DOWNWARD */
+ 
+ #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+ 
+   check_label_emit ();
+   if (mvs_function_check (XSTR (operands[0], 0)))
+     {
+       mvs_check_page (0, 22, 4);
+       sprintf ( temp, "LA	1,136(,13)\n\tST	1,%d(,13)\n\tLA	1,%d(,13)\n\tL	15,%%0\n\tBALR	14,15\n\tLD	0,136(,13)",
+ 	   i - 4, i - 4 );
+     }
+   else
+     {
+       mvs_check_page (0, 10, 4);
+       sprintf ( temp, "LA	1,%d(,13)\n\tL	15,%%0\n\tBALR	14,15", i );
+     }
+   return temp;
+ #endif
+ }
+ }
+ 
+ static const char *
+ output_132 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+ 
+   check_label_emit ();
+   mvs_check_page (0, 10, 4);
+   sprintf ( temp, "LA	r2,%d(,sp)\n\tL	15,%%1\n\tBASR	14,15", i );
+   return temp;
+ 
+ #else /* STACK_GROWS_DOWNWARD */
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 6, 4);
+   return "L	15,%1\n\tBASR	14,15";
+ #endif /* STACK_GROWS_DOWNWARD */
+ 
+ #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+ 
+   check_label_emit ();
+   if (mvs_function_check (XSTR (operands[1], 0)))
+     {
+       mvs_check_page (0, 22, 4);
+       sprintf ( temp, "LA	1,136(,13)\n\tST	1,%d(,13)\n\tLA	1,%d(,13)\n\tL	15,%%1\n\tBALR	14,15\n\tLD	0,136(,13)",
+ 	   i - 4, i - 4 );
+     }
+   else
+     {
+       mvs_check_page (0, 10, 4);
+       sprintf ( temp, "LA	1,%d(,13)\n\tL	15,%%1\n\tBALR	14,15", i );
+     }
+   return temp;
+ #endif
+ }
+ }
+ 
+ static const char *
+ output_133 (rtx *operands ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+ 
+ {
+   check_label_emit ();
+   mvs_check_page (0, 2, 0);
+   return "NOPR	0";
+ }
+ }
+ 
+ 
+ 
+ static const struct insn_operand_data operand_data[] = 
+ {
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     0
+   },
+   {
+     register_operand,
+     "d",
+     DImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "d",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f",
+     SFmode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "md",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "???diS",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "dS",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "diS",
+     QImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "d",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "di",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f,mF",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF,f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f,mF",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF,f",
+     SFmode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     s_operand,
+     "m",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     s_operand,
+     "m",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     immediate_operand,
+     "I",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "+d",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "+d",
+     DImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "+d",
+     DImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,m,S",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g,d,SF",
+     DImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,dm",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "dimF,*fd",
+     DImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,dm,R",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "dimF,*fd,R",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=R,d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "R,g",
+     HImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,m",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g,d",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=R,d",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "R,g",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,m",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g,d",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "+dm",
+     HImode,
+     1,
+     1
+   },
+   {
+     general_operand,
+     "d",
+     HImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f,m,fS,*dS,???d",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF,f,*dS,fSF,???d",
+     DFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f,m,fS,*d,???d",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF,f,*d,SfF,???d",
+     DFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f*d,fm,S,???d",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF,fF*d,S,???d",
+     SFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f,fm,m,*d",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF,*d,f,fmF",
+     SFmode,
+     0,
+     1
+   },
+   {
+     s_operand,
+     "=m",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     s_operand,
+     "m",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     immediate_operand,
+     "I",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,m",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g,d",
+     HImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0mi",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0m",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     HImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,&d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0i,m",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,&d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0i,m",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d,m",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0,d",
+     SImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "d",
+     SImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF",
+     SFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%0",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%a",
+     SImode,
+     0,
+     1
+   },
+   {
+     immediate_operand,
+     "J",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "%a",
+     SImode,
+     0,
+     1
+   },
+   {
+     immediate_operand,
+     "i",
+     SImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%0",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "dmi",
+     HImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%a",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "ai",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%0",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF",
+     DFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%0",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF",
+     SFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g",
+     HImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     QImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "0",
+     QImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "d",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF",
+     DFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "fmF",
+     SFmode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "0",
+     SImode,
+     0,
+     1
+   },
+   {
+     const_int_operand,
+     "K",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     DImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "0",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "dm",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=d,R",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "%0,0",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g,Si",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=d,S",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "%0,0",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "di,Si",
+     HImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     HImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "%0",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "di",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=d,S",
+     QImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "%0,0",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "dim,Si",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%0",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "di",
+     QImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=d,m",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "%0,0",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g,Si",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=d,m",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "%0,0",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "di,mi",
+     HImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "%0",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "di",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=d,m",
+     QImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "%0,0",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "di,mi",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "d",
+     SImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "d",
+     HImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f",
+     DFmode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=f",
+     SFmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "f",
+     SFmode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=dm",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "0",
+     SImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=dm",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "0",
+     HImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "=dm",
+     QImode,
+     0,
+     1
+   },
+   {
+     r_or_s_operand,
+     "0",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     QImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "Ja",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "Ja",
+     SImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "Ja",
+     SImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     HImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "Ja",
+     SImode,
+     0,
+     1
+   },
+   {
+     nonimmediate_operand,
+     "=d",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "0",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "Ja",
+     SImode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "+d",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "rm",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "am",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     memory_operand,
+     "m",
+     QImode,
+     0,
+     1
+   },
+   {
+     immediate_operand,
+     "i",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "=rf",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     memory_operand,
+     "m",
+     QImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "i",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "i",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "=rf",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     0,
+     "i",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "g",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     BLKmode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     register_operand,
+     "=d",
+     DImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     general_operand,
+     "",
+     SImode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+   {
+     0,
+     "",
+     VOIDmode,
+     0,
+     1
+   },
+ };
+ 
+ 
+ #if GCC_VERSION >= 2007
+ __extension__
+ #endif
+ 
+ const struct insn_data insn_data[] = 
+ {
+   {
+     "tstdi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_0 },
+ #else
+     { 0, 0, output_0 },
+ #endif
+     (insn_gen_fn) gen_tstdi,
+     &operand_data[1],
+     1,
+     0,
+     1,
+     3
+   },
+   {
+     "tstsi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_1 },
+ #else
+     { 0, 0, output_1 },
+ #endif
+     (insn_gen_fn) gen_tstsi,
+     &operand_data[2],
+     1,
+     0,
+     1,
+     3
+   },
+   {
+     "tsthi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_2 },
+ #else
+     { 0, 0, output_2 },
+ #endif
+     (insn_gen_fn) gen_tsthi,
+     &operand_data[3],
+     1,
+     0,
+     1,
+     3
+   },
+   {
+     "tstdf",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_3 },
+ #else
+     { 0, 0, output_3 },
+ #endif
+     (insn_gen_fn) gen_tstdf,
+     &operand_data[4],
+     1,
+     0,
+     1,
+     3
+   },
+   {
+     "tstsf",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_4 },
+ #else
+     { 0, 0, output_4 },
+ #endif
+     (insn_gen_fn) gen_tstsf,
+     &operand_data[5],
+     1,
+     0,
+     1,
+     3
+   },
+   {
+     "cmpsi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_5 },
+ #else
+     { 0, 0, output_5 },
+ #endif
+     (insn_gen_fn) gen_cmpsi,
+     &operand_data[6],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "cmphi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_6 },
+ #else
+     { 0, 0, output_6 },
+ #endif
+     (insn_gen_fn) gen_cmphi,
+     &operand_data[8],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:517",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_7 },
+ #else
+     { 0, 0, output_7 },
+ #endif
+     0,
+     &operand_data[10],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "cmpqi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_8 },
+ #else
+     { 0, 0, output_8 },
+ #endif
+     (insn_gen_fn) gen_cmpqi,
+     &operand_data[12],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "cmpdf",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_9 },
+ #else
+     { 0, 0, output_9 },
+ #endif
+     (insn_gen_fn) gen_cmpdf,
+     &operand_data[14],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "cmpsf",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_10 },
+ #else
+     { 0, 0, output_10 },
+ #endif
+     (insn_gen_fn) gen_cmpsf,
+     &operand_data[16],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "*i370.md:740",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_11 },
+ #else
+     { 0, 0, output_11 },
+ #endif
+     0,
+     &operand_data[18],
+     4,
+     0,
+     1,
+     3
+   },
+   {
+     "cmpmemsi_1",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_12 },
+ #else
+     { 0, 0, output_12 },
+ #endif
+     (insn_gen_fn) gen_cmpmemsi_1,
+     &operand_data[22],
+     3,
+     4,
+     1,
+     3
+   },
+   {
+     "*i370.md:786",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_13 },
+ #else
+     { 0, 0, output_13 },
+ #endif
+     0,
+     &operand_data[25],
+     2,
+     0,
+     3,
+     3
+   },
+   {
+     "movdi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_14 },
+ #else
+     { 0, 0, output_14 },
+ #endif
+     (insn_gen_fn) gen_movdi,
+     &operand_data[27],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "movsi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_15 },
+ #else
+     { 0, 0, output_15 },
+ #endif
+     (insn_gen_fn) gen_movsi,
+     &operand_data[29],
+     2,
+     0,
+     3,
+     3
+   },
+   {
+     "*i370.md:1004",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_16 },
+ #else
+     { 0, 0, output_16 },
+ #endif
+     0,
+     &operand_data[31],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "movhi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_17 },
+ #else
+     { 0, 0, output_17 },
+ #endif
+     (insn_gen_fn) gen_movhi,
+     &operand_data[33],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "*i370.md:1098",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_18 },
+ #else
+     { 0, 0, output_18 },
+ #endif
+     0,
+     &operand_data[35],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "movqi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_19 },
+ #else
+     { 0, 0, output_19 },
+ #endif
+     (insn_gen_fn) gen_movqi,
+     &operand_data[37],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "movstricthi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_20 },
+ #else
+     { 0, 0, output_20 },
+ #endif
+     (insn_gen_fn) gen_movstricthi,
+     &operand_data[39],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:1279",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_21 },
+ #else
+     { 0, 0, output_21 },
+ #endif
+     0,
+     &operand_data[41],
+     2,
+     0,
+     5,
+     3
+   },
+   {
+     "movdf",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_22 },
+ #else
+     { 0, 0, output_22 },
+ #endif
+     (insn_gen_fn) gen_movdf,
+     &operand_data[43],
+     2,
+     0,
+     5,
+     3
+   },
+   {
+     "*i370.md:1404",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_23 },
+ #else
+     { 0, 0, output_23 },
+ #endif
+     0,
+     &operand_data[45],
+     2,
+     0,
+     4,
+     3
+   },
+   {
+     "movsf",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_24 },
+ #else
+     { 0, 0, output_24 },
+ #endif
+     (insn_gen_fn) gen_movsf,
+     &operand_data[47],
+     2,
+     0,
+     4,
+     3
+   },
+   {
+     "*i370.md:1623",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_25 },
+ #else
+     { 0, 0, output_25 },
+ #endif
+     0,
+     &operand_data[49],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "movstrsi_1",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_26 },
+ #else
+     { 0, 0, output_26 },
+ #endif
+     (insn_gen_fn) gen_movstrsi_1,
+     &operand_data[23],
+     2,
+     4,
+     1,
+     3
+   },
+   {
+     "extendhisi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_27 },
+ #else
+     { 0, 0, output_27 },
+ #endif
+     (insn_gen_fn) gen_extendhisi2,
+     &operand_data[52],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "extendqisi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_28 },
+ #else
+     { 0, 0, output_28 },
+ #endif
+     (insn_gen_fn) gen_extendqisi2,
+     &operand_data[54],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "extendqihi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_29 },
+ #else
+     { 0, 0, output_29 },
+ #endif
+     (insn_gen_fn) gen_extendqihi2,
+     &operand_data[56],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "zero_extendhisi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_30 },
+ #else
+     { 0, 0, output_30 },
+ #endif
+     (insn_gen_fn) gen_zero_extendhisi2,
+     &operand_data[58],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "zero_extendqisi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_31 },
+ #else
+     { 0, 0, output_31 },
+ #endif
+     (insn_gen_fn) gen_zero_extendqisi2,
+     &operand_data[60],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "zero_extendqihi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_32 },
+ #else
+     { 0, 0, output_32 },
+ #endif
+     (insn_gen_fn) gen_zero_extendqihi2,
+     &operand_data[62],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "truncsihi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_33 },
+ #else
+     { 0, 0, output_33 },
+ #endif
+     (insn_gen_fn) gen_truncsihi2,
+     &operand_data[64],
+     2,
+     0,
+     2,
+     3
+   },
+   {
+     "fix_truncdfsi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_34 },
+ #else
+     { 0, 0, output_34 },
+ #endif
+     (insn_gen_fn) gen_fix_truncdfsi2,
+     &operand_data[66],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "floatsidf2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_35 },
+ #else
+     { 0, 0, output_35 },
+ #endif
+     (insn_gen_fn) gen_floatsidf2,
+     &operand_data[68],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "truncdfsf2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_36 },
+ #else
+     { 0, 0, output_36 },
+ #endif
+     (insn_gen_fn) gen_truncdfsf2,
+     &operand_data[70],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "extendsfdf2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_37 },
+ #else
+     { 0, 0, output_37 },
+ #endif
+     (insn_gen_fn) gen_extendsfdf2,
+     &operand_data[72],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2057",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_38 },
+ #else
+     { 0, 0, output_38 },
+ #endif
+     0,
+     &operand_data[74],
+     4,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2110",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_39 },
+ #else
+     { 0, 0, output_39 },
+ #endif
+     0,
+     &operand_data[78],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2127",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_40 },
+ #else
+     { 0, 0, output_40 },
+ #endif
+     0,
+     &operand_data[81],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "addsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_41 },
+ #else
+     { 0, 0, output_41 },
+ #endif
+     (insn_gen_fn) gen_addsi3,
+     &operand_data[74],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "addhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_42 },
+ #else
+     { 0, 0, output_42 },
+ #endif
+     (insn_gen_fn) gen_addhi3,
+     &operand_data[84],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "addqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_43 },
+ #else
+     { 0, 0, output_43 },
+ #endif
+     (insn_gen_fn) gen_addqi3,
+     &operand_data[87],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "adddf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_44 },
+ #else
+     { 0, 0, output_44 },
+ #endif
+     (insn_gen_fn) gen_adddf3,
+     &operand_data[90],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "addsf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_45 },
+ #else
+     { 0, 0, output_45 },
+ #endif
+     (insn_gen_fn) gen_addsf3,
+     &operand_data[93],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2326",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_46 },
+ #else
+     { 0, 0, output_46 },
+ #endif
+     0,
+     &operand_data[96],
+     4,
+     0,
+     1,
+     3
+   },
+   {
+     "subsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_47 },
+ #else
+     { 0, 0, output_47 },
+ #endif
+     (insn_gen_fn) gen_subsi3,
+     &operand_data[96],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "subhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_48 },
+ #else
+     { 0, 0, output_48 },
+ #endif
+     (insn_gen_fn) gen_subhi3,
+     &operand_data[100],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "subqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_49 },
+ #else
+     { 0, 0, output_49 },
+ #endif
+     (insn_gen_fn) gen_subqi3,
+     &operand_data[103],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "subdf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_50 },
+ #else
+     { 0, 0, output_50 },
+ #endif
+     (insn_gen_fn) gen_subdf3,
+     &operand_data[106],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "subsf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_51 },
+ #else
+     { 0, 0, output_51 },
+ #endif
+     (insn_gen_fn) gen_subsf3,
+     &operand_data[109],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2588",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_52 },
+ #else
+     { 0, 0, output_52 },
+ #endif
+     0,
+     &operand_data[112],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2604",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_53 },
+ #else
+     { 0, 0, output_53 },
+ #endif
+     0,
+     &operand_data[115],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "muldf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_54 },
+ #else
+     { 0, 0, output_54 },
+ #endif
+     (insn_gen_fn) gen_muldf3,
+     &operand_data[90],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "mulsf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_55 },
+ #else
+     { 0, 0, output_55 },
+ #endif
+     (insn_gen_fn) gen_mulsf3,
+     &operand_data[93],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2767",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_56 },
+ #else
+     { 0, 0, output_56 },
+ #endif
+     0,
+     &operand_data[118],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "divdf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_57 },
+ #else
+     { 0, 0, output_57 },
+ #endif
+     (insn_gen_fn) gen_divdf3,
+     &operand_data[106],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "divsf3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_58 },
+ #else
+     { 0, 0, output_58 },
+ #endif
+     (insn_gen_fn) gen_divsf3,
+     &operand_data[109],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2933",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_59 },
+ #else
+     { 0, 0, output_59 },
+ #endif
+     0,
+     &operand_data[118],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:2983",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_60 },
+ #else
+     { 0, 0, output_60 },
+ #endif
+     0,
+     &operand_data[121],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "andsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_61 },
+ #else
+     { 0, 0, output_61 },
+ #endif
+     (insn_gen_fn) gen_andsi3,
+     &operand_data[74],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3032",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_62 },
+ #else
+     { 0, 0, output_62 },
+ #endif
+     0,
+     &operand_data[124],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "andhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_63 },
+ #else
+     { 0, 0, output_63 },
+ #endif
+     (insn_gen_fn) gen_andhi3,
+     &operand_data[127],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3093",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_64 },
+ #else
+     { 0, 0, output_64 },
+ #endif
+     0,
+     &operand_data[130],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "andqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_65 },
+ #else
+     { 0, 0, output_65 },
+ #endif
+     (insn_gen_fn) gen_andqi3,
+     &operand_data[133],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3173",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_66 },
+ #else
+     { 0, 0, output_66 },
+ #endif
+     0,
+     &operand_data[136],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "iorsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_67 },
+ #else
+     { 0, 0, output_67 },
+ #endif
+     (insn_gen_fn) gen_iorsi3,
+     &operand_data[74],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3222",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_68 },
+ #else
+     { 0, 0, output_68 },
+ #endif
+     0,
+     &operand_data[139],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "iorhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_69 },
+ #else
+     { 0, 0, output_69 },
+ #endif
+     (insn_gen_fn) gen_iorhi3,
+     &operand_data[142],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3276",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_70 },
+ #else
+     { 0, 0, output_70 },
+ #endif
+     0,
+     &operand_data[145],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "iorqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_71 },
+ #else
+     { 0, 0, output_71 },
+ #endif
+     (insn_gen_fn) gen_iorqi3,
+     &operand_data[133],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3356",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_72 },
+ #else
+     { 0, 0, output_72 },
+ #endif
+     0,
+     &operand_data[136],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "xorsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_73 },
+ #else
+     { 0, 0, output_73 },
+ #endif
+     (insn_gen_fn) gen_xorsi3,
+     &operand_data[74],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3405",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_74 },
+ #else
+     { 0, 0, output_74 },
+ #endif
+     0,
+     &operand_data[139],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "xorhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_75 },
+ #else
+     { 0, 0, output_75 },
+ #endif
+     (insn_gen_fn) gen_xorhi3,
+     &operand_data[142],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3464",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_76 },
+ #else
+     { 0, 0, output_76 },
+ #endif
+     0,
+     &operand_data[145],
+     3,
+     0,
+     2,
+     3
+   },
+   {
+     "xorqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_77 },
+ #else
+     { 0, 0, output_77 },
+ #endif
+     (insn_gen_fn) gen_xorqi3,
+     &operand_data[133],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "negsi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_78 },
+ #else
+     { 0, 0, output_78 },
+ #endif
+     (insn_gen_fn) gen_negsi2,
+     &operand_data[148],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "neghi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_79 },
+ #else
+     { 0, 0, output_79 },
+ #endif
+     (insn_gen_fn) gen_neghi2,
+     &operand_data[150],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "negdf2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_80 },
+ #else
+     { 0, 0, output_80 },
+ #endif
+     (insn_gen_fn) gen_negdf2,
+     &operand_data[152],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "negsf2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_81 },
+ #else
+     { 0, 0, output_81 },
+ #endif
+     (insn_gen_fn) gen_negsf2,
+     &operand_data[154],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "abssi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_82 },
+ #else
+     { 0, 0, output_82 },
+ #endif
+     (insn_gen_fn) gen_abssi2,
+     &operand_data[148],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "abshi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_83 },
+ #else
+     { 0, 0, output_83 },
+ #endif
+     (insn_gen_fn) gen_abshi2,
+     &operand_data[150],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "absdf2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_84 },
+ #else
+     { 0, 0, output_84 },
+ #endif
+     (insn_gen_fn) gen_absdf2,
+     &operand_data[152],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "abssf2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_85 },
+ #else
+     { 0, 0, output_85 },
+ #endif
+     (insn_gen_fn) gen_abssf2,
+     &operand_data[154],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3685",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_86 },
+ #else
+     { 0, 0, output_86 },
+ #endif
+     0,
+     &operand_data[156],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "one_cmplsi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_87 },
+ #else
+     { 0, 0, output_87 },
+ #endif
+     (insn_gen_fn) gen_one_cmplsi2,
+     &operand_data[96],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3723",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_88 },
+ #else
+     { 0, 0, output_88 },
+ #endif
+     0,
+     &operand_data[158],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "one_cmplhi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_89 },
+ #else
+     { 0, 0, output_89 },
+ #endif
+     (insn_gen_fn) gen_one_cmplhi2,
+     &operand_data[100],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:3760",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_90 },
+ #else
+     { 0, 0, output_90 },
+ #endif
+     0,
+     &operand_data[160],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "one_cmplqi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_91 },
+ #else
+     { 0, 0, output_91 },
+ #endif
+     (insn_gen_fn) gen_one_cmplqi2,
+     &operand_data[162],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "ashldi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_92 },
+ #else
+     { 0, 0, output_92 },
+ #endif
+     (insn_gen_fn) gen_ashldi3,
+     &operand_data[164],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "ashrdi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_93 },
+ #else
+     { 0, 0, output_93 },
+ #endif
+     (insn_gen_fn) gen_ashrdi3,
+     &operand_data[167],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "ashlsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_94 },
+ #else
+     { 0, 0, output_94 },
+ #endif
+     (insn_gen_fn) gen_ashlsi3,
+     &operand_data[170],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "ashrsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_95 },
+ #else
+     { 0, 0, output_95 },
+ #endif
+     (insn_gen_fn) gen_ashrsi3,
+     &operand_data[170],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "ashlhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_96 },
+ #else
+     { 0, 0, output_96 },
+ #endif
+     (insn_gen_fn) gen_ashlhi3,
+     &operand_data[173],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "ashrhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_97 },
+ #else
+     { 0, 0, output_97 },
+ #endif
+     (insn_gen_fn) gen_ashrhi3,
+     &operand_data[173],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "ashlqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_98 },
+ #else
+     { 0, 0, output_98 },
+ #endif
+     (insn_gen_fn) gen_ashlqi3,
+     &operand_data[176],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "ashrqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_99 },
+ #else
+     { 0, 0, output_99 },
+ #endif
+     (insn_gen_fn) gen_ashrqi3,
+     &operand_data[176],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "lshrdi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_100 },
+ #else
+     { 0, 0, output_100 },
+ #endif
+     (insn_gen_fn) gen_lshrdi3,
+     &operand_data[164],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "lshrsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_101 },
+ #else
+     { 0, 0, output_101 },
+ #endif
+     (insn_gen_fn) gen_lshrsi3,
+     &operand_data[170],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "lshrhi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_102 },
+ #else
+     { 0, 0, output_102 },
+ #endif
+     (insn_gen_fn) gen_lshrhi3,
+     &operand_data[173],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "lshrqi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_103 },
+ #else
+     { 0, 0, output_103 },
+ #endif
+     (insn_gen_fn) gen_lshrqi3,
+     &operand_data[176],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "beq",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_104 },
+ #else
+     { 0, 0, output_104 },
+ #endif
+     (insn_gen_fn) gen_beq,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "bne",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_105 },
+ #else
+     { 0, 0, output_105 },
+ #endif
+     (insn_gen_fn) gen_bne,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "bgt",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_106 },
+ #else
+     { 0, 0, output_106 },
+ #endif
+     (insn_gen_fn) gen_bgt,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "bgtu",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_107 },
+ #else
+     { 0, 0, output_107 },
+ #endif
+     (insn_gen_fn) gen_bgtu,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "blt",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_108 },
+ #else
+     { 0, 0, output_108 },
+ #endif
+     (insn_gen_fn) gen_blt,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "bltu",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_109 },
+ #else
+     { 0, 0, output_109 },
+ #endif
+     (insn_gen_fn) gen_bltu,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "bge",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_110 },
+ #else
+     { 0, 0, output_110 },
+ #endif
+     (insn_gen_fn) gen_bge,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "bgeu",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_111 },
+ #else
+     { 0, 0, output_111 },
+ #endif
+     (insn_gen_fn) gen_bgeu,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "ble",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_112 },
+ #else
+     { 0, 0, output_112 },
+ #endif
+     (insn_gen_fn) gen_ble,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "bleu",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_113 },
+ #else
+     { 0, 0, output_113 },
+ #endif
+     (insn_gen_fn) gen_bleu,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4332",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_114 },
+ #else
+     { 0, 0, output_114 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4355",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_115 },
+ #else
+     { 0, 0, output_115 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4378",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_116 },
+ #else
+     { 0, 0, output_116 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4401",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_117 },
+ #else
+     { 0, 0, output_117 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4424",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_118 },
+ #else
+     { 0, 0, output_118 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4447",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_119 },
+ #else
+     { 0, 0, output_119 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4470",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_120 },
+ #else
+     { 0, 0, output_120 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4493",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_121 },
+ #else
+     { 0, 0, output_121 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4516",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_122 },
+ #else
+     { 0, 0, output_122 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4539",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_123 },
+ #else
+     { 0, 0, output_123 },
+ #endif
+     0,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "*i370.md:4567",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_124 },
+ #else
+     { 0, 0, output_124 },
+ #endif
+     0,
+     &operand_data[179],
+     2,
+     2,
+     1,
+     3
+   },
+   {
+     "*i370.md:4595",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_125 },
+ #else
+     { 0, 0, output_125 },
+ #endif
+     0,
+     &operand_data[179],
+     2,
+     2,
+     1,
+     3
+   },
+   {
+     "jump",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_126 },
+ #else
+     { 0, 0, output_126 },
+ #endif
+     (insn_gen_fn) gen_jump,
+     &operand_data[77],
+     1,
+     0,
+     0,
+     3
+   },
+   {
+     "indirect_jump",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_127 },
+ #else
+     { 0, 0, output_127 },
+ #endif
+     (insn_gen_fn) gen_indirect_jump,
+     &operand_data[181],
+     1,
+     0,
+     1,
+     3
+   },
+   {
+     "tablejump",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_128 },
+ #else
+     { 0, 0, output_128 },
+ #endif
+     (insn_gen_fn) gen_tablejump,
+     &operand_data[182],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "call",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_129 },
+ #else
+     { 0, 0, output_129 },
+ #endif
+     (insn_gen_fn) gen_call,
+     &operand_data[184],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "call_value",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_130 },
+ #else
+     { 0, 0, output_130 },
+ #endif
+     (insn_gen_fn) gen_call_value,
+     &operand_data[186],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:4821",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_131 },
+ #else
+     { 0, 0, output_131 },
+ #endif
+     0,
+     &operand_data[189],
+     2,
+     0,
+     1,
+     3
+   },
+   {
+     "*i370.md:4869",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_132 },
+ #else
+     { 0, 0, output_132 },
+ #endif
+     0,
+     &operand_data[191],
+     3,
+     0,
+     1,
+     3
+   },
+   {
+     "nop",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { .function = output_133 },
+ #else
+     { 0, 0, output_133 },
+ #endif
+     (insn_gen_fn) gen_nop,
+     &operand_data[0],
+     0,
+     0,
+     0,
+     3
+   },
+   {
+     "cmpmemsi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_cmpmemsi,
+     &operand_data[194],
+     5,
+     0,
+     0,
+     0
+   },
+   {
+     "clrstrsi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_clrstrsi,
+     &operand_data[199],
+     3,
+     0,
+     1,
+     0
+   },
+   {
+     "movstrsi",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_movstrsi,
+     &operand_data[202],
+     4,
+     0,
+     0,
+     0
+   },
+   {
+     "extendsidi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_extendsidi2,
+     &operand_data[206],
+     2,
+     0,
+     1,
+     0
+   },
+   {
+     "zero_extendsidi2",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_zero_extendsidi2,
+     &operand_data[206],
+     2,
+     0,
+     1,
+     0
+   },
+   {
+     "mulsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_mulsi3,
+     &operand_data[207],
+     3,
+     0,
+     0,
+     0
+   },
+   {
+     "divsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_divsi3,
+     &operand_data[207],
+     3,
+     0,
+     0,
+     0
+   },
+   {
+     "udivsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_udivsi3,
+     &operand_data[207],
+     3,
+     0,
+     0,
+     0
+   },
+   {
+     "modsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_modsi3,
+     &operand_data[207],
+     3,
+     0,
+     0,
+     0
+   },
+   {
+     "umodsi3",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_umodsi3,
+     &operand_data[207],
+     3,
+     0,
+     0,
+     0
+   },
+   {
+     "untyped_call",
+ #if HAVE_DESIGNATED_INITIALIZERS
+     { 0 },
+ #else
+     { 0, 0, 0 },
+ #endif
+     (insn_gen_fn) gen_untyped_call,
+     &operand_data[210],
+     3,
+     0,
+     0,
+     0
+   },
+ };
+ 
+ 
+ const char *
+ get_insn_name (int code)
+ {
+   if (code == NOOP_MOVE_INSN_CODE)
+     return "NOOP_MOVE";
+   else
+     return insn_data[code].name;
+ }
Index: gcc/gcc/insn-peep.c
diff -c /dev/null gcc/gcc/insn-peep.c:1.3
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/insn-peep.c	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,37 ----
+ /* Generated automatically by the program `genpeep'
+ from the machine description file `md'.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "insn-config.h"
+ #include "rtl.h"
+ #include "tm_p.h"
+ #include "regs.h"
+ #include "output.h"
+ #include "real.h"
+ #include "recog.h"
+ #include "except.h"
+ 
+ #include "function.h"
+ 
+ #ifdef HAVE_peephole
+ extern rtx peep_operand[];
+ 
+ #define operands peep_operand
+ 
+ rtx
+ peephole (rtx ins1)
+ {
+   rtx insn ATTRIBUTE_UNUSED, x ATTRIBUTE_UNUSED, pat ATTRIBUTE_UNUSED;
+ 
+   if (NEXT_INSN (ins1)
+       && GET_CODE (NEXT_INSN (ins1)) == BARRIER)
+     return 0;
+ 
+   return 0;
+ }
+ 
+ rtx peep_operand[2];
+ #endif
Index: gcc/gcc/insn-recog.c
diff -c /dev/null gcc/gcc/insn-recog.c:1.10
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/insn-recog.c	Wed Nov  4 16:21:19 2009
***************
*** 0 ****
--- 1,3621 ----
+ /* Generated automatically by the program `genrecog' from the target
+    machine description file.  */
+ 
+ #include "config.h"
+ #include "system.h"
+ #include "coretypes.h"
+ #include "tm.h"
+ #include "rtl.h"
+ #include "tm_p.h"
+ #include "function.h"
+ #include "insn-config.h"
+ #include "recog.h"
+ #include "real.h"
+ #include "output.h"
+ #include "flags.h"
+ #include "hard-reg-set.h"
+ #include "resource.h"
+ #include "toplev.h"
+ #include "reload.h"
+ 
+ 
+ 
+ /* `recog' contains a decision tree that recognizes whether the rtx
+    X0 is a valid instruction.
+ 
+    recog returns -1 if the rtx is not valid.  If the rtx is valid, recog
+    returns a nonnegative number which is the insn code number for the
+    pattern that matched.  This is the same as the order in the machine
+    description of the entry that matched.  This number can be used as an
+    index into `insn_data' and other tables.
+ 
+    The third argument to recog is an optional pointer to an int.  If
+    present, recog will accept a pattern if it matches except for missing
+    CLOBBER expressions at the end.  In that case, the value pointed to by
+    the optional pointer will be set to the number of CLOBBERs that need
+    to be added (it should be initialized to zero by the caller).  If it
+    is set nonzero, the caller should allocate a PARALLEL of the
+    appropriate size, copy the initial entries, and call add_clobbers
+    (found in insn-emit.c) to fill in the CLOBBERs.
+ 
+ 
+    The function split_insns returns 0 if the rtl could not
+    be split or the split rtl as an INSN list if it can be.
+ 
+    The function peephole2_insns returns 0 if the rtl could not
+    be matched. If there was a match, the new rtl is returned in an INSN list,
+    and LAST_INSN will point to the last recognized insn in the old sequence.
+ */
+ 
+ 
+ 
+ 
+ 
+ static int
+ recog_1 (rtx x0 ATTRIBUTE_UNUSED,
+ 	rtx insn ATTRIBUTE_UNUSED,
+ 	int *pnum_clobbers ATTRIBUTE_UNUSED)
+ {
+   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
+   rtx x1 ATTRIBUTE_UNUSED;
+   rtx x2 ATTRIBUTE_UNUSED;
+   rtx x3 ATTRIBUTE_UNUSED;
+   rtx x4 ATTRIBUTE_UNUSED;
+   rtx x5 ATTRIBUTE_UNUSED;
+   int tem ATTRIBUTE_UNUSED;
+ 
+   x1 = XEXP (x0, 0);
+   switch (GET_MODE (x1))
+     {
+     case DImode:
+       goto L779;
+     case SImode:
+       goto L780;
+     case HImode:
+       goto L781;
+     case QImode:
+       goto L783;
+     case DFmode:
+       goto L785;
+     case SFmode:
+       goto L786;
+     default:
+       break;
+     }
+  L1: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case CC0:
+       goto L2;
+     case STRICT_LOW_PART:
+       goto L97;
+     case PC:
+       goto L529;
+     default:
+      break;
+    }
+  L759: ATTRIBUTE_UNUSED_LABEL
+   operands[0] = x1;
+   goto L760;
+ 
+  L779: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, DImode))
+     {
+       operands[0] = x1;
+       goto L469;
+     }
+  L790: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x1, DImode))
+     {
+       operands[0] = x1;
+       goto L276;
+     }
+   goto L1;
+ 
+  L469: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == DImode)
+     goto L794;
+  L73: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, DImode))
+     {
+       operands[1] = x1;
+       goto L74;
+     }
+  L77: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, DImode))
+     {
+       operands[1] = x1;
+       return 14;
+     }
+   x1 = XEXP (x0, 0);
+   goto L790;
+ 
+  L794: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case ASHIFT:
+       goto L470;
+     case LSHIFTRT:
+       goto L510;
+     default:
+      break;
+    }
+   goto L73;
+ 
+  L470: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DImode))
+     {
+       operands[1] = x2;
+       goto L471;
+     }
+   goto L73;
+ 
+  L471: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 92;
+     }
+   goto L73;
+ 
+  L510: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DImode))
+     {
+       operands[1] = x2;
+       goto L511;
+     }
+   goto L73;
+ 
+  L511: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 100;
+     }
+   goto L73;
+ 
+  L74: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 13;
+     }
+   x1 = XEXP (x0, 1);
+   goto L77;
+ 
+  L276: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == DImode)
+     goto L796;
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L796: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case MULT:
+       goto L277;
+     case DIV:
+       goto L292;
+     case MOD:
+       goto L307;
+     case ASHIFTRT:
+       goto L475;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L277: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DImode))
+     {
+       operands[1] = x2;
+       goto L278;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L278: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 53;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L292: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (register_operand (x2, DImode))
+     {
+       operands[1] = x2;
+       goto L293;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L293: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 56;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L307: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (register_operand (x2, DImode))
+     {
+       operands[1] = x2;
+       goto L308;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L308: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 59;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L475: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DImode))
+     {
+       operands[1] = x2;
+       goto L476;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L476: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 93;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L780: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, SImode))
+     {
+       operands[0] = x1;
+       goto L136;
+     }
+  L787: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x1, SImode))
+     {
+       operands[0] = x1;
+       goto L199;
+     }
+  L788: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, SImode))
+     {
+       operands[0] = x1;
+       goto L211;
+     }
+  L791: ATTRIBUTE_UNUSED_LABEL
+   if (r_or_s_operand (x1, SImode))
+     {
+       operands[0] = x1;
+       goto L311;
+     }
+  L792: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, SImode))
+     {
+       operands[0] = x1;
+       goto L317;
+     }
+   goto L1;
+ 
+  L136: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == SImode)
+     goto L800;
+  L80: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, SImode))
+     {
+       operands[1] = x1;
+       return 15;
+     }
+   x1 = XEXP (x0, 0);
+   goto L787;
+ 
+  L800: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case SIGN_EXTEND:
+       goto L137;
+     case ZERO_EXTEND:
+       goto L149;
+     case FIX:
+       goto L173;
+     default:
+      break;
+    }
+   goto L80;
+ 
+  L137: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       return 27;
+     }
+  L141: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       return 28;
+     }
+   goto L80;
+ 
+  L149: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       return 30;
+     }
+  L153: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       return 31;
+     }
+   goto L80;
+ 
+  L173: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (GET_MODE (x2) == DFmode
+       && GET_CODE (x2) == TRUNCATE)
+     goto L174;
+   goto L80;
+ 
+  L174: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (general_operand (x3, DFmode))
+     {
+       operands[1] = x3;
+       goto L175;
+     }
+   goto L80;
+ 
+  L175: ATTRIBUTE_UNUSED_LABEL
+   if (pnum_clobbers != NULL)
+     {
+       *pnum_clobbers = 1;
+       return 34;
+     }
+   x1 = XEXP (x0, 1);
+   goto L80;
+ 
+  L199: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == SImode)
+     goto L803;
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L803: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case PLUS:
+       goto L200;
+     case MULT:
+       goto L271;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L200: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L201;
+     }
+  L206: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L207;
+     }
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L201: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (immediate_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       goto L202;
+     }
+   x2 = XEXP (x1, 0);
+   goto L206;
+ 
+  L202: ATTRIBUTE_UNUSED_LABEL
+   if ((((REGNO (operands[1]) == FRAME_POINTER_REGNUM || REGNO (operands[1]) == ARG_POINTER_REGNUM || REGNO (operands[1]) == STACK_POINTER_REGNUM) && (unsigned) INTVAL (operands[2]) < 4096)))
+     {
+       return 39;
+     }
+   x1 = XEXP (x0, 1);
+   x2 = XEXP (x1, 0);
+   goto L206;
+ 
+  L207: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (immediate_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       goto L208;
+     }
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L208: ATTRIBUTE_UNUSED_LABEL
+   if ((REGNO (operands[1]) == FRAME_POINTER_REGNUM))
+     {
+       return 40;
+     }
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L271: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (register_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L272;
+     }
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L272: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (const_int_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       goto L273;
+     }
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L273: ATTRIBUTE_UNUSED_LABEL
+   if ((CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K')))
+     {
+       return 52;
+     }
+   x1 = XEXP (x0, 0);
+   goto L788;
+ 
+  L211: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == SImode)
+     goto L805;
+   x1 = XEXP (x0, 0);
+   goto L791;
+ 
+  L805: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case PLUS:
+       goto L212;
+     case MINUS:
+       goto L246;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L791;
+ 
+  L212: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L213;
+     }
+   x1 = XEXP (x0, 0);
+   goto L791;
+ 
+  L213: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 41;
+     }
+   x1 = XEXP (x0, 0);
+   goto L791;
+ 
+  L246: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L247;
+     }
+   x1 = XEXP (x0, 0);
+   goto L791;
+ 
+  L247: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 47;
+     }
+   x1 = XEXP (x0, 0);
+   goto L791;
+ 
+  L311: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == SImode)
+     goto L807;
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L807: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case AND:
+       goto L312;
+     case IOR:
+       goto L345;
+     case XOR:
+       goto L378;
+     case NOT:
+       goto L443;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L312: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L313;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L313: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       goto L314;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L314: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 60;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L345: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L346;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L346: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       goto L347;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L347: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 66;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L378: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L379;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L379: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       goto L380;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L380: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 72;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L443: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L444;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L444: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 86;
+     }
+   x1 = XEXP (x0, 0);
+   goto L792;
+ 
+  L317: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == SImode)
+     goto L811;
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L811: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case AND:
+       goto L318;
+     case IOR:
+       goto L351;
+     case XOR:
+       goto L384;
+     case NEG:
+       goto L411;
+     case ABS:
+       goto L427;
+     case NOT:
+       goto L448;
+     case ASHIFT:
+       goto L480;
+     case ASHIFTRT:
+       goto L485;
+     case LSHIFTRT:
+       goto L515;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L318: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L319;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L319: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 61;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L351: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L352;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L352: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 67;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L384: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L385;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L385: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 73;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L411: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       return 78;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L427: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       return 82;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L448: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       return 87;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L480: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L481;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L481: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 94;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L485: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L486;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L486: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 95;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L515: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       goto L516;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L516: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 101;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L781: ATTRIBUTE_UNUSED_LABEL
+   if (r_or_s_operand (x1, HImode))
+     {
+       operands[0] = x1;
+       goto L322;
+     }
+  L782: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, HImode))
+     {
+       operands[0] = x1;
+       goto L144;
+     }
+  L793: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x1, HImode))
+     {
+       operands[0] = x1;
+       goto L328;
+     }
+   goto L1;
+ 
+  L322: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == HImode)
+     goto L820;
+  L83: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, HImode))
+     {
+       operands[1] = x1;
+       goto L84;
+     }
+   x1 = XEXP (x0, 0);
+   goto L782;
+ 
+  L820: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case AND:
+       goto L323;
+     case IOR:
+       goto L356;
+     case XOR:
+       goto L389;
+     case NOT:
+       goto L452;
+     default:
+      break;
+    }
+   goto L83;
+ 
+  L323: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L324;
+     }
+   goto L83;
+ 
+  L324: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       goto L325;
+     }
+   goto L83;
+ 
+  L325: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 62;
+     }
+   x1 = XEXP (x0, 1);
+   goto L83;
+ 
+  L356: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L357;
+     }
+   goto L83;
+ 
+  L357: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       goto L358;
+     }
+   goto L83;
+ 
+  L358: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 68;
+     }
+   x1 = XEXP (x0, 1);
+   goto L83;
+ 
+  L389: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L390;
+     }
+   goto L83;
+ 
+  L390: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       goto L391;
+     }
+   goto L83;
+ 
+  L391: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 74;
+     }
+   x1 = XEXP (x0, 1);
+   goto L83;
+ 
+  L452: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L453;
+     }
+   goto L83;
+ 
+  L453: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 88;
+     }
+   x1 = XEXP (x0, 1);
+   goto L83;
+ 
+  L84: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 16;
+     }
+   x1 = XEXP (x0, 0);
+   goto L782;
+ 
+  L144: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == HImode)
+     goto L824;
+  L87: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, HImode))
+     {
+       operands[1] = x1;
+       return 17;
+     }
+   x1 = XEXP (x0, 0);
+   goto L793;
+ 
+  L824: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case SIGN_EXTEND:
+       goto L145;
+     case ZERO_EXTEND:
+       goto L157;
+     case TRUNCATE:
+       goto L161;
+     case PLUS:
+       goto L217;
+     case MINUS:
+       goto L251;
+     case IOR:
+       goto L362;
+     case XOR:
+       goto L395;
+     case NEG:
+       goto L415;
+     case ABS:
+       goto L431;
+     case NOT:
+       goto L457;
+     case ASHIFT:
+       goto L490;
+     case ASHIFTRT:
+       goto L495;
+     case LSHIFTRT:
+       goto L520;
+     default:
+      break;
+    }
+   goto L87;
+ 
+  L145: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       return 29;
+     }
+   goto L87;
+ 
+  L157: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       return 32;
+     }
+   goto L87;
+ 
+  L161: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       return 33;
+     }
+   goto L87;
+ 
+  L217: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L218;
+     }
+   goto L87;
+ 
+  L218: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       return 42;
+     }
+   goto L87;
+ 
+  L251: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L252;
+     }
+   goto L87;
+ 
+  L252: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       return 48;
+     }
+   goto L87;
+ 
+  L362: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L363;
+     }
+   goto L87;
+ 
+  L363: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       return 69;
+     }
+   goto L87;
+ 
+  L395: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L396;
+     }
+   goto L87;
+ 
+  L396: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       return 75;
+     }
+   goto L87;
+ 
+  L415: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       return 79;
+     }
+   goto L87;
+ 
+  L431: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       return 83;
+     }
+   goto L87;
+ 
+  L457: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       return 89;
+     }
+   goto L87;
+ 
+  L490: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L491;
+     }
+   goto L87;
+ 
+  L491: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 96;
+     }
+   goto L87;
+ 
+  L495: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L496;
+     }
+   goto L87;
+ 
+  L496: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 97;
+     }
+   goto L87;
+ 
+  L520: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L521;
+     }
+   goto L87;
+ 
+  L521: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 102;
+     }
+   goto L87;
+ 
+  L328: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == HImode
+       && GET_CODE (x1) == AND)
+     goto L329;
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L329: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (register_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       goto L330;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L330: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[2] = x2;
+       return 63;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L783: ATTRIBUTE_UNUSED_LABEL
+   if (r_or_s_operand (x1, QImode))
+     {
+       operands[0] = x1;
+       goto L333;
+     }
+  L784: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, QImode))
+     {
+       operands[0] = x1;
+       goto L221;
+     }
+  L789: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x1, QImode))
+     {
+       operands[0] = x1;
+       goto L255;
+     }
+   goto L1;
+ 
+  L333: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == QImode)
+     goto L837;
+  L90: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, QImode))
+     {
+       operands[1] = x1;
+       goto L91;
+     }
+   x1 = XEXP (x0, 0);
+   goto L784;
+ 
+  L837: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case AND:
+       goto L334;
+     case IOR:
+       goto L367;
+     case XOR:
+       goto L400;
+     case NOT:
+       goto L461;
+     default:
+      break;
+    }
+   goto L90;
+ 
+  L334: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L335;
+     }
+   goto L90;
+ 
+  L335: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       goto L336;
+     }
+   goto L90;
+ 
+  L336: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 64;
+     }
+   x1 = XEXP (x0, 1);
+   goto L90;
+ 
+  L367: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L368;
+     }
+   goto L90;
+ 
+  L368: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       goto L369;
+     }
+   goto L90;
+ 
+  L369: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 70;
+     }
+   x1 = XEXP (x0, 1);
+   goto L90;
+ 
+  L400: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L401;
+     }
+   goto L90;
+ 
+  L401: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       goto L402;
+     }
+   goto L90;
+ 
+  L402: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 76;
+     }
+   x1 = XEXP (x0, 1);
+   goto L90;
+ 
+  L461: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (r_or_s_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L462;
+     }
+   goto L90;
+ 
+  L462: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 90;
+     }
+   x1 = XEXP (x0, 1);
+   goto L90;
+ 
+  L91: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 18;
+     }
+   x1 = XEXP (x0, 0);
+   goto L784;
+ 
+  L221: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == QImode)
+     goto L841;
+  L94: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, QImode))
+     {
+       operands[1] = x1;
+       return 19;
+     }
+   x1 = XEXP (x0, 0);
+   goto L789;
+ 
+  L841: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case PLUS:
+       goto L222;
+     case AND:
+       goto L340;
+     case IOR:
+       goto L373;
+     case XOR:
+       goto L406;
+     case NOT:
+       goto L466;
+     case ASHIFT:
+       goto L500;
+     case ASHIFTRT:
+       goto L505;
+     case LSHIFTRT:
+       goto L525;
+     default:
+      break;
+    }
+   goto L94;
+ 
+  L222: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L223;
+     }
+   goto L94;
+ 
+  L223: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       return 43;
+     }
+   goto L94;
+ 
+  L340: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L341;
+     }
+   goto L94;
+ 
+  L341: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       return 65;
+     }
+   goto L94;
+ 
+  L373: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L374;
+     }
+   goto L94;
+ 
+  L374: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       return 71;
+     }
+   goto L94;
+ 
+  L406: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L407;
+     }
+   goto L94;
+ 
+  L407: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       return 77;
+     }
+   goto L94;
+ 
+  L466: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       return 91;
+     }
+   goto L94;
+ 
+  L500: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L501;
+     }
+   goto L94;
+ 
+  L501: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 98;
+     }
+   goto L94;
+ 
+  L505: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L506;
+     }
+   goto L94;
+ 
+  L506: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 99;
+     }
+   goto L94;
+ 
+  L525: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L526;
+     }
+   goto L94;
+ 
+  L526: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 103;
+     }
+   goto L94;
+ 
+  L255: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == QImode
+       && GET_CODE (x1) == MINUS)
+     goto L256;
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L256: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (register_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L257;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L257: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (register_operand (x2, QImode))
+     {
+       operands[2] = x2;
+       return 49;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L785: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, DFmode))
+     {
+       operands[0] = x1;
+       goto L178;
+     }
+   goto L1;
+ 
+  L178: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == DFmode)
+     goto L849;
+  L101: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, DFmode))
+     {
+       operands[1] = x1;
+       goto L102;
+     }
+  L105: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, DFmode))
+     {
+       operands[1] = x1;
+       return 22;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L849: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case FLOAT:
+       goto L179;
+     case FLOAT_EXTEND:
+       goto L187;
+     case PLUS:
+       goto L227;
+     case MINUS:
+       goto L261;
+     case MULT:
+       goto L282;
+     case DIV:
+       goto L297;
+     case NEG:
+       goto L419;
+     case ABS:
+       goto L435;
+     default:
+      break;
+    }
+   goto L101;
+ 
+  L179: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       return 35;
+     }
+   goto L101;
+ 
+  L187: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       return 37;
+     }
+   goto L101;
+ 
+  L227: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       goto L228;
+     }
+   goto L101;
+ 
+  L228: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, DFmode))
+     {
+       operands[2] = x2;
+       return 44;
+     }
+   goto L101;
+ 
+  L261: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       goto L262;
+     }
+   goto L101;
+ 
+  L262: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, DFmode))
+     {
+       operands[2] = x2;
+       return 50;
+     }
+   goto L101;
+ 
+  L282: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       goto L283;
+     }
+   goto L101;
+ 
+  L283: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, DFmode))
+     {
+       operands[2] = x2;
+       return 54;
+     }
+   goto L101;
+ 
+  L297: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       goto L298;
+     }
+   goto L101;
+ 
+  L298: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, DFmode))
+     {
+       operands[2] = x2;
+       return 57;
+     }
+   goto L101;
+ 
+  L419: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       return 80;
+     }
+   goto L101;
+ 
+  L435: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       return 84;
+     }
+   goto L101;
+ 
+  L102: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 21;
+     }
+   x1 = XEXP (x0, 1);
+   goto L105;
+ 
+  L786: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x1, SFmode))
+     {
+       operands[0] = x1;
+       goto L182;
+     }
+   goto L1;
+ 
+  L182: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_MODE (x1) == SFmode)
+     goto L857;
+  L108: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, SFmode))
+     {
+       operands[1] = x1;
+       goto L109;
+     }
+  L112: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, SFmode))
+     {
+       operands[1] = x1;
+       return 24;
+     }
+   x1 = XEXP (x0, 0);
+   goto L1;
+ 
+  L857: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x1))
+     {
+     case FLOAT_TRUNCATE:
+       goto L183;
+     case PLUS:
+       goto L232;
+     case MINUS:
+       goto L266;
+     case MULT:
+       goto L287;
+     case DIV:
+       goto L302;
+     case NEG:
+       goto L423;
+     case ABS:
+       goto L439;
+     default:
+      break;
+    }
+   goto L108;
+ 
+  L183: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       return 36;
+     }
+   goto L108;
+ 
+  L232: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       goto L233;
+     }
+   goto L108;
+ 
+  L233: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SFmode))
+     {
+       operands[2] = x2;
+       return 45;
+     }
+   goto L108;
+ 
+  L266: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       goto L267;
+     }
+   goto L108;
+ 
+  L267: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SFmode))
+     {
+       operands[2] = x2;
+       return 51;
+     }
+   goto L108;
+ 
+  L287: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       goto L288;
+     }
+   goto L108;
+ 
+  L288: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SFmode))
+     {
+       operands[2] = x2;
+       return 55;
+     }
+   goto L108;
+ 
+  L302: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       goto L303;
+     }
+   goto L108;
+ 
+  L303: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SFmode))
+     {
+       operands[2] = x2;
+       return 58;
+     }
+   goto L108;
+ 
+  L423: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       return 81;
+     }
+   goto L108;
+ 
+  L439: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       return 85;
+     }
+   goto L108;
+ 
+  L109: ATTRIBUTE_UNUSED_LABEL
+   if ((TARGET_CHAR_INSTRUCTIONS))
+     {
+       return 23;
+     }
+   x1 = XEXP (x0, 1);
+   goto L112;
+ 
+  L2: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   switch (GET_MODE (x1))
+     {
+     case DImode:
+       goto L864;
+     case SImode:
+       goto L865;
+     case HImode:
+       goto L866;
+     default:
+       break;
+     }
+  L17: ATTRIBUTE_UNUSED_LABEL
+   if (GET_CODE (x1) == COMPARE)
+     goto L18;
+   if (general_operand (x1, DFmode))
+     {
+       operands[0] = x1;
+       return 3;
+     }
+  L14: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, SFmode))
+     {
+       operands[0] = x1;
+       return 4;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L864: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x1, DImode))
+     {
+       operands[0] = x1;
+       return 0;
+     }
+   goto L17;
+ 
+  L865: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x1, SImode))
+     {
+       operands[0] = x1;
+       return 1;
+     }
+   goto L17;
+ 
+  L866: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x1, HImode))
+     {
+       operands[0] = x1;
+       return 2;
+     }
+   goto L17;
+ 
+  L18: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   switch (GET_MODE (x2))
+     {
+     case SImode:
+       goto L867;
+     case HImode:
+       goto L868;
+     case QImode:
+       goto L869;
+     default:
+       break;
+     }
+   if (general_operand (x2, DFmode))
+     {
+       operands[0] = x2;
+       goto L40;
+     }
+  L44: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x2, SFmode))
+     {
+       operands[0] = x2;
+       goto L45;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L867: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x2, SImode))
+     {
+       operands[0] = x2;
+       goto L19;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L19: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[1] = x2;
+       return 5;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L868: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x2, HImode))
+     {
+       operands[0] = x2;
+       goto L24;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L24: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, HImode))
+     {
+       operands[1] = x2;
+       return 6;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L869: ATTRIBUTE_UNUSED_LABEL
+   if (r_or_s_operand (x2, QImode))
+     {
+       operands[0] = x2;
+       goto L29;
+     }
+  L870: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x2, QImode))
+     {
+       operands[0] = x2;
+       goto L35;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L29: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L30;
+     }
+   x2 = XEXP (x1, 0);
+   goto L870;
+ 
+  L30: ATTRIBUTE_UNUSED_LABEL
+   if ((unsigned_jump_follows_p (insn)))
+     {
+       return 7;
+     }
+   x1 = XEXP (x0, 1);
+   x2 = XEXP (x1, 0);
+   goto L870;
+ 
+  L35: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       return 8;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L40: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, DFmode))
+     {
+       operands[1] = x2;
+       return 9;
+     }
+   x2 = XEXP (x1, 0);
+   goto L44;
+ 
+  L45: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SFmode))
+     {
+       operands[1] = x2;
+       return 10;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L97: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (nonimmediate_operand (x2, HImode))
+     {
+       operands[0] = x2;
+       goto L98;
+     }
+   goto L759;
+ 
+  L98: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (general_operand (x1, HImode))
+     {
+       operands[1] = x1;
+       return 20;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L529: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   switch (GET_CODE (x1))
+     {
+     case IF_THEN_ELSE:
+       goto L530;
+     case LABEL_REF:
+       goto L744;
+     default:
+      break;
+    }
+  L747: ATTRIBUTE_UNUSED_LABEL
+   if (general_operand (x1, SImode))
+     {
+       operands[0] = x1;
+       return 127;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L530: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   switch (GET_CODE (x2))
+     {
+     case EQ:
+       goto L531;
+     case NE:
+       goto L540;
+     case GT:
+       goto L549;
+     case GTU:
+       goto L558;
+     case LT:
+       goto L567;
+     case LTU:
+       goto L576;
+     case GE:
+       goto L585;
+     case GEU:
+       goto L594;
+     case LE:
+       goto L603;
+     case LEU:
+       goto L612;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L531: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L532;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L532: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L533;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L533: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L534;
+     case PC:
+       goto L624;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L534: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L535;
+ 
+  L535: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 104;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L624: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L625;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L625: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 114;
+ 
+  L540: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L541;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L541: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L542;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L542: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L543;
+     case PC:
+       goto L633;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L543: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L544;
+ 
+  L544: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 105;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L633: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L634;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L634: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 115;
+ 
+  L549: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L550;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L550: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L551;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L551: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L552;
+     case PC:
+       goto L642;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L552: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L553;
+ 
+  L553: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 106;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L642: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L643;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L643: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 116;
+ 
+  L558: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L559;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L559: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L560;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L560: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L561;
+     case PC:
+       goto L651;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L561: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L562;
+ 
+  L562: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 107;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L651: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L652;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L652: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 117;
+ 
+  L567: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L568;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L568: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L569;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L569: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L570;
+     case PC:
+       goto L660;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L570: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L571;
+ 
+  L571: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 108;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L660: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L661;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L661: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 118;
+ 
+  L576: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L577;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L577: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L578;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L578: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L579;
+     case PC:
+       goto L669;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L579: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L580;
+ 
+  L580: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 109;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L669: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L670;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L670: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 119;
+ 
+  L585: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L586;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L586: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L587;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L587: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L588;
+     case PC:
+       goto L678;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L588: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L589;
+ 
+  L589: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 110;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L678: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L679;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L679: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 120;
+ 
+  L594: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L595;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L595: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L596;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L596: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L597;
+     case PC:
+       goto L687;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L597: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L598;
+ 
+  L598: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 111;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L687: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L688;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L688: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 121;
+ 
+  L603: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L604;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L604: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L605;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L605: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L606;
+     case PC:
+       goto L696;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L606: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L607;
+ 
+  L607: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 112;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L696: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L697;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L697: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 122;
+ 
+  L612: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_CODE (x3) == CC0)
+     goto L613;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L613: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == 0L)
+     goto L614;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L614: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   switch (GET_CODE (x2))
+     {
+     case LABEL_REF:
+       goto L615;
+     case PC:
+       goto L705;
+     default:
+      break;
+    }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L615: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   goto L616;
+ 
+  L616: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == PC)
+     {
+       return 113;
+     }
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L705: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 2);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L706;
+   x1 = XEXP (x0, 0);
+   goto L759;
+ 
+  L706: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[0] = x3;
+   return 123;
+ 
+  L744: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   operands[0] = x2;
+   return 126;
+ 
+  L760: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (GET_CODE (x1) == CALL)
+     goto L761;
+   goto ret0;
+ 
+  L761: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (GET_MODE (x2) == QImode)
+     goto L871;
+   goto ret0;
+ 
+  L871: ATTRIBUTE_UNUSED_LABEL
+   if (memory_operand (x2, QImode))
+     {
+       operands[1] = x2;
+       goto L762;
+     }
+  L872: ATTRIBUTE_UNUSED_LABEL
+   if (GET_CODE (x2) == MEM)
+     goto L772;
+   goto ret0;
+ 
+  L762: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       return 130;
+     }
+   x2 = XEXP (x1, 0);
+   goto L872;
+ 
+  L772: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[1] = x3;
+   goto L773;
+ 
+  L773: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (general_operand (x2, SImode))
+     {
+       operands[2] = x2;
+       goto L774;
+     }
+   goto ret0;
+ 
+  L774: ATTRIBUTE_UNUSED_LABEL
+   if ((GET_CODE (operands[1]) == SYMBOL_REF))
+     {
+       return 132;
+     }
+   goto ret0;
+  ret0:
+   return -1;
+ }
+ 
+ int
+ recog (rtx x0 ATTRIBUTE_UNUSED,
+ 	rtx insn ATTRIBUTE_UNUSED,
+ 	int *pnum_clobbers ATTRIBUTE_UNUSED)
+ {
+   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
+   rtx x1 ATTRIBUTE_UNUSED;
+   rtx x2 ATTRIBUTE_UNUSED;
+   rtx x3 ATTRIBUTE_UNUSED;
+   rtx x4 ATTRIBUTE_UNUSED;
+   rtx x5 ATTRIBUTE_UNUSED;
+   int tem ATTRIBUTE_UNUSED;
+   recog_data.insn = NULL_RTX;
+ 
+   switch (GET_CODE (x0))
+     {
+     case SET:
+       goto L72;
+     case PARALLEL:
+       goto L776;
+     case CALL:
+       goto L756;
+     case CONST_INT:
+       goto L778;
+     default:
+      break;
+    }
+   goto ret0;
+ 
+  L72: ATTRIBUTE_UNUSED_LABEL
+   return recog_1 (x0, insn, pnum_clobbers);
+ 
+  L776: ATTRIBUTE_UNUSED_LABEL
+   switch (XVECLEN (x0, 0))
+     {
+     case 2:
+       goto L47;
+     case 5:
+       goto L56;
+     default:
+       break;
+     }
+   goto ret0;
+ 
+  L47: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 0);
+   if (GET_CODE (x1) == SET)
+     goto L48;
+   goto ret0;
+ 
+  L48: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   switch (GET_MODE (x2))
+     {
+     case SImode:
+       goto L873;
+     case BLKmode:
+       goto L874;
+     default:
+       break;
+     }
+  L709: ATTRIBUTE_UNUSED_LABEL
+   if (GET_CODE (x2) == PC)
+     goto L710;
+   goto ret0;
+ 
+  L873: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x2, SImode))
+     {
+       operands[0] = x2;
+       goto L49;
+     }
+  L875: ATTRIBUTE_UNUSED_LABEL
+   if (nonimmediate_operand (x2, SImode))
+     {
+       operands[0] = x2;
+       goto L165;
+     }
+   goto L709;
+ 
+  L49: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (GET_MODE (x2) == SImode
+       && GET_CODE (x2) == COMPARE)
+     goto L50;
+   x2 = XEXP (x1, 0);
+   goto L875;
+ 
+  L50: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (s_operand (x3, BLKmode))
+     {
+       operands[1] = x3;
+       goto L51;
+     }
+   x2 = XEXP (x1, 0);
+   goto L875;
+ 
+  L51: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (s_operand (x3, BLKmode))
+     {
+       operands[2] = x3;
+       goto L52;
+     }
+   x2 = XEXP (x1, 0);
+   goto L875;
+ 
+  L52: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == USE)
+     goto L53;
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L875;
+ 
+  L53: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (immediate_operand (x2, SImode))
+     {
+       operands[3] = x2;
+       goto L54;
+     }
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L875;
+ 
+  L54: ATTRIBUTE_UNUSED_LABEL
+   if ((((unsigned) INTVAL (operands[3]) < 256)))
+     {
+       return 11;
+     }
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L875;
+ 
+  L165: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (GET_MODE (x2) == SImode)
+     goto L876;
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L876: ATTRIBUTE_UNUSED_LABEL
+   switch (GET_CODE (x2))
+     {
+     case FIX:
+       goto L166;
+     case PLUS:
+       goto L192;
+     case MINUS:
+       goto L238;
+     default:
+      break;
+    }
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L166: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_MODE (x3) == DFmode
+       && GET_CODE (x3) == TRUNCATE)
+     goto L167;
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L167: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 0);
+   if (general_operand (x4, DFmode))
+     {
+       operands[1] = x4;
+       goto L168;
+     }
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L168: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == CLOBBER)
+     goto L169;
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L169: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (GET_MODE (x2) == DFmode
+       && GET_CODE (x2) == REG
+       && XINT (x2, 0) == 16)
+     {
+       return 34;
+     }
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L192: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (general_operand (x3, SImode))
+     {
+       operands[1] = x3;
+       goto L193;
+     }
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L193: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (general_operand (x3, SImode))
+     {
+       operands[2] = x3;
+       goto L194;
+     }
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L194: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == USE)
+     goto L195;
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L195: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L196;
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L196: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[3] = x3;
+   return 38;
+ 
+  L238: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (general_operand (x3, SImode))
+     {
+       operands[1] = x3;
+       goto L239;
+     }
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L239: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (general_operand (x3, SImode))
+     {
+       operands[2] = x3;
+       goto L240;
+     }
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L240: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == USE)
+     goto L241;
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L241: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L242;
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L242: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[3] = x3;
+   return 46;
+ 
+  L874: ATTRIBUTE_UNUSED_LABEL
+   if (s_operand (x2, BLKmode))
+     {
+       operands[0] = x2;
+       goto L116;
+     }
+   goto L709;
+ 
+  L116: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (s_operand (x2, BLKmode))
+     {
+       operands[1] = x2;
+       goto L117;
+     }
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L117: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == USE)
+     goto L118;
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L118: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (immediate_operand (x2, VOIDmode))
+     {
+       operands[2] = x2;
+       goto L119;
+     }
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L119: ATTRIBUTE_UNUSED_LABEL
+   if ((((unsigned) INTVAL (operands[2]) < 256)))
+     {
+       return 25;
+     }
+   x1 = XVECEXP (x0, 0, 0);
+   x2 = XEXP (x1, 0);
+   goto L709;
+ 
+  L710: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (GET_CODE (x2) == IF_THEN_ELSE)
+     goto L711;
+   if (general_operand (x2, SImode))
+     {
+       operands[0] = x2;
+       goto L752;
+     }
+   goto ret0;
+ 
+  L711: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   switch (GET_CODE (x3))
+     {
+     case NE:
+       goto L712;
+     case EQ:
+       goto L729;
+     default:
+      break;
+    }
+   goto ret0;
+ 
+  L712: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 0);
+   if (GET_MODE (x4) == SImode
+       && GET_CODE (x4) == PLUS)
+     goto L713;
+   goto ret0;
+ 
+  L713: ATTRIBUTE_UNUSED_LABEL
+   x5 = XEXP (x4, 0);
+   if (register_operand (x5, SImode))
+     {
+       operands[0] = x5;
+       goto L714;
+     }
+   goto ret0;
+ 
+  L714: ATTRIBUTE_UNUSED_LABEL
+   x5 = XEXP (x4, 1);
+   if (GET_CODE (x5) == CONST_INT
+       && XWINT (x5, 0) == -1L)
+     goto L715;
+   goto ret0;
+ 
+  L715: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 1);
+   if (GET_CODE (x4) == CONST_INT
+       && XWINT (x4, 0) == 0L)
+     goto L716;
+   goto ret0;
+ 
+  L716: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == LABEL_REF)
+     goto L717;
+   goto ret0;
+ 
+  L717: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 0);
+   operands[1] = x4;
+   goto L718;
+ 
+  L718: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 2);
+   if (GET_CODE (x3) == PC)
+     goto L719;
+   goto ret0;
+ 
+  L719: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == SET)
+     goto L720;
+   goto ret0;
+ 
+  L720: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[0]))
+     goto L721;
+   goto ret0;
+ 
+  L721: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (GET_MODE (x2) == SImode
+       && GET_CODE (x2) == PLUS)
+     goto L722;
+   goto ret0;
+ 
+  L722: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (rtx_equal_p (x3, operands[0]))
+     goto L723;
+   goto ret0;
+ 
+  L723: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == -1L)
+     {
+       return 124;
+     }
+   goto ret0;
+ 
+  L729: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 0);
+   if (GET_MODE (x4) == SImode
+       && GET_CODE (x4) == PLUS)
+     goto L730;
+   goto ret0;
+ 
+  L730: ATTRIBUTE_UNUSED_LABEL
+   x5 = XEXP (x4, 0);
+   if (register_operand (x5, SImode))
+     {
+       operands[0] = x5;
+       goto L731;
+     }
+   goto ret0;
+ 
+  L731: ATTRIBUTE_UNUSED_LABEL
+   x5 = XEXP (x4, 1);
+   if (GET_CODE (x5) == CONST_INT
+       && XWINT (x5, 0) == -1L)
+     goto L732;
+   goto ret0;
+ 
+  L732: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 1);
+   if (GET_CODE (x4) == CONST_INT
+       && XWINT (x4, 0) == 0L)
+     goto L733;
+   goto ret0;
+ 
+  L733: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == PC)
+     goto L734;
+   goto ret0;
+ 
+  L734: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 2);
+   if (GET_CODE (x3) == LABEL_REF)
+     goto L735;
+   goto ret0;
+ 
+  L735: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 0);
+   operands[1] = x4;
+   goto L736;
+ 
+  L736: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == SET)
+     goto L737;
+   goto ret0;
+ 
+  L737: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[0]))
+     goto L738;
+   goto ret0;
+ 
+  L738: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (GET_MODE (x2) == SImode
+       && GET_CODE (x2) == PLUS)
+     goto L739;
+   goto ret0;
+ 
+  L739: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (rtx_equal_p (x3, operands[0]))
+     goto L740;
+   goto ret0;
+ 
+  L740: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_CODE (x3) == CONST_INT
+       && XWINT (x3, 0) == -1L)
+     {
+       return 125;
+     }
+   goto ret0;
+ 
+  L752: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == USE)
+     goto L753;
+   goto ret0;
+ 
+  L753: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (GET_CODE (x2) == LABEL_REF)
+     goto L754;
+   goto ret0;
+ 
+  L754: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   operands[1] = x3;
+   return 128;
+ 
+  L56: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 0);
+   if (GET_CODE (x1) == SET)
+     goto L57;
+   goto ret0;
+ 
+  L57: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   switch (GET_MODE (x2))
+     {
+     case SImode:
+       goto L879;
+     case BLKmode:
+       goto L880;
+     default:
+       break;
+     }
+   goto ret0;
+ 
+  L879: ATTRIBUTE_UNUSED_LABEL
+   if (register_operand (x2, SImode))
+     {
+       operands[0] = x2;
+       goto L58;
+     }
+   goto ret0;
+ 
+  L58: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (GET_MODE (x2) == SImode
+       && GET_CODE (x2) == COMPARE)
+     goto L59;
+   goto ret0;
+ 
+  L59: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (GET_MODE (x3) == BLKmode
+       && GET_CODE (x3) == MEM)
+     goto L60;
+   goto ret0;
+ 
+  L60: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 0);
+   if (register_operand (x4, DImode))
+     {
+       operands[1] = x4;
+       goto L61;
+     }
+   goto ret0;
+ 
+  L61: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 1);
+   if (GET_MODE (x3) == BLKmode
+       && GET_CODE (x3) == MEM)
+     goto L62;
+   goto ret0;
+ 
+  L62: ATTRIBUTE_UNUSED_LABEL
+   x4 = XEXP (x3, 0);
+   if (register_operand (x4, DImode))
+     {
+       operands[2] = x4;
+       goto L63;
+     }
+   goto ret0;
+ 
+  L63: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == USE)
+     goto L64;
+   goto ret0;
+ 
+  L64: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[1]))
+     goto L65;
+   goto ret0;
+ 
+  L65: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 2);
+   if (GET_CODE (x1) == USE)
+     goto L66;
+   goto ret0;
+ 
+  L66: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[2]))
+     goto L67;
+   goto ret0;
+ 
+  L67: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 3);
+   if (GET_CODE (x1) == CLOBBER)
+     goto L68;
+   goto ret0;
+ 
+  L68: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[1]))
+     goto L69;
+   goto ret0;
+ 
+  L69: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 4);
+   if (GET_CODE (x1) == CLOBBER)
+     goto L70;
+   goto ret0;
+ 
+  L70: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[2]))
+     {
+       return 12;
+     }
+   goto ret0;
+ 
+  L880: ATTRIBUTE_UNUSED_LABEL
+   if (GET_CODE (x2) == MEM)
+     goto L123;
+   goto ret0;
+ 
+  L123: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (register_operand (x3, DImode))
+     {
+       operands[0] = x3;
+       goto L124;
+     }
+   goto ret0;
+ 
+  L124: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 1);
+   if (GET_MODE (x2) == BLKmode
+       && GET_CODE (x2) == MEM)
+     goto L125;
+   goto ret0;
+ 
+  L125: ATTRIBUTE_UNUSED_LABEL
+   x3 = XEXP (x2, 0);
+   if (register_operand (x3, DImode))
+     {
+       operands[1] = x3;
+       goto L126;
+     }
+   goto ret0;
+ 
+  L126: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 1);
+   if (GET_CODE (x1) == USE)
+     goto L127;
+   goto ret0;
+ 
+  L127: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[0]))
+     goto L128;
+   goto ret0;
+ 
+  L128: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 2);
+   if (GET_CODE (x1) == USE)
+     goto L129;
+   goto ret0;
+ 
+  L129: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[1]))
+     goto L130;
+   goto ret0;
+ 
+  L130: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 3);
+   if (GET_CODE (x1) == CLOBBER)
+     goto L131;
+   goto ret0;
+ 
+  L131: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[0]))
+     goto L132;
+   goto ret0;
+ 
+  L132: ATTRIBUTE_UNUSED_LABEL
+   x1 = XVECEXP (x0, 0, 4);
+   if (GET_CODE (x1) == CLOBBER)
+     goto L133;
+   goto ret0;
+ 
+  L133: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   if (rtx_equal_p (x2, operands[1]))
+     {
+       return 26;
+     }
+   goto ret0;
+ 
+  L756: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 0);
+   if (GET_MODE (x1) == QImode)
+     goto L881;
+   goto ret0;
+ 
+  L881: ATTRIBUTE_UNUSED_LABEL
+   if (memory_operand (x1, QImode))
+     {
+       operands[0] = x1;
+       goto L757;
+     }
+  L882: ATTRIBUTE_UNUSED_LABEL
+   if (GET_CODE (x1) == MEM)
+     goto L765;
+   goto ret0;
+ 
+  L757: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (immediate_operand (x1, SImode))
+     {
+       operands[1] = x1;
+       return 129;
+     }
+   x1 = XEXP (x0, 0);
+   goto L882;
+ 
+  L765: ATTRIBUTE_UNUSED_LABEL
+   x2 = XEXP (x1, 0);
+   operands[0] = x2;
+   goto L766;
+ 
+  L766: ATTRIBUTE_UNUSED_LABEL
+   x1 = XEXP (x0, 1);
+   if (general_operand (x1, SImode))
+     {
+       operands[1] = x1;
+       goto L767;
+     }
+   goto ret0;
+ 
+  L767: ATTRIBUTE_UNUSED_LABEL
+   if ((GET_CODE (operands[0]) == SYMBOL_REF))
+     {
+       return 131;
+     }
+   goto ret0;
+ 
+  L778: ATTRIBUTE_UNUSED_LABEL
+   if (XWINT (x0, 0) == 0L)
+     {
+       return 133;
+     }
+   goto ret0;
+  ret0:
+   return -1;
+ }
+ 
+ rtx
+ split_insns (rtx x0 ATTRIBUTE_UNUSED, rtx insn ATTRIBUTE_UNUSED)
+ {
+   rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
+   rtx x1 ATTRIBUTE_UNUSED;
+   rtx x2 ATTRIBUTE_UNUSED;
+   rtx x3 ATTRIBUTE_UNUSED;
+   rtx x4 ATTRIBUTE_UNUSED;
+   rtx x5 ATTRIBUTE_UNUSED;
+   rtx tem ATTRIBUTE_UNUSED;
+   recog_data.insn = NULL_RTX;
+   goto ret0;
+  ret0:
+   return 0;
+ }
+ 
Index: gcc/gcc/instvse.bat
diff -c /dev/null gcc/gcc/instvse.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/instvse.bat	Thu May 12 16:38:28 2011
***************
*** 0 ****
--- 1 ----
+ call runvse instvse.jcl outputi.txt gccvse-exe.obj
Index: gcc/gcc/instvse.jcl
diff -c /dev/null gcc/gcc/instvse.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/instvse.jcl	Thu May 12 16:38:28 2011
***************
*** 0 ****
--- 1,157 ----
+ * $$ JOB JNM=VSEJOB
+ * $$ LST LST=SYSLST,CLASS=A,RBM=999999
+ // JOB VSEJOB
+ *
+ *
+ * Install GCCVSE
+ *
+ * Note that the first step to get the file off tape should
+ * instead be changed to whatever is suitable for your site.
+ * Also note that this puts stuff into the system CIL.
+ *
+ * 10000,2000 SPACE-PHASE
+ * 12000,1000 SPACE-PUNCH
+ *
+ *
+ *
+ * Standard assignments for C programs
+ *
+ // ASSGN SYS000,SYSLNK
+ // ASSGN SYS005,SYSLST
+ // ASSGN SYS007,SYSPCH
+ // OPTION DUMP
+ *
+ *
+ *
+ *
+ * First we get the main phases off tape, and into 80-byte blocks
+ * using objmaint
+ *
+ // UPSI 1
+ // ASSGN SYS004,TAPE
+ // DLBL UOUT,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYS005,,,,10000,2000 SPACE-PHASE
+ // ASSGN SYS005,SYS000
+ // EXEC OBJMAINT,SIZE=AUTO
+ ./COPY
+ /*
+ // UPSI 0
+ // ASSGN SYS005,SYSLST
+ // ASSGN SYS004,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Then we put the phases into the CIL, using LNKEDT
+ *
+ // DLBL IJSYSLN,,0,SD
+ // EXTENT SYSLNK,,,,12000,2000 SPACE-LINK
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ * Now we get a single punched file (object code) out of the CIL
+ *
+ // DLBL SDO1,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYS000,,,,10000,2000 SPACE-PHASE
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-bb dd:in(pdpobj) dd:sdo1f80'
+ *
+ *
+ *
+ * And then stick that into the relocatable library using MAINT
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT                                         
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now we get a single punched file (header files) out of the CIL
+ *
+ // DLBL SDO1,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYS000,,,,10000,2000 SPACE-PHASE
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-bb dd:in(pdpi) dd:sdo1f80'
+ *
+ *
+ *
+ * And then stick that into the CIL using LNKEDT
+ *
+ * Then we put the phases into the CIL, using LNKEDT
+ *
+ // DLBL IJSYSLN,,0,SD
+ // EXTENT SYSLNK,,,,12000,2000 SPACE-LINK
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now we get a single punched file (copybooks) out of the CIL
+ *
+ // DLBL SDO1,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYS000,,,,10000,2000 SPACE-PHASE
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-bb dd:in(pdpcopy) dd:sdo1f80'
+ *
+ *
+ *
+ * And then stick that into the source statement library using MAINT
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT                                         
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now we get a single punched file (macros) out of the CIL
+ *
+ // DLBL SDO1,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYS000,,,,10000,2000 SPACE-PHASE
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-bb dd:in(pdpmacs) dd:sdo1f80'
+ *
+ *
+ *
+ *
+ * Put them into the assembler macro library
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ /&
+ * $$ EOJ
Index: gcc/gcc/itergcc.exec
diff -c /dev/null gcc/gcc/itergcc.exec:1.3
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/itergcc.exec	Fri Nov 20 08:42:29 2009
***************
*** 0 ****
--- 1,275 ----
+ *******************************************************************
+ *
+ * This EXEC iterates over all the assembler source
+ * Usage: ITERGCC <EXEC> <GCC> <PDP> <ASM> <MEM> [PARMS]
+ *
+ * where EXEC = name of EXEC you wish to run
+ *       GCC = Y/N if you want to run GCC proper
+ *       PDP = Y/N if you want to run PDPCLIB C code
+ *       ASM = Y/N if you want to run PDPCLIB assembler
+ *       MEM = Y/N if you want to run MEMMGR
+ *
+ *
+ *******************************************************************
+ 
+ &SCRIPT = &1
+ &GCC = &2
+ &PDP = &3
+ &ASM = &4
+ &MEM = &5
+ 
+ &IF &ASM = N &GOTO -FINASM
+  EXEC &SCRIPT CMSSTART  &6 &7 &8 &9
+  EXEC &SCRIPT CMSSUPA   &6 &7 &8 &9
+ -FINASM
+ 
+ &IF &PDP = N &GOTO -FINPDP
+  EXEC &SCRIPT START     &6 &7 &8 &9
+  EXEC &SCRIPT STDIO     &6 &7 &8 &9
+  EXEC &SCRIPT STDLIB    &6 &7 &8 &9
+  EXEC &SCRIPT CTYPE     &6 &7 &8 &9
+  EXEC &SCRIPT STRING    &6 &7 &8 &9
+  EXEC &SCRIPT TIME      &6 &7 &8 &9
+  EXEC &SCRIPT ERRNO     &6 &7 &8 &9
+  EXEC &SCRIPT ASSERT    &6 &7 &8 &9
+  EXEC &SCRIPT LOCALE    &6 &7 &8 &9
+  EXEC &SCRIPT MATH      &6 &7 &8 &9
+  EXEC &SCRIPT SETJMP    &6 &7 &8 &9
+  EXEC &SCRIPT SIGNAL    &6 &7 &8 &9
+ -FINPDP
+ 
+ &IF &MEM = N &GOTO -FINMEM
+  EXEC &SCRIPT __MEMMGR  &6 &7 &8 &9
+ -FINMEM
+ 
+ &IF &GCC = N &GOTO -FINGCC
+  EXEC &SCRIPT ALIAS     &6 &7 &8 &9
+  EXEC &SCRIPT ALLOC-PO  &6 &7 &8 &9
+  EXEC &SCRIPT ATTRIBS   &6 &7 &8 &9
+  EXEC &SCRIPT BB-REORD  &6 &7 &8 &9
+  EXEC &SCRIPT BITMAP    &6 &7 &8 &9
+  EXEC &SCRIPT BT-LOAD   &6 &7 &8 &9
+  EXEC &SCRIPT BUILTINS  &6 &7 &8 &9
+  EXEC &SCRIPT C-AUX-IN  &6 &7 &8 &9
+  EXEC &SCRIPT C-COMMON  &6 &7 &8 &9
+  EXEC &SCRIPT C-CONVER  &6 &7 &8 &9
+  EXEC &SCRIPT C-CPPBUI  &6 &7 &8 &9
+  EXEC &SCRIPT C-DECL    &6 &7 &8 &9
+  EXEC &SCRIPT C-DUMP    &6 &7 &8 &9
+  EXEC &SCRIPT C-ERRORS  &6 &7 &8 &9
+  EXEC &SCRIPT C-FORMAT  &6 &7 &8 &9
+  EXEC &SCRIPT C-INCPAT  &6 &7 &8 &9
+  EXEC &SCRIPT C-LANG    &6 &7 &8 &9
+  EXEC &SCRIPT C-LEX     &6 &7 &8 &9
+  EXEC &SCRIPT C-OBJC-C  &6 &7 &8 &9
+  EXEC &SCRIPT C-OPTS    &6 &7 &8 &9
+  EXEC &SCRIPT C-PARSE   &6 &7 &8 &9
+  EXEC &SCRIPT C-PCH     &6 &7 &8 &9
+  EXEC &SCRIPT C-PPOUTP  &6 &7 &8 &9
+  EXEC &SCRIPT C-PRAGMA  &6 &7 &8 &9
+  EXEC &SCRIPT C-PRETTY  &6 &7 &8 &9
+  EXEC &SCRIPT C-SEMANT  &6 &7 &8 &9
+  EXEC &SCRIPT C-TYPECK  &6 &7 &8 &9
+  EXEC &SCRIPT CALLER-S  &6 &7 &8 &9
+  EXEC &SCRIPT CALLS     &6 &7 &8 &9
+  EXEC &SCRIPT CFG       &6 &7 &8 &9
+  EXEC &SCRIPT CFGANAL   &6 &7 &8 &9
+  EXEC &SCRIPT CFGBUILD  &6 &7 &8 &9
+  EXEC &SCRIPT CFGCLEAN  &6 &7 &8 &9
+  EXEC &SCRIPT CFGHOOKS  &6 &7 &8 &9
+  EXEC &SCRIPT CFGLAYOU  &6 &7 &8 &9
+  EXEC &SCRIPT CFGLOOP   &6 &7 &8 &9
+  EXEC &SCRIPT CFGLOOPA  &6 &7 &8 &9
+  EXEC &SCRIPT CFGLOOPM  &6 &7 &8 &9
+  EXEC &SCRIPT CFGRTL    &6 &7 &8 &9
+  EXEC &SCRIPT CGRAPH    &6 &7 &8 &9
+  EXEC &SCRIPT CGRAPHUN  &6 &7 &8 &9
+  EXEC &SCRIPT COMBINE   &6 &7 &8 &9
+  EXEC &SCRIPT CONFLICT  &6 &7 &8 &9
+  EXEC &SCRIPT CONVERT   &6 &7 &8 &9
+  EXEC &SCRIPT COVERAGE  &6 &7 &8 &9
+  EXEC &SCRIPT CPPCHARS  &6 &7 &8 &9
+  EXEC &SCRIPT CPPDEFAU  &6 &7 &8 &9
+  EXEC &SCRIPT CPPERROR  &6 &7 &8 &9
+  EXEC &SCRIPT CPPEXP    &6 &7 &8 &9
+  EXEC &SCRIPT CPPFILES  &6 &7 &8 &9
+  EXEC &SCRIPT CPPHASH   &6 &7 &8 &9
+  EXEC &SCRIPT CPPINIT   &6 &7 &8 &9
+  EXEC &SCRIPT CPPLEX    &6 &7 &8 &9
+  EXEC &SCRIPT CPPLIB    &6 &7 &8 &9
+  EXEC &SCRIPT CPPMACRO  &6 &7 &8 &9
+  EXEC &SCRIPT CPPPCH    &6 &7 &8 &9
+  EXEC &SCRIPT CPPTRAD   &6 &7 &8 &9
+  EXEC &SCRIPT CSE       &6 &7 &8 &9
+  EXEC &SCRIPT CSELIB    &6 &7 &8 &9
+  EXEC &SCRIPT DBXOUT    &6 &7 &8 &9
+  EXEC &SCRIPT DEBUG     &6 &7 &8 &9
+  EXEC &SCRIPT DF        &6 &7 &8 &9
+  EXEC &SCRIPT DIAGNOST  &6 &7 &8 &9
+  EXEC &SCRIPT DOJUMP    &6 &7 &8 &9
+  EXEC &SCRIPT DOMINANC  &6 &7 &8 &9
+  EXEC &SCRIPT DWARF2AS  &6 &7 &8 &9
+  EXEC &SCRIPT DWARF2OU  &6 &7 &8 &9
+  EXEC &SCRIPT EMIT-RTL  &6 &7 &8 &9
+  EXEC &SCRIPT ET-FORES  &6 &7 &8 &9
+  EXEC &SCRIPT EXCEPT    &6 &7 &8 &9
+  EXEC &SCRIPT EXPLOW    &6 &7 &8 &9
+  EXEC &SCRIPT EXPMED    &6 &7 &8 &9
+  EXEC &SCRIPT EXPR      &6 &7 &8 &9
+  EXEC &SCRIPT FINAL     &6 &7 &8 &9
+  EXEC &SCRIPT FLOW      &6 &7 &8 &9
+  EXEC &SCRIPT FOLD-CON  &6 &7 &8 &9
+  EXEC &SCRIPT FUNCTION  &6 &7 &8 &9
+  EXEC &SCRIPT GCSE      &6 &7 &8 &9
+  EXEC &SCRIPT GENRTL    &6 &7 &8 &9
+  EXEC &SCRIPT GGC-COMM  &6 &7 &8 &9
+  EXEC &SCRIPT GGC-PAGE  &6 &7 &8 &9
+  EXEC &SCRIPT GLOBAL    &6 &7 &8 &9
+  EXEC &SCRIPT GRAPH     &6 &7 &8 &9
+  EXEC &SCRIPT GTYPE-DE  &6 &7 &8 &9
+  EXEC &SCRIPT HAIFA-SC  &6 &7 &8 &9
+  EXEC &SCRIPT HASHTABL  &6 &7 &8 &9
+  EXEC &SCRIPT HOOKS     &6 &7 &8 &9
+  EXEC &SCRIPT HOST-DEF  &6 &7 &8 &9
+  EXEC &SCRIPT IFCVT     &6 &7 &8 &9
+  EXEC &SCRIPT INSN-ATT  &6 &7 &8 &9
+  EXEC &SCRIPT INSN-EMI  &6 &7 &8 &9
+  EXEC &SCRIPT INSN-EXT  &6 &7 &8 &9
+  EXEC &SCRIPT INSN-MOD  &6 &7 &8 &9
+  EXEC &SCRIPT INSN-OPI  &6 &7 &8 &9
+  EXEC &SCRIPT INSN-OUT  &6 &7 &8 &9
+  EXEC &SCRIPT INSN-REC  &6 &7 &8 &9
+  EXEC &SCRIPT INTEGRAT  &6 &7 &8 &9
+  EXEC &SCRIPT JUMP      &6 &7 &8 &9
+  EXEC &SCRIPT LANGHOOK  &6 &7 &8 &9
+  EXEC &SCRIPT LCM       &6 &7 &8 &9
+  EXEC &SCRIPT LINE-MAP  &6 &7 &8 &9
+  EXEC &SCRIPT LISTS     &6 &7 &8 &9
+  EXEC &SCRIPT LOCAL-AL  &6 &7 &8 &9
+  EXEC &SCRIPT LOOP-INI  &6 &7 &8 &9
+  EXEC &SCRIPT LOOP-UNR  &6 &7 &8 &9
+  EXEC &SCRIPT LOOP-UNS  &6 &7 &8 &9
+  EXEC &SCRIPT LOOP      &6 &7 &8 &9
+  EXEC &SCRIPT MKDEPS    &6 &7 &8 &9
+  EXEC &SCRIPT OPTABS    &6 &7 &8 &9
+  EXEC &SCRIPT OPTIONS   &6 &7 &8 &9
+  EXEC &SCRIPT OPTS      &6 &7 &8 &9
+  EXEC &SCRIPT PARAMS    &6 &7 &8 &9
+  EXEC &SCRIPT POSTRELO  &6 &7 &8 &9
+  EXEC &SCRIPT PREDICT   &6 &7 &8 &9
+  EXEC &SCRIPT PREFIX    &6 &7 &8 &9
+  EXEC &SCRIPT PRETTY-P  &6 &7 &8 &9
+  EXEC &SCRIPT PRINT-RT  &6 &7 &8 &9
+  EXEC &SCRIPT PRINT-TR  &6 &7 &8 &9
+  EXEC &SCRIPT PROFILE   &6 &7 &8 &9
+  EXEC &SCRIPT RA-BUILD  &6 &7 &8 &9
+  EXEC &SCRIPT RA-COLOR  &6 &7 &8 &9
+  EXEC &SCRIPT RA-DEBUG  &6 &7 &8 &9
+  EXEC &SCRIPT RA-REWRI  &6 &7 &8 &9
+  EXEC &SCRIPT RA        &6 &7 &8 &9
+  EXEC &SCRIPT REAL      &6 &7 &8 &9
+  EXEC &SCRIPT RECOG     &6 &7 &8 &9
+  EXEC &SCRIPT REG-STAC  &6 &7 &8 &9
+  EXEC &SCRIPT REGCLASS  &6 &7 &8 &9
+  EXEC &SCRIPT REGMOVE   &6 &7 &8 &9
+  EXEC &SCRIPT REGRENAM  &6 &7 &8 &9
+  EXEC &SCRIPT RELOAD    &6 &7 &8 &9
+  EXEC &SCRIPT RELOAD1   &6 &7 &8 &9
+  EXEC &SCRIPT RESOURCE  &6 &7 &8 &9
+  EXEC &SCRIPT RTL-ERRO  &6 &7 &8 &9
+  EXEC &SCRIPT RTL       &6 &7 &8 &9
+  EXEC &SCRIPT RTLANAL   &6 &7 &8 &9
+  EXEC &SCRIPT SBITMAP   &6 &7 &8 &9
+  EXEC &SCRIPT SDBOUT    &6 &7 &8 &9
+  EXEC &SCRIPT SIBCALL   &6 &7 &8 &9
+  EXEC &SCRIPT SIMPLIFY  &6 &7 &8 &9
+  EXEC &SCRIPT SREAL     &6 &7 &8 &9
+  EXEC &SCRIPT STMT      &6 &7 &8 &9
+  EXEC &SCRIPT STOR-LAY  &6 &7 &8 &9
+  EXEC &SCRIPT STRINGPO  &6 &7 &8 &9
+  EXEC &SCRIPT STUB-OBJ  &6 &7 &8 &9
+  EXEC &SCRIPT TARGHOOK  &6 &7 &8 &9
+  EXEC &SCRIPT TIMEVAR   &6 &7 &8 &9
+  EXEC &SCRIPT TOPLEV    &6 &7 &8 &9
+  EXEC &SCRIPT TRACER    &6 &7 &8 &9
+  EXEC &SCRIPT TREE-DUM  &6 &7 &8 &9
+  EXEC &SCRIPT TREE-INL  &6 &7 &8 &9
+  EXEC &SCRIPT TREE-OPT  &6 &7 &8 &9
+  EXEC &SCRIPT TREE      &6 &7 &8 &9
+  EXEC &SCRIPT UNROLL    &6 &7 &8 &9
+  EXEC &SCRIPT VALUE-PR  &6 &7 &8 &9
+  EXEC &SCRIPT VARASM    &6 &7 &8 &9
+  EXEC &SCRIPT VARRAY    &6 &7 &8 &9
+  EXEC &SCRIPT VERSION   &6 &7 &8 &9
+  EXEC &SCRIPT WEB       &6 &7 &8 &9
+  EXEC &SCRIPT GCC       &6 &7 &8 &9
+  EXEC &SCRIPT GCCSPEC   &6 &7 &8 &9
+  EXEC &SCRIPT CPPSPEC   &6 &7 &8 &9
+  EXEC &SCRIPT ALLOCA    &6 &7 &8 &9
+  EXEC &SCRIPT ARGV      &6 &7 &8 &9
+  EXEC &SCRIPT ASPRINTF  &6 &7 &8 &9
+  EXEC &SCRIPT BASENAME  &6 &7 &8 &9
+  EXEC &SCRIPT BCMP      &6 &7 &8 &9
+  EXEC &SCRIPT BCOPY     &6 &7 &8 &9
+  EXEC &SCRIPT BZERO     &6 &7 &8 &9
+  EXEC &SCRIPT CONCAT    &6 &7 &8 &9
+  EXEC &SCRIPT CP-DEMAN  &6 &7 &8 &9
+  EXEC &SCRIPT CP-DEMIN  &6 &7 &8 &9
+  EXEC &SCRIPT CPLUS-DE  &6 &7 &8 &9
+  EXEC &SCRIPT DYN-STRI  &6 &7 &8 &9
+  EXEC &SCRIPT FDMATCH   &6 &7 &8 &9
+  EXEC &SCRIPT FFS       &6 &7 &8 &9
+  EXEC &SCRIPT FIBHEAP   &6 &7 &8 &9
+  EXEC &SCRIPT FLOATFOR  &6 &7 &8 &9
+  EXEC &SCRIPT FNMATCH   &6 &7 &8 &9
+  EXEC &SCRIPT GETCWD    &6 &7 &8 &9
+  EXEC &SCRIPT GETOPT    &6 &7 &8 &9
+  EXEC &SCRIPT GETOPT1   &6 &7 &8 &9
+  EXEC &SCRIPT GETPAGES  &6 &7 &8 &9
+  EXEC &SCRIPT GETPWD    &6 &7 &8 &9
+  EXEC &SCRIPT GETRUNTI  &6 &7 &8 &9
+  EXEC &SCRIPT HASHTAB   &6 &7 &8 &9
+  EXEC &SCRIPT HEX       &6 &7 &8 &9
+  EXEC &SCRIPT INDEX     &6 &7 &8 &9
+  EXEC &SCRIPT INSQUE    &6 &7 &8 &9
+  EXEC &SCRIPT LBASENAM  &6 &7 &8 &9
+  EXEC &SCRIPT LREALPAT  &6 &7 &8 &9
+  EXEC &SCRIPT MAKE-REL  &6 &7 &8 &9
+  EXEC &SCRIPT MAKE-TEM  &6 &7 &8 &9
+  EXEC &SCRIPT MD5       &6 &7 &8 &9
+  EXEC &SCRIPT MEMPCPY   &6 &7 &8 &9
+  EXEC &SCRIPT MKSTEMPS  &6 &7 &8 &9
+  EXEC &SCRIPT OBJALLOC  &6 &7 &8 &9
+  EXEC &SCRIPT OBSTACK   &6 &7 &8 &9
+  EXEC &SCRIPT PARTITIO  &6 &7 &8 &9
+  EXEC &SCRIPT PHYSMEM   &6 &7 &8 &9
+  EXEC &SCRIPT PUTENV    &6 &7 &8 &9
+  EXEC &SCRIPT RANDOM    &6 &7 &8 &9
+  EXEC &SCRIPT RINDEX    &6 &7 &8 &9
+  EXEC &SCRIPT SAFE-CTY  &6 &7 &8 &9
+  EXEC &SCRIPT SETENV    &6 &7 &8 &9
+  EXEC &SCRIPT SNPRINTF  &6 &7 &8 &9
+  EXEC &SCRIPT SORT      &6 &7 &8 &9
+  EXEC &SCRIPT SPACES    &6 &7 &8 &9
+  EXEC &SCRIPT SPLAY-TR  &6 &7 &8 &9
+  EXEC &SCRIPT STPCPY    &6 &7 &8 &9
+  EXEC &SCRIPT STPNCPY   &6 &7 &8 &9
+  EXEC &SCRIPT STRCASEC  &6 &7 &8 &9
+  EXEC &SCRIPT STRDUP    &6 &7 &8 &9
+  EXEC &SCRIPT STRNCASE  &6 &7 &8 &9
+  EXEC &SCRIPT STRSIGNA  &6 &7 &8 &9
+  EXEC &SCRIPT TERNARY   &6 &7 &8 &9
+  EXEC &SCRIPT VASPRINT  &6 &7 &8 &9
+  EXEC &SCRIPT VPRINTF   &6 &7 &8 &9
+  EXEC &SCRIPT VSNPRINT  &6 &7 &8 &9
+  EXEC &SCRIPT WAITPID   &6 &7 &8 &9
+  EXEC &SCRIPT XATEXIT   &6 &7 &8 &9
+  EXEC &SCRIPT XEXIT     &6 &7 &8 &9
+  EXEC &SCRIPT XMALLOC   &6 &7 &8 &9
+  EXEC &SCRIPT XMEMDUP   &6 &7 &8 &9
+  EXEC &SCRIPT XSTRDUP   &6 &7 &8 &9
+  EXEC &SCRIPT XSTRERRO  &6 &7 &8 &9
+  EXEC &SCRIPT UNIXIO    &6 &7 &8 &9
+  EXEC &SCRIPT I370      &6 &7 &8 &9
+  EXEC &SCRIPT I370-C    &6 &7 &8 &9
+ -FINGCC
Index: gcc/gcc/longlong.h
diff -c gcc/gcc/longlong.h:1.1.1.1 gcc/gcc/longlong.h:1.4
*** gcc/gcc/longlong.h:1.1.1.1	Wed Apr 15 16:25:53 2009
--- gcc/gcc/longlong.h	Thu May 12 19:37:20 2011
***************
*** 287,293 ****
    } while (0)
  #endif
  
! #if (defined (__i370__) || defined (__s390__) || defined (__mvs__)) && W_TYPE_SIZE == 32
  #define smul_ppmm(xh, xl, m0, m1) \
    do {									\
      union {DItype __ll;							\
--- 287,295 ----
    } while (0)
  #endif
  
! #if (defined (__i370__) || defined(__s390__) \
!      || defined (__VSE__) \
!      || defined (__MVS__) || defined(__CMS__)) && W_TYPE_SIZE == 32
  #define smul_ppmm(xh, xl, m0, m1) \
    do {									\
      union {DItype __ll;							\
Index: gcc/gcc/makeutil.bat
diff -c /dev/null gcc/gcc/makeutil.bat:1.1.3.4
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/makeutil.bat	Thu May 12 16:38:29 2011
***************
*** 0 ****
--- 1,12 ----
+ rem before running this, make sure that pdptop is set
+ rem to S/370 and that you are not using memmgr, so as
+ rem to produce 24-bit targets
+ rem something like this:
+ rem (in pdpclib)
+ rem ren pdp370.mac pdptop.mac
+ rem (in minizip)
+ rem compile
+ rem (in GCC)
+ rem call compmvs -UUSE_MEMMGR -ansi -pedantic-errors
+ 
+ m4 -I ../../pdos/pdpclib -I ../../zlib/contrib/minizip makeutil.m4 >makeutil.jcl
Index: gcc/gcc/makeutil.m4
diff -c /dev/null gcc/gcc/makeutil.m4:1.1.3.5
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/makeutil.m4	Thu May 12 16:38:29 2011
***************
*** 0 ****
--- 1,461 ----
+ //HERC02A  JOB CLASS=C,REGION=0K
+ //*
+ //* Compile some useful utilities
+ //* Change the last step to copy into a load library
+ //* you have (or else delete it).
+ //* You may need to change ASMA90 to IEV90 or ASMBLR or
+ //* IFOX00 or something else if your site doesn't have ASMA90.
+ //*
+ //* These utilities come from GCCMVS
+ //*
+ //PDPASM   PROC MEMBER=''
+ //ASM      EXEC PGM=ASMA90,
+ //   PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR
+ //         DD DSN=&&MACLIB,DISP=(OLD,PASS)
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(2000,2000)),
+ //            DISP=(,PASS)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&&NCALIB(&MEMBER),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //CREATE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&&NCALIB,DISP=(,PASS),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(60,60,44)),UNIT=SYSALLDA
+ //DD2      DD DSN=&&MACLIB,DISP=(,PASS),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(60,60,44)),UNIT=SYSALLDA
+ //DD3      DD DSN=&&LOADLIB,DISP=(,PASS),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(600,600,44)),UNIT=SYSALLDA
+ //*
+ //PDPTOP   EXEC PGM=IEBGENER
+ //SYSUT2   DD  DSN=&&MACLIB(PDPTOP),DISP=(OLD,PASS)
+ //SYSUT1   DD  *
+ undivert(pdptop.mac)/*
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //PDPPRLG  EXEC PGM=IEBGENER
+ //SYSUT2   DD  DSN=&&MACLIB(PDPPRLG),DISP=(OLD,PASS)
+ //SYSUT1   DD  *
+ undivert(pdpprlg.mac)/*
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //PDPEPIL  EXEC PGM=IEBGENER
+ //SYSUT2   DD  DSN=&&MACLIB(PDPEPIL),DISP=(OLD,PASS)
+ //SYSUT1   DD  *
+ undivert(pdpepil.mac)/*
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //MVSMACS  EXEC PGM=IEBGENER
+ //SYSUT2   DD  DSN=&&MACLIB(MVSMACS),DISP=(OLD,PASS)
+ //SYSUT1   DD  *
+ undivert(mvsmacs.mac)/*
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //MVSSTART EXEC PDPASM,MEMBER=MVSSTART
+ //SYSIN  DD  *
+ undivert(mvsstart.asm)/*
+ //MVSSUPA  EXEC PDPASM,MEMBER=MVSSUPA
+ //SYSIN  DD  *
+ undivert(mvssupa.asm)/*
+ //START    EXEC PDPASM,MEMBER=START
+ //SYSIN  DD *
+ undivert(start.s)/*
+ //STDIO    EXEC PDPASM,MEMBER=STDIO
+ //SYSIN  DD *
+ undivert(stdio.s)/*
+ //STDLIB   EXEC PDPASM,MEMBER=STDLIB
+ //SYSIN  DD  *
+ undivert(stdlib.s)/*
+ //CTYPE    EXEC PDPASM,MEMBER=CTYPE
+ //SYSIN  DD  *
+ undivert(ctype.s)/*
+ //STRING   EXEC PDPASM,MEMBER=STRING
+ //SYSIN  DD  *
+ undivert(string.s)/*
+ //TIME     EXEC PDPASM,MEMBER=TIME
+ //SYSIN  DD  *
+ undivert(time.s)/*
+ //ERRNO    EXEC PDPASM,MEMBER=ERRNO
+ //SYSIN  DD  *
+ undivert(errno.s)/*
+ //ASSERT   EXEC PDPASM,MEMBER=ASSERT
+ //SYSIN  DD  *
+ undivert(assert.s)/*
+ //LOCALE   EXEC PDPASM,MEMBER=LOCALE
+ //SYSIN  DD  *
+ undivert(locale.s)/*
+ //MATH     EXEC PDPASM,MEMBER=MATH
+ //SYSIN  DD  *
+ undivert(math.s)/*
+ //SETJMP   EXEC PDPASM,MEMBER=SETJMP
+ //SYSIN  DD  *
+ undivert(setjmp.s)/*
+ //SIGNAL   EXEC PDPASM,MEMBER=SIGNAL
+ //SYSIN  DD  *
+ undivert(signal.s)/*
+ //@@MEMMGR EXEC PDPASM,MEMBER=@@MEMMGR
+ //SYSIN  DD  *
+ undivert(__memmgr.s)/*
+ //*
+ //* The above are the required C Runtime Library.
+ //* Now we start compiling our utilities
+ //*
+ //* mvsunzip (compile)
+ //*
+ //MVSUNZIP EXEC PDPASM,MEMBER=MVSUNZIP
+ //SYSIN  DD  *
+ undivert(mvsunzip.s)/*
+ /*
+ //*
+ //* mvsunzip (link)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST'
+ //SYSLIN   DD DDNAME=SYSIN
+ //SYSLIB   DD DSN=&&NCALIB,DISP=(OLD,PASS)
+ //SYSLMOD  DD DSN=&&LOADLIB(MVSUNZIP),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSIN DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(MVSUNZIP)
+  ENTRY @@MAIN
+ /*
+ //*
+ //* mvsendec (compile)
+ //*
+ //MVSENDEC EXEC PDPASM,MEMBER=MVSENDEC
+ //SYSIN  DD  *
+ undivert(mvsendec.s)/*
+ //*
+ //* mvsendec (link)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST'
+ //SYSLIN   DD DDNAME=SYSIN
+ //SYSLIB   DD DSN=&&NCALIB,DISP=(OLD,PASS)
+ //SYSLMOD  DD DSN=&&LOADLIB(MVSENDEC),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSIN DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(MVSENDEC)
+  ENTRY @@MAIN
+ /*
+ //*
+ //* hexdump (compile)
+ //*
+ //HEXDUMP  EXEC PDPASM,MEMBER=HEXDUMP
+ //SYSIN  DD  *
+ undivert(hexdump.s)/*
+ //*
+ //* hexdump (link)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST'
+ //SYSLIN   DD DDNAME=SYSIN
+ //SYSLIB   DD DSN=&&NCALIB,DISP=(OLD,PASS)
+ //SYSLMOD  DD DSN=&&LOADLIB(HEXDUMP),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSIN DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(HEXDUMP)
+  ENTRY @@MAIN
+ /*
+ //*
+ //* dssrenam (compile)
+ //*
+ //DSSRENAM EXEC PDPASM,MEMBER=DSSRENAM
+ //SYSIN  DD  *
+ undivert(dssrenam.s)/*
+ //*
+ //* dssrenam (link)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST'
+ //SYSLIN   DD DDNAME=SYSIN
+ //SYSLIB   DD DSN=&&NCALIB,DISP=(OLD,PASS)
+ //SYSLMOD  DD DSN=&&LOADLIB(DSSRENAM),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSIN DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(DSSRENAM)
+  ENTRY @@MAIN
+ /*
+ //*
+ //* copyfile (compile)
+ //*
+ //COPYFILE EXEC PDPASM,MEMBER=COPYFILE
+ //SYSIN  DD  *
+ undivert(copyfile.s)/*
+ //*
+ //* copyfile (link)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST'
+ //SYSLIN   DD DDNAME=SYSIN
+ //SYSLIB   DD DSN=&&NCALIB,DISP=(OLD,PASS)
+ //SYSLMOD  DD DSN=&&LOADLIB(COPYFILE),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSIN DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(COPYFILE)
+  ENTRY @@MAIN
+ /*
+ //*
+ //* miniunz and minizip (compile)
+ //*
+ //MINIUNZ  EXEC PDPASM,MEMBER=MINIUNZ
+ //SYSIN  DD  *
+ undivert(miniunz.s)/*
+ //UNZIP    EXEC PDPASM,MEMBER=UNZIP
+ //SYSIN  DD  *
+ undivert(unzip.s)/*
+ //UNSHRINK EXEC PDPASM,MEMBER=UNSHRINK
+ //SYSIN  DD  *
+ undivert(unshrink.s)/*
+ //EXTRA    EXEC PDPASM,MEMBER=EXTRA
+ //SYSIN  DD  *
+ undivert(extra.s)/*
+ //CRC32    EXEC PDPASM,MEMBER=CRC32
+ //SYSIN  DD  *
+ undivert(crc32.s)/*
+ //INFLATE  EXEC PDPASM,MEMBER=INFLATE
+ //SYSIN  DD  *
+ undivert(inflate.s)/*
+ //INFBLOCK EXEC PDPASM,MEMBER=INFBLOCK
+ //SYSIN  DD  *
+ undivert(infblock.s)/*
+ //INFCODES EXEC PDPASM,MEMBER=INFCODES
+ //SYSIN  DD  *
+ undivert(infcodes.s)/*
+ //INFTREES EXEC PDPASM,MEMBER=INFTREES
+ //SYSIN  DD  *
+ undivert(inftrees.s)/*
+ //INFUTIL  EXEC PDPASM,MEMBER=INFUTIL
+ //SYSIN  DD  *
+ undivert(infutil.s)/*
+ //INFFAST  EXEC PDPASM,MEMBER=INFFAST
+ //SYSIN  DD  *
+ undivert(inffast.s)/*
+ //ZUTIL    EXEC PDPASM,MEMBER=ZUTIL
+ //SYSIN  DD  *
+ undivert(zutil.s)/*
+ //ADLER32  EXEC PDPASM,MEMBER=ADLER32
+ //SYSIN  DD  *
+ undivert(adler32.s)/*
+ //MINIZIP  EXEC PDPASM,MEMBER=MINIZIP
+ //SYSIN  DD  *
+ undivert(minizip.s)/*
+ //ZIP      EXEC PDPASM,MEMBER=ZIP
+ //SYSIN  DD  *
+ undivert(zip.s)/*
+ //DEFLATE  EXEC PDPASM,MEMBER=DEFLATE
+ //SYSIN  DD  *
+ undivert(deflate.s)/*
+ //TREES    EXEC PDPASM,MEMBER=TREES
+ //SYSIN  DD  *
+ undivert(trees.s)/*
+ //*
+ //* miniunz (link)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST'
+ //SYSLIN   DD DDNAME=SYSIN
+ //SYSLIB   DD DSN=&&NCALIB,DISP=(OLD,PASS)
+ //SYSLMOD  DD DSN=&&LOADLIB(MINIUNZ),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSIN DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(MINIUNZ)
+  INCLUDE SYSLIB(UNZIP)
+  INCLUDE SYSLIB(UNSHRINK)
+  INCLUDE SYSLIB(EXTRA)
+  INCLUDE SYSLIB(CRC32)
+  INCLUDE SYSLIB(INFLATE)
+  INCLUDE SYSLIB(INFBLOCK)
+  INCLUDE SYSLIB(INFCODES)
+  INCLUDE SYSLIB(INFTREES)
+  INCLUDE SYSLIB(INFUTIL)
+  INCLUDE SYSLIB(INFFAST)
+  INCLUDE SYSLIB(ZUTIL)
+  INCLUDE SYSLIB(ADLER32)
+  ENTRY @@MAIN
+ /*
+ //*
+ //* minizip (link)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST'
+ //SYSLIN   DD DDNAME=SYSIN
+ //SYSLIB   DD DSN=&&NCALIB,DISP=(OLD,PASS)
+ //SYSLMOD  DD DSN=&&LOADLIB(MINIZIP),DISP=(OLD,PASS)
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //SYSIN DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(MINIZIP)
+  INCLUDE SYSLIB(ZIP)
+  INCLUDE SYSLIB(DEFLATE)
+  INCLUDE SYSLIB(CRC32)
+  INCLUDE SYSLIB(ADLER32)
+  INCLUDE SYSLIB(TREES)
+  INCLUDE SYSLIB(ZUTIL)
+  ENTRY @@MAIN
+ /*
+ //*
+ //* Here are some examples of how you can run some of the
+ //* utilities
+ //*
+ //HEXDUMP  EXEC PGM=HEXDUMP,PARM='dd:input'
+ //STEPLIB  DD DSN=&&LOADLIB,DISP=(OLD,PASS)
+ //INPUT    DD DSN=&&MACLIB(PDPEPIL),DISP=(OLD,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //MINI     EXEC PGM=MINIZIP,PARM='-a -x .h -l -o dd:output dd:input'
+ //STEPLIB  DD DSN=&&LOADLIB,DISP=(OLD,PASS)
+ //INPUT    DD DSN=&&MACLIB,DISP=(OLD,PASS)
+ //OUTPUT   DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //         SPACE=(CYL,(20,20)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //SYSUT1   DD DSN=&&TEMP2,DISP=(,DELETE),UNIT=SYSALLDA,
+ //         SPACE=(CYL,(20,20)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)
+ //*
+ //MINIUNZ  EXEC PGM=MINIUNZ,PARM='-v dd:input'
+ //STEPLIB  DD DSN=&&LOADLIB,DISP=(OLD,PASS)
+ //INPUT    DD DSN=&&TEMP,DISP=(OLD,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //MVSENDEC EXEC PGM=MVSENDEC,PARM='encb dd:input dd:output'
+ //STEPLIB  DD DSN=&&LOADLIB,DISP=(OLD,PASS)
+ //INPUT    DD DSN=&&TEMP,DISP=(OLD,PASS)
+ //OUTPUT   DD SYSOUT=*,DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //*
+ //* And here's an example of copying them into a pre-existing
+ //* library.
+ //*
+ //COPY     EXEC PGM=IEBCOPY
+ //SYSUT1   DD DSN=&&LOADLIB,DISP=(OLD,PASS)
+ //SYSUT2   DD DSN=MINIZIP.LINKLIB,DISP=SHR
+ //SYSIN    DD *
+  COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
+ /*
+ //SYSPRINT DD SYSOUT=*
+ //*
+ //
Index: gcc/gcc/mkclib.exec
diff -c /dev/null gcc/gcc/mkclib.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/mkclib.exec	Wed Apr 15 23:24:11 2009
***************
*** 0 ****
--- 1,21 ----
+ * PRODUCE CLIB TEXT CONTAING ALL OF PDPCLIB              
+ * COPY THE FILES
+ 
+  &DISK = &1
+                     
+  COPY CMSSTART TEXT &DISK CLIB TEXT &DISK (REP                     
+  COPY START TEXT &DISK CLIB TEXT &DISK (APP                        
+  COPY CMSSUPA TEXT &DISK CLIB TEXT &DISK (APP                      
+  COPY STDIO TEXT &DISK CLIB TEXT &DISK (APP                        
+  COPY STDLIB TEXT &DISK CLIB TEXT &DISK (APP                       
+  COPY CTYPE TEXT &DISK CLIB TEXT &DISK (APP                        
+  COPY STRING TEXT &DISK CLIB TEXT &DISK (APP                       
+  COPY TIME TEXT &DISK CLIB TEXT &DISK (APP                         
+  COPY ERRNO TEXT &DISK CLIB TEXT &DISK (APP                        
+  COPY ASSERT TEXT &DISK CLIB TEXT &DISK (APP                       
+  COPY LOCALE TEXT &DISK CLIB TEXT &DISK (APP                       
+  COPY MATH TEXT &DISK CLIB TEXT &DISK (APP                         
+  COPY SETJMP TEXT &DISK CLIB TEXT &DISK (APP                       
+  COPY SIGNAL TEXT &DISK CLIB TEXT &DISK (APP                       
+  COPY __MEMMGR TEXT &DISK CLIB TEXT &DISK (APP                       
+ 
Index: gcc/gcc/mkpdpc.exec
diff -c /dev/null gcc/gcc/mkpdpc.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/mkpdpc.exec	Wed Apr 15 23:24:20 2009
***************
*** 0 ****
--- 1,72 ----
+ * Usage - MKPDPC <DISK> <ASMNAME>
+ 
+ * This script compiles all the pdpclib modules to create
+ * a TXTLIB
+ 
+ &CONTROL
+ 
+ &DISK = &1
+ &ASMNAME = &2
+ 
+ 
+ * Recompile all the C code
+ EXEC GCCE START C &DISK (NOASM
+ EXEC GCCE STDIO C &DISK (NOASM
+ EXEC GCCE STDLIB C &DISK (NOASM
+ EXEC GCCE CTYPE C &DISK (NOASM
+ EXEC GCCE STRING C &DISK (NOASM
+ EXEC GCCE TIME C &DISK (NOASM
+ EXEC GCCE ERRNO C &DISK (NOASM
+ EXEC GCCE ASSERT C &DISK (NOASM
+ EXEC GCCE LOCALE C &DISK (NOASM
+ EXEC GCCE MATH C &DISK (NOASM
+ EXEC GCCE SETJMP C &DISK (NOASM
+ EXEC GCCE SIGNAL C &DISK (NOASM
+ EXEC GCCE __MEMMGR C &DISK (NOASM
+ 
+ 
+ * And copy assembler source into generated name
+ COPY CMSSUPA ASM &DISK = S = (REPLACE
+ COPY CMSSTART ASM &DISK = S = (REPLACE
+ 
+ 
+ * Name all unnamed CSECTs and reassemble
+ EXEC FIXCSECT CMSSUPA &DISK &ASMNAME @@CMSSUP
+ EXEC FIXCSECT CMSSTART &DISK &ASMNAME @@CMSSTR
+ EXEC FIXCSECT START &DISK &ASMNAME @@PDPST
+ EXEC FIXCSECT STDIO &DISK &ASMNAME @@STDIO
+ EXEC FIXCSECT STDLIB &DISK &ASMNAME @@STDLIB
+ EXEC FIXCSECT CTYPE &DISK &ASMNAME @@CTYPE
+ EXEC FIXCSECT STRING &DISK &ASMNAME @@STRING
+ EXEC FIXCSECT TIME &DISK &ASMNAME @@PDPTIM
+ EXEC FIXCSECT ERRNO &DISK &ASMNAME @@PDPERR
+ EXEC FIXCSECT ASSERT &DISK &ASMNAME @@PDPASS
+ EXEC FIXCSECT LOCALE &DISK &ASMNAME @@PDPLOC
+ EXEC FIXCSECT MATH &DISK &ASMNAME @@MATH
+ EXEC FIXCSECT SETJMP &DISK &ASMNAME @@PDPJMP
+ EXEC FIXCSECT SIGNAL &DISK &ASMNAME @@PDPSIG
+ EXEC FIXCSECT __MEMMGR &DISK &ASMNAME @@PDPMEM
+ 
+ 
+ * Generate txtlib
+ * Put it into a temporary library to avoid issues
+ * where there is an existing library on another disk
+ 
+ TXTLIB GEN NEWCLIB CMSSUPA
+ TXTLIB ADD NEWCLIB CMSSTART
+ TXTLIB ADD NEWCLIB START
+ TXTLIB ADD NEWCLIB STDIO
+ TXTLIB ADD NEWCLIB STDLIB
+ TXTLIB ADD NEWCLIB CTYPE
+ TXTLIB ADD NEWCLIB STRING
+ TXTLIB ADD NEWCLIB TIME
+ TXTLIB ADD NEWCLIB ERRNO
+ TXTLIB ADD NEWCLIB ASSERT
+ TXTLIB ADD NEWCLIB LOCALE
+ TXTLIB ADD NEWCLIB MATH
+ TXTLIB ADD NEWCLIB SETJMP
+ TXTLIB ADD NEWCLIB SIGNAL
+ TXTLIB ADD NEWCLIB __MEMMGR
+ 
+ COPY NEWCLIB TXTLIB A PDPCLIB = &DISK (REPLACE
+ ERASE NEWCLIB TXTLIB A
Index: gcc/gcc/multilib.h
diff -c /dev/null gcc/gcc/multilib.h:1.3
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/multilib.h	Fri Apr 24 10:12:08 2009
***************
*** 0 ****
--- 1,16 ----
+ static const char *const multilib_raw[] = {
+ ". ;",
+ NULL
+ };
+ 
+ static const char *const multilib_matches_raw[] = {
+ NULL
+ };
+ 
+ static const char *multilib_extra = "";
+ 
+ static const char *const multilib_exclusions_raw[] = {
+ NULL
+ };
+ 
+ static const char *multilib_options = "";
Index: gcc/gcc/musaall.exec
diff -c /dev/null gcc/gcc/musaall.exec:1.2
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/musaall.exec	Fri May 27 22:53:44 2011
***************
*** 0 ****
--- 1,245 ----
+ /inc rexx
+ 'musaone alias'
+ 'musaone alloc-pool'
+ 'musaone attribs'
+ 'musaone bb-reorder'
+ 'musaone bitmap'
+ 'musaone bt-load'
+ 'musaone builtins'
+ 'musaone c-aux-info'
+ 'musaone c-common'
+ 'musaone c-convert'
+ 'musaone c-cppbuiltin'
+ 'musaone c-decl'
+ 'musaone c-dump'
+ 'musaone c-errors'
+ 'musaone c-format'
+ 'musaone c-incpath'
+ 'musaone c-lang'
+ 'musaone c-lex'
+ 'musaone c-objc-common'
+ 'musaone c-opts'
+ 'musaone c-parse'
+ 'musaone c-pch'
+ 'musaone c-ppoutput'
+ 'musaone c-pragma'
+ 'musaone c-pretty-prin'
+ 'musaone c-semantics'
+ 'musaone c-typeck'
+ 'musaone caller-save'
+ 'musaone calls'
+ 'musaone cfg'
+ 'musaone cfganal'
+ 'musaone cfgbuild'
+ 'musaone cfgcleanup'
+ 'musaone cfghooks'
+ 'musaone cfglayout'
+ 'musaone cfgloop'
+ 'musaone cfgloopanal'
+ 'musaone cfgloopmanip'
+ 'musaone cfgrtl'
+ 'musaone cgraph'
+ 'musaone cgraphunit'
+ 'musaone combine'
+ 'musaone conflict'
+ 'musaone convert'
+ 'musaone coverage'
+ 'musaone cppcharset'
+ 'musaone cppdefault'
+ 'musaone cpperror'
+ 'musaone cppexp'
+ 'musaone cppfiles'
+ 'musaone cpphash'
+ 'musaone cppinit'
+ 'musaone cpplex'
+ 'musaone cpplib'
+ 'musaone cppmacro'
+ 'musaone cpppch'
+ 'musaone cpptrad'
+ 'musaone cse'
+ 'musaone cselib'
+ 'musaone dbxout'
+ 'musaone debug'
+ 'musaone df'
+ 'musaone diagnostic'
+ 'musaone dojump'
+ 'musaone dominance'
+ 'musaone dwarf2asm'
+ 'musaone dwarf2out'
+ 'musaone emit-rtl'
+ 'musaone et-forest'
+ 'musaone except'
+ 'musaone explow'
+ 'musaone expmed'
+ 'musaone expr'
+ 'musaone final'
+ 'musaone flow'
+ 'musaone fold-const'
+ 'musaone function'
+ 'musaone gcse'
+ 'musaone genrtl'
+ 'musaone ggc-common'
+ 'musaone ggc-page'
+ 'musaone global'
+ 'musaone graph'
+ 'musaone gtype-desc'
+ 'musaone haifa-sched'
+ 'musaone hashtable'
+ 'musaone hooks'
+ 'musaone host-default'
+ 'musaone ifcvt'
+ 'musaone insn-attrtab'
+ 'musaone insn-emit'
+ 'musaone insn-extract'
+ 'musaone insn-modes'
+ 'musaone insn-opinit'
+ 'musaone insn-output'
+ 'musaone insn-recog'
+ 'musaone integrate'
+ 'musaone jump'
+ 'musaone langhooks'
+ 'musaone lcm'
+ 'musaone line-map'
+ 'musaone lists'
+ 'musaone local-alloc'
+ 'musaone loop-init'
+ 'musaone loop-unroll'
+ 'musaone loop-unswitch'
+ 'musaone loop'
+ 'musaone mkdeps'
+ 'musaone optabs'
+ 'musaone options'
+ 'musaone opts'
+ 'musaone params'
+ 'musaone postreload'
+ 'musaone predict'
+ 'musaone prefix'
+ 'musaone pretty-print'
+ 'musaone print-rtl'
+ 'musaone print-tree'
+ 'musaone profile'
+ 'musaone ra-build'
+ 'musaone ra-colorize'
+ 'musaone ra-debug'
+ 'musaone ra-rewrite'
+ 'musaone ra'
+ 'musaone real'
+ 'musaone recog'
+ 'musaone reg-stack'
+ 'musaone regclass'
+ 'musaone regmove'
+ 'musaone regrename'
+ 'musaone reload'
+ 'musaone reload1'
+ 'musaone resource'
+ 'musaone rtl-error'
+ 'musaone rtl'
+ 'musaone rtlanal'
+ 'musaone sbitmap'
+ 'musaone sdbout'
+ 'musaone sibcall'
+ 'musaone simplify-rtx'
+ 'musaone sreal'
+ 'musaone stmt'
+ 'musaone stor-layout'
+ 'musaone stringpool'
+ 'musaone stub-objc'
+ 'musaone targhooks'
+ 'musaone timevar'
+ 'musaone toplev'
+ 'musaone tracer'
+ 'musaone tree-dump'
+ 'musaone tree-inline'
+ 'musaone tree-optimize'
+ 'musaone tree'
+ 'musaone unroll'
+ 'musaone value-prof'
+ 'musaone varasm'
+ 'musaone varray'
+ 'musaone version'
+ 'musaone web'
+ 'musaone gcc'
+ 'musaone gccspec'
+ 'musaone cppspec'
+ 'musaone alloca'
+ 'musaone argv'
+ 'musaone asprintf'
+ 'musaone basename'
+ 'musaone bcmp'
+ 'musaone bcopy'
+ 'musaone bzero'
+ 'musaone concat'
+ 'musaone cp-demangle'
+ 'musaone cp-demint'
+ 'musaone cplus-dem'
+ 'musaone dyn-string'
+ 'musaone fdmatch'
+ 'musaone ffs'
+ 'musaone fibheap'
+ 'musaone floatformat'
+ 'musaone fnmatch'
+ 'musaone getcwd'
+ 'musaone getopt'
+ 'musaone getopt1'
+ 'musaone getpagesize'
+ 'musaone getpwd'
+ 'musaone getruntime'
+ 'musaone hashtab'
+ 'musaone hex'
+ 'musaone index'
+ 'musaone insque'
+ 'musaone lbasename'
+ 'musaone lrealpath'
+ 'musaone make-relative'
+ 'musaone make-temp-fil'
+ 'musaone md5'
+ 'musaone mempcpy'
+ 'musaone mkstemps'
+ 'musaone objalloc'
+ 'musaone obstack'
+ 'musaone partition'
+ 'musaone physmem'
+ 'musaone putenv'
+ 'musaone random'
+ 'musaone rindex'
+ 'musaone safe-ctype'
+ 'musaone setenv'
+ 'musaone snprintf'
+ 'musaone sort'
+ 'musaone spaces'
+ 'musaone splay-tree'
+ 'musaone stpcpy'
+ 'musaone stpncpy'
+ 'musaone strcasecmp'
+ 'musaone strdup'
+ 'musaone strncasecmp'
+ 'musaone strsignal'
+ 'musaone ternary'
+ 'musaone vasprintf'
+ 'musaone vprintf'
+ 'musaone vsnprintf'
+ 'musaone waitpid'
+ 'musaone xatexit'
+ 'musaone xexit'
+ 'musaone xmalloc'
+ 'musaone xmemdup'
+ 'musaone xstrdup'
+ 'musaone xstrerror'
+ 'musaone unixio'
+ 'musaone i370'
+ 'musaone i370-c'
+ 'musaone stdio'
+ 'musaone stdlib'
+ 'musaone ctype'
+ 'musaone string'
+ 'musaone time'
+ 'musaone errno'
+ 'musaone assert'
+ 'musaone locale'
+ 'musaone math'
+ 'musaone setjmp'
+ 'musaone signal'
+ 'musaone start'
+ 'musaone __memmgr'
+ 'musaone musstart'
+ 'musaone mussupa'
Index: gcc/gcc/musaone.exec
diff -c /dev/null gcc/gcc/musaone.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/musaone.exec	Thu May 12 16:38:30 2011
***************
*** 0 ****
--- 1,11 ----
+ /inc rexx
+ parse arg name
+ queue "/file syspunch n("name".obj) new(repl) sp(50) secsp(100%)"
+ queue "/file syslib pds(@BLD000:*.M,$MCU:*.M,$MCM:*.M)"
+ queue "/load asm"
+ queue "/job nogo"
+ queue "/opt deck,list"
+ queue "/inc" name".s"
+ "EXEC"
+ 
+ exit rc
Index: gcc/gcc/musdall.exec
diff -c /dev/null gcc/gcc/musdall.exec:1.2
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/musdall.exec	Thu Jun  9 20:10:53 2011
***************
*** 0 ****
--- 1,245 ----
+ /inc rexx
+ 'musdone alias'
+ 'musdone alloc-pool'
+ 'musdone attribs'
+ 'musdone bb-reorder'
+ 'musdone bitmap'
+ 'musdone bt-load'
+ 'musdone builtins'
+ 'musdone c-aux-info'
+ 'musdone c-common'
+ 'musdone c-convert'
+ 'musdone c-cppbuiltin'
+ 'musdone c-decl'
+ 'musdone c-dump'
+ 'musdone c-errors'
+ 'musdone c-format'
+ 'musdone c-incpath'
+ 'musdone c-lang'
+ 'musdone c-lex'
+ 'musdone c-objc-common'
+ 'musdone c-opts'
+ 'musdone c-parse'
+ 'musdone c-pch'
+ 'musdone c-ppoutput'
+ 'musdone c-pragma'
+ 'musdone c-pretty-prin'
+ 'musdone c-semantics'
+ 'musdone c-typeck'
+ 'musdone caller-save'
+ 'musdone calls'
+ 'musdone cfg'
+ 'musdone cfganal'
+ 'musdone cfgbuild'
+ 'musdone cfgcleanup'
+ 'musdone cfghooks'
+ 'musdone cfglayout'
+ 'musdone cfgloop'
+ 'musdone cfgloopanal'
+ 'musdone cfgloopmanip'
+ 'musdone cfgrtl'
+ 'musdone cgraph'
+ 'musdone cgraphunit'
+ 'musdone combine'
+ 'musdone conflict'
+ 'musdone convert'
+ 'musdone coverage'
+ 'musdone cppcharset'
+ 'musdone cppdefault'
+ 'musdone cpperror'
+ 'musdone cppexp'
+ 'musdone cppfiles'
+ 'musdone cpphash'
+ 'musdone cppinit'
+ 'musdone cpplex'
+ 'musdone cpplib'
+ 'musdone cppmacro'
+ 'musdone cpppch'
+ 'musdone cpptrad'
+ 'musdone cse'
+ 'musdone cselib'
+ 'musdone dbxout'
+ 'musdone debug'
+ 'musdone df'
+ 'musdone diagnostic'
+ 'musdone dojump'
+ 'musdone dominance'
+ 'musdone dwarf2asm'
+ 'musdone dwarf2out'
+ 'musdone emit-rtl'
+ 'musdone et-forest'
+ 'musdone except'
+ 'musdone explow'
+ 'musdone expmed'
+ 'musdone expr'
+ 'musdone final'
+ 'musdone flow'
+ 'musdone fold-const'
+ 'musdone function'
+ 'musdone gcse'
+ 'musdone genrtl'
+ 'musdone ggc-common'
+ 'musdone ggc-page'
+ 'musdone global'
+ 'musdone graph'
+ 'musdone gtype-desc'
+ 'musdone haifa-sched'
+ 'musdone hashtable'
+ 'musdone hooks'
+ 'musdone host-default'
+ 'musdone ifcvt'
+ 'musdone insn-attrtab'
+ 'musdone insn-emit'
+ 'musdone insn-extract'
+ 'musdone insn-modes'
+ 'musdone insn-opinit'
+ 'musdone insn-output'
+ 'musdone insn-recog'
+ 'musdone integrate'
+ 'musdone jump'
+ 'musdone langhooks'
+ 'musdone lcm'
+ 'musdone line-map'
+ 'musdone lists'
+ 'musdone local-alloc'
+ 'musdone loop-init'
+ 'musdone loop-unroll'
+ 'musdone loop-unswitch'
+ 'musdone loop'
+ 'musdone mkdeps'
+ 'musdone optabs'
+ 'musdone options'
+ 'musdone opts'
+ 'musdone params'
+ 'musdone postreload'
+ 'musdone predict'
+ 'musdone prefix'
+ 'musdone pretty-print'
+ 'musdone print-rtl'
+ 'musdone print-tree'
+ 'musdone profile'
+ 'musdone ra-build'
+ 'musdone ra-colorize'
+ 'musdone ra-debug'
+ 'musdone ra-rewrite'
+ 'musdone ra'
+ 'musdone real'
+ 'musdone recog'
+ 'musdone reg-stack'
+ 'musdone regclass'
+ 'musdone regmove'
+ 'musdone regrename'
+ 'musdone reload'
+ 'musdone reload1'
+ 'musdone resource'
+ 'musdone rtl-error'
+ 'musdone rtl'
+ 'musdone rtlanal'
+ 'musdone sbitmap'
+ 'musdone sdbout'
+ 'musdone sibcall'
+ 'musdone simplify-rtx'
+ 'musdone sreal'
+ 'musdone stmt'
+ 'musdone stor-layout'
+ 'musdone stringpool'
+ 'musdone stub-objc'
+ 'musdone targhooks'
+ 'musdone timevar'
+ 'musdone toplev'
+ 'musdone tracer'
+ 'musdone tree-dump'
+ 'musdone tree-inline'
+ 'musdone tree-optimize'
+ 'musdone tree'
+ 'musdone unroll'
+ 'musdone value-prof'
+ 'musdone varasm'
+ 'musdone varray'
+ 'musdone version'
+ 'musdone web'
+ 'musdone gcc'
+ 'musdone gccspec'
+ 'musdone cppspec'
+ 'musdone alloca'
+ 'musdone argv'
+ 'musdone asprintf'
+ 'musdone basename'
+ 'musdone bcmp'
+ 'musdone bcopy'
+ 'musdone bzero'
+ 'musdone concat'
+ 'musdone cp-demangle'
+ 'musdone cp-demint'
+ 'musdone cplus-dem'
+ 'musdone dyn-string'
+ 'musdone fdmatch'
+ 'musdone ffs'
+ 'musdone fibheap'
+ 'musdone floatformat'
+ 'musdone fnmatch'
+ 'musdone getcwd'
+ 'musdone getopt'
+ 'musdone getopt1'
+ 'musdone getpagesize'
+ 'musdone getpwd'
+ 'musdone getruntime'
+ 'musdone hashtab'
+ 'musdone hex'
+ 'musdone index'
+ 'musdone insque'
+ 'musdone lbasename'
+ 'musdone lrealpath'
+ 'musdone make-relative'
+ 'musdone make-temp-fil'
+ 'musdone md5'
+ 'musdone mempcpy'
+ 'musdone mkstemps'
+ 'musdone objalloc'
+ 'musdone obstack'
+ 'musdone partition'
+ 'musdone physmem'
+ 'musdone putenv'
+ 'musdone random'
+ 'musdone rindex'
+ 'musdone safe-ctype'
+ 'musdone setenv'
+ 'musdone snprintf'
+ 'musdone sort'
+ 'musdone spaces'
+ 'musdone splay-tree'
+ 'musdone stpcpy'
+ 'musdone stpncpy'
+ 'musdone strcasecmp'
+ 'musdone strdup'
+ 'musdone strncasecmp'
+ 'musdone strsignal'
+ 'musdone ternary'
+ 'musdone vasprintf'
+ 'musdone vprintf'
+ 'musdone vsnprintf'
+ 'musdone waitpid'
+ 'musdone xatexit'
+ 'musdone xexit'
+ 'musdone xmalloc'
+ 'musdone xmemdup'
+ 'musdone xstrdup'
+ 'musdone xstrerror'
+ 'musdone unixio'
+ 'musdone i370'
+ 'musdone i370-c'
+ 'musdone stdio'
+ 'musdone stdlib'
+ 'musdone ctype'
+ 'musdone string'
+ 'musdone time'
+ 'musdone errno'
+ 'musdone assert'
+ 'musdone locale'
+ 'musdone math'
+ 'musdone setjmp'
+ 'musdone signal'
+ 'musdone start'
+ 'musdone __memmgr'
+ 'musdone musstart'
+ 'musdone mussupa'
Index: gcc/gcc/musdone.exec
diff -c /dev/null gcc/gcc/musdone.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/musdone.exec	Thu May 12 16:38:30 2011
***************
*** 0 ****
--- 1,5 ----
+ /inc rexx
+ parse arg name
+ 
+ "comp old\"name".s new\"name".s"
+ exit rc
Index: gcc/gcc/musutil.bat
diff -c /dev/null gcc/gcc/musutil.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/musutil.bat	Wed Nov 11 16:49:44 2009
***************
*** 0 ****
--- 1,15 ----
+ cd ..\..\pdos\pdpclib
+ del *.o
+ copy pdptop.mac backup.mac
+ copy pdp370.mac pdptop.mac
+ make -f makefile.w32
+ cd ..\..\gcc\gcc
+ call compile
+ call compmvs -DMUSIC -UUSE_MEMMGR
+ m4 -I ../../pdos/pdpclib musutil.m4 >musutil.job
+ cd ..\..\pdos\pdpclib
+ copy backup.mac pdptop.mac
+ del backup.mac
+ cd ..\..\gcc\gcc
+ 
+ call runmus musutil.job output.txt
Index: gcc/gcc/musutil.m4
diff -c /dev/null gcc/gcc/musutil.m4:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/musutil.m4	Wed Nov 11 16:49:44 2009
***************
*** 0 ****
--- 1,297 ----
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /PARM *
+ /INC PURGE
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPASM REPL
+ /inc rexx
+ parse arg name
+ queue "/file syspunch n("name".obj) new(repl) sp(100) secsp(100%)"
+ queue "/file syslib pds(@BLD000:*.M,$MCU:*.M)"
+ queue "/load asm"
+ queue "/job nogo"
+ queue "/opt deck,list"
+ queue "/inc" name".asm"
+ "EXEC"
+ 
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPTOP.M REPL
+ undivert(pdptop.mac)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPPRLG.M REPL
+ undivert(pdpprlg.mac)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPEPIL.M REPL
+ undivert(pdpepil.mac)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MUSSTART.ASM REPL
+ undivert(musstart.asm)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MUSSUPA.ASM REPL
+ undivert(mussupa.asm)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE START.ASM REPL
+ undivert(start.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE STDIO.ASM REPL
+ undivert(stdio.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE STDLIB.ASM REPL
+ undivert(stdlib.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE CTYPE.ASM REPL
+ undivert(ctype.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE STRING.ASM REPL
+ undivert(string.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE TIME.ASM REPL
+ undivert(time.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE ERRNO.ASM REPL
+ undivert(errno.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE ASSERT.ASM REPL
+ undivert(assert.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE LOCALE.ASM REPL
+ undivert(locale.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MATH.ASM REPL
+ undivert(math.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE SETJMP.ASM REPL
+ undivert(setjmp.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE SIGNAL.ASM REPL
+ undivert(signal.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE __MEMMGR.ASM REPL
+ undivert(__memmgr.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE COPYFILE.ASM REPL
+ undivert(copyfile.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE HEXDUMP.ASM REPL
+ undivert(hexdump.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MVSUNZIP.ASM REPL
+ undivert(mvsunzip.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MVSENDEC.ASM REPL
+ undivert(mvsendec.s)/END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /inc rexx
+ 'pdpasm start'
+ 'pdpasm stdio'
+ 'pdpasm stdlib'
+ 'pdpasm ctype'
+ 'pdpasm string'
+ 'pdpasm time'
+ 'pdpasm errno'
+ 'pdpasm assert'
+ 'pdpasm locale'
+ 'pdpasm math'
+ 'pdpasm setjmp'
+ 'pdpasm signal'
+ 'pdpasm __memmgr'
+ 'pdpasm mussupa'
+ 'pdpasm musstart'
+ 'pdpasm copyfile'
+ 'pdpasm hexdump'
+ 'pdpasm mvsunzip'
+ 'pdpasm mvsendec'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(copyfile.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=copyfile
+ .org 4a00
+ /inc copyfile.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /inc __memmgr.obj
+ /inc assert.obj
+ /inc ctype.obj
+ /inc errno.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc string.obj
+ /inc time.obj
+  ENTRY @@MAIN
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(hexdump.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=hexdump
+ .org 4a00
+ /inc hexdump.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /inc __memmgr.obj
+ /inc assert.obj
+ /inc ctype.obj
+ /inc errno.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc string.obj
+ /inc time.obj
+  ENTRY @@MAIN
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(mvsunzip.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=mvsunzip
+ .org 4a00
+ /inc mvsunzip.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /inc __memmgr.obj
+ /inc assert.obj
+ /inc ctype.obj
+ /inc errno.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc string.obj
+ /inc time.obj
+  ENTRY @@MAIN
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(mvsendec.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=mvsendec
+ .org 4a00
+ /inc mvsendec.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /inc __memmgr.obj
+ /inc assert.obj
+ /inc ctype.obj
+ /inc errno.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc string.obj
+ /inc time.obj
+  ENTRY @@MAIN
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file myin n(assert.asm) shr
+ /file myout n(temp.txt) recfm(f) lrecl(80) blksize(800)
+ /etc new(repl) sp(100) secsp(100%)
+ /parm -tt dd:myin dd:myout
+ /load xmon
+ copyfile n(copyfile.lmod) lcparm v(256)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file myin n(temp.txt) shr
+ /parm dd:myin
+ /load xmon
+ hexdump n(hexdump.lmod) lcparm v(256)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /load xmon
+ mvsendec n(mvsendec.lmod) lcparm v(256)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /load xmon
+ mvsunzip n(mvsunzip.lmod) lcparm v(256)
+ /END
Index: gcc/gcc/mvstest.bat
diff -c /dev/null gcc/gcc/mvstest.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/mvstest.bat	Wed Apr 15 23:24:12 2009
***************
*** 0 ****
--- 1 ----
+ gccmvs -S -o - mvstest.c
Index: gcc/gcc/mvstest.c
diff -c /dev/null gcc/gcc/mvstest.c:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/mvstest.c	Wed Apr 15 23:24:16 2009
***************
*** 0 ****
--- 1,7 ----
+ #include "mvstest.h"
+ 
+ int main(void)
+ {
+     mary("hello, world\n");
+     return (0);
+ }
Index: gcc/gcc/mvstest.h
diff -c /dev/null gcc/gcc/mvstest.h:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/mvstest.h	Wed Apr 15 23:24:12 2009
***************
*** 0 ****
--- 1,3 ----
+ int x;
+ 
+ #define mary printf
Index: gcc/gcc/options.c
diff -c /dev/null gcc/gcc/options.c:1.4
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/options.c	Mon Aug  3 23:19:00 2009
***************
*** 0 ****
--- 1,1184 ----
+ /* This file is auto-generated by opts.sh.  */
+ 
+ #include <intl.h>
+ #include "options.h"
+ #include "opts.h"
+ 
+ const char * const lang_names[] =
+ {
+   "C",
+   "C++",
+   "ObjC",
+   "ObjC++",
+   0
+ };
+ 
+ const unsigned int cl_options_count = N_OPTS;
+ 
+ struct cl_option cl_options[] =
+ {
+   { "--help",
+     N_("Display this information"),
+     N_OPTS, 5, CL_COMMON },
+   { "--output-pch=",
+     0,
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "--param",
+     N_("--param <param>=<value>	Set parameter <param> to value.  See below for a complete list of parameters"),
+     N_OPTS, 6, CL_COMMON | CL_SEPARATE },
+   { "--target-help",
+     0,
+     N_OPTS, 12, CL_COMMON },
+   { "--version",
+     0,
+     N_OPTS, 8, CL_COMMON },
+   { "-A",
+     N_("-A<question>=<answer>	Assert the <answer> to <question>.  Putting '-' before <question> disables the <answer> to <question>"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-C",
+     N_("Do not discard comments"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-CC",
+     N_("Do not discard comments in macro expansions"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-D",
+     N_("-D<macro>[=<val>]	Define a <macro> with <val> as its value.  If just <macro> is given, <val> is taken to be 1"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-E",
+     0,
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_UNDOCUMENTED },
+   { "-G",
+     N_("-G<number>	Put global and static data smaller than <number> bytes into a special section (on some targets)"),
+     N_OPTS, 1, CL_COMMON | CL_JOINED | CL_SEPARATE | CL_UINTEGER },
+   { "-H",
+     N_("Print the name of header files as they are used"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-I",
+     N_("-I <dir>	Add <dir> to the end of the main include path.  -I- gives more include path control; see info documentation"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-M",
+     N_("Generate make dependencies"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-MD",
+     N_("Generate make dependencies and compile"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_SEPARATE },
+   { "-MF",
+     N_("-MF <file>	Write dependency output to the given file"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-MG",
+     N_("Treat missing header files as generated files"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-MM",
+     N_("Like -M but ignore system header files"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-MMD",
+     N_("Like -MD but ignore system header files"),
+     N_OPTS, 3, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_SEPARATE },
+   { "-MP",
+     N_("Generate phony targets for all headers"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-MQ",
+     N_("-MQ <target>	Add a MAKE-quoted target"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-MT",
+     N_("-MT <target>	Add an unquoted target"),
+     N_OPTS, 2, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-O",
+     N_("-O<number>	Set optimization level to <number>"),
+     N_OPTS, 1, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-Os",
+     N_("Optimize for space rather than speed"),
+     OPT_O, 2, CL_COMMON },
+   { "-P",
+     N_("Do not generate #line directives"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-U",
+     N_("-U<macro>	Undefine <macro>"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-W",
+     N_("This switch is deprecated; use -Wextra instead"),
+     N_OPTS, 1, CL_COMMON | CL_REJECT_NEGATIVE },
+   { "-Wabi",
+     0,
+     N_OPTS, 4, CL_CXX | CL_ObjCXX },
+   { "-Waggregate-return",
+     N_("Warn about returning structures, unions or arrays"),
+     N_OPTS, 17, CL_COMMON },
+   { "-Wall",
+     N_("Enable most warning messages"),
+     N_OPTS, 4, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wbad-function-cast",
+     N_("Warn about casting functions to incompatible types"),
+     N_OPTS, 18, CL_C | CL_ObjC },
+   { "-Wcast-align",
+     N_("Warn about pointer casts which increase alignment"),
+     N_OPTS, 11, CL_COMMON },
+   { "-Wcast-qual",
+     N_("Warn about casts which discard qualifiers"),
+     N_OPTS, 10, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wchar-subscripts",
+     N_("Warn about subscripts whose type is \"char\""),
+     N_OPTS, 16, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wcomment",
+     N_("Warn about possibly nested block comments, and C++ comments spanning more than one physical line"),
+     N_OPTS, 8, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wcomments",
+     N_("Synonym for -Wcomment"),
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wconversion",
+     N_("Warn about possibly confusing type conversions"),
+     N_OPTS, 11, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wctor-dtor-privacy",
+     N_("Warn when all constructors and destructors are private"),
+     N_OPTS, 18, CL_CXX | CL_ObjCXX },
+   { "-Wdeclaration-after-statement",
+     N_("Warn when a declaration is found after a statement"),
+     N_OPTS, 28, CL_C | CL_ObjC },
+   { "-Wdeprecated",
+     N_("Warn about deprecated compiler features"),
+     N_OPTS, 11, CL_CXX | CL_ObjCXX },
+   { "-Wdeprecated-declarations",
+     N_("Warn about uses of __attribute__((deprecated)) declarations"),
+     N_OPTS, 24, CL_COMMON },
+   { "-Wdisabled-optimization",
+     N_("Warn when an optimization pass is disabled"),
+     N_OPTS, 22, CL_COMMON },
+   { "-Wdiv-by-zero",
+     N_("Warn about compile-time integer division by zero"),
+     N_OPTS, 12, CL_C | CL_ObjC },
+   { "-Weffc++",
+     N_("Warn about violations of Effective C++ style rules"),
+     N_OPTS, 7, CL_CXX | CL_ObjCXX },
+   { "-Wendif-labels",
+     N_("Warn about stray tokens after #elif and #endif"),
+     N_OPTS, 13, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Werror",
+     N_("Treat all warnings as errors"),
+     N_OPTS, 6, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON },
+   { "-Werror-implicit-function-declaration",
+     N_("Make implicit function declarations an error"),
+     N_OPTS, 36, CL_C | CL_ObjC | CL_REJECT_NEGATIVE },
+   { "-Wextra",
+     N_("Print extra (possibly unwanted) warnings"),
+     N_OPTS, 6, CL_COMMON },
+   { "-Wfloat-equal",
+     N_("Warn if testing floating point numbers for equality"),
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wformat",
+     N_("Warn about printf/scanf/strftime/strfmon format string anomalies"),
+     N_OPTS, 7, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wformat-extra-args",
+     N_("Warn if passing too many arguments to a function for its format string"),
+     N_OPTS, 18, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wformat-nonliteral",
+     N_("Warn about format strings that are not literals"),
+     N_OPTS, 18, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wformat-security",
+     N_("Warn about possible security problems with format functions"),
+     N_OPTS, 16, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wformat-y2k",
+     N_("Warn about strftime formats yielding 2-digit years"),
+     N_OPTS, 11, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wformat-zero-length",
+     0,
+     N_OPTS, 19, CL_C | CL_ObjC },
+   { "-Wformat=",
+     0,
+     N_OPTS, 8, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED },
+   { "-Wimplicit",
+     0,
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wimplicit-function-declaration",
+     N_("Warn about implicit function declarations"),
+     N_OPTS, 30, CL_C | CL_ObjC },
+   { "-Wimplicit-int",
+     N_("Warn when a declaration does not specify a type"),
+     N_OPTS, 13, CL_C | CL_ObjC },
+   { "-Wimport",
+     N_("Deprecated.  This switch has no effect."),
+     N_OPTS, 7, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Winit-self",
+     N_("Warn about variables which are initialized to themselves."),
+     N_OPTS, 10, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Winline",
+     N_("Warn when an inlined function cannot be inlined"),
+     N_OPTS, 7, CL_COMMON },
+   { "-Winvalid-offsetof",
+     N_("Warn about invalid uses of the \"offsetof\" macro"),
+     N_OPTS, 17, CL_CXX | CL_ObjCXX },
+   { "-Winvalid-pch",
+     N_("Warn about PCH files that are found but not used"),
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wlarger-than-",
+     N_("-Wlarger-than-<number>	Warn if an object is larger than <number> bytes"),
+     N_OPTS, 13, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-Wlong-long",
+     N_("Do not warn about using \"long long\" when -pedantic"),
+     N_OPTS, 10, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wmain",
+     N_("Warn about suspicious declarations of \"main\""),
+     N_OPTS, 5, CL_C | CL_ObjC },
+   { "-Wmissing-braces",
+     N_("Warn about possibly missing braces around initializers"),
+     N_OPTS, 15, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wmissing-declarations",
+     N_("Warn about global functions without previous declarations"),
+     N_OPTS, 21, CL_C | CL_ObjC },
+   { "-Wmissing-format-attribute",
+     N_("Warn about functions which might be candidates for format attributes"),
+     N_OPTS, 25, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wmissing-noreturn",
+     N_("Warn about functions which might be candidates for __attribute__((noreturn))"),
+     N_OPTS, 17, CL_COMMON },
+   { "-Wmissing-prototypes",
+     N_("Warn about global functions without prototypes"),
+     N_OPTS, 19, CL_C | CL_ObjC },
+   { "-Wmultichar",
+     N_("Warn about use of multi-character character constants"),
+     N_OPTS, 10, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wnested-externs",
+     N_("Warn about \"extern\" declarations not at file scope"),
+     N_OPTS, 15, CL_C | CL_ObjC },
+   { "-Wnon-template-friend",
+     N_("Warn when non-templatized friend functions are declared within a template"),
+     N_OPTS, 20, CL_CXX | CL_ObjCXX },
+   { "-Wnon-virtual-dtor",
+     N_("Warn about non-virtual destructors"),
+     N_OPTS, 17, CL_CXX | CL_ObjCXX },
+   { "-Wnonnull",
+     0,
+     N_OPTS, 8, CL_C | CL_ObjC },
+   { "-Wold-style-cast",
+     N_("Warn if a C-style cast is used in a program"),
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-Wold-style-definition",
+     N_("Warn if an old-style parameter definition is used"),
+     N_OPTS, 21, CL_C | CL_ObjC },
+   { "-Woverloaded-virtual",
+     N_("Warn about overloaded virtual function names"),
+     N_OPTS, 19, CL_CXX | CL_ObjCXX },
+   { "-Wpacked",
+     N_("Warn when the packed attribute has no effect on struct layout"),
+     N_OPTS, 7, CL_COMMON },
+   { "-Wpadded",
+     N_("Warn when padding is required to align structure members"),
+     N_OPTS, 7, CL_COMMON },
+   { "-Wparentheses",
+     N_("Warn about possibly missing parentheses"),
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wpmf-conversions",
+     N_("Warn when converting the type of pointers to member functions"),
+     N_OPTS, 16, CL_CXX | CL_ObjCXX },
+   { "-Wpointer-arith",
+     N_("Warn about function pointer arithmetic"),
+     N_OPTS, 14, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wprotocol",
+     N_("Warn if inherited methods are unimplemented"),
+     N_OPTS, 9, CL_ObjC | CL_ObjCXX },
+   { "-Wredundant-decls",
+     N_("Warn about multiple declarations of the same object"),
+     N_OPTS, 16, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wreorder",
+     N_("Warn when the compiler reorders code"),
+     N_OPTS, 8, CL_CXX | CL_ObjCXX },
+   { "-Wreturn-type",
+     N_("Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"),
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wselector",
+     N_("Warn if a selector has multiple methods"),
+     N_OPTS, 9, CL_ObjC | CL_ObjCXX },
+   { "-Wsequence-point",
+     N_("Warn about possible violations of sequence point rules"),
+     N_OPTS, 15, CL_C | CL_ObjC },
+   { "-Wshadow",
+     N_("Warn when one local variable shadows another"),
+     N_OPTS, 7, CL_COMMON },
+   { "-Wsign-compare",
+     N_("Warn about signed-unsigned comparisons"),
+     N_OPTS, 13, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wsign-promo",
+     N_("Warn when overload promotes from unsigned to signed"),
+     N_OPTS, 11, CL_CXX | CL_ObjCXX },
+   { "-Wstrict-aliasing",
+     N_("Warn about code which might break strict aliasing rules"),
+     N_OPTS, 16, CL_COMMON },
+   { "-Wstrict-prototypes",
+     N_("Warn about unprototyped function declarations"),
+     N_OPTS, 18, CL_C | CL_ObjC },
+   { "-Wswitch",
+     N_("Warn about enumerated switches, with no default, missing a case"),
+     N_OPTS, 7, CL_COMMON },
+   { "-Wswitch-default",
+     N_("Warn about enumerated switches missing a \"default:\" statement"),
+     N_OPTS, 15, CL_COMMON },
+   { "-Wswitch-enum",
+     N_("Warn about all enumerated switches missing a specific case"),
+     N_OPTS, 12, CL_COMMON },
+   { "-Wsynth",
+     N_("Warn when synthesis behavior differs from Cfront"),
+     N_OPTS, 6, CL_CXX | CL_ObjCXX },
+   { "-Wsystem-headers",
+     N_("Do not suppress warnings from system headers"),
+     N_OPTS, 15, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON },
+   { "-Wtraditional",
+     N_("Warn about features not present in traditional C"),
+     N_OPTS, 12, CL_C | CL_ObjC },
+   { "-Wtrigraphs",
+     N_("Warn if trigraphs are encountered that might affect the meaning of the program"),
+     N_OPTS, 10, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wundeclared-selector",
+     0,
+     N_OPTS, 20, CL_ObjC | CL_ObjCXX },
+   { "-Wundef",
+     N_("Warn if an undefined macro is used in an #if directive"),
+     N_OPTS, 6, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wuninitialized",
+     N_("Warn about uninitialized automatic variables"),
+     N_OPTS, 14, CL_COMMON },
+   { "-Wunknown-pragmas",
+     N_("Warn about unrecognized pragmas"),
+     N_OPTS, 16, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wunreachable-code",
+     N_("Warn about code that will never be executed"),
+     N_OPTS, 17, CL_COMMON },
+   { "-Wunused",
+     N_("Enable all -Wunused- warnings"),
+     N_OPTS, 7, CL_COMMON },
+   { "-Wunused-function",
+     N_("Warn when a function is unused"),
+     N_OPTS, 16, CL_COMMON },
+   { "-Wunused-label",
+     N_("Warn when a label is unused"),
+     N_OPTS, 13, CL_COMMON },
+   { "-Wunused-macros",
+     N_("Warn about macros defined in the main file that are not used"),
+     N_OPTS, 14, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-Wunused-parameter",
+     N_("Warn when a function parameter is unused"),
+     N_OPTS, 17, CL_COMMON },
+   { "-Wunused-value",
+     N_("Warn when an expression value is unused"),
+     N_OPTS, 13, CL_COMMON },
+   { "-Wunused-variable",
+     N_("Warn when a variable is unused"),
+     N_OPTS, 16, CL_COMMON },
+   { "-Wwrite-strings",
+     N_("Give strings the type \"array of char\""),
+     N_OPTS, 14, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-ansi",
+     N_("A synonym for -std=c89 (for C) or -std=c++98 (for C++)."),
+     N_OPTS, 4, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-aux-info",
+     N_("-aux-info <file>	Emit declaration information into <file>"),
+     N_OPTS, 8, CL_COMMON | CL_SEPARATE },
+   { "-aux-info=",
+     0,
+     N_OPTS, 9, CL_COMMON | CL_JOINED },
+   { "-auxbase",
+     0,
+     N_OPTS, 7, CL_COMMON | CL_SEPARATE },
+   { "-auxbase-strip",
+     0,
+     N_OPTS, 13, CL_COMMON | CL_SEPARATE },
+   { "-d",
+     N_("-d<letters>	Enable dumps from specific passes of the compiler"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON | CL_JOINED },
+   { "-dumpbase",
+     N_("-dumpbase <file>	Set the file basename to be used for dumps"),
+     OPT_d, 8, CL_COMMON | CL_SEPARATE },
+   { "-fPIC",
+     0,
+     N_OPTS, 4, CL_COMMON },
+   { "-fPIE",
+     0,
+     N_OPTS, 4, CL_COMMON },
+   { "-fabi-version=",
+     0,
+     N_OPTS, 13, CL_COMMON | CL_JOINED | CL_UINTEGER },
+   { "-faccess-control",
+     N_("Enforce class member access control semantics"),
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-falign-functions",
+     N_("Align the start of functions"),
+     N_OPTS, 16, CL_COMMON },
+   { "-falign-functions=",
+     0,
+     N_OPTS, 17, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-falign-jumps",
+     N_("Align labels which are only reached by jumping"),
+     N_OPTS, 12, CL_COMMON },
+   { "-falign-jumps=",
+     0,
+     N_OPTS, 13, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-falign-labels",
+     N_("Align all labels"),
+     N_OPTS, 13, CL_COMMON },
+   { "-falign-labels=",
+     0,
+     N_OPTS, 14, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-falign-loops",
+     N_("Align the start of loops"),
+     N_OPTS, 12, CL_COMMON },
+   { "-falign-loops=",
+     0,
+     N_OPTS, 13, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-fall-virtual",
+     0,
+     N_OPTS, 12, CL_CXX | CL_ObjCXX },
+   { "-falt-external-templates",
+     N_("Change when template instances are emitted"),
+     N_OPTS, 23, CL_CXX | CL_ObjCXX },
+   { "-fargument-alias",
+     N_("Specify that arguments may alias each other and globals"),
+     N_OPTS, 15, CL_COMMON },
+   { "-fargument-noalias",
+     N_("Assume arguments may alias globals but not each other"),
+     N_OPTS, 17, CL_COMMON },
+   { "-fargument-noalias-global",
+     N_("Assume arguments alias neither each other nor globals"),
+     N_OPTS, 24, CL_COMMON },
+   { "-fasm",
+     N_("Recognize the \"asm\" keyword"),
+     N_OPTS, 4, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fasynchronous-unwind-tables",
+     N_("Generate unwind tables that are exact at each instruction boundary"),
+     N_OPTS, 27, CL_COMMON },
+   { "-fbounds-check",
+     N_("Generate code to check bounds before indexing arrays"),
+     N_OPTS, 13, CL_COMMON },
+   { "-fbranch-count-reg",
+     N_("Replace add, compare, branch with branch on count register"),
+     N_OPTS, 17, CL_COMMON },
+   { "-fbranch-probabilities",
+     N_("Use profiling information for branch probabilities"),
+     N_OPTS, 21, CL_COMMON },
+   { "-fbranch-target-load-optimize",
+     N_("Perform branch target load optimization before prologue / epilogue threading"),
+     N_OPTS, 28, CL_COMMON },
+   { "-fbranch-target-load-optimize2",
+     N_("Perform branch target load optimization after prologue / epilogue threading"),
+     N_OPTS, 29, CL_COMMON },
+   { "-fbuiltin",
+     N_("Recognize built-in functions"),
+     N_OPTS, 8, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fbuiltin-",
+     0,
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED },
+   { "-fcall-saved-",
+     N_("-fcall-saved-<register>	Mark <register> as being preserved across functions"),
+     N_OPTS, 12, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fcall-used-",
+     N_("-fcall-used-<register>	Mark <register> as being corrupted by function calls"),
+     N_OPTS, 11, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fcaller-saves",
+     N_("Save registers around function calls"),
+     N_OPTS, 13, CL_COMMON },
+   { "-fcheck-new",
+     N_("Check the return value of new"),
+     N_OPTS, 10, CL_CXX | CL_ObjCXX },
+   { "-fcommon",
+     N_("Do not put uninitialized globals in the common section"),
+     N_OPTS, 7, CL_COMMON },
+   { "-fcond-mismatch",
+     N_("Allow the arguments of the '?' operator to have different types"),
+     N_OPTS, 14, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fconserve-space",
+     N_("Reduce the size of object files"),
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-fconst-strings",
+     N_("Make string literals \"const char[]\" not \"char[]\""),
+     N_OPTS, 14, CL_CXX | CL_ObjCXX },
+   { "-fconstant-string-class=",
+     N_("-fconst-string-class=<name>	Use class <name> for constant strings"),
+     N_OPTS, 23, CL_ObjC | CL_ObjCXX | CL_JOINED },
+   { "-fcprop-registers",
+     N_("Perform a register copy-propagation optimization pass"),
+     N_OPTS, 16, CL_COMMON },
+   { "-fcrossjumping",
+     N_("Perform cross-jumping optimization"),
+     N_OPTS, 13, CL_COMMON },
+   { "-fcse-follow-jumps",
+     N_("When running CSE, follow jumps to their targets"),
+     N_OPTS, 17, CL_COMMON },
+   { "-fcse-skip-blocks",
+     N_("When running CSE, follow conditional jumps"),
+     N_OPTS, 16, CL_COMMON },
+   { "-fdata-sections",
+     N_("Place data items into their own section"),
+     N_OPTS, 14, CL_COMMON },
+   { "-fdefault-inline",
+     N_("Inline member functions by default"),
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-fdefer-pop",
+     N_("Defer popping functions args from stack until later"),
+     N_OPTS, 10, CL_COMMON },
+   { "-fdelayed-branch",
+     N_("Attempt to fill delay slots of branch instructions"),
+     N_OPTS, 15, CL_COMMON },
+   { "-fdelete-null-pointer-checks",
+     N_("Delete useless null pointer checks"),
+     N_OPTS, 27, CL_COMMON },
+   { "-fdiagnostics-show-location=",
+     N_("-fdiagnostics-show-location=[once|every-line]	How often to emit source location at the beginning of line-wrapped diagnostics"),
+     N_OPTS, 27, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fdollars-in-identifiers",
+     N_("Permit '$' as an identifier character"),
+     N_OPTS, 23, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fdump-",
+     N_("-fdump-<type>	Dump various compiler internals to a file"),
+     N_OPTS, 6, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fdump-unnumbered",
+     N_("Suppress output of instruction numbers and line number notes in debugging dumps"),
+     OPT_fdump_, 16, CL_COMMON },
+   { "-felide-constructors",
+     0,
+     N_OPTS, 19, CL_CXX | CL_ObjCXX },
+   { "-feliminate-dwarf2-dups",
+     N_("Perform DWARF2 duplicate elimination"),
+     N_OPTS, 22, CL_COMMON },
+   { "-feliminate-unused-debug-symbols",
+     N_("Perform unused type elimination in debug info"),
+     N_OPTS, 31, CL_COMMON },
+   { "-feliminate-unused-debug-types",
+     N_("Perform unused type elimination in debug info"),
+     N_OPTS, 29, CL_COMMON },
+   { "-fenforce-eh-specs",
+     N_("Generate code to check exception specifications"),
+     N_OPTS, 17, CL_CXX | CL_ObjCXX },
+   { "-fenum-int-equiv",
+     0,
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-fexceptions",
+     N_("Enable exception handling"),
+     N_OPTS, 11, CL_COMMON },
+   { "-fexec-charset=",
+     N_("-fexec-charset=<cset>	Convert all strings and character constants to character set <cset>"),
+     N_OPTS, 14, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fexpensive-optimizations",
+     N_("Perform a number of minor, expensive optimizations"),
+     N_OPTS, 24, CL_COMMON },
+   { "-fexternal-templates",
+     0,
+     N_OPTS, 19, CL_CXX | CL_ObjCXX },
+   { "-ffast-math",
+     0,
+     N_OPTS, 10, CL_COMMON },
+   { "-ffinite-math-only",
+     N_("Assume no NaNs or infinities are generated"),
+     N_OPTS, 17, CL_COMMON },
+   { "-ffixed-",
+     N_("-ffixed-<register>	Mark <register> as being unavailable to the compiler"),
+     N_OPTS, 7, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-ffixed-form",
+     0,
+     OPT_ffixed_, 11, CL_C | CL_ObjC },
+   { "-ffixed-line-length-",
+     0,
+     OPT_ffixed_, 19, CL_C | CL_ObjC | CL_JOINED },
+   { "-ffloat-store",
+     N_("Do not store floats in registers"),
+     N_OPTS, 12, CL_COMMON },
+   { "-ffor-scope",
+     N_("Scope of for-init-statement variables is local to the loop"),
+     N_OPTS, 10, CL_CXX | CL_ObjCXX },
+   { "-fforce-addr",
+     N_("Copy memory address constants into registers before use"),
+     N_OPTS, 11, CL_COMMON },
+   { "-fforce-mem",
+     N_("Copy memory operands into registers before use"),
+     N_OPTS, 10, CL_COMMON },
+   { "-ffreestanding",
+     N_("Do not assume that standard C libraries and \"main\" exist"),
+     N_OPTS, 13, CL_C | CL_ObjC },
+   { "-ffunction-cse",
+     N_("Allow function addresses to be held in registers"),
+     N_OPTS, 13, CL_COMMON },
+   { "-ffunction-sections",
+     N_("Place each function into its own section"),
+     N_OPTS, 18, CL_COMMON },
+   { "-fgcse",
+     N_("Perform global common subexpression elimination"),
+     N_OPTS, 5, CL_COMMON },
+   { "-fgcse-las",
+     N_("Perform redundant load after store elimination in global common subexpression elimination"),
+     N_OPTS, 9, CL_COMMON },
+   { "-fgcse-lm",
+     N_("Perform enhanced load motion during global common subexpression elimination"),
+     N_OPTS, 8, CL_COMMON },
+   { "-fgcse-sm",
+     N_("Perform store motion after global common subexpression elimination"),
+     N_OPTS, 8, CL_COMMON },
+   { "-fgnu-keywords",
+     N_("Recognize GNU-defined keywords"),
+     N_OPTS, 13, CL_CXX | CL_ObjCXX },
+   { "-fgnu-runtime",
+     N_("Generate code for GNU runtime environment"),
+     N_OPTS, 12, CL_ObjC | CL_ObjCXX },
+   { "-fguess-branch-probability",
+     N_("Enable guessing of branch probabilities"),
+     N_OPTS, 25, CL_COMMON },
+   { "-fguiding-decls",
+     0,
+     N_OPTS, 14, CL_CXX | CL_ObjCXX },
+   { "-fhandle-exceptions",
+     0,
+     N_OPTS, 18, CL_CXX | CL_ObjCXX },
+   { "-fhonor-std",
+     0,
+     N_OPTS, 10, CL_CXX | CL_ObjCXX },
+   { "-fhosted",
+     N_("Assume normal C execution environment"),
+     N_OPTS, 7, CL_C | CL_ObjC },
+   { "-fhuge-objects",
+     N_("Enable support for huge objects"),
+     N_OPTS, 13, CL_CXX | CL_ObjCXX },
+   { "-fident",
+     N_("Process #ident directives"),
+     N_OPTS, 6, CL_COMMON },
+   { "-fif-conversion",
+     N_("Perform conversion of conditional jumps to branchless equivalents"),
+     N_OPTS, 14, CL_COMMON },
+   { "-fif-conversion2",
+     N_("Perform conversion of conditional jumps to conditional execution"),
+     N_OPTS, 15, CL_COMMON },
+   { "-fimplement-inlines",
+     N_("Export functions even if they can be inlined"),
+     N_OPTS, 18, CL_CXX | CL_ObjCXX },
+   { "-fimplicit-inline-templates",
+     N_("Emit implicit instantiations of inline templates"),
+     N_OPTS, 26, CL_CXX | CL_ObjCXX },
+   { "-fimplicit-templates",
+     N_("Emit implicit instantiations of templates"),
+     N_OPTS, 19, CL_CXX | CL_ObjCXX },
+   { "-finhibit-size-directive",
+     N_("Do not generate .size directives"),
+     N_OPTS, 23, CL_COMMON },
+   { "-finline",
+     N_("Pay attention to the \"inline\" keyword"),
+     N_OPTS, 7, CL_COMMON },
+   { "-finline-functions",
+     N_("Integrate simple functions into their callers"),
+     N_OPTS, 17, CL_COMMON },
+   { "-finline-limit-",
+     0,
+     N_OPTS, 14, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-finline-limit=",
+     N_("-finline-limit=<number>	Limit the size of inlined functions to <number>"),
+     N_OPTS, 14, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-finput-charset=",
+     N_("-finput-charset=<cset>      Specify the default character set for source files."),
+     N_OPTS, 15, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-finstrument-functions",
+     N_("Instrument function entry and exit with profiling calls"),
+     N_OPTS, 21, CL_COMMON },
+   { "-fkeep-inline-functions",
+     N_("Generate code for functions even if they are fully inlined"),
+     N_OPTS, 22, CL_COMMON },
+   { "-fkeep-static-consts",
+     N_("Emit static const variables even if they are not used"),
+     N_OPTS, 19, CL_COMMON },
+   { "-flabels-ok",
+     0,
+     N_OPTS, 10, CL_CXX | CL_ObjCXX },
+   { "-fleading-underscore",
+     N_("Give external symbols a leading underscore"),
+     N_OPTS, 19, CL_COMMON },
+   { "-floop-optimize",
+     N_("Perform loop optimizations"),
+     N_OPTS, 14, CL_COMMON },
+   { "-fmath-errno",
+     N_("Set errno after built-in math functions"),
+     N_OPTS, 11, CL_COMMON },
+   { "-fmem-report",
+     N_("Report on permanent memory allocation"),
+     N_OPTS, 11, CL_COMMON },
+   { "-fmerge-all-constants",
+     N_("Attempt to merge identical constants and constant variables"),
+     N_OPTS, 20, CL_COMMON },
+   { "-fmerge-constants",
+     N_("Attempt to merge identical constants across compilation units"),
+     N_OPTS, 16, CL_COMMON },
+   { "-fmessage-length=",
+     N_("-fmessage-length=<number>	Limit diagnostics to <number> characters per line.  0 suppresses line-wrapping"),
+     N_OPTS, 16, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-fmove-all-movables",
+     N_("Force all loop invariant computations out of loops"),
+     N_OPTS, 18, CL_COMMON },
+   { "-fms-extensions",
+     N_("Don't warn about uses of Microsoft extensions"),
+     N_OPTS, 14, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fname-mangling-version-",
+     0,
+     N_OPTS, 23, CL_CXX | CL_ObjCXX | CL_JOINED },
+   { "-fnew-abi",
+     0,
+     N_OPTS, 8, CL_CXX | CL_ObjCXX },
+   { "-fnew-ra",
+     N_("Use graph-coloring register allocation"),
+     N_OPTS, 7, CL_COMMON },
+   { "-fnext-runtime",
+     N_("Generate code for NeXT (Apple Mac OS X) runtime environment"),
+     N_OPTS, 13, CL_ObjC | CL_ObjCXX },
+   { "-fnil-receivers",
+     N_("Assume that receivers of Objective-C messages may be nil"),
+     N_OPTS, 14, CL_ObjC | CL_ObjCXX },
+   { "-fnon-call-exceptions",
+     N_("Support synchronous non-call exceptions"),
+     N_OPTS, 20, CL_COMMON },
+   { "-fnonansi-builtins",
+     0,
+     N_OPTS, 17, CL_CXX | CL_ObjCXX },
+   { "-fnonnull-objects",
+     0,
+     N_OPTS, 16, CL_CXX | CL_ObjCXX },
+   { "-fobjc-exceptions",
+     N_("Enable Objective-C exception and synchronization syntax"),
+     N_OPTS, 16, CL_ObjC | CL_ObjCXX },
+   { "-fold-unroll-all-loops",
+     N_("Perform loop unrolling for all loops"),
+     N_OPTS, 21, CL_COMMON },
+   { "-fold-unroll-loops",
+     N_("Perform loop unrolling when iteration count is known"),
+     N_OPTS, 17, CL_COMMON },
+   { "-fomit-frame-pointer",
+     N_("When possible do not generate stack frames"),
+     N_OPTS, 19, CL_COMMON },
+   { "-foperator-names",
+     N_("Recognize C++ kewords like \"compl\" and \"xor\""),
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-foptimize-register-move",
+     N_("Do the full register move optimization pass"),
+     N_OPTS, 23, CL_COMMON },
+   { "-foptimize-sibling-calls",
+     N_("Optimize sibling and tail recursive calls"),
+     N_OPTS, 23, CL_COMMON },
+   { "-foptional-diags",
+     N_("Enable optional diagnostics"),
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-fpack-struct",
+     N_("Pack structure members together without holes"),
+     N_OPTS, 12, CL_COMMON },
+   { "-fpcc-struct-return",
+     N_("Return small aggregates in memory, not registers"),
+     N_OPTS, 18, CL_COMMON },
+   { "-fpch-deps",
+     0,
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fpeel-loops",
+     N_("Perform loop peeling"),
+     N_OPTS, 11, CL_COMMON },
+   { "-fpeephole",
+     N_("Enable machine specific peephole optimizations"),
+     N_OPTS, 9, CL_COMMON },
+   { "-fpeephole2",
+     N_("Enable an RTL peephole pass before sched2"),
+     N_OPTS, 10, CL_COMMON },
+   { "-fpermissive",
+     N_("Downgrade conformance errors to warnings"),
+     N_OPTS, 11, CL_CXX | CL_ObjCXX },
+   { "-fpic",
+     N_("Generate position-independent code if possible"),
+     N_OPTS, 4, CL_COMMON },
+   { "-fpie",
+     N_("Generate position-independent code for executables if possible"),
+     N_OPTS, 4, CL_COMMON },
+   { "-fprefetch-loop-arrays",
+     N_("Generate prefetch instructions, if available, for arrays in loops"),
+     N_OPTS, 21, CL_COMMON },
+   { "-fpreprocessed",
+     N_("Treat the input file as already preprocessed"),
+     N_OPTS, 13, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fprofile",
+     N_("Enable basic program profiling code"),
+     N_OPTS, 8, CL_COMMON },
+   { "-fprofile-arcs",
+     N_("Insert arc-based program profiling code"),
+     N_OPTS, 13, CL_COMMON },
+   { "-fprofile-generate",
+     N_("Enable common options for generating profile info for profile feedback directed optimizations"),
+     N_OPTS, 17, CL_COMMON },
+   { "-fprofile-use",
+     N_("Enable common options for performing profile feedback directed optimizations"),
+     N_OPTS, 12, CL_COMMON },
+   { "-fprofile-values",
+     N_("Insert code to profile values of expressions"),
+     N_OPTS, 15, CL_COMMON },
+   { "-frandom-seed",
+     0,
+     N_OPTS, 12, CL_COMMON },
+   { "-frandom-seed=",
+     N_("-frandom-seed=<string>	Make compile reproducible using <string>"),
+     N_OPTS, 13, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-freduce-all-givs",
+     N_("Strength reduce all loop general induction variables"),
+     N_OPTS, 16, CL_COMMON },
+   { "-freg-struct-return",
+     N_("Return small aggregates in registers"),
+     N_OPTS, 18, CL_COMMON },
+   { "-fregmove",
+     N_("Enables a register move optimization"),
+     N_OPTS, 8, CL_COMMON },
+   { "-frename-registers",
+     N_("Perform a register renaming optimization pass"),
+     N_OPTS, 17, CL_COMMON },
+   { "-freorder-blocks",
+     N_("Reorder basic blocks to improve code placement"),
+     N_OPTS, 15, CL_COMMON },
+   { "-freorder-functions",
+     N_("Reorder functions to improve code placement"),
+     N_OPTS, 18, CL_COMMON },
+   { "-freplace-objc-classes",
+     N_("Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"),
+     N_OPTS, 21, CL_ObjC | CL_ObjCXX },
+   { "-frepo",
+     N_("Enable automatic template instantiation"),
+     N_OPTS, 5, CL_CXX | CL_ObjCXX },
+   { "-frerun-cse-after-loop",
+     N_("Add a common subexpression elimination pass after loop optimizations"),
+     N_OPTS, 21, CL_COMMON },
+   { "-frerun-loop-opt",
+     N_("Run the loop optimizer twice"),
+     N_OPTS, 15, CL_COMMON },
+   { "-frounding-math",
+     N_("Disable optimizations that assume default FP rounding behavior"),
+     N_OPTS, 14, CL_COMMON },
+   { "-frtti",
+     N_("Generate run time type descriptor information"),
+     N_OPTS, 5, CL_CXX | CL_ObjCXX },
+   { "-fsched-interblock",
+     N_("Enable scheduling across basic blocks"),
+     N_OPTS, 17, CL_COMMON },
+   { "-fsched-spec",
+     N_("Allow speculative motion of non-loads"),
+     N_OPTS, 11, CL_COMMON },
+   { "-fsched-spec-load",
+     N_("Allow speculative motion of some loads"),
+     N_OPTS, 16, CL_COMMON },
+   { "-fsched-spec-load-dangerous",
+     N_("Allow speculative motion of more loads"),
+     N_OPTS, 26, CL_COMMON },
+   { "-fsched-stalled-insns",
+     N_("Allow premature scheduling of queued insns"),
+     N_OPTS, 20, CL_COMMON },
+   { "-fsched-stalled-insns-dep",
+     N_("Set dependence distance checking in premature scheduling of queued insns"),
+     N_OPTS, 24, CL_COMMON },
+   { "-fsched-stalled-insns-dep=",
+     N_("-fsched-stalled-insns-dep=<number>   Set dependence distance checking in premature scheduling of queued insns"),
+     N_OPTS, 25, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-fsched-stalled-insns=",
+     N_("-fsched-stalled-insns=<number>       Set number of queued insns that can be prematurely scheduled"),
+     N_OPTS, 21, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-fsched-verbose=",
+     N_("-fsched-verbose=<number>	Set the verbosity level of the scheduler"),
+     N_OPTS, 15, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fsched2-use-superblocks",
+     N_("If scheduling post reload, do superblock scheduling"),
+     N_OPTS, 23, CL_COMMON },
+   { "-fsched2-use-traces",
+     N_("If scheduling post reload, do trace scheduling"),
+     N_OPTS, 18, CL_COMMON },
+   { "-fschedule-insns",
+     N_("Reschedule instructions before register allocation"),
+     N_OPTS, 15, CL_COMMON },
+   { "-fschedule-insns2",
+     N_("Reschedule instructions after register allocation"),
+     N_OPTS, 16, CL_COMMON },
+   { "-fshared-data",
+     N_("Mark data as shared rather than private"),
+     N_OPTS, 12, CL_COMMON },
+   { "-fshort-double",
+     N_("Use the same size for double as for float"),
+     N_OPTS, 13, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fshort-enums",
+     N_("Use the narrowest integer type possible for enumeration types"),
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fshort-wchar",
+     N_("Force the underlying type for \"wchar_t\" to be \"unsigned short\""),
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fshow-column",
+     0,
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fsignaling-nans",
+     N_("Disable optimizations observable by IEEE signaling NaNs"),
+     N_OPTS, 15, CL_COMMON },
+   { "-fsigned-bitfields",
+     N_("When \"signed\" or \"unsigned\" is not given make the bitfield signed"),
+     N_OPTS, 17, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fsigned-char",
+     N_("Make \"char\" signed by default"),
+     N_OPTS, 12, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fsingle-precision-constant",
+     N_("Convert floating point constants to single precision constants"),
+     N_OPTS, 26, CL_COMMON },
+   { "-fsquangle",
+     0,
+     N_OPTS, 9, CL_CXX | CL_ObjCXX },
+   { "-fstack-check",
+     N_("Insert stack checking code into the program"),
+     N_OPTS, 12, CL_COMMON },
+   { "-fstack-limit",
+     0,
+     N_OPTS, 12, CL_COMMON },
+   { "-fstack-limit-register=",
+     N_("-fstack-limit-register=<register>	Trap if the stack goes past <register>"),
+     N_OPTS, 22, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fstack-limit-symbol=",
+     N_("-fstack-limit-symbol=<name>	Trap if the stack goes past symbol <name>"),
+     N_OPTS, 20, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fstats",
+     N_("Display statistics accumulated during compilation"),
+     N_OPTS, 6, CL_CXX | CL_ObjCXX },
+   { "-fstrength-reduce",
+     N_("Perform strength reduction optimizations"),
+     N_OPTS, 16, CL_COMMON },
+   { "-fstrict-aliasing",
+     N_("Assume strict aliasing rules apply"),
+     N_OPTS, 16, CL_COMMON },
+   { "-fstrict-prototype",
+     0,
+     N_OPTS, 17, CL_CXX | CL_ObjCXX },
+   { "-fsyntax-only",
+     N_("Check for syntax errors, then stop"),
+     N_OPTS, 12, CL_COMMON },
+   { "-ftabstop=",
+     N_("-ftabstop=<number>	Distance between tab stops for column reporting"),
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-ftemplate-depth-",
+     N_("-ftemplate-depth-<number>	Specify maximum template instantiation depth"),
+     N_OPTS, 16, CL_CXX | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE | CL_UINTEGER },
+   { "-ftest-coverage",
+     N_("Create data files needed by \"gcov\""),
+     N_OPTS, 14, CL_COMMON },
+   { "-fthis-is-variable",
+     0,
+     N_OPTS, 17, CL_CXX | CL_ObjCXX },
+   { "-fthread-jumps",
+     N_("Perform jump threading optimizations"),
+     N_OPTS, 13, CL_COMMON },
+   { "-ftime-report",
+     N_("Report the time taken by each compiler pass"),
+     N_OPTS, 12, CL_COMMON },
+   { "-ftls-model=",
+     N_("-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]	Set the default thread-local storage code generation model"),
+     N_OPTS, 11, CL_COMMON | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-ftracer",
+     N_("Perform superblock formation via tail duplication"),
+     N_OPTS, 7, CL_COMMON },
+   { "-ftrapping-math",
+     N_("Assume floating-point operations can trap"),
+     N_OPTS, 14, CL_COMMON },
+   { "-ftrapv",
+     N_("Trap for signed overflow in addition, subtraction and multiplication"),
+     N_OPTS, 6, CL_COMMON },
+   { "-funit-at-a-time",
+     N_("Compile whole compilation unit at a time"),
+     N_OPTS, 15, CL_COMMON },
+   { "-funroll-all-loops",
+     N_("Perform loop unrolling for all loops"),
+     N_OPTS, 17, CL_COMMON },
+   { "-funroll-loops",
+     N_("Perform loop unrolling when iteration count is known"),
+     N_OPTS, 13, CL_COMMON },
+   { "-funsafe-math-optimizations",
+     N_("Allow math optimizations that may violate IEEE or ISO standards"),
+     N_OPTS, 26, CL_COMMON },
+   { "-funsigned-bitfields",
+     N_("When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"),
+     N_OPTS, 19, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-funsigned-char",
+     N_("Make \"char\" unsigned by default"),
+     N_OPTS, 14, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-funswitch-loops",
+     N_("Perform loop unswitching"),
+     N_OPTS, 15, CL_COMMON },
+   { "-funwind-tables",
+     N_("Just generate unwind tables for exception handling"),
+     N_OPTS, 14, CL_COMMON },
+   { "-fuse-cxa-atexit",
+     N_("Use __cxa_atexit to register destructors"),
+     N_OPTS, 15, CL_CXX | CL_ObjCXX },
+   { "-fverbose-asm",
+     N_("Add extra commentary to assembler output"),
+     N_OPTS, 12, CL_COMMON },
+   { "-fvpt",
+     N_("Use expression value profiles in optimizations"),
+     N_OPTS, 4, CL_COMMON },
+   { "-fvtable-gc",
+     N_("Discard unused virtual functions"),
+     N_OPTS, 10, CL_CXX | CL_ObjCXX },
+   { "-fvtable-thunks",
+     N_("Implement vtables using thunks"),
+     N_OPTS, 14, CL_CXX | CL_ObjCXX },
+   { "-fweak",
+     N_("Emit common-like symbols as weak symbols"),
+     N_OPTS, 5, CL_CXX | CL_ObjCXX },
+   { "-fweb",
+     N_("Construct webs and split unrelated uses of single variable"),
+     N_OPTS, 4, CL_COMMON },
+   { "-fwide-exec-charset=",
+     N_("-fwide-exec-charset=<cset>	Convert all wide strings and character constants to character set <cset>"),
+     N_OPTS, 19, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_REJECT_NEGATIVE },
+   { "-fworking-directory",
+     N_("Generate a #line directive pointing at the current working directory"),
+     N_OPTS, 18, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-fwrapv",
+     N_("Assume signed arithmetic overflow wraps around"),
+     N_OPTS, 6, CL_COMMON },
+   { "-fwritable-strings",
+     N_("Store strings in writable data section"),
+     N_OPTS, 17, CL_COMMON },
+   { "-fxref",
+     N_("Emit cross referencing information"),
+     N_OPTS, 5, CL_CXX | CL_ObjCXX },
+   { "-fzero-initialized-in-bss",
+     N_("Put zero initialized data in the bss section"),
+     N_OPTS, 24, CL_COMMON },
+   { "-fzero-link",
+     N_("Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"),
+     N_OPTS, 10, CL_ObjC | CL_ObjCXX },
+   { "-g",
+     N_("Generate debug information in default format"),
+     N_OPTS, 1, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gcoff",
+     N_("Generate debug information in COFF format"),
+     OPT_g, 5, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gdwarf-2",
+     N_("Generate debug information in DWARF v2 format"),
+     OPT_g, 8, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gen-decls",
+     N_("Dump declarations to a .decl file"),
+     OPT_g, 9, CL_ObjC | CL_ObjCXX },
+   { "-ggdb",
+     N_("Generate debug information in default extended format"),
+     OPT_g, 4, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gstabs",
+     N_("Generate debug information in STABS format"),
+     OPT_g, 6, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gstabs+",
+     N_("Generate debug information in extended STABS format"),
+     OPT_gstabs, 7, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gvms",
+     N_("Generate debug information in VMS format"),
+     OPT_g, 4, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gxcoff",
+     N_("Generate debug information in XCOFF format"),
+     OPT_g, 6, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-gxcoff+",
+     N_("Generate debug information in extended XCOFF format"),
+     OPT_gxcoff, 7, CL_COMMON | CL_JOINED | CL_MISSING_OK },
+   { "-idirafter",
+     N_("-idirafter <dir>	Add <dir> to the end of the system include path"),
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-imacros",
+     N_("-imacros <file>	Accept definition of macros in <file>"),
+     N_OPTS, 7, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-include",
+     N_("-include <file>	Include the contents of <file> before other files"),
+     N_OPTS, 7, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-iprefix",
+     N_("-iprefix <path>	Specify <path> as a prefix for next two options"),
+     N_OPTS, 7, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-isysroot",
+     N_("-isysroot <dir>	Set <dir> to be the system root directory"),
+     N_OPTS, 8, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-isystem",
+     N_("-isystem <dir>	Add <dir> to the start of the system include path"),
+     N_OPTS, 7, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-iwithprefix",
+     N_("-iwithprefix <dir>	Add <dir> to the end of the system include path"),
+     N_OPTS, 11, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-iwithprefixbefore",
+     N_("-iwithprefixbefore <dir>	Add <dir> to the end of the main include path"),
+     OPT_iwithprefix, 17, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_JOINED | CL_SEPARATE },
+   { "-lang-asm",
+     0,
+     N_OPTS, 8, CL_C | CL_UNDOCUMENTED },
+   { "-lang-objc",
+     0,
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_UNDOCUMENTED },
+   { "-m",
+     0,
+     N_OPTS, 1, CL_COMMON | CL_JOINED },
+   { "-nostdinc",
+     N_("Do not search standard system include directories (those specified with -isystem will still be used)"),
+     N_OPTS, 8, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-nostdinc++",
+     N_("Do not search standard system include directories for C++"),
+     N_OPTS, 10, CL_CXX | CL_ObjCXX },
+   { "-o",
+     N_("-o <file>	Place output into <file>"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON | CL_JOINED | CL_SEPARATE },
+   { "-p",
+     N_("Enable function profiling"),
+     N_OPTS, 1, CL_COMMON },
+   { "-pedantic",
+     N_("Issue warnings needed for strict compliance to the standard"),
+     N_OPTS, 8, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON },
+   { "-pedantic-errors",
+     N_("Like -pedantic but issue them as errors"),
+     N_OPTS, 15, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON },
+   { "-print-objc-runtime-info",
+     N_("Generate C header of platform-specific features"),
+     N_OPTS, 23, CL_ObjC | CL_ObjCXX },
+   { "-quiet",
+     N_("Do not display functions compiled or elapsed time"),
+     N_OPTS, 5, CL_COMMON },
+   { "-remap",
+     N_("Remap file names when including files"),
+     N_OPTS, 5, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-std=c++98",
+     N_("Conform to the ISO 1998 C++ standard"),
+     N_OPTS, 9, CL_CXX | CL_ObjCXX },
+   { "-std=c89",
+     N_("Conform to the ISO 1990 C standard"),
+     N_OPTS, 7, CL_C | CL_ObjC },
+   { "-std=c99",
+     N_("Conform to the ISO 1999 C standard"),
+     N_OPTS, 7, CL_C | CL_ObjC },
+   { "-std=c9x",
+     N_("Deprecated in favor of -std=c99"),
+     N_OPTS, 7, CL_C | CL_ObjC },
+   { "-std=gnu++98",
+     N_("Conform to the ISO 1998 C++ standard with GNU extensions"),
+     N_OPTS, 11, CL_CXX | CL_ObjCXX },
+   { "-std=gnu89",
+     N_("Conform to the ISO 1990 C standard with GNU extensions"),
+     N_OPTS, 9, CL_C | CL_ObjC },
+   { "-std=gnu99",
+     N_("Conform to the ISO 1999 C standard with GNU extensions"),
+     N_OPTS, 9, CL_C | CL_ObjC },
+   { "-std=gnu9x",
+     N_("Deprecated in favor of -std=gnu99"),
+     N_OPTS, 9, CL_C | CL_ObjC },
+   { "-std=iso9899:1990",
+     N_("Conform to the ISO 1990 C standard"),
+     N_OPTS, 16, CL_C | CL_ObjC },
+   { "-std=iso9899:199409",
+     N_("Conform to the ISO 1990 C standard as amended in 1994"),
+     N_OPTS, 18, CL_C | CL_ObjC },
+   { "-std=iso9899:1999",
+     N_("Conform to the ISO 1999 C standard"),
+     N_OPTS, 16, CL_C | CL_ObjC },
+   { "-std=iso9899:199x",
+     N_("Deprecated in favor of -std=iso9899:1999"),
+     N_OPTS, 16, CL_C | CL_ObjC },
+   { "-traditional-cpp",
+     N_("Enable traditional preprocessing"),
+     N_OPTS, 15, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-trigraphs",
+     N_("-trigraphs	Support ISO C trigraphs"),
+     N_OPTS, 9, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-undef",
+     N_("Do not predefine system-specific and GCC-specific macros"),
+     N_OPTS, 5, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-v",
+     N_("Enable verbose output"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX },
+   { "-version",
+     N_("Display the compiler's version"),
+     N_OPTS, 7, CL_COMMON },
+   { "-w",
+     N_("Suppress warnings"),
+     N_OPTS, 1, CL_C | CL_CXX | CL_ObjC | CL_ObjCXX | CL_COMMON }
+ };
Index: gcc/gcc/options.h
diff -c /dev/null gcc/gcc/options.h:1.3
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/options.h	Fri Apr 24 10:12:09 2009
***************
*** 0 ****
--- 1,399 ----
+ /* This file is auto-generated by opts.sh.  */
+ 
+ #define CL_C       (1 << 0)
+ #define CL_CXX     (1 << 1)
+ #define CL_ObjC    (1 << 2)
+ #define CL_ObjCXX  (1 << 3)
+ 
+ enum opt_code
+ {
+   OPT__help,                              /* --help */
+   OPT__output_pch_,                       /* --output-pch= */
+   OPT__param,                             /* --param */
+   OPT__target_help,                       /* --target-help */
+   OPT__version,                           /* --version */
+   OPT_A,                                  /* -A */
+   OPT_C,                                  /* -C */
+   OPT_CC,                                 /* -CC */
+   OPT_D,                                  /* -D */
+   OPT_E,                                  /* -E */
+   OPT_G,                                  /* -G */
+   OPT_H,                                  /* -H */
+   OPT_I,                                  /* -I */
+   OPT_M,                                  /* -M */
+   OPT_MD,                                 /* -MD */
+   OPT_MF,                                 /* -MF */
+   OPT_MG,                                 /* -MG */
+   OPT_MM,                                 /* -MM */
+   OPT_MMD,                                /* -MMD */
+   OPT_MP,                                 /* -MP */
+   OPT_MQ,                                 /* -MQ */
+   OPT_MT,                                 /* -MT */
+   OPT_O,                                  /* -O */
+   OPT_Os,                                 /* -Os */
+   OPT_P,                                  /* -P */
+   OPT_U,                                  /* -U */
+   OPT_W,                                  /* -W */
+   OPT_Wabi,                               /* -Wabi */
+   OPT_Waggregate_return,                  /* -Waggregate-return */
+   OPT_Wall,                               /* -Wall */
+   OPT_Wbad_function_cast,                 /* -Wbad-function-cast */
+   OPT_Wcast_align,                        /* -Wcast-align */
+   OPT_Wcast_qual,                         /* -Wcast-qual */
+   OPT_Wchar_subscripts,                   /* -Wchar-subscripts */
+   OPT_Wcomment,                           /* -Wcomment */
+   OPT_Wcomments,                          /* -Wcomments */
+   OPT_Wconversion,                        /* -Wconversion */
+   OPT_Wctor_dtor_privacy,                 /* -Wctor-dtor-privacy */
+   OPT_Wdeclaration_after_statement,       /* -Wdeclaration-after-statement */
+   OPT_Wdeprecated,                        /* -Wdeprecated */
+   OPT_Wdeprecated_declarations,           /* -Wdeprecated-declarations */
+   OPT_Wdisabled_optimization,             /* -Wdisabled-optimization */
+   OPT_Wdiv_by_zero,                       /* -Wdiv-by-zero */
+   OPT_Weffc__,                            /* -Weffc++ */
+   OPT_Wendif_labels,                      /* -Wendif-labels */
+   OPT_Werror,                             /* -Werror */
+   OPT_Werror_implicit_function_declaration,/* -Werror-implicit-function-declaration */
+   OPT_Wextra,                             /* -Wextra */
+   OPT_Wfloat_equal,                       /* -Wfloat-equal */
+   OPT_Wformat,                            /* -Wformat */
+   OPT_Wformat_extra_args,                 /* -Wformat-extra-args */
+   OPT_Wformat_nonliteral,                 /* -Wformat-nonliteral */
+   OPT_Wformat_security,                   /* -Wformat-security */
+   OPT_Wformat_y2k,                        /* -Wformat-y2k */
+   OPT_Wformat_zero_length,                /* -Wformat-zero-length */
+   OPT_Wformat_,                           /* -Wformat= */
+   OPT_Wimplicit,                          /* -Wimplicit */
+   OPT_Wimplicit_function_declaration,     /* -Wimplicit-function-declaration */
+   OPT_Wimplicit_int,                      /* -Wimplicit-int */
+   OPT_Wimport,                            /* -Wimport */
+   OPT_Winit_self,                         /* -Winit-self */
+   OPT_Winline,                            /* -Winline */
+   OPT_Winvalid_offsetof,                  /* -Winvalid-offsetof */
+   OPT_Winvalid_pch,                       /* -Winvalid-pch */
+   OPT_Wlarger_than_,                      /* -Wlarger-than- */
+   OPT_Wlong_long,                         /* -Wlong-long */
+   OPT_Wmain,                              /* -Wmain */
+   OPT_Wmissing_braces,                    /* -Wmissing-braces */
+   OPT_Wmissing_declarations,              /* -Wmissing-declarations */
+   OPT_Wmissing_format_attribute,          /* -Wmissing-format-attribute */
+   OPT_Wmissing_noreturn,                  /* -Wmissing-noreturn */
+   OPT_Wmissing_prototypes,                /* -Wmissing-prototypes */
+   OPT_Wmultichar,                         /* -Wmultichar */
+   OPT_Wnested_externs,                    /* -Wnested-externs */
+   OPT_Wnon_template_friend,               /* -Wnon-template-friend */
+   OPT_Wnon_virtual_dtor,                  /* -Wnon-virtual-dtor */
+   OPT_Wnonnull,                           /* -Wnonnull */
+   OPT_Wold_style_cast,                    /* -Wold-style-cast */
+   OPT_Wold_style_definition,              /* -Wold-style-definition */
+   OPT_Woverloaded_virtual,                /* -Woverloaded-virtual */
+   OPT_Wpacked,                            /* -Wpacked */
+   OPT_Wpadded,                            /* -Wpadded */
+   OPT_Wparentheses,                       /* -Wparentheses */
+   OPT_Wpmf_conversions,                   /* -Wpmf-conversions */
+   OPT_Wpointer_arith,                     /* -Wpointer-arith */
+   OPT_Wprotocol,                          /* -Wprotocol */
+   OPT_Wredundant_decls,                   /* -Wredundant-decls */
+   OPT_Wreorder,                           /* -Wreorder */
+   OPT_Wreturn_type,                       /* -Wreturn-type */
+   OPT_Wselector,                          /* -Wselector */
+   OPT_Wsequence_point,                    /* -Wsequence-point */
+   OPT_Wshadow,                            /* -Wshadow */
+   OPT_Wsign_compare,                      /* -Wsign-compare */
+   OPT_Wsign_promo,                        /* -Wsign-promo */
+   OPT_Wstrict_aliasing,                   /* -Wstrict-aliasing */
+   OPT_Wstrict_prototypes,                 /* -Wstrict-prototypes */
+   OPT_Wswitch,                            /* -Wswitch */
+   OPT_Wswitch_default,                    /* -Wswitch-default */
+   OPT_Wswitch_enum,                       /* -Wswitch-enum */
+   OPT_Wsynth,                             /* -Wsynth */
+   OPT_Wsystem_headers,                    /* -Wsystem-headers */
+   OPT_Wtraditional,                       /* -Wtraditional */
+   OPT_Wtrigraphs,                         /* -Wtrigraphs */
+   OPT_Wundeclared_selector,               /* -Wundeclared-selector */
+   OPT_Wundef,                             /* -Wundef */
+   OPT_Wuninitialized,                     /* -Wuninitialized */
+   OPT_Wunknown_pragmas,                   /* -Wunknown-pragmas */
+   OPT_Wunreachable_code,                  /* -Wunreachable-code */
+   OPT_Wunused,                            /* -Wunused */
+   OPT_Wunused_function,                   /* -Wunused-function */
+   OPT_Wunused_label,                      /* -Wunused-label */
+   OPT_Wunused_macros,                     /* -Wunused-macros */
+   OPT_Wunused_parameter,                  /* -Wunused-parameter */
+   OPT_Wunused_value,                      /* -Wunused-value */
+   OPT_Wunused_variable,                   /* -Wunused-variable */
+   OPT_Wwrite_strings,                     /* -Wwrite-strings */
+   OPT_ansi,                               /* -ansi */
+   OPT_aux_info,                           /* -aux-info */
+   OPT_aux_info_,                          /* -aux-info= */
+   OPT_auxbase,                            /* -auxbase */
+   OPT_auxbase_strip,                      /* -auxbase-strip */
+   OPT_d,                                  /* -d */
+   OPT_dumpbase,                           /* -dumpbase */
+   OPT_fPIC,                               /* -fPIC */
+   OPT_fPIE,                               /* -fPIE */
+   OPT_fabi_version_,                      /* -fabi-version= */
+   OPT_faccess_control,                    /* -faccess-control */
+   OPT_falign_functions,                   /* -falign-functions */
+   OPT_falign_functions_,                  /* -falign-functions= */
+   OPT_falign_jumps,                       /* -falign-jumps */
+   OPT_falign_jumps_,                      /* -falign-jumps= */
+   OPT_falign_labels,                      /* -falign-labels */
+   OPT_falign_labels_,                     /* -falign-labels= */
+   OPT_falign_loops,                       /* -falign-loops */
+   OPT_falign_loops_,                      /* -falign-loops= */
+   OPT_fall_virtual,                       /* -fall-virtual */
+   OPT_falt_external_templates,            /* -falt-external-templates */
+   OPT_fargument_alias,                    /* -fargument-alias */
+   OPT_fargument_noalias,                  /* -fargument-noalias */
+   OPT_fargument_noalias_global,           /* -fargument-noalias-global */
+   OPT_fasm,                               /* -fasm */
+   OPT_fasynchronous_unwind_tables,        /* -fasynchronous-unwind-tables */
+   OPT_fbounds_check,                      /* -fbounds-check */
+   OPT_fbranch_count_reg,                  /* -fbranch-count-reg */
+   OPT_fbranch_probabilities,              /* -fbranch-probabilities */
+   OPT_fbranch_target_load_optimize,       /* -fbranch-target-load-optimize */
+   OPT_fbranch_target_load_optimize2,      /* -fbranch-target-load-optimize2 */
+   OPT_fbuiltin,                           /* -fbuiltin */
+   OPT_fbuiltin_,                          /* -fbuiltin- */
+   OPT_fcall_saved_,                       /* -fcall-saved- */
+   OPT_fcall_used_,                        /* -fcall-used- */
+   OPT_fcaller_saves,                      /* -fcaller-saves */
+   OPT_fcheck_new,                         /* -fcheck-new */
+   OPT_fcommon,                            /* -fcommon */
+   OPT_fcond_mismatch,                     /* -fcond-mismatch */
+   OPT_fconserve_space,                    /* -fconserve-space */
+   OPT_fconst_strings,                     /* -fconst-strings */
+   OPT_fconstant_string_class_,            /* -fconstant-string-class= */
+   OPT_fcprop_registers,                   /* -fcprop-registers */
+   OPT_fcrossjumping,                      /* -fcrossjumping */
+   OPT_fcse_follow_jumps,                  /* -fcse-follow-jumps */
+   OPT_fcse_skip_blocks,                   /* -fcse-skip-blocks */
+   OPT_fdata_sections,                     /* -fdata-sections */
+   OPT_fdefault_inline,                    /* -fdefault-inline */
+   OPT_fdefer_pop,                         /* -fdefer-pop */
+   OPT_fdelayed_branch,                    /* -fdelayed-branch */
+   OPT_fdelete_null_pointer_checks,        /* -fdelete-null-pointer-checks */
+   OPT_fdiagnostics_show_location_,        /* -fdiagnostics-show-location= */
+   OPT_fdollars_in_identifiers,            /* -fdollars-in-identifiers */
+   OPT_fdump_,                             /* -fdump- */
+   OPT_fdump_unnumbered,                   /* -fdump-unnumbered */
+   OPT_felide_constructors,                /* -felide-constructors */
+   OPT_feliminate_dwarf2_dups,             /* -feliminate-dwarf2-dups */
+   OPT_feliminate_unused_debug_symbols,    /* -feliminate-unused-debug-symbols */
+   OPT_feliminate_unused_debug_types,      /* -feliminate-unused-debug-types */
+   OPT_fenforce_eh_specs,                  /* -fenforce-eh-specs */
+   OPT_fenum_int_equiv,                    /* -fenum-int-equiv */
+   OPT_fexceptions,                        /* -fexceptions */
+   OPT_fexec_charset_,                     /* -fexec-charset= */
+   OPT_fexpensive_optimizations,           /* -fexpensive-optimizations */
+   OPT_fexternal_templates,                /* -fexternal-templates */
+   OPT_ffast_math,                         /* -ffast-math */
+   OPT_ffinite_math_only,                  /* -ffinite-math-only */
+   OPT_ffixed_,                            /* -ffixed- */
+   OPT_ffixed_form,                        /* -ffixed-form */
+   OPT_ffixed_line_length_,                /* -ffixed-line-length- */
+   OPT_ffloat_store,                       /* -ffloat-store */
+   OPT_ffor_scope,                         /* -ffor-scope */
+   OPT_fforce_addr,                        /* -fforce-addr */
+   OPT_fforce_mem,                         /* -fforce-mem */
+   OPT_ffreestanding,                      /* -ffreestanding */
+   OPT_ffunction_cse,                      /* -ffunction-cse */
+   OPT_ffunction_sections,                 /* -ffunction-sections */
+   OPT_fgcse,                              /* -fgcse */
+   OPT_fgcse_las,                          /* -fgcse-las */
+   OPT_fgcse_lm,                           /* -fgcse-lm */
+   OPT_fgcse_sm,                           /* -fgcse-sm */
+   OPT_fgnu_keywords,                      /* -fgnu-keywords */
+   OPT_fgnu_runtime,                       /* -fgnu-runtime */
+   OPT_fguess_branch_probability,          /* -fguess-branch-probability */
+   OPT_fguiding_decls,                     /* -fguiding-decls */
+   OPT_fhandle_exceptions,                 /* -fhandle-exceptions */
+   OPT_fhonor_std,                         /* -fhonor-std */
+   OPT_fhosted,                            /* -fhosted */
+   OPT_fhuge_objects,                      /* -fhuge-objects */
+   OPT_fident,                             /* -fident */
+   OPT_fif_conversion,                     /* -fif-conversion */
+   OPT_fif_conversion2,                    /* -fif-conversion2 */
+   OPT_fimplement_inlines,                 /* -fimplement-inlines */
+   OPT_fimplicit_inline_templates,         /* -fimplicit-inline-templates */
+   OPT_fimplicit_templates,                /* -fimplicit-templates */
+   OPT_finhibit_size_directive,            /* -finhibit-size-directive */
+   OPT_finline,                            /* -finline */
+   OPT_finline_functions,                  /* -finline-functions */
+   OPT_finline_limit_,                     /* -finline-limit- */
+   OPT_finline_limit_eq,                     /* -finline-limit= */
+   OPT_finput_charset_,                    /* -finput-charset= */
+   OPT_finstrument_functions,              /* -finstrument-functions */
+   OPT_fkeep_inline_functions,             /* -fkeep-inline-functions */
+   OPT_fkeep_static_consts,                /* -fkeep-static-consts */
+   OPT_flabels_ok,                         /* -flabels-ok */
+   OPT_fleading_underscore,                /* -fleading-underscore */
+   OPT_floop_optimize,                     /* -floop-optimize */
+   OPT_fmath_errno,                        /* -fmath-errno */
+   OPT_fmem_report,                        /* -fmem-report */
+   OPT_fmerge_all_constants,               /* -fmerge-all-constants */
+   OPT_fmerge_constants,                   /* -fmerge-constants */
+   OPT_fmessage_length_,                   /* -fmessage-length= */
+   OPT_fmove_all_movables,                 /* -fmove-all-movables */
+   OPT_fms_extensions,                     /* -fms-extensions */
+   OPT_fname_mangling_version_,            /* -fname-mangling-version- */
+   OPT_fnew_abi,                           /* -fnew-abi */
+   OPT_fnew_ra,                            /* -fnew-ra */
+   OPT_fnext_runtime,                      /* -fnext-runtime */
+   OPT_fnil_receivers,                     /* -fnil-receivers */
+   OPT_fnon_call_exceptions,               /* -fnon-call-exceptions */
+   OPT_fnonansi_builtins,                  /* -fnonansi-builtins */
+   OPT_fnonnull_objects,                   /* -fnonnull-objects */
+   OPT_fobjc_exceptions,                   /* -fobjc-exceptions */
+   OPT_fold_unroll_all_loops,              /* -fold-unroll-all-loops */
+   OPT_fold_unroll_loops,                  /* -fold-unroll-loops */
+   OPT_fomit_frame_pointer,                /* -fomit-frame-pointer */
+   OPT_foperator_names,                    /* -foperator-names */
+   OPT_foptimize_register_move,            /* -foptimize-register-move */
+   OPT_foptimize_sibling_calls,            /* -foptimize-sibling-calls */
+   OPT_foptional_diags,                    /* -foptional-diags */
+   OPT_fpack_struct,                       /* -fpack-struct */
+   OPT_fpcc_struct_return,                 /* -fpcc-struct-return */
+   OPT_fpch_deps,                          /* -fpch-deps */
+   OPT_fpeel_loops,                        /* -fpeel-loops */
+   OPT_fpeephole,                          /* -fpeephole */
+   OPT_fpeephole2,                         /* -fpeephole2 */
+   OPT_fpermissive,                        /* -fpermissive */
+   OPT_fpic,                               /* -fpic */
+   OPT_fpie,                               /* -fpie */
+   OPT_fprefetch_loop_arrays,              /* -fprefetch-loop-arrays */
+   OPT_fpreprocessed,                      /* -fpreprocessed */
+   OPT_fprofile,                           /* -fprofile */
+   OPT_fprofile_arcs,                      /* -fprofile-arcs */
+   OPT_fprofile_generate,                  /* -fprofile-generate */
+   OPT_fprofile_use,                       /* -fprofile-use */
+   OPT_fprofile_values,                    /* -fprofile-values */
+   OPT_frandom_seed,                       /* -frandom-seed */
+   OPT_frandom_seed_,                      /* -frandom-seed= */
+   OPT_freduce_all_givs,                   /* -freduce-all-givs */
+   OPT_freg_struct_return,                 /* -freg-struct-return */
+   OPT_fregmove,                           /* -fregmove */
+   OPT_frename_registers,                  /* -frename-registers */
+   OPT_freorder_blocks,                    /* -freorder-blocks */
+   OPT_freorder_functions,                 /* -freorder-functions */
+   OPT_freplace_objc_classes,              /* -freplace-objc-classes */
+   OPT_frepo,                              /* -frepo */
+   OPT_frerun_cse_after_loop,              /* -frerun-cse-after-loop */
+   OPT_frerun_loop_opt,                    /* -frerun-loop-opt */
+   OPT_frounding_math,                     /* -frounding-math */
+   OPT_frtti,                              /* -frtti */
+   OPT_fsched_interblock,                  /* -fsched-interblock */
+   OPT_fsched_spec,                        /* -fsched-spec */
+   OPT_fsched_spec_load,                   /* -fsched-spec-load */
+   OPT_fsched_spec_load_dangerous,         /* -fsched-spec-load-dangerous */
+   OPT_fsched_stalled_insns,               /* -fsched-stalled-insns */
+   OPT_fsched_stalled_insns_dep,           /* -fsched-stalled-insns-dep */
+   OPT_fsched_stalled_insns_dep_,          /* -fsched-stalled-insns-dep= */
+   OPT_fsched_stalled_insns_,              /* -fsched-stalled-insns= */
+   OPT_fsched_verbose_,                    /* -fsched-verbose= */
+   OPT_fsched2_use_superblocks,            /* -fsched2-use-superblocks */
+   OPT_fsched2_use_traces,                 /* -fsched2-use-traces */
+   OPT_fschedule_insns,                    /* -fschedule-insns */
+   OPT_fschedule_insns2,                   /* -fschedule-insns2 */
+   OPT_fshared_data,                       /* -fshared-data */
+   OPT_fshort_double,                      /* -fshort-double */
+   OPT_fshort_enums,                       /* -fshort-enums */
+   OPT_fshort_wchar,                       /* -fshort-wchar */
+   OPT_fshow_column,                       /* -fshow-column */
+   OPT_fsignaling_nans,                    /* -fsignaling-nans */
+   OPT_fsigned_bitfields,                  /* -fsigned-bitfields */
+   OPT_fsigned_char,                       /* -fsigned-char */
+   OPT_fsingle_precision_constant,         /* -fsingle-precision-constant */
+   OPT_fsquangle,                          /* -fsquangle */
+   OPT_fstack_check,                       /* -fstack-check */
+   OPT_fstack_limit,                       /* -fstack-limit */
+   OPT_fstack_limit_register_,             /* -fstack-limit-register= */
+   OPT_fstack_limit_symbol_,               /* -fstack-limit-symbol= */
+   OPT_fstats,                             /* -fstats */
+   OPT_fstrength_reduce,                   /* -fstrength-reduce */
+   OPT_fstrict_aliasing,                   /* -fstrict-aliasing */
+   OPT_fstrict_prototype,                  /* -fstrict-prototype */
+   OPT_fsyntax_only,                       /* -fsyntax-only */
+   OPT_ftabstop_,                          /* -ftabstop= */
+   OPT_ftemplate_depth_,                   /* -ftemplate-depth- */
+   OPT_ftest_coverage,                     /* -ftest-coverage */
+   OPT_fthis_is_variable,                  /* -fthis-is-variable */
+   OPT_fthread_jumps,                      /* -fthread-jumps */
+   OPT_ftime_report,                       /* -ftime-report */
+   OPT_ftls_model_,                        /* -ftls-model= */
+   OPT_ftracer,                            /* -ftracer */
+   OPT_ftrapping_math,                     /* -ftrapping-math */
+   OPT_ftrapv,                             /* -ftrapv */
+   OPT_funit_at_a_time,                    /* -funit-at-a-time */
+   OPT_funroll_all_loops,                  /* -funroll-all-loops */
+   OPT_funroll_loops,                      /* -funroll-loops */
+   OPT_funsafe_math_optimizations,         /* -funsafe-math-optimizations */
+   OPT_funsigned_bitfields,                /* -funsigned-bitfields */
+   OPT_funsigned_char,                     /* -funsigned-char */
+   OPT_funswitch_loops,                    /* -funswitch-loops */
+   OPT_funwind_tables,                     /* -funwind-tables */
+   OPT_fuse_cxa_atexit,                    /* -fuse-cxa-atexit */
+   OPT_fverbose_asm,                       /* -fverbose-asm */
+   OPT_fvpt,                               /* -fvpt */
+   OPT_fvtable_gc,                         /* -fvtable-gc */
+   OPT_fvtable_thunks,                     /* -fvtable-thunks */
+   OPT_fweak,                              /* -fweak */
+   OPT_fweb,                               /* -fweb */
+   OPT_fwide_exec_charset_,                /* -fwide-exec-charset= */
+   OPT_fworking_directory,                 /* -fworking-directory */
+   OPT_fwrapv,                             /* -fwrapv */
+   OPT_fwritable_strings,                  /* -fwritable-strings */
+   OPT_fxref,                              /* -fxref */
+   OPT_fzero_initialized_in_bss,           /* -fzero-initialized-in-bss */
+   OPT_fzero_link,                         /* -fzero-link */
+   OPT_g,                                  /* -g */
+   OPT_gcoff,                              /* -gcoff */
+   OPT_gdwarf_2,                           /* -gdwarf-2 */
+   OPT_gen_decls,                          /* -gen-decls */
+   OPT_ggdb,                               /* -ggdb */
+   OPT_gstabs,                             /* -gstabs */
+   OPT_gstabs_,                            /* -gstabs+ */
+   OPT_gvms,                               /* -gvms */
+   OPT_gxcoff,                             /* -gxcoff */
+   OPT_gxcoff_,                            /* -gxcoff+ */
+   OPT_idirafter,                          /* -idirafter */
+   OPT_imacros,                            /* -imacros */
+   OPT_include,                            /* -include */
+   OPT_iprefix,                            /* -iprefix */
+   OPT_isysroot,                           /* -isysroot */
+   OPT_isystem,                            /* -isystem */
+   OPT_iwithprefix,                        /* -iwithprefix */
+   OPT_iwithprefixbefore,                  /* -iwithprefixbefore */
+   OPT_lang_asm,                           /* -lang-asm */
+   OPT_lang_objc,                          /* -lang-objc */
+   OPT_m,                                  /* -m */
+   OPT_nostdinc,                           /* -nostdinc */
+   OPT_nostdinc__,                         /* -nostdinc++ */
+   OPT_o,                                  /* -o */
+   OPT_p,                                  /* -p */
+   OPT_pedantic,                           /* -pedantic */
+   OPT_pedantic_errors,                    /* -pedantic-errors */
+   OPT_print_objc_runtime_info,            /* -print-objc-runtime-info */
+   OPT_quiet,                              /* -quiet */
+   OPT_remap,                              /* -remap */
+   OPT_std_c__98,                          /* -std=c++98 */
+   OPT_std_c89,                            /* -std=c89 */
+   OPT_std_c99,                            /* -std=c99 */
+   OPT_std_c9x,                            /* -std=c9x */
+   OPT_std_gnu__98,                        /* -std=gnu++98 */
+   OPT_std_gnu89,                          /* -std=gnu89 */
+   OPT_std_gnu99,                          /* -std=gnu99 */
+   OPT_std_gnu9x,                          /* -std=gnu9x */
+   OPT_std_iso9899_1990,                   /* -std=iso9899:1990 */
+   OPT_std_iso9899_199409,                 /* -std=iso9899:199409 */
+   OPT_std_iso9899_1999,                   /* -std=iso9899:1999 */
+   OPT_std_iso9899_199x,                   /* -std=iso9899:199x */
+   OPT_traditional_cpp,                    /* -traditional-cpp */
+   OPT_trigraphs,                          /* -trigraphs */
+   OPT_undef,                              /* -undef */
+   OPT_v,                                  /* -v */
+   OPT_version,                            /* -version */
+   OPT_w,                                  /* -w */
+   N_OPTS
+ };
Index: gcc/gcc/opts.c
diff -c gcc/gcc/opts.c:1.1.1.1 gcc/gcc/opts.c:1.4
*** gcc/gcc/opts.c:1.1.1.1	Wed Apr 15 16:25:56 2009
--- gcc/gcc/opts.c	Wed Nov 11 15:42:57 2009
***************
*** 200,205 ****
--- 200,249 ----
     front end in question wins.  If there is no match for the current
     front end, the longest match for a different front end is returned
     (or N_OPTS if none) and the caller emits an error message.  */
+ 
+ #ifdef PUREISO
+ static size_t
+ find_opt (const char *input, int lang_mask)
+ {
+   size_t x, opt_len;
+   size_t match_wrong_lang;
+   int comp;
+   size_t good, goodlen = 0;
+ 
+   good = cl_options_count;
+   match_wrong_lang = cl_options_count;
+ 
+   /* find the longest match */
+   for (x = 0; x < cl_options_count; x++)
+   {
+       const struct cl_option *opt = &cl_options[x];
+   
+       /* Is this switch a prefix of the input?  */
+       if (strncmp (input, opt->opt_text + 1, opt->opt_len) == 0)
+       {
+           if ((opt->flags & lang_mask)
+               && (input[opt->opt_len] == '\0' || (opt->flags & CL_JOINED)))
+           {
+               if (opt->opt_len > goodlen)
+               {
+                   good = x;
+                   goodlen = opt->opt_len;
+               }
+           }
+           else if (match_wrong_lang == cl_options_count)
+           {
+               match_wrong_lang = x;
+           }
+       }
+   }
+   if (good == cl_options_count)
+   {
+       good = match_wrong_lang;
+   }
+   return (good);
+ }
+ 
+ #else
  static size_t
  find_opt (const char *input, int lang_mask)
  {
***************
*** 259,264 ****
--- 303,309 ----
    /* Return the best wrong match, or cl_options_count if none.  */
    return match_wrong_lang;
  }
+ #endif
  
  /* If ARG is a non-negative integer made up solely of digits, return its
     value, otherwise return -1.  */
***************
*** 1636,1642 ****
--- 1681,1691 ----
  	    }
  
  	  if (write_symbols == NO_DEBUG)
+ #if defined(TARGET_MVS) || defined(TARGET_CMS)
+     ;
+ #else
  	    warning ("target system does not support debug output");
+ #endif
  	}
      }
    else
Index: gcc/gcc/opts.h
diff -c gcc/gcc/opts.h:1.1.1.1 gcc/gcc/opts.h:1.3
*** gcc/gcc/opts.h:1.1.1.1	Wed Apr 15 16:26:16 2009
--- gcc/gcc/opts.h	Mon Aug  3 23:19:00 2009
***************
*** 21,26 ****
--- 21,27 ----
  #ifndef GCC_OPTS_H
  #define GCC_OPTS_H
  
+ #include "config.h"
  extern void decode_options (unsigned int argc, const char **argv);
  extern void add_input_filename (const char *filename);
  
***************
*** 33,39 ****
    unsigned int flags;
  };
  
! extern const struct cl_option cl_options[];
  extern const unsigned int cl_options_count;
  extern const char *const lang_names[];
  
--- 34,40 ----
    unsigned int flags;
  };
  
! extern struct cl_option cl_options[];
  extern const unsigned int cl_options_count;
  extern const char *const lang_names[];
  
Index: gcc/gcc/opts.sh
diff -c gcc/gcc/opts.sh:1.1.1.1 gcc/gcc/opts.sh:1.2
*** gcc/gcc/opts.sh:1.1.1.1	Wed Apr 15 16:26:14 2009
--- gcc/gcc/opts.sh	Tue Oct  6 20:19:32 2009
***************
*** 28,34 ****
--- 28,38 ----
  # Set AWK if environment has not already set it.
  AWK=${AWK-awk}
  
+ if [ "`uname -s`" = "OS/390" ]; then
+ SORT=esort		# Force sort in EBCDIC collating sequence
+ else
  SORT=sort		# Could be /bin/sort or /usr/bin/sort
+ fi
  
  MOVEIFCHANGE=$1; shift
  C_FILE=$1; shift
***************
*** 114,120 ****
  
  	print "  0\n};\n"				>> c_file
  	print "const unsigned int cl_options_count = N_OPTS;\n" >> c_file
! 	print "const struct cl_option cl_options[] =\n{" >> c_file
  
  	print "\nenum opt_code\n{"			>> h_file
  
--- 118,124 ----
  
  	print "  0\n};\n"				>> c_file
  	print "const unsigned int cl_options_count = N_OPTS;\n" >> c_file
! 	print "struct cl_option cl_options[] =\n{" >> c_file
  
  	print "\nenum opt_code\n{"			>> h_file
  
Index: gcc/gcc/postgen.jcl
diff -c /dev/null gcc/gcc/postgen.jcl:1.1.3.3
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/postgen.jcl	Wed Nov 11 16:49:46 2009
***************
*** 0 ****
--- 1,54 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //CREATE   PROC PDPPREF='PDPCLIB',GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD5      DD DSN=&GCCPREF..SOURCE2,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD6      DD DSN=&GCCPREF..INCLUDE2,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD5      DD DSN=&GCCPREF..SOURCE2,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(2600,2600,44)),UNIT=SYSALLDA
+ //DD6      DD DSN=&GCCPREF..INCLUDE2,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(346,346,44)),UNIT=SYSALLDA
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1548,1548,44)),UNIT=SYSALLDA
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(61,61,44)),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //COPY     PROC GCCPREF='GCC',LIB=''
+ //IEBCPY   EXEC PGM=IEBCOPY
+ //SYSUT1   DD DSN=&GCCPREF..&LIB,DISP=SHR
+ //SYSUT2   DD DSN=&GCCPREF..&LIB.2,DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //MACCOPY  PROC PDPPREF='PDPCLIB'
+ //GENER1   EXEC PGM=IEBGENER
+ //SYSUT1   DD DSN=&PDPPREF..MACLIB(PDPORIG),DISP=SHR
+ //SYSUT2   DD DSN=&PDPPREF..MACLIB(PDPTOP),DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //*
+ //         PEND
+ //*
+ //S1       EXEC CREATE
+ //*
+ //S2       EXEC COPY,LIB='SOURCE'
+ //*
+ //S3       EXEC COPY,LIB='INCLUDE'
+ //*
+ //S4       EXEC MACCOPY
+ //*
+ //
Index: gcc/gcc/prefix.c
diff -c gcc/gcc/prefix.c:1.1.1.1 gcc/gcc/prefix.c:1.2
*** gcc/gcc/prefix.c:1.1.1.1	Wed Apr 15 16:25:52 2009
--- gcc/gcc/prefix.c	Sun Nov 15 17:12:40 2009
***************
*** 74,79 ****
--- 74,86 ----
  #endif
  #include "prefix.h"
  
+ #ifdef PUREISO
+ /* to avoid a clash with regex, allow a default value here */
+ #ifndef PREFIX
+ #define PREFIX ""
+ #endif
+ #endif
+ 
  static const char *std_prefix = PREFIX;
  
  static const char *get_key_value (char *);
Index: gcc/gcc/pregen.jcl
diff -c /dev/null gcc/gcc/pregen.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/pregen.jcl	Wed Apr 15 23:24:25 2009
***************
*** 0 ****
--- 1,17 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //COPY     PROC GCCPREF='GCC'
+ //IEBCPY   EXEC PGM=IEBCOPY
+ //FROM     DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //TO       DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //*
+ //CPY      EXEC COPY
+ //SYSIN    DD *
+  COPY OUTDD=TO,INDD=FROM
+  SELECT MEMBER=((STAGE1,GCC))
+ /*
+ //
Index: gcc/gcc/pretty-print.c
diff -c gcc/gcc/pretty-print.c:1.1.1.1 gcc/gcc/pretty-print.c:1.2
*** gcc/gcc/pretty-print.c:1.1.1.1	Wed Apr 15 16:25:51 2009
--- gcc/gcc/pretty-print.c	Sat Apr 25 18:22:07 2009
***************
*** 36,41 ****
--- 36,59 ----
  /* Format an integer given by va_arg (ARG, type-specifier T) where
     type-specifier is a precision modifier as indicated by PREC.  F is
     a string used to construct the appropriate format-specifier.  */
+ #ifndef HAVE_LONG_LONG
+ #define pp_integer_with_precision(PP, ARG, PREC, T, F)       \
+   do                                                         \
+     switch (PREC)                                            \
+       {                                                      \
+       case 0:                                                \
+         pp_scalar (PP, "%" F, va_arg (ARG, T));              \
+         break;                                               \
+                                                              \
+       case 1:                                                \
+         pp_scalar (PP, "%l" F, va_arg (ARG, long T));        \
+         break;                                               \
+                                                              \
+       default:                                               \
+         break;                                               \
+       }                                                      \
+   while (0)
+ #else
  #define pp_integer_with_precision(PP, ARG, PREC, T, F)       \
    do                                                         \
      switch (PREC)                                            \
***************
*** 56,61 ****
--- 74,80 ----
          break;                                               \
        }                                                      \
    while (0)
+ #endif
  
  
  /* Subroutine of pp_set_maximum_length.  Set up PRETTY-PRINTER's
Index: gcc/gcc/read-rtl.c
diff -c gcc/gcc/read-rtl.c:1.1.1.1 gcc/gcc/read-rtl.c:1.2
*** gcc/gcc/read-rtl.c:1.1.1.1	Wed Apr 15 16:25:56 2009
--- gcc/gcc/read-rtl.c	Fri May  1 18:52:17 2009
***************
*** 81,87 ****
  	   read_rtx_filename, read_rtx_lineno, context);
  
    va_end (ap);
!   exit (1);
  }
  
  /* Dump code after printing a message.  Used when read_rtx finds
--- 81,87 ----
  	   read_rtx_filename, read_rtx_lineno, context);
  
    va_end (ap);
!   exit (FATAL_EXIT_CODE);
  }
  
  /* Dump code after printing a message.  Used when read_rtx finds
Index: gcc/gcc/readme.txt
diff -c /dev/null gcc/gcc/readme.txt:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/readme.txt	Thu May 12 16:38:31 2011
***************
*** 0 ****
--- 1,4 ----
+ Please see gccmvs.txt for MVS installation instructions
+ and gcccms.txt for CMS installation instructions.
+ and gccmus.txt for MUSIC/SP installation instructions.
+ and gccvse.txt for DOS/VSE installation instructions.
Index: gcc/gcc/real.c
diff -c gcc/gcc/real.c:1.1.1.1 gcc/gcc/real.c:1.3
*** gcc/gcc/real.c:1.1.1.1	Wed Apr 15 16:26:17 2009
--- gcc/gcc/real.c	Mon Jul  6 00:54:50 2009
***************
*** 1452,1457 ****
--- 1452,1460 ----
  
    /* Bound the number of digits printed by the size of the representation.  */
    max_digits = SIGNIFICAND_BITS * M_LOG10_2;
+ #ifdef TARGET_MVS
+   max_digits = 25;
+ #endif
    if (digits == 0 || digits > max_digits)
      digits = max_digits;
  
***************
*** 1681,1687 ****
--- 1684,1694 ----
        last--;
  
    /* Append the exponent.  */
+ #ifdef TARGET_MVS
+   sprintf (last, "E%+d", dec_exp);
+ #else
    sprintf (last, "e%+d", dec_exp);
+ #endif
  }
  
  /* Render R as a hexadecimal floating point constant.  Emit DIGITS
Index: gcc/gcc/runsed.bat
diff -c /dev/null gcc/gcc/runsed.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/runsed.bat	Wed Apr 15 23:24:09 2009
***************
*** 0 ****
--- 1,3 ----
+ sed "s/'-DUSE_MEMMGR/'-DXXX_MEMMGR/g" <%1 >sed.tmp
+ del %1
+ ren sed.tmp %1
Index: gcc/gcc/runspool.exec
diff -c /dev/null gcc/gcc/runspool.exec:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:08 2011
--- gcc/gcc/runspool.exec	Wed Apr 15 23:24:14 2009
***************
*** 0 ****
--- 1,50 ----
+ * Run a job, spooling the output
+ *
+ * First connect to the z/VM system with something like this:
+ *
+ * c3270 -mono 66.139.111.222 3333
+ *
+ * Then press ctrl-] to get the c3270 prompt
+ *
+ * Then transfer the file to the b disk as such:
+ *
+ * c3270> transfer localfile=xfer.card "hostfile=xfer card b" 
+ *        direction=send mode=binary exist=replace
+ *
+ * Then enter to return
+ *
+ * Now assuming this file, plus CMSUTIL have already been
+ * placed on your A disk, make your A disk become D, e.g.
+ *
+ * access 191 D
+ *
+ * Then type "RUNSPOOL" (assuming you have corrected the
+ * hardcoded numbers below - note that it erases your disks!)
+ *
+ * You probably want to rename this file so that after a
+ * fresh extraction, you don't use your unmodified version
+ * if you attempt a rerun.
+ *
+ 
+ CP MSG * START REDIRECTED JOB
+ 
+ CP SPOOL CONS TO * START NOTERM
+ 
+ MVSENDEC DECB "XFER CARD B" "ALL ZIP D"
+ 
+ ACCESS 291 A (ERASE
+ ACCESS 192 B (ERASE
+ ACCESS 193 C
+ 
+ MVSUNZIP "ALL ZIP D" A
+ 
+ SET LDRTBLS 25
+ 
+ * e.g. EXEC ALLCMS A B C
+ 
+ *&1 &2 &3 &4 &5 &6 &7 &8 &9
+ EXEC ALLCMS A B C
+ 
+ CP SPOOL CONS STOP CLOSE
+ 
+ CP MSG * END REDIRECTED JOB
Index: gcc/gcc/specs.h
diff -c /dev/null gcc/gcc/specs.h:1.4
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/specs.h	Wed Jul 15 00:27:46 2009
***************
*** 0 ****
--- 1 ----
+ /* empty file */
Index: gcc/gcc/stage0a.jcl
diff -c /dev/null gcc/gcc/stage0a.jcl:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage0a.jcl	Tue May 26 10:57:39 2009
***************
*** 0 ****
--- 1,15 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Define aliases for High-level qualifiers suitable
+ //* for your site.
+ //*
+ //IDCAMS   EXEC PGM=IDCAMS
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  *
+   DEFINE ALIAS (NAME(GCC) RELATE(SYS1.UCAT.TSO)) -
+          CATALOG(SYS1.VMASTCAT/SECRET)
+   DEFINE ALIAS (NAME(PDPCLIB) RELATE(SYS1.UCAT.TSO)) -
+          CATALOG(SYS1.VMASTCAT/SECRET)
+   SET MAXCC=0
+ /*
+ //
Index: gcc/gcc/stage0b.jcl
diff -c /dev/null gcc/gcc/stage0b.jcl:1.6
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage0b.jcl	Sat Jun 11 17:37:14 2011
***************
*** 0 ****
--- 1,95 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //CREATE   PROC PDPPREF='PDPCLIB',GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&PDPPREF..INCLUDE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD2      DD DSN=&PDPPREF..SOURCE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD3      DD DSN=&PDPPREF..DOC,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD4      DD DSN=&GCCPREF..PROCLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD5      DD DSN=&GCCPREF..SOURCE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD6      DD DSN=&GCCPREF..INCLUDE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD7      DD DSN=&GCCPREF..DOC,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD8      DD DSN=&GCCPREF..JCL,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD9      DD DSN=&GCCPREF..S,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD13     DD DSN=&PDPPREF..MACLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD14     DD DSN=&GCCPREF..S2,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD15     DD DSN=&GCCPREF..S3,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD16     DD DSN=&PDPPREF..LINKLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD17     DD DSN=&GCCPREF..TMPLOAD,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD1      DD DSN=&PDPPREF..INCLUDE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(23,23,44)),UNIT=SYSALLDA
+ //DD2      DD DSN=&PDPPREF..SOURCE,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(350,350,44)),UNIT=SYSALLDA
+ //DD3      DD DSN=&PDPPREF..DOC,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(50,50,44)),UNIT=SYSALLDA
+ //DD4      DD DSN=&GCCPREF..PROCLIB,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(15,15,44)),UNIT=SYSALLDA
+ //DD5      DD DSN=&GCCPREF..SOURCE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(2860,2860,44)),UNIT=SYSALLDA
+ //DD6      DD DSN=&GCCPREF..INCLUDE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(450,450,44)),UNIT=SYSALLDA
+ //DD7      DD DSN=&GCCPREF..DOC,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(100,100,44)),UNIT=SYSALLDA
+ //DD8      DD DSN=&GCCPREF..JCL,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(90,90,44)),UNIT=SYSALLDA
+ //DD9      DD DSN=&GCCPREF..S,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6080),
+ // SPACE=(6160,(21100,21100,44)),UNIT=SYSALLDA
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1900,1900,44),,,ROUND),UNIT=SYSALLDA
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(2500,2500,44)),UNIT=SYSALLDA
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(61,61,44)),UNIT=SYSALLDA
+ //DD13     DD DSN=&PDPPREF..MACLIB,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(12,12,44)),UNIT=SYSALLDA
+ //DD14     DD DSN=&GCCPREF..S2,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(12400,12400,44)),UNIT=SYSALLDA
+ //DD15     DD DSN=&GCCPREF..S3,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(12400,12400,44)),UNIT=SYSALLDA
+ //DD16     DD DSN=&PDPPREF..LINKLIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(77,77,44),,,ROUND),UNIT=SYSALLDA
+ //DD17     DD DSN=&GCCPREF..TMPLOAD,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(2000,2000,44),,,ROUND),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //S1 EXEC CREATE
+ //
Index: gcc/gcc/stage0c.jcl
diff -c /dev/null gcc/gcc/stage0c.jcl:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage0c.jcl	Wed Nov 11 16:50:04 2009
***************
*** 0 ****
--- 1,20 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //TRANSFER PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&GCCPREF..ALLZIPS,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //COPY     EXEC PGM=IEBGENER
+ //SYSUT1   DD DSN=HERC02.IN,DISP=OLD,
+ //         UNIT=TAPE,VOL=SER=PCTOMF,LABEL=(1,NL),
+ //         DCB=(RECFM=U,LRECL=0,BLKSIZE=6233)
+ //SYSUT2   DD DSN=&GCCPREF..ALLZIPS,DISP=(,CATLG),
+ //         SPACE=(6233,(7000,7000),RLSE),UNIT=SYSALLDA,
+ //         DCB=(RECFM=U,LRECL=0,BLKSIZE=6233)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //S1 EXEC TRANSFER
+ //
Index: gcc/gcc/stage0d.jcl
diff -c /dev/null gcc/gcc/stage0d.jcl:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage0d.jcl	Wed Nov 11 16:50:04 2009
***************
*** 0 ****
--- 1,56 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //CREATE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&&ZIPS,DISP=(,PASS),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6233),
+ // SPACE=(6233,(7000,7000,44)),UNIT=SYSALLDA
+ //*
+ //UNZIPA   PROC MINPREF='MINIZIP',GCCPREF='GCC'
+ //UNZIPA   EXEC PGM=MINIUNZ,PARM='dd:input dd:output'
+ //STEPLIB  DD DSN=&MINPREF..LINKLIB,DISP=SHR
+ //INPUT    DD DSN=&GCCPREF..ALLZIPS,DISP=SHR
+ //OUTPUT   DD DSN=&&ZIPS,DISP=(OLD,PASS)
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //         PEND
+ //*
+ //UNZIPP   PROC MINPREF='MINIZIP',PDPPREF='PDPCLIB',IN=,OUT=
+ //UNZIPP   EXEC PGM=MINIUNZ,PARM='-a dd:input dd:output'
+ //STEPLIB  DD DSN=&MINPREF..LINKLIB,DISP=SHR
+ //INPUT    DD DSN=&&ZIPS(&IN),DISP=(OLD,PASS)
+ //OUTPUT   DD DSN=&PDPPREF..&OUT,DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //         PEND
+ //*
+ //UNZIPG   PROC MINPREF='MINIZIP',GCCPREF='GCC',IN=,OUT=
+ //UNZIPG   EXEC PGM=MINIUNZ,PARM='-a dd:input dd:output'
+ //STEPLIB  DD DSN=&MINPREF..LINKLIB,DISP=SHR
+ //INPUT    DD DSN=&&ZIPS(&IN),DISP=(OLD,PASS)
+ //OUTPUT   DD DSN=&GCCPREF..&OUT,DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //         PEND
+ //*
+ //CLEAN    PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&GCCPREF..ALLZIPS,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //         PEND
+ //*
+ //S0 EXEC UNZIPA
+ //S1 EXEC UNZIPP,IN='PDPI',OUT='INCLUDE'
+ //S2 EXEC UNZIPP,IN='PDPSRC',OUT='SOURCE'
+ //S3 EXEC UNZIPG,IN='GCCSRC',OUT='SOURCE'
+ //S4 EXEC UNZIPG,IN='GCCI',OUT='INCLUDE'
+ //S5 EXEC UNZIPG,IN='GCCS',OUT='S'
+ //S6 EXEC UNZIPG,IN='GCCPRC',OUT='PROCLIB'
+ //S7 EXEC UNZIPG,IN='GCCJCL',OUT='JCL'
+ //S8 EXEC UNZIPG,IN='GCCDOC',OUT='DOC'
+ //S9 EXEC UNZIPP,IN='PDPDOC',OUT='DOC'
+ //S10 EXEC UNZIPP,IN='PDPMAC',OUT='MACLIB'
+ //S11 EXEC CLEAN
+ //
Index: gcc/gcc/stage1a.jcl
diff -c /dev/null gcc/gcc/stage1a.jcl:1.7
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage1a.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,159 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* This is the first job of the stage 1 build
+ //* Note that PDPCLIB is hardcoded in two places and you
+ //* will need to adjust that.
+ //*
+ //ST1CMP   PROC GCCPREF='GCC',MEMBER='',
+ //         PDPPREF='PDPCLIB'
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S(&MEMBER),DISP=SHR
+ //LKED     EXEC PGM=IEWL,PARM='NCAL,LET',
+ //             COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //MVSSTART EXEC ST1CMP,MEMBER=MVSSTART
+ //SYSIN    DD   DSN=PDPCLIB.SOURCE(MVSSTART),DISP=SHR
+ //MVSSUPA  EXEC ST1CMP,MEMBER=MVSSUPA
+ //SYSIN    DD   DSN=PDPCLIB.SOURCE(MVSSUPA),DISP=SHR
+ //ALIAS    EXEC ST1CMP,MEMBER=ALIAS
+ //ALLOC@PO EXEC ST1CMP,MEMBER=ALLOC@PO
+ //ATTRIBS  EXEC ST1CMP,MEMBER=ATTRIBS
+ //BB@REORD EXEC ST1CMP,MEMBER=BB@REORD
+ //BITMAP   EXEC ST1CMP,MEMBER=BITMAP
+ //BT@LOAD  EXEC ST1CMP,MEMBER=BT@LOAD
+ //BUILTINS EXEC ST1CMP,MEMBER=BUILTINS
+ //C@AUX@IN EXEC ST1CMP,MEMBER=C@AUX@IN
+ //C@COMMON EXEC ST1CMP,MEMBER=C@COMMON
+ //C@CONVER EXEC ST1CMP,MEMBER=C@CONVER
+ //C@CPPBUI EXEC ST1CMP,MEMBER=C@CPPBUI
+ //C@DECL   EXEC ST1CMP,MEMBER=C@DECL
+ //C@DUMP   EXEC ST1CMP,MEMBER=C@DUMP
+ //C@ERRORS EXEC ST1CMP,MEMBER=C@ERRORS
+ //C@FORMAT EXEC ST1CMP,MEMBER=C@FORMAT
+ //C@INCPAT EXEC ST1CMP,MEMBER=C@INCPAT
+ //C@LANG   EXEC ST1CMP,MEMBER=C@LANG
+ //C@LEX    EXEC ST1CMP,MEMBER=C@LEX
+ //C@OBJC@C EXEC ST1CMP,MEMBER=C@OBJC@C
+ //C@OPTS   EXEC ST1CMP,MEMBER=C@OPTS
+ //C@PARSE  EXEC ST1CMP,MEMBER=C@PARSE
+ //C@PCH    EXEC ST1CMP,MEMBER=C@PCH
+ //C@PPOUTP EXEC ST1CMP,MEMBER=C@PPOUTP
+ //C@PRAGMA EXEC ST1CMP,MEMBER=C@PRAGMA
+ //C@PRETTY EXEC ST1CMP,MEMBER=C@PRETTY
+ //C@SEMANT EXEC ST1CMP,MEMBER=C@SEMANT
+ //C@TYPECK EXEC ST1CMP,MEMBER=C@TYPECK
+ //CALLER@S EXEC ST1CMP,MEMBER=CALLER@S
+ //CALLS    EXEC ST1CMP,MEMBER=CALLS
+ //CFG      EXEC ST1CMP,MEMBER=CFG
+ //CFGANAL  EXEC ST1CMP,MEMBER=CFGANAL
+ //CFGBUILD EXEC ST1CMP,MEMBER=CFGBUILD
+ //CFGCLEAN EXEC ST1CMP,MEMBER=CFGCLEAN
+ //CFGHOOKS EXEC ST1CMP,MEMBER=CFGHOOKS
+ //CFGLAYOU EXEC ST1CMP,MEMBER=CFGLAYOU
+ //CFGLOOP  EXEC ST1CMP,MEMBER=CFGLOOP
+ //CFGLOOPA EXEC ST1CMP,MEMBER=CFGLOOPA
+ //CFGLOOPM EXEC ST1CMP,MEMBER=CFGLOOPM
+ //CFGRTL   EXEC ST1CMP,MEMBER=CFGRTL
+ //CGRAPH   EXEC ST1CMP,MEMBER=CGRAPH
+ //CGRAPHUN EXEC ST1CMP,MEMBER=CGRAPHUN
+ //COMBINE  EXEC ST1CMP,MEMBER=COMBINE
+ //CONFLICT EXEC ST1CMP,MEMBER=CONFLICT
+ //CONVERT  EXEC ST1CMP,MEMBER=CONVERT
+ //COVERAGE EXEC ST1CMP,MEMBER=COVERAGE
+ //CPPCHARS EXEC ST1CMP,MEMBER=CPPCHARS
+ //CPPDEFAU EXEC ST1CMP,MEMBER=CPPDEFAU
+ //CPPERROR EXEC ST1CMP,MEMBER=CPPERROR
+ //CPPEXP   EXEC ST1CMP,MEMBER=CPPEXP
+ //CPPFILES EXEC ST1CMP,MEMBER=CPPFILES
+ //CPPHASH  EXEC ST1CMP,MEMBER=CPPHASH
+ //CPPINIT  EXEC ST1CMP,MEMBER=CPPINIT
+ //CPPLEX   EXEC ST1CMP,MEMBER=CPPLEX
+ //CPPLIB   EXEC ST1CMP,MEMBER=CPPLIB
+ //CPPMACRO EXEC ST1CMP,MEMBER=CPPMACRO
+ //CPPPCH   EXEC ST1CMP,MEMBER=CPPPCH
+ //CPPTRAD  EXEC ST1CMP,MEMBER=CPPTRAD
+ //CSE      EXEC ST1CMP,MEMBER=CSE
+ //CSELIB   EXEC ST1CMP,MEMBER=CSELIB
+ //DBXOUT   EXEC ST1CMP,MEMBER=DBXOUT
+ //DEBUG    EXEC ST1CMP,MEMBER=DEBUG
+ //DF       EXEC ST1CMP,MEMBER=DF
+ //DIAGNOST EXEC ST1CMP,MEMBER=DIAGNOST
+ //DOJUMP   EXEC ST1CMP,MEMBER=DOJUMP
+ //DOMINANC EXEC ST1CMP,MEMBER=DOMINANC
+ //DWARF2AS EXEC ST1CMP,MEMBER=DWARF2AS
+ //DWARF2OU EXEC ST1CMP,MEMBER=DWARF2OU
+ //EMIT@RTL EXEC ST1CMP,MEMBER=EMIT@RTL
+ //ET@FORES EXEC ST1CMP,MEMBER=ET@FORES
+ //EXCEPT   EXEC ST1CMP,MEMBER=EXCEPT
+ //EXPLOW   EXEC ST1CMP,MEMBER=EXPLOW
+ //EXPMED   EXEC ST1CMP,MEMBER=EXPMED
+ //EXPR     EXEC ST1CMP,MEMBER=EXPR
+ //FINAL    EXEC ST1CMP,MEMBER=FINAL
+ //FLOW     EXEC ST1CMP,MEMBER=FLOW
+ //FOLD@CON EXEC ST1CMP,MEMBER=FOLD@CON
+ //FUNCTION EXEC ST1CMP,MEMBER=FUNCTION
+ //GCSE     EXEC ST1CMP,MEMBER=GCSE
+ //GENRTL   EXEC ST1CMP,MEMBER=GENRTL
+ //GGC@COMM EXEC ST1CMP,MEMBER=GGC@COMM
+ //GGC@PAGE EXEC ST1CMP,MEMBER=GGC@PAGE
+ //GLOBAL   EXEC ST1CMP,MEMBER=GLOBAL
+ //GRAPH    EXEC ST1CMP,MEMBER=GRAPH
+ //GTYPE@DE EXEC ST1CMP,MEMBER=GTYPE@DE
+ //HAIFA@SC EXEC ST1CMP,MEMBER=HAIFA@SC
+ //HASHTABL EXEC ST1CMP,MEMBER=HASHTABL
+ //HOOKS    EXEC ST1CMP,MEMBER=HOOKS
+ //HOST@DEF EXEC ST1CMP,MEMBER=HOST@DEF
+ //IFCVT    EXEC ST1CMP,MEMBER=IFCVT
+ //INSN@ATT EXEC ST1CMP,MEMBER=INSN@ATT
+ //INSN@EMI EXEC ST1CMP,MEMBER=INSN@EMI
+ //INSN@EXT EXEC ST1CMP,MEMBER=INSN@EXT
+ //INSN@MOD EXEC ST1CMP,MEMBER=INSN@MOD
+ //INSN@OPI EXEC ST1CMP,MEMBER=INSN@OPI
+ //INSN@OUT EXEC ST1CMP,MEMBER=INSN@OUT
+ //INSN@REC EXEC ST1CMP,MEMBER=INSN@REC
+ //INTEGRAT EXEC ST1CMP,MEMBER=INTEGRAT
+ //JUMP     EXEC ST1CMP,MEMBER=JUMP
+ //LANGHOOK EXEC ST1CMP,MEMBER=LANGHOOK
+ //LCM      EXEC ST1CMP,MEMBER=LCM
+ //LINE@MAP EXEC ST1CMP,MEMBER=LINE@MAP
+ //LISTS    EXEC ST1CMP,MEMBER=LISTS
+ //LOCAL@AL EXEC ST1CMP,MEMBER=LOCAL@AL
+ //LOOP@INI EXEC ST1CMP,MEMBER=LOOP@INI
+ //LOOP@UNR EXEC ST1CMP,MEMBER=LOOP@UNR
+ //LOOP@UNS EXEC ST1CMP,MEMBER=LOOP@UNS
+ //LOOP     EXEC ST1CMP,MEMBER=LOOP
+ //MKDEPS   EXEC ST1CMP,MEMBER=MKDEPS
+ //OPTABS   EXEC ST1CMP,MEMBER=OPTABS
+ //OPTIONS  EXEC ST1CMP,MEMBER=OPTIONS
+ //OPTS     EXEC ST1CMP,MEMBER=OPTS
+ //PARAMS   EXEC ST1CMP,MEMBER=PARAMS
+ //POSTRELO EXEC ST1CMP,MEMBER=POSTRELO
+ //PREDICT  EXEC ST1CMP,MEMBER=PREDICT
+ //PREFIX   EXEC ST1CMP,MEMBER=PREFIX
+ //PRETTY@P EXEC ST1CMP,MEMBER=PRETTY@P
+ //PRINT@RT EXEC ST1CMP,MEMBER=PRINT@RT
+ //PRINT@TR EXEC ST1CMP,MEMBER=PRINT@TR
+ //PROFILE  EXEC ST1CMP,MEMBER=PROFILE
+ //RA@BUILD EXEC ST1CMP,MEMBER=RA@BUILD
+ //RA@COLOR EXEC ST1CMP,MEMBER=RA@COLOR
+ //RA@DEBUG EXEC ST1CMP,MEMBER=RA@DEBUG
+ //RA@REWRI EXEC ST1CMP,MEMBER=RA@REWRI
+ //RA       EXEC ST1CMP,MEMBER=RA
+ //REAL     EXEC ST1CMP,MEMBER=REAL
+ //
Index: gcc/gcc/stage1b.jcl
diff -c /dev/null gcc/gcc/stage1b.jcl:1.9
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage1b.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,399 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //ST1CMP   PROC GCCPREF='GCC',MEMBER='',
+ //         PDPPREF='PDPCLIB'
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S(&MEMBER),DISP=SHR
+ //LKED     EXEC PGM=IEWL,PARM='NCAL,LET',
+ //             COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,
+ // PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..TMPLOAD(&MODULE),DISP=SHR
+ //         PEND
+ //RECOG    EXEC ST1CMP,MEMBER=RECOG
+ //REG@STAC EXEC ST1CMP,MEMBER=REG@STAC
+ //REGCLASS EXEC ST1CMP,MEMBER=REGCLASS
+ //REGMOVE  EXEC ST1CMP,MEMBER=REGMOVE
+ //REGRENAM EXEC ST1CMP,MEMBER=REGRENAM
+ //RELOAD   EXEC ST1CMP,MEMBER=RELOAD
+ //RELOAD1  EXEC ST1CMP,MEMBER=RELOAD1
+ //RESOURCE EXEC ST1CMP,MEMBER=RESOURCE
+ //RTL@ERRO EXEC ST1CMP,MEMBER=RTL@ERRO
+ //RTL      EXEC ST1CMP,MEMBER=RTL
+ //RTLANAL  EXEC ST1CMP,MEMBER=RTLANAL
+ //SBITMAP  EXEC ST1CMP,MEMBER=SBITMAP
+ //SDBOUT   EXEC ST1CMP,MEMBER=SDBOUT
+ //SIBCALL  EXEC ST1CMP,MEMBER=SIBCALL
+ //SIMPLIFY EXEC ST1CMP,MEMBER=SIMPLIFY
+ //SREAL    EXEC ST1CMP,MEMBER=SREAL
+ //STMT     EXEC ST1CMP,MEMBER=STMT
+ //STOR@LAY EXEC ST1CMP,MEMBER=STOR@LAY
+ //STRINGPO EXEC ST1CMP,MEMBER=STRINGPO
+ //STUB@OBJ EXEC ST1CMP,MEMBER=STUB@OBJ
+ //TARGHOOK EXEC ST1CMP,MEMBER=TARGHOOK
+ //TIMEVAR  EXEC ST1CMP,MEMBER=TIMEVAR
+ //TOPLEV   EXEC ST1CMP,MEMBER=TOPLEV
+ //TRACER   EXEC ST1CMP,MEMBER=TRACER
+ //TREE@DUM EXEC ST1CMP,MEMBER=TREE@DUM
+ //TREE@INL EXEC ST1CMP,MEMBER=TREE@INL
+ //TREE@OPT EXEC ST1CMP,MEMBER=TREE@OPT
+ //TREE     EXEC ST1CMP,MEMBER=TREE
+ //UNROLL   EXEC ST1CMP,MEMBER=UNROLL
+ //VALUE@PR EXEC ST1CMP,MEMBER=VALUE@PR
+ //VARASM   EXEC ST1CMP,MEMBER=VARASM
+ //VARRAY   EXEC ST1CMP,MEMBER=VARRAY
+ //VERSION  EXEC ST1CMP,MEMBER=VERSION
+ //WEB      EXEC ST1CMP,MEMBER=WEB
+ //GCC      EXEC ST1CMP,MEMBER=GCC
+ //GCCSPEC  EXEC ST1CMP,MEMBER=GCCSPEC
+ //CPPSPEC  EXEC ST1CMP,MEMBER=CPPSPEC
+ //ALLOCA   EXEC ST1CMP,MEMBER=ALLOCA
+ //ARGV     EXEC ST1CMP,MEMBER=ARGV
+ //ASPRINTF EXEC ST1CMP,MEMBER=ASPRINTF
+ //BASENAME EXEC ST1CMP,MEMBER=BASENAME
+ //BCMP     EXEC ST1CMP,MEMBER=BCMP
+ //BCOPY    EXEC ST1CMP,MEMBER=BCOPY
+ //BZERO    EXEC ST1CMP,MEMBER=BZERO
+ //CONCAT   EXEC ST1CMP,MEMBER=CONCAT
+ //CP@DEMAN EXEC ST1CMP,MEMBER=CP@DEMAN
+ //CP@DEMIN EXEC ST1CMP,MEMBER=CP@DEMIN
+ //CPLUS@DE EXEC ST1CMP,MEMBER=CPLUS@DE
+ //DYN@STRI EXEC ST1CMP,MEMBER=DYN@STRI
+ //FDMATCH  EXEC ST1CMP,MEMBER=FDMATCH
+ //FFS      EXEC ST1CMP,MEMBER=FFS
+ //FIBHEAP  EXEC ST1CMP,MEMBER=FIBHEAP
+ //FLOATFOR EXEC ST1CMP,MEMBER=FLOATFOR
+ //FNMATCH  EXEC ST1CMP,MEMBER=FNMATCH
+ //GETCWD   EXEC ST1CMP,MEMBER=GETCWD
+ //GETOPT   EXEC ST1CMP,MEMBER=GETOPT
+ //GETOPT1  EXEC ST1CMP,MEMBER=GETOPT1
+ //GETPAGES EXEC ST1CMP,MEMBER=GETPAGES
+ //GETPWD   EXEC ST1CMP,MEMBER=GETPWD
+ //GETRUNTI EXEC ST1CMP,MEMBER=GETRUNTI
+ //HASHTAB  EXEC ST1CMP,MEMBER=HASHTAB
+ //HEX      EXEC ST1CMP,MEMBER=HEX
+ //INDEX    EXEC ST1CMP,MEMBER=INDEX
+ //INSQUE   EXEC ST1CMP,MEMBER=INSQUE
+ //LBASENAM EXEC ST1CMP,MEMBER=LBASENAM
+ //LREALPAT EXEC ST1CMP,MEMBER=LREALPAT
+ //MAKE@REL EXEC ST1CMP,MEMBER=MAKE@REL
+ //MAKE@TEM EXEC ST1CMP,MEMBER=MAKE@TEM
+ //MD5      EXEC ST1CMP,MEMBER=MD5
+ //MEMPCPY  EXEC ST1CMP,MEMBER=MEMPCPY
+ //MKSTEMPS EXEC ST1CMP,MEMBER=MKSTEMPS
+ //OBJALLOC EXEC ST1CMP,MEMBER=OBJALLOC
+ //OBSTACK  EXEC ST1CMP,MEMBER=OBSTACK
+ //PARTITIO EXEC ST1CMP,MEMBER=PARTITIO
+ //PHYSMEM  EXEC ST1CMP,MEMBER=PHYSMEM
+ //PUTENV   EXEC ST1CMP,MEMBER=PUTENV
+ //RANDOM   EXEC ST1CMP,MEMBER=RANDOM
+ //RINDEX   EXEC ST1CMP,MEMBER=RINDEX
+ //SAFE@CTY EXEC ST1CMP,MEMBER=SAFE@CTY
+ //SETENV   EXEC ST1CMP,MEMBER=SETENV
+ //SNPRINTF EXEC ST1CMP,MEMBER=SNPRINTF
+ //SORT     EXEC ST1CMP,MEMBER=SORT
+ //SPACES   EXEC ST1CMP,MEMBER=SPACES
+ //SPLAY@TR EXEC ST1CMP,MEMBER=SPLAY@TR
+ //STPCPY   EXEC ST1CMP,MEMBER=STPCPY
+ //STPNCPY  EXEC ST1CMP,MEMBER=STPNCPY
+ //STRCASEC EXEC ST1CMP,MEMBER=STRCASEC
+ //STRDUP   EXEC ST1CMP,MEMBER=STRDUP
+ //STRNCASE EXEC ST1CMP,MEMBER=STRNCASE
+ //STRSIGNA EXEC ST1CMP,MEMBER=STRSIGNA
+ //TERNARY  EXEC ST1CMP,MEMBER=TERNARY
+ //VASPRINT EXEC ST1CMP,MEMBER=VASPRINT
+ //VPRINTF  EXEC ST1CMP,MEMBER=VPRINTF
+ //VSNPRINT EXEC ST1CMP,MEMBER=VSNPRINT
+ //WAITPID  EXEC ST1CMP,MEMBER=WAITPID
+ //XATEXIT  EXEC ST1CMP,MEMBER=XATEXIT
+ //XEXIT    EXEC ST1CMP,MEMBER=XEXIT
+ //XMALLOC  EXEC ST1CMP,MEMBER=XMALLOC
+ //XMEMDUP  EXEC ST1CMP,MEMBER=XMEMDUP
+ //XSTRDUP  EXEC ST1CMP,MEMBER=XSTRDUP
+ //XSTRERRO EXEC ST1CMP,MEMBER=XSTRERRO
+ //UNIXIO   EXEC ST1CMP,MEMBER=UNIXIO
+ //I370     EXEC ST1CMP,MEMBER=I370
+ //I370@C   EXEC ST1CMP,MEMBER=I370@C
+ //STDIO    EXEC ST1CMP,MEMBER=STDIO
+ //STDLIB   EXEC ST1CMP,MEMBER=STDLIB
+ //CTYPE    EXEC ST1CMP,MEMBER=CTYPE
+ //STRING   EXEC ST1CMP,MEMBER=STRING
+ //TIME     EXEC ST1CMP,MEMBER=TIME
+ //ERRNO    EXEC ST1CMP,MEMBER=ERRNO
+ //ASSERT   EXEC ST1CMP,MEMBER=ASSERT
+ //LOCALE   EXEC ST1CMP,MEMBER=LOCALE
+ //MATH     EXEC ST1CMP,MEMBER=MATH
+ //SETJMP   EXEC ST1CMP,MEMBER=SETJMP
+ //SIGNAL   EXEC ST1CMP,MEMBER=SIGNAL
+ //START    EXEC ST1CMP,MEMBER=START
+ //@@MEMMGR EXEC ST1CMP,MEMBER=@@MEMMGR
+ //*
+ //DOLINK   EXEC LINK,MODULE='STAGE1'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(ALIAS)
+  INCLUDE SYSLIB(ALLOC@PO)
+  INCLUDE SYSLIB(ATTRIBS)
+  INCLUDE SYSLIB(BB@REORD)
+  INCLUDE SYSLIB(BITMAP)
+  INCLUDE SYSLIB(BT@LOAD)
+  INCLUDE SYSLIB(BUILTINS)
+  INCLUDE SYSLIB(C@AUX@IN)
+  INCLUDE SYSLIB(C@COMMON)
+  INCLUDE SYSLIB(C@CONVER)
+  INCLUDE SYSLIB(C@CPPBUI)
+  INCLUDE SYSLIB(C@DECL)
+  INCLUDE SYSLIB(C@DUMP)
+  INCLUDE SYSLIB(C@ERRORS)
+  INCLUDE SYSLIB(C@FORMAT)
+  INCLUDE SYSLIB(C@INCPAT)
+  INCLUDE SYSLIB(C@LANG)
+  INCLUDE SYSLIB(C@LEX)
+  INCLUDE SYSLIB(C@OBJC@C)
+  INCLUDE SYSLIB(C@OPTS)
+  INCLUDE SYSLIB(C@PARSE)
+  INCLUDE SYSLIB(C@PCH)
+  INCLUDE SYSLIB(C@PPOUTP)
+  INCLUDE SYSLIB(C@PRAGMA)
+  INCLUDE SYSLIB(C@PRETTY)
+  INCLUDE SYSLIB(C@SEMANT)
+  INCLUDE SYSLIB(C@TYPECK)
+  INCLUDE SYSLIB(CALLER@S)
+  INCLUDE SYSLIB(CALLS)
+  INCLUDE SYSLIB(CFG)
+  INCLUDE SYSLIB(CFGANAL)
+  INCLUDE SYSLIB(CFGBUILD)
+  INCLUDE SYSLIB(CFGCLEAN)
+  INCLUDE SYSLIB(CFGHOOKS)
+  INCLUDE SYSLIB(CFGLAYOU)
+  INCLUDE SYSLIB(CFGLOOP)
+  INCLUDE SYSLIB(CFGLOOPA)
+  INCLUDE SYSLIB(CFGLOOPM)
+  INCLUDE SYSLIB(CFGRTL)
+  INCLUDE SYSLIB(CGRAPH)
+  INCLUDE SYSLIB(CGRAPHUN)
+  INCLUDE SYSLIB(COMBINE)
+  INCLUDE SYSLIB(CONFLICT)
+  INCLUDE SYSLIB(CONVERT)
+  INCLUDE SYSLIB(COVERAGE)
+  INCLUDE SYSLIB(CPPCHARS)
+  INCLUDE SYSLIB(CPPDEFAU)
+  INCLUDE SYSLIB(CPPERROR)
+  INCLUDE SYSLIB(CPPEXP)
+  INCLUDE SYSLIB(CPPFILES)
+  INCLUDE SYSLIB(CPPHASH)
+  INCLUDE SYSLIB(CPPINIT)
+  INCLUDE SYSLIB(CPPLEX)
+  INCLUDE SYSLIB(CPPLIB)
+  INCLUDE SYSLIB(CPPMACRO)
+  INCLUDE SYSLIB(CPPPCH)
+  INCLUDE SYSLIB(CPPTRAD)
+  INCLUDE SYSLIB(CSE)
+  INCLUDE SYSLIB(CSELIB)
+  INCLUDE SYSLIB(DBXOUT)
+  INCLUDE SYSLIB(DEBUG)
+  INCLUDE SYSLIB(DF)
+  INCLUDE SYSLIB(DIAGNOST)
+  INCLUDE SYSLIB(DOJUMP)
+  INCLUDE SYSLIB(DOMINANC)
+  INCLUDE SYSLIB(DWARF2AS)
+  INCLUDE SYSLIB(DWARF2OU)
+  INCLUDE SYSLIB(EMIT@RTL)
+  INCLUDE SYSLIB(ET@FORES)
+  INCLUDE SYSLIB(EXCEPT)
+  INCLUDE SYSLIB(EXPLOW)
+  INCLUDE SYSLIB(EXPMED)
+  INCLUDE SYSLIB(EXPR)
+  INCLUDE SYSLIB(FINAL)
+  INCLUDE SYSLIB(FLOW)
+  INCLUDE SYSLIB(FOLD@CON)
+  INCLUDE SYSLIB(FUNCTION)
+  INCLUDE SYSLIB(GCSE)
+  INCLUDE SYSLIB(GENRTL)
+  INCLUDE SYSLIB(GGC@COMM)
+  INCLUDE SYSLIB(GGC@PAGE)
+  INCLUDE SYSLIB(GLOBAL)
+  INCLUDE SYSLIB(GRAPH)
+  INCLUDE SYSLIB(GTYPE@DE)
+  INCLUDE SYSLIB(HAIFA@SC)
+  INCLUDE SYSLIB(HASHTABL)
+  INCLUDE SYSLIB(HOOKS)
+  INCLUDE SYSLIB(HOST@DEF)
+  INCLUDE SYSLIB(IFCVT)
+  INCLUDE SYSLIB(INSN@ATT)
+  INCLUDE SYSLIB(INSN@EMI)
+  INCLUDE SYSLIB(INSN@EXT)
+  INCLUDE SYSLIB(INSN@MOD)
+  INCLUDE SYSLIB(INSN@OPI)
+  INCLUDE SYSLIB(INSN@OUT)
+  INCLUDE SYSLIB(INSN@REC)
+  INCLUDE SYSLIB(INTEGRAT)
+  INCLUDE SYSLIB(JUMP)
+  INCLUDE SYSLIB(LANGHOOK)
+  INCLUDE SYSLIB(LCM)
+  INCLUDE SYSLIB(LINE@MAP)
+  INCLUDE SYSLIB(LISTS)
+  INCLUDE SYSLIB(LOCAL@AL)
+  INCLUDE SYSLIB(LOOP@INI)
+  INCLUDE SYSLIB(LOOP@UNR)
+  INCLUDE SYSLIB(LOOP@UNS)
+  INCLUDE SYSLIB(LOOP)
+  INCLUDE SYSLIB(MKDEPS)
+  INCLUDE SYSLIB(OPTABS)
+  INCLUDE SYSLIB(OPTIONS)
+  INCLUDE SYSLIB(OPTS)
+  INCLUDE SYSLIB(PARAMS)
+  INCLUDE SYSLIB(POSTRELO)
+  INCLUDE SYSLIB(PREDICT)
+  INCLUDE SYSLIB(PREFIX)
+  INCLUDE SYSLIB(PRETTY@P)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(PRINT@TR)
+  INCLUDE SYSLIB(PROFILE)
+  INCLUDE SYSLIB(RA@BUILD)
+  INCLUDE SYSLIB(RA@COLOR)
+  INCLUDE SYSLIB(RA@DEBUG)
+  INCLUDE SYSLIB(RA@REWRI)
+  INCLUDE SYSLIB(RA)
+  INCLUDE SYSLIB(REAL)
+  INCLUDE SYSLIB(RECOG)
+  INCLUDE SYSLIB(REG@STAC)
+  INCLUDE SYSLIB(REGCLASS)
+  INCLUDE SYSLIB(REGMOVE)
+  INCLUDE SYSLIB(REGRENAM)
+  INCLUDE SYSLIB(RELOAD)
+  INCLUDE SYSLIB(RELOAD1)
+  INCLUDE SYSLIB(RESOURCE)
+  INCLUDE SYSLIB(RTL@ERRO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(RTLANAL)
+  INCLUDE SYSLIB(SBITMAP)
+  INCLUDE SYSLIB(SDBOUT)
+  INCLUDE SYSLIB(SIBCALL)
+  INCLUDE SYSLIB(SIMPLIFY)
+  INCLUDE SYSLIB(SREAL)
+  INCLUDE SYSLIB(STMT)
+  INCLUDE SYSLIB(STOR@LAY)
+  INCLUDE SYSLIB(STRINGPO)
+  INCLUDE SYSLIB(STUB@OBJ)
+  INCLUDE SYSLIB(TARGHOOK)
+  INCLUDE SYSLIB(TIMEVAR)
+  INCLUDE SYSLIB(TOPLEV)
+  INCLUDE SYSLIB(TRACER)
+  INCLUDE SYSLIB(TREE@DUM)
+  INCLUDE SYSLIB(TREE@INL)
+  INCLUDE SYSLIB(TREE@OPT)
+  INCLUDE SYSLIB(TREE)
+  INCLUDE SYSLIB(UNROLL)
+  INCLUDE SYSLIB(VALUE@PR)
+  INCLUDE SYSLIB(VARASM)
+  INCLUDE SYSLIB(VARRAY)
+  INCLUDE SYSLIB(VERSION)
+  INCLUDE SYSLIB(WEB)
+  INCLUDE SYSLIB(GCC)
+  INCLUDE SYSLIB(GCCSPEC)
+  INCLUDE SYSLIB(CPPSPEC)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(ARGV)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(BASENAME)
+  INCLUDE SYSLIB(BCMP)
+  INCLUDE SYSLIB(BCOPY)
+  INCLUDE SYSLIB(BZERO)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(CP@DEMAN)
+  INCLUDE SYSLIB(CP@DEMIN)
+  INCLUDE SYSLIB(CPLUS@DE)
+  INCLUDE SYSLIB(DYN@STRI)
+  INCLUDE SYSLIB(FDMATCH)
+  INCLUDE SYSLIB(FFS)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(FLOATFOR)
+  INCLUDE SYSLIB(FNMATCH)
+  INCLUDE SYSLIB(GETCWD)
+  INCLUDE SYSLIB(GETOPT)
+  INCLUDE SYSLIB(GETOPT1)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(GETPWD)
+  INCLUDE SYSLIB(GETRUNTI)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(INDEX)
+  INCLUDE SYSLIB(INSQUE)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(LREALPAT)
+  INCLUDE SYSLIB(MAKE@REL)
+  INCLUDE SYSLIB(MAKE@TEM)
+  INCLUDE SYSLIB(MD5)
+  INCLUDE SYSLIB(MEMPCPY)
+  INCLUDE SYSLIB(MKSTEMPS)
+  INCLUDE SYSLIB(OBJALLOC)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(PHYSMEM)
+  INCLUDE SYSLIB(PUTENV)
+  INCLUDE SYSLIB(RANDOM)
+  INCLUDE SYSLIB(RINDEX)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SETENV)
+  INCLUDE SYSLIB(SNPRINTF)
+  INCLUDE SYSLIB(SORT)
+  INCLUDE SYSLIB(SPACES)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(STPCPY)
+  INCLUDE SYSLIB(STPNCPY)
+  INCLUDE SYSLIB(STRCASEC)
+  INCLUDE SYSLIB(STRDUP)
+  INCLUDE SYSLIB(STRNCASE)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(TERNARY)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(VPRINTF)
+  INCLUDE SYSLIB(VSNPRINT)
+  INCLUDE SYSLIB(WAITPID)
+  INCLUDE SYSLIB(XATEXIT)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XMEMDUP)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(UNIXIO)
+  INCLUDE SYSLIB(I370)
+  INCLUDE SYSLIB(I370@C)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(@@MEMMGR)
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(MVSSUPA)
+  ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/stage1b_pdos.jcl
diff -c /dev/null gcc/gcc/stage1b_pdos.jcl:1.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage1b_pdos.jcl	Sat Jun  4 18:37:37 2011
***************
*** 0 ****
--- 1,399 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //ST1CMP   PROC GCCPREF='GCC',MEMBER='',
+ //         PDPPREF='PDPCLIB'
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S(&MEMBER),DISP=SHR
+ //LKED     EXEC PGM=IEWL,PARM='NCAL,LET',
+ //             COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,
+ // PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..LINKLIB(&MODULE),DISP=SHR
+ //         PEND
+ //RECOG    EXEC ST1CMP,MEMBER=RECOG
+ //REG@STAC EXEC ST1CMP,MEMBER=REG@STAC
+ //REGCLASS EXEC ST1CMP,MEMBER=REGCLASS
+ //REGMOVE  EXEC ST1CMP,MEMBER=REGMOVE
+ //REGRENAM EXEC ST1CMP,MEMBER=REGRENAM
+ //RELOAD   EXEC ST1CMP,MEMBER=RELOAD
+ //RELOAD1  EXEC ST1CMP,MEMBER=RELOAD1
+ //RESOURCE EXEC ST1CMP,MEMBER=RESOURCE
+ //RTL@ERRO EXEC ST1CMP,MEMBER=RTL@ERRO
+ //RTL      EXEC ST1CMP,MEMBER=RTL
+ //RTLANAL  EXEC ST1CMP,MEMBER=RTLANAL
+ //SBITMAP  EXEC ST1CMP,MEMBER=SBITMAP
+ //SDBOUT   EXEC ST1CMP,MEMBER=SDBOUT
+ //SIBCALL  EXEC ST1CMP,MEMBER=SIBCALL
+ //SIMPLIFY EXEC ST1CMP,MEMBER=SIMPLIFY
+ //SREAL    EXEC ST1CMP,MEMBER=SREAL
+ //STMT     EXEC ST1CMP,MEMBER=STMT
+ //STOR@LAY EXEC ST1CMP,MEMBER=STOR@LAY
+ //STRINGPO EXEC ST1CMP,MEMBER=STRINGPO
+ //STUB@OBJ EXEC ST1CMP,MEMBER=STUB@OBJ
+ //TARGHOOK EXEC ST1CMP,MEMBER=TARGHOOK
+ //TIMEVAR  EXEC ST1CMP,MEMBER=TIMEVAR
+ //TOPLEV   EXEC ST1CMP,MEMBER=TOPLEV
+ //TRACER   EXEC ST1CMP,MEMBER=TRACER
+ //TREE@DUM EXEC ST1CMP,MEMBER=TREE@DUM
+ //TREE@INL EXEC ST1CMP,MEMBER=TREE@INL
+ //TREE@OPT EXEC ST1CMP,MEMBER=TREE@OPT
+ //TREE     EXEC ST1CMP,MEMBER=TREE
+ //UNROLL   EXEC ST1CMP,MEMBER=UNROLL
+ //VALUE@PR EXEC ST1CMP,MEMBER=VALUE@PR
+ //VARASM   EXEC ST1CMP,MEMBER=VARASM
+ //VARRAY   EXEC ST1CMP,MEMBER=VARRAY
+ //VERSION  EXEC ST1CMP,MEMBER=VERSION
+ //WEB      EXEC ST1CMP,MEMBER=WEB
+ //GCC      EXEC ST1CMP,MEMBER=GCC
+ //GCCSPEC  EXEC ST1CMP,MEMBER=GCCSPEC
+ //CPPSPEC  EXEC ST1CMP,MEMBER=CPPSPEC
+ //ALLOCA   EXEC ST1CMP,MEMBER=ALLOCA
+ //ARGV     EXEC ST1CMP,MEMBER=ARGV
+ //ASPRINTF EXEC ST1CMP,MEMBER=ASPRINTF
+ //BASENAME EXEC ST1CMP,MEMBER=BASENAME
+ //BCMP     EXEC ST1CMP,MEMBER=BCMP
+ //BCOPY    EXEC ST1CMP,MEMBER=BCOPY
+ //BZERO    EXEC ST1CMP,MEMBER=BZERO
+ //CONCAT   EXEC ST1CMP,MEMBER=CONCAT
+ //CP@DEMAN EXEC ST1CMP,MEMBER=CP@DEMAN
+ //CP@DEMIN EXEC ST1CMP,MEMBER=CP@DEMIN
+ //CPLUS@DE EXEC ST1CMP,MEMBER=CPLUS@DE
+ //DYN@STRI EXEC ST1CMP,MEMBER=DYN@STRI
+ //FDMATCH  EXEC ST1CMP,MEMBER=FDMATCH
+ //FFS      EXEC ST1CMP,MEMBER=FFS
+ //FIBHEAP  EXEC ST1CMP,MEMBER=FIBHEAP
+ //FLOATFOR EXEC ST1CMP,MEMBER=FLOATFOR
+ //FNMATCH  EXEC ST1CMP,MEMBER=FNMATCH
+ //GETCWD   EXEC ST1CMP,MEMBER=GETCWD
+ //GETOPT   EXEC ST1CMP,MEMBER=GETOPT
+ //GETOPT1  EXEC ST1CMP,MEMBER=GETOPT1
+ //GETPAGES EXEC ST1CMP,MEMBER=GETPAGES
+ //GETPWD   EXEC ST1CMP,MEMBER=GETPWD
+ //GETRUNTI EXEC ST1CMP,MEMBER=GETRUNTI
+ //HASHTAB  EXEC ST1CMP,MEMBER=HASHTAB
+ //HEX      EXEC ST1CMP,MEMBER=HEX
+ //INDEX    EXEC ST1CMP,MEMBER=INDEX
+ //INSQUE   EXEC ST1CMP,MEMBER=INSQUE
+ //LBASENAM EXEC ST1CMP,MEMBER=LBASENAM
+ //LREALPAT EXEC ST1CMP,MEMBER=LREALPAT
+ //MAKE@REL EXEC ST1CMP,MEMBER=MAKE@REL
+ //MAKE@TEM EXEC ST1CMP,MEMBER=MAKE@TEM
+ //MD5      EXEC ST1CMP,MEMBER=MD5
+ //MEMPCPY  EXEC ST1CMP,MEMBER=MEMPCPY
+ //MKSTEMPS EXEC ST1CMP,MEMBER=MKSTEMPS
+ //OBJALLOC EXEC ST1CMP,MEMBER=OBJALLOC
+ //OBSTACK  EXEC ST1CMP,MEMBER=OBSTACK
+ //PARTITIO EXEC ST1CMP,MEMBER=PARTITIO
+ //PHYSMEM  EXEC ST1CMP,MEMBER=PHYSMEM
+ //PUTENV   EXEC ST1CMP,MEMBER=PUTENV
+ //RANDOM   EXEC ST1CMP,MEMBER=RANDOM
+ //RINDEX   EXEC ST1CMP,MEMBER=RINDEX
+ //SAFE@CTY EXEC ST1CMP,MEMBER=SAFE@CTY
+ //SETENV   EXEC ST1CMP,MEMBER=SETENV
+ //SNPRINTF EXEC ST1CMP,MEMBER=SNPRINTF
+ //SORT     EXEC ST1CMP,MEMBER=SORT
+ //SPACES   EXEC ST1CMP,MEMBER=SPACES
+ //SPLAY@TR EXEC ST1CMP,MEMBER=SPLAY@TR
+ //STPCPY   EXEC ST1CMP,MEMBER=STPCPY
+ //STPNCPY  EXEC ST1CMP,MEMBER=STPNCPY
+ //STRCASEC EXEC ST1CMP,MEMBER=STRCASEC
+ //STRDUP   EXEC ST1CMP,MEMBER=STRDUP
+ //STRNCASE EXEC ST1CMP,MEMBER=STRNCASE
+ //STRSIGNA EXEC ST1CMP,MEMBER=STRSIGNA
+ //TERNARY  EXEC ST1CMP,MEMBER=TERNARY
+ //VASPRINT EXEC ST1CMP,MEMBER=VASPRINT
+ //VPRINTF  EXEC ST1CMP,MEMBER=VPRINTF
+ //VSNPRINT EXEC ST1CMP,MEMBER=VSNPRINT
+ //WAITPID  EXEC ST1CMP,MEMBER=WAITPID
+ //XATEXIT  EXEC ST1CMP,MEMBER=XATEXIT
+ //XEXIT    EXEC ST1CMP,MEMBER=XEXIT
+ //XMALLOC  EXEC ST1CMP,MEMBER=XMALLOC
+ //XMEMDUP  EXEC ST1CMP,MEMBER=XMEMDUP
+ //XSTRDUP  EXEC ST1CMP,MEMBER=XSTRDUP
+ //XSTRERRO EXEC ST1CMP,MEMBER=XSTRERRO
+ //UNIXIO   EXEC ST1CMP,MEMBER=UNIXIO
+ //I370     EXEC ST1CMP,MEMBER=I370
+ //I370@C   EXEC ST1CMP,MEMBER=I370@C
+ //STDIO    EXEC ST1CMP,MEMBER=STDIO
+ //STDLIB   EXEC ST1CMP,MEMBER=STDLIB
+ //CTYPE    EXEC ST1CMP,MEMBER=CTYPE
+ //STRING   EXEC ST1CMP,MEMBER=STRING
+ //TIME     EXEC ST1CMP,MEMBER=TIME
+ //ERRNO    EXEC ST1CMP,MEMBER=ERRNO
+ //ASSERT   EXEC ST1CMP,MEMBER=ASSERT
+ //LOCALE   EXEC ST1CMP,MEMBER=LOCALE
+ //MATH     EXEC ST1CMP,MEMBER=MATH
+ //SETJMP   EXEC ST1CMP,MEMBER=SETJMP
+ //SIGNAL   EXEC ST1CMP,MEMBER=SIGNAL
+ //START    EXEC ST1CMP,MEMBER=START
+ //@@MEMMGR EXEC ST1CMP,MEMBER=@@MEMMGR
+ //*
+ //DOLINK   EXEC LINK,MODULE='GCC'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(ALIAS)
+  INCLUDE SYSLIB(ALLOC@PO)
+  INCLUDE SYSLIB(ATTRIBS)
+  INCLUDE SYSLIB(BB@REORD)
+  INCLUDE SYSLIB(BITMAP)
+  INCLUDE SYSLIB(BT@LOAD)
+  INCLUDE SYSLIB(BUILTINS)
+  INCLUDE SYSLIB(C@AUX@IN)
+  INCLUDE SYSLIB(C@COMMON)
+  INCLUDE SYSLIB(C@CONVER)
+  INCLUDE SYSLIB(C@CPPBUI)
+  INCLUDE SYSLIB(C@DECL)
+  INCLUDE SYSLIB(C@DUMP)
+  INCLUDE SYSLIB(C@ERRORS)
+  INCLUDE SYSLIB(C@FORMAT)
+  INCLUDE SYSLIB(C@INCPAT)
+  INCLUDE SYSLIB(C@LANG)
+  INCLUDE SYSLIB(C@LEX)
+  INCLUDE SYSLIB(C@OBJC@C)
+  INCLUDE SYSLIB(C@OPTS)
+  INCLUDE SYSLIB(C@PARSE)
+  INCLUDE SYSLIB(C@PCH)
+  INCLUDE SYSLIB(C@PPOUTP)
+  INCLUDE SYSLIB(C@PRAGMA)
+  INCLUDE SYSLIB(C@PRETTY)
+  INCLUDE SYSLIB(C@SEMANT)
+  INCLUDE SYSLIB(C@TYPECK)
+  INCLUDE SYSLIB(CALLER@S)
+  INCLUDE SYSLIB(CALLS)
+  INCLUDE SYSLIB(CFG)
+  INCLUDE SYSLIB(CFGANAL)
+  INCLUDE SYSLIB(CFGBUILD)
+  INCLUDE SYSLIB(CFGCLEAN)
+  INCLUDE SYSLIB(CFGHOOKS)
+  INCLUDE SYSLIB(CFGLAYOU)
+  INCLUDE SYSLIB(CFGLOOP)
+  INCLUDE SYSLIB(CFGLOOPA)
+  INCLUDE SYSLIB(CFGLOOPM)
+  INCLUDE SYSLIB(CFGRTL)
+  INCLUDE SYSLIB(CGRAPH)
+  INCLUDE SYSLIB(CGRAPHUN)
+  INCLUDE SYSLIB(COMBINE)
+  INCLUDE SYSLIB(CONFLICT)
+  INCLUDE SYSLIB(CONVERT)
+  INCLUDE SYSLIB(COVERAGE)
+  INCLUDE SYSLIB(CPPCHARS)
+  INCLUDE SYSLIB(CPPDEFAU)
+  INCLUDE SYSLIB(CPPERROR)
+  INCLUDE SYSLIB(CPPEXP)
+  INCLUDE SYSLIB(CPPFILES)
+  INCLUDE SYSLIB(CPPHASH)
+  INCLUDE SYSLIB(CPPINIT)
+  INCLUDE SYSLIB(CPPLEX)
+  INCLUDE SYSLIB(CPPLIB)
+  INCLUDE SYSLIB(CPPMACRO)
+  INCLUDE SYSLIB(CPPPCH)
+  INCLUDE SYSLIB(CPPTRAD)
+  INCLUDE SYSLIB(CSE)
+  INCLUDE SYSLIB(CSELIB)
+  INCLUDE SYSLIB(DBXOUT)
+  INCLUDE SYSLIB(DEBUG)
+  INCLUDE SYSLIB(DF)
+  INCLUDE SYSLIB(DIAGNOST)
+  INCLUDE SYSLIB(DOJUMP)
+  INCLUDE SYSLIB(DOMINANC)
+  INCLUDE SYSLIB(DWARF2AS)
+  INCLUDE SYSLIB(DWARF2OU)
+  INCLUDE SYSLIB(EMIT@RTL)
+  INCLUDE SYSLIB(ET@FORES)
+  INCLUDE SYSLIB(EXCEPT)
+  INCLUDE SYSLIB(EXPLOW)
+  INCLUDE SYSLIB(EXPMED)
+  INCLUDE SYSLIB(EXPR)
+  INCLUDE SYSLIB(FINAL)
+  INCLUDE SYSLIB(FLOW)
+  INCLUDE SYSLIB(FOLD@CON)
+  INCLUDE SYSLIB(FUNCTION)
+  INCLUDE SYSLIB(GCSE)
+  INCLUDE SYSLIB(GENRTL)
+  INCLUDE SYSLIB(GGC@COMM)
+  INCLUDE SYSLIB(GGC@PAGE)
+  INCLUDE SYSLIB(GLOBAL)
+  INCLUDE SYSLIB(GRAPH)
+  INCLUDE SYSLIB(GTYPE@DE)
+  INCLUDE SYSLIB(HAIFA@SC)
+  INCLUDE SYSLIB(HASHTABL)
+  INCLUDE SYSLIB(HOOKS)
+  INCLUDE SYSLIB(HOST@DEF)
+  INCLUDE SYSLIB(IFCVT)
+  INCLUDE SYSLIB(INSN@ATT)
+  INCLUDE SYSLIB(INSN@EMI)
+  INCLUDE SYSLIB(INSN@EXT)
+  INCLUDE SYSLIB(INSN@MOD)
+  INCLUDE SYSLIB(INSN@OPI)
+  INCLUDE SYSLIB(INSN@OUT)
+  INCLUDE SYSLIB(INSN@REC)
+  INCLUDE SYSLIB(INTEGRAT)
+  INCLUDE SYSLIB(JUMP)
+  INCLUDE SYSLIB(LANGHOOK)
+  INCLUDE SYSLIB(LCM)
+  INCLUDE SYSLIB(LINE@MAP)
+  INCLUDE SYSLIB(LISTS)
+  INCLUDE SYSLIB(LOCAL@AL)
+  INCLUDE SYSLIB(LOOP@INI)
+  INCLUDE SYSLIB(LOOP@UNR)
+  INCLUDE SYSLIB(LOOP@UNS)
+  INCLUDE SYSLIB(LOOP)
+  INCLUDE SYSLIB(MKDEPS)
+  INCLUDE SYSLIB(OPTABS)
+  INCLUDE SYSLIB(OPTIONS)
+  INCLUDE SYSLIB(OPTS)
+  INCLUDE SYSLIB(PARAMS)
+  INCLUDE SYSLIB(POSTRELO)
+  INCLUDE SYSLIB(PREDICT)
+  INCLUDE SYSLIB(PREFIX)
+  INCLUDE SYSLIB(PRETTY@P)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(PRINT@TR)
+  INCLUDE SYSLIB(PROFILE)
+  INCLUDE SYSLIB(RA@BUILD)
+  INCLUDE SYSLIB(RA@COLOR)
+  INCLUDE SYSLIB(RA@DEBUG)
+  INCLUDE SYSLIB(RA@REWRI)
+  INCLUDE SYSLIB(RA)
+  INCLUDE SYSLIB(REAL)
+  INCLUDE SYSLIB(RECOG)
+  INCLUDE SYSLIB(REG@STAC)
+  INCLUDE SYSLIB(REGCLASS)
+  INCLUDE SYSLIB(REGMOVE)
+  INCLUDE SYSLIB(REGRENAM)
+  INCLUDE SYSLIB(RELOAD)
+  INCLUDE SYSLIB(RELOAD1)
+  INCLUDE SYSLIB(RESOURCE)
+  INCLUDE SYSLIB(RTL@ERRO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(RTLANAL)
+  INCLUDE SYSLIB(SBITMAP)
+  INCLUDE SYSLIB(SDBOUT)
+  INCLUDE SYSLIB(SIBCALL)
+  INCLUDE SYSLIB(SIMPLIFY)
+  INCLUDE SYSLIB(SREAL)
+  INCLUDE SYSLIB(STMT)
+  INCLUDE SYSLIB(STOR@LAY)
+  INCLUDE SYSLIB(STRINGPO)
+  INCLUDE SYSLIB(STUB@OBJ)
+  INCLUDE SYSLIB(TARGHOOK)
+  INCLUDE SYSLIB(TIMEVAR)
+  INCLUDE SYSLIB(TOPLEV)
+  INCLUDE SYSLIB(TRACER)
+  INCLUDE SYSLIB(TREE@DUM)
+  INCLUDE SYSLIB(TREE@INL)
+  INCLUDE SYSLIB(TREE@OPT)
+  INCLUDE SYSLIB(TREE)
+  INCLUDE SYSLIB(UNROLL)
+  INCLUDE SYSLIB(VALUE@PR)
+  INCLUDE SYSLIB(VARASM)
+  INCLUDE SYSLIB(VARRAY)
+  INCLUDE SYSLIB(VERSION)
+  INCLUDE SYSLIB(WEB)
+  INCLUDE SYSLIB(GCC)
+  INCLUDE SYSLIB(GCCSPEC)
+  INCLUDE SYSLIB(CPPSPEC)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(ARGV)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(BASENAME)
+  INCLUDE SYSLIB(BCMP)
+  INCLUDE SYSLIB(BCOPY)
+  INCLUDE SYSLIB(BZERO)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(CP@DEMAN)
+  INCLUDE SYSLIB(CP@DEMIN)
+  INCLUDE SYSLIB(CPLUS@DE)
+  INCLUDE SYSLIB(DYN@STRI)
+  INCLUDE SYSLIB(FDMATCH)
+  INCLUDE SYSLIB(FFS)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(FLOATFOR)
+  INCLUDE SYSLIB(FNMATCH)
+  INCLUDE SYSLIB(GETCWD)
+  INCLUDE SYSLIB(GETOPT)
+  INCLUDE SYSLIB(GETOPT1)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(GETPWD)
+  INCLUDE SYSLIB(GETRUNTI)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(INDEX)
+  INCLUDE SYSLIB(INSQUE)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(LREALPAT)
+  INCLUDE SYSLIB(MAKE@REL)
+  INCLUDE SYSLIB(MAKE@TEM)
+  INCLUDE SYSLIB(MD5)
+  INCLUDE SYSLIB(MEMPCPY)
+  INCLUDE SYSLIB(MKSTEMPS)
+  INCLUDE SYSLIB(OBJALLOC)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(PHYSMEM)
+  INCLUDE SYSLIB(PUTENV)
+  INCLUDE SYSLIB(RANDOM)
+  INCLUDE SYSLIB(RINDEX)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SETENV)
+  INCLUDE SYSLIB(SNPRINTF)
+  INCLUDE SYSLIB(SORT)
+  INCLUDE SYSLIB(SPACES)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(STPCPY)
+  INCLUDE SYSLIB(STPNCPY)
+  INCLUDE SYSLIB(STRCASEC)
+  INCLUDE SYSLIB(STRDUP)
+  INCLUDE SYSLIB(STRNCASE)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(TERNARY)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(VPRINTF)
+  INCLUDE SYSLIB(VSNPRINT)
+  INCLUDE SYSLIB(WAITPID)
+  INCLUDE SYSLIB(XATEXIT)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XMEMDUP)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(UNIXIO)
+  INCLUDE SYSLIB(I370)
+  INCLUDE SYSLIB(I370@C)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(@@MEMMGR)
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(MVSSUPA)
+  ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/stage2a.jcl
diff -c /dev/null gcc/gcc/stage2a.jcl:1.11
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage2a.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,140 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //CREATE   PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1000,1000,44)),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //ST2CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //NEWNCAL  EXEC CREATE
+ //*
+ //ALIAS    EXEC ST2CMP,MEMBER=ALIAS
+ //ALLOC@PO EXEC ST2CMP,MEMBER=ALLOC@PO
+ //ATTRIBS  EXEC ST2CMP,MEMBER=ATTRIBS
+ //BB@REORD EXEC ST2CMP,MEMBER=BB@REORD
+ //BITMAP   EXEC ST2CMP,MEMBER=BITMAP
+ //BT@LOAD  EXEC ST2CMP,MEMBER=BT@LOAD
+ //BUILTINS EXEC ST2CMP,MEMBER=BUILTINS
+ //C@AUX@IN EXEC ST2CMP,MEMBER=C@AUX@IN
+ //C@COMMON EXEC ST2CMP,MEMBER=C@COMMON
+ //C@CONVER EXEC ST2CMP,MEMBER=C@CONVER
+ //C@CPPBUI EXEC ST2CMP,MEMBER=C@CPPBUI
+ //C@DECL   EXEC ST2CMP,MEMBER=C@DECL
+ //C@DUMP   EXEC ST2CMP,MEMBER=C@DUMP
+ //C@ERRORS EXEC ST2CMP,MEMBER=C@ERRORS
+ //C@FORMAT EXEC ST2CMP,MEMBER=C@FORMAT
+ //C@INCPAT EXEC ST2CMP,MEMBER=C@INCPAT
+ //C@LANG   EXEC ST2CMP,MEMBER=C@LANG
+ //C@LEX    EXEC ST2CMP,MEMBER=C@LEX
+ //C@OBJC@C EXEC ST2CMP,MEMBER=C@OBJC@C
+ //C@OPTS   EXEC ST2CMP,MEMBER=C@OPTS
+ //C@PARSE  EXEC ST2CMP,MEMBER=C@PARSE
+ //C@PCH    EXEC ST2CMP,MEMBER=C@PCH
+ //C@PPOUTP EXEC ST2CMP,MEMBER=C@PPOUTP
+ //C@PRAGMA EXEC ST2CMP,MEMBER=C@PRAGMA
+ //C@PRETTY EXEC ST2CMP,MEMBER=C@PRETTY
+ //C@SEMANT EXEC ST2CMP,MEMBER=C@SEMANT
+ //C@TYPECK EXEC ST2CMP,MEMBER=C@TYPECK
+ //CALLER@S EXEC ST2CMP,MEMBER=CALLER@S
+ //CALLS    EXEC ST2CMP,MEMBER=CALLS
+ //CFG      EXEC ST2CMP,MEMBER=CFG
+ //CFGANAL  EXEC ST2CMP,MEMBER=CFGANAL
+ //CFGBUILD EXEC ST2CMP,MEMBER=CFGBUILD
+ //CFGCLEAN EXEC ST2CMP,MEMBER=CFGCLEAN
+ //CFGHOOKS EXEC ST2CMP,MEMBER=CFGHOOKS
+ //CFGLAYOU EXEC ST2CMP,MEMBER=CFGLAYOU
+ //CFGLOOP  EXEC ST2CMP,MEMBER=CFGLOOP
+ //CFGLOOPA EXEC ST2CMP,MEMBER=CFGLOOPA
+ //CFGLOOPM EXEC ST2CMP,MEMBER=CFGLOOPM
+ //CFGRTL   EXEC ST2CMP,MEMBER=CFGRTL
+ //CGRAPH   EXEC ST2CMP,MEMBER=CGRAPH
+ //CGRAPHUN EXEC ST2CMP,MEMBER=CGRAPHUN
+ //COMBINE  EXEC ST2CMP,MEMBER=COMBINE
+ //CONFLICT EXEC ST2CMP,MEMBER=CONFLICT
+ //CONVERT  EXEC ST2CMP,MEMBER=CONVERT
+ //COVERAGE EXEC ST2CMP,MEMBER=COVERAGE
+ //CPPCHARS EXEC ST2CMP,MEMBER=CPPCHARS
+ //CPPDEFAU EXEC ST2CMP,MEMBER=CPPDEFAU
+ //CPPERROR EXEC ST2CMP,MEMBER=CPPERROR
+ //CPPEXP   EXEC ST2CMP,MEMBER=CPPEXP
+ //CPPFILES EXEC ST2CMP,MEMBER=CPPFILES
+ //CPPHASH  EXEC ST2CMP,MEMBER=CPPHASH
+ //CPPINIT  EXEC ST2CMP,MEMBER=CPPINIT
+ //CPPLEX   EXEC ST2CMP,MEMBER=CPPLEX
+ //CPPLIB   EXEC ST2CMP,MEMBER=CPPLIB
+ //CPPMACRO EXEC ST2CMP,MEMBER=CPPMACRO
+ //CPPPCH   EXEC ST2CMP,MEMBER=CPPPCH
+ //CPPTRAD  EXEC ST2CMP,MEMBER=CPPTRAD
+ //CSE      EXEC ST2CMP,MEMBER=CSE
+ //CSELIB   EXEC ST2CMP,MEMBER=CSELIB
+ //DBXOUT   EXEC ST2CMP,MEMBER=DBXOUT
+ //DEBUG    EXEC ST2CMP,MEMBER=DEBUG
+ //DF       EXEC ST2CMP,MEMBER=DF
+ //DIAGNOST EXEC ST2CMP,MEMBER=DIAGNOST
+ //DOJUMP   EXEC ST2CMP,MEMBER=DOJUMP
+ //DOMINANC EXEC ST2CMP,MEMBER=DOMINANC
+ //DWARF2AS EXEC ST2CMP,MEMBER=DWARF2AS
+ //DWARF2OU EXEC ST2CMP,MEMBER=DWARF2OU
+ //EMIT@RTL EXEC ST2CMP,MEMBER=EMIT@RTL
+ //ET@FORES EXEC ST2CMP,MEMBER=ET@FORES
+ //EXCEPT   EXEC ST2CMP,MEMBER=EXCEPT
+ //EXPLOW   EXEC ST2CMP,MEMBER=EXPLOW
+ //EXPMED   EXEC ST2CMP,MEMBER=EXPMED
+ //EXPR     EXEC ST2CMP,MEMBER=EXPR
+ //FINAL    EXEC ST2CMP,MEMBER=FINAL
+ //FLOW     EXEC ST2CMP,MEMBER=FLOW
+ //FOLD@CON EXEC ST2CMP,MEMBER=FOLD@CON
+ //FUNCTION EXEC ST2CMP,MEMBER=FUNCTION
+ //GCSE     EXEC ST2CMP,MEMBER=GCSE
+ //GENRTL   EXEC ST2CMP,MEMBER=GENRTL
+ //GGC@COMM EXEC ST2CMP,MEMBER=GGC@COMM
+ //GGC@PAGE EXEC ST2CMP,MEMBER=GGC@PAGE
+ //GLOBAL   EXEC ST2CMP,MEMBER=GLOBAL
+ //GRAPH    EXEC ST2CMP,MEMBER=GRAPH
+ //GTYPE@DE EXEC ST2CMP,MEMBER=GTYPE@DE
+ //
Index: gcc/gcc/stage2b.jcl
diff -c /dev/null gcc/gcc/stage2b.jcl:1.10
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage2b.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,128 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST2CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //HAIFA@SC EXEC ST2CMP,MEMBER=HAIFA@SC
+ //HASHTABL EXEC ST2CMP,MEMBER=HASHTABL
+ //HOOKS    EXEC ST2CMP,MEMBER=HOOKS
+ //HOST@DEF EXEC ST2CMP,MEMBER=HOST@DEF
+ //IFCVT    EXEC ST2CMP,MEMBER=IFCVT
+ //INSN@ATT EXEC ST2CMP,MEMBER=INSN@ATT
+ //INSN@EMI EXEC ST2CMP,MEMBER=INSN@EMI
+ //INSN@EXT EXEC ST2CMP,MEMBER=INSN@EXT
+ //INSN@MOD EXEC ST2CMP,MEMBER=INSN@MOD
+ //INSN@OPI EXEC ST2CMP,MEMBER=INSN@OPI
+ //INSN@OUT EXEC ST2CMP,MEMBER=INSN@OUT
+ //INSN@REC EXEC ST2CMP,MEMBER=INSN@REC
+ //INTEGRAT EXEC ST2CMP,MEMBER=INTEGRAT
+ //JUMP     EXEC ST2CMP,MEMBER=JUMP
+ //LANGHOOK EXEC ST2CMP,MEMBER=LANGHOOK
+ //LCM      EXEC ST2CMP,MEMBER=LCM
+ //LINE@MAP EXEC ST2CMP,MEMBER=LINE@MAP
+ //LISTS    EXEC ST2CMP,MEMBER=LISTS
+ //LOCAL@AL EXEC ST2CMP,MEMBER=LOCAL@AL
+ //LOOP@INI EXEC ST2CMP,MEMBER=LOOP@INI
+ //LOOP@UNR EXEC ST2CMP,MEMBER=LOOP@UNR
+ //LOOP@UNS EXEC ST2CMP,MEMBER=LOOP@UNS
+ //LOOP     EXEC ST2CMP,MEMBER=LOOP
+ //MKDEPS   EXEC ST2CMP,MEMBER=MKDEPS
+ //OPTABS   EXEC ST2CMP,MEMBER=OPTABS
+ //OPTIONS  EXEC ST2CMP,MEMBER=OPTIONS
+ //OPTS     EXEC ST2CMP,MEMBER=OPTS
+ //PARAMS   EXEC ST2CMP,MEMBER=PARAMS
+ //POSTRELO EXEC ST2CMP,MEMBER=POSTRELO
+ //PREDICT  EXEC ST2CMP,MEMBER=PREDICT
+ //PREFIX   EXEC ST2CMP,MEMBER=PREFIX
+ //PRETTY@P EXEC ST2CMP,MEMBER=PRETTY@P
+ //PRINT@RT EXEC ST2CMP,MEMBER=PRINT@RT
+ //PRINT@TR EXEC ST2CMP,MEMBER=PRINT@TR
+ //PROFILE  EXEC ST2CMP,MEMBER=PROFILE
+ //RA@BUILD EXEC ST2CMP,MEMBER=RA@BUILD
+ //RA@COLOR EXEC ST2CMP,MEMBER=RA@COLOR
+ //RA@DEBUG EXEC ST2CMP,MEMBER=RA@DEBUG
+ //RA@REWRI EXEC ST2CMP,MEMBER=RA@REWRI
+ //RA       EXEC ST2CMP,MEMBER=RA
+ //REAL     EXEC ST2CMP,MEMBER=REAL
+ //RECOG    EXEC ST2CMP,MEMBER=RECOG
+ //REG@STAC EXEC ST2CMP,MEMBER=REG@STAC
+ //REGCLASS EXEC ST2CMP,MEMBER=REGCLASS
+ //REGMOVE  EXEC ST2CMP,MEMBER=REGMOVE
+ //REGRENAM EXEC ST2CMP,MEMBER=REGRENAM
+ //RELOAD   EXEC ST2CMP,MEMBER=RELOAD
+ //RELOAD1  EXEC ST2CMP,MEMBER=RELOAD1
+ //RESOURCE EXEC ST2CMP,MEMBER=RESOURCE
+ //RTL@ERRO EXEC ST2CMP,MEMBER=RTL@ERRO
+ //RTL      EXEC ST2CMP,MEMBER=RTL
+ //RTLANAL  EXEC ST2CMP,MEMBER=RTLANAL
+ //SBITMAP  EXEC ST2CMP,MEMBER=SBITMAP
+ //SDBOUT   EXEC ST2CMP,MEMBER=SDBOUT
+ //SIBCALL  EXEC ST2CMP,MEMBER=SIBCALL
+ //SIMPLIFY EXEC ST2CMP,MEMBER=SIMPLIFY
+ //SREAL    EXEC ST2CMP,MEMBER=SREAL
+ //STMT     EXEC ST2CMP,MEMBER=STMT
+ //STOR@LAY EXEC ST2CMP,MEMBER=STOR@LAY
+ //STRINGPO EXEC ST2CMP,MEMBER=STRINGPO
+ //STUB@OBJ EXEC ST2CMP,MEMBER=STUB@OBJ
+ //TARGHOOK EXEC ST2CMP,MEMBER=TARGHOOK
+ //TIMEVAR  EXEC ST2CMP,MEMBER=TIMEVAR
+ //TOPLEV   EXEC ST2CMP,MEMBER=TOPLEV
+ //TRACER   EXEC ST2CMP,MEMBER=TRACER
+ //TREE@DUM EXEC ST2CMP,MEMBER=TREE@DUM
+ //TREE@INL EXEC ST2CMP,MEMBER=TREE@INL
+ //TREE@OPT EXEC ST2CMP,MEMBER=TREE@OPT
+ //TREE     EXEC ST2CMP,MEMBER=TREE
+ //UNROLL   EXEC ST2CMP,MEMBER=UNROLL
+ //VALUE@PR EXEC ST2CMP,MEMBER=VALUE@PR
+ //VARASM   EXEC ST2CMP,MEMBER=VARASM
+ //VARRAY   EXEC ST2CMP,MEMBER=VARRAY
+ //VERSION  EXEC ST2CMP,MEMBER=VERSION
+ //WEB      EXEC ST2CMP,MEMBER=WEB
+ //GCC      EXEC ST2CMP,MEMBER=GCC
+ //GCCSPEC  EXEC ST2CMP,MEMBER=GCCSPEC
+ //CPPSPEC  EXEC ST2CMP,MEMBER=CPPSPEC
+ //ALLOCA   EXEC ST2CMP,MEMBER=ALLOCA
+ //ARGV     EXEC ST2CMP,MEMBER=ARGV
+ //ASPRINTF EXEC ST2CMP,MEMBER=ASPRINTF
+ //BASENAME EXEC ST2CMP,MEMBER=BASENAME
+ //BCMP     EXEC ST2CMP,MEMBER=BCMP
+ //BCOPY    EXEC ST2CMP,MEMBER=BCOPY
+ //BZERO    EXEC ST2CMP,MEMBER=BZERO
+ //
Index: gcc/gcc/stage2c.jcl
diff -c /dev/null gcc/gcc/stage2c.jcl:1.10
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage2c.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,438 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST2CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //ST2PDP   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ // COS1='-Os -S -ansi -pedantic-errors',
+ // COS2='-DUSE_MEMMGR -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DDNAME=SYSLIN
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //PDPASM   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER=''
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..TMPLOAD(&MODULE),DISP=SHR
+ //         PEND
+ //*
+ //CONCAT   EXEC ST2CMP,MEMBER=CONCAT
+ //CP@DEMAN EXEC ST2CMP,MEMBER=CP@DEMAN
+ //CP@DEMIN EXEC ST2CMP,MEMBER=CP@DEMIN
+ //CPLUS@DE EXEC ST2CMP,MEMBER=CPLUS@DE
+ //DYN@STRI EXEC ST2CMP,MEMBER=DYN@STRI
+ //FDMATCH  EXEC ST2CMP,MEMBER=FDMATCH
+ //FFS      EXEC ST2CMP,MEMBER=FFS
+ //FIBHEAP  EXEC ST2CMP,MEMBER=FIBHEAP
+ //FLOATFOR EXEC ST2CMP,MEMBER=FLOATFOR
+ //FNMATCH  EXEC ST2CMP,MEMBER=FNMATCH
+ //GETCWD   EXEC ST2CMP,MEMBER=GETCWD
+ //GETOPT   EXEC ST2CMP,MEMBER=GETOPT
+ //GETOPT1  EXEC ST2CMP,MEMBER=GETOPT1
+ //GETPAGES EXEC ST2CMP,MEMBER=GETPAGES
+ //GETPWD   EXEC ST2CMP,MEMBER=GETPWD
+ //GETRUNTI EXEC ST2CMP,MEMBER=GETRUNTI
+ //HASHTAB  EXEC ST2CMP,MEMBER=HASHTAB
+ //HEX      EXEC ST2CMP,MEMBER=HEX
+ //INDEX    EXEC ST2CMP,MEMBER=INDEX
+ //INSQUE   EXEC ST2CMP,MEMBER=INSQUE
+ //LBASENAM EXEC ST2CMP,MEMBER=LBASENAM
+ //LREALPAT EXEC ST2CMP,MEMBER=LREALPAT
+ //MAKE@REL EXEC ST2CMP,MEMBER=MAKE@REL
+ //MAKE@TEM EXEC ST2CMP,MEMBER=MAKE@TEM
+ //MD5      EXEC ST2CMP,MEMBER=MD5
+ //MEMPCPY  EXEC ST2CMP,MEMBER=MEMPCPY
+ //MKSTEMPS EXEC ST2CMP,MEMBER=MKSTEMPS
+ //OBJALLOC EXEC ST2CMP,MEMBER=OBJALLOC
+ //OBSTACK  EXEC ST2CMP,MEMBER=OBSTACK
+ //PARTITIO EXEC ST2CMP,MEMBER=PARTITIO
+ //PHYSMEM  EXEC ST2CMP,MEMBER=PHYSMEM
+ //PUTENV   EXEC ST2CMP,MEMBER=PUTENV
+ //RANDOM   EXEC ST2CMP,MEMBER=RANDOM
+ //RINDEX   EXEC ST2CMP,MEMBER=RINDEX
+ //SAFE@CTY EXEC ST2CMP,MEMBER=SAFE@CTY
+ //SETENV   EXEC ST2CMP,MEMBER=SETENV
+ //SNPRINTF EXEC ST2CMP,MEMBER=SNPRINTF
+ //SORT     EXEC ST2CMP,MEMBER=SORT
+ //SPACES   EXEC ST2CMP,MEMBER=SPACES
+ //SPLAY@TR EXEC ST2CMP,MEMBER=SPLAY@TR
+ //STPCPY   EXEC ST2CMP,MEMBER=STPCPY
+ //STPNCPY  EXEC ST2CMP,MEMBER=STPNCPY
+ //STRCASEC EXEC ST2CMP,MEMBER=STRCASEC
+ //STRDUP   EXEC ST2CMP,MEMBER=STRDUP
+ //STRNCASE EXEC ST2CMP,MEMBER=STRNCASE
+ //STRSIGNA EXEC ST2CMP,MEMBER=STRSIGNA
+ //TERNARY  EXEC ST2CMP,MEMBER=TERNARY
+ //VASPRINT EXEC ST2CMP,MEMBER=VASPRINT
+ //VPRINTF  EXEC ST2CMP,MEMBER=VPRINTF
+ //VSNPRINT EXEC ST2CMP,MEMBER=VSNPRINT
+ //WAITPID  EXEC ST2CMP,MEMBER=WAITPID
+ //XATEXIT  EXEC ST2CMP,MEMBER=XATEXIT
+ //XEXIT    EXEC ST2CMP,MEMBER=XEXIT
+ //XMALLOC  EXEC ST2CMP,MEMBER=XMALLOC
+ //XMEMDUP  EXEC ST2CMP,MEMBER=XMEMDUP
+ //XSTRDUP  EXEC ST2CMP,MEMBER=XSTRDUP
+ //XSTRERRO EXEC ST2CMP,MEMBER=XSTRERRO
+ //UNIXIO   EXEC ST2CMP,MEMBER=UNIXIO
+ //I370     EXEC ST2CMP,MEMBER=I370
+ //I370@C   EXEC ST2CMP,MEMBER=I370@C
+ //STDIO    EXEC ST2PDP,MEMBER=STDIO
+ //STDLIB   EXEC ST2PDP,MEMBER=STDLIB
+ //CTYPE    EXEC ST2PDP,MEMBER=CTYPE
+ //STRING   EXEC ST2PDP,MEMBER=STRING
+ //TIME     EXEC ST2PDP,MEMBER=TIME
+ //ERRNO    EXEC ST2PDP,MEMBER=ERRNO
+ //ASSERT   EXEC ST2PDP,MEMBER=ASSERT
+ //LOCALE   EXEC ST2PDP,MEMBER=LOCALE
+ //MATH     EXEC ST2PDP,MEMBER=MATH
+ //SETJMP   EXEC ST2PDP,MEMBER=SETJMP
+ //SIGNAL   EXEC ST2PDP,MEMBER=SIGNAL
+ //START    EXEC ST2PDP,MEMBER=START
+ //@@MEMMGR EXEC ST2PDP,MEMBER=@@MEMMGR
+ //*
+ //MVSSTART EXEC PDPASM,MEMBER=MVSSTART
+ //MVSSUPA  EXEC PDPASM,MEMBER=MVSSUPA
+ //*
+ //DOLINK   EXEC LINK,COND=(4,LT),MODULE='STAGE2'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(ALIAS)
+  INCLUDE SYSLIB(ALLOC@PO)
+  INCLUDE SYSLIB(ATTRIBS)
+  INCLUDE SYSLIB(BB@REORD)
+  INCLUDE SYSLIB(BITMAP)
+  INCLUDE SYSLIB(BT@LOAD)
+  INCLUDE SYSLIB(BUILTINS)
+  INCLUDE SYSLIB(C@AUX@IN)
+  INCLUDE SYSLIB(C@COMMON)
+  INCLUDE SYSLIB(C@CONVER)
+  INCLUDE SYSLIB(C@CPPBUI)
+  INCLUDE SYSLIB(C@DECL)
+  INCLUDE SYSLIB(C@DUMP)
+  INCLUDE SYSLIB(C@ERRORS)
+  INCLUDE SYSLIB(C@FORMAT)
+  INCLUDE SYSLIB(C@INCPAT)
+  INCLUDE SYSLIB(C@LANG)
+  INCLUDE SYSLIB(C@LEX)
+  INCLUDE SYSLIB(C@OBJC@C)
+  INCLUDE SYSLIB(C@OPTS)
+  INCLUDE SYSLIB(C@PARSE)
+  INCLUDE SYSLIB(C@PCH)
+  INCLUDE SYSLIB(C@PPOUTP)
+  INCLUDE SYSLIB(C@PRAGMA)
+  INCLUDE SYSLIB(C@PRETTY)
+  INCLUDE SYSLIB(C@SEMANT)
+  INCLUDE SYSLIB(C@TYPECK)
+  INCLUDE SYSLIB(CALLER@S)
+  INCLUDE SYSLIB(CALLS)
+  INCLUDE SYSLIB(CFG)
+  INCLUDE SYSLIB(CFGANAL)
+  INCLUDE SYSLIB(CFGBUILD)
+  INCLUDE SYSLIB(CFGCLEAN)
+  INCLUDE SYSLIB(CFGHOOKS)
+  INCLUDE SYSLIB(CFGLAYOU)
+  INCLUDE SYSLIB(CFGLOOP)
+  INCLUDE SYSLIB(CFGLOOPA)
+  INCLUDE SYSLIB(CFGLOOPM)
+  INCLUDE SYSLIB(CFGRTL)
+  INCLUDE SYSLIB(CGRAPH)
+  INCLUDE SYSLIB(CGRAPHUN)
+  INCLUDE SYSLIB(COMBINE)
+  INCLUDE SYSLIB(CONFLICT)
+  INCLUDE SYSLIB(CONVERT)
+  INCLUDE SYSLIB(COVERAGE)
+  INCLUDE SYSLIB(CPPCHARS)
+  INCLUDE SYSLIB(CPPDEFAU)
+  INCLUDE SYSLIB(CPPERROR)
+  INCLUDE SYSLIB(CPPEXP)
+  INCLUDE SYSLIB(CPPFILES)
+  INCLUDE SYSLIB(CPPHASH)
+  INCLUDE SYSLIB(CPPINIT)
+  INCLUDE SYSLIB(CPPLEX)
+  INCLUDE SYSLIB(CPPLIB)
+  INCLUDE SYSLIB(CPPMACRO)
+  INCLUDE SYSLIB(CPPPCH)
+  INCLUDE SYSLIB(CPPTRAD)
+  INCLUDE SYSLIB(CSE)
+  INCLUDE SYSLIB(CSELIB)
+  INCLUDE SYSLIB(DBXOUT)
+  INCLUDE SYSLIB(DEBUG)
+  INCLUDE SYSLIB(DF)
+  INCLUDE SYSLIB(DIAGNOST)
+  INCLUDE SYSLIB(DOJUMP)
+  INCLUDE SYSLIB(DOMINANC)
+  INCLUDE SYSLIB(DWARF2AS)
+  INCLUDE SYSLIB(DWARF2OU)
+  INCLUDE SYSLIB(EMIT@RTL)
+  INCLUDE SYSLIB(ET@FORES)
+  INCLUDE SYSLIB(EXCEPT)
+  INCLUDE SYSLIB(EXPLOW)
+  INCLUDE SYSLIB(EXPMED)
+  INCLUDE SYSLIB(EXPR)
+  INCLUDE SYSLIB(FINAL)
+  INCLUDE SYSLIB(FLOW)
+  INCLUDE SYSLIB(FOLD@CON)
+  INCLUDE SYSLIB(FUNCTION)
+  INCLUDE SYSLIB(GCSE)
+  INCLUDE SYSLIB(GENRTL)
+  INCLUDE SYSLIB(GGC@COMM)
+  INCLUDE SYSLIB(GGC@PAGE)
+  INCLUDE SYSLIB(GLOBAL)
+  INCLUDE SYSLIB(GRAPH)
+  INCLUDE SYSLIB(GTYPE@DE)
+  INCLUDE SYSLIB(HAIFA@SC)
+  INCLUDE SYSLIB(HASHTABL)
+  INCLUDE SYSLIB(HOOKS)
+  INCLUDE SYSLIB(HOST@DEF)
+  INCLUDE SYSLIB(IFCVT)
+  INCLUDE SYSLIB(INSN@ATT)
+  INCLUDE SYSLIB(INSN@EMI)
+  INCLUDE SYSLIB(INSN@EXT)
+  INCLUDE SYSLIB(INSN@MOD)
+  INCLUDE SYSLIB(INSN@OPI)
+  INCLUDE SYSLIB(INSN@OUT)
+  INCLUDE SYSLIB(INSN@REC)
+  INCLUDE SYSLIB(INTEGRAT)
+  INCLUDE SYSLIB(JUMP)
+  INCLUDE SYSLIB(LANGHOOK)
+  INCLUDE SYSLIB(LCM)
+  INCLUDE SYSLIB(LINE@MAP)
+  INCLUDE SYSLIB(LISTS)
+  INCLUDE SYSLIB(LOCAL@AL)
+  INCLUDE SYSLIB(LOOP@INI)
+  INCLUDE SYSLIB(LOOP@UNR)
+  INCLUDE SYSLIB(LOOP@UNS)
+  INCLUDE SYSLIB(LOOP)
+  INCLUDE SYSLIB(MKDEPS)
+  INCLUDE SYSLIB(OPTABS)
+  INCLUDE SYSLIB(OPTIONS)
+  INCLUDE SYSLIB(OPTS)
+  INCLUDE SYSLIB(PARAMS)
+  INCLUDE SYSLIB(POSTRELO)
+  INCLUDE SYSLIB(PREDICT)
+  INCLUDE SYSLIB(PREFIX)
+  INCLUDE SYSLIB(PRETTY@P)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(PRINT@TR)
+  INCLUDE SYSLIB(PROFILE)
+  INCLUDE SYSLIB(RA@BUILD)
+  INCLUDE SYSLIB(RA@COLOR)
+  INCLUDE SYSLIB(RA@DEBUG)
+  INCLUDE SYSLIB(RA@REWRI)
+  INCLUDE SYSLIB(RA)
+  INCLUDE SYSLIB(REAL)
+  INCLUDE SYSLIB(RECOG)
+  INCLUDE SYSLIB(REG@STAC)
+  INCLUDE SYSLIB(REGCLASS)
+  INCLUDE SYSLIB(REGMOVE)
+  INCLUDE SYSLIB(REGRENAM)
+  INCLUDE SYSLIB(RELOAD)
+  INCLUDE SYSLIB(RELOAD1)
+  INCLUDE SYSLIB(RESOURCE)
+  INCLUDE SYSLIB(RTL@ERRO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(RTLANAL)
+  INCLUDE SYSLIB(SBITMAP)
+  INCLUDE SYSLIB(SDBOUT)
+  INCLUDE SYSLIB(SIBCALL)
+  INCLUDE SYSLIB(SIMPLIFY)
+  INCLUDE SYSLIB(SREAL)
+  INCLUDE SYSLIB(STMT)
+  INCLUDE SYSLIB(STOR@LAY)
+  INCLUDE SYSLIB(STRINGPO)
+  INCLUDE SYSLIB(STUB@OBJ)
+  INCLUDE SYSLIB(TARGHOOK)
+  INCLUDE SYSLIB(TIMEVAR)
+  INCLUDE SYSLIB(TOPLEV)
+  INCLUDE SYSLIB(TRACER)
+  INCLUDE SYSLIB(TREE@DUM)
+  INCLUDE SYSLIB(TREE@INL)
+  INCLUDE SYSLIB(TREE@OPT)
+  INCLUDE SYSLIB(TREE)
+  INCLUDE SYSLIB(UNROLL)
+  INCLUDE SYSLIB(VALUE@PR)
+  INCLUDE SYSLIB(VARASM)
+  INCLUDE SYSLIB(VARRAY)
+  INCLUDE SYSLIB(VERSION)
+  INCLUDE SYSLIB(WEB)
+  INCLUDE SYSLIB(GCC)
+  INCLUDE SYSLIB(GCCSPEC)
+  INCLUDE SYSLIB(CPPSPEC)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(ARGV)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(BASENAME)
+  INCLUDE SYSLIB(BCMP)
+  INCLUDE SYSLIB(BCOPY)
+  INCLUDE SYSLIB(BZERO)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(CP@DEMAN)
+  INCLUDE SYSLIB(CP@DEMIN)
+  INCLUDE SYSLIB(CPLUS@DE)
+  INCLUDE SYSLIB(DYN@STRI)
+  INCLUDE SYSLIB(FDMATCH)
+  INCLUDE SYSLIB(FFS)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(FLOATFOR)
+  INCLUDE SYSLIB(FNMATCH)
+  INCLUDE SYSLIB(GETCWD)
+  INCLUDE SYSLIB(GETOPT)
+  INCLUDE SYSLIB(GETOPT1)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(GETPWD)
+  INCLUDE SYSLIB(GETRUNTI)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(INDEX)
+  INCLUDE SYSLIB(INSQUE)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(LREALPAT)
+  INCLUDE SYSLIB(MAKE@REL)
+  INCLUDE SYSLIB(MAKE@TEM)
+  INCLUDE SYSLIB(MD5)
+  INCLUDE SYSLIB(MEMPCPY)
+  INCLUDE SYSLIB(MKSTEMPS)
+  INCLUDE SYSLIB(OBJALLOC)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(PHYSMEM)
+  INCLUDE SYSLIB(PUTENV)
+  INCLUDE SYSLIB(RANDOM)
+  INCLUDE SYSLIB(RINDEX)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SETENV)
+  INCLUDE SYSLIB(SNPRINTF)
+  INCLUDE SYSLIB(SORT)
+  INCLUDE SYSLIB(SPACES)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(STPCPY)
+  INCLUDE SYSLIB(STPNCPY)
+  INCLUDE SYSLIB(STRCASEC)
+  INCLUDE SYSLIB(STRDUP)
+  INCLUDE SYSLIB(STRNCASE)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(TERNARY)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(VPRINTF)
+  INCLUDE SYSLIB(VSNPRINT)
+  INCLUDE SYSLIB(WAITPID)
+  INCLUDE SYSLIB(XATEXIT)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XMEMDUP)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(UNIXIO)
+  INCLUDE SYSLIB(I370)
+  INCLUDE SYSLIB(I370@C)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(@@MEMMGR)
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(MVSSUPA)
+  ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/stage2d.jcl
diff -c /dev/null gcc/gcc/stage2d.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage2d.jcl	Wed Apr 15 23:24:17 2009
***************
*** 0 ****
--- 1,31 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //COMPARE  PROC GCCPREF='GCC',ONE='',TWO=''
+ //COMPR    EXEC PGM=IEBCOMPR
+ //SYSPRINT DD SYSOUT=*
+ //SYSUT1   DD DSN=&GCCPREF..&ONE,DISP=SHR
+ //SYSUT2   DD DSN=&GCCPREF..&TWO,DISP=SHR
+ //SYSIN    DD DUMMY
+ //         PEND
+ //*
+ //COPY     PROC GCCPREF='GCC'
+ //IEBCPY   EXEC PGM=IEBCOPY
+ //FROM     DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //TO       DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //*
+ //*
+ //CMP      EXEC COMPARE,ONE='S2',TWO='S'
+ //SYSIN    DD *
+  COMPARE TYPORG=PO
+ /*
+ //*
+ //CPY      EXEC COPY,COND=(4,LT)
+ //SYSIN    DD *
+  COPY OUTDD=TO,INDD=FROM
+  SELECT MEMBER=((STAGE1,GCC))
+ /*
+ //
Index: gcc/gcc/stage3a.jcl
diff -c /dev/null gcc/gcc/stage3a.jcl:1.8
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage3a.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,140 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //CREATE   PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1000,1000,44)),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //ST3CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //NEWNCAL  EXEC CREATE
+ //*
+ //ALIAS    EXEC ST3CMP,MEMBER=ALIAS
+ //ALLOC@PO EXEC ST3CMP,MEMBER=ALLOC@PO
+ //ATTRIBS  EXEC ST3CMP,MEMBER=ATTRIBS
+ //BB@REORD EXEC ST3CMP,MEMBER=BB@REORD
+ //BITMAP   EXEC ST3CMP,MEMBER=BITMAP
+ //BT@LOAD  EXEC ST3CMP,MEMBER=BT@LOAD
+ //BUILTINS EXEC ST3CMP,MEMBER=BUILTINS
+ //C@AUX@IN EXEC ST3CMP,MEMBER=C@AUX@IN
+ //C@COMMON EXEC ST3CMP,MEMBER=C@COMMON
+ //C@CONVER EXEC ST3CMP,MEMBER=C@CONVER
+ //C@CPPBUI EXEC ST3CMP,MEMBER=C@CPPBUI
+ //C@DECL   EXEC ST3CMP,MEMBER=C@DECL
+ //C@DUMP   EXEC ST3CMP,MEMBER=C@DUMP
+ //C@ERRORS EXEC ST3CMP,MEMBER=C@ERRORS
+ //C@FORMAT EXEC ST3CMP,MEMBER=C@FORMAT
+ //C@INCPAT EXEC ST3CMP,MEMBER=C@INCPAT
+ //C@LANG   EXEC ST3CMP,MEMBER=C@LANG
+ //C@LEX    EXEC ST3CMP,MEMBER=C@LEX
+ //C@OBJC@C EXEC ST3CMP,MEMBER=C@OBJC@C
+ //C@OPTS   EXEC ST3CMP,MEMBER=C@OPTS
+ //C@PARSE  EXEC ST3CMP,MEMBER=C@PARSE
+ //C@PCH    EXEC ST3CMP,MEMBER=C@PCH
+ //C@PPOUTP EXEC ST3CMP,MEMBER=C@PPOUTP
+ //C@PRAGMA EXEC ST3CMP,MEMBER=C@PRAGMA
+ //C@PRETTY EXEC ST3CMP,MEMBER=C@PRETTY
+ //C@SEMANT EXEC ST3CMP,MEMBER=C@SEMANT
+ //C@TYPECK EXEC ST3CMP,MEMBER=C@TYPECK
+ //CALLER@S EXEC ST3CMP,MEMBER=CALLER@S
+ //CALLS    EXEC ST3CMP,MEMBER=CALLS
+ //CFG      EXEC ST3CMP,MEMBER=CFG
+ //CFGANAL  EXEC ST3CMP,MEMBER=CFGANAL
+ //CFGBUILD EXEC ST3CMP,MEMBER=CFGBUILD
+ //CFGCLEAN EXEC ST3CMP,MEMBER=CFGCLEAN
+ //CFGHOOKS EXEC ST3CMP,MEMBER=CFGHOOKS
+ //CFGLAYOU EXEC ST3CMP,MEMBER=CFGLAYOU
+ //CFGLOOP  EXEC ST3CMP,MEMBER=CFGLOOP
+ //CFGLOOPA EXEC ST3CMP,MEMBER=CFGLOOPA
+ //CFGLOOPM EXEC ST3CMP,MEMBER=CFGLOOPM
+ //CFGRTL   EXEC ST3CMP,MEMBER=CFGRTL
+ //CGRAPH   EXEC ST3CMP,MEMBER=CGRAPH
+ //CGRAPHUN EXEC ST3CMP,MEMBER=CGRAPHUN
+ //COMBINE  EXEC ST3CMP,MEMBER=COMBINE
+ //CONFLICT EXEC ST3CMP,MEMBER=CONFLICT
+ //CONVERT  EXEC ST3CMP,MEMBER=CONVERT
+ //COVERAGE EXEC ST3CMP,MEMBER=COVERAGE
+ //CPPCHARS EXEC ST3CMP,MEMBER=CPPCHARS
+ //CPPDEFAU EXEC ST3CMP,MEMBER=CPPDEFAU
+ //CPPERROR EXEC ST3CMP,MEMBER=CPPERROR
+ //CPPEXP   EXEC ST3CMP,MEMBER=CPPEXP
+ //CPPFILES EXEC ST3CMP,MEMBER=CPPFILES
+ //CPPHASH  EXEC ST3CMP,MEMBER=CPPHASH
+ //CPPINIT  EXEC ST3CMP,MEMBER=CPPINIT
+ //CPPLEX   EXEC ST3CMP,MEMBER=CPPLEX
+ //CPPLIB   EXEC ST3CMP,MEMBER=CPPLIB
+ //CPPMACRO EXEC ST3CMP,MEMBER=CPPMACRO
+ //CPPPCH   EXEC ST3CMP,MEMBER=CPPPCH
+ //CPPTRAD  EXEC ST3CMP,MEMBER=CPPTRAD
+ //CSE      EXEC ST3CMP,MEMBER=CSE
+ //CSELIB   EXEC ST3CMP,MEMBER=CSELIB
+ //DBXOUT   EXEC ST3CMP,MEMBER=DBXOUT
+ //DEBUG    EXEC ST3CMP,MEMBER=DEBUG
+ //DF       EXEC ST3CMP,MEMBER=DF
+ //DIAGNOST EXEC ST3CMP,MEMBER=DIAGNOST
+ //DOJUMP   EXEC ST3CMP,MEMBER=DOJUMP
+ //DOMINANC EXEC ST3CMP,MEMBER=DOMINANC
+ //DWARF2AS EXEC ST3CMP,MEMBER=DWARF2AS
+ //DWARF2OU EXEC ST3CMP,MEMBER=DWARF2OU
+ //EMIT@RTL EXEC ST3CMP,MEMBER=EMIT@RTL
+ //ET@FORES EXEC ST3CMP,MEMBER=ET@FORES
+ //EXCEPT   EXEC ST3CMP,MEMBER=EXCEPT
+ //EXPLOW   EXEC ST3CMP,MEMBER=EXPLOW
+ //EXPMED   EXEC ST3CMP,MEMBER=EXPMED
+ //EXPR     EXEC ST3CMP,MEMBER=EXPR
+ //FINAL    EXEC ST3CMP,MEMBER=FINAL
+ //FLOW     EXEC ST3CMP,MEMBER=FLOW
+ //FOLD@CON EXEC ST3CMP,MEMBER=FOLD@CON
+ //FUNCTION EXEC ST3CMP,MEMBER=FUNCTION
+ //GCSE     EXEC ST3CMP,MEMBER=GCSE
+ //GENRTL   EXEC ST3CMP,MEMBER=GENRTL
+ //GGC@COMM EXEC ST3CMP,MEMBER=GGC@COMM
+ //GGC@PAGE EXEC ST3CMP,MEMBER=GGC@PAGE
+ //GLOBAL   EXEC ST3CMP,MEMBER=GLOBAL
+ //GRAPH    EXEC ST3CMP,MEMBER=GRAPH
+ //GTYPE@DE EXEC ST3CMP,MEMBER=GTYPE@DE
+ //
Index: gcc/gcc/stage3b.jcl
diff -c /dev/null gcc/gcc/stage3b.jcl:1.8
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage3b.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,128 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST3CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //HAIFA@SC EXEC ST3CMP,MEMBER=HAIFA@SC
+ //HASHTABL EXEC ST3CMP,MEMBER=HASHTABL
+ //HOOKS    EXEC ST3CMP,MEMBER=HOOKS
+ //HOST@DEF EXEC ST3CMP,MEMBER=HOST@DEF
+ //IFCVT    EXEC ST3CMP,MEMBER=IFCVT
+ //INSN@ATT EXEC ST3CMP,MEMBER=INSN@ATT
+ //INSN@EMI EXEC ST3CMP,MEMBER=INSN@EMI
+ //INSN@EXT EXEC ST3CMP,MEMBER=INSN@EXT
+ //INSN@MOD EXEC ST3CMP,MEMBER=INSN@MOD
+ //INSN@OPI EXEC ST3CMP,MEMBER=INSN@OPI
+ //INSN@OUT EXEC ST3CMP,MEMBER=INSN@OUT
+ //INSN@REC EXEC ST3CMP,MEMBER=INSN@REC
+ //INTEGRAT EXEC ST3CMP,MEMBER=INTEGRAT
+ //JUMP     EXEC ST3CMP,MEMBER=JUMP
+ //LANGHOOK EXEC ST3CMP,MEMBER=LANGHOOK
+ //LCM      EXEC ST3CMP,MEMBER=LCM
+ //LINE@MAP EXEC ST3CMP,MEMBER=LINE@MAP
+ //LISTS    EXEC ST3CMP,MEMBER=LISTS
+ //LOCAL@AL EXEC ST3CMP,MEMBER=LOCAL@AL
+ //LOOP@INI EXEC ST3CMP,MEMBER=LOOP@INI
+ //LOOP@UNR EXEC ST3CMP,MEMBER=LOOP@UNR
+ //LOOP@UNS EXEC ST3CMP,MEMBER=LOOP@UNS
+ //LOOP     EXEC ST3CMP,MEMBER=LOOP
+ //MKDEPS   EXEC ST3CMP,MEMBER=MKDEPS
+ //OPTABS   EXEC ST3CMP,MEMBER=OPTABS
+ //OPTIONS  EXEC ST3CMP,MEMBER=OPTIONS
+ //OPTS     EXEC ST3CMP,MEMBER=OPTS
+ //PARAMS   EXEC ST3CMP,MEMBER=PARAMS
+ //POSTRELO EXEC ST3CMP,MEMBER=POSTRELO
+ //PREDICT  EXEC ST3CMP,MEMBER=PREDICT
+ //PREFIX   EXEC ST3CMP,MEMBER=PREFIX
+ //PRETTY@P EXEC ST3CMP,MEMBER=PRETTY@P
+ //PRINT@RT EXEC ST3CMP,MEMBER=PRINT@RT
+ //PRINT@TR EXEC ST3CMP,MEMBER=PRINT@TR
+ //PROFILE  EXEC ST3CMP,MEMBER=PROFILE
+ //RA@BUILD EXEC ST3CMP,MEMBER=RA@BUILD
+ //RA@COLOR EXEC ST3CMP,MEMBER=RA@COLOR
+ //RA@DEBUG EXEC ST3CMP,MEMBER=RA@DEBUG
+ //RA@REWRI EXEC ST3CMP,MEMBER=RA@REWRI
+ //RA       EXEC ST3CMP,MEMBER=RA
+ //REAL     EXEC ST3CMP,MEMBER=REAL
+ //RECOG    EXEC ST3CMP,MEMBER=RECOG
+ //REG@STAC EXEC ST3CMP,MEMBER=REG@STAC
+ //REGCLASS EXEC ST3CMP,MEMBER=REGCLASS
+ //REGMOVE  EXEC ST3CMP,MEMBER=REGMOVE
+ //REGRENAM EXEC ST3CMP,MEMBER=REGRENAM
+ //RELOAD   EXEC ST3CMP,MEMBER=RELOAD
+ //RELOAD1  EXEC ST3CMP,MEMBER=RELOAD1
+ //RESOURCE EXEC ST3CMP,MEMBER=RESOURCE
+ //RTL@ERRO EXEC ST3CMP,MEMBER=RTL@ERRO
+ //RTL      EXEC ST3CMP,MEMBER=RTL
+ //RTLANAL  EXEC ST3CMP,MEMBER=RTLANAL
+ //SBITMAP  EXEC ST3CMP,MEMBER=SBITMAP
+ //SDBOUT   EXEC ST3CMP,MEMBER=SDBOUT
+ //SIBCALL  EXEC ST3CMP,MEMBER=SIBCALL
+ //SIMPLIFY EXEC ST3CMP,MEMBER=SIMPLIFY
+ //SREAL    EXEC ST3CMP,MEMBER=SREAL
+ //STMT     EXEC ST3CMP,MEMBER=STMT
+ //STOR@LAY EXEC ST3CMP,MEMBER=STOR@LAY
+ //STRINGPO EXEC ST3CMP,MEMBER=STRINGPO
+ //STUB@OBJ EXEC ST3CMP,MEMBER=STUB@OBJ
+ //TARGHOOK EXEC ST3CMP,MEMBER=TARGHOOK
+ //TIMEVAR  EXEC ST3CMP,MEMBER=TIMEVAR
+ //TOPLEV   EXEC ST3CMP,MEMBER=TOPLEV
+ //TRACER   EXEC ST3CMP,MEMBER=TRACER
+ //TREE@DUM EXEC ST3CMP,MEMBER=TREE@DUM
+ //TREE@INL EXEC ST3CMP,MEMBER=TREE@INL
+ //TREE@OPT EXEC ST3CMP,MEMBER=TREE@OPT
+ //TREE     EXEC ST3CMP,MEMBER=TREE
+ //UNROLL   EXEC ST3CMP,MEMBER=UNROLL
+ //VALUE@PR EXEC ST3CMP,MEMBER=VALUE@PR
+ //VARASM   EXEC ST3CMP,MEMBER=VARASM
+ //VARRAY   EXEC ST3CMP,MEMBER=VARRAY
+ //VERSION  EXEC ST3CMP,MEMBER=VERSION
+ //WEB      EXEC ST3CMP,MEMBER=WEB
+ //GCC      EXEC ST3CMP,MEMBER=GCC
+ //GCCSPEC  EXEC ST3CMP,MEMBER=GCCSPEC
+ //CPPSPEC  EXEC ST3CMP,MEMBER=CPPSPEC
+ //ALLOCA   EXEC ST3CMP,MEMBER=ALLOCA
+ //ARGV     EXEC ST3CMP,MEMBER=ARGV
+ //ASPRINTF EXEC ST3CMP,MEMBER=ASPRINTF
+ //BASENAME EXEC ST3CMP,MEMBER=BASENAME
+ //BCMP     EXEC ST3CMP,MEMBER=BCMP
+ //BCOPY    EXEC ST3CMP,MEMBER=BCOPY
+ //BZERO    EXEC ST3CMP,MEMBER=BZERO
+ //
Index: gcc/gcc/stage3c.jcl
diff -c /dev/null gcc/gcc/stage3c.jcl:1.9
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage3c.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,455 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST3CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //ST3PDP   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ // COS1='-Os -S -ansi -pedantic-errors',
+ // COS2='-DUSE_MEMMGR -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //PDPASM   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER=''
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..LINKLIB(&MODULE),DISP=SHR
+ //         PEND
+ //*
+ //COMPARE  PROC GCCPREF='GCC',ONE='',TWO=''
+ //COMPR    EXEC PGM=IEBCOMPR
+ //SYSPRINT DD SYSOUT=*
+ //SYSUT1   DD DSN=&GCCPREF..&ONE,DISP=SHR
+ //SYSUT2   DD DSN=&GCCPREF..&TWO,DISP=SHR
+ //SYSIN    DD DUMMY
+ //         PEND
+ //*
+ //CONCAT   EXEC ST3CMP,MEMBER=CONCAT
+ //CP@DEMAN EXEC ST3CMP,MEMBER=CP@DEMAN
+ //CP@DEMIN EXEC ST3CMP,MEMBER=CP@DEMIN
+ //CPLUS@DE EXEC ST3CMP,MEMBER=CPLUS@DE
+ //DYN@STRI EXEC ST3CMP,MEMBER=DYN@STRI
+ //FDMATCH  EXEC ST3CMP,MEMBER=FDMATCH
+ //FFS      EXEC ST3CMP,MEMBER=FFS
+ //FIBHEAP  EXEC ST3CMP,MEMBER=FIBHEAP
+ //FLOATFOR EXEC ST3CMP,MEMBER=FLOATFOR
+ //FNMATCH  EXEC ST3CMP,MEMBER=FNMATCH
+ //GETCWD   EXEC ST3CMP,MEMBER=GETCWD
+ //GETOPT   EXEC ST3CMP,MEMBER=GETOPT
+ //GETOPT1  EXEC ST3CMP,MEMBER=GETOPT1
+ //GETPAGES EXEC ST3CMP,MEMBER=GETPAGES
+ //GETPWD   EXEC ST3CMP,MEMBER=GETPWD
+ //GETRUNTI EXEC ST3CMP,MEMBER=GETRUNTI
+ //HASHTAB  EXEC ST3CMP,MEMBER=HASHTAB
+ //HEX      EXEC ST3CMP,MEMBER=HEX
+ //INDEX    EXEC ST3CMP,MEMBER=INDEX
+ //INSQUE   EXEC ST3CMP,MEMBER=INSQUE
+ //LBASENAM EXEC ST3CMP,MEMBER=LBASENAM
+ //LREALPAT EXEC ST3CMP,MEMBER=LREALPAT
+ //MAKE@REL EXEC ST3CMP,MEMBER=MAKE@REL
+ //MAKE@TEM EXEC ST3CMP,MEMBER=MAKE@TEM
+ //MD5      EXEC ST3CMP,MEMBER=MD5
+ //MEMPCPY  EXEC ST3CMP,MEMBER=MEMPCPY
+ //MKSTEMPS EXEC ST3CMP,MEMBER=MKSTEMPS
+ //OBJALLOC EXEC ST3CMP,MEMBER=OBJALLOC
+ //OBSTACK  EXEC ST3CMP,MEMBER=OBSTACK
+ //PARTITIO EXEC ST3CMP,MEMBER=PARTITIO
+ //PHYSMEM  EXEC ST3CMP,MEMBER=PHYSMEM
+ //PUTENV   EXEC ST3CMP,MEMBER=PUTENV
+ //RANDOM   EXEC ST3CMP,MEMBER=RANDOM
+ //RINDEX   EXEC ST3CMP,MEMBER=RINDEX
+ //SAFE@CTY EXEC ST3CMP,MEMBER=SAFE@CTY
+ //SETENV   EXEC ST3CMP,MEMBER=SETENV
+ //SNPRINTF EXEC ST3CMP,MEMBER=SNPRINTF
+ //SORT     EXEC ST3CMP,MEMBER=SORT
+ //SPACES   EXEC ST3CMP,MEMBER=SPACES
+ //SPLAY@TR EXEC ST3CMP,MEMBER=SPLAY@TR
+ //STPCPY   EXEC ST3CMP,MEMBER=STPCPY
+ //STPNCPY  EXEC ST3CMP,MEMBER=STPNCPY
+ //STRCASEC EXEC ST3CMP,MEMBER=STRCASEC
+ //STRDUP   EXEC ST3CMP,MEMBER=STRDUP
+ //STRNCASE EXEC ST3CMP,MEMBER=STRNCASE
+ //STRSIGNA EXEC ST3CMP,MEMBER=STRSIGNA
+ //TERNARY  EXEC ST3CMP,MEMBER=TERNARY
+ //VASPRINT EXEC ST3CMP,MEMBER=VASPRINT
+ //VPRINTF  EXEC ST3CMP,MEMBER=VPRINTF
+ //VSNPRINT EXEC ST3CMP,MEMBER=VSNPRINT
+ //WAITPID  EXEC ST3CMP,MEMBER=WAITPID
+ //XATEXIT  EXEC ST3CMP,MEMBER=XATEXIT
+ //XEXIT    EXEC ST3CMP,MEMBER=XEXIT
+ //XMALLOC  EXEC ST3CMP,MEMBER=XMALLOC
+ //XMEMDUP  EXEC ST3CMP,MEMBER=XMEMDUP
+ //XSTRDUP  EXEC ST3CMP,MEMBER=XSTRDUP
+ //XSTRERRO EXEC ST3CMP,MEMBER=XSTRERRO
+ //UNIXIO   EXEC ST3CMP,MEMBER=UNIXIO
+ //I370     EXEC ST3CMP,MEMBER=I370
+ //I370@C   EXEC ST3CMP,MEMBER=I370@C
+ //STDIO    EXEC ST3PDP,MEMBER=STDIO
+ //STDLIB   EXEC ST3PDP,MEMBER=STDLIB
+ //CTYPE    EXEC ST3PDP,MEMBER=CTYPE
+ //STRING   EXEC ST3PDP,MEMBER=STRING
+ //TIME     EXEC ST3PDP,MEMBER=TIME
+ //ERRNO    EXEC ST3PDP,MEMBER=ERRNO
+ //ASSERT   EXEC ST3PDP,MEMBER=ASSERT
+ //LOCALE   EXEC ST3PDP,MEMBER=LOCALE
+ //MATH     EXEC ST3PDP,MEMBER=MATH
+ //SETJMP   EXEC ST3PDP,MEMBER=SETJMP
+ //SIGNAL   EXEC ST3PDP,MEMBER=SIGNAL
+ //START    EXEC ST3PDP,MEMBER=START
+ //@@MEMMGR EXEC ST3PDP,MEMBER=@@MEMMGR
+ //*
+ //MVSSTART EXEC PDPASM,MEMBER=MVSSTART
+ //MVSSUPA  EXEC PDPASM,MEMBER=MVSSUPA
+ //*
+ //CMP      EXEC COMPARE,ONE='S2',TWO='S3'
+ //SYSIN    DD *
+  COMPARE TYPORG=PO
+ /*
+ //*
+ //* If the STAGE3 assembler files don't match the STAGE2
+ //* assembler files, then failsafe by not producing a GCC
+ //* module, as there is a compiler bug somewhere.
+ //*
+ //DOLINK   EXEC LINK,COND=(4,LT),MODULE='GCC'
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(ALIAS)
+  INCLUDE SYSLIB(ALLOC@PO)
+  INCLUDE SYSLIB(ATTRIBS)
+  INCLUDE SYSLIB(BB@REORD)
+  INCLUDE SYSLIB(BITMAP)
+  INCLUDE SYSLIB(BT@LOAD)
+  INCLUDE SYSLIB(BUILTINS)
+  INCLUDE SYSLIB(C@AUX@IN)
+  INCLUDE SYSLIB(C@COMMON)
+  INCLUDE SYSLIB(C@CONVER)
+  INCLUDE SYSLIB(C@CPPBUI)
+  INCLUDE SYSLIB(C@DECL)
+  INCLUDE SYSLIB(C@DUMP)
+  INCLUDE SYSLIB(C@ERRORS)
+  INCLUDE SYSLIB(C@FORMAT)
+  INCLUDE SYSLIB(C@INCPAT)
+  INCLUDE SYSLIB(C@LANG)
+  INCLUDE SYSLIB(C@LEX)
+  INCLUDE SYSLIB(C@OBJC@C)
+  INCLUDE SYSLIB(C@OPTS)
+  INCLUDE SYSLIB(C@PARSE)
+  INCLUDE SYSLIB(C@PCH)
+  INCLUDE SYSLIB(C@PPOUTP)
+  INCLUDE SYSLIB(C@PRAGMA)
+  INCLUDE SYSLIB(C@PRETTY)
+  INCLUDE SYSLIB(C@SEMANT)
+  INCLUDE SYSLIB(C@TYPECK)
+  INCLUDE SYSLIB(CALLER@S)
+  INCLUDE SYSLIB(CALLS)
+  INCLUDE SYSLIB(CFG)
+  INCLUDE SYSLIB(CFGANAL)
+  INCLUDE SYSLIB(CFGBUILD)
+  INCLUDE SYSLIB(CFGCLEAN)
+  INCLUDE SYSLIB(CFGHOOKS)
+  INCLUDE SYSLIB(CFGLAYOU)
+  INCLUDE SYSLIB(CFGLOOP)
+  INCLUDE SYSLIB(CFGLOOPA)
+  INCLUDE SYSLIB(CFGLOOPM)
+  INCLUDE SYSLIB(CFGRTL)
+  INCLUDE SYSLIB(CGRAPH)
+  INCLUDE SYSLIB(CGRAPHUN)
+  INCLUDE SYSLIB(COMBINE)
+  INCLUDE SYSLIB(CONFLICT)
+  INCLUDE SYSLIB(CONVERT)
+  INCLUDE SYSLIB(COVERAGE)
+  INCLUDE SYSLIB(CPPCHARS)
+  INCLUDE SYSLIB(CPPDEFAU)
+  INCLUDE SYSLIB(CPPERROR)
+  INCLUDE SYSLIB(CPPEXP)
+  INCLUDE SYSLIB(CPPFILES)
+  INCLUDE SYSLIB(CPPHASH)
+  INCLUDE SYSLIB(CPPINIT)
+  INCLUDE SYSLIB(CPPLEX)
+  INCLUDE SYSLIB(CPPLIB)
+  INCLUDE SYSLIB(CPPMACRO)
+  INCLUDE SYSLIB(CPPPCH)
+  INCLUDE SYSLIB(CPPTRAD)
+  INCLUDE SYSLIB(CSE)
+  INCLUDE SYSLIB(CSELIB)
+  INCLUDE SYSLIB(DBXOUT)
+  INCLUDE SYSLIB(DEBUG)
+  INCLUDE SYSLIB(DF)
+  INCLUDE SYSLIB(DIAGNOST)
+  INCLUDE SYSLIB(DOJUMP)
+  INCLUDE SYSLIB(DOMINANC)
+  INCLUDE SYSLIB(DWARF2AS)
+  INCLUDE SYSLIB(DWARF2OU)
+  INCLUDE SYSLIB(EMIT@RTL)
+  INCLUDE SYSLIB(ET@FORES)
+  INCLUDE SYSLIB(EXCEPT)
+  INCLUDE SYSLIB(EXPLOW)
+  INCLUDE SYSLIB(EXPMED)
+  INCLUDE SYSLIB(EXPR)
+  INCLUDE SYSLIB(FINAL)
+  INCLUDE SYSLIB(FLOW)
+  INCLUDE SYSLIB(FOLD@CON)
+  INCLUDE SYSLIB(FUNCTION)
+  INCLUDE SYSLIB(GCSE)
+  INCLUDE SYSLIB(GENRTL)
+  INCLUDE SYSLIB(GGC@COMM)
+  INCLUDE SYSLIB(GGC@PAGE)
+  INCLUDE SYSLIB(GLOBAL)
+  INCLUDE SYSLIB(GRAPH)
+  INCLUDE SYSLIB(GTYPE@DE)
+  INCLUDE SYSLIB(HAIFA@SC)
+  INCLUDE SYSLIB(HASHTABL)
+  INCLUDE SYSLIB(HOOKS)
+  INCLUDE SYSLIB(HOST@DEF)
+  INCLUDE SYSLIB(IFCVT)
+  INCLUDE SYSLIB(INSN@ATT)
+  INCLUDE SYSLIB(INSN@EMI)
+  INCLUDE SYSLIB(INSN@EXT)
+  INCLUDE SYSLIB(INSN@MOD)
+  INCLUDE SYSLIB(INSN@OPI)
+  INCLUDE SYSLIB(INSN@OUT)
+  INCLUDE SYSLIB(INSN@REC)
+  INCLUDE SYSLIB(INTEGRAT)
+  INCLUDE SYSLIB(JUMP)
+  INCLUDE SYSLIB(LANGHOOK)
+  INCLUDE SYSLIB(LCM)
+  INCLUDE SYSLIB(LINE@MAP)
+  INCLUDE SYSLIB(LISTS)
+  INCLUDE SYSLIB(LOCAL@AL)
+  INCLUDE SYSLIB(LOOP@INI)
+  INCLUDE SYSLIB(LOOP@UNR)
+  INCLUDE SYSLIB(LOOP@UNS)
+  INCLUDE SYSLIB(LOOP)
+  INCLUDE SYSLIB(MKDEPS)
+  INCLUDE SYSLIB(OPTABS)
+  INCLUDE SYSLIB(OPTIONS)
+  INCLUDE SYSLIB(OPTS)
+  INCLUDE SYSLIB(PARAMS)
+  INCLUDE SYSLIB(POSTRELO)
+  INCLUDE SYSLIB(PREDICT)
+  INCLUDE SYSLIB(PREFIX)
+  INCLUDE SYSLIB(PRETTY@P)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(PRINT@TR)
+  INCLUDE SYSLIB(PROFILE)
+  INCLUDE SYSLIB(RA@BUILD)
+  INCLUDE SYSLIB(RA@COLOR)
+  INCLUDE SYSLIB(RA@DEBUG)
+  INCLUDE SYSLIB(RA@REWRI)
+  INCLUDE SYSLIB(RA)
+  INCLUDE SYSLIB(REAL)
+  INCLUDE SYSLIB(RECOG)
+  INCLUDE SYSLIB(REG@STAC)
+  INCLUDE SYSLIB(REGCLASS)
+  INCLUDE SYSLIB(REGMOVE)
+  INCLUDE SYSLIB(REGRENAM)
+  INCLUDE SYSLIB(RELOAD)
+  INCLUDE SYSLIB(RELOAD1)
+  INCLUDE SYSLIB(RESOURCE)
+  INCLUDE SYSLIB(RTL@ERRO)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(RTLANAL)
+  INCLUDE SYSLIB(SBITMAP)
+  INCLUDE SYSLIB(SDBOUT)
+  INCLUDE SYSLIB(SIBCALL)
+  INCLUDE SYSLIB(SIMPLIFY)
+  INCLUDE SYSLIB(SREAL)
+  INCLUDE SYSLIB(STMT)
+  INCLUDE SYSLIB(STOR@LAY)
+  INCLUDE SYSLIB(STRINGPO)
+  INCLUDE SYSLIB(STUB@OBJ)
+  INCLUDE SYSLIB(TARGHOOK)
+  INCLUDE SYSLIB(TIMEVAR)
+  INCLUDE SYSLIB(TOPLEV)
+  INCLUDE SYSLIB(TRACER)
+  INCLUDE SYSLIB(TREE@DUM)
+  INCLUDE SYSLIB(TREE@INL)
+  INCLUDE SYSLIB(TREE@OPT)
+  INCLUDE SYSLIB(TREE)
+  INCLUDE SYSLIB(UNROLL)
+  INCLUDE SYSLIB(VALUE@PR)
+  INCLUDE SYSLIB(VARASM)
+  INCLUDE SYSLIB(VARRAY)
+  INCLUDE SYSLIB(VERSION)
+  INCLUDE SYSLIB(WEB)
+  INCLUDE SYSLIB(GCC)
+  INCLUDE SYSLIB(GCCSPEC)
+  INCLUDE SYSLIB(CPPSPEC)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(ARGV)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(BASENAME)
+  INCLUDE SYSLIB(BCMP)
+  INCLUDE SYSLIB(BCOPY)
+  INCLUDE SYSLIB(BZERO)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(CP@DEMAN)
+  INCLUDE SYSLIB(CP@DEMIN)
+  INCLUDE SYSLIB(CPLUS@DE)
+  INCLUDE SYSLIB(DYN@STRI)
+  INCLUDE SYSLIB(FDMATCH)
+  INCLUDE SYSLIB(FFS)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(FLOATFOR)
+  INCLUDE SYSLIB(FNMATCH)
+  INCLUDE SYSLIB(GETCWD)
+  INCLUDE SYSLIB(GETOPT)
+  INCLUDE SYSLIB(GETOPT1)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(GETPWD)
+  INCLUDE SYSLIB(GETRUNTI)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(INDEX)
+  INCLUDE SYSLIB(INSQUE)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(LREALPAT)
+  INCLUDE SYSLIB(MAKE@REL)
+  INCLUDE SYSLIB(MAKE@TEM)
+  INCLUDE SYSLIB(MD5)
+  INCLUDE SYSLIB(MEMPCPY)
+  INCLUDE SYSLIB(MKSTEMPS)
+  INCLUDE SYSLIB(OBJALLOC)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(PHYSMEM)
+  INCLUDE SYSLIB(PUTENV)
+  INCLUDE SYSLIB(RANDOM)
+  INCLUDE SYSLIB(RINDEX)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SETENV)
+  INCLUDE SYSLIB(SNPRINTF)
+  INCLUDE SYSLIB(SORT)
+  INCLUDE SYSLIB(SPACES)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(STPCPY)
+  INCLUDE SYSLIB(STPNCPY)
+  INCLUDE SYSLIB(STRCASEC)
+  INCLUDE SYSLIB(STRDUP)
+  INCLUDE SYSLIB(STRNCASE)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(TERNARY)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(VPRINTF)
+  INCLUDE SYSLIB(VSNPRINT)
+  INCLUDE SYSLIB(WAITPID)
+  INCLUDE SYSLIB(XATEXIT)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XMEMDUP)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(UNIXIO)
+  INCLUDE SYSLIB(I370)
+  INCLUDE SYSLIB(I370@C)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(@@MEMMGR)
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(MVSSUPA)
+  ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/stage4.jcl
diff -c /dev/null gcc/gcc/stage4.jcl:1.5
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage4.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,285 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //PDPCMP   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ // COS1='-Os -S -ansi -pedantic-errors',
+ // COS2='-o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //            DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
+ //            SPACE=(6160,(500,500))
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&&TEMP,DISP=(OLD,DELETE)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLMOD  DD DSN=&PDPPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //PDPASM   PROC PDPPREF='PDPCLIB',MEMBER=''
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLMOD  DD DSN=&PDPPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //MVSSTART EXEC PDPASM,MEMBER=MVSSTART
+ //LKED.SYSIN DD *
+  ALIAS @@CRT0
+  ALIAS @@EXITA
+ /*
+ //MVSSUPA  EXEC PDPASM,MEMBER=MVSSUPA
+ //LKED.SYSIN DD *
+  ALIAS @@AOPEN
+  ALIAS @@AREAD
+  ALIAS @@AWRITE
+  ALIAS @@ACLOSE
+  ALIAS @@GETM
+  ALIAS @@FREEM
+  ALIAS @@GETCLK
+  ALIAS @@SAVER
+  ALIAS @@MANSTK
+  ALIAS @@LOADR
+  ALIAS @@SYSTEM
+  ALIAS @@IDCAMS
+  ALIAS @@DYNAL
+ /*
+ //*
+ //START    EXEC PDPCMP,MEMBER=START
+ //LKED.SYSIN DD *
+  ALIAS @@START
+  ALIAS @@EXIT
+ /*
+ //STDIO    EXEC PDPCMP,MEMBER=STDIO
+ //LKED.SYSIN DD *
+  ALIAS STDIN
+  ALIAS STDOUT
+  ALIAS STDERR
+  ALIAS PRINTF
+  ALIAS FPRINTF
+  ALIAS VFPRINTF
+  ALIAS FOPEN
+  ALIAS FCLOSE
+  ALIAS FPUTC
+  ALIAS REMOVE
+  ALIAS RENAME
+  ALIAS SPRINTF
+  ALIAS VSPRINTF
+  ALIAS UNGETC
+  ALIAS FGETC
+  ALIAS FSEEK
+  ALIAS FTELL
+  ALIAS FSETPOS
+  ALIAS FGETPOS
+  ALIAS REWIND
+  ALIAS CLEARERR
+  ALIAS PERROR
+  ALIAS SETVBUF
+  ALIAS SETBUF
+  ALIAS FREOPEN
+  ALIAS FFLUSH
+  ALIAS TMPNAM
+  ALIAS TMPFILE
+  ALIAS FSCANF
+  ALIAS SCANF
+  ALIAS SSCANF
+  ALIAS GETS
+  ALIAS PUTS
+  ALIAS GETC
+  ALIAS PUTC
+  ALIAS GETCHAR
+  ALIAS PUTCHAR
+  ALIAS FEOF
+  ALIAS FERROR
+  ALIAS FGETS
+  ALIAS FPUTS
+  ALIAS FWRITE
+  ALIAS FREAD
+  ALIAS @@USERFI
+ /*
+ //STDLIB   EXEC PDPCMP,MEMBER=STDLIB
+ //LKED.SYSIN DD *
+  ALIAS MALLOC
+  ALIAS CALLOC
+  ALIAS REALLOC
+  ALIAS FREE
+  ALIAS ABORT
+  ALIAS EXIT
+  ALIAS QSORT
+  ALIAS SRAND
+  ALIAS RAND
+  ALIAS ATOF
+  ALIAS STRTOD
+  ALIAS ATOI
+  ALIAS ATOL
+  ALIAS STRTOL
+  ALIAS STRTOUL
+  ALIAS MBLEN
+  ALIAS MBTOWC
+  ALIAS WCTOMB
+  ALIAS MBSTOWCS
+  ALIAS WCSTOMBS
+  ALIAS ABS
+  ALIAS DIV
+  ALIAS LABS
+  ALIAS LDIV
+  ALIAS ATEXIT
+  ALIAS GETENV
+  ALIAS SYSTEM
+  ALIAS BSEARCH
+  ALIAS @@USEREX
+ /*
+ //CTYPE    EXEC PDPCMP,MEMBER=CTYPE
+ //LKED.SYSIN DD *
+  ALIAS @@ISBUF
+  ALIAS @@TOLOW
+  ALIAS @@TOUP
+  ALIAS ISALNUM
+  ALIAS ISALPHA
+  ALIAS ISCNTRL
+  ALIAS ISDIGIT
+  ALIAS ISGRAPH
+  ALIAS ISLOWER
+  ALIAS ISPRINT
+  ALIAS ISPUNCT
+  ALIAS ISSPACE
+  ALIAS ISUPPER
+  ALIAS ISXDIGIT
+  ALIAS TOLOWER
+  ALIAS TOUPPER
+ /*
+ //STRING   EXEC PDPCMP,MEMBER=STRING
+ //LKED.SYSIN DD *
+  ALIAS MEMMOVE
+  ALIAS STRCPY
+  ALIAS STRNCPY
+  ALIAS STRCAT
+  ALIAS STRNCAT
+  ALIAS MEMCMP
+  ALIAS STRCMP
+  ALIAS STRCOLL
+  ALIAS STRNCMP
+  ALIAS STRXFRM
+  ALIAS MEMCHR
+  ALIAS STRCHR
+  ALIAS STRCSPN
+  ALIAS STRPBRK
+  ALIAS STRRCHR
+  ALIAS STRSPN
+  ALIAS STRSTR
+  ALIAS STRTOK
+  ALIAS MEMSET
+  ALIAS STRERROR
+  ALIAS STRLEN
+  ALIAS MEMCPY
+ /*
+ //TIME     EXEC PDPCMP,MEMBER=TIME
+ //LKED.SYSIN DD *
+  ALIAS CLOCK
+  ALIAS DIFFTIME
+  ALIAS MKTIME
+  ALIAS ASCTIME
+  ALIAS CTIME
+  ALIAS GMTIME
+  ALIAS LOCALTIM
+  ALIAS STRFTIME
+ /*
+ //ERRNO    EXEC PDPCMP,MEMBER=ERRNO
+ //LKED.SYSIN DD *
+  ALIAS @@GET@ER
+ /*
+ //ASSERT   EXEC PDPCMP,MEMBER=ASSERT
+ //LKED.SYSIN DD *
+  ALIAS @@ASSERT
+ /*
+ //LOCALE   EXEC PDPCMP,MEMBER=LOCALE
+ //LKED.SYSIN DD *
+  ALIAS SETLOCAL
+  ALIAS LOCALECO
+ /*
+ //MATH     EXEC PDPCMP,MEMBER=MATH  
+ //LKED.SYSIN DD *
+  ALIAS CEIL
+  ALIAS FABS
+  ALIAS FLOOR
+  ALIAS FMOD
+  ALIAS ACOS
+  ALIAS ASIN
+  ALIAS ATAN
+  ALIAS ATAN2
+  ALIAS COS
+  ALIAS SIN
+  ALIAS TAN
+  ALIAS COSH
+  ALIAS SINH
+  ALIAS TANH
+  ALIAS EXP
+  ALIAS LOG
+  ALIAS LOG10
+  ALIAS POW
+  ALIAS SQRT
+  ALIAS FREXP
+  ALIAS LDEXP
+  ALIAS MODF
+ /*
+ //SETJMP   EXEC PDPCMP,MEMBER=SETJMP
+ //LKED.SYSIN DD *
+  ALIAS LONGJMP
+ /*
+ //SIGNAL   EXEC PDPCMP,MEMBER=SIGNAL
+ //LKED.SYSIN DD *
+  ALIAS RAISE
+  ALIAS @@SIGDFL
+  ALIAS @@SIGERR
+  ALIAS @@SIGIGN
+ /*
+ //@@MEMMGR EXEC PDPCMP,MEMBER=@@MEMMGR
+ //LKED.SYSIN DD *
+ /*
+ //*
+ //
Index: gcc/gcc/stage4z.jcl
diff -c /dev/null gcc/gcc/stage4z.jcl:1.5
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage4z.jcl	Thu May 12 19:37:20 2011
***************
*** 0 ****
--- 1,334 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //MACCOPY  PROC PDPPREF='PDPCLIB'
+ //GENER1   EXEC PGM=IEBGENER
+ //SYSUT1   DD DSN=&PDPPREF..MACLIB(PDPTOP),DISP=SHR
+ //SYSUT2   DD DSN=&PDPPREF..MACLIB(PDPORIG),DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //*
+ //GENER2   EXEC PGM=IEBGENER
+ //SYSUT1   DD DSN=&PDPPREF..MACLIB(PDP370),DISP=SHR
+ //SYSUT2   DD DSN=&PDPPREF..MACLIB(PDPTOP),DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //*
+ //         PEND
+ //*
+ //PDPCMP   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ // COS1='-Os -S -ansi -pedantic-errors',
+ // COS2='-DXXX_MEMMGR -D__PDOS__ -o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //            DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
+ //            SPACE=(6160,(500,500))
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&&TEMP,DISP=(OLD,DELETE)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLMOD  DD DSN=&PDPPREF..NCALIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //PDPASM   PROC PDPPREF='PDPCLIB',MEMBER=''
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLMOD  DD DSN=&PDPPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //* Note - if you are compiling on MVS/XA or early MVS/ESA,
+ //* you do not want to copy this S/370 version of PDPTOP
+ //* Also if you wish to create your own 31-bit executables
+ //* on MVS/380, do not go back to the S/370 version either.
+ //* Or you could choose to have two separate libraries,
+ //* depending on whether your app needs the extra memory or not.
+ //*
+ //S1       EXEC MACCOPY
+ //*
+ //MVSSTART EXEC PDPASM,MEMBER=MVSSTART
+ //LKED.SYSLIN DD
+ //            DD *
+  ALIAS @@CRT0
+  ALIAS @@EXITA
+ /*
+ //MVSSUPA  EXEC PDPASM,MEMBER=MVSSUPA
+ //LKED.SYSLIN DD
+ //            DD *
+  ALIAS @@AOPEN
+  ALIAS @@AREAD
+  ALIAS @@AWRITE
+  ALIAS @@ACLOSE
+  ALIAS @@GETM
+  ALIAS @@FREEM
+  ALIAS @@GETCLK
+  ALIAS @@SAVER
+  ALIAS @@MANSTK
+  ALIAS @@LOADR
+  ALIAS @@SYSTEM
+  ALIAS @@IDCAMS
+  ALIAS @@DYNAL
+ /*
+ //*
+ //START    EXEC PDPCMP,MEMBER=START
+ //LKED.SYSIN DD *
+  ALIAS @@START
+  ALIAS @@EXIT
+  NAME START(R)
+ /*
+ //STDIO    EXEC PDPCMP,MEMBER=STDIO
+ //LKED.SYSIN DD *
+  ALIAS STDIN
+  ALIAS STDOUT
+  ALIAS STDERR
+  ALIAS PRINTF
+  ALIAS FPRINTF
+  ALIAS VFPRINTF
+  ALIAS FOPEN
+  ALIAS FCLOSE
+  ALIAS FPUTC
+  ALIAS REMOVE
+  ALIAS RENAME
+  ALIAS SPRINTF
+  ALIAS VSPRINTF
+  ALIAS UNGETC
+  ALIAS FGETC
+  ALIAS FSEEK
+  NAME STDIO(R)
+ //STDIO2   EXEC PDPCMP,MEMBER=STDIO
+ //LKED.SYSIN DD *
+  ALIAS FTELL
+  ALIAS FSETPOS
+  ALIAS FGETPOS
+  ALIAS REWIND
+  ALIAS CLEARERR
+  ALIAS PERROR
+  ALIAS SETVBUF
+  ALIAS SETBUF
+  ALIAS FREOPEN
+  ALIAS FFLUSH
+  ALIAS TMPNAM
+  ALIAS TMPFILE
+  ALIAS FSCANF
+  ALIAS SCANF
+  ALIAS SSCANF
+  ALIAS GETS
+  NAME PUTS(R)
+ //STDIO3   EXEC PDPCMP,MEMBER=STDIO
+ //LKED.SYSIN DD *
+  ALIAS GETC
+  ALIAS PUTC
+  ALIAS GETCHAR
+  ALIAS PUTCHAR
+  ALIAS FEOF
+  ALIAS FERROR
+  ALIAS FGETS
+  ALIAS FPUTS
+  ALIAS FWRITE
+  ALIAS FREAD
+  NAME @@USERFI(R)
+ /*
+ //STDLIB   EXEC PDPCMP,MEMBER=STDLIB
+ //LKED.SYSIN DD *
+  ALIAS MALLOC
+  ALIAS CALLOC
+  ALIAS REALLOC
+  ALIAS FREE
+  ALIAS ABORT
+  ALIAS EXIT
+  ALIAS QSORT
+  ALIAS SRAND
+  ALIAS RAND
+  ALIAS ATOF
+  ALIAS STRTOD
+  ALIAS ATOI
+  ALIAS ATOL
+  ALIAS STRTOL
+  ALIAS STRTOUL
+  ALIAS MBLEN
+  NAME STDLIB(R)
+ //STDLIB2  EXEC PDPCMP,MEMBER=STDLIB
+ //LKED.SYSIN DD *
+  ALIAS MBTOWC
+  ALIAS WCTOMB
+  ALIAS MBSTOWCS
+  ALIAS WCSTOMBS
+  ALIAS ABS
+  ALIAS DIV
+  ALIAS LABS
+  ALIAS LDIV
+  ALIAS ATEXIT
+  ALIAS GETENV
+  ALIAS SYSTEM
+  ALIAS BSEARCH
+  NAME @@USEREX(R)
+ /*
+ //CTYPE    EXEC PDPCMP,MEMBER=CTYPE
+ //LKED.SYSIN DD *
+  ALIAS @@ISBUF
+  ALIAS @@TOLOW
+  ALIAS @@TOUP
+  ALIAS ISALNUM
+  ALIAS ISALPHA
+  ALIAS ISCNTRL
+  ALIAS ISDIGIT
+  ALIAS ISGRAPH
+  ALIAS ISLOWER
+  ALIAS ISPRINT
+  ALIAS ISPUNCT
+  ALIAS ISSPACE
+  ALIAS ISUPPER
+  ALIAS ISXDIGIT
+  ALIAS TOLOWER
+  ALIAS TOUPPER
+  NAME CTYPE(R)
+ /*
+ //STRING   EXEC PDPCMP,MEMBER=STRING
+ //LKED.SYSIN DD *
+  ALIAS MEMMOVE
+  ALIAS STRCPY
+  ALIAS STRNCPY
+  ALIAS STRCAT
+  ALIAS STRNCAT
+  ALIAS MEMCMP
+  ALIAS STRCMP
+  ALIAS STRCOLL
+  ALIAS STRNCMP
+  ALIAS STRXFRM
+  ALIAS MEMCHR
+  ALIAS STRCHR
+  ALIAS STRCSPN
+  ALIAS STRPBRK
+  ALIAS STRRCHR
+  ALIAS STRSPN
+  NAME STRING(R)
+ //STRING2  EXEC PDPCMP,MEMBER=STRING
+ //LKED.SYSIN DD *
+  ALIAS STRSTR
+  ALIAS STRTOK
+  ALIAS MEMSET
+  ALIAS STRERROR
+  ALIAS STRLEN
+  NAME MEMCPY(R)
+ /*
+ //TIME     EXEC PDPCMP,MEMBER=TIME
+ //LKED.SYSIN DD *
+  ALIAS CLOCK
+  ALIAS DIFFTIME
+  ALIAS MKTIME
+  ALIAS ASCTIME
+  ALIAS CTIME
+  ALIAS GMTIME
+  ALIAS LOCALTIM
+  ALIAS STRFTIME
+  NAME TIME(R)
+ /*
+ //ERRNO    EXEC PDPCMP,MEMBER=ERRNO
+ //LKED.SYSIN DD *
+  ALIAS @@GET@ER
+  NAME ERRNO(R)
+ /*
+ //ASSERT   EXEC PDPCMP,MEMBER=ASSERT
+ //LKED.SYSIN DD *
+  ALIAS @@ASSERT
+  NAME ASSERT(R)
+ /*
+ //LOCALE   EXEC PDPCMP,MEMBER=LOCALE
+ //LKED.SYSIN DD *
+  ALIAS SETLOCAL
+  ALIAS LOCALECO
+  NAME LOCALE(R)
+ /*
+ //MATH     EXEC PDPCMP,MEMBER=MATH  
+ //LKED.SYSIN DD *
+  ALIAS CEIL
+  ALIAS FABS
+  ALIAS FLOOR
+  ALIAS FMOD
+  ALIAS ACOS
+  ALIAS ASIN
+  ALIAS ATAN
+  ALIAS ATAN2
+  ALIAS COS
+  ALIAS SIN
+  ALIAS TAN
+  ALIAS COSH
+  ALIAS SINH
+  ALIAS TANH
+  ALIAS EXP
+  ALIAS LOG
+  NAME MATH(R)
+ //MATH2    EXEC PDPCMP,MEMBER=MATH  
+ //LKED.SYSIN DD *
+  ALIAS LOG10
+  ALIAS POW
+  ALIAS SQRT
+  ALIAS FREXP
+  ALIAS LDEXP
+  NAME MODF(R)
+ /*
+ //SETJMP   EXEC PDPCMP,MEMBER=SETJMP
+ //LKED.SYSIN DD *
+  ALIAS LONGJMP
+  NAME SETJMP(R)
+ /*
+ //SIGNAL   EXEC PDPCMP,MEMBER=SIGNAL
+ //LKED.SYSIN DD *
+  ALIAS RAISE
+  ALIAS @@SIGDFL
+  ALIAS @@SIGERR
+  ALIAS @@SIGIGN
+  NAME SIGNAL(R)
+ /*
+ //@@MEMMGR EXEC PDPCMP,MEMBER=@@MEMMGR
+ //LKED.SYSIN DD *
+  NAME @@MEMMGR(R)
+ /*
+ //*
+ //
Index: gcc/gcc/stage5_pdos.jcl
diff -c /dev/null gcc/gcc/stage5_pdos.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage5_pdos.jcl	Thu May 12 16:38:35 2011
***************
*** 0 ****
--- 1,84 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //*
+ //UNLOAD   PROC PDPPREF='PDPCLIB',MEMBER=''
+ //*
+ //* Do the IEBCOPY unload
+ //*
+ //IEBCOPY  EXEC PGM=IEBCOPY
+ //SYSUT1   DD DSN=&PDPPREF..LINKLIB,DISP=SHR
+ //SYSUT2   DD DSN=&&COPY,SPACE=(CYL,(1,1)),UNIT=SYSALLDA,
+ //         DISP=(NEW,PASS)
+ //SYSPRINT DD SYSOUT=*
+ //* This needs an override
+ //SYSIN    DD DUMMY
+ //*
+ //* Now convert to RDW format, which creates an MVS PE executable
+ //*
+ //COPYFILE EXEC PGM=COPYFILE,PARM='-bb dd:in dd:out'
+ //STEPLIB  DD  DSN=&PDPPREF..LINKLIB,DISP=SHR
+ //IN       DD  DSN=&&COPY,DISP=(OLD,DELETE)
+ //OUT      DD  DSN=&&MVSPE(&MEMBER),DISP=(OLD,PASS)
+ //SYSPRINT DD  SYSOUT=*
+ //SYSTERM  DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //         PEND
+ //*
+ //*
+ //*
+ //CREATE   EXEC PGM=IEFBR14
+ //DD0      DD DSN=&&MVSPE,DISP=(,PASS),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6233),
+ // SPACE=(CYL,(10,10,44)),UNIT=SYSALLDA
+ //*
+ //*
+ //S0 EXEC UNLOAD,MEMBER=GCC
+ //IEBCOPY.SYSUT1 DD DSN=GCC.LINKLIB,DISP=SHR
+ //IEBCOPY.SYSIN DD *
+  COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
+  SELECT MEMBER=GCC
+ /*
+ //*
+ //*
+ //S1 EXEC UNLOAD,MEMBER=HEXDUMP
+ //IEBCOPY.SYSIN DD *
+  COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
+  SELECT MEMBER=HEXDUMP
+ /*
+ //*
+ //*
+ //S2 EXEC UNLOAD,MEMBER=MVSUNZIP
+ //IEBCOPY.SYSIN DD *
+  COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
+  SELECT MEMBER=MVSUNZIP
+ /*
+ //*
+ //*
+ //S3 EXEC UNLOAD,MEMBER=COPYFILE
+ //IEBCOPY.SYSIN DD *
+  COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
+  SELECT MEMBER=COPYFILE
+ /*
+ //*
+ //*
+ //S4 EXEC UNLOAD,MEMBER=MVSENDEC
+ //IEBCOPY.SYSIN DD *
+  COPY INDD=((SYSUT1,R)),OUTDD=SYSUT2
+  SELECT MEMBER=MVSENDEC
+ /*
+ //*
+ //*
+ //ZIP      EXEC PGM=MINIZIP,PARM='-0 -x .exe -l -o dd:out dd:in'
+ //STEPLIB  DD  DSN=MINIZIP.LINKLIB,DISP=SHR
+ //SYSIN    DD  DUMMY
+ //SYSPRINT DD  SYSOUT=*
+ //SYSTERM  DD  SYSOUT=*
+ //IN       DD  DSN=&&MVSPE,DISP=(OLD,PASS)
+ //SYSUT1   DD  DSN=&&TEMP,DISP=(,DELETE),UNIT=SYSALLDA,
+ //         SPACE=(CYL,(10,10))
+ //OUT      DD  DSN=HERC02.ZIP,DISP=(,KEEP),UNIT=TAPE,
+ //         LABEL=(1,SL),VOL=SER=MFTOPC,
+ //         DCB=(RECFM=U,LRECL=0,BLKSIZE=6233)
+ //*
+ //
Index: gcc/gcc/stage5a.jcl
diff -c /dev/null gcc/gcc/stage5a.jcl:1.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage5a.jcl	Tue Sep  8 10:01:46 2009
***************
*** 0 ****
--- 1,262 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Create a 24-bit version of the compiler, then delete
+ //* datasets no longer required.
+ //*
+ //LINK     PROC PDPPREF='PDPCLIB',GCCPREF='GCC',MODULE='GCC370'
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&PDPPREF..NCALIB,DISP=SHR
+ //         DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..LINKLIB(&MODULE),DISP=SHR
+ //         PEND
+ //*
+ //* We keep S2, which should be identical to S3 (if it
+ //* exists) so that people without the compiler can
+ //* take the assembler code and reassemble to create
+ //* the load module on another system.
+ //*
+ //CLEAN    PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD9      DD DSN=&GCCPREF..S,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD15     DD DSN=&GCCPREF..S3,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD17     DD DSN=&GCCPREF..TMPLOAD,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //         PEND
+ //*
+ //S1       EXEC LINK
+ //LKED.SYSLIN   DD *
+  INCLUDE SYSLIB(MVSSTART)
+  INCLUDE SYSLIB(MVSSUPA)
+  INCLUDE SYSLIB(ALIAS)
+  INCLUDE SYSLIB(ALLOC@PO)
+  INCLUDE SYSLIB(ATTRIBS)
+  INCLUDE SYSLIB(BB@REORD)
+  INCLUDE SYSLIB(BITMAP)
+  INCLUDE SYSLIB(BT@LOAD)
+  INCLUDE SYSLIB(BUILTINS)
+  INCLUDE SYSLIB(CALLER@S)
+  INCLUDE SYSLIB(CALLS)
+  INCLUDE SYSLIB(C@AUX@IN)
+  INCLUDE SYSLIB(C@COMMON)
+  INCLUDE SYSLIB(C@CONVER)
+  INCLUDE SYSLIB(C@CPPBUI)
+  INCLUDE SYSLIB(C@DECL)
+  INCLUDE SYSLIB(C@DUMP)
+  INCLUDE SYSLIB(C@ERRORS)
+  INCLUDE SYSLIB(C@OPTS)
+  INCLUDE SYSLIB(C@PCH)
+  INCLUDE SYSLIB(CFG)
+  INCLUDE SYSLIB(CFGANAL)
+  INCLUDE SYSLIB(CFGBUILD)
+  INCLUDE SYSLIB(CFGCLEAN)
+  INCLUDE SYSLIB(CFGHOOKS)
+  INCLUDE SYSLIB(CFGLAYOU)
+  INCLUDE SYSLIB(CFGLOOP)
+  INCLUDE SYSLIB(CFGLOOPA)
+  INCLUDE SYSLIB(CFGLOOPM)
+  INCLUDE SYSLIB(CFGRTL)
+  INCLUDE SYSLIB(C@FORMAT)
+  INCLUDE SYSLIB(CGRAPH)
+  INCLUDE SYSLIB(CGRAPHUN)
+  INCLUDE SYSLIB(C@INCPAT)
+  INCLUDE SYSLIB(C@LANG)
+  INCLUDE SYSLIB(C@LEX)
+  INCLUDE SYSLIB(C@OBJC@C)
+  INCLUDE SYSLIB(COMBINE)
+  INCLUDE SYSLIB(CONFLICT)
+  INCLUDE SYSLIB(CONVERT)
+  INCLUDE SYSLIB(COVERAGE)
+  INCLUDE SYSLIB(C@PARSE)
+  INCLUDE SYSLIB(CPPCHARS)
+  INCLUDE SYSLIB(CPPDEFAU)
+  INCLUDE SYSLIB(CPPERROR)
+  INCLUDE SYSLIB(CPPEXP)
+  INCLUDE SYSLIB(CPPFILES)
+  INCLUDE SYSLIB(CPPHASH)
+  INCLUDE SYSLIB(CPPINIT)
+  INCLUDE SYSLIB(CPPLEX)
+  INCLUDE SYSLIB(CPPLIB)
+  INCLUDE SYSLIB(CPPMACRO)
+  INCLUDE SYSLIB(C@PPOUTP)
+  INCLUDE SYSLIB(CPPPCH)
+  INCLUDE SYSLIB(CPPSPEC)
+  INCLUDE SYSLIB(CPPTRAD)
+  INCLUDE SYSLIB(C@PRAGMA)
+  INCLUDE SYSLIB(C@PRETTY)
+  INCLUDE SYSLIB(CSE)
+  INCLUDE SYSLIB(CSELIB)
+  INCLUDE SYSLIB(C@SEMANT)
+  INCLUDE SYSLIB(C@TYPECK)
+  INCLUDE SYSLIB(DBXOUT)
+  INCLUDE SYSLIB(DEBUG)
+  INCLUDE SYSLIB(DF)
+  INCLUDE SYSLIB(DIAGNOST)
+  INCLUDE SYSLIB(DOJUMP)
+  INCLUDE SYSLIB(DOMINANC)
+  INCLUDE SYSLIB(DWARF2AS)
+  INCLUDE SYSLIB(DWARF2OU)
+  INCLUDE SYSLIB(EMIT@RTL)
+  INCLUDE SYSLIB(ET@FORES)
+  INCLUDE SYSLIB(EXCEPT)
+  INCLUDE SYSLIB(EXPLOW)
+  INCLUDE SYSLIB(EXPMED)
+  INCLUDE SYSLIB(EXPR)
+  INCLUDE SYSLIB(FINAL)
+  INCLUDE SYSLIB(FLOW)
+  INCLUDE SYSLIB(FOLD@CON)
+  INCLUDE SYSLIB(FUNCTION)
+  INCLUDE SYSLIB(GCC)
+  INCLUDE SYSLIB(GCCSPEC)
+  INCLUDE SYSLIB(GCSE)
+  INCLUDE SYSLIB(GENRTL)
+  INCLUDE SYSLIB(GGC@COMM)
+  INCLUDE SYSLIB(GGC@PAGE)
+  INCLUDE SYSLIB(GLOBAL)
+  INCLUDE SYSLIB(GRAPH)
+  INCLUDE SYSLIB(GTYPE@DE)
+  INCLUDE SYSLIB(HAIFA@SC)
+  INCLUDE SYSLIB(HASHTABL)
+  INCLUDE SYSLIB(HOOKS)
+  INCLUDE SYSLIB(HOST@DEF)
+  INCLUDE SYSLIB(IFCVT)
+  INCLUDE SYSLIB(INSN@ATT)
+  INCLUDE SYSLIB(INSN@EMI)
+  INCLUDE SYSLIB(INSN@EXT)
+  INCLUDE SYSLIB(INSN@MOD)
+  INCLUDE SYSLIB(INSN@OPI)
+  INCLUDE SYSLIB(INSN@OUT)
+  INCLUDE SYSLIB(INSN@REC)
+  INCLUDE SYSLIB(INTEGRAT)
+  INCLUDE SYSLIB(JUMP)
+  INCLUDE SYSLIB(LANGHOOK)
+  INCLUDE SYSLIB(LCM)
+  INCLUDE SYSLIB(LINE@MAP)
+  INCLUDE SYSLIB(LISTS)
+  INCLUDE SYSLIB(LOCAL@AL)
+  INCLUDE SYSLIB(LOOP)
+  INCLUDE SYSLIB(LOOP@INI)
+  INCLUDE SYSLIB(LOOP@UNR)
+  INCLUDE SYSLIB(LOOP@UNS)
+  INCLUDE SYSLIB(MKDEPS)
+  INCLUDE SYSLIB(OPTABS)
+  INCLUDE SYSLIB(OPTIONS)
+  INCLUDE SYSLIB(OPTS)
+  INCLUDE SYSLIB(PARAMS)
+  INCLUDE SYSLIB(POSTRELO)
+  INCLUDE SYSLIB(PREDICT)
+  INCLUDE SYSLIB(PREFIX)
+  INCLUDE SYSLIB(PRETTY@P)
+  INCLUDE SYSLIB(PRINT@RT)
+  INCLUDE SYSLIB(PRINT@TR)
+  INCLUDE SYSLIB(PROFILE)
+  INCLUDE SYSLIB(RA)
+  INCLUDE SYSLIB(RA@BUILD)
+  INCLUDE SYSLIB(RA@COLOR)
+  INCLUDE SYSLIB(RA@DEBUG)
+  INCLUDE SYSLIB(RA@REWRI)
+  INCLUDE SYSLIB(REAL)
+  INCLUDE SYSLIB(RECOG)
+  INCLUDE SYSLIB(REGCLASS)
+  INCLUDE SYSLIB(REGMOVE)
+  INCLUDE SYSLIB(REGRENAM)
+  INCLUDE SYSLIB(REG@STAC)
+  INCLUDE SYSLIB(RELOAD)
+  INCLUDE SYSLIB(RELOAD1)
+  INCLUDE SYSLIB(RTL)
+  INCLUDE SYSLIB(RTLANAL)
+  INCLUDE SYSLIB(RTL@ERRO)
+  INCLUDE SYSLIB(SBITMAP)
+  INCLUDE SYSLIB(SDBOUT)
+  INCLUDE SYSLIB(SIBCALL)
+  INCLUDE SYSLIB(SIMPLIFY)
+  INCLUDE SYSLIB(SREAL)
+  INCLUDE SYSLIB(STMT)
+  INCLUDE SYSLIB(STOR@LAY)
+  INCLUDE SYSLIB(STRINGPO)
+  INCLUDE SYSLIB(STUB@OBJ)
+  INCLUDE SYSLIB(TARGHOOK)
+  INCLUDE SYSLIB(TIMEVAR)
+  INCLUDE SYSLIB(TOPLEV)
+  INCLUDE SYSLIB(TRACER)
+  INCLUDE SYSLIB(TREE)
+  INCLUDE SYSLIB(TREE@DUM)
+  INCLUDE SYSLIB(TREE@INL)
+  INCLUDE SYSLIB(TREE@OPT)
+  INCLUDE SYSLIB(UNROLL)
+  INCLUDE SYSLIB(VALUE@PR)
+  INCLUDE SYSLIB(VARASM)
+  INCLUDE SYSLIB(VARRAY)
+  INCLUDE SYSLIB(VERSION)
+  INCLUDE SYSLIB(WEB)
+  INCLUDE SYSLIB(CPLUS@DE)
+  INCLUDE SYSLIB(CP@DEMAN)
+  INCLUDE SYSLIB(CP@DEMIN)
+  INCLUDE SYSLIB(MD5)
+  INCLUDE SYSLIB(ALLOCA)
+  INCLUDE SYSLIB(ASPRINTF)
+  INCLUDE SYSLIB(ARGV)
+  INCLUDE SYSLIB(CONCAT)
+  INCLUDE SYSLIB(DYN@STRI)
+  INCLUDE SYSLIB(FDMATCH)
+  INCLUDE SYSLIB(FIBHEAP)
+  INCLUDE SYSLIB(FLOATFOR)
+  INCLUDE SYSLIB(FNMATCH)
+  INCLUDE SYSLIB(GETOPT)
+  INCLUDE SYSLIB(GETOPT1)
+  INCLUDE SYSLIB(GETPAGES)
+  INCLUDE SYSLIB(GETPWD)
+  INCLUDE SYSLIB(GETRUNTI)
+  INCLUDE SYSLIB(HASHTAB)
+  INCLUDE SYSLIB(HEX)
+  INCLUDE SYSLIB(LBASENAM)
+  INCLUDE SYSLIB(LREALPAT)
+  INCLUDE SYSLIB(MAKE@REL)
+  INCLUDE SYSLIB(OBJALLOC)
+  INCLUDE SYSLIB(OBSTACK)
+  INCLUDE SYSLIB(PARTITIO)
+  INCLUDE SYSLIB(PHYSMEM)
+  INCLUDE SYSLIB(SAFE@CTY)
+  INCLUDE SYSLIB(SORT)
+  INCLUDE SYSLIB(SPACES)
+  INCLUDE SYSLIB(SPLAY@TR)
+  INCLUDE SYSLIB(STRCASEC)
+  INCLUDE SYSLIB(STRDUP)
+  INCLUDE SYSLIB(STRSIGNA)
+  INCLUDE SYSLIB(TERNARY)
+  INCLUDE SYSLIB(VASPRINT)
+  INCLUDE SYSLIB(VSNPRINT)
+  INCLUDE SYSLIB(XATEXIT)
+  INCLUDE SYSLIB(XEXIT)
+  INCLUDE SYSLIB(XMALLOC)
+  INCLUDE SYSLIB(XMEMDUP)
+  INCLUDE SYSLIB(XSTRDUP)
+  INCLUDE SYSLIB(XSTRERRO)
+  INCLUDE SYSLIB(I370@C)
+  INCLUDE SYSLIB(I370)
+  INCLUDE SYSLIB(UNIXIO)
+  INCLUDE SYSLIB(STDIO)
+  INCLUDE SYSLIB(STDLIB)
+  INCLUDE SYSLIB(CTYPE)
+  INCLUDE SYSLIB(STRING)
+  INCLUDE SYSLIB(TIME)
+  INCLUDE SYSLIB(ERRNO)
+  INCLUDE SYSLIB(ASSERT)
+  INCLUDE SYSLIB(LOCALE)
+  INCLUDE SYSLIB(MATH)
+  INCLUDE SYSLIB(SETJMP)
+  INCLUDE SYSLIB(SIGNAL)
+  INCLUDE SYSLIB(START)
+  INCLUDE SYSLIB(@@MEMMGR)
+  ENTRY @@MAIN
+ /*
+ //*
+ //S2       EXEC CLEAN
+ //*
+ //
Index: gcc/gcc/stage5b.jcl
diff -c /dev/null gcc/gcc/stage5b.jcl:1.1.3.5
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage5b.jcl	Thu May 12 16:38:35 2011
***************
*** 0 ****
--- 1,57 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //* Note - we have our own instream proc here in case
+ //* the proc hasn't been installed in sys1.proclib due
+ //* to the installer not being a systems programmer.
+ //*
+ //GCCCL   PROC PDPPREF='PDPCLIB',GCCPREF='GCC',
+ //         COPTS='',LOPTS='MAP',MEMBER='',
+ // COS1='-S -ansi -pedantic-errors',
+ // COS2='-o dd:out -'
+ //*
+ //COMP     EXEC PGM=GCC,
+ // PARM='&COS1 &COPTS &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..LINKLIB,DISP=SHR
+ //*
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //OUT      DD DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,
+ //            DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
+ //            SPACE=(6160,(500,500))
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&&TEMP,DISP=(OLD,DELETE)
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='&LOPTS',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //         DD DDNAME=SYSIN
+ //SYSIN    DD DUMMY
+ //SYSLIB   DD DSN=&PDPPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&PDPPREF..LINKLIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //*
+ //         PEND
+ //*
+ //S1 EXEC GCCCL,MEMBER=MVSENDEC
+ //S2 EXEC GCCCL,MEMBER=HEXDUMP
+ //S3 EXEC GCCCL,MEMBER=MVSUNZIP
+ //S4 EXEC GCCCL,MEMBER=COPYFILE
+ //S5 EXEC GCCCL,MEMBER=DSSRENAM
+ //
Index: gcc/gcc/stage5c.jcl
diff -c /dev/null gcc/gcc/stage5c.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage5c.jcl	Wed Apr 15 23:24:18 2009
***************
*** 0 ****
--- 1,17 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //INSTPROC PROC GCCPREF='GCC',MEMBER=''
+ //*
+ //IEBGENER EXEC PGM=IEBGENER
+ //SYSUT1   DD DSN=&GCCPREF..PROCLIB(&MEMBER),DISP=SHR
+ //SYSUT2   DD DSN=SYS2.PROCLIB(&MEMBER),DISP=SHR
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //*
+ //         PEND
+ //*
+ //S1       EXEC INSTPROC,MEMBER=GCCC
+ //S2       EXEC INSTPROC,MEMBER=GCCCL
+ //S3       EXEC INSTPROC,MEMBER=GCCCLG
+ //*
+ //
Index: gcc/gcc/stage6.jcl
diff -c /dev/null gcc/gcc/stage6.jcl:1.6
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stage6.jcl	Sat Jun 11 17:37:14 2011
***************
*** 0 ****
--- 1,83 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //CREATE   PROC PDPPREF='PDPCLIB',GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&PDPPREF..INCLUDE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD2      DD DSN=&PDPPREF..SOURCE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD3      DD DSN=&PDPPREF..DOC,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD4      DD DSN=&GCCPREF..PROCLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD5      DD DSN=&GCCPREF..SOURCE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD6      DD DSN=&GCCPREF..INCLUDE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD7      DD DSN=&GCCPREF..DOC,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD8      DD DSN=&GCCPREF..JCL,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD9      DD DSN=&GCCPREF..S,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD13     DD DSN=&PDPPREF..MACLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD14     DD DSN=&GCCPREF..S2,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD15     DD DSN=&GCCPREF..S3,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD16     DD DSN=&PDPPREF..LINKLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD17     DD DSN=&GCCPREF..TMPLOAD,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD1      DD DSN=&PDPPREF..INCLUDE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(23,23,44)),UNIT=SYSALLDA
+ //DD2      DD DSN=&PDPPREF..SOURCE,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(350,350,44)),UNIT=SYSALLDA
+ //DD3      DD DSN=&PDPPREF..DOC,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(50,50,44)),UNIT=SYSALLDA
+ //DD4      DD DSN=&GCCPREF..PROCLIB,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(15,15,44)),UNIT=SYSALLDA
+ //DD5      DD DSN=&GCCPREF..SOURCE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(2860,2860,44)),UNIT=SYSALLDA
+ //DD6      DD DSN=&GCCPREF..INCLUDE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(450,450,44)),UNIT=SYSALLDA
+ //DD7      DD DSN=&GCCPREF..DOC,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(100,100,44)),UNIT=SYSALLDA
+ //DD8      DD DSN=&GCCPREF..JCL,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(90,90,44)),UNIT=SYSALLDA
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1900,1900,44),,,ROUND),UNIT=SYSALLDA
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(61,61,44)),UNIT=SYSALLDA
+ //DD13     DD DSN=&PDPPREF..MACLIB,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(12,12,44)),UNIT=SYSALLDA
+ //DD14     DD DSN=&GCCPREF..S2,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(12400,12400,44)),UNIT=SYSALLDA
+ //DD16     DD DSN=&PDPPREF..LINKLIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(77,77,44),,,ROUND),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //S1 EXEC CREATE
+ //
Index: gcc/gcc/stdcomp.bat
diff -c /dev/null gcc/gcc/stdcomp.bat:1.3
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcomp.bat	Sat Jul  4 17:30:47 2009
***************
*** 0 ****
--- 1 ----
+ call stdcompp %2 %3 %4 %5 %6 %7 %8 %9 %1
Index: gcc/gcc/stdcomp.parm
diff -c /dev/null gcc/gcc/stdcomp.parm:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcomp.parm	Sun Jul 19 17:05:56 2009
***************
*** 0 ****
--- 1 ----
+ -Os -o dd:out - -S -ansi -pedantic-errors -remap -DUSE_MEMMGR -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DTARGET_CMS
Index: gcc/gcc/stdcompb.bat
diff -c /dev/null gcc/gcc/stdcompb.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompb.bat	Wed Apr 15 23:24:13 2009
***************
*** 0 ****
--- 1 ----
+ bcc32 -w- -A -c -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -I. -Iconfig\i370 -I..\include %1 %2 %3 %4 %5 %6 %7 %8 %9
Index: gcc/gcc/stdcompc.bat
diff -c /dev/null gcc/gcc/stdcompc.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompc.bat	Wed Apr 15 23:24:13 2009
***************
*** 0 ****
--- 1 ----
+ gccmvs -DUSE_MEMMGR -Os -S -ansi -pedantic-errors -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DTARGET_CMS -I ../../pdos/pdpclib -I . -I config/i370 -I ../include %2 %3 %4 %5 %6 %7 %8 %9 %1
Index: gcc/gcc/stdcompg.bat
diff -c /dev/null gcc/gcc/stdcompg.bat:1.4
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompg.bat	Wed Nov 11 18:27:40 2009
***************
*** 0 ****
--- 1 ----
+ gcc -O2 -c -ansi -pedantic -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -I . -I config/i370 -I ../include %1 %2 %3 %4 %5 %6 %7 %8 %9
Index: gcc/gcc/stdcompm.bat
diff -c /dev/null gcc/gcc/stdcompm.bat:1.4
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompm.bat	Thu May 12 19:37:21 2011
***************
*** 0 ****
--- 1 ----
+ gccmvs -DUSE_MEMMGR -Os -S -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -I ../../pdos/pdpclib -I . -I config/i370 -I ../include %2 %3 %4 %5 %6 %7 %8 %9 %1
Index: gcc/gcc/stdcompp.bat
diff -c /dev/null gcc/gcc/stdcompp.bat:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompp.bat	Wed Nov 11 16:50:11 2009
***************
*** 0 ****
--- 1 ----
+ gcc -O2 -c -ansi -pedantic -nostdinc -D__WIN32__ -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -I ../../pdos/pdpclib -I . -I config/i370 -I ../include %1 %2 %3 %4 %5 %6 %7 %8 %9
Index: gcc/gcc/stdcompv.bat
diff -c /dev/null gcc/gcc/stdcompv.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompv.bat	Wed Apr 15 23:24:17 2009
***************
*** 0 ****
--- 1 ----
+ cl /w /c /Za /DHAVE_CONFIG_H /DIN_GCC /DPUREISO /I . /I config/i370 /I ..\include %1 %2 %3 %4 %5 %6 %7 %8 %9
Index: gcc/gcc/stdcompw.bat
diff -c /dev/null gcc/gcc/stdcompw.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompw.bat	Wed Apr 15 23:24:22 2009
***************
*** 0 ****
--- 1,5 ----
+ rem note that due to a bug in Open Watcom 1.6, which pollutes
+ rem the namespace with "open" (and "sopen" too), we need to
+ rem work around this problem by redefining all instances of
+ rem open to xxopen
+ wcl386 -3s -zq -e=1 -za -w- -c -Dopen=xxopen -DVALIST_NOT_PTR -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -I. -Iconfig\i370 -I..\include %1 %2 %3 %4 %5 %6 %7 %8 %9
Index: gcc/gcc/stdcompz
diff -c /dev/null gcc/gcc/stdcompz:1.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompz	Wed Jul 15 00:29:03 2009
***************
*** 0 ****
--- 1 ----
+ gcc -nostdinc -g -c -ansi -pedantic-errors -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DGENERATOR_FILE -I ../../pdos/pdpclib -I . -I config/i370 -I ../include $1
Index: gcc/gcc/stdcompz.bat
diff -c /dev/null gcc/gcc/stdcompz.bat:1.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdcompz.bat	Fri May 29 21:39:49 2009
***************
*** 0 ****
--- 1 ----
+ call stdcompp -DGENERATOR_FILE %2 %3 %4 %5 %6 %7 %8 %9 %1
Index: gcc/gcc/stdpdp.parm
diff -c /dev/null gcc/gcc/stdpdp.parm:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/stdpdp.parm	Sun Jul 19 17:05:57 2009
***************
*** 0 ****
--- 1 ----
+ -Os -DXXX_MEMMGR -o dd:out - -S -ansi -pedantic-errors
Index: gcc/gcc/subjobs.bat
diff -c /dev/null gcc/gcc/subjobs.bat:1.3
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/subjobs.bat	Wed Sep 16 23:56:43 2009
***************
*** 0 ****
--- 1,26 ----
+ del alljcl.jcl
+ type stage0a.jcl >>alljcl.jcl
+ type stage0b.jcl >>alljcl.jcl
+ type stage0c.jcl >>alljcl.jcl
+ type stage0d.jcl >>alljcl.jcl
+ type stage1a.jcl >>alljcl.jcl
+ type stage1b.jcl >>alljcl.jcl
+ rem type pregen.jcl >>alljcl.jcl
+ rem type stage4z.jcl >>alljcl.jcl
+ rem type gencomp.jcl >>alljcl.jcl
+ rem type postgen.jcl >>alljcl.jcl
+ type stage2a.jcl >>alljcl.jcl
+ type stage2b.jcl >>alljcl.jcl
+ type stage2c.jcl >>alljcl.jcl
+ type stage2d.jcl >>alljcl.jcl
+ rem type stage3a.jcl >>alljcl.jcl
+ rem type stage3b.jcl >>alljcl.jcl
+ rem type stage3c.jcl >>alljcl.jcl
+ type stage4z.jcl >>alljcl.jcl
+ type stage5a.jcl >>alljcl.jcl
+ type stage5b.jcl >>alljcl.jcl
+ type stage5c.jcl >>alljcl.jcl
+ type example.jcl >>alljcl.jcl
+ type xmitgcc.jcl >>alljcl.jcl
+ type xmittape.jcl >>alljcl.jcl
+ call runmvs alljcl.jcl output.txt all.zip gccmvs.xmi
Index: gcc/gcc/subjobs_pdos.bat
diff -c /dev/null gcc/gcc/subjobs_pdos.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/subjobs_pdos.bat	Thu May 12 16:38:36 2011
***************
*** 0 ****
--- 1,11 ----
+ del alljcl.jcl
+ type stage0a.jcl >>alljcl.jcl
+ type stage0b.jcl >>alljcl.jcl
+ type stage0c.jcl >>alljcl.jcl
+ type stage0d.jcl >>alljcl.jcl
+ type stage1a.jcl >>alljcl.jcl
+ type stage1b_pdos.jcl >>alljcl.jcl
+ type stage4z.jcl >>alljcl.jcl
+ type stage5b.jcl >>alljcl.jcl
+ type stage5_pdos.jcl >>alljcl.jcl
+ call runmvs alljcl.jcl output.txt all.zip gccpdos.zip
Index: gcc/gcc/system.h
diff -c gcc/gcc/system.h:1.1.1.1 gcc/gcc/system.h:1.5
*** gcc/gcc/system.h:1.1.1.1	Wed Apr 15 16:25:56 2009
--- gcc/gcc/system.h	Sun Jun  5 14:08:38 2011
***************
*** 106,112 ****
--- 106,114 ----
     replacement instead.  */
  #include <safe-ctype.h>
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  
  #include <errno.h>
  
***************
*** 508,514 ****
  #endif
  
  /* Various error reporting routines want to use __FUNCTION__.  */
! #if (GCC_VERSION < 2007)
  #ifndef __FUNCTION__
  #define __FUNCTION__ "?"
  #endif /* ! __FUNCTION__ */
--- 510,518 ----
  #endif
  
  /* Various error reporting routines want to use __FUNCTION__.  */
! /* Also this isn't working properly in cross-compile mode */
! #if (GCC_VERSION < 2007) || defined(__MVS__) || defined(__CMS__) || \
!     defined(__VSE__)
  #ifndef __FUNCTION__
  #define __FUNCTION__ "?"
  #endif /* ! __FUNCTION__ */
Index: gcc/gcc/tape.tdf
diff -c /dev/null gcc/gcc/tape.tdf:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/tape.tdf	Wed Apr 15 23:24:25 2009
***************
*** 0 ****
--- 1,15 ----
+ @TDF
+ GCCPRC.ZIP FIXED RECSIZE 80
+ PDPDOC.ZIP FIXED RECSIZE 80
+ GCCDOC.ZIP FIXED RECSIZE 80
+ PDPI.ZIP FIXED RECSIZE 80
+ GCCJCL.ZIP FIXED RECSIZE 80
+ PDPSRC.ZIP FIXED RECSIZE 80
+ GCCI.ZIP FIXED RECSIZE 80
+ GCCSRC.ZIP FIXED RECSIZE 80
+ GCCS.ZIP FIXED RECSIZE 80
+ GCCEXEC.ZIP FIXED RECSIZE 80
+ TM
+ TM
+ EOT
+ 
Index: gcc/gcc/tapeall.bat
diff -c /dev/null gcc/gcc/tapeall.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/tapeall.bat	Wed Apr 15 23:24:17 2009
***************
*** 0 ****
--- 1,58 ----
+ del gccs.aws
+ del pdpi.aws
+ del gcci.aws
+ del gccsrc.aws
+ del pdpsrc.aws
+ del gccjcl.aws
+ del gccdoc.aws
+ del pdpdoc.aws
+ del gccprc.aws
+ del gccexec.aws
+ del pdpmac.aws
+ cmstape -cvf gccs.aws *.s
+ mkdir ..\temp
+ del ..\temp\*.s
+ del ..\temp\*.h
+ del ..\temp\*.c
+ del ..\temp\*.def
+ cd ..\..\pdos\pdpclib
+ cmstape -cvf ..\..\gcc\gcc\pdpi.aws *.h
+ cmstape -rvf ..\..\gcc\gcc\gccs.aws *.asm
+ cmstape -cvf ..\..\gcc\gcc\pdpsrc.aws *.c *.asm
+ cmstape -cvf ..\..\gcc\gcc\pdpdoc.aws *.txt
+ cmstape -cvf ..\..\gcc\gcc\pdpmac.aws *.mac
+ cd ..\..\gcc\temp
+ copy ..\include\*.h
+ copy ..\gcc\*.h
+ copy ..\gcc\config\i370\*.h
+ copy ..\gcc\*.def
+ ren builtin-attrs.def builtina.h
+ ren builtin-types.def builtint.h
+ ren builtins.def builtind.h
+ ren c-common.def ccommond.h
+ ren diagnostic.def diagndef.h
+ ren machmode.def machmodd.h
+ ren params.def paramsd.h
+ ren predict.def predictd.h
+ ren rtl.def rtld.h
+ ren stab.def stabd.h
+ ren timevar.def timevard.h
+ ren tree.def treed.h
+ ren insn-constants.h i-constants.h
+ ren langhooks-def.h langhdef.h
+ cmstape -cvf ..\gcc\gcci.aws *.h
+ copy ..\libiberty\*.c
+ copy ..\gcc\*.c
+ copy ..\gcc\config\i370\*.c
+ cmstape -cvf ..\gcc\gccsrc.aws *.c
+ cd ..\gcc
+ cmstape -cvf gccjcl.aws *.jcl
+ cmstape -cvf gccdoc.aws gccmvs.txt COPYING gcccms.txt
+ cmstape -rvf gccdoc.aws config\i370\i370.md
+ cmstape -rvf gccdoc.zip c-parse.in
+ cmstape -cvf gccprc.aws *.prc
+ cmstape -cvf gccexec.aws *.exec *.parm
+ copy /b GCCEXEC.AWS + GCCPRC.AWS + PDPDOC.AWS + GCCDOC.AWS  + GCCJCL.AWS + PDPI.AWS + PDPSRC.AWS + GCCI.AWS + GCCSRC.AWS + GCCS.AWS + PDPMAC.AWS  GCCCMS.AWS
+ 
+ 
+ 
Index: gcc/gcc/tm-preds.h
diff -c /dev/null gcc/gcc/tm-preds.h:1.5
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/tm-preds.h	Tue Aug  4 04:02:14 2009
***************
*** 0 ****
--- 1,13 ----
+ /* Generated automatically by the program `genpreds'.  */
+ 
+ #ifndef GCC_TM_PREDS_H
+ #define GCC_TM_PREDS_H
+ 
+ #ifdef RTX_CODE
+ 
+ extern int r_or_s_operand (rtx, enum machine_mode);
+ extern int s_operand (rtx, enum machine_mode);
+ 
+ #endif /* RTX_CODE */
+ 
+ #endif /* GCC_TM_PREDS_H */
Index: gcc/gcc/tm.h
diff -c /dev/null gcc/gcc/tm.h:1.4
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/tm.h	Fri Apr 24 10:12:09 2009
***************
*** 0 ****
--- 1,12 ----
+ #ifndef GCC_TM_H
+ #define GCC_TM_H
+ #ifdef IN_GCC
+ # include "config/i370/mvspdp.h"
+ # include "config/i370/i370.h"
+ # include "defaults.h"
+ #endif
+ #if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET
+ # include "insn-constants.h"
+ # include "insn-flags.h"
+ #endif
+ #endif /* GCC_TM_H */
Index: gcc/gcc/tm_p.h
diff -c /dev/null gcc/gcc/tm_p.h:1.3
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/tm_p.h	Fri Apr 24 10:12:09 2009
***************
*** 0 ****
--- 1,7 ----
+ #ifndef GCC_TM_P_H
+ #define GCC_TM_P_H
+ #ifdef IN_GCC
+ # include "config/i370/i370-protos.h"
+ # include "tm-preds.h"
+ #endif
+ #endif /* GCC_TM_P_H */
Index: gcc/gcc/toplev.c
diff -c gcc/gcc/toplev.c:1.1.1.1 gcc/gcc/toplev.c:1.14
*** gcc/gcc/toplev.c:1.1.1.1	Wed Apr 15 16:26:18 2009
--- gcc/gcc/toplev.c	Tue May 31 05:10:30 2011
***************
*** 171,177 ****
--- 171,181 ----
  static bool no_backend;
  
  /* Length of line when printing switch values.  */
+ #ifdef TARGET_MVS
+ #define MAX_LINE 72
+ #else
  #define MAX_LINE 75
+ #endif
  
  /* Name of program invoked, sans directories.  */
  
***************
*** 403,408 ****
--- 407,420 ----
  
  int flag_profile_values = 0;
  
+ #if IFOX
+ /* to avoid problems with the number of externals being too
+    large (more than 399) for IFOX to handle, we move a bunch
+    of them into an array */
+ int gflags[64];
+ #endif
+ 
+ #if !IFOX
  /* Nonzero if value histograms should be used to optimize code.  */
  int flag_value_profile_transformations = 0;
  
***************
*** 425,430 ****
--- 437,444 ----
  /* Nonzero if registers should be renamed.  */
  
  int flag_rename_registers = 0;
+ #endif
+ 
  int flag_cprop_registers = 0;
  
  /* Nonzero for -pedantic switch: warn about anything
***************
*** 464,469 ****
--- 478,484 ----
  
  /* -f flags.  */
  
+ #if !IFOX
  /* Nonzero means `char' should be signed.  */
  
  int flag_signed_char;
***************
*** 477,482 ****
--- 492,498 ----
     Optional now, so people can test it.  */
  
  int flag_caller_saves = 0;
+ #endif
  
  /* Nonzero if structures and unions should be returned in memory.
  
***************
*** 494,499 ****
--- 510,516 ----
  /* Nonzero for -fforce-mem: load memory value into a register
     before arithmetic on it.  This makes better cse but slower compilation.  */
  
+ #if !IFOX
  int flag_force_mem = 0;
  
  /* Nonzero for -fforce-addr: load memory address into a register before
***************
*** 523,534 ****
--- 540,553 ----
  /* Nonzero for -fexpensive-optimizations:
     perform miscellaneous relatively-expensive optimizations.  */
  int flag_expensive_optimizations;
+ #endif
  
  /* Nonzero for -fthread-jumps:
     have jump optimize output of loop.  */
  
  int flag_thread_jumps;
  
+ #if !IFOX
  /* Nonzero enables strength-reduction in loop.c.  */
  
  int flag_strength_reduce = 0;
***************
*** 570,581 ****
--- 589,602 ----
     strength reduced.  */
  
  int flag_reduce_all_givs = 0;
+ #endif
  
  /* Nonzero to perform full register move optimization passes.  This is the
     default for -O2.  */
  
  int flag_regmove = 0;
  
+ #if !IFOX
  /* Nonzero for -fwritable-strings:
     store string constants in data segment and don't uniquize them.  */
  
***************
*** 608,613 ****
--- 629,635 ----
  /* Nonzero allows GCC to optimize sibling and tail recursive calls.  */
  
  int flag_optimize_sibling_calls = 0;
+ #endif
  
  /* Nonzero means the front end generally wants `errno' maintained by math
     operations, like built-in SQRT.  */
***************
*** 633,638 ****
--- 655,661 ----
  
  int flag_trapping_math = 1;
  
+ #if !IFOX
  /* Nonzero means disable transformations that assume default floating
     point rounding behavior.  */
  
***************
*** 682,687 ****
--- 705,711 ----
  /* Nonzero means perform global CSE.  */
  
  int flag_gcse = 0;
+ #endif
  
  /* Nonzero means to do the enhanced load motion during gcse, which trys
     to hoist loads by not killing them when a store to the same location
***************
*** 752,760 ****
--- 776,786 ----
  
  const char *aux_info_file_name;
  
+ #if !IFOX
  /* Nonzero means make the text shared if supported.  */
  
  int flag_shared_data;
+ #endif
  
  /* Nonzero means schedule into delayed branch slots if supported.  */
  
***************
*** 4033,4039 ****
--- 4059,4069 ----
        if (!strcmp (asm_file_name, "-"))
  	asm_out_file = stdout;
        else
+ #ifdef PUREISO
+ 	asm_out_file = fopen (asm_file_name, "w");
+ #else
  	asm_out_file = fopen (asm_file_name, "w+");
+ #endif
        if (asm_out_file == 0)
  	fatal_error ("can't open %s for writing: %m", asm_file_name);
      }
***************
*** 4056,4062 ****
--- 4086,4097 ----
  			       ASM_COMMENT_START, " ", "\n");
  	  /* Add a blank line here so it appears in assembler output but not
  	     screen output.  */
+ #ifdef TARGET_MVS
+       /* MVS can't handle a blank line - need a comment instead */
+       fprintf (asm_out_file, "%s\n", ASM_COMMENT_START);
+ #else
  	  fprintf (asm_out_file, "\n");
+ #endif
  	}
  #endif
      }
Index: gcc/gcc/toplev.h
diff -c gcc/gcc/toplev.h:1.1.1.1 gcc/gcc/toplev.h:1.5
*** gcc/gcc/toplev.h:1.1.1.1	Wed Apr 15 16:26:12 2009
--- gcc/gcc/toplev.h	Sat Nov 14 10:16:44 2009
***************
*** 105,123 ****
--- 105,129 ----
  extern int target_flags_explicit;
  
  /* See toplev.c.  */
+ #if !IFOX
  extern int flag_loop_optimize;
  extern int flag_crossjumping;
  extern int flag_if_conversion;
  extern int flag_if_conversion2;
  extern int flag_delete_null_pointer_checks;
+ #endif
  extern int flag_keep_static_consts;
+ #if !IFOX
  extern int flag_peel_loops;
+ #endif
  extern int flag_rerun_cse_after_loop;
  extern int flag_thread_jumps;
  extern int flag_tracer;
+ #if !IFOX
  extern int flag_unroll_loops;
  extern int flag_unroll_all_loops;
  extern int flag_unswitch_loops;
+ #endif
  extern int flag_cprop_registers;
  extern int time_report;
  extern int flag_new_regalloc;
Index: gcc/gcc/tree-check.h
diff -c /dev/null gcc/gcc/tree-check.h:1.3
*** /dev/null	Mon Jun 13 20:10:09 2011
--- gcc/gcc/tree-check.h	Fri Apr 24 10:12:09 2009
***************
*** 0 ****
--- 1,175 ----
+ /* This file is generated using gencheck. Do not edit. */
+ 
+ #ifndef GCC_TREE_CHECK_H
+ #define GCC_TREE_CHECK_H
+ 
+ #define ERROR_MARK_CHECK(t)	TREE_CHECK (t, ERROR_MARK)
+ #define IDENTIFIER_NODE_CHECK(t)	TREE_CHECK (t, IDENTIFIER_NODE)
+ #define TREE_LIST_CHECK(t)	TREE_CHECK (t, TREE_LIST)
+ #define TREE_VEC_CHECK(t)	TREE_CHECK (t, TREE_VEC)
+ #define BLOCK_CHECK(t)	TREE_CHECK (t, BLOCK)
+ #define VOID_TYPE_CHECK(t)	TREE_CHECK (t, VOID_TYPE)
+ #define INTEGER_TYPE_CHECK(t)	TREE_CHECK (t, INTEGER_TYPE)
+ #define REAL_TYPE_CHECK(t)	TREE_CHECK (t, REAL_TYPE)
+ #define COMPLEX_TYPE_CHECK(t)	TREE_CHECK (t, COMPLEX_TYPE)
+ #define VECTOR_TYPE_CHECK(t)	TREE_CHECK (t, VECTOR_TYPE)
+ #define ENUMERAL_TYPE_CHECK(t)	TREE_CHECK (t, ENUMERAL_TYPE)
+ #define BOOLEAN_TYPE_CHECK(t)	TREE_CHECK (t, BOOLEAN_TYPE)
+ #define CHAR_TYPE_CHECK(t)	TREE_CHECK (t, CHAR_TYPE)
+ #define POINTER_TYPE_CHECK(t)	TREE_CHECK (t, POINTER_TYPE)
+ #define OFFSET_TYPE_CHECK(t)	TREE_CHECK (t, OFFSET_TYPE)
+ #define REFERENCE_TYPE_CHECK(t)	TREE_CHECK (t, REFERENCE_TYPE)
+ #define METHOD_TYPE_CHECK(t)	TREE_CHECK (t, METHOD_TYPE)
+ #define FILE_TYPE_CHECK(t)	TREE_CHECK (t, FILE_TYPE)
+ #define ARRAY_TYPE_CHECK(t)	TREE_CHECK (t, ARRAY_TYPE)
+ #define SET_TYPE_CHECK(t)	TREE_CHECK (t, SET_TYPE)
+ #define RECORD_TYPE_CHECK(t)	TREE_CHECK (t, RECORD_TYPE)
+ #define UNION_TYPE_CHECK(t)	TREE_CHECK (t, UNION_TYPE)
+ #define QUAL_UNION_TYPE_CHECK(t)	TREE_CHECK (t, QUAL_UNION_TYPE)
+ #define FUNCTION_TYPE_CHECK(t)	TREE_CHECK (t, FUNCTION_TYPE)
+ #define LANG_TYPE_CHECK(t)	TREE_CHECK (t, LANG_TYPE)
+ #define INTEGER_CST_CHECK(t)	TREE_CHECK (t, INTEGER_CST)
+ #define REAL_CST_CHECK(t)	TREE_CHECK (t, REAL_CST)
+ #define COMPLEX_CST_CHECK(t)	TREE_CHECK (t, COMPLEX_CST)
+ #define VECTOR_CST_CHECK(t)	TREE_CHECK (t, VECTOR_CST)
+ #define STRING_CST_CHECK(t)	TREE_CHECK (t, STRING_CST)
+ #define FUNCTION_DECL_CHECK(t)	TREE_CHECK (t, FUNCTION_DECL)
+ #define LABEL_DECL_CHECK(t)	TREE_CHECK (t, LABEL_DECL)
+ #define CONST_DECL_CHECK(t)	TREE_CHECK (t, CONST_DECL)
+ #define TYPE_DECL_CHECK(t)	TREE_CHECK (t, TYPE_DECL)
+ #define VAR_DECL_CHECK(t)	TREE_CHECK (t, VAR_DECL)
+ #define PARM_DECL_CHECK(t)	TREE_CHECK (t, PARM_DECL)
+ #define RESULT_DECL_CHECK(t)	TREE_CHECK (t, RESULT_DECL)
+ #define FIELD_DECL_CHECK(t)	TREE_CHECK (t, FIELD_DECL)
+ #define NAMESPACE_DECL_CHECK(t)	TREE_CHECK (t, NAMESPACE_DECL)
+ #define TRANSLATION_UNIT_DECL_CHECK(t)	TREE_CHECK (t, TRANSLATION_UNIT_DECL)
+ #define COMPONENT_REF_CHECK(t)	TREE_CHECK (t, COMPONENT_REF)
+ #define BIT_FIELD_REF_CHECK(t)	TREE_CHECK (t, BIT_FIELD_REF)
+ #define INDIRECT_REF_CHECK(t)	TREE_CHECK (t, INDIRECT_REF)
+ #define BUFFER_REF_CHECK(t)	TREE_CHECK (t, BUFFER_REF)
+ #define ARRAY_REF_CHECK(t)	TREE_CHECK (t, ARRAY_REF)
+ #define ARRAY_RANGE_REF_CHECK(t)	TREE_CHECK (t, ARRAY_RANGE_REF)
+ #define VTABLE_REF_CHECK(t)	TREE_CHECK (t, VTABLE_REF)
+ #define CONSTRUCTOR_CHECK(t)	TREE_CHECK (t, CONSTRUCTOR)
+ #define COMPOUND_EXPR_CHECK(t)	TREE_CHECK (t, COMPOUND_EXPR)
+ #define MODIFY_EXPR_CHECK(t)	TREE_CHECK (t, MODIFY_EXPR)
+ #define INIT_EXPR_CHECK(t)	TREE_CHECK (t, INIT_EXPR)
+ #define TARGET_EXPR_CHECK(t)	TREE_CHECK (t, TARGET_EXPR)
+ #define COND_EXPR_CHECK(t)	TREE_CHECK (t, COND_EXPR)
+ #define BIND_EXPR_CHECK(t)	TREE_CHECK (t, BIND_EXPR)
+ #define CALL_EXPR_CHECK(t)	TREE_CHECK (t, CALL_EXPR)
+ #define WITH_CLEANUP_EXPR_CHECK(t)	TREE_CHECK (t, WITH_CLEANUP_EXPR)
+ #define CLEANUP_POINT_EXPR_CHECK(t)	TREE_CHECK (t, CLEANUP_POINT_EXPR)
+ #define PLACEHOLDER_EXPR_CHECK(t)	TREE_CHECK (t, PLACEHOLDER_EXPR)
+ #define WITH_RECORD_EXPR_CHECK(t)	TREE_CHECK (t, WITH_RECORD_EXPR)
+ #define PLUS_EXPR_CHECK(t)	TREE_CHECK (t, PLUS_EXPR)
+ #define MINUS_EXPR_CHECK(t)	TREE_CHECK (t, MINUS_EXPR)
+ #define MULT_EXPR_CHECK(t)	TREE_CHECK (t, MULT_EXPR)
+ #define TRUNC_DIV_EXPR_CHECK(t)	TREE_CHECK (t, TRUNC_DIV_EXPR)
+ #define CEIL_DIV_EXPR_CHECK(t)	TREE_CHECK (t, CEIL_DIV_EXPR)
+ #define FLOOR_DIV_EXPR_CHECK(t)	TREE_CHECK (t, FLOOR_DIV_EXPR)
+ #define ROUND_DIV_EXPR_CHECK(t)	TREE_CHECK (t, ROUND_DIV_EXPR)
+ #define TRUNC_MOD_EXPR_CHECK(t)	TREE_CHECK (t, TRUNC_MOD_EXPR)
+ #define CEIL_MOD_EXPR_CHECK(t)	TREE_CHECK (t, CEIL_MOD_EXPR)
+ #define FLOOR_MOD_EXPR_CHECK(t)	TREE_CHECK (t, FLOOR_MOD_EXPR)
+ #define ROUND_MOD_EXPR_CHECK(t)	TREE_CHECK (t, ROUND_MOD_EXPR)
+ #define RDIV_EXPR_CHECK(t)	TREE_CHECK (t, RDIV_EXPR)
+ #define EXACT_DIV_EXPR_CHECK(t)	TREE_CHECK (t, EXACT_DIV_EXPR)
+ #define FIX_TRUNC_EXPR_CHECK(t)	TREE_CHECK (t, FIX_TRUNC_EXPR)
+ #define FIX_CEIL_EXPR_CHECK(t)	TREE_CHECK (t, FIX_CEIL_EXPR)
+ #define FIX_FLOOR_EXPR_CHECK(t)	TREE_CHECK (t, FIX_FLOOR_EXPR)
+ #define FIX_ROUND_EXPR_CHECK(t)	TREE_CHECK (t, FIX_ROUND_EXPR)
+ #define FLOAT_EXPR_CHECK(t)	TREE_CHECK (t, FLOAT_EXPR)
+ #define NEGATE_EXPR_CHECK(t)	TREE_CHECK (t, NEGATE_EXPR)
+ #define MIN_EXPR_CHECK(t)	TREE_CHECK (t, MIN_EXPR)
+ #define MAX_EXPR_CHECK(t)	TREE_CHECK (t, MAX_EXPR)
+ #define ABS_EXPR_CHECK(t)	TREE_CHECK (t, ABS_EXPR)
+ #define LSHIFT_EXPR_CHECK(t)	TREE_CHECK (t, LSHIFT_EXPR)
+ #define RSHIFT_EXPR_CHECK(t)	TREE_CHECK (t, RSHIFT_EXPR)
+ #define LROTATE_EXPR_CHECK(t)	TREE_CHECK (t, LROTATE_EXPR)
+ #define RROTATE_EXPR_CHECK(t)	TREE_CHECK (t, RROTATE_EXPR)
+ #define BIT_IOR_EXPR_CHECK(t)	TREE_CHECK (t, BIT_IOR_EXPR)
+ #define BIT_XOR_EXPR_CHECK(t)	TREE_CHECK (t, BIT_XOR_EXPR)
+ #define BIT_AND_EXPR_CHECK(t)	TREE_CHECK (t, BIT_AND_EXPR)
+ #define BIT_NOT_EXPR_CHECK(t)	TREE_CHECK (t, BIT_NOT_EXPR)
+ #define TRUTH_ANDIF_EXPR_CHECK(t)	TREE_CHECK (t, TRUTH_ANDIF_EXPR)
+ #define TRUTH_ORIF_EXPR_CHECK(t)	TREE_CHECK (t, TRUTH_ORIF_EXPR)
+ #define TRUTH_AND_EXPR_CHECK(t)	TREE_CHECK (t, TRUTH_AND_EXPR)
+ #define TRUTH_OR_EXPR_CHECK(t)	TREE_CHECK (t, TRUTH_OR_EXPR)
+ #define TRUTH_XOR_EXPR_CHECK(t)	TREE_CHECK (t, TRUTH_XOR_EXPR)
+ #define TRUTH_NOT_EXPR_CHECK(t)	TREE_CHECK (t, TRUTH_NOT_EXPR)
+ #define LT_EXPR_CHECK(t)	TREE_CHECK (t, LT_EXPR)
+ #define LE_EXPR_CHECK(t)	TREE_CHECK (t, LE_EXPR)
+ #define GT_EXPR_CHECK(t)	TREE_CHECK (t, GT_EXPR)
+ #define GE_EXPR_CHECK(t)	TREE_CHECK (t, GE_EXPR)
+ #define EQ_EXPR_CHECK(t)	TREE_CHECK (t, EQ_EXPR)
+ #define NE_EXPR_CHECK(t)	TREE_CHECK (t, NE_EXPR)
+ #define UNORDERED_EXPR_CHECK(t)	TREE_CHECK (t, UNORDERED_EXPR)
+ #define ORDERED_EXPR_CHECK(t)	TREE_CHECK (t, ORDERED_EXPR)
+ #define UNLT_EXPR_CHECK(t)	TREE_CHECK (t, UNLT_EXPR)
+ #define UNLE_EXPR_CHECK(t)	TREE_CHECK (t, UNLE_EXPR)
+ #define UNGT_EXPR_CHECK(t)	TREE_CHECK (t, UNGT_EXPR)
+ #define UNGE_EXPR_CHECK(t)	TREE_CHECK (t, UNGE_EXPR)
+ #define UNEQ_EXPR_CHECK(t)	TREE_CHECK (t, UNEQ_EXPR)
+ #define IN_EXPR_CHECK(t)	TREE_CHECK (t, IN_EXPR)
+ #define SET_LE_EXPR_CHECK(t)	TREE_CHECK (t, SET_LE_EXPR)
+ #define CARD_EXPR_CHECK(t)	TREE_CHECK (t, CARD_EXPR)
+ #define RANGE_EXPR_CHECK(t)	TREE_CHECK (t, RANGE_EXPR)
+ #define CONVERT_EXPR_CHECK(t)	TREE_CHECK (t, CONVERT_EXPR)
+ #define NOP_EXPR_CHECK(t)	TREE_CHECK (t, NOP_EXPR)
+ #define NON_LVALUE_EXPR_CHECK(t)	TREE_CHECK (t, NON_LVALUE_EXPR)
+ #define VIEW_CONVERT_EXPR_CHECK(t)	TREE_CHECK (t, VIEW_CONVERT_EXPR)
+ #define SAVE_EXPR_CHECK(t)	TREE_CHECK (t, SAVE_EXPR)
+ #define UNSAVE_EXPR_CHECK(t)	TREE_CHECK (t, UNSAVE_EXPR)
+ #define RTL_EXPR_CHECK(t)	TREE_CHECK (t, RTL_EXPR)
+ #define ADDR_EXPR_CHECK(t)	TREE_CHECK (t, ADDR_EXPR)
+ #define REFERENCE_EXPR_CHECK(t)	TREE_CHECK (t, REFERENCE_EXPR)
+ #define ENTRY_VALUE_EXPR_CHECK(t)	TREE_CHECK (t, ENTRY_VALUE_EXPR)
+ #define FDESC_EXPR_CHECK(t)	TREE_CHECK (t, FDESC_EXPR)
+ #define COMPLEX_EXPR_CHECK(t)	TREE_CHECK (t, COMPLEX_EXPR)
+ #define CONJ_EXPR_CHECK(t)	TREE_CHECK (t, CONJ_EXPR)
+ #define REALPART_EXPR_CHECK(t)	TREE_CHECK (t, REALPART_EXPR)
+ #define IMAGPART_EXPR_CHECK(t)	TREE_CHECK (t, IMAGPART_EXPR)
+ #define PREDECREMENT_EXPR_CHECK(t)	TREE_CHECK (t, PREDECREMENT_EXPR)
+ #define PREINCREMENT_EXPR_CHECK(t)	TREE_CHECK (t, PREINCREMENT_EXPR)
+ #define POSTDECREMENT_EXPR_CHECK(t)	TREE_CHECK (t, POSTDECREMENT_EXPR)
+ #define POSTINCREMENT_EXPR_CHECK(t)	TREE_CHECK (t, POSTINCREMENT_EXPR)
+ #define VA_ARG_EXPR_CHECK(t)	TREE_CHECK (t, VA_ARG_EXPR)
+ #define TRY_CATCH_EXPR_CHECK(t)	TREE_CHECK (t, TRY_CATCH_EXPR)
+ #define TRY_FINALLY_EXPR_CHECK(t)	TREE_CHECK (t, TRY_FINALLY_EXPR)
+ #define GOTO_SUBROUTINE_EXPR_CHECK(t)	TREE_CHECK (t, GOTO_SUBROUTINE_EXPR)
+ #define LABEL_EXPR_CHECK(t)	TREE_CHECK (t, LABEL_EXPR)
+ #define GOTO_EXPR_CHECK(t)	TREE_CHECK (t, GOTO_EXPR)
+ #define RETURN_EXPR_CHECK(t)	TREE_CHECK (t, RETURN_EXPR)
+ #define EXIT_EXPR_CHECK(t)	TREE_CHECK (t, EXIT_EXPR)
+ #define LOOP_EXPR_CHECK(t)	TREE_CHECK (t, LOOP_EXPR)
+ #define LABELED_BLOCK_EXPR_CHECK(t)	TREE_CHECK (t, LABELED_BLOCK_EXPR)
+ #define EXIT_BLOCK_EXPR_CHECK(t)	TREE_CHECK (t, EXIT_BLOCK_EXPR)
+ #define EXPR_WITH_FILE_LOCATION_CHECK(t)	TREE_CHECK (t, EXPR_WITH_FILE_LOCATION)
+ #define SWITCH_EXPR_CHECK(t)	TREE_CHECK (t, SWITCH_EXPR)
+ #define EXC_PTR_EXPR_CHECK(t)	TREE_CHECK (t, EXC_PTR_EXPR)
+ #define SIZEOF_EXPR_CHECK(t)	TREE_CHECK (t, SIZEOF_EXPR)
+ #define ARROW_EXPR_CHECK(t)	TREE_CHECK (t, ARROW_EXPR)
+ #define ALIGNOF_EXPR_CHECK(t)	TREE_CHECK (t, ALIGNOF_EXPR)
+ #define EXPR_STMT_CHECK(t)	TREE_CHECK (t, EXPR_STMT)
+ #define COMPOUND_STMT_CHECK(t)	TREE_CHECK (t, COMPOUND_STMT)
+ #define DECL_STMT_CHECK(t)	TREE_CHECK (t, DECL_STMT)
+ #define IF_STMT_CHECK(t)	TREE_CHECK (t, IF_STMT)
+ #define FOR_STMT_CHECK(t)	TREE_CHECK (t, FOR_STMT)
+ #define WHILE_STMT_CHECK(t)	TREE_CHECK (t, WHILE_STMT)
+ #define DO_STMT_CHECK(t)	TREE_CHECK (t, DO_STMT)
+ #define RETURN_STMT_CHECK(t)	TREE_CHECK (t, RETURN_STMT)
+ #define BREAK_STMT_CHECK(t)	TREE_CHECK (t, BREAK_STMT)
+ #define CONTINUE_STMT_CHECK(t)	TREE_CHECK (t, CONTINUE_STMT)
+ #define SWITCH_STMT_CHECK(t)	TREE_CHECK (t, SWITCH_STMT)
+ #define GOTO_STMT_CHECK(t)	TREE_CHECK (t, GOTO_STMT)
+ #define LABEL_STMT_CHECK(t)	TREE_CHECK (t, LABEL_STMT)
+ #define ASM_STMT_CHECK(t)	TREE_CHECK (t, ASM_STMT)
+ #define SCOPE_STMT_CHECK(t)	TREE_CHECK (t, SCOPE_STMT)
+ #define FILE_STMT_CHECK(t)	TREE_CHECK (t, FILE_STMT)
+ #define CASE_LABEL_CHECK(t)	TREE_CHECK (t, CASE_LABEL)
+ #define STMT_EXPR_CHECK(t)	TREE_CHECK (t, STMT_EXPR)
+ #define COMPOUND_LITERAL_EXPR_CHECK(t)	TREE_CHECK (t, COMPOUND_LITERAL_EXPR)
+ #define CLEANUP_STMT_CHECK(t)	TREE_CHECK (t, CLEANUP_STMT)
+ 
+ #endif /* GCC_TREE_CHECK_H */
Index: gcc/gcc/version.c
diff -c gcc/gcc/version.c:1.1.1.1 gcc/gcc/version.c:1.3
*** gcc/gcc/version.c:1.1.1.1	Wed Apr 15 16:26:06 2009
--- gcc/gcc/version.c	Sun Jun 12 21:47:23 2011
***************
*** 5,11 ****
     please modify this string to indicate that, e.g. by putting your
     organization's name in parentheses at the end of the string.  */
  
! const char version_string[] = "3.4.6";
  
  /* This is the location of the online document giving instructions for
     reporting bugs.  If you distribute a modified version of GCC,
--- 5,11 ----
     please modify this string to indicate that, e.g. by putting your
     organization's name in parentheses at the end of the string.  */
  
! const char version_string[] = "3.4.6 MVS V1.0";
  
  /* This is the location of the online document giving instructions for
     reporting bugs.  If you distribute a modified version of GCC,
***************
*** 14,17 ****
     forward us bugs reported to you, if you determine that they are
     not bugs in your modifications.)  */
  
! const char bug_report_url[] = "<URL:http://gcc.gnu.org/bugs.html>";
--- 14,17 ----
     forward us bugs reported to you, if you determine that they are
     not bugs in your modifications.)  */
  
! const char bug_report_url[] = "<URL:http://gccmvs.sourceforge.net>";
Index: gcc/gcc/vseutil.bat
diff -c /dev/null gcc/gcc/vseutil.bat:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/vseutil.bat	Thu May 12 16:38:39 2011
***************
*** 0 ****
--- 1,14 ----
+ cd ..\..\pdos\pdpclib
+ del *.o
+ copy pdptop.mac backup.mac
+ copy pdp370.mac pdptop.mac
+ make -f makefile.w32
+ cd ..\..\gcc\gcc
+ call compile -DTARGET_VSE
+ call compmvs -DTARGET_VSE -UUSE_MEMMGR -ansi -pedantic-errors
+ m4 -I ../../pdos/pdpclib vseutil.m4 >makeutil.jcl
+ call runvse makeutil.jcl outputz.txt none vseutil.obj
+ cd ..\..\pdos\pdpclib
+ copy backup.mac pdptop.mac
+ del backup.mac
+ cd ..\..\gcc\gcc
Index: gcc/gcc/vseutil.m4
diff -c /dev/null gcc/gcc/vseutil.m4:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/vseutil.m4	Thu May 12 16:38:39 2011
***************
*** 0 ****
--- 1,376 ----
+ * $$ JOB JNM=VSEJOB
+ * $$ LST LST=SYSLST,CLASS=A,RBM=999999
+ // JOB VSEJOB
+ *
+ *
+ *
+ * Standard assignments for C programs
+ *
+ // ASSGN SYS000,SYSLNK
+ // ASSGN SYS005,SYSLST
+ // ASSGN SYS007,SYSPCH
+ // OPTION DUMP
+ // OPTION NOLIST
+ *
+ *
+ * DOS/VS by default stores data in the first 4000 tracks, so
+ * steer clear of them.
+ *
+ * Assemble prolog/epilog macros
+ *
+ // OPTION EDECK,NODECK  
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,10000,100 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC ASSEMBLY
+ undivert(pdpprlg.mac)undivert(pdpepil.mac)         END
+ /*
+ CLOSE SYSPCH,PUNCH
+ // OPTION NOEDECK
+ *
+ *
+ * Put them into the macro library
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT                                         
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ * Put the copy lib straight in
+ *
+ // EXEC MAINT
+  CATALS A.PDPTOP
+  BKEND
+ undivert(pdptop.mac) BKEND
+ /*
+ *
+ *
+ *
+ *
+ * Now assemble and link copyfile
+ *
+ * // OPTION LINK
+ // OPTION CATAL
+  PHASE COPYFILE,S+80
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * assemble the subroutines
+ *
+ * // OPTION LINK
+ *  // OPTION CATAL
+ // EXEC ASSEMBLY
+ undivert(start.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdio.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdlib.s)/*
+ // EXEC ASSEMBLY
+ undivert(ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(string.s)/*
+ // EXEC ASSEMBLY
+ undivert(time.s)/*
+ // EXEC ASSEMBLY
+ undivert(errno.s)/*
+ // EXEC ASSEMBLY
+ undivert(assert.s)/*
+ // EXEC ASSEMBLY
+ undivert(locale.s)/*
+ // EXEC ASSEMBLY
+ undivert(math.s)/*
+ // EXEC ASSEMBLY
+ undivert(setjmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(signal.s)/*
+ // EXEC ASSEMBLY
+ undivert(__memmgr.s)/*
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
+ // EXEC ASSEMBLY
+ undivert(copyfile.s)/*
+ *
+ * Now link copyfile
+ *
+ // EXEC LNKEDT
+ *
+ *
+ * Now assemble and link hexdump
+ *
+ * // OPTION LINK
+ // OPTION CATAL
+  PHASE HEXDUMP,S+80
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * assemble the subroutines
+ *
+ * // OPTION LINK
+ *  // OPTION CATAL
+ // EXEC ASSEMBLY
+ undivert(start.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdio.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdlib.s)/*
+ // EXEC ASSEMBLY
+ undivert(ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(string.s)/*
+ // EXEC ASSEMBLY
+ undivert(time.s)/*
+ // EXEC ASSEMBLY
+ undivert(errno.s)/*
+ // EXEC ASSEMBLY
+ undivert(assert.s)/*
+ // EXEC ASSEMBLY
+ undivert(locale.s)/*
+ // EXEC ASSEMBLY
+ undivert(math.s)/*
+ // EXEC ASSEMBLY
+ undivert(setjmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(signal.s)/*
+ // EXEC ASSEMBLY
+ undivert(__memmgr.s)/*
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
+ // EXEC ASSEMBLY
+ undivert(hexdump.s)/*
+ *
+ * link hexdump
+ *
+ // EXEC LNKEDT
+ *
+ *
+ * Now assemble and link mvsendec
+ *
+ * // OPTION LINK
+ // OPTION CATAL
+  PHASE MVSENDEC,S+80
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * assemble the subroutines
+ *
+ * // OPTION LINK
+ *  // OPTION CATAL
+ // EXEC ASSEMBLY
+ undivert(start.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdio.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdlib.s)/*
+ // EXEC ASSEMBLY
+ undivert(ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(string.s)/*
+ // EXEC ASSEMBLY
+ undivert(time.s)/*
+ // EXEC ASSEMBLY
+ undivert(errno.s)/*
+ // EXEC ASSEMBLY
+ undivert(assert.s)/*
+ // EXEC ASSEMBLY
+ undivert(locale.s)/*
+ // EXEC ASSEMBLY
+ undivert(math.s)/*
+ // EXEC ASSEMBLY
+ undivert(setjmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(signal.s)/*
+ // EXEC ASSEMBLY
+ undivert(__memmgr.s)/*
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
+ // EXEC ASSEMBLY
+ undivert(mvsendec.s)/*
+ *
+ * link mvsendec
+ *
+ // EXEC LNKEDT
+ *
+ *
+ *
+ *
+ * Now assemble and link mvsunzip
+ *
+ * // OPTION LINK
+ // OPTION CATAL
+  PHASE MVSUNZIP,S+80
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * assemble the subroutines
+ *
+ * // OPTION LINK
+ *  // OPTION CATAL
+ // EXEC ASSEMBLY
+ undivert(start.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdio.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdlib.s)/*
+ // EXEC ASSEMBLY
+ undivert(ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(string.s)/*
+ // EXEC ASSEMBLY
+ undivert(time.s)/*
+ // EXEC ASSEMBLY
+ undivert(errno.s)/*
+ // EXEC ASSEMBLY
+ undivert(assert.s)/*
+ // EXEC ASSEMBLY
+ undivert(locale.s)/*
+ // EXEC ASSEMBLY
+ undivert(math.s)/*
+ // EXEC ASSEMBLY
+ undivert(setjmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(signal.s)/*
+ // EXEC ASSEMBLY
+ undivert(__memmgr.s)/*
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
+ // EXEC ASSEMBLY
+ undivert(mvsunzip.s)/*
+ *
+ * link mvsunzip
+ *
+ // EXEC LNKEDT
+ *
+ *
+ *
+ *
+ * Now assemble and link vseproc
+ *
+ * // OPTION LINK
+ // OPTION CATAL
+  PHASE VSEPROC,S+80
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * assemble the subroutines
+ *
+ * // OPTION LINK
+ *  // OPTION CATAL
+ // EXEC ASSEMBLY
+ undivert(start.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdio.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdlib.s)/*
+ // EXEC ASSEMBLY
+ undivert(ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(string.s)/*
+ // EXEC ASSEMBLY
+ undivert(time.s)/*
+ // EXEC ASSEMBLY
+ undivert(errno.s)/*
+ // EXEC ASSEMBLY
+ undivert(assert.s)/*
+ // EXEC ASSEMBLY
+ undivert(locale.s)/*
+ // EXEC ASSEMBLY
+ undivert(math.s)/*
+ // EXEC ASSEMBLY
+ undivert(setjmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(signal.s)/*
+ // EXEC ASSEMBLY
+ undivert(__memmgr.s)/*
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
+ // EXEC ASSEMBLY
+ undivert(vseproc.s)/*
+ *
+ * link vseproc
+ *
+ // EXEC LNKEDT
+ *
+ *
+ *
+ *
+ * Now assemble and link vsemanip
+ *
+ * // OPTION LINK
+ // OPTION CATAL
+  PHASE VSEMANIP,S+80
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * assemble the subroutines
+ *
+ * // OPTION LINK
+ *  // OPTION CATAL
+ // EXEC ASSEMBLY
+ undivert(start.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdio.s)/*
+ // EXEC ASSEMBLY
+ undivert(stdlib.s)/*
+ // EXEC ASSEMBLY
+ undivert(ctype.s)/*
+ // EXEC ASSEMBLY
+ undivert(string.s)/*
+ // EXEC ASSEMBLY
+ undivert(time.s)/*
+ // EXEC ASSEMBLY
+ undivert(errno.s)/*
+ // EXEC ASSEMBLY
+ undivert(assert.s)/*
+ // EXEC ASSEMBLY
+ undivert(locale.s)/*
+ // EXEC ASSEMBLY
+ undivert(math.s)/*
+ // EXEC ASSEMBLY
+ undivert(setjmp.s)/*
+ // EXEC ASSEMBLY
+ undivert(signal.s)/*
+ // EXEC ASSEMBLY
+ undivert(__memmgr.s)/*
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
+ // EXEC ASSEMBLY
+ undivert(vsemanip.s)/*
+ *
+ * link vsemanip
+ *
+ // EXEC LNKEDT
+ *
+ *
+ *
+ *
+ * Now punch the phases
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,10000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC CSERV
+  PUNCH COPYFILE
+  PUNCH HEXDUMP
+  PUNCH MVSENDEC
+  PUNCH MVSUNZIP
+  PUNCH VSEPROC
+  PUNCH VSEMANIP
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ * And put it to tape
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // TLBL MTO1,'HERC01.MFTOPC',0
+ // ASSGN SYS011,TAPE,VOL=MFTOPC
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:mto1'
+ *
+ *
+ *
+ *
+ /&
+ * $$ EOJ
Index: gcc/gcc/withbis.bat
diff -c /dev/null gcc/gcc/withbis.bat:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/withbis.bat	Sun Jul 19 17:06:07 2009
***************
*** 0 ****
--- 1,4 ----
+ sed 's/rem zip/zip/g' zipmvs.bat >zipmvs2.bat
+ sed -e 's/rem type/type/g' -e 's/type stage2d/rem type stage2d/g' subjobs.bat >subjobs2.bat
+ sed 's/subjobs/subjobs2/g' allmvs.bat | sed 's/zipmvs/zipmvs2/g' >allmvs2.bat
+ call allmvs2
Index: gcc/gcc/withbis1.bat
diff -c /dev/null gcc/gcc/withbis1.bat:1.1.3.4
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/withbis1.bat	Thu May 12 16:38:39 2011
***************
*** 0 ****
--- 1,49 ----
+ rem this is for use with CMS
+ 
+ cd ..\..\pdos\pdpclib
+ del *.o
+ make -f makefile.w32
+ cd ..\..\gcc\gcc
+ call compile -DTARGET_CMS
+ call compmvs -DTARGET_CMS -ansi -pedantic-errors
+ del output.txt
+ call zipmvs
+ mkdir ..\temp
+ del /q ..\temp\*.*
+ cd ..\temp
+ unzip ..\gcc\all
+ unzip *.zip
+ del *.zip
+ del ..\gcc\all.zip
+ 
+ rem for integrity, don't send these files up - let them
+ rem be generated
+ del genrtl.c
+ del insn-attrtab.c
+ del insn-emit.c
+ del insn-extract.c
+ del insn-opinit.c
+ del insn-output.c
+ del insn-peep.c
+ del insn-recog.c
+ del c-parse.c
+ del genrtl.h
+ del insn-attr.h
+ del insn-codes.h
+ del insn-config.h
+ del i-constants.h
+ del insn-flags.h
+ del tm-preds.h
+ del tree-check.h
+ 
+ del *.jcl
+ 
+ zip -0mX ..\gcc\all *
+ cd ..\gcc
+ 
+ rem for S/380 testing, use this
+ call runcms fullcms1.exec output.txt all.zip gcccms-exe.vmarc
+ 
+ rem for S/390 testing, use this
+ rem mvsendec encb all.zip all.dat
+ rem loc2ebc all.dat xfer.card
Index: gcc/gcc/withbis1.exec
diff -c /dev/null gcc/gcc/withbis1.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/withbis1.exec	Tue May 26 10:57:49 2009
***************
*** 0 ****
--- 1,47 ----
+ * Usage - WITHBIS1 <SRC> <EXE> <WORK>
+ 
+ * This script compiles all the files on SRC disk (default is A),
+ * making use of bison and generating the generated files, then
+ * copies the resultant modules to the EXE disk (default B), and
+ * puts the generated assembler on to the WORK disk (default C)
+ 
+ 
+ &SRC = A
+ &EXE = B
+ &WORK = C
+ 
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &SRC = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &WORK = &1
+ 
+ -FINARGS
+ 
+ 
+ COPY __HEADER H &SRC HEADER GCC &SRC (REPL
+ 
+ 
+ * Erase the work disk and avoid errors by copying
+ * a dummy file
+ COPY PDPTOP MAC &SRC = = &WORK (REPL
+ LIST * * &WORK (EXEC
+ EXEC CMS ERASE
+ 
+ 
+ * Build and generate generated files
+ EXEC GENCOMP &SRC
+ 
+ 
+ * Build GCC, without a source comparison, since it won't compare
+ EXEC COMPILE &SRC &EXE &SRC
+ 
+ 
+ * Save the generated assembler ourselves
+ COPY * S &SRC = = &WORK (REPL
Index: gcc/gcc/withbis2.bat
diff -c /dev/null gcc/gcc/withbis2.bat:1.1.3.4
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/withbis2.bat	Thu May 12 16:38:39 2011
***************
*** 0 ****
--- 1,53 ----
+ rem this is the second part for use with CMS
+ rem this proves the integrity of the compiler
+ rem produced in part 1 by reproducing it and
+ rem comparing the assembler
+ 
+ cd ..\..\pdos\pdpclib
+ del *.o
+ make -f makefile.w32
+ cd ..\..\gcc\gcc
+ call compile -DTARGET_CMS
+ call compmvs -DTARGET_CMS -ansi -pedantic-errors
+ del output.txt
+ call zipmvs
+ mkdir ..\temp
+ del /q ..\temp\*.*
+ cd ..\temp
+ unzip ..\gcc\all
+ unzip *.zip
+ del *.zip
+ del ..\gcc\all.zip
+ 
+ rem for integrity, don't send these files up - let them
+ rem be generated
+ del genrtl.c
+ del insn-attrtab.c
+ del insn-emit.c
+ del insn-extract.c
+ del insn-opinit.c
+ del insn-output.c
+ del insn-peep.c
+ del insn-recog.c
+ del c-parse.c
+ del genrtl.h
+ del insn-attr.h
+ del insn-codes.h
+ del insn-config.h
+ del i-constants.h
+ del insn-flags.h
+ del tm-preds.h
+ del tree-check.h
+ 
+ del *.jcl
+ del *.s
+ 
+ zip -0mX ..\gcc\all *
+ cd ..\gcc
+ 
+ rem for S/380 testing, use this
+ call runcms fullcms2.exec output.txt all.zip gcccms-asm.vmarc
+ 
+ rem for S/390 testing, use this
+ rem mvsendec encb all.zip all.dat
+ rem loc2ebc all.dat xfer.card
Index: gcc/gcc/withbis2.exec
diff -c /dev/null gcc/gcc/withbis2.exec:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/withbis2.exec	Tue May 26 10:57:49 2009
***************
*** 0 ****
--- 1,67 ----
+ * Usage - WITHBIS2 <SRC> <EXE> <WORK>
+ 
+ * This script compiles all the files on SRC disk (default is A),
+ * making use of bison and generating the generated files, then
+ * compares the generated assembler to what is still on the WORK 
+ * disk (default C), then copies the validated assembler plus
+ * generated files to the EXE disk (default B).
+ 
+ &SRC = A
+ &EXE = B
+ &WORK = C
+ 
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &SRC = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &WORK = &1
+ 
+ -FINARGS
+ 
+ 
+ COPY __HEADER H &SRC HEADER GCC &SRC (REPL
+ 
+ * Get the old generated assembler back
+ COPY * S &WORK = = &SRC (REPL
+ 
+ * Build and generate generated files
+ EXEC GENCOMP &SRC
+ 
+ 
+ * Build GCC, without a source comparison or copying the
+ * executables since we are doing that separately
+ EXEC COMPILE &SRC &SRC &SRC
+ 
+ 
+ * Compare generated assembler
+ EXEC ITERGCC DIFFCMS Y Y Y Y &SRC &WORK
+ 
+ 
+ * Save generated assembler
+ COPY * S &SRC = = &EXE (REPL
+ 
+ * Save generated files
+ COPY GENRTL C &SRC = = &EXE (REPL
+ COPY INSN-ATT C &SRC = = &EXE (REPL
+ COPY INSN-EMI C &SRC = = &EXE (REPL
+ COPY INSN-EXT C &SRC = = &EXE (REPL
+ COPY INSN-OPI C &SRC = = &EXE (REPL
+ COPY INSN-OUT C &SRC = = &EXE (REPL
+ COPY INSN-PEE C &SRC = = &EXE (REPL
+ COPY INSN-REC C &SRC = = &EXE (REPL
+ COPY C-PARSE C &SRC = = &EXE (REPL
+ 
+ COPY GENRTL H &SRC = = &EXE (REPL
+ COPY INSN-ATT H &SRC = = &EXE (REPL
+ COPY INSN-COD H &SRC = = &EXE (REPL
+ COPY INSN-CON H &SRC = = &EXE (REPL
+ COPY I-CONSTA H &SRC = = &EXE (REPL
+ COPY INSN-FLA H &SRC = = &EXE (REPL
+ COPY TM-PREDS H &SRC = = &EXE (REPL
+ COPY TREE-CHE H &SRC = = &EXE (REPL
Index: gcc/gcc/xmit1.jcl
diff -c /dev/null gcc/gcc/xmit1.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit1.jcl	Tue May 26 10:57:59 2009
***************
*** 0 ****
--- 1,15 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Define aliases for High-level qualifiers suitable
+ //* for your site.
+ //*
+ //IDCAMS   EXEC PGM=IDCAMS
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  *
+   DEFINE ALIAS (NAME(GCC) RELATE(SYS1.UCAT.TSO)) -
+          CATALOG(SYS1.VMASTCAT/SECRET)
+   DEFINE ALIAS (NAME(PDPCLIB) RELATE(SYS1.UCAT.TSO)) -
+          CATALOG(SYS1.VMASTCAT/SECRET)
+   SET MAXCC=0
+ /*
+ //
Index: gcc/gcc/xmit2.jcl
diff -c /dev/null gcc/gcc/xmit2.jcl:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit2.jcl	Sun Jul 19 17:06:09 2009
***************
*** 0 ****
--- 1,27 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Allocate space for the sequential XMIT
+ //* and the PDS of XMITs that it will be converted into
+ //*
+ //CREATE   PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&GCCPREF..GCC.SEQ.XMIT,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD2      DD DSN=&GCCPREF..GCC.PDS.XMIT,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //* Put an explicit DSORG=PS to cater for buggy ftp programs
+ //* that inspect a new dataset when they are the ones who are
+ //* meant to be setting that attribute on the open-for-write
+ //DD1      DD DSN=&GCCPREF..GCC.SEQ.XMIT,DISP=(,CATLG),
+ // DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=3120),
+ // SPACE=(3120,(30000,30000)),UNIT=SYSALLDA
+ //DD2      DD DSN=&GCCPREF..GCC.PDS.XMIT,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120),
+ // SPACE=(3120,(30000,30000,44)),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //S1 EXEC CREATE
+ //*
+ //
Index: gcc/gcc/xmit3.jcl
diff -c /dev/null gcc/gcc/xmit3.jcl:1.1.3.3
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit3.jcl	Wed Nov 11 16:50:24 2009
***************
*** 0 ****
--- 1,32 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Note that by nature, the file from the PC is in an
+ //* undefined format, since it's contents could be
+ //* anything. We know it is in XMIT format though, but
+ //* the generic tape setup facility doesn't know that
+ //* unless you specifically tell it. This procedure
+ //* assumes it is still in undefined format, and that
+ //* this program (COPYFILE, rather that IEBGENER), will
+ //* reform it into an FB80.
+ //*
+ //* Also note that the use of COPYFILE is just an example
+ //* of assisted file transfer on one system. There's a
+ //* very good chance that you won't even have the COPYFILE
+ //* program unless you have previously installed an older
+ //* version of GCC.
+ //*
+ //TRANSFER PROC GCCPREF='GCC',PDPPREF='PDPCLIB'
+ //*
+ //COPY     EXEC PGM=COPYFILE,PARM='-bb dd:in dd:out'
+ //STEPLIB  DD DSN=&PDPPREF..LINKLIB,DISP=SHR
+ //IN       DD DSN=HERC02.IN,DISP=OLD,
+ //         UNIT=TAPE,VOL=SER=PCTOMF,LABEL=(1,NL),
+ //         DCB=(RECFM=U,LRECL=0,BLKSIZE=6233)
+ //OUT      DD DSN=&GCCPREF..GCC.SEQ.XMIT,DISP=OLD
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //         PEND
+ //*
+ //S1 EXEC TRANSFER
+ //
Index: gcc/gcc/xmit4.jcl
diff -c /dev/null gcc/gcc/xmit4.jcl:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit4.jcl	Wed Nov 11 16:50:24 2009
***************
*** 0 ****
--- 1,25 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Receive the XMIT. Adjust the HLQs appropriately.
+ //*
+ //RECV1    PROC
+ //*
+ //RECV     EXEC PGM=IKJEFT01,DYNAMNBR=60
+ //SYSTSPRT DD  SYSOUT=*
+ //SYSTSIN  DD  DUMMY
+ //SYSPRINT DD  SYSOUT=*,DCB=(RECFM=FB,LRECL=121,BLKSIZE=12100)
+ //SYSTERM  DD  SYSOUT=*
+ //SYSABEND DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //         PEND
+ //*
+ //S1 EXEC RECV1
+ //SYSTSIN  DD  *
+ PROFILE PREFIX(GCC)
+ RECEIVE INDSNAME('GCC.GCC.SEQ.XMIT')
+ 
+ LISTC
+ /*
+ //*
+ //
Index: gcc/gcc/xmit5.jcl
diff -c /dev/null gcc/gcc/xmit5.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit5.jcl	Tue May 26 10:57:49 2009
***************
*** 0 ****
--- 1,23 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Submit the job that receive the various XMITs
+ //* Also the job that submits the example.
+ //* And the cleanup job.
+ //*
+ //SUBMIT   PROC GCCPREF='GCC',MEMBER=''
+ //*
+ //SUBJOB   EXEC PGM=IEBGENER
+ //SYSUT1   DD  DSN=&GCCPREF..GCC.PDS.XMIT(&MEMBER),DISP=SHR
+ //SYSUT2   DD  SYSOUT=(A,INTRDR)
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //         PEND
+ //*
+ //S1 EXEC SUBMIT,MEMBER='XMIT6'
+ //*
+ //S2 EXEC SUBMIT,MEMBER='XMIT7'
+ //*
+ //S3 EXEC SUBMIT,MEMBER='XMIT8'
+ //*
+ //
Index: gcc/gcc/xmit6.jcl
diff -c /dev/null gcc/gcc/xmit6.jcl:1.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit6.jcl	Sat Jun 11 17:27:32 2011
***************
*** 0 ****
--- 1,174 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Preallocate all target PDSes.
+ //* Then receive all the XMITs in the XMIT PDS.
+ //* Adjust the HLQs appropriately.
+ //*
+ //CREATE   PROC PDPPREF='PDPCLIB',GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&PDPPREF..INCLUDE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD2      DD DSN=&PDPPREF..SOURCE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD3      DD DSN=&PDPPREF..DOC,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD4      DD DSN=&GCCPREF..PROCLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD5      DD DSN=&GCCPREF..SOURCE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD6      DD DSN=&GCCPREF..INCLUDE,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD7      DD DSN=&GCCPREF..DOC,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD8      DD DSN=&GCCPREF..JCL,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD13     DD DSN=&PDPPREF..MACLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD14     DD DSN=&GCCPREF..S2,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD16     DD DSN=&PDPPREF..LINKLIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD1      DD DSN=&PDPPREF..INCLUDE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(23,23,44)),UNIT=SYSALLDA
+ //DD2      DD DSN=&PDPPREF..SOURCE,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(350,350,44)),UNIT=SYSALLDA
+ //DD3      DD DSN=&PDPPREF..DOC,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(50,50,44)),UNIT=SYSALLDA
+ //DD4      DD DSN=&GCCPREF..PROCLIB,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(15,15,44)),UNIT=SYSALLDA
+ //DD5      DD DSN=&GCCPREF..SOURCE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(2860,2860,44)),UNIT=SYSALLDA
+ //DD6      DD DSN=&GCCPREF..INCLUDE,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(450,450,44)),UNIT=SYSALLDA
+ //DD7      DD DSN=&GCCPREF..DOC,DISP=(,CATLG),
+ // DCB=(RECFM=VB,LRECL=255,BLKSIZE=6233),
+ // SPACE=(6233,(100,100,44)),UNIT=SYSALLDA
+ //DD8      DD DSN=&GCCPREF..JCL,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(90,90,44)),UNIT=SYSALLDA
+ //DD10     DD DSN=&GCCPREF..LINKLIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1900,1900,44),,,ROUND),UNIT=SYSALLDA
+ //DD12     DD DSN=&PDPPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(61,61,44)),UNIT=SYSALLDA
+ //DD13     DD DSN=&PDPPREF..MACLIB,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(12,12,44)),UNIT=SYSALLDA
+ //DD14     DD DSN=&GCCPREF..S2,DISP=(,CATLG),
+ // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
+ // SPACE=(6160,(12400,12400,44)),UNIT=SYSALLDA
+ //DD16     DD DSN=&PDPPREF..LINKLIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(77,77,44),,,ROUND),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //RECV2    PROC
+ //*
+ //RECV     EXEC PGM=IKJEFT01,DYNAMNBR=60
+ //SYSTSPRT DD  SYSOUT=*
+ //SYSPRINT DD  SYSOUT=*,DCB=(RECFM=FB,LRECL=121,BLKSIZE=12100)
+ //SYSTERM  DD  SYSOUT=*
+ //SYSABEND DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //         PEND
+ //*
+ //* Preallocate all datasets
+ //S1 EXEC CREATE
+ //*
+ //* Now "receive" into those preallocated datasets, using
+ //* the dataset substitutions below.
+ //S2 EXEC RECV2
+ //* Note that if you are trying to install this under your
+ //* own userid, or otherwise need multiple levels of dataset
+ //* name prefixes, you will need more than the profile prefix
+ //* to get to the right names. You will need to manually
+ //* specify the target dataset name. So on each of those
+ //* blank lines you will need something like:
+ //* DA('ABC.DEF.GCC.DOC').
+ //* For your convenience, a second send of RECEIVE commands
+ //* is included below in a DD statement that is not used.
+ //* If you change that DD to SYSTSIN and rename the existing
+ //* SYSTSIN to "UNUSED", it should work (on a z/OS system,
+ //* anyway).
+ //SYSTSIN  DD  *
+ PROFILE PREFIX(GCC)
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(GCCDOC)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(GCCJCL)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(GCCLINK)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(GCCPROC)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(GCCS2)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(GCCSRC)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(GCCINC)')
+ 
+ PROFILE PREFIX(PDPCLIB)
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(PDPDOC)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(PDPINC)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(PDPMAC)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(PDPNCAL)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(PDPLINK)')
+ 
+ RECEIVE INDSNAME('GCC.GCC.PDS.XMIT(PDPSRC)')
+ 
+ LISTC LEVEL(GCC)
+ LISTC LEVEL(PDPCLIB)
+ /*
+ //*
+ //* Rename this from UNUSED to SYSTSIN if this is more
+ //* suitable for your use. Make sure you rename the other
+ //* one from SYSTSIN to UNUSED if you do so though!
+ //UNUSED   DD  *
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(GCCDOC)')
+ DA('ABC.DEF.GCC.DOC')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(GCCJCL)')
+ DA('ABC.DEF.GCC.JCL')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(GCCLINK)')
+ DA('ABC.DEF.GCC.LINKLIB')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(GCCPROC)')
+ DA('ABC.DEF.GCC.PROCLIB')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(GCCS2)')
+ DA('ABC.DEF.GCC.S2')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(GCCSRC)')
+ DA('ABC.DEF.GCC.SOURCE')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(GCCINC)')
+ DA('ABC.DEF.GCC.INCLUDE')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(PDPDOC)')
+ DA('ABC.DEF.PDPCLIB.DOC')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(PDPINC)')
+ DA('ABC.DEF.PDPCLIB.INCLUDE')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(PDPMAC)')
+ DA('ABC.DEF.PDPCLIB.MACLIB')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(PDPNCAL)')
+ DA('ABC.DEF.PDPCLIB.NCALIB')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(PDPLINK)')
+ DA('ABC.DEF.PDPCLIB.LINKLIB')
+ RECEIVE INDSNAME('ABC.DEF.GCC.GCC.PDS.XMIT(PDPSRC)')
+ DA('ABC.DEF.PDPCLIB.SOURCE')
+ LISTC LEVEL(ABC.DEF.GCC)
+ LISTC LEVEL(ABC.DEF.PDPCLIB)
+ /*
+ //*
+ //
Index: gcc/gcc/xmit7.jcl
diff -c /dev/null gcc/gcc/xmit7.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit7.jcl	Sun Jul 19 17:06:11 2009
***************
*** 0 ****
--- 1,17 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Submit the example job
+ //*
+ //SUBEXAMP PROC GCCPREF='GCC'
+ //*
+ //SUBJOB   EXEC PGM=IEBGENER
+ //SYSUT1   DD  DSN=&GCCPREF..JCL(EXAMPLE),DISP=SHR
+ //SYSUT2   DD  SYSOUT=(A,INTRDR)
+ //SYSPRINT DD  SYSOUT=*
+ //SYSIN    DD  DUMMY
+ //*
+ //         PEND
+ //*
+ //S1 EXEC SUBEXAMP
+ //*
+ //
Index: gcc/gcc/xmit8.jcl
diff -c /dev/null gcc/gcc/xmit8.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmit8.jcl	Tue May 26 10:57:45 2009
***************
*** 0 ****
--- 1,16 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Delete temporary datasets
+ //*
+ //CLEAN    PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD1      DD DSN=&GCCPREF..GCC.SEQ.XMIT,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //DD2      DD DSN=&GCCPREF..GCC.PDS.XMIT,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //         PEND
+ //*
+ //S1 EXEC CLEAN
+ //*
+ //
Index: gcc/gcc/xmitdoc.txt
diff -c /dev/null gcc/gcc/xmitdoc.txt:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmitdoc.txt	Tue May 26 10:57:42 2009
***************
*** 0 ****
--- 1,33 ----
+ This PDS contains a stack of XMITed PDSes. They all
+ need to be restored via the RECEIVE command, by
+ running the job XMIT6 (after reading the comments
+ in it) or similar. You probably want to create two 
+ aliases - one for GCC (the compiler proper), and one 
+ for PDPCLIB (the C runtime library) before doing so. 
+ XMIT1 provides an example of that.
+ 
+ After restoration, you may wish to run GCC.JCL(EXAMPLE)
+ to compile an example C program, after the usual site 
+ customizations.
+ 
+ For further information, please see GCC.DOC(GCCMVS)
+ after the restoration.
+ 
+ Note that XMIT2-5 and 7 do not need to be run, and are
+ only for reference purposes, for people who received
+ the XMIT as a zip file on the PC.
+ 
+ You may wish to delete the one or two XMIT files
+ that were created during this process, as they
+ are only useful when trying to transport GCCMVS.
+ XMIT8 is provided for that purpose.
+ 
+ Note that the "GCC" module is a 31-bit version of the 
+ compiler, so if you are running MVS/370 it won't work,
+ and you should instead use "GCC370" which is a 24-bit
+ module. The 31-bit version should work fine as-is on
+ z/OS, OS/390, MVS/XA and MVS/380. Also note that 
+ although the compiler is 31-bit, by default it produces
+ 24-bit modules. If you wish to change this to 31-bit,
+ then after installation read GCC.DOC(GCCMVS) where
+ there are instructions for running STAGE4.
Index: gcc/gcc/xmitgcc.jcl
diff -c /dev/null gcc/gcc/xmitgcc.jcl:1.4
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmitgcc.jcl	Sat Jun 11 17:27:32 2011
***************
*** 0 ****
--- 1,125 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* GCC libraries are by default named GCC.* and PDPCLIB.*
+ //*
+ //* These are all bundled (via TRANSMIT) up into PDS, which
+ //* has the same (GCC) HLQ, since it's part of the GCC
+ //* product (although not a normal installation library).
+ //* it gets the HLQ repeated in case people wish to organize
+ //* XMITs of different products under their own userid, and 
+ //* still have the original product easily identifiable.
+ //* (Consider a non-sysprog doing the installation).
+ //*
+ //* That PDS is then in turn bundled up into a final XMIT
+ //* sequential file, called GCC.GCC.SEQ.XMIT
+ //*
+ //* Although both of these files are nominally temporary in 
+ //* nature, we give them permanent and semi-meaningful names 
+ //* so that when they are read (via RECEIVE on z/OS), the 
+ //* default name is something sensible and predictable.
+ //*
+ //DOIT     PROC 
+ //*
+ //* STUFF EACH GCC DSN INTO A MEMBER OF A PDS.
+ //*
+ //XMIT370A EXEC PGM=XMIT370
+ //XMITLOG   DD SYSOUT=*
+ //SYSPRINT  DD SYSOUT=*
+ //SYSUT1    DD DSN=&DSNAME,DISP=SHR
+ //SYSUT2    DD DSN=&&SYSUT2,
+ //             UNIT=SYSALLDA,                          
+ //             SPACE=(3120,(36500,36500)),
+ //             DISP=(,DELETE,DELETE)
+ //XMITOUT   DD DSN=GCC.GCC.PDS.XMIT(&MBR),
+ //             DISP=SHR
+ //SYSIN     DD DUMMY
+ //SYSUDUMP  DD SYSOUT=*
+ //         PEND
+ //*
+ //*
+ //*
+ //DELETE   EXEC PGM=IEFBR14
+ //XMITOUT   DD DSN=GCC.GCC.PDS.XMIT,
+ //             DISP=(MOD,DELETE,DELETE),
+ //             SPACE=(TRK,(0)),
+ //             UNIT=SYSALLDA
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //XMITOUT   DD DSN=GCC.GCC.PDS.XMIT,
+ //             DISP=(NEW,CATLG,DELETE),
+ //             DCB=(LRECL=80,BLKSIZE=3120,RECFM=FB,DSORG=PO),
+ //             SPACE=(3120,(36500,36500,44)),
+ //             UNIT=SYSALLDA
+ //*
+ //S1 EXEC PROC=DOIT,MBR=GCCDOC,DSNAME='GCC.DOC'
+ //S2 EXEC PROC=DOIT,MBR=GCCJCL,DSNAME='GCC.JCL'
+ //S3 EXEC PROC=DOIT,MBR=GCCLINK,DSNAME='GCC.LINKLIB'
+ //S4 EXEC PROC=DOIT,MBR=GCCPROC,DSNAME='GCC.PROCLIB'
+ //S5 EXEC PROC=DOIT,MBR=GCCS2,DSNAME='GCC.S2'
+ //S6 EXEC PROC=DOIT,MBR=GCCSRC,DSNAME='GCC.SOURCE'
+ //S7 EXEC PROC=DOIT,MBR=GCCINC,DSNAME='GCC.INCLUDE'
+ //*
+ //S1 EXEC PROC=DOIT,MBR=PDPDOC,DSNAME='PDPCLIB.DOC'
+ //S2 EXEC PROC=DOIT,MBR=PDPINC,DSNAME='PDPCLIB.INCLUDE'
+ //S3 EXEC PROC=DOIT,MBR=PDPMAC,DSNAME='PDPCLIB.MACLIB'
+ //S4 EXEC PROC=DOIT,MBR=PDPNCAL,DSNAME='PDPCLIB.NCALIB'
+ //S5 EXEC PROC=DOIT,MBR=PDPLINK,DSNAME='PDPCLIB.LINKLIB'
+ //S6 EXEC PROC=DOIT,MBR=PDPSRC,DSNAME='PDPCLIB.SOURCE'
+ //*
+ //*
+ //* Now provide some documentation
+ //*
+ //CPYFIL    EXEC PGM=COPYFILE,PARM='dd:in dd:out'
+ //STEPLIB   DD DSN=PDPCLIB.LINKLIB,DISP=SHR
+ //IN        DD DSN=GCC.DOC(XMITDOC),DISP=SHR
+ //OUT       DD DSN=GCC.GCC.PDS.XMIT($$DOC),DISP=SHR
+ //SYSIN     DD DUMMY
+ //SYSPRINT  DD SYSOUT=*
+ //SYSTERM   DD SYSOUT=*
+ //*
+ //*
+ //* And some JCL they will need
+ //*
+ //COPY      EXEC PGM=IEBCOPY
+ //SYSUT1    DD DSN=GCC.JCL,DISP=SHR
+ //SYSUT2    DD DSN=GCC.GCC.PDS.XMIT,DISP=SHR
+ //SYSPRINT  DD SYSOUT=*
+ //SYSIN     DD *
+  COPY OUTDD=SYSUT2
+       INDD=SYSUT1
+  SELECT MEMBER=((XMIT1,,R))
+  SELECT MEMBER=((XMIT2,,R))
+  SELECT MEMBER=((XMIT3,,R))
+  SELECT MEMBER=((XMIT4,,R))
+  SELECT MEMBER=((XMIT5,,R))
+  SELECT MEMBER=((XMIT6,,R))
+  SELECT MEMBER=((XMIT7,,R))
+  SELECT MEMBER=((XMIT8,,R))
+ /*
+ //*
+ //*
+ //* Now create a sequential XMIT of the XMIT PDS.
+ //*
+ //DELETE   EXEC PGM=IEFBR14
+ //XMITOUT   DD DSN=GCC.GCC.SEQ.XMIT,
+ //             DISP=(MOD,DELETE,DELETE),
+ //             SPACE=(TRK,(0)),
+ //             UNIT=SYSALLDA
+ //*
+ //XMIT370B EXEC PGM=XMIT370
+ //XMITLOG   DD SYSOUT=*
+ //SYSPRINT  DD SYSOUT=*
+ //SYSUT1    DD DSN=GCC.GCC.PDS.XMIT,DISP=(SHR,DELETE,DELETE)
+ //SYSUT2    DD DSN=&&SYSUT2,
+ //             UNIT=SYSALLDA,                          
+ //             SPACE=(3120,(36500,36500)),
+ //             DISP=(,DELETE,DELETE)
+ //XMITOUT   DD DSN=GCC.GCC.SEQ.XMIT,
+ //             DISP=(NEW,CATLG,DELETE),
+ //             DCB=(LRECL=80,BLKSIZE=3120,RECFM=FB),
+ //             SPACE=(3120,(36500,36500),RLSE),
+ //             UNIT=SYSALLDA
+ //SYSIN     DD DUMMY
+ //SYSUDUMP  DD SYSOUT=*
+ //*
+ //
Index: gcc/gcc/xmitread.txt
diff -c /dev/null gcc/gcc/xmitread.txt:1.1.3.3
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmitread.txt	Wed Nov 11 16:50:26 2009
***************
*** 0 ****
--- 1,57 ----
+ This archive contains GCCMVS in XMIT format.
+ --------------------------------------------
+ 
+ Note that the "GCC" module is a 31-bit version of the
+ compiler, so if you are running MVS/370 it won't work,
+ and you should instead use "GCC370" which is a 24-bit
+ module. The 31-bit version should work fine as-is on
+ z/OS, OS/390, MVS/XA and MVS/380. Also note that
+ although the compiler is 31-bit, by default it produces
+ 24-bit modules. If you wish to change this to 31-bit,
+ then after installation read GCC.DOC(GCCMVS) where
+ there are instructions for running STAGE4.
+ 
+ More options for obtaining and installing GCCMVS
+ on different platforms can be found at 
+ http://gccmvs.sourceforge.net
+ 
+ 
+ To use this XMIT, you first need to transfer the .xmi 
+ file in binary mode to a FB80 dataset and then run 
+ "receive" in TSO. Transferring data to MVS is beyond 
+ the scope of this document. Some sites use ftp. Some 
+ use ind$file. Some use emulated tape.
+ 
+ Sample jobs have been provided for the "emulated tape"
+ scenario, although some of the jobs are also applicable
+ for other methods.
+ 
+ 
+ 1. You probably want to define aliases for GCC and
+ PDPCLIB, at least if you are a systems programmer.
+ xmit1.jcl has sample JCL to do that. An applications
+ programmer installing datasets under his own userid
+ does not require this.
+ 
+ 2. You need to allocate a dataset to contain the XMIT
+ file. xmit2.jcl will do that.
+ 
+ 3. Now you need to transfer the data from the PC to
+ the mainframe. xmit3.jcl will do that for those
+ using emulated tapes *via the runmvs script* or
+ equivalent (e.g. manually creating TDF tape) on MVS/380.
+ 
+ 4. Now "receive" the dataset, using a job similar
+ to xmit4.jcl.
+ 
+ 
+ Then follow the instructions in $$DOC of the
+ dataset created. This involves submitting another
+ job within the extracted PDS itself, something
+ remotely initiated for MVS/380 users, by using the
+ sample xmit5.jcl.
+ 
+ 
+ A "xmitrecv" Windows batch file is provided that does
+ all these steps for an MVS/380 user with a similar
+ setup. It's provided purely as an example.
Index: gcc/gcc/xmitrecv.bat
diff -c /dev/null gcc/gcc/xmitrecv.bat:1.1.3.2
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmitrecv.bat	Sun Jul 19 17:06:13 2009
***************
*** 0 ****
--- 1,7 ----
+ del alljcl.jcl
+ type xmit1.jcl >>alljcl.jcl
+ type xmit2.jcl >>alljcl.jcl
+ type xmit3.jcl >>alljcl.jcl
+ type xmit4.jcl >>alljcl.jcl
+ type xmit5.jcl >>alljcl.jcl
+ call runmvs alljcl.jcl output.txt gccmvs.xmi
Index: gcc/gcc/xmittape.jcl
diff -c /dev/null gcc/gcc/xmittape.jcl:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/xmittape.jcl	Tue May 26 10:57:40 2009
***************
*** 0 ****
--- 1,14 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* Dump the sequential XMIT file to tape
+ //*
+ //TOTAPE   EXEC PGM=IEBGENER
+ //SYSIN    DD DUMMY
+ //SYSPRINT DD SYSOUT=*
+ //SYSUT1   DD DSN=GCC.GCC.SEQ.XMIT,DISP=(OLD,DELETE,DELETE)
+ //SYSUT2   DD DSN=GCC.GCC.SEQ.XMIT,
+ //            DISP=(NEW,KEEP,KEEP),
+ //            DCB=(LRECL=80,BLKSIZE=3120,RECFM=FB),
+ //            UNIT=TAPE,VOL=SER=MFTOPC,LABEL=(1,SL)
+ //*
+ //
Index: gcc/gcc/zipmvs
diff -c /dev/null gcc/gcc/zipmvs:1.7
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/zipmvs	Thu May 12 19:37:21 2011
***************
*** 0 ****
--- 1,86 ----
+ rm -f gccs.zip
+ rm -f pdpi.zip
+ rm -f gcci.zip
+ rm -f gccsrc.zip
+ rm -f pdpsrc.zip
+ rm -f gccjcl.zip
+ rm -f gccdoc.zip
+ rm -f pdpdoc.zip
+ rm -f gccprc.zip
+ rm -f gccexec.zip
+ rm -f pdpmac.zip
+ rm -f stage0d.jcl
+ rm -f alljcl.jcl
+ rm -f alljcl.txt
+ rm -f mvsendec.s
+ rm -f hexdump.s
+ rm -f dssrenam.s
+ rm -f mvsunzip.s
+ rm -f copyfile.s
+ zip -0 -X gccs.zip *.s
+ mkdir ../temp
+ rm -f ../temp/*.s
+ rm -f ../temp/*.h
+ rm -f ../temp/*.c
+ rm -f ../temp/*.def
+ cd ../../pdos/pdpclib
+ zip -0 -X ../../gcc/gcc/pdpi.zip *.h
+ zip -0 -X ../../gcc/gcc/pdpsrc.zip *.c *.asm
+ zip -0 -X ../../gcc/gcc/pdpdoc.zip *.txt
+ zip -0 -X ../../gcc/gcc/pdpmac.zip *.mac
+ cd ../../gcc/temp
+ cp ../include/*.h .
+ cp ../libiberty/*.h .
+ cp ../gcc/*.h .
+ cp ../gcc/config/i370/*.h .
+ cp ../gcc/*.def .
+ cp ../gcc/gcov-io.c gcovioc.h
+ mv builtin-attrs.def builtina.h
+ mv builtin-types.def builtint.h
+ mv builtins.def builtind.h
+ mv c-common.def ccommond.h
+ mv diagnostic.def diagndef.h
+ mv machmode.def machmodd.h
+ mv params.def paramsd.h
+ mv predict.def predictd.h
+ mv rtl.def rtld.h
+ mv stab.def stabd.h
+ mv timevar.def timevard.h
+ mv tree.def treed.h
+ mv insn-constants.h i-constants.h
+ mv langhooks-def.h langhdef.h
+ mv hosthooks-def.h hosthdef.h
+ mv gt-dwarf2asm.h gt-dwasm.h
+ zip -0 -X ../gcc/gcci.zip *.h mode-classes.def
+ cp ../libiberty/*.c .
+ cp ../gcc/*.c .
+ cp ../gcc/config/i370/*.c .
+ mv print-rtl1.c print-r1.c
+ zip -0 -X ../gcc/gccsrc.zip *.c
+ cd ../gcc
+ zip -0 -X gccjcl.zip *.jcl
+ zip -0 -X gccdoc.zip gccmvs.txt COPYING
+ zip -0 -X -j gccdoc.zip config/i370/i370.md
+ zip -0 -X gccdoc.zip c-parse.in
+ zip -0 -X gccprc.zip *.prc
+ zip -0 -X gccexec.zip *.exec *.parm
+ 
+ # for integrity, on a 31-bit system you should really
+ # delete these source files and allow them to be regenerated instead
+ #zip -d gccsrc.zip genrtl.c
+ #zip -d gccsrc.zip insn-attrtab.c
+ #zip -d gccsrc.zip insn-emit.c
+ #zip -d gccsrc.zip insn-extract.c
+ #zip -d gccsrc.zip insn-opinit.c
+ #zip -d gccsrc.zip insn-output.c
+ #zip -d gccsrc.zip insn-peep.c
+ #zip -d gccsrc.zip insn-recog.c
+ #zip -d gccsrc.zip c-parse.c
+ #zip -d gcci.zip genrtl.h
+ #zip -d gcci.zip insn-attr.h
+ #zip -d gcci.zip insn-codes.h
+ #zip -d gcci.zip insn-config.h
+ #zip -d gcci.zip i-constants.h
+ #zip -d gcci.zip insn-flags.h
+ #zip -d gcci.zip tm-preds.h
+ #zip -d gcci.zip tree-check.h
Index: gcc/gcc/zipmvs.bat
diff -c /dev/null gcc/gcc/zipmvs.bat:1.10
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/zipmvs.bat	Sun Jun 12 13:00:23 2011
***************
*** 0 ****
--- 1,93 ----
+ del all.zip
+ del autos.zip
+ del gccs.zip
+ del pdpi.zip
+ del gcci.zip
+ del gccsrc.zip
+ del pdpsrc.zip
+ del gccjcl.zip
+ del gccdoc.zip
+ del pdpdoc.zip
+ del gccprc.zip
+ del gccexec.zip
+ del gccpdos.zip
+ del pdpmac.zip
+ del gccmvs-xmit.zip
+ del makeutil.jcl
+ del alljcl.jcl
+ del output.txt
+ del mvsendec.s
+ del hexdump.s
+ del dssrenam.s
+ del mvsunzip.s
+ del copyfile.s
+ del cpyfil.s
+ del vseproc.s
+ del vsemanip.s
+ zip -9 -X -ll gccs.zip *.s
+ mkdir ..\temp
+ del /q ..\temp\*.*
+ cd ..\..\pdos\pdpclib
+ rem warning - assuming high-level name gcc here
+ zip -9 -X -ll ..\..\gcc\gcc\pdpi.zip *.h
+ zip -9 -X -ll ..\..\gcc\gcc\pdpsrc.zip *.c *.asm
+ zip -9 -X -ll ..\..\gcc\gcc\pdpdoc.zip *.txt
+ zip -9 -X -ll ..\..\gcc\gcc\pdpmac.zip *.mac
+ cd ..\..\gcc\temp
+ copy ..\include\*.h
+ copy ..\libiberty\*.h
+ copy ..\gcc\*.h
+ copy ..\gcc\config\i370\*.h
+ copy ..\gcc\*.def
+ copy ..\gcc\gcov-io.c gcovioc.h
+ ren builtin-attrs.def builtina.h
+ ren builtin-types.def builtint.h
+ ren builtins.def builtind.h
+ ren c-common.def ccommond.h
+ ren diagnostic.def diagndef.h
+ ren machmode.def machmodd.h
+ ren params.def paramsd.h
+ ren predict.def predictd.h
+ ren rtl.def rtld.h
+ ren stab.def stabd.h
+ ren timevar.def timevard.h
+ ren tree.def treed.h
+ ren insn-constants.h i-constants.h
+ ren langhooks-def.h langhdef.h
+ ren hosthooks-def.h hosthdef.h
+ ren gt-dwarf2asm.h gt-dwasm.h
+ zip -9 -X -ll ..\gcc\gcci.zip *.h mode-classes.def
+ copy ..\libiberty\*.c
+ copy ..\gcc\*.c
+ copy ..\gcc\config\i370\*.c
+ ren print-rtl1.c print-r1.c
+ zip -9 -X -ll ..\gcc\gccsrc.zip *.c
+ cd ..\gcc
+ zip -9 -X -ll gccjcl.zip *.jcl
+ zip -9 -X -ll gccdoc.zip gccmvs.txt COPYING gcccms.txt xmitdoc.txt
+ zip -9 -X -ll -j gccdoc.zip config\i370\i370.md
+ zip -9 -X -ll gccdoc.zip c-parse.in
+ zip -9 -X -ll gccprc.zip *.prc
+ zip -9 -X -ll gccexec.zip *.exec *.parm
+ 
+ rem for integrity, on a 31-bit system you should really
+ rem delete these source files and allow them to be regenerated instead
+ rem zip -d gccsrc.zip genrtl.c
+ rem zip -d gccsrc.zip insn-attrtab.c
+ rem zip -d gccsrc.zip insn-emit.c
+ rem zip -d gccsrc.zip insn-extract.c
+ rem zip -d gccsrc.zip insn-opinit.c
+ rem zip -d gccsrc.zip insn-output.c
+ rem zip -d gccsrc.zip insn-peep.c
+ rem zip -d gccsrc.zip insn-recog.c
+ rem zip -d gccsrc.zip c-parse.c
+ rem zip -d gcci.zip genrtl.h
+ rem zip -d gcci.zip insn-attr.h
+ rem zip -d gcci.zip insn-codes.h
+ rem zip -d gcci.zip insn-config.h
+ rem zip -d gcci.zip i-constants.h
+ rem zip -d gcci.zip insn-flags.h
+ rem zip -d gcci.zip tm-preds.h
+ rem zip -d gcci.zip tree-check.h
+ 
+ zip -9 -X all *.zip
Index: gcc/gcc/zippdos.bat
diff -c /dev/null gcc/gcc/zippdos.bat:1.5
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/zippdos.bat	Sun Jun 12 13:00:25 2011
***************
*** 0 ****
--- 1,79 ----
+ del all.zip
+ del autos.zip
+ del gccs.zip
+ del pdpi.zip
+ del gcci.zip
+ del gccsrc.zip
+ del pdpsrc.zip
+ del gccjcl.zip
+ del gccdoc.zip
+ del pdpdoc.zip
+ del gccprc.zip
+ del gccexec.zip
+ del pdpmac.zip
+ del gccmvs-xmit.zip
+ del makeutil.jcl
+ del alljcl.jcl
+ del output.txt
+ del mvsendec.s
+ del hexdump.s
+ del dssrenam.s
+ del mvsunzip.s
+ del copyfile.s
+ del cpyfil.s
+ del vseproc.s
+ del vsemanip.s
+ zip -9 -X -ll gccs.zip *.s
+ pushd ..\..\pdos\pdpclib
+ rem don't compress pdpi, to make it easy for PDOS
+ rem warning - assuming high-level name of gcc here
+ zip -0 -X -ll ..\..\gcc\gcc\pdpi.zip *.h
+ zip -9 -X -ll ..\..\gcc\gcc\pdpsrc.zip *.c *.asm
+ zip -9 -X -ll ..\..\gcc\gcc\pdpdoc.zip *.txt
+ zip -9 -X -ll ..\..\gcc\gcc\pdpmac.zip *.mac
+ popd
+ zip -9 -X -ll -j gcci.zip *.h ..\include\*.h ..\libiberty\*.h config\i370\*.h *.def
+ zip -9 -X -ll -j gccsrc.zip *.c ..\libiberty\*.c config\i370\*.c
+ zip -9 -X -ll gccjcl.zip *.jcl
+ zip -9 -X -ll gccdoc.zip gccmvs.txt COPYING gcccms.txt xmitdoc.txt
+ zip -9 -X -ll -j gccdoc.zip config\i370\i370.md
+ zip -9 -X -ll gccdoc.zip c-parse.in
+ zip -9 -X -ll gccprc.zip *.prc
+ zip -9 -X -ll gccexec.zip *.exec *.parm comppdos.bat
+ 
+ rem for integrity, on a 31-bit system you should really
+ rem delete these source files and allow them to be regenerated instead
+ rem zip -d gccsrc.zip genrtl.c
+ rem zip -d gccsrc.zip insn-attrtab.c
+ rem zip -d gccsrc.zip insn-emit.c
+ rem zip -d gccsrc.zip insn-extract.c
+ rem zip -d gccsrc.zip insn-opinit.c
+ rem zip -d gccsrc.zip insn-output.c
+ rem zip -d gccsrc.zip insn-peep.c
+ rem zip -d gccsrc.zip insn-recog.c
+ rem zip -d gccsrc.zip c-parse.c
+ rem zip -d gcci.zip genrtl.h
+ rem zip -d gcci.zip insn-attr.h
+ rem zip -d gcci.zip insn-codes.h
+ rem zip -d gcci.zip insn-config.h
+ rem zip -d gcci.zip i-constants.h
+ rem zip -d gcci.zip insn-flags.h
+ rem zip -d gcci.zip tm-preds.h
+ rem zip -d gcci.zip tree-check.h
+ 
+ zip -9 -X all *.zip
+ 
+ rem for now, we need to use mvsunzip
+ mkdir ..\temp
+ del /q ..\temp\*.*
+ cd ..\temp
+ unzip ..\gcc\all
+ rem too big and to transfer up currently, and also binary
+ rem manually put the file into place and run script twice
+ del gccpdos.zip
+ unzip *.zip
+ del *.zip
+ ren *.s *.s1
+ del ..\gcc\all.zip
+ zip -0mX ..\gcc\all *
+ cd ..\gcc
Index: gcc/gcc/zipvse.bat
diff -c /dev/null gcc/gcc/zipvse.bat:1.3
*** /dev/null	Mon Jun 13 20:10:10 2011
--- gcc/gcc/zipvse.bat	Sun Jun 12 13:00:25 2011
***************
*** 0 ****
--- 1,17 ----
+ del all.zip
+ 
+ del pdpi.zip
+ del pdpsrc.zip
+ del pdpdoc.zip
+ del pdpmac.zip
+ pushd ..\..\pdos\pdpclib
+ rem don't compress these libraries, because VSE doesn't
+ rem have a port of minizip yet
+ rem warning - assuming high-level name gcc here
+ zip -0 -X -ll ..\..\gcc\gcc\pdpi.zip *.h
+ zip -0 -X -ll ..\..\gcc\gcc\pdpsrc.zip *.c *.asm
+ zip -0 -X -ll ..\..\gcc\gcc\pdpdoc.zip *.txt
+ zip -0 -X -ll ..\..\gcc\gcc\pdpmac.zip *.mac
+ popd
+ 
+ zip -0 -X all pdp*.zip
Index: gcc/gcc/config/i370/build1
diff -c /dev/null gcc/gcc/config/i370/build1:1.1
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/build1	Wed Nov 11 15:42:58 2009
***************
*** 0 ****
--- 1,8 ----
+ export CFLAGS=-O0
+ ./configure --target=i370-mvspdp --prefix=/devel/mvscross --with-sysroot=/devel/mvshead --enable-languages=c
+ make
+ make install
+ mv ../mvscross/bin/i370-mvspdp-gcc ../mvscross/bin/i370-mvspdp-xxx
+ chmod 775 gcc/config/i370/i370-mvspdp-*
+ cp gcc/config/i370/i370-mvspdp-gcc ../mvscross/bin
+ cp gcc/config/i370/i370-mvspdp-ar ../mvscross/bin
Index: gcc/gcc/config/i370/build2
diff -c /dev/null gcc/gcc/config/i370/build2:1.4
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/build2	Thu May 12 15:23:06 2011
***************
*** 0 ****
--- 1,25 ----
+ #export CFLAGS=-O0
+ 
+ # Prevent this from being reconfigured
+ rm gcc/configargs.h
+ 
+ # If an error has been made in the tar extraction such that
+ # the .y is later, you will need these statements:
+ #touch gcc/gengtype-yacc.c
+ #touch gcc/gengtype-yacc.h
+ 
+ # Don't use the libiberty strncmp
+ export ac_cv_func_strncmp_works=yes
+ export ac_cv_c_bigendian=yes
+ ./configure --build=i686-linux --host=i370-mvspdp --target=i370-mvspdp --prefix=/devel/mvshost --enable-languages=c --disable-nls
+ 
+ make
+ 
+ cd gcc
+ # We don't want this to change every MVS release because
+ # we don't use it and it's just annoying
+ echo '#define GCOV_VERSION 0' >gcov-iov.h
+ # This should probably be moved to Makefile.in, but in
+ # future versions it is gone anyway.
+ echo '/* empty file */' >gencheck.h
+ cd ..
Index: gcc/gcc/config/i370/compile.m4
diff -c /dev/null gcc/gcc/config/i370/compile.m4:1.1
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/compile.m4	Sun Nov 15 17:26:24 2009
***************
*** 0 ****
--- 1,10 ----
+ del gccmvs.exe
+ del *.obj
+ del *.o
+ 
+ undivert(comp.txt)
+ rem bcc32 -w- -A -egccmvs.exe *.obj
+ rem wcl386 -zq -e=1 -za -w- -fe=gccmvs.exe *.obj
+ rem cl /Fegccmvs.exe *.obj
+ rem gcc -s -o gccmvs.exe *.o
+ gcc -s -nostdlib -o gccmvs.exe *.o ../../pdos/pdpclib/pdpwin32.a -lkernel32 -lgcc
Index: gcc/gcc/config/i370/compmus.m4
diff -c /dev/null gcc/gcc/config/i370/compmus.m4:1.2
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/compmus.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,576 ----
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'purge *'
+ 'purge old\*'
+ 'purge new\*'
+ 'purge exe\*'
+ 'rmdir old'
+ 'rmdir new'
+ 'rmdir exe'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file in tape osrecfm(u) blksize(128) vol(PCTOMF) old
+ /parm dd:in
+ /load xmon
+ mvsunzip n(mvsunzip.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'copy *.exec *'
+ 'copy *.mac *.m'
+ 'copy musstart.asm musstart.s'
+ 'copy mussupa.asm mussupa.s'
+ 'mkdir old'
+ 'copy *.s old\*.s'
+ 'musaall'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(gcc.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /file lkedwork uds(@bld.lked01) vol(musicz) bufno(0)
+ /etc new delete nrec(64000)
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=gcc
+ .org 4a00
+ undivert(link.txt)/inc musstart.obj
+ /inc mussupa.obj
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=3000,xregion=64m
+ /parm *
+ /inc dir
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /parm --version
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /PARM *.S
+ /INC PURGE
+ /END
+ 
+ undivert(compmus.txt)
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'copy musstart.asm musstart.s'
+ 'copy mussupa.asm mussupa.s'
+ 'copy gcc.lmod old\gcc.lmod'
+ 'purge gcc.lmod'
+ 'musaall'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(gcc.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /file lkedwork uds(@bld.lked01) vol(musicz) bufno(0)
+ /etc new delete nrec(64000)
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=gcc
+ .org 4a00
+ undivert(link.txt)/inc musstart.obj
+ /inc mussupa.obj
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'mkdir new'
+ 'copy *.s new\*.s'
+ 'musdall'
+ 'copy pdp370.m pdptop.m -repl'
+ 'purge *.obj'
+ 'purge *.s'
+ 'copy musstart.asm musstart.s'
+ 'copy mussupa.asm mussupa.s'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file o prt osrecfm(f) oslrecl(256)
+ /file sysin n(pdptest.c) shr
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stdio.c) shr
+ /file o n(stdio.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(stdlib.c) shr
+ /file o n(stdlib.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(ctype.c) shr
+ /file o n(ctype.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(string.c) shr
+ /file o n(string.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(time.c) shr
+ /file o n(time.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(errno.c) shr
+ /file o n(errno.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(assert.c) shr
+ /file o n(assert.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(locale.c) shr
+ /file o n(locale.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(math.c) shr
+ /file o n(math.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(setjmp.c) shr
+ /file o n(setjmp.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(signal.c) shr
+ /file o n(signal.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(start.c) shr
+ /file o n(start.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(copyfile.c) shr
+ /file o n(copyfile.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(hexdump.c) shr
+ /file o n(hexdump.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mvsunzip.c) shr
+ /file o n(mvsunzip.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(mvsendec.c) shr
+ /file o n(mvsendec.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -Os -S -DMUSIC -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /file sysprint prt osrecfm(f) oslrecl(256)
+ /file sysin n(pdptest.c) shr
+ /file o n(pdptest.s) new recfm(v) sp(1000)
+ /file sysincl pds(*.h)
+ /file include pds(*.h)
+ /parm -O0 -S -o dd:o -
+ /load xmon
+ gcc n(gcc.lmod) lcparm
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'musaone stdio'
+ 'musaone stdlib'
+ 'musaone ctype'
+ 'musaone string'
+ 'musaone time'
+ 'musaone errno'
+ 'musaone assert'
+ 'musaone locale'
+ 'musaone math'
+ 'musaone setjmp'
+ 'musaone signal'
+ 'musaone start'
+ 'musaone musstart'
+ 'musaone mussupa'
+ 
+ 'musaone pdptest'
+ 'musaone copyfile'
+ 'musaone hexdump'
+ 'musaone mvsunzip'
+ 'musaone mvsendec'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPLINK.INC REPL
+ /inc stdio.obj
+ /inc stdlib.obj
+ /inc ctype.obj
+ /inc string.obj
+ /inc time.obj
+ /inc errno.obj
+ /inc assert.obj
+ /inc locale.obj
+ /inc math.obj
+ /inc setjmp.obj
+ /inc signal.obj
+ /inc start.obj
+ /inc musstart.obj
+ /inc mussupa.obj
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(pdptest.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=pdptest
+ .org 4a00
+ /inc pdptest.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(copyfile.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=copyfile
+ .org 4a00
+ /inc copyfile.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(hexdump.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=hexdump
+ .org 4a00
+ /inc hexdump.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(mvsunzip.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=mvsunzip
+ .org 4a00
+ /inc mvsunzip.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file lmod n(mvsendec.lmod) new(repl) lr(128) recfm(f) sp(100) shr
+ /load lked
+ /job map,nogo,print,stats,mode=os,name=mvsendec
+ .org 4a00
+ /inc mvsendec.obj
+ /inc pdplink.inc(nest)
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE PDPTEST REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "pdptest n(pdptest.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE COPYFILE REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "copyfile n(copyfile.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE HEXDUMP REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "hexdump n(hexdump.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MVSUNZIP REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "mvsunzip n(mvsunzip.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /SAVE MVSENDEC REPL
+ /inc rexx
+ parse arg parms
+ queue "/sys region=9999"
+ queue "/file sysprint prt osrecfm(f) oslrecl(256)"
+ queue "/parm " parms
+ queue "/load xmon"
+ queue "mvsendec n(mvsendec.lmod) lcparm"
+ "EXEC"
+ exit rc
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /inc rexx
+ 'pdptest alpha braVo'
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999,xregion=64m
+ /inc rexx
+ 'mkdir exe'
+ 
+ 'copy gcc.lmod exe\gcc.lmod'
+ 
+ 'copy assert.h exe\assert.h'
+ 'copy ctype.h exe\ctype.h'
+ 'copy errno.h exe\errno.h'
+ 'copy float.h exe\float.h'
+ 'copy limits.h exe\limits.h'
+ 'copy locale.h exe\locale.h'
+ 'copy math.h exe\math.h'
+ 'copy mvssupa.h exe\mvssupa.h'
+ 'copy setjmp.h exe\setjmp.h'
+ 'copy signal.h exe\signal.h'
+ 'copy stdarg.h exe\stdarg.h'
+ 'copy stddef.h exe\stddef.h'
+ 'copy stdio.h exe\stdio.h'
+ 'copy stdlib.h exe\stdlib.h'
+ 'copy string.h exe\string.h'
+ 'copy time.h exe\time.h'
+ 'copy __memmgr.h exe\__memmgr.h'
+ 
+ 'purge pdptest.obj'
+ 'purge copyfile.obj'
+ 'purge hexdump.obj'
+ 'purge mvsunzip.obj'
+ 'purge mvsendec.obj'
+ 
+ 'copy *.obj exe\*.obj'
+ 
+ 'copy pdplink.inc exe\pdplink.inc'
+ 
+ 'copy copyfile.lmod exe\copyfile.lmod'
+ 'copy copyfile exe\copyfile'
+ 'copy hexdump.lmod exe\hexdump.lmod'
+ 'copy hexdump exe\hexdump'
+ 'copy mvsunzip.lmod exe\mvsunzip.lmod'
+ 'copy mvsunzip exe\mvsunzip'
+ 'copy mvsendec.lmod exe\mvsendec.lmod'
+ 'copy mvsendec exe\mvsendec'
+ 
+ /END
+ 
+ /ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999
+ /PASSWORD=BLD000
+ /sys region=9999
+ /file 1 tape vol(MFTOPC) new
+ /inc mfarc2
+ LIST=T
+ @BLD000:EXE\*
+ /END
Index: gcc/gcc/config/i370/compmvsu.m4
diff -c /dev/null gcc/gcc/config/i370/compmvsu.m4:1.2
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/compmvsu.m4	Wed Dec  2 18:56:22 2009
***************
*** 0 ****
--- 1,15 ----
+ #/bin/sh
+ 
+ FILES="
+ undivert(comp.txt)  "
+ 
+ for file in $FILES
+ 
+ do
+ 
+ echo "Cross-Compiling - $file"
+ ./gccmvs -DUSE_MEMMGR -O0 -ansi -pedantic-errors -S -DHAVE_CONFIG_H -DIN_GCC -DPUREISO $* -I ../../pdos/pdpclib -I . -I config/i370 -I ../include $file.c
+ 
+ done
+ 
+ exit
Index: gcc/gcc/config/i370/compunix.m4
diff -c /dev/null gcc/gcc/config/i370/compunix.m4:1.1
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/compunix.m4	Sun Nov 15 17:26:24 2009
***************
*** 0 ****
--- 1,19 ----
+ #/bin/sh
+ 
+ rm gccmvs
+ rm *.o
+ 
+ FILES="
+ undivert(comp.txt)  "
+ for file in $FILES
+ 
+ do
+ 
+ echo "Compiling - $file"
+ gcc -nostdinc -O2 -c -ansi -pedantic-errors -DHAVE_CONFIG_H -DIN_GCC -DPUREISO $* -I ../../pdos/pdpclib -I . -I config/i370 -I ../include $file.c
+ 
+ done
+ 
+ gcc -nostdlib -o gccmvs *.o ../../pdos/pdpclib/pdplinux.a -lgcc
+ 
+ exit
Index: gcc/gcc/config/i370/compvse0.m4
diff -c /dev/null gcc/gcc/config/i370/compvse0.m4:1.1
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/compvse0.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1 ----
+ undivert(compvse1.txt)undivert(compvse2.txt)undivert(compvse3.txt)* $$ EOJ
Index: gcc/gcc/config/i370/compvse1.txt
diff -c /dev/null gcc/gcc/config/i370/compvse1.txt:1.2
*** /dev/null	Mon Jun 13 20:10:12 2011
--- gcc/gcc/config/i370/compvse1.txt	Sun Jun  5 14:19:32 2011
***************
*** 0 ****
--- 1,194 ----
+ * $$ JOB JNM=VSEJOB
+ * $$ LST LST=SYSLST,CLASS=A,RBM=999999
+ // JOB VSEJOB
+ *
+ *
+ * Disk layout, measured in tracks
+ * These are distinct logical files
+ * Default setup assumes that you wish to compile on the
+ * same disk as the normal, predefined disk used for syslnk
+ * Steer clear of bottom 4000, system files are there by default.
+ * Note that by default there are a lot of things cataloged
+ * in system libraries, whereas normally you would only want
+ * the final PHASEs to be put into system libraries, so you
+ * may want to change that.
+ * Space allocation is defined in a way that allows a global
+ * replace to be done.
+ *
+ *
+ * 10000,500 SPACE-ALLZIP (zip of zips)
+ * 10500,300 SPACE-SINGLEZIP (single zip under consideration)
+ * 10800,100 SPACE-SINGLEC (single C source file)
+ *
+ * 11000,500 SPACE-ASMOUT (assembler output from C compile et al)
+ * 12000,500 SPACE-OBJ (object code from above C-based assembly)
+ *
+ * 13000,1000 SPACE-SYSPUNCH (syspunch output, e.g. CIL header extract)
+ * 14000,2000 SPACE-PHASE (syslnk phase input)
+ *
+ *
+ *
+ * Standard assignments for C programs
+ *
+ // ASSGN SYS000,SYSLNK
+ // ASSGN SYS005,SYSLST
+ // ASSGN SYS007,SYSPCH
+ // OPTION DUMP
+ *
+ *
+ *
+ *
+ * First we get the zip of zips from tape.
+ *
+ // DLBL SDO1,'ALL.ZIP',0,SD
+ // EXTENT SYS000,,,,10000,500 SPACE-ALLZIP
+ // ASSGN SYS011,TAPE
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-bb dd:mti1 dd:sdo1'
+ *
+ *
+ *
+ *
+ *
+ * unzip the PDPCLIB include zip file
+ *
+ // DLBL SDI1,'ALL.ZIP'
+ // DLBL SDO1,'PDPI.ZIP',0,SD
+ // EXTENT SYS000,,,,10500,300 SPACE-SINGLEZIP
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 pdpi.zip binary'
+ *
+ *
+ *
+ *
+ *
+ * extract header files
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ *
+ // DLBL SDI1,'PDPI.ZIP'
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1'
+ *
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ *
+ * Put header files into the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ * Assemble the prolog/epilog macros
+ *
+ // OPTION EDECK,NODECK  
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC ASSEMBLY
+ undivert(pdpprlg.mac)undivert(pdpepil.mac)         END
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ * Put them into the assembler macro library
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT                                         
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ * Also save a copy into the CIL that can be fed back to
+ * maint again later.
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpmacs)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * Put copy of macros into CIL using LNKEDT
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ * Put the copy libs directly in
+ *
+ // EXEC MAINT
+  CATALS A.PDPTOP
+  BKEND
+ undivert(pdptop.mac) BKEND
+ /*
+ *
+ // EXEC MAINT
+  CATALS A.PDP370
+  BKEND
+ undivert(pdp370.mac) BKEND
+ /*
+ *
+ // EXEC MAINT
+  CATALS A.PDP380
+  BKEND
+ undivert(pdp380.mac) BKEND
+ /*
+ *
+ // EXEC MAINT
+  CATALS A.PDP390
+  BKEND
+ undivert(pdp390.mac) BKEND
+ /*
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now assemble the main routine
+ *
+ * Note that GCC exceeds the limits of z/VSE so cannot be made
+ * relocatable until a separate tool is written.
+ * Until then, the 7 MB location is the one most likely to work
+ * on a z/VSE system.
+ *
+ * However, if building on a VSE/380 system, some tricks needed
+ * to be pulled to make that work, and as a result, at least for
+ * now, if this value below is changed, both VSEPARM and $JOBEXIT
+ * also need to be changed to cope with the new location.
+ *
+ // DLBL IJSYSLN,,0,SD
+ // EXTENT SYSLNK,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL,NOLIST
+  PHASE GCC,+X'7000C8'
+ // EXEC ASSEMBLY
+ undivert(vsestart.asm)/*
+ *
+ * Now assemble the subroutines
+ *
+ // EXEC ASSEMBLY
+ undivert(vsesupa.asm)/*
Index: gcc/gcc/config/i370/compvse3.txt
diff -c /dev/null gcc/gcc/config/i370/compvse3.txt:1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/compvse3.txt	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,579 ----
+ *
+ * Now link the whole app
+ *
+ // EXEC LNKEDT
+ *
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now run the app
+ *
+ // EXEC GCC,SIZE=AUTO,PARM='-S -o - -'
+ #include <stdio.h>
+ 
+ int main(void)
+ {
+     printf("hello, world %d\n", FILENAME_MAX);
+     return (0);
+ }
+ /*
+ *
+ *
+ *
+ *
+ * Switch to S/370 executables now
+ *
+ // EXEC MAINT
+  CATALS A.PDPTOP
+  BKEND
+ undivert(pdp370.mac) BKEND
+ /*
+ *
+ *
+ *
+ * unzip the PDPCLIB source zip file
+ *
+ // DLBL SDI1,'ALL.ZIP'
+ // DLBL SDO1,'PDPSRC.ZIP',0,SD
+ // EXTENT SYS000,,,,10500,300 SPACE-SINGLEZIP
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 pdpsrc.zip binary'
+ *
+ *
+ *
+ *
+ *
+ * create the proc from list of files
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEPROC,SIZE=AUTO,PARM='- dd:syspunch'
+ -----
+ STDIO
+ STRING
+ STDLIB
+ CTYPE
+ ERRNO
+ LOCALE
+ MATH
+ SIGNAL
+ SETJMP
+ ASSERT
+ TIME
+ START
+ -----
+ *
+ *
+ *
+ * unzip %s.C
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'%s.C',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 %s.C'
+ *
+ * Compile %s
+ *
+ // DLBL SDI1,'%s.C'
+ // DLBL IJSYSPH,'%s.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC GCC,SIZE=AUTO,PARM='-S -Os -o dd:syspunch dd:sdi1'
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ * assemble %s
+ *
+ // DLBL IJSYSIN,'%s.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'%s.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR %s
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ // DLBL IJSYSIN,'%s.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ -----
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ *
+ * Put the PROC in
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ * execute the proc
+ *
+ // EXEC PROC=VSEPROC
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * unzip __memmgr.c
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'@@MEMMGR.C',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 __memmgr.c'
+ *
+ * Compile __memmgr
+ *
+ // DLBL SDI1,'@@MEMMGR.C'
+ // DLBL IJSYSPH,'@@MEMMGR.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC GCC,SIZE=AUTO,PARM='-S -Os -o dd:syspunch dd:sdi1'
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ * assemble __memmgr
+ *
+ // DLBL IJSYSIN,'@@MEMMGR.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'@@MEMMGR.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR @@MEMMGR
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ // DLBL IJSYSIN,'@@MEMMGR.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * unzip vsesupa
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'VSESUPA.ASM',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 vsesupa.asm'
+ *
+ *
+ * Copy vsesupa
+ *
+ // DLBL SDI1,'VSESUPA.ASM'
+ // DLBL IJSYSPH,'VSESUPA.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-tt dd:sdi1 dd:syspunch'
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ *
+ * assemble vsesupa
+ *
+ // DLBL IJSYSIN,'VSESUPA.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'VSESUPA.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR VSESUPA
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ // DLBL IJSYSIN,'VSESUPA.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * unzip vsestart
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'VSESTART.ASM',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 vsestart.asm'
+ *
+ *
+ * Copy vsestart
+ *
+ // DLBL SDI1,'VSESTART.ASM'
+ // DLBL IJSYSPH,'VSESTART.S',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC COPYFILE,SIZE=AUTO,PARM='-tt dd:sdi1 dd:syspunch'
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ *
+ * assemble vsestart
+ *
+ // DLBL IJSYSIN,'VSESTART.S'
+ ASSGN SYSIPT,SYS000
+ // DLBL IJSYSPH,'VSESTART.OBJ',0,SD
+ // EXTENT SYSPCH,,,,12000,500 SPACE-OBJ
+ ASSGN SYSPCH,SYS000
+ // OPTION DECK,NOEDECK
+  CATALR VSESTART
+ // EXEC ASSEMBLY
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ CLOSE SYSIPT,READER
+ *
+ // DLBL IJSYSIN,'VSESTART.OBJ'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * create the proc from list of files
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEPROC,SIZE=AUTO,PARM='- dd:syspunch'
+ -----
+ COPYFILE
+ MVSENDEC
+ VSEPROC
+ VSEMANIP
+ HEXDUMP
+ MVSUNZIP
+ PDPTEST
+ -----
+ *
+ * unzip %s.C
+ *
+ // DLBL SDI1,'PDPSRC.ZIP'
+ // DLBL SDO1,'%s.C',0,SD
+ // EXTENT SYS000,,,,10800,100 SPACE-SINGLEC
+ // EXEC MVSUNZIP,SIZE=AUTO,PARM='dd:sdi1 dd:sdo1 %s.C'
+ *
+ *
+ *
+ * Compile %s
+ *
+ // DLBL SDI1,'%s.C'
+ // DLBL IJSYSPH,'%s.ASM',0,SD
+ // EXTENT SYSPCH,,,,11000,500 SPACE-ASMOUT
+ ASSGN SYSPCH,SYS000
+ // EXEC GCC,SIZE=AUTO,PARM='-S -Os -o dd:syspunch dd:sdi1'
+ *
+ CLOSE SYSPCH,PUNCH                                    
+ *
+ *
+ *
+ * assemble %s
+ *
+ // DLBL IJSYSLN,,0,SD
+ // EXTENT SYSLNK,,,,14000,1000 SPACE-PHASE
+ ASSGN SYSLNK,SYS000
+ // OPTION LINK
+ // OPTION CATAL,LIST
+  PHASE %s,S+80
+ // DLBL IJSYSIN,'%s.ASM'
+ ASSGN SYSIPT,SYS000
+ // EXEC ASSEMBLY
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ * link %s
+ *
+  INCLUDE VSESTART
+  INCLUDE STDIO
+  INCLUDE STRING
+  INCLUDE STDLIB
+  INCLUDE CTYPE
+  INCLUDE ERRNO
+  INCLUDE LOCALE
+  INCLUDE MATH
+  INCLUDE SIGNAL
+  INCLUDE SETJMP
+  INCLUDE ASSERT
+  INCLUDE TIME
+  INCLUDE START
+  INCLUDE VSESUPA
+  ENTRY @@MAIN
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ -----
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ *
+ * Put the PROC in
+ *
+ // DLBL IJSYSIN,'PDPPUNCH.DAT'
+ ASSGN SYSIPT,SYS000
+ // EXEC MAINT
+ CLOSE SYSIPT,READER
+ *
+ *
+ *
+ *
+ *
+ * execute the proc
+ *
+ // EXEC PROC=VSEPROC
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now run PDPTEST
+ *
+ // EXEC PDPTEST,SIZE=AUTO,PARM='Hi there Guys'
+ *
+ *
+ *
+ *
+ * Now punch the header files by executing CSERV (unusually)
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC CSERV
+  PUNCH ASSERT
+  PUNCH CTYPE
+  PUNCH ERRNO
+  PUNCH FLOAT
+  PUNCH LIMITS
+  PUNCH LOCALE
+  PUNCH MATH
+  PUNCH MVSSUPA
+  PUNCH SETJMP
+  PUNCH SIGNAL
+  PUNCH STDARG
+  PUNCH STDDEF
+  PUNCH STDIO
+  PUNCH STDLIB
+  PUNCH STRING
+  PUNCH TIME
+  PUNCH @@MEMMGR
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And get the single file ready for the CIL
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpi)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ * Now put it in the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now punch the relocatable objects by executing RSERV
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC RSERV
+  PUNCH ASSERT
+  PUNCH CTYPE
+  PUNCH ERRNO
+  PUNCH LOCALE
+  PUNCH MATH
+  PUNCH VSESUPA
+  PUNCH VSESTART
+  PUNCH START
+  PUNCH SETJMP
+  PUNCH SIGNAL
+  PUNCH STDIO
+  PUNCH STDLIB
+  PUNCH STRING
+  PUNCH TIME
+  PUNCH @@MEMMGR
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And get the single file ready for the CIL
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpobj)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ * Now put it in the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now punch the assembler copybooks using SSERV
+ *
+ // DLBL IJSYSPH,'PDPPUNCH.DAT',0,SD
+ // EXTENT SYSPCH,,,,13000,1000 SPACE-SYSPUNCH
+ ASSGN SYSPCH,SYS000
+ // EXEC SSERV
+  PUNCH PDPTOP
+  PUNCH PDP370
+  PUNCH PDP380
+  PUNCH PDP390
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And get the single file ready for the CIL
+ *
+ // DLBL SDI1,'PDPPUNCH.DAT'
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:out(pdpcopy)'
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ *
+ * Now put it in the CIL
+ *
+ ASSGN SYSLNK,SYS000
+ // OPTION CATAL
+ // DLBL IJSYSIN,'PDPPUN2.DAT'
+ ASSGN SYSIPT,SYS000
+  INCLUDE
+ CLOSE SYSIPT,READER
+ // EXEC LNKEDT
+ ASSGN SYSLNK,UA
+ *
+ *
+ *
+ *
+ *
+ *
+ * Now punch the phases
+ *
+ // DLBL IJSYSPH,'PDPPUN2.DAT',0,SD
+ // EXTENT SYSPCH,,,,14000,2000 SPACE-PHASE
+ ASSGN SYSPCH,SYS000
+ // EXEC CSERV
+  PUNCH GCC
+  PUNCH COPYFILE
+  PUNCH HEXDUMP
+  PUNCH MVSENDEC
+  PUNCH MVSUNZIP
+  PUNCH VSEPROC
+  PUNCH VSEMANIP
+  PUNCH PDPI
+  PUNCH PDPOBJ
+  PUNCH PDPMACS
+  PUNCH PDPCOPY
+ /*
+ CLOSE SYSPCH,PUNCH
+ *
+ *
+ *
+ * And put it to tape
+ *
+ // DLBL SDI1,'PDPPUN2.DAT'
+ // TLBL MTO1,'HERC01.MFTOPC',0
+ // ASSGN SYS011,TAPE,VOL=MFTOPC
+ // EXEC VSEMANIP,SIZE=AUTO,PARM='dd:sdi1 dd:mto1'
+ *
+ *
+ *
+ *
+ /&
Index: gcc/gcc/config/i370/gcclink.m4
diff -c /dev/null gcc/gcc/config/i370/gcclink.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/gcclink.m4	Fri Nov 20 22:04:15 2009
***************
*** 0 ****
--- 1,62 ----
+ ****************************************************************
+ *
+ * This exec links all object together to create GCC MODULE.
+ * It also produces a GCC MAP for debugging purposes
+ * Usage: GCCLINK <DISK> <EXE> <MODULE_NAME>
+ *
+ *******************************************************************
+ 
+ &DISK = A
+ &MODULE = GCC
+ 
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &DISK = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &EXE = &1
+ &ARGS &2 &3 &4 &5 &6 &7 &8 &9
+ 
+ &IF &INDEX EQ 0 &GOTO -FINARGS
+ &MODULE = &1
+ 
+ -FINARGS
+ 
+ 
+ &CONTROL CMS MSG
+ &BEGTYPE
+ 
+ LOADING GCC MAIN MODULE...
+ 
+ &ENDTYPE
+ &STACK HT
+ LOAD    CMSSTART (NOLIBE NOAUTO
+ INCLUDE START (NOLIBE NOAUTO
+ INCLUDE CMSSUPA (NOLIBE NOAUTO
+ INCLUDE STDIO (NOLIBE NOAUTO
+ INCLUDE STDLIB (NOLIBE NOAUTO
+ INCLUDE CTYPE (NOLIBE NOAUTO
+ INCLUDE STRING (NOLIBE NOAUTO
+ INCLUDE TIME (NOLIBE NOAUTO
+ INCLUDE ERRNO (NOLIBE NOAUTO
+ INCLUDE ASSERT (NOLIBE NOAUTO
+ INCLUDE LOCALE (NOLIBE NOAUTO
+ INCLUDE MATH (NOLIBE NOAUTO
+ INCLUDE SETJMP (NOLIBE NOAUTO
+ INCLUDE SIGNAL (NOLIBE NOAUTO
+ undivert(link.txt)&STACK RT
+ INCLUDE __MEMMGR (NOLIBE NOAUTO
+ &IF &RETCODE NE 0 &GOTO -MISSING
+ GENMOD &MODULE MODULE &EXE (NOMAP
+ *COPY LOAD MAP &DISK GCC MAP &DISK (REPLACE
+ ERASE LOAD MAP &DISK
+ &EXIT
+ -MISSING
+ &BEGTYPE
+ *
+ * GCC MODULE note generated
+ * Problem with load - check all TEXT decks are present
+ *
+ &ENDTYPE
+ &EXIT 4
Index: gcc/gcc/config/i370/genmake
diff -c /dev/null gcc/gcc/config/i370/genmake:1.8
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/genmake	Thu Jun  9 20:09:25 2011
***************
*** 0 ****
--- 1,81 ----
+ grep "^gcc " srclist.txt | awk '{print " ", $2}' >comp.txt
+ grep "^libiberty " srclist.txt | awk '{print "  ../libiberty/" $2}' >>comp.txt
+ grep "^i370 " srclist.txt | awk '{print "  config/i370/" $2}' >>comp.txt
+ m4 -I . compunix.m4 >compile
+ chmod 775 compile
+ grep "^util " srclist.txt | awk '{print "  ../../pdos/pdpclib/" $2}' >>comp.txt
+ m4 -I . compmvsu.m4 >compmvs
+ chmod 775 compmvs
+ 
+ gcc -o genscr genscr.c
+ cat srclist.txt | ./genscr file1.txt file2.txt file3.txt file4.txt file5.txt compmus.txt compvse2.txt
+ 
+ # MVS stuff
+ cp file1.txt comp.txt
+ m4 -I . compile.m4 >compile.bat
+ cp file2.txt compmvs.bat
+ cat file3.txt | sed 's/ST2PDP/ST1CMP/' | sed 's/ST2CMP/ST1CMP/' >file.txt
+ # This is limited by the number of JCL steps allowed
+ head -125 file.txt >comp.txt
+ m4 -I . stage1a.m4 >stage1a.jcl
+ diff comp.txt file.txt | grep ">" | cut -c3- >comp2.txt
+ mv comp2.txt comp.txt
+ cp file4.txt link.txt
+ m4 -I . stage1b.m4 >stage1b.jcl
+ m4 -I . stage1b_pdos.m4 >stage1b_pdos.jcl
+ 
+ head -84 file3.txt >comp.txt
+ m4 -I . stage2a.m4 >stage2a.jcl
+ cp comp.txt compp.txt
+ sed 's/ ST2/ ST3/' <comp.txt >comp2.txt
+ mv comp2.txt comp.txt
+ m4 -I . stage3a.m4 >stage3a.jcl
+ 
+ diff compp.txt file3.txt | grep ">" | cut -c3- | head -85 >comp2.txt
+ cat comp2.txt >>compp.txt
+ mv comp2.txt comp.txt
+ m4 -I . stage2b.m4 >stage2b.jcl
+ sed 's/ ST2/ ST3/' <comp.txt >comp2.txt
+ mv comp2.txt comp.txt
+ m4 -I . stage3b.m4 >stage3b.jcl
+ 
+ diff compp.txt file3.txt | grep ">" | cut -c3- | head -100 >comp2.txt
+ cat comp2.txt >>compp.txt
+ mv comp2.txt comp.txt
+ m4 -I . stage2c.m4 >stage2c.jcl
+ sed 's/ ST2/ ST3/' <comp.txt >comp2.txt
+ mv comp2.txt comp.txt
+ m4 -I . stage3c.m4 >stage3c.jcl
+ 
+ # MUSIC stuff
+ grep "^gcc" srclist.txt | awk '{print $2}' >comp.txt
+ grep "^libiberty" srclist.txt | awk '{print $2}' >>comp.txt
+ grep "^i370" srclist.txt | awk '{print $2}' >>comp.txt
+ grep "^c " srclist.txt | awk '{print $2}' >>comp.txt
+ cp comp.txt pdos1.txt
+ cut -c1-13 comp.txt >comp2.txt
+ awk "{print \"'musaone\",\$1\"'\"}" comp2.txt >comp.txt
+ m4 -I . musaall.m4 >musaall.exec
+ sed 's/musaone/musdone/' <musaall.exec >musdall.exec
+ awk '{print "/inc", $1".obj"}' comp2.txt >link.txt
+ m4 -I . compmus.m4 >compmus.job
+ 
+ # more PDOS stuff
+ grep "^gcc" srclist.txt | awk '{print $2}' >comp.txt
+ grep "^libiberty" srclist.txt | awk '{print $2}' >>comp.txt
+ grep "^i370" srclist.txt | awk '{print $2}' >>comp.txt
+ awk '{print "gcc -Os -S -I . -DPUREISO -DIN_GCC -DHAVE_CONFIG_H -ansi -pedantic-errors", $1".c"}' comp.txt >comppdos.bat
+ grep "^c " srclist.txt | awk '{print $2}' >comp.txt
+ awk '{print "gcc -Os -S -I . -DUSE_MEMMGR -ansi -pedantic-errors", $1".c"}' comp.txt >>comppdos.bat
+ awk '{print "diff "$1".s1 "$1".s"}' pdos1.txt >>comppdos.bat
+ 
+ # CMS stuff
+ cat file5.txt | sed 's/XXXX/ EXEC \&SCRIPT/' \
+     | sed 's/YYYY/ \&6 \&7 \&8 \&9/' >comp.txt
+ m4 -I . itergcc.m4 >itergcc.exec
+ 
+ cat file5.txt | awk '{print "INCLUDE", $2, "(NOLIBE NOAUTO"}' >link.txt
+ m4 -I . gcclink.m4 >gcclink.exec
+ 
+ # VSE stuff
+ m4 -I . compvse0.m4 >compvse.m4
Index: gcc/gcc/config/i370/genscr.c
diff -c /dev/null gcc/gcc/config/i370/genscr.c:1.8
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/genscr.c	Sun Jun  5 14:33:28 2011
***************
*** 0 ****
--- 1,272 ----
+ /*********************************************************************/
+ /*                                                                   */
+ /*  This Program Written by Paul Edwards.                            */
+ /*  Released to the Public Domain                                    */
+ /*                                                                   */
+ /*********************************************************************/
+ /*********************************************************************/
+ /*                                                                   */
+ /*  genscr.c - generate scripts                                      */
+ /*                                                                   */
+ /*********************************************************************/
+ 
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
+ #include <ctype.h>
+ 
+ /* number of files */
+ #define NUM 7
+ 
+ static void func1(FILE *f, char *dir, char *file);
+ static void func2(FILE *f, char *dir, char *file);
+ static void func3(FILE *f, char *dir, char *file);
+ static void func4(FILE *f, char *dir, char *file);
+ static void func5(FILE *f, char *dir, char *file);
+ static void func6(FILE *f, char *dir, char *file);
+ static void func7(FILE *f, char *dir, char *file);
+ static char *mangle(char *file);
+ 
+ int main(int argc, char **argv)
+ {
+     FILE *files[NUM];
+     void (*funcs[NUM])(FILE *, char *dir, char *file) =
+     {
+         func1,
+         func2,
+         func3,
+         func4,
+         func5,
+         func6,
+         func7,
+     };
+     int x;
+     char buf[100];
+     char dir[50];
+     char file[50];
+     
+     if (argc <= NUM)
+     {
+         printf("usage: genscr <out1> ... <out9>\n");
+         return (EXIT_FAILURE);
+     }
+     
+     for (x = 0; x < NUM; x++)
+     {
+         files[x] = fopen(*(argv + x + 1), "w");
+         if (files[x] == NULL)
+         {
+             printf("failed to open %s\n", *(argv + x + 1));
+             return (EXIT_FAILURE);
+         }
+     }
+     
+     while (fgets(buf, sizeof buf, stdin) != NULL)
+     {
+         sscanf(buf, "%s %s", dir, file);
+         for (x = 0; x < NUM; x++)
+         {
+             funcs[x](files[x], dir, file);
+         }
+     }
+         
+     for (x = 0; x < NUM; x++)
+     {
+         fclose(files[x]);
+     }
+     return (0);
+ }
+ 
+ /* compile.bat */
+ static void func1(FILE *f, char *dir, char *file)
+ {
+     if (strcmp(dir, "gcc") == 0)
+     {
+         fprintf(f,
+                 "call stdcomp %s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     else if (strcmp(dir, "libiberty") == 0)
+     {
+         fprintf(f,
+                 "call stdcomp ../libiberty/%s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     else if (strcmp(dir, "i370") == 0)
+     {
+         fprintf(f,
+                 "call stdcomp config/i370/%s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     return;
+ }
+ 
+ /* compmvs.bat */
+ static void func2(FILE *f, char *dir, char *file)
+ {
+     if (strcmp(dir, "gcc") == 0)
+     {
+         fprintf(f,
+                 "call stdcompm %s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     else if (strcmp(dir, "libiberty") == 0)
+     {
+         fprintf(f,
+                 "call stdcompm ../libiberty/%s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     else if (strcmp(dir, "i370") == 0)
+     {
+         fprintf(f,
+                 "call stdcompm config/i370/%s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     else if (strcmp(dir, "c") == 0)
+     {
+         fprintf(f,
+                 "call stdcompm ../../pdos/pdpclib/%s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     else if (strcmp(dir, "util") == 0)
+     {
+         fprintf(f,
+                 "call stdcompm ../../pdos/pdpclib/%s.c "
+                 "%%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9\n",
+                 file);
+     }
+     return;
+ }
+ 
+ /* stage2.jcl */
+ static void func3(FILE *f, char *dir, char *file)
+ {
+     if (strcmp(dir, "gcc") == 0)
+     {
+         fprintf(f, "//%-8s EXEC ST2CMP,MEMBER=%s\n",
+                 mangle(file), mangle(file));
+     }
+     else if (strcmp(dir, "libiberty") == 0)
+     {
+         fprintf(f, "//%-8s EXEC ST2CMP,MEMBER=%s\n",
+                 mangle(file), mangle(file));
+     }
+     else if (strcmp(dir, "i370") == 0)
+     {
+         fprintf(f, "//%-8s EXEC ST2CMP,MEMBER=%s\n",
+                 mangle(file), mangle(file));
+     }
+     else if (strcmp(dir, "c") == 0)
+     {
+         fprintf(f, "//%-8s EXEC ST2PDP,MEMBER=%s\n",
+                 mangle(file), mangle(file));
+     }
+     return;
+ }
+ 
+ /* stage2 link */
+ static void func4(FILE *f, char *dir, char *file)
+ {
+     if (strcmp(dir, "util") != 0)
+     {
+         fprintf(f, " INCLUDE SYSLIB(%s)\n", mangle(file));
+     }
+     return;
+ }
+ 
+ static char *mangle(char *file)
+ {
+     /* yes mum, I realise I will go to hell for using a static
+        buffer when the caller is calling it twice in the one
+        function. But it will work anyway in this case. */
+     static char buf[50];
+     unsigned char *p;
+ 
+     strcpy(buf, file);
+     buf[8] = '\0';
+     p = (unsigned char *)buf;
+     while (*p != '\0')
+     {
+         *p = toupper(*p);
+         if (*p == '-')
+         {
+             *p = '@';
+         }
+         else if (*p == '_')
+         {
+             *p = '@';
+         }
+         p++;
+     }
+     return (buf);
+ }
+ 
+ /* CMS */
+ static void func5(FILE *f, char *dir, char *file)
+ {
+     static char buf[50];
+     unsigned char *p;
+ 
+     if ((strcmp(dir, "gcc") != 0)
+         && (strcmp(dir, "libiberty") != 0)
+         && (strcmp(dir, "i370") != 0))
+     {
+         return;
+     }
+     strcpy(buf, file);
+     buf[8] = '\0';
+     p = (unsigned char *)buf;
+     while (*p != '\0')
+     {
+         *p = toupper(*p);
+         p++;
+     }
+     fprintf(f, "XXXX %-8s YYYY\n", buf);
+     return;
+ }
+ 
+ /* music jobs */
+ static void func6(FILE *f, char *dir, char *file)
+ {
+     static char buf[50];
+     
+     if (strcmp(dir, "asm") == 0) return;
+     strcpy(buf, file);
+     buf[13] = '\0';
+     fprintf(f,
+ "/ID SAVE-JOB-123456 @BLD000 9999 9999 9999 9999\n"
+ "/PASSWORD=BLD000\n"
+ "/sys region=9999,xregion=64m\n"
+ "/file sysprint prt osrecfm(f) oslrecl(256)\n"
+ "/file sysin n(%s.c) shr\n"
+ "/file o n(%s.s) new recfm(v) sp(1000)\n"
+ "/file sysincl pds(*.h)\n"
+ "/file include pds(*.h)\n"
+ "/parm -Os -S %s -DMUSIC -o dd:o -\n"
+ "/load xmon\n"
+ "gcc n(gcc.lmod) lcparm\n"
+ "/END\n",
+     buf, buf,
+       ((strcmp(dir, "c") == 0) || (strcmp(dir, "util") == 0)) ?
+       "-DUSE_MEMMGR" :
+       "-remap -DHAVE_CONFIG_H -DIN_GCC -DPUREISO -DIFOX"
+     );
+     return;
+ }
+ 
+ /* VSE assembly commands */
+ static void func7(FILE *f, char *dir, char *file)
+ {
+     if (strcmp(dir, "asm") == 0) return;
+     if (strcmp(dir, "util") == 0) return;
+     fprintf(f, "// EXEC ASSEMBLY\n"
+             "undivert(%s.s)/*\n", file);
+     return;
+ }
Index: gcc/gcc/config/i370/genshort
diff -c /dev/null gcc/gcc/config/i370/genshort:1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/genshort	Wed Nov 18 08:30:38 2009
***************
*** 0 ****
--- 1,16 ----
+ export LC_ALL=C
+ gcc -o mvsdupx mvsdupx.c
+ cd ../..
+ rm *.s
+ compmvs -DNOSHORT
+ cat *.s >config/i370/allasm.txt
+ cd config/i370
+ grep '^\* X\-' allasm.txt | awk '{print $3}' | sort -f >allasm2.txt
+ mvsdupx <allasm2.txt | grep -v "define main main" >allasm3.txt
+ awk '{print "#define", $2, "ZZZ_"NR}' <allasm3.txt >allasm4.txt
+ cat allasm4.txt \
+     | grep -v " gen_lowpart Z" \
+     | grep -v " obstack_free Z" \
+     | grep -v " htab_create Z" \
+     | grep -v " version_string Z" \
+     | grep -v " get_identifier Z" >mshort.h
Index: gcc/gcc/config/i370/i370-c.c
diff -c gcc/gcc/config/i370/i370-c.c:1.1.1.1 gcc/gcc/config/i370/i370-c.c:1.2
*** gcc/gcc/config/i370/i370-c.c:1.1.1.1	Wed Apr 15 16:27:55 2009
--- gcc/gcc/config/i370/i370-c.c	Sat Jul  4 14:22:13 2009
***************
*** 34,39 ****
--- 34,41 ----
  
  #ifdef TARGET_HLASM
  
+ #define BAD(msgid) do { warning (msgid); return; } while (0)
+ 
  /* #pragma map (name, alias) -
     In this implementation both name and alias are required to be
     identifiers.  The older code seemed to be more permissive.  Can
***************
*** 45,64 ****
  {
    tree name, alias, x;
  
!   if (c_lex (&x)        == CPP_OPEN_PAREN
!       && c_lex (&name)  == CPP_NAME
!       && c_lex (&x)     == CPP_COMMA
!       && c_lex (&alias) == CPP_NAME
!       && c_lex (&x)     == CPP_CLOSE_PAREN)
!     {
!       if (c_lex (&x) != CPP_EOF)
! 	warning ("junk at end of #pragma map");
! 
!       mvs_add_alias (IDENTIFIER_POINTER (name), IDENTIFIER_POINTER (alias), 1);
!       return;
!     }
  
!   warning ("malformed #pragma map, ignored");
  }
  
  #endif
--- 47,137 ----
  {
    tree name, alias, x;
  
!   if (c_lex (&x) != CPP_OPEN_PAREN)
!     BAD ("missing '(' after '#pragma map' - ignored");
! 
!   if (c_lex (&name) != CPP_NAME)
!     BAD ("missing identifer name in '#pragma map' - ignored");
! 
!   if (c_lex (&x) != CPP_COMMA)
!     BAD ("malformed '#pragma map' - ignored");
! 
!   if (c_lex (&alias) != CPP_STRING)
!     BAD ("missing alias name in '#pragma map' - ignored");
! 
!   if (c_lex (&x) != CPP_CLOSE_PAREN)
!     BAD ("missing ')' for '#pragma map' - ignored");
! 
!   if (c_lex (&x) != CPP_EOF)
!     warning ("junk at end of '#pragma map'");
! 
!   mvs_add_alias (IDENTIFIER_POINTER (name), TREE_STRING_POINTER (alias), 1);
! }
! 
! /* #pragma linkage (name, mode) -
!    In this implementation both name and alias are required to be
!    identifiers.  The older code seemed to be more permissive.  Can
!    anyone clarify?  */
! 
! void
! i370_pr_linkage (pfile)
!      cpp_reader *pfile ATTRIBUTE_UNUSED;
! {
!   tree name, mode, x;
! 
!   if (c_lex (&x) != CPP_OPEN_PAREN)
!     BAD ("missing '(' after '#pragma linkage' - ignored");
! 
!   if (c_lex (&name) != CPP_NAME)
!     BAD ("missing identifer name in '#pragma linkage' - ignored");
! 
!   if (c_lex (&x) != CPP_COMMA)
!     BAD ("malformed '#pragma linkage' - ignored");
! 
!   if (c_lex (&mode) != CPP_NAME)
!     BAD ("missing linkage mode in '#pragma linkage' - ignored");
! 
!   if (c_lex (&x) != CPP_CLOSE_PAREN)
!     BAD ("missing ')' for '#pragma linkage' - ignored");
  
!   if (c_lex (&x) != CPP_EOF)
!     warning ("junk at end of '#pragma linkage'");
! 
! }
! 
! /* #pragma checkout (mode) -
!    In this implementation both name and alias are required to be
!    identifiers.  The older code seemed to be more permissive.  Can
!    anyone clarify?  */
! 
! void
! i370_pr_checkout (pfile)
!      cpp_reader *pfile ATTRIBUTE_UNUSED;
! {
!   tree mode, x;
! 
!   if (c_lex (&x) != CPP_OPEN_PAREN)
!     BAD ("missing '(' after '#pragma checkout' - ignored");
! 
!   if (c_lex (&mode) != CPP_NAME)
!     BAD ("missing checkout mode in '#pragma checkout' - ignored");
! 
!   if (c_lex (&x) != CPP_CLOSE_PAREN)
!     BAD ("missing ')' for '#pragma checkout' - ignored");
! 
!   if (c_lex (&x) != CPP_EOF)
!     warning ("junk at end of '#pragma checkout'");
! 
! }
! 
! /* #pragma nomargins
!    #pragma nosequence
!    We just ignore. */
! 
! void
! i370_pr_skipit (pfile)
!      cpp_reader *pfile ATTRIBUTE_UNUSED;
! {
  }
  
  #endif
Index: gcc/gcc/config/i370/i370-mvspdp-ar
diff -c /dev/null gcc/gcc/config/i370/i370-mvspdp-ar:1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/i370-mvspdp-ar	Wed Nov 11 15:42:58 2009
***************
*** 0 ****
--- 1,2 ----
+ echo ar $*
+ #touch $2
Index: gcc/gcc/config/i370/i370-mvspdp-gcc
diff -c /dev/null gcc/gcc/config/i370/i370-mvspdp-gcc:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/i370-mvspdp-gcc	Wed Dec  2 18:56:31 2009
***************
*** 0 ****
--- 1,2 ----
+ echo $* >>/tmp/build.txt
+ i370-mvspdp-xxx -ansi -pedantic-errors -Werror-implicit-function-declaration -DPUREISO -S -I /devel/mvshead/usr/include $*
Index: gcc/gcc/config/i370/i370-protos.h
diff -c gcc/gcc/config/i370/i370-protos.h:1.1.1.1 gcc/gcc/config/i370/i370-protos.h:1.3
*** gcc/gcc/config/i370/i370-protos.h:1.1.1.1	Wed Apr 15 16:27:55 2009
--- gcc/gcc/config/i370/i370-protos.h	Sat Sep 19 13:21:45 2009
***************
*** 45,55 ****
  extern int mvs_function_check (const char *);
  extern void mvs_add_alias (const char *, const char *, int);
  extern int mvs_need_alias (const char *);
  extern int mvs_get_alias (const char *, char *);
  extern int mvs_check_alias (const char *, char *);
  extern void check_label_emit (void);
  extern void mvs_free_label_list (void);
  
! extern void i370_pr_map (struct cpp_reader *);
  
  #endif /* ! GCC_I370_PROTOS_H */
--- 45,63 ----
  extern int mvs_function_check (const char *);
  extern void mvs_add_alias (const char *, const char *, int);
  extern int mvs_need_alias (const char *);
+ extern int mvs_mark_alias (const char *);
+ extern int mvs_dump_alias (FILE *);
  extern int mvs_get_alias (const char *, char *);
  extern int mvs_check_alias (const char *, char *);
  extern void check_label_emit (void);
  extern void mvs_free_label_list (void);
+ /*extern void i370_output_ascii (FILE *, const char *, size_t);*/
  
! #ifdef GCC_C_PRAGMA_H
! extern void i370_pr_map       (struct cpp_reader *);
! extern void i370_pr_skipit    (struct cpp_reader *);
! extern void i370_pr_linkage   (struct cpp_reader *);
! extern void i370_pr_checkout  (struct cpp_reader *);
! #endif
  
  #endif /* ! GCC_I370_PROTOS_H */
Index: gcc/gcc/config/i370/i370.c
diff -c gcc/gcc/config/i370/i370.c:1.1.1.1 gcc/gcc/config/i370/i370.c:1.35
*** gcc/gcc/config/i370/i370.c:1.1.1.1	Wed Apr 15 16:27:55 2009
--- gcc/gcc/config/i370/i370.c	Fri May 27 22:57:08 2011
***************
*** 3,9 ****
     Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
!    Hacked for Linux-ELF/390 by Linas Vepstas (linas@linas.org) 
  
  This file is part of GCC.
  
--- 3,9 ----
     Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
!    Modified for Linux-ELF/390 by Linas Vepstas (linas@linas.org) 
  
  This file is part of GCC.
  
***************
*** 40,50 ****
--- 40,56 ----
  #include "flags.h"
  #include "recog.h"
  #include "toplev.h"
+ #include "ggc.h"
  #include "cpplib.h"
  #include "tm_p.h"
  #include "target.h"
  #include "target-def.h"
  
+ 
+ /* maximum length output line */
+ /* need to allow for people dumping specs */
+ #define MAX_LEN_OUT 2000
+ 
  extern FILE *asm_out_file;
  
  /* Label node.  This structure is used to keep track of labels 
***************
*** 69,77 ****
--- 75,95 ----
    }
  label_node_t;
  
+ /* if we just inspected a label on another page, we want to
+    record that */
+ static int just_referenced_page = -1;
+ 
  /* Is 1 when a label has been generated and the base register must be reloaded.  */
  int mvs_need_base_reload = 0;
  
+ /* Is 1 when an entry point is to be generated.  */
+ int mvs_need_entry = 0;
+ 
+ /* Is 1 if we have seen main() */
+ int mvs_gotmain = 0;
+ 
+ int mvs_need_to_globalize = 1;
+ 
  /* Current function starting base page.  */
  int function_base_page;
  
***************
*** 81,95 ****
--- 99,125 ----
  /* Length of the current page literals.  */
  int mvs_page_lit;
  
+ /* Length of case statement entries */
+ int mvs_case_code = 0;
+ 
+ /* The desired CSECT name */
+ char *mvs_csect_name = 0;
+ 
  /* Current function name.  */
  char *mvs_function_name = 0;
  
+ /* Current source module.  */
+ char *mvs_module = 0;
+ 
  /* Current function name length.  */
  size_t mvs_function_name_length = 0;
  
  /* Page number for multi-page functions.  */
  int mvs_page_num = 0;
  
+ /* First entry point.  */
+ static int mvs_first_entry = 1;
+ 
  /* Label node list anchor.  */
  static label_node_t *label_anchor = 0;
  
***************
*** 99,118 ****
  /* Assembler source file descriptor.  */
  static FILE *assembler_source = 0;
  
  static label_node_t * mvs_get_label (int);
  static void i370_label_scan (void);
  #ifdef TARGET_HLASM
  static bool i370_hlasm_assemble_integer (rtx, unsigned int, int);
  static void i370_globalize_label (FILE *, const char *);
  #endif
  static void i370_output_function_prologue (FILE *, HOST_WIDE_INT);
  static void i370_output_function_epilogue (FILE *, HOST_WIDE_INT);
  static void i370_file_start (void);
  static void i370_file_end (void);
  
! #ifdef LONGEXTERNAL
  static int mvs_hash_alias (const char *);
  #endif
  static void i370_internal_label (FILE *, const char *, unsigned long);
  static bool i370_rtx_costs (rtx, int, int, int *);
  
--- 129,156 ----
  /* Assembler source file descriptor.  */
  static FILE *assembler_source = 0;
  
+ /* Flag that enables position independent code */
+ int i370_enable_pic = 1;
+ 
  static label_node_t * mvs_get_label (int);
+ static void i370_encode_section_info (tree, rtx, int);
+ static const char * i370_strip_name_encoding (const char *s);
  static void i370_label_scan (void);
+ 
  #ifdef TARGET_HLASM
  static bool i370_hlasm_assemble_integer (rtx, unsigned int, int);
  static void i370_globalize_label (FILE *, const char *);
  #endif
+ 
  static void i370_output_function_prologue (FILE *, HOST_WIDE_INT);
  static void i370_output_function_epilogue (FILE *, HOST_WIDE_INT);
  static void i370_file_start (void);
  static void i370_file_end (void);
  
! #ifdef TARGET_ALIASES
  static int mvs_hash_alias (const char *);
  #endif
+ 
  static void i370_internal_label (FILE *, const char *, unsigned long);
  static bool i370_rtx_costs (rtx, int, int, int *);
  
***************
*** 133,138 ****
--- 171,179 ----
  
  #define MAX_LONG_LABEL_SIZE 255
  
+ /* character to use to separate encoding info from function name */
+ #define MVS_NAMESEP ','
+ 
  /* Alias node, this structure is used to keep track of aliases to external
     variables. The IBM assembler allows an alias to an external name 
     that is longer that 8 characters; but only once per assembly.
***************
*** 141,146 ****
--- 182,188 ----
    {
      struct alias_node *alias_next;
      int  alias_emitted;
+     int  alias_used;
      char alias_name [MAX_MVS_LABEL_SIZE + 1];
      char real_name [MAX_LONG_LABEL_SIZE + 1];
    }
***************
*** 149,154 ****
--- 191,197 ----
  /* Alias node list anchor.  */
  static alias_node_t *alias_anchor = 0;
  
+ #ifdef TARGET_LE
  /* Define the length of the internal MVS function table.  */
  #define MVS_FUNCTION_TABLE_LENGTH 32
  
***************
*** 172,179 ****
--- 215,224 ----
     "y1",       "yn"
  #endif
  };
+ #endif /* TARGET_LE */
  
  #endif /* TARGET_HLASM */
+ 
  /* ===================================================== */
  
  
***************
*** 203,222 ****
  #define  TARGET_ASM_INTERNAL_LABEL i370_internal_label
  #undef TARGET_RTX_COSTS
  #define TARGET_RTX_COSTS i370_rtx_costs
  
  struct gcc_target targetm = TARGET_INITIALIZER;
  
  /* Set global variables as needed for the options enabled.  */
  
  void
! override_options ()
  {
    /* We're 370 floating point, not IEEE floating point.  */
    memset (real_format_for_mode, 0, sizeof real_format_for_mode);
    REAL_MODE_FORMAT (SFmode) = &i370_single_format;
    REAL_MODE_FORMAT (DFmode) = &i370_double_format;
  }
  
  /* ===================================================== */
  /* The following three routines are used to determine whther 
     forward branch is on this page, or is a far jump.  We use
--- 248,371 ----
  #define  TARGET_ASM_INTERNAL_LABEL i370_internal_label
  #undef TARGET_RTX_COSTS
  #define TARGET_RTX_COSTS i370_rtx_costs
+ #undef	TARGET_ENCODE_SECTION_INFO
+ #define TARGET_ENCODE_SECTION_INFO i370_encode_section_info
+ #undef	TARGET_STRIP_NAME_ENCODING
+ #define TARGET_STRIP_NAME_ENCODING i370_strip_name_encoding
  
  struct gcc_target targetm = TARGET_INITIALIZER;
  
+ 
  /* Set global variables as needed for the options enabled.  */
  
+ /* ===================================================== */
+ /* This is our last chance to clean up before starting to compile.
+    We do this to fix up some initializations.   */
+ 
  void
! i370_override_options (void)
  {
+   i370_enable_pic = flag_pic;
+ 
+   if (mvs_csect_name)
+   {
+       static char buf[9];
+       char *p;
+       
+       strncpy(buf, mvs_csect_name, 8);
+       p = buf;
+       while (*p != '\0')
+       {
+           *p = TOUPPER((unsigned char)*p);
+           p++;
+       }
+       mvs_csect_name = buf;
+   }
+ #ifdef TARGET_LINUX
+   /* Override CALL_USED_REGISTERS & FIXED_REGISTERS 
+      PIC requires r12, otherwise its free */
+   if (i370_enable_pic) 
+     {
+       fix_register ("r12", 1, 1);
+     }
+   else
+     {
+       fix_register ("r12", 0, 0);
+     }
+ #endif /* TARGET_LINUX */
+ 
    /* We're 370 floating point, not IEEE floating point.  */
    memset (real_format_for_mode, 0, sizeof real_format_for_mode);
    REAL_MODE_FORMAT (SFmode) = &i370_single_format;
    REAL_MODE_FORMAT (DFmode) = &i370_double_format;
  }
  
+ static int statfunc = 0;
+ static int statvar = 0;
+ 
+ /* Encode symbol attributes (local vs. global, tls model) of a SYMBOL_REF
+    into its SYMBOL_REF_FLAGS.  */
+ 
+ static void
+ i370_encode_section_info (tree decl, rtx rtl, int first)
+ {
+   default_encode_section_info (decl, rtl, first);
+   if (DECL_EXTERNAL (decl) && TREE_PUBLIC (decl)) 
+     SYMBOL_REF_FLAG (XEXP (DECL_RTL (decl), 0)) = 1;
+   if (first
+       && !TREE_PUBLIC (decl)
+       && TREE_CODE (decl) == FUNCTION_DECL)
+   {
+     rtx sym_ref = XEXP (rtl, 0);
+     size_t len = strlen (XSTR (sym_ref, 0));
+     char buf[20];
+     char *str = alloca (len + sizeof buf);
+ 
+     statfunc++;
+     sprintf(buf, "%cF%d", MVS_NAMESEP, statfunc);
+     strcpy(str, XSTR(sym_ref, 0));
+     strcat(str, buf);
+     XSTR (sym_ref, 0) = ggc_alloc_string (str, strlen(str) + 1);
+   }                                                                
+   else if (first
+       && TREE_STATIC (decl)
+       && !TREE_PUBLIC (decl)
+       && TREE_CODE (decl) == VAR_DECL)
+   {
+     rtx sym_ref = XEXP (rtl, 0);
+     size_t len = strlen (XSTR (sym_ref, 0));
+     char buf[20];
+     char *str = alloca (len + sizeof buf);
+ 
+     statvar++;
+     sprintf(buf, "%cV%d", MVS_NAMESEP, statvar);
+     strcpy(str, XSTR(sym_ref, 0));
+     strcat(str, buf);
+     XSTR (sym_ref, 0) = ggc_alloc_string (str, strlen(str) + 1);
+   }                                                                
+ }
+ 
+ static const char *
+ i370_strip_name_encoding (const char *s)
+ {
+     const char *p;
+     static char buf[100];
+     size_t len;
+ 
+     p = strchr(s, MVS_NAMESEP);
+     if (p != NULL)
+     {
+         len = (size_t)(p - s);
+     }
+     if ((p != NULL) && (len < sizeof buf))
+     {
+         memcpy(buf, s, len);
+         buf[len] = '\0';
+         return (buf);
+     }
+     return (default_strip_name_encoding(s));
+ }
+ 
  /* ===================================================== */
  /* The following three routines are used to determine whther 
     forward branch is on this page, or is a far jump.  We use
***************
*** 230,245 ****
  /* Return the destination address of a branch.  */
  
  int
! i370_branch_dest (branch)
!      rtx branch;
  {
    rtx dest = SET_SRC (PATTERN (branch));
    int dest_uid;
    int dest_addr;
  
    /* first, compute the estimated address of the branch target */
    if (GET_CODE (dest) == IF_THEN_ELSE)
!     dest = XEXP (dest, 1);
    dest = XEXP (dest, 0);
    dest_uid = INSN_UID (dest);
    dest_addr = INSN_ADDRESSES (dest_uid);
--- 379,405 ----
  /* Return the destination address of a branch.  */
  
  int
! i370_branch_dest (rtx branch)
  {
    rtx dest = SET_SRC (PATTERN (branch));
    int dest_uid;
    int dest_addr;
  
    /* first, compute the estimated address of the branch target */
+   
    if (GET_CODE (dest) == IF_THEN_ELSE)
!   {
!      if (GET_CODE (XEXP (dest, 1)) == LABEL_REF)
!         dest = XEXP (dest, 1);
!      else
!         dest = XEXP (dest, 2);
!   }
! 
!   if (GET_CODE(dest) != LABEL_REF)
!   {
!      abort();
!   }
! 
    dest = XEXP (dest, 0);
    dest_uid = INSN_UID (dest);
    dest_addr = INSN_ADDRESSES (dest_uid);
***************
*** 254,266 ****
  
       lp = mvs_get_label (labelno);
       if (-1 == lp -> first_ref_page) lp->first_ref_page = mvs_page_num;
    }
    return dest_addr;
  }
  
  int
! i370_branch_length (insn)
!      rtx insn;
  {
    int here, there;
    here = INSN_ADDRESSES (INSN_UID (insn));
--- 414,426 ----
  
       lp = mvs_get_label (labelno);
       if (-1 == lp -> first_ref_page) lp->first_ref_page = mvs_page_num;
+      just_referenced_page = lp->label_page;
    }
    return dest_addr;
  }
  
  int
! i370_branch_length (rtx insn)
  {
    int here, there;
    here = INSN_ADDRESSES (INSN_UID (insn));
***************
*** 270,281 ****
  
  
  int
! i370_short_branch (insn)
!      rtx insn;
  {
    int base_offset;
  
    base_offset = i370_branch_length(insn);
    if (0 > base_offset) 
      {
        base_offset += mvs_page_code;
--- 430,451 ----
  
  
  int
! i370_short_branch (rtx insn)
  {
    int base_offset;
  
    base_offset = i370_branch_length(insn);
+   /* If we just referenced something off-page, then you can
+      forget about doing a short branch to it! So for backward
+      references, we'll have a page number and can see that it is
+      different. For forward references, the page number isn't
+      available yet (ie it's still set to -1), so don't use
+      this logic on them. */
+   if ((just_referenced_page != mvs_page_num)
+       && (just_referenced_page != -1))
+     {
+       return 0;
+     }
    if (0 > base_offset) 
      {
        base_offset += mvs_page_code;
***************
*** 288,294 ****
      }
    
    /* make a conservative estimate of room left on page */
!   if ((4060 >base_offset) && ( 0 < base_offset)) return 1;
    return 0;
  }
  
--- 458,464 ----
      }
    
    /* make a conservative estimate of room left on page */
!   if ((MVS_PAGE_CONSERVATIVE >base_offset) && ( 0 < base_offset)) return 1;
    return 0;
  }
  
***************
*** 313,319 ****
  }
  
  static void 
! i370_label_scan () 
  {
     rtx insn;
     label_node_t *lp;
--- 483,489 ----
  }
  
  static void 
! i370_label_scan (void)
  {
     rtx insn;
     label_node_t *lp;
***************
*** 416,422 ****
     off than yesterday.  */
  
                      /* print_rtl_single (stdout, insn); */
!                     debug_rtx (insn);
                      /* abort(); */
                      continue;
                   }
--- 586,592 ----
     off than yesterday.  */
  
                      /* print_rtl_single (stdout, insn); */
!                     /* debug_rtx (insn); */
                      /* abort(); */
                      continue;
                   }
***************
*** 459,490 ****
     reloads when several labels are generated pointing to the same place
     in the code.  
  
!    The page table is written at the end of the function. 
!    The entries in the page table look like
       .LPGT0:          // PGT0 EQU *
       .long .LPG0      // DC A(PG0)
       .long .LPG1      // DC A(PG1)
!   while the prologue generates
!       L       r4,=A(.LPGT0)
  
!   Note that this paging scheme breaks down if a single subroutine 
!   has more than about 10MB of code in it ... as long as humans write
!   code, this shouldn't be a problem ...
   */
  
  void
! check_label_emit ()
  {
    if (mvs_need_base_reload)
      {
        mvs_need_base_reload = 0;
- 
        mvs_page_code += 4;
        fprintf (assembler_source, "\tL\t%d,%d(,%d)\n",
! 	  BASE_REGISTER, (mvs_page_num - function_base_page) * 4,
! 	  PAGE_REGISTER);
      }
  }
  
  /* Add the label to the current page label list.  If a free element is available
     it will be used for the new label.  Otherwise, a label element will be
--- 629,710 ----
     reloads when several labels are generated pointing to the same place
     in the code.  
  
!    The table of base register values is created at the end of the function.
!    The MVS/OE/USS/HLASM version keeps this table in the text section, and
!    it looks like the following:
!       PGT0 EQU *
!       DC A(PG0)
!       DC A(PG1)
!    
!    The ELF version keeps the base register table in either the text or the 
!    data section, depending on the setting of the i370_enable_pic flag.
!    Disabling this flag frees r12 for general purpose use, but makes the 
!    code non-relocatable.  The non-pic table resemble the mvs-style table.
!    The pic table stores values for both r3 (the register used for branching)
!    and r12 (the register to index the literal pool, also in the data section).
!    Thus, the ELF pic version has twice as many entries, and double the offset.
! 
       .LPGT0:          // PGT0 EQU *
       .long .LPG0      // DC A(PG0)
+      .long .LPOOL0     
       .long .LPG1      // DC A(PG1)
!      .long .LPOOL1     
! 
!   Note that the functin prologue loads the page addressing register:
!       L       PAGE_REGISTER,=A(.LPGT0)
  
!   The ELF version then stores this value at 0(r13), so that its always
!   accessible. This frees up r4 for general register allocation; whereas
!   the MVS version is stuck with r4.
! 
!   Note that this addressing scheme breaks down when a single subroutine
!   has more than twelve MBytes of code or so for non-pic, and 6MB for pic.
!   Its hard to imagine under what circumstances a single subroutine would 
!   ever get that big ...
   */
  
+ #ifdef TARGET_HLASM
  void
! check_label_emit (void)
  {
    if (mvs_need_base_reload)
      {
        mvs_need_base_reload = 0;
        mvs_page_code += 4;
        fprintf (assembler_source, "\tL\t%d,%d(,%d)\n",
!           BASE_REGISTER, (mvs_page_num - function_base_page) * 4,
!           PAGE_REGISTER);
!     }
! }
! #endif /* TARGET_HLASM */
! 
! #ifdef TARGET_LINUX
! void
! check_label_emit (void)
! {
!   if (mvs_need_base_reload)
!     {
!       mvs_need_base_reload = 0;
! 
!       if (i370_enable_pic) 
!         {
!           mvs_page_code += 12;
!           fprintf (assembler_source, "\tL\tr3,0(,r13)\n");
!           fprintf (assembler_source, "\tL\tr%d,%d(,r3)\n",
!               PIC_BASE_REGISTER, ((mvs_page_num - function_base_page) * 8 +4));
!           fprintf (assembler_source, "\tL\tr3,%d(,r3)\n",
!               (mvs_page_num - function_base_page) * 8);
!         }
!       else
!         {
!           mvs_page_code += 8;
!           fprintf (assembler_source, "\tL\tr3,0(,r13)\n");
!           fprintf (assembler_source, "\tL\tr3,%d(,r3)\n",
!               ((mvs_page_num - function_base_page) * 4));
!         }
      }
  }
+ #endif /* TARGET_LINUX */
  
  /* Add the label to the current page label list.  If a free element is available
     it will be used for the new label.  Otherwise, a label element will be
***************
*** 492,499 ****
     ID is the label number of the label being added to the list.  */
  
  static label_node_t *
! mvs_get_label (id)
!      int id;
  {
    label_node_t *lp;
  
--- 712,718 ----
     ID is the label number of the label being added to the list.  */
  
  static label_node_t *
! mvs_get_label (int id)
  {
    label_node_t *lp;
  
***************
*** 528,535 ****
  }
  
  void
! mvs_add_label (id)
!      int id;
  {
    label_node_t *lp;
    int fwd_distance;
--- 747,753 ----
  }
  
  void
! mvs_add_label (int id)
  {
    label_node_t *lp;
    int fwd_distance;
***************
*** 537,542 ****
--- 755,771 ----
    lp = mvs_get_label (id);
    lp->label_page = mvs_page_num;
  
+ /* Note that without this, some case statements are
+      not generating correct code, e.g. case '{' in
+      do_spec_1 in gcc.c */
+ #if 1
+   if (mvs_page_num != function_base_page)
+   {
+       mvs_need_base_reload ++;
+       return;
+   }
+ #endif
+ 
    /* OK, we just saw the label.  Determine if this label
     * needs a reload of the base register */
    if ((-1 != lp->first_ref_page) && 
***************
*** 564,570 ****
  
    fwd_distance = lp->label_last_ref - lp->label_addr;
  
!   if (mvs_page_code + 2 * fwd_distance + mvs_page_lit < 4060) return;
  
    mvs_need_base_reload ++;
  }
--- 793,800 ----
  
    fwd_distance = lp->label_last_ref - lp->label_addr;
  
!   if (mvs_page_code + 2 * fwd_distance + mvs_page_lit < MVS_PAGE_CONSERVATIVE)
!       return;
  
    mvs_need_base_reload ++;
  }
***************
*** 578,585 ****
     ID is the label number of the label being checked.  */
  
  int
! mvs_check_label (id)
!      int id;
  {
    label_node_t *lp;
  
--- 808,814 ----
     ID is the label number of the label being checked.  */
  
  int
! mvs_check_label (int id)
  {
    label_node_t *lp;
  
***************
*** 622,628 ****
     label element chain.  */
  
  void
! mvs_free_label_list ()
  {
  
    if (label_anchor)
--- 851,857 ----
     label element chain.  */
  
  void
! mvs_free_label_list (void)
  {
  
    if (label_anchor)
***************
*** 635,640 ****
--- 864,891 ----
    label_anchor = 0;
  }
  
+ /* Convert a float to a printable form.  */
+ #if 0
+ char *
+ mvs_make_float (REAL_VALUE_TYPE r)
+ {
+    char *p;
+    static char buf[50];
+ 
+    REAL_VALUE_TO_DECIMAL (r, "%.9G", buf);
+    for (p = buf; *p; p++)
+       if (ISLOWER(*p)) *p = TOUPPER(*p);
+    if ((p = strrchr (buf, 'E')) != NULL)
+    {
+       char *t = p;
+       for (p--; *p == '0'; p--) ;
+       if (*p == '.') p++;
+       strcpy (++p, t);
+    }
+    return (buf);
+ }
+ #endif
+ 
  /* ====================================================================== */
  /* If the page size limit is reached a new code page is started, and the base
     register is set to it.  This page break point is counted conservatively,
***************
*** 646,672 ****
  
  #ifdef TARGET_HLASM
  int
! mvs_check_page (file, code, lit)
!      FILE *file;
!      int code, lit;
  {
    if (file)
      assembler_source = file;
  
    if (mvs_page_code + code + mvs_page_lit + lit > MAX_MVS_PAGE_LENGTH)
      {
!       fprintf (assembler_source, "\tB\tPGE%d\n", mvs_page_num);
!       fprintf (assembler_source, "\tDS\t0F\n");
!       fprintf (assembler_source, "\tLTORG\n");
        fprintf (assembler_source, "\tDS\t0F\n");
        fprintf (assembler_source, "PGE%d\tEQU\t*\n", mvs_page_num);
        fprintf (assembler_source, "\tDROP\t%d\n", BASE_REGISTER);
        mvs_page_num++;
!       /* Safe to use BASR not BALR, since we are
!        * not switching addressing mode here ...  */
!       fprintf (assembler_source, "\tBASR\t%d,0\n", BASE_REGISTER);
!       fprintf (assembler_source, "PG%d\tEQU\t*\n", mvs_page_num);
        fprintf (assembler_source, "\tUSING\t*,%d\n", BASE_REGISTER);
        mvs_page_code = code;
        mvs_page_lit = lit;
        return 1;
--- 897,925 ----
  
  #ifdef TARGET_HLASM
  int
! mvs_check_page (FILE *file, int code, int lit)
  {
    if (file)
      assembler_source = file;
  
    if (mvs_page_code + code + mvs_page_lit + lit > MAX_MVS_PAGE_LENGTH)
      {
!       /* no need to dump literals if we're at the end of
!          a case statement - they will already have been 
! 	 dumped prior to the jump table generation. */
!       if (mvs_case_code == 0)
!         {
! 	  fprintf (assembler_source, "\tB\tPGE%d\n", mvs_page_num);
! 	  fprintf (assembler_source, "\tDS\t0F\n");
! 	  fprintf (assembler_source, "\tLTORG\n");
! 	}
        fprintf (assembler_source, "\tDS\t0F\n");
        fprintf (assembler_source, "PGE%d\tEQU\t*\n", mvs_page_num);
        fprintf (assembler_source, "\tDROP\t%d\n", BASE_REGISTER);
        mvs_page_num++;
!       fprintf (assembler_source, "\tBALR\t%d,0\n", BASE_REGISTER);
        fprintf (assembler_source, "\tUSING\t*,%d\n", BASE_REGISTER);
+       fprintf (assembler_source, "PG%d\tEQU\t*\n", mvs_page_num);
        mvs_page_code = code;
        mvs_page_lit = lit;
        return 1;
***************
*** 678,714 ****
  #endif /* TARGET_HLASM */
  
  
! #ifdef TARGET_ELF_ABI
  int
! mvs_check_page (file, code, lit)
!      FILE *file;
!      int code, lit;
  {
    if (file)
      assembler_source = file;
  
    if (mvs_page_code + code + mvs_page_lit + lit > MAX_MVS_PAGE_LENGTH)
      {
!       /* hop past the literal pool */
!       fprintf (assembler_source, "\tB\t.LPGE%d\n", mvs_page_num);
! 
!       /* dump the literal pool. The .baligns are optional, since 
!        * ltorg will align to the size of the largest literal 
!        * (which is possibly 8 bytes) */
!       fprintf (assembler_source, "\t.balign\t4\n");
!       fprintf (assembler_source, "\t.LTORG\n");
!       fprintf (assembler_source, "\t.balign\t4\n");
! 
!       /* we continue execution here ...  */
!       fprintf (assembler_source, ".LPGE%d:\n", mvs_page_num);
!       fprintf (assembler_source, "\t.DROP\t%d\n", BASE_REGISTER);
!       mvs_page_num++;
! 
!       /* BASR puts the contents of the PSW into r3
!        * that is, r3 will be loaded with the address of "." */
!       fprintf (assembler_source, "\tBASR\tr%d,0\n", BASE_REGISTER);
!       fprintf (assembler_source, ".LPG%d:\n", mvs_page_num);
!       fprintf (assembler_source, "\t.USING\t.,r%d\n", BASE_REGISTER);
        mvs_page_code = code;
        mvs_page_lit = lit;
        return 1;
--- 931,1000 ----
  #endif /* TARGET_HLASM */
  
  
! #ifdef TARGET_LINUX
  int
! mvs_check_page (FILE *file, int code, int lit)
  {
    if (file)
      assembler_source = file;
  
    if (mvs_page_code + code + mvs_page_lit + lit > MAX_MVS_PAGE_LENGTH)
      {
!       if (i370_enable_pic) 
!         {
!           /* Dump the literal pool. The .baligns are optional, since 
!              ltorg will align to the size of the largest literal 
!              (which is possibly 8 bytes) */
!           fprintf (assembler_source, ".data\n"
!                                      "\t.balign\t4\n"
!                                      ".LPOOL%d:\n"
!                                      "\t.ltorg\n"
!                                      "\t.drop\tr%d\n"
!                                      "\t.using\t.LPOOL%d,r%d\n"
!                                      ".previous\n", 
!                    mvs_page_num, PIC_BASE_REGISTER, 
!                    mvs_page_num+1, PIC_BASE_REGISTER);
!     
!     
!           /* we continue execution here ...  */
!           fprintf (assembler_source, ".LPGE%d:\n", mvs_page_num);
!           fprintf (assembler_source, "\t.drop\tr%d\n",
!                                       BASE_REGISTER);
!           mvs_page_num++;
!     
!           /* BASR puts the contents of the PSW into r3
!              that is, r3 will be loaded with the address of "." 
!              We also put location of new literal pool into r12 */
!           fprintf (assembler_source, "\tBASR\tr%d,0\n", BASE_REGISTER);
!           fprintf (assembler_source, ".LPG%d:\n", mvs_page_num);
!           fprintf (assembler_source, "\t.using\t.,r%d\n", BASE_REGISTER);
!           fprintf (assembler_source, "\tL\tr%d,%d(,r%d)\n", PIC_BASE_REGISTER,
!                (mvs_page_num - function_base_page) * 8 + 4, PAGE_REGISTER);
!     
!         }
!       else
!         {
!           /* hop past the literal pool */
!           fprintf (assembler_source, "\tB\t.LPGE%d\n", mvs_page_num);
!     
!           /* dump the literal pool. The .baligns are optional, since
!            * ltorg will align to the size of the largest literal
!            * (which is possibly 8 bytes) */
!           fprintf (assembler_source, "\t.balign\t4\n");
!           fprintf (assembler_source, "\t.LTORG\n");
!           fprintf (assembler_source, "\t.balign\t4\n");
!     
!           /* we continue execution here ...  */
!           fprintf (assembler_source, ".LPGE%d:\n", mvs_page_num);
!           fprintf (assembler_source, "\t.drop\t%d\n", BASE_REGISTER);
!           mvs_page_num++;
!     
!           /* BASR puts the contents of the PSW into r3
!            * that is, r3 will be loaded with the address of "." */
!           fprintf (assembler_source, "\tBASR\tr%d,0\n", BASE_REGISTER);
!           fprintf (assembler_source, ".LPG%d:\n", mvs_page_num);
!           fprintf (assembler_source, "\t.using\t.,r%d\n", BASE_REGISTER);
!         }
        mvs_page_code = code;
        mvs_page_lit = lit;
        return 1;
***************
*** 717,723 ****
    mvs_page_lit += lit;
    return 0;
  }
! #endif /* TARGET_ELF_ABI */
  
  /* ===================================================== */
  /* defines and functions specific to the HLASM assembler */
--- 1003,1009 ----
    mvs_page_lit += lit;
    return 0;
  }
! #endif /* TARGET_LINUX */
  
  /* ===================================================== */
  /* defines and functions specific to the HLASM assembler */
***************
*** 728,736 ****
     NAME is the name of the current function.  */
  
  int
! mvs_function_check (name)
!      const char *name;
  {
    int lower, middle, upper;
    int i;
  
--- 1014,1022 ----
     NAME is the name of the current function.  */
  
  int
! mvs_function_check (const char *name)
  {
+ #ifdef TARGET_LE
    int lower, middle, upper;
    int i;
  
***************
*** 747,769 ****
        else
  	lower = middle + 1;
      }
    return 0;
  }
  
  /* Generate a hash for a given key.  */
  
! #ifdef LONGEXTERNAL
  static int
! mvs_hash_alias (key)
!      const char *key;
  {
    int h;
    int i;
    int l = strlen (key);
  
!   h = key[0];
    for (i = 1; i < l; i++)
!     h = ((h * MVS_SET_SIZE) + key[i]) % MVS_HASH_PRIME;
    return (h);
  }
  #endif
--- 1033,1055 ----
        else
  	lower = middle + 1;
      }
+ #endif
    return 0;
  }
  
  /* Generate a hash for a given key.  */
  
! #ifdef TARGET_ALIASES
  static int
! mvs_hash_alias (const char *key)
  {
    int h;
    int i;
    int l = strlen (key);
  
!   h = (unsigned char) MAP_OUTCHAR(key[0]);
    for (i = 1; i < l; i++)
!     h = ((h * MVS_SET_SIZE) + (unsigned char) MAP_OUTCHAR(key[i])) % MVS_HASH_PRIME;
    return (h);
  }
  #endif
***************
*** 771,783 ****
  /* Add the alias to the current alias list.  */
  
  void
! mvs_add_alias (realname, aliasname, emitted)
!      const char *realname;
!      const char *aliasname;
!      int   emitted;
  {
    alias_node_t *ap;
  
    ap = (alias_node_t *) xmalloc (sizeof (alias_node_t));
    if (strlen (realname) > MAX_LONG_LABEL_SIZE)
      {
--- 1057,1072 ----
  /* Add the alias to the current alias list.  */
  
  void
! mvs_add_alias (const char *realname, const char *aliasname, int emitted)
  {
    alias_node_t *ap;
  
+ #ifdef DEBUG
+   printf("mvs_add_alias: realname(%d) = '%s'\n", strlen(realname), realname);
+   printf("   aliasname(%d) = '%s'\n", strlen(aliasname), aliasname);
+   printf("   emitted = %d\n", emitted);
+ #endif
+ 
    ap = (alias_node_t *) xmalloc (sizeof (alias_node_t));
    if (strlen (realname) > MAX_LONG_LABEL_SIZE)
      {
***************
*** 793,798 ****
--- 1082,1088 ----
    strcpy (ap->real_name, realname);
    strcpy (ap->alias_name, aliasname);
    ap->alias_emitted = emitted;
+   ap->alias_used = 0 /* FALSE */;
    ap->alias_next = alias_anchor;
    alias_anchor = ap;
  }
***************
*** 803,813 ****
       3. Is mixed case */
  
  int
! mvs_need_alias (realname)
!       const char *realname;
  {
     int i, j = strlen (realname);
  
     if (mvs_function_check (realname))
       return 0;
  #if 0
--- 1093,1109 ----
       3. Is mixed case */
  
  int
! mvs_need_alias (const char *realname)
  {
     int i, j = strlen (realname);
  
+ #ifdef DEBUG
+   printf("mvs_need_alias: realname(%d) = '%s'\n", strlen(realname), realname);
+ #endif
+ 
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+    return 1;
+ #else
     if (mvs_function_check (realname))
       return 0;
  #if 0
***************
*** 838,855 ****
       }
  
     return 0;
  }
  
  /* Get the alias from the list. 
     If 1 is returned then it's in the alias list, 0 if it was not */
  
  int
! mvs_get_alias (realname, aliasname)
!      const char *realname;
!      char *aliasname;
  {
- #ifdef LONGEXTERNAL
    alias_node_t *ap;
  
    for (ap = alias_anchor; ap; ap = ap->alias_next)
      {
--- 1134,1201 ----
       }
  
     return 0;
+ #endif
+ }
+ 
+ /* Mark an alias as used as an external.  */
+ 
+ int
+ mvs_mark_alias (const char *realname)
+ {
+   alias_node_t *ap;
+ 
+ #ifdef DEBUG
+   printf("mvs_mark_alias: realname(%d) = '%s'\n", strlen(realname), realname);
+ #endif
+ 
+   for (ap = alias_anchor; ap; ap = ap->alias_next)
+     {
+       if (!strcmp (ap->real_name, realname))
+ 	{
+ 	  ap->alias_used = 1;
+ 	  return 0;
+ 	}
+     }
+   return 1;
+ }
+ 
+ /* Dump any used aliases that have been emitted.  */
+ 
+ int
+ mvs_dump_alias(FILE *f)
+ {
+   alias_node_t *ap;
+ 
+ #ifdef DEBUG
+   printf("mvs_dump_alias: \n");
+ #endif
+ 
+   for (ap = alias_anchor; ap; ap = ap->alias_next)
+     {
+       if (ap->alias_used && !ap->alias_emitted)
+ 	{
+ 	  fprintf (f, "%s\tALIAS\tC'%s'\n",
+ 	     ap->alias_name,
+ 	     ap->real_name);
+ 	}
+     }
+   return 0;
  }
  
  /* Get the alias from the list. 
     If 1 is returned then it's in the alias list, 0 if it was not */
  
  int
! mvs_get_alias (const char *realname, char *aliasname)
  {
    alias_node_t *ap;
+   char *p;
+ 
+ #ifdef DEBUG
+   printf("mvs_get_alias: realname(%d) = '%s'\n", strlen(realname), realname);
+ #endif
+ 
+ #ifdef TARGET_ALIASES
  
    for (ap = alias_anchor; ap; ap = ap->alias_next)
      {
***************
*** 875,881 ****
        return 1;
      }
  #else
!   if (strlen (realname) > MAX_MVS_LABEL_SIZE)
      {
        strncpy (aliasname, realname, MAX_MVS_LABEL_SIZE);
        aliasname[MAX_MVS_LABEL_SIZE] = '\0';
--- 1221,1234 ----
        return 1;
      }
  #else
!   p = strchr(realname, MVS_NAMESEP);
!   if (p != NULL)  
!   {
!       strcpy(aliasname, "@@");
!       strncpy(aliasname + 2, p + 1, MAX_MVS_LABEL_SIZE - 2);
!       return 1;
!   }
!   else if (strlen (realname) > MAX_MVS_LABEL_SIZE)
      {
        strncpy (aliasname, realname, MAX_MVS_LABEL_SIZE);
        aliasname[MAX_MVS_LABEL_SIZE] = '\0';
***************
*** 889,901 ****
     If 1 is returned then it's in the alias list, 2 it was emitted  */
  
  int
! mvs_check_alias (realname, aliasname)
!      const char *realname;
!      char *aliasname;
  {
- #ifdef LONGEXTERNAL
    alias_node_t *ap;
  
    for (ap = alias_anchor; ap; ap = ap->alias_next)
      {
        if (!strcmp (ap->real_name, realname))
--- 1242,1257 ----
     If 1 is returned then it's in the alias list, 2 it was emitted  */
  
  int
! mvs_check_alias (const char *realname, char *aliasname)
  {
    alias_node_t *ap;
  
+ #ifdef DEBUG
+   printf("mvs_check_alias: realname(%d) = '%s'\n", strlen(realname), realname);
+ #endif
+ 
+ #ifdef TARGET_ALIASES
+ 
    for (ap = alias_anchor; ap; ap = ap->alias_next)
      {
        if (!strcmp (ap->real_name, realname))
***************
*** 933,944 ****
    return 0;
  }
  
- /* defines and functions specific to the HLASM assembler */
  #endif /* TARGET_HLASM */
  /* ===================================================== */
  /* ===================================================== */
  /* defines and functions specific to the gas assembler */
! #ifdef TARGET_ELF_ABI
  
  /* Check for C/370 runtime function, they don't use standard calling
     conventions.  True is returned if the function is in the table.
--- 1289,1300 ----
    return 0;
  }
  
  #endif /* TARGET_HLASM */
+ 
  /* ===================================================== */
  /* ===================================================== */
  /* defines and functions specific to the gas assembler */
! #ifdef TARGET_LINUX
  
  /* Check for C/370 runtime function, they don't use standard calling
     conventions.  True is returned if the function is in the table.
***************
*** 946,958 ****
  /* no special calling conventions (yet ??) */
  
  int
! mvs_function_check (name)
!      const char *name ATTRIBUTE_UNUSED;
  {
     return 0;
  }
  
! #endif /* TARGET_ELF_ABI */
  /* ===================================================== */
  
  
--- 1302,1313 ----
  /* no special calling conventions (yet ??) */
  
  int
! mvs_function_check (const char *name ATTRIBUTE_UNUSED)
  {
     return 0;
  }
  
! #endif /* TARGET_LINUX */
  /* ===================================================== */
  
  
***************
*** 961,969 ****
     MODE is the current operation mode.  */
  
  int
! s_operand (op, mode)
!      register rtx op;
!      enum machine_mode mode;
  {
    extern int volatile_ok;
    register enum rtx_code code = GET_CODE (op);
--- 1316,1322 ----
     MODE is the current operation mode.  */
  
  int
! s_operand (register rtx op, enum machine_mode mode)
  {
    extern int volatile_ok;
    register enum rtx_code code = GET_CODE (op);
***************
*** 996,1004 ****
     MODE is the current operation mode.  */
  
  int
! r_or_s_operand (op, mode)
!      register rtx op;
!      enum machine_mode mode;
  {
    extern int volatile_ok;
    register enum rtx_code code = GET_CODE (op);
--- 1349,1355 ----
     MODE is the current operation mode.  */
  
  int
! r_or_s_operand (register rtx op, enum machine_mode mode)
  {
    extern int volatile_ok;
    register enum rtx_code code = GET_CODE (op);
***************
*** 1044,1067 ****
     arithmetic insn's set the condition code as well.
  
     The unsigned_jump_follows_p() routine  returns a 1 if the next jump 
!    is unsigned.  INSN is the current instruction.  */
  
  int
! unsigned_jump_follows_p (insn)
!      register rtx insn;
  {
    rtx orig_insn = insn;
    while (1) 
      {
        register rtx tmp_insn;
        enum rtx_code coda;
    
        insn = NEXT_INSN (insn);
!       if (!insn) fatal_insn ("internal error--no jump follows compare:", orig_insn);
    
        if (GET_CODE (insn) != JUMP_INSN) continue;
      
!       tmp_insn = XEXP (insn, 3);
        if (GET_CODE (tmp_insn) != SET) continue;
      
        if (GET_CODE (XEXP (tmp_insn, 0)) != PC) continue;
--- 1395,1420 ----
     arithmetic insn's set the condition code as well.
  
     The unsigned_jump_follows_p() routine  returns a 1 if the next jump 
!    is unsigned.  INSN is the current instruction. We err on the side
!    of assuming unsigned, so there are a lot of return 1. */
  
  int
! unsigned_jump_follows_p (register rtx insn)
  {
    rtx orig_insn = insn;
+ 
    while (1) 
      {
        register rtx tmp_insn;
        enum rtx_code coda;
    
        insn = NEXT_INSN (insn);
!       if (!insn) return (1);
    
        if (GET_CODE (insn) != JUMP_INSN) continue;
      
!       tmp_insn = PATTERN (insn);
!       if (!tmp_insn) continue;
        if (GET_CODE (tmp_insn) != SET) continue;
      
        if (GET_CODE (XEXP (tmp_insn, 0)) != PC) continue;
***************
*** 1073,1078 ****
--- 1426,1471 ----
        tmp_insn = XEXP (tmp_insn, 0);
        coda = GET_CODE (tmp_insn);
    
+       /* if we get an equal or not equal, either comparison
+          will work. What we're really interested in what happens
+          after that. So check one more instruction to see if
+          anything comes up. */
+          
+       if ((coda == EQ) || (coda == NE))
+         {
+           insn = NEXT_INSN (insn);
+           if (!insn) return (1);
+   
+           if (GET_CODE (insn) != JUMP_INSN)
+           {
+               /* skip any labels or notes or non-branching
+                  instructions, looking to see if there's a
+                  branch ahead */
+               while (GET_CODE (insn) != JUMP_INSN)
+               {
+                   if ((GET_CODE (insn) != CODE_LABEL)
+                       && (GET_CODE (insn) != NOTE)
+                       && (GET_CODE (insn) != INSN)
+                       && (GET_CODE (insn) != JUMP_INSN)) return (1);
+                   insn = NEXT_INSN (insn);
+                   if (!insn) return (1);
+               }
+           }
+     
+           tmp_insn = PATTERN (insn);
+           if (!tmp_insn) continue;
+           if (GET_CODE (tmp_insn) != SET) return (1);
+     
+           if (GET_CODE (XEXP (tmp_insn, 0)) != PC) return (1);
+     
+           tmp_insn = XEXP (tmp_insn, 1);
+           if (GET_CODE (tmp_insn) != IF_THEN_ELSE) return (1);
+     
+           tmp_insn = XEXP (tmp_insn, 0);
+           coda = GET_CODE (tmp_insn);
+         }
+ 
+       /* if we got to here, this instruction is a jump.  Is it signed? */
        return coda != GE && coda != GT && coda != LE && coda != LT;
      }
  }
***************
*** 1089,1127 ****
       int aligned_p;
  {
    const char *int_format = NULL;
  
    if (aligned_p)
      switch (size)
!       {
        case 1:
! 	int_format = "\tDC\tX'%02X'\n";
! 	break;
  
        case 2:
! 	int_format = "\tDC\tX'%04X'\n";
! 	break;
  
        case 4:
! 	if (GET_CODE (x) == CONST_INT)
! 	  {
! 	    fputs ("\tDC\tF'", asm_out_file);
! 	    output_addr_const (asm_out_file, x);
! 	    fputs ("'\n", asm_out_file);
! 	  }
! 	else
! 	  {
! 	    fputs ("\tDC\tA(", asm_out_file);
! 	    output_addr_const (asm_out_file, x);
! 	    fputs (")\n", asm_out_file);
! 	  }
! 	return true;
!       }
  
    if (int_format && GET_CODE (x) == CONST_INT)
!     {
!       fprintf (asm_out_file, int_format, INTVAL (x));
!       return true;
!     }
    return default_assemble_integer (x, size, aligned_p);
  }
  
--- 1482,1561 ----
       int aligned_p;
  {
    const char *int_format = NULL;
+   int intmask;
  
    if (aligned_p)
      switch (size)
!     {
        case 1:
!         int_format = "\tDC\tX'%02X'\n";
!         intmask = 0xFF;
!         break;
  
        case 2:
!         int_format = "\tDC\tX'%04X'\n";
!         intmask = 0xFFFF;
!         break;
  
        case 4:
!         if (GET_CODE (x) == CONST_INT)
!         {
!           fputs ("\tDC\tF'", asm_out_file);
!           output_addr_const (asm_out_file, x);
!           fputs ("'\n", asm_out_file);
!         }
!         else
!         {
!           if (GET_CODE (x) == CONST
!             && GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF
!             && SYMBOL_REF_FLAG (XEXP (XEXP (x, 0), 0)))
!               {
!                 const char *fname;
!                 typedef struct _entnod { 
!                     char *data; 
!                     struct _entnod *next; 
!                     } entnod;
!                 static entnod *enstart = NULL;
!                 entnod **en;
!                 
!                 fname = XSTR((XEXP (XEXP (x, 0), 0)), 0);
!                 en = &enstart;
!                 while (*en != NULL)
!                 {
!                     if (strcmp((*en)->data, fname) == 0) break;
!                     en = &((*en)->next);
!                 }
!                 if (*en == NULL)
!                 {
!                     *en = xmalloc(sizeof(entnod));
!                     (*en)->data = xmalloc(strlen(fname) + 1);
!                     strcpy((*en)->data, fname);
!                     (*en)->next = NULL;
!                     fputs ("\tEXTRN\t", asm_out_file);
!                     assemble_name(asm_out_file, 
!                                   XSTR((XEXP (XEXP (x, 0), 0)), 0));
!                     fputs ("\n", asm_out_file);
!                 }                
!               }
!           if (SYMBOL_REF_FLAG(x))
!               {
!                 fputs ("\tDC\tV(", asm_out_file);
!               }
!           else
!               {
!                 fputs ("\tDC\tA(", asm_out_file);
!               }
!           output_addr_const (asm_out_file, x);
!           fputs (")\n", asm_out_file);
!         }
!         return true;
!     }
  
    if (int_format && GET_CODE (x) == CONST_INT)
!   {
!     fprintf (asm_out_file, int_format, INTVAL (x) & intmask);
!     return true;
!   }
    return default_assemble_integer (x, size, aligned_p);
  }
  
***************
*** 1135,1155 ****
     which registers should not be saved even if used.  */
  
  static void
! i370_output_function_prologue (f, l)
!      FILE *f;
!      HOST_WIDE_INT l;
  {
! #if MACROPROLOGUE == 1
!   fprintf (f, "* Function %s prologue\n", mvs_function_name);
    fprintf (f, "\tEDCPRLG USRDSAL=%d,BASEREG=%d\n",
! 	   STACK_POINTER_OFFSET + l - 120 +
! 	   current_function_outgoing_args_size, BASE_REGISTER);
! #else /* MACROPROLOGUE != 1 */
    static int function_label_index = 1;
    static int function_first = 0;
    static int function_year, function_month, function_day;
    static int function_hour, function_minute, function_second;
- #if defined(LE370)
    if (!function_first)
      {
        struct tm *function_time;
--- 1569,1654 ----
     which registers should not be saved even if used.  */
  
  static void
! i370_output_function_prologue (FILE *f, HOST_WIDE_INT l)
  {
!   size_t nlen;
!   char *p;
! 
!   nlen = strlen(mvs_function_name);
!   p = strchr(mvs_function_name, MVS_NAMESEP);
!   if (p != NULL)
!   {
!       nlen = p - mvs_function_name;
!   }
! /* Don't print stack and args in PDPMAC as it makes the
!    comment too long */
! #ifdef TARGET_PDPMAC
!   fprintf (f, "* %s %*s prologue\n",
!            mvs_need_entry ? "X-func" : "Function",
!            nlen, mvs_function_name);
! #else
!   fprintf (f, "* Function %.*s prologue: stack = %ld, args = %d\n",
!            nlen, mvs_function_name,
! 	   l,
! 	   current_function_outgoing_args_size);
! #endif
! 
!   if (mvs_first_entry)
!     {
! #ifdef TARGET_ALIASES
!       fprintf (f, "@CODE\tALIAS\tC'@%s'\n", mvs_module);
!       fputs ("@CODE\tAMODE\tANY\n", f);
!       fputs ("@CODE\tRMODE\tANY\n", f);
!       fputs ("@CODE\tCSECT\n", f);
! #elif !defined(TARGET_PDPMAC)
!       fprintf (f, "@%s\tCSECT\n", mvs_module);
! #endif
!       mvs_first_entry = 0;
!     }
! #ifdef TARGET_MACROS
! 
! #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
!   assemble_name (f, mvs_function_name);
! #ifdef TARGET_DIGNUS
!   fprintf (f, "\tDCCPRLG CINDEX=%d,FRAME=%d,BASER=%d,ENTRY=%s\n",
! #endif
! #ifdef TARGET_PDPMAC
!   fprintf (f, "\tPDPPRLG CINDEX=%d,FRAME=%d,BASER=%d,ENTRY=%s\n",
! #endif
! 	   mvs_page_num,
! 	   STACK_FRAME_BASE + l + current_function_outgoing_args_size,
! 	   BASE_REGISTER,
! 	   mvs_need_entry ? "YES" : "NO");
!   fprintf (f, "\tB\tFEN%d\n", mvs_page_num);
! #ifdef TARGET_DIGNUS
!   fprintf (f, "@FRAMESIZE_%d DC F'%d'\n", 
! 	   mvs_page_num,
! 	   STACK_FRAME_BASE + l + current_function_outgoing_args_size);
! #endif
! #ifdef TARGET_PDPMAC
!   fprintf (f, "\tLTORG\n");
! #endif
!   fprintf (f, "FEN%d\tEQU\t*\n", mvs_page_num);
!   fprintf (f, "\tDROP\t%d\n", BASE_REGISTER);
!   fprintf (f, "\tBALR\t%d,0\n", BASE_REGISTER);
!   fprintf (f, "\tUSING\t*,%d\n", BASE_REGISTER);
! #endif
! 
! #ifdef TARGET_LE
!   assemble_name (f, mvs_function_name);
    fprintf (f, "\tEDCPRLG USRDSAL=%d,BASEREG=%d\n",
! 	   STACK_FRAME_BASE + l + current_function_outgoing_args_size,
! 	   BASE_REGISTER);
! #endif
! 
! #else /* TARGET_MACROS != 1 */
! 
! #if defined(TARGET_LE)
! {
    static int function_label_index = 1;
    static int function_first = 0;
    static int function_year, function_month, function_day;
    static int function_hour, function_minute, function_second;
    if (!function_first)
      {
        struct tm *function_time;
***************
*** 1163,1169 ****
        function_minute = function_time->tm_min;
        function_second = function_time->tm_sec;
      }
-   fprintf (f, "* Function %s prologue\n", mvs_function_name);
    fprintf (f, "FDSE%03d\tDSECT\n", function_label_index);
    fprintf (f, "\tDS\tD\n");
    fprintf (f, "\tDS\tCL(" HOST_WIDE_INT_PRINT_DEC ")\n",
--- 1662,1667 ----
***************
*** 1176,1184 ****
    fprintf (f, "FDSL%03d\tEQU\t*-FDSE%03d-8\n", function_label_index,
  	   function_label_index);
    fprintf (f, "\tDS\t0H\n");
!   assemble_name (f, mvs_function_name);
!   fprintf (f, "\tCSECT\n");
    fprintf (f, "\tUSING\t*,15\n");
    fprintf (f, "\tB\tFENT%03d\n", function_label_index);
    fprintf (f, "\tDC\tAL1(FNAM%03d+4-*)\n", function_label_index);
    fprintf (f, "\tDC\tX'CE',X'A0',AL1(16)\n");
--- 1674,1686 ----
    fprintf (f, "FDSL%03d\tEQU\t*-FDSE%03d-8\n", function_label_index,
  	   function_label_index);
    fprintf (f, "\tDS\t0H\n");
! #ifdef TARGET_ALIASES
!   fprintf (f, "@CODE\tCSECT\n");
! #else
!   fprintf (f, "@%s\tCSECT\n", mvs_module);
! #endif
    fprintf (f, "\tUSING\t*,15\n");
+   assemble_name (f, mvs_function_name);
    fprintf (f, "\tB\tFENT%03d\n", function_label_index);
    fprintf (f, "\tDC\tAL1(FNAM%03d+4-*)\n", function_label_index);
    fprintf (f, "\tDC\tX'CE',X'A0',AL1(16)\n");
***************
*** 1218,1296 ****
    fprintf (f, "\tUSING\t*,%d\n", BASE_REGISTER);
    function_first = 1;
    function_label_index ++;
! #else /* !LE370 */
!   if (!function_first)
!     {
!       struct tm *function_time;
!       time_t lcltime;
!       time (&lcltime);
!       function_time = localtime (&lcltime);
!       function_year = function_time->tm_year + 1900;
!       function_month = function_time->tm_mon + 1;
!       function_day = function_time->tm_mday;
!       function_hour = function_time->tm_hour;
!       function_minute = function_time->tm_min;
!       function_second = function_time->tm_sec;
!       fprintf (f, "PPA2\tDS\t0F\n");
!       fprintf (f, "\tDC\tX'03',X'00',X'33',X'00'\n");
!       fprintf (f, "\tDC\tV(CEESTART),A(0)\n");
!       fprintf (f, "\tDC\tA(CEETIMES)\n");
!       fprintf (f, "CEETIMES\tDS\t0F\n");
!       fprintf (f, "\tDC\tCL4'%d',CL4'%02d%02d',CL6'%02d%02d00'\n",
!     		 function_year, function_month, function_day,
!     		 function_hour, function_minute, function_second);
!       fprintf (f, "\tDC\tCL2'01',CL4'0100'\n");
!     }
!   fprintf (f, "* Function %s prologue\n", mvs_function_name);
!   fprintf (f, "FDSD%03d\tDSECT\n", function_label_index);
!   fprintf (f, "\tDS\tD\n");
!   fprintf (f, "\tDS\tCL(%d)\n", STACK_POINTER_OFFSET + l
! 			+ current_function_outgoing_args_size);
!   fprintf (f, "\tORG\tFDSD%03d\n", function_label_index);
!   fprintf (f, "\tDS\tCL(120+8)\n");
!   fprintf (f, "\tORG\n");
!   fprintf (f, "\tDS\t0D\n");
!   fprintf (f, "FDSL%03d\tEQU\t*-FDSD%03d-8\n", function_label_index,
! 	   function_label_index);
!   fprintf (f, "\tDS\t0H\n");
!   assemble_name (f, mvs_function_name);
!   fprintf (f, "\tCSECT\n");
!   fprintf (f, "\tUSING\t*,15\n");
!   fprintf (f, "\tB\tFPL%03d\n", function_label_index);
!   fprintf (f, "\tDC\tAL1(FPL%03d+4-*)\n", function_label_index + 1);
!   fprintf (f, "\tDC\tX'CE',X'A0',AL1(16)\n");
!   fprintf (f, "\tDC\tAL4(PPA2)\n");
!   fprintf (f, "\tDC\tAL4(0)\n");
!   fprintf (f, "\tDC\tAL4(FDSL%03d)\n", function_label_index);
!   fprintf (f, "FPL%03d\tEQU\t*\n", function_label_index + 1);
!   fprintf (f, "\tDC\tAL2(%d),C'%s'\n", strlen (mvs_function_name),
! 	mvs_function_name);
!   fprintf (f, "FPL%03d\tDS\t0H\n", function_label_index);
!   fprintf (f, "\tSTM\t14,12,12(13)\n");
!   fprintf (f, "\tL\t2,76(,13)\n");
!   fprintf (f, "\tL\t0,16(,15)\n");
!   fprintf (f, "\tALR\t0,2\n");
!   fprintf (f, "\tCL\t0,12(,12)\n");
!   fprintf (f, "\tBNH\t*+10\n");
!   fprintf (f, "\tL\t15,116(,12)\n");
!   fprintf (f, "\tBALR\t14,15\n");
!   fprintf (f, "\tL\t15,72(,13)\n");
!   fprintf (f, "\tSTM\t15,0,72(2)\n");
!   fprintf (f, "\tMVI\t0(2),X'10'\n");
!   fprintf (f, "\tST\t2,8(,13)\n ");
!   fprintf (f, "\tST\t13,4(,2)\n ");
!   fprintf (f, "\tLR\t13,2\n");
!   fprintf (f, "\tDROP\t15\n");
!   fprintf (f, "\tBALR\t%d,0\n", BASE_REGISTER);
!   fprintf (f, "\tUSING\t*,%d\n", BASE_REGISTER);
!   function_first = 1;
!   function_label_index += 2;
! #endif /* !LE370 */
! #endif /* MACROPROLOGUE */
    fprintf (f, "PG%d\tEQU\t*\n", mvs_page_num );
    fprintf (f, "\tLR\t11,1\n"); 
    fprintf (f, "\tL\t%d,=A(PGT%d)\n", PAGE_REGISTER, mvs_page_num);
!   fprintf (f, "* Function %s code\n", mvs_function_name);
  
    mvs_free_label_list ();
    mvs_page_code = 6;
--- 1720,1734 ----
    fprintf (f, "\tUSING\t*,%d\n", BASE_REGISTER);
    function_first = 1;
    function_label_index ++;
! }
! #endif /* TARGET_LE */
! 
! #endif /* TARGET_MACROS */
! 
    fprintf (f, "PG%d\tEQU\t*\n", mvs_page_num );
    fprintf (f, "\tLR\t11,1\n"); 
    fprintf (f, "\tL\t%d,=A(PGT%d)\n", PAGE_REGISTER, mvs_page_num);
!   fprintf (f, "* Function %.*s code\n", nlen, mvs_function_name);
  
    mvs_free_label_list ();
    mvs_page_code = 6;
***************
*** 1303,1405 ****
  }
  
  static void
! i370_globalize_label (stream, name)
!      FILE *stream;
!      const char *name;
! {
!   char temp[MAX_MVS_LABEL_SIZE + 1];
!   if (mvs_check_alias (name, temp) == 2)
!     fprintf (stream, "%s\tALIAS\tC'%s'\n", temp, name);
!   fputs ("\tENTRY\t", stream);
!   assemble_name (stream, name);
!   putc ('\n', stream);
  }
  #endif /* TARGET_HLASM */
  
  
! #ifdef TARGET_ELF_ABI
  /*
     The 370_function_prolog() routine generates the current ELF ABI ES/390 prolog.
!    It implements a stack that grows downward. 
!    It performs the following steps:
!    -- saves the callers non-volatile registers on the callers stack.
!    -- subtracts stackframe size from the stack pointer.
     -- stores backpointer to old caller stack.
!   
!    XXX hack alert -- if the global var int leaf_function is nonzero, 
!    then this is a leaf, and it might be possible to optimize the prologue
!    into doing even less, e.g. not grabbing a new stackframe or maybe just a
!    partial stack frame.
!   
!    XXX hack alert -- the current stack frame is bloated into twice the 
!    needed size by unused entries. These entries make it marginally 
!    compatible with MVS/OE/USS C environment, but really they're not used
!    and could probably chopped out. Modifications to i370.md would be needed
!    also, to quite using addresses 136, 140, etc.
   */
  
  static void
! i370_output_function_prologue (f, frame_size)
!      FILE *f;
!      HOST_WIDE_INT frame_size;
  {
    static int function_label_index = 1;
    static int function_first = 0;
    int stackframe_size, aligned_size;
  
!   fprintf (f, "# Function prologue\n");
!   /* define the stack, put it into its own data segment
!      FDSE == Function Stack Entry
!      FDSL == Function Stack Length */
    stackframe_size = 
       STACK_POINTER_OFFSET + current_function_outgoing_args_size + frame_size;
    aligned_size = (stackframe_size + 7) >> 3;
    aligned_size <<= 3;
    
    fprintf (f, "# arg_size=0x%x frame_size=" HOST_WIDE_INT_PRINT_HEX
  	   " aligned size=0x%x\n", 
!      current_function_outgoing_args_size, frame_size, aligned_size);
! 
!   fprintf (f, "\t.using\t.,r15\n");
  
!   /* Branch to exectuable part of prologue.  */
!   fprintf (f, "\tB\t.LFENT%03d\n", function_label_index);
! 
!   /* write the length of the stackframe */
!   fprintf (f, "\t.long\t%d\n", aligned_size);
! 
!   /* FENT == function prologue entry */
!   fprintf (f, "\t.balign 2\n.LFENT%03d:\n",
!               function_label_index);
! 
!   /* store multiple registers 14,15,0,...12 at 12 bytes from sp */
!   fprintf (f, "\tSTM\tr14,r12,12(sp)\n");
  
!   /* r3 == saved callee stack pointer */
!   fprintf (f, "\tLR\tr3,sp\n");
  
!   /* 4(r15) == stackframe size */
!   fprintf (f, "\tSL\tsp,4(,r15)\n");
  
!   /* r11 points to arg list in callers stackframe; was passed in r2 */
!   fprintf (f, "\tLR\tr11,r2\n");
  
!   /* store callee stack pointer at 8(sp) */
!   /* fprintf (f, "\tST\tsp,8(,r3)\n ");  wasted cycles, no one uses this ...  */
  
!   /* backchain -- store caller sp at 4(callee_sp)  */
!   fprintf (f, "\tST\tr3,4(,sp)\n ");
  
!   fprintf (f, "\t.drop\tr15\n");
!   /* Place contents of the PSW into r3
!      that is, place the address of "." into r3 */
!   fprintf (f, "\tBASR\tr%d,0\n", BASE_REGISTER);
!   fprintf (f, "\t.using\t.,r%d\n", BASE_REGISTER);
    function_first = 1;
    function_label_index ++;
  
!   fprintf (f, ".LPG%d:\n", mvs_page_num  );
!   fprintf (f, "\tL\tr%d,=A(.LPGT%d)\n", PAGE_REGISTER, mvs_page_num);
    fprintf (f, "# Function code\n");
  
    mvs_free_label_list ();
--- 1741,2007 ----
  }
  
  static void
! i370_globalize_label (FILE *stream, const char *name)
! #ifdef TARGET_ALIASES
! #ifdef TARGET_DIGNUS
! { 									
!   char temp[MAX_MVS_LABEL_SIZE + 1];					
!   if (!strcmp (name, "main"))						
!     {									
!       fputs ("@CRT0\tALIAS\tC'@crt0'\n", stream);				
!       fputs ("\tEXTRN\t@CRT0\n", stream);					
!     }									
!   if (mvs_check_alias (name, temp) == 2)				
!     {									
!       fprintf (stream, "%s\tALIAS\tC'%s'\n", temp, name);			
!     }									
!   if (mvs_need_to_globalize)						
!     {									
!       fputs ("\tENTRY\t", stream);					
!       assemble_name (stream, name);					
!       fputs ("\n", stream);						
!     }									
!   mvs_need_entry = 1;							
! }
! #endif
! #ifdef TARGET_PDPMAC
! { 									
!   char temp[MAX_MVS_LABEL_SIZE + 1];					
!   if (!strcmp (name, "main"))						
!     {									
!       fputs ("@@CRT0\tALIAS\tC'@@crt0'\n", stream);			
!       fputs ("\tEXTRN\t@@CRT0\n", stream);				
!     }									
!   if (mvs_check_alias (name, temp) == 2)				
!     {									
!       fprintf (stream, "%s\tALIAS\tC'%s'\n", temp, name);			
!     }									
!   if (mvs_need_to_globalize)						
!     {									
!       fprintf(stream, "* X-var %s\n", name); 
!       fputs ("\tENTRY\t", stream);					
!       assemble_name (stream, name);					
!       fputs ("\n", stream);						
!     }									
!   mvs_need_entry = 1;							
! }
! #endif
! #ifdef TARGET_LE
! { 									
!   char temp[MAX_MVS_LABEL_SIZE + 1];					
!   if (mvs_check_alias (name, temp) == 2)				
!     {									
!       fprintf (stream, "%s\tALIAS\tC'%s'\n", temp, name);			
!     }									
!   fputs ("\tENTRY\t", stream);						
!   assemble_name (stream, name);						
!   fputs ("\n", stream);							
! }
! #endif
! #else /* !TARGET_ALIASES */
! #ifdef TARGET_DIGNUS
! { 									
!   char temp[MAX_MVS_LABEL_SIZE + 1];					
!   if (!strcmp (name, "main"))						
!     {									
!       fputs ("\tEXTRN\t@CRT0\n", stream);					
!     }									
!   if (mvs_check_alias (name, temp) == 2)				
!     {									
!       fprintf (stream, "%s\tALIAS\tC'%s'\n", temp, name);			
!     }									
!   if (mvs_need_to_globalize)						
!     {									
!       fputs ("\tENTRY\t", stream);					
!       assemble_name (stream, name);					
!       fputs ("\n", stream);						
!     }									
!   mvs_need_entry = 1;							
! }
! #else /* probably PDPMAC */
! { 									
!   char temp[MAX_MVS_LABEL_SIZE + 1];					
!   if (!strcmp (name, "main"))						
!     {									
!       fputs ("\tDC\tC'GCCMVS!!'\n", stream);				
!       fputs ("\tEXTRN\t@@CRT0\n", stream);				
!       fputs ("\tENTRY\t@@MAIN\n", stream);				
!       fputs ("@@MAIN\tDS\t0H\n", stream);				
! #ifdef TARGET_VSE
!       fputs ("\tBALR\t10,0\n", stream);
!       fputs ("\tUSING\t*,10\n", stream);
!       fputs ("\tL\t10,=V(@@CRT0)\n", stream);
!       fputs ("\tBR\t10\n", stream);
!       fputs ("\tDROP\t10\n", stream);
! #else
!       fputs ("\tUSING\t*,15\n", stream);
!       fputs ("\tL\t15,=V(@@CRT0)\n", stream);
!       fputs ("\tBR\t15\n", stream);
!       fputs ("\tDROP\t15\n", stream);
! #endif
!       fputs ("\tLTORG\n", stream);				
!       mvs_gotmain = 1; /* was 1 */         				
!     }									
!   if (mvs_check_alias (name, temp) == 2)				
!     {									
!       fprintf (stream, "%s\tALIAS\tC'%s'\n", temp, name);			
!     }									
!   if (mvs_need_to_globalize)						
!     {									
!       fprintf(stream, "* X-var %s\n", name); 
!       fputs ("\tENTRY\t", stream);					
!       assemble_name (stream, name);					
!       fputs ("\n", stream);						
!     }									
!   mvs_need_entry = 1;							
  }
+ #endif
+ #endif /* TARGET_ALIASES */
  #endif /* TARGET_HLASM */
  
  
! #ifdef TARGET_LINUX
  /*
     The 370_function_prolog() routine generates the current ELF ABI ES/390 prolog.
!    There are some provisions for stacks that grow both up and down.  Both
!    were implemented for experimental purposes.  The two differ in subtle ways:
! 
!    The downward growing stack requires the following steps:
!    -- saves the caller's non-volatile registers on the callers stack.
!    -- places callee's arguments in callers stack
!    -- adds the stackframe size to the stack/frame pointer.
!    -- optionally sets up a frame pointer
     -- stores backpointer to old caller stack.
! 
!    The upward growing stack performs the following:
!    -- saves the caller's non-volatile registers on the callee's stack.
!    -- places callee's arguments in callee's stack
!    -- adds the stackframe size to the stack pointer.
!    -- callers stack pointer becomes calee's frame pointer.
!    -- stores backpointer to old caller stack.
! 
!    Note that with the upwards growing stack, we pass args on the callee's
!    stack.  As a result, we don't know a-priori how many arguments there 
!    will be.  We make a worse case assumption and hard-code room for 128 
!    args (== I370_VARARGS_AREA_SIZE/4).  This hard-coded limit seems to 
!    be a reasonable tradeoff for the otherwise much simplified and speedier
!    design.
   */
  
  static void
! i370_output_function_prologue (FILE *f, HOST_WIDE_INT frame_size)
  {
    static int function_label_index = 1;
    static int function_first = 0;
    int stackframe_size, aligned_size;
  
!   /* store stack size where we can get to it */
! #ifdef STACK_GROWS_DOWNWARDS 
    stackframe_size = 
       STACK_POINTER_OFFSET + current_function_outgoing_args_size + frame_size;
+ #else /* STACK_GROWS_DOWNWARDS */
+   stackframe_size = 
+      STACK_POINTER_OFFSET + current_function_args_size + frame_size;
+   if (current_function_varargs || current_function_stdarg) 
+     {
+       stackframe_size += I370_VARARGS_AREA_SIZE;
+     }
+ #endif /* STACK_GROWS_DOWNWARDS */
    aligned_size = (stackframe_size + 7) >> 3;
    aligned_size <<= 3;
    
    fprintf (f, "# arg_size=0x%x frame_size=" HOST_WIDE_INT_PRINT_HEX
  	   " aligned size=0x%x\n", 
!      current_function_args_size, frame_size, aligned_size);
!   fprintf (f, "# varargs=%d stdarg=%d rserved area size=0x%x\n", 
!      current_function_varargs, current_function_stdarg, I370_VARARGS_AREA_SIZE);
! 
! #ifdef STACK_GROWS_DOWNWARDS 
!   /* If you want your stack to grow down, you will need to create this piece. */
! #else /* STACK_GROWS_DOWNWARDS */
!   if (i370_enable_pic)
!     {
!       /* Use register 12 as base register for addressing into the data section. */
!       fprintf (f, "# Function %s data segment PIC glue \n"
!                   ".data\n"
!                   "\t.balign 4\n"
!                   "%s:\n"
!                   "\tST\tr12,68(,r11)\n"
!                   "\tL\tr12,12(,r15)\n"
!                   "\tBR\tr12\n"
!                   "\t.short\t0\n"
!                   "\t.long\t%s.textentry\n"
!                   "\t.long\t.LPOOL%d\n"
!                   "\t.long\t%d\n"
!                   "\t.long\t.LPGT%d\n"
!                   "\t.using\t.LPOOL%d,r12\n"
!                   ".previous\n"
!                   "# Function %s prologue \n"
!                   "%s.textentry:\n",
!                mvs_function_name,
!                mvs_function_name, mvs_function_name,
!                mvs_page_num, aligned_size, mvs_page_num, mvs_page_num,
!                mvs_function_name, mvs_function_name);
  
!       /* store multiple registers 13,15,0,...11 at 8 bytes from sp */
!       fprintf (f, "\tSTM\tr13,r11,8(r11)\n");
!     
!       /* load frame, arg pointer from callers top-of-stack */
!       fprintf (f, "\tLR\tr13,r11\n");
!    
!       /* bump stack pointer by 20(r15) == stackframe size */
!       fprintf (f, "\tA\tr11,20(,r15)\n");
  
!       /* 16(r15) == PIC pool pointer (pointer to literals in data section */
!       fprintf (f, "\tL\tr12,16(,r15)\n");
  
!       /* r4 will be the pointer to the code page pool for this function */
!       fprintf (f, "\tL\tr4,24(,r15)\n");
!     }
!   else 
!     {
!       fprintf (f, "%s:\n"
!                   "# Function prologue\n"
!                   "\t.using\t.,r15\n", mvs_function_name);
!     
!       /* Branch to exectuable part of prologue.  */
!       fprintf (f, "\tB\t.LFENT%06d\n", function_label_index);
!     
!       /* write the length of the stackframe */
!       fprintf (f, "\t.long\t%d\n", aligned_size);
!     
!       /* write the code page table pointer */
!       fprintf (f, "\t.long\t.LPGT%d\n", mvs_page_num);
  
!       fprintf (f, "\t.drop\tr15\n");
  
!       /* FENT == function prologue entry */
!       fprintf (f, "\t.balign 2\n.LFENT%06d:\n", function_label_index);
!     
!       /* store multiple registers 13,14,...12 at 8 bytes from sp */
!       fprintf (f, "\tSTM\tr13,r12,8(r11)\n");
!     
!       /* r13 == callee frame ptr == callee arg ptr == caller stack ptr */
!       fprintf (f, "\tLR\tr13,r11\n");
!     
!       /* r11 == callee top-of-stack pointer = caller sp + stackframe size */
!       fprintf (f, "\tA\tr11,4(,r15)\n");
  
!       /* r4 will be the pointer to the code page pool for this function */
!       fprintf (f, "\tL\tr4,8(,r15)\n");
!     }
! #endif /* STACK_GROWS_DOWNWARDS */
  
!   /* r3 will be the base register for this code page.
!      That is, place the address of "." into r3 */
!   fprintf (f, "\tBASR\tr3,0\n");
!   fprintf (f, "\t.using\t.,r3\n");
!   fprintf (f, ".LPG%d:\n", mvs_page_num  );
    function_first = 1;
    function_label_index ++;
  
!   /* Store the code page pool off of the frame pointer for easy access. */
!   fprintf (f, "\tST\tr4,0(r13)\n");
    fprintf (f, "# Function code\n");
  
    mvs_free_label_list ();
***************
*** 1411,1417 ****
    /* find all labels in this routine */
    i370_label_scan ();
  }
! #endif /* TARGET_ELF_ABI */
  
  /* This function generates the assembly code for function exit.
     Args are as for output_function_prologue ().
--- 2013,2019 ----
    /* find all labels in this routine */
    i370_label_scan ();
  }
! #endif /* TARGET_LINUX */
  
  /* This function generates the assembly code for function exit.
     Args are as for output_function_prologue ().
***************
*** 1422,1479 ****
     adjustments before returning.  */
  
  static void
! i370_output_function_epilogue (file, l)
!      FILE *file;
!      HOST_WIDE_INT l ATTRIBUTE_UNUSED;
  {
    int i;
  
    check_label_emit ();
    mvs_check_page (file, 14, 0);
!   fprintf (file, "* Function %s epilogue\n", mvs_function_name);
    mvs_page_num++;
  
! #if MACROEPILOGUE == 1
    fprintf (file, "\tEDCEPIL\n");
! #else /* MACROEPILOGUE != 1 */
    fprintf (file, "\tL\t13,4(,13)\n");
    fprintf (file, "\tL\t14,12(,13)\n");
    fprintf (file, "\tLM\t2,12,28(13)\n");
    fprintf (file, "\tBALR\t1,14\n");
    fprintf (file, "\tDC\tA(");
    assemble_name (file, mvs_function_name);
    fprintf (file, ")\n" );
! #endif /* MACROEPILOGUE */
  
!   fprintf (file, "* Function %s literal pool\n", mvs_function_name);
    fprintf (file, "\tDS\t0F\n" );
    fprintf (file, "\tLTORG\n");
!   fprintf (file, "* Function %s page table\n", mvs_function_name);
    fprintf (file, "\tDS\t0F\n");
    fprintf (file, "PGT%d\tEQU\t*\n", function_base_page);
  
    mvs_free_label_list();
    for (i = function_base_page; i < mvs_page_num; i++)
      fprintf (file, "\tDC\tA(PG%d)\n", i);
  }
  
  static void
! i370_file_start ()
! {
!   fputs ("\tRMODE\tANY\n\tCSECT\n", asm_out_file);
  }
  
  static void
! i370_file_end ()
  {
    fputs ("\tEND\n", asm_out_file);
  }
  
  static void
! i370_internal_label (stream, prefix, labelno)
!      FILE *stream;
!      const char *prefix;
!      unsigned long labelno;
  {
    if (!strcmp (prefix, "L"))
      mvs_add_label(labelno);
--- 2024,2203 ----
     adjustments before returning.  */
  
  static void
! i370_output_function_epilogue (FILE *file, HOST_WIDE_INT l ATTRIBUTE_UNUSED)
  {
    int i;
+   size_t nlen;
+   char *p;
+ 
+   nlen = strlen(mvs_function_name);
+   p = strchr(mvs_function_name, MVS_NAMESEP);
+   if (p != NULL)
+   {
+       nlen = p - mvs_function_name;
+   }
  
    check_label_emit ();
    mvs_check_page (file, 14, 0);
!   fprintf (file, "* Function %.*s epilogue\n", nlen, mvs_function_name);
    mvs_page_num++;
  
! #ifdef TARGET_MACROS
! 
! #ifdef TARGET_DIGNUS
!   fprintf (file, "\tDCCEPIL\n");
! #endif
! #ifdef TARGET_PDPMAC
!   fprintf (file, "\tPDPEPIL\n");
! #endif
! #ifdef TARGET_LE
    fprintf (file, "\tEDCEPIL\n");
!   fprintf (file, "\tDROP\t%d\n", BASE_REGISTER);
! #endif
! 
! #else /* !TARGET_MACROS */
! 
! #ifdef TARGET_LE
    fprintf (file, "\tL\t13,4(,13)\n");
    fprintf (file, "\tL\t14,12(,13)\n");
    fprintf (file, "\tLM\t2,12,28(13)\n");
    fprintf (file, "\tBALR\t1,14\n");
+   fprintf (file, "\tDROP\t%d\n", BASE_REGISTER);
    fprintf (file, "\tDC\tA(");
    assemble_name (file, mvs_function_name);
    fprintf (file, ")\n" );
! #endif
! 
! #endif /* TARGET_MACROS */
  
!   fprintf (file, "* Function %.*s literal pool\n", nlen, mvs_function_name);
    fprintf (file, "\tDS\t0F\n" );
    fprintf (file, "\tLTORG\n");
!   fprintf (file, "* Function %.*s page table\n", nlen, mvs_function_name);
    fprintf (file, "\tDS\t0F\n");
    fprintf (file, "PGT%d\tEQU\t*\n", function_base_page);
  
    mvs_free_label_list();
    for (i = function_base_page; i < mvs_page_num; i++)
      fprintf (file, "\tDC\tA(PG%d)\n", i);
+   mvs_need_entry = 0;
  }
  
+ 
  static void
! i370_file_start (void)
! 
! #ifdef TARGET_ALIASES
! 
! { extern const char *main_input_filename;
!   char temp[256];
!   const char *cbp, *cfp;
!   char *bp;
!   if (asm_file_name)
!     {
!       if (strncmp (asm_file_name, "/tmp", 4) == 0)
!         cfp = main_input_filename;
!       else
!         cfp = asm_file_name;
!     }
!   else cfp = main_input_filename;
!   if ((cbp = strrchr (cfp, '/')) == NULL)
!     cbp = cfp;
!   else cbp++;
!   while (*cbp == '_') cbp++;
!   strcpy (temp, cbp);
!   if ((bp = strchr (temp, '.')) != NULL) *bp = '\0';
!   for (bp = temp; *bp; bp++)
!     *bp = ISLOWER(*bp) ? TOUPPER(*bp) : *bp;
!   mvs_module = (char *) xmalloc (strlen(temp)+2);
!   strcpy (mvs_module, temp);
!   for (bp = temp; *bp; bp++)
!     *bp = ISUPPER(*bp) ? TOLOWER(*bp) : *bp;
!   fprintf (asm_out_file, "@DATA\tALIAS\tC'@%s'\n", temp);
!   fputs ("@DATA\tAMODE\tANY\n", asm_out_file);
!   fputs ("@DATA\tRMODE\tANY\n", asm_out_file);
!   fputs ("@DATA\tCSECT\n", asm_out_file);
! }
! 
! #else /* ! ALIASES */
! 
! #ifdef TARGET_PDPMAC
! 
! { extern const char *main_input_filename;
!   char temp[256];
!   const char *cbp, *cfp;
!   char *bp;
!   if (asm_file_name)
!     {
!       if (strncmp (asm_file_name, "/tmp", 4) == 0)
!         cfp = main_input_filename;
!       else
!         cfp = asm_file_name;
!     }
!   else cfp = main_input_filename;
!   if ((cbp = strrchr (cfp, '/')) == NULL)
!     cbp = cfp;
!   else cbp++;
!   while (*cbp == '_') cbp++;
!   strcpy (temp, cbp);
!   if ((bp = strchr (temp, '.')) != NULL) *bp = '\0';
!   if (strlen (temp) > MAX_MVS_LABEL_SIZE - 1)
!     temp[MAX_MVS_LABEL_SIZE-1] = '\0';
!   for (bp = temp; *bp; bp++)
!     *bp = ISLOWER(*bp) ? TOUPPER(*bp) : *bp;
!   mvs_module = (char *) xmalloc (strlen(temp)+2);
!   strcpy (mvs_module, temp);
!   fprintf (asm_out_file, "\tCOPY\tPDPTOP\n");
!   fprintf (asm_out_file, "%s\tCSECT\n", mvs_csect_name ? mvs_csect_name : "");
! }
! 
! #else /* ! PDPMAC */
! 
! { extern const char *main_input_filename;
!   char temp[256];
!   const char *cbp, *cfp;
!   char *bp;
!   if (asm_file_name)
!     {
!       if (strncmp (asm_file_name, "/tmp", 4) == 0)
!         cfp = main_input_filename;
!       else
!         cfp = asm_file_name;
!     }
!   else cfp = main_input_filename;
!   if ((cbp = strrchr (cfp, '/')) == NULL)
!     cbp = cfp;
!   else cbp++;
!   while (*cbp == '_') cbp++;
!   strcpy (temp, cbp);
!   if ((bp = strchr (temp, '.')) != NULL) *bp = '\0';
!   if (strlen (temp) > MAX_MVS_LABEL_SIZE - 1)
!     temp[MAX_MVS_LABEL_SIZE-1] = '\0';
!   for (bp = temp; *bp; bp++)
!     *bp = ISLOWER(*bp) ? TOUPPER(*bp) : *bp;
!   mvs_module = (char *) xmalloc (strlen(temp)+2);
!   strcpy (mvs_module, temp);
!   fprintf (asm_out_file, "$%s\tCSECT\n", mvs_module);
  }
+ #endif /* PDPMAC */
+ 
+ #endif /* TARGET_ALIASES */
+ 
  
  static void
! i370_file_end (void)
  {
+ #ifdef TARGET_ALIASES
+   mvs_dump_alias (asm_out_file);
    fputs ("\tEND\n", asm_out_file);
+ #else
+   if (mvs_gotmain) fputs ("\tEND\t@@MAIN\n", asm_out_file);
+   else fputs ("\tEND\n", asm_out_file);
+ #endif /* TARGET_ALIASES */
  }
  
  static void
! i370_internal_label (FILE *stream, const char *prefix, unsigned long labelno)
  {
    if (!strcmp (prefix, "L"))
      mvs_add_label(labelno);
***************
*** 1482,1501 ****
  }
  
  static bool
! i370_rtx_costs (x, code, outer_code, total)
!      rtx x;
!      int code;
!      int outer_code ATTRIBUTE_UNUSED;
!      int *total;
  {
    switch (code)
      {
      case CONST_INT:
        if ((unsigned HOST_WIDE_INT) INTVAL (x) < 0xfff)
! 	{
! 	  *total = 1;
! 	  return true;
! 	}
        /* FALLTHRU */
  
      case CONST:
--- 2206,2221 ----
  }
  
  static bool
! i370_rtx_costs (rtx x, int code, int outer_code ATTRIBUTE_UNUSED, int *total)
  {
    switch (code)
      {
      case CONST_INT:
        if ((unsigned HOST_WIDE_INT) INTVAL (x) < 0xfff)
!       {
!         *total = 1;
!         return true;
!       }
        /* FALLTHRU */
  
      case CONST:
***************
*** 1512,1514 ****
--- 2232,2406 ----
        return false;
      }
  }
+ 
+ 
+ #if 0
+ /* Code is unused and has a bug */
+ /* However, the general idea is to move away from large
+    macros and into functions, so some time take a look
+    at moving the latest version of the macro in. */
+ 
+ void
+ i370_output_ascii (FILE *file, const char *ptr, size_t len)
+ {
+   size_t i;
+   int j;
+   for (j = 0, i = 0; i < len; j++, i++)
+     {
+       int c = ptr[i];
+ 
+       c = MAP_INCHAR(c);
+       if (ISCNTRL (c) || c == '&')
+ 	{
+ 	  if (j % MVS_ASCII_TEXT_LENGTH != 0 )
+ 	    fprintf (file, "'\n");
+ 	  j = -1;
+     /* BUG HERE!!! All characters need to be mapped out, and
+        should see a problem when control characters are output */
+ 	  if (c == '&') c = MAP_OUTCHAR (c);
+ 	  fprintf (file, "\tDC\tX'%X'\n", c );
+ 	}
+       else
+ 	{
+ 	  if (j % MVS_ASCII_TEXT_LENGTH == 0)
+             fprintf (file, "\tDC\tC'");
+           if ( c == '\'' )
+ 	    fprintf (file, "%c%c", c, c);
+ 	  else
+ 	    fprintf (file, "%c", c);
+ 	  if (j % MVS_ASCII_TEXT_LENGTH == MVS_ASCII_TEXT_LENGTH - 1)
+ 	    fprintf (file, "'\n" );
+ 	}
+     }
+   if (j % MVS_ASCII_TEXT_LENGTH != 0)
+     fprintf (file, "'\n");
+ }
+ #endif
+ 
+ 
+ #if defined(DETAB)
+ 
+ #undef fputs
+ #undef fprintf
+ #undef vfprintf
+ #undef fwrite
+ #undef fputc
+ 
+ int
+ t_fputs (const char *str, FILE *file)
+ {
+     t_fprintf(file, "%s", str);
+     if (ferror(file)) return (EOF);
+     else return (0);
+ }
+ 
+ size_t
+ t_fwrite (const void *ptr, size_t size, size_t nmemb, FILE *file)
+ {
+     size_t tot;
+     
+     tot = size * nmemb;
+     t_fprintf(file, "%.*s", tot, ptr);
+     return (nmemb);
+ }
+ 
+ int
+ t_fprintf (FILE *file, const char *format, ...)
+ {
+     va_list arg;
+     int ret;
+ 
+     va_start(arg, format);
+     ret = t_vfprintf(file, format, arg);
+     va_end(arg);
+     return (ret);
+ }
+ 
+ static int ocnt = 0;
+ static char obuf[MAX_LEN_OUT];
+ 
+ int
+ t_fputc (int c, FILE *file)
+ {
+     if (c == '\t')
+     {
+         if (ocnt < 9)
+         {
+             for (; ocnt < 9; ocnt++)
+             {
+                 obuf[ocnt] = ' ';
+             }
+         }
+         else if (ocnt < 15)
+         {
+             for (; ocnt < 15; ocnt++)
+             {
+                 obuf[ocnt] = ' ';
+             }
+         }
+         else
+         {
+             obuf[ocnt] = ' ';
+             ocnt++;
+         }
+     }
+     else if (c == '\n')
+     {
+         t_fprintf(file, "%c", c);
+     }
+     else
+     {
+         obuf[ocnt] = c;
+         ocnt++;
+     }
+     return (c);
+ }
+ 
+ int
+ t_vfprintf (FILE *file, const char *format, va_list arg)
+ {
+     char buf[MAX_LEN_OUT];
+     int icnt;
+ 
+     vsprintf(buf, format, arg);
+     icnt = 0;
+     while (buf[icnt] != '\0')
+     {
+         if (buf[icnt] == '\t')
+         {
+             if (ocnt < 9)
+             {
+                 for (; ocnt < 9; ocnt++)
+                 {
+                     obuf[ocnt] = ' ';
+                 }
+             }
+             else if (ocnt < 15)
+             {
+                 for (; ocnt < 15; ocnt++)
+                 {
+                     obuf[ocnt] = ' ';
+                 }
+             }
+             else
+             {
+                 obuf[ocnt] = ' ';
+                 ocnt++;
+             }
+         }
+         else
+         {
+             obuf[ocnt] = buf[icnt];
+             ocnt++;
+             if (buf[icnt] == '\n')
+             {
+                 fwrite(obuf, ocnt, 1, file);
+                 ocnt = 0;
+             }
+         }
+         icnt++;
+     }
+     return (icnt);
+ }
+ 
+ #endif
Index: gcc/gcc/config/i370/i370.h
diff -c gcc/gcc/config/i370/i370.h:1.1.1.1 gcc/gcc/config/i370/i370.h:1.17
*** gcc/gcc/config/i370/i370.h:1.1.1.1	Wed Apr 15 16:27:55 2009
--- gcc/gcc/config/i370/i370.h	Thu May 12 19:37:28 2011
***************
*** 3,9 ****
     2003 Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
!    Hacked for Linux-ELF/390 by Linas Vepstas (linas@linas.org)
  
  This file is part of GCC.
  
--- 3,9 ----
     2003 Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
!    Modified for Linux-ELF/390 by Linas Vepstas (linas@linas.org)
  
  This file is part of GCC.
  
***************
*** 44,49 ****
--- 44,59 ----
  
  extern int mvs_page_code, mvs_page_lit;
  
+ /* The length of code used by case labels */
+ 
+ extern int mvs_case_code;
+ 
+ /* Specify that we need to be an entry point.  */
+ 
+ extern int mvs_need_entry;
+ extern int mvs_gotmain;  
+ extern int mvs_need_to_globalize;
+ 
  /* The current page number and the base page number for the function.  */
  
  extern int mvs_page_num, function_base_page;
***************
*** 56,71 ****
--- 66,97 ----
  
  extern size_t mvs_function_name_length;
  
+ /* The desired CSECT name */
+ 
+ extern char *mvs_csect_name;
+ 
+ /* The source file module.  */
+ 
+ extern char *mvs_module;
+ 
  /* Compile using char instructions (mvc, nc, oc, xc).  On 4341 use this since
     these are more than twice as fast as load-op-store.
     On 3090 don't use this since load-op-store is much faster.  */
  
  #define TARGET_CHAR_INSTRUCTIONS (target_flags & 1)
  
+ /* Compile experimental position independent code */
+ #define TARGET_PIC (target_flags & 2)
+ extern int i370_enable_pic;
+ 
  /* Default target switches */
  
  #define TARGET_DEFAULT 1
  
+ /* We're not targetting 64 bit */
+ 
+ #define TARGET_64BIT 0
+ 
  /* Macro to define tables used to set the flags.  This is a list in braces
     of pairs in braces, each pair being { "NAME", VALUE }
     where VALUE is the bits to set or minus the bits to clear.
***************
*** 74,82 ****
  #define TARGET_SWITCHES							\
  { { "char-instructions", 1, N_("Generate char instructions")},            \
    { "no-char-instructions", -1, N_("Do not generate char instructions")}, \
    { "", TARGET_DEFAULT, 0} }
  
! #define OVERRIDE_OPTIONS  override_options ()
  
  /* To use IBM supplied macro function prologue and epilogue, define the
     following to 1.  Should only be needed if IBM changes the definition
--- 100,119 ----
  #define TARGET_SWITCHES							\
  { { "char-instructions", 1, N_("Generate char instructions")},            \
    { "no-char-instructions", -1, N_("Do not generate char instructions")}, \
+   { "pickax", 2, "Experimental i370 PIC"}, \
+   { "no-pickax", -2, "Disable experimental i370 PIC"}, \
    { "", TARGET_DEFAULT, 0} }
  
! #define TARGET_OPTIONS \
! { { "csect=", (const char **)&mvs_csect_name, \
!     N_("Set CSECT name")},     \
!   SUBTARGET_OPTIONS    \
! }
! 
! #define SUBTARGET_OPTIONS
! 
! extern void i370_override_options (void);
! #define OVERRIDE_OPTIONS i370_override_options()
  
  /* To use IBM supplied macro function prologue and epilogue, define the
     following to 1.  Should only be needed if IBM changes the definition
***************
*** 114,120 ****
  
  /* Boundary (in *bits*) on which stack pointer should be aligned.  */
  
! #define STACK_BOUNDARY 32
  
  /* Allocation boundary (in *bits*) for the code of a function.  */
  
--- 151,157 ----
  
  /* Boundary (in *bits*) on which stack pointer should be aligned.  */
  
! #define STACK_BOUNDARY 64
  
  /* Allocation boundary (in *bits*) for the code of a function.  */
  
***************
*** 126,132 ****
  
  /* Alignment of field after `int : 0' in a structure.  */
  
! #define EMPTY_FIELD_BOUNDARY 32
  
  /* Define this if move instructions will actually fail to work when given
     unaligned data.  */
--- 163,169 ----
  
  /* Alignment of field after `int : 0' in a structure.  */
  
! #define EMPTY_FIELD_BOUNDARY 8
  
  /* Define this if move instructions will actually fail to work when given
     unaligned data.  */
***************
*** 137,161 ****
  
  #define TARGET_FLOAT_FORMAT IBM_FLOAT_FORMAT
  
  #ifdef TARGET_HLASM
  /* HLASM requires #pragma map.  */
! #define REGISTER_TARGET_PRAGMAS() c_register_pragma (0, "map", i370_pr_map)
  #endif /* TARGET_HLASM */
  
  /* Define maximum length of page minus page escape overhead.  */
  
! #define MAX_MVS_PAGE_LENGTH 4080
  
! /* Define special register allocation order desired.  
!    Don't fiddle with this.  I did, and I got all sorts of register 
!    spill errors when compiling even relatively simple programs...
!    I have no clue why ...
!    E.g. this one is bad:
!    { 0, 1, 2, 9, 8, 7, 6, 5, 10, 15, 14, 12, 3, 4, 16, 17, 18, 19, 11, 13 }
!  */
  
! #define REG_ALLOC_ORDER							\
! { 0, 1, 2, 3, 14, 15, 12, 10, 9, 8, 7, 6, 5, 4, 16, 17, 18, 19, 11, 13 }
  
  /* Standard register usage.  */
  
--- 174,232 ----
  
  #define TARGET_FLOAT_FORMAT IBM_FLOAT_FORMAT
  
+ /* Define character mapping for cross-compiling.  */
+ /* but only define it if really needed, since otherwise it will break builds */
+ 
+ #ifndef ASCTOEBC
+ #define ASCTOEBC(c) (c)
+ #endif
+ #ifndef EBCTOASC
+ #define EBCTOASC(c) (c)
+ #endif
+ 
+ #ifdef TARGET_EBCDIC
+ #ifdef HOST_EBCDIC
+ #define MAP_OUTCHAR(c) (c)
+ #define MAP_INCHAR(c) (c)
+ #else
+ #define MAP_OUTCHAR(c) (ASCTOEBC (c))
+ #define MAP_INCHAR(c) (EBCTOASC (c))
+ #endif
+ #else
+ #ifdef HOST_EBCDIC
+ #define MAP_OUTCHAR(c) ((char)EBCTOASC (c))
+ #define MAP_INCHAR(c) (ASCTOEBC (c))
+ #endif
+ #endif
+ 
  #ifdef TARGET_HLASM
  /* HLASM requires #pragma map.  */
! #define REGISTER_TARGET_PRAGMAS() \
!   do { \
!   c_register_pragma (0, "map", i370_pr_map); \
!   c_register_pragma (0, "nomargins", i370_pr_skipit); \
!   c_register_pragma (0, "nosequence", i370_pr_skipit); \
!   c_register_pragma (0, "checkout", i370_pr_checkout); \
!   c_register_pragma (0, "linkage", i370_pr_linkage); \
!   } while(0)
  #endif /* TARGET_HLASM */
  
  /* Define maximum length of page minus page escape overhead.  */
  
! #define MAX_MVS_PAGE_LENGTH 4068
  
! #define PREDICATE_CODES \
!   {"r_or_s_operand", { REG, SUBREG, MEM }}, \
!   {"s_operand", { MEM }},
! 
! /* Conservative page size when considering literals and overhead. */
! 
! #define MVS_PAGE_CONSERVATIVE 4060
! 
! /* Define special register allocation order desired. */
  
! #define REG_ALLOC_ORDER \
!    { 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 10, 15, 14, 12, 16, 17, 18, 19, 11, 13 }
  
  /* Standard register usage.  */
  
***************
*** 173,178 ****
--- 244,250 ----
  
  #define BASE_REGISTER 3
  #define PAGE_REGISTER 4
+ #define PIC_BASE_REGISTER 12
  
  #ifdef TARGET_HLASM
  /* 1 for registers that have pervasive standard uses and are not available
***************
*** 182,194 ****
     they must never be clobbered, and, if clobbered, the register allocator 
     will never restore them back.
     
!    We use five registers in this special way:
     -- R3 which is used as the base register
     -- R4 the page origin table pointer used to load R3,
     -- R11 the arg pointer.  
     -- R12 the TCA pointer
     -- R13 the stack (DSA) pointer
  
     A fifth register is also exceptional: R14 is used in many branch
     instructions to hold the target of the branch.  Technically, this
     does not qualify R14 as a register with a long-term meaning; it should
--- 254,272 ----
     they must never be clobbered, and, if clobbered, the register allocator 
     will never restore them back.
     
!    For the LE/370 mode, we use five registers in this special way:
     -- R3 which is used as the base register
     -- R4 the page origin table pointer used to load R3,
     -- R11 the arg pointer.  
     -- R12 the TCA pointer
     -- R13 the stack (DSA) pointer
  
+    For TARGET_DIGNUS or TARGET_PDPMAC mode:
+    -- R10 the page origin table pointer used to load R3,
+    -- R11 the arg pointer.  
+    -- R12 the base register.
+    -- R13 the stack pointer
+ 
     A fifth register is also exceptional: R14 is used in many branch
     instructions to hold the target of the branch.  Technically, this
     does not qualify R14 as a register with a long-term meaning; it should
***************
*** 215,223 ****
--- 293,320 ----
     I think this is a bug, but I can't track it down...
   */
  
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+ #undef PAGE_REGISTER
+ #undef BASE_REGISTER
+ #define PAGE_REGISTER 10
+ #define BASE_REGISTER 12
+ 
+ #ifdef TARGET_PDPMAC
+ /* made register 1 fixed because it is used
+    for parameter passing, otherwise we DO
+    have a problem! */
+ /* also made register 0 fixed, because I am using that
+    for the struct, instead of 1.  Why would anyone
+    choose 1 for the struct when it is being used
+    already for the parameters? */
  #define FIXED_REGISTERS 						\
+ { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }
+ /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
+ #else
+ #define FIXED_REGISTERS                         \
  { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 }
  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
+ #endif
  
  /* 1 for registers not available across function calls.  These must include
     the FIXED_REGISTERS and also any registers that can be used without being
***************
*** 228,263 ****
  */
  
  #define CALL_USED_REGISTERS 						\
! { 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
  
! /* Return number of consecutive hard regs needed starting at reg REGNO
!    to hold something of mode MODE.
!    This is ordinarily the length in words of a value of mode MODE
!    but can be less for certain modes in special long registers.  
!    Note that DCmode (complex double) needs two regs.
  */
  #endif /* TARGET_HLASM */
  
  /* ================= */
! #ifdef TARGET_ELF_ABI 
  /* The Linux/ELF ABI uses the same register layout as the 
!  * the MVS/OE version, with the following exceptions:
!  * -- r12 (rtca) is not used.
   */
  
  #define FIXED_REGISTERS 						\
! { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0 }
  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
  
  #define CALL_USED_REGISTERS 						\
! { 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 }
  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
  
! #endif /* TARGET_ELF_ABI */
  /* ================= */
  
  
  #define HARD_REGNO_NREGS(REGNO, MODE) 					\
    ((REGNO) > 15 ? 							\
     ((GET_MODE_SIZE (MODE) + 2*UNITS_PER_WORD - 1) / (2*UNITS_PER_WORD)) :	\
--- 325,403 ----
  */
  
  #define CALL_USED_REGISTERS 						\
! { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
+ #endif
  
! #ifdef TARGET_LE
! #define FIXED_REGISTERS 						\
! { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 }
! /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
! 
! /* 1 for registers not available across function calls.  These must include
!    the FIXED_REGISTERS and also any registers that can be used without being
!    saved.
!    The latter must include the registers where values are returned
!    and the register where structure-value addresses are passed.
!    NOTE: all floating registers are undefined across calls.  
  */
+ 
+ #define CALL_USED_REGISTERS 						\
+ { 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
+ /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
+ #endif /* TARGET_LE */
+ 
+ #if !defined(TARGET_DIGNUS) && !defined(TARGET_PDPMAC) && !defined(TARGET_LE)
+ #define FIXED_REGISTERS 						\
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }
+ /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
+ #define CALL_USED_REGISTERS 						\
+ { 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
+ /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
+ #endif
+ 
  #endif /* TARGET_HLASM */
  
  /* ================= */
! #ifdef TARGET_LINUX 
  /* The Linux/ELF ABI uses the same register layout as the 
!    the MVS/OE version, with the following exceptions:
!    -- r4 is not used; its role is taken by 0(r13)
!    -- r13 is used as a combined argument & frame pointer
!    -- r11 is used to point to the top of the stack.
!    -- r12 is used as a base pointer into the data section
!       but only if i370_enable_pic is true; otherwise we can
!       free up this register.
! 
!    Note that the ELF calling convention is radically different 
!    than the MVS/OE convention.  In particular, r11 always points
!    to the top of the stack, and r13 always points to the bottom 
!    of the stack.  Thus, r13 can be used as a dual arg & frame 
!    pointer for all occasions, whereas r11 can be used for alloca
!    and other stack-dynamic allocations.  
! 
!    XXX Future enhancment possible: When a function doesn't have
!    any args, and doesn't use alloca(), then r11 is not really needed.
   */
  
  #define FIXED_REGISTERS 						\
! { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0 }
  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
  
  #define CALL_USED_REGISTERS 						\
! { 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
  /*0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19*/
  
! #endif /* TARGET_LINUX */
  /* ================= */
  
  
+ /* Return number of consecutive hard regs needed starting at reg REGNO
+    to hold something of mode MODE.
+    This is ordinarily the length in words of a value of mode MODE
+    but can be less for certain modes in special long registers.  
+    Note that DCmode (complex double) needs two regs.  */
+ 
  #define HARD_REGNO_NREGS(REGNO, MODE) 					\
    ((REGNO) > 15 ? 							\
     ((GET_MODE_SIZE (MODE) + 2*UNITS_PER_WORD - 1) / (2*UNITS_PER_WORD)) :	\
***************
*** 290,295 ****
--- 430,439 ----
  
  /* #define PC_REGNUM */
  
+ /* ------------------------------------------------------------------- */
+ /* ================= */
+ #ifdef TARGET_HLASM
+ 
  /* Register to use for pushing function arguments.  */
  
  #define STACK_POINTER_REGNUM 13
***************
*** 309,314 ****
--- 453,492 ----
  
  #define ARG_POINTER_REGNUM 11
  
+ #endif /* TARGET_HLASM */
+ 
+ /* ================= */
+ #ifdef TARGET_LINUX 
+ 
+ /* Register to use for pushing function arguments.  */
+ 
+ #define STACK_POINTER_REGNUM 11
+ 
+ /* Base register for access to local variables of the function.
+    A separate stack and frame pointer is required for any function 
+    that calls alloca() or does other pushing onto the stack. */
+ 
+ #define FRAME_POINTER_REGNUM 13
+ 
+ /* Value should be nonzero if functions must have frame pointers.
+    Zero means the frame pointer need not be set up (and parms may be
+    accessed via the stack pointer) in functions that seem suitable.
+    This is computed in `reload', in reload1.c.  */
+ 
+ #define FRAME_POINTER_REQUIRED 1
+ 
+ /* Function epilogue uses the frame pointer to restore the context */
+ #define EXIT_IGNORE_STACK 1
+ 
+ /* Base register for access to arguments of the function.  
+    We will use the frame pointer as the arg pointer. */
+ 
+ #define ARG_POINTER_REGNUM 13
+ 
+ #endif /* TARGET_LINUX */
+ /* ================= */
+ /* ------------------------------------------------------------------- */
+ 
  /* R10 is register in which static-chain is passed to a function.  
     Static-chaining is done when a nested function references as a global
     a stack variable of its parent: e.g.
***************
*** 333,339 ****
--- 511,521 ----
     the R1 points at that mem location.
   */
  
+ #ifdef TARGET_PDPMAC
+ #define STRUCT_VALUE_REGNUM 0
+ #else
  #define STRUCT_VALUE_REGNUM 1
+ #endif
  
  /* Define the classes of registers for register constraints in the
     machine description.  Also define ranges of constants.
***************
*** 446,455 ****
  
  /* Define this if pushing a word on the stack makes the stack pointer a
     smaller address.  */
- /* ------------------------------------------------------------------- */
  
- /* ================= */
- #ifdef TARGET_HLASM
  /* #define STACK_GROWS_DOWNWARD */
  
  /* Define this if the nominal address of the stack frame is at the
--- 628,634 ----
***************
*** 458,463 ****
--- 637,668 ----
  
  /* #define FRAME_GROWS_DOWNWARD */
  
+ 
+ /* ------------------------------------------------------------------- */
+ /* ================= */
+ #ifdef TARGET_HLASM
+ 
+ /* Define offset from stack pointer, to location where a parm can be
+    pushed.  */
+ 
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+ #define STACK_POINTER_OFFSET 88
+ #else
+ #define STACK_POINTER_OFFSET 148
+ #endif
+ 
+ #define STACK_FRAME_BASE 88
+ 
+ 
+ /* used in i370.md for temp scratch area */
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+ #define CONVLO "80"
+ #define CONVHI "84"
+ #else
+ #define CONVLO "140"
+ #define CONVHI "144"
+ #endif
+ 
  /* Offset within stack frame to start allocating local variables at.
     If FRAME_GROWS_DOWNWARD, this is the offset to the END of the
     first local allocated.  Otherwise, it is the offset to the BEGINNING
***************
*** 468,510 ****
  
  #define INITIAL_FRAME_POINTER_OFFSET(DEPTH) (DEPTH) = STARTING_FRAME_OFFSET
  
! /* If we generate an insn to push BYTES bytes, this says how many the stack
!    pointer really advances by.  On the 370, we have no push instruction.  */
  
  #endif /* TARGET_HLASM */
  
  /* ================= */
! #ifdef TARGET_ELF_ABI 
  
! /* With ELF/Linux, stack is placed at large virtual addrs and grows down.
!    But we want the compiler to generate posistive displacements from the 
!    stack pointer, and so we make the frame lie above the stack.  */
  
! #define STACK_GROWS_DOWNWARD 
! /* #define FRAME_GROWS_DOWNWARD */
  
! /* Offset within stack frame to start allocating local variables at.
!    This is the offset to the BEGINNING of the first local allocated.  */
  
  #define STARTING_FRAME_OFFSET  						\
!      (STACK_POINTER_OFFSET + current_function_outgoing_args_size)
  
  #define INITIAL_FRAME_POINTER_OFFSET(DEPTH) (DEPTH) = STARTING_FRAME_OFFSET
  
! #endif /* TARGET_ELF_ABI */
! /* ================= */
  
! /* #define PUSH_ROUNDING(BYTES) */
  
! /* Accumulate the outgoing argument count so we can request the right
!    DSA size and determine stack offset.  */
  
! #define ACCUMULATE_OUTGOING_ARGS 1
  
! /* Define offset from stack pointer, to location where a parm can be
!    pushed.  */
  
  #define STACK_POINTER_OFFSET 148
  
  /* Offset of first parameter from the argument pointer register value.  */
  
--- 673,779 ----
  
  #define INITIAL_FRAME_POINTER_OFFSET(DEPTH) (DEPTH) = STARTING_FRAME_OFFSET
  
! /* Offset of first parameter from the argument pointer register value.  */
! 
! #define FIRST_PARM_OFFSET(FNDECL) 0
! 
! /* Accumulate the outgoing argument count so we can request the right
!    DSA size and determine stack offset.  */
! 
! #define ACCUMULATE_OUTGOING_ARGS 1
  
  #endif /* TARGET_HLASM */
  
  /* ================= */
! #ifdef TARGET_LINUX 
! /* Here's the stack layout as currently designed:
  
!    r11 -- top of stack aka stack pointer
!    -4(r11) -- last local (stack) variable)
!    ...          ...
!    88+4*nargs(r13) -- first local (stack) variable.
!    ...          ...
!    92(r13) -- second incoming (callee) argument
!    88(r13) -- first incoming (callee) argument
!    84(r13) -- volatile scratch area
!    80(r13) -- volatile scratch area
!    76(r13) -- not used (frame size)
!    72(r13) -- not used
!    68(r13) -- saved callers r12
!    64(r13) -- saved callers r11
!    ...          ...
!    28(r13) -- saved callers r2
!    24(r13) -- saved callers r1
!    20(r13) -- saved callers r0
!    16(r13) -- saved callers r15
!    12(r13) -- saved callers r14
!    8(r13)  -- saved callers r13
!    4(r13)  -- not used
!    0(r13)  -- code page table pointer
!    r13 -- bottom of stack aka frame pointer aka arg pointer
! 
!    Note that this bears superficial similarity to the MVS/OE stack layout,
!    but in fact it is very very different.  In particular, under MVS/OE
!    the roles of r11 and r13 are quite different.   
! 
!    Note that the use of varargs/stdarg is limited to 512 bytes of
!    of arguments.  This is the price that is paid for freeing up a 
!    register and having a more efficient function return.
! */
  
! /* Define size of the calling convention register save area.
!    This includes room for the 16 GPR's, a saved frame size, and 
!    a (floating point math) scratch area */
! #define I370_SAVE_AREA_SIZE 88
! 
! /* Define the size of the amount of room reserved for varargs */
! #define I370_VARARGS_AREA_SIZE 512
! 
! /* Used in i370.md for temp scratch area. Must be that last two words
!    of the I370_SAVE_AREA. */
! #define CONVLO "80"
! #define CONVHI "84"
  
! /* Define offset from stack pointer, to location where a parm can be
!    pushed.  */
! 
! #define STACK_POINTER_OFFSET I370_SAVE_AREA_SIZE
! 
! #define STACK_DYNAMIC_OFFSET(FNDECL) 0
! 
! /* Offset within frame to start allocating local variables at.
!    It is the offset to the BEGINNING of the first local allocated.  */
  
  #define STARTING_FRAME_OFFSET  						\
!      ((current_function_varargs || current_function_stdarg) ?		\
!      (I370_SAVE_AREA_SIZE + I370_VARARGS_AREA_SIZE):			\
!      (I370_SAVE_AREA_SIZE + current_function_args_size))
  
  #define INITIAL_FRAME_POINTER_OFFSET(DEPTH) (DEPTH) = STARTING_FRAME_OFFSET
  
! /* Offset of first incoming parameter from the arg ptr register value.  */
! #define FIRST_PARM_OFFSET(FNDECL) I370_SAVE_AREA_SIZE
  
! /* The ACCUMULATE_OUTGOING_ARGS flag seems to have some funny side effects
!    that we need.  Specifically, if it is set, then the stack pointer is
!    not bumped when args are placed on the stack, which is just how we want
!    it. */
! #define ACCUMULATE_OUTGOING_ARGS 1
  
! #endif /* TARGET_LINUX */
  
! /* ================= */
! /* ------------------------------------------------------------------- */
  
! /* If we generate an insn to push BYTES bytes, this says how many the stack
!    pointer really advances by.  On the 370, we have no push instruction.  */
  
+ /* #define PUSH_ROUNDING(BYTES) */
+ 
+ #ifdef TARGET_LE
  #define STACK_POINTER_OFFSET 148
+ #define STACK_FRAME_BASE 28
+ #endif
  
  /* Offset of first parameter from the argument pointer register value.  */
  
***************
*** 631,636 ****
--- 900,911 ----
  
  #define TRAMPOLINE_SIZE 20
  
+ /* Determine whether to use move_by_pieces or block move insn.  */
+ 
+ #define MOVE_BY_PIECES_P(SIZE, ALIGN)		\
+   ( (SIZE) == 1 || (SIZE) == 2 || (SIZE) == 4	\
+     || (TARGET_64BIT && (SIZE) == 8) )
+ 
  /* Emit RTL insns to initialize the variable parts of a trampoline.  */
  
  #define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT)			\
***************
*** 1003,1008 ****
--- 1278,1284 ----
  /* ======================================================== */
  
  #ifdef TARGET_HLASM
+ 
  #define TEXT_SECTION_ASM_OP "* Program text area"
  #define DATA_SECTION_ASM_OP "* Program data area"
  #define INIT_SECTION_ASM_OP "* Program initialization area"
***************
*** 1020,1025 ****
--- 1296,1302 ----
    "0",  "2",  "4",  "6"							\
  }
  
+ 
  #define ASM_COMMENT_START "*"
  #define ASM_APP_OFF ""
  #define ASM_APP_ON ""
***************
*** 1027,1032 ****
--- 1304,1317 ----
  #define ASM_OUTPUT_LABEL(FILE, NAME) 					\
  { assemble_name (FILE, NAME); fputs ("\tEQU\t*\n", FILE); }
  
+ #define ASM_OUTPUT_FUNCTION_PREFIX(FILE, NAME)				\
+   mvs_need_to_globalize = 0; \
+   mvs_need_entry = 0
+ 
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+ #define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME)
+ #endif
+ #ifdef TARGET_LE
  #define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME)				\
  {									\
    char temp[MAX_MVS_LABEL_SIZE + 1];					\
***************
*** 1035,1045 ****
--- 1320,1343 ----
        fprintf (FILE, "%s\tALIAS\tC'%s'\n", temp, NAME);			\
      }									\
  }
+ #endif
+ 
  
  /* MVS externals are limited to 8 characters, upper case only.
     The '_' is mapped to '@', except for MVS functions, then '#'.  */
  
  
+ #ifdef TARGET_ALIASES
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+ #define ASM_OUTPUT_LABELREF(FILE, NAME)					\
+ {									\
+   char *bp, ch, temp[MAX_MVS_LABEL_SIZE + 1];				\
+   if (!mvs_get_alias (NAME, temp))					\
+     strcpy (temp, NAME);						\
+   fprintf (FILE, "%s", temp);						\
+ }
+ #endif
+ #ifdef TARGET_LE
  #define ASM_OUTPUT_LABELREF(FILE, NAME)					\
  {									\
    char *bp, ch, temp[MAX_MVS_LABEL_SIZE + 1];				\
***************
*** 1055,1060 ****
--- 1353,1390 ----
      *bp = (*bp == '_' ? ch : TOUPPER (*bp));				\
    fprintf (FILE, "%s", temp);						\
  }
+ #endif
+ #else /* !TARGET_ALIASES */
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+ #define ASM_OUTPUT_LABELREF(FILE, NAME)					\
+ {									\
+   char *bp, ch, temp[MAX_MVS_LABEL_SIZE + 1];				\
+   if (!mvs_get_alias (NAME, temp))					\
+     strcpy (temp, NAME);						\
+   ch = '@';								\
+   for (bp = temp; *bp; bp++)						\
+     *bp = (*bp == '_' ? ch : TOUPPER (*bp));				\
+   fprintf (FILE, "%s", temp);						\
+ }
+ #endif
+ #ifdef TARGET_LE
+ #define ASM_OUTPUT_LABELREF(FILE, NAME)					\
+ {									\
+   char *bp, ch, temp[MAX_MVS_LABEL_SIZE + 1];				\
+   if (!mvs_get_alias (NAME, temp))					\
+     strcpy (temp, NAME);						\
+   if (!strcmp (temp,"main"))						\
+     strcpy (temp,"gccmain");						\
+   if (mvs_function_check (temp))					\
+     ch = '#';								\
+   else									\
+     ch = '@';								\
+   for (bp = temp; *bp; bp++)						\
+     *bp = (*bp == '_' ? ch : TOUPPER (*bp));				\
+   fprintf (FILE, "%s", temp);						\
+ }
+ #endif
+ #endif /* TARGET_ALIASES */
  
  #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM)			\
    sprintf (LABEL, "*%s%lu", PREFIX, (unsigned long)(NUM))
***************
*** 1063,1082 ****
     and put the vectors out of the code body. The assembler just
     concatenates CSECTs with the same name.  */
  
  #define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, TABLE)			\
    fprintf (FILE, "\tDS\t0F\n");                                         \
!   fprintf (FILE,"\tCSECT\n");                                           \
    fprintf (FILE, "%s%d\tEQU\t*\n", PREFIX, NUM)
  
  /* Put the CSECT back to the code body */
  
  #define ASM_OUTPUT_CASE_END(FILE, NUM, TABLE)                           \
!   assemble_name (FILE, mvs_function_name);                              \
!   fputs ("\tCSECT\n", FILE);
  
  /* This is how to output an element of a case-vector that is absolute.  */
  
  #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE)  				\
    fprintf (FILE, "\tDC\tA(L%d)\n", VALUE)
  
  /* This is how to output an element of a case-vector that is relative.  */
--- 1393,1439 ----
     and put the vectors out of the code body. The assembler just
     concatenates CSECTs with the same name.  */
  
+ #ifdef TARGET_ALIASES
+ #define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, TABLE)			\
+   fprintf (FILE, "\tDS\t0F\n");                                         \
+   fprintf (FILE,"@DATA\tCSECT\n");                                      \
+   fprintf (FILE, "%s%d\tEQU\t*\n", PREFIX, NUM)
+ #else /* !TARGET_ALIASES */
+ #ifdef TARGET_PDPMAC
+ #define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, TABLE)			\
+   fprintf (FILE, "\tLTORG\n");                                          \
+   fprintf (FILE, "\tDS\t0F\n");                                         \
+   mvs_case_code = 0;							\
+   fprintf (FILE, "%s%d\tEQU\t*\n", PREFIX, NUM)
+ #else
  #define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, TABLE)			\
    fprintf (FILE, "\tDS\t0F\n");                                         \
!   fprintf (FILE,"$%s\tCSECT\n", mvs_module);                            \
    fprintf (FILE, "%s%d\tEQU\t*\n", PREFIX, NUM)
+ #endif
+ #endif /* TARGET_ALIASES */
  
  /* Put the CSECT back to the code body */
  
+ #ifdef TARGET_ALIASES
+ #define ASM_OUTPUT_CASE_END(FILE, NUM, TABLE)                           \
+   fputs ("@CODE\tCSECT\n", FILE);
+ #else /* !TARGET_ALIASES */
+ #ifdef TARGET_PDPMAC
  #define ASM_OUTPUT_CASE_END(FILE, NUM, TABLE)                           \
!   mvs_page_code += mvs_case_code;					\
!   mvs_check_page (FILE, 0, 0);						\
!   mvs_case_code = 0;
! #else
! #define ASM_OUTPUT_CASE_END(FILE, NUM, TABLE)                           \
!   fprintf (FILE, "@%s\tCSECT\n", mvs_module);
! #endif
! #endif /* TARGET_ALIASES */
  
  /* This is how to output an element of a case-vector that is absolute.  */
  
  #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE)  				\
+   mvs_case_code += 4;							\
    fprintf (FILE, "\tDC\tA(L%d)\n", VALUE)
  
  /* This is how to output an element of a case-vector that is relative.  */
***************
*** 1117,1127 ****
    for (j = 0, i = 0; i < limit; j++, i++)				\
      {									\
        int c = (PTR)[i];							\
!       if (ISCNTRL (c) || c == '&')					\
  	{								\
  	  if (j % MVS_ASCII_TEXT_LENGTH != 0 )				\
  	    fprintf (FILE, "'\n");					\
  	  j = -1;							\
  	  fprintf (FILE, "\tDC\tX'%X'\n", c );				\
  	}								\
        else								\
--- 1474,1486 ----
    for (j = 0, i = 0; i < limit; j++, i++)				\
      {									\
        int c = (PTR)[i];							\
!       c = MAP_INCHAR(c);							\
!       if (!IS_ISOBASIC (c) || ISCNTRL(c) || c == '&')			\
  	{								\
  	  if (j % MVS_ASCII_TEXT_LENGTH != 0 )				\
  	    fprintf (FILE, "'\n");					\
  	  j = -1;							\
+ 	  c = MAP_OUTCHAR (c); 						\
  	  fprintf (FILE, "\tDC\tX'%X'\n", c );				\
  	}								\
        else								\
***************
*** 1129,1135 ****
  	  if (j % MVS_ASCII_TEXT_LENGTH == 0)				\
              fprintf (FILE, "\tDC\tC'");					\
            if ( c == '\'' )                                       	\
! 	    fprintf (FILE, "%c%c", c, c);                        	\
  	  else                                                   	\
  	    fprintf (FILE, "%c", c);                             	\
  	  if (j % MVS_ASCII_TEXT_LENGTH == MVS_ASCII_TEXT_LENGTH - 1)	\
--- 1488,1499 ----
  	  if (j % MVS_ASCII_TEXT_LENGTH == 0)				\
              fprintf (FILE, "\tDC\tC'");					\
            if ( c == '\'' )                                       	\
! 	    {	/* we are going to print 2 chars - is there space */	\
! 	  if( j % MVS_ASCII_TEXT_LENGTH == MVS_ASCII_TEXT_LENGTH - 1)   \
!           { /* not enough space */					\
! 	    fprintf (FILE, "'\n" );					\
!             fprintf (FILE, "\tDC\tC'");	++j;}				\
!                fprintf (FILE, "%c%c", c, c);++j;}                   	\
  	  else                                                   	\
  	    fprintf (FILE, "%c", c);                             	\
  	  if (j % MVS_ASCII_TEXT_LENGTH == MVS_ASCII_TEXT_LENGTH - 1)	\
***************
*** 1161,1166 ****
--- 1525,1544 ----
     instruction to advance the location counter by SIZE bytes. Those
     bytes should be zero when loaded.  */
  
+ #ifdef TARGET_PDPMAC
+ #define ASM_OUTPUT_SKIP(FILE, SIZE)  					\
+ {									\
+   int s, k;								\
+   for (s = (SIZE); s > 0; s -= MAX_CHUNK)				\
+     {									\
+       if (s > MAX_CHUNK)						\
+ 	k = MAX_CHUNK;							\
+       else								\
+ 	k = s;								\
+       fprintf (FILE, "\tDC\t%dX'00'\n", k);				\
+     }									\
+ }
+ #else
  #define ASM_OUTPUT_SKIP(FILE, SIZE)  					\
  {									\
    unsigned HOST_WIDE_INT s;						\
***************
*** 1174,1179 ****
--- 1552,1558 ----
        fprintf (FILE, "\tDS\tXL%d\n", k);				\
      }									\
  }
+ #endif
  
  /* A C statement (sans semicolon) to output to the stdio stream
     FILE the assembler definition of a common-label named NAME whose
***************
*** 1187,1192 ****
--- 1566,1572 ----
      {									\
        fprintf (FILE, "%s\tALIAS\tC'%s'\n", temp, NAME);			\
      }									\
+   fprintf(FILE, "* X-var %s\n", NAME); \
    fputs ("\tENTRY\t", FILE);						\
    assemble_name (FILE, NAME);						\
    fputs ("\n", FILE);							\
***************
*** 1207,1213 ****
    ASM_OUTPUT_SKIP (FILE,SIZE);						\
  }
  
! #define ASM_PN_FORMAT "%s%lu"
  
  /* Print operand XV (an rtx) in assembler syntax to file FILE.
     CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
--- 1587,1593 ----
    ASM_OUTPUT_SKIP (FILE,SIZE);						\
  }
  
! #define ASM_PN_FORMAT "%s"
  
  /* Print operand XV (an rtx) in assembler syntax to file FILE.
     CODE is a letter or dot (`z' in `%z0') or 0 if no letter was specified.
***************
*** 1249,1258 ****
        case SYMBOL_REF:							\
        case LABEL_REF:							\
  	mvs_page_lit += 4;						\
! 	if (SYMBOL_REF_EXTERNAL_P (XV)) fprintf (FILE, "=V(");		\
! 	else                      fprintf (FILE, "=A(");		\
! 	output_addr_const (FILE, XV);					\
! 	fprintf (FILE, ")");						\
  	break;								\
        case CONST_INT:					        	\
  	if (CODE == 'B')						\
--- 1629,1647 ----
        case SYMBOL_REF:							\
        case LABEL_REF:							\
  	mvs_page_lit += 4;						\
! 	if (SYMBOL_REF_EXTERNAL_P (XV))					\
! 	  {								\
! 	    fprintf (FILE, "=V(");					\
! 	    output_addr_const (FILE, XV);				\
! 	    fprintf (FILE, ")");					\
! 	    mvs_mark_alias (XSTR(XV,0));				\
! 	  }								\
! 	else								\
! 	  {								\
! 	    fprintf (FILE, "=A(");					\
! 	    output_addr_const (FILE, XV);				\
! 	    fprintf (FILE, ")");					\
! 	  }								\
  	break;								\
        case CONST_INT:					        	\
  	if (CODE == 'B')						\
***************
*** 1314,1319 ****
--- 1703,1710 ----
              char buf[50];						\
  	    if (GET_MODE (XV) == SFmode)				\
  	      {								\
+ 	        REAL_VALUE_TYPE rval;					\
+ 	        REAL_VALUE_FROM_CONST_DOUBLE(rval, XV);			\
  		mvs_page_lit += 4;					\
  		real_to_decimal (buf, CONST_DOUBLE_REAL_VALUE (XV),	\
  				 sizeof (buf), 0, 1);			\
***************
*** 1328,1333 ****
--- 1719,1726 ----
  	      }								\
  	    else /* VOIDmode */						\
  	      {								\
+ 	        REAL_VALUE_TYPE rval;					\
+ 	        REAL_VALUE_FROM_CONST_DOUBLE(rval, XV);			\
  		mvs_page_lit += 8;					\
  		fprintf (FILE, "=XL8'%08X%08X'", 			\
  			CONST_DOUBLE_HIGH (XV), CONST_DOUBLE_LOW (XV));	\
***************
*** 1341,1351 ****
  	    mvs_page_lit += 4;						\
  	    if (SYMBOL_REF_EXTERNAL_P (XEXP (XEXP (XV, 0), 0)))		\
  	      {								\
  		fprintf (FILE, "=V(");					\
  		ASM_OUTPUT_LABELREF (FILE,				\
  				  XSTR (XEXP (XEXP (XV, 0), 0), 0));	\
! 		fprintf (FILE, ")\n\tA\t%s,=F'" HOST_WIDE_INT_PRINT_DEC "'", \
! 			 curreg, INTVAL (XEXP (XEXP (XV, 0), 1)));	\
  	      }								\
  	    else							\
  	      {								\
--- 1734,1751 ----
  	    mvs_page_lit += 4;						\
  	    if (SYMBOL_REF_EXTERNAL_P (XEXP (XEXP (XV, 0), 0)))		\
  	      {								\
+ 		int xx = INTVAL (XEXP (XEXP (XV, 0), 1));		\
  		fprintf (FILE, "=V(");					\
  		ASM_OUTPUT_LABELREF (FILE,				\
  				  XSTR (XEXP (XEXP (XV, 0), 0), 0));	\
! 		if ((unsigned)xx < 4096)				\
! 		  fprintf (FILE, ")\n\tLA\t%s,%d(0,%s)", curreg,	\
! 				  xx,					\
! 				  curreg);				\
! 		else							\
! 		  fprintf (FILE, ")\n\tA\t%s,=F'%d'", curreg,		\
! 				  xx);					\
! 		mvs_mark_alias (XSTR (XEXP (XEXP (XV, 0), 0), 0));	\
  	      }								\
  	    else							\
  	      {								\
***************
*** 1450,1465 ****
  	break;								\
        default:								\
  	mvs_page_lit += 4;						\
! 	if (SYMBOL_REF_EXTERNAL_P (ADDR)) fprintf (FILE, "=V(");	\
! 	else                        fprintf (FILE, "=A(");		\
! 	output_addr_const (FILE, ADDR);					\
! 	fprintf (FILE, ")");						\
  	break;								\
      }									\
  }
  
  #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)			\
  {									\
    if (strlen (NAME) + 1 > mvs_function_name_length)			\
      {									\
        if (mvs_function_name)						\
--- 1850,1876 ----
  	break;								\
        default:								\
  	mvs_page_lit += 4;						\
! 	if (SYMBOL_REF_EXTERNAL_P (ADDR))					\
! 	  {								\
! 	    fprintf (FILE, "=V(");					\
! 	    output_addr_const (FILE, ADDR);				\
! 	    fprintf (FILE, ")");					\
! 	    mvs_mark_alias (XSTR (ADDR, 0));				\
! 	  }								\
! 	else								\
! 	  {								\
! 	    fprintf (FILE, "=A(");					\
! 	    output_addr_const (FILE, ADDR);				\
! 	    fprintf (FILE, ")");					\
! 	  }								\
  	break;								\
      }									\
  }
  
+ #ifdef TARGET_LE
  #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)			\
  {									\
+   /* Save a copy of the function name. We need it later */		\
    if (strlen (NAME) + 1 > mvs_function_name_length)			\
      {									\
        if (mvs_function_name)						\
***************
*** 1475,1486 ****
      strcpy (mvs_function_name, "gccmain");				\
    else									\
      strcpy (mvs_function_name, NAME);					\
-   fprintf (FILE, "\tDS\t0F\n");						\
-   assemble_name (FILE, mvs_function_name);				\
-   fputs ("\tRMODE\tANY\n", FILE);					\
-   assemble_name (FILE, mvs_function_name);				\
-   fputs ("\tCSECT\n", FILE);						\
  }
  
  /* Output assembler code to FILE to increment profiler label # LABELNO
     for profiling a function entry.  */
--- 1886,1912 ----
      strcpy (mvs_function_name, "gccmain");				\
    else									\
      strcpy (mvs_function_name, NAME);					\
  }
+ #endif
+ 
+ #if defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
+ #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)			\
+ {									\
+   if (strlen (NAME) + 1 > mvs_function_name_length)			\
+     {									\
+       if (mvs_function_name)						\
+ 	free (mvs_function_name);					\
+       mvs_function_name = 0;						\
+     }									\
+   if (!mvs_function_name)						\
+     {									\
+       mvs_function_name_length = strlen (NAME) * 2 + 1;			\
+       mvs_function_name = (char *) xmalloc (mvs_function_name_length);	\
+     }									\
+   strcpy (mvs_function_name, NAME);					\
+   mvs_need_to_globalize = 1;						\
+ }
+ #endif
  
  /* Output assembler code to FILE to increment profiler label # LABELNO
     for profiling a function entry.  */
***************
*** 1492,1498 ****
  
  /* ======================================================== */
  
! #ifdef TARGET_ELF_ABI 
  
  /* How to refer to registers in assembler output.  This sequence is
     indexed by compiler's hard-register-number (see above).  */
--- 1918,1924 ----
  
  /* ======================================================== */
  
! #ifdef TARGET_LINUX 
  
  /* How to refer to registers in assembler output.  This sequence is
     indexed by compiler's hard-register-number (see above).  */
***************
*** 1610,1615 ****
--- 2036,2043 ----
              char buf[50];						\
  	    if (GET_MODE (XV) == SFmode)				\
  	      {								\
+ 	        REAL_VALUE_TYPE rval;					\
+ 	        REAL_VALUE_FROM_CONST_DOUBLE(rval, XV);			\
  		mvs_page_lit += 4;					\
  		real_to_decimal (buf, CONST_DOUBLE_REAL_VALUE (XV),	\
  				 sizeof (buf), 0, 1);			\
***************
*** 1617,1622 ****
--- 2045,2052 ----
  	      }								\
  	    else if (GET_MODE (XV) == DFmode)				\
  	      {								\
+ 	        REAL_VALUE_TYPE rval;					\
+ 	        REAL_VALUE_FROM_CONST_DOUBLE(rval, XV);			\
  		mvs_page_lit += 8;					\
  		real_to_decimal (buf, CONST_DOUBLE_REAL_VALUE (XV),	\
  				 sizeof (buf), 0, 1);			\
***************
*** 1758,1763 ****
--- 2188,2271 ----
      }									\
  }
  
+ #ifdef ASM_DECLARE_FUNCTION_NAME
+ #undef ASM_DECLARE_FUNCTION_NAME
+ #endif
+ #define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)			\
+ {									\
+   /* Save a copy of the function name. We need it later */		\
+   if (strlen (NAME) +1 > mvs_function_name_length)			\
+     {									\
+       if (mvs_function_name)						\
+ 	free (mvs_function_name);					\
+       mvs_function_name = 0;						\
+     }									\
+   if (!mvs_function_name)						\
+     {									\
+       mvs_function_name_length = strlen (NAME) * 2 + 1;			\
+       mvs_function_name = (char *) xmalloc (mvs_function_name_length);	\
+     }									\
+   strcpy (mvs_function_name, NAME);					\
+ 									\
+   ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL));			\
+ }
+ 
+ /* This macro generates the assembly code for function exit, on machines
+    that need it.  If FUNCTION_EPILOGUE is not defined then individual
+    return instructions are generated for each return statement.  Args are
+    same as for FUNCTION_PROLOGUE.
+ 
+    The function epilogue should not depend on the current stack pointer!
+    It should use the frame pointer only.  This is mandatory because
+    of alloca; we also take advantage of it to omit stack adjustments
+    before returning.  */
+ 
+ #define FUNCTION_EPILOGUE(FILE, LSIZE)					\
+ {									\
+   int i;								\
+   check_label_emit();							\
+   mvs_check_page (FILE,14,0);						\
+   fprintf (FILE, "# Function epilogue\n");				\
+   fprintf (FILE, "\tL\tr14,12(,r13)\n");				\
+   fprintf (FILE, "\tLM\t2,12,28(r13)\n");				\
+   fprintf (FILE, "\tL\tr13,8(,r13)\n");					\
+   fprintf (FILE, "\tBASR\tr1,r14\n");					\
+   fprintf (FILE, "# Function literal pool\n");				\
+   if (i370_enable_pic)							\
+     {									\
+       fprintf (FILE, ".data\n");					\
+       fprintf (FILE, "\t.balign\t4\n");					\
+       fprintf (FILE, ".LPOOL%d:\n",mvs_page_num);			\
+       fprintf (FILE, "\t.ltorg\n");					\
+       fprintf (FILE, "# Function page table\n");			\
+       fprintf (FILE, "\t.balign\t4\n");					\
+       fprintf (FILE, ".LPGT%d:\n", function_base_page);			\
+       mvs_page_num++;							\
+       for ( i = function_base_page; i < mvs_page_num; i++ )		\
+         {								\
+           fprintf (FILE, "\t.long\t.LPG%d\n", i);			\
+           fprintf (FILE, "\t.long\t.LPOOL%d\n", i);			\
+         }								\
+       /* fprintf (FILE, ".previous\n");	 */				\
+     }									\
+   else									\
+     {									\
+       fprintf (FILE, "\t.balign\t4\n");					\
+       fprintf (FILE, "\t.ltorg\n");					\
+       fprintf (FILE, "# Function page table\n");			\
+       fprintf (FILE, "\t.balign\t4\n");					\
+       fprintf (FILE, ".LPGT%d:\n", function_base_page);			\
+       mvs_page_num++;							\
+       for ( i = function_base_page; i < mvs_page_num; i++ )		\
+         {								\
+           fprintf (FILE, "\t.long\t.LPG%d\n", i);			\
+         }								\
+     }									\
+   mvs_free_label_list();						\
+ }
+ 
+ #define FUNCTION_PROLOGUE(FILE, LSIZE) i370_function_prolog ((FILE), (LSIZE));
+ 
  /* Output assembler code to FILE to increment profiler label # LABELNO
     for profiling a function entry.  */
  /* Make it a no-op for now, so we can at least compile glibc */
***************
*** 1859,1863 ****
    assemble_name ((FILE), (NAME)),               \
    fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED"\n", (ROUNDED)))
  
! #endif /* TARGET_ELF_ABI */
  #endif /* ! GCC_I370_H */
--- 2367,2371 ----
    assemble_name ((FILE), (NAME)),               \
    fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED"\n", (ROUNDED)))
  
! #endif /* TARGET_LINUX */
  #endif /* ! GCC_I370_H */
Index: gcc/gcc/config/i370/i370.md
diff -c gcc/gcc/config/i370/i370.md:1.1.1.1 gcc/gcc/config/i370/i370.md:1.20
*** gcc/gcc/config/i370/i370.md:1.1.1.1	Wed Apr 15 16:27:55 2009
--- gcc/gcc/config/i370/i370.md	Wed Dec  2 18:56:59 2009
***************
*** 1,9 ****
--- 1,18 ----
  ;;- Machine description for GNU compiler -- System/370 version.
+ 
+ ;; =======================================================================
+ ;; Note that this file is not nearly as complicated as it looks
+ ;; at first glance. See below the copyright notice for an explanation
+ ;; (you will get nowhere without an explanation).
+ ;; =======================================================================
+ 
+ 
  ;;  Copyright (C) 1989, 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2002
  ;;  Free Software Foundation, Inc.
  ;;  Contributed by Jan Stein (jan@cd.chalmers.se).
  ;;  Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
  ;;  Lots of Bug Fixes & Enhancements by Linas Vepstas (linas@linas.org)
+ ;;  More bug fixes by Paul Edwards (fight.subjugation@gmail.com)
  
  ;; This file is part of GCC.
  
***************
*** 22,27 ****
--- 31,192 ----
  ;; the Free Software Foundation, 59 Temple Place - Suite 330,
  ;; Boston, MA 02111-1307, USA.
  
+ 
+ ;; =======================================================================
+ ;; At the heart of the GCC backend (the backend is what generates the
+ ;; code for a particular CPU, the frontend deals with some high-level
+ ;; language - you can basically feed an arbitrary language into the
+ ;; front and get code for an arbitrary CPU out the back) is this 
+ ;; "machine description" file. This is where you put the S/370 
+ ;; instructions, e.g. "MH", multiply halfword, into a form that the 
+ ;; rest of the GCC compiler understands.
+ 
+ ;; At some point in GCC's deliberations, it will have a requirement
+ ;; to say multiply x (an integer) by say "5". This can be done by the
+ ;; MH instruction. The thing is that "x" could actually already be in
+ ;; a register, or it could be in memory. If in memory, it could be
+ ;; conveniently referenced by an RX instruction (ie base + index). It
+ ;; may not be accessible via an S address (base only), for whatever
+ ;; reason (typically, a variable is on the stack, and offset on the
+ ;; stack is more than 4096, so base + offset can't get to it).
+ 
+ ;; So basically GCC needs to be made aware of whether the MH instruction
+ ;; can operate on an S address, an RX, or only a register. The "ST"
+ ;; instruction is RX so can operate on RX or S. In this case, MH, the
+ ;; destination needs to be a register. It's an RX instruction though,
+ ;; so the source can be be an RX address. However, there's an
+ ;; additional constraint - the source must be a halfword, so this is
+ ;; only suitable for values between -32768 and 32767 inclusive.
+ ;; All this information needs to be communicated to the compiler.
+ 
+ ;; Let's take a look at this instruction:
+ ;;
+ ;; (define_insn ""
+ ;;   [(set (match_operand:SI 0 "register_operand" "=d")
+ ;; 	(mult:SI (match_operand:SI 1 "register_operand" "0")
+ ;; 		 (match_operand:SI 2 "immediate_operand" "K")))]
+ ;;   ""
+ ;;   "*
+ ;; {
+ ;;   check_label_emit ();
+ ;;   mvs_check_page (0, 4, 0);
+ ;;   return \"MH	%0,%H2\";
+ ;; }"
+ ;;    [(set_attr "length" "4")]
+ ;; )
+ ;;
+ ;; The important things here are:
+ ;;
+ ;; the "mult:SI" tells it that this will do a multiply of fullword integers.
+ ;; If it had been "DI" it would be doublewords, ie either register pairs
+ ;; or 8 bytes of memory aligned on an 8-byte boundary. "SI" is a standard
+ ;; integer. "DI" is double-sized integer. "HI" is a halfword integer,
+ ;; and finally we have "QI" for a quarter, or byte operation.
+ ;;
+ ;; "mult" is a standard keyword that GCC knows and it will go looking for
+ ;; a pattern of this name when it needs to do a multiply.
+ 
+ ;; Next look at the "match_operand:SI". That tells it that the operand
+ ;; for this instruction needs to be an integer. If e.g. this said
+ ;; instead "DI", it would let GCC know that if it needs to multiply an
+ ;; integer, it first needs to move it into a register pair before doing
+ ;; this instruction. This bit is extremely important. The loading into
+ ;; the right registers needs to be done *BEFORE* the instruction is
+ ;; executed. It's too late at this stage of the game to start defining
+ ;; some temporary registers you would like to use to complete this
+ ;; operation.
+ 
+ ;; Next we see a "0". That means operand number 0, the destination.
+ ;;
+ ;; Then we have "register_operand". That means that the destination
+ ;; is a register. You can't use this to write an answer directly to
+ ;; memory. Note that you can find this keyword, and other keywords,
+ ;; in the "GCC internals" manual under "Machine Descriptions",
+ ;; "RTL template", and are called the "predicate" (look for manual
+ ;; sections called "predicates" too). Some of these
+ ;; predicates are not documented there, they are specific to S/370.
+ ;; e.g. "s_operand" which says that it must be an S-type (ie no
+ ;; index) memory reference. So long as the compiler knows this in
+ ;; advance, it will take care of moving any variable into an S-type
+ ;; memory reference. Be careful. The predicate "r_or_s_operand"
+ ;; doesn't mean RX or S memory address. It means that the following
+ ;; pattern will deal with both a REGISTER and an S-type address.
+ 
+ ;; Next we have a constraint. That's the "=d". The "=" says that
+ ;; this operand will be an output (destination). A "+" would mean
+ ;; that it is both input and output. And nothing would mean
+ ;; input-only. These are documented in "constraint modifier
+ ;; characters" under "operand constraints" under "machine descriptions".
+ ;; The "d" bit would have been documented under "simple constraints",
+ ;; except it is not standard with GCC. It is an S/370 extension which
+ ;; means that it is a general register, ie even R0, rather than "a"
+ ;; which would be an address register (ie R0 isn't allowed). This
+ ;; lets GCC know that if it happens to have the value in R0, then
+ ;; that's fine. It doesn't need to go to the effort of moving it
+ ;; into say R1 in order to do the "MH" instruction.
+ 
+ ;; That completes the first operand. The second operand is a bit
+ ;; complicated. As you know, the MH instruction only takes 2
+ ;; operands. But in the general case (logically, for any machine),
+ ;; a multiply involves 3 separate things. There are two numbers
+ ;; that are multiplied together to produce a third. In the case
+ ;; of the MH instruction, it can only operate on itself. ie
+ ;; instead of a = b * c we have a = a * b. We need to inform GCC
+ ;; of that fact. We do this by saying that the second logical
+ ;; operand is actually the exact same thing as the first. We
+ ;; do this by setting the constraint to "0", meaning that the
+ ;; first operand is not just constrained to being a register -
+ ;; it's constrained to be the exact same register in operand 0!!!
+ 
+ ;; Finally on the last parameter, we need to tell it that the
+ ;; integer, e.g. "5", must be known at compile time. It can't
+ ;; be a variable. If it is a variable, it might exceed the limits
+ ;; of a halfword. So we tell it that it must be an "immediate
+ ;; operand". But that's not all. If the number is "50000", it will
+ ;; exceed the limit of a halfword. So we have another S/370-specific
+ ;; constraint. This time "K". "K" means that the value must lie
+ ;; between -32768 and 32767 so that this instruction can actually
+ ;; be used.
+ 
+ ;; That's the basics. You will need to refer to the manual for more
+ ;; details. However, there's more things to be aware of. There
+ ;; can actually be multiple constraints in the one instruction.
+ ;; e.g. if you want to move some data from R3 to R4, you can use
+ ;; the "LR" instruction. And to move from an RX memory address
+ ;; you can use "L". Both of these things are just "movsi" to GCC,
+ ;; and it expects to be able to move from a variety of data types.
+ ;; moving a constant or an arbitrary fullword in memory, are both
+ ;; done by the "L" instruction. But LR is only for registers.
+ ;; So we might see a constraint of "d" for operand 1, but "di"
+ ;; for operand 2. "g" would mean that we can take any data type.
+ 
+ ;; If operand 1 is "=d,dm" and operand 2 is "di,F", then what
+ ;; this means is that the "di" matches the "d", ignore the stuff
+ ;; after the comma, and the following pattern will deal with
+ ;; that combination. Which means that either a constant or a
+ ;; register can be the source, and the destination will be a
+ ;; register. If we now look after the comma, then we match
+ ;; "dm" with "F". What that means is that an immediate floating
+ ;; point value, such as "5.7" can be moved into either a
+ ;; data register (d) or any memory address (m). If it could only
+ ;; be moved into an S address, it would have an "S" there instead
+ ;; of a "m". So if you look at any pattern which involves "MVC",
+ ;; you will see that it is never exposed to an "m", it will
+ ;; always have an "S" there (or something even more stringent).
+ 
+ ;; Another thing to be aware of is that the patterns sometimes
+ ;; have standard names (like "movdi"). You can have multiple patterns
+ ;; to accomplish the same basic thing in different circumstances.
+ ;; The way it is organized is to put your preferred instructions
+ ;; first, and then the official name on the last one. A lot of
+ ;; the S/370 instructions have a first pattern that is only enabled
+ ;; if you activate "TARGET_CHAR_INSTRUCTIONS", which indeed, is on
+ ;; by default.
+ 
+ ;; Below here you will find documentation from my predecessors who
+ ;; seem to assume you've found, read, and understood the official
+ ;; documentation. :-)
+ 
  ;; =======================================================================
  ;; Condition codes for some of the instructions (in particular, for 
  ;; add, sub, shift, abs, etc. are handled with the cpp macro NOTICE_UPDATE_CC 
***************
*** 30,35 ****
--- 195,201 ----
  ;;
  ;;    a -- Any address register from 1 to 15.
  ;;    d -- Any register from 0 to 15.
+ ;;    f -- Floating point register
  ;;    I -- An 8-bit constant (0..255).
  ;;    J -- A 12-bit constant (0..4095).
  ;;    K -- A 16-bit constant (-32768..32767).
***************
*** 77,83 ****
  ;;   136 - internal function result buffer
  ;;   140 - numeric conversion buffer
  ;;   144 - pointer to internal function result buffer
! ;;   148 - start of automatic variables and function arguments
  ;;
  ;; To support programs larger than a page, 4096 bytes, PAGE_REGISTER points
  ;; to a page origin table, all internal labels are generated to reload the
--- 243,255 ----
  ;;   136 - internal function result buffer
  ;;   140 - numeric conversion buffer
  ;;   144 - pointer to internal function result buffer
! ;;   148 - start of function arguments and automatic variables 
! ;;
! ;; For TARGET_DIGNUS or TARGET_PDPMAC we use the stack locations for:
! ;;
! ;;   80 - numeric conversion buffer
! ;;   84 - pointer to internal function result buffer
! ;;   88 - start of function arguments and automatic variables
  ;;
  ;; To support programs larger than a page, 4096 bytes, PAGE_REGISTER points
  ;; to a page origin table, all internal labels are generated to reload the
***************
*** 159,201 ****
  ; tstqi instruction pattern(s).
  ;
  
! (define_insn ""
!   [(set (cc0)
! 	(match_operand:QI 0 "r_or_s_operand" "dm"))]
!   "unsigned_jump_follows_p (insn)"
!   "*
! {
!   check_label_emit ();
!   if (REG_P (operands[0]))
!     {
!       /* an unsigned compare to zero is always zero/not-zero...  */
!       mvs_check_page (0, 4, 4);
!       return \"N	%0,=XL4'000000FF'\";
!     }
!   mvs_check_page (0, 4, 0);
!   return \"CLI	%0,0\";
! }"
!    [(set_attr "length" "4")]
! )
  
! (define_insn "tstqi"
!   [(set (cc0)
!      (match_operand:QI 0 "register_operand" "d"))]
!   ""
!   "*
! {
!   check_label_emit ();
!   if (unsigned_jump_follows_p (insn))
!     {
!       /* an unsigned compare to zero is always zero/not-zero...  */
!       mvs_check_page (0, 4, 4);
!       return \"N	%0,=XL4'000000FF'\";
!     }
!   mvs_check_page (0, 8, 0);
!   return \"SLL	%0,24\;SRA	%0,24\";
! }"
!    [(set_attr "length" "8")]
! )
  
  ;
  ; tstdf instruction pattern(s).
--- 331,373 ----
  ; tstqi instruction pattern(s).
  ;
  
! ;(define_insn ""
! ;  [(set (cc0)
! ;	(match_operand:QI 0 "s_operand" "S"))]
! ;  "unsigned_jump_follows_p (insn)"
! ;  "*
! ;{
! ;  check_label_emit ();
! ;  if (REG_P (operands[0]))
! ;    {
! ;      /* an unsigned compare to zero is always zero/not-zero...  */
! ;      mvs_check_page (0, 4, 4);
! ;      return \"N	%0,=XL4'000000FF'\";
! ;    }
! ;  mvs_check_page (0, 4, 0);
! ;  return \"CLI	%0,0\";
! ;}"
! ;   [(set_attr "length" "4")]
! ;)
  
! ;(define_insn "tstqi"
! ;  [(set (cc0)
! ;     (match_operand:QI 0 "register_operand" "d"))]
! ;  ""
! ;  "*
! ;{
! ;  check_label_emit ();
! ;  if (unsigned_jump_follows_p (insn))
! ;    {
! ;      /* an unsigned compare to zero is always zero/not-zero...  */
! ;      mvs_check_page (0, 4, 4);
! ;      return \"N	%0,=XL4'000000FF'\";
! ;    }
! ;  mvs_check_page (0, 8, 0);
! ;  return \"SLL	%0,24\;SRA	%0,24\";
! ;}"
! ;   [(set_attr "length" "8")]
! ;)
  
  ;
  ; tstdf instruction pattern(s).
***************
*** 299,309 ****
  ;
  
  ; deprecate constraint d because it takes multiple instructions
! ; and a memeory access ...
  (define_insn "cmphi"
    [(set (cc0)
  	(compare (match_operand:HI 0 "register_operand" "d")
! 		 (match_operand:HI 1 "general_operand" "???dim")))]
    ""
    "*
  {
--- 471,481 ----
  ;
  
  ; deprecate constraint d because it takes multiple instructions
! ; and a memory access ...
  (define_insn "cmphi"
    [(set (cc0)
  	(compare (match_operand:HI 0 "register_operand" "d")
! 		 (match_operand:HI 1 "general_operand" "???diS")))]
    ""
    "*
  {
***************
*** 312,325 ****
      {
        mvs_check_page (0, 8, 0);
        if (unsigned_jump_follows_p (insn))
! 	return \"STH	%1,140(,13)\;CLM	%0,3,140(13)\";
!       return \"STH	%1,140(,13)\;CH	%0,140(,13)\";
      }
    if (GET_CODE (operands[1]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 0);
        return \"CH	%0,%H1\";
      }
    mvs_check_page (0, 4, 0);
    return \"CH	%0,%1\";
  }"
--- 484,509 ----
      {
        mvs_check_page (0, 8, 0);
        if (unsigned_jump_follows_p (insn))
! 	return \"STH	%1,\" CONVLO \"(,13)\;CLM	%0,3,\" CONVLO \"(13)\";
!       return \"STH	%1,\" CONVLO \"(,13)\;CH	%0,\" CONVLO \"(,13)\";
      }
    if (GET_CODE (operands[1]) == CONST_INT)
      {
!       if (unsigned_jump_follows_p (insn))
!         {
!       mvs_check_page (0, 4, 2);
!       return \"CLM	%0,3,%H1\";
!         }
!       mvs_check_page (0, 4, 2);
        return \"CH	%0,%H1\";
      }
+   if (unsigned_jump_follows_p (insn))
+     {
+       mvs_check_page (0, 10, 0);
+       if (REG_P (operands[1]))
+ 	return \"STH	%1,\" CONVLO \"(,13)\;CLM	%0,3,\" CONVLO \"(13)\";
+       return \"MVC	\" CONVLO \"(2,13),%1\;CLM	%0,3,\" CONVLO \"(13)\";
+     }
    mvs_check_page (0, 4, 0);
    return \"CH	%0,%1\";
  }"
***************
*** 333,339 ****
  (define_insn ""
    [(set (cc0)
  	(compare (match_operand:QI 0 "r_or_s_operand" "dS")
! 		 (match_operand:QI 1 "r_or_s_operand" "diS")))]
    "unsigned_jump_follows_p (insn)"
    "*
  {
--- 517,523 ----
  (define_insn ""
    [(set (cc0)
  	(compare (match_operand:QI 0 "r_or_s_operand" "dS")
! 		 (match_operand:QI 1 "general_operand" "diS")))]
    "unsigned_jump_follows_p (insn)"
    "*
  {
***************
*** 343,349 ****
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
!           return \"STC	%1,140(,13)\;CLM	%0,1,140(13)\";
          }
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
--- 527,533 ----
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
!           return \"STC	%1,\" CONVLO \"(,13)\;CLM	%0,1,\" CONVLO \"(13)\";
          }
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
***************
*** 402,408 ****
            return \"CLM	%0,1,%1\";
          }
        mvs_check_page (0, 8, 0);
!       return \"STC	%1,140(,13)\;CLM	%0,1,140(13)\";
      }
    if (REG_P (operands[1]))
      {
--- 586,592 ----
            return \"CLM	%0,1,%1\";
          }
        mvs_check_page (0, 8, 0);
!       return \"STC	%1,\" CONVLO \"(,13)\;CLM	%0,1,\" CONVLO \"(13)\";
      }
    if (REG_P (operands[1]))
      {
***************
*** 514,524 ****
        op2 = gen_rtx_MEM (BLKmode, copy_to_mode_reg (SImode, op2));
      }
        
!   if (GET_CODE (operands[3]) == CONST_INT && INTVAL (operands[3]) < 256)
      {
        emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2,
  		gen_rtx_SET (VOIDmode, operands[0], 
! 			gen_rtx_COMPARE (VOIDmode, op1, op2)),
  		gen_rtx_USE (VOIDmode, operands[3]))));
      }
    else
--- 698,709 ----
        op2 = gen_rtx_MEM (BLKmode, copy_to_mode_reg (SImode, op2));
      }
        
!   if (GET_CODE (operands[3]) == CONST_INT 
!       && (unsigned)INTVAL (operands[3]) < 256)
      {
        emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2,
  		gen_rtx_SET (VOIDmode, operands[0], 
! 			gen_rtx_COMPARE (SImode, op1, op2)), /* was VOIDmode */
  		gen_rtx_USE (VOIDmode, operands[3]))));
      }
    else
***************
*** 554,579 ****
  
  (define_insn ""
    [(set (match_operand:SI 0 "register_operand" "=d")
! 	(compare (match_operand:BLK 1 "s_operand" "m")
  		 (match_operand:BLK 2 "s_operand" "m")))
!    (use (match_operand:QI 3 "immediate_operand" "I"))]
    "((unsigned) INTVAL (operands[3]) < 256)"
    "*
  {
    check_label_emit ();
    mvs_check_page (0, 22, 0);
!   return \"LA	%0,%1\;CLC	%O1(%c3,%R1),%2\;BH	*+12\;BL	*+6\;SLR	%0,%0\;LNR	%0,%0\";
  }"
     [(set_attr "length" "22")]
  )
  
  ; Compare a block that is larger than 255 bytes in length.
  
  (define_insn "cmpmemsi_1"
    [(set (match_operand:SI 0 "register_operand" "+d")
!         (compare
!         (mem:BLK (subreg:SI (match_operand:DI 1 "register_operand" "+d") 0))
!         (mem:BLK (subreg:SI (match_operand:DI 2 "register_operand" "+d") 0))))
     (use (match_dup 1))
     (use (match_dup 2))
     (clobber (match_dup 1))
--- 739,766 ----
  
  (define_insn ""
    [(set (match_operand:SI 0 "register_operand" "=d")
! 	(compare:SI (match_operand:BLK 1 "s_operand" "m")
  		 (match_operand:BLK 2 "s_operand" "m")))
!    (use (match_operand:SI 3 "immediate_operand" "I"))]
    "((unsigned) INTVAL (operands[3]) < 256)"
    "*
  {
    check_label_emit ();
    mvs_check_page (0, 22, 0);
!   return \"CLC	%O1(%c3,%R1),%2\;BH	*+12\;BL	*+6\;SLR	%0,%0\;LNR	%0,%0\";
  }"
     [(set_attr "length" "22")]
  )
  
  ; Compare a block that is larger than 255 bytes in length.
+ ;        (mem:BLK (subreg:SI (match_operand:DI 1 "register_operand" "+d") 0))
+ ;        (mem:BLK (subreg:SI (match_operand:DI 2 "register_operand" "+d") 0))))
  
  (define_insn "cmpmemsi_1"
    [(set (match_operand:SI 0 "register_operand" "+d")
!         (compare:SI
!         (mem:BLK (match_operand:DI 1 "register_operand" "+d") )
!         (mem:BLK (match_operand:DI 2 "register_operand" "+d") )))
     (use (match_dup 1))
     (use (match_dup 2))
     (clobber (match_dup 1))
***************
*** 597,607 ****
  ;
  
  (define_insn ""
! ;;  [(set (match_operand:DI 0 "r_or_s_operand" "=dm")
! ;;        (match_operand:DI 1 "r_or_s_operand" "dim*fF"))]
!   [(set (match_operand:DI 0 "r_or_s_operand" "=dS,m")
!         (match_operand:DI 1 "r_or_s_operand" "diS*fF,d*fF"))]
! 
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 784,793 ----
  ;
  
  (define_insn ""
!   [(set (match_operand:DI 0 "nonimmediate_operand" "=d,m,S")
!         (match_operand:DI 1 "general_operand" "g,d,SF"))]
! ;;  [(set (match_operand:DI 0 "r_or_s_operand" "=dS,m")
! ;;        (match_operand:DI 1 "r_or_s_operand" "diS*fF,d*fF"))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 611,617 ****
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STD	%1,140(,13)\;LM	%0,%N0,140(13)\";
  	}
        if (REG_P (operands[1]))
  	{
--- 797,803 ----
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STD	%1,\" CONVLO \"(,13)\;LM	%0,%N0,\" CONVLO \"(13)\";
  	}
        if (REG_P (operands[1]))
  	{
***************
*** 637,644 ****
  	  mvs_check_page (0, 8, 0);
  	  return \"L	%0,%1\;SRDA	%0,32\";
  	}
        mvs_check_page (0, 4, 0);
!       return \"LM	%0,%N0,%1\";
      }
    else if (FP_REG_P (operands[1]))
      {
--- 823,836 ----
  	  mvs_check_page (0, 8, 0);
  	  return \"L	%0,%1\;SRDA	%0,32\";
  	}
+       if (GET_CODE (operands[1]) == CONST_DOUBLE)
+ 	{
+ 	  mvs_check_page (0, 6, 8);
+ 	  return \"LM	%0,%N0,%1\";
+ 	}
        mvs_check_page (0, 4, 0);
!       /*return \"LM	%0,%N0,%1\";*/
!       return \"L	%0,%1\;L	%N0,4+%1\";
      }
    else if (FP_REG_P (operands[1]))
      {
***************
*** 648,666 ****
    else if (REG_P (operands[1]))
      {
        mvs_check_page (0, 4, 0);
!       return \"STM	%1,%N1,%0\"; 
      }
!   mvs_check_page (0, 6, 0);
!   return \"MVC	%O0(8,%R0),%W1\";
  }"
     [(set_attr "length" "8")]
  )
  
  (define_insn "movdi"
  ;;  [(set (match_operand:DI 0 "general_operand" "=d,dm")
! ;;	(match_operand:DI 1 "general_operand" "dimF,*fd"))]
!   [(set (match_operand:DI 0 "general_operand" "=d,dm")
! 	(match_operand:DI 1 "r_or_s_operand" "diSF,*fd"))]
    ""
    "*
  {
--- 840,859 ----
    else if (REG_P (operands[1]))
      {
        mvs_check_page (0, 4, 0);
!       /*return \"STM	%1,%N1,%0\"; */
!       return \"ST	%1,%0\;ST	%N1,4+%0\"; 
      }
!   mvs_check_page (0, 6, 8);
!   return \"MVC	%O0(8,%R0),%1\";
  }"
     [(set_attr "length" "8")]
  )
  
  (define_insn "movdi"
+   [(set (match_operand:DI 0 "nonimmediate_operand" "=d,dm")
+ 	(match_operand:DI 1 "general_operand" "dimF,*fd"))]
  ;;  [(set (match_operand:DI 0 "general_operand" "=d,dm")
! ;;	(match_operand:DI 1 "r_or_s_operand" "diSF,*fd"))]
    ""
    "*
  {
***************
*** 670,676 ****
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STD	%1,140(,13)\;LM	%0,%N0,140(13)\";
  	}
        if (REG_P (operands[1]))
  	{
--- 863,869 ----
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STD	%1,\" CONVLO \"(,13)\;LM	%0,%N0,\" CONVLO \"(13)\";
  	}
        if (REG_P (operands[1]))
  	{
***************
*** 697,703 ****
  	  return \"L	%0,%1\;SRDA	%0,32\";
  	}
        mvs_check_page (0, 4, 0);
!       return \"LM	%0,%N0,%1\";
      }
    else if (FP_REG_P (operands[1]))
      {
--- 890,897 ----
  	  return \"L	%0,%1\;SRDA	%0,32\";
  	}
        mvs_check_page (0, 4, 0);
!       /*return \"LM	%0,%N0,%1\";*/
!       return \"L	%0,%1\;L	%N0,4+%1\";
      }
    else if (FP_REG_P (operands[1]))
      {
***************
*** 705,711 ****
        return \"STD	%1,%0\";
      }
    mvs_check_page (0, 4, 0);
!   return \"STM	%1,%N1,%0\";
  }"
     [(set_attr "length" "8")]
  )
--- 899,906 ----
        return \"STD	%1,%0\";
      }
    mvs_check_page (0, 4, 0);
!   /*return \"STM	%1,%N1,%0\"; */
!   return \"ST	%1,%0\;ST	%N1,4+%0\"; 
  }"
     [(set_attr "length" "8")]
  )
***************
*** 715,807 ****
  ;; discourage its use by listing this alternative last.
  ;; The problem is that the instructions above only provide 
  ;; S-form style (base + displacement) mem access, while the
! ;; below provvides the full (base+index+displacement) RX-form.
  ;; These are rarely needed, but when needed they're needed.
  
! (define_insn ""
!   [(set (match_operand:DI 0 "general_operand" "=d,???m")
!         (match_operand:DI 1 "general_operand" "???m,d"))]
! 
!   ""
!   "*
! {
!   check_label_emit ();
!   if (REG_P (operands[0]))
!     {
!       mvs_check_page (0, 8, 0);
!       return \"LM	%0,%N0,%1\";
!     }
!   else if (REG_P (operands[1]))
!     {
!       mvs_check_page (0, 8, 0);
!       return \"STM	%1,%N1,%0\";
!     }
!   mvs_check_page (0, 6, 0);
!   return \"MVC	%O0(8,%R0),%1\";
! }"
!    [(set_attr "length" "8")]
! )
  
  ;
  ; movsi instruction pattern(s).
  ;
  
! (define_insn ""
! ;;  [(set (match_operand:SI 0 "r_or_s_operand" "=dm,d,dm")
! ;;        (match_operand:SI 1 "r_or_s_operand" "diR,dim,*fF"))]
!   [(set (match_operand:SI 0 "r_or_s_operand" "=d,dS,dm")
!         (match_operand:SI 1 "general_operand" "dim,diS,di*fF"))]
! 
!   "TARGET_CHAR_INSTRUCTIONS"
!   "*
! {
!   check_label_emit ();
!   if (REG_P (operands[0]))
!     {
!       if (FP_REG_P (operands[1]))
! 	{
! 	  mvs_check_page (0, 8, 0);
! 	  return \"STE	%1,140(,13)\;L	%0,140(,13)\";
! 	}
!       if (REG_P (operands[1]))
! 	{
! 	  mvs_check_page (0, 2, 0);
! 	  return \"LR	%0,%1\";
! 	}
!       if (operands[1] == const0_rtx)
! 	{
! 	  CC_STATUS_INIT;
! 	  mvs_check_page (0, 2, 0);
! 	  return \"SLR	%0,%0\";
! 	}
!       if (GET_CODE (operands[1]) == CONST_INT
!  	  && (unsigned) INTVAL (operands[1]) < 4096)
! 	{
! 	  mvs_check_page (0, 4, 0);
! 	  return \"LA	%0,%c1(0,0)\";
! 	}
!       mvs_check_page (0, 4, 0);
!       return \"L	%0,%1\";
!     }
!   else if (FP_REG_P (operands[1]))
!     {
!       mvs_check_page (0, 4, 0);
!       return \"STE	%1,%0\";
!     }
!   else if (REG_P (operands[1]))
!     {
!       mvs_check_page (0, 4, 0);
!       return \"ST	%1,%0\";
!     }
!   mvs_check_page (0, 6, 0);
!   return \"MVC	%O0(4,%R0),%1\";
! }"
!    [(set_attr "length" "8")]
! )
  
  (define_insn "movsi"
!   [(set (match_operand:SI 0 "general_operand" "=d,dm")
! 	(match_operand:SI 1 "general_operand" "dimF,*fd"))]
    ""
    "*
  {
--- 910,955 ----
  ;; discourage its use by listing this alternative last.
  ;; The problem is that the instructions above only provide 
  ;; S-form style (base + displacement) mem access, while the
! ;; below provides the full (base+index+displacement) RX-form.
  ;; These are rarely needed, but when needed they're needed.
+ ;; Don't use LM/STM as they can't handle a full RX-form address.
  
! ;;(define_insn ""
! ;;  [(set (match_operand:DI 0 "general_operand" "=d,???m")
! ;;        (match_operand:DI 1 "general_operand" "???m,d"))]
! ;;
! ;;  ""
! ;;  "*
! ;;{
! ;;  check_label_emit ();
! ;;  if (REG_P (operands[0]))
! ;;    {
! ;;      mvs_check_page (0, 8, 0);
! ;;      return \"L	%0,%1\;L	%N0,4+%1\";
! ;;    }
! ;;  else if (REG_P (operands[1]))
! ;;    {
! ;;      mvs_check_page (0, 8, 0);
! ;;      return \"ST	%1,%0\;ST	%N1,4+%0\";
! ;;    }
! ;;  mvs_check_page (0, 6, 8);
! ;;  return \"MVC	%O0(8,%R0),%1\";
! ;;}"
! ;;   [(set_attr "length" "8")]
! ;;)
  
  ;
  ; movsi instruction pattern(s).
  ;
  
! ; For some reason, presumably a bug somewhere, we need to use
! ; "R" in the constraint rather than "S", otherwise it doesn't
! ; allow MVCs to be generated in circumstances where it should.
! ; Using "R" is harmless enough in this circumstance though.
  
  (define_insn "movsi"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d,dm,R")
! 	(match_operand:SI 1 "general_operand" "dimF,*fd,R"))]
    ""
    "*
  {
***************
*** 811,817 ****
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STE	%1,140(,13)\;L	%0,140(,13)\";
  	}
        if (REG_P (operands[1]))
  	{
--- 959,965 ----
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STE	%1,\" CONVLO \"(,13)\;L	%0,\" CONVLO \"(,13)\";
  	}
        if (REG_P (operands[1]))
  	{
***************
*** 838,884 ****
        mvs_check_page (0, 4, 0);
        return \"STE	%1,%0\";
      }
    mvs_check_page (0, 4, 0);
    return \"ST	%1,%0\";
  }"
     [(set_attr "length" "8")]
  )
  
- ;(define_expand "movsi"
- ;  [(set (match_operand:SI 0 "general_operand" "=d,dm")
- ;	(match_operand:SI 1 "general_operand" "dimF,*fd"))]
- ;  ""
- ;  "
- ;{
- ;  rtx op0, op1;
- ;
- ;  op0 = operands[0];
- ;  if (GET_CODE (op0) == CONST
- ;      && GET_CODE (XEXP (XEXP (op0, 0), 0)) == SYMBOL_REF
- ;      && SYMBOL_REF_EXTERNAL_P (XEXP (XEXP (op0, 0), 0)))
- ;    {
- ;      op0 = gen_rtx_MEM (SImode, copy_to_mode_reg (SImode, XEXP (op0, 0)));
- ;    }
- ;
- ;  op1 = operands[1];
- ;  if (GET_CODE (op1) == CONST
- ;      && GET_CODE (XEXP (XEXP (op1, 0), 0)) == SYMBOL_REF
- ;      && SYMBOL_REF_EXTERNAL_P (XEXP (XEXP (op1, 0), 0)))
- ;    {
- ;      op1 = gen_rtx_MEM (SImode, copy_to_mode_reg (SImode, XEXP (op1, 0)));
- ;    }
- ;
- ;  emit_insn (gen_rtx_SET (VOIDmode, op0, op1));
- ;  DONE;
- ;}")
- 
  ;
  ; movhi instruction pattern(s).
  ;
  
  (define_insn ""
!   [(set (match_operand:HI 0 "r_or_s_operand" "=g")
!         (match_operand:HI 1 "r_or_s_operand" "g"))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 986,1009 ----
        mvs_check_page (0, 4, 0);
        return \"STE	%1,%0\";
      }
+   else if (!REG_P (operands[1]))
+     {
+       mvs_check_page (0, 6, 0);
+       return \"MVC	%O0(4,%R0),%1\";
+     }
    mvs_check_page (0, 4, 0);
    return \"ST	%1,%0\";
  }"
     [(set_attr "length" "8")]
  )
  
  ;
  ; movhi instruction pattern(s).
  ;
  
  (define_insn ""
!   [(set (match_operand:HI 0 "r_or_s_operand" "=R,d")
!         (match_operand:HI 1 "general_operand" "R,g"))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 904,910 ****
  	}
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
! 	  mvs_check_page (0, 4, 0);
  	  return \"LH	%0,%H1\";
  	}
        mvs_check_page (0, 4, 0);
--- 1029,1035 ----
  	}
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
! 	  mvs_check_page (0, 4, 2);
  	  return \"LH	%0,%H1\";
  	}
        mvs_check_page (0, 4, 0);
***************
*** 917,923 ****
      }
    if (GET_CODE (operands[1]) == CONST_INT)
      {
!       mvs_check_page (0, 6, 0);
        return \"MVC	%O0(2,%R0),%H1\";
      }
    mvs_check_page (0, 6, 0);
--- 1042,1048 ----
      }
    if (GET_CODE (operands[1]) == CONST_INT)
      {
!       mvs_check_page (0, 6, 2);
        return \"MVC	%O0(2,%R0),%H1\";
      }
    mvs_check_page (0, 6, 0);
***************
*** 927,933 ****
  )
  
  (define_insn "movhi"
!   [(set (match_operand:HI 0 "general_operand" "=d,m")
  	(match_operand:HI 1 "general_operand" "g,d"))]
    ""
    "*
--- 1052,1058 ----
  )
  
  (define_insn "movhi"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d,m")
  	(match_operand:HI 1 "general_operand" "g,d"))]
    ""
    "*
***************
*** 954,960 ****
  	}
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
! 	  mvs_check_page (0, 4, 0);
  	  return \"LH	%0,%H1\";
  	}
        mvs_check_page (0, 4, 0);
--- 1079,1085 ----
  	}
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
! 	  mvs_check_page (0, 4, 2);
  	  return \"LH	%0,%H1\";
  	}
        mvs_check_page (0, 4, 0);
***************
*** 971,978 ****
  ;
  
  (define_insn ""
!   [(set (match_operand:QI 0 "r_or_s_operand" "=g")
! 	(match_operand:QI 1 "r_or_s_operand" "g"))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 1096,1103 ----
  ;
  
  (define_insn ""
!   [(set (match_operand:QI 0 "r_or_s_operand" "=R,d")
! 	(match_operand:QI 1 "general_operand" "R,g"))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 998,1004 ****
  	      mvs_check_page (0, 4, 0);
  	      return \"LA	%0,%c1(0,0)\";
  	    }
! 	  mvs_check_page (0, 4, 0);
  	  return \"L	%0,=F'%c1'\";
  	}
        mvs_check_page (0, 4, 0);
--- 1123,1129 ----
  	      mvs_check_page (0, 4, 0);
  	      return \"LA	%0,%c1(0,0)\";
  	    }
! 	  mvs_check_page (0, 4, 4);
  	  return \"L	%0,=F'%c1'\";
  	}
        mvs_check_page (0, 4, 0);
***************
*** 1021,1027 ****
  )
  
  (define_insn "movqi"
!   [(set (match_operand:QI 0 "general_operand" "=d,m")
  	(match_operand:QI 1 "general_operand" "g,d"))]
    ""
    "*
--- 1146,1152 ----
  )
  
  (define_insn "movqi"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d,m")
  	(match_operand:QI 1 "general_operand" "g,d"))]
    ""
    "*
***************
*** 1048,1054 ****
  	      mvs_check_page (0, 4, 0);
  	      return \"LA	%0,%c1(0,0)\";
  	    }
! 	  mvs_check_page (0, 4, 0);
  	  return \"L	%0,=F'%c1'\";
  	}
        mvs_check_page (0, 4, 0);
--- 1173,1179 ----
  	      mvs_check_page (0, 4, 0);
  	      return \"LA	%0,%c1(0,0)\";
  	    }
! 	  mvs_check_page (0, 4, 4);
  	  return \"L	%0,=F'%c1'\";
  	}
        mvs_check_page (0, 4, 0);
***************
*** 1063,1116 ****
  ;
  ; movstrictqi instruction pattern(s).
  ;
! 
! (define_insn "movstrictqi"
!   [(set (strict_low_part (match_operand:QI 0 "general_operand" "+d"))
! 	(match_operand:QI 1 "general_operand" "g"))]
!   ""
!   "*
! {
!   check_label_emit ();
!   if (REG_P (operands[1]))
!     {
!       mvs_check_page (0, 8, 0);
!       return \"STC	%1,140(,13)\;IC	%0,140(,13)\";
!     }
!   mvs_check_page (0, 4, 0);
!   return \"IC	%0,%1\";
! }"
!    [(set_attr "length" "8")]
! )
  
  ;
  ; movstricthi instruction pattern(s).
  ;
  
! (define_insn ""
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "+d"))
! 	(match_operand:HI 1 "r_or_s_operand" "g"))]
!   ""
!   "*
! {
!   check_label_emit ();
!   if (REG_P (operands[1]))
!     {
!       mvs_check_page (0, 8, 0);
!       return \"STH	%1,140(,13)\;ICM	%0,3,140(13)\";
!     }
!   else if (GET_CODE (operands[1]) == CONST_INT)
!     {
!       mvs_check_page (0, 4, 0);
!       return \"ICM	%0,3,%H1\";
!     }
!   mvs_check_page (0, 4, 0);
!   return \"ICM	%0,3,%1\";
! }"
!    [(set_attr "length" "8")]
! )
  
  (define_insn "movstricthi"
!   [(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm"))
  	(match_operand:HI 1 "general_operand" "d"))]
    ""
    "*
--- 1188,1261 ----
  ;
  ; movstrictqi instruction pattern(s).
  ;
! ; Need to comment this out in 3.4.6 because otherwise we are
! ; getting an IC generated followed by a branch, when there
! ; should have been an intervening compare.
! 
! ;(define_insn "movstrictqi"
! ;  [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+d"))
! ;   (match_operand:QI 1 "general_operand" "g"))]
! ;  ""
! ;  "*
! ;{
! ;  check_label_emit ();
! ;  if (REG_P (operands[1]))
! ;    {
! ;      mvs_check_page (0, 8, 0);
! ;      return \"STC	%1,\" CONVLO \"(,13)\;IC	%0,\" CONVLO \"(,13)\";
! ;    }
! ;  mvs_check_page (0, 4, 0);
! ;  return \"IC	%0,=XL1'%X1'\";
! ;}"
! ;   [(set_attr "length" "8")]
! ;)
  
  ;
  ; movstricthi instruction pattern(s).
  ;
+ ; Need to comment this out in 3.4.6 because otherwise we are
+ ; getting code like this (example from stdio):
  
! ; SLR   2,2
! ; IC    2,0(8)
! ; LA    5,92(0,0)
! ; CLR   2,5
! ; BE    L699
! ; BH    L702
! ; ICM   5,3,=H'64'
! ; BE    L696
! ; ICM   5,3,=H'78'
! ; BE    L694
! 
! ; ie using ICM instead of LA, and then failing to actually do
! ; the compare! Was causing a branch to not be done (for the "+")
! ; in stdio ; when doing printf("%+d")
! 
! ;(define_insn ""
! ;  [(set (strict_low_part (match_operand:HI 0 "register_operand" "+d"))
! ;	(match_operand:HI 1 "general_operand" "dSi"))]
! ;  ""
! ;  "*
! ;{
! ;  check_label_emit ();
! ;  if (REG_P (operands[1]))
! ;    {
! ;      mvs_check_page (0, 8, 0);
! ;      return \"STH	%1,\" CONVLO \"(,13)\;ICM	%0,3,\" CONVLO \"(13)\";
! ;    }
! ;  else if (GET_CODE (operands[1]) == CONST_INT)
! ;    {
! ;      mvs_check_page (0, 4, 2);
! ;      return \"ICM	%0,3,%H1\";
! ;    }
! ;  mvs_check_page (0, 4, 0);
! ;  return \"ICM	%0,3,%1\";
! ;}"
! ;   [(set_attr "length" "8")]
! ;)
  
  (define_insn "movstricthi"
!   [(set (strict_low_part (match_operand:HI 0 "nonimmediate_operand" "+dm"))
  	(match_operand:HI 1 "general_operand" "d"))]
    ""
    "*
***************
*** 1119,1125 ****
    if (REG_P (operands[0]))
      {
        mvs_check_page (0, 8, 0);
!       return \"STH	%1,140(,13)\;ICM	%0,3,140(13)\";
      }
    mvs_check_page (0, 4, 0);
    return \"STH	%1,%0\";
--- 1264,1270 ----
    if (REG_P (operands[0]))
      {
        mvs_check_page (0, 8, 0);
!       return \"STH	%1,\" CONVLO \"(,13)\;ICM	%0,3,\" CONVLO \"(13)\";
      }
    mvs_check_page (0, 4, 0);
    return \"STH	%1,%0\";
***************
*** 1134,1142 ****
  (define_insn ""
  ;;  [(set (match_operand:DF 0 "r_or_s_operand" "=fm,fm,*dm")
  ;;        (match_operand:DF 1 "r_or_s_operand" "fmF,*dm,fmF"))]
!   [(set (match_operand:DF 0 "general_operand" "=f,m,fS,*dS,???d")
!       (match_operand:DF 1 "general_operand" "fmF,fF,*dS,fSF,???d"))]
! 
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 1279,1286 ----
  (define_insn ""
  ;;  [(set (match_operand:DF 0 "r_or_s_operand" "=fm,fm,*dm")
  ;;        (match_operand:DF 1 "r_or_s_operand" "fmF,*dm,fmF"))]
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f,m,fS,*dS,???d")
!       (match_operand:DF 1 "general_operand" "fmF,f,*dS,fSF,???d"))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 1151,1157 ****
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STM	%1,%N1,140(13)\;LD	%0,140(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
--- 1295,1301 ----
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STM	%1,%N1,\" CONVLO \"(13)\;LD	%0,\" CONVLO \"(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
***************
*** 1167,1173 ****
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 12, 0);
! 	  return \"STD	%1,140(,13)\;LM	%0,%N0,140(13)\";
  	}
        if (REG_P (operands[1]))
  	{
--- 1311,1317 ----
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 12, 0);
! 	  return \"STD	%1,\" CONVLO \"(,13)\;LM	%0,%N0,\" CONVLO \"(13)\";
  	}
        if (REG_P (operands[1]))
  	{
***************
*** 1176,1181 ****
--- 1320,1326 ----
  	}
        mvs_check_page (0, 4, 0);
        return \"LM	%0,%N0,%1\";
+       /*return \"L	%0,%1\;L	%N0,4+%1\";*/
      }
    else if (FP_REG_P (operands[1]))
      {
***************
*** 1185,1193 ****
    else if (REG_P (operands[1]))
      {
        mvs_check_page (0, 4, 0);
!       return \"STM	%1,%N1,%0\";
      }
!   mvs_check_page (0, 6, 0);
    return \"MVC	%O0(8,%R0),%1\";
  }"
     [(set_attr "length" "12")]
--- 1330,1339 ----
    else if (REG_P (operands[1]))
      {
        mvs_check_page (0, 4, 0);
!       /*return \"STM	%1,%N1,%0\"; */
!       return \"ST	%1,%0\;ST	%N1,4+%0\"; 
      }
!   mvs_check_page (0, 6, 8);
    return \"MVC	%O0(8,%R0),%1\";
  }"
     [(set_attr "length" "12")]
***************
*** 1196,1204 ****
  (define_insn "movdf"
  ;;  [(set (match_operand:DF 0 "general_operand" "=f,fm,m,*d")
  ;;	(match_operand:DF 1 "general_operand" "fmF,*d,f,fmF"))]
!   [(set (match_operand:DF 0 "general_operand" "=f,m,fS,*d,???d")
        (match_operand:DF 1 "general_operand" "fmF,f,*d,SfF,???d"))]
- 
    ""
    "*
  {
--- 1342,1349 ----
  (define_insn "movdf"
  ;;  [(set (match_operand:DF 0 "general_operand" "=f,fm,m,*d")
  ;;	(match_operand:DF 1 "general_operand" "fmF,*d,f,fmF"))]
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f,m,fS,*d,???d")
        (match_operand:DF 1 "general_operand" "fmF,f,*d,SfF,???d"))]
    ""
    "*
  {
***************
*** 1213,1219 ****
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STM	%1,%N1,140(13)\;LD	%0,140(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
--- 1358,1364 ----
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STM	%1,%N1,\" CONVLO \"(13)\;LD	%0,\" CONVLO \"(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
***************
*** 1229,1235 ****
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 12, 0);
! 	  return \"STD	%1,140(,13)\;LM	%0,%N0,140(13)\";
  	}
        if (REG_P (operands[1]))
  	{
--- 1374,1380 ----
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 12, 0);
! 	  return \"STD	%1,\" CONVLO \"(,13)\;LM	%0,%N0,\" CONVLO \"(13)\";
  	}
        if (REG_P (operands[1]))
  	{
***************
*** 1237,1243 ****
  	  return \"LR	%0,%1\;LR	%N0,%N1\";
  	}
        mvs_check_page (0, 4, 0);
!       return \"LM	%0,%N0,%1\";
      }
    else if (FP_REG_P (operands[1]))
      {
--- 1382,1389 ----
  	  return \"LR	%0,%1\;LR	%N0,%N1\";
  	}
        mvs_check_page (0, 4, 0);
!       /*return \"LM	%0,%N0,%1\";*/
!       return \"L	%0,%1\;L	%N0,4+%1\";
      }
    else if (FP_REG_P (operands[1]))
      {
***************
*** 1245,1251 ****
        return \"STD	%1,%0\";
      }
    mvs_check_page (0, 4, 0);
!   return \"STM	%1,%N1,%0\";
  }"
     [(set_attr "length" "12")]
  )
--- 1391,1398 ----
        return \"STD	%1,%0\";
      }
    mvs_check_page (0, 4, 0);
!   /*return \"STM	%1,%N1,%0\"; */
!   return \"ST	%1,%0\;ST	%N1,4+%0\"; 
  }"
     [(set_attr "length" "12")]
  )
***************
*** 1259,1267 ****
  ;;        (match_operand:SF 1 "r_or_s_operand" "fmF,*dm,fmF"))]
  ;;  [(set (match_operand:SF 0 "general_operand" "=f,m,fm,*d,S")
  ;;         (match_operand:SF 1 "general_operand" "fmF,fF,*d,fmF,S"))]
!   [(set (match_operand:SF 0 "general_operand" "=f*d,fm,S,???d")
          (match_operand:SF 1 "general_operand" "fmF,fF*d,S,???d"))]
- 
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 1406,1413 ----
  ;;        (match_operand:SF 1 "r_or_s_operand" "fmF,*dm,fmF"))]
  ;;  [(set (match_operand:SF 0 "general_operand" "=f,m,fm,*d,S")
  ;;         (match_operand:SF 1 "general_operand" "fmF,fF,*d,fmF,S"))]
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f*d,fm,S,???d")
          (match_operand:SF 1 "general_operand" "fmF,fF*d,S,???d"))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 1276,1282 ****
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"ST	%1,140(,13)\;LE	%0,140(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
--- 1422,1428 ----
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"ST	%1,\" CONVLO \"(,13)\;LE	%0,\" CONVLO \"(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
***************
*** 1292,1298 ****
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STE	%1,140(,13)\;L	%0,140(,13)\";
  	}
        if (REG_P (operands[1]))
  	{
--- 1438,1444 ----
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STE	%1,\" CONVLO \"(,13)\;L	%0,\" CONVLO \"(,13)\";
  	}
        if (REG_P (operands[1]))
  	{
***************
*** 1319,1325 ****
  )
  
  (define_insn "movsf"
!   [(set (match_operand:SF 0 "general_operand" "=f,fm,m,*d")
  	(match_operand:SF 1 "general_operand" "fmF,*d,f,fmF"))]
    ""
    "*
--- 1465,1471 ----
  )
  
  (define_insn "movsf"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f,fm,m,*d")
  	(match_operand:SF 1 "general_operand" "fmF,*d,f,fmF"))]
    ""
    "*
***************
*** 1335,1341 ****
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"ST	%1,140(,13)\;LE	%0,140(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
--- 1481,1487 ----
        if (REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"ST	%1,\" CONVLO \"(,13)\;LE	%0,\" CONVLO \"(,13)\";
  	}
        if (operands[1] == const0_rtx)
  	{
***************
*** 1351,1357 ****
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STE	%1,140(,13)\;L	%0,140(,13)\";
  	}
        mvs_check_page (0, 4, 0);
        return \"L	%0,%1\";
--- 1497,1503 ----
        if (FP_REG_P (operands[1]))
  	{
  	  mvs_check_page (0, 8, 0);
! 	  return \"STE	%1,\" CONVLO \"(,13)\;L	%0,\" CONVLO \"(,13)\";
  	}
        mvs_check_page (0, 4, 0);
        return \"L	%0,%1\";
***************
*** 1489,1498 ****
  )
  
  ; Move a block that is larger than 255 bytes in length.
  
  (define_insn "movstrsi_1"
!   [(set (mem:BLK (subreg:SI (match_operand:DI 0 "register_operand" "+d") 0))
!         (mem:BLK (subreg:SI (match_operand:DI 1 "register_operand" "+d") 0)))
     (use (match_dup 0))
     (use (match_dup 1))
     (clobber (match_dup 0))
--- 1635,1646 ----
  )
  
  ; Move a block that is larger than 255 bytes in length.
+ ;  [(set (mem:BLK (subreg:SI (match_operand:DI 0 "register_operand" "+d") 0))
+ ;        (mem:BLK (subreg:SI (match_operand:DI 1 "register_operand" "+d") 0)))
  
  (define_insn "movstrsi_1"
!   [(set (mem:BLK (match_operand:DI 0 "register_operand" "+d") )
!         (mem:BLK (match_operand:DI 1 "register_operand" "+d") ))
     (use (match_dup 0))
     (use (match_dup 1))
     (clobber (match_dup 0))
***************
*** 1554,1560 ****
  ;
  
  (define_insn "extendhisi2"
!   [(set (match_operand:SI 0 "general_operand" "=d,m")
  	(sign_extend:SI (match_operand:HI 1 "general_operand" "g,d")))]
    ""
    "*
--- 1702,1708 ----
  ;
  
  (define_insn "extendhisi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d,m")
  	(sign_extend:SI (match_operand:HI 1 "general_operand" "g,d")))]
    ""
    "*
***************
*** 1586,1592 ****
  	}
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
! 	  mvs_check_page (0, 4, 0);
  	  return \"LH	%0,%H1\";
  	}
        mvs_check_page (0, 4, 0);
--- 1734,1740 ----
  	}
        if (GET_CODE (operands[1]) == CONST_INT)
  	{
! 	  mvs_check_page (0, 4, 2);
  	  return \"LH	%0,%H1\";
  	}
        mvs_check_page (0, 4, 0);
***************
*** 1603,1609 ****
  ;
  
  (define_insn "extendqisi2"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(sign_extend:SI (match_operand:QI 1 "general_operand" "0mi")))]
    ""
    "*
--- 1751,1757 ----
  ;
  
  (define_insn "extendqisi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(sign_extend:SI (match_operand:QI 1 "general_operand" "0mi")))]
    ""
    "*
***************
*** 1631,1637 ****
  ;
  
  (define_insn "extendqihi2"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(sign_extend:HI (match_operand:QI 1 "general_operand" "0m")))]
    ""
    "*
--- 1779,1785 ----
  ;
  
  (define_insn "extendqihi2"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(sign_extend:HI (match_operand:QI 1 "general_operand" "0m")))]
    ""
    "*
***************
*** 1677,1683 ****
  ;
  
  (define_insn "zero_extendhisi2"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(zero_extend:SI (match_operand:HI 1 "general_operand" "0")))]
    ""
    "*
--- 1825,1831 ----
  ;
  
  (define_insn "zero_extendhisi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(zero_extend:SI (match_operand:HI 1 "general_operand" "0")))]
    ""
    "*
***************
*** 1696,1702 ****
  ;
  
  (define_insn "zero_extendqisi2"
!   [(set (match_operand:SI 0 "general_operand" "=d,&d")
  	(zero_extend:SI (match_operand:QI 1 "general_operand" "0i,m")))]
    ""
    "*
--- 1844,1850 ----
  ;
  
  (define_insn "zero_extendqisi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d,&d")
  	(zero_extend:SI (match_operand:QI 1 "general_operand" "0i,m")))]
    ""
    "*
***************
*** 1726,1732 ****
  ;
  
  (define_insn "zero_extendqihi2"
!   [(set (match_operand:HI 0 "general_operand" "=d,&d")
  	(zero_extend:HI (match_operand:QI 1 "general_operand" "0i,m")))]
    ""
    "*
--- 1874,1880 ----
  ;
  
  (define_insn "zero_extendqihi2"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d,&d")
  	(zero_extend:HI (match_operand:QI 1 "general_operand" "0i,m")))]
    ""
    "*
***************
*** 1756,1762 ****
  ;
  
  (define_insn "truncsihi2"
!   [(set (match_operand:HI 0 "general_operand" "=d,m")
  	(truncate:HI (match_operand:SI 1 "general_operand" "0,d")))]
    ""
    "*
--- 1904,1910 ----
  ;
  
  (define_insn "truncsihi2"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d,m")
  	(truncate:HI (match_operand:SI 1 "general_operand" "0,d")))]
    ""
    "*
***************
*** 1779,1786 ****
  ;
  
  (define_insn "fix_truncdfsi2"
!   [(set (match_operand:SI 0 "general_operand" "=d")
!         (fix:SI (truncate:DF (match_operand:DF 1 "general_operand" "+f"))))
  	(clobber (reg:DF 16))]
    ""
    "*
--- 1927,1934 ----
  ;
  
  (define_insn "fix_truncdfsi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
!         (fix:SI (truncate:DF (match_operand:DF 1 "general_operand" "f"))))
  	(clobber (reg:DF 16))]
    ""
    "*
***************
*** 1790,1799 ****
    if (REGNO (operands[1]) == 16)
      {
        mvs_check_page (0, 12, 8);
!       return \"AD	0,=XL8'4F08000000000000'\;STD	0,140(,13)\;L	%0,144(,13)\";
      }
    mvs_check_page (0, 14, 8);
!   return \"LDR	0,%1\;AD	0,=XL8'4F08000000000000'\;STD	0,140(,13)\;L	%0,144(,13)\";
  }"
     [(set_attr "length" "14")]
  )
--- 1938,1947 ----
    if (REGNO (operands[1]) == 16)
      {
        mvs_check_page (0, 12, 8);
!       return \"AD	0,=XL8'4F08000000000000'\;STD	0,\" CONVLO \"(,13)\;L	%0,\" CONVHI \"(,13)\";
      }
    mvs_check_page (0, 14, 8);
!   return \"LDR	0,%1\;AD	0,=XL8'4F08000000000000'\;STD	0,\" CONVLO \"(,13)\;L	%0,\" CONVHI \"(,13)\";
  }"
     [(set_attr "length" "14")]
  )
***************
*** 1805,1820 ****
  ;
  
  (define_insn "floatsidf2"
!   [(set (match_operand:DF 0 "general_operand" "=f")
          (float:DF (match_operand:SI 1 "general_operand" "d")))]
    ""
    "*
  {
    check_label_emit ();
    CC_STATUS_INIT;
! #ifdef TARGET_ELF_ABI
    mvs_check_page (0, 22, 12);
!   return \"MVC  140(4,13),=XL4'4E000000'\;ST	%1,144(,13)\;XI	144(13),128\;LD	%0,140(,13)\;SD	%0,=XL8'4E00000080000000'\";
  #else
    mvs_check_page (0, 16, 8);
    return \"ST	%1,508(,12)\;XI	508(12),128\;LD	%0,504(,12)\;SD	%0,=XL8'4E00000080000000'\";
--- 1953,1971 ----
  ;
  
  (define_insn "floatsidf2"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
          (float:DF (match_operand:SI 1 "general_operand" "d")))]
    ""
    "*
  {
    check_label_emit ();
    CC_STATUS_INIT;
! #if defined(TARGET_LINUX)
!   mvs_check_page (0, 22, 12);
!   return \"MVC	\" CONVLO \"(4,13),=XL4'4E000000'\;ST	%1,\" CONVLO \"+4(,13)\;XI	\" CONVLO \"+4(13),128\;LD	%0,\" CONVLO \"(,13)\;SD	%0,=XL8'4E00000080000000'\";
! #elif defined(TARGET_DIGNUS) || defined(TARGET_PDPMAC)
    mvs_check_page (0, 22, 12);
!   return \"MVC	\" CONVLO \"(4,13),=XL8'4E00000080000000'\;ST	%1,\" CONVHI \"(,13)\;XI	\" CONVHI \"(13),128\;LD	%0,\" CONVLO \"(,13)\;SD	%0,=XL8'4E00000080000000'\";
  #else
    mvs_check_page (0, 16, 8);
    return \"ST	%1,508(,12)\;XI	508(12),128\;LD	%0,504(,12)\;SD	%0,=XL8'4E00000080000000'\";
***************
*** 1828,1834 ****
  ;
  
  (define_insn "truncdfsf2"
!   [(set (match_operand:SF 0 "general_operand" "=f")
          (float_truncate:SF (match_operand:DF 1 "general_operand" "f")))]
    ""
    "*
--- 1979,1985 ----
  ;
  
  (define_insn "truncdfsf2"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
          (float_truncate:SF (match_operand:DF 1 "general_operand" "f")))]
    ""
    "*
***************
*** 1845,1851 ****
  ; 
  
  (define_insn "extendsfdf2"
!   [(set (match_operand:DF 0 "general_operand" "=f")
          (float_extend:DF (match_operand:SF 1 "general_operand" "fmF")))]
    ""
    "*
--- 1996,2002 ----
  ; 
  
  (define_insn "extendsfdf2"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
          (float_extend:DF (match_operand:SF 1 "general_operand" "fmF")))]
    ""
    "*
***************
*** 1857,1863 ****
        if (REGNO (operands[0]) == REGNO (operands[1]))
  	{
  	  mvs_check_page (0, 10, 0);
! 	  return \"STE	%1,140(,13)\;SDR	%0,%0\;LE	%0,140(,13)\";
  	}
        mvs_check_page (0, 4, 0);
        return \"SDR	%0,%0\;LER	%0,%1\";
--- 2008,2014 ----
        if (REGNO (operands[0]) == REGNO (operands[1]))
  	{
  	  mvs_check_page (0, 10, 0);
! 	  return \"STE	%1,\" CONVLO \"(,13)\;SDR	%0,%0\;LE	%0,\" CONVLO \"(,13)\";
  	}
        mvs_check_page (0, 4, 0);
        return \"SDR	%0,%0\;LER	%0,%1\";
***************
*** 1904,1910 ****
  ;}")
  
  (define_insn ""
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(plus:SI (match_operand:SI 1 "general_operand" "%0")
  		 (match_operand:SI 2 "general_operand" "g")))
     (use (label_ref (match_operand 3 "" "")))
--- 2055,2061 ----
  ;}")
  
  (define_insn ""
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(plus:SI (match_operand:SI 1 "general_operand" "%0")
  		 (match_operand:SI 2 "general_operand" "g")))
     (use (label_ref (match_operand 3 "" "")))
***************
*** 2007,2013 ****
  ;; 
  
  (define_insn "addsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(plus:SI (match_operand:SI 1 "general_operand" "%0")
  		 (match_operand:SI 2 "general_operand" "g")))]
    ""
--- 2158,2164 ----
  ;; 
  
  (define_insn "addsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(plus:SI (match_operand:SI 1 "general_operand" "%0")
  		 (match_operand:SI 2 "general_operand" "g")))]
    ""
***************
*** 2039,2045 ****
  ;
  
  (define_insn "addhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(plus:HI (match_operand:HI 1 "general_operand" "%0")
  		 (match_operand:HI 2 "general_operand" "dmi")))]
    ""
--- 2190,2196 ----
  ;
  
  (define_insn "addhi3"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(plus:HI (match_operand:HI 1 "general_operand" "%0")
  		 (match_operand:HI 2 "general_operand" "dmi")))]
    ""
***************
*** 2049,2055 ****
    if (REG_P (operands[2]))
      {
        mvs_check_page (0, 8, 0);
!       return \"STH	%2,140(,13)\;AH	%0,140(,13)\";
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
--- 2200,2206 ----
    if (REG_P (operands[2]))
      {
        mvs_check_page (0, 8, 0);
!       return \"STH	%2,\" CONVLO \"(,13)\;AH	%0,\" CONVLO \"(,13)\";
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
***************
*** 2059,2065 ****
  	  mvs_check_page (0, 2, 0);
  	  return \"BCTR	%0,0\";
  	}
!       mvs_check_page (0, 4, 0);
        return \"AH	%0,%H2\";
      }
    mvs_check_page (0, 4, 0);
--- 2210,2216 ----
  	  mvs_check_page (0, 2, 0);
  	  return \"BCTR	%0,0\";
  	}
!       mvs_check_page (0, 4, 2);
        return \"AH	%0,%H2\";
      }
    mvs_check_page (0, 4, 0);
***************
*** 2073,2079 ****
  ;
  
  (define_insn "addqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(plus:QI (match_operand:QI 1 "general_operand" "%a")
  		 (match_operand:QI 2 "general_operand" "ai")))]
    ""
--- 2224,2230 ----
  ;
  
  (define_insn "addqi3"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(plus:QI (match_operand:QI 1 "general_operand" "%a")
  		 (match_operand:QI 2 "general_operand" "ai")))]
    ""
***************
*** 2094,2100 ****
  ;
  
  (define_insn "adddf3"
!   [(set (match_operand:DF 0 "general_operand" "=f")
  	(plus:DF (match_operand:DF 1 "general_operand" "%0")
  		 (match_operand:DF 2 "general_operand" "fmF")))]
    ""
--- 2245,2251 ----
  ;
  
  (define_insn "adddf3"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
  	(plus:DF (match_operand:DF 1 "general_operand" "%0")
  		 (match_operand:DF 2 "general_operand" "fmF")))]
    ""
***************
*** 2117,2123 ****
  ;
  
  (define_insn "addsf3"
!   [(set (match_operand:SF 0 "general_operand" "=f")
  	(plus:SF (match_operand:SF 1 "general_operand" "%0")
  		 (match_operand:SF 2 "general_operand" "fmF")))]
    ""
--- 2268,2274 ----
  ;
  
  (define_insn "addsf3"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
  	(plus:SF (match_operand:SF 1 "general_operand" "%0")
  		 (match_operand:SF 2 "general_operand" "fmF")))]
    ""
***************
*** 2173,2179 ****
  ;}")
  
  (define_insn ""
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(minus:SI (match_operand:SI 1 "general_operand" "0")
  		  (match_operand:SI 2 "general_operand" "g")))
     (use (label_ref (match_operand 3 "" "")))
--- 2324,2330 ----
  ;}")
  
  (define_insn ""
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(minus:SI (match_operand:SI 1 "general_operand" "0")
  		  (match_operand:SI 2 "general_operand" "g")))
     (use (label_ref (match_operand 3 "" "")))
***************
*** 2221,2227 ****
  ;
  
  (define_insn "subsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(minus:SI (match_operand:SI 1 "general_operand" "0")
  		  (match_operand:SI 2 "general_operand" "g")))]
    ""
--- 2372,2378 ----
  ;
  
  (define_insn "subsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(minus:SI (match_operand:SI 1 "general_operand" "0")
  		  (match_operand:SI 2 "general_operand" "g")))]
    ""
***************
*** 2250,2256 ****
  ;
  
  (define_insn "subhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(minus:HI (match_operand:HI 1 "general_operand" "0")
  		  (match_operand:HI 2 "general_operand" "g")))]
    ""
--- 2401,2407 ----
  ;
  
  (define_insn "subhi3"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(minus:HI (match_operand:HI 1 "general_operand" "0")
  		  (match_operand:HI 2 "general_operand" "g")))]
    ""
***************
*** 2260,2266 ****
    if (REG_P (operands[2]))
      {
        mvs_check_page (0, 8, 0);
!       return \"STH	%2,140(,13)\;SH	%0,140(,13)\";
      }
    if (operands[2] == const1_rtx)
      {
--- 2411,2417 ----
    if (REG_P (operands[2]))
      {
        mvs_check_page (0, 8, 0);
!       return \"STH	%2,\" CONVLO \"(,13)\;SH	%0,\" CONVLO \"(,13)\";
      }
    if (operands[2] == const1_rtx)
      {
***************
*** 2270,2276 ****
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 0);
        return \"SH	%0,%H2\";
      }
    mvs_check_page (0, 4, 0);
--- 2421,2427 ----
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 2);
        return \"SH	%0,%H2\";
      }
    mvs_check_page (0, 4, 0);
***************
*** 2283,2310 ****
  ; subqi3 instruction pattern(s).
  ;
  
! (define_expand "subqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
! 	(minus:QI (match_operand:QI 1 "general_operand" "0")
! 		  (match_operand:QI 2 "general_operand" "di")))]
!   ""
!   "
! {
!   if (REG_P (operands[2]))
!     {
!       emit_insn (gen_rtx_SET (VOIDmode, operands[0],
! 			gen_rtx_MINUS (QImode, operands[1], operands[2])));
!     }
!   else
!     {
!       emit_insn (gen_rtx_SET (VOIDmode, operands[0],
! 			gen_rtx_PLUS (QImode, operands[1],
! 				 negate_rtx (QImode, operands[2]))));
!     }
!   DONE;
! }")
  
! (define_insn ""
    [(set (match_operand:QI 0 "register_operand" "=d")
  	(minus:QI (match_operand:QI 1 "register_operand" "0")
  		 (match_operand:QI 2 "register_operand" "d")))]
--- 2434,2461 ----
  ; subqi3 instruction pattern(s).
  ;
  
! ;(define_expand "subqi3"
! ;  [(set (match_operand:QI 0 "register_operand" "=d")
! ;	(minus:QI (match_operand:QI 1 "general_operand" "0")
! ;		  (match_operand:QI 2 "general_operand" "di")))]
! ;  ""
! ;  "
! ;{
! ;  if (REG_P (operands[2]))
! ;    {
! ;      emit_insn (gen_rtx_SET (VOIDmode, operands[0],
! ;			gen_rtx_MINUS (QImode, operands[1], operands[2])));
! ;    }
! ;  else
! ;    {
! ;      emit_insn (gen_rtx_SET (VOIDmode, operands[0],
! ;			gen_rtx_PLUS (QImode, operands[1],
! ;				 negate_rtx (QImode, operands[2]))));
! ;    }
! ;  DONE;
! ;}")
  
! (define_insn "subqi3"
    [(set (match_operand:QI 0 "register_operand" "=d")
  	(minus:QI (match_operand:QI 1 "register_operand" "0")
  		 (match_operand:QI 2 "register_operand" "d")))]
***************
*** 2323,2329 ****
  ;
  
  (define_insn "subdf3"
!   [(set (match_operand:DF 0 "general_operand" "=f")
  	(minus:DF (match_operand:DF 1 "general_operand" "0")
  		  (match_operand:DF 2 "general_operand" "fmF")))]
    ""
--- 2474,2480 ----
  ;
  
  (define_insn "subdf3"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
  	(minus:DF (match_operand:DF 1 "general_operand" "0")
  		  (match_operand:DF 2 "general_operand" "fmF")))]
    ""
***************
*** 2346,2352 ****
  ;
  
  (define_insn "subsf3"
!   [(set (match_operand:SF 0 "general_operand" "=f")
  	(minus:SF (match_operand:SF 1 "general_operand" "0")
  		  (match_operand:SF 2 "general_operand" "fmF")))]
    ""
--- 2497,2503 ----
  ;
  
  (define_insn "subsf3"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
  	(minus:SF (match_operand:SF 1 "general_operand" "0")
  		  (match_operand:SF 2 "general_operand" "fmF")))]
    ""
***************
*** 2380,2391 ****
--- 2531,2544 ----
    "
  {
    if (GET_CODE (operands[1]) == CONST_INT
+       && REG_P (operands[0])
        && CONST_OK_FOR_LETTER_P (INTVAL (operands[1]), 'K'))
      {
        emit_insn (gen_rtx_SET (VOIDmode, operands[0],
  			  gen_rtx_MULT (SImode, operands[2], operands[1])));
      }
    else if (GET_CODE (operands[2]) == CONST_INT
+            && REG_P (operands[0])
  	   && CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K'))
      {
        emit_insn (gen_rtx_SET (VOIDmode, operands[0],
***************
*** 2398,2404 ****
        /* XXX trouble.  Below we generate some rtx's that model what
         * is really supposed to happen with multiply on the 370/390
         * hardware, and that is all well & good.  However, during optimization
!        * it can happen that the two operands are exchanged (after all, 
         * multiplication is commutitive), in which case the doubleword
         * ends up in memory and everything is hosed.  The gen_reg_rtx
         * should have kept it in a reg ...  We hack around this
--- 2551,2557 ----
        /* XXX trouble.  Below we generate some rtx's that model what
         * is really supposed to happen with multiply on the 370/390
         * hardware, and that is all well & good.  However, during optimization
!        * it can happen that the two operands are exchanged (after all,
         * multiplication is commutitive), in which case the doubleword
         * ends up in memory and everything is hosed.  The gen_reg_rtx
         * should have kept it in a reg ...  We hack around this
***************
*** 2406,2417 ****
--- 2559,2584 ----
         * \"di\" instead of \"g\".  But this still ends up with lots & lots of
         * movement between registers & memory and is an awful waste.
         * Dunno how to untwist it elegantly; but it seems to work for now.
+        
+        * Note, this comment doesn't seem to be relevant for 3.4.6
+        * at least, so it is being opened up.
         */
+       if (GET_CODE (operands[1]) == CONST_INT)
+       {
        emit_insn (gen_rtx_SET (VOIDmode,
  			  gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode)),
  					  operands[1]));
        emit_insn (gen_rtx_SET (VOIDmode, r,
  			  gen_rtx_MULT (DImode, r, operands[2])));
+       }
+       else
+       {
+       emit_insn (gen_rtx_SET (VOIDmode,
+ 			  gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode)),
+ 					  operands[2]));
+       emit_insn (gen_rtx_SET (VOIDmode, r,
+ 			  gen_rtx_MULT (DImode, r, operands[1])));
+       }
        emit_insn (gen_rtx_SET (VOIDmode, operands[0],
  			  gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode))));
      }
***************
*** 2419,2428 ****
  }")
  
  (define_insn ""
!   [(set (match_operand:SI 0 "general_operand" "=d")
! 	(mult:SI (match_operand:SI 1 "general_operand" "%0")
! 		 (match_operand:SI 2 "immediate_operand" "K")))]
!   ""
    "*
  {
    check_label_emit ();
--- 2586,2595 ----
  }")
  
  (define_insn ""
!   [(set (match_operand:SI 0 "register_operand" "=d")
! 	(mult:SI (match_operand:SI 1 "register_operand" "0")
! 		 (match_operand:SI 2 "const_int_operand" "K")))]
!   "CONST_OK_FOR_LETTER_P (INTVAL (operands[2]), 'K')"
    "*
  {
    check_label_emit ();
***************
*** 2432,2441 ****
     [(set_attr "length" "4")]
  )
  
  (define_insn ""
    [(set (match_operand:DI 0 "register_operand" "=d")
! 	(mult:DI (match_operand:DI 1 "general_operand" "%0")
! 		 (match_operand:SI 2 "general_operand" "di")))]
    ""
    "*
  {
--- 2599,2610 ----
     [(set_attr "length" "4")]
  )
  
+ ; See mulsi3 comment above as to why this is constrained to
+ ; "di" rather than "g"
  (define_insn ""
    [(set (match_operand:DI 0 "register_operand" "=d")
! 	(mult:DI (match_operand:DI 1 "general_operand" "0")
! 		 (match_operand:SI 2 "general_operand" "g")))]
    ""
    "*
  {
***************
*** 2456,2462 ****
  ;
  
  (define_insn "muldf3"
!   [(set (match_operand:DF 0 "general_operand" "=f")
  	(mult:DF (match_operand:DF 1 "general_operand" "%0")
  		 (match_operand:DF 2 "general_operand" "fmF")))]
    ""
--- 2625,2631 ----
  ;
  
  (define_insn "muldf3"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
  	(mult:DF (match_operand:DF 1 "general_operand" "%0")
  		 (match_operand:DF 2 "general_operand" "fmF")))]
    ""
***************
*** 2479,2485 ****
  ;
  
  (define_insn "mulsf3"
!   [(set (match_operand:SF 0 "general_operand" "=f")
  	(mult:SF (match_operand:SF 1 "general_operand" "%0")
  		 (match_operand:SF 2 "general_operand" "fmF")))]
    ""
--- 2648,2654 ----
  ;
  
  (define_insn "mulsf3"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
  	(mult:SF (match_operand:SF 1 "general_operand" "%0")
  		 (match_operand:SF 2 "general_operand" "fmF")))]
    ""
***************
*** 2571,2577 ****
        emit_insn (gen_rtx_SET (VOIDmode, dr_1, const0_rtx));
        emit_insn (gen_cmpsi (sr, dr_0));
        emit_jump_insn (gen_bgtu (label3));
!       emit_insn (gen_cmpsi (sr, const1_rtx));
        emit_jump_insn (gen_blt (label2));
        emit_insn (gen_cmpsi (sr, const1_rtx));
        emit_jump_insn (gen_beq (label1));
--- 2740,2746 ----
        emit_insn (gen_rtx_SET (VOIDmode, dr_1, const0_rtx));
        emit_insn (gen_cmpsi (sr, dr_0));
        emit_jump_insn (gen_bgtu (label3));
!       emit_insn (gen_cmpsi (sr, const0_rtx));
        emit_jump_insn (gen_blt (label2));
        emit_insn (gen_cmpsi (sr, const1_rtx));
        emit_jump_insn (gen_beq (label1));
***************
*** 2619,2625 ****
  ;
  
  (define_insn "divdf3"
!   [(set (match_operand:DF 0 "general_operand" "=f")
          (div:DF (match_operand:DF 1 "general_operand" "0")
                  (match_operand:DF 2 "general_operand" "fmF")))]
    ""
--- 2788,2794 ----
  ;
  
  (define_insn "divdf3"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
          (div:DF (match_operand:DF 1 "general_operand" "0")
                  (match_operand:DF 2 "general_operand" "fmF")))]
    ""
***************
*** 2642,2648 ****
  ;
  
  (define_insn "divsf3"
!   [(set (match_operand:SF 0 "general_operand" "=f")
          (div:SF (match_operand:SF 1 "general_operand" "0")
                  (match_operand:SF 2 "general_operand" "fmF")))]
    ""
--- 2811,2817 ----
  ;
  
  (define_insn "divsf3"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
          (div:SF (match_operand:SF 1 "general_operand" "0")
                  (match_operand:SF 2 "general_operand" "fmF")))]
    ""
***************
*** 2736,2743 ****
        emit_insn (gen_rtx_SET (VOIDmode, sr, operands[2]));
        emit_insn (gen_cmpsi (sr, dr_0));
        emit_jump_insn (gen_bgtu (label3));
!       emit_insn (gen_cmpsi (sr, const1_rtx));
        emit_jump_insn (gen_blt (label2));
        emit_jump_insn (gen_beq (label1));
        emit_insn (gen_rtx_SET (VOIDmode, dr,
  			  gen_rtx_LSHIFTRT (DImode, dr,
--- 2905,2913 ----
        emit_insn (gen_rtx_SET (VOIDmode, sr, operands[2]));
        emit_insn (gen_cmpsi (sr, dr_0));
        emit_jump_insn (gen_bgtu (label3));
!       emit_insn (gen_cmpsi (sr, const0_rtx));
        emit_jump_insn (gen_blt (label2));
+       emit_insn (gen_cmpsi (sr, const1_rtx));
        emit_jump_insn (gen_beq (label1));
        emit_insn (gen_rtx_SET (VOIDmode, dr,
  			  gen_rtx_LSHIFTRT (DImode, dr,
***************
*** 2805,2818 ****
  ;  DONE;
  ;}")
  
  ;
  ; andsi3 instruction pattern(s).
  ;
  
  (define_insn ""
!   [(set (match_operand:SI 0 "r_or_s_operand" "=d,m")
  	(and:SI (match_operand:SI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:SI 2 "r_or_s_operand" "g,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 2975,2989 ----
  ;  DONE;
  ;}")
  
+ 
  ;
  ; andsi3 instruction pattern(s).
  ;
  
  (define_insn ""
!   [(set (match_operand:SI 0 "r_or_s_operand" "=d,R")
  	(and:SI (match_operand:SI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:SI 2 "general_operand" "g,Si")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 2835,2841 ****
  )
  
  (define_insn "andsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(and:SI (match_operand:SI 1 "general_operand" "%0")
  		(match_operand:SI 2 "general_operand" "g")))]
    ""
--- 3006,3012 ----
  )
  
  (define_insn "andsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(and:SI (match_operand:SI 1 "general_operand" "%0")
  		(match_operand:SI 2 "general_operand" "g")))]
    ""
***************
*** 2859,2867 ****
  ;
  
  (define_insn ""
!   [(set (match_operand:HI 0 "r_or_s_operand" "=d,m")
  	(and:HI (match_operand:HI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:HI 2 "r_or_s_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3030,3038 ----
  ;
  
  (define_insn ""
!   [(set (match_operand:HI 0 "r_or_s_operand" "=d,S")
  	(and:HI (match_operand:HI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:HI 2 "general_operand" "di,Si")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 2875,2888 ****
    if (REG_P (operands[0]))
      {
        /* %K2 == sign extend operand to 32 bits so that CH works */
-       mvs_check_page (0, 4, 0);
        if (GET_CODE (operands[2]) == CONST_INT)
!          return \"N	%0,%K2\";
        return \"N	%0,%2\";
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 6, 0);
        return \"NC	%O0(2,%R0),%H2\";
      }
    mvs_check_page (0, 6, 0);
--- 3046,3062 ----
    if (REG_P (operands[0]))
      {
        /* %K2 == sign extend operand to 32 bits so that CH works */
        if (GET_CODE (operands[2]) == CONST_INT)
!         {
!           mvs_check_page (0, 4, 4);
!           return \"N	%0,%K2\";
!         }
!       mvs_check_page (0, 4, 0);
        return \"N	%0,%2\";
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 6, 2);
        return \"NC	%O0(2,%R0),%H2\";
      }
    mvs_check_page (0, 6, 0);
***************
*** 2892,2899 ****
  )
  
  (define_insn "andhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
! 	(and:HI (match_operand:HI 1 "general_operand" "%0")
  		(match_operand:HI 2 "general_operand" "di")))]
    ""
    "*
--- 3066,3073 ----
  )
  
  (define_insn "andhi3"
!   [(set (match_operand:HI 0 "register_operand" "=d")
! 	(and:HI (match_operand:HI 1 "register_operand" "%0")
  		(match_operand:HI 2 "general_operand" "di")))]
    ""
    "*
***************
*** 2903,2909 ****
    if (GET_CODE (operands[2]) == CONST_INT)
      {
        /* %K2 == sign extend operand to 32 bits so that CH works */
!       mvs_check_page (0, 4, 0);
        return \"N	%0,%K2\";
      }
    mvs_check_page (0, 2, 0);
--- 3077,3083 ----
    if (GET_CODE (operands[2]) == CONST_INT)
      {
        /* %K2 == sign extend operand to 32 bits so that CH works */
!       mvs_check_page (0, 4, 4);
        return \"N	%0,%K2\";
      }
    mvs_check_page (0, 2, 0);
***************
*** 2917,2925 ****
  ;
  
  (define_insn ""
!   [(set (match_operand:QI 0 "r_or_s_operand" "=d,m")
  	(and:QI (match_operand:QI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:QI 2 "r_or_s_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3091,3099 ----
  ;
  
  (define_insn ""
!   [(set (match_operand:QI 0 "r_or_s_operand" "=d,S")
  	(and:QI (match_operand:QI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:QI 2 "general_operand" "dim,Si")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 2947,2953 ****
  )
  
  (define_insn "andqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(and:QI (match_operand:QI 1 "general_operand" "%0")
  		(match_operand:QI 2 "general_operand" "di")))]
    ""
--- 3121,3127 ----
  )
  
  (define_insn "andqi3"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(and:QI (match_operand:QI 1 "general_operand" "%0")
  		(match_operand:QI 2 "general_operand" "di")))]
    ""
***************
*** 2957,2964 ****
    CC_STATUS_INIT;  /* and sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 0);
!       return \"N	%0,%2\";
      }
    mvs_check_page (0, 2, 0);
    return \"NR	%0,%2\";
--- 3131,3138 ----
    CC_STATUS_INIT;  /* and sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 4);
!       return \"N	%0,=XL4'%X2'\";
      }
    mvs_check_page (0, 2, 0);
    return \"NR	%0,%2\";
***************
*** 2999,3005 ****
  (define_insn ""
    [(set (match_operand:SI 0 "r_or_s_operand" "=d,m")
  	(ior:SI (match_operand:SI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:SI 2 "r_or_s_operand" "g,Si")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3173,3179 ----
  (define_insn ""
    [(set (match_operand:SI 0 "r_or_s_operand" "=d,m")
  	(ior:SI (match_operand:SI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:SI 2 "general_operand" "g,Si")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 3022,3028 ****
  )
  
  (define_insn "iorsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(ior:SI (match_operand:SI 1 "general_operand" "%0")
  		(match_operand:SI 2 "general_operand" "g")))]
    ""
--- 3196,3202 ----
  )
  
  (define_insn "iorsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(ior:SI (match_operand:SI 1 "general_operand" "%0")
  		(match_operand:SI 2 "general_operand" "g")))]
    ""
***************
*** 3048,3054 ****
  (define_insn ""
    [(set (match_operand:HI 0 "r_or_s_operand" "=d,m")
  	(ior:HI (match_operand:HI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:HI 2 "r_or_s_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3222,3228 ----
  (define_insn ""
    [(set (match_operand:HI 0 "r_or_s_operand" "=d,m")
  	(ior:HI (match_operand:HI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:HI 2 "general_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 3076,3082 ****
  )
  
  (define_insn "iorhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(ior:HI (match_operand:HI 1 "general_operand" "%0")
  		(match_operand:HI 2 "general_operand" "di")))]
    ""
--- 3250,3256 ----
  )
  
  (define_insn "iorhi3"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(ior:HI (match_operand:HI 1 "general_operand" "%0")
  		(match_operand:HI 2 "general_operand" "di")))]
    ""
***************
*** 3086,3093 ****
    CC_STATUS_INIT;  /* OR sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 0);
!       return \"O	%0,%2\";
      }
    mvs_check_page (0, 2, 0);
    return \"OR	%0,%2\";
--- 3260,3267 ----
    CC_STATUS_INIT;  /* OR sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 4);
!       return \"O	%0,%K2\";
      }
    mvs_check_page (0, 2, 0);
    return \"OR	%0,%2\";
***************
*** 3102,3108 ****
  (define_insn ""
    [(set (match_operand:QI 0 "r_or_s_operand" "=d,m")
  	(ior:QI (match_operand:QI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:QI 2 "r_or_s_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3276,3282 ----
  (define_insn ""
    [(set (match_operand:QI 0 "r_or_s_operand" "=d,m")
  	(ior:QI (match_operand:QI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:QI 2 "general_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 3130,3136 ****
  )
  
  (define_insn "iorqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(ior:QI (match_operand:QI 1 "general_operand" "%0")
  		(match_operand:QI 2 "general_operand" "di")))]
    ""
--- 3304,3310 ----
  )
  
  (define_insn "iorqi3"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(ior:QI (match_operand:QI 1 "general_operand" "%0")
  		(match_operand:QI 2 "general_operand" "di")))]
    ""
***************
*** 3140,3147 ****
    CC_STATUS_INIT;  /* OR sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 0);
!       return \"O	%0,%2\";
      }
    mvs_check_page (0, 2, 0);
    return \"OR	%0,%2\";
--- 3314,3321 ----
    CC_STATUS_INIT;  /* OR sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 4);
!       return \"O	%0,=XL4'%X2'\";
      }
    mvs_check_page (0, 2, 0);
    return \"OR	%0,%2\";
***************
*** 3182,3188 ****
  (define_insn ""
    [(set (match_operand:SI 0 "r_or_s_operand" "=d,m")
  	(xor:SI (match_operand:SI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:SI 2 "r_or_s_operand" "g,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3356,3362 ----
  (define_insn ""
    [(set (match_operand:SI 0 "r_or_s_operand" "=d,m")
  	(xor:SI (match_operand:SI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:SI 2 "general_operand" "g,Si")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 3205,3211 ****
  )
  
  (define_insn "xorsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(xor:SI (match_operand:SI 1 "general_operand" "%0")
  		(match_operand:SI 2 "general_operand" "g")))]
    ""
--- 3379,3385 ----
  )
  
  (define_insn "xorsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(xor:SI (match_operand:SI 1 "general_operand" "%0")
  		(match_operand:SI 2 "general_operand" "g")))]
    ""
***************
*** 3231,3237 ****
  (define_insn ""
    [(set (match_operand:HI 0 "r_or_s_operand" "=d,m")
  	(xor:HI (match_operand:HI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:HI 2 "r_or_s_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3405,3411 ----
  (define_insn ""
    [(set (match_operand:HI 0 "r_or_s_operand" "=d,m")
  	(xor:HI (match_operand:HI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:HI 2 "general_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 3244,3255 ****
      }
    if (REG_P (operands[0]))
      {
        mvs_check_page (0, 4, 0);
!       return \"X	%0,%H2\";
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 6, 0);
        return \"XC	%O0(2,%R0),%H2\";
      }
    mvs_check_page (0, 6, 0);
--- 3418,3434 ----
      }
    if (REG_P (operands[0]))
      {
+       if (GET_CODE (operands[2]) == CONST_INT)
+         {
+           mvs_check_page (0, 4, 4);
+           return \"X	%0,%K2\";
+         }
        mvs_check_page (0, 4, 0);
!       return \"X	%0,%2\";
      }
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 6, 2);
        return \"XC	%O0(2,%R0),%H2\";
      }
    mvs_check_page (0, 6, 0);
***************
*** 3259,3265 ****
  )
  
  (define_insn "xorhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(xor:HI (match_operand:HI 1 "general_operand" "%0")
  		(match_operand:HI 2 "general_operand" "di")))]
    ""
--- 3438,3444 ----
  )
  
  (define_insn "xorhi3"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(xor:HI (match_operand:HI 1 "general_operand" "%0")
  		(match_operand:HI 2 "general_operand" "di")))]
    ""
***************
*** 3269,3276 ****
    CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 0);
!       return \"X	%0,%H2\";
      }
    mvs_check_page (0, 2, 0);
    return \"XR	%0,%2\";
--- 3448,3455 ----
    CC_STATUS_INIT;  /* XOR sets CC but not how we want it */
    if (GET_CODE (operands[2]) == CONST_INT)
      {
!       mvs_check_page (0, 4, 4);
!       return \"X	%0,%2\";
      }
    mvs_check_page (0, 2, 0);
    return \"XR	%0,%2\";
***************
*** 3285,3291 ****
  (define_insn ""
    [(set (match_operand:QI 0 "r_or_s_operand" "=d,m")
  	(xor:QI (match_operand:QI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:QI 2 "r_or_s_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
--- 3464,3470 ----
  (define_insn ""
    [(set (match_operand:QI 0 "r_or_s_operand" "=d,m")
  	(xor:QI (match_operand:QI 1 "r_or_s_operand" "%0,0")
! 		(match_operand:QI 2 "general_operand" "di,mi")))]
    "TARGET_CHAR_INSTRUCTIONS"
    "*
  {
***************
*** 3313,3319 ****
  )
  
  (define_insn "xorqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(xor:QI (match_operand:QI 1 "general_operand" "%0")
  		(match_operand:QI 2 "general_operand" "di")))]
    ""
--- 3492,3498 ----
  )
  
  (define_insn "xorqi3"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(xor:QI (match_operand:QI 1 "general_operand" "%0")
  		(match_operand:QI 2 "general_operand" "di")))]
    ""
***************
*** 3324,3330 ****
    if (GET_CODE (operands[2]) == CONST_INT)
      {
        mvs_check_page (0, 4, 0);
!       return \"X	%0,%2\";
      }
    mvs_check_page (0, 2, 0);
    return \"XR	%0,%2\";
--- 3503,3509 ----
    if (GET_CODE (operands[2]) == CONST_INT)
      {
        mvs_check_page (0, 4, 0);
!       return \"X	%0,=XL4'%X2'\";
      }
    mvs_check_page (0, 2, 0);
    return \"XR	%0,%2\";
***************
*** 3341,3347 ****
  ;
  
  (define_insn "negsi2"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(neg:SI (match_operand:SI 1 "general_operand" "d")))]
    ""
    "*
--- 3520,3526 ----
  ;
  
  (define_insn "negsi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(neg:SI (match_operand:SI 1 "general_operand" "d")))]
    ""
    "*
***************
*** 3358,3364 ****
  ;
  
  (define_insn "neghi2"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(neg:HI (match_operand:HI 1 "general_operand" "d")))]
    ""
    "*
--- 3537,3543 ----
  ;
  
  (define_insn "neghi2"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(neg:HI (match_operand:HI 1 "general_operand" "d")))]
    ""
    "*
***************
*** 3375,3381 ****
  ;
  
  (define_insn "negdf2"
!   [(set (match_operand:DF 0 "general_operand" "=f")
  	(neg:DF (match_operand:DF 1 "general_operand" "f")))]
    ""
    "*
--- 3554,3560 ----
  ;
  
  (define_insn "negdf2"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
  	(neg:DF (match_operand:DF 1 "general_operand" "f")))]
    ""
    "*
***************
*** 3392,3398 ****
  ;
  
  (define_insn "negsf2"
!   [(set (match_operand:SF 0 "general_operand" "=f")
  	(neg:SF (match_operand:SF 1 "general_operand" "f")))]
    ""
    "*
--- 3571,3577 ----
  ;
  
  (define_insn "negsf2"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
  	(neg:SF (match_operand:SF 1 "general_operand" "f")))]
    ""
    "*
***************
*** 3413,3419 ****
  ;
  
  (define_insn "abssi2"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(abs:SI (match_operand:SI 1 "general_operand" "d")))]
    ""
    "*
--- 3592,3598 ----
  ;
  
  (define_insn "abssi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(abs:SI (match_operand:SI 1 "general_operand" "d")))]
    ""
    "*
***************
*** 3430,3436 ****
  ;
  
  (define_insn "abshi2"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(abs:HI (match_operand:HI 1 "general_operand" "d")))]
    ""
    "*
--- 3609,3615 ----
  ;
  
  (define_insn "abshi2"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(abs:HI (match_operand:HI 1 "general_operand" "d")))]
    ""
    "*
***************
*** 3447,3453 ****
  ;
  
  (define_insn "absdf2"
!   [(set (match_operand:DF 0 "general_operand" "=f")
  	(abs:DF (match_operand:DF 1 "general_operand" "f")))]
    ""
    "*
--- 3626,3632 ----
  ;
  
  (define_insn "absdf2"
!   [(set (match_operand:DF 0 "nonimmediate_operand" "=f")
  	(abs:DF (match_operand:DF 1 "general_operand" "f")))]
    ""
    "*
***************
*** 3464,3470 ****
  ;
  
  (define_insn "abssf2"
!   [(set (match_operand:SF 0 "general_operand" "=f")
  	(abs:SF (match_operand:SF 1 "general_operand" "f")))]
    ""
    "*
--- 3643,3649 ----
  ;
  
  (define_insn "abssf2"
!   [(set (match_operand:SF 0 "nonimmediate_operand" "=f")
  	(abs:SF (match_operand:SF 1 "general_operand" "f")))]
    ""
    "*
***************
*** 3524,3530 ****
  )
  
  (define_insn "one_cmplsi2"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(not:SI (match_operand:SI 1 "general_operand" "0")))]
    ""
    "*
--- 3703,3709 ----
  )
  
  (define_insn "one_cmplsi2"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(not:SI (match_operand:SI 1 "general_operand" "0")))]
    ""
    "*
***************
*** 3554,3567 ****
        mvs_check_page (0, 4, 4);
        return \"X	%0,=F'-1'\";
      }
!   mvs_check_page (0, 6, 4);
!   return \"XC	%O0(2,%R0),=XL4'FFFF'\";
  }"
    [(set_attr "length" "6")]
  )
  
  (define_insn "one_cmplhi2"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(not:HI (match_operand:HI 1 "general_operand" "0")))]
    ""
    "*
--- 3733,3746 ----
        mvs_check_page (0, 4, 4);
        return \"X	%0,=F'-1'\";
      }
!   mvs_check_page (0, 6, 2);
!   return \"XC	%O0(2,%R0),=XL2'FFFF'\";
  }"
    [(set_attr "length" "6")]
  )
  
  (define_insn "one_cmplhi2"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(not:HI (match_operand:HI 1 "general_operand" "0")))]
    ""
    "*
***************
*** 3598,3604 ****
  )
  
  (define_insn "one_cmplqi2"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(not:QI (match_operand:QI 1 "general_operand" "0")))]
    ""
    "*
--- 3777,3783 ----
  )
  
  (define_insn "one_cmplqi2"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(not:QI (match_operand:QI 1 "general_operand" "0")))]
    ""
    "*
***************
*** 3620,3626 ****
  ;
  
  (define_insn "ashldi3"
!   [(set (match_operand:DI 0 "general_operand" "=d")
  	(ashift:DI (match_operand:DI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3799,3805 ----
  ;
  
  (define_insn "ashldi3"
!   [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
  	(ashift:DI (match_operand:DI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3666,3672 ****
  ;
  
  (define_insn "ashlsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(ashift:SI (match_operand:SI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3845,3851 ----
  ;
  
  (define_insn "ashlsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(ashift:SI (match_operand:SI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3686,3692 ****
  ;
  
  (define_insn "ashrsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(ashiftrt:SI (match_operand:SI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3865,3871 ----
  ;
  
  (define_insn "ashrsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(ashiftrt:SI (match_operand:SI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3707,3713 ****
  ;
  
  (define_insn "ashlhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(ashift:HI (match_operand:HI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3886,3892 ----
  ;
  
  (define_insn "ashlhi3"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(ashift:HI (match_operand:HI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3727,3733 ****
  ;
  
  (define_insn "ashrhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(ashiftrt:HI (match_operand:HI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3906,3912 ----
  ;
  
  (define_insn "ashrhi3"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(ashiftrt:HI (match_operand:HI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3747,3753 ****
  ;
  
  (define_insn "ashlqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(ashift:QI (match_operand:QI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3926,3932 ----
  ;
  
  (define_insn "ashlqi3"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(ashift:QI (match_operand:QI 1 "general_operand" "0")
  		   (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3767,3773 ****
  ;
  
  (define_insn "ashrqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(ashiftrt:QI (match_operand:QI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3946,3952 ----
  ;
  
  (define_insn "ashrqi3"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(ashiftrt:QI (match_operand:QI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3791,3797 ****
  ;
  
  (define_insn "lshrdi3"
!   [(set (match_operand:DI 0 "general_operand" "=d")
  	(lshiftrt:DI (match_operand:DI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3970,3976 ----
  ;
  
  (define_insn "lshrdi3"
!   [(set (match_operand:DI 0 "nonimmediate_operand" "=d")
  	(lshiftrt:DI (match_operand:DI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3812,3818 ****
  ;
  
  (define_insn "lshrsi3"
!   [(set (match_operand:SI 0 "general_operand" "=d")
  	(lshiftrt:SI (match_operand:SI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 3991,3997 ----
  ;
  
  (define_insn "lshrsi3"
!   [(set (match_operand:SI 0 "nonimmediate_operand" "=d")
  	(lshiftrt:SI (match_operand:SI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3832,3838 ****
  ;
  
  (define_insn "lshrhi3"
!   [(set (match_operand:HI 0 "general_operand" "=d")
  	(lshiftrt:HI (match_operand:HI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 4011,4017 ----
  ;
  
  (define_insn "lshrhi3"
!   [(set (match_operand:HI 0 "nonimmediate_operand" "=d")
  	(lshiftrt:HI (match_operand:HI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 3856,3862 ****
  ;
  
  (define_insn "lshrqi3"
!   [(set (match_operand:QI 0 "general_operand" "=d")
  	(lshiftrt:QI (match_operand:QI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
--- 4035,4041 ----
  ;
  
  (define_insn "lshrqi3"
!   [(set (match_operand:QI 0 "nonimmediate_operand" "=d")
  	(lshiftrt:QI (match_operand:QI 1 "general_operand" "0")
  		     (match_operand:SI 2 "general_operand" "Ja")))]
    ""
***************
*** 4539,4559 ****
  (define_insn "call"
    [(call (match_operand:QI 0 "memory_operand" "m")
  	 (match_operand:SI 1 "immediate_operand" "i"))
!    (clobber (reg:SI 2))
     ]
    ""
    "*
  {
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
-   CC_STATUS_INIT;
  
    check_label_emit ();
- #ifdef TARGET_ELF_ABI
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;LA	15,%%0\;BASR	14,15\", i );
    return temp;
  #else
    if (mvs_function_check (XSTR (operands[0], 0)))
      {
        mvs_check_page (0, 22, 4);
--- 4718,4752 ----
  (define_insn "call"
    [(call (match_operand:QI 0 "memory_operand" "m")
  	 (match_operand:SI 1 "immediate_operand" "i"))
! ;;    (clobber (reg:SI 2))
     ]
    ""
    "*
  {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
  
+   CC_STATUS_INIT;
    check_label_emit ();
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;LA	15,%%0\;BASR	14,15\", i );
    return temp;
+ #else /* STACK_GROWS_DOWNWARD */
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 6, 4);
+   return \"LA	15,%0\;BASR	14,15\";
+ #endif /* STACK_GROWS_DOWNWARD */
+ 
  #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+ 
+   CC_STATUS_INIT;
+   check_label_emit ();
    if (mvs_function_check (XSTR (operands[0], 0)))
      {
        mvs_check_page (0, 22, 4);
***************
*** 4579,4599 ****
    [(set (match_operand 0 "" "=rf")
   	(call (match_operand:QI 1 "memory_operand" "m")
   	      (match_operand:SI 2 "general_operand" "i")))
!    (clobber (reg:SI 2))
     ]
    ""
    "*
  {
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
    CC_STATUS_INIT;
- 
-   check_label_emit ();
- #ifdef TARGET_ELF_ABI
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;LA	15,%%1\;BASR	14,15\", i );
!   return temp;
  #else
    if (mvs_function_check (XSTR (operands[1], 0)))
      {
        mvs_check_page (0, 22, 4);
--- 4772,4805 ----
    [(set (match_operand 0 "" "=rf")
   	(call (match_operand:QI 1 "memory_operand" "m")
   	      (match_operand:SI 2 "general_operand" "i")))
! ;;   (clobber (reg:SI 2)) 
     ]
    ""
    "*
  {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
    CC_STATUS_INIT;
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;LA	15,%%1\;BASR	14,15\", i );
!   return temp;     
! 
! #else /* STACK_GROWS_DOWNWARD */
!   CC_STATUS_INIT;
!   check_label_emit ();
!   mvs_check_page (0, 6, 4);
!   return \"LA	15,%1\;BASR	14,15\";
! #endif /* STACK_GROWS_DOWNWARD */
! 
  #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+ 
+   check_label_emit ();
    if (mvs_function_check (XSTR (operands[1], 0)))
      {
        mvs_check_page (0, 22, 4);
***************
*** 4606,4611 ****
--- 4812,4818 ----
        sprintf ( temp, \"LA	1,%d(,13)\;LA	15,%%1\;BALR	14,15\", i );
      }
    return temp;
+ 
  #endif
  }"
    [(set_attr "length" "22")]
***************
*** 4614,4634 ****
  (define_insn ""
    [(call (mem:QI (match_operand:SI 0 "" "i"))
  	 (match_operand:SI 1 "general_operand" "g"))
!    (clobber (reg:SI 2))
     ]
    "GET_CODE (operands[0]) == SYMBOL_REF"
    "*
  {
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
    CC_STATUS_INIT;
- 
-   check_label_emit ();
- #ifdef TARGET_ELF_ABI
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;L	15,%%0\;BASR	14,15\", i );
    return temp;
  #else
    if (mvs_function_check (XSTR (operands[0], 0)))
      {
        mvs_check_page (0, 22, 4);
--- 4821,4854 ----
  (define_insn ""
    [(call (mem:QI (match_operand:SI 0 "" "i"))
  	 (match_operand:SI 1 "general_operand" "g"))
! ;;   (clobber (reg:SI 2)) 
     ]
    "GET_CODE (operands[0]) == SYMBOL_REF"
    "*
  {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
    CC_STATUS_INIT;
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;L	15,%%0\;BASR	14,15\", i );
    return temp;
+ 
+ #else /* STACK_GROWS_DOWNWARD */
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 6, 4);
+   return \"L	15,%0\;BASR	14,15\";
+ #endif /* STACK_GROWS_DOWNWARD */
+ 
  #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+ 
+   check_label_emit ();
    if (mvs_function_check (XSTR (operands[0], 0)))
      {
        mvs_check_page (0, 22, 4);
***************
*** 4650,4670 ****
    [(set (match_operand 0 "" "=rf")
  	(call (mem:QI (match_operand:SI 1 "" "i"))
  	      (match_operand:SI 2 "general_operand" "g")))
!    (clobber (reg:SI 2))
     ]
    "GET_CODE (operands[1]) == SYMBOL_REF"
    "*
  {
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
    CC_STATUS_INIT;
  
    check_label_emit ();
- #ifdef TARGET_ELF_ABI
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;L	15,%%1\;BASR	14,15\", i );
    return temp;
  #else
    if (mvs_function_check (XSTR (operands[1], 0)))
      {
        mvs_check_page (0, 22, 4);
--- 4870,4905 ----
    [(set (match_operand 0 "" "=rf")
  	(call (mem:QI (match_operand:SI 1 "" "i"))
  	      (match_operand:SI 2 "general_operand" "g")))
! ;;   (clobber (reg:SI 2)) 
     ]
    "GET_CODE (operands[1]) == SYMBOL_REF"
    "*
  {
+ #ifdef TARGET_LINUX
+ #ifdef STACK_GROWS_DOWNWARD
    static char temp[128];
    int i = STACK_POINTER_OFFSET;
    CC_STATUS_INIT;
  
    check_label_emit ();
    mvs_check_page (0, 10, 4);
    sprintf ( temp, \"LA	r2,%d(,sp)\;L	15,%%1\;BASR	14,15\", i );
    return temp;
+ 
+ #else /* STACK_GROWS_DOWNWARD */
+   CC_STATUS_INIT;
+   check_label_emit ();
+   mvs_check_page (0, 6, 4);
+   return \"L	15,%1\;BASR	14,15\";
+ #endif /* STACK_GROWS_DOWNWARD */
+ 
  #else
+ 
+   static char temp[128];
+   int i = STACK_POINTER_OFFSET;
+   CC_STATUS_INIT;
+ 
+   check_label_emit ();
    if (mvs_function_check (XSTR (operands[1], 0)))
      {
        mvs_check_page (0, 22, 4);
***************
*** 4733,4739 ****
  {
    check_label_emit ();
    mvs_check_page (0, 2, 0);
!   return \"LR	0,0\";
  }"
    [(set_attr "length" "2")]
  )
--- 4968,4974 ----
  {
    check_label_emit ();
    mvs_check_page (0, 2, 0);
!   return \"NOPR	0\";
  }"
    [(set_attr "length" "2")]
  )
Index: gcc/gcc/config/i370/itergcc.m4
diff -c /dev/null gcc/gcc/config/i370/itergcc.m4:1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/itergcc.m4	Wed Nov 18 08:26:21 2009
***************
*** 0 ****
--- 1,46 ----
+ *******************************************************************
+ *
+ * This EXEC iterates over all the assembler source
+ * Usage: ITERGCC <EXEC> <GCC> <PDP> <ASM> <MEM> [PARMS]
+ *
+ * where EXEC = name of EXEC you wish to run
+ *       GCC = Y/N if you want to run GCC proper
+ *       PDP = Y/N if you want to run PDPCLIB C code
+ *       ASM = Y/N if you want to run PDPCLIB assembler
+ *       MEM = Y/N if you want to run MEMMGR
+ *
+ *
+ *******************************************************************
+ 
+ &SCRIPT = &1
+ &GCC = &2
+ &PDP = &3
+ &ASM = &4
+ &MEM = &5
+ 
+ &IF &ASM = N &GOTO -FINASM
+  EXEC &SCRIPT CMSSTART  &6 &7 &8 &9
+  EXEC &SCRIPT CMSSUPA   &6 &7 &8 &9
+ -FINASM
+ 
+ &IF &PDP = N &GOTO -FINPDP
+  EXEC &SCRIPT START     &6 &7 &8 &9
+  EXEC &SCRIPT STDIO     &6 &7 &8 &9
+  EXEC &SCRIPT STDLIB    &6 &7 &8 &9
+  EXEC &SCRIPT CTYPE     &6 &7 &8 &9
+  EXEC &SCRIPT STRING    &6 &7 &8 &9
+  EXEC &SCRIPT TIME      &6 &7 &8 &9
+  EXEC &SCRIPT ERRNO     &6 &7 &8 &9
+  EXEC &SCRIPT ASSERT    &6 &7 &8 &9
+  EXEC &SCRIPT LOCALE    &6 &7 &8 &9
+  EXEC &SCRIPT MATH      &6 &7 &8 &9
+  EXEC &SCRIPT SETJMP    &6 &7 &8 &9
+  EXEC &SCRIPT SIGNAL    &6 &7 &8 &9
+ -FINPDP
+ 
+ &IF &MEM = N &GOTO -FINMEM
+  EXEC &SCRIPT __MEMMGR  &6 &7 &8 &9
+ -FINMEM
+ 
+ &IF &GCC = N &GOTO -FINGCC
+ undivert(comp.txt)-FINGCC
Index: gcc/gcc/config/i370/linux.h
diff -c gcc/gcc/config/i370/linux.h:1.1.1.1 gcc/gcc/config/i370/linux.h:1.1.1.2
*** gcc/gcc/config/i370/linux.h:1.1.1.1	Wed Apr 15 16:27:55 2009
--- gcc/gcc/config/i370/linux.h	Wed Apr 15 16:50:17 2009
***************
*** 1,5 ****
  /* Definitions of target machine for GNU compiler.  System/370 version.
!    Copyright (C) 1989, 1993, 1995, 1996, 1997, 2003
     Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for Linux/390 by Linas Vepstas (linas@linas.org)
--- 1,5 ----
  /* Definitions of target machine for GNU compiler.  System/370 version.
!    Copyright (C) 1989, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002
     Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for Linux/390 by Linas Vepstas (linas@linas.org)
***************
*** 26,32 ****
  
  /* Specify that we're generating code for a Linux port to 370 */
  
! #define TARGET_ELF_ABI
  
  /* Target OS preprocessor built-ins.  */
  #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
--- 26,33 ----
  
  /* Specify that we're generating code for a Linux port to 370 */
  
! #define TARGET_LINUX
! #define LINUX_DEFAULT_ELF
  
  /* Target OS preprocessor built-ins.  */
  #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
Index: gcc/gcc/config/i370/masterbuild
diff -c /dev/null gcc/gcc/config/i370/masterbuild:1.11
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/masterbuild	Sun Jun 12 13:00:02 2011
***************
*** 0 ****
--- 1,55 ----
+ export LC_ALL=C
+ 
+ rm -fr mvscross
+ rm -fr mvshost
+ rm -fr mvshead
+ mkdir -p mvshead/usr/include
+ cp -p pdos/pdpclib/*.h mvshead/usr/include
+ (cd pdos/pdpclib;make -f makefile.lnx;cd ../..)
+ 
+ rm -fr gcc
+ cvs get gcc
+ cd gcc
+ gcc/config/i370/build1
+ cd ..
+ 
+ rm -fr gcc
+ cvs get gcc
+ cd gcc
+ 
+ rm /tmp/build.txt
+ gcc/config/i370/build2
+ cd gcc/config/i370
+ srclist /tmp/build.txt
+ genmake
+ cp compile ../..
+ cp compmvs ../..
+ cp compile.bat ../..
+ cp compmvs.bat ../..
+ cp stage1a.jcl ../..
+ cp stage1b.jcl ../..
+ cp stage1b_pdos.jcl ../..
+ cp comppdos.bat ../..
+ cp stage2a.jcl ../..
+ cp stage2b.jcl ../..
+ cp stage2c.jcl ../..
+ cp stage3a.jcl ../..
+ cp stage3b.jcl ../..
+ cp stage3c.jcl ../..
+ cp musaall.exec ../..
+ cp musdall.exec ../..
+ cp compmus.job ../..
+ cp itergcc.exec ../..
+ cp gcclink.exec ../..
+ cp compvse.m4 ../..
+ cd ../..
+ compile
+ cd config/i370
+ genshort
+ cp mshort.h ../../../include
+ cd ../..
+ compmvs
+ 
+ cd ..
+ 
+ cd ..
Index: gcc/gcc/config/i370/musaall.m4
diff -c /dev/null gcc/gcc/config/i370/musaall.m4:1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/musaall.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,3 ----
+ /inc rexx
+ undivert(comp.txt)'musaone musstart'
+ 'musaone mussupa'
Index: gcc/gcc/config/i370/mvs38.h
diff -c /dev/null gcc/gcc/config/i370/mvs38.h:1.1.1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/mvs38.h	Wed Apr 15 16:50:17 2009
***************
*** 0 ****
--- 1,51 ----
+ /* Definitions of target machine for GNU compiler.  System/370 version.
+    Copyright (C) 1989, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+    Contributed by Jan Stein (jan@cd.chalmers.se).
+    Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ #define TARGET_VERSION printf (" (370/MVS38)");
+ 
+ /* Specify that we're generating code for MVS.  */
+ 
+ #define TARGET_MVS 1
+ #define TARGET_HLASM 1
+ #define TARGET_EBCDIC 1
+ 
+ /* Specify that we're using the Dignus runtime library.  */
+ 
+ #define TARGET_DIGNUS 1
+ #define STARTFILE_SPEC ""
+ 
+ /* Specify that we're using macro prolog/epilog.  */
+ 
+ #define TARGET_MACROS 1
+ 
+ /* Options for the preprocessor for this target machine.  */
+ 
+ #define CPP_SPEC "-trigraphs"
+ 
+ /* Target OS preprocessor built-ins.  */
+ #define TARGET_OS_CPP_BUILTINS()                \
+     do {                                        \
+         builtin_define_std ("MVS");             \
+ 	builtin_define_std ("mvs");             \
+ 	builtin_assert ("system=mvs");          \
+     } while (0)
+ 
Index: gcc/gcc/config/i370/mvsdignus.h
diff -c /dev/null gcc/gcc/config/i370/mvsdignus.h:1.1.1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/mvsdignus.h	Wed Apr 15 16:50:17 2009
***************
*** 0 ****
--- 1,54 ----
+ /* Definitions of target machine for GNU compiler.  System/370 version.
+    Copyright (C) 1989, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+    Contributed by Jan Stein (jan@cd.chalmers.se).
+    Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
+ 
+ This file is part of GNU CC.
+ 
+ GNU CC 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 CC 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 CC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ #define TARGET_VERSION printf (" (370/MVS-DIGNUS)");
+ 
+ /* Specify that we're generating code for MVS.  */
+ 
+ #define TARGET_MVS 1
+ #define TARGET_HLASM 1
+ #define TARGET_EBCDIC 1
+ #define TARGET_ALIASES 1
+ 
+ /* Specify that we're using the Dignus runtime library.  */
+ 
+ #define TARGET_DIGNUS 1
+ 
+ /* Specify that we're using macro prolog/epilog.  */
+ 
+ #define TARGET_MACROS 1
+ 
+ /* Options for the preprocessor for this target machine.  */
+ 
+ #define CPP_SPEC "-trigraphs"
+ #define STARTFILE_SPEC ""
+ 
+ /* Target OS preprocessor built-ins.  */
+ #define TARGET_OS_CPP_BUILTINS()                \
+     do {                                        \
+         builtin_define_std ("DIGNUS");          \
+         builtin_define_std ("dignus");          \
+         builtin_define_std ("MVS");             \
+ 	builtin_define_std ("mvs");             \
+ 	builtin_assert ("system=mvs");          \
+     } while (0)
+ 
Index: gcc/gcc/config/i370/mvsdupx.c
diff -c /dev/null gcc/gcc/config/i370/mvsdupx.c:1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/mvsdupx.c	Wed Nov 18 08:31:17 2009
***************
*** 0 ****
--- 1,90 ----
+ /*********************************************************************/
+ /*                                                                   */
+ /*  This Program Written By Paul Edwards.                            */
+ /*  Released to the public domain.                                   */
+ /*                                                                   */
+ /*********************************************************************/
+ /*********************************************************************/
+ /*                                                                   */
+ /*  This program reads in a file, already sorted with case           */
+ /*  insensitive, and prints out all the names that will conflict     */
+ /*  if this program is compiled on an MVS system, which only has     */
+ /*  8-character uniqueness and no case sensitivity.                  */
+ /*                                                                   */
+ /*  You can create such an input file by doing the following:        */
+ /*  cat *.s >temp.txt                                                */
+ /*  grep '^\* X\-' temp.txt | awk '{print $3}' | sort -f >temp2.txt  */
+ /*  mvsdupx <temp2.txt >temp3.txt                                    */
+ /*                                                                   */
+ /*********************************************************************/
+ 
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
+ 
+ #define MAXBUF 100
+ 
+ static int compare(char *buf1, char *buf2);
+ static void prtone(char *buf);
+ 
+ int main(void)
+ {
+     char buf1[MAXBUF];
+     char buf2[MAXBUF];
+     int inseq = 0;
+     
+     strcpy(buf1, "");
+     while (fgets(buf2, sizeof buf2, stdin) != NULL)
+     {
+         if (compare(buf1, buf2) == 0)
+         {
+             if (!inseq)
+             {
+                 inseq = 1;
+                 prtone(buf1);
+             }
+             prtone(buf2);
+         }
+         else
+         {
+             inseq = 0;
+         }
+         strcpy(buf1, buf2);
+     }
+     return (0);
+ }
+ 
+ static int compare(char *buf1, char *buf2)
+ {
+     int x;
+     
+     for (x = 0; x < 8; x++)
+     {
+         if (buf1[x] == buf2[x])
+         {
+             if (buf1[x] == '\0') break;
+         }
+         else
+         {
+             if (toupper((unsigned char)buf1[x]) 
+                 == toupper((unsigned char)buf2[x])) continue;
+             return (-1);
+         }
+     }
+     return (0);
+ }
+ 
+ static void prtone(char *buf)
+ {
+     char *p;
+     
+     p = strchr(buf, '\n');
+     if (p == NULL)
+     {
+         p = strchr(buf, '\0');
+     }
+     printf("#define ");
+     fwrite(buf, p - buf, 1, stdout);
+     printf(" %s", buf);
+     return;
+ }
Index: gcc/gcc/config/i370/mvsle.h
diff -c /dev/null gcc/gcc/config/i370/mvsle.h:1.1.1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/mvsle.h	Wed Apr 15 16:50:17 2009
***************
*** 0 ****
--- 1,54 ----
+ /* Definitions of target machine for GNU compiler.  System/370 version.
+    Copyright (C) 1989, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+    Contributed by Jan Stein (jan@cd.chalmers.se).
+    Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
+ 
+ This file is part of GNU CC.
+ 
+ GNU CC 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 CC 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 CC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ #define TARGET_VERSION printf (" (370/MVS-LE)");
+ 
+ /* Specify that we're generating code for MVS.  */
+ 
+ #define TARGET_MVS 1
+ #define TARGET_HLASM 1
+ #define TARGET_EBCDIC 1
+ #define TARGET_ALIASES 1
+ 
+ /* Specify that we're using the Language Environment runtime.  */
+ 
+ #define TARGET_LE 1
+ 
+ /* Specify that we're using macro prolog/epilog.  */
+ 
+ /*#define TARGET_MACROS 1*/
+ 
+ /* Options for the preprocessor for this target machine.  */
+ 
+ #define CPP_SPEC "-trigraphs"
+ #define STARTFILE_SPEC ""
+ 
+ /* Target OS preprocessor built-ins.  */
+ #define TARGET_OS_CPP_BUILTINS()                \
+     do {                                        \
+         builtin_define_std ("LE370");           \
+         builtin_define_std ("le370");           \
+         builtin_define_std ("MVS");             \
+ 	builtin_define_std ("mvs");             \
+ 	builtin_assert ("system=mvs");          \
+     } while (0)
+ 
Index: gcc/gcc/config/i370/mvspdp.h
diff -c /dev/null gcc/gcc/config/i370/mvspdp.h:1.33
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/mvspdp.h	Sun Jun  5 13:53:58 2011
***************
*** 0 ****
--- 1,250 ----
+ /* Definitions of target machine for GNU compiler.  System/370 version.
+    Copyright (C) 1989, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+    Contributed by Jan Stein (jan@cd.chalmers.se).
+    Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
+    Modified for use with PDPCLIB by Paul Edwards.
+ 
+ This file is part of GNU CC.
+ 
+ GNU CC 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 CC 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 CC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ #ifndef MVSPDP_INCLUDED
+ #define MVSPDP_INCLUDED 1
+ 
+ #ifdef TARGET_CMS
+ #define TARGET_VERSION fprintf (stderr, " (370/CMS-PDP)");
+ 
+ /* Specify that we're generating code for MVS.  */
+ /* (even though it's really CMS) */
+ 
+ #define TARGET_MVS 1
+ 
+ /* Target OS preprocessor built-ins.  */
+ #define TARGET_OS_CPP_BUILTINS()                \
+     do {                                        \
+         builtin_define_std ("PDPMAC");          \
+         builtin_define_std ("pdpmac");          \
+         builtin_define_std ("CMS");             \
+ 	builtin_define_std ("cms");             \
+ 	builtin_assert ("system=cms");          \
+     } while (0)
+ 
+ #elif defined(TARGET_VSE)
+ #define TARGET_VERSION fprintf (stderr, " (370/VSE-PDP)");
+ 
+ /* Specify that we're generating code for MVS.  */
+ /* (even though it's really VSE) */
+ 
+ #define TARGET_MVS 1
+ 
+ /* Target OS preprocessor built-ins.  */
+ #define TARGET_OS_CPP_BUILTINS()                \
+     do {                                        \
+         builtin_define_std ("PDPMAC");          \
+         builtin_define_std ("pdpmac");          \
+         builtin_define_std ("VSE");             \
+ 	builtin_define_std ("vse");             \
+ 	builtin_assert ("system=vse");          \
+     } while (0)
+ 
+ #else /* not CMS or VSE, must be MVS */
+ 
+ #define TARGET_VERSION fprintf (stderr, " (370/MVS-PDP)");
+ 
+ /* Specify that we're generating code for MVS.  */
+ 
+ #define TARGET_MVS 1
+ /* Target OS preprocessor built-ins.  */
+ #define TARGET_OS_CPP_BUILTINS()                \
+     do {                                        \
+         builtin_define_std ("PDPMAC");          \
+         builtin_define_std ("pdpmac");          \
+         builtin_define_std ("MVS");             \
+ 	builtin_define_std ("mvs");             \
+ 	builtin_assert ("system=mvs");          \
+     } while (0)
+ 
+ #endif
+ 
+ 
+ /* common stuff */
+ 
+ #include <stdio.h>
+ #include <stdarg.h>
+ 
+ #define TARGET_HLASM 1
+ #define TARGET_EBCDIC 1
+ 
+ /* Specify that we're using the PDP macros */
+ 
+ #define TARGET_PDPMAC 1
+ 
+ /* Specify that we're using macro prolog/epilog.  */
+ 
+ #define TARGET_MACROS 1
+ 
+ /* Options for the preprocessor for this target machine.  */
+ 
+ #define CPP_SPEC "-trigraphs"
+ #define STARTFILE_SPEC ""
+ 
+ 
+ /* The generated files don't expect detabbing, and
+    configure won't handle a single executable being
+    created. So only enable these options if a pure
+    ISO environment has been requested in the compile
+    script, and we're not doing a generated file. */
+ 
+ #if defined(PUREISO) && !defined(GENERATOR_FILE)
+ #define SINGLE_EXECUTABLE 1
+ #define DETAB 1
+ #endif
+ 
+ /* If running on MVS, need some EBCDIC-related differences */
+ #if defined(__MVS__) || defined(__CMS__) || defined(__VSE__)
+ #define HOST_EBCDIC 1
+ #endif
+ 
+ #undef INCLUDE_DEFAULTS
+ #define INCLUDE_DEFAULTS \
+     { \
+     { 0, 0, 0, 0 } \
+     }           
+ 
+ #ifdef PUREISO
+ #include "pureiso.h"
+ #endif
+ 
+ 
+ /* unfortunately toplev.c doesn't compile with IFOX
+    because there are more than 399 external references.
+    You get an error message like this:
+    IFO264      TOO MANY ESD ENTRIES
+    To combat this problem, we index into an array
+    instead. */
+ #if IFOX
+ #undef flag_test_coverage
+ #undef flag_branch_probabilities
+ #undef flag_reorder_blocks
+ #undef flag_reorder_functions
+ #undef flag_rename_registers
+ #undef flag_force_mem
+ #undef flag_force_addr
+ #undef flag_defer_pop
+ #undef flag_float_store
+ #undef flag_strength_reduce
+ #undef flag_old_unroll_loops
+ #undef flag_old_unroll_all_loops
+ #undef flag_move_all_movables
+ #undef flag_prefetch_loop_arrays
+ #undef flag_reduce_all_givs
+ #undef flag_writable_strings
+ #undef flag_no_function_cse
+ #undef flag_omit_frame_pointer
+ #undef flag_function_sections
+ #undef flag_data_sections
+ #undef flag_no_peephole
+ #undef flag_optimize_sibling_calls
+ #undef flag_value_profile_transformations
+ #undef flag_signed_char
+ #undef flag_short_enums
+ #undef flag_caller_saves
+ #undef flag_cse_follow_jumps
+ #undef flag_cse_skip_blocks
+ #undef flag_expensive_optimizations
+ #undef flag_rounding_math
+ #undef flag_signaling_nans
+ #undef flag_complex_divide_method
+ #undef flag_syntax_only
+ #undef flag_web
+ #undef flag_loop_optimize
+ #undef flag_crossjumping
+ #undef flag_if_conversion
+ #undef flag_if_conversion2
+ #undef flag_delete_null_pointer_checks
+ #undef flag_gcse
+ #undef flag_peel_loops
+ #undef flag_unroll_loops
+ #undef flag_unroll_all_loops
+ #undef flag_unswitch_loops
+ #undef flag_shared_data
+ 
+ #define flag_test_coverage gflags[0]
+ #define flag_branch_probabilities gflags[1]
+ #define flag_reorder_blocks gflags[2]
+ #define flag_reorder_functions gflags[3]
+ #define flag_rename_registers gflags[4]
+ #define flag_force_mem gflags[5]
+ #define flag_force_addr gflags[6]
+ #define flag_defer_pop gflags[7]
+ #define flag_float_store gflags[8]
+ #define flag_strength_reduce gflags[9]
+ #define flag_old_unroll_loops gflags[10]
+ #define flag_old_unroll_all_loops gflags[11]
+ #define flag_move_all_movables gflags[12]
+ #define flag_prefetch_loop_arrays gflags[13]
+ #define flag_reduce_all_givs gflags[14]
+ #define flag_writable_strings gflags[15]
+ #define flag_no_function_cse gflags[16]
+ #define flag_omit_frame_pointer gflags[17]
+ #define flag_function_sections gflags[18]
+ #define flag_data_sections gflags[19]
+ #define flag_no_peephole gflags[20]
+ #define flag_optimize_sibling_calls gflags[21]
+ #define flag_value_profile_transformations gflags[22]
+ #define flag_signed_char gflags[23]
+ #define flag_short_enums gflags[24]
+ #define flag_caller_saves gflags[25]
+ #define flag_cse_follow_jumps gflags[26]
+ #define flag_cse_skip_blocks gflags[27]
+ #define flag_expensive_optimizations gflags[28]
+ #define flag_rounding_math gflags[29]
+ #define flag_signaling_nans gflags[30]
+ #define flag_complex_divide_method gflags[31]
+ #define flag_syntax_only gflags[32]
+ #define flag_web gflags[33]
+ #define flag_loop_optimize gflags[34]
+ #define flag_crossjumping gflags[35]
+ #define flag_if_conversion gflags[36]
+ #define flag_if_conversion2 gflags[37]
+ #define flag_delete_null_pointer_checks gflags[38]
+ #define flag_gcse gflags[39]
+ #define flag_peel_loops gflags[40]
+ #define flag_unroll_loops gflags[41]
+ #define flag_unroll_all_loops gflags[42]
+ #define flag_unswitch_loops gflags[43]
+ #define flag_shared_data gflags[44]
+ #endif
+ 
+ 
+ #ifdef DETAB
+ #define fputs t_fputs
+ #define fprintf t_fprintf
+ #define vfprintf t_vfprintf
+ #define fwrite t_fwrite
+ #define fputc t_fputc
+ #undef putc
+ #define putc t_fputc
+ 
+ int t_fputs (const char *str, FILE *file);
+ int t_fprintf (FILE *file, const char *format, ...);
+ int t_vfprintf (FILE *file, const char *format, va_list arg);
+ size_t t_fwrite (const void *ptr, size_t size, size_t nmemb, FILE *file);
+ int t_fputc (int c, FILE *file);
+ #endif
+ 
+ 
+ #endif
Index: gcc/gcc/config/i370/oe.h
diff -c gcc/gcc/config/i370/oe.h:1.1.1.1 gcc/gcc/config/i370/oe.h:1.1.1.2
*** gcc/gcc/config/i370/oe.h:1.1.1.1	Wed Apr 15 16:27:55 2009
--- gcc/gcc/config/i370/oe.h	Wed Apr 15 16:50:17 2009
***************
*** 1,34 ****
  /* Definitions of target machine for GNU compiler.  System/370 version.
!    Copyright (C) 1989, 1993, 1995, 1996, 1997, 2003
!    Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for OS/390 OpenEdition by Dave Pitts (dpitts@cozx.com)
  
! This file is part of GCC.
  
! GCC 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.
  
! GCC 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 GCC; see the file COPYING.  If not, write to
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
  #define TARGET_VERSION printf (" (370/OpenEdition)");
  
! /* Specify that we're generating code for the Language Environment */
  
! #define LE370 1
! #define LONGEXTERNAL 1
! #define TARGET_EBCDIC 1
  #define TARGET_HLASM 1
  
  /* Options for the preprocessor for this target machine.  */
  
--- 1,42 ----
  /* Definitions of target machine for GNU compiler.  System/370 version.
!    Copyright (C) 1989, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
     Contributed by Jan Stein (jan@cd.chalmers.se).
     Modified for OS/390 OpenEdition by Dave Pitts (dpitts@cozx.com)
  
! This file is part of GNU CC.
  
! GNU CC 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 CC 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 CC; see the file COPYING.  If not, write to
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
  #define TARGET_VERSION printf (" (370/OpenEdition)");
  
! /* Specify that we're generating code for OpenEdition.  */
  
! #define TARGET_OE 1
! #define TARGET_XA 1
  #define TARGET_HLASM 1
+ #define TARGET_EBCDIC 1
+ #define TARGET_ALIASES 1
+ 
+ /* Specify that we're using the Language Environment runtime.  */
+ 
+ #define TARGET_LE 1
+ 
+ /* Specify that we're using macro prolog/epilog.  */
+ 
+ /*#define TARGET_MACROS 1*/
  
  /* Options for the preprocessor for this target machine.  */
  
***************
*** 41,53 ****
  #define STARTFILE_SPEC "/usr/local/lib/gccmain.o"
  
  /* Target OS preprocessor built-ins.  */
! #define TARGET_OS_CPP_BUILTINS()		\
!     do {					\
! 	builtin_define_std ("unix");		\
! 	builtin_define_std ("UNIX");		\
! 	builtin_define_std ("openedition");	\
! 	builtin_define ("__i370__");		\
! 	builtin_assert ("system=openedition");	\
! 	builtin_assert ("system=unix");		\
!     } while (0)
  
--- 49,61 ----
  #define STARTFILE_SPEC "/usr/local/lib/gccmain.o"
  
  /* Target OS preprocessor built-ins.  */
! #define TARGET_OS_CPP_BUILTINS()                \
!     do {                                        \
! 	builtin_define_std ("unix");            \
! 	builtin_define_std ("UNIX");            \
!         builtin_define_std ("openedition");     \
! 	builtin_define ("__i370__");            \
! 	builtin_assert ("system=openedition");  \
!         builtin_assert ("system=unix");         \
!      } while (0)
  
Index: gcc/gcc/config/i370/pureiso.h
diff -c /dev/null gcc/gcc/config/i370/pureiso.h:1.5
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/pureiso.h	Wed Dec  2 18:57:31 2009
***************
*** 0 ****
--- 1,14 ----
+ #define DEFAULT_TARGET_VERSION "3.4.6"
+ #define DEFAULT_TARGET_MACHINE "i370-ibm-mvspdp"
+ #define STANDARD_EXEC_PREFIX ""
+ #define STANDARD_STARTFILE_PREFIX ""
+ #define TOOLDIR_BASE_PREFIX ""
+ #define STANDARD_BINDIR_PREFIX ""
+ #define STANDARD_LIBEXEC_PREFIX ""
+ #ifndef TARGET_NAME
+ #define TARGET_NAME "i370-mvspdp"
+ #endif
+ #ifndef HOST_MACHINE
+ #define HOST_MACHINE "i370-ibm-mvspdp"
+ #endif
+ #define TARGET_MACHINE "i370-ibm-mvspdp"
Index: gcc/gcc/config/i370/srclist
diff -c /dev/null gcc/gcc/config/i370/srclist:1.5
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/srclist	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,65 ----
+ # Extract source files
+ # First parameter is the output of host build
+ 
+ export LC_ALL=C
+ 
+ # Extract gcc files, by ignoring libiberty and stuff in
+ # the i370 directory
+ # sched stuff has a bug in it, so needs to be manually
+ # excluded too.
+ # Need to also exclude main, since we subsitute with a
+ # single executable
+ # Also exclude some miscellaneous files that are empty on MVS
+ grep -v conftest $1 | grep -v "\-c \-DHAVE_CONFIG_H" | grep -v "/i370/" | \
+   awk '{print $NF}' | grep "\." | grep -v "^sched" | grep -v "^main" | \
+   grep -v "^doloop" | grep -v "^insn-peep" | grep -v "^intl" | \
+   grep -v "^reorg" | grep -v "^vmsdbgout" | grep -v "^xcoffout" | \
+   sort -u | awk -F. '{print "gcc", $1}' >srclist.txt
+ 
+ # Need some replacements for main
+ echo gcc gcc >>srclist.txt
+ echo gcc gccspec >>srclist.txt
+ echo gcc cppspec >>srclist.txt
+ 
+ # Extract libiberty files
+ # Need to get rid of strerror manually
+ # Also get rid of some miscellaneous files that are empty on MVS
+ grep -v conftest $1 | grep "\-c \-DHAVE_CONFIG_H" | awk '{print $NF}' | \
+   grep "\." | sort -u | grep -v "^strerror" | grep -v "^choose-temp" | \
+   grep -v "^pex-unix" | grep -v "^regex" | grep -v "^sigsetmask" | \
+   awk -F. '{print "libiberty", $1}' >>srclist.txt
+ 
+ # Our own libiberty file
+ echo libiberty unixio >>srclist.txt
+ 
+ # We have 6 categories of source
+ # gcc, libiberty, i370, pdpclib-C, pdpclib-asm, utilities
+ # that need to be transformed
+ 
+ echo i370 i370 >>srclist.txt
+ echo i370 i370-c >>srclist.txt
+ 
+ echo c stdio >>srclist.txt
+ echo c stdlib >>srclist.txt
+ echo c ctype >>srclist.txt
+ echo c string >>srclist.txt
+ echo c time >>srclist.txt
+ echo c errno >>srclist.txt
+ echo c assert >>srclist.txt
+ echo c locale >>srclist.txt
+ echo c math >>srclist.txt
+ echo c setjmp >>srclist.txt
+ echo c signal >>srclist.txt
+ echo c start >>srclist.txt
+ echo c __memmgr >>srclist.txt
+ 
+ echo asm mvsstart >>srclist.txt
+ echo asm mvssupa >>srclist.txt
+ 
+ echo util mvsunzip >>srclist.txt
+ echo util mvsendec >>srclist.txt
+ echo util hexdump >>srclist.txt
+ echo util dssrenam >>srclist.txt
+ echo util copyfile >>srclist.txt
+ echo util vseproc >>srclist.txt
+ echo util vsemanip >>srclist.txt
Index: gcc/gcc/config/i370/srclist.txt
diff -c /dev/null gcc/gcc/config/i370/srclist.txt:1.4
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/srclist.txt	Thu Jun  2 07:35:33 2011
***************
*** 0 ****
--- 1,251 ----
+ gcc alias
+ gcc alloc-pool
+ gcc attribs
+ gcc bb-reorder
+ gcc bitmap
+ gcc bt-load
+ gcc builtins
+ gcc c-aux-info
+ gcc c-common
+ gcc c-convert
+ gcc c-cppbuiltin
+ gcc c-decl
+ gcc c-dump
+ gcc c-errors
+ gcc c-format
+ gcc c-incpath
+ gcc c-lang
+ gcc c-lex
+ gcc c-objc-common
+ gcc c-opts
+ gcc c-parse
+ gcc c-pch
+ gcc c-ppoutput
+ gcc c-pragma
+ gcc c-pretty-print
+ gcc c-semantics
+ gcc c-typeck
+ gcc caller-save
+ gcc calls
+ gcc cfg
+ gcc cfganal
+ gcc cfgbuild
+ gcc cfgcleanup
+ gcc cfghooks
+ gcc cfglayout
+ gcc cfgloop
+ gcc cfgloopanal
+ gcc cfgloopmanip
+ gcc cfgrtl
+ gcc cgraph
+ gcc cgraphunit
+ gcc combine
+ gcc conflict
+ gcc convert
+ gcc coverage
+ gcc cppcharset
+ gcc cppdefault
+ gcc cpperror
+ gcc cppexp
+ gcc cppfiles
+ gcc cpphash
+ gcc cppinit
+ gcc cpplex
+ gcc cpplib
+ gcc cppmacro
+ gcc cpppch
+ gcc cpptrad
+ gcc cse
+ gcc cselib
+ gcc dbxout
+ gcc debug
+ gcc df
+ gcc diagnostic
+ gcc dojump
+ gcc dominance
+ gcc dwarf2asm
+ gcc dwarf2out
+ gcc emit-rtl
+ gcc et-forest
+ gcc except
+ gcc explow
+ gcc expmed
+ gcc expr
+ gcc final
+ gcc flow
+ gcc fold-const
+ gcc function
+ gcc gcse
+ gcc genrtl
+ gcc ggc-common
+ gcc ggc-page
+ gcc global
+ gcc graph
+ gcc gtype-desc
+ gcc haifa-sched
+ gcc hashtable
+ gcc hooks
+ gcc host-default
+ gcc ifcvt
+ gcc insn-attrtab
+ gcc insn-emit
+ gcc insn-extract
+ gcc insn-modes
+ gcc insn-opinit
+ gcc insn-output
+ gcc insn-recog
+ gcc integrate
+ gcc jump
+ gcc langhooks
+ gcc lcm
+ gcc line-map
+ gcc lists
+ gcc local-alloc
+ gcc loop-init
+ gcc loop-unroll
+ gcc loop-unswitch
+ gcc loop
+ gcc mkdeps
+ gcc optabs
+ gcc options
+ gcc opts
+ gcc params
+ gcc postreload
+ gcc predict
+ gcc prefix
+ gcc pretty-print
+ gcc print-rtl
+ gcc print-tree
+ gcc profile
+ gcc ra-build
+ gcc ra-colorize
+ gcc ra-debug
+ gcc ra-rewrite
+ gcc ra
+ gcc real
+ gcc recog
+ gcc reg-stack
+ gcc regclass
+ gcc regmove
+ gcc regrename
+ gcc reload
+ gcc reload1
+ gcc resource
+ gcc rtl-error
+ gcc rtl
+ gcc rtlanal
+ gcc sbitmap
+ gcc sdbout
+ gcc sibcall
+ gcc simplify-rtx
+ gcc sreal
+ gcc stmt
+ gcc stor-layout
+ gcc stringpool
+ gcc stub-objc
+ gcc targhooks
+ gcc timevar
+ gcc toplev
+ gcc tracer
+ gcc tree-dump
+ gcc tree-inline
+ gcc tree-optimize
+ gcc tree
+ gcc unroll
+ gcc value-prof
+ gcc varasm
+ gcc varray
+ gcc version
+ gcc web
+ gcc gcc
+ gcc gccspec
+ gcc cppspec
+ libiberty alloca
+ libiberty argv
+ libiberty asprintf
+ libiberty basename
+ libiberty bcmp
+ libiberty bcopy
+ libiberty bzero
+ libiberty concat
+ libiberty cp-demangle
+ libiberty cp-demint
+ libiberty cplus-dem
+ libiberty dyn-string
+ libiberty fdmatch
+ libiberty ffs
+ libiberty fibheap
+ libiberty floatformat
+ libiberty fnmatch
+ libiberty getcwd
+ libiberty getopt
+ libiberty getopt1
+ libiberty getpagesize
+ libiberty getpwd
+ libiberty getruntime
+ libiberty hashtab
+ libiberty hex
+ libiberty index
+ libiberty insque
+ libiberty lbasename
+ libiberty lrealpath
+ libiberty make-relative-prefix
+ libiberty make-temp-file
+ libiberty md5
+ libiberty mempcpy
+ libiberty mkstemps
+ libiberty objalloc
+ libiberty obstack
+ libiberty partition
+ libiberty physmem
+ libiberty putenv
+ libiberty random
+ libiberty rindex
+ libiberty safe-ctype
+ libiberty setenv
+ libiberty snprintf
+ libiberty sort
+ libiberty spaces
+ libiberty splay-tree
+ libiberty stpcpy
+ libiberty stpncpy
+ libiberty strcasecmp
+ libiberty strdup
+ libiberty strncasecmp
+ libiberty strsignal
+ libiberty ternary
+ libiberty vasprintf
+ libiberty vprintf
+ libiberty vsnprintf
+ libiberty waitpid
+ libiberty xatexit
+ libiberty xexit
+ libiberty xmalloc
+ libiberty xmemdup
+ libiberty xstrdup
+ libiberty xstrerror
+ libiberty unixio
+ i370 i370
+ i370 i370-c
+ c stdio
+ c stdlib
+ c ctype
+ c string
+ c time
+ c errno
+ c assert
+ c locale
+ c math
+ c setjmp
+ c signal
+ c start
+ c __memmgr
+ asm mvsstart
+ asm mvssupa
+ util mvsunzip
+ util mvsendec
+ util hexdump
+ util dssrenam
+ util copyfile
+ util vseproc
+ util vsemanip
Index: gcc/gcc/config/i370/stage1a.m4
diff -c /dev/null gcc/gcc/config/i370/stage1a.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage1a.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,34 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //*
+ //* This is the first job of the stage 1 build
+ //* Note that PDPCLIB is hardcoded in two places and you
+ //* will need to adjust that.
+ //*
+ //ST1CMP   PROC GCCPREF='GCC',MEMBER='',
+ //         PDPPREF='PDPCLIB'
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S(&MEMBER),DISP=SHR
+ //LKED     EXEC PGM=IEWL,PARM='NCAL,LET',
+ //             COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //MVSSTART EXEC ST1CMP,MEMBER=MVSSTART
+ //SYSIN    DD   DSN=PDPCLIB.SOURCE(MVSSTART),DISP=SHR
+ //MVSSUPA  EXEC ST1CMP,MEMBER=MVSSUPA
+ //SYSIN    DD   DSN=PDPCLIB.SOURCE(MVSSUPA),DISP=SHR
+ undivert(comp.txt)//
Index: gcc/gcc/config/i370/stage1b.m4
diff -c /dev/null gcc/gcc/config/i370/stage1b.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage1b.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,38 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //ST1CMP   PROC GCCPREF='GCC',MEMBER='',
+ //         PDPPREF='PDPCLIB'
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S(&MEMBER),DISP=SHR
+ //LKED     EXEC PGM=IEWL,PARM='NCAL,LET',
+ //             COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,
+ // PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..TMPLOAD(&MODULE),DISP=SHR
+ //         PEND
+ undivert(comp.txt)//*
+ //DOLINK   EXEC LINK,MODULE='STAGE1'
+ //LKED.SYSLIN   DD *
+ undivert(link.txt) ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/config/i370/stage1b_pdos.m4
diff -c /dev/null gcc/gcc/config/i370/stage1b_pdos.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage1b_pdos.m4	Thu Jun  2 22:13:12 2011
***************
*** 0 ****
--- 1,38 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K
+ //ST1CMP   PROC GCCPREF='GCC',MEMBER='',
+ //         PDPPREF='PDPCLIB'
+ //ASM      EXEC PGM=ASMA90,
+ //         PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S(&MEMBER),DISP=SHR
+ //LKED     EXEC PGM=IEWL,PARM='NCAL,LET',
+ //             COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,
+ // PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..LINKLIB(&MODULE),DISP=SHR
+ //         PEND
+ undivert(comp.txt)//*
+ //DOLINK   EXEC LINK,MODULE='GCC'
+ //LKED.SYSLIN   DD *
+ undivert(link.txt) ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/config/i370/stage2a.m4
diff -c /dev/null gcc/gcc/config/i370/stage2a.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage2a.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,56 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //CREATE   PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1000,1000,44)),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //ST2CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //NEWNCAL  EXEC CREATE
+ //*
+ undivert(comp.txt)//
Index: gcc/gcc/config/i370/stage2b.m4
diff -c /dev/null gcc/gcc/config/i370/stage2b.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage2b.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,43 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST2CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ undivert(comp.txt)//
Index: gcc/gcc/config/i370/stage2c.m4
diff -c /dev/null gcc/gcc/config/i370/stage2c.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage2c.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,121 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST2CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //ST2PDP   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ // COS1='-Os -S -ansi -pedantic-errors',
+ // COS2='-DUSE_MEMMGR -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE1,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DDNAME=SYSLIN
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S2(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //PDPASM   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER=''
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..TMPLOAD(&MODULE),DISP=SHR
+ //         PEND
+ //*
+ undivert(comp.txt)//*
+ //MVSSTART EXEC PDPASM,MEMBER=MVSSTART
+ //MVSSUPA  EXEC PDPASM,MEMBER=MVSSUPA
+ //*
+ //DOLINK   EXEC LINK,COND=(4,LT),MODULE='STAGE2'
+ //LKED.SYSLIN   DD *
+ undivert(link.txt) ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/config/i370/stage3a.m4
diff -c /dev/null gcc/gcc/config/i370/stage3a.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage3a.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,56 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //CREATE   PROC GCCPREF='GCC'
+ //DELETE   EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(MOD,DELETE),
+ //       UNIT=SYSALLDA,SPACE=(TRK,(0))
+ //*
+ //ALLOC    EXEC PGM=IEFBR14
+ //DD11     DD DSN=&GCCPREF..NCALIB,DISP=(,CATLG),
+ // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
+ // SPACE=(6144,(1000,1000,44)),UNIT=SYSALLDA
+ //         PEND
+ //*
+ //ST3CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //NEWNCAL  EXEC CREATE
+ //*
+ undivert(comp.txt)//
Index: gcc/gcc/config/i370/stage3b.m4
diff -c /dev/null gcc/gcc/config/i370/stage3b.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage3b.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,43 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST3CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ undivert(comp.txt)//
Index: gcc/gcc/config/i370/stage3c.m4
diff -c /dev/null gcc/gcc/config/i370/stage3c.m4:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/stage3c.m4	Fri May 27 22:57:08 2011
***************
*** 0 ****
--- 1,138 ----
+ //GCCGEN   JOB CLASS=C,REGION=0K,TIME=1440
+ //*
+ //ST3CMP   PROC GCCPREF='GCC',MEMBER='',
+ // PDPPREF='PDPCLIB',
+ // COS1='-Os -S -ansi -pedantic-errors -remap -DHAVE_CONFIG_H',
+ // COS2='-DIN_GCC -DPUREISO -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&GCCPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&GCCPREF..INCLUDE,DISP=SHR
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&GCCPREF..INCLUDE,DISP=SHR
+ //         DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //ST3PDP   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER='',
+ // COS1='-Os -S -ansi -pedantic-errors',
+ // COS2='-DUSE_MEMMGR -o dd:out -'
+ //*
+ //COMP     EXEC PGM=STAGE2,
+ // PARM='&COS1 &COS2'
+ //STEPLIB  DD DSN=&GCCPREF..TMPLOAD,DISP=SHR
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //INCLUDE  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //SYSINCL  DD DSN=&PDPPREF..INCLUDE,DISP=SHR
+ //OUT      DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //SYSPRINT DD SYSOUT=*
+ //SYSTERM  DD SYSOUT=*
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST',
+ //            COND=(4,LT,COMP)
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&GCCPREF..S3(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=((4,LT,COMP),(4,LT,ASM))
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //PDPASM   PROC GCCPREF='GCC',PDPPREF='PDPCLIB',MEMBER=''
+ //*
+ //ASM      EXEC PGM=ASMA90,
+ //            PARM='DECK,NOLIST'
+ //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
+ //         DD DSN=SYS1.MODGEN,DISP=SHR
+ //         DD DSN=&PDPPREF..MACLIB,DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
+ //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(10,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIN   DD DUMMY
+ //SYSGO    DD DUMMY
+ //SYSPUNCH DD DSN=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(4000,4000)),
+ //            DISP=(,PASS)
+ //SYSIN    DD DSN=&PDPPREF..SOURCE(&MEMBER),DISP=SHR
+ //*
+ //LKED     EXEC PGM=IEWL,PARM='NCAL',
+ //            COND=(4,LT,ASM)
+ //SYSLIN   DD DSN=&&OBJSET,DISP=(OLD,DELETE)
+ //SYSLMOD  DD DSN=&GCCPREF..NCALIB(&MEMBER),DISP=SHR
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
+ //SYSPRINT DD SYSOUT=*
+ //         PEND
+ //*
+ //LINK     PROC GCCPREF='GCC',MODULE=''
+ //LKED     EXEC PGM=IEWL,PARM='MAP,LIST,SIZE=(999424,65536)'
+ //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(30,10))
+ //SYSPRINT DD SYSOUT=*
+ //SYSLIB   DD DSN=&GCCPREF..NCALIB,DISP=SHR
+ //SYSLMOD  DD DSN=&GCCPREF..LINKLIB(&MODULE),DISP=SHR
+ //         PEND
+ //*
+ //COMPARE  PROC GCCPREF='GCC',ONE='',TWO=''
+ //COMPR    EXEC PGM=IEBCOMPR
+ //SYSPRINT DD SYSOUT=*
+ //SYSUT1   DD DSN=&GCCPREF..&ONE,DISP=SHR
+ //SYSUT2   DD DSN=&GCCPREF..&TWO,DISP=SHR
+ //SYSIN    DD DUMMY
+ //         PEND
+ //*
+ undivert(comp.txt)//*
+ //MVSSTART EXEC PDPASM,MEMBER=MVSSTART
+ //MVSSUPA  EXEC PDPASM,MEMBER=MVSSUPA
+ //*
+ //CMP      EXEC COMPARE,ONE='S2',TWO='S3'
+ //SYSIN    DD *
+  COMPARE TYPORG=PO
+ /*
+ //*
+ //* If the STAGE3 assembler files don't match the STAGE2
+ //* assembler files, then failsafe by not producing a GCC
+ //* module, as there is a compiler bug somewhere.
+ //*
+ //DOLINK   EXEC LINK,COND=(4,LT),MODULE='GCC'
+ //LKED.SYSLIN   DD *
+ undivert(link.txt) ENTRY @@MAIN
+ /*
+ //
Index: gcc/gcc/config/i370/t-mvs
diff -c /dev/null gcc/gcc/config/i370/t-mvs:1.1.1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/t-mvs	Wed Apr 15 16:50:17 2009
***************
*** 0 ****
--- 1,7 ----
+ #
+ # Target is an i370 running MVS (OS/390)
+ #
+ 
+ # Don't bother making libgcc, we don't use it.
+ LIBGCC =
+ INSTALL_LIBGCC =
Index: gcc/gcc/config/i370/t-oe
diff -c /dev/null gcc/gcc/config/i370/t-oe:1.1.1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/t-oe	Wed Apr 15 16:50:17 2009
***************
*** 0 ****
--- 1,10 ----
+ #
+ # Target is an i370 running OpenEdition
+ #
+ 
+ # Don't bother making libgcc, we don't use it.
+ LIBGCC =
+ INSTALL_LIBGCC =
+ 
+ T_CFLAGS = -D_ALL_SOURCE -DLE370
+ CC=c89
Index: gcc/gcc/config/i370/vse.h
diff -c /dev/null gcc/gcc/config/i370/vse.h:1.1.3.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/vse.h	Thu May 12 16:39:46 2011
***************
*** 0 ****
--- 1,51 ----
+ /* Definitions of target machine for GNU compiler.  System/370 version.
+    Copyright (C) 1989, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+    Contributed by Jan Stein (jan@cd.chalmers.se).
+    Modified for DOS/VSE by Paul Edwards.
+ 
+ This file is part of GNU CC.
+ 
+ GNU CC 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 CC 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 CC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ #define TARGET_VERSION fprintf (stderr, " (370/VSE)");
+ 
+ /* Specify that we're generating code for MVS.  */
+ 
+ #define TARGET_MVS 1
+ #define TARGET_HLASM 1
+ #define TARGET_EBCDIC 1
+ 
+ /* Specify that we're using the GCC macros */
+ 
+ #define TARGET_PDPMAC 1
+ #define STARTFILE_SPEC ""
+ 
+ /* Specify that we're using macro prolog/epilog.  */
+ 
+ #define TARGET_MACROS 1
+ 
+ /* Options for the preprocessor for this target machine.  */
+ 
+ #define CPP_SPEC "-trigraphs"
+ 
+ /* Names to predefine in the preprocessor for this target machine.  */
+ 
+ #define CPP_PREDEFINES "-DGCC -Dgcc -DVSE -Dvse -DPDPMAC -Asystem=mvs -Acpu=i370 -Amachine=i370"
+ 
+ 
+ #ifdef PUREISO
+ #include "pureiso.h"
+ #endif
Index: gcc/gcc/config/i370/xm-mvs.h
diff -c /dev/null gcc/gcc/config/i370/xm-mvs.h:1.2
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/xm-mvs.h	Tue Aug  4 04:03:28 2009
***************
*** 0 ****
--- 1,48 ----
+ /* Configuration for GNU C-compiler for System/370.
+    Copyright (C) 1989, 1993, 1997 Free Software Foundation, Inc.
+    Contributed by Jan Stein (jan@cd.chalmers.se).
+    Modified for OS/390 LanguageEnvironment C by Dave Pitts (dpitts@cozx.com)
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ /* #defines that need visibility everywhere.  */
+ 
+ /*#define FALSE 0
+ #define TRUE 1*/
+ 
+ /* This describes the machine the compiler is hosted on.  */
+ 
+ /*#define HOST_BITS_PER_CHAR	8
+ #define HOST_BITS_PER_SHORT	16
+ #define HOST_BITS_PER_INT	32
+ #define HOST_BITS_PER_LONG	32 */
+ #define HOST_FLOAT_FORMAT	IBM_FLOAT_FORMAT
+ #define HOST_EBCDIC		1
+ 
+ #define USG
+ #ifndef MVS
+ #define MVS
+ #endif
+ 
+ /* Arguments to use with `exit'.  */
+ 
+ /*#define SUCCESS_EXIT_CODE	0
+ #define FATAL_EXIT_CODE		12*/
+ 
+ #define NO_DBX_FORMAT
+ 
Index: gcc/gcc/config/i370/xm-oe.h
diff -c /dev/null gcc/gcc/config/i370/xm-oe.h:1.1.1.1
*** /dev/null	Mon Jun 13 20:10:13 2011
--- gcc/gcc/config/i370/xm-oe.h	Wed Apr 15 16:50:17 2009
***************
*** 0 ****
--- 1,54 ----
+ /* Configuration for GNU C-compiler for System/370.
+    Copyright (C) 1989, 1993, 1997 Free Software Foundation, Inc.
+    Contributed by Jan Stein (jan@cd.chalmers.se).
+    Modified for OS/390 OpenEdition by Dave Pitts (dpitts@cozx.com)
+ 
+ This file is part of GCC.
+ 
+ GCC 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.
+ 
+ GCC 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 GCC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ /* #defines that need visibility everywhere.  */
+ 
+ #ifndef FALSE
+ #define FALSE 0
+ #endif
+ #ifndef TRUE
+ #define TRUE 1
+ #endif
+ 
+ #define USE_STDARGS 1
+ #define USE_PROTOTYPES 1
+ 
+ /* This describes the machine the compiler is hosted on.  */
+ 
+ #define HOST_FLOAT_FORMAT	IBM_FLOAT_FORMAT
+ #define HOST_EBCDIC		1
+ 
+ #define ONLY_INT_FIELDS		1
+ 
+ #define USG
+ 
+ /* Arguments to use with `exit'.  */
+ 
+ #define SUCCESS_EXIT_CODE	0
+ #define FATAL_EXIT_CODE		1
+ 
+ #define NO_DBX_FORMAT
+ 
+ /* The mmap function on OS/390 is broken, bypass */
+ 
+ #define MMAP_THRESHOLD 0
+ 
Index: gcc/include/ansidecl.h
diff -c gcc/include/ansidecl.h:1.1.1.1 gcc/include/ansidecl.h:1.4
*** gcc/include/ansidecl.h:1.1.1.1	Wed Apr 15 16:25:44 2009
--- gcc/include/ansidecl.h	Fri Nov 20 09:17:57 2009
***************
*** 114,119 ****
--- 114,134 ----
  #ifndef	_ANSIDECL_H
  #define _ANSIDECL_H	1
  
+ 
+ #ifdef PUREISO
+ 
+ /* this builtin doesn't work on MVS */
+ #define USE_C_ALLOCA 1
+ 
+ #include "unixio.h"
+ 
+ #ifndef NOSHORT
+ #include "mshort.h"
+ #endif
+ 
+ #endif
+ 
+ 
  /* Every source file includes this file,
     so they will all get the switch for lint.  */
  /* LINTLIBRARY */
Index: gcc/include/fnmatch.h
diff -c gcc/include/fnmatch.h:1.1.1.1 gcc/include/fnmatch.h:1.2
*** gcc/include/fnmatch.h:1.1.1.1	Wed Apr 15 16:25:44 2009
--- gcc/include/fnmatch.h	Sat Apr 25 22:05:58 2009
***************
*** 60,67 ****
  
  /* Match STRING against the filename pattern PATTERN,
     returning zero if it matches, FNM_NOMATCH if not.  */
! extern int fnmatch __P ((const char *__pattern, const char *__string,
! 			 int __flags));
  
  #ifdef	__cplusplus
  }
--- 60,67 ----
  
  /* Match STRING against the filename pattern PATTERN,
     returning zero if it matches, FNM_NOMATCH if not.  */
! extern int fnmatch __P ((const char *pattern, const char *string,
! 			 int flags));
  
  #ifdef	__cplusplus
  }
Index: gcc/include/libiberty.h
diff -c gcc/include/libiberty.h:1.1.1.1 gcc/include/libiberty.h:1.2
*** gcc/include/libiberty.h:1.1.1.1	Wed Apr 15 16:25:44 2009
--- gcc/include/libiberty.h	Wed Nov 11 15:43:00 2009
***************
*** 206,211 ****
--- 206,219 ----
  
  extern int strtosigno PARAMS ((const char *));
  
+ /* case-insensitive string comparison */
+ 
+ extern int strcasecmp(const char *s1, const char *s2);
+ 
+ /* get page size */
+ 
+ int getpagesize(void);
+ 
  /* Register a function to be run by xexit.  Returns 0 on success.  */
  
  extern int xatexit PARAMS ((void (*fn) (void)));
Index: gcc/include/mshort.h
diff -c /dev/null gcc/include/mshort.h:1.1
*** /dev/null	Mon Jun 13 20:10:33 2011
--- gcc/include/mshort.h	Fri Nov 20 08:45:16 2009
***************
*** 0 ****
--- 1,2091 ----
+ #define address_cost ZZZ_1
+ #define address_operand ZZZ_2
+ #define add_insn ZZZ_3
+ #define add_insn_after ZZZ_4
+ #define add_insn_before ZZZ_5
+ #define adjust_address_1 ZZZ_6
+ #define adjust_automodify_address_1 ZZZ_7
+ #define align_functions ZZZ_8
+ #define align_functions_log ZZZ_9
+ #define align_jumps ZZZ_10
+ #define align_jumps_log ZZZ_11
+ #define align_jumps_max_skip ZZZ_12
+ #define align_labels ZZZ_13
+ #define align_labels_log ZZZ_14
+ #define align_labels_max_skip ZZZ_15
+ #define align_loops ZZZ_16
+ #define align_loops_log ZZZ_17
+ #define align_loops_max_skip ZZZ_18
+ #define allocate_bb_life_data ZZZ_19
+ #define allocate_dynamic_stack_space ZZZ_20
+ #define allocate_initial_values ZZZ_21
+ #define allocate_reg_info ZZZ_22
+ #define allocate_reg_life_data ZZZ_23
+ #define allocate_struct_function ZZZ_24
+ #define alloc_aux_for_block ZZZ_25
+ #define alloc_aux_for_blocks ZZZ_26
+ #define alloc_aux_for_edge ZZZ_27
+ #define alloc_aux_for_edges ZZZ_28
+ #define assemble_alias ZZZ_29
+ #define assemble_align ZZZ_30
+ #define assemble_asm ZZZ_31
+ #define assemble_end_function ZZZ_32
+ #define assemble_external ZZZ_33
+ #define assemble_external_libcall ZZZ_34
+ #define assemble_integer ZZZ_35
+ #define assemble_integer_with_op ZZZ_36
+ #define assemble_label ZZZ_37
+ #define assemble_name ZZZ_38
+ #define assemble_real ZZZ_39
+ #define assemble_start_function ZZZ_40
+ #define assemble_static_space ZZZ_41
+ #define assemble_string ZZZ_42
+ #define assemble_trampoline_template ZZZ_43
+ #define assemble_variable ZZZ_44
+ #define assemble_zeros ZZZ_45
+ #define assign_stack_local ZZZ_46
+ #define assign_stack_temp ZZZ_47
+ #define assign_stack_temp_for_type ZZZ_48
+ #define attribute_hash_list ZZZ_49
+ #define attribute_list_contained ZZZ_50
+ #define attribute_list_equal ZZZ_51
+ #define aux_info_file ZZZ_52
+ #define aux_info_file_name ZZZ_53
+ #define bitmap_clear ZZZ_54
+ #define bitmap_clear_bit ZZZ_55
+ #define bitmap_copy ZZZ_56
+ #define bitmap_initialize ZZZ_57
+ #define bitmap_ior_and_compl ZZZ_58
+ #define build_array_declarator ZZZ_59
+ #define build_array_ref ZZZ_60
+ #define build_array_type ZZZ_61
+ #define build_common_tree_nodes ZZZ_62
+ #define build_common_tree_nodes_2 ZZZ_63
+ #define build_complex ZZZ_64
+ #define build_complex_type ZZZ_65
+ #define build_component_ref ZZZ_66
+ #define build_compound_expr ZZZ_67
+ #define build_compound_literal ZZZ_68
+ #define build_conditional_expr ZZZ_69
+ #define build_constructor ZZZ_70
+ #define build_continue_stmt ZZZ_71
+ #define build_decl ZZZ_72
+ #define build_decl_attribute_variant ZZZ_73
+ #define build_expr_wfl ZZZ_74
+ #define build_external_ref ZZZ_75
+ #define build_function_call ZZZ_76
+ #define build_function_call_expr ZZZ_77
+ #define build_function_type ZZZ_78
+ #define build_function_type_list ZZZ_79
+ #define build_index_2_type ZZZ_80
+ #define build_index_type ZZZ_81
+ #define build_indirect_ref ZZZ_82
+ #define build_insn_chain ZZZ_83
+ #define build_int_2_wide ZZZ_84
+ #define build_method_type ZZZ_85
+ #define build_method_type_directly ZZZ_86
+ #define build_pointer_type ZZZ_87
+ #define build_pointer_type_for_mode ZZZ_88
+ #define build_real ZZZ_89
+ #define build_real_from_int_cst ZZZ_90
+ #define build_reference_type ZZZ_91
+ #define build_reference_type_for_mode ZZZ_92
+ #define build_return_stmt ZZZ_93
+ #define build_stmt ZZZ_94
+ #define build_string ZZZ_95
+ #define build_type_attribute_variant ZZZ_96
+ #define build_type_copy ZZZ_97
+ #define build_type_no_quals ZZZ_98
+ #define builtin_define_std ZZZ_99
+ #define builtin_define_with_value ZZZ_100
+ #define builtin_function ZZZ_101
+ #define builtin_mathfn_code ZZZ_102
+ #define built_in_class_names ZZZ_103
+ #define built_in_decls ZZZ_104
+ #define built_in_names ZZZ_105
+ #define call_fixed_regs ZZZ_106
+ #define call_fixed_reg_set ZZZ_107
+ #define call_used_regs ZZZ_108
+ #define call_used_reg_set ZZZ_109
+ #define cancel_loop ZZZ_110
+ #define cancel_loop_tree ZZZ_111
+ #define can_copy_bbs_p ZZZ_112
+ #define can_copy_p ZZZ_113
+ #define can_throw_external ZZZ_114
+ #define can_throw_internal ZZZ_115
+ #define cfg_layout_can_duplicate_bb_p ZZZ_116
+ #define cfg_layout_duplicate_bb ZZZ_117
+ #define cfg_layout_finalize ZZZ_118
+ #define cfg_layout_function_footer ZZZ_119
+ #define cfg_layout_function_header ZZZ_120
+ #define cfg_layout_initialize ZZZ_121
+ #define cfg_layout_initialize_rbi ZZZ_122
+ #define cfg_layout_pool ZZZ_123
+ #define cfg_layout_rtl_cfg_hooks ZZZ_124
+ #define cfg_layout_rtl_register_cfg_hooks ZZZ_125
+ #define cgraph_calls_p ZZZ_126
+ #define cgraph_create_edges ZZZ_127
+ #define cgraph_finalize_compilation_unit ZZZ_128
+ #define cgraph_finalize_function ZZZ_129
+ #define cgraph_function_possibly_inlined_p ZZZ_130
+ #define cgraph_global_info ZZZ_131
+ #define cgraph_global_info_ready ZZZ_132
+ #define cgraph_mark_needed_node ZZZ_133
+ #define cgraph_mark_reachable_node ZZZ_134
+ #define cgraph_max_uid ZZZ_135
+ #define cgraph_node ZZZ_136
+ #define cgraph_nodes ZZZ_137
+ #define cgraph_nodes_queue ZZZ_138
+ #define cgraph_node_for_identifier ZZZ_139
+ #define cgraph_node_name ZZZ_140
+ #define cgraph_n_nodes ZZZ_141
+ #define cgraph_record_call ZZZ_142
+ #define cgraph_remove_call ZZZ_143
+ #define cgraph_remove_edge ZZZ_144
+ #define cgraph_remove_node ZZZ_145
+ #define cgraph_rtl_info ZZZ_146
+ #define cgraph_varpool_assemble_pending_decls ZZZ_147
+ #define cgraph_varpool_finalize_decl ZZZ_148
+ #define cgraph_varpool_mark_needed_node ZZZ_149
+ #define cgraph_varpool_node ZZZ_150
+ #define cgraph_varpool_nodes_queue ZZZ_151
+ #define cgraph_varpool_node_for_identifier ZZZ_152
+ #define cgraph_varpool_n_nodes ZZZ_153
+ #define check_for_full_enumeration_handling ZZZ_154
+ #define check_for_loop_decls ZZZ_155
+ #define check_function_arguments ZZZ_156
+ #define check_function_arguments_recurse ZZZ_157
+ #define check_function_format ZZZ_158
+ #define check_function_return_warnings ZZZ_159
+ #define cleanup_barriers ZZZ_160
+ #define cleanup_cfg ZZZ_161
+ #define cleanup_subreg_operands ZZZ_162
+ #define clear_aux_for_blocks ZZZ_163
+ #define clear_aux_for_edges ZZZ_164
+ #define cl_options ZZZ_165
+ #define cl_options_count ZZZ_166
+ #define combine_instructions ZZZ_167
+ #define combine_stack_adjustments ZZZ_168
+ #define combine_temp_slots ZZZ_169
+ #define commit_edge_insertions ZZZ_170
+ #define commit_edge_insertions_watch_calls ZZZ_171
+ #define compare_from_rtx ZZZ_172
+ #define compare_tree_int ZZZ_173
+ #define comparison_dominates_p ZZZ_174
+ #define comparison_operator ZZZ_175
+ #define compute_alignments ZZZ_176
+ #define compute_available ZZZ_177
+ #define compute_bb_for_insn ZZZ_178
+ #define compute_record_mode ZZZ_179
+ #define compute_reloc_for_constant ZZZ_180
+ #define compute_use_by_pseudos ZZZ_181
+ #define concat_copy ZZZ_182
+ #define concat_copy2 ZZZ_183
+ #define condjump_in_parallel_p ZZZ_184
+ #define condjump_label ZZZ_185
+ #define condjump_p ZZZ_186
+ #define conflict_graph_add ZZZ_187
+ #define conflict_graph_compute ZZZ_188
+ #define conflict_graph_conflict_p ZZZ_189
+ #define conflict_graph_delete ZZZ_190
+ #define conflict_graph_enum ZZZ_191
+ #define conflict_graph_merge_regs ZZZ_192
+ #define conflict_graph_new ZZZ_193
+ #define conflict_graph_print ZZZ_194
+ #define constant_expression_warning ZZZ_195
+ #define constant_pool_reference_p ZZZ_196
+ #define constant_string_class_name ZZZ_197
+ #define constrain_operands ZZZ_198
+ #define constrain_operands_cached ZZZ_199
+ #define constructor_no_implicit ZZZ_200
+ #define constructor_range_stack ZZZ_201
+ #define constructor_stack ZZZ_202
+ #define const_double_from_real_value ZZZ_203
+ #define const_double_operand ZZZ_204
+ #define const_int_operand ZZZ_205
+ #define const_int_rtx ZZZ_206
+ #define convert_and_check ZZZ_207
+ #define convert_from_eh_region_ranges ZZZ_208
+ #define convert_memory_address ZZZ_209
+ #define convert_modes ZZZ_210
+ #define convert_move ZZZ_211
+ #define convert_optab_table ZZZ_212
+ #define convert_to_complex ZZZ_213
+ #define convert_to_eh_region_ranges ZZZ_214
+ #define convert_to_integer ZZZ_215
+ #define convert_to_mode ZZZ_216
+ #define convert_to_pointer ZZZ_217
+ #define convert_to_real ZZZ_218
+ #define convert_to_vector ZZZ_219
+ #define copy_insn ZZZ_220
+ #define copy_insn_1 ZZZ_221
+ #define copy_rtx ZZZ_222
+ #define copy_rtx_and_substitute ZZZ_223
+ #define copy_rtx_if_shared ZZZ_224
+ #define copy_to_mode_reg ZZZ_225
+ #define copy_to_reg ZZZ_226
+ #define copy_to_suggested_reg ZZZ_227
+ #define coverage_begin_output ZZZ_228
+ #define coverage_counter_alloc ZZZ_229
+ #define coverage_counter_ref ZZZ_230
+ #define coverage_end_function ZZZ_231
+ #define coverage_finish ZZZ_232
+ #define coverage_init ZZZ_233
+ #define cplus_demangle ZZZ_234
+ #define cplus_demangle_builtin_types ZZZ_235
+ #define cplus_demangle_fill_builtin_type ZZZ_236
+ #define cplus_demangle_fill_component ZZZ_237
+ #define cplus_demangle_fill_ctor ZZZ_238
+ #define cplus_demangle_fill_dtor ZZZ_239
+ #define cplus_demangle_fill_extended_operator ZZZ_240
+ #define cplus_demangle_fill_name ZZZ_241
+ #define cplus_demangle_fill_operator ZZZ_242
+ #define cplus_demangle_init_info ZZZ_243
+ #define cplus_demangle_mangled_name ZZZ_244
+ #define cplus_demangle_name_to_style ZZZ_245
+ #define cplus_demangle_operators ZZZ_246
+ #define cplus_demangle_opname ZZZ_247
+ #define cplus_demangle_print ZZZ_248
+ #define cplus_demangle_set_style ZZZ_249
+ #define cplus_demangle_type ZZZ_250
+ #define cplus_demangle_v3 ZZZ_251
+ #define cplus_demangle_v3_components ZZZ_252
+ #define cpp_define ZZZ_253
+ #define cpp_defined ZZZ_254
+ #define cpp_error ZZZ_255
+ #define cpp_errors ZZZ_256
+ #define cpp_error_with_line ZZZ_257
+ #define cpp_GCC_INCLUDE_DIR ZZZ_258
+ #define cpp_GCC_INCLUDE_DIR_len ZZZ_259
+ #define cpp_get_callbacks ZZZ_260
+ #define cpp_get_line_maps ZZZ_261
+ #define cpp_get_options ZZZ_262
+ #define cpp_get_token ZZZ_263
+ #define cpp_included ZZZ_264
+ #define cpp_include_defaults ZZZ_265
+ #define cpp_init_builtins ZZZ_266
+ #define cpp_init_iconv ZZZ_267
+ #define cpp_interpret_charconst ZZZ_268
+ #define cpp_interpret_integer ZZZ_269
+ #define cpp_interpret_string ZZZ_270
+ #define cpp_output_line ZZZ_271
+ #define cpp_output_token ZZZ_272
+ #define cpp_push_buffer ZZZ_273
+ #define cpp_push_include ZZZ_274
+ #define cpp_read_main_file ZZZ_275
+ #define cpp_read_state ZZZ_276
+ #define cpp_set_callbacks ZZZ_277
+ #define cpp_set_include_chains ZZZ_278
+ #define cpp_set_lang ZZZ_279
+ #define cpp_token_as_text ZZZ_280
+ #define cpp_token_len ZZZ_281
+ #define cpp_undef ZZZ_282
+ #define cpp_undef_all ZZZ_283
+ #define cpp_write_pch_deps ZZZ_284
+ #define cpp_write_pch_state ZZZ_285
+ #define cselib_init ZZZ_286
+ #define cselib_invalidate_rtx ZZZ_287
+ #define current_demangling_style ZZZ_288
+ #define current_function_decl ZZZ_289
+ #define current_function_func_begin_label ZZZ_290
+ #define current_function_has_exception_handlers ZZZ_291
+ #define current_function_is_leaf ZZZ_292
+ #define current_function_name ZZZ_293
+ #define current_function_nothrow ZZZ_294
+ #define current_function_returns_abnormally ZZZ_295
+ #define current_function_returns_null ZZZ_296
+ #define current_function_returns_value ZZZ_297
+ #define current_function_sp_is_unchanging ZZZ_298
+ #define current_function_uses_only_leaf_regs ZZZ_299
+ #define current_nesting_level ZZZ_300
+ #define current_output_insn ZZZ_301
+ #define current_sched_info ZZZ_302
+ #define current_scope_stmt_stack ZZZ_303
+ #define current_stmt_tree ZZZ_304
+ #define c_begin_compound_stmt ZZZ_305
+ #define c_begin_if_stmt ZZZ_306
+ #define c_begin_while_stmt ZZZ_307
+ #define c_common_attribute_table ZZZ_308
+ #define c_common_finish ZZZ_309
+ #define c_common_format_attribute_table ZZZ_310
+ #define c_common_get_alias_set ZZZ_311
+ #define c_common_handle_option ZZZ_312
+ #define c_common_init ZZZ_313
+ #define c_common_init_options ZZZ_314
+ #define c_common_missing_argument ZZZ_315
+ #define c_common_nodes_and_builtins ZZZ_316
+ #define c_common_no_more_pch ZZZ_317
+ #define c_common_parse_file ZZZ_318
+ #define c_common_post_options ZZZ_319
+ #define c_common_read_pch ZZZ_320
+ #define c_common_signed_or_unsigned_type ZZZ_321
+ #define c_common_signed_type ZZZ_322
+ #define c_common_truthvalue_conversion ZZZ_323
+ #define c_common_type_for_mode ZZZ_324
+ #define c_common_type_for_size ZZZ_325
+ #define c_common_unsafe_for_reeval ZZZ_326
+ #define c_common_unsigned_type ZZZ_327
+ #define c_common_valid_pch ZZZ_328
+ #define c_common_write_pch ZZZ_329
+ #define c_expand_asm_operands ZZZ_330
+ #define c_expand_body ZZZ_331
+ #define c_expand_decl_stmt ZZZ_332
+ #define c_expand_deferred_function ZZZ_333
+ #define c_expand_end_cond ZZZ_334
+ #define c_expand_expr ZZZ_335
+ #define c_expand_expr_stmt ZZZ_336
+ #define c_expand_return ZZZ_337
+ #define c_expand_start_cond ZZZ_338
+ #define c_expand_start_else ZZZ_339
+ #define c_finish_case ZZZ_340
+ #define c_finish_else ZZZ_341
+ #define c_finish_incomplete_decl ZZZ_342
+ #define c_finish_then ZZZ_343
+ #define c_finish_while_stmt_cond ZZZ_344
+ #define c_objc_common_finish_file ZZZ_345
+ #define c_objc_common_init ZZZ_346
+ #define c_parse_error ZZZ_347
+ #define c_parse_file ZZZ_348
+ #define c_parse_init ZZZ_349
+ #define c_register_builtin_type ZZZ_350
+ #define c_register_pragma ZZZ_351
+ #define c_staticp ZZZ_352
+ #define c_static_assembler_name ZZZ_353
+ #define dead_or_set_p ZZZ_354
+ #define dead_or_set_regno_p ZZZ_355
+ #define debug_bb ZZZ_356
+ #define debug_bb_n ZZZ_357
+ #define debug_bitmap ZZZ_358
+ #define debug_bitmap_file ZZZ_359
+ #define debug_biv ZZZ_360
+ #define debug_df_chain ZZZ_361
+ #define debug_df_defno ZZZ_362
+ #define debug_df_insn ZZZ_363
+ #define debug_df_ref ZZZ_364
+ #define debug_df_reg ZZZ_365
+ #define debug_df_regno ZZZ_366
+ #define debug_df_useno ZZZ_367
+ #define debug_flow_info ZZZ_368
+ #define debug_flush_symbol_queue ZZZ_369
+ #define debug_ivs ZZZ_370
+ #define debug_iv_class ZZZ_371
+ #define debug_loop ZZZ_372
+ #define debug_loops ZZZ_373
+ #define debug_nesting ZZZ_374
+ #define debug_new_regalloc ZZZ_375
+ #define debug_nothing_charstar ZZZ_376
+ #define debug_nothing_int ZZZ_377
+ #define debug_nothing_int_charstar ZZZ_378
+ #define debug_nothing_int_int ZZZ_379
+ #define debug_nothing_rtx ZZZ_380
+ #define debug_nothing_tree ZZZ_381
+ #define debug_nothing_void ZZZ_382
+ #define debug_no_type_hash ZZZ_383
+ #define debug_regset ZZZ_384
+ #define debug_reload ZZZ_385
+ #define debug_reload_to_stream ZZZ_386
+ #define debug_rtx ZZZ_387
+ #define debug_rtx_count ZZZ_388
+ #define debug_rtx_find ZZZ_389
+ #define debug_rtx_list ZZZ_390
+ #define debug_rtx_range ZZZ_391
+ #define debug_tree ZZZ_392
+ #define debug_true_tree ZZZ_393
+ #define declare_label ZZZ_394
+ #define declare_nonlocal_label ZZZ_395
+ #define declare_parm_level ZZZ_396
+ #define declare_weak ZZZ_397
+ #define decl_readonly_section ZZZ_398
+ #define decl_readonly_section_1 ZZZ_399
+ #define default_address_cost ZZZ_400
+ #define default_assemble_integer ZZZ_401
+ #define default_assemble_visibility ZZZ_402
+ #define default_binds_local_p ZZZ_403
+ #define default_binds_local_p_1 ZZZ_404
+ #define default_can_output_mi_thunk_no_vcall ZZZ_405
+ #define default_cc_modes_compatible ZZZ_406
+ #define default_coff_asm_named_section ZZZ_407
+ #define default_conversion ZZZ_408
+ #define default_eh_frame_section ZZZ_409
+ #define default_elf_asm_named_section ZZZ_410
+ #define default_elf_select_rtx_section ZZZ_411
+ #define default_elf_select_section ZZZ_412
+ #define default_elf_select_section_1 ZZZ_413
+ #define default_encode_section_info ZZZ_414
+ #define default_exception_section ZZZ_415
+ #define default_expand_builtin ZZZ_416
+ #define default_expand_builtin_saveregs ZZZ_417
+ #define default_external_libcall ZZZ_418
+ #define default_file_start ZZZ_419
+ #define default_function_pro_epilogue ZZZ_420
+ #define default_get_pch_validity ZZZ_421
+ #define default_gt_pch_get_address ZZZ_422
+ #define default_gt_pch_use_address ZZZ_423
+ #define default_internal_label ZZZ_424
+ #define default_must_pass_in_stack ZZZ_425
+ #define default_named_section_asm_out_constructor ZZZ_426
+ #define default_named_section_asm_out_destructor ZZZ_427
+ #define default_no_named_section ZZZ_428
+ #define default_pch_valid_p ZZZ_429
+ #define default_pe_asm_named_section ZZZ_430
+ #define default_pretend_outgoing_varargs_named ZZZ_431
+ #define default_promote_function_args ZZZ_432
+ #define default_promote_function_return ZZZ_433
+ #define default_promote_prototypes ZZZ_434
+ #define default_return_in_memory ZZZ_435
+ #define default_section_type_flags ZZZ_436
+ #define default_section_type_flags_1 ZZZ_437
+ #define default_select_rtx_section ZZZ_438
+ #define default_select_section ZZZ_439
+ #define default_setup_incoming_varargs ZZZ_440
+ #define default_stabs_asm_out_constructor ZZZ_441
+ #define default_stabs_asm_out_destructor ZZZ_442
+ #define default_strict_argument_naming ZZZ_443
+ #define default_strip_name_encoding ZZZ_444
+ #define default_struct_value_rtx ZZZ_445
+ #define default_unique_section ZZZ_446
+ #define default_unique_section_1 ZZZ_447
+ #define default_valid_pointer_mode ZZZ_448
+ #define delete_for_peephole ZZZ_449
+ #define delete_from_dominance_info ZZZ_450
+ #define delete_insn ZZZ_451
+ #define delete_insns_since ZZZ_452
+ #define delete_insn_and_edges ZZZ_453
+ #define delete_insn_chain ZZZ_454
+ #define delete_insn_chain_and_edges ZZZ_455
+ #define delete_noop_moves ZZZ_456
+ #define delete_null_pointer_checks ZZZ_457
+ #define deps_add_default_target ZZZ_458
+ #define deps_add_dep ZZZ_459
+ #define deps_add_target ZZZ_460
+ #define df_bb_regs_lives_compare ZZZ_461
+ #define df_bb_reg_live_end_p ZZZ_462
+ #define df_bb_reg_live_start_p ZZZ_463
+ #define df_insn_debug ZZZ_464
+ #define df_insn_debug_regno ZZZ_465
+ #define df_insn_delete ZZZ_466
+ #define df_insn_dominates_all_uses_p ZZZ_467
+ #define df_insn_dominates_uses_p ZZZ_468
+ #define df_insn_mem_replace ZZZ_469
+ #define df_insn_modify ZZZ_470
+ #define df_insn_move_before ZZZ_471
+ #define df_insn_regno_def_p ZZZ_472
+ #define df_pattern_emit_after ZZZ_473
+ #define df_pattern_emit_before ZZZ_474
+ #define df_ref_reg_replace ZZZ_475
+ #define df_ref_remove ZZZ_476
+ #define diagnostic_build_prefix ZZZ_477
+ #define diagnostic_initialize ZZZ_478
+ #define diagnostic_report_current_function ZZZ_479
+ #define diagnostic_report_current_module ZZZ_480
+ #define diagnostic_report_diagnostic ZZZ_481
+ #define diagnostic_set_info ZZZ_482
+ #define do_jump_by_parts_equality_rtx ZZZ_483
+ #define do_jump_by_parts_greater_rtx ZZZ_484
+ #define dump_combine_stats ZZZ_485
+ #define dump_combine_total_stats ZZZ_486
+ #define dump_flag ZZZ_487
+ #define dump_flag_name ZZZ_488
+ #define dump_igraph ZZZ_489
+ #define dump_igraph_machine ZZZ_490
+ #define dump_sbitmap ZZZ_491
+ #define dump_sbitmap_file ZZZ_492
+ #define dump_sbitmap_vector ZZZ_493
+ #define dump_web_conflicts ZZZ_494
+ #define dump_web_insns ZZZ_495
+ #define duplicate_eh_regions ZZZ_496
+ #define duplicate_loop_to_header_edge ZZZ_497
+ #define dw2_asm_output_addr ZZZ_498
+ #define dw2_asm_output_addr_rtx ZZZ_499
+ #define dw2_asm_output_data ZZZ_500
+ #define dw2_asm_output_data_sleb128 ZZZ_501
+ #define dw2_asm_output_data_uleb128 ZZZ_502
+ #define dw2_asm_output_delta ZZZ_503
+ #define dw2_asm_output_delta_sleb128 ZZZ_504
+ #define dw2_asm_output_delta_uleb128 ZZZ_505
+ #define dw2_asm_output_encoded_addr_rtx ZZZ_506
+ #define dw2_asm_output_nstring ZZZ_507
+ #define dw2_asm_output_offset ZZZ_508
+ #define dw2_asm_output_pcrel ZZZ_509
+ #define dyn_string_append ZZZ_510
+ #define dyn_string_append_char ZZZ_511
+ #define dyn_string_append_cstr ZZZ_512
+ #define dyn_string_clear ZZZ_513
+ #define dyn_string_copy ZZZ_514
+ #define dyn_string_copy_cstr ZZZ_515
+ #define dyn_string_delete ZZZ_516
+ #define dyn_string_eq ZZZ_517
+ #define dyn_string_init ZZZ_518
+ #define dyn_string_insert ZZZ_519
+ #define dyn_string_insert_char ZZZ_520
+ #define dyn_string_insert_cstr ZZZ_521
+ #define dyn_string_new ZZZ_522
+ #define dyn_string_prepend ZZZ_523
+ #define dyn_string_prepend_cstr ZZZ_524
+ #define dyn_string_release ZZZ_525
+ #define dyn_string_resize ZZZ_526
+ #define dyn_string_substring ZZZ_527
+ #define eliminate_constant_term ZZZ_528
+ #define eliminate_regs ZZZ_529
+ #define emit_barrier ZZZ_530
+ #define emit_barrier_after ZZZ_531
+ #define emit_barrier_before ZZZ_532
+ #define emit_call_insn ZZZ_533
+ #define emit_call_insn_after ZZZ_534
+ #define emit_call_insn_after_noloc ZZZ_535
+ #define emit_call_insn_after_setloc ZZZ_536
+ #define emit_call_insn_before ZZZ_537
+ #define emit_call_insn_before_noloc ZZZ_538
+ #define emit_call_insn_before_setloc ZZZ_539
+ #define emit_cmp_and_jump_insns ZZZ_540
+ #define emit_cmp_insn ZZZ_541
+ #define emit_group_load ZZZ_542
+ #define emit_group_move ZZZ_543
+ #define emit_group_store ZZZ_544
+ #define emit_insn ZZZ_545
+ #define emit_insn_after ZZZ_546
+ #define emit_insn_after_noloc ZZZ_547
+ #define emit_insn_after_setloc ZZZ_548
+ #define emit_insn_after_with_line_notes ZZZ_549
+ #define emit_insn_before ZZZ_550
+ #define emit_insn_before_noloc ZZZ_551
+ #define emit_insn_before_setloc ZZZ_552
+ #define emit_jump ZZZ_553
+ #define emit_jump_insn ZZZ_554
+ #define emit_jump_insn_after ZZZ_555
+ #define emit_jump_insn_after_noloc ZZZ_556
+ #define emit_jump_insn_after_setloc ZZZ_557
+ #define emit_jump_insn_before ZZZ_558
+ #define emit_jump_insn_before_noloc ZZZ_559
+ #define emit_jump_insn_before_setloc ZZZ_560
+ #define emit_label ZZZ_561
+ #define emit_label_after ZZZ_562
+ #define emit_label_before ZZZ_563
+ #define emit_libcall_block ZZZ_564
+ #define emit_library_call ZZZ_565
+ #define emit_library_call_value ZZZ_566
+ #define emit_move_insn ZZZ_567
+ #define emit_move_insn_1 ZZZ_568
+ #define emit_note ZZZ_569
+ #define emit_note_after ZZZ_570
+ #define emit_note_before ZZZ_571
+ #define emit_note_copy ZZZ_572
+ #define emit_note_copy_after ZZZ_573
+ #define emit_stack_restore ZZZ_574
+ #define emit_stack_save ZZZ_575
+ #define emit_store_flag ZZZ_576
+ #define emit_store_flag_force ZZZ_577
+ #define epilogue_completed ZZZ_578
+ #define epilogue_locator ZZZ_579
+ #define exact_real_inverse ZZZ_580
+ #define exact_real_truncate ZZZ_581
+ #define expand_abs ZZZ_582
+ #define expand_abs_nojump ZZZ_583
+ #define expand_and ZZZ_584
+ #define expand_anon_union_decl ZZZ_585
+ #define expand_asm ZZZ_586
+ #define expand_asm_operands ZZZ_587
+ #define expand_assignment ZZZ_588
+ #define expand_binop ZZZ_589
+ #define expand_builtin ZZZ_590
+ #define expand_builtin_eh_return ZZZ_591
+ #define expand_builtin_eh_return_data_regno ZZZ_592
+ #define expand_builtin_expect_jump ZZZ_593
+ #define expand_builtin_extend_pointer ZZZ_594
+ #define expand_builtin_extract_return_addr ZZZ_595
+ #define expand_builtin_frob_return_addr ZZZ_596
+ #define expand_builtin_longjmp ZZZ_597
+ #define expand_builtin_return_addr ZZZ_598
+ #define expand_builtin_saveregs ZZZ_599
+ #define expand_builtin_setjmp_receiver ZZZ_600
+ #define expand_builtin_setjmp_setup ZZZ_601
+ #define expand_builtin_trap ZZZ_602
+ #define expand_builtin_unwind_init ZZZ_603
+ #define expand_builtin_va_arg ZZZ_604
+ #define expand_call ZZZ_605
+ #define expand_complex_abs ZZZ_606
+ #define expand_computed_goto ZZZ_607
+ #define expand_cond ZZZ_608
+ #define expand_continue_loop ZZZ_609
+ #define expand_dec ZZZ_610
+ #define expand_decl ZZZ_611
+ #define expand_decl_cleanup ZZZ_612
+ #define expand_decl_cleanup_eh ZZZ_613
+ #define expand_decl_init ZZZ_614
+ #define expand_divmod ZZZ_615
+ #define expand_dummy_function_end ZZZ_616
+ #define expand_eh_region_end_allowed ZZZ_617
+ #define expand_eh_region_end_cleanup ZZZ_618
+ #define expand_eh_region_end_fixup ZZZ_619
+ #define expand_eh_region_end_must_not_throw ZZZ_620
+ #define expand_eh_region_end_throw ZZZ_621
+ #define expand_eh_region_start ZZZ_622
+ #define expand_eh_return ZZZ_623
+ #define expand_elseif ZZZ_624
+ #define expand_end_all_catch ZZZ_625
+ #define expand_end_bindings ZZZ_626
+ #define expand_end_case_type ZZZ_627
+ #define expand_end_catch ZZZ_628
+ #define expand_end_cond ZZZ_629
+ #define expand_end_loop ZZZ_630
+ #define expand_end_null_loop ZZZ_631
+ #define expand_end_stmt_expr ZZZ_632
+ #define expand_end_target_temps ZZZ_633
+ #define expand_exit_loop ZZZ_634
+ #define expand_exit_loop_if_false ZZZ_635
+ #define expand_exit_loop_top_cond ZZZ_636
+ #define expand_exit_something ZZZ_637
+ #define expand_expr_real ZZZ_638
+ #define expand_expr_stmt ZZZ_639
+ #define expand_expr_stmt_value ZZZ_640
+ #define expand_fix ZZZ_641
+ #define expand_fixups ZZZ_642
+ #define expand_float ZZZ_643
+ #define expand_function_end ZZZ_644
+ #define expand_function_start ZZZ_645
+ #define expand_inc ZZZ_646
+ #define expand_inline_function ZZZ_647
+ #define expand_label ZZZ_648
+ #define expand_loop_continue_here ZZZ_649
+ #define expand_main_function ZZZ_650
+ #define expand_mult ZZZ_651
+ #define expand_mult_add ZZZ_652
+ #define expand_mult_highpart ZZZ_653
+ #define expand_mult_highpart_adjust ZZZ_654
+ #define expand_naked_return ZZZ_655
+ #define expand_null_return ZZZ_656
+ #define expand_shift ZZZ_657
+ #define expand_simple_binop ZZZ_658
+ #define expand_simple_unop ZZZ_659
+ #define expand_start_all_catch ZZZ_660
+ #define expand_start_bindings_and_block ZZZ_661
+ #define expand_start_case ZZZ_662
+ #define expand_start_case_dummy ZZZ_663
+ #define expand_start_catch ZZZ_664
+ #define expand_start_cond ZZZ_665
+ #define expand_start_else ZZZ_666
+ #define expand_start_elseif ZZZ_667
+ #define expand_start_loop ZZZ_668
+ #define expand_start_loop_continue_elsewhere ZZZ_669
+ #define expand_start_null_loop ZZZ_670
+ #define expand_start_stmt_expr ZZZ_671
+ #define expand_start_target_temps ZZZ_672
+ #define expand_stmt ZZZ_673
+ #define expand_tree_builtin ZZZ_674
+ #define expand_twoval_binop ZZZ_675
+ #define expected_loop_iterations ZZZ_676
+ #define expected_value_to_br_prob ZZZ_677
+ #define extract_bit_field ZZZ_678
+ #define extract_constrain_insn_cached ZZZ_679
+ #define extract_insn ZZZ_680
+ #define extract_insn_cached ZZZ_681
+ #define extract_interface_info ZZZ_682
+ #define fibheap_delete ZZZ_683
+ #define fibheap_delete_node ZZZ_684
+ #define fibheap_empty ZZZ_685
+ #define fibheap_extract_min ZZZ_686
+ #define fibheap_insert ZZZ_687
+ #define fibheap_min ZZZ_688
+ #define fibheap_min_key ZZZ_689
+ #define fibheap_new ZZZ_690
+ #define fibheap_replace_data ZZZ_691
+ #define fibheap_replace_key ZZZ_692
+ #define fibheap_replace_key_data ZZZ_693
+ #define fibheap_union ZZZ_694
+ #define find_base_term ZZZ_695
+ #define find_basic_blocks ZZZ_696
+ #define find_regno_fusage ZZZ_697
+ #define find_regno_note ZZZ_698
+ #define find_reg_equal_equiv_note ZZZ_699
+ #define find_reg_fusage ZZZ_700
+ #define find_reg_note ZZZ_701
+ #define find_subweb ZZZ_702
+ #define find_subweb_2 ZZZ_703
+ #define find_sub_basic_blocks ZZZ_704
+ #define finish_eh_generation ZZZ_705
+ #define finish_enum ZZZ_706
+ #define finish_expr_for_function ZZZ_707
+ #define finish_file ZZZ_708
+ #define finish_fname_decls ZZZ_709
+ #define finish_function ZZZ_710
+ #define finish_stmt_tree ZZZ_711
+ #define finish_struct ZZZ_712
+ #define fixed_regs ZZZ_713
+ #define fixed_reg_set ZZZ_714
+ #define flag_branch_on_count_reg ZZZ_715
+ #define flag_branch_probabilities ZZZ_716
+ #define flag_branch_target_load_optimize ZZZ_717
+ #define flag_branch_target_load_optimize2 ZZZ_718
+ #define flag_cond_mismatch ZZZ_719
+ #define flag_conserve_space ZZZ_720
+ #define flag_const_strings ZZZ_721
+ #define flag_cse_follow_jumps ZZZ_722
+ #define flag_cse_skip_blocks ZZZ_723
+ #define flag_debug_asm ZZZ_724
+ #define flag_debug_only_used_symbols ZZZ_725
+ #define flag_default_inline ZZZ_726
+ #define flag_defer_pop ZZZ_727
+ #define flag_delayed_branch ZZZ_728
+ #define flag_delete_null_pointer_checks ZZZ_729
+ #define flag_dump_includes ZZZ_730
+ #define flag_dump_macros ZZZ_731
+ #define flag_dump_rtl_in_asm ZZZ_732
+ #define flag_dump_unnumbered ZZZ_733
+ #define flag_elide_constructors ZZZ_734
+ #define flag_eliminate_dwarf2_dups ZZZ_735
+ #define flag_eliminate_unused_debug_types ZZZ_736
+ #define flag_force_addr ZZZ_737
+ #define flag_force_mem ZZZ_738
+ #define flag_gcse ZZZ_739
+ #define flag_gcse_las ZZZ_740
+ #define flag_gcse_lm ZZZ_741
+ #define flag_gcse_sm ZZZ_742
+ #define flag_gen_aux_info ZZZ_743
+ #define flag_gen_declaration ZZZ_744
+ #define flag_if_conversion ZZZ_745
+ #define flag_if_conversion2 ZZZ_746
+ #define flag_implement_inlines ZZZ_747
+ #define flag_implicit_inline_templates ZZZ_748
+ #define flag_implicit_templates ZZZ_749
+ #define flag_inline_functions ZZZ_750
+ #define flag_inline_trees ZZZ_751
+ #define flag_iso ZZZ_752
+ #define flag_isoc94 ZZZ_753
+ #define flag_isoc99 ZZZ_754
+ #define flag_keep_inline_functions ZZZ_755
+ #define flag_keep_static_consts ZZZ_756
+ #define flag_new_for_scope ZZZ_757
+ #define flag_new_regalloc ZZZ_758
+ #define flag_no_asm ZZZ_759
+ #define flag_no_builtin ZZZ_760
+ #define flag_no_common ZZZ_761
+ #define flag_no_function_cse ZZZ_762
+ #define flag_no_gnu_keywords ZZZ_763
+ #define flag_no_ident ZZZ_764
+ #define flag_no_inline ZZZ_765
+ #define flag_no_line_commands ZZZ_766
+ #define flag_no_nonansi_builtin ZZZ_767
+ #define flag_no_output ZZZ_768
+ #define flag_no_peephole ZZZ_769
+ #define flag_old_unroll_all_loops ZZZ_770
+ #define flag_old_unroll_loops ZZZ_771
+ #define flag_optimize_sibling_calls ZZZ_772
+ #define flag_optional_diags ZZZ_773
+ #define flag_peel_loops ZZZ_774
+ #define flag_peephole2 ZZZ_775
+ #define flag_prefetch_loop_arrays ZZZ_776
+ #define flag_preprocess_only ZZZ_777
+ #define flag_ra_biased ZZZ_778
+ #define flag_ra_break_aliases ZZZ_779
+ #define flag_ra_dump_notes ZZZ_780
+ #define flag_ra_improved_spilling ZZZ_781
+ #define flag_ra_ir_spilling ZZZ_782
+ #define flag_ra_merge_spill_costs ZZZ_783
+ #define flag_ra_optimistic_coalescing ZZZ_784
+ #define flag_ra_spill_every_use ZZZ_785
+ #define flag_rename_registers ZZZ_786
+ #define flag_renumber_insns ZZZ_787
+ #define flag_reorder_blocks ZZZ_788
+ #define flag_reorder_functions ZZZ_789
+ #define flag_rerun_cse_after_loop ZZZ_790
+ #define flag_rerun_loop_opt ZZZ_791
+ #define flag_sched2_use_superblocks ZZZ_792
+ #define flag_sched2_use_traces ZZZ_793
+ #define flag_schedule_insns ZZZ_794
+ #define flag_schedule_insns_after_reload ZZZ_795
+ #define flag_schedule_interblock ZZZ_796
+ #define flag_schedule_speculative ZZZ_797
+ #define flag_schedule_speculative_load ZZZ_798
+ #define flag_schedule_speculative_load_dangerous ZZZ_799
+ #define flag_sched_stalled_insns ZZZ_800
+ #define flag_sched_stalled_insns_dep ZZZ_801
+ #define flag_short_double ZZZ_802
+ #define flag_short_enums ZZZ_803
+ #define flag_short_wchar ZZZ_804
+ #define flag_signaling_nans ZZZ_805
+ #define flag_signed_bitfields ZZZ_806
+ #define flag_signed_char ZZZ_807
+ #define flag_strength_reduce ZZZ_808
+ #define flag_strict_aliasing ZZZ_809
+ #define flag_tracer ZZZ_810
+ #define flag_trapping_math ZZZ_811
+ #define flag_trapv ZZZ_812
+ #define flag_unroll_all_loops ZZZ_813
+ #define flag_unroll_loops ZZZ_814
+ #define flag_unsafe_math_optimizations ZZZ_815
+ #define flag_unswitch_loops ZZZ_816
+ #define flag_use_cxa_atexit ZZZ_817
+ #define flag_use_repository ZZZ_818
+ #define flag_zero_initialized_in_bss ZZZ_819
+ #define flag_zero_link ZZZ_820
+ #define floatformat_arm_ext_big ZZZ_821
+ #define floatformat_arm_ext_littlebyte_bigword ZZZ_822
+ #define floatformat_from_double ZZZ_823
+ #define floatformat_i387_ext ZZZ_824
+ #define floatformat_i960_ext ZZZ_825
+ #define floatformat_ia64_quad_big ZZZ_826
+ #define floatformat_ia64_quad_little ZZZ_827
+ #define floatformat_ia64_spill_big ZZZ_828
+ #define floatformat_ia64_spill_little ZZZ_829
+ #define floatformat_ieee_double_big ZZZ_830
+ #define floatformat_ieee_double_little ZZZ_831
+ #define floatformat_ieee_double_littlebyte_bigword ZZZ_832
+ #define floatformat_ieee_single_big ZZZ_833
+ #define floatformat_ieee_single_little ZZZ_834
+ #define floatformat_is_valid ZZZ_835
+ #define floatformat_m68881_ext ZZZ_836
+ #define floatformat_m88110_ext ZZZ_837
+ #define floatformat_m88110_harris_ext ZZZ_838
+ #define floatformat_to_double ZZZ_839
+ #define flow_loops_dump ZZZ_840
+ #define flow_loops_find ZZZ_841
+ #define flow_loops_free ZZZ_842
+ #define flow_loops_update ZZZ_843
+ #define flow_loop_dump ZZZ_844
+ #define flow_loop_free ZZZ_845
+ #define flow_loop_nested_p ZZZ_846
+ #define flow_loop_outside_edge_p ZZZ_847
+ #define flow_loop_scan ZZZ_848
+ #define flow_loop_tree_node_add ZZZ_849
+ #define flow_loop_tree_node_remove ZZZ_850
+ #define force_nonfallthru ZZZ_851
+ #define force_nonfallthru_and_redirect ZZZ_852
+ #define force_not_mem ZZZ_853
+ #define for_each_eh_label ZZZ_854
+ #define for_each_insn_in_loop ZZZ_855
+ #define for_each_rtx ZZZ_856
+ #define free_after_compilation ZZZ_857
+ #define free_after_parsing ZZZ_858
+ #define free_aux_for_blocks ZZZ_859
+ #define free_aux_for_edges ZZZ_860
+ #define free_EXPR_LIST_list ZZZ_861
+ #define free_EXPR_LIST_node ZZZ_862
+ #define free_INSN_LIST_list ZZZ_863
+ #define free_INSN_LIST_node ZZZ_864
+ #define free_profiled_values ZZZ_865
+ #define free_propagate_block_info ZZZ_866
+ #define free_temps_for_rtl_expr ZZZ_867
+ #define free_temp_slots ZZZ_868
+ #define function_attribute_inlinable_p ZZZ_869
+ #define function_base_page ZZZ_870
+ #define function_cannot_inline_p ZZZ_871
+ #define function_invariant_p ZZZ_872
+ #define function_section ZZZ_873
+ #define gcov_read_counter ZZZ_874
+ #define gcov_read_string ZZZ_875
+ #define gcov_read_summary ZZZ_876
+ #define gcov_read_unsigned ZZZ_877
+ #define gcov_write_length ZZZ_878
+ #define gcov_write_string ZZZ_879
+ #define gcov_write_tag ZZZ_880
+ #define gcov_write_unsigned ZZZ_881
+ #define genrtl_case_label ZZZ_882
+ #define genrtl_cleanup_stmt ZZZ_883
+ #define genrtl_compound_stmt ZZZ_884
+ #define genrtl_continue_stmt ZZZ_885
+ #define genrtl_decl_stmt ZZZ_886
+ #define genrtl_do_pushlevel ZZZ_887
+ #define genrtl_do_stmt ZZZ_888
+ #define genrtl_expr_stmt ZZZ_889
+ #define genrtl_expr_stmt_value ZZZ_890
+ #define genrtl_scope_stmt ZZZ_891
+ #define genrtl_switch_stmt ZZZ_892
+ #define gen_abssf2 ZZZ_893
+ #define gen_abssi2 ZZZ_894
+ #define gen_adddf3 ZZZ_895
+ #define gen_adddi3 ZZZ_896
+ #define gen_addsf3 ZZZ_897
+ #define gen_addsi3 ZZZ_898
+ #define gen_ashldi3 ZZZ_899
+ #define gen_ashlhi3 ZZZ_900
+ #define gen_ashlqi3 ZZZ_901
+ #define gen_ashlsi3 ZZZ_902
+ #define gen_ashrdi3 ZZZ_903
+ #define gen_ashrhi3 ZZZ_904
+ #define gen_ashrqi3 ZZZ_905
+ #define gen_ashrsi3 ZZZ_906
+ #define gen_call ZZZ_907
+ #define gen_call_value ZZZ_908
+ #define gen_cmpmemsi ZZZ_909
+ #define gen_cmpmemsi_1 ZZZ_910
+ #define gen_cmpsf ZZZ_911
+ #define gen_cmpsi ZZZ_912
+ #define gen_divsf3 ZZZ_913
+ #define gen_divsi3 ZZZ_914
+ #define gen_extendhisi2 ZZZ_915
+ #define gen_extendqihi2 ZZZ_916
+ #define gen_extendqisi2 ZZZ_917
+ #define gen_extendsfdf2 ZZZ_918
+ #define gen_extendsidi2 ZZZ_919
+ #define gen_extend_insn ZZZ_920
+ #define gen_highpart ZZZ_921
+ #define gen_highpart_mode ZZZ_922
+ #define gen_lowpart_common ZZZ_924
+ #define gen_lowpart_if_possible ZZZ_925
+ #define gen_lowpart_SUBREG ZZZ_926
+ #define gen_lshrdi3 ZZZ_927
+ #define gen_lshrhi3 ZZZ_928
+ #define gen_lshrqi3 ZZZ_929
+ #define gen_lshrsi3 ZZZ_930
+ #define gen_movdf ZZZ_931
+ #define gen_movdi ZZZ_932
+ #define gen_movsf ZZZ_933
+ #define gen_movsi ZZZ_934
+ #define gen_movstricthi ZZZ_935
+ #define gen_movstrsi ZZZ_936
+ #define gen_movstrsi_1 ZZZ_937
+ #define gen_mulsf3 ZZZ_938
+ #define gen_mulsi3 ZZZ_939
+ #define gen_negsf2 ZZZ_940
+ #define gen_negsi2 ZZZ_941
+ #define gen_one_cmplhi2 ZZZ_942
+ #define gen_one_cmplqi2 ZZZ_943
+ #define gen_one_cmplsi2 ZZZ_944
+ #define gen_rtvec ZZZ_945
+ #define gen_rtvec_v ZZZ_946
+ #define gen_rtx_CONST_INT ZZZ_947
+ #define gen_rtx_CONST_VECTOR ZZZ_948
+ #define gen_rtx_fmt_ ZZZ_949
+ #define gen_rtx_fmt_0 ZZZ_950
+ #define gen_rtx_fmt_bi ZZZ_951
+ #define gen_rtx_fmt_E ZZZ_952
+ #define gen_rtx_fmt_e ZZZ_953
+ #define gen_rtx_fmt_e0 ZZZ_954
+ #define gen_rtx_fmt_Ee ZZZ_955
+ #define gen_rtx_fmt_eE ZZZ_956
+ #define gen_rtx_fmt_ee ZZZ_957
+ #define gen_rtx_fmt_eee ZZZ_958
+ #define gen_rtx_fmt_eEee0 ZZZ_959
+ #define gen_rtx_fmt_eeeee ZZZ_960
+ #define gen_rtx_fmt_Ei ZZZ_961
+ #define gen_rtx_fmt_ei ZZZ_962
+ #define gen_rtx_fmt_eit ZZZ_963
+ #define gen_rtx_fmt_Ess ZZZ_964
+ #define gen_rtx_fmt_eti ZZZ_965
+ #define gen_rtx_fmt_i ZZZ_966
+ #define gen_rtx_fmt_i00 ZZZ_967
+ #define gen_rtx_fmt_iE ZZZ_968
+ #define gen_rtx_fmt_ii ZZZ_969
+ #define gen_rtx_fmt_iiiiiiiitt ZZZ_970
+ #define gen_rtx_fmt_is ZZZ_971
+ #define gen_rtx_fmt_isE ZZZ_972
+ #define gen_rtx_fmt_iss ZZZ_973
+ #define gen_rtx_fmt_iuu000000 ZZZ_974
+ #define gen_rtx_fmt_iuuB00is ZZZ_975
+ #define gen_rtx_fmt_iuuBieiee ZZZ_976
+ #define gen_rtx_fmt_iuuBieiee0 ZZZ_977
+ #define gen_rtx_fmt_iuuBieieee ZZZ_978
+ #define gen_rtx_fmt_s ZZZ_979
+ #define gen_rtx_fmt_s00 ZZZ_980
+ #define gen_rtx_fmt_sE ZZZ_981
+ #define gen_rtx_fmt_sEss ZZZ_982
+ #define gen_rtx_fmt_sies ZZZ_983
+ #define gen_rtx_fmt_ss ZZZ_984
+ #define gen_rtx_fmt_sse ZZZ_985
+ #define gen_rtx_fmt_ssiEEsi ZZZ_986
+ #define gen_rtx_fmt_u00 ZZZ_987
+ #define gen_rtx_fmt_ue ZZZ_988
+ #define gen_rtx_fmt_uuEiiiiiibbii ZZZ_989
+ #define gen_rtx_fmt_uuuu ZZZ_990
+ #define gen_rtx_fmt_w ZZZ_991
+ #define gen_rtx_MEM ZZZ_992
+ #define gen_rtx_REG ZZZ_993
+ #define gen_rtx_REG_offset ZZZ_994
+ #define gen_rtx_SUBREG ZZZ_995
+ #define gen_subsf3 ZZZ_996
+ #define gen_subsi3 ZZZ_997
+ #define gen_truncdfsf2 ZZZ_998
+ #define gen_truncsihi2 ZZZ_999
+ #define gen_tstdf ZZZ_1000
+ #define gen_tstdi ZZZ_1001
+ #define gen_tstsf ZZZ_1002
+ #define gen_tstsi ZZZ_1003
+ #define gen_zero_extendhisi2 ZZZ_1004
+ #define gen_zero_extendqihi2 ZZZ_1005
+ #define gen_zero_extendqisi2 ZZZ_1006
+ #define gen_zero_extendsidi2 ZZZ_1007
+ #define getopt_long ZZZ_1008
+ #define getopt_long_only ZZZ_1009
+ #define get_condition ZZZ_1010
+ #define get_condition_for_loop ZZZ_1011
+ #define get_fileinfo ZZZ_1012
+ #define get_file_function_name ZZZ_1013
+ #define get_file_function_name_long ZZZ_1014
+ #define get_first_label_num ZZZ_1015
+ #define get_first_nonnote_insn ZZZ_1016
+ #define get_first_nonparm_insn ZZZ_1017
+ #define get_frame_alias_set ZZZ_1018
+ #define get_frame_size ZZZ_1019
+ #define get_func_frame_size ZZZ_1020
+ #define get_func_hard_reg_initial_val ZZZ_1021
+ #define get_hard_reg_initial_reg ZZZ_1022
+ #define get_hard_reg_initial_val ZZZ_1023
+ #define get_identifier_with_length ZZZ_1025
+ #define get_inner_array_type ZZZ_1026
+ #define get_inner_reference ZZZ_1027
+ #define get_insns ZZZ_1028
+ #define get_insn_name ZZZ_1029
+ #define get_insn_template ZZZ_1030
+ #define get_label_after ZZZ_1031
+ #define get_label_before ZZZ_1032
+ #define get_label_from_map ZZZ_1033
+ #define get_last_insn ZZZ_1034
+ #define get_last_insn_anywhere ZZZ_1035
+ #define get_last_nonnote_insn ZZZ_1036
+ #define get_loop_body ZZZ_1037
+ #define get_loop_exit_edges ZZZ_1038
+ #define get_pool_constant ZZZ_1039
+ #define get_pool_constant_for_function ZZZ_1040
+ #define get_pool_constant_mark ZZZ_1041
+ #define get_pool_mode ZZZ_1042
+ #define get_pool_mode_for_function ZZZ_1043
+ #define get_pool_offset ZZZ_1044
+ #define get_pool_size ZZZ_1045
+ #define get_reg_known_equiv_p ZZZ_1046
+ #define get_reg_known_value ZZZ_1047
+ #define get_set_constructor_bits ZZZ_1048
+ #define get_set_constructor_bytes ZZZ_1049
+ #define ggc_alloc ZZZ_1050
+ #define ggc_alloc_cleared ZZZ_1051
+ #define ggc_alloc_string ZZZ_1052
+ #define ggc_alloc_typed ZZZ_1053
+ #define ggc_alloc_zone ZZZ_1054
+ #define ggc_marked_p ZZZ_1055
+ #define ggc_mark_roots ZZZ_1056
+ #define ggc_mark_stringpool ZZZ_1057
+ #define ggc_min_expand_heuristic ZZZ_1058
+ #define ggc_min_heapsize_heuristic ZZZ_1059
+ #define ggc_pch_alloc_object ZZZ_1060
+ #define ggc_pch_count_object ZZZ_1061
+ #define ggc_pch_finish ZZZ_1062
+ #define ggc_pch_prepare_write ZZZ_1063
+ #define ggc_pch_read ZZZ_1064
+ #define ggc_pch_this_base ZZZ_1065
+ #define ggc_pch_total_size ZZZ_1066
+ #define ggc_pch_write_object ZZZ_1067
+ #define ggc_print_common_statistics ZZZ_1068
+ #define ggc_print_statistics ZZZ_1069
+ #define ggc_splay_alloc ZZZ_1070
+ #define ggc_splay_dont_free ZZZ_1071
+ #define global_regs ZZZ_1072
+ #define global_reg_mentioned_p ZZZ_1073
+ #define global_rtl ZZZ_1074
+ #define groktypename ZZZ_1075
+ #define groktypename_in_parm_context ZZZ_1076
+ #define gt_ggc_mx_alias_set_entry ZZZ_1077
+ #define gt_ggc_mx_align_stack ZZZ_1078
+ #define gt_ggc_mx_bitmap_element_def ZZZ_1079
+ #define gt_ggc_mx_bitmap_head_def ZZZ_1080
+ #define gt_ggc_mx_case_node ZZZ_1081
+ #define gt_ggc_mx_cgraph_edge ZZZ_1082
+ #define gt_ggc_mx_cgraph_node ZZZ_1083
+ #define gt_ggc_mx_cgraph_varpool_node ZZZ_1084
+ #define gt_ggc_mx_constant_descriptor_rtx ZZZ_1085
+ #define gt_ggc_mx_constant_descriptor_tree ZZZ_1086
+ #define gt_ggc_mx_convert_optab ZZZ_1087
+ #define gt_ggc_mx_cselib_val_struct ZZZ_1088
+ #define gt_ggc_mx_c_scope ZZZ_1089
+ #define gt_ggc_mx_die_struct ZZZ_1090
+ #define gt_ggc_mx_dw_attr_struct ZZZ_1091
+ #define gt_ggc_mx_dw_cfi_struct ZZZ_1092
+ #define gt_ggc_mx_dw_fde_struct ZZZ_1093
+ #define gt_ggc_mx_dw_line_info_struct ZZZ_1094
+ #define gt_ggc_mx_dw_loc_descr_struct ZZZ_1095
+ #define gt_ggc_mx_dw_loc_list_struct ZZZ_1096
+ #define gt_ggc_mx_dw_ranges_struct ZZZ_1097
+ #define gt_ggc_mx_dw_separate_line_info_struct ZZZ_1098
+ #define gt_ggc_mx_ehl_map_entry ZZZ_1099
+ #define gt_ggc_mx_eh_region ZZZ_1100
+ #define gt_ggc_mx_eh_status ZZZ_1101
+ #define gt_ggc_mx_elt_list ZZZ_1102
+ #define gt_ggc_mx_elt_loc_list ZZZ_1103
+ #define gt_ggc_mx_emit_status ZZZ_1104
+ #define gt_ggc_mx_expr_status ZZZ_1105
+ #define gt_ggc_mx_function ZZZ_1106
+ #define gt_ggc_mx_goto_fixup ZZZ_1107
+ #define gt_ggc_mx_indirect_string_node ZZZ_1108
+ #define gt_ggc_mx_initial_value_struct ZZZ_1109
+ #define gt_ggc_mx_in_named_entry ZZZ_1110
+ #define gt_ggc_mx_label_chain ZZZ_1111
+ #define gt_ggc_mx_language_function ZZZ_1112
+ #define gt_ggc_mx_lang_decl ZZZ_1113
+ #define gt_ggc_mx_lang_tree_node ZZZ_1114
+ #define gt_ggc_mx_lang_type ZZZ_1115
+ #define gt_ggc_mx_limbo_die_struct ZZZ_1116
+ #define gt_ggc_mx_mem_attrs ZZZ_1117
+ #define gt_ggc_mx_nesting ZZZ_1118
+ #define gt_ggc_mx_optab ZZZ_1119
+ #define gt_ggc_mx_output_def_pair ZZZ_1120
+ #define gt_ggc_mx_pool_constant ZZZ_1121
+ #define gt_ggc_mx_pubname_struct ZZZ_1122
+ #define gt_ggc_mx_queued_reg_save ZZZ_1123
+ #define gt_ggc_mx_real_value ZZZ_1124
+ #define gt_ggc_mx_reg_attrs ZZZ_1125
+ #define gt_ggc_mx_rtvec_def ZZZ_1126
+ #define gt_ggc_mx_rtx_def ZZZ_1127
+ #define gt_ggc_mx_sequence_stack ZZZ_1128
+ #define gt_ggc_mx_sorted_fields_type ZZZ_1129
+ #define gt_ggc_mx_stmt_status ZZZ_1130
+ #define gt_ggc_mx_string_pool_data ZZZ_1131
+ #define gt_ggc_mx_temp_slot ZZZ_1132
+ #define gt_ggc_mx_typeinfo ZZZ_1133
+ #define gt_ggc_mx_type_hash ZZZ_1134
+ #define gt_ggc_mx_varasm_status ZZZ_1135
+ #define gt_ggc_mx_varray_head_tag ZZZ_1136
+ #define gt_ggc_mx_var_refs_queue ZZZ_1137
+ #define gt_ggc_m_II12splay_tree_s ZZZ_1138
+ #define gt_ggc_m_II17splay_tree_node_s ZZZ_1139
+ #define gt_ggc_m_P11cgraph_node4htab ZZZ_1140
+ #define gt_ggc_m_P13ehl_map_entry4htab ZZZ_1141
+ #define gt_ggc_m_P14in_named_entry4htab ZZZ_1142
+ #define gt_ggc_m_P15alias_set_entry15varray_head_tag ZZZ_1143
+ #define gt_ggc_m_P15output_def_pair15varray_head_tag ZZZ_1144
+ #define gt_ggc_m_P17cselib_val_struct4htab ZZZ_1145
+ #define gt_ggc_m_P19cgraph_varpool_node4htab ZZZ_1146
+ #define gt_ggc_m_P20indirect_string_node4htab ZZZ_1147
+ #define gt_ggc_m_P24constant_descriptor_tree4htab ZZZ_1148
+ #define gt_ggc_m_P7rtx_def4htab ZZZ_1149
+ #define gt_ggc_m_P9mem_attrs4htab ZZZ_1150
+ #define gt_ggc_m_P9reg_attrs4htab ZZZ_1151
+ #define gt_ggc_m_P9tree_node4htab ZZZ_1152
+ #define gt_ggc_m_P9type_hash4htab ZZZ_1153
+ #define gt_ggc_m_S ZZZ_1154
+ #define gt_ggc_m_SP9tree_node12splay_tree_s ZZZ_1155
+ #define gt_ggc_m_SP9tree_node17splay_tree_node_s ZZZ_1156
+ #define gt_ggc_rc_gt_emit_rtl_h ZZZ_1157
+ #define gt_ggc_rc_gt_fold_const_h ZZZ_1158
+ #define gt_ggc_rc_gt_tree_h ZZZ_1159
+ #define gt_ggc_rd_gt_alias_h ZZZ_1160
+ #define gt_ggc_rd_gt_bitmap_h ZZZ_1161
+ #define gt_ggc_rd_gt_cselib_h ZZZ_1162
+ #define gt_ggc_rd_gt_c_decl_h ZZZ_1163
+ #define gt_ggc_rd_gt_emit_rtl_h ZZZ_1164
+ #define gt_ggc_rd_gt_lists_h ZZZ_1165
+ #define gt_ggc_rtab ZZZ_1166
+ #define gt_ggc_r_gtype_desc_c ZZZ_1167
+ #define gt_ggc_r_gt_alias_h ZZZ_1168
+ #define gt_ggc_r_gt_cfglayout_h ZZZ_1169
+ #define gt_ggc_r_gt_cgraph_h ZZZ_1170
+ #define gt_ggc_r_gt_coverage_h ZZZ_1171
+ #define gt_ggc_r_gt_cselib_h ZZZ_1172
+ #define gt_ggc_r_gt_c_common_h ZZZ_1173
+ #define gt_ggc_r_gt_c_decl_h ZZZ_1174
+ #define gt_ggc_r_gt_c_parse_h ZZZ_1175
+ #define gt_ggc_r_gt_c_pragma_h ZZZ_1176
+ #define gt_ggc_r_gt_dbxout_h ZZZ_1177
+ #define gt_ggc_r_gt_dojump_h ZZZ_1178
+ #define gt_ggc_r_gt_dwarf2asm_h ZZZ_1179
+ #define gt_ggc_r_gt_dwarf2out_h ZZZ_1180
+ #define gt_ggc_r_gt_emit_rtl_h ZZZ_1181
+ #define gt_ggc_r_gt_except_h ZZZ_1182
+ #define gt_ggc_r_gt_explow_h ZZZ_1183
+ #define gt_ggc_r_gt_expr_h ZZZ_1184
+ #define gt_ggc_r_gt_fold_const_h ZZZ_1185
+ #define gt_ggc_r_gt_function_h ZZZ_1186
+ #define gt_ggc_r_gt_gcse_h ZZZ_1187
+ #define gt_ggc_r_gt_integrate_h ZZZ_1188
+ #define gt_ggc_r_gt_langhooks_h ZZZ_1189
+ #define gt_ggc_r_gt_optabs_h ZZZ_1190
+ #define gt_ggc_r_gt_ra_build_h ZZZ_1191
+ #define gt_ggc_r_gt_regclass_h ZZZ_1192
+ #define gt_ggc_r_gt_reg_stack_h ZZZ_1193
+ #define gt_ggc_r_gt_sdbout_h ZZZ_1194
+ #define gt_ggc_r_gt_stor_layout_h ZZZ_1195
+ #define gt_ggc_r_gt_stringpool_h ZZZ_1196
+ #define gt_ggc_r_gt_tree_h ZZZ_1197
+ #define gt_ggc_r_gt_varasm_h ZZZ_1198
+ #define gt_pch_note_object ZZZ_1199
+ #define gt_pch_note_reorder ZZZ_1200
+ #define gt_pch_nx_alias_set_entry ZZZ_1201
+ #define gt_pch_nx_align_stack ZZZ_1202
+ #define gt_pch_nx_bitmap_element_def ZZZ_1203
+ #define gt_pch_nx_bitmap_head_def ZZZ_1204
+ #define gt_pch_nx_case_node ZZZ_1205
+ #define gt_pch_nx_cgraph_edge ZZZ_1206
+ #define gt_pch_nx_cgraph_node ZZZ_1207
+ #define gt_pch_nx_cgraph_varpool_node ZZZ_1208
+ #define gt_pch_nx_constant_descriptor_rtx ZZZ_1209
+ #define gt_pch_nx_constant_descriptor_tree ZZZ_1210
+ #define gt_pch_nx_convert_optab ZZZ_1211
+ #define gt_pch_nx_cselib_val_struct ZZZ_1212
+ #define gt_pch_nx_c_scope ZZZ_1213
+ #define gt_pch_nx_die_struct ZZZ_1214
+ #define gt_pch_nx_dw_attr_struct ZZZ_1215
+ #define gt_pch_nx_dw_cfi_struct ZZZ_1216
+ #define gt_pch_nx_dw_fde_struct ZZZ_1217
+ #define gt_pch_nx_dw_line_info_struct ZZZ_1218
+ #define gt_pch_nx_dw_loc_descr_struct ZZZ_1219
+ #define gt_pch_nx_dw_loc_list_struct ZZZ_1220
+ #define gt_pch_nx_dw_ranges_struct ZZZ_1221
+ #define gt_pch_nx_dw_separate_line_info_struct ZZZ_1222
+ #define gt_pch_nx_ehl_map_entry ZZZ_1223
+ #define gt_pch_nx_eh_region ZZZ_1224
+ #define gt_pch_nx_eh_status ZZZ_1225
+ #define gt_pch_nx_elt_list ZZZ_1226
+ #define gt_pch_nx_elt_loc_list ZZZ_1227
+ #define gt_pch_nx_emit_status ZZZ_1228
+ #define gt_pch_nx_expr_status ZZZ_1229
+ #define gt_pch_nx_function ZZZ_1230
+ #define gt_pch_nx_goto_fixup ZZZ_1231
+ #define gt_pch_nx_indirect_string_node ZZZ_1232
+ #define gt_pch_nx_initial_value_struct ZZZ_1233
+ #define gt_pch_nx_in_named_entry ZZZ_1234
+ #define gt_pch_nx_label_chain ZZZ_1235
+ #define gt_pch_nx_language_function ZZZ_1236
+ #define gt_pch_nx_lang_decl ZZZ_1237
+ #define gt_pch_nx_lang_tree_node ZZZ_1238
+ #define gt_pch_nx_lang_type ZZZ_1239
+ #define gt_pch_nx_limbo_die_struct ZZZ_1240
+ #define gt_pch_nx_mem_attrs ZZZ_1241
+ #define gt_pch_nx_nesting ZZZ_1242
+ #define gt_pch_nx_optab ZZZ_1243
+ #define gt_pch_nx_output_def_pair ZZZ_1244
+ #define gt_pch_nx_pool_constant ZZZ_1245
+ #define gt_pch_nx_pubname_struct ZZZ_1246
+ #define gt_pch_nx_queued_reg_save ZZZ_1247
+ #define gt_pch_nx_real_value ZZZ_1248
+ #define gt_pch_nx_reg_attrs ZZZ_1249
+ #define gt_pch_nx_rtvec_def ZZZ_1250
+ #define gt_pch_nx_rtx_def ZZZ_1251
+ #define gt_pch_nx_sequence_stack ZZZ_1252
+ #define gt_pch_nx_sorted_fields_type ZZZ_1253
+ #define gt_pch_nx_stmt_status ZZZ_1254
+ #define gt_pch_nx_string_pool_data ZZZ_1255
+ #define gt_pch_nx_temp_slot ZZZ_1256
+ #define gt_pch_nx_typeinfo ZZZ_1257
+ #define gt_pch_nx_type_hash ZZZ_1258
+ #define gt_pch_nx_varasm_status ZZZ_1259
+ #define gt_pch_nx_varray_head_tag ZZZ_1260
+ #define gt_pch_nx_var_refs_queue ZZZ_1261
+ #define gt_pch_n_II12splay_tree_s ZZZ_1262
+ #define gt_pch_n_II17splay_tree_node_s ZZZ_1263
+ #define gt_pch_n_P11cgraph_node4htab ZZZ_1264
+ #define gt_pch_n_P13ehl_map_entry4htab ZZZ_1265
+ #define gt_pch_n_P14in_named_entry4htab ZZZ_1266
+ #define gt_pch_n_P15alias_set_entry15varray_head_tag ZZZ_1267
+ #define gt_pch_n_P15output_def_pair15varray_head_tag ZZZ_1268
+ #define gt_pch_n_P17cselib_val_struct4htab ZZZ_1269
+ #define gt_pch_n_P19cgraph_varpool_node4htab ZZZ_1270
+ #define gt_pch_n_P20indirect_string_node4htab ZZZ_1271
+ #define gt_pch_n_P24constant_descriptor_tree4htab ZZZ_1272
+ #define gt_pch_n_P7rtx_def4htab ZZZ_1273
+ #define gt_pch_n_P9mem_attrs4htab ZZZ_1274
+ #define gt_pch_n_P9reg_attrs4htab ZZZ_1275
+ #define gt_pch_n_P9tree_node4htab ZZZ_1276
+ #define gt_pch_n_P9type_hash4htab ZZZ_1277
+ #define gt_pch_n_S ZZZ_1278
+ #define gt_pch_n_SP9tree_node12splay_tree_s ZZZ_1279
+ #define gt_pch_n_SP9tree_node17splay_tree_node_s ZZZ_1280
+ #define gt_pch_p_10die_struct ZZZ_1281
+ #define gt_pch_p_10goto_fixup ZZZ_1282
+ #define gt_pch_p_10real_value ZZZ_1283
+ #define gt_pch_p_11align_stack ZZZ_1284
+ #define gt_pch_p_11cgraph_edge ZZZ_1285
+ #define gt_pch_p_11cgraph_node ZZZ_1286
+ #define gt_pch_p_11emit_status ZZZ_1287
+ #define gt_pch_p_11expr_status ZZZ_1288
+ #define gt_pch_p_11label_chain ZZZ_1289
+ #define gt_pch_p_11stmt_status ZZZ_1290
+ #define gt_pch_p_12elt_loc_list ZZZ_1291
+ #define gt_pch_p_13convert_optab ZZZ_1292
+ #define gt_pch_p_13dw_cfi_struct ZZZ_1293
+ #define gt_pch_p_13dw_fde_struct ZZZ_1294
+ #define gt_pch_p_13ehl_map_entry ZZZ_1295
+ #define gt_pch_p_13pool_constant ZZZ_1296
+ #define gt_pch_p_13varasm_status ZZZ_1297
+ #define gt_pch_p_14dw_attr_struct ZZZ_1298
+ #define gt_pch_p_14in_named_entry ZZZ_1299
+ #define gt_pch_p_14lang_tree_node ZZZ_1300
+ #define gt_pch_p_14pubname_struct ZZZ_1301
+ #define gt_pch_p_14sequence_stack ZZZ_1302
+ #define gt_pch_p_14var_refs_queue ZZZ_1303
+ #define gt_pch_p_15alias_set_entry ZZZ_1304
+ #define gt_pch_p_15bitmap_head_def ZZZ_1305
+ #define gt_pch_p_15output_def_pair ZZZ_1306
+ #define gt_pch_p_15queued_reg_save ZZZ_1307
+ #define gt_pch_p_15varray_head_tag ZZZ_1308
+ #define gt_pch_p_16dw_ranges_struct ZZZ_1309
+ #define gt_pch_p_16limbo_die_struct ZZZ_1310
+ #define gt_pch_p_16string_pool_data ZZZ_1311
+ #define gt_pch_p_17cselib_val_struct ZZZ_1312
+ #define gt_pch_p_17language_function ZZZ_1313
+ #define gt_pch_p_18bitmap_element_def ZZZ_1314
+ #define gt_pch_p_18dw_loc_list_struct ZZZ_1315
+ #define gt_pch_p_18sorted_fields_type ZZZ_1316
+ #define gt_pch_p_19cgraph_varpool_node ZZZ_1317
+ #define gt_pch_p_19dw_line_info_struct ZZZ_1318
+ #define gt_pch_p_19dw_loc_descr_struct ZZZ_1319
+ #define gt_pch_p_20indirect_string_node ZZZ_1320
+ #define gt_pch_p_20initial_value_struct ZZZ_1321
+ #define gt_pch_p_23constant_descriptor_rtx ZZZ_1322
+ #define gt_pch_p_24constant_descriptor_tree ZZZ_1323
+ #define gt_pch_p_28dw_separate_line_info_struct ZZZ_1324
+ #define gt_pch_p_5optab ZZZ_1325
+ #define gt_pch_p_7c_scope ZZZ_1326
+ #define gt_pch_p_7nesting ZZZ_1327
+ #define gt_pch_p_7rtx_def ZZZ_1328
+ #define gt_pch_p_8elt_list ZZZ_1329
+ #define gt_pch_p_8function ZZZ_1330
+ #define gt_pch_p_8typeinfo ZZZ_1331
+ #define gt_pch_p_9case_node ZZZ_1332
+ #define gt_pch_p_9eh_region ZZZ_1333
+ #define gt_pch_p_9eh_status ZZZ_1334
+ #define gt_pch_p_9lang_decl ZZZ_1335
+ #define gt_pch_p_9lang_type ZZZ_1336
+ #define gt_pch_p_9mem_attrs ZZZ_1337
+ #define gt_pch_p_9reg_attrs ZZZ_1338
+ #define gt_pch_p_9rtvec_def ZZZ_1339
+ #define gt_pch_p_9temp_slot ZZZ_1340
+ #define gt_pch_p_9type_hash ZZZ_1341
+ #define gt_pch_p_II12splay_tree_s ZZZ_1342
+ #define gt_pch_p_II17splay_tree_node_s ZZZ_1343
+ #define gt_pch_p_P11cgraph_node4htab ZZZ_1344
+ #define gt_pch_p_P13ehl_map_entry4htab ZZZ_1345
+ #define gt_pch_p_P14in_named_entry4htab ZZZ_1346
+ #define gt_pch_p_P15alias_set_entry15varray_head_tag ZZZ_1347
+ #define gt_pch_p_P15output_def_pair15varray_head_tag ZZZ_1348
+ #define gt_pch_p_P17cselib_val_struct4htab ZZZ_1349
+ #define gt_pch_p_P19cgraph_varpool_node4htab ZZZ_1350
+ #define gt_pch_p_P20indirect_string_node4htab ZZZ_1351
+ #define gt_pch_p_P24constant_descriptor_tree4htab ZZZ_1352
+ #define gt_pch_p_P7rtx_def4htab ZZZ_1353
+ #define gt_pch_p_P9mem_attrs4htab ZZZ_1354
+ #define gt_pch_p_P9reg_attrs4htab ZZZ_1355
+ #define gt_pch_p_P9tree_node4htab ZZZ_1356
+ #define gt_pch_p_P9type_hash4htab ZZZ_1357
+ #define gt_pch_p_S ZZZ_1358
+ #define gt_pch_p_SP9tree_node12splay_tree_s ZZZ_1359
+ #define gt_pch_p_SP9tree_node17splay_tree_node_s ZZZ_1360
+ #define gt_pch_rc_gt_emit_rtl_h ZZZ_1361
+ #define gt_pch_rc_gt_fold_const_h ZZZ_1362
+ #define gt_pch_rc_gt_tree_h ZZZ_1363
+ #define gt_pch_restore ZZZ_1364
+ #define gt_pch_restore_stringpool ZZZ_1365
+ #define gt_pch_rs_gtype_desc_c ZZZ_1366
+ #define gt_pch_rs_gt_alias_h ZZZ_1367
+ #define gt_pch_rs_gt_c_decl_h ZZZ_1368
+ #define gt_pch_rs_gt_dbxout_h ZZZ_1369
+ #define gt_pch_rs_gt_dwarf2asm_h ZZZ_1370
+ #define gt_pch_rs_gt_dwarf2out_h ZZZ_1371
+ #define gt_pch_rs_gt_emit_rtl_h ZZZ_1372
+ #define gt_pch_rs_gt_except_h ZZZ_1373
+ #define gt_pch_rs_gt_function_h ZZZ_1374
+ #define gt_pch_rs_gt_langhooks_h ZZZ_1375
+ #define gt_pch_rs_gt_sdbout_h ZZZ_1376
+ #define gt_pch_rs_gt_tree_h ZZZ_1377
+ #define gt_pch_rs_gt_varasm_h ZZZ_1378
+ #define gt_pch_save ZZZ_1379
+ #define gt_pch_save_stringpool ZZZ_1380
+ #define gt_pch_scalar_rtab ZZZ_1381
+ #define g_switch_set ZZZ_1382
+ #define g_switch_value ZZZ_1383
+ #define handle_format_arg_attribute ZZZ_1384
+ #define handle_format_attribute ZZZ_1385
+ #define hard_regs_count ZZZ_1386
+ #define hard_regs_intersect_p ZZZ_1387
+ #define hoist_insn_after ZZZ_1388
+ #define hoist_insn_to_edge ZZZ_1389
+ #define hook_bool_bool_false ZZZ_1390
+ #define hook_bool_constcharptr_size_t_false ZZZ_1391
+ #define hook_bool_CUMULATIVE_ARGS_true ZZZ_1392
+ #define hook_bool_machine_mode_true ZZZ_1393
+ #define hook_bool_rtx_false ZZZ_1394
+ #define hook_bool_rtx_int_int_intp_false ZZZ_1395
+ #define hook_bool_tree_false ZZZ_1396
+ #define hook_bool_tree_hwi_hwi_tree_false ZZZ_1397
+ #define hook_bool_tree_hwi_hwi_tree_true ZZZ_1398
+ #define hook_bool_tree_tree_false ZZZ_1399
+ #define hook_bool_tree_true ZZZ_1400
+ #define hook_bool_uintp_uintp_false ZZZ_1401
+ #define hook_bool_void_false ZZZ_1402
+ #define hook_int_rtx_0 ZZZ_1403
+ #define hook_int_size_t_constcharptr_int_0 ZZZ_1404
+ #define hook_int_tree_tree_1 ZZZ_1405
+ #define hook_int_void_0 ZZZ_1406
+ #define hook_int_void_no_regs ZZZ_1407
+ #define hook_rtx_rtx_identity ZZZ_1408
+ #define hook_rtx_rtx_null ZZZ_1409
+ #define hook_rtx_tree_int_null ZZZ_1410
+ #define hook_void_constcharptr ZZZ_1411
+ #define hook_void_FILEptr_constcharptr ZZZ_1412
+ #define hook_void_tree ZZZ_1413
+ #define hook_void_tree_int ZZZ_1414
+ #define hook_void_tree_treeptr ZZZ_1415
+ #define hook_void_void ZZZ_1416
+ #define htab_create_alloc ZZZ_1418
+ #define htab_create_alloc_ex ZZZ_1419
+ #define htab_find ZZZ_1420
+ #define htab_find_slot ZZZ_1421
+ #define htab_find_slot_with_hash ZZZ_1422
+ #define htab_find_with_hash ZZZ_1423
+ #define htab_hash_pointer ZZZ_1424
+ #define htab_hash_string ZZZ_1425
+ #define htab_traverse ZZZ_1426
+ #define htab_traverse_noresize ZZZ_1427
+ #define i370_branch_dest ZZZ_1428
+ #define i370_branch_length ZZZ_1429
+ #define i370_pr_checkout ZZZ_1430
+ #define i370_pr_linkage ZZZ_1431
+ #define i370_pr_map ZZZ_1432
+ #define i370_pr_skipit ZZZ_1433
+ #define ieee_extended_intel_128_format ZZZ_1434
+ #define ieee_extended_intel_96_format ZZZ_1435
+ #define ieee_extended_intel_96_round_53_format ZZZ_1436
+ #define ieee_extended_motorola_format ZZZ_1437
+ #define immediate_operand ZZZ_1438
+ #define immediate_size_expand ZZZ_1439
+ #define implicitly_declare ZZZ_1440
+ #define implicit_built_in_decls ZZZ_1441
+ #define indirect_operand ZZZ_1442
+ #define indirect_symref_ok ZZZ_1443
+ #define initializer_constant_valid_p ZZZ_1444
+ #define initializer_stack ZZZ_1445
+ #define initializer_zerop ZZZ_1446
+ #define initialize_sizetypes ZZZ_1447
+ #define initialize_uninitialized_subregs ZZZ_1448
+ #define init_alias_analysis ZZZ_1449
+ #define init_alias_once ZZZ_1450
+ #define init_block_clear_fn ZZZ_1451
+ #define init_block_move_fn ZZZ_1452
+ #define init_emit ZZZ_1453
+ #define init_emit_once ZZZ_1454
+ #define init_expmed ZZZ_1455
+ #define init_expr ZZZ_1456
+ #define init_expr_once ZZZ_1457
+ #define init_function_for_compilation ZZZ_1458
+ #define init_function_once ZZZ_1459
+ #define init_function_start ZZZ_1460
+ #define init_ggc ZZZ_1461
+ #define init_ggc_heuristics ZZZ_1462
+ #define init_ggc_pch ZZZ_1463
+ #define init_recog ZZZ_1464
+ #define init_recog_no_volatile ZZZ_1465
+ #define init_regs ZZZ_1466
+ #define init_reg_modes_once ZZZ_1467
+ #define init_reg_sets ZZZ_1468
+ #define init_varasm_once ZZZ_1469
+ #define init_varasm_status ZZZ_1470
+ #define input_filename_length ZZZ_1471
+ #define input_file_stack ZZZ_1472
+ #define input_file_stack_tick ZZZ_1473
+ #define insn_current_address ZZZ_1474
+ #define insn_current_align ZZZ_1475
+ #define insn_current_length ZZZ_1476
+ #define insn_current_reference_address ZZZ_1477
+ #define integer_all_onesp ZZZ_1478
+ #define integer_asm_op ZZZ_1479
+ #define integer_nonzerop ZZZ_1480
+ #define integer_onep ZZZ_1481
+ #define integer_pow2p ZZZ_1482
+ #define integer_types ZZZ_1483
+ #define integer_zerop ZZZ_1484
+ #define internal_error ZZZ_1485
+ #define internal_reference_types ZZZ_1486
+ #define invert_jump ZZZ_1487
+ #define invert_jump_1 ZZZ_1488
+ #define is_gnu_v3_mangled_ctor ZZZ_1489
+ #define is_gnu_v3_mangled_dtor ZZZ_1490
+ #define iterative_dataflow_bitmap ZZZ_1491
+ #define iterative_dataflow_sbitmap ZZZ_1492
+ #define iterative_hash ZZZ_1493
+ #define iterative_hash_expr ZZZ_1494
+ #define lang_eh_runtime_type ZZZ_1495
+ #define lang_eh_type_covers ZZZ_1496
+ #define lang_expand_decl_stmt ZZZ_1497
+ #define lang_expand_function_end ZZZ_1498
+ #define lang_expand_stmt ZZZ_1499
+ #define lang_specific_driver ZZZ_1500
+ #define lang_specific_extra_outfiles ZZZ_1501
+ #define lang_specific_pre_link ZZZ_1502
+ #define lang_specific_spec_functions ZZZ_1503
+ #define lhd_decl_ok_for_sibcall ZZZ_1504
+ #define lhd_decl_printable_name ZZZ_1505
+ #define lhd_decl_uninit ZZZ_1506
+ #define lhd_do_nothing ZZZ_1507
+ #define lhd_do_nothing_f ZZZ_1508
+ #define lhd_do_nothing_i ZZZ_1509
+ #define lhd_do_nothing_iii_return_null_tree ZZZ_1510
+ #define lhd_do_nothing_t ZZZ_1511
+ #define lhd_print_error_function ZZZ_1512
+ #define lhd_print_tree_nothing ZZZ_1513
+ #define lhd_return_null_tree ZZZ_1514
+ #define lhd_return_null_tree_v ZZZ_1515
+ #define lhd_return_tree ZZZ_1516
+ #define lhd_tree_dump_dump_tree ZZZ_1517
+ #define lhd_tree_dump_type_quals ZZZ_1518
+ #define lhd_tree_inlining_add_pending_fn_decls ZZZ_1519
+ #define lhd_tree_inlining_anon_aggr_type_p ZZZ_1520
+ #define lhd_tree_inlining_auto_var_in_fn_p ZZZ_1521
+ #define lhd_tree_inlining_cannot_inline_tree_fn ZZZ_1522
+ #define lhd_tree_inlining_convert_parm_for_inlining ZZZ_1523
+ #define lhd_tree_inlining_copy_res_decl_for_inlining ZZZ_1524
+ #define lhd_tree_inlining_disregard_inline_limits ZZZ_1525
+ #define lhd_tree_inlining_end_inlining ZZZ_1526
+ #define lhd_tree_inlining_start_inlining ZZZ_1527
+ #define lhd_tree_inlining_tree_chain_matters_p ZZZ_1528
+ #define lhd_tree_inlining_walk_subtrees ZZZ_1529
+ #define lhd_tree_size ZZZ_1530
+ #define lhd_unsafe_for_reeval ZZZ_1531
+ #define lhd_unsave_expr_now ZZZ_1532
+ #define libiberty_concat_ptr ZZZ_1533
+ #define libiberty_demanglers ZZZ_1534
+ #define libiberty_len ZZZ_1535
+ #define libiberty_nptr ZZZ_1536
+ #define libiberty_optr ZZZ_1537
+ #define linemap_add ZZZ_1538
+ #define linemap_free ZZZ_1539
+ #define linemap_init ZZZ_1540
+ #define linemap_lookup ZZZ_1541
+ #define linemap_print_containing_files ZZZ_1542
+ #define locator_file ZZZ_1543
+ #define locator_line ZZZ_1544
+ #define loop_insn_emit_before ZZZ_1545
+ #define loop_insn_first_p ZZZ_1546
+ #define loop_insn_hoist ZZZ_1547
+ #define loop_insn_sink ZZZ_1548
+ #define loop_iv_add_mult_emit_before ZZZ_1549
+ #define loop_iv_add_mult_hoist ZZZ_1550
+ #define loop_iv_add_mult_sink ZZZ_1551
+ #define loop_optimize ZZZ_1552
+ #define loop_optimizer_finalize ZZZ_1553
+ #define loop_optimizer_init ZZZ_1554
+ #define make_decl_one_only ZZZ_1555
+ #define make_decl_rtl ZZZ_1556
+ #define make_tree ZZZ_1557
+ #define make_tree_vec ZZZ_1558
+ #define mark_referenced ZZZ_1559
+ #define mark_referenced_resources ZZZ_1560
+ #define max_entry_count ZZZ_1561
+ #define max_entry_frequency ZZZ_1562
+ #define max_reg_before_loop ZZZ_1563
+ #define max_reg_num ZZZ_1564
+ #define maybe_apply_pragma_weak ZZZ_1565
+ #define maybe_apply_renaming_pragma ZZZ_1566
+ #define md5_process_block ZZZ_1567
+ #define md5_process_bytes ZZZ_1568
+ #define memory_address ZZZ_1569
+ #define memory_address_noforce ZZZ_1570
+ #define memory_address_p ZZZ_1571
+ #define mergeable_constant_section ZZZ_1572
+ #define mergeable_string_section ZZZ_1573
+ #define mode_for_extraction ZZZ_1574
+ #define mode_for_size ZZZ_1575
+ #define mode_for_size_tree ZZZ_1576
+ #define modified_between_p ZZZ_1577
+ #define modified_in_p ZZZ_1578
+ #define move_block_from_reg ZZZ_1579
+ #define move_block_to_reg ZZZ_1580
+ #define mvs_add_alias ZZZ_1581
+ #define mvs_add_label ZZZ_1582
+ #define mvs_check_alias ZZZ_1583
+ #define mvs_check_label ZZZ_1584
+ #define mvs_check_page ZZZ_1585
+ #define mvs_function_check ZZZ_1586
+ #define mvs_function_name ZZZ_1587
+ #define mvs_function_name_length ZZZ_1588
+ #define mvs_need_alias ZZZ_1589
+ #define mvs_need_base_reload ZZZ_1590
+ #define mvs_need_entry ZZZ_1591
+ #define mvs_need_to_globalize ZZZ_1592
+ #define mvs_page_code ZZZ_1593
+ #define mvs_page_lit ZZZ_1594
+ #define mvs_page_num ZZZ_1595
+ #define named_section ZZZ_1596
+ #define named_section_eh_frame_section ZZZ_1597
+ #define named_section_first_declaration ZZZ_1598
+ #define named_section_flags ZZZ_1599
+ #define next_insn ZZZ_1600
+ #define next_insn_tests_no_inequality ZZZ_1601
+ #define normalize_offset ZZZ_1602
+ #define normalize_rli ZZZ_1603
+ #define objalloc_create ZZZ_1604
+ #define objalloc_free ZZZ_1605
+ #define objalloc_free_block ZZZ_1606
+ #define obstack_alloc_failed_handler ZZZ_1607
+ #define obstack_exit_failure ZZZ_1608
+ #define offsettable_address_p ZZZ_1610
+ #define offsettable_memref_p ZZZ_1611
+ #define offsettable_nonstrict_memref_p ZZZ_1612
+ #define operand_equal_p ZZZ_1613
+ #define operand_subword ZZZ_1614
+ #define operand_subword_force ZZZ_1615
+ #define optimize ZZZ_1616
+ #define optimize_inline_calls ZZZ_1617
+ #define optimize_sibling_and_tail_recursive_calls ZZZ_1618
+ #define optimize_size ZZZ_1619
+ #define optimize_tail_recursion ZZZ_1620
+ #define output_address ZZZ_1621
+ #define output_addr_const ZZZ_1622
+ #define output_asm_insn ZZZ_1623
+ #define output_asm_label ZZZ_1624
+ #define output_constant ZZZ_1625
+ #define output_constant_def ZZZ_1626
+ #define output_constant_pool ZZZ_1627
+ #define output_file_directive ZZZ_1628
+ #define output_function_exception_table ZZZ_1629
+ #define parse_in ZZZ_1630
+ #define parse_input_constraint ZZZ_1631
+ #define partition_delete ZZZ_1632
+ #define partition_new ZZZ_1633
+ #define partition_print ZZZ_1634
+ #define partition_union ZZZ_1635
+ #define pedantic ZZZ_1636
+ #define pedantic_lvalues ZZZ_1637
+ #define pedantic_non_lvalue ZZZ_1638
+ #define pedwarn_c90 ZZZ_1639
+ #define pedwarn_c99 ZZZ_1640
+ #define pedwarn_init ZZZ_1641
+ #define pending_invalid_xref ZZZ_1642
+ #define pending_invalid_xref_location ZZZ_1643
+ #define pending_lang_change ZZZ_1644
+ #define pending_xref_error ZZZ_1645
+ #define physmem_available ZZZ_1646
+ #define physmem_total ZZZ_1647
+ #define pop_function_context ZZZ_1648
+ #define pop_function_context_from ZZZ_1649
+ #define pp_base_append_text ZZZ_1650
+ #define pp_base_character ZZZ_1651
+ #define pp_base_clear_output_area ZZZ_1652
+ #define pp_base_destroy_prefix ZZZ_1653
+ #define pp_base_emit_prefix ZZZ_1654
+ #define pp_base_flush ZZZ_1655
+ #define pp_base_formatted_text ZZZ_1656
+ #define pp_base_format_text ZZZ_1657
+ #define pp_base_format_verbatim ZZZ_1658
+ #define pp_base_indent ZZZ_1659
+ #define pp_base_last_position_in_text ZZZ_1660
+ #define pp_base_newline ZZZ_1661
+ #define pp_base_remaining_character_count_for_line ZZZ_1662
+ #define pp_base_set_line_maximum_length ZZZ_1663
+ #define pp_base_set_prefix ZZZ_1664
+ #define pp_base_string ZZZ_1665
+ #define pp_c_declaration ZZZ_1666
+ #define pp_c_declaration_specifiers ZZZ_1667
+ #define pp_c_declarator ZZZ_1668
+ #define pp_c_direct_abstract_declarator ZZZ_1669
+ #define pp_c_direct_declarator ZZZ_1670
+ #define pp_c_expression ZZZ_1671
+ #define pp_c_expression_list ZZZ_1672
+ #define pp_c_function_definition ZZZ_1673
+ #define pp_c_function_specifier ZZZ_1674
+ #define pp_c_left_brace ZZZ_1675
+ #define pp_c_left_paren ZZZ_1676
+ #define pp_c_right_brace ZZZ_1677
+ #define pp_c_right_paren ZZZ_1678
+ #define pp_c_type_id ZZZ_1679
+ #define pp_c_type_qualifier_list ZZZ_1680
+ #define pp_c_type_specifier ZZZ_1681
+ #define predict_edge ZZZ_1682
+ #define predict_edge_def ZZZ_1683
+ #define predict_insn ZZZ_1684
+ #define predict_insn_def ZZZ_1685
+ #define prepare_call_address ZZZ_1686
+ #define prepare_operand ZZZ_1687
+ #define preprocess_constraints ZZZ_1688
+ #define preprocess_file ZZZ_1689
+ #define preserve_rtl_expr_result ZZZ_1690
+ #define preserve_subexpressions_p ZZZ_1691
+ #define preserve_temp_slots ZZZ_1692
+ #define pre_edge_lcm ZZZ_1693
+ #define pre_edge_rev_lcm ZZZ_1694
+ #define print_node ZZZ_1695
+ #define print_node_brief ZZZ_1696
+ #define print_rtl ZZZ_1697
+ #define print_rtl_graph_with_bb ZZZ_1698
+ #define print_rtl_single ZZZ_1699
+ #define print_rtl_with_bb ZZZ_1700
+ #define print_rtx_head ZZZ_1701
+ #define probably_cold_bb_p ZZZ_1702
+ #define probably_never_executed_bb_p ZZZ_1703
+ #define process_init_element ZZZ_1704
+ #define process_pending_assemble_output_defs ZZZ_1705
+ #define profile_arc_flag ZZZ_1706
+ #define profile_flag ZZZ_1707
+ #define profile_info ZZZ_1708
+ #define prologue_epilogue_contains ZZZ_1709
+ #define prologue_locator ZZZ_1710
+ #define propagate_block ZZZ_1711
+ #define propagate_one_insn ZZZ_1712
+ #define pushcase ZZZ_1713
+ #define pushcase_range ZZZ_1714
+ #define pushdecl ZZZ_1715
+ #define pushdecl_top_level ZZZ_1716
+ #define push_function_context ZZZ_1717
+ #define push_function_context_to ZZZ_1718
+ #define push_to_full_sequence ZZZ_1719
+ #define push_to_sequence ZZZ_1720
+ #define put_pending_size ZZZ_1721
+ #define put_pending_sizes ZZZ_1722
+ #define queue_and_dump_index ZZZ_1723
+ #define queue_and_dump_type ZZZ_1724
+ #define ra_build_free ZZZ_1725
+ #define ra_build_free_all ZZZ_1726
+ #define ra_build_realloc ZZZ_1727
+ #define ra_colorize_free_all ZZZ_1728
+ #define ra_colorize_graph ZZZ_1729
+ #define ra_colorize_init ZZZ_1730
+ #define ra_debug_bbi ZZZ_1731
+ #define ra_debug_insns ZZZ_1732
+ #define ra_debug_msg ZZZ_1733
+ #define ra_debug_rtx ZZZ_1734
+ #define ra_print_rtl_with_bb ZZZ_1735
+ #define ra_print_rtx ZZZ_1736
+ #define ra_print_rtx_top ZZZ_1737
+ #define readonly_data_section ZZZ_1738
+ #define readonly_error ZZZ_1739
+ #define readonly_fields_p ZZZ_1740
+ #define real_arithmetic ZZZ_1741
+ #define real_arithmetic2 ZZZ_1742
+ #define real_from_integer ZZZ_1743
+ #define real_from_string ZZZ_1744
+ #define real_from_string2 ZZZ_1745
+ #define real_from_target ZZZ_1746
+ #define real_from_target_fmt ZZZ_1747
+ #define real_isnan ZZZ_1748
+ #define real_isneg ZZZ_1749
+ #define real_isnegzero ZZZ_1750
+ #define real_to_decimal ZZZ_1751
+ #define real_to_hexadecimal ZZZ_1752
+ #define real_to_integer ZZZ_1753
+ #define real_to_integer2 ZZZ_1754
+ #define real_to_target ZZZ_1755
+ #define real_to_target_fmt ZZZ_1756
+ #define real_value_from_int_cst ZZZ_1757
+ #define real_value_truncate ZZZ_1758
+ #define record_base_value ZZZ_1759
+ #define record_builtin_type ZZZ_1760
+ #define record_component_aliases ZZZ_1761
+ #define record_conflict ZZZ_1762
+ #define redirect_edge_pred ZZZ_1763
+ #define redirect_edge_succ ZZZ_1764
+ #define redirect_edge_succ_nodup ZZZ_1765
+ #define redirect_immediate_dominators ZZZ_1766
+ #define redirect_jump ZZZ_1767
+ #define redirect_jump_1 ZZZ_1768
+ #define refers_to_mem_for_reload_p ZZZ_1769
+ #define refers_to_regno_for_reload_p ZZZ_1770
+ #define refers_to_regno_p ZZZ_1771
+ #define regclass ZZZ_1772
+ #define regclass_init ZZZ_1773
+ #define register_include_chains ZZZ_1774
+ #define register_operand ZZZ_1775
+ #define regno_clobbered_at_setjmp ZZZ_1776
+ #define regno_clobbered_p ZZZ_1777
+ #define reg_alloc ZZZ_1778
+ #define reg_alloc_order ZZZ_1779
+ #define reg_classes_intersect_p ZZZ_1780
+ #define reg_class_contents ZZZ_1781
+ #define reg_class_size ZZZ_1782
+ #define reg_class_subclasses ZZZ_1783
+ #define reg_class_subset_p ZZZ_1784
+ #define reg_class_subunion ZZZ_1785
+ #define reg_class_superclasses ZZZ_1786
+ #define reg_class_superunion ZZZ_1787
+ #define reg_equiv_address ZZZ_1788
+ #define reg_equiv_constant ZZZ_1789
+ #define reg_equiv_mem ZZZ_1790
+ #define reg_equiv_memory_loc ZZZ_1791
+ #define reg_overlap_mentioned_for_reload_p ZZZ_1792
+ #define reg_overlap_mentioned_p ZZZ_1793
+ #define reg_referenced_between_p ZZZ_1794
+ #define reg_referenced_p ZZZ_1795
+ #define reg_scan ZZZ_1796
+ #define reg_scan_update ZZZ_1797
+ #define reg_set_between_p ZZZ_1798
+ #define reg_set_last ZZZ_1799
+ #define reg_set_p ZZZ_1800
+ #define reg_set_to_hard_reg_set ZZZ_1801
+ #define reload_completed ZZZ_1802
+ #define reload_cse_regs ZZZ_1803
+ #define reload_firstobj ZZZ_1804
+ #define reload_first_uid ZZZ_1805
+ #define reload_inheritance_insn ZZZ_1806
+ #define reload_inherited ZZZ_1807
+ #define reload_insn_chain ZZZ_1808
+ #define reload_in_optab ZZZ_1809
+ #define reload_in_progress ZZZ_1810
+ #define reload_obstack ZZZ_1811
+ #define reload_out_optab ZZZ_1812
+ #define reload_override_in ZZZ_1813
+ #define reload_spill_index ZZZ_1814
+ #define reload_startobj ZZZ_1815
+ #define remove_node_from_expr_list ZZZ_1816
+ #define remove_note ZZZ_1817
+ #define reorder_basic_blocks ZZZ_1818
+ #define reorder_blocks ZZZ_1819
+ #define reorder_insns ZZZ_1820
+ #define reorder_insns_nobb ZZZ_1821
+ #define reorder_insns_with_line_notes ZZZ_1822
+ #define replace_call_placeholder ZZZ_1823
+ #define replace_equiv_address ZZZ_1824
+ #define replace_equiv_address_nv ZZZ_1825
+ #define replace_label ZZZ_1826
+ #define replace_regs ZZZ_1827
+ #define replace_rtx ZZZ_1828
+ #define resolve_asm_operand_names ZZZ_1829
+ #define resolve_unique_section ZZZ_1830
+ #define restore_emit_status ZZZ_1831
+ #define restore_line_number_status ZZZ_1832
+ #define rest_of_compilation ZZZ_1833
+ #define rest_of_decl_compilation ZZZ_1834
+ #define rest_of_type_compilation ZZZ_1835
+ #define reversed_comparison_code ZZZ_1836
+ #define reversed_comparison_code_parts ZZZ_1837
+ #define reverse_comparison ZZZ_1838
+ #define reverse_condition ZZZ_1839
+ #define reverse_condition_maybe_unordered ZZZ_1840
+ #define rli_size_so_far ZZZ_1841
+ #define rli_size_unit_so_far ZZZ_1842
+ #define rtl_dump_and_exit ZZZ_1843
+ #define rtl_dump_file ZZZ_1844
+ #define rtx_addr_can_trap_p ZZZ_1845
+ #define rtx_addr_varies_p ZZZ_1846
+ #define rtx_equal_for_cselib_p ZZZ_1847
+ #define rtx_equal_function_value_matters ZZZ_1848
+ #define rtx_equal_p ZZZ_1849
+ #define safe_from_earlyclobber ZZZ_1850
+ #define safe_from_p ZZZ_1851
+ #define sbitmap_alloc ZZZ_1852
+ #define sbitmap_a_and_b ZZZ_1853
+ #define sbitmap_a_and_b_cg ZZZ_1854
+ #define sbitmap_a_and_b_or_c ZZZ_1855
+ #define sbitmap_a_and_b_or_c_cg ZZZ_1856
+ #define sbitmap_a_or_b ZZZ_1857
+ #define sbitmap_a_or_b_and_c ZZZ_1858
+ #define sbitmap_a_or_b_and_c_cg ZZZ_1859
+ #define sbitmap_a_or_b_cg ZZZ_1860
+ #define sbitmap_a_subset_b_p ZZZ_1861
+ #define sbitmap_a_xor_b ZZZ_1862
+ #define sbitmap_a_xor_b_cg ZZZ_1863
+ #define sbitmap_copy ZZZ_1864
+ #define sbitmap_difference ZZZ_1865
+ #define sbitmap_equal ZZZ_1866
+ #define sbitmap_first_set_bit ZZZ_1867
+ #define sbitmap_intersection_of_preds ZZZ_1868
+ #define sbitmap_intersection_of_succs ZZZ_1869
+ #define sbitmap_last_set_bit ZZZ_1870
+ #define sbitmap_not ZZZ_1871
+ #define sbitmap_ones ZZZ_1872
+ #define sbitmap_resize ZZZ_1873
+ #define sbitmap_union_of_diff ZZZ_1874
+ #define sbitmap_union_of_diff_cg ZZZ_1875
+ #define sbitmap_union_of_preds ZZZ_1876
+ #define sbitmap_union_of_succs ZZZ_1877
+ #define sbitmap_vector_alloc ZZZ_1878
+ #define sbitmap_vector_ones ZZZ_1879
+ #define sbitmap_vector_zero ZZZ_1880
+ #define sbitmap_zero ZZZ_1881
+ #define setjmp_protect ZZZ_1882
+ #define setjmp_protect_args ZZZ_1883
+ #define set_decl_abstract_flags ZZZ_1884
+ #define set_decl_origin_self ZZZ_1885
+ #define set_decl_rtl ZZZ_1886
+ #define set_init_index ZZZ_1887
+ #define set_init_label ZZZ_1888
+ #define set_mem_alias_set ZZZ_1889
+ #define set_mem_align ZZZ_1890
+ #define set_mem_attributes ZZZ_1891
+ #define set_mem_attributes_minus_bitpos ZZZ_1892
+ #define set_mem_attrs_from_reg ZZZ_1893
+ #define set_mem_expr ZZZ_1894
+ #define set_mem_offset ZZZ_1895
+ #define set_mem_size ZZZ_1896
+ #define set_new_first_and_last_insn ZZZ_1897
+ #define set_new_last_label_num ZZZ_1898
+ #define set_reg_attrs_for_parm ZZZ_1899
+ #define set_reg_attrs_from_mem ZZZ_1900
+ #define shadow_tag ZZZ_1901
+ #define shadow_tag_warned ZZZ_1902
+ #define shorten_branches ZZZ_1903
+ #define shorten_compare ZZZ_1904
+ #define simple_cst_equal ZZZ_1905
+ #define simple_cst_list_equal ZZZ_1906
+ #define simplify_binary_operation ZZZ_1907
+ #define simplify_gen_binary ZZZ_1908
+ #define simplify_gen_relational ZZZ_1909
+ #define simplify_gen_subreg ZZZ_1910
+ #define simplify_gen_ternary ZZZ_1911
+ #define simplify_gen_unary ZZZ_1912
+ #define simplify_relational_operation ZZZ_1913
+ #define simplify_replace_rtx ZZZ_1914
+ #define simplify_rtx ZZZ_1915
+ #define simplify_subreg ZZZ_1916
+ #define simplify_subtraction ZZZ_1917
+ #define simplify_ternary_operation ZZZ_1918
+ #define simplify_unary_operation ZZZ_1919
+ #define size_int_type_wide ZZZ_1920
+ #define size_int_wide ZZZ_1921
+ #define size_of_encoded_value ZZZ_1922
+ #define size_of_sleb128 ZZZ_1923
+ #define size_of_uleb128 ZZZ_1924
+ #define splay_tree_compare_ints ZZZ_1925
+ #define splay_tree_compare_pointers ZZZ_1926
+ #define splay_tree_delete ZZZ_1927
+ #define splay_tree_foreach ZZZ_1928
+ #define splay_tree_insert ZZZ_1929
+ #define splay_tree_lookup ZZZ_1930
+ #define splay_tree_max ZZZ_1931
+ #define splay_tree_min ZZZ_1932
+ #define splay_tree_new ZZZ_1933
+ #define splay_tree_new_with_allocator ZZZ_1934
+ #define splay_tree_predecessor ZZZ_1935
+ #define splay_tree_remove ZZZ_1936
+ #define splay_tree_successor ZZZ_1937
+ #define split_all_insns ZZZ_1938
+ #define split_all_insns_noflow ZZZ_1939
+ #define split_complex_types ZZZ_1940
+ #define split_complex_values ZZZ_1941
+ #define stabilize ZZZ_1942
+ #define stabilize_reference ZZZ_1943
+ #define stabilize_reference_1 ZZZ_1944
+ #define start_sequence ZZZ_1945
+ #define start_sequence_for_rtl_expr ZZZ_1946
+ #define static_chain_incoming_rtx ZZZ_1947
+ #define static_chain_rtx ZZZ_1948
+ #define static_ctors ZZZ_1949
+ #define std_expand_builtin_va_arg ZZZ_1950
+ #define std_expand_builtin_va_start ZZZ_1951
+ #define subreg_hard_regno ZZZ_1952
+ #define subreg_highpart_offset ZZZ_1953
+ #define subreg_lowpart_offset ZZZ_1954
+ #define subreg_lowpart_p ZZZ_1955
+ #define subreg_lsb ZZZ_1956
+ #define subreg_realpart_p ZZZ_1957
+ #define subreg_regno ZZZ_1958
+ #define subreg_regno_offset ZZZ_1959
+ #define target_flags ZZZ_1960
+ #define target_flags_explicit ZZZ_1961
+ #define ternary_cleanup ZZZ_1962
+ #define ternary_insert ZZZ_1963
+ #define ternary_search ZZZ_1964
+ #define tidy_fallthru_edge ZZZ_1965
+ #define tidy_fallthru_edges ZZZ_1966
+ #define timevar_get ZZZ_1967
+ #define timevar_init ZZZ_1968
+ #define timevar_pop ZZZ_1969
+ #define timevar_print ZZZ_1970
+ #define timevar_push ZZZ_1971
+ #define timevar_start ZZZ_1972
+ #define timevar_stop ZZZ_1973
+ #define trampolines_created ZZZ_1974
+ #define trampoline_address ZZZ_1975
+ #define tree_code_length ZZZ_1976
+ #define tree_code_name ZZZ_1977
+ #define tree_code_type ZZZ_1978
+ #define tree_int_cst_compare ZZZ_1979
+ #define tree_int_cst_equal ZZZ_1980
+ #define tree_int_cst_lt ZZZ_1981
+ #define tree_int_cst_msb ZZZ_1982
+ #define tree_int_cst_sgn ZZZ_1983
+ #define type_hash_add ZZZ_1984
+ #define type_hash_canon ZZZ_1985
+ #define type_hash_list ZZZ_1986
+ #define type_hash_lookup ZZZ_1987
+ #define unsave_expr ZZZ_1988
+ #define unsave_expr_1 ZZZ_1989
+ #define unshare_all_rtl ZZZ_1990
+ #define unshare_all_rtl_again ZZZ_1991
+ #define unshare_all_rtl_in_chain ZZZ_1992
+ #define unsigned_condition ZZZ_1993
+ #define unsigned_conversion_warning ZZZ_1994
+ #define unsigned_jump_follows_p ZZZ_1995
+ #define update_bb_for_insn ZZZ_1996
+ #define update_br_prob_note ZZZ_1997
+ #define update_life_info ZZZ_1998
+ #define update_life_info_in_dirty_blocks ZZZ_1999
+ #define validate_change ZZZ_2000
+ #define validate_replace_rtx ZZZ_2001
+ #define validate_replace_rtx_group ZZZ_2002
+ #define validate_replace_rtx_subexp ZZZ_2003
+ #define validate_replace_src ZZZ_2004
+ #define validate_replace_src_group ZZZ_2005
+ #define variable_section ZZZ_2006
+ #define variable_size ZZZ_2007
+ #define version_flag ZZZ_2008
+ #define volatile_insn_p ZZZ_2010
+ #define volatile_ok ZZZ_2011
+ #define volatile_refs_p ZZZ_2012
+ #define walk_tree ZZZ_2013
+ #define walk_tree_without_duplicates ZZZ_2014
+ #define warn_cast_align ZZZ_2015
+ #define warn_cast_qual ZZZ_2016
+ #define warn_deprecated ZZZ_2017
+ #define warn_deprecated_decl ZZZ_2018
+ #define warn_deprecated_use ZZZ_2019
+ #define warn_format ZZZ_2020
+ #define warn_format_extra_args ZZZ_2021
+ #define warn_format_nonliteral ZZZ_2022
+ #define warn_format_security ZZZ_2023
+ #define warn_format_y2k ZZZ_2024
+ #define warn_format_zero_length ZZZ_2025
+ #define warn_implicit ZZZ_2026
+ #define warn_implicit_int ZZZ_2027
+ #define warn_missing_braces ZZZ_2028
+ #define warn_missing_declarations ZZZ_2029
+ #define warn_missing_format_attribute ZZZ_2030
+ #define warn_missing_noreturn ZZZ_2031
+ #define warn_missing_prototypes ZZZ_2032
+ #define warn_nonnull ZZZ_2033
+ #define warn_nontemplate_friend ZZZ_2034
+ #define warn_nonvdtor ZZZ_2035
+ #define warn_old_style_cast ZZZ_2036
+ #define warn_old_style_definition ZZZ_2037
+ #define warn_sign_compare ZZZ_2038
+ #define warn_sign_promo ZZZ_2039
+ #define warn_strict_aliasing ZZZ_2040
+ #define warn_strict_prototypes ZZZ_2041
+ #define warn_switch ZZZ_2042
+ #define warn_switch_default ZZZ_2043
+ #define warn_switch_enum ZZZ_2044
+ #define warn_unused_function ZZZ_2045
+ #define warn_unused_label ZZZ_2046
+ #define warn_unused_parameter ZZZ_2047
+ #define warn_unused_value ZZZ_2048
+ #define warn_unused_variable ZZZ_2049
+ #define xmalloc_failed ZZZ_2050
+ #define xmalloc_set_program_name ZZZ_2051
+ #define _cpp_cleanup_files ZZZ_2052
+ #define _cpp_clean_line ZZZ_2053
+ #define _cpp_create_definition ZZZ_2054
+ #define _cpp_create_trad_definition ZZZ_2055
+ #define _cpp_default_encoding ZZZ_2056
+ #define _cpp_define_builtin ZZZ_2057
+ #define _cpp_destroy_hashtable ZZZ_2058
+ #define _cpp_destroy_iconv ZZZ_2059
+ #define _cpp_do_file_change ZZZ_2060
+ #define _cpp_do__Pragma ZZZ_2061
+ #define _cpp_expand_op_stack ZZZ_2062
+ #define _cpp_expansions_different_trad ZZZ_2063
+ #define _cpp_find_failed ZZZ_2064
+ #define _cpp_find_file ZZZ_2065
+ #define _cpp_free_buff ZZZ_2066
+ #define _cpp_free_definition ZZZ_2067
+ #define _cpp_get_buff ZZZ_2068
+ #define _cpp_get_fresh_line ZZZ_2069
+ #define _cpp_init_directives ZZZ_2070
+ #define _cpp_init_files ZZZ_2071
+ #define _cpp_init_hashtable ZZZ_2072
+ #define _cpp_init_internal_pragmas ZZZ_2073
+ #define _cpp_init_tokenrun ZZZ_2074
+ #define _cpp_lex_direct ZZZ_2075
+ #define _cpp_lex_token ZZZ_2076
+ #define _cpp_pop_buffer ZZZ_2077
+ #define _cpp_pop_context ZZZ_2078
+ #define _cpp_pop_file_buffer ZZZ_2079
+ #define _cpp_replacement_text_len ZZZ_2080
+ #define _cpp_report_missing_guards ZZZ_2081
+ #define _cpp_save_parameter ZZZ_2082
+ #define _cpp_save_pragma_names ZZZ_2083
+ #define _cpp_stack_file ZZZ_2084
+ #define _cpp_stack_include ZZZ_2085
+ #define _fatal_insn ZZZ_2086
+ #define _fatal_insn_not_found ZZZ_2087
+ #define _obstack ZZZ_2088
+ #define _obstack_allocated_p ZZZ_2089
+ #define _obstack_begin ZZZ_2090
+ #define _obstack_begin_1 ZZZ_2091
+ #define _obstack_free ZZZ_2092
+ #define _obstack_memory_used ZZZ_2093
+ #define _obstack_newchunk ZZZ_2094
+ #define _sch_ebcasc ZZZ_2095
+ #define _sch_ebcistable ZZZ_2096
Index: gcc/include/safe-ctype.h
diff -c gcc/include/safe-ctype.h:1.1.1.1 gcc/include/safe-ctype.h:1.1.1.2
*** gcc/include/safe-ctype.h:1.1.1.1	Wed Apr 15 16:25:44 2009
--- gcc/include/safe-ctype.h	Wed Apr 15 16:33:16 2009
***************
*** 51,56 ****
--- 51,57 ----
  # if '\n' == 0x15 && ' ' == 0x40 && '0' == 0xF0 \
     && 'A' == 0xC1 && 'a' == 0x81 && '!' == 0x5A
  #  define HOST_CHARSET HOST_CHARSET_EBCDIC
+ #  define _sch_istable _sch_ebcistable
  # else
  #  define HOST_CHARSET HOST_CHARSET_UNKNOWN
  # endif
***************
*** 116,119 ****
--- 117,132 ----
  #define TOUPPER(c) _sch_toupper[(c) & 0xff]
  #define TOLOWER(c) _sch_tolower[(c) & 0xff]
  
+ /* Character conversion.  */
+ extern const unsigned char _sch_ebcasc[256];
+ extern const unsigned char _sch_ascebc[256];
+ #define EBCTOASC(c) _sch_ebcasc[(c) & 0xff]
+ #define ASCTOEBC(c) _sch_ascebc[(c) & 0xff]
+ 
+ extern const unsigned short _sch_ebcistable[256];
+ #define _sch_ebctest(c, bit) \
+   (_sch_ebcistable[(c) & 0xff] & (unsigned short)(bit))
+ 
+ #define ISEBCCNTRL(c) _sch_ebctest(c, _sch_iscntrl)
+ 
  #endif /* SAFE_CTYPE_H */
Index: gcc/include/sort.h
diff -c gcc/include/sort.h:1.1.1.1 gcc/include/sort.h:1.2
*** gcc/include/sort.h:1.1.1.1	Wed Apr 15 16:25:44 2009
--- gcc/include/sort.h	Tue Jun 30 10:40:14 2009
***************
*** 22,28 ****
--- 22,30 ----
  #ifndef SORT_H
  #define SORT_H
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h> /* For size_t */
+ #endif
  #ifdef __STDC__
  #include <stddef.h>
  #endif	/* __STDC__ */
Index: gcc/include/unixio.h
diff -c /dev/null gcc/include/unixio.h:1.1
*** /dev/null	Mon Jun 13 20:10:33 2011
--- gcc/include/unixio.h	Fri Nov 20 08:44:24 2009
***************
*** 0 ****
--- 1,96 ----
+ /* written by Paul Edwards */
+ /* released to the public domain */
+ 
+ #ifndef UNIXIO_INCLUDED
+ #define UNIXIO_INCLUDED
+ 
+ #include <stddef.h>
+ #include <time.h>
+ #include <errno.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ 
+ #define S_IFBLK 0x3000
+ #define S_IFDIR 0x4000
+ #define S_IFREG 0x8000
+ #define S_IFMT 0xf000
+ 
+ #ifndef ENOENT
+ #define ENOENT 2002
+ #endif
+ #ifndef ENOTDIR
+ #define ENOTDIR 2045
+ #endif
+ #ifndef EINVAL
+ #define EINVAL 22
+ #endif
+ #ifndef ENOMEM
+ #define ENOMEM 12
+ #endif
+ #ifndef E2BIG
+ #define E2BIG 7
+ #endif
+ 
+ #define O_RDONLY 1
+ #define O_WRONLY 2
+ #define O_RDWR 4
+ #define O_EXCL 0x80
+ #define O_CREAT 0x100
+ #define O_TRUNC 0x200
+ 
+ typedef int off_t;
+ 
+ struct stat {
+   off_t st_size;
+   long st_mode;
+   long st_ino;
+   long st_dev;
+   long st_mtime;
+   int st_nlink;
+   int st_uid;
+   int st_gid;
+   int st_ctime;
+ };
+ 
+ typedef struct {
+   int whatever;
+ } DIR;
+ 
+ struct dirent {
+   int whatever;
+ };
+ 
+ struct direct {
+   char *d_name;
+   int d_namlen;
+ };
+ 
+ typedef int ino_t;
+ typedef int dev_t;
+ 
+ #define wait(a) (*(a) = 0)
+ #define getpid() (0)
+ #define geteuid() (0)
+ #define _exit(a) (exit((a)))
+ 
+ int open(const char *fnm, int mode, ...);
+ int read(int fno, void *buf, size_t bytes);
+ int write(int fno, const void *buf, size_t bytes);
+ int close(int fno);
+ long lseek(int fno, long int offset, int whence);
+ int unlink(const char *f);
+ int stat(const char *f, struct stat *buf);
+ int fileno(FILE *fp);
+ int access(const char *f, int n);
+ int fstat(int fh, struct stat *buf);
+ int pwait(int a, int *b, int c);
+ char *mktemp(char *s);
+ FILE *popen(const char *s, const char *t);
+ int kill(int a, int b);
+ DIR *opendir(char *dirname);
+ struct dirent *readdir(DIR *dir);
+ int closedir(DIR *dir);
+ int execvp(char *path, char **argv);
+ 
+ #endif
Index: gcc/include/xregex2.h
diff -c gcc/include/xregex2.h:1.1.1.1 gcc/include/xregex2.h:1.2
*** gcc/include/xregex2.h:1.1.1.1	Wed Apr 15 16:25:44 2009
--- gcc/include/xregex2.h	Fri Apr 24 23:52:57 2009
***************
*** 530,535 ****
--- 530,537 ----
  # endif
  #endif
  
+ #define regex_restrict_arr
+ 
  /* GCC 3.1 and later support declaring arrays as non-overlapping
     using the syntax array_name[restrict]  */
  #ifndef __restrict_arr
***************
*** 546,553 ****
  			      int __cflags));
  
  extern int regexec _RE_ARGS ((const regex_t *__restrict __preg,
! 			      const char *__restrict __string, size_t __nmatch,
! 			      regmatch_t __pmatch[__restrict_arr],
  			      int __eflags));
  
  extern size_t regerror _RE_ARGS ((int __errcode, const regex_t *__preg,
--- 548,555 ----
  			      int __cflags));
  
  extern int regexec _RE_ARGS ((const regex_t *__restrict __preg,
! 			      const char *__restrict string, size_t __nmatch,
! 			      regmatch_t __pmatch[regex_restrict_arr],
  			      int __eflags));
  
  extern size_t regerror _RE_ARGS ((int __errcode, const regex_t *__preg,
Index: gcc/intl/configure.in
diff -c gcc/intl/configure.in:1.1.1.1 gcc/intl/configure.in:1.1.1.2
*** gcc/intl/configure.in:1.1.1.1	Wed Apr 15 16:28:29 2009
--- gcc/intl/configure.in	Wed Apr 15 16:56:29 2009
***************
*** 4,9 ****
--- 4,11 ----
  AM_GNU_GETTEXT_VERSION(0.12.1)
  AM_GNU_GETTEXT
  
+ AC_OPENEDITION
+ 
  dnl This replaces the extensive use of DEFS in the original Makefile.in.
  AC_DEFINE(IN_LIBINTL, 1, [Define because this is libintl.])
  AC_DEFINE(IN_LIBRARY, 1, [Define because this is a library.])
Index: gcc/libiberty/argv.c
diff -c gcc/libiberty/argv.c:1.1.1.1 gcc/libiberty/argv.c:1.5
*** gcc/libiberty/argv.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/argv.c	Wed Nov 11 15:43:01 2009
***************
*** 22,27 ****
--- 22,28 ----
  /*  Create and destroy argument vectors.  An argument vector is simply an
      array of string pointers, terminated by a NULL pointer. */
  
+ #include "config.h"
  #include "ansidecl.h"
  #include "libiberty.h"
  
***************
*** 43,53 ****
  extern char *malloc ();		/* Standard memory allocater */
  extern char *realloc ();	/* Standard memory reallocator */
  extern void free ();		/* Free malloc'd memory */
- extern char *strdup ();		/* Duplicate a string */
  #endif
  
  #endif	/* ANSI_PROTOTYPES */
  
  
  #ifndef NULL
  #define NULL 0
--- 44,56 ----
  extern char *malloc ();		/* Standard memory allocater */
  extern char *realloc ();	/* Standard memory reallocator */
  extern void free ();		/* Free malloc'd memory */
  #endif
  
  #endif	/* ANSI_PROTOTYPES */
  
+ #if !defined(HAVE_STRDUP)
+ extern char *strdup ();     /* Duplicate a string */
+ #endif
  
  #ifndef NULL
  #define NULL 0
Index: gcc/libiberty/choose-temp.c
diff -c gcc/libiberty/choose-temp.c:1.1.1.1 gcc/libiberty/choose-temp.c:1.2
*** gcc/libiberty/choose-temp.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/choose-temp.c	Wed Nov 11 15:43:01 2009
***************
*** 53,58 ****
--- 53,59 ----
  
  */
  
+ #if !defined(PUREISO)
  char *
  choose_temp_base ()
  {
***************
*** 70,72 ****
--- 71,74 ----
      abort ();
    return temp_filename;
  }
+ #endif
Index: gcc/libiberty/concat.c
diff -c gcc/libiberty/concat.c:1.1.1.1 gcc/libiberty/concat.c:1.2
*** gcc/libiberty/concat.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/concat.c	Fri May  1 18:52:17 2009
***************
*** 49,55 ****
--- 49,57 ----
  #endif
  #include "ansidecl.h"
  #include "libiberty.h"
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>		/* size_t */
+ #endif
  
  #ifdef ANSI_PROTOTYPES
  #include <stdarg.h>
Index: gcc/libiberty/configure
diff -c gcc/libiberty/configure:1.1.1.1 gcc/libiberty/configure:1.4
*** gcc/libiberty/configure:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/configure	Wed Dec  2 18:59:22 2009
***************
*** 274,279 ****
--- 274,284 ----
  # Factoring default headers for most tests.
  ac_includes_default="\
  #include <stdio.h>
+ #include <stdlib.h>
+ #include <time.h>
+ #include <string.h>
+ #include <signal.h>
+ #include <stdarg.h>
  #if HAVE_SYS_TYPES_H
  # include <sys/types.h>
  #endif
***************
*** 3110,3117 ****
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! #include <sys/types.h>
! #include <sys/param.h>
  int
  main ()
  {
--- 3115,3125 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! /*#include <sys/types.h>
! #include <sys/param.h>*/
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
  int
  main ()
  {
***************
*** 3143,3150 ****
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! #include <sys/types.h>
! #include <sys/param.h>
  int
  main ()
  {
--- 3151,3161 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! /*#include <sys/types.h>
! #include <sys/param.h>*/
! #define BIG_ENDIAN 1
! #define LITTLE_ENDIAN 2
! #define BYTE_ORDER 1
  int
  main ()
  {
***************
*** 4163,4176 ****
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
  char $ac_func ();
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  choke me
  #else
! char (*f) () = $ac_func;
  #endif
  #ifdef __cplusplus
  }
--- 4174,4196 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
+ #if !defined(__MVS__)
  char $ac_func ();
+ #else
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <time.h>
+ #include <string.h>
+ #include <signal.h>
+ #include <stdarg.h>
+ #endif
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  choke me
  #else
! char (*f) () = (char (*)())$ac_func;
  #endif
  #ifdef __cplusplus
  }
***************
*** 4179,4185 ****
  int
  main ()
  {
! return f != $ac_func;
    ;
    return 0;
  }
--- 4199,4205 ----
  int
  main ()
  {
! return f != (char (*)())$ac_func;
    ;
    return 0;
  }
***************
*** 4424,4429 ****
--- 4444,4457 ----
      libiberty_cv_var_sys_errlist=yes
      ;;
  
+   *-*-mvs*)
+     # MVS has no extensions
+     ac_cv_func_vfork_works=no
+     libiberty_cv_var_sys_nerr=no
+     libiberty_cv_var_sys_errlist=no
+     libiberty_cv_var_sys_siglist=no
+     ;;
+ 
    *-*-*vms*)
      # Under VMS, vfork works very different than on Unix. The standard test
      # won't work, and it isn't easily adaptable. It makes more sense to
***************
*** 4590,4603 ****
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
  char $ac_func ();
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  choke me
  #else
! char (*f) () = $ac_func;
  #endif
  #ifdef __cplusplus
  }
--- 4618,4640 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
+ #if !defined(__MVS__)
  char $ac_func ();
+ #else
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <time.h>
+ #include <string.h>
+ #include <signal.h>
+ #include <stdarg.h>
+ #endif
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  choke me
  #else
! char (*f) () = (char (*)())$ac_func;
  #endif
  #ifdef __cplusplus
  }
***************
*** 4606,4612 ****
  int
  main ()
  {
! return f != $ac_func;
    ;
    return 0;
  }
--- 4643,4649 ----
  int
  main ()
  {
! return f != (char (*)())$ac_func;
    ;
    return 0;
  }
***************
*** 4640,4646 ****
  _ACEOF
  
  else
!   LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
  fi
  done
  
--- 4677,4683 ----
  _ACEOF
  
  else
!   LIBOBJS="$LIBOBJS $ac_func.o"
  fi
  done
  
***************
*** 4926,4932 ****
--- 4963,4971 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
+ #if !defined(__MVS__)
  char $ac_func ();
+ #endif
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
***************
*** 5256,5262 ****
--- 5295,5303 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
+ #if !defined(__MVS__)
  char $ac_func ();
+ #endif
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
***************
*** 5555,5568 ****
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
  char $ac_func ();
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  choke me
  #else
! char (*f) () = $ac_func;
  #endif
  #ifdef __cplusplus
  }
--- 5596,5618 ----
  #endif
  /* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
+ #if !defined(__MVS__)
  char $ac_func ();
+ #else
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <time.h>
+ #include <string.h>
+ #include <signal.h>
+ #include <stdarg.h>
+ #endif
  /* The GNU C library defines this for functions which it implements
      to always fail with ENOSYS.  Some functions are actually named
      something starting with __ and the normal name is an alias.  */
  #if defined (__stub_$ac_func) || defined (__stub___$ac_func)
  choke me
  #else
! char (*f) () = (char (*)())$ac_func;
  #endif
  #ifdef __cplusplus
  }
***************
*** 5571,5577 ****
  int
  main ()
  {
! return f != $ac_func;
    ;
    return 0;
  }
--- 5621,5627 ----
  int
  main ()
  {
! return f != (char (*)())$ac_func;
    ;
    return 0;
  }
***************
*** 6220,6226 ****
    ac_i=`echo "$ac_i" |
           sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
    # 2. Add them.
!   ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
    ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
  done
  LIBOBJS=$ac_libobjs
--- 6270,6276 ----
    ac_i=`echo "$ac_i" |
           sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
    # 2. Add them.
!   ac_libobjs="$ac_libobjs $ac_i\$U.o"
    ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
  done
  LIBOBJS=$ac_libobjs
Index: gcc/libiberty/cplus-dem.c
diff -c gcc/libiberty/cplus-dem.c:1.1.1.1 gcc/libiberty/cplus-dem.c:1.3
*** gcc/libiberty/cplus-dem.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/cplus-dem.c	Wed Nov 11 15:43:01 2009
***************
*** 43,51 ****
--- 43,54 ----
  #include "config.h"
  #endif
  
+ #include "ansidecl.h"
  #include "safe-ctype.h"
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  #include <string.h>
  #include <stdio.h>
  
Index: gcc/libiberty/fdmatch.c
diff -c gcc/libiberty/fdmatch.c:1.1.1.1 gcc/libiberty/fdmatch.c:1.3
*** gcc/libiberty/fdmatch.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/fdmatch.c	Wed Nov 11 15:43:01 2009
***************
*** 41,51 ****
--- 41,61 ----
  
  */
  
+ #ifdef HAVE_CONFIG_H
+ #include <config.h>
+ #endif
  #include "ansidecl.h"
  #include "libiberty.h"
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
+ #ifdef HAVE_SYS_STAT_H
  #include <sys/stat.h>
+ #endif
  
+ #if defined(PUREISO)
+ int fdmatch (int fd1, int fd2) { return (1); }
+ #else /* !PUREISO */
  int fdmatch (fd1, fd2)
  	int fd1;
  	int fd2;
***************
*** 65,67 ****
--- 75,78 ----
        return (0);
      }
  }
+ #endif
Index: gcc/libiberty/getcwd.c
diff -c gcc/libiberty/getcwd.c:1.1.1.1 gcc/libiberty/getcwd.c:1.2
*** gcc/libiberty/getcwd.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/getcwd.c	Sun Nov 15 17:25:14 2009
***************
*** 30,35 ****
--- 30,37 ----
  #include <stdlib.h>
  #endif
  
+ #include "libiberty.h"
+ 
  extern char *getwd ();
  extern int errno;
  
Index: gcc/libiberty/getpagesize.c
diff -c gcc/libiberty/getpagesize.c:1.1.1.1 gcc/libiberty/getpagesize.c:1.2
*** gcc/libiberty/getpagesize.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/getpagesize.c	Fri May  1 18:52:18 2009
***************
*** 24,30 ****
--- 24,32 ----
  
  #include "config.h"
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  #ifdef HAVE_SYS_PARAM_H
  #include <sys/param.h>
  #endif
Index: gcc/libiberty/getpwd.c
diff -c gcc/libiberty/getpwd.c:1.1.1.1 gcc/libiberty/getpwd.c:1.3
*** gcc/libiberty/getpwd.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/getpwd.c	Wed Nov 11 15:43:02 2009
***************
*** 16,22 ****
--- 16,24 ----
  #include "config.h"
  #endif
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  
  #include <errno.h>
  #ifndef errno
***************
*** 56,61 ****
--- 58,70 ----
  #define GUESSPATHLEN 100
  #endif
  
+ #if defined(PUREISO)
+ char *
+ getpwd(void)
+ {
+     return "";
+ }
+ #else /* !PUREISO */
  #if !(defined (VMS) || (defined(_WIN32) && !defined(__CYGWIN__)))
  
  /* Get the working directory.  Use the PWD environment variable if it's
***************
*** 125,127 ****
--- 134,137 ----
  }
  
  #endif	/* VMS || _WIN32 && !__CYGWIN__ */
+ #endif /* PUREISO */
Index: gcc/libiberty/getruntime.c
diff -c gcc/libiberty/getruntime.c:1.1.1.1 gcc/libiberty/getruntime.c:1.2
*** gcc/libiberty/getruntime.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/getruntime.c	Tue Jun 30 10:40:14 2009
***************
*** 24,30 ****
--- 24,32 ----
  
  /* On some systems (such as WindISS), you must include <sys/types.h>
     to get the definition of "time_t" before you include <time.h>.  */
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  
  /* There are several ways to get elapsed execution time; unfortunately no
     single way is available for all host systems, nor are there reliable
Index: gcc/libiberty/hashtab.c
diff -c gcc/libiberty/hashtab.c:1.1.1.1 gcc/libiberty/hashtab.c:1.2
*** gcc/libiberty/hashtab.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/hashtab.c	Fri May  1 18:52:18 2009
***************
*** 35,41 ****
--- 35,43 ----
  #include "config.h"
  #endif
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  
  #ifdef HAVE_STDLIB_H
  #include <stdlib.h>
Index: gcc/libiberty/hex.c
diff -c gcc/libiberty/hex.c:1.1.1.1 gcc/libiberty/hex.c:1.1.1.2
*** gcc/libiberty/hex.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/hex.c	Wed Apr 15 16:56:58 2009
***************
*** 146,156 ****
  };
  #define HEX_TABLE_INITIALIZED
  
! #else
  
  unsigned char _hex_value[_hex_array_size];
  
! #endif /* not ASCII */
  
  void
  hex_init ()
--- 146,239 ----
  };
  #define HEX_TABLE_INITIALIZED
  
! #endif /* ASCII */
! 
! /* Are we EBCDIC? CP-1047 */
! #if HOST_CHARSET == HOST_CHARSET_EBCDIC
! 
! const unsigned char _hex_value[_hex_array_size] =
! {
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! 
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,       
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,       
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! 
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,      
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! 
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,     
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! 
!   _hex_bad, 10,       11,       12,       /*     a   b   c   */
!   13,       14,       15,       _hex_bad, /* d   e   f   g   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* h   i           */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /*     j   k   l   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* m   n   o   p   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* q   r           */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! 
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /*         s   t   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* u   v   w   x   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* y   z           */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! 
!   _hex_bad, 10,       11,       12,       /*     A   B   C   */
!   13,       14,       15,       _hex_bad, /* D   E   F   G   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* H   I           */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /*     J   K   L   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* M   N   O   P   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* Q   R           */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! 
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /*         S   T   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* U   V   W   X   */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad, /* Y   Z           */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
!   0,        1,        2,        3,        /* 0   1   2   3   */
!   4,        5,        6,        7,        /* 4   5   6   7   */
!   8,        9,        _hex_bad, _hex_bad, /* 8   9           */
!   _hex_bad, _hex_bad, _hex_bad, _hex_bad,
! };
! #define HEX_TABLE_INITIALIZED
! 
! #endif /* EBCDIC */
! 
! #ifndef HEX_TABLE_INITIALIZED
  
  unsigned char _hex_value[_hex_array_size];
  
! #endif /* neither ASCII nor EBCDIC */
  
  void
  hex_init ()
Index: gcc/libiberty/lrealpath.c
diff -c gcc/libiberty/lrealpath.c:1.1.1.1 gcc/libiberty/lrealpath.c:1.2
*** gcc/libiberty/lrealpath.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/lrealpath.c	Fri Apr 24 23:16:05 2009
***************
*** 50,55 ****
--- 50,59 ----
  #include <string.h>
  #endif
  
+ #if !defined(HAVE_STRDUP)
+ extern char *strdup ();     /* Duplicate a string */
+ #endif
+ 
  /* On GNU libc systems the declaration is only visible with _GNU_SOURCE.  */
  #if defined(HAVE_CANONICALIZE_FILE_NAME) \
      && defined(NEED_DECLARATION_CANONICALIZE_FILE_NAME)
Index: gcc/libiberty/make-relative-prefix.c
diff -c gcc/libiberty/make-relative-prefix.c:1.1.1.1 gcc/libiberty/make-relative-prefix.c:1.2
*** gcc/libiberty/make-relative-prefix.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/make-relative-prefix.c	Wed Nov 11 15:43:02 2009
***************
*** 222,227 ****
--- 222,237 ----
  
     If no relative prefix can be found, return NULL.  */
  
+ #if defined(PUREISO)
+ char *
+ make_relative_prefix (progname, bin_prefix, prefix)
+      const char *progname;
+      const char *bin_prefix;
+      const char *prefix;
+ {
+     return ("");
+ }
+ #else /* !PUREISO */
  char *
  make_relative_prefix (progname, bin_prefix, prefix)
       const char *progname;
***************
*** 394,396 ****
--- 404,407 ----
  
    return ret;
  }
+ #endif
Index: gcc/libiberty/make-temp-file.c
diff -c gcc/libiberty/make-temp-file.c:1.1.1.1 gcc/libiberty/make-temp-file.c:1.4
*** gcc/libiberty/make-temp-file.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/make-temp-file.c	Sun Nov 15 17:24:58 2009
***************
*** 22,28 ****
--- 22,30 ----
  #endif
  
  #include <stdio.h>	/* May get P_tmpdir.  */
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  #ifdef HAVE_UNISTD_H
  #include <unistd.h>
  #endif
***************
*** 55,60 ****
--- 57,75 ----
  #define TEMP_FILE "ccXXXXXX"
  #define TEMP_FILE_LEN (sizeof(TEMP_FILE) - 1)
  
+ #if defined(__MVS__) || defined(__CMS__)
+ char *
+ make_temp_file (const char *suffix)
+ {
+     return "DD:WORK";
+ }
+ #elif defined(PUREISO)
+ char *
+ make_temp_file (const char *suffix)
+ {
+     return tmpnam(NULL);
+ }
+ #else /* !defined(PUREISO) */
  /* Subroutine of choose_tmpdir.
     If BASE is non-NULL, return it.
     Otherwise it checks if DIR is a usable directory.
***************
*** 177,179 ****
--- 192,195 ----
      abort ();
    return temp_filename;
  }
+ #endif
Index: gcc/libiberty/md5.c
diff -c gcc/libiberty/md5.c:1.1.1.1 gcc/libiberty/md5.c:1.2
*** gcc/libiberty/md5.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/md5.c	Tue Jun 30 10:40:14 2009
***************
*** 25,31 ****
--- 25,33 ----
  # include <config.h>
  #endif
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  
  #if STDC_HEADERS || defined _LIBC
  # include <stdlib.h>
Index: gcc/libiberty/mkstemps.c
diff -c gcc/libiberty/mkstemps.c:1.1.1.1 gcc/libiberty/mkstemps.c:1.3
*** gcc/libiberty/mkstemps.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/mkstemps.c	Sun Nov 15 17:24:33 2009
***************
*** 20,26 ****
--- 20,28 ----
  #include "config.h"
  #endif
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  #ifdef HAVE_STDLIB_H
  #include <stdlib.h>
  #endif
***************
*** 29,35 ****
--- 31,39 ----
  #endif
  #include <errno.h>
  #include <stdio.h>
+ #ifdef HAVE_FCNTL_H
  #include <fcntl.h>
+ #endif
  #ifdef HAVE_UNISTD_H
  #include <unistd.h>
  #endif
***************
*** 70,75 ****
--- 74,89 ----
  
  */
  
+ #ifdef PUREISO
+ int
+ mkstemps (template, suffix_len)
+      char *template;
+      int suffix_len;
+ {
+     template[0] = '\0';
+     return -1;
+ }
+ #else
  int
  mkstemps (template, suffix_len)
       char *template;
***************
*** 140,142 ****
--- 154,157 ----
    template[0] = '\0';
    return -1;
  }
+ #endif
Index: gcc/libiberty/obstack.c
diff -c gcc/libiberty/obstack.c:1.1.1.1 gcc/libiberty/obstack.c:1.2
*** gcc/libiberty/obstack.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/obstack.c	Sun Jul 19 18:45:35 2009
***************
*** 44,52 ****
--- 44,54 ----
  #if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1
  #include <gnu-versions.h>
  #if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION
+ #if !defined(PUREISO)
  #define ELIDE_CODE
  #endif
  #endif
+ #endif
  
  
  #ifndef ELIDE_CODE
Index: gcc/libiberty/pex-unix.c
diff -c gcc/libiberty/pex-unix.c:1.1.1.1 gcc/libiberty/pex-unix.c:1.2
*** gcc/libiberty/pex-unix.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/pex-unix.c	Wed Nov 11 15:43:02 2009
***************
*** 47,52 ****
--- 47,53 ----
  extern int execv ();
  extern int execvp ();
  
+ #if !defined(PUREISO)
  int
  pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, flags)
       const char *program;
***************
*** 164,166 ****
--- 165,168 ----
    pid = waitpid (pid, status, 0);
    return pid;
  }
+ #endif
Index: gcc/libiberty/physmem.c
diff -c gcc/libiberty/physmem.c:1.1.1.1 gcc/libiberty/physmem.c:1.2
*** gcc/libiberty/physmem.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/physmem.c	Tue Jun 30 10:40:14 2009
***************
*** 42,48 ****
--- 42,50 ----
  # include <sys/table.h>
  #endif
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  
  #if HAVE_SYS_PARAM_H
  # include <sys/param.h>
Index: gcc/libiberty/putenv.c
diff -c gcc/libiberty/putenv.c:1.1.1.1 gcc/libiberty/putenv.c:1.2
*** gcc/libiberty/putenv.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/putenv.c	Sun Nov 15 17:24:39 2009
***************
*** 66,71 ****
--- 66,79 ----
  
  
  /* Put STRING, which is of the form "NAME=VALUE", in the environment.  */
+ #ifdef PUREISO
+ int
+ putenv (string)
+      const char *string;
+ {
+     return 0;
+ }
+ #else
  int
  putenv (string)
       const char *string;
***************
*** 83,85 ****
--- 91,94 ----
    unsetenv (string);
    return 0;
  }
+ #endif
Index: gcc/libiberty/random.c
diff -c gcc/libiberty/random.c:1.1.1.1 gcc/libiberty/random.c:1.2
*** gcc/libiberty/random.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/random.c	Sun Nov 15 17:23:49 2009
***************
*** 54,60 ****
  
  #include <errno.h>
  
! #if 0
  
  #include <ansidecl.h>
  #include <limits.h>
--- 54,60 ----
  
  #include <errno.h>
  
! #if PUREISO
  
  #include <ansidecl.h>
  #include <limits.h>
Index: gcc/libiberty/regex.c
diff -c gcc/libiberty/regex.c:1.1.1.1 gcc/libiberty/regex.c:1.2
*** gcc/libiberty/regex.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/regex.c	Wed Apr 22 09:48:34 2009
***************
*** 30,36 ****
  #endif
  
  #undef	_GNU_SOURCE
! #define _GNU_SOURCE
  
  #ifdef HAVE_CONFIG_H
  # include <config.h>
--- 30,36 ----
  #endif
  
  #undef	_GNU_SOURCE
! #define _GNU_SOURCE 1
  
  #ifdef HAVE_CONFIG_H
  # include <config.h>
Index: gcc/libiberty/safe-ctype.c
diff -c gcc/libiberty/safe-ctype.c:1.1.1.1 gcc/libiberty/safe-ctype.c:1.4
*** gcc/libiberty/safe-ctype.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/safe-ctype.c	Mon Jul  6 00:55:54 2009
***************
*** 2,7 ****
--- 2,8 ----
  
     Copyright (C) 2000 Free Software Foundation, Inc.
     Contributed by Zack Weinberg <zackw@stanford.edu>.
+    EBCDIC support by Dave Pitts <dpitts@cozx.com>.
  
  This file is part of the libiberty library.
  Libiberty is free software; you can redistribute it and/or
***************
*** 114,119 ****
--- 115,121 ----
  
  */
  
+ #include "config.h"
  #include "ansidecl.h"
  #include <safe-ctype.h>
  #include <stdio.h>  /* for EOF */
***************
*** 145,150 ****
--- 147,158 ----
  #define P  (const unsigned short) (pn      |pr)	/* punctuation */
  #define _  (const unsigned short) (pn|is   |pr)	/* underscore */
  
+ /* don't define anything for characters that can't easily
+    be translated into ASCII. Let them be generated as their
+    hex values, the same way that say a French accented e
+    would be */
+ #define E  0          	/* EBCDIC-only character */
+ 
  #define C  (const unsigned short) (         cn)	/* control character */
  #define Z  (const unsigned short) (nv      |cn)	/* NUL */
  #define M  (const unsigned short) (nv|sp   |cn)	/* cursor movement: \f \v */
***************
*** 247,254 ****
  
  #else
  # if HOST_CHARSET == HOST_CHARSET_EBCDIC
!   #error "FIXME: write tables for EBCDIC"
  # else
    #error "Unrecognized host character set"
  # endif
  #endif
--- 255,515 ----
  
  #else
  # if HOST_CHARSET == HOST_CHARSET_EBCDIC
! 
! #if 0 /* Uses _sch_ebcistable below */
! const unsigned short _sch_istable[256] =
! {
!   Z,  C,  C,  C,   C,  T,  C,  C,   /* NUL SOH STX ETX  PF  HT  LC  DEL */
!   0,  0,  C,  M,   M,  V,  C,  C,   /*         SMM VT   FF  CR  SO  SI  */
!   C,  C,  C,  C,   C,  V,  C,  C,   /* DLE DC1 DC2 TM   RES NL  BS  IL  */
!   C,  C,  C,  C,   C,  C,  C,  C,   /* CAN EM  CC  CU1 IFS  IGS IRS IUS */
!   C,  C,  C,  0,   C,  C,  C,  C,   /* DS  SOS FS       BYP LF  ETB ESC */
!   0,  0,  C,  C,   0,  C,  C,  C,   /*         SM  CU2      ENQ ACK BEL */
!   0,  0,  C,  0,   C,  C,  C,  C,   /*         SYN      PN  RS  UC  EOT */
!   0,  0,  0,  C,   C,  C,  0,  C,   /*             CU3  DC4 NAK     SUB */
! 
!   S,  0,  0,  0,   0,  0,  0,  0,   /* SP                               */
!   0,  0,  E,  P,   P,  P,  P,  P,   /*         CNT .    <   (   +   |   */
!   P,  0,  0,  0,   0,  0,  0,  0,   /* &                                */
!   0,  0,  P,  P,   P,  P,  P,  P,   /*         !   $    *   )   ;   NOT */
!   P,  P,  0,  0,   0,  0,  0,  0,   /* -   /                            */
!   0,  0,  E,  P,   P,  _,  P,  P,   /*         BRB ,    %   _   >   ?   */
!   0,  0,  0,  0,   0,  0,  0,  0,   /*                                  */
!   0,  P,  P,  P,   P,  P,  P,  P,   /*     `   :   #    @   '   =   "   */
! 
!   0, XL, XL, XL,  XL, XL, XL,  L,   /*     a   b   c    d   e   f   g   */
!   L,  L,  0,  0,   0,  0,  0,  0,   /* h   i                            */
!   0,  L,  L,  L,   L,  L,  L,  L,   /*     j   k   l    m   n   o   p   */
!   L,  L,  0,  0,   0,  0,  0,  0,   /* q   r                            */
!   0,  P,  L,  L,   L,  L,  L,  L,   /*     ~   s   t    u   v   w   x   */
!   L,  L,  0,  0,   0,  P,  0,  0,   /* y   z                [           */
!   0,  0,  0,  0,   0,  0,  0,  0,   /*                                  */
!   0,  0,  0,  0,   0,  P,  0,  0,   /*                      ]           */
! 
!   P, XU, XU, XU,  XU, XU, XU,  U,   /* {   A   B   C    D   E   F   G   */
!   U,  U,  0,  0,   0,  0,  0,  0,   /* H   I                            */
!   P,  U,  U,  U,   U,  U,  U,  U,   /* }   J   K   L    M   N   O   P   */
!   U,  U,  0,  0,   0,  0,  0,  0,   /* Q   R                            */
!   P,  0,  U,  U,   U,  U,  U,  U,   /* \       S   T    U   V   W   X   */
!   U,  U,  0,  0,   0,  0,  0,  0,   /* Y   Z                            */
!   D,  D,  D,  D,   D,  D,  D,  D,   /* 0   1   2   3    4   5   6   7   */
!   D,  D,  0,  0,   0,  0,  0,  0    /* 8   9                            */
! };
! #endif
! 
! const unsigned char _sch_tolower[256] =
! {
!    0,  
!    1,  2,  3,  4,   5,  6,  7,  8,   9, 10, 11, 12,  13, 14, 15, 16,
!   17, 18, 19, 20,  21, 22, 23, 24,  25, 26, 27, 28,  29, 30, 31, 32,
!   33, 34, 35, 36,  37, 38, 39, 40,  41, 42, 43, 44,  45, 46, 47, 48,
!   49, 50, 51, 52,  53, 54, 55, 56,  57, 58, 59, 60,  61, 62, 63, 64,
!   65, 66, 67, 68,  69, 70, 71, 72,  73, 74, 75, 76,  77, 78, 79, 80,
!   81, 82, 83, 84,  85, 86, 87, 88,  89, 90, 91, 92,  93, 94, 95, 96,
!   97, 98, 99,100, 101,102,103,104, 105,106,106,108, 109,110,111,112,
!  113,114,115,116, 117,118,119,120, 121,122,123,124, 125,126,127,128,
! 
!  'a','b','c','d', 'e','f','g','h', 'i',138,139,140, 141,142,143,144,
!  'j','k','l','m', 'n','o','p','q', 'r',154,155,156, 157,158,159,160,
!  161,'s','t','u', 'v','w','x','y', 'z',170,171,172, 173,174,175,176,
! 
!  177,178,179,180, 181,182,183,184, 185,186,187,188, 189,190,191,192,
!  
!  'a','b','c','d', 'e','f','g','h', 'i',202,203,204, 205,206,207,208,
!  'j','k','l','m', 'n','o','p','q', 'r',218,219,220, 221,222,223,224,
!  225,'s','t','u', 'v','w','x','y', 'z',234,235,236, 237,238,239,240,
!  
!  241,242,243,244, 245,246,247,248, 249,250,251,252, 253,254,255,
! };
! 
! const unsigned char _sch_toupper[256] =
! {
!    0,  
!    1,  2,  3,  4,   5,  6,  7,  8,   9, 10, 11, 12,  13, 14, 15, 16,
!   17, 18, 19, 20,  21, 22, 23, 24,  25, 26, 27, 28,  29, 30, 31, 32,
!   33, 34, 35, 36,  37, 38, 39, 40,  41, 42, 43, 44,  45, 46, 47, 48,
!   49, 50, 51, 52,  53, 54, 55, 56,  57, 58, 59, 60,  61, 62, 63, 64,
!   65, 66, 67, 68,  69, 70, 71, 72,  73, 74, 75, 76,  77, 78, 79, 80,
!   81, 82, 83, 84,  85, 86, 87, 88,  89, 90, 91, 92,  93, 94, 95, 96,
!   97, 98, 99,100, 101,102,103,104, 105,106,106,108, 109,110,111,112,
!  113,114,115,116, 117,118,119,120, 121,122,123,124, 125,126,127,128,
! 
!  'A','B','C','D', 'E','F','G','H', 'I',138,139,140, 141,142,143,144,
!  'J','K','L','M', 'N','O','P','Q', 'R',154,155,156, 157,158,159,160,
!  161,'S','T','U', 'V','W','X','Y', 'Z',170,171,172, 173,174,175,176,
! 
!  177,178,179,180, 181,182,183,184, 185,186,187,188, 189,190,191,192,
!  
!  'A','B','C','D', 'E','F','G','H', 'I',202,203,204, 205,206,207,208,
!  'J','K','L','M', 'N','O','P','Q', 'R',218,219,220, 221,222,223,224,
!  225,'S','T','U', 'V','W','X','Y', 'Z',234,235,236, 237,238,239,240,
!  
!  241,242,243,244, 245,246,247,248, 249,250,251,252, 253,254,255,
! };
! 
  # else
    #error "Unrecognized host character set"
  # endif
  #endif
+ 
+ /* ASCII to EBCDIC(CP-1047) conversion table.  */
+ const unsigned char _sch_ascebc[256] =
+ {
+  /*00  NL    SH    SX    EX    ET    NQ    AK    BL */
+      0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F,
+  /*08  BS    HT    LF    VT    FF    CR    SO    SI */
+      0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+  /*10  DL    D1    D2    D3    D4    NK    SN    EB */
+      0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26,
+  /*18  CN    EM    SB    EC    FS    GS    RS    US */
+      0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
+  /*20  SP     !     "     #     $     %     &     ' */
+      0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D,
+  /*28   (     )     *     +     ,     -    .      / */
+      0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
+  /*30   0     1     2     3     4     5     6     7 */
+      0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
+  /*38   8     9     :     ;     <     =     >     ? */
+      0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F,
+  /*40   @     A     B     C     D     E     F     G */
+      0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
+  /*48   H     I     J     K     L     M     N     O */
+      0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
+  /*50   P     Q     R     S     T     U     V     W */
+      0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6,
+  /*58   X     Y     Z     [     \     ]     ^     _ */
+      0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D,
+  /*60   `     a     b     c     d     e     f     g */
+      0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
+  /*68   h     i     j     k     l     m     n     o */
+      0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,
+  /*70   p     q     r     s     t     u     v     w */
+      0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6,
+  /*78   x     y     z     {     |     }     ~    DL */
+      0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07,
+      0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x06, 0x17,
+      0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x09, 0x0A, 0x1B,
+      0x30, 0x31, 0x1A, 0x33, 0x34, 0x35, 0x36, 0x08,
+      0x38, 0x39, 0x3A, 0x3B, 0x04, 0x14, 0x3E, 0xFF,
+      0x41, 0xAA, 0x4A, 0xB1, 0x9F, 0xB2, 0x6A, 0xB5,
+      0xBB, 0xB4, 0x9A, 0x8A, 0xB0, 0xCA, 0xAF, 0xBC,
+      0x90, 0x8F, 0xEA, 0xFA, 0xBE, 0xA0, 0xB6, 0xB3,
+      0x9D, 0xDA, 0x9B, 0x8B, 0xB7, 0xB8, 0xB9, 0xAB,
+      0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9E, 0x68,
+      0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,
+      0xAC, 0x69, 0xED, 0xEE, 0xEB, 0xEF, 0xEC, 0xBF,
+      0x80, 0xFD, 0xFE, 0xFB, 0xFC, 0xBA, 0xAE, 0x59,
+      0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9C, 0x48,
+      0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,
+      0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1,
+      0x70, 0xDD, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
+ };
+ 
+ /* EBCDIC(CP-1047) to ASCII conversion table.  */
+ const unsigned char _sch_ebcasc[256] =
+ {
+  /*00  NU    SH    SX    EX    PF    HT    LC    DL */
+      0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F,
+  /*08              SM    VT    FF    CR    SO    SI */
+      0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+  /*10  DE    D1    D2    TM    RS    NL    BS    IL */
+      0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87,
+  /*18  CN    EM    CC    C1    FS    GS    RS    US */
+      0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
+  /*20  DS    SS    FS          BP    LF    EB    EC */
+      0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B,
+  /*28              SM    C2    EQ    AK    BL       */
+      0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
+  /*30              SY          PN    RS    UC    ET */
+      0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04,
+  /*38                    C3    D4    NK          SB */
+      0x98, 0x99, 0x9A, 0x9B, 0x14, 0x15, 0x9E, 0x1A,
+  /*40  SP                                           */
+      0x20, 0xA0, 0xE2, 0xE4, 0xE0, 0xE1, 0xE3, 0xE5,
+  /*48                     .     <     (     +     | */
+      0xE7, 0xF1, 0xA2, 0x2E, 0x3C, 0x28, 0x2B, 0x7C,
+  /*50   &                                           */
+      0x26, 0xE9, 0xEA, 0xEB, 0xE8, 0xED, 0xEE, 0xEF,
+  /*58               !     $     *     )     ;     ^ */
+      0xEC, 0xDF, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0x5E,
+  /*60   -     /                                     */
+      0x2D, 0x2F, 0xC2, 0xC4, 0xC0, 0xC1, 0xC3, 0xC5,
+  /*68                     ,     %     _     >     ? */
+      0xC7, 0xD1, 0xA6, 0x2C, 0x25, 0x5F, 0x3E, 0x3F,
+  /*70                                               */
+      0xF8, 0xC9, 0xCA, 0xCB, 0xC8, 0xCD, 0xCE, 0xCF,
+  /*78         `     :     #     @     '     =     " */
+      0xCC, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22,
+  /*80         a     b     c     d     e     f     g */
+      0xD8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
+  /*88   h     i           {                         */
+      0x68, 0x69, 0xAB, 0xBB, 0xF0, 0xFD, 0xFE, 0xB1,
+  /*90         j     k     l     m     n     o     p */
+      0xB0, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70,
+  /*98   q     r           }                         */
+      0x71, 0x72, 0xAA, 0xBA, 0xE6, 0xB8, 0xC6, 0xA4,
+  /*A0         ~     s     t     u     v     w     x */
+      0xB5, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+  /*A8   y     z                       [             */
+      0x79, 0x7A, 0xA1, 0xBF, 0xD0, 0x5B, 0xDE, 0xAE,
+  /*B0                                               */
+      0xAC, 0xA3, 0xA5, 0xB7, 0xA9, 0xA7, 0xB6, 0xBC,
+  /*B8                                 ]             */
+      0xBD, 0xBE, 0xDD, 0xA8, 0xAF, 0x5D, 0xB4, 0xD7,
+  /*C0   {     A     B     C     D     E     F     G */
+      0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
+  /*C8   H     I                                     */
+      0x48, 0x49, 0xAD, 0xF4, 0xF6, 0xF2, 0xF3, 0xF5,
+  /*D0   }     J     K     L     M     N     O     P */
+      0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50,
+  /*D8   Q     R                                     */
+      0x51, 0x52, 0xB9, 0xFB, 0xFC, 0xF9, 0xFA, 0xFF,
+  /*E0   \           S     T     U     V     W     X */
+      0x5C, 0xF7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+  /*E8   Y     Z                                     */
+      0x59, 0x5A, 0xB2, 0xD4, 0xD6, 0xD2, 0xD3, 0xD5,
+  /*F0   0     1     2     3     4     5     6     7 */
+      0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+  /*F8   8     9                                     */
+      0x38, 0x39, 0xB3, 0xDB, 0xDC, 0xD9, 0xDA, 0x9F
+ };
+ 
+ const unsigned short _sch_ebcistable[256] =
+ {
+   Z,  C,  C,  C,   C,  T,  C,  C,   /* NUL SOH STX ETX  PF  HT  LC  DEL */
+   0,  0,  C,  M,   M,  V,  C,  C,   /*         SMM VT   FF  CR  SO  SI  */
+   C,  C,  C,  C,   C,  V,  C,  C,   /* DLE DC1 DC2 TM   RES NL  BS  IL  */
+   C,  C,  C,  C,   C,  C,  C,  C,   /* CAN EM  CC  CU1 IFS  IGS IRS IUS */
+   C,  C,  C,  0,   C,  C,  C,  C,   /* DS  SOS FS       BYP LF  ETB ESC */
+   0,  0,  C,  C,   0,  C,  C,  C,   /*         SM  CU2      ENQ ACK BEL */
+   0,  0,  C,  0,   C,  C,  C,  C,   /*         SYN      PN  RS  UC  EOT */
+   0,  0,  0,  C,   C,  C,  0,  C,   /*             CU3  DC4 NAK     SUB */
+ 
+   S,  0,  0,  0,   0,  0,  0,  0,   /* SP                               */
+   0,  0,  P,  P,   P,  P,  P,  P,   /*         CNT .    <   (   +   |   */
+   P,  0,  0,  0,   0,  0,  0,  0,   /* &                                */
+   0,  0,  P,  P,   P,  P,  P,  P,   /*         !   $    *   )   ;   NOT */
+   P,  P,  0,  0,   0,  0,  0,  0,   /* -   /                            */
+   0,  0,  P,  P,   P,  _,  P,  P,   /*         |   ,    %   _   >   ?   */
+   0,  0,  0,  0,   0,  0,  0,  0,   /*                                  */
+   0,  P,  P,  P,   P,  P,  P,  P,   /*     `   :   #    @   '   =   "   */
+ 
+   0, XL, XL, XL,  XL, XL, XL,  L,   /*     a   b   c    d   e   f   g   */
+   L,  L,  0,  0,   0,  0,  0,  0,   /* h   i                            */
+   0,  L,  L,  L,   L,  L,  L,  L,   /*     j   k   l    m   n   o   p   */
+   L,  L,  0,  0,   0,  0,  0,  0,   /* q   r                            */
+   0,  P,  L,  L,   L,  L,  L,  L,   /*     ~   s   t    u   v   w   x   */
+   L,  L,  0,  0,   0,  P,  0,  0,   /* y   z                [           */
+   0,  0,  0,  0,   0,  0,  0,  0,   /*                                  */
+   0,  0,  0,  0,   0,  P,  0,  0,   /*                      ]           */
+ 
+   P, XU, XU, XU,  XU, XU, XU,  U,   /* {   A   B   C    D   E   F   G   */
+   U,  U,  0,  0,   0,  0,  0,  0,   /* H   I                            */
+   P,  U,  U,  U,   U,  U,  U,  U,   /* }   J   K   L    M   N   O   P   */
+   U,  U,  0,  0,   0,  0,  0,  0,   /* Q   R                            */
+   P,  0,  U,  U,   U,  U,  U,  U,   /* \       S   T    U   V   W   X   */
+   U,  U,  0,  0,   0,  0,  0,  0,   /* Y   Z                            */
+   D,  D,  D,  D,   D,  D,  D,  D,   /* 0   1   2   3    4   5   6   7   */
+   D,  D,  P,  0,   0,  0,  0,  0    /* 8   9   |                        */
+ };
+ 
Index: gcc/libiberty/setenv.c
diff -c gcc/libiberty/setenv.c:1.1.1.1 gcc/libiberty/setenv.c:1.2
*** gcc/libiberty/setenv.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/setenv.c	Sun Nov 15 17:23:15 2009
***************
*** 40,46 ****
--- 40,48 ----
  #define unsetenv libiberty_unsetenv
  
  #include "ansidecl.h"
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h> /* For `size_t' */
+ #endif
  #include <stdio.h>     /* For `NULL' */
  
  #include <errno.h>
Index: gcc/libiberty/sigsetmask.c
diff -c gcc/libiberty/sigsetmask.c:1.1.1.1 gcc/libiberty/sigsetmask.c:1.2
*** gcc/libiberty/sigsetmask.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/sigsetmask.c	Sun Nov 15 17:23:15 2009
***************
*** 18,24 ****
--- 18,26 ----
  #define _POSIX_SOURCE
  #include <ansidecl.h>
  /* Including <sys/types.h> seems to be needed by ISC. */
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  #include <signal.h>
  
  extern void abort PARAMS ((void)) ATTRIBUTE_NORETURN;
Index: gcc/libiberty/unixio.c
diff -c /dev/null gcc/libiberty/unixio.c:1.1
*** /dev/null	Mon Jun 13 20:10:35 2011
--- gcc/libiberty/unixio.c	Fri Nov 20 08:45:29 2009
***************
*** 0 ****
--- 1,234 ----
+ /*********************************************************************/
+ /*                                                                   */
+ /*  This Program Written By Paul Edwards.                            */
+ /*  Released to the public domain.                                   */
+ /*                                                                   */
+ /*********************************************************************/
+ /*********************************************************************/
+ /*                                                                   */
+ /*  unixio - Unix I/O functions written in terms of standard C       */
+ /*  functions.                                                       */
+ /*                                                                   */
+ /*********************************************************************/
+ 
+ #include <stdio.h>
+ #include <time.h>
+ #include <string.h>
+ 
+ #ifdef fileno
+ #undef fileno
+ #endif
+ 
+ #include "unixio.h"
+ 
+ static FILE *files[FOPEN_MAX];
+ char *environ[] = { NULL };
+ 
+ int open(const char *fnm, int mode, ...)
+ {
+     int x;
+     char *modestr = "";
+ 
+     for (x = 3; x < FOPEN_MAX; x++)
+     {
+         if (files[x] == NULL)
+         {
+             break;
+         }
+     }
+     if (x == FOPEN_MAX)
+     {
+         return (-1);
+     }
+     if ((mode & 0x07) == O_RDONLY)
+     {
+         modestr = "r";
+     }
+     else if ((mode & 0x07) == O_WRONLY)
+     {
+         modestr = "w";
+     }
+     else if ((mode & 0x07) == O_RDWR)
+     {
+         modestr = "r+";
+     }
+     files[x] = fopen(fnm, modestr);
+     if (files[x] == NULL)
+     {
+         return (-1);
+     }
+     return (x);
+ }
+ 
+ int read(int fno, void *buf, size_t bytes)
+ {
+     size_t rb;
+ 
+     if (fno < 3)
+     {
+         rb = fread(buf, 1, bytes, stdin);
+     }
+     else
+     {
+         rb = fread(buf, 1, bytes, files[fno]);
+     }
+     return ((int)rb);
+ }
+ 
+ int write(int fno, const void *buf, size_t bytes)
+ {
+     size_t wb;
+ 
+     if (fno == 1)
+     {
+         fwrite(buf, 1, bytes, stdout);
+     }
+     else if (fno == 2)
+     {
+         fwrite(buf, 1, bytes, stderr);
+     }
+     else if (fno > 2)
+     {
+         wb = fwrite(buf, 1, bytes, files[fno]);
+     }
+     return ((int)wb);
+ }
+ 
+ int close(int fno)
+ {
+     if (fno >= 3)
+     {
+         fclose(files[fno]);
+         files[fno] = NULL;
+     }
+     return (0);
+ }
+ 
+ long lseek(int fno, long int offset, int whence)
+ {
+     return (fseek(files[fno], offset, whence));
+ }
+ 
+ FILE *fdopen(int fno, const char *mode)
+ {
+     return (files[fno]);
+ }
+ 
+ #if 0
+ char *getcwd(char *buf, int len)
+ {
+     if (len != 0)
+     {
+         *buf = '\0';
+     }
+     return (buf);
+ }
+ #endif
+ 
+ char *getwd(char *buf)
+ {
+     *buf = '\0';
+     return (buf);
+ }
+ 
+ int unlink(const char *f)
+ {
+     remove(f);
+     return (0);
+ }
+ 
+ int stat(const char *f, struct stat *buf)
+ {
+     memset(buf, '\0', sizeof *buf);
+     buf->st_mode = S_IFREG;
+     buf->st_size = 999999;
+     return (0);
+ }
+ 
+ int fileno(FILE *fp)
+ {
+     return (0);
+ }
+ 
+ int access(const char *f, int n)
+ {
+     return (1);
+ }
+ 
+ int fstat(int fh, struct stat *buf)
+ {
+     memset(buf, '\0', sizeof *buf);
+     return (0);
+ }
+ 
+ int pwait(int a, int *b, int c)
+ {
+     return (0);
+ }
+ 
+ #if 0
+ int putenv(const char *x)
+ {
+     return (0);
+ }
+ #endif
+ 
+ char *mktemp(char *s)
+ {
+     return (tmpnam(s));
+ }
+ 
+ int chdir(char *path)
+ {
+     return (0);
+ }
+ 
+ int rmdir(char *path)
+ {
+     return (0);
+ }
+ 
+ int mkdir(char *path, int permissions)
+ {
+     return (0);
+ }
+ 
+ FILE *popen(const char *s, const char *t)
+ {
+     return (NULL);
+ }
+ 
+ int pclose(FILE *f)
+ {
+     return (0);
+ }
+ 
+ int kill(int a, int b)
+ {
+     return (0);
+ }
+ 
+ int mkstemp(char *buf)
+ {
+     return (open(tmpnam(buf), O_WRONLY));
+ }
+ 
+ DIR *opendir(char *dirname)
+ {
+     return (NULL);
+ }
+ 
+ struct dirent *readdir(DIR *dir)
+ {
+     return (NULL);
+ }
+ 
+ int closedir(DIR *dir)
+ {
+     return (0);
+ }
+ 
+ int execvp(char *path, char **argv)
+ {
+     return (0);
+ }
Index: gcc/libiberty/vasprintf.c
diff -c gcc/libiberty/vasprintf.c:1.1.1.1 gcc/libiberty/vasprintf.c:1.1.1.2
*** gcc/libiberty/vasprintf.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/vasprintf.c	Wed Apr 15 16:56:57 2009
***************
*** 73,83 ****
--- 73,87 ----
    int total_width = strlen (format) + 1;
    va_list ap;
  
+ #if defined(VALIST_NOT_PTR)
+   memcpy ((PTR) ap, (PTR) args, sizeof (va_list));
+ #else
  #ifdef va_copy
    va_copy (ap, args);
  #else
    memcpy ((PTR) &ap, (PTR) &args, sizeof (va_list));
  #endif
+ #endif
  
    while (*p != '\0')
      {
Index: gcc/libiberty/waitpid.c
diff -c gcc/libiberty/waitpid.c:1.1.1.1 gcc/libiberty/waitpid.c:1.2
*** gcc/libiberty/waitpid.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/waitpid.c	Sun Nov 15 17:23:15 2009
***************
*** 16,27 ****
--- 16,31 ----
  
  /* On some systems (such as WindISS), you must include <sys/types.h>
     to get the definition of "pid_t" before you include <sys/wait.h>.  */
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  
  #ifdef HAVE_SYS_WAIT_H
  #include <sys/wait.h>
  #endif
  
+ #include "libiberty.h"
+ 
  pid_t
  waitpid (pid, stat_loc, options)
       pid_t pid;
Index: gcc/libiberty/xmalloc.c
diff -c gcc/libiberty/xmalloc.c:1.1.1.1 gcc/libiberty/xmalloc.c:1.3
*** gcc/libiberty/xmalloc.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/xmalloc.c	Mon May  4 10:04:18 2009
***************
*** 67,72 ****
--- 67,73 ----
  #include "libiberty.h"
  
  #include <stdio.h>
+ #include <stdlib.h>
  
  #ifdef ANSI_PROTOTYPES
  #include <stddef.h>
***************
*** 129,135 ****
  	   name, *name ? ": " : "",
  	   (unsigned long) size);
  #endif /* HAVE_SBRK */
!   xexit (1);
  }  
  
  PTR
--- 130,136 ----
  	   name, *name ? ": " : "",
  	   (unsigned long) size);
  #endif /* HAVE_SBRK */
!   xexit (EXIT_FAILURE);
  }  
  
  PTR
Index: gcc/libiberty/xmemdup.c
diff -c gcc/libiberty/xmemdup.c:1.1.1.1 gcc/libiberty/xmemdup.c:1.2
*** gcc/libiberty/xmemdup.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/xmemdup.c	Tue Jun 30 10:40:14 2009
***************
*** 21,27 ****
--- 21,29 ----
  #include "ansidecl.h"
  #include "libiberty.h"
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h> /* For size_t. */
+ #endif
  #ifdef HAVE_STRING_H
  #include <string.h>
  #endif
Index: gcc/libiberty/xstrdup.c
diff -c gcc/libiberty/xstrdup.c:1.1.1.1 gcc/libiberty/xstrdup.c:1.2
*** gcc/libiberty/xstrdup.c:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/xstrdup.c	Fri May  1 18:52:18 2009
***************
*** 13,19 ****
--- 13,21 ----
  
  */
  
+ #ifdef HAVE_SYS_TYPES_H
  #include <sys/types.h>
+ #endif
  #ifdef HAVE_CONFIG_H
  #include "config.h"
  #endif
Index: gcc/libiberty/config/mh-openedition
diff -c gcc/libiberty/config/mh-openedition:1.1.1.1 gcc/libiberty/config/mh-openedition:1.1.1.2
*** gcc/libiberty/config/mh-openedition:1.1.1.1	Wed Apr 15 16:28:31 2009
--- gcc/libiberty/config/mh-openedition	Wed Apr 15 16:57:01 2009
***************
*** 1,3 ****
! HDEFINES = -D_ALL_SOURCE -DLE370
  CC=c89
  
--- 1,3 ----
! HDEFINES = -D_ALL_SOURCE -DVALIST_NOT_PTR
  CC=c89
  
