summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-apps/at/at-3.1.8-r1.ebuild64
-rw-r--r--sys-apps/at/files/digest-at-3.1.8-r12
-rw-r--r--sys-apps/baselayout/baselayout-1.4.ebuild122
-rw-r--r--sys-apps/baselayout/baselayout-1.5-r1.ebuild136
-rw-r--r--sys-apps/baselayout/baselayout-1.5-r2.ebuild140
-rw-r--r--sys-apps/bash/bash-2.04-r1.ebuild56
-rw-r--r--sys-apps/bash/bash-2.04-r2.ebuild74
-rw-r--r--sys-apps/bash/files/digest-bash-2.04-r11
-rw-r--r--sys-apps/bash/files/digest-bash-2.04-r21
-rw-r--r--sys-apps/bzip2/bzip2-1.0.1-r1.ebuild58
-rw-r--r--sys-apps/bzip2/bzip2-1.0.1.ebuild46
-rw-r--r--sys-apps/bzip2/files/digest-bzip2-1.0.11
-rw-r--r--sys-apps/bzip2/files/digest-bzip2-1.0.1-r11
-rw-r--r--sys-apps/bzip2/files/digest-bzip2-1.0.1-r21
-rw-r--r--sys-apps/console-data/console-data-1999.08.29-r1.ebuild34
-rw-r--r--sys-apps/console-data/files/digest-console-data-1999.08.29-r11
-rw-r--r--sys-apps/console-tools/console-tools-0.2.3-r2.ebuild57
-rw-r--r--sys-apps/console-tools/files/digest-console-tools-0.2.3-r21
-rw-r--r--sys-apps/cpio/cpio-2.4.2-r2.ebuild43
-rw-r--r--sys-apps/cpio/files/digest-cpio-2.4.2-r11
-rw-r--r--sys-apps/cpio/files/digest-cpio-2.4.2-r21
-rw-r--r--sys-apps/cpio/files/digest-cpio-2.4.2-r31
-rw-r--r--sys-apps/daemontools/daemontools-0.70.ebuild39
-rw-r--r--sys-apps/daemontools/files/digest-daemontools-0.701
-rw-r--r--sys-apps/dcron/files/digest-dcron-2.7-r21
-rw-r--r--sys-apps/dcron/files/digest-dcron-2.7-r31
-rw-r--r--sys-apps/debianutils/debianutils-1.13.3-r1.ebuild40
-rw-r--r--sys-apps/debianutils/debianutils-1.13.3-r2.ebuild42
-rw-r--r--sys-apps/debianutils/files/digest-debianutils-1.13.3-r11
-rw-r--r--sys-apps/debianutils/files/digest-debianutils-1.13.3-r21
-rw-r--r--sys-apps/devfsd/devfsd-1.3.10.ebuild38
-rw-r--r--sys-apps/devfsd/files/digest-devfsd-1.3.101
-rw-r--r--sys-apps/diffutils/diffutils-2.7-r1.ebuild31
-rw-r--r--sys-apps/diffutils/diffutils-2.7-r2.ebuild30
-rw-r--r--sys-apps/diffutils/files/digest-diffutils-2.7-r11
-rw-r--r--sys-apps/diffutils/files/digest-diffutils-2.7-r21
-rw-r--r--sys-apps/e2fsprogs/e2fsprogs-1.19-r1.ebuild76
-rw-r--r--sys-apps/e2fsprogs/e2fsprogs-1.19.ebuild52
-rw-r--r--sys-apps/e2fsprogs/files/digest-e2fsprogs-1.191
-rw-r--r--sys-apps/e2fsprogs/files/digest-e2fsprogs-1.19-r11
-rw-r--r--sys-apps/ed/ed-0.2.ebuild29
-rw-r--r--sys-apps/ed/files/digest-ed-0.21
-rw-r--r--sys-apps/file/file-3.33-r1.ebuild32
-rw-r--r--sys-apps/file/file-3.33.ebuild31
-rw-r--r--sys-apps/file/files/digest-file-3.331
-rw-r--r--sys-apps/file/files/digest-file-3.33-r11
-rw-r--r--sys-apps/fileutils/files/digest-fileutils-4.0.331
-rw-r--r--sys-apps/fileutils/files/digest-fileutils-4.0.361
-rw-r--r--sys-apps/fileutils/files/digest-fileutils-4.0.36-r11
-rw-r--r--sys-apps/fileutils/files/digest-fileutils-4.0.36-r21
-rw-r--r--sys-apps/fileutils/fileutils-4.0.36-r1.ebuild31
-rw-r--r--sys-apps/fileutils/fileutils-4.0.36-r2.ebuild38
-rw-r--r--sys-apps/fileutils/fileutils-4.0.36.ebuild28
-rw-r--r--sys-apps/findutils/files/digest-findutils-4.1-r11
-rw-r--r--sys-apps/findutils/files/digest-findutils-4.1-r31
-rw-r--r--sys-apps/findutils/files/digest-findutils-4.1-r41
-rw-r--r--sys-apps/findutils/findutils-4.1-r2.ebuild52
-rw-r--r--sys-apps/findutils/findutils-4.1-r3.ebuild52
-rw-r--r--sys-apps/findutils/findutils-4.1-r4.ebuild56
-rw-r--r--sys-apps/gawk/files/digest-gawk-3.0.61
-rw-r--r--sys-apps/gawk/files/digest-gawk-3.0.6-r11
-rw-r--r--sys-apps/gawk/files/digest-gawk-3.0.6-r21
-rw-r--r--sys-apps/gawk/gawk-3.0.6-r1.ebuild39
-rw-r--r--sys-apps/gawk/gawk-3.0.6-r2.ebuild41
-rw-r--r--sys-apps/gawk/gawk-3.0.6.ebuild39
-rw-r--r--sys-apps/gluelog/gluelog-1.0-r1.ebuild36
-rw-r--r--sys-apps/grep/files/digest-grep-2.4.2-r11
-rw-r--r--sys-apps/grep/files/digest-grep-2.4.2-r21
-rw-r--r--sys-apps/grep/grep-2.4.2-r1.ebuild25
-rw-r--r--sys-apps/grep/grep-2.4.2-r2.ebuild32
-rw-r--r--sys-apps/groff/files/digest-groff-1.16.11
-rw-r--r--sys-apps/groff/groff-1.16.1.ebuild42
-rw-r--r--sys-apps/grub/files/digest-grub-0.5.96.1-r11
-rw-r--r--sys-apps/grub/grub-0.5.96.1-r1.ebuild28
-rw-r--r--sys-apps/gzip/files/digest-gzip-1.2.4a-r11
-rw-r--r--sys-apps/gzip/files/digest-gzip-1.2.4a-r21
-rw-r--r--sys-apps/gzip/gzip-1.2.4a-r1.ebuild50
-rw-r--r--sys-apps/gzip/gzip-1.2.4a-r2.ebuild54
-rw-r--r--sys-apps/hdparm/files/digest-hdparm-3.9-r21
-rw-r--r--sys-apps/hdparm/hdparm-3.9-r2.ebuild34
-rw-r--r--sys-apps/ipchains/files/digest-ipchains-1.3.101
-rw-r--r--sys-apps/ipchains/ipchains-1.3.10.ebuild39
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.2.41
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.2.4-r11
-rw-r--r--sys-apps/iptables/files/digest-iptables-1.1.21
-rw-r--r--sys-apps/iptables/files/digest-iptables-1.21
-rw-r--r--sys-apps/iptables/files/digest-iptables-1.2-r11
-rw-r--r--sys-apps/isapnptools/files/digest-isapnptools-1.231
-rw-r--r--sys-apps/isapnptools/isapnptools-1.23.ebuild43
-rw-r--r--sys-apps/less/files/digest-less-358-r11
-rw-r--r--sys-apps/less/less-358-r1.ebuild32
-rw-r--r--sys-apps/lilo/files/digest-lilo-21.61
-rw-r--r--sys-apps/lilo/files/digest-lilo-21.6-r11
-rw-r--r--sys-apps/lilo/lilo-21.6-r1.ebuild76
-rw-r--r--sys-apps/lilo/lilo-21.6.ebuild62
-rw-r--r--sys-apps/man-pages/files/digest-man-pages-1.312
-rw-r--r--sys-apps/man-pages/man-pages-1.31.ebuild49
-rw-r--r--sys-apps/man/files/digest-man-1.5.1h-r11
-rw-r--r--sys-apps/man/man-1.5.1h-r1.ebuild61
-rw-r--r--sys-apps/modutils/files/digest-modutils-2.3.221
-rw-r--r--sys-apps/modutils/files/digest-modutils-2.3.241
-rw-r--r--sys-apps/modutils/files/digest-modutils-2.4.01
-rw-r--r--sys-apps/modutils/modutils-2.3.22.ebuild33
-rw-r--r--sys-apps/modutils/modutils-2.3.24.ebuild33
-rw-r--r--sys-apps/modutils/modutils-2.4.0.ebuild32
-rw-r--r--sys-apps/most/files/digest-most-4.9.0-r11
-rw-r--r--sys-apps/most/most-4.9.0-r1.ebuild30
-rw-r--r--sys-apps/net-tools/files/digest-net-tools-1.57-r11
-rw-r--r--sys-apps/net-tools/files/digest-net-tools-1.57-r21
-rw-r--r--sys-apps/net-tools/net-tools-1.57-r1.ebuild41
-rw-r--r--sys-apps/net-tools/net-tools-1.57-r2.ebuild51
-rw-r--r--sys-apps/netkit-base/files/digest-netkit-base-0.17-r11
-rw-r--r--sys-apps/netkit-base/netkit-base-0.17-r1.ebuild35
-rw-r--r--sys-apps/procps/files/digest-procps-2.0.61
-rw-r--r--sys-apps/procps/files/digest-procps-2.0.7-r11
-rw-r--r--sys-apps/procps/files/digest-procps-2.0.7-r21
-rw-r--r--sys-apps/procps/procps-2.0.6.ebuild58
-rw-r--r--sys-apps/procps/procps-2.0.7-r1.ebuild55
-rw-r--r--sys-apps/procps/procps-2.0.7-r2.ebuild60
-rw-r--r--sys-apps/psmisc/files/digest-psmisc-19-r11
-rw-r--r--sys-apps/psmisc/psmisc-19-r1.ebuild36
-rw-r--r--sys-apps/raidtools/files/digest-raidtools-0.90-r11
-rw-r--r--sys-apps/raidtools/raidtools-0.90-r1.ebuild47
-rw-r--r--sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.251
-rw-r--r--sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r12
-rw-r--r--sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r22
-rw-r--r--sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r32
-rw-r--r--sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r42
-rw-r--r--sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r51
-rw-r--r--sys-apps/reiserfs-utils/reiserfs-utils-3.6.25.ebuild36
-rw-r--r--sys-apps/sed/files/digest-sed-3.02.801
-rw-r--r--sys-apps/sed/files/digest-sed-3.02.80-r11
-rw-r--r--sys-apps/sed/sed-3.02.80-r1.ebuild34
-rw-r--r--sys-apps/sed/sed-3.02.80.ebuild27
-rw-r--r--sys-apps/setserial/files/digest-setserial-2.17-r11
-rw-r--r--sys-apps/setserial/setserial-2.17-r1.ebuild32
-rw-r--r--sys-apps/sh-utils/files/digest-sh-utils-2.0j-r11
-rw-r--r--sys-apps/sh-utils/files/digest-sh-utils-2.0j-r21
-rw-r--r--sys-apps/sh-utils/sh-utils-2.0j-r1.ebuild43
-rw-r--r--sys-apps/sh-utils/sh-utils-2.0j-r2.ebuild48
-rw-r--r--sys-apps/shadow/files/digest-shadow-20000902-r11
-rw-r--r--sys-apps/shadow/files/digest-shadow-200010161
-rw-r--r--sys-apps/shadow/files/digest-shadow-20001016-r11
-rw-r--r--sys-apps/shadow/files/digest-shadow-20001016-r21
-rw-r--r--sys-apps/shadow/shadow-20000902-r1.ebuild57
-rw-r--r--sys-apps/shadow/shadow-20001016-r1.ebuild65
-rw-r--r--sys-apps/shadow/shadow-20001016-r2.ebuild83
-rw-r--r--sys-apps/sharutils/files/digest-sharutils-4.2.1-r11
-rw-r--r--sys-apps/sharutils/files/digest-sharutils-4.2.1-r21
-rw-r--r--sys-apps/sharutils/sharutils-4.2.1-r1.ebuild40
-rw-r--r--sys-apps/sharutils/sharutils-4.2.1-r2.ebuild46
-rw-r--r--sys-apps/shtool/files/digest-shtool-1.5.1-r11
-rw-r--r--sys-apps/shtool/shtool-1.5.1-r1.ebuild31
-rw-r--r--sys-apps/star/files/digest-star-1.3_alpha81
-rw-r--r--sys-apps/star/files/digest-star-1.3_alpha8-r11
-rw-r--r--sys-apps/star/star-1.3_alpha8-r1.ebuild43
-rw-r--r--sys-apps/star/star-1.3_alpha8.ebuild39
-rw-r--r--sys-apps/sysklogd/files/digest-sysklogd-1.41
-rw-r--r--sys-apps/sysklogd/files/digest-sysklogd-1.4-r11
-rw-r--r--sys-apps/sysklogd/sysklogd-1.4-r1.ebuild38
-rw-r--r--sys-apps/sysklogd/sysklogd-1.4.ebuild35
-rw-r--r--sys-apps/sysvinit/files/digest-sysvinit-2.78-r11
-rw-r--r--sys-apps/sysvinit/sysvinit-2.78-r1.ebuild45
-rw-r--r--sys-apps/tar/files/digest-tar-1.13.181
-rw-r--r--sys-apps/tar/files/digest-tar-1.13.18-r11
-rw-r--r--sys-apps/tar/files/digest-tar-1.13.18-r21
-rw-r--r--sys-apps/tar/files/digest-tar-1.13.18-r31
-rw-r--r--sys-apps/tar/tar-1.13.18-r1.ebuild32
-rw-r--r--sys-apps/tar/tar-1.13.18-r2.ebuild36
-rw-r--r--sys-apps/tar/tar-1.13.18-r3.ebuild53
-rw-r--r--sys-apps/tcp-wrappers/files/digest-tcp-wrappers-7.6-r11
-rw-r--r--sys-apps/tcp-wrappers/files/tcp_wrappers_7.6.patch24
-rw-r--r--sys-apps/tcp-wrappers/tcp-wrappers-7.6-r1.ebuild45
-rw-r--r--sys-apps/texinfo/files/digest-texinfo-4.0-r11
-rw-r--r--sys-apps/texinfo/texinfo-4.0-r1.ebuild43
-rw-r--r--sys-apps/textutils/files/digest-textutils-2.0.101
-rw-r--r--sys-apps/textutils/files/digest-textutils-2.0.10-r11
-rw-r--r--sys-apps/textutils/files/digest-textutils-2.0.91
-rw-r--r--sys-apps/textutils/textutils-2.0.10-r1.ebuild36
-rw-r--r--sys-apps/textutils/textutils-2.0.10.ebuild40
-rw-r--r--sys-apps/ucspi-tcp/files/digest-ucspi-tcp-0.881
-rw-r--r--sys-apps/ucspi-tcp/ucspi-tcp-0.88.ebuild39
-rw-r--r--sys-apps/util-linux/files/digest-util-linux-2.10q1
-rw-r--r--sys-apps/util-linux/files/digest-util-linux-2.10q-r11
-rw-r--r--sys-apps/util-linux/files/util-linux-2.10o.int.patch785
-rw-r--r--sys-apps/util-linux/util-linux-2.10q-r1.ebuild57
-rw-r--r--sys-apps/util-linux/util-linux-2.10q.ebuild47
-rw-r--r--sys-apps/vcron/files/digest-vcron-3.0_p1-r11
-rw-r--r--sys-apps/vim-nogui/files/digest-vim-nogui-5.7-r22
-rw-r--r--sys-apps/vim-nogui/vim-nogui-5.7-r2.ebuild35
-rw-r--r--sys-apps/watchpid/files/digest-watchpid-0.11
-rw-r--r--sys-apps/watchpid/watchpid-0.1.ebuild25
-rw-r--r--sys-apps/which/files/digest-which-2.121
-rw-r--r--sys-apps/which/which-2.12.ebuild33
-rw-r--r--sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r11
-rw-r--r--sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r21
-rw-r--r--sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r31
-rw-r--r--sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r41
-rw-r--r--sys-apps/xinetd/xinetd-2.1.8.8_p3-r4.ebuild38
-rw-r--r--sys-apps/yard/files/digest-yard-2.01
-rw-r--r--sys-apps/yard/files/yard-2.0-doc-Makefile.in-gentoo.diff~16
-rw-r--r--sys-apps/yard/yard-2.0.ebuild46
-rw-r--r--sys-build/bash/bash-2.04-r1.ebuild36
-rw-r--r--sys-build/bash/files/digest-bash-2.04-r11
-rw-r--r--sys-build/binutils/binutils-2.10.1.ebuild24
-rw-r--r--sys-build/binutils/files/digest-binutils-2.10.11
-rw-r--r--sys-build/bison/bison-1.28-r1.ebuild27
-rw-r--r--sys-build/bison/files/digest-bison-1.28-r11
-rw-r--r--sys-build/bzip2/bzip2-1.0.1.ebuild33
-rw-r--r--sys-build/bzip2/files/digest-bzip2-1.0.11
-rw-r--r--sys-build/debianutils/debianutils-1.13.3-r1.ebuild31
-rw-r--r--sys-build/debianutils/files/digest-debianutils-1.13.3-r11
-rw-r--r--sys-build/diffutils/diffutils-2.7-r1.ebuild25
-rw-r--r--sys-build/diffutils/files/digest-diffutils-2.7-r11
-rw-r--r--sys-build/file/file-3.33.ebuild27
-rw-r--r--sys-build/file/files/digest-file-3.331
-rw-r--r--sys-build/fileutils/files/digest-fileutils-4.0.36-r11
-rw-r--r--sys-build/fileutils/fileutils-4.0.36-r1.ebuild26
-rw-r--r--sys-build/findutils/files/digest-findutils-4.1-r31
-rw-r--r--sys-build/findutils/findutils-4.1-r3.ebuild47
-rw-r--r--sys-build/flex/files/digest-flex-2.5.4a-r11
-rw-r--r--sys-build/flex/flex-2.5.4a-r1.ebuild24
-rw-r--r--sys-build/gawk/files/digest-gawk-3.0.6-r11
-rw-r--r--sys-build/gawk/gawk-3.0.6-r1.ebuild27
-rw-r--r--sys-build/gcc/files/digest-gcc-2.95.2-r46
-rw-r--r--sys-build/gcc/files/digest-gcc-2.95.2.12
-rw-r--r--sys-build/gcc/files/gcc-2.95.2.dif.gzbin1644 -> 0 bytes
-rw-r--r--sys-build/gcc/files/gcc-accept-doublecolon.diff.gzbin367 -> 0 bytes
-rw-r--r--sys-build/gcc/files/gcc-exception-fix.diff.gzbin1487 -> 0 bytes
-rw-r--r--sys-build/gcc/files/gcc-glibc-2.2-compat.diff332
-rw-r--r--sys-build/gcc/files/gccinclude-glibc-2.2-compat.diff50
-rw-r--r--sys-build/gcc/files/libioP.h657
-rw-r--r--sys-build/gcc/gcc-2.95.2-r4.ebuild83
-rw-r--r--sys-build/glibc/files/digest-glibc-2.2.12
-rw-r--r--sys-build/glibc/glibc-2.2.1.ebuild55
-rw-r--r--sys-build/grep/files/digest-grep-2.4.2-r11
-rw-r--r--sys-build/grep/grep-2.4.2-r1.ebuild25
-rw-r--r--sys-build/gzip/files/digest-gzip-1.2.4a-r11
-rw-r--r--sys-build/gzip/gzip-1.2.4a-r1.ebuild35
-rw-r--r--sys-build/make/files/digest-make-3.79.1-r11
-rw-r--r--sys-build/make/make-3.79.1-r1.ebuild25
-rw-r--r--sys-build/patch/files/digest-patch-2.5.4-r11
-rw-r--r--sys-build/patch/patch-2.5.4-r1.ebuild25
-rw-r--r--sys-build/sed/files/digest-sed-3.02.801
-rw-r--r--sys-build/sed/sed-3.02.80.ebuild20
-rw-r--r--sys-build/sh-utils/files/digest-sh-utils-2.0j-r11
-rw-r--r--sys-build/sh-utils/sh-utils-2.0j-r1.ebuild37
-rw-r--r--sys-build/spython/files/digest-spython-2.0-r12
-rw-r--r--sys-build/spython/files/pfconfig.h17
-rw-r--r--sys-build/spython/spython-2.0-r1.ebuild59
-rw-r--r--sys-build/tar/files/digest-tar-1.13.18-r11
-rw-r--r--sys-build/tar/tar-1.13.18-r1.ebuild27
-rw-r--r--sys-build/textutils/files/digest-textutils-2.0.101
-rw-r--r--sys-build/textutils/textutils-2.0.10.ebuild28
-rw-r--r--sys-devel/autoconf/autoconf-2.13-r1.ebuild27
-rw-r--r--sys-devel/autoconf/files/digest-autoconf-2.13-r11
-rw-r--r--sys-devel/automake/automake-1.4-r1.ebuild27
-rw-r--r--sys-devel/automake/automake-1.4d.ebuild27
-rw-r--r--sys-devel/automake/files/digest-automake-1.4-r11
-rw-r--r--sys-devel/automake/files/digest-automake-1.4d1
-rw-r--r--sys-devel/bc/bc-1.06.ebuild28
-rw-r--r--sys-devel/bc/files/digest-bc-1.061
-rw-r--r--sys-devel/bin86/bin86-0.15.4.ebuild37
-rw-r--r--sys-devel/bin86/files/digest-bin86-0.15.41
-rw-r--r--sys-devel/binutils/binutils-2.10.1-r1.ebuild44
-rw-r--r--sys-devel/binutils/binutils-2.10.1.0.7.ebuild40
-rw-r--r--sys-devel/binutils/binutils-2.10.1.ebuild41
-rw-r--r--sys-devel/binutils/binutils-2.10.91.0.2.ebuild40
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.10.11
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.10.1-r11
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.10.1.0.71
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.10.1.0.7-r11
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.10.91.0.21
-rw-r--r--sys-devel/bison/bison-1.28-r1.ebuild30
-rw-r--r--sys-devel/bison/bison-1.28-r2.ebuild34
-rw-r--r--sys-devel/bison/files/digest-bison-1.28-r11
-rw-r--r--sys-devel/bison/files/digest-bison-1.28-r21
-rw-r--r--sys-devel/flex/files/digest-flex-2.5.4a-r11
-rw-r--r--sys-devel/flex/files/digest-flex-2.5.4a-r21
-rw-r--r--sys-devel/flex/files/digest-flex-2.5.4a-r31
-rw-r--r--sys-devel/gcc/files/digest-gcc-2.95.2-r46
-rw-r--r--sys-devel/gcc/files/digest-gcc-2.95.2.17
-rw-r--r--sys-devel/gcc/files/digest-gcc-2.95.2.1-r17
-rw-r--r--sys-devel/gcc/files/digest-gcc-2.96.200007316
-rw-r--r--sys-devel/gcc/files/gcc-2.95.2.dif.gzbin1644 -> 0 bytes
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-Os-testcase.patch44
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-alias.patch55
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-align-memcpy.patch39
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-addressof.patch25
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-mi-thunk.patch16
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-tune.patch216
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-unaligned.patch253
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-bogus-subreg.patch83
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-binding-levels.patch40
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-crash24.patch72
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-ice.patch20
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-inline16-test.patch31
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-named-return-value.patch711
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-pmf.patch19
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-static-class.patch24
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset1.patch88
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset2.patch109
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-typedef.patch43
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-undefined-method.patch469
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-walk-tree.patch64
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-c99.patch383
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-callersave-segv.patch95
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-canon-cond.patch25
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-clear-hack.patch14
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-combine-comparison.patch18
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-commutative.patch169
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-cp-ii.patch20
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-assert-crash.patch16
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warn.patch1213
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste.patch48
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste2.patch62
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp0.patch235
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpplib.patch128
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-do-store-flag.patch16
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-f-include.patch36
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-f77-fdebug.patch89
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-float-condmove.patch36
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-format-checking.patch643
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-address-cost.patch15
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith.patch448
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith2.patch1663
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ashlsilea.patch24
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call-test.patch63
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call.patch189
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call2.patch89
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-compare-test.patch24
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-constraint-N.patch14
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ge_geu.patch39
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-gotoff.patch70
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-lea.patch35
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload-test.patch66
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload.patch149
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-sibcall.patch61
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-strops.patch273
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-aggregate-alias.patch61
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-struct.patch33
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-iso-not-ansi.patch762
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-bytecode.patch42
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-catchup.patch1598
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-jword.patch26
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-misc.patch353
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-no-super-layout.patch28
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-pg.patch15
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm1.patch178
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm2.patch160
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm3.patch20
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm4.patch230
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm5.patch1009
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm6.patch201
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm7.patch80
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm8.patch197
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-libg++-config.patch92
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-endl.patch35
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-printf_fp.patch38
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio.patch21
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-libstdc++-v3-wnoerror.patch33
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-giv.patch45
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-hack.patch63
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt.patch40
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt2.patch27
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-scanloop.patch27
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test1.patch46
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test2.patch47
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-unroll.patch38
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop.patch36
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-lowpart-test.patch22
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-make-extraction.patch29
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-new-abi.patch49
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-no-warn-trigraphs.patch16
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-place-field.patch17
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-pt-enum.patch81
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-real-value.patch65
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-regmove-asm.patch92
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-relational.patch738
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-scanf.patch291
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv1.patch39
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv2.patch25
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv3.patch59
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-eh2.patch53
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-unchanging.patch130
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall.patch270
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-simplify-relational.patch53
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-4096.patch110
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-const-pool.patch78
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-copy-leaf-remappable.patch182
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-may-trap.patch68
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-mi-thunk.patch59
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-output-formatting.patch72
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-pic.patch160
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack.patch66
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack2.patch289
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-vaarg.patch50
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-decloffset.patch26
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-hwint.patch20
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-mi-thunk.patch26
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-namedret.patch33
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-nested-fn.patch17
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload-test.patch88
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload.patch19
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload2.patch25
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-startfile.patch227
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-subreg-byte.patch5237
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-timode.patch67
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-uname.patch156
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparcv9-hack.patch25
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-stmtexpr.patch16
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-strftime.patch70
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-string-crash.patch20
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-expmed.patch40
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-operand-subword.patch26
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-gcse.patch50
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-subregbyte-gcse.patch79
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-test-991206-1.patch13
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-unroll.patch19
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-wchar-const.patch48
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-wint_t.patch159
-rw-r--r--sys-devel/gcc/files/gcc-2.96.20000731/gcc-xopen.patch59
-rw-r--r--sys-devel/gcc/files/gcc-accept-doublecolon.diff.gzbin367 -> 0 bytes
-rw-r--r--sys-devel/gcc/files/gcc-exception-fix.diff.gzbin1487 -> 0 bytes
-rw-r--r--sys-devel/gcc/files/gcc-glibc-2.2-compat.diff332
-rw-r--r--sys-devel/gcc/files/gccinclude-glibc-2.2-compat.diff50
-rw-r--r--sys-devel/gcc/files/libioP.h657
-rw-r--r--sys-devel/gcc/gcc-2.95.2-r4.ebuild130
-rw-r--r--sys-devel/gcc/gcc-2.95.2-r5.ebuild136
-rw-r--r--sys-devel/gcc/gcc-2.95.2.1-r1.ebuild174
-rw-r--r--sys-devel/gcc/gcc-2.95.2.1.ebuild141
-rw-r--r--sys-devel/gcc/gcc-2.96.20000731.ebuild102
-rw-r--r--sys-devel/gdb/files/digest-gdb-5.0-r11
-rw-r--r--sys-devel/gdb/gdb-5.0-r1.ebuild46
-rw-r--r--sys-devel/gettext/files/digest-gettext-0.10.35-r11
-rw-r--r--sys-devel/gettext/gettext-0.10.35-r1.ebuild34
-rw-r--r--sys-devel/ld.so/files/digest-ld.so-1.9.11-r11
-rw-r--r--sys-devel/ld.so/ld.so-1.9.11-r1.ebuild26
-rw-r--r--sys-devel/libtool/files/digest-libtool-1.3.5-r11
-rw-r--r--sys-devel/libtool/libtool-1.3.5-r1.ebuild30
-rw-r--r--sys-devel/m4/files/digest-m4-1.4o-r11
-rw-r--r--sys-devel/m4/m4-1.4o-r1.ebuild32
-rw-r--r--sys-devel/make/files/digest-make-3.79.1-r11
-rw-r--r--sys-devel/make/files/digest-make-3.79.1-r21
-rw-r--r--sys-devel/make/make-3.79.1-r1.ebuild26
-rw-r--r--sys-devel/make/make-3.79.1-r2.ebuild30
-rw-r--r--sys-devel/patch/files/digest-patch-2.5.4-r11
-rw-r--r--sys-devel/patch/files/digest-patch-2.5.4-r21
-rw-r--r--sys-devel/patch/patch-2.5.4-r1.ebuild26
-rw-r--r--sys-devel/patch/patch-2.5.4-r2.ebuild29
-rw-r--r--sys-devel/perl/files/digest-perl-5.6.0-r31
-rw-r--r--sys-devel/perl/files/digest-perl-5.6.0-r41
-rw-r--r--sys-devel/perl/files/digest-perl-5.6.0-r51
-rw-r--r--sys-devel/perl/perl-5.6.0-r3.ebuild110
-rw-r--r--sys-devel/perl/perl-5.6.0-r4.ebuild110
-rw-r--r--sys-devel/perl/perl-5.6.0-r5.ebuild111
-rw-r--r--sys-devel/spython/files/digest-spython-1.5.22
-rw-r--r--sys-devel/spython/files/digest-spython-2.02
-rw-r--r--sys-devel/spython/files/digest-spython-2.0-r12
-rw-r--r--sys-devel/spython/files/digest-spython-2.0-r22
-rw-r--r--sys-devel/spython/files/digest-spython-2.0-r32
-rw-r--r--sys-devel/spython/spython-2.0-r2.ebuild67
-rw-r--r--sys-devel/spython/spython-2.0-r3.ebuild62
463 files changed, 0 insertions, 34038 deletions
diff --git a/sys-apps/at/at-3.1.8-r1.ebuild b/sys-apps/at/at-3.1.8-r1.ebuild
deleted file mode 100644
index ed9933347b6f..000000000000
--- a/sys-apps/at/at-3.1.8-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/at/at-3.1.8-r1.ebuild,v 1.8 2001/01/31 20:49:06 achim Exp $
-
-A="${P}.tar.bz2 ${P}.dif"
-S=${WORKDIR}/${P}
-DESCRIPTION="queues jobs for later execution"
-SRC_URI="ftp://jurix.jura.uni-sb.de/pub/jurix/source/chroot/appl/at/${P}.tar.bz2
- ftp://jurix.jura.uni-sb.de/pub/jurix/source/chroot/appl/at/${P}.dif"
-
-
-DEPEND=">=sys-libs/glibc-2.1.3
- sys-devel/flex"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
-
- try ./configure --host=${CHOST} --sysconfdir=/etc/at \
- --with-jobdir=/var/cron/atjobs \
- --with-atspool=/var/cron/atspool \
- --with-etcdir=/etc/at
- try pmake
-
-}
-
-src_unpack() {
-
- unpack ${P}.tar.bz2
- cd ${S}
- patch -p0 < ${DISTDIR}/${P}.dif
-
-}
-
-src_install() {
-
- cd ${S}
- into /usr
- chmod 755 batch
- chmod 755 atrun
- dobin at batch
- dosym /usr/bin/at /usr/bin/atrm
- dosym /usr/bin/at /usr/bin/atq
- dosbin atd atrun
- for i in atjobs atspool
- do
- dodir /var/cron/${i}
- fperms 700 /var/cron/${i}
- fowners daemon.daemon /var/cron/${i}
- done
- doman at.1 at_allow.5 atd.8 atrun.8
- dodoc COPYING ChangeLog Copyright
- docinto txt
- dodoc Problems README
- dodir /etc/rc.d/init.d
- cp ${O}/files/atd ${D}/etc/rc.d/init.d/
- dodir /etc/at
- cp ${O}/files/at.deny ${D}/etc/at/
-
-}
-
-
-
diff --git a/sys-apps/at/files/digest-at-3.1.8-r1 b/sys-apps/at/files/digest-at-3.1.8-r1
deleted file mode 100644
index 7ec2fb52f97d..000000000000
--- a/sys-apps/at/files/digest-at-3.1.8-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 f5194baac29a30b0d90604422dad7037 at-3.1.8.tar.bz2
-MD5 72330908ac1117627486af1fb873ea81 at-3.1.8.dif
diff --git a/sys-apps/baselayout/baselayout-1.4.ebuild b/sys-apps/baselayout/baselayout-1.4.ebuild
deleted file mode 100644
index 0a0bb73a843b..000000000000
--- a/sys-apps/baselayout/baselayout-1.4.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.4.ebuild,v 1.5 2001/01/09 23:04:11 drobbins Exp $# Copyright 1999-2000 Gentoo Technologies, Inc.
-
-A=""
-S=${WORKDIR}/${P}
-DESCRIPTION="Base layout for Gentoo Linux filesystem (incl. initscripts)"
-SRC_URI=""
-HOMEPAGE="http://www.gentoo.org"
-
-src_install()
-{
- if [ "$MAINTAINER" != "yes" ]
- then
- echo '!!! baselayout should only be merged if you know what youre doing.'
- echo '!!! It will overwrite important system files (passwd/group and others) with their'
- echo '!!! original versions. For now, please update your files by hand by'
- echo '!!! comparing the contents of the files in '${FILESDIR}' to your'
- echo '!!! installed versions. We will have an automated update system shortly.'
- exit 1
- fi
- dodir /boot
- dodir /usr/include /usr/src
- dosym /var/log /usr/adm
- dosym ../X11R6/include/X11 /usr/include/X11
- dosym ../src/linux/include/linux /usr/include/linux
- dosym ../src/linux/include/asm-i386 /usr/include/asm
- local foo
- for foo in games man lib sbin share bin doc src
- do
- dodir /usr/local/${foo}
- done
- doman ${FILESDIR}/MAKEDEV.8
- dodir /usr/lib
- dodir /usr/sbin
- dosbin ${FILESDIR}/MAKEDEV ${FILESDIR}/run-crons
- dodir /dev
- dodir /dev/pts
- dosym /usr/sbin/MAKEDEV /dev/MAKEDEV
- dodir /usr/share /usr/bin/ /usr/doc
- dodoc ${FILESDIR}/copyright ${FILESDIR}/changelog.Debian
- dodir /usr/X11R6/lib
- dodir /var /var/shm /var/run /var/log/news
- touch ${D}/var/log/lastlog
- touch ${D}/var/run/utmp
- touch ${D}/var/log/wtmp
- dodir /var/db/pkg /var/spool
- dodir /var/lib/supervise
- install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/control
- install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/services
- dodir /root /opt /home/ftp /etc/modules /proc
- chmod go-rx ${D}/root
- dodir /tmp
- chmod 1777 ${D}/tmp
- insopts -m0644
- insinto /etc
- for foo in services passwd shadow nsswitch.conf inetd.conf ld.so.conf protocols fstab hosts syslog.conf pwdb.conf filesystems group profile crontab
- do
- doins ${FILESDIR}/${foo}
- done
- for foo in hourly daily weekly monthly
- do
- dodir /etc/cron.$foo
- done
- chmod go-rwx ${D}/etc/shadow
- dodir /dev/pts /lib /proc /mnt/floppy /mnt/cdrom
- chmod go-rwx ${D}/mnt/floppy ${D}/mnt/cdrom
-
- for x in boot halt 1 2 3 4 5
- do
- dodir /etc/rc.d/rc${x}.d
- done
- dosym rcboot.d /etc/rc.d/rc0.d
- dosym rchalt.d /etc/rc.d/rc6.d
-
- dodir /etc/pam.d
- cd ${FILESDIR}/pam.d
- insinto /etc/pam.d
- doins *
-
- dodir /etc/rc.d/init.d
- dodir /etc/rc.d/config
- cd ${FILESDIR}/rc.d/init.d
- exeinto /etc/rc.d/init.d
- doexe *
- insinto /etc/rc.d/init.d/extra_scripts
- cd ${FILESDIR}/rc.d/config
- insinto /etc/rc.d/config
- doins *
- doins runlevels
- cd ${FILESDIR}
- insinto /etc
- doins inittab
- into /usr
- dosbin rc-update env-update
- insinto /usr/bin
- insopts -m0755
- doins colors
- dodir /dev
- cd ${D}/dev
- MAKEDEV generic-i386
- MAKEDEV sg
- MAKEDEV scd
- MAKEDEV rtc
- cd ${D}/etc/rc.d/config
- cp runlevels runlevels.orig
- sed -e 's:##OSNAME##:Gentoo Linux:g' -e 's:##ARCH##:i686a:g' runlevels.orig > runlevels
- rm runlevels.orig
-
- dodir /etc/env.d
- insinto /etc/env.d
- doins ${FILESDIR}/00basic
-}
-
-
-
-
-
-
-
-
diff --git a/sys-apps/baselayout/baselayout-1.5-r1.ebuild b/sys-apps/baselayout/baselayout-1.5-r1.ebuild
deleted file mode 100644
index 7b0c7673f1ab..000000000000
--- a/sys-apps/baselayout/baselayout-1.5-r1.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.5-r1.ebuild,v 1.2 2001/01/27 14:41:33 achim Exp $# Copyright 1999-2000 Gentoo Technologies, Inc.
-
-A=""
-S=${WORKDIR}/${P}
-DESCRIPTION="Base layout for Gentoo Linux filesystem (incl. initscripts)"
-SRC_URI=""
-HOMEPAGE="http://www.gentoo.org"
-
-src_install()
-{
- if [ "$MAINTAINER" != "yes" ]
- then
- echo '!!! baselayout should only be merged if you know what youre doing.'
- echo '!!! It will overwrite important system files (passwd/group and others) with their'
- echo '!!! original versions. For now, please update your files by hand by'
- echo '!!! comparing the contents of the files in '${FILESDIR}' to your'
- echo '!!! installed versions. We will have an automated update system shortly.'
- exit 1
- fi
- dodir /boot
- dodir /usr/include /usr/src
- dosym ../X11R6/include/X11 /usr/include/X11
- dosym ../src/linux/include/linux /usr/include/linux
- dosym ../src/linux/include/asm-i386 /usr/include/asm
- local foo
- for foo in games man lib sbin share bin doc src
- do
- dodir /usr/local/${foo}
- done
-
- dodir /usr/lib
- dodir /usr/sbin
- dosbin ${FILESDIR}/MAKEDEV ${FILESDIR}/run-crons
- dodir /dev
- dodir /dev/pts
- dosym /usr/sbin/MAKEDEV /dev/MAKEDEV
- dodir /usr/share/man /usr/share/info /usr/bin/ /usr/doc
-
-#FHS 2.1 stuff
- dosym share/man /usr/man
- dosym share/doc /usr/doc
- dosym share/info /usr/info
-#end FHS 2.1 stuff
- doman ${FILESDIR}/MAKEDEV.8
-
- dodoc ${FILESDIR}/copyright ${FILESDIR}/changelog.Debian
- dodir /usr/X11R6/lib
- dodir /var /var/shm /var/run /var/log/news
- touch ${D}/var/log/lastlog
- touch ${D}/var/run/utmp
- touch ${D}/var/log/wtmp
- dodir /var/db/pkg /var/spool
-
-#supervise stuff
- dodir /var/lib/supervise
- install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/control
- install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/services
-#end supervise stuff
- dodir /root /opt /etc/modules /proc
-
- chmod go-rx ${D}/root
- dodir /tmp
- chmod 1777 ${D}/tmp
- insopts -m0644
- insinto /etc
- for foo in services passwd shadow nsswitch.conf inetd.conf ld.so.conf protocols fstab hosts syslog.conf pwdb.conf filesystems group profile crontab
- do
- doins ${FILESDIR}/${foo}
- done
- for foo in hourly daily weekly monthly
- do
- dodir /etc/cron.$foo
- done
- chmod go-rwx ${D}/etc/shadow
- dodir /dev/pts /lib /proc /mnt/floppy /mnt/cdrom
- chmod go-rwx ${D}/mnt/floppy ${D}/mnt/cdrom
-
- for x in boot halt 1 2 3 4 5
- do
- dodir /etc/rc.d/rc${x}.d
- done
- dosym rcboot.d /etc/rc.d/rc0.d
- dosym rchalt.d /etc/rc.d/rc6.d
-
- dodir /etc/pam.d
- cd ${FILESDIR}/pam.d
- insinto /etc/pam.d
- doins *
-
- dodir /etc/rc.d/init.d
- dodir /etc/rc.d/config
- cd ${FILESDIR}/rc.d/init.d
- exeinto /etc/rc.d/init.d
- doexe *
- insinto /etc/rc.d/init.d/extra_scripts
- cd ${FILESDIR}/rc.d/config
- insinto /etc/rc.d/config
- doins *
- doins runlevels
- cd ${FILESDIR}
- insinto /etc
- doins inittab
- into /usr
- dosbin rc-update
- insinto /usr/bin
- insopts -m0755
- doins colors
- dodir /dev
- cd ${D}/dev
- MAKEDEV generic-i386
- MAKEDEV sg
- MAKEDEV scd
- MAKEDEV rtc
- cd ${D}/etc/rc.d/config
- cp runlevels runlevels.orig
- sed -e 's:##OSNAME##:Gentoo Linux:g' -e 's:##ARCH##:i686a:g' runlevels.orig > runlevels
- rm runlevels.orig
-
-#env-update stuff
- dodir /etc/env.d
- insinto /etc/env.d
- doins ${FILESDIR}/00basic
-#end env-update stuff
-
-}
-
-
-
-
-
-
-
-
diff --git a/sys-apps/baselayout/baselayout-1.5-r2.ebuild b/sys-apps/baselayout/baselayout-1.5-r2.ebuild
deleted file mode 100644
index 4bcd80b78f0e..000000000000
--- a/sys-apps/baselayout/baselayout-1.5-r2.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.5-r2.ebuild,v 1.3 2001/02/07 18:22:18 achim Exp $# Copyright 1999-2000 Gentoo Technologies, Inc.
-
-A=""
-S=${WORKDIR}/${P}
-DESCRIPTION="Base layout for Gentoo Linux filesystem (incl. initscripts)"
-SRC_URI=""
-HOMEPAGE="http://www.gentoo.org"
-
-src_install()
-{
- if [ "$MAINTAINER" != "yes" ]
- then
- echo '!!! baselayout should only be merged if you know what youre doing.'
- echo '!!! It will overwrite important system files (passwd/group and others) with their'
- echo '!!! original versions. For now, please update your files by hand by'
- echo '!!! comparing the contents of the files in '${FILESDIR}' to your'
- echo '!!! installed versions. We will have an automated update system shortly.'
- exit 1
- fi
- dodir /boot
- dodir /usr/include /usr/src
- dosym ../X11R6/include/X11 /usr/include/X11
- dosym ../src/linux/include/linux /usr/include/linux
- dosym ../src/linux/include/asm-i386 /usr/include/asm
- local foo
- for foo in games man lib sbin share bin doc src
- do
- dodir /usr/local/${foo}
- done
-
- dodir /usr/lib
- dodir /usr/sbin
- dosbin ${FILESDIR}/MAKEDEV ${FILESDIR}/run-crons
- dodir /dev
- dodir /dev/pts
- dosym /usr/sbin/MAKEDEV /dev/MAKEDEV
- dodir /usr/share/man /usr/share/info /usr/share/doc /usr/share/misc /usr/bin/
-
-#FHS 2.1 stuff
- dosym share/man /usr/man
- dosym share/doc /usr/doc
- dosym share/info /usr/info
-#end FHS 2.1 stuff
- dosym ../tmp /usr/tmp
- doman ${FILESDIR}/MAKEDEV.8
-
- dodoc ${FILESDIR}/copyright ${FILESDIR}/changelog.Debian
- dodir /usr/X11R6/lib
- dodir /var /var/shm /var/run /var/log/news
- touch ${D}/var/log/lastlog
- touch ${D}/var/run/utmp
- touch ${D}/var/log/wtmp
- dodir /var/db/pkg /var/spool /var/tmp /var/lib/misc
-
-#supervise stuff
- dodir /var/lib/supervise
- install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/control
- install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/services
-#end supervise stuff
- dodir /root /opt /etc/modules /proc
-
- chmod go-rx ${D}/root
- dodir /tmp
- chmod 1777 ${D}/tmp
- insopts -m0644
- insinto /etc
- for foo in services passwd shadow nsswitch.conf \
- inetd.conf ld.so.conf protocols fstab \
- hosts syslog.conf pwdb.conf filesystems \
- group profile crontab inputrc
- do
- doins ${FILESDIR}/${foo}
- done
- for foo in hourly daily weekly monthly
- do
- dodir /etc/cron.$foo
- done
- chmod go-rwx ${D}/etc/shadow
- dodir /dev/pts /lib /proc /mnt/floppy /mnt/cdrom
- chmod go-rwx ${D}/mnt/floppy ${D}/mnt/cdrom
-
- for x in boot halt 1 2 3 4 5
- do
- dodir /etc/rc.d/rc${x}.d
- done
- dosym rcboot.d /etc/rc.d/rc0.d
- dosym rchalt.d /etc/rc.d/rc6.d
-
- dodir /etc/pam.d
- cd ${FILESDIR}/pam.d
- insinto /etc/pam.d
- doins *
-
- dodir /etc/rc.d/init.d
- dodir /etc/rc.d/config
- cd ${FILESDIR}/rc.d/init.d
- exeinto /etc/rc.d/init.d
- doexe *
- insinto /etc/rc.d/init.d/extra_scripts
- cd ${FILESDIR}/rc.d/config
- insinto /etc/rc.d/config
- doins *
- doins runlevels
- cd ${FILESDIR}
- insinto /etc
- doins inittab
- into /usr
- dosbin rc-update
- insinto /usr/bin
- insopts -m0755
- doins colors
- dodir /dev
- cd ${D}/dev
- MAKEDEV generic-i386
- MAKEDEV sg
- MAKEDEV scd
- MAKEDEV rtc
- cd ${D}/etc/rc.d/config
- cp runlevels runlevels.orig
- sed -e 's:##OSNAME##:Gentoo Linux:g' -e 's:##ARCH##:i686a:g' runlevels.orig > runlevels
- rm runlevels.orig
-
-#env-update stuff
- dodir /etc/env.d
- insinto /etc/env.d
- doins ${FILESDIR}/00basic
-#end env-update stuff
-
-}
-
-
-
-
-
-
-
-
diff --git a/sys-apps/bash/bash-2.04-r1.ebuild b/sys-apps/bash/bash-2.04-r1.ebuild
deleted file mode 100644
index 670c6b8470da..000000000000
--- a/sys-apps/bash/bash-2.04-r1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/bash/bash-2.04-r1.ebuild,v 1.3 2001/02/01 19:30:33 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="The standard GNU Bourne again shell"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/bash/${A}
- ftp://ftp.gnu.org/gnu/bash/${A}"
-
-HOMEPAGE="http://www.gnu.org/software/bash/bash.html"
-
-PROVIDE="virtual/bash"
-
-src_compile() {
-
- cd ${S}
- try ./configure --prefix=/ --host=${CHOST} \
- --disable-profiling --with-curses \
- --enable-static-link --with-installed-readline
- cp Makefile Makefile.orig
- sed -e "s:-lcurses:-lncurses:" Makefile.orig > Makefile
- try pmake
- if [ "`use tex`" ]
- then
- cd support
- cp texi2html texi2html.orig
- sed -e "s:/usr/local/bin/perl:/usr/bin/perl:" \
- texi2html.orig > texi2html
- cd ../doc
- try make
- fi
-
-}
-
-
-
-src_install() {
- cd ${S}
- if [ "`use tex`" ]
- then
- docinto html
- dodoc doc/*.html
- docinto ps
- dodoc doc/*.ps
- fi
- make prefix=${D}/usr install
- dodir /bin
- mv ${D}/usr/bin/bash ${D}/bin
- dosym bash /bin/sh
- doman doc/builtins.1 bash_builtins.1
- dodoc README NEWS AUTHORS CHANGES COMPAT COPYING Y2K
- dodoc doc/FAQ doc/INTRO
-}
-
diff --git a/sys-apps/bash/bash-2.04-r2.ebuild b/sys-apps/bash/bash-2.04-r2.ebuild
deleted file mode 100644
index 2a80cf5c0c97..000000000000
--- a/sys-apps/bash/bash-2.04-r2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/bash/bash-2.04-r2.ebuild,v 1.2 2001/02/15 18:17:31 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="The standard GNU Bourne again shell"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/bash/${A}
- ftp://ftp.gnu.org/gnu/bash/${A}"
-
-HOMEPAGE="http://www.gnu.org/software/bash/bash.html"
-
-DEPEND=">=sys-libs/ncurses-5.2-r2
- readline? ( >=sys-libs/readline-4.1-r2 )
- tex? ( app-text/tetex )
- sys-apps/groff
- sys-apps/texinfo"
-
-src_compile() {
-
- local myconf
- if [ "`use readline`" ]
- then
- myconf="--with-installed-readline"
- fi
-
- try ./configure --prefix=/ --mandir=/usr/share/man \
- --infodir=/usr/share/info --host=${CHOST} \
- --disable-profiling --with-curses \
- --enable-static-link ${myconf}
-
- try pmake
-
- if [ "`use tex`" ]
- then
- cd support
- cp texi2html texi2html.orig
- sed -e "s:/usr/local/bin/perl:/usr/bin/perl:" \
- texi2html.orig > texi2html
- cd ../doc
- try make
- fi
-
-}
-
-
-
-src_install() {
-
- make prefix=${D}/usr mandir=${D}/usr/share/man \
- infodir=${D}/usr/share/info install
- dodir /bin
- mv ${D}/usr/bin/bash ${D}/bin
- dosym bash /bin/sh
- doman doc/*.1
-
- if [ -z "`use readline`" ]
- then
- doman doc/*.3
- fi
- dodoc README NEWS AUTHORS CHANGES COMPAT COPYING Y2K
- dodoc doc/FAQ doc/INTRO
-
- if [ "`use tex`" ]
- then
- docinto html
- dodoc doc/*.html
- docinto ps
- dodoc doc/*.ps
- fi
-
-}
-
diff --git a/sys-apps/bash/files/digest-bash-2.04-r1 b/sys-apps/bash/files/digest-bash-2.04-r1
deleted file mode 100644
index 2357c32167ec..000000000000
--- a/sys-apps/bash/files/digest-bash-2.04-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 49b548a8b72a4c925ff26930e4c31c6c bash-2.04.tar.gz
diff --git a/sys-apps/bash/files/digest-bash-2.04-r2 b/sys-apps/bash/files/digest-bash-2.04-r2
deleted file mode 100644
index 2357c32167ec..000000000000
--- a/sys-apps/bash/files/digest-bash-2.04-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 49b548a8b72a4c925ff26930e4c31c6c bash-2.04.tar.gz
diff --git a/sys-apps/bzip2/bzip2-1.0.1-r1.ebuild b/sys-apps/bzip2/bzip2-1.0.1-r1.ebuild
deleted file mode 100644
index 92fb2fadbf05..000000000000
--- a/sys-apps/bzip2/bzip2-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/bzip2/bzip2-1.0.1-r1.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A high-quality data compressor used extensively by Gentoo"
-SRC_URI="ftp://sourceware.cygnus.com/pub/bzip2/v100/${A}
- ftp://ftp.freesoftware.com/pub/sourceware/bzip2/v100/${A}"
-
-HOMEPAGE="http://sourceware.cygnus.com/bzip2/"
-
-DEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack ${A}
- # bzip2's try makefile does not use CFLAGS so we hard-wire the compile
- # options using sed ;)
-
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" \
- -e "s:/man/man1:/man/man1:" Makefile.orig > Makefile
-
- cp Makefile-libbz2_so Makefile-libbz2.orig
- sed -e "s/-O2/${CFLAGS}/" Makefile-libbz2.orig > Makefile-libbz2_so
-
-}
-
-src_compile() {
-
- try pmake -f Makefile-libbz2_so all
- try pmake all
-
-}
-src_install() {
-
- dodir /usr/share/man/man1
- try make PREFIX=${D}/usr install
- rm -rf ${D}/usr/man
-
- dolib.so libbz2.so.1.0.1
- mv ${D}/usr/bin ${D}
- preplib /usr
-
- dodoc README LICENSE CHANGES Y2K_INFO
- docinto txt
- dodoc bzip2.txt
- docinto ps
- dodoc manual.ps
- docinto html
- dodoc manual_*.html
-
-}
-
-
diff --git a/sys-apps/bzip2/bzip2-1.0.1.ebuild b/sys-apps/bzip2/bzip2-1.0.1.ebuild
deleted file mode 100644
index 66c70c623e15..000000000000
--- a/sys-apps/bzip2/bzip2-1.0.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/bzip2/bzip2-1.0.1.ebuild,v 1.9 2001/01/31 20:49:06 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A high-quality data compressor used extensively by Gentoo"
-SRC_URI="ftp://sourceware.cygnus.com/pub/bzip2/v100/${A}
- ftp://ftp.freesoftware.com/pub/sourceware/bzip2/v100/${A}"
-
-HOMEPAGE="http://sourceware.cygnus.com/bzip2/"
-
-DEPEND="virtual/glibc"
-
-src_unpack() {
- unpack ${A}
- # bzip2's try makefile does not use CFLAGS so we hard-wire the compile
- # options using sed ;)
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" Makefile.orig > Makefile
- cp Makefile-libbz2_so Makefile-libbz2.orig
- sed -e "s/-O2/${CFLAGS}/" Makefile-libbz2.orig > Makefile-libbz2_so
-}
-
-src_compile() {
- try pmake -f Makefile-libbz2_so all
- try pmake all
-}
-src_install() {
- dodoc README LICENSE CHANGES Y2K_INFO
- docinto txt
- dodoc bzip2.txt
- docinto ps
- dodoc manual.ps
- docinto html
- dodoc manual_*.html
- try make PREFIX=${D}/usr install
- into /usr
- dolib.so libbz2.so.1.0.1
- mv ${D}/usr/bin ${D}
- preplib /usr
-}
-
-
diff --git a/sys-apps/bzip2/files/digest-bzip2-1.0.1 b/sys-apps/bzip2/files/digest-bzip2-1.0.1
deleted file mode 100644
index 4a2d8e5861de..000000000000
--- a/sys-apps/bzip2/files/digest-bzip2-1.0.1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 770135dc94369cb3eb6013ed505c8dc5 bzip2-1.0.1.tar.gz
diff --git a/sys-apps/bzip2/files/digest-bzip2-1.0.1-r1 b/sys-apps/bzip2/files/digest-bzip2-1.0.1-r1
deleted file mode 100644
index 4a2d8e5861de..000000000000
--- a/sys-apps/bzip2/files/digest-bzip2-1.0.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 770135dc94369cb3eb6013ed505c8dc5 bzip2-1.0.1.tar.gz
diff --git a/sys-apps/bzip2/files/digest-bzip2-1.0.1-r2 b/sys-apps/bzip2/files/digest-bzip2-1.0.1-r2
deleted file mode 100644
index 4a2d8e5861de..000000000000
--- a/sys-apps/bzip2/files/digest-bzip2-1.0.1-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 770135dc94369cb3eb6013ed505c8dc5 bzip2-1.0.1.tar.gz
diff --git a/sys-apps/console-data/console-data-1999.08.29-r1.ebuild b/sys-apps/console-data/console-data-1999.08.29-r1.ebuild
deleted file mode 100644
index f0a156c332a2..000000000000
--- a/sys-apps/console-data/console-data-1999.08.29-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/console-data/console-data-1999.08.29-r1.ebuild,v 1.4 2000/11/30 23:14:31 achim Exp $
-
-P=console-data-1999.08.29
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Data (fonts, keymaps) for the consoletools package"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/keyboards/"${A}
-HOMEPAGE="http://altern.org/ydirson/en/lct/data.html"
-
-src_compile() {
-
- try ./configure --host=${CHOST} --prefix=/usr
- # do not use pmake
- try make
-
-}
-
-src_install() {
-
- dodoc ChangeLog
- docinto txt
- dodoc doc/README.*
- docinto txt/fonts
- dodoc doc/fonts/*
- docinto txt/keymaps
- dodoc doc/keymaps/*
- try make DESTDIR=${D} install
-
-}
-
-
diff --git a/sys-apps/console-data/files/digest-console-data-1999.08.29-r1 b/sys-apps/console-data/files/digest-console-data-1999.08.29-r1
deleted file mode 100644
index 46645acb4c93..000000000000
--- a/sys-apps/console-data/files/digest-console-data-1999.08.29-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b534787af0edaa73f608f518263f9334 console-data-1999.08.29.tar.gz
diff --git a/sys-apps/console-tools/console-tools-0.2.3-r2.ebuild b/sys-apps/console-tools/console-tools-0.2.3-r2.ebuild
deleted file mode 100644
index cd429b86d145..000000000000
--- a/sys-apps/console-tools/console-tools-0.2.3-r2.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/console-tools/console-tools-0.2.3-r2.ebuild,v 1.3 2000/12/19 00:38:01 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Console and font utilities"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/keyboards/${A}"
-HOMEPAGE="http://altern.org/ydirson/en/lct/"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- gzip -dc ${FILESDIR}/${PN}-${PV}.patch.gz | patch -p1
-}
-
-src_compile() {
-
- local myconf
-
- if [ "$DEBUG" ]
- then
- myconf="--enable-debugging"
- fi
-
- try ./configure --prefix=/usr --host=${CHOST}
- try make $MAKEOPTS all
-}
-
-src_install() {
- into /usr
- cd ${S}
- try make prefix=${D}/usr install
- # DESTDIR does not work correct
- dodoc BUGS COPYING* CREDITS ChangeLog NEWS README RELEASE TODO
- docinto txt
- dodoc doc/*.txt doc/README.*
- docinto sgml
- dodoc doc/*.sgml
- docinto txt/contrib
- dodoc doc/contrib/*
- docinto txt/dvorak
- dodoc doc/dvorak/*
- docinto txt/file-formats
- dodoc doc/file-formats/*
- doman doc/man/*.[1-8]
- MOPREFIX="console-tools"
- domo ${S}/po/*.gmo
-}
-
-
-
diff --git a/sys-apps/console-tools/files/digest-console-tools-0.2.3-r2 b/sys-apps/console-tools/files/digest-console-tools-0.2.3-r2
deleted file mode 100644
index 7c2347441144..000000000000
--- a/sys-apps/console-tools/files/digest-console-tools-0.2.3-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 983d4586a791b3fdfa0fbeff76aadf43 console-tools-0.2.3.tar.gz
diff --git a/sys-apps/cpio/cpio-2.4.2-r2.ebuild b/sys-apps/cpio/cpio-2.4.2-r2.ebuild
deleted file mode 100644
index d3ab29fe410b..000000000000
--- a/sys-apps/cpio/cpio-2.4.2-r2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/cpio/cpio-2.4.2-r2.ebuild,v 1.1 2001/01/01 21:57:38 drobbins Exp $
-
-P="cpio-2.4.2"
-A="${P}.tar.gz"
-S=${WORKDIR}/${P}
-DESCRIPTION="A file archival tool which can also read and write tar files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/cpio/${A}
- ftp://prep.ai.mit.edu/gnu/cpio/${A}"
-
-HOMEPAGE="http://www.gnu.org/software/cpio/cpio.html"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try pmake
- makeinfo --html --force cpio.texi
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- mv rmt.c rmt.c.orig
- sed -e "78d" rmt.c.orig > rmt.c
- mv userspec.c userspec.c.orig
- sed -e "85d" userspec.c.orig > userspec.c
-}
-
-src_install() {
- into /usr
- #dobin cpio mt; now we're using Schilly's enhanced mt from star
- dobin cpio
- doman cpio.1
- doinfo cpio.info
- dodoc COPYING* ChangeLog NEWS README
- docinto html
- dodoc cpio.html
-
-}
-
diff --git a/sys-apps/cpio/files/digest-cpio-2.4.2-r1 b/sys-apps/cpio/files/digest-cpio-2.4.2-r1
deleted file mode 100644
index 1707e00faef6..000000000000
--- a/sys-apps/cpio/files/digest-cpio-2.4.2-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e651ca1e1ac53aaebfa7ad256b0fe4fc cpio-2.4.2.tar.gz
diff --git a/sys-apps/cpio/files/digest-cpio-2.4.2-r2 b/sys-apps/cpio/files/digest-cpio-2.4.2-r2
deleted file mode 100644
index 1707e00faef6..000000000000
--- a/sys-apps/cpio/files/digest-cpio-2.4.2-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e651ca1e1ac53aaebfa7ad256b0fe4fc cpio-2.4.2.tar.gz
diff --git a/sys-apps/cpio/files/digest-cpio-2.4.2-r3 b/sys-apps/cpio/files/digest-cpio-2.4.2-r3
deleted file mode 100644
index 1707e00faef6..000000000000
--- a/sys-apps/cpio/files/digest-cpio-2.4.2-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e651ca1e1ac53aaebfa7ad256b0fe4fc cpio-2.4.2.tar.gz
diff --git a/sys-apps/daemontools/daemontools-0.70.ebuild b/sys-apps/daemontools/daemontools-0.70.ebuild
deleted file mode 100644
index 1dae3dfbf2a6..000000000000
--- a/sys-apps/daemontools/daemontools-0.70.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/daemontools/daemontools-0.70.ebuild,v 1.2 2000/11/30 23:14:32 achim Exp $
-
-P=daemontools-0.70
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Collection of tools for managing UNIX services"
-SRC_URI="http://cr.yp.to/daemontools/"${A}
-HOMEPAGE="http://cr.yp.to/daemontools.html"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- echo "gcc ${CFLAGS}" > conf-cc
- echo "gcc" > conf-ld
-}
-
-src_compile() {
- cd ${S}
- try pmake
-}
-
-src_install() {
- cd ${S}
- into /usr
- for i in svscan supervise svc svok svstat fghack multilog tai64n \
- tai64nlocal softlimit setuidgid envuidgid envdir setlock
- do
- dobin $i
- done
- dodoc CHANGES FILES README SYSDEPS TARGETS TODO VERSION
-}
-
-
-
diff --git a/sys-apps/daemontools/files/digest-daemontools-0.70 b/sys-apps/daemontools/files/digest-daemontools-0.70
deleted file mode 100644
index 33e9c5938e35..000000000000
--- a/sys-apps/daemontools/files/digest-daemontools-0.70
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c88e8c5e4453b4df41571f60eaa0baf3 daemontools-0.70.tar.gz
diff --git a/sys-apps/dcron/files/digest-dcron-2.7-r2 b/sys-apps/dcron/files/digest-dcron-2.7-r2
deleted file mode 100644
index d7f67342a50f..000000000000
--- a/sys-apps/dcron/files/digest-dcron-2.7-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8984a6bb120cd674d4fb7f1cc52630a2 dcron27.tgz
diff --git a/sys-apps/dcron/files/digest-dcron-2.7-r3 b/sys-apps/dcron/files/digest-dcron-2.7-r3
deleted file mode 100644
index d7f67342a50f..000000000000
--- a/sys-apps/dcron/files/digest-dcron-2.7-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8984a6bb120cd674d4fb7f1cc52630a2 dcron27.tgz
diff --git a/sys-apps/debianutils/debianutils-1.13.3-r1.ebuild b/sys-apps/debianutils/debianutils-1.13.3-r1.ebuild
deleted file mode 100644
index 7d795a805d6c..000000000000
--- a/sys-apps/debianutils/debianutils-1.13.3-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/debianutils/debianutils-1.13.3-r1.ebuild,v 1.5 2001/01/31 20:49:06 achim Exp $
-
-P=debianutils-1.13.3
-A=debianutils_1.13.3.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A selection of tools from Debian"
-SRC_URI="ftp://ftp.debian.org/debian/dists/potato/main/source/base/${A}"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc
- sys-apps/bash"
-
-src_compile() {
- try pmake
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- mv Makefile Makefile.orig
- sed -e "s/-O2 -g/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
-
- into /
- dobin run-parts readlink tempfile mktemp
- insopts -m755
- insinto /usr/sbin
- doins savelog
- doman run-parts.8 readlink.1 tempfile.1 mktemp.1 savelog.8
- dodoc debian/changelog debian/control debian/copyright
-
-}
-
-
-
diff --git a/sys-apps/debianutils/debianutils-1.13.3-r2.ebuild b/sys-apps/debianutils/debianutils-1.13.3-r2.ebuild
deleted file mode 100644
index 1a22e5353ec5..000000000000
--- a/sys-apps/debianutils/debianutils-1.13.3-r2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/debianutils/debianutils-1.13.3-r2.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-S=${WORKDIR}/${P}
-DESCRIPTION="A selection of tools from Debian"
-SRC_URI="ftp://ftp.debian.org/debian/dists/potato/main/source/base/debianutils_${PV}.tar.gz"
-
-DEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack ${A}
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s/-O2 -g/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_compile() {
-
- try pmake
-}
-
-
-src_install() {
-
- into /
- dobin run-parts readlink tempfile mktemp
- insopts -m755
- exeinto /usr/sbin
- doexe savelog
-
- doman mktemp.1 readlink.1 tempfile.1 run-parts.8 savelog.8
-
- cd debian
- dodoc changelog control copyright
-
-}
-
-
-
diff --git a/sys-apps/debianutils/files/digest-debianutils-1.13.3-r1 b/sys-apps/debianutils/files/digest-debianutils-1.13.3-r1
deleted file mode 100644
index 30079b8cc3cd..000000000000
--- a/sys-apps/debianutils/files/digest-debianutils-1.13.3-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 91511bc2eec9beebb23cf22fb57a202e debianutils_1.13.3.tar.gz
diff --git a/sys-apps/debianutils/files/digest-debianutils-1.13.3-r2 b/sys-apps/debianutils/files/digest-debianutils-1.13.3-r2
deleted file mode 100644
index 30079b8cc3cd..000000000000
--- a/sys-apps/debianutils/files/digest-debianutils-1.13.3-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 91511bc2eec9beebb23cf22fb57a202e debianutils_1.13.3.tar.gz
diff --git a/sys-apps/devfsd/devfsd-1.3.10.ebuild b/sys-apps/devfsd/devfsd-1.3.10.ebuild
deleted file mode 100644
index c7748e06d46b..000000000000
--- a/sys-apps/devfsd/devfsd-1.3.10.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Your Name <your email>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/devfsd/devfsd-1.3.10.ebuild,v 1.2 2001/01/18 18:22:11 achim Exp $
-
-S=${WORKDIR}/${PN}
-DESCRIPTION="Daemon for the Lunx Device Filesystem"
-SRC_URI="ftp://ftp.atnf.csiro.au/pub/people/rgooch/linux/daemons/devfsd/devfsd-v1.3.10.tar.gz"
-HOMEPAGE="http://www.atnf.csiro.au/~rgooch/linux/"
-
-src_unpack() {
- unpack ${A}
- cp ${FILESDIR}/devfsd.h ${S}
-}
-
-src_compile() {
-
- cd ${S}
- try make
-
-}
-
-src_install () {
-
- into /
- dosbin devfsd
- into /usr
- doman devfsd.8
- insinto /etc
- doins devfsd.conf modules.devfs
- exeinto /etc/rc.d/init.d
- doexe ${FILESDIR}/devfsd
-
-}
-pkg_postinst () {
- rc-update add devfsd
-}
-
diff --git a/sys-apps/devfsd/files/digest-devfsd-1.3.10 b/sys-apps/devfsd/files/digest-devfsd-1.3.10
deleted file mode 100644
index 5777a069d6f8..000000000000
--- a/sys-apps/devfsd/files/digest-devfsd-1.3.10
+++ /dev/null
@@ -1 +0,0 @@
-MD5 2e82cf69ae4ef7a32161a98bb4a67c21 devfsd-v1.3.10.tar.gz
diff --git a/sys-apps/diffutils/diffutils-2.7-r1.ebuild b/sys-apps/diffutils/diffutils-2.7-r1.ebuild
deleted file mode 100644
index 946cfb53171c..000000000000
--- a/sys-apps/diffutils/diffutils-2.7-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/diffutils/diffutils-2.7-r1.ebuild,v 1.6 2001/01/31 20:49:06 achim Exp $
-
-P=diffutils-2.7
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools to make diffs and compare files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/diffutils/${A}
- ftp://ftp.gnu.org/gnu/diffutils/${A}"
-
-HOMEPAGE="http://www.gnu.org/software/diffutils/diffutils.html"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try pmake
- makeinfo --html --force diff.texi
-}
-
-src_install() {
- into /usr
- doinfo *.info*
- dobin cmp diff diff3 sdiff
- dodoc COPYING ChangeLog NEWS README
- docinto html
- dodoc *.html
-}
-
-
diff --git a/sys-apps/diffutils/diffutils-2.7-r2.ebuild b/sys-apps/diffutils/diffutils-2.7-r2.ebuild
deleted file mode 100644
index e12ef33493cb..000000000000
--- a/sys-apps/diffutils/diffutils-2.7-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/diffutils/diffutils-2.7-r2.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools to make diffs and compare files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/diffutils/${A}
- ftp://ftp.gnu.org/gnu/diffutils/${A}"
-
-HOMEPAGE="http://www.gnu.org/software/diffutils/diffutils.html"
-DEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --host=${CHOST} --prefix=/usr
- try pmake
-
-}
-
-src_install() {
-
- doinfo *.info*
- dobin cmp diff diff3 sdiff
-
- dodoc COPYING ChangeLog NEWS README
-}
-
-
diff --git a/sys-apps/diffutils/files/digest-diffutils-2.7-r1 b/sys-apps/diffutils/files/digest-diffutils-2.7-r1
deleted file mode 100644
index d4b1dc7fc3ff..000000000000
--- a/sys-apps/diffutils/files/digest-diffutils-2.7-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 300d86a0566afee1c3756828f6c9538a diffutils-2.7.tar.gz
diff --git a/sys-apps/diffutils/files/digest-diffutils-2.7-r2 b/sys-apps/diffutils/files/digest-diffutils-2.7-r2
deleted file mode 100644
index d4b1dc7fc3ff..000000000000
--- a/sys-apps/diffutils/files/digest-diffutils-2.7-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 300d86a0566afee1c3756828f6c9538a diffutils-2.7.tar.gz
diff --git a/sys-apps/e2fsprogs/e2fsprogs-1.19-r1.ebuild b/sys-apps/e2fsprogs/e2fsprogs-1.19-r1.ebuild
deleted file mode 100644
index 3e48476b9785..000000000000
--- a/sys-apps/e2fsprogs/e2fsprogs-1.19-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/e2fsprogs/e2fsprogs-1.19-r1.ebuild,v 1.3 2001/04/06 15:35:21 achim Exp $
-
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard ext2 filesystem utilities"
-SRC_URI="ftp://download.sourceforge.net/pub/sourceforge/${PN}/${P}.tar.gz"
-HOMEPAGE="http://e2fsprogs.sourceforge.net/"
-
-DEPEND="virtual/glibc
- nls? ( sys-devel/gettext )
- sys-apps/texinfo"
-RDEPEND="virtual/glibc"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- patch -p0 < ${FILESDIR}/${P}-po-Makefile.in.in-gentoo.diff
-}
-
-src_compile() {
-
- local myconf
- if [ "`use nls`" ]
- then
- myconf="--enable-nls"
- else
- myconf="--disable-nls"
- fi
- try ./configure --host=${CHOST} --prefix=/usr \
- --mandir=/usr/share/man --infodir=/usr/share/info \
- --enable-elf-shlibs ${myconf}
-
- # Parallel make sometimes fails
- try make
-
-}
-
-src_install() {
-
- local myopts
- if [ "$DEBUG" ]
- then
- myopts="STRIP=\"echo\""
- fi
-
- myopts="${myopts} mandir=/usr/share/man infodir=/usr/share/info"
-
- try make DESTDIR=${D} ${myopts} install
- try make DESTDIR=${D} ${myopts} install-libs
-
- if [ "`use nls`" ]
- then
- cd po
- try make DESTDIR=${D} install
- fi
- dodoc COPYING ChangeLog README RELEASE-NOTES SHLIBS
- docinto e2fsck
- dodoc e2fsck/ChangeLog e2fsck/CHANGES
- for i in e2p et ext2fs ss uuid
- do
- docinto lib/${i}
- dodoc lib/${i}/ChangeLog
- done
- docinto misc
- dodoc misc/ChangeLog
- docinto resize
- dodoc resize/ChangeLog
- docinto util
- dodoc util/ChangeLog
-
-}
-
-
-
diff --git a/sys-apps/e2fsprogs/e2fsprogs-1.19.ebuild b/sys-apps/e2fsprogs/e2fsprogs-1.19.ebuild
deleted file mode 100644
index b25c30ca3d29..000000000000
--- a/sys-apps/e2fsprogs/e2fsprogs-1.19.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/e2fsprogs/e2fsprogs-1.19.ebuild,v 1.6 2001/01/31 20:49:06 achim Exp $
-
-P=e2fsprogs-1.19
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard ext2 filesystem utilities"
-SRC_URI="ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-1.19.tar.gz"
-HOMEPAGE="http://e2fsprogs.sourceforge.net/"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try ./configure --host=${CHOST} --enable-elf-shlibs --enable-nls
- # do not use pmake recursive
- try make
- #$MAKEOPTS
-
-}
-
-src_install() {
- into /usr
- local myopts
- if [ "$DEBUG" ]
- then
- myopts="STRIP=\"echo\""
- fi
- try make DESTDIR=${D} ${myopts} install
- try make DESTDIR=${D} ${myopts} install-libs
- dodoc COPYING ChangeLog README RELEASE-NOTES SHLIBS
- docinto e2fsck
- dodoc e2fsck/ChangeLog e2fsck/CHANGES
- for i in e2p et ext2fs ss uuid
- do
- docinto lib/${i}
- dodoc lib/${i}/ChangeLog
- done
- docinto misc
- dodoc misc/ChangeLog
- docinto resize
- dodoc resize/ChangeLog
- docinto util
- dodoc util/ChangeLog
-
-}
-
-
-
diff --git a/sys-apps/e2fsprogs/files/digest-e2fsprogs-1.19 b/sys-apps/e2fsprogs/files/digest-e2fsprogs-1.19
deleted file mode 100644
index 74b5ba0f7cba..000000000000
--- a/sys-apps/e2fsprogs/files/digest-e2fsprogs-1.19
+++ /dev/null
@@ -1 +0,0 @@
-MD5 670dafc419fca17bfb92c9c467904b19 e2fsprogs-1.19.tar.gz
diff --git a/sys-apps/e2fsprogs/files/digest-e2fsprogs-1.19-r1 b/sys-apps/e2fsprogs/files/digest-e2fsprogs-1.19-r1
deleted file mode 100644
index 74b5ba0f7cba..000000000000
--- a/sys-apps/e2fsprogs/files/digest-e2fsprogs-1.19-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 670dafc419fca17bfb92c9c467904b19 e2fsprogs-1.19.tar.gz
diff --git a/sys-apps/ed/ed-0.2.ebuild b/sys-apps/ed/ed-0.2.ebuild
deleted file mode 100644
index 9c41abd5c2a8..000000000000
--- a/sys-apps/ed/ed-0.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/ebuild
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/ed/ed-0.2.ebuild,v 1.7 2001/01/31 20:49:06 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Your basic line editor"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/ed/${A}
- ftp://ftp.gnu.org/pub/gnu/ed/${A}"
-HOMEPAGE="http://www.gnu.org/software/ed/"
-DEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --prefix=/ --host=${CHOST}
- try pmake
-}
-
-src_install() {
-
- try make prefix=${D}/ mandir=${D}/usr/man/man1 infodir=${D}/usr/info \
- install
- dodoc COPYING ChangeLog NEWS POSIX README THANKS TODO
-
-}
-
-
diff --git a/sys-apps/ed/files/digest-ed-0.2 b/sys-apps/ed/files/digest-ed-0.2
deleted file mode 100644
index b5231566a2a0..000000000000
--- a/sys-apps/ed/files/digest-ed-0.2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 ddd57463774cae9b50e70cd51221281b ed-0.2.tar.gz
diff --git a/sys-apps/file/file-3.33-r1.ebuild b/sys-apps/file/file-3.33-r1.ebuild
deleted file mode 100644
index ebc49518c2dc..000000000000
--- a/sys-apps/file/file-3.33-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/file-3.33-r1.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Program to identify a file's format by scanning binary data for patters"
-#unfortunately, this ftp site doesn't support passive ftp
-#maybe we can find an alternative for those behind firewalls, or mirror
-#on cvs.gentoo.org
-SRC_URI="ftp://ftp.astron.com/pub/file/${A}"
-
-DEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --prefix=/usr --datadir=/usr/share/misc --host=${CHOST}
- try pmake
-}
-
-src_install() {
-
- dobin file
- doman file.1 magic.4
- insinto /usr/share/misc
- doins magic magic.mime
- dodoc LEGAL.NOTICE MAINT README
-}
-
-
-
diff --git a/sys-apps/file/file-3.33.ebuild b/sys-apps/file/file-3.33.ebuild
deleted file mode 100644
index f2540b84dfaa..000000000000
--- a/sys-apps/file/file-3.33.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/file-3.33.ebuild,v 1.3 2001/01/31 20:49:07 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Program to identify a file's format by scanning binary data for patters"
-#unfortunately, this ftp site doesn't support passive ftp
-#maybe we can find an alternative for those behind firewalls, or mirror
-#on cvs.gentoo.org
-SRC_URI="ftp://ftp.astron.com/pub/file/${A}"
-
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --datadir=/etc --host=${CHOST}
- try pmake
-}
-
-src_install() {
- into /usr
- dobin file
- doman file.1 magic.4
- insinto /etc
- doins magic magic.mime
- dodoc LEGAL.NOTICE MAINT README
-}
-
-
-
diff --git a/sys-apps/file/files/digest-file-3.33 b/sys-apps/file/files/digest-file-3.33
deleted file mode 100644
index 9a0e1f33e262..000000000000
--- a/sys-apps/file/files/digest-file-3.33
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3b8e32ed3a79774bd92f0052fa07ca04 file-3.33.tar.gz
diff --git a/sys-apps/file/files/digest-file-3.33-r1 b/sys-apps/file/files/digest-file-3.33-r1
deleted file mode 100644
index 9a0e1f33e262..000000000000
--- a/sys-apps/file/files/digest-file-3.33-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3b8e32ed3a79774bd92f0052fa07ca04 file-3.33.tar.gz
diff --git a/sys-apps/fileutils/files/digest-fileutils-4.0.33 b/sys-apps/fileutils/files/digest-fileutils-4.0.33
deleted file mode 100644
index 47c24eef9ef3..000000000000
--- a/sys-apps/fileutils/files/digest-fileutils-4.0.33
+++ /dev/null
@@ -1 +0,0 @@
-MD5 76076369cef8a091a21e18dffe770a04 fileutils-4.0.33.tar.gz
diff --git a/sys-apps/fileutils/files/digest-fileutils-4.0.36 b/sys-apps/fileutils/files/digest-fileutils-4.0.36
deleted file mode 100644
index 44878ba266d7..000000000000
--- a/sys-apps/fileutils/files/digest-fileutils-4.0.36
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c603c20eedd5b964b1b429efe8103159 fileutils-4.0.36.tar.gz
diff --git a/sys-apps/fileutils/files/digest-fileutils-4.0.36-r1 b/sys-apps/fileutils/files/digest-fileutils-4.0.36-r1
deleted file mode 100644
index 44878ba266d7..000000000000
--- a/sys-apps/fileutils/files/digest-fileutils-4.0.36-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c603c20eedd5b964b1b429efe8103159 fileutils-4.0.36.tar.gz
diff --git a/sys-apps/fileutils/files/digest-fileutils-4.0.36-r2 b/sys-apps/fileutils/files/digest-fileutils-4.0.36-r2
deleted file mode 100644
index 44878ba266d7..000000000000
--- a/sys-apps/fileutils/files/digest-fileutils-4.0.36-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c603c20eedd5b964b1b429efe8103159 fileutils-4.0.36.tar.gz
diff --git a/sys-apps/fileutils/fileutils-4.0.36-r1.ebuild b/sys-apps/fileutils/fileutils-4.0.36-r1.ebuild
deleted file mode 100644
index bb29966fcd71..000000000000
--- a/sys-apps/fileutils/fileutils-4.0.36-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/fileutils/fileutils-4.0.36-r1.ebuild,v 1.2 2001/01/31 20:49:07 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU file utilities (chmod, cp, dd, dir, ls, etc)"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-HOMEPAGE="http://www.gnu.org/software/fileutils/fileutils.html"
-
-DEPEND="virtual/glibc"
-
-src_compile() {
- #we are waiting for GNU fileutils 4.0.30 which will become standard in Gentoo 1.0
- #until then, we wait.
- try ./configure --prefix=/usr
- try make ${MAKEOPTS}
-}
-
-src_install() {
- dodoc COPYING NEWS README* THANKS TODO ChangeLog ChangeLog-1997 AUTHORS
- make prefix=${D}/usr install
- cd ${D}
- dodir bin
- mv usr/bin/* bin
- cd usr/bin
- ln -s ../../bin/* .
- rm -rf usr/lib
-}
-
diff --git a/sys-apps/fileutils/fileutils-4.0.36-r2.ebuild b/sys-apps/fileutils/fileutils-4.0.36-r2.ebuild
deleted file mode 100644
index efcb064a6980..000000000000
--- a/sys-apps/fileutils/fileutils-4.0.36-r2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/fileutils/fileutils-4.0.36-r2.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU file utilities (chmod, cp, dd, dir, ls, etc)"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-HOMEPAGE="http://www.gnu.org/software/fileutils/fileutils.html"
-
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r2"
-
-RDEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --bindir=/bin
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- make prefix=${D}/usr mandir=${D}/usr/share/man infodir=${D}/usr/share/info bindir=${D}/bin install
-
- cd ${D}
- dodir /usr/bin
- rm -rf usr/lib
- cd usr/bin
- ln -s ../../bin/* .
-
-
- cd ${S}
- dodoc COPYING NEWS README* THANKS TODO ChangeLog ChangeLog-1997 AUTHORS
-
-}
-
diff --git a/sys-apps/fileutils/fileutils-4.0.36.ebuild b/sys-apps/fileutils/fileutils-4.0.36.ebuild
deleted file mode 100644
index c6c53760b4cd..000000000000
--- a/sys-apps/fileutils/fileutils-4.0.36.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/fileutils/fileutils-4.0.36.ebuild,v 1.3 2001/01/18 20:17:56 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU file utilities (chmod, cp, dd, dir, ls, etc)"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-HOMEPAGE="http://www.gnu.org/software/fileutils/fileutils.html"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- #we are waiting for GNU fileutils 4.0.30 which will become standard in Gentoo 1.0
- #until then, we wait.
- try ./configure --prefix=/usr
- try make ${MAKEOPTS}
-}
-
-src_install() {
- dodoc COPYING NEWS README* THANKS TODO ChangeLog ChangeLog-1997 AUTHORS
- make prefix=${D}/usr install
- cd ${D}
- mv usr/bin .
- rm -rf usr/lib
-}
-
diff --git a/sys-apps/findutils/files/digest-findutils-4.1-r1 b/sys-apps/findutils/files/digest-findutils-4.1-r1
deleted file mode 100644
index d959da1b7872..000000000000
--- a/sys-apps/findutils/files/digest-findutils-4.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3ea8fe58ef5386da75f6c707713aa059 findutils-4.1.tar.gz
diff --git a/sys-apps/findutils/files/digest-findutils-4.1-r3 b/sys-apps/findutils/files/digest-findutils-4.1-r3
deleted file mode 100644
index d959da1b7872..000000000000
--- a/sys-apps/findutils/files/digest-findutils-4.1-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3ea8fe58ef5386da75f6c707713aa059 findutils-4.1.tar.gz
diff --git a/sys-apps/findutils/files/digest-findutils-4.1-r4 b/sys-apps/findutils/files/digest-findutils-4.1-r4
deleted file mode 100644
index d959da1b7872..000000000000
--- a/sys-apps/findutils/files/digest-findutils-4.1-r4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3ea8fe58ef5386da75f6c707713aa059 findutils-4.1.tar.gz
diff --git a/sys-apps/findutils/findutils-4.1-r2.ebuild b/sys-apps/findutils/findutils-4.1-r2.ebuild
deleted file mode 100644
index ccf44934d411..000000000000
--- a/sys-apps/findutils/findutils-4.1-r2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/findutils/findutils-4.1-r2.ebuild,v 1.1 2000/12/05 23:53:29 drobbins Exp $
-
-P=findutils-4.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU utilities to find files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/findutils/${A}
- ftp://prep.ai.mit.edu/gnu/findutils/${A}"
-HOMEPAGE="http://www.gnu.org/software/findutils/findutils.html"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- # do not use pmake recursive
- try make LOCATE_DB=/var/state/locatedb \
- libexecdir=/usr/libexec/find $MAKEOPTS
-}
-
-src_unpack() {
- unpack ${A}
- einfo "Applying Patch..."
- #using sed to apply minor patches to files
- cd ${S}/find
- mv fstype.c fstype.c.orig
- sed -e "33d" -e "34d" fstype.c.orig > fstype.c
- mv parser.c parser.c.orig
- sed -e "55d" parser.c.orig > parser.c
- mv pred.c pred.c.orig
- sed -e '29i\' -e '#define FNM_CASEFOLD (1<<4)' pred.c.orig > pred.c
- cd ${S}/lib
- mv nextelem.c nextelem.c.orig
- sed -e "35d" nextelem.c.orig > nextelem.c
- cd ${S}/xargs
- mv xargs.c xargs.c.orig
- sed -e "63d" -e "64d" xargs.c.orig > xargs.c
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr libexecdir=${D}/usr/libexec/find \
- LOCATE_DB=${D}/var/state/locatedb install
- dosed "s:TMPDIR=/usr/tmp:TMPDIR=/tmp:" usr/bin/updatedb
- dodoc COPYING NEWS README TODO ChangeLog
- rm -fr ${D}/usr/var
-}
-
diff --git a/sys-apps/findutils/findutils-4.1-r3.ebuild b/sys-apps/findutils/findutils-4.1-r3.ebuild
deleted file mode 100644
index 3630cec10f56..000000000000
--- a/sys-apps/findutils/findutils-4.1-r3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/findutils/findutils-4.1-r3.ebuild,v 1.3 2001/02/27 12:11:44 achim Exp $
-
-P=findutils-4.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU utilities to find files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/findutils/${A}
- ftp://prep.ai.mit.edu/gnu/findutils/${A}"
-HOMEPAGE="http://www.gnu.org/software/findutils/findutils.html"
-
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc"
-
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- # do not use pmake recursive
- try make LOCATE_DB=/var/lib/locatedb \
- libexecdir=/usr/lib/find $MAKEOPTS
-}
-
-src_unpack() {
- unpack ${A}
- einfo "Applying Patch..."
- #using sed to apply minor patches to files
- cd ${S}/find
- mv fstype.c fstype.c.orig
- sed -e "33d" -e "34d" fstype.c.orig > fstype.c
- mv parser.c parser.c.orig
- sed -e "55d" parser.c.orig > parser.c
- mv pred.c pred.c.orig
- sed -e '29i\' -e '#define FNM_CASEFOLD (1<<4)' pred.c.orig > pred.c
- cd ${S}/lib
- mv nextelem.c nextelem.c.orig
- sed -e "35d" nextelem.c.orig > nextelem.c
- cd ${S}/xargs
- mv xargs.c xargs.c.orig
- sed -e "63d" -e "64d" xargs.c.orig > xargs.c
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr libexecdir=${D}/usr/lib/find \
- LOCATE_DB=${D}/var/lib/locatedb install
- dosed "s:TMPDIR=/usr/tmp:TMPDIR=/tmp:" usr/bin/updatedb
- dodoc COPYING NEWS README TODO ChangeLog
- rm -fr ${D}/usr/var
-}
-
diff --git a/sys-apps/findutils/findutils-4.1-r4.ebuild b/sys-apps/findutils/findutils-4.1-r4.ebuild
deleted file mode 100644
index 3285f57e76db..000000000000
--- a/sys-apps/findutils/findutils-4.1-r4.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/findutils/findutils-4.1-r4.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU utilities to find files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/findutils/${A}
- ftp://prep.ai.mit.edu/gnu/findutils/${A}"
-HOMEPAGE="http://www.gnu.org/software/findutils/findutils.html"
-
-DEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack ${A}
- echo "Applying Patch..."
- #using sed to apply minor patches to files
- cd ${S}
-
- cd find
- cp fstype.c fstype.c.orig
- sed -e "33d" -e "34d" fstype.c.orig > fstype.c
- cp parser.c parser.c.orig
- sed -e "55d" parser.c.orig > parser.c
- cp pred.c pred.c.orig
- sed -e '29i\' -e '#define FNM_CASEFOLD (1<<4)' pred.c.orig > pred.c
- cd ${S}/lib
- cp nextelem.c nextelem.c.orig
- sed -e "35d" nextelem.c.orig > nextelem.c
- cd ${S}/xargs
- cp xargs.c xargs.c.orig
- sed -e "63d" -e "64d" xargs.c.orig > xargs.c
-}
-
-src_compile() {
-
- try ./configure --host=${CHOST} --prefix=/usr
-
- # do not use pmake recursive
- try make LOCATE_DB=/var/lib/misc/locatedb \
- libexecdir=/usr/lib/find $MAKEOPTS
-}
-
-src_install() {
-
- try make prefix=${D}/usr mandir=${D}/usr/share/man infodir=${D}/usr/share/info libexecdir=${D}/usr/lib/find \
- LOCATE_DB=${D}/var/lib/misc/locatedb install
- dosed "s:TMPDIR=/usr/tmp:TMPDIR=/tmp:" usr/bin/updatedb
-
- rm -fr ${D}/usr/var
- dodoc COPYING NEWS README TODO ChangeLog
-
-}
-
diff --git a/sys-apps/gawk/files/digest-gawk-3.0.6 b/sys-apps/gawk/files/digest-gawk-3.0.6
deleted file mode 100644
index 55f7d10d4a37..000000000000
--- a/sys-apps/gawk/files/digest-gawk-3.0.6
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b5ba21c033f5a9737455458d94954609 gawk-3.0.6.tar.gz
diff --git a/sys-apps/gawk/files/digest-gawk-3.0.6-r1 b/sys-apps/gawk/files/digest-gawk-3.0.6-r1
deleted file mode 100644
index 55f7d10d4a37..000000000000
--- a/sys-apps/gawk/files/digest-gawk-3.0.6-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b5ba21c033f5a9737455458d94954609 gawk-3.0.6.tar.gz
diff --git a/sys-apps/gawk/files/digest-gawk-3.0.6-r2 b/sys-apps/gawk/files/digest-gawk-3.0.6-r2
deleted file mode 100644
index 55f7d10d4a37..000000000000
--- a/sys-apps/gawk/files/digest-gawk-3.0.6-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b5ba21c033f5a9737455458d94954609 gawk-3.0.6.tar.gz
diff --git a/sys-apps/gawk/gawk-3.0.6-r1.ebuild b/sys-apps/gawk/gawk-3.0.6-r1.ebuild
deleted file mode 100644
index 5c0916defadf..000000000000
--- a/sys-apps/gawk/gawk-3.0.6-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/gawk/gawk-3.0.6-r1.ebuild,v 1.3 2001/01/31 20:49:07 achim Exp $
-
-P=gawk-3.0.6
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU awk pattern-matching language"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gawk/${A}
- ftp://prep.ai.mit.edu/gnu/gawk/${A}"
-HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --libexecdir=/usr/lib/awk --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr libexecdir=${D}/usr/lib/awk install
-# rm -rf ${S}/usr/lib
- dodoc ChangeLog ACKNOWLEDGMENT COPYING FUTURES
- dodoc LIMITATIONS NEWS PROBLEMS README
- docinto README_d
- dodoc README_d/*
- docinto atari
- dodoc atari/ChangeLog atari/README.1st
- docinto awklib
- dodoc awklib/ChangeLog
- docinto pc
- dodoc pc/ChangeLog
- docinto posix
- dodoc posix/ChangeLog
-
-}
-
-
-
diff --git a/sys-apps/gawk/gawk-3.0.6-r2.ebuild b/sys-apps/gawk/gawk-3.0.6-r2.ebuild
deleted file mode 100644
index 664493c10728..000000000000
--- a/sys-apps/gawk/gawk-3.0.6-r2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/gawk/gawk-3.0.6-r2.ebuild,v 1.2 2001/02/15 18:17:31 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU awk pattern-matching language"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gawk/${A}
- ftp://prep.ai.mit.edu/gnu/gawk/${A}"
-HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html"
-DEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --prefix=/usr --libexecdir=/usr/lib/awk --mandir=/usr/share/man --infodir=/usr/share/info --host=${CHOST}
- try make ${MAKEOPTS}
-
-}
-
-src_install() {
-
- try make prefix=${D}/usr mandir=${D}/usr/share/man/man1 infodir=${D}/usr/share/info libexecdir=${D}/usr/lib/awk install
- dosym gawk.1.gz /usr/share/man/man1/awk.1.gz
- dodoc ChangeLog ACKNOWLEDGMENT COPYING FUTURES
- dodoc LIMITATIONS NEWS PROBLEMS README
- docinto README_d
- dodoc README_d/*
- docinto atari
- dodoc atari/ChangeLog atari/README.1st
- docinto awklib
- dodoc awklib/ChangeLog
- docinto pc
- dodoc pc/ChangeLog
- docinto posix
- dodoc posix/ChangeLog
-
-}
-
-
-
diff --git a/sys-apps/gawk/gawk-3.0.6.ebuild b/sys-apps/gawk/gawk-3.0.6.ebuild
deleted file mode 100644
index 9bd2cc44ecca..000000000000
--- a/sys-apps/gawk/gawk-3.0.6.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/gawk/gawk-3.0.6.ebuild,v 1.4 2000/11/30 23:14:33 achim Exp $
-
-P=gawk-3.0.6
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU awk pattern-matching language"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gawk/${A}
- ftp://prep.ai.mit.edu/gnu/gawk/${A}"
-HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html"
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${S}/usr/lib
- dodoc ChangeLog ACKNOWLEDGMENT COPYING FUTURES
- dodoc LIMITATIONS NEWS PROBLEMS README
- docinto README_d
- dodoc README_d/*
- docinto atari
- dodoc atari/ChangeLog atari/README.1st
- docinto awklib
- dodoc awklib/ChangeLog
- docinto pc
- dodoc pc/ChangeLog
- docinto posix
- dodoc posix/ChangeLog
-
-}
-
-
-
diff --git a/sys-apps/gluelog/gluelog-1.0-r1.ebuild b/sys-apps/gluelog/gluelog-1.0-r1.ebuild
deleted file mode 100644
index 04c1b5d91052..000000000000
--- a/sys-apps/gluelog/gluelog-1.0-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/gluelog/gluelog-1.0-r1.ebuild,v 1.3 2001/01/13 20:07:52 achim Exp $
-
-S=${WORKDIR}/${P}
-DESCRIPTION="Pipe and socket fittings for the system and kernel logs"
-SRC_URI=""
-
-src_compile() {
- mkdir ${S}
- cd ${FILESDIR}
- gcc ${CFLAGS} gluelog.c -o ${S}/gluelog
- gcc ${CFLAGS} glueklog.c -o ${S}/glueklog
-}
-
-src_unpack() {
- echo
-}
-
-src_install() {
- dodir /usr/sbin
- dosbin ${S}/gluelog ${S}/glueklog
- exeopts -m0750 -g wheel
- dodir /var/log
- local x
- for x in syslog klog
- do
- exeinto /var/lib/supervise/services/${x}
- newexe ${FILESDIR}/${x}-run run
- install -d -m0750 -o daemon -g wheel ${D}/var/log/${x}.d
- exeinto /etc/rc.d/init.d
- doexe ${FILESDIR}/svc-${x}
- done
-}
-
diff --git a/sys-apps/grep/files/digest-grep-2.4.2-r1 b/sys-apps/grep/files/digest-grep-2.4.2-r1
deleted file mode 100644
index 10f2f727a071..000000000000
--- a/sys-apps/grep/files/digest-grep-2.4.2-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8ec9a2e875cd3aaa89896a8f39249f58 grep-2.4.2.tar.gz
diff --git a/sys-apps/grep/files/digest-grep-2.4.2-r2 b/sys-apps/grep/files/digest-grep-2.4.2-r2
deleted file mode 100644
index 10f2f727a071..000000000000
--- a/sys-apps/grep/files/digest-grep-2.4.2-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8ec9a2e875cd3aaa89896a8f39249f58 grep-2.4.2.tar.gz
diff --git a/sys-apps/grep/grep-2.4.2-r1.ebuild b/sys-apps/grep/grep-2.4.2-r1.ebuild
deleted file mode 100644
index d19e67be39ef..000000000000
--- a/sys-apps/grep/grep-2.4.2-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/grep/grep-2.4.2-r1.ebuild,v 1.7 2001/01/31 20:49:07 achim Exp $
-
-P=grep-2.4.2
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU regular expression matcher"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/grep/${A}
- ftp://prep.ai.mit.edu/gnu/grep/${A}"
-HOMEPAGE="http://www.gnu.org/software/grep/grep.html"
-DEPEND="virtual/glibc"
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- dodoc AUTHORS COPYING ChangeLog NEWS README THANKS TODO
-}
-
-
-
diff --git a/sys-apps/grep/grep-2.4.2-r2.ebuild b/sys-apps/grep/grep-2.4.2-r2.ebuild
deleted file mode 100644
index d07ef91970c1..000000000000
--- a/sys-apps/grep/grep-2.4.2-r2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/grep/grep-2.4.2-r2.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU regular expression matcher"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/grep/${A}
- ftp://prep.ai.mit.edu/gnu/grep/${A}"
-HOMEPAGE="http://www.gnu.org/software/grep/grep.html"
-
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r2"
-
-RDEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- try make prefix=${D}/usr mandir=${D}/usr/share/man infodir=${D}/usr/share/info install
-
- dodoc AUTHORS COPYING ChangeLog NEWS README THANKS TODO
-
-}
-
-
-
diff --git a/sys-apps/groff/files/digest-groff-1.16.1 b/sys-apps/groff/files/digest-groff-1.16.1
deleted file mode 100644
index a63bf91c1ed9..000000000000
--- a/sys-apps/groff/files/digest-groff-1.16.1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 f5dfb985bd890fd6dcd95b138935a9ad groff-1.16.1.tar.gz
diff --git a/sys-apps/groff/groff-1.16.1.ebuild b/sys-apps/groff/groff-1.16.1.ebuild
deleted file mode 100644
index efa25f27d313..000000000000
--- a/sys-apps/groff/groff-1.16.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/groff/groff-1.16.1.ebuild,v 1.6 2001/01/31 20:49:07 achim Exp $
-
-P=groff-1.16.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Text formatter used for man pages"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/groff/${A}
- ftp://prep.ai.mit.edu/gnu/groff/${A}"
-HOMEPAGE="http://www.gnu.org/software/groff/groff.html"
-
-DEPEND="virtual/glibc
- >=sys-devel/gcc-2.95.2"
-
-RDEPEND="$DEPEND
- sys-devel/perl
- sys-apps/bash"
-
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- cd ${S}/tmac
-# mv Makefile.sub Makefile.sub.orig
-# sed -e "s/all: stamp-strip stamp-wrap/all: stamp-strip/" Makefile.sub.orig > Makefile.sub
- #fixed some things with the build process using good 'ol sed
- cd ${S}
- # pmake does not work !
- try make
-}
-
-src_install() {
- into /usr
- dodoc NEWS PROBLEMS PROJECTS README TODO VERSION \
- BUG-REPORT COPYING ChangeLog FDL MORE.STUFF \
- REVISION
- try make prefix=${D}/usr install
-
-}
-
-
diff --git a/sys-apps/grub/files/digest-grub-0.5.96.1-r1 b/sys-apps/grub/files/digest-grub-0.5.96.1-r1
deleted file mode 100644
index 1c025eb54f63..000000000000
--- a/sys-apps/grub/files/digest-grub-0.5.96.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3c078fa58deaf7ea3bdf3135b3b4e975 grub-0.5.96.1.tar.gz
diff --git a/sys-apps/grub/grub-0.5.96.1-r1.ebuild b/sys-apps/grub/grub-0.5.96.1-r1.ebuild
deleted file mode 100644
index 7db99b5ee924..000000000000
--- a/sys-apps/grub/grub-0.5.96.1-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/grub/grub-0.5.96.1-r1.ebuild,v 1.2 2000/11/30 23:14:33 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU GRUB boot loader"
-SRC_URI="ftp://alpha.gnu.org/gnu/grub/${A}"
-HOMEPAGE="http://www.gnu.org/software/grub"
-DEPEND=">=sys-libs/gpm-1.19.3"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- cd ${S}
- dodir /boot/boot/grub
- cd ${D}/usr/share/grub/i386-pc
- cp stage1 stage2 *stage1_5 ${D}/boot/boot/grub
- dodoc AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO
-}
-
-
-
diff --git a/sys-apps/gzip/files/digest-gzip-1.2.4a-r1 b/sys-apps/gzip/files/digest-gzip-1.2.4a-r1
deleted file mode 100644
index 60ae475bc42e..000000000000
--- a/sys-apps/gzip/files/digest-gzip-1.2.4a-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 39053e044b18ecd0627f80fbe7cfeaad gzip-1.2.4a.tar.gz
diff --git a/sys-apps/gzip/files/digest-gzip-1.2.4a-r2 b/sys-apps/gzip/files/digest-gzip-1.2.4a-r2
deleted file mode 100644
index 60ae475bc42e..000000000000
--- a/sys-apps/gzip/files/digest-gzip-1.2.4a-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 39053e044b18ecd0627f80fbe7cfeaad gzip-1.2.4a.tar.gz
diff --git a/sys-apps/gzip/gzip-1.2.4a-r1.ebuild b/sys-apps/gzip/gzip-1.2.4a-r1.ebuild
deleted file mode 100644
index 1a7df3b1fd26..000000000000
--- a/sys-apps/gzip/gzip-1.2.4a-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/gzip/gzip-1.2.4a-r1.ebuild,v 1.8 2001/01/31 20:49:07 achim Exp $
-
-P=gzip-1.2.4a
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU compressor"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gzip/${A}
- ftp://prep.ai.mit.edu/gnu/gzip/${A}"
-HOMEPAGE="http://www.gnu.org/software/gzip/gzip.html"
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc
- sys-apps/bash"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr --exec-prefix=/
- try pmake
-}
-
-src_install() {
- dodir /usr/bin
- try make prefix=${D}/usr exec_prefix=${D}/ install
- cd ${D}/bin
- for i in gzexe zforce zgrep zmore znew zcmp
- do
- cp ${i} ${i}.orig
- sed -e "1d" -e "s:${D}::" ${i}.orig > ${i}
- rm ${i}.orig
- chmod 755 ${i}
- done
- cd ${D}/usr/man/man1
-
- for i in gzexe gzip zcat zcmp zdiff zforce \
- zgrep zmore znew
- do
- rm ${i}.1
- ln -s gunzip.1.gz ${i}.1.gz
- done
- cd ${S}
- rm -rf ${D}/usr/lib
- dodoc ChangeLog COPYING NEWS README THANKS TODO
- docinto txt
- dodoc algorithm.doc gzip.doc
-}
-
-
-
-
diff --git a/sys-apps/gzip/gzip-1.2.4a-r2.ebuild b/sys-apps/gzip/gzip-1.2.4a-r2.ebuild
deleted file mode 100644
index 1269271f6f87..000000000000
--- a/sys-apps/gzip/gzip-1.2.4a-r2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/gzip/gzip-1.2.4a-r2.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU compressor"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gzip/${A}
- ftp://prep.ai.mit.edu/gnu/gzip/${A}"
-HOMEPAGE="http://www.gnu.org/software/gzip/gzip.html"
-
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr --exec-prefix=/ \
- --mandir=/usr/share/man --infodir=/usr/share/info
- try pmake
-}
-
-src_install() {
-
- dodir /usr/bin /usr/share/man/man1
- try make prefix=${D}/usr exec_prefix=${D}/ mandir=${D}/usr/share/man/man1 infodir=${D}/usr/share/info install
-
- cd ${D}/bin
- for i in gzexe zforce zgrep zmore znew zcmp
- do
- cp ${i} ${i}.orig
- sed -e "1d" -e "s:${D}::" ${i}.orig > ${i}
- rm ${i}.orig
- chmod 755 ${i}
- done
-
- cd ${D}/usr/share/man/man1
-
- for i in gzexe gzip zcat zcmp zdiff zforce \
- zgrep zmore znew
- do
- rm ${i}.1
- ln -s gunzip.1.gz ${i}.1.gz
- done
-
- cd ${S}
- rm -rf ${D}/usr/man ${D}/usr/lib
-
- dodoc ChangeLog COPYING NEWS README THANKS TODO
- docinto txt
- dodoc algorithm.doc gzip.doc
-}
-
-
-
-
diff --git a/sys-apps/hdparm/files/digest-hdparm-3.9-r2 b/sys-apps/hdparm/files/digest-hdparm-3.9-r2
deleted file mode 100644
index 5234b2f133f6..000000000000
--- a/sys-apps/hdparm/files/digest-hdparm-3.9-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e0acf444f8d2fff2cb83cf080e1115e1 hdparm-3.9.tar.gz
diff --git a/sys-apps/hdparm/hdparm-3.9-r2.ebuild b/sys-apps/hdparm/hdparm-3.9-r2.ebuild
deleted file mode 100644
index 7f680b13b64f..000000000000
--- a/sys-apps/hdparm/hdparm-3.9-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/hdparm/hdparm-3.9-r2.ebuild,v 1.3 2000/12/01 21:58:45 achim Exp $
-
-P=hdparm-3.9
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Utility to change hard drive performance parameters"
-SRC_URI="http://metalab.unc.edu/pub/Linux/system/hardware/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try pmake all
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" -e "s:-s::" \
- Makefile.orig > Makefile
- mv hdparm.c hdparm.orig
- sed -e "s:#include <string\.h>::" hdparm.orig > hdparm.c
-}
-
-src_install() {
- into /usr
- dosbin hdparm
- doman hdparm.8
- dodoc hdparm-*.lsm Changelog
-}
-
-
diff --git a/sys-apps/ipchains/files/digest-ipchains-1.3.10 b/sys-apps/ipchains/files/digest-ipchains-1.3.10
deleted file mode 100644
index f06ae7de40fd..000000000000
--- a/sys-apps/ipchains/files/digest-ipchains-1.3.10
+++ /dev/null
@@ -1 +0,0 @@
-MD5 44b6df672a6e7bce8902dc67aef6b12a ipchains-1.3.10.tar.gz
diff --git a/sys-apps/ipchains/ipchains-1.3.10.ebuild b/sys-apps/ipchains/ipchains-1.3.10.ebuild
deleted file mode 100644
index a55bc9fd4648..000000000000
--- a/sys-apps/ipchains/ipchains-1.3.10.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/ipchains/ipchains-1.3.10.ebuild,v 1.2 2000/11/30 23:14:33 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="2.2 kernel equivalent of ipfwadm"
-SRC_URI="http://netfilter.kernelnotes.org/ipchains/${A}"
-HOMEPAGE="http://netfilter.filewatcher.org/ipchains/"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try make clean
- try make ${MAKEOPTS} all
-}
-
-src_unpack() {
-
- unpack ${A}
- cd ${S}
- mv Makefile Makefile.orig
- sed -e "s/= -g -O/= ${CFLAGS}/" Makefile.orig > Makefile
- cd ${S}/libipfwc
- mv Makefile Makefile.orig
- sed -e "s/= -g -O/= ${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
- into /
- dosbin ipchains
- doman ipfw.4 ipchains.8
- dodoc COPYING README
- docinto ps
- dodoc ipchains-quickref.ps
-}
-
-
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.2.4 b/sys-apps/iproute2/files/digest-iproute2-2.2.4
deleted file mode 100644
index 4bb3a63d1bcb..000000000000
--- a/sys-apps/iproute2/files/digest-iproute2-2.2.4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 70ef05a56f32f73a1ef67ef40d35c37e iproute2-2.2.4-now-ss001007.tar.gz
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.2.4-r1 b/sys-apps/iproute2/files/digest-iproute2-2.2.4-r1
deleted file mode 100644
index 4bb3a63d1bcb..000000000000
--- a/sys-apps/iproute2/files/digest-iproute2-2.2.4-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 70ef05a56f32f73a1ef67ef40d35c37e iproute2-2.2.4-now-ss001007.tar.gz
diff --git a/sys-apps/iptables/files/digest-iptables-1.1.2 b/sys-apps/iptables/files/digest-iptables-1.1.2
deleted file mode 100644
index e4eea023d1b4..000000000000
--- a/sys-apps/iptables/files/digest-iptables-1.1.2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 7c98763fae835bba08284559e0125dfa iptables-1.1.2.tar.bz2
diff --git a/sys-apps/iptables/files/digest-iptables-1.2 b/sys-apps/iptables/files/digest-iptables-1.2
deleted file mode 100644
index 9b1cfcc198d4..000000000000
--- a/sys-apps/iptables/files/digest-iptables-1.2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8a6ae3a22b4e402e251150a37f3400ca iptables-1.2.tar.bz2
diff --git a/sys-apps/iptables/files/digest-iptables-1.2-r1 b/sys-apps/iptables/files/digest-iptables-1.2-r1
deleted file mode 100644
index 9b1cfcc198d4..000000000000
--- a/sys-apps/iptables/files/digest-iptables-1.2-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8a6ae3a22b4e402e251150a37f3400ca iptables-1.2.tar.bz2
diff --git a/sys-apps/isapnptools/files/digest-isapnptools-1.23 b/sys-apps/isapnptools/files/digest-isapnptools-1.23
deleted file mode 100644
index 9c4e0abccabf..000000000000
--- a/sys-apps/isapnptools/files/digest-isapnptools-1.23
+++ /dev/null
@@ -1 +0,0 @@
-MD5 6e365c7c7dabda6e4ef64b0630bdb28e isapnptools-1.23.tgz
diff --git a/sys-apps/isapnptools/isapnptools-1.23.ebuild b/sys-apps/isapnptools/isapnptools-1.23.ebuild
deleted file mode 100644
index b7f5314cda24..000000000000
--- a/sys-apps/isapnptools/isapnptools-1.23.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/isapnptools/isapnptools-1.23.ebuild,v 1.3 2000/11/30 23:14:33 achim Exp $
-
-P=isapnptools-1.23
-A=${P}.tgz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools for configuring ISA PnP devices"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/hardware/${A}"
-HOMEPAGE="http://www.roestock.demon.co.uk/isapnptools/"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}/src
- cp pnpdump_main.c pnpdump_main.c.orig
- sed -e "s/^static FILE\* o_file.*//" \
- -e "s/o_file/stdout/g" \
- -e "s/stdout_name/o_file_name/g" pnpdump_main.c.orig > pnpdump_main.c
-# cp Makefile Makefile.orig
-# sed -e "s:-O2:${CFLAGS}:" Makefile.orig > Makefile
-
-}
-
-src_install() {
- cd ${S}
- dodir /usr/man/man5
- dodir /usr/man/man8
- try make DESTDIR=${D} install
- dodoc AUTHORS ChangeLog COPYING README NEWS
- docinto txt
- # Small fix
- dodoc doc/README* doc/*.txt test/*.txt
- dodoc etc/isapnp.*
-}
-
diff --git a/sys-apps/less/files/digest-less-358-r1 b/sys-apps/less/files/digest-less-358-r1
deleted file mode 100644
index 01ad0a7d8e5e..000000000000
--- a/sys-apps/less/files/digest-less-358-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 692a94060a50dd35a4d65176cb899444 less-358.tar.gz
diff --git a/sys-apps/less/less-358-r1.ebuild b/sys-apps/less/less-358-r1.ebuild
deleted file mode 100644
index 12d084e95967..000000000000
--- a/sys-apps/less/less-358-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/less/less-358-r1.ebuild,v 1.6 2000/11/30 23:14:33 achim Exp $
-
-P=less-358
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Excellent text file viewer"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/less/${A}
- ftp://ftp.gnu.org/pub/gnu/less/${A}"
-HOMEPAGE="http://www.gnu.org/software/less/less.html"
-
-DEPEND=">=sys-libs/gpm-1.19.3"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try pmake
-}
-
-src_install() {
- cd ${S}
- into /usr
- dobin less lessecho lesskey
- cp lesskey.nro lesskey.1
- cp less.nro less.1
- doman *.1
- dodoc COPYING NEWS README LICENSE
-}
-
-
-
diff --git a/sys-apps/lilo/files/digest-lilo-21.6 b/sys-apps/lilo/files/digest-lilo-21.6
deleted file mode 100644
index 755082b10d13..000000000000
--- a/sys-apps/lilo/files/digest-lilo-21.6
+++ /dev/null
@@ -1 +0,0 @@
-MD5 796a43b6dfd488e36fcbd84719f8ba16 lilo-21.6.tar.gz
diff --git a/sys-apps/lilo/files/digest-lilo-21.6-r1 b/sys-apps/lilo/files/digest-lilo-21.6-r1
deleted file mode 100644
index 755082b10d13..000000000000
--- a/sys-apps/lilo/files/digest-lilo-21.6-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 796a43b6dfd488e36fcbd84719f8ba16 lilo-21.6.tar.gz
diff --git a/sys-apps/lilo/lilo-21.6-r1.ebuild b/sys-apps/lilo/lilo-21.6-r1.ebuild
deleted file mode 100644
index 66a668abc3ae..000000000000
--- a/sys-apps/lilo/lilo-21.6-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/lilo/lilo-21.6-r1.ebuild,v 1.1 2001/02/07 15:51:27 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard Linux boot loader"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/"${A}
-
-DEPEND="virtual/glibc
- >=sys-devel/bin86-0.15.4-r1"
-
-RDEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack ${A}
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s:-g:${CFLAGS}:" \
- Makefile.orig > Makefile
-
-}
-
-src_compile() {
-
- try pmake
-}
-
-src_install() {
-
- into /
- dosbin lilo
- into /usr
- dosbin keytab-lilo.pl
- dodir /boot
- insinto /boot
- doins boot-text.b boot-menu.b chain.b os2_d.b
- doman manPages/*.[5-8]
- dodoc CHANGES COPYING INCOMPAT QuickInst README*
-}
-
-pkg_preinst() {
-
- . ${ROOT}/etc/rc.d/config/functions
-
- if [ ! -L $ROOT/boot/boot.b -a -f $ROOT/boot/boot.b ]
- then
- einfo "Saving old boot.b..."
- mv $ROOT/boot/boot.b $ROOT/boot/boot.old;
- fi
-
- if [ ! -L $ROOT/boot/chain.b -a -f $ROOT/boot/chain.b ]
- then
- einfo "Saving old chain.b..."
- mv $ROOT/boot/chain.b $ROOT/boot/chain.old;
- fi
-
- if [ ! -L $ROOT/boot/os2_d.b -a -f $ROOT/boot/os2_d.b ]
- then
- einfo "Saving old os2_d.b..."
- mv $ROOT/boot/os2_d.b $ROOT/boot/os2_d.old;
- fi
-}
-
-pkg_postinst() {
-
- . ${ROOT}/etc/rc.d/config/functions
-
- einfo "Activating boot-menu..."
- ln -sf boot-menu.b $ROOT/boot/boot.b;
-
-}
-
-
diff --git a/sys-apps/lilo/lilo-21.6.ebuild b/sys-apps/lilo/lilo-21.6.ebuild
deleted file mode 100644
index 85be0e904f49..000000000000
--- a/sys-apps/lilo/lilo-21.6.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/lilo/lilo-21.6.ebuild,v 1.3 2000/11/30 23:14:33 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard Linux boot loader"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/"${A}
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-devel/perl-5.6"
-
-src_compile() {
- try pmake
-}
-
-src_install() {
- into /
- dosbin lilo
- into /usr
- dosbin keytab-lilo.pl
- dodir /boot
- insinto /boot
- doins boot-text.b boot-menu.b chain.b os2_d.b
- doman manPages/*.[5-8]
- dodoc CHANGES COPYING INCOMPAT QuickInst README*
-}
-
-pkg_preinst() {
-
- . ${ROOT}/etc/rc.d/config/functions
-
- if [ ! -L $ROOT/boot/boot.b -a -f $ROOT/boot/boot.b ]
- then
- einfo "Saving old boot.b..."
- mv $ROOT/boot/boot.b $ROOT/boot/boot.old;
- fi
-
- if [ ! -L $ROOT/boot/chain.b -a -f $ROOT/boot/chain.b ]
- then
- einfo "Saving old chain.b..."
- mv $ROOT/boot/chain.b $ROOT/boot/chain.old;
- fi
-
- if [ ! -L $ROOT/boot/os2_d.b -a -f $ROOT/boot/os2_d.b ]
- then
- einfo "Saving old os2_d.b..."
- mv $ROOT/boot/os2_d.b $ROOT/boot/os2_d.old;
- fi
-}
-
-pkg_postinst() {
-
- . ${ROOT}/etc/rc.d/config/functions
-
- einfo "Activating boot-menu..."
- ln -sf boot-menu.b $ROOT/boot/boot.b;
-
-}
-
-
diff --git a/sys-apps/man-pages/files/digest-man-pages-1.31 b/sys-apps/man-pages/files/digest-man-pages-1.31
deleted file mode 100644
index b0dd48a859be..000000000000
--- a/sys-apps/man-pages/files/digest-man-pages-1.31
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 3536efbc1d5c5ab38de66771eab723c3 man-pages-1.31.tar.gz
-MD5 17135e48a2813766e2db94ccb7339168 netman-20000610.tgz
diff --git a/sys-apps/man-pages/man-pages-1.31.ebuild b/sys-apps/man-pages/man-pages-1.31.ebuild
deleted file mode 100644
index d896e03a1664..000000000000
--- a/sys-apps/man-pages/man-pages-1.31.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/man-pages/man-pages-1.31.ebuild,v 1.3 2000/12/13 11:37:56 achim Exp $
-
-P=man-pages-1.31
-A="${P}.tar.gz netman-20000610.tgz"
-S=${WORKDIR}/${P}
-DESCRIPTION="A somewhat comprehensive collection of Linux man pages"
-
-SRC_URI="ftp://ftp.kernel.org/pub/linux/docs/manpages/man-pages-1.31.tar.gz
- ftp://ftp.de.kernel.org/pub/linux/docs/manpages/man-pages-1.31.tar.gz
- ftp://ftp.uk.kernel.org/pub/linux/docs/manpages/man-pages-1.31.tar.gz
- ftp://ftp.suse.com/pub/people/ak/netman/netman-20000610.tgz"
-
-DEPEND=""
-
-src_compile() {
- echo
-}
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${S}
- unpack netman-20000610.tgz
- tar xzf ${O}/files/man2.tar.gz
- for x in 2 3 7
- do
- mv netman/*.$x man$x
- done
-}
-
-src_install() {
- for x in 1 2 3 4 5 6 7 8
- do
- doman man$x/*.[1-9]
- done
- dodoc man-pages-1.31.Announce README
- docinto netman
- dodoc netman/FIXME netman/README
-}
-
-
-
-
-
-
-
-
diff --git a/sys-apps/man/files/digest-man-1.5.1h-r1 b/sys-apps/man/files/digest-man-1.5.1h-r1
deleted file mode 100644
index dee8b0af1b3c..000000000000
--- a/sys-apps/man/files/digest-man-1.5.1h-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 a5399facb73a2fd17680e7db9809c282 man-1.5h1.tar.gz
diff --git a/sys-apps/man/man-1.5.1h-r1.ebuild b/sys-apps/man/man-1.5.1h-r1.ebuild
deleted file mode 100644
index f6c33613bdc1..000000000000
--- a/sys-apps/man/man-1.5.1h-r1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/man/man-1.5.1h-r1.ebuild,v 1.5 2000/11/30 23:14:33 achim Exp $
-
-P=man-1.5h1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard commands to read man pages"
-SRC_URI="ftp://ftp.win.tue.nl/pub/linux-local/utils/man/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try ./configure +sgid +fsstnd +lang all
- for FOOF in src man2html
- do
- try pmake ${FOOF}/Makefile MANCONFIG=/etc/man.conf
- cd ${S}/${FOOF}
- cp Makefile Makefile.orig
- sed -e "s/gcc -O/gcc ${CFLAGS}/" Makefile.orig > Makefile
- cd ${S}
- done
- try make
-}
-
-src_unpacks() {
- unpack ${A}
- cd ${S}
- cp configure configure.orig
- sed -e 's!/bin:/usr/bin:/usr/ucb:/usr/local/bin:$PATH!/bin /usr/bin /usr/ucb /usr/local/bin $PATH!' configure.orig > configure
-}
-
-src_install() {
- cd ${S}/src
- into /usr
- dodir /usr/bin
- exeopts -s -m 2555 -o root -g man
- exeinto /usr/bin
- doexe man
- #chmod +x apropos whatis try makewhatis
- dobin apropos whatis
- dosbin try makewhatis
- insinto /etc
- doins man.conf
- cd ${S}/man2html
- dobin man2html
- doman man2html.1
- dodir /usr/man
- cd ${S}/man
- cp Makefile Makefile.orig
- echo "BINROOTDIR=${D}" > Makefile
- cat Makefile.orig >> Makefile
- try make installsubdirs
- cd ${S}
- dodoc COPYING LSM README* TODO
-
-}
-
-
diff --git a/sys-apps/modutils/files/digest-modutils-2.3.22 b/sys-apps/modutils/files/digest-modutils-2.3.22
deleted file mode 100644
index 7a83af253d3b..000000000000
--- a/sys-apps/modutils/files/digest-modutils-2.3.22
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e52df20711457cfe7ee102385d309572 modutils-2.3.22.tar.bz2
diff --git a/sys-apps/modutils/files/digest-modutils-2.3.24 b/sys-apps/modutils/files/digest-modutils-2.3.24
deleted file mode 100644
index 4c4830f69ab2..000000000000
--- a/sys-apps/modutils/files/digest-modutils-2.3.24
+++ /dev/null
@@ -1 +0,0 @@
-MD5 983a06ea18e91c0f11e1f120567db3f7 modutils-2.3.24.tar.bz2
diff --git a/sys-apps/modutils/files/digest-modutils-2.4.0 b/sys-apps/modutils/files/digest-modutils-2.4.0
deleted file mode 100644
index 438ecc42719a..000000000000
--- a/sys-apps/modutils/files/digest-modutils-2.4.0
+++ /dev/null
@@ -1 +0,0 @@
-MD5 42c8a105e8cb9beaaaafe68137d5c69d modutils-2.4.0.tar.bz2
diff --git a/sys-apps/modutils/modutils-2.3.22.ebuild b/sys-apps/modutils/modutils-2.3.22.ebuild
deleted file mode 100644
index 500ce0976269..000000000000
--- a/sys-apps/modutils/modutils-2.3.22.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/modutils/modutils-2.3.22.ebuild,v 1.1 2000/12/12 22:03:01 achim Exp $
-
-A=${P}.tar.bz2
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard kernel module utilities"
-SRC_URI="http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.3/${A}
- ftp://ftp.ocs.com.au/pub/modutils/v2.3/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try ./configure --prefix=/ --host=${CHOST} --disable-strip
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- dodir /sbin
- dodir /usr/man/man1
- dodir /usr/man/man8
- dodir /usr/man/man5
- dodir /usr/man/man2
- try make prefix=${D} mandir=${D}/usr/man install
- dodoc COPYING CREDITS ChangeLog NEWS README TODO
-}
-
-
-
-
diff --git a/sys-apps/modutils/modutils-2.3.24.ebuild b/sys-apps/modutils/modutils-2.3.24.ebuild
deleted file mode 100644
index 8fa0b306d990..000000000000
--- a/sys-apps/modutils/modutils-2.3.24.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/modutils/modutils-2.3.24.ebuild,v 1.1 2001/01/02 03:54:39 drobbins Exp $
-
-A=${P}.tar.bz2
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard kernel module utilities"
-SRC_URI="http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.3/${A}
- ftp://ftp.ocs.com.au/pub/modutils/v2.3/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try ./configure --prefix=/ --host=${CHOST} --disable-strip
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- dodir /sbin
- dodir /usr/man/man1
- dodir /usr/man/man8
- dodir /usr/man/man5
- dodir /usr/man/man2
- try make prefix=${D} mandir=${D}/usr/man install
- dodoc COPYING CREDITS ChangeLog NEWS README TODO
-}
-
-
-
-
diff --git a/sys-apps/modutils/modutils-2.4.0.ebuild b/sys-apps/modutils/modutils-2.4.0.ebuild
deleted file mode 100644
index 23b45b7dbe58..000000000000
--- a/sys-apps/modutils/modutils-2.4.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/modutils/modutils-2.4.0.ebuild,v 1.1 2001/01/08 10:19:41 achim Exp $
-
-A=${P}.tar.bz2
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard kernel module utilities"
-SRC_URI="http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.4/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try ./configure --prefix=/ --host=${CHOST} --disable-strip
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- dodir /sbin
- dodir /usr/man/man1
- dodir /usr/man/man8
- dodir /usr/man/man5
- dodir /usr/man/man2
- try make prefix=${D} mandir=${D}/usr/man install
- dodoc COPYING CREDITS ChangeLog NEWS README TODO
-}
-
-
-
-
diff --git a/sys-apps/most/files/digest-most-4.9.0-r1 b/sys-apps/most/files/digest-most-4.9.0-r1
deleted file mode 100644
index 6572157e20c5..000000000000
--- a/sys-apps/most/files/digest-most-4.9.0-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e2b80cda82f022100282e06918606c85 most-4.9.0.tar.gz
diff --git a/sys-apps/most/most-4.9.0-r1.ebuild b/sys-apps/most/most-4.9.0-r1.ebuild
deleted file mode 100644
index f09166085bdb..000000000000
--- a/sys-apps/most/most-4.9.0-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/most/most-4.9.0-r1.ebuild,v 1.6 2000/11/30 23:14:34 achim Exp $
-
-P=most-4.9.0
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="An extremely excellent text file reader"
-SRC_URI="ftp://space.mit.edu/pub/davis/most/${A}"
-
-DEPEND=">=sys-libs/slang-1.4.2"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- #*possible* (not definite) pmake problems, let's not risk it.
- # do not use pmake recursive
- try make ${MAKEOPTS}
-}
-
-src_install() {
- into /usr
- dobin src/objs/most
- doman most.1
- dodoc COPYING COPYRIGHT README changes.txt
- docinto txt
- dodoc default.rc lesskeys.rc most-fun.txt
-}
-
-
diff --git a/sys-apps/net-tools/files/digest-net-tools-1.57-r1 b/sys-apps/net-tools/files/digest-net-tools-1.57-r1
deleted file mode 100644
index 2d1ef7578391..000000000000
--- a/sys-apps/net-tools/files/digest-net-tools-1.57-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 5323c275b70e29ed13ea9db086f0c74c net-tools-1.57.tar.bz2
diff --git a/sys-apps/net-tools/files/digest-net-tools-1.57-r2 b/sys-apps/net-tools/files/digest-net-tools-1.57-r2
deleted file mode 100644
index 2d1ef7578391..000000000000
--- a/sys-apps/net-tools/files/digest-net-tools-1.57-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 5323c275b70e29ed13ea9db086f0c74c net-tools-1.57.tar.bz2
diff --git a/sys-apps/net-tools/net-tools-1.57-r1.ebuild b/sys-apps/net-tools/net-tools-1.57-r1.ebuild
deleted file mode 100644
index 7da73b294973..000000000000
--- a/sys-apps/net-tools/net-tools-1.57-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/net-tools/net-tools-1.57-r1.ebuild,v 1.9 2001/02/03 20:10:31 achim Exp $
-
-P=net-tools-1.57
-A=${P}.tar.bz2
-S=${WORKDIR}/${P}
-DESCRIPTION="standard Linux network tools"
-SRC_URI="http://www.tazenda.demon.co.uk/phil/net-tools/${A}"
-DEPEND="virtual/glibc
- sys-devel/gettext"
-
-src_compile() {
- try make ${MAKEOPTS}
- cd po
- try make ${MAKEOPTS}
-
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- cp ${O}/files/config.h .
- cp ${O}/files/config.make .
- mv Makefile Makefile.orig
- sed -e "s/-O2 -Wall -g/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
- try make BASEDIR=${D} install
- mv ${D}/bin/* ${D}/sbin
- for i in hostname domainname netstat dnsdomainname ypdomainname nisdomainname
- do
- mv ${D}/sbin/${i} ${D}/bin
- done
- dodoc COPYING README README.ipv6 TODO
-}
-
-
-
diff --git a/sys-apps/net-tools/net-tools-1.57-r2.ebuild b/sys-apps/net-tools/net-tools-1.57-r2.ebuild
deleted file mode 100644
index 8bde93b17bbf..000000000000
--- a/sys-apps/net-tools/net-tools-1.57-r2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/net-tools/net-tools-1.57-r2.ebuild,v 1.2 2001/02/07 18:22:18 achim Exp $
-
-P=net-tools-1.57
-A=${P}.tar.bz2
-S=${WORKDIR}/${P}
-DESCRIPTION="standard Linux network tools"
-SRC_URI="http://www.tazenda.demon.co.uk/phil/net-tools/${A}"
-
-DEPEND="virtual/glibc
- sys-devel/gettext"
-RDEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack ${A}
- cd ${S}
- cp ${FILESDIR}/config.h .
- cp ${FILESDIR}/config.make .
- cp Makefile Makefile.orig
- sed -e "s/-O2 -Wall -g/${CFLAGS}/" Makefile.orig > Makefile
- cd man
- cp Makefile Makefile.orig
- sed -e "s:/usr/man:/usr/share/man:" Makefile.orig > Makefile
-
-}
-
-src_compile() {
-
- try make ${MAKEOPTS}
- cd po
- try make ${MAKEOPTS}
-
-}
-
-src_install() {
-
- try make BASEDIR=${D} install
- mv ${D}/bin/* ${D}/sbin
- for i in hostname domainname netstat dnsdomainname ypdomainname nisdomainname
- do
- mv ${D}/sbin/${i} ${D}/bin
- done
-
- dodoc COPYING README README.ipv6 TODO
-}
-
-
-
diff --git a/sys-apps/netkit-base/files/digest-netkit-base-0.17-r1 b/sys-apps/netkit-base/files/digest-netkit-base-0.17-r1
deleted file mode 100644
index 8f379421bf7a..000000000000
--- a/sys-apps/netkit-base/files/digest-netkit-base-0.17-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 1f0193358e92559ec0f598b09ccbc0ec netkit-base-0.17.tar.gz
diff --git a/sys-apps/netkit-base/netkit-base-0.17-r1.ebuild b/sys-apps/netkit-base/netkit-base-0.17-r1.ebuild
deleted file mode 100644
index d181cefc55e6..000000000000
--- a/sys-apps/netkit-base/netkit-base-0.17-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/netkit-base/netkit-base-0.17-r1.ebuild,v 1.6 2001/02/03 20:10:31 achim Exp $
-
-P=netkit-base-0.17
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard linux net thingees -- inetd, ping"
-SRC_URI="ftp://ftp.uk.linux.org/pub/linux/Networking/netkit/${A}"
-DEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure
- mv MCONFIG MCONFIG.orig
- sed -e "s/-pipe -O2/${CFLAGS}/" MCONFIG.orig > MCONFIG
-
- try make ${MAKEOPTS}
-}
-
-
-src_install() {
- into /
- dobin ping/ping
- into /usr
- dosbin inetd/inetd
- doman inetd/inetd.8 inetd/daemon.3 ping/ping.8
- dodoc BUGS ChangeLog README
- docinto samples
- dodoc etc.sample/*
-}
-
-
-
diff --git a/sys-apps/procps/files/digest-procps-2.0.6 b/sys-apps/procps/files/digest-procps-2.0.6
deleted file mode 100644
index 765fe621dd40..000000000000
--- a/sys-apps/procps/files/digest-procps-2.0.6
+++ /dev/null
@@ -1 +0,0 @@
-MD5 2e6e156f0791b0e209d05aaf7204a219 procps-2.0.6.tar.gz
diff --git a/sys-apps/procps/files/digest-procps-2.0.7-r1 b/sys-apps/procps/files/digest-procps-2.0.7-r1
deleted file mode 100644
index 47a95728f6a2..000000000000
--- a/sys-apps/procps/files/digest-procps-2.0.7-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 bd8d68a9fd0c3f37365f924e75009c8a procps-2.0.7.tar.gz
diff --git a/sys-apps/procps/files/digest-procps-2.0.7-r2 b/sys-apps/procps/files/digest-procps-2.0.7-r2
deleted file mode 100644
index 47a95728f6a2..000000000000
--- a/sys-apps/procps/files/digest-procps-2.0.7-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 bd8d68a9fd0c3f37365f924e75009c8a procps-2.0.7.tar.gz
diff --git a/sys-apps/procps/procps-2.0.6.ebuild b/sys-apps/procps/procps-2.0.6.ebuild
deleted file mode 100644
index 60d5076b4109..000000000000
--- a/sys-apps/procps/procps-2.0.6.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/procps/procps-2.0.6.ebuild,v 1.1 2001/02/19 17:43:15 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard informational utilities and process-handling tools"
-SRC_URI="ftp://people.redhat.com/johnsonm/procps/${A}"
-DEPEND=">=sys-libs/ncurses-5.2-r2
- sys-libs/getext"
-DEPEND=">=sys-libs/ncurses-5.2-r2"
-
-src_unpack() {
-
- unpack ${A}
-
- cd ${S}
- patch -p0 < ${FILESDIR}/${P}.dif
-
- mv Makefile Makefile.orig
- sed -e "s/-O3/${CFLAGS}/" -e 's/all: config/all: /' \
- -e "s:--strip::" Makefile.orig > Makefile
-
- cd ${S}/ps
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" -e "s:--strip::" Makefile.orig > Makefile
-
- cd ${S}/proc
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" -e "s:--strip::" Makefile.orig > Makefile
-
-}
-
-src_compile() {
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- dodir /usr/bin
- dodir /sbin
- dodir /usr/X11R6/bin
- dodir /usr/share/man/man{1,5,8}
- dodir /lib
- dodir /bin
- try make DESTDIR=${D} MANDIR=/usr/share/man install
-
- preplib /
- dodoc BUGS COPYING COPYING.LIB NEWS TODO
- docinto proc
- dodoc proc/COPYING
- docinto ps
- dodoc ps/COPYING ps/HACKING
-}
-
-
-
diff --git a/sys-apps/procps/procps-2.0.7-r1.ebuild b/sys-apps/procps/procps-2.0.7-r1.ebuild
deleted file mode 100644
index 32c240deae20..000000000000
--- a/sys-apps/procps/procps-2.0.7-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/procps/procps-2.0.7-r1.ebuild,v 1.5 2000/12/08 17:21:49 achim Exp $
-
-P=procps-2.0.7
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard informational utilities and process-handling tools"
-SRC_URI="ftp://people.redhat.com/johnsonm/procps/${A}"
-DEPEND=">=sys-libs/gpm-1.13.9"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try make ${MAKEOPTS}
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- mv Makefile Makefile.orig
- sed -e "s/-O3/${CFLAGS}/" -e 's/all: config/all: /' \
- -e "s:--strip::" Makefile.orig > Makefile
- mv watch.c watch.c.orig
- sed -e "s/<ncurses.h>/<NEW>/" -e "s/<signal.h>/<ncurses.h>/" -e "s/<NEW>/<signal.h>/" watch.c.orig >watch.c
- cd ${S}/ps
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" -e "s:--strip::" Makefile.orig > Makefile
- cd ${S}/proc
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" -e "s:--strip::" Makefile.orig > Makefile
-}
-
-src_install() {
- into /usr
- dodir /usr/bin
- dodir /sbin
- dodir /usr/X11R6/bin
- dodir /usr/man/man1
- dodir /usr/man/man8
- dodir /usr/man/man5
- dodir /lib
- dodir /bin
- try make DESTDIR=${D} install
- preplib /
- dodoc BUGS COPYING COPYING.LIB NEWS TODO
- docinto proc
- dodoc proc/COPYING
- docinto ps
- dodoc ps/COPYING ps/HACKING
-}
-
-
-
diff --git a/sys-apps/procps/procps-2.0.7-r2.ebuild b/sys-apps/procps/procps-2.0.7-r2.ebuild
deleted file mode 100644
index 3c07e38b6b1b..000000000000
--- a/sys-apps/procps/procps-2.0.7-r2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/procps/procps-2.0.7-r2.ebuild,v 1.2 2001/02/07 20:42:54 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard informational utilities and process-handling tools"
-SRC_URI="ftp://people.redhat.com/johnsonm/procps/${A}"
-DEPEND=">=sys-libs/ncurses-5.2-r2
- sys-libs/getext"
-DEPEND=">=sys-libs/ncurses-5.2-r2"
-
-src_unpack() {
-
- unpack ${A}
-
- cd ${S}
-
- mv Makefile Makefile.orig
- sed -e "s/-O3/${CFLAGS}/" -e 's/all: config/all: /' \
- -e "s:--strip::" Makefile.orig > Makefile
-
- mv watch.c watch.c.orig
- sed -e "s/<ncurses.h>/<NEW>/" -e "s/<signal.h>/<ncurses.h>/" -e "s/<NEW>/<signal.h>/" watch.c.orig >watch.c
-
- cd ${S}/ps
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" -e "s:--strip::" Makefile.orig > Makefile
-
- cd ${S}/proc
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" -e "s:--strip::" Makefile.orig > Makefile
-
-}
-
-src_compile() {
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- dodir /usr/bin
- dodir /sbin
- dodir /usr/X11R6/bin
- dodir /usr/share/man/man{1,5,8}
- dodir /lib
- dodir /bin
- try make DESTDIR=${D} MANDIR=/usr/share/man install
-
- preplib /
- dodoc BUGS COPYING COPYING.LIB NEWS TODO
- docinto proc
- dodoc proc/COPYING
- docinto ps
- dodoc ps/COPYING ps/HACKING
-}
-
-
-
diff --git a/sys-apps/psmisc/files/digest-psmisc-19-r1 b/sys-apps/psmisc/files/digest-psmisc-19-r1
deleted file mode 100644
index f5049b5a2da9..000000000000
--- a/sys-apps/psmisc/files/digest-psmisc-19-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 1d56ac6c32b657fdf8f780084b095932 psmisc-19.tar.gz
diff --git a/sys-apps/psmisc/psmisc-19-r1.ebuild b/sys-apps/psmisc/psmisc-19-r1.ebuild
deleted file mode 100644
index 889bbc09ed81..000000000000
--- a/sys-apps/psmisc/psmisc-19-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/psmisc/psmisc-19-r1.ebuild,v 1.4 2000/11/30 23:14:34 achim Exp $
-
-#from Debian ;)
-
-P=psmisc-19
-A=${P}.tar.gz
-S=${WORKDIR}/psmisc
-DESCRIPTION="Handy process-related utilities from Debian"
-SRC_URI="ftp://lrcftp.epfl.ch/pub/linux/local/psmisc/"${A}
-DEPEND=">=sys-libs/gpm-1.19.3"
-
-src_compile() {
- try pmake
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s/-ltermcap/-lncurses/g" -e "s/-O/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
- into /
- dobin fuser
- into /usr
- dobin killall pstree
- dosym killall /usr/bin/pidof
- doman *.1
- dodoc CHANGES COPYING README VERSION psmisc-19.lsm
-}
-
-
diff --git a/sys-apps/raidtools/files/digest-raidtools-0.90-r1 b/sys-apps/raidtools/files/digest-raidtools-0.90-r1
deleted file mode 100644
index 9403b1ecfd52..000000000000
--- a/sys-apps/raidtools/files/digest-raidtools-0.90-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c6fd4456671a1ed8d3ff71a48b6e1d9c raidtools-dangerous-0.90-20000116.tar.gz
diff --git a/sys-apps/raidtools/raidtools-0.90-r1.ebuild b/sys-apps/raidtools/raidtools-0.90-r1.ebuild
deleted file mode 100644
index 8f15f315aefd..000000000000
--- a/sys-apps/raidtools/raidtools-0.90-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/raidtools/raidtools-0.90-r1.ebuild,v 1.7 2001/01/31 20:49:07 achim Exp $
-
-P=raidtools-0.90-1
-A=raidtools-dangerous-0.90-20000116.tar.gz
-S=${WORKDIR}/raidtools-0.90
-DESCRIPTION="Linux RAID 0/1/4/5 utilities"
-SRC_URI="http://people.redhat.com/mingo/raid-patches/"${A}
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure
- cp Makefile Makefile.orig
- sed -e "s/-O2//" -e "s/-g//" Makefile.orig > Makefile
- try pmake
-}
-
-src_install() {
- into /
- dosbin mkraid raidstart mkpv
- for x in raidstop raidhotadd raidhotremove raidsetfaulty
- do
- dosym raidstart /sbin/${x}
- done
- dosym mkraid /sbin/raid0run
- doman *.8 *.5
- dodoc COPYING README
- docinto txt
- dodoc Software-RAID.HOWTO/Software-RAID.HOWTO.txt
- docinto html
- dodoc Software-RAID.HOWTO/Software-RAID.HOWTO.html
- docinto sgml
- dodoc Software-RAID.HOWTO/Software-RAID.HOWTO.sgml
-
- docinto config
- dodoc *.sample
-
- dodir /dev
- for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
- do
- mknod -m 0600 ${D}/dev/md$i b 9 $i
- done
-
-}
-
diff --git a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25 b/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25
deleted file mode 100644
index 7c3e08791fb4..000000000000
--- a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25
+++ /dev/null
@@ -1 +0,0 @@
-MD5 155721ba311a1967acb093b8c9b46ba1 reiserfs-utils-3.6.25.tar.gz
diff --git a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r1 b/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r1
deleted file mode 100644
index d61bfde7772a..000000000000
--- a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 155721ba311a1967acb093b8c9b46ba1 reiserfs-utils-3.6.25.tar.gz
-MD5 7f74cacb37eb2351a09fbdc0657fd7fc reiserfsprogs-3.x.0a.tar.gz
diff --git a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r2 b/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r2
deleted file mode 100644
index d61bfde7772a..000000000000
--- a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r2
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 155721ba311a1967acb093b8c9b46ba1 reiserfs-utils-3.6.25.tar.gz
-MD5 7f74cacb37eb2351a09fbdc0657fd7fc reiserfsprogs-3.x.0a.tar.gz
diff --git a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r3 b/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r3
deleted file mode 100644
index 203183cf09bc..000000000000
--- a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r3
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 155721ba311a1967acb093b8c9b46ba1 reiserfs-utils-3.6.25.tar.gz
-MD5 b7713712caff3a9e04050c0f237d8cab reiserfsprogs-3.x.0d.tar.gz
diff --git a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r4 b/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r4
deleted file mode 100644
index 8efd220cf2bc..000000000000
--- a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r4
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 155721ba311a1967acb093b8c9b46ba1 reiserfs-utils-3.6.25.tar.gz
-MD5 20fc402694ba796b587fe5d14f6ca365 reiserfsprogs-3.x.0f.tar.gz
diff --git a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r5 b/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r5
deleted file mode 100644
index 76ec362bf324..000000000000
--- a/sys-apps/reiserfs-utils/files/digest-reiserfs-utils-3.6.25-r5
+++ /dev/null
@@ -1 +0,0 @@
-MD5 48e4c6c7ea0b7a4199e9c3310bbf19ce reiserfsprogs-3.x.0j.tar.gz
diff --git a/sys-apps/reiserfs-utils/reiserfs-utils-3.6.25.ebuild b/sys-apps/reiserfs-utils/reiserfs-utils-3.6.25.ebuild
deleted file mode 100644
index bdb8331f7811..000000000000
--- a/sys-apps/reiserfs-utils/reiserfs-utils-3.6.25.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Your Name <your email>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/reiserfs-utils/reiserfs-utils-3.6.25.ebuild,v 1.1 2001/01/19 00:59:12 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Reiserfs Utilities"
-SRC_URI="ftp://ftp.namesys.com/pub/reiserfsprogs/${A}"
-HOMEPAGE="http://"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s:-O2:${CFLAGS}:" Makefile.orig > Makefile
-}
-
-src_compile() {
-
- cd ${S}
- try make
-
-}
-
-src_install () {
-
- cd ${S}
- dodir /sbin
- dodir /usr/man/man8
- try make SBIN=${D}sbin MANDIR=${D}usr/man/man8 install
- dodoc README
-
-
-}
-
diff --git a/sys-apps/sed/files/digest-sed-3.02.80 b/sys-apps/sed/files/digest-sed-3.02.80
deleted file mode 100644
index c2922128b256..000000000000
--- a/sys-apps/sed/files/digest-sed-3.02.80
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3bf4f42bc0a5f9345a7586a73be3df79 sed-3.02.80.tar.gz
diff --git a/sys-apps/sed/files/digest-sed-3.02.80-r1 b/sys-apps/sed/files/digest-sed-3.02.80-r1
deleted file mode 100644
index c2922128b256..000000000000
--- a/sys-apps/sed/files/digest-sed-3.02.80-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3bf4f42bc0a5f9345a7586a73be3df79 sed-3.02.80.tar.gz
diff --git a/sys-apps/sed/sed-3.02.80-r1.ebuild b/sys-apps/sed/sed-3.02.80-r1.ebuild
deleted file mode 100644
index ed0374679f4c..000000000000
--- a/sys-apps/sed/sed-3.02.80-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sed/sed-3.02.80-r1.ebuild,v 1.1 2001/02/07 15:51:28 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Super-useful stream editor"
-SRC_URI="ftp://alpha.gnu.org/pub/gnu/sed/${A}"
-
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r2"
-
-RDEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- doinfo doc/sed.info
- doman doc/sed.1
-
- into /
- dobin sed/sed
- dodir /usr/bin
- dosym /bin/sed /usr/bin/sed
-
- dodoc COPYING NEWS README* THANKS TODO AUTHORS BUGS ANNOUNCE
-}
-
diff --git a/sys-apps/sed/sed-3.02.80.ebuild b/sys-apps/sed/sed-3.02.80.ebuild
deleted file mode 100644
index 5b8281ddef4b..000000000000
--- a/sys-apps/sed/sed-3.02.80.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sed/sed-3.02.80.ebuild,v 1.7 2001/01/31 20:49:07 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Super-useful stream editor"
-SRC_URI="ftp://alpha.gnu.org/pub/gnu/sed/${A}"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- into /usr
- doinfo doc/sed.info
- doman doc/sed.1
- into /
- dobin sed/sed
- dodir /usr/bin
- dosym /bin/sed /usr/bin/sed
- dodoc COPYING NEWS README* THANKS TODO AUTHORS BUGS ANNOUNCE
-}
-
diff --git a/sys-apps/setserial/files/digest-setserial-2.17-r1 b/sys-apps/setserial/files/digest-setserial-2.17-r1
deleted file mode 100644
index 302a3bdbd781..000000000000
--- a/sys-apps/setserial/files/digest-setserial-2.17-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c4867d72c41564318e0107745eb7a0f2 setserial-2.17.tar.gz
diff --git a/sys-apps/setserial/setserial-2.17-r1.ebuild b/sys-apps/setserial/setserial-2.17-r1.ebuild
deleted file mode 100644
index cd5974f82ed7..000000000000
--- a/sys-apps/setserial/setserial-2.17-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/setserial/setserial-2.17-r1.ebuild,v 1.7 2000/12/24 09:55:16 achim Exp $
-
-P=setserial-2.17
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Configure your serial ports with it"
-SRC_URI="ftp://tsx-11.mit.edu/pub/linux/sources/sbin/${A}
- ftp://ftp.sunsite.org.uk/Mirrors/tsx-11.mit.edu/pub/linux/sources/sbin/${A}"
-DEPEND="sys-apps/groff
- >=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure
- try pmake
-}
-
-src_install() {
- into /
- dobin setserial
- into /usr
- doman setserial.8
- dodoc README
- docinto txt
- dodoc Documentation/*
- insinto /etc
- doins serial.conf
-}
-
-
diff --git a/sys-apps/sh-utils/files/digest-sh-utils-2.0j-r1 b/sys-apps/sh-utils/files/digest-sh-utils-2.0j-r1
deleted file mode 100644
index bc4f2b097953..000000000000
--- a/sys-apps/sh-utils/files/digest-sh-utils-2.0j-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 82087d6cc313189c312a0cf8ef875a2c sh-utils-2.0j.tar.gz
diff --git a/sys-apps/sh-utils/files/digest-sh-utils-2.0j-r2 b/sys-apps/sh-utils/files/digest-sh-utils-2.0j-r2
deleted file mode 100644
index bc4f2b097953..000000000000
--- a/sys-apps/sh-utils/files/digest-sh-utils-2.0j-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 82087d6cc313189c312a0cf8ef875a2c sh-utils-2.0j.tar.gz
diff --git a/sys-apps/sh-utils/sh-utils-2.0j-r1.ebuild b/sys-apps/sh-utils/sh-utils-2.0j-r1.ebuild
deleted file mode 100644
index 26a5a04cd271..000000000000
--- a/sys-apps/sh-utils/sh-utils-2.0j-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sh-utils/sh-utils-2.0j-r1.ebuild,v 1.9 2001/01/31 20:49:07 achim Exp $
-
-P=sh-utils-2.0j
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Your standard GNU shell utilities"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-DEPEND="virtual/glibc"
-RDEPEND="virtual/glibc
- sys-apps/bash"
-
-src_unpack() {
- unpack ${A}
- cd ${S}/src
- cp sys2.h sys2.h.orig
- sed -e "s:^char \*strndup://:" sys2.h.orig > sys2.h
-}
-
-src_compile() {
- export CFLAGS="${CFLAGS}"
- try ./configure --host=${CHOST} --build=${CHOST} --prefix=/usr \
- --without-included-regex
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/lib
- dodir /bin
- cd ${D}/usr/bin
- # We must use hostname from net-base
- rm hostname
- mv date echo false pwd stty su true uname ${D}/bin
- dodoc AUTHORS COPYING ChangeLog ChangeLog.0 \
- NEWS README THANKS TODO
-}
-
-
-
diff --git a/sys-apps/sh-utils/sh-utils-2.0j-r2.ebuild b/sys-apps/sh-utils/sh-utils-2.0j-r2.ebuild
deleted file mode 100644
index 91711e7d9a52..000000000000
--- a/sys-apps/sh-utils/sh-utils-2.0j-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sh-utils/sh-utils-2.0j-r2.ebuild,v 1.1 2001/02/07 15:51:28 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Your standard GNU shell utilities"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r2"
-
-DEPEND="virtual/glibc"
-
-src_unpack() {
- unpack ${A}
- cd ${S}/src
- cp sys2.h sys2.h.orig
- sed -e "s:^char \*strndup://:" sys2.h.orig > sys2.h
-}
-
-src_compile() {
-
- try CFLAGS=\"${CFLAGS}\" ./configure --host=${CHOST} --build=${CHOST} \
- --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info \
- --without-included-regex
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- try make prefix=${D}/usr mandir=${D}/usr/share/man infodir=${D}/usr/share/info install
- rm -rf ${D}/usr/lib
- dodir /bin
- cd ${D}/usr/bin
- # We must use hostname from net-base
- rm hostname
- mv date echo false pwd stty su true uname ${D}/bin
-
- cd ${S}
- dodoc AUTHORS COPYING ChangeLog ChangeLog.0 \
- NEWS README THANKS TODO
-}
-
-
-
diff --git a/sys-apps/shadow/files/digest-shadow-20000902-r1 b/sys-apps/shadow/files/digest-shadow-20000902-r1
deleted file mode 100644
index d3297a795ea5..000000000000
--- a/sys-apps/shadow/files/digest-shadow-20000902-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 23898244ab8d1358008ed68a26f9fe43 shadow-20000902.tar.gz
diff --git a/sys-apps/shadow/files/digest-shadow-20001016 b/sys-apps/shadow/files/digest-shadow-20001016
deleted file mode 100644
index fd82258cf572..000000000000
--- a/sys-apps/shadow/files/digest-shadow-20001016
+++ /dev/null
@@ -1 +0,0 @@
-MD5 588d1de9d58c35cd00fa782688e1f26d shadow-20001016.tar.gz
diff --git a/sys-apps/shadow/files/digest-shadow-20001016-r1 b/sys-apps/shadow/files/digest-shadow-20001016-r1
deleted file mode 100644
index fd82258cf572..000000000000
--- a/sys-apps/shadow/files/digest-shadow-20001016-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 588d1de9d58c35cd00fa782688e1f26d shadow-20001016.tar.gz
diff --git a/sys-apps/shadow/files/digest-shadow-20001016-r2 b/sys-apps/shadow/files/digest-shadow-20001016-r2
deleted file mode 100644
index fd82258cf572..000000000000
--- a/sys-apps/shadow/files/digest-shadow-20001016-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 588d1de9d58c35cd00fa782688e1f26d shadow-20001016.tar.gz
diff --git a/sys-apps/shadow/shadow-20000902-r1.ebuild b/sys-apps/shadow/shadow-20000902-r1.ebuild
deleted file mode 100644
index 9b86b3de8a41..000000000000
--- a/sys-apps/shadow/shadow-20000902-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-20000902-r1.ebuild,v 1.2 2000/12/12 19:15:34 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Utilities to deal with user accounts"
-SRC_URI="http://www1.itnet.pl/amelektr/linux/shadow/${A}
- ftp://piast.t19.ds.pwr.wroc.pl/pub/linux/shadow/${A}"
-DEPEND=">=sys-libs/pam-0.72"
-
-src_compile() {
- try ./configure --disable-desrpc --with-libcrypt \
- --with-libcrack --with-libpam --disable-shared --host=${CHOST}
- # Parallel make fails sometimes
- try make LDFLAGS=\"\"
-}
-
-src_install() {
- cd ${S}
- try make install prefix=${D}/usr exec_prefix=${D}
- mv ${D}/lib ${D}/usr
- dosed "s:/lib:/usr/lib:" /usr/lib/libshadow.la
- cd ${D}/usr/sbin
- ln -s useradd ${D}/usr/sbin/adduser
- dodir /etc
- cp ${O}/files/login.defs ${D}/etc
-
- dodir /etc/default
- cp ${O}/files/useradd ${D}/etc/default
- chmod 0600 ${D}/etc/default/useradd
- dodir /etc/skel
- cd ${S}/etc
- cp shells shells.orig
- echo "# /etc/shells: valid login shells" > shells
- echo "/bin/sh" >> shells
- echo "/bin/bash" >> shells
- echo "/bin/tcsh" >> shells
- echo "/bin/esh" >> shells
- echo "/bin/ksh" >> shells
- echo "/bin/zsh" >> shells
- echo "/bin/sash" >> shells
- insinto /etc
- doins limits shells
- insopts -m0600
- doins suauth login.access
- doins ${S}/debian/securetty
- cd ${S}/doc
- dodoc ANNOUNCE CHANGES INSTALL LICENSE README WISHLIST
- docinto txt
- dodoc HOWTO LSM README.* *.txt
-
-}
-
-
-
diff --git a/sys-apps/shadow/shadow-20001016-r1.ebuild b/sys-apps/shadow/shadow-20001016-r1.ebuild
deleted file mode 100644
index 34ae5322eda7..000000000000
--- a/sys-apps/shadow/shadow-20001016-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-20001016-r1.ebuild,v 1.1 2001/01/30 22:26:53 drobbins Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Utilities to deal with user accounts"
-SRC_URI="ftp://ftp.pld.org.pl/software/shadow/${A}"
-
-DEPEND=">=sys-libs/pam-0.72"
-
-src_unpack() {
- unpack ${A}
- cd ${S}/src
- patch -p0 < ${FILESDIR}/useradd.diff
-}
-
-src_compile() {
- try ./configure --disable-desrpc --with-libcrypt \
- --with-libcrack --with-libpam --host=${CHOST}
- # Parallel make fails sometimes
- try make LDFLAGS=\"\"
-}
-
-src_install() {
- cd ${S}
- try make install prefix=${D}/usr mandir=${D}/usr/man exec_prefix=${D}
- #add "vigr" symbolic link
- dosym vipw /usr/sbin/vigr
- mv ${D}/lib ${D}/usr
- dosed "s:/lib:/usr/lib:" /usr/lib/libshadow.la
- cd ${D}/usr/sbin
- ln -s useradd ${D}/usr/sbin/adduser
- dodir /etc
- cp ${O}/files/login.defs ${D}/etc
-
- dodir /etc/default
- cp ${O}/files/useradd ${D}/etc/default
- chmod 0600 ${D}/etc/default/useradd
- dodir /etc/skel
- cd ${S}/etc
- cp shells shells.orig
- echo "# /etc/shells: valid login shells" > shells
- echo "/bin/sh" >> shells
- echo "/bin/bash" >> shells
- echo "/bin/tcsh" >> shells
- echo "/bin/esh" >> shells
- echo "/bin/ksh" >> shells
- echo "/bin/zsh" >> shells
- echo "/bin/sash" >> shells
- insinto /etc
- doins limits shells
- insopts -m0600
- doins suauth login.access
- doins ${S}/debian/securetty
- cd ${S}/doc
- dodoc ANNOUNCE CHANGES INSTALL LICENSE README WISHLIST
- docinto txt
- dodoc HOWTO LSM README.* *.txt
-
-}
-
-
-
diff --git a/sys-apps/shadow/shadow-20001016-r2.ebuild b/sys-apps/shadow/shadow-20001016-r2.ebuild
deleted file mode 100644
index 937ccde09d21..000000000000
--- a/sys-apps/shadow/shadow-20001016-r2.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/shadow/shadow-20001016-r2.ebuild,v 1.3 2001/04/18 03:06:29 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Utilities to deal with user accounts"
-SRC_URI="ftp://ftp.pld.org.pl/software/shadow/${A}"
-
-DEPEND=">=sys-libs/pam-0.73
- sys-devel/gettext"
-
-RDEPEND=">=sys-libs/pam-0.73"
-
-src_unpack() {
-
- unpack ${A}
- cd ${S}/src
- patch -p0 < ${FILESDIR}/useradd.diff
-
-}
-
-src_compile() {
-
- try ./configure --disable-desrpc --with-libcrypt \
- --with-libcrack --with-libpam --host=${CHOST}
- # Parallel make fails sometimes
- try make LDFLAGS=\"\"
-
-}
-
-src_install() {
-
- try make install prefix=${D}/usr mandir=${D}/usr/share/man exec_prefix=${D}
-
- #add "vigr" symbolic link
- dosym vipw /usr/sbin/vigr
-
- mv ${D}/lib ${D}/usr
- dosed "s:/lib:/usr/lib:" /usr/lib/libshadow.la
- cd ${D}/usr/sbin
- ln -s useradd ${D}/usr/sbin/adduser
-
- dodir /etc
- cp ${FILESDIR}/login.defs ${D}/etc
-
- dodir /etc/default
- cp ${FILESDIR}/useradd ${D}/etc/default
- chmod 0600 ${D}/etc/default/useradd
- dodir /etc/skel
- cd ${S}/etc
- cp shells shells.orig
- echo "# /etc/shells: valid login shells" > shells
- echo "/bin/sh" >> shells
- echo "/bin/bash" >> shells
- echo "/bin/tcsh" >> shells
- echo "/bin/esh" >> shells
- echo "/bin/ksh" >> shells
- echo "/bin/zsh" >> shells
- echo "/bin/sash" >> shells
- insinto /etc
- doins limits shells
- insopts -m0600
- doins suauth login.access
- doins ${S}/debian/securetty
-
- cd ${FILESDIR}
- insinto /etc/pam.d
- insopts -m0644
- doins shadow
- newins shadow groupadd
- newins shadow useradd
-
- cd ${S}/doc
- dodoc ANNOUNCE CHANGES INSTALL LICENSE README WISHLIST
- docinto txt
- dodoc HOWTO LSM README.* *.txt
-
-}
-
-
-
diff --git a/sys-apps/sharutils/files/digest-sharutils-4.2.1-r1 b/sys-apps/sharutils/files/digest-sharutils-4.2.1-r1
deleted file mode 100644
index f5f03b27c116..000000000000
--- a/sys-apps/sharutils/files/digest-sharutils-4.2.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b8ba1d409f07edcb335ff72a27bd9828 sharutils-4.2.1.tar.gz
diff --git a/sys-apps/sharutils/files/digest-sharutils-4.2.1-r2 b/sys-apps/sharutils/files/digest-sharutils-4.2.1-r2
deleted file mode 100644
index f5f03b27c116..000000000000
--- a/sys-apps/sharutils/files/digest-sharutils-4.2.1-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b8ba1d409f07edcb335ff72a27bd9828 sharutils-4.2.1.tar.gz
diff --git a/sys-apps/sharutils/sharutils-4.2.1-r1.ebuild b/sys-apps/sharutils/sharutils-4.2.1-r1.ebuild
deleted file mode 100644
index bfc3ed3a444e..000000000000
--- a/sys-apps/sharutils/sharutils-4.2.1-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sharutils/sharutils-4.2.1-r1.ebuild,v 1.5 2000/11/30 23:14:34 achim Exp $
-
-P=sharutils-4.2.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools to deal with shar archives"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/sharutils/${A}
- ftp://prep.ai.mit.edu/gnu/sharutils/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try make ${MAKEOPTS} localedir=/usr/share/locale
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}/po
- mv nl.po nl.po.orig
- sed -e 's/aangemaakt/aangemaakt\\n/' nl.po.orig > nl.po
- mv pt.po pt.po.orig
- sed -e 's/de %dk/de %dk\\n/' pt.po.orig > pt.po
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr localedir=${D}/usr/share/locale install
- doman doc/*.[15]
- rm -rf ${D}/usr/lib
- cd ${S}
- dodoc AUTHORS BACKLOG COPYING ChangeLog ChangeLog.OLD \
- NEWS README README.OLD THANKS TODO
-}
-
-
diff --git a/sys-apps/sharutils/sharutils-4.2.1-r2.ebuild b/sys-apps/sharutils/sharutils-4.2.1-r2.ebuild
deleted file mode 100644
index 67d749aaed75..000000000000
--- a/sys-apps/sharutils/sharutils-4.2.1-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sharutils/sharutils-4.2.1-r2.ebuild,v 1.3 2001/01/31 20:49:07 achim Exp $
-
-P=sharutils-4.2.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools to deal with shar archives"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/sharutils/${A}
- ftp://prep.ai.mit.edu/gnu/sharutils/${A}"
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35"
-RDEPEND="virtual/glibc
- sys-apps/bash"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try make ${MAKEOPTS} localedir=/usr/share/locale
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}/po
- mv nl.po nl.po.orig
- sed -e 's/aangemaakt/aangemaakt\\n/' nl.po.orig > nl.po
- mv pt.po pt.po.orig
- sed -e 's/de %dk/de %dk\\n/' pt.po.orig > pt.po
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr localedir=${D}/usr/share/locale install
- doman doc/*.[15]
- cd ${D}/usr/share/locale
- for i in *.
- do
- rm -rf ${i}
- done
- rm -rf ${D}/usr/lib
- cd ${S}
- dodoc AUTHORS BACKLOG COPYING ChangeLog ChangeLog.OLD \
- NEWS README README.OLD THANKS TODO
-}
-
-
diff --git a/sys-apps/shtool/files/digest-shtool-1.5.1-r1 b/sys-apps/shtool/files/digest-shtool-1.5.1-r1
deleted file mode 100644
index d4a9449e13e5..000000000000
--- a/sys-apps/shtool/files/digest-shtool-1.5.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 9f8400d527b7613127db2478299679f6 shtool-1.5.1.tar.gz
diff --git a/sys-apps/shtool/shtool-1.5.1-r1.ebuild b/sys-apps/shtool/shtool-1.5.1-r1.ebuild
deleted file mode 100644
index b840363d1203..000000000000
--- a/sys-apps/shtool/shtool-1.5.1-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/shtool/shtool-1.5.1-r1.ebuild,v 1.6 2001/02/20 03:42:24 pete Exp $
-
-A=shtool-1.5.1.tar.gz
-S=${WORKDIR}/shtool-1.5.1
-DESCRIPTION="A compilation of small but very stable and portable shell scripts into a single shell tool"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/shtool/${A}
- ftp://ftp.gnu.org/gnu/shtool/${A}"
-HOMEPAGE="http://www.gnu.org/software/shtool/shtool.html"
-DEPEND=""
-RDEPEND=">=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-
-
-src_compile() {
-
- cd ${S}
- try ./configure --prefix=/usr --host=${CHOST}
- try pmake
-
-}
-
-src_install () {
-
- cd ${S}
- try make prefix=${D}/usr install
- dodoc AUTHORS ChangeLog COPYING README THANKS VERSION
-}
-
diff --git a/sys-apps/star/files/digest-star-1.3_alpha8 b/sys-apps/star/files/digest-star-1.3_alpha8
deleted file mode 100644
index 1e961cb5c5e7..000000000000
--- a/sys-apps/star/files/digest-star-1.3_alpha8
+++ /dev/null
@@ -1 +0,0 @@
-MD5 9284110e755eeac4e94a6eb73af41b6c star-1.3a8.tar.gz
diff --git a/sys-apps/star/files/digest-star-1.3_alpha8-r1 b/sys-apps/star/files/digest-star-1.3_alpha8-r1
deleted file mode 100644
index 1e961cb5c5e7..000000000000
--- a/sys-apps/star/files/digest-star-1.3_alpha8-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 9284110e755eeac4e94a6eb73af41b6c star-1.3a8.tar.gz
diff --git a/sys-apps/star/star-1.3_alpha8-r1.ebuild b/sys-apps/star/star-1.3_alpha8-r1.ebuild
deleted file mode 100644
index e5d359d1bdf9..000000000000
--- a/sys-apps/star/star-1.3_alpha8-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/star/star-1.3_alpha8-r1.ebuild,v 1.1 2001/02/07 15:51:28 achim Exp $
-
-A=star-1.3a8.tar.gz
-S=${WORKDIR}/star-1.3
-
-DESCRIPTION="Includes star, an enhanced (world\'s fastest) tar, as well as enhanced mt/rmt"
-SRC_URI="ftp://ftp.fokus.gmd.de/pub/unix/star/alpha/${A}"
-HOMEPAGE="http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/star.html"
-DEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack ${A}
- cd ${S}/DEFAULTS
- cp Defaults.linux Defaults.linux.orig
- sed -e 's:/opt/schily:/usr:g' -e 's:bin:root:g' Defaults.linux.orig > Defaults.linux
-}
-
-src_compile() {
-
- try make COPTX=\"${CFLAGS}\"
-
-}
-
-src_install() {
-
- try make install INS_BASE=${D}/usr
- insinto /etc/default
- newins ${S}/rmt/rmt.dfl rmt
- dodoc BUILD COPYING Changelog AN-1.* README README.* PORTING TODO
- rm ${D}/usr/man/man1/match*
- dodir /usr/share/
- mv ${D}/usr/man/ ${D}/usr/share
- cd ${D}/usr/bin
- rm smt ustar
- ln -s star ustar
- ln -s mt smt
-}
-
-
diff --git a/sys-apps/star/star-1.3_alpha8.ebuild b/sys-apps/star/star-1.3_alpha8.ebuild
deleted file mode 100644
index 772bae80bdeb..000000000000
--- a/sys-apps/star/star-1.3_alpha8.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/star/star-1.3_alpha8.ebuild,v 1.2 2001/01/31 20:49:07 achim Exp $
-
-A=star-1.3a8.tar.gz
-S=${WORKDIR}/star-1.3
-
-DESCRIPTION="Includes star, an enhanced (world\'s fastest) tar, as well as enhanced mt/rmt"
-SRC_URI="ftp://ftp.fokus.gmd.de/pub/unix/star/alpha/${A}"
-HOMEPAGE="http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/star.html"
-DEPEND="virtual/glibc"
-
-src_unpack() {
- unpack ${A}
- cd ${S}/DEFAULTS
- cp Defaults.linux Defaults.linux.orig
- sed -e 's:/opt/schily:/usr:g' -e 's:bin:root:g' Defaults.linux.orig > Defaults.linux
-}
-
-src_compile() {
- cd ${S}
- try ./Gmake.linux
-}
-
-src_install() {
- cd ${S}
- try make install INS_BASE=${D}/usr
- insinto /etc/default
- newins ${S}/rmt/rmt.dfl rmt
- dodoc BUILD COPYING Changelog AN-1.* README README.* PORTING TODO
- rm ${D}/usr/man/man1/match*
- cd ${S}/usr/bin
- rm smt ustar
- ln -s star ustar
- ln -s mt smt
-}
-
-
diff --git a/sys-apps/sysklogd/files/digest-sysklogd-1.4 b/sys-apps/sysklogd/files/digest-sysklogd-1.4
deleted file mode 100644
index 648e989dc602..000000000000
--- a/sys-apps/sysklogd/files/digest-sysklogd-1.4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 010dec0e12ba7226ba3dbce962190a20 sysklogd-1.4.tar.gz
diff --git a/sys-apps/sysklogd/files/digest-sysklogd-1.4-r1 b/sys-apps/sysklogd/files/digest-sysklogd-1.4-r1
deleted file mode 100644
index 648e989dc602..000000000000
--- a/sys-apps/sysklogd/files/digest-sysklogd-1.4-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 010dec0e12ba7226ba3dbce962190a20 sysklogd-1.4.tar.gz
diff --git a/sys-apps/sysklogd/sysklogd-1.4-r1.ebuild b/sys-apps/sysklogd/sysklogd-1.4-r1.ebuild
deleted file mode 100644
index dba30344aeec..000000000000
--- a/sys-apps/sysklogd/sysklogd-1.4-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysklogd/sysklogd-1.4-r1.ebuild,v 1.1 2001/01/09 23:05:39 drobbins Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="standard log daemons"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/daemons/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-
-src_compile() {
- try pmake LDFLAGS=\"\"
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- mv Makefile Makefile.orig
- sed -e "s/-O3/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
- into /usr
- dosbin syslogd klogd ${FILESDIR}/syslogd-listfiles
- doman *.[1-9] ${FILESDIR}/syslogd-listfiles.8
- dodir /etc/cron.daily
- cp ${O}/files/syslog ${D}/etc/cron.daily
- dodoc ANNOUNCE CHANGES COPYING MANIFEST NEWS README.1st README.linux
- exeinto /etc/rc.d/init.d
- exeopts -m0750 -g wheel
- doexe ${FILESDIR}/sysklogd
-}
-
-
diff --git a/sys-apps/sysklogd/sysklogd-1.4.ebuild b/sys-apps/sysklogd/sysklogd-1.4.ebuild
deleted file mode 100644
index 45f938fb8d0c..000000000000
--- a/sys-apps/sysklogd/sysklogd-1.4.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysklogd/sysklogd-1.4.ebuild,v 1.2 2000/11/30 23:14:35 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="standard log daemons"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/daemons/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-
-src_compile() {
- try pmake LDFLAGS=\"\"
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- mv Makefile Makefile.orig
- sed -e "s/-O3/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
- into /usr
- dosbin syslogd klogd ${FILESDIR}/syslogd-listfiles
- doman *.[1-9] ${FILESDIR}/syslogd-listfiles.8
- dodir /etc/cron.daily
- cp ${O}/files/syslog ${D}/etc/cron.daily
- dodoc ANNOUNCE CHANGES COPYING MANIFEST NEWS README.1st README.linux
-}
-
-
diff --git a/sys-apps/sysvinit/files/digest-sysvinit-2.78-r1 b/sys-apps/sysvinit/files/digest-sysvinit-2.78-r1
deleted file mode 100644
index 762e3231d98c..000000000000
--- a/sys-apps/sysvinit/files/digest-sysvinit-2.78-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 cf40920a0423b05479504d79c0bd70ea sysvinit-2.78.tar.gz
diff --git a/sys-apps/sysvinit/sysvinit-2.78-r1.ebuild b/sys-apps/sysvinit/sysvinit-2.78-r1.ebuild
deleted file mode 100644
index 2553242a2050..000000000000
--- a/sys-apps/sysvinit/sysvinit-2.78-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel robbins <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/sysvinit-2.78-r1.ebuild,v 1.4 2000/11/30 23:14:35 achim Exp $
-
-P="sysvinit-2.78"
-A=${P}.tar.gz
-S=${WORKDIR}/sysvinit-2.78
-DESCRIPTION="System initialization schtuff"
-SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/daemons/init/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- cd ${S}/src
- try pmake LDFLAGS=\"\"
- cd ${S}/contrib
- gcc start-stop-daemon.c -o start-stop-daemon
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}/src
- mv Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
- cd ${S}/src
- into /
- dosbin halt init killall5 runlevel shutdown sulogin
- dobin last mesg utmpdump wall
- dosym killall5 /sbin/pidof
- dosym halt /sbin/reboot
- cd ${S}/contrib
- dosbin start-stop-daemon
- into /usr
- cd ${S}/man
- doman *.[1-9]
-
- cd ${S}
- dodoc README doc/* contrib/start-stop-daemon.README
-
-}
-
-
diff --git a/sys-apps/tar/files/digest-tar-1.13.18 b/sys-apps/tar/files/digest-tar-1.13.18
deleted file mode 100644
index 49952d6234f7..000000000000
--- a/sys-apps/tar/files/digest-tar-1.13.18
+++ /dev/null
@@ -1 +0,0 @@
-MD5 fd76b10a8e57cb944f0b2c9cb8bf742b tar-1.13.18.tar.gz
diff --git a/sys-apps/tar/files/digest-tar-1.13.18-r1 b/sys-apps/tar/files/digest-tar-1.13.18-r1
deleted file mode 100644
index 49952d6234f7..000000000000
--- a/sys-apps/tar/files/digest-tar-1.13.18-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 fd76b10a8e57cb944f0b2c9cb8bf742b tar-1.13.18.tar.gz
diff --git a/sys-apps/tar/files/digest-tar-1.13.18-r2 b/sys-apps/tar/files/digest-tar-1.13.18-r2
deleted file mode 100644
index 49952d6234f7..000000000000
--- a/sys-apps/tar/files/digest-tar-1.13.18-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 fd76b10a8e57cb944f0b2c9cb8bf742b tar-1.13.18.tar.gz
diff --git a/sys-apps/tar/files/digest-tar-1.13.18-r3 b/sys-apps/tar/files/digest-tar-1.13.18-r3
deleted file mode 100644
index 49952d6234f7..000000000000
--- a/sys-apps/tar/files/digest-tar-1.13.18-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 fd76b10a8e57cb944f0b2c9cb8bf742b tar-1.13.18.tar.gz
diff --git a/sys-apps/tar/tar-1.13.18-r1.ebuild b/sys-apps/tar/tar-1.13.18-r1.ebuild
deleted file mode 100644
index bbbaec3312d3..000000000000
--- a/sys-apps/tar/tar-1.13.18-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/tar/tar-1.13.18-r1.ebuild,v 1.2 2001/01/31 20:49:07 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-
-DESCRIPTION="Use this to try make tarballs :)"
-SRC_URI="ftp://alpha.gnu.org/gnu/tar/"${A}
-HOMEPAGE="http://www.gnu.org/software/tar/"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --libexecdir=/usr/libexec/misc --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- try make DESTDIR=${D} install
- dodir /bin
- mv ${D}/usr/bin/tar ${D}/bin/tar
- dodoc AUTHORS ChangeLog* COPYING NEWS README* PORTS THANKS
-
- #we're using Schilly's enhanced rmt command included with star
- rm -rf ${D}/usr/libexec/misc
- rm -rf ${D}/usr/libexec
-
-}
-
-
diff --git a/sys-apps/tar/tar-1.13.18-r2.ebuild b/sys-apps/tar/tar-1.13.18-r2.ebuild
deleted file mode 100644
index b343d3d85343..000000000000
--- a/sys-apps/tar/tar-1.13.18-r2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/tar/tar-1.13.18-r2.ebuild,v 1.2 2001/02/07 19:32:05 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-
-DESCRIPTION="Use this to try make tarballs :)"
-SRC_URI="ftp://alpha.gnu.org/gnu/tar/"${A}
-HOMEPAGE="http://www.gnu.org/software/tar/"
-
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r2"
-
-RDEPEND="virtual/glibc
- sys-apps/star"
-
-src_compile() {
-
- try ./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/lib/misc --infodir=/usr/share/info --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- try make DESTDIR=${D} install
- dodoc AUTHORS ChangeLog* COPYING NEWS README* PORTS THANKS
-
- #we're using Schilly's enhanced rmt command included with star
- rm -rf ${D}/usr/lib
-
-
-}
-
-
diff --git a/sys-apps/tar/tar-1.13.18-r3.ebuild b/sys-apps/tar/tar-1.13.18-r3.ebuild
deleted file mode 100644
index 73031d5ace63..000000000000
--- a/sys-apps/tar/tar-1.13.18-r3.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/tar/tar-1.13.18-r3.ebuild,v 1.1 2001/02/27 16:57:10 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-
-DESCRIPTION="Use this to try make tarballs :)"
-SRC_URI="ftp://alpha.gnu.org/gnu/tar/"${A}
-HOMEPAGE="http://www.gnu.org/software/tar/"
-
-DEPEND="virtual/glibc
- nls? ( sys-devel/gettext-0.10.35 )"
-
-RDEPEND="virtual/glibc
- sys-apps/star"
-
-src_compile() {
-
- local myconf
- if [ -z "`use nls`" ]
- then
- myconf="--disable-nls"
- fi
- try ./configure --prefix=/usr --bindir=/bin --libexecdir=/usr/lib/misc \
- --infodir=/usr/share/info --host=${CHOST} ${myconf}
-
- if [ -z "`use static`" ]
- then
- try make ${MAKEOPTS}
- else
- try make ${MAKEOPTS} LDFLAGS=-static
- fi
-}
-
-src_install() {
-
- try make DESTDIR=${D} install
-
- if [ -z "`use build`" ]
- then
- dodoc AUTHORS ChangeLog* COPYING NEWS README* PORTS THANKS
-
- #we're using Schilly's enhanced rmt command included with star
- rm -rf ${D}/usr/lib
- else
- rm -rf ${D}/usr/share/info
- fi
-
-}
-
-
diff --git a/sys-apps/tcp-wrappers/files/digest-tcp-wrappers-7.6-r1 b/sys-apps/tcp-wrappers/files/digest-tcp-wrappers-7.6-r1
deleted file mode 100644
index 61c8414280b9..000000000000
--- a/sys-apps/tcp-wrappers/files/digest-tcp-wrappers-7.6-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 e6fa25f71226d090f34de3f6b122fb5a tcp_wrappers_7.6.tar.gz
diff --git a/sys-apps/tcp-wrappers/files/tcp_wrappers_7.6.patch b/sys-apps/tcp-wrappers/files/tcp_wrappers_7.6.patch
deleted file mode 100644
index e5241b10ae47..000000000000
--- a/sys-apps/tcp-wrappers/files/tcp_wrappers_7.6.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -u -2 -r tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
---- tcp_wrappers_7.6.orig/Makefile Fri Mar 21 19:27:21 1997
-+++ tcp_wrappers_7.6/Makefile Sun May 7 16:16:06 2000
-@@ -45,5 +45,5 @@
- #
- # SysV.4 Solaris 2.x OSF AIX
--#REAL_DAEMON_DIR=/usr/sbin
-+REAL_DAEMON_DIR=/usr/sbin
- #
- # BSD 4.4
-diff -u -2 -r tcp_wrappers_7.6.orig/percent_m.c tcp_wrappers_7.6/percent_m.c
---- tcp_wrappers_7.6.orig/percent_m.c Wed Dec 28 17:42:37 1994
-+++ tcp_wrappers_7.6/percent_m.c Sun May 7 16:16:17 2000
-@@ -14,8 +14,8 @@
-
- extern int errno;
--#ifndef SYS_ERRLIST_DEFINED
-+/*#ifndef SYS_ERRLIST_DEFINED
- extern char *sys_errlist[];
- extern int sys_nerr;
--#endif
-+#endif*/
-
- #include "mystdarg.h"
diff --git a/sys-apps/tcp-wrappers/tcp-wrappers-7.6-r1.ebuild b/sys-apps/tcp-wrappers/tcp-wrappers-7.6-r1.ebuild
deleted file mode 100644
index b2a3e3009b23..000000000000
--- a/sys-apps/tcp-wrappers/tcp-wrappers-7.6-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/tcp-wrappers/tcp-wrappers-7.6-r1.ebuild,v 1.4 2000/11/30 23:14:35 achim Exp $
-
-P=tcp-wrappers-7.6
-A=tcp_wrappers_7.6.tar.gz
-A0="tcp_wrappers_7.6.patch"
-S=${WORKDIR}/tcp_wrappers_7.6
-DESCRIPTION="tcp wrappers"
-SRC_URI="ftp://ftp.porcupine.org/pub/security/${A}"
-
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_unpack() {
- unpack ${A}
- cd ${S}/
- patch -p1 < ${O}/files/${A0}
- cp Makefile Makefile.orig
- sed -e "s/-O/${CFLAGS}/" \
- -e "s:AUX_OBJ=.*:AUX_OBJ= \\\:" Makefile.orig > Makefile
-}
-
-src_compile() {
- try make ${MAKEOPTS} REAL_DAEMON_DIR=/usr/sbin linux
-}
-
-src_install() {
- into /usr
- mkdir -p ${D}/usr/sbin
- for i in tcpd tcpdchk tcpdmatch safe_finger try-from;
- do
- dosbin ${i}
- done
- doman *.[358]
- dolib.a libwrap.a
- insinto /usr/include
- doins tcpd.h
- dodoc BLURB CHANGES DISCLAIMER README*
-}
-
-
-
-
-
diff --git a/sys-apps/texinfo/files/digest-texinfo-4.0-r1 b/sys-apps/texinfo/files/digest-texinfo-4.0-r1
deleted file mode 100644
index e8ea05ce1330..000000000000
--- a/sys-apps/texinfo/files/digest-texinfo-4.0-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 070493baeb2c277c34575b0df4e2baf1 texinfo-4.0.tar.gz
diff --git a/sys-apps/texinfo/texinfo-4.0-r1.ebuild b/sys-apps/texinfo/texinfo-4.0-r1.ebuild
deleted file mode 100644
index 4209c31a0d53..000000000000
--- a/sys-apps/texinfo/texinfo-4.0-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/texinfo/texinfo-4.0-r1.ebuild,v 1.6 2001/01/31 20:49:07 achim Exp $
-
-P=texinfo-4.0
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="The GNU info program and utilities"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/texinfo/${A}
- ftp://ftp.gnu.org/pub/gnu/texinfo/${A}"
-DEPEND=">=sys-libs/gpm-1.19.3"
-RDEPEND="$DEPEND
- sys-apps/bash"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- try make DESTDIR=${D} infodir=${D}/usr/info install
- cp ${O}/files/mkinfodir ${D}/usr/bin
- cd ${D}/usr/info
- mv texinfo texinfo.info
- for i in texinfo-*
- do
- mv ${i} texinfo.info-${i#texinfo-*}
- done
- cd ${S}
- dodoc AUTHORS ChangeLog COPYING INTRODUCTION NEWS README TODO
- docinto info
- dodoc info/README
- docinto makeinfo
- dodoc makeinfo/README
-}
-
-
-
-
-
-
diff --git a/sys-apps/textutils/files/digest-textutils-2.0.10 b/sys-apps/textutils/files/digest-textutils-2.0.10
deleted file mode 100644
index 1c652739479f..000000000000
--- a/sys-apps/textutils/files/digest-textutils-2.0.10
+++ /dev/null
@@ -1 +0,0 @@
-MD5 420a7cd54d4ce4b44c412af1318f7c83 textutils-2.0.10.tar.gz
diff --git a/sys-apps/textutils/files/digest-textutils-2.0.10-r1 b/sys-apps/textutils/files/digest-textutils-2.0.10-r1
deleted file mode 100644
index 1c652739479f..000000000000
--- a/sys-apps/textutils/files/digest-textutils-2.0.10-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 420a7cd54d4ce4b44c412af1318f7c83 textutils-2.0.10.tar.gz
diff --git a/sys-apps/textutils/files/digest-textutils-2.0.9 b/sys-apps/textutils/files/digest-textutils-2.0.9
deleted file mode 100644
index 0b87ab6cd6f4..000000000000
--- a/sys-apps/textutils/files/digest-textutils-2.0.9
+++ /dev/null
@@ -1 +0,0 @@
-MD5 f7db485089caa8717fd2596d3389dc73 textutils-2.0.9.tar.gz
diff --git a/sys-apps/textutils/textutils-2.0.10-r1.ebuild b/sys-apps/textutils/textutils-2.0.10-r1.ebuild
deleted file mode 100644
index 6848027bfda9..000000000000
--- a/sys-apps/textutils/textutils-2.0.10-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/textutils/textutils-2.0.10-r1.ebuild,v 1.1 2001/02/07 15:51:28 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU text utilities"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r2"
-
-RDEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --host=${CHOST} --build=${CHOST} \
- --without-included-regex
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- try make prefix=${D}/usr mandir=${D}/usr/share/man infodir=${D}/usr/share/info install
- dodir /bin
- dosym /usr/bin/cat /bin/cat
- rmdir ${D}/usr/lib
-
- dodoc AUTHORS COPYING ChangeLog NEWS README* THANKS TODO
-
-}
-
-
-
-
diff --git a/sys-apps/textutils/textutils-2.0.10.ebuild b/sys-apps/textutils/textutils-2.0.10.ebuild
deleted file mode 100644
index ce9a3b1e1124..000000000000
--- a/sys-apps/textutils/textutils-2.0.10.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/textutils/textutils-2.0.10.ebuild,v 1.4 2001/01/31 20:49:07 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-
-DESCRIPTION="Standard GNU text utilities"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-DEPEND="virtual/glibc"
-
-src_compile() {
- echo $S $WORKDIR `pwd`
- try ./configure --prefix=/usr --host=${CHOST} \
- --without-included-regex
- try make ${MAKEOPTS}
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}/src
-# mv tr.c tr.c.orig
-# sed -e "234d" tr.c.orig > tr.c
-# cp sys2.h sys2.h.orig
-# sed -e "s:^char \*strndup://:" sys2.h.orig > sys2.h
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr install
- dodoc AUTHORS COPYING ChangeLog NEWS README* THANKS TODO
- dodir /bin
- dosym /usr/bin/cat /bin/cat
- rmdir ${D}/usr/lib
-}
-
-
-
-
diff --git a/sys-apps/ucspi-tcp/files/digest-ucspi-tcp-0.88 b/sys-apps/ucspi-tcp/files/digest-ucspi-tcp-0.88
deleted file mode 100644
index dff71968e096..000000000000
--- a/sys-apps/ucspi-tcp/files/digest-ucspi-tcp-0.88
+++ /dev/null
@@ -1 +0,0 @@
-MD5 39b619147db54687c4a583a7a94c9163 ucspi-tcp-0.88.tar.gz
diff --git a/sys-apps/ucspi-tcp/ucspi-tcp-0.88.ebuild b/sys-apps/ucspi-tcp/ucspi-tcp-0.88.ebuild
deleted file mode 100644
index 6f96e57beeef..000000000000
--- a/sys-apps/ucspi-tcp/ucspi-tcp-0.88.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/ucspi-tcp/ucspi-tcp-0.88.ebuild,v 1.3 2000/11/30 23:14:35 achim Exp $
-
-DESCRIPTION="Collection of tools for managing UNIX services"
-SRC_URI="http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz"
-HOMEPAGE="http://cr.yp.to/ucspi-tcp/"
-S=${WORKDIR}/${P}
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_unpack() {
-
- unpack ucspi-tcp-0.88.tar.gz
- cd ${S}
- echo "gcc ${CFLAGS}" > conf-cc
- echo "gcc" > conf-ld
- echo "/usr/" > conf-home
-}
-
-src_compile() {
- cd ${S}
- try pmake
-}
-
-src_install() {
- cd ${S}
- into /usr
- for i in tcpserver tcprules tcprulescheck argv0 recordio tcpclient *\@ tcpcat mconnect mconnect-io addcr delcr fixcrio rblsmtpd
- do
- dobin $i
- done
- dodoc CHANGES FILES README SYSDEPS TARGETS TODO VERSION
-}
-
-
-
diff --git a/sys-apps/util-linux/files/digest-util-linux-2.10q b/sys-apps/util-linux/files/digest-util-linux-2.10q
deleted file mode 100644
index bdcd5068c5a5..000000000000
--- a/sys-apps/util-linux/files/digest-util-linux-2.10q
+++ /dev/null
@@ -1 +0,0 @@
-MD5 d17838e34cbe2673ed6b8747b10964ce util-linux-2.10q.tar.bz2
diff --git a/sys-apps/util-linux/files/digest-util-linux-2.10q-r1 b/sys-apps/util-linux/files/digest-util-linux-2.10q-r1
deleted file mode 100644
index bdcd5068c5a5..000000000000
--- a/sys-apps/util-linux/files/digest-util-linux-2.10q-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 d17838e34cbe2673ed6b8747b10964ce util-linux-2.10q.tar.bz2
diff --git a/sys-apps/util-linux/files/util-linux-2.10o.int.patch b/sys-apps/util-linux/files/util-linux-2.10o.int.patch
deleted file mode 100644
index dd79a1389b7a..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.10o.int.patch
+++ /dev/null
@@ -1,785 +0,0 @@
-diff -urN util-linux-2.10o/MCONFIG util-linux-2.10o.int2/MCONFIG
---- util-linux-2.10o/MCONFIG Fri Aug 11 23:21:53 2000
-+++ util-linux-2.10o.int2/MCONFIG Mon Sep 25 11:44:06 2000
-@@ -16,7 +16,7 @@
- # If HAVE_PAM is set to "yes", then login, chfn, chsh, and newgrp
- # will use PAM for authentication. Additionally, passwd will not be
- # installed as it is not PAM aware.
--HAVE_PAM=no
-+HAVE_PAM=yes
-
- # If HAVE_SHADOW is set to "yes", then login, chfn, chsh, newgrp, passwd,
- # and vipw will not be built or installed from the login-utils
-diff -urN util-linux-2.10o/mount/Makefile util-linux-2.10o.int2/mount/Makefile
---- util-linux-2.10o/mount/Makefile Fri Aug 11 20:58:54 2000
-+++ util-linux-2.10o.int2/mount/Makefile Mon Sep 25 11:44:06 2000
-@@ -28,7 +28,7 @@
- GEN_FILES = nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
-
- # comment these out if you are not compiling in loop support
--LO_OBJS=lomount.o
-+LO_OBJS=lomount.o rmd160.o
-
- all: $(PROGS)
-
-@@ -59,7 +59,7 @@
- losetup.o: lomount.c
- $(COMPILE) -DMAIN lomount.c -o $@
-
--losetup: losetup.o
-+losetup: losetup.o rmd160.o
- $(LINK) $^ -o $@
-
- mount.o umount.o nfsmount.o losetup.o fstab.o realpath.o sundries.o: sundries.h
-diff -urN util-linux-2.10o/mount/lomount.c util-linux-2.10o.int2/mount/lomount.c
---- util-linux-2.10o/mount/lomount.c Sat Aug 5 17:52:28 2000
-+++ util-linux-2.10o.int2/mount/lomount.c Mon Sep 25 11:44:34 2000
-@@ -27,6 +27,7 @@
-
- #include "loop.h"
- #include "lomount.h"
-+#include "rmd160.h"
- #include "nls.h"
-
- extern int verbose;
-@@ -37,12 +38,22 @@
- struct crypt_type_struct {
- int id;
- char *name;
-+ int keylength;
- } crypt_type_tbl[] = {
-- { LO_CRYPT_NONE, "no" },
-- { LO_CRYPT_NONE, "none" },
-- { LO_CRYPT_XOR, "xor" },
-- { LO_CRYPT_DES, "DES" },
-- { -1, NULL }
-+ { LO_CRYPT_NONE, "no",0 },
-+ { LO_CRYPT_NONE, "none",0 },
-+ { LO_CRYPT_XOR, "xor",0 },
-+ { LO_CRYPT_DES, "DES",8 },
-+ { LO_CRYPT_FISH2, "twofish",20 },
-+ { LO_CRYPT_BLOW, "blowfish",20 },
-+ { LO_CRYPT_CAST128, "cast128", 16},
-+ { LO_CRYPT_SERPENT, "serpent", 16},
-+ { LO_CRYPT_MARS, "mars",16 },
-+ { LO_CRYPT_RC6, "rc6",16 },
-+ { LO_CRYPT_DES_EDE3, "DES_EDE3",24},
-+ { LO_CRYPT_DFC, "dfc",16 },
-+ { LO_CRYPT_IDEA, "idea",16},
-+ { -1, NULL,0 }
- };
-
- static int
-@@ -167,12 +178,18 @@
- return 0;
- }
-
-+#define HASHLENGTH 20
-+#define PASSWDBUFFLEN 130 /* getpass returns only max. 128 bytes, see man getpass */
-+
- int
- set_loop (const char *device, const char *file, int offset,
- const char *encryption, int *loopro) {
- struct loop_info loopinfo;
- int fd, ffd, mode, i;
-+ int keylength;
- char *pass;
-+ char keybits[2*HASHLENGTH];
-+ char passwdbuff[PASSWDBUFFLEN];
-
- mode = (*loopro ? O_RDONLY : O_RDWR);
- if ((ffd = open (file, mode)) < 0) {
-@@ -224,6 +241,7 @@
- loopinfo.lo_encrypt_key_size = strlen(loopinfo.lo_encrypt_key);
- break;
- case LO_CRYPT_DES:
-+ printf(_("WARNING: Use of DES is depreciated.\n"));
- pass = getpass (_("Password: "));
- strncpy (loopinfo.lo_encrypt_key, pass, 8);
- loopinfo.lo_encrypt_key[8] = 0;
-@@ -240,6 +258,30 @@
- return 1;
- }
- break;
-+ case LO_CRYPT_FISH2:
-+ case LO_CRYPT_BLOW:
-+ case LO_CRYPT_IDEA:
-+ case LO_CRYPT_CAST128:
-+ case LO_CRYPT_SERPENT:
-+ case LO_CRYPT_MARS:
-+ case LO_CRYPT_RC6:
-+ case LO_CRYPT_DES_EDE3:
-+ case LO_CRYPT_DFC:
-+ pass = getpass("Password :");
-+ strncpy(passwdbuff+1,pass,PASSWDBUFFLEN-1);
-+ passwdbuff[0] = 'A';
-+ rmd160_hash_buffer(keybits,pass,strlen(pass));
-+ rmd160_hash_buffer(keybits+HASHLENGTH,passwdbuff,strlen(pass)+1);
-+ memcpy((char*)loopinfo.lo_encrypt_key,keybits,2*HASHLENGTH);
-+ keylength=0;
-+ for(i=0; crypt_type_tbl[i].id != -1; i++){
-+ if(loopinfo.lo_encrypt_type == crypt_type_tbl[i].id){
-+ keylength = crypt_type_tbl[i].keylength;
-+ break;
-+ }
-+ }
-+ loopinfo.lo_encrypt_key_size=keylength;
-+ break;
- default:
- fprintf (stderr,
- _("Don't know how to get key for encryption system %d\n"),
-@@ -324,11 +366,18 @@
-
- static void
- usage(void) {
-+ struct crypt_type_struct *c;
- fprintf(stderr, _("usage:\n\
- %s loop_device # give info\n\
- %s -d loop_device # delete\n\
- %s [ -e encryption ] [ -o offset ] loop_device file # setup\n"),
- progname, progname, progname);
-+ fprintf(stderr, " where encryption is one of:\n");
-+ c = &crypt_type_tbl[0];
-+ while(c->name) {
-+ fprintf(stderr, " %s\n", c->name);
-+ c++;
-+ }
- exit(1);
- }
-
-diff -urN util-linux-2.10o/mount/losetup.8 util-linux-2.10o.int2/mount/losetup.8
---- util-linux-2.10o/mount/losetup.8 Fri Aug 11 13:11:30 2000
-+++ util-linux-2.10o.int2/mount/losetup.8 Mon Sep 25 11:44:06 2000
-@@ -36,11 +36,47 @@
- .PD 0
- .IP \fBXOR\fP
- use a simple XOR encryption.
-+.IP \fBBlowfish\fP
-+use Blowfish encryption. Blowfish encryption is only available if you
-+are using the international kernel and Blowfish encryption has been
-+enabled in the Crypto API.
-+.IP \fBTwofish\fP
-+use Twofish encryption. Twofish encryption is only available if you
-+are using the international kernel and Twofish encryption has been
-+enabled in the Crypto API.
-+.IP \fBCAST\fP
-+use CAST encryption. CAST encryption is only available if you
-+are using the international kernel and CAST encryption has been
-+enabled in the Crypto API.
- .IP \fBDES\fP
- use DES encryption. DES encryption is only available if the optional
- DES package has been added to the kernel. DES encryption uses an additional
- start value that is used to protect passwords against dictionary
--attacks.
-+attacks. Use of DES is deprecated.
-+.IP \fBDFC\fP
-+use DFC encryption. DFC encryption is only available if you
-+are using the international kernel and DFC encryption has been
-+enabled in the Crypto API.
-+.IP \fBIDEA\fP
-+use IDEA encryption. IDEA encryption is only available if you
-+are using the international kernel and IDEA encryption has been
-+enabled in the Crypto API.
-+.IP \fBMARS\fP
-+use MARS encryption. MARS encryption is only available if you
-+are using the international kernel and MARS encryption has been
-+enabled in the Crypto API.
-+.IP \fBRC5\fP
-+use RC5 encryption. RC5 encryption is only available if you
-+are using the international kernel and RC5 encryption has been
-+enabled in the Crypto API.
-+.IP \fBRC6\fP
-+use RC6 encryption. RC6 encryption is only available if you
-+are using the international kernel and RC6 encryption has been
-+enabled in the Crypto API.
-+.IP \fBSerpent\fP
-+use Serpent encryption. Serpent encryption is only available if you
-+are using the international kernel and Serpent encryption has been
-+enabled in the Crypto API.
- .PD
- .RE
- .IP "\fB\-o \fIoffset\fP"
-@@ -58,6 +94,7 @@
- .SH FILES
- .nf
- /dev/loop0,/dev/loop1,... loop devices (major=7)
-+/proc/cipher/* available ciphers
- .fi
- .SH EXAMPLE
- If you are using the loadable module you must have the module loaded
-@@ -69,9 +106,8 @@
- .nf
- .IP
- dd if=/dev/zero of=/file bs=1k count=100
--losetup -e des /dev/loop0 /file
--Password:
--Init (up to 16 hex digits):
-+losetup -e blowfish /dev/loop0 /file
-+Password :
- mkfs -t ext2 /dev/loop0 100
- mount -t ext2 /dev/loop0 /mnt
- ...
-@@ -85,8 +121,12 @@
- # rmmod loop
- .LP
- .fi
--.SH RESTRICTION
--DES encryption is painfully slow. On the other hand, XOR is terribly weak.
-+.SH RESTRICTIONS
-+DES encryption is painfully slow. On the other hand, XOR is terribly
-+weak. Both are insecure nowadays. Some ciphers require a licence for
-+you to be allowed to use them.
-+.SH BUGS
-+CAST, DES, RC5 and Twofish are currently broken and cannot be used.
- .SH AUTHORS
- .nf
- Original version: Theodore Ts'o <tytso@athena.mit.edu>
-diff -urN util-linux-2.10o/mount/rmd160.c util-linux-2.10o.int2/mount/rmd160.c
---- util-linux-2.10o/mount/rmd160.c Thu Jan 1 01:00:00 1970
-+++ util-linux-2.10o.int2/mount/rmd160.c Mon Sep 25 11:46:06 2000
-@@ -0,0 +1,532 @@
-+/* rmd160.c - RIPE-MD160
-+ * Copyright (C) 1998 Free Software Foundation, Inc.
-+ */
-+
-+/* This file was part of GnuPG. Modified for use within the Linux
-+ * mount utility by Marc Mutz <Marc@Mutz.com>. None of this code is
-+ * by myself. I just removed everything that you don't need when all
-+ * you want to do is to use rmd160_hash_buffer().
-+ * My comments are marked with (mm). */
-+
-+/* GnuPG 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 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * GnuPG 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 this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */
-+
-+#include <string.h> /* (mm) for memcpy */
-+#include <endian.h> /* (mm) for BIG_ENDIAN and BYTE_ORDER */
-+#include "rmd160.h"
-+
-+/* (mm) these are used by the original GnuPG file. In order to modify
-+ * that file not too much, we keep the notations. maybe it would be
-+ * better to include linux/types.h and typedef __u32 to u32 and __u8
-+ * to byte? */
-+typedef unsigned int u32; /* taken from e.g. util-linux's minix.h */
-+typedef unsigned char byte;
-+
-+typedef struct {
-+ u32 h0,h1,h2,h3,h4;
-+ u32 nblocks;
-+ byte buf[64];
-+ int count;
-+} RMD160_CONTEXT;
-+
-+/****************
-+ * Rotate a 32 bit integer by n bytes
-+ */
-+#if defined(__GNUC__) && defined(__i386__)
-+static inline u32
-+rol( u32 x, int n)
-+{
-+ __asm__("roll %%cl,%0"
-+ :"=r" (x)
-+ :"0" (x),"c" (n));
-+ return x;
-+}
-+#else
-+ #define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) )
-+#endif
-+
-+/*********************************
-+ * RIPEMD-160 is not patented, see (as of 25.10.97)
-+ * http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
-+ * Note that the code uses Little Endian byteorder, which is good for
-+ * 386 etc, but we must add some conversion when used on a big endian box.
-+ *
-+ *
-+ * Pseudo-code for RIPEMD-160
-+ *
-+ * RIPEMD-160 is an iterative hash function that operates on 32-bit words.
-+ * The round function takes as input a 5-word chaining variable and a 16-word
-+ * message block and maps this to a new chaining variable. All operations are
-+ * defined on 32-bit words. Padding is identical to that of MD4.
-+ *
-+ *
-+ * RIPEMD-160: definitions
-+ *
-+ *
-+ * nonlinear functions at bit level: exor, mux, -, mux, -
-+ *
-+ * f(j, x, y, z) = x XOR y XOR z (0 <= j <= 15)
-+ * f(j, x, y, z) = (x AND y) OR (NOT(x) AND z) (16 <= j <= 31)
-+ * f(j, x, y, z) = (x OR NOT(y)) XOR z (32 <= j <= 47)
-+ * f(j, x, y, z) = (x AND z) OR (y AND NOT(z)) (48 <= j <= 63)
-+ * f(j, x, y, z) = x XOR (y OR NOT(z)) (64 <= j <= 79)
-+ *
-+ *
-+ * added constants (hexadecimal)
-+ *
-+ * K(j) = 0x00000000 (0 <= j <= 15)
-+ * K(j) = 0x5A827999 (16 <= j <= 31) int(2**30 x sqrt(2))
-+ * K(j) = 0x6ED9EBA1 (32 <= j <= 47) int(2**30 x sqrt(3))
-+ * K(j) = 0x8F1BBCDC (48 <= j <= 63) int(2**30 x sqrt(5))
-+ * K(j) = 0xA953FD4E (64 <= j <= 79) int(2**30 x sqrt(7))
-+ * K'(j) = 0x50A28BE6 (0 <= j <= 15) int(2**30 x cbrt(2))
-+ * K'(j) = 0x5C4DD124 (16 <= j <= 31) int(2**30 x cbrt(3))
-+ * K'(j) = 0x6D703EF3 (32 <= j <= 47) int(2**30 x cbrt(5))
-+ * K'(j) = 0x7A6D76E9 (48 <= j <= 63) int(2**30 x cbrt(7))
-+ * K'(j) = 0x00000000 (64 <= j <= 79)
-+ *
-+ *
-+ * selection of message word
-+ *
-+ * r(j) = j (0 <= j <= 15)
-+ * r(16..31) = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
-+ * r(32..47) = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
-+ * r(48..63) = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
-+ * r(64..79) = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
-+ * r0(0..15) = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12
-+ * r0(16..31)= 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2
-+ * r0(32..47)= 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13
-+ * r0(48..63)= 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14
-+ * r0(64..79)= 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
-+ *
-+ *
-+ * amount for rotate left (rol)
-+ *
-+ * s(0..15) = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8
-+ * s(16..31) = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12
-+ * s(32..47) = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5
-+ * s(48..63) = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12
-+ * s(64..79) = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
-+ * s'(0..15) = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6
-+ * s'(16..31)= 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11
-+ * s'(32..47)= 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5
-+ * s'(48..63)= 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8
-+ * s'(64..79)= 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
-+ *
-+ *
-+ * initial value (hexadecimal)
-+ *
-+ * h0 = 0x67452301; h1 = 0xEFCDAB89; h2 = 0x98BADCFE; h3 = 0x10325476;
-+ * h4 = 0xC3D2E1F0;
-+ *
-+ *
-+ * RIPEMD-160: pseudo-code
-+ *
-+ * It is assumed that the message after padding consists of t 16-word blocks
-+ * that will be denoted with X[i][j], with 0 <= i <= t-1 and 0 <= j <= 15.
-+ * The symbol [+] denotes addition modulo 2**32 and rol_s denotes cyclic left
-+ * shift (rotate) over s positions.
-+ *
-+ *
-+ * for i := 0 to t-1 {
-+ * A := h0; B := h1; C := h2; D = h3; E = h4;
-+ * A' := h0; B' := h1; C' := h2; D' = h3; E' = h4;
-+ * for j := 0 to 79 {
-+ * T := rol_s(j)(A [+] f(j, B, C, D) [+] X[i][r(j)] [+] K(j)) [+] E;
-+ * A := E; E := D; D := rol_10(C); C := B; B := T;
-+ * T := rol_s'(j)(A' [+] f(79-j, B', C', D') [+] X[i][r'(j)]
-+ [+] K'(j)) [+] E';
-+ * A' := E'; E' := D'; D' := rol_10(C'); C' := B'; B' := T;
-+ * }
-+ * T := h1 [+] C [+] D'; h1 := h2 [+] D [+] E'; h2 := h3 [+] E [+] A';
-+ * h3 := h4 [+] A [+] B'; h4 := h0 [+] B [+] C'; h0 := T;
-+ * }
-+ */
-+
-+/* Some examples:
-+ * "" 9c1185a5c5e9fc54612808977ee8f548b2258d31
-+ * "a" 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
-+ * "abc" 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
-+ * "message digest" 5d0689ef49d2fae572b881b123a85ffa21595f36
-+ * "a...z" f71c27109c692c1b56bbdceb5b9d2865b3708dbc
-+ * "abcdbcde...nopq" 12a053384a9c0c88e405a06c27dcf49ada62eb2b
-+ * "A...Za...z0...9" b0e20b6e3116640286ed3a87a5713079b21f5189
-+ * 8 times "1234567890" 9b752e45573d4b39f4dbd3323cab82bf63326bfb
-+ * 1 million times "a" 52783243c1697bdbe16d37f97f68f08325dc1528
-+ */
-+
-+
-+static void
-+rmd160_init( RMD160_CONTEXT *hd )
-+{
-+ hd->h0 = 0x67452301;
-+ hd->h1 = 0xEFCDAB89;
-+ hd->h2 = 0x98BADCFE;
-+ hd->h3 = 0x10325476;
-+ hd->h4 = 0xC3D2E1F0;
-+ hd->nblocks = 0;
-+ hd->count = 0;
-+}
-+
-+
-+
-+/****************
-+ * Transform the message X which consists of 16 32-bit-words
-+ */
-+static void
-+transform( RMD160_CONTEXT *hd, byte *data )
-+{
-+ u32 a,b,c,d,e,aa,bb,cc,dd,ee,t;
-+ #if BYTE_ORDER == BIG_ENDIAN
-+ u32 x[16];
-+ { int i;
-+ byte *p2, *p1;
-+ for(i=0, p1=data, p2=(byte*)x; i < 16; i++, p2 += 4 ) {
-+ p2[3] = *p1++;
-+ p2[2] = *p1++;
-+ p2[1] = *p1++;
-+ p2[0] = *p1++;
-+ }
-+ }
-+ #else
-+ #if 0
-+ u32 *x =(u32*)data;
-+ #else
-+ /* this version is better because it is always aligned;
-+ * The performance penalty on a 586-100 is about 6% which
-+ * is acceptable - because the data is more local it might
-+ * also be possible that this is faster on some machines.
-+ * This function (when compiled with -02 on gcc 2.7.2)
-+ * executes on a 586-100 (39.73 bogomips) at about 1900kb/sec;
-+ * [measured with a 4MB data and "gpgm --print-md rmd160"] */
-+ u32 x[16];
-+ memcpy( x, data, 64 );
-+ #endif
-+ #endif
-+
-+
-+#define K0 0x00000000
-+#define K1 0x5A827999
-+#define K2 0x6ED9EBA1
-+#define K3 0x8F1BBCDC
-+#define K4 0xA953FD4E
-+#define KK0 0x50A28BE6
-+#define KK1 0x5C4DD124
-+#define KK2 0x6D703EF3
-+#define KK3 0x7A6D76E9
-+#define KK4 0x00000000
-+#define F0(x,y,z) ( (x) ^ (y) ^ (z) )
-+#define F1(x,y,z) ( ((x) & (y)) | (~(x) & (z)) )
-+#define F2(x,y,z) ( ((x) | ~(y)) ^ (z) )
-+#define F3(x,y,z) ( ((x) & (z)) | ((y) & ~(z)) )
-+#define F4(x,y,z) ( (x) ^ ((y) | ~(z)) )
-+#define R(a,b,c,d,e,f,k,r,s) do { t = a + f(b,c,d) + k + x[r]; \
-+ a = rol(t,s) + e; \
-+ c = rol(c,10); \
-+ } while(0)
-+
-+ /* left lane */
-+ a = hd->h0;
-+ b = hd->h1;
-+ c = hd->h2;
-+ d = hd->h3;
-+ e = hd->h4;
-+ R( a, b, c, d, e, F0, K0, 0, 11 );
-+ R( e, a, b, c, d, F0, K0, 1, 14 );
-+ R( d, e, a, b, c, F0, K0, 2, 15 );
-+ R( c, d, e, a, b, F0, K0, 3, 12 );
-+ R( b, c, d, e, a, F0, K0, 4, 5 );
-+ R( a, b, c, d, e, F0, K0, 5, 8 );
-+ R( e, a, b, c, d, F0, K0, 6, 7 );
-+ R( d, e, a, b, c, F0, K0, 7, 9 );
-+ R( c, d, e, a, b, F0, K0, 8, 11 );
-+ R( b, c, d, e, a, F0, K0, 9, 13 );
-+ R( a, b, c, d, e, F0, K0, 10, 14 );
-+ R( e, a, b, c, d, F0, K0, 11, 15 );
-+ R( d, e, a, b, c, F0, K0, 12, 6 );
-+ R( c, d, e, a, b, F0, K0, 13, 7 );
-+ R( b, c, d, e, a, F0, K0, 14, 9 );
-+ R( a, b, c, d, e, F0, K0, 15, 8 );
-+ R( e, a, b, c, d, F1, K1, 7, 7 );
-+ R( d, e, a, b, c, F1, K1, 4, 6 );
-+ R( c, d, e, a, b, F1, K1, 13, 8 );
-+ R( b, c, d, e, a, F1, K1, 1, 13 );
-+ R( a, b, c, d, e, F1, K1, 10, 11 );
-+ R( e, a, b, c, d, F1, K1, 6, 9 );
-+ R( d, e, a, b, c, F1, K1, 15, 7 );
-+ R( c, d, e, a, b, F1, K1, 3, 15 );
-+ R( b, c, d, e, a, F1, K1, 12, 7 );
-+ R( a, b, c, d, e, F1, K1, 0, 12 );
-+ R( e, a, b, c, d, F1, K1, 9, 15 );
-+ R( d, e, a, b, c, F1, K1, 5, 9 );
-+ R( c, d, e, a, b, F1, K1, 2, 11 );
-+ R( b, c, d, e, a, F1, K1, 14, 7 );
-+ R( a, b, c, d, e, F1, K1, 11, 13 );
-+ R( e, a, b, c, d, F1, K1, 8, 12 );
-+ R( d, e, a, b, c, F2, K2, 3, 11 );
-+ R( c, d, e, a, b, F2, K2, 10, 13 );
-+ R( b, c, d, e, a, F2, K2, 14, 6 );
-+ R( a, b, c, d, e, F2, K2, 4, 7 );
-+ R( e, a, b, c, d, F2, K2, 9, 14 );
-+ R( d, e, a, b, c, F2, K2, 15, 9 );
-+ R( c, d, e, a, b, F2, K2, 8, 13 );
-+ R( b, c, d, e, a, F2, K2, 1, 15 );
-+ R( a, b, c, d, e, F2, K2, 2, 14 );
-+ R( e, a, b, c, d, F2, K2, 7, 8 );
-+ R( d, e, a, b, c, F2, K2, 0, 13 );
-+ R( c, d, e, a, b, F2, K2, 6, 6 );
-+ R( b, c, d, e, a, F2, K2, 13, 5 );
-+ R( a, b, c, d, e, F2, K2, 11, 12 );
-+ R( e, a, b, c, d, F2, K2, 5, 7 );
-+ R( d, e, a, b, c, F2, K2, 12, 5 );
-+ R( c, d, e, a, b, F3, K3, 1, 11 );
-+ R( b, c, d, e, a, F3, K3, 9, 12 );
-+ R( a, b, c, d, e, F3, K3, 11, 14 );
-+ R( e, a, b, c, d, F3, K3, 10, 15 );
-+ R( d, e, a, b, c, F3, K3, 0, 14 );
-+ R( c, d, e, a, b, F3, K3, 8, 15 );
-+ R( b, c, d, e, a, F3, K3, 12, 9 );
-+ R( a, b, c, d, e, F3, K3, 4, 8 );
-+ R( e, a, b, c, d, F3, K3, 13, 9 );
-+ R( d, e, a, b, c, F3, K3, 3, 14 );
-+ R( c, d, e, a, b, F3, K3, 7, 5 );
-+ R( b, c, d, e, a, F3, K3, 15, 6 );
-+ R( a, b, c, d, e, F3, K3, 14, 8 );
-+ R( e, a, b, c, d, F3, K3, 5, 6 );
-+ R( d, e, a, b, c, F3, K3, 6, 5 );
-+ R( c, d, e, a, b, F3, K3, 2, 12 );
-+ R( b, c, d, e, a, F4, K4, 4, 9 );
-+ R( a, b, c, d, e, F4, K4, 0, 15 );
-+ R( e, a, b, c, d, F4, K4, 5, 5 );
-+ R( d, e, a, b, c, F4, K4, 9, 11 );
-+ R( c, d, e, a, b, F4, K4, 7, 6 );
-+ R( b, c, d, e, a, F4, K4, 12, 8 );
-+ R( a, b, c, d, e, F4, K4, 2, 13 );
-+ R( e, a, b, c, d, F4, K4, 10, 12 );
-+ R( d, e, a, b, c, F4, K4, 14, 5 );
-+ R( c, d, e, a, b, F4, K4, 1, 12 );
-+ R( b, c, d, e, a, F4, K4, 3, 13 );
-+ R( a, b, c, d, e, F4, K4, 8, 14 );
-+ R( e, a, b, c, d, F4, K4, 11, 11 );
-+ R( d, e, a, b, c, F4, K4, 6, 8 );
-+ R( c, d, e, a, b, F4, K4, 15, 5 );
-+ R( b, c, d, e, a, F4, K4, 13, 6 );
-+
-+ aa = a; bb = b; cc = c; dd = d; ee = e;
-+
-+ /* right lane */
-+ a = hd->h0;
-+ b = hd->h1;
-+ c = hd->h2;
-+ d = hd->h3;
-+ e = hd->h4;
-+ R( a, b, c, d, e, F4, KK0, 5, 8);
-+ R( e, a, b, c, d, F4, KK0, 14, 9);
-+ R( d, e, a, b, c, F4, KK0, 7, 9);
-+ R( c, d, e, a, b, F4, KK0, 0, 11);
-+ R( b, c, d, e, a, F4, KK0, 9, 13);
-+ R( a, b, c, d, e, F4, KK0, 2, 15);
-+ R( e, a, b, c, d, F4, KK0, 11, 15);
-+ R( d, e, a, b, c, F4, KK0, 4, 5);
-+ R( c, d, e, a, b, F4, KK0, 13, 7);
-+ R( b, c, d, e, a, F4, KK0, 6, 7);
-+ R( a, b, c, d, e, F4, KK0, 15, 8);
-+ R( e, a, b, c, d, F4, KK0, 8, 11);
-+ R( d, e, a, b, c, F4, KK0, 1, 14);
-+ R( c, d, e, a, b, F4, KK0, 10, 14);
-+ R( b, c, d, e, a, F4, KK0, 3, 12);
-+ R( a, b, c, d, e, F4, KK0, 12, 6);
-+ R( e, a, b, c, d, F3, KK1, 6, 9);
-+ R( d, e, a, b, c, F3, KK1, 11, 13);
-+ R( c, d, e, a, b, F3, KK1, 3, 15);
-+ R( b, c, d, e, a, F3, KK1, 7, 7);
-+ R( a, b, c, d, e, F3, KK1, 0, 12);
-+ R( e, a, b, c, d, F3, KK1, 13, 8);
-+ R( d, e, a, b, c, F3, KK1, 5, 9);
-+ R( c, d, e, a, b, F3, KK1, 10, 11);
-+ R( b, c, d, e, a, F3, KK1, 14, 7);
-+ R( a, b, c, d, e, F3, KK1, 15, 7);
-+ R( e, a, b, c, d, F3, KK1, 8, 12);
-+ R( d, e, a, b, c, F3, KK1, 12, 7);
-+ R( c, d, e, a, b, F3, KK1, 4, 6);
-+ R( b, c, d, e, a, F3, KK1, 9, 15);
-+ R( a, b, c, d, e, F3, KK1, 1, 13);
-+ R( e, a, b, c, d, F3, KK1, 2, 11);
-+ R( d, e, a, b, c, F2, KK2, 15, 9);
-+ R( c, d, e, a, b, F2, KK2, 5, 7);
-+ R( b, c, d, e, a, F2, KK2, 1, 15);
-+ R( a, b, c, d, e, F2, KK2, 3, 11);
-+ R( e, a, b, c, d, F2, KK2, 7, 8);
-+ R( d, e, a, b, c, F2, KK2, 14, 6);
-+ R( c, d, e, a, b, F2, KK2, 6, 6);
-+ R( b, c, d, e, a, F2, KK2, 9, 14);
-+ R( a, b, c, d, e, F2, KK2, 11, 12);
-+ R( e, a, b, c, d, F2, KK2, 8, 13);
-+ R( d, e, a, b, c, F2, KK2, 12, 5);
-+ R( c, d, e, a, b, F2, KK2, 2, 14);
-+ R( b, c, d, e, a, F2, KK2, 10, 13);
-+ R( a, b, c, d, e, F2, KK2, 0, 13);
-+ R( e, a, b, c, d, F2, KK2, 4, 7);
-+ R( d, e, a, b, c, F2, KK2, 13, 5);
-+ R( c, d, e, a, b, F1, KK3, 8, 15);
-+ R( b, c, d, e, a, F1, KK3, 6, 5);
-+ R( a, b, c, d, e, F1, KK3, 4, 8);
-+ R( e, a, b, c, d, F1, KK3, 1, 11);
-+ R( d, e, a, b, c, F1, KK3, 3, 14);
-+ R( c, d, e, a, b, F1, KK3, 11, 14);
-+ R( b, c, d, e, a, F1, KK3, 15, 6);
-+ R( a, b, c, d, e, F1, KK3, 0, 14);
-+ R( e, a, b, c, d, F1, KK3, 5, 6);
-+ R( d, e, a, b, c, F1, KK3, 12, 9);
-+ R( c, d, e, a, b, F1, KK3, 2, 12);
-+ R( b, c, d, e, a, F1, KK3, 13, 9);
-+ R( a, b, c, d, e, F1, KK3, 9, 12);
-+ R( e, a, b, c, d, F1, KK3, 7, 5);
-+ R( d, e, a, b, c, F1, KK3, 10, 15);
-+ R( c, d, e, a, b, F1, KK3, 14, 8);
-+ R( b, c, d, e, a, F0, KK4, 12, 8);
-+ R( a, b, c, d, e, F0, KK4, 15, 5);
-+ R( e, a, b, c, d, F0, KK4, 10, 12);
-+ R( d, e, a, b, c, F0, KK4, 4, 9);
-+ R( c, d, e, a, b, F0, KK4, 1, 12);
-+ R( b, c, d, e, a, F0, KK4, 5, 5);
-+ R( a, b, c, d, e, F0, KK4, 8, 14);
-+ R( e, a, b, c, d, F0, KK4, 7, 6);
-+ R( d, e, a, b, c, F0, KK4, 6, 8);
-+ R( c, d, e, a, b, F0, KK4, 2, 13);
-+ R( b, c, d, e, a, F0, KK4, 13, 6);
-+ R( a, b, c, d, e, F0, KK4, 14, 5);
-+ R( e, a, b, c, d, F0, KK4, 0, 15);
-+ R( d, e, a, b, c, F0, KK4, 3, 13);
-+ R( c, d, e, a, b, F0, KK4, 9, 11);
-+ R( b, c, d, e, a, F0, KK4, 11, 11);
-+
-+
-+ t = hd->h1 + d + cc;
-+ hd->h1 = hd->h2 + e + dd;
-+ hd->h2 = hd->h3 + a + ee;
-+ hd->h3 = hd->h4 + b + aa;
-+ hd->h4 = hd->h0 + c + bb;
-+ hd->h0 = t;
-+}
-+
-+
-+/* Update the message digest with the contents
-+ * of INBUF with length INLEN.
-+ */
-+static void
-+rmd160_write( RMD160_CONTEXT *hd, byte *inbuf, size_t inlen)
-+{
-+ if( hd->count == 64 ) { /* flush the buffer */
-+ transform( hd, hd->buf );
-+ hd->count = 0;
-+ hd->nblocks++;
-+ }
-+ if( !inbuf )
-+ return;
-+ if( hd->count ) {
-+ for( ; inlen && hd->count < 64; inlen-- )
-+ hd->buf[hd->count++] = *inbuf++;
-+ rmd160_write( hd, NULL, 0 );
-+ if( !inlen )
-+ return;
-+ }
-+
-+ while( inlen >= 64 ) {
-+ transform( hd, inbuf );
-+ hd->count = 0;
-+ hd->nblocks++;
-+ inlen -= 64;
-+ inbuf += 64;
-+ }
-+ for( ; inlen && hd->count < 64; inlen-- )
-+ hd->buf[hd->count++] = *inbuf++;
-+}
-+
-+/* The routine terminates the computation
-+ */
-+
-+static void
-+rmd160_final( RMD160_CONTEXT *hd )
-+{
-+ u32 t, msb, lsb;
-+ byte *p;
-+
-+ rmd160_write(hd, NULL, 0); /* flush */;
-+
-+ msb = 0;
-+ t = hd->nblocks;
-+ if( (lsb = t << 6) < t ) /* multiply by 64 to make a byte count */
-+ msb++;
-+ msb += t >> 26;
-+ t = lsb;
-+ if( (lsb = t + hd->count) < t ) /* add the count */
-+ msb++;
-+ t = lsb;
-+ if( (lsb = t << 3) < t ) /* multiply by 8 to make a bit count */
-+ msb++;
-+ msb += t >> 29;
-+
-+ if( hd->count < 56 ) { /* enough room */
-+ hd->buf[hd->count++] = 0x80; /* pad */
-+ while( hd->count < 56 )
-+ hd->buf[hd->count++] = 0; /* pad */
-+ }
-+ else { /* need one extra block */
-+ hd->buf[hd->count++] = 0x80; /* pad character */
-+ while( hd->count < 64 )
-+ hd->buf[hd->count++] = 0;
-+ rmd160_write(hd, NULL, 0); /* flush */;
-+ memset(hd->buf, 0, 56 ); /* fill next block with zeroes */
-+ }
-+ /* append the 64 bit count */
-+ hd->buf[56] = lsb ;
-+ hd->buf[57] = lsb >> 8;
-+ hd->buf[58] = lsb >> 16;
-+ hd->buf[59] = lsb >> 24;
-+ hd->buf[60] = msb ;
-+ hd->buf[61] = msb >> 8;
-+ hd->buf[62] = msb >> 16;
-+ hd->buf[63] = msb >> 24;
-+ transform( hd, hd->buf );
-+
-+ p = hd->buf;
-+ #if BYTE_ORDER == BIG_ENDIAN
-+ #define X(a) do { *p++ = hd->h##a ; *p++ = hd->h##a >> 8; \
-+ *p++ = hd->h##a >> 16; *p++ = hd->h##a >> 24; } while(0)
-+ #else /* little endian */
-+ #define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
-+ #endif
-+ X(0);
-+ X(1);
-+ X(2);
-+ X(3);
-+ X(4);
-+ #undef X
-+}
-+
-+/****************
-+ * Shortcut functions which puts the hash value of the supplied buffer
-+ * into outbuf which must have a size of 20 bytes.
-+ */
-+void
-+rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length )
-+{
-+ RMD160_CONTEXT hd;
-+
-+ rmd160_init( &hd );
-+ rmd160_write( &hd, (byte*)buffer, length );
-+ rmd160_final( &hd );
-+ memcpy( outbuf, hd.buf, 20 );
-+}
-diff -urN util-linux-2.10o/mount/rmd160.h util-linux-2.10o.int2/mount/rmd160.h
---- util-linux-2.10o/mount/rmd160.h Thu Jan 1 01:00:00 1970
-+++ util-linux-2.10o.int2/mount/rmd160.h Mon Sep 25 11:46:18 2000
-@@ -0,0 +1,9 @@
-+#ifndef RMD160_H
-+#define RMD160_H
-+
-+void
-+rmd160_hash_buffer( char *outbuf, const char *buffer, size_t length );
-+
-+#endif /*RMD160_H*/
-+
-+
diff --git a/sys-apps/util-linux/util-linux-2.10q-r1.ebuild b/sys-apps/util-linux/util-linux-2.10q-r1.ebuild
deleted file mode 100644
index aa4af2b33768..000000000000
--- a/sys-apps/util-linux/util-linux-2.10q-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.10q-r1.ebuild,v 1.2 2001/02/10 11:17:25 achim Exp $
-
-S=${WORKDIR}/${P}
-DESCRIPTION="Various useful Linux utilities"
-SRC_URI="ftp://ftp.de.kernel.org/pub/linux/utils/util-linux/${P}.tar.bz2"
-DEPEND=">=sys-libs/ncurses-5.2-r2"
-
-
-RDEPEND="$DEPEND
- sys-devel/perl"
-
-src_unpack() {
-
- unpack ${P}.tar.bz2
- cd ${S}
- cp MCONFIG MCONFIG.orig
- sed -e "s:-pipe -O2 -m486 -fomit-frame-pointer:${CFLAGS}:" \
- -e "s:CPU=.*:CPU=${CHOST%%-*}:" \
- -e "s:HAVE_PAM=no:HAVE_PAM=yes:" \
- -e "s:HAVE_SLN=no:HAVE_SLN=yes:" \
- -e "s:HAVE_TSORT=no:HAVE_TSORT=yes:" \
- -e "s:usr/man:usr/share/man:" \
- -e "s:usr/info:usr/share/info:" \
- MCONFIG.orig > MCONFIG.orig2
- if [ "`use simpleinit`" ]
- then
- sed -e "s:HAVE_SYSVINIT=yes:HAVE_SYSVINIT=no:" \
- -e "s:HAVE_SYSVINIT_UTILS=yes:HAVE_SYSVINIT_UTILS=no:" \
- MCONFIG.orig2 > MCONFIG
- else
- mv MCONFIG.orig2 MCONFIG
- fi
-
-}
-
-src_compile() {
-
- try ./configure
- try make ${MAKEOPTS} LDFLAGS=\"\"
-}
-
-
-src_install() {
-
- try make DESTDIR=${D} install
-
- dodoc HISTORY MAINTAINER README VERSION
- docinto licenses
- dodoc licenses/* HISTORY
- docinto examples
- dodoc example.files/*
-}
-
-
diff --git a/sys-apps/util-linux/util-linux-2.10q.ebuild b/sys-apps/util-linux/util-linux-2.10q.ebuild
deleted file mode 100644
index d85d9fb450e0..000000000000
--- a/sys-apps/util-linux/util-linux-2.10q.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.10q.ebuild,v 1.3 2000/11/30 23:14:35 achim Exp $
-
-
-S=${WORKDIR}/${P}
-DESCRIPTION="Various useful Linux utilities"
-SRC_URI="ftp://ftp.de.kernel.org/pub/linux/utils/util-linux/${P}.tar.bz2"
-DEPEND=">=sys-libs/gpm-1.19.3
- >=sys-libs/slang-1.4.2"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-
-src_compile() {
- try ./configure
- try make ${MAKEOPTS} LDFLAGS=\"\"
-}
-
-src_unpack() {
- unpack ${P}.tar.bz2
- cd ${S}
-# patch -p1 < ${FILESDIR}/util-linux-2.10o*
- cp MCONFIG MCONFIG.orig
- sed -e "s/-pipe -O2 -m486 -fomit-frame-pointer/${CFLAGS}/" \
- -e "s/HAVE_PAM=no/HAVE_PAM=yes/" \
- -e "s/HAVE_SLN=no/HAVE_SLN=yes/" \
- -e "s/HAVE_TSORT=no/HAVE_TSORT=yes/" \
- -e "s/# HAVE_SLANG/HAVE_SLANG/" \
- -e "s/# SLANGFLAGS/SLANGSFLAGS/" \
- MCONFIG.orig > MCONFIG
-
-}
-
-src_install() {
- cd ${S}
- try make DESTDIR=${D} install
- cd ${S}
- dodoc HISTORY MAINTAINER README VERSION
- docinto licenses
- dodoc licenses/* HISTORY
- docinto examples
- dodoc example.files/*
-}
-
-
diff --git a/sys-apps/vcron/files/digest-vcron-3.0_p1-r1 b/sys-apps/vcron/files/digest-vcron-3.0_p1-r1
deleted file mode 100644
index 12da92affca3..000000000000
--- a/sys-apps/vcron/files/digest-vcron-3.0_p1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 d9f12c3edfca4a4918b8d299cce5f2b4 cron3.0pl1.tar.gz
diff --git a/sys-apps/vim-nogui/files/digest-vim-nogui-5.7-r2 b/sys-apps/vim-nogui/files/digest-vim-nogui-5.7-r2
deleted file mode 100644
index bd52e4ba82b9..000000000000
--- a/sys-apps/vim-nogui/files/digest-vim-nogui-5.7-r2
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 0b2bca69c7018a8777d8d5390e23d06e vim-5.7-src.tar.gz
-MD5 b7d9cbc64479e26f52e2bc58d312bd84 vim-5.7-rt.tar.gz
diff --git a/sys-apps/vim-nogui/vim-nogui-5.7-r2.ebuild b/sys-apps/vim-nogui/vim-nogui-5.7-r2.ebuild
deleted file mode 100644
index 2c03fc421f57..000000000000
--- a/sys-apps/vim-nogui/vim-nogui-5.7-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/vim-nogui/vim-nogui-5.7-r2.ebuild,v 1.3 2000/11/30 23:14:35 achim Exp $
-
-A="vim-5.7-src.tar.gz vim-5.7-rt.tar.gz"
-S=${WORKDIR}/vim-5.7
-DESCRIPTION="Handy vi-compatible editor"
-SRC_URI="ftp://ftp.home.vim.org/pub/vim/unix/vim-5.7-src.tar.gz
- ftp://ftp.home.vim.org/pub/vim/unix/vim-5.7-rt.tar.gz"
-HOMEPAGE="http://www.vim.org"
-DEPEND=">=sys-libs/gpm-1.19.3"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} \
- --enable-gui=no --without-x
- # Parallel make does not work
- try make
-}
-
-src_install() {
- try make prefix=${D}/usr STRIP=echo install
- dodoc README*
-
- cd ${D}/usr/doc/vim-nogui-5.7-r2
- ln -s ../../share/vim/vim57/doc ${P}
-
- cd ${D}/usr/bin
- ln -s vim vi
- dosed "s:/usr/bin/nawk:/usr/bin/awk:" /usr/share/vim/vim57/tools/mve.awk
-}
-
-
-
-
diff --git a/sys-apps/watchpid/files/digest-watchpid-0.1 b/sys-apps/watchpid/files/digest-watchpid-0.1
deleted file mode 100644
index 54f3c64a1b1e..000000000000
--- a/sys-apps/watchpid/files/digest-watchpid-0.1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 954939f7ddf337d90ec9806abea0290b watchpid_0.1.tar.gz
diff --git a/sys-apps/watchpid/watchpid-0.1.ebuild b/sys-apps/watchpid/watchpid-0.1.ebuild
deleted file mode 100644
index 34ec74ac716c..000000000000
--- a/sys-apps/watchpid/watchpid-0.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/watchpid/watchpid-0.1.ebuild,v 1.2 2000/11/30 23:14:35 achim Exp $
-
-A=watchpid_0.1.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Watches a process for termination"
-SRC_URI="http://www.codepark.org/projects/utils/${A}"
-HOMEPAGE="http://www.codepark.org"
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- cd ${S}
- dodoc README AUTHORS COPYING NEWS
-}
-
-
-
diff --git a/sys-apps/which/files/digest-which-2.12 b/sys-apps/which/files/digest-which-2.12
deleted file mode 100644
index fc5c9a3ba137..000000000000
--- a/sys-apps/which/files/digest-which-2.12
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8955df4fe35e29378a5eda31a61de39e which-2.12.tar.gz
diff --git a/sys-apps/which/which-2.12.ebuild b/sys-apps/which/which-2.12.ebuild
deleted file mode 100644
index ee0dc2371688..000000000000
--- a/sys-apps/which/which-2.12.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/which/which-2.12.ebuild,v 1.2 2000/11/30 23:14:35 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Prints out location of specified executables that are in your path"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/which/${A}
- ftp://prep.ai.mit.edu/gnu/which/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure --prefix=/usr
- try make
-}
-
-src_unpack() {
- unpack ${A}
- # cd ${S}/tilde
- # cp shell.c shell.c.orig
- # echo "#define NULL ( 0L )" > shell.c
- # cat shell.c.orig >> shell.c
-}
-
-src_install() {
- into /usr
- dobin which
- doman which.1
- doinfo which.info
- dodoc AUTHORS COPYING EXAMPLES NEWS README*
-}
-
diff --git a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r1 b/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r1
deleted file mode 100644
index 72aa49d63056..000000000000
--- a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 5d1f4d5bab29d9e68dc8850b4cb90969 xinetd-2.1.8.8p3.tar.gz
diff --git a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r2 b/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r2
deleted file mode 100644
index 72aa49d63056..000000000000
--- a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 5d1f4d5bab29d9e68dc8850b4cb90969 xinetd-2.1.8.8p3.tar.gz
diff --git a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r3 b/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r3
deleted file mode 100644
index 72aa49d63056..000000000000
--- a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 5d1f4d5bab29d9e68dc8850b4cb90969 xinetd-2.1.8.8p3.tar.gz
diff --git a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r4 b/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r4
deleted file mode 100644
index 72aa49d63056..000000000000
--- a/sys-apps/xinetd/files/digest-xinetd-2.1.8.8_p3-r4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 5d1f4d5bab29d9e68dc8850b4cb90969 xinetd-2.1.8.8p3.tar.gz
diff --git a/sys-apps/xinetd/xinetd-2.1.8.8_p3-r4.ebuild b/sys-apps/xinetd/xinetd-2.1.8.8_p3-r4.ebuild
deleted file mode 100644
index c39ed3ba68eb..000000000000
--- a/sys-apps/xinetd/xinetd-2.1.8.8_p3-r4.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/xinetd/xinetd-2.1.8.8_p3-r4.ebuild,v 1.2 2001/01/13 20:07:52 achim Exp $
-
-P=xinetd-2.1.8.8p3
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Replacement for inetd."
-HOMEPAGE="http://www.xinetd.org"
-SRC_URI="http://www.xinetd.org/${A}"
-DEPEND=">=sys-libs/glibc-2.1.3"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-
-src_compile() {
- try ./configure --with-loadavg --with-libwrap --prefix=/usr --host=${CHOST}
- # Parallel make does not work
- try make
-
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr install
- dodoc CHANGELOG README COPYRIGHT
- exeinto /etc/rc.d/init.d
- doexe ${FILESDIR}/xinetd ${FILESDIR}/svc-xinetd
- insinto /etc
-# doins ${FILESDIR}/xinetd.conf
- exeinto /var/lib/supervise/services/xinetd
- newexe ${FILESDIR}/xinetd-run run
-}
-
-
-
-
diff --git a/sys-apps/yard/files/digest-yard-2.0 b/sys-apps/yard/files/digest-yard-2.0
deleted file mode 100644
index 41f5511082f8..000000000000
--- a/sys-apps/yard/files/digest-yard-2.0
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c2d115e0a12945b6057a30e2c47532ae yard-2.0.tar.gz
diff --git a/sys-apps/yard/files/yard-2.0-doc-Makefile.in-gentoo.diff~ b/sys-apps/yard/files/yard-2.0-doc-Makefile.in-gentoo.diff~
deleted file mode 100644
index 7c6252d16287..000000000000
--- a/sys-apps/yard/files/yard-2.0-doc-Makefile.in-gentoo.diff~
+++ /dev/null
@@ -1,16 +0,0 @@
---- doc/Makefile.in~ Mon May 15 00:55:57 2000
-+++ doc/Makefile.in Sun Apr 8 18:06:05 2001
-@@ -55,10 +55,10 @@
- man: yard.8
-
- install:
-- $(INSTALL) --directory $(doc_dest) $(manfile_dest)
-- $(INSTALL) --group=man --mode=444 yard.8 $(manfile_dest)
-+ $(INSTALL) --directory $(DESTDIR)/$(doc_dest) $(DESTDIR)$(manfile_dest)
-+ $(INSTALL) --group=man --mode=444 yard.8 $(DESTDIR)$(manfile_dest)
- for i in $(MANPAGES);\
-- do $(LN) -f $(manfile_dest)/yard.8 $(manfile_dest)/$$i; done
-+ do $(LN) -f yard.8 $(DESTDIR)/$(manfile_dest)/$$i; done
-
- clean:
- $(RM) -f *.log *~ *.~ .*~ *.*.~ *.OLD *.ls \#* *.bak
diff --git a/sys-apps/yard/yard-2.0.ebuild b/sys-apps/yard/yard-2.0.ebuild
deleted file mode 100644
index f7c1afaec851..000000000000
--- a/sys-apps/yard/yard-2.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/yard/yard-2.0.ebuild,v 1.1 2001/04/08 16:42:20 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Yard is a suite of Perl scripts for creating rescue disks (also
-called bootdisks) for Linux."
-SRC_URI="http://www.croftj.net/~fawcett/yard/${A}"
-HOMEPAGE="http://www.croftj.net/~fawcett/yard/"
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- cp ${FILESDIR}/configure .
- #cp Makefile.in makefile.in.orig
- patch -p0 < ${FILESDIR}/${P}-Makefile.in-gentoo.diff
- patch -p0 < ${FILESDIR}/${P}-doc-Makefile.in-gentoo.diff
- patch -p0 < ${FILESDIR}/${P}-extras-Makefile.in-gentoo.diff
-}
-
-src_compile() {
-
- cd ${S}
- try ./configure --prefix=/usr
- try make
-
-}
-
-src_install () {
-
- cd ${S}
- try make DESTDIR=${D} install customize
- cd doc
- docinto txt
- dodoc *.txt Broken*
- docinto html
- dodoc *.html
- docinto sgml
- dodoc *.sgml
- docinto print
- gunzip *.ps.gz
- dodoc *.ps
-}
-
diff --git a/sys-build/bash/bash-2.04-r1.ebuild b/sys-build/bash/bash-2.04-r1.ebuild
deleted file mode 100644
index c86fe16e5200..000000000000
--- a/sys-build/bash/bash-2.04-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/bash/bash-2.04-r1.ebuild,v 1.3 2001/02/15 18:17:31 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="The standard GNU Bourne again shell"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/bash/${A}
- ftp://ftp.gnu.org/gnu/bash/${A}"
-
-HOMEPAGE="http://www.gnu.org/software/bash/bash.html"
-
-src_compile() {
-
- cd ${S}
- echo $THOST
- try ./configure --prefix=/ --build=${CHOST} --target=${THOST} \
- --disable-profiling --with-curses \
- --enable-static-link --disable-nls
- cp Makefile Makefile.orig
- sed -e "s:-lcurses:-lncurses:" Makefile.orig > Makefile
- try pmake
-}
-
-
-
-src_install() {
- cd ${S}
- make prefix=${D}/usr install
- dodir /bin
- mv ${D}/usr/bin/bash ${D}/bin
- dosym bash /bin/sh
- rm -rf ${D}/usr
-}
-
diff --git a/sys-build/bash/files/digest-bash-2.04-r1 b/sys-build/bash/files/digest-bash-2.04-r1
deleted file mode 100644
index 2357c32167ec..000000000000
--- a/sys-build/bash/files/digest-bash-2.04-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 49b548a8b72a4c925ff26930e4c31c6c bash-2.04.tar.gz
diff --git a/sys-build/binutils/binutils-2.10.1.ebuild b/sys-build/binutils/binutils-2.10.1.ebuild
deleted file mode 100644
index bc58a366ca49..000000000000
--- a/sys-build/binutils/binutils-2.10.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/binutils/binutils-2.10.1.ebuild,v 1.2 2001/01/27 08:38:36 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools necessary to build programs"
-SRC_URI="ftp://ftp.gnu.org/gnu/binutils/${A}"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} \
- --disable-nls
- try make -e LDFLAGS=-all-static ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/man
-
-}
-
-
-
diff --git a/sys-build/binutils/files/digest-binutils-2.10.1 b/sys-build/binutils/files/digest-binutils-2.10.1
deleted file mode 100644
index ec81f98fe173..000000000000
--- a/sys-build/binutils/files/digest-binutils-2.10.1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3e8be56825395a075a71e0b7e8da206a binutils-2.10.1.tar.gz
diff --git a/sys-build/bison/bison-1.28-r1.ebuild b/sys-build/bison/bison-1.28-r1.ebuild
deleted file mode 100644
index 19a20f43fc99..000000000000
--- a/sys-build/bison/bison-1.28-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/bison/bison-1.28-r1.ebuild,v 1.3 2001/02/15 18:17:31 achim Exp $
-
-P=bison-1.28
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A yacc-compatible parser generator"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/bison/${A}
- ftp://prep.ai.mit.edu/gnu/bison/${A}"
-HOMEPAGE="http://www.gnu.org/software/bison/bison.html"
-
-
-
-src_compile() {
- try ./configure --prefix=/usr --datadir=/usr/share/bison --host=${CHOST} --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr datadir=${D}/usr/share/bison install
- rm -rf ${D}/usr/man ${D}/usr/info
-}
-
-
diff --git a/sys-build/bison/files/digest-bison-1.28-r1 b/sys-build/bison/files/digest-bison-1.28-r1
deleted file mode 100644
index 31b82696c4c7..000000000000
--- a/sys-build/bison/files/digest-bison-1.28-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 4afb3989f2270043c47c3daa1fa7ffab bison-1.28.tar.gz
diff --git a/sys-build/bzip2/bzip2-1.0.1.ebuild b/sys-build/bzip2/bzip2-1.0.1.ebuild
deleted file mode 100644
index 0a19f51478c9..000000000000
--- a/sys-build/bzip2/bzip2-1.0.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/bzip2/bzip2-1.0.1.ebuild,v 1.2 2001/02/05 02:47:05 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A high-quality data compressor used extensively by Gentoo"
-SRC_URI="ftp://sourceware.cygnus.com/pub/bzip2/v100/${A}
- ftp://ftp.freesoftware.com/pub/sourceware/bzip2/v100/${A}"
-
-HOMEPAGE="http://sourceware.cygnus.com/bzip2/"
-
-src_unpack() {
- unpack ${A}
- # bzip2's try makefile does not use CFLAGS so we hard-wire the compile
- # options using sed ;)
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s/-O2/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_compile() {
- try pmake LDFLAGS=-static all
-}
-src_install() {
- into /
- dobin bzip2
- cd ${D}/bin
- ln bzip2 bunzip2
-}
-
-
diff --git a/sys-build/bzip2/files/digest-bzip2-1.0.1 b/sys-build/bzip2/files/digest-bzip2-1.0.1
deleted file mode 100644
index 4a2d8e5861de..000000000000
--- a/sys-build/bzip2/files/digest-bzip2-1.0.1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 770135dc94369cb3eb6013ed505c8dc5 bzip2-1.0.1.tar.gz
diff --git a/sys-build/debianutils/debianutils-1.13.3-r1.ebuild b/sys-build/debianutils/debianutils-1.13.3-r1.ebuild
deleted file mode 100644
index 82ac02793b56..000000000000
--- a/sys-build/debianutils/debianutils-1.13.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/debianutils/debianutils-1.13.3-r1.ebuild,v 1.1 2001/01/25 18:00:26 achim Exp $
-
-P=debianutils-1.13.3
-A=debianutils_1.13.3.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A selection of tools from Debian"
-SRC_URI="ftp://ftp.debian.org/debian/dists/potato/main/source/base/${A}"
-
-src_compile() {
- try pmake LDFLAGS=-static
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- mv Makefile Makefile.orig
- sed -e "s/-O2 -g/${CFLAGS}/" Makefile.orig > Makefile
-}
-
-src_install() {
-
- into /
- dobin readlink tempfile mktemp
-
-}
-
-
-
diff --git a/sys-build/debianutils/files/digest-debianutils-1.13.3-r1 b/sys-build/debianutils/files/digest-debianutils-1.13.3-r1
deleted file mode 100644
index 30079b8cc3cd..000000000000
--- a/sys-build/debianutils/files/digest-debianutils-1.13.3-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 91511bc2eec9beebb23cf22fb57a202e debianutils_1.13.3.tar.gz
diff --git a/sys-build/diffutils/diffutils-2.7-r1.ebuild b/sys-build/diffutils/diffutils-2.7-r1.ebuild
deleted file mode 100644
index 97eb2af52ba2..000000000000
--- a/sys-build/diffutils/diffutils-2.7-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/diffutils/diffutils-2.7-r1.ebuild,v 1.1 2001/01/25 18:00:26 achim Exp $
-
-P=diffutils-2.7
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools to make diffs and compare files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/diffutils/${A}
- ftp://ftp.gnu.org/gnu/diffutils/${A}"
-
-HOMEPAGE="http://www.gnu.org/software/diffutils/diffutils.html"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr --disable-nls
- try pmake LDFLAGS=-static
-}
-
-src_install() {
- into /usr
- dobin cmp diff diff3 sdiff
-}
-
-
diff --git a/sys-build/diffutils/files/digest-diffutils-2.7-r1 b/sys-build/diffutils/files/digest-diffutils-2.7-r1
deleted file mode 100644
index d4b1dc7fc3ff..000000000000
--- a/sys-build/diffutils/files/digest-diffutils-2.7-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 300d86a0566afee1c3756828f6c9538a diffutils-2.7.tar.gz
diff --git a/sys-build/file/file-3.33.ebuild b/sys-build/file/file-3.33.ebuild
deleted file mode 100644
index 69957b8100be..000000000000
--- a/sys-build/file/file-3.33.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/file/file-3.33.ebuild,v 1.2 2001/02/15 18:17:31 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Program to identify a file's format by scanning binary data for patters"
-#unfortunately, this ftp site doesn't support passive ftp
-#maybe we can find an alternative for those behind firewalls, or mirror
-#on cvs.gentoo.org
-SRC_URI="ftp://ftp.astron.com/pub/file/${A}"
-
-src_compile() {
- try ./configure --prefix=/usr --datadir=/etc --host=${CHOST}
- try pmake LDFLAGS=-static
-}
-
-src_install() {
- into /usr
- dobin file
- insinto /etc
- doins magic magic.mime
-}
-
-
-
diff --git a/sys-build/file/files/digest-file-3.33 b/sys-build/file/files/digest-file-3.33
deleted file mode 100644
index 9a0e1f33e262..000000000000
--- a/sys-build/file/files/digest-file-3.33
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3b8e32ed3a79774bd92f0052fa07ca04 file-3.33.tar.gz
diff --git a/sys-build/fileutils/files/digest-fileutils-4.0.36-r1 b/sys-build/fileutils/files/digest-fileutils-4.0.36-r1
deleted file mode 100644
index 44878ba266d7..000000000000
--- a/sys-build/fileutils/files/digest-fileutils-4.0.36-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 c603c20eedd5b964b1b429efe8103159 fileutils-4.0.36.tar.gz
diff --git a/sys-build/fileutils/fileutils-4.0.36-r1.ebuild b/sys-build/fileutils/fileutils-4.0.36-r1.ebuild
deleted file mode 100644
index af20ade0c866..000000000000
--- a/sys-build/fileutils/fileutils-4.0.36-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/fileutils/fileutils-4.0.36-r1.ebuild,v 1.2 2001/02/15 18:17:31 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU file utilities (chmod, cp, dd, dir, ls, etc)"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-HOMEPAGE="http://www.gnu.org/software/fileutils/fileutils.html"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
-
- cd ${S}/src
- into /
- dobin chgrp chown dd dir du ln mkdir mknod rm touch \
- chmod cp df ls mkfifo mv rmdir sync
- newbin ginstall install
- dosym /bin/install /usr/bin/install
-}
-
diff --git a/sys-build/findutils/files/digest-findutils-4.1-r3 b/sys-build/findutils/files/digest-findutils-4.1-r3
deleted file mode 100644
index d959da1b7872..000000000000
--- a/sys-build/findutils/files/digest-findutils-4.1-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3ea8fe58ef5386da75f6c707713aa059 findutils-4.1.tar.gz
diff --git a/sys-build/findutils/findutils-4.1-r3.ebuild b/sys-build/findutils/findutils-4.1-r3.ebuild
deleted file mode 100644
index 4399f03b93eb..000000000000
--- a/sys-build/findutils/findutils-4.1-r3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/findutils/findutils-4.1-r3.ebuild,v 1.2 2001/02/15 18:17:31 achim Exp $
-
-P=findutils-4.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU utilities to find files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/findutils/${A}
- ftp://prep.ai.mit.edu/gnu/findutils/${A}"
-HOMEPAGE="http://www.gnu.org/software/findutils/findutils.html"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- # do not use pmake recursive
- try make LOCATE_DB=/var/lib/locatedb \
- libexecdir=/usr/lib/find $MAKEOPTS LDFLAGS=-static
-}
-
-src_unpack() {
- unpack ${A}
- einfo "Applying Patch..."
- #using sed to apply minor patches to files
- cd ${S}/find
- mv fstype.c fstype.c.orig
- sed -e "33d" -e "34d" fstype.c.orig > fstype.c
- mv parser.c parser.c.orig
- sed -e "55d" parser.c.orig > parser.c
- mv pred.c pred.c.orig
- sed -e '29i\' -e '#define FNM_CASEFOLD (1<<4)' pred.c.orig > pred.c
- cd ${S}/lib
- mv nextelem.c nextelem.c.orig
- sed -e "35d" nextelem.c.orig > nextelem.c
- cd ${S}/xargs
- mv xargs.c xargs.c.orig
- sed -e "63d" -e "64d" xargs.c.orig > xargs.c
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr libexecdir=${D}/usr/lib/find \
- LOCATE_DB=${D}/var/lib/locatedb install
- dosed "s:TMPDIR=/usr/tmp:TMPDIR=/tmp:" usr/bin/updatedb
- rm -fr ${D}/usr/var ${D}/usr/man ${D}/usr/info
-}
-
diff --git a/sys-build/flex/files/digest-flex-2.5.4a-r1 b/sys-build/flex/files/digest-flex-2.5.4a-r1
deleted file mode 100644
index 832a6789f10a..000000000000
--- a/sys-build/flex/files/digest-flex-2.5.4a-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 bd8753d0b22e1f4ec87a553a73021adf flex-2.5.4a.tar.gz
diff --git a/sys-build/flex/flex-2.5.4a-r1.ebuild b/sys-build/flex/flex-2.5.4a-r1.ebuild
deleted file mode 100644
index 44c2c1a321f6..000000000000
--- a/sys-build/flex/flex-2.5.4a-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/flex/flex-2.5.4a-r1.ebuild,v 1.3 2001/02/15 18:17:31 achim Exp $
-
-P=flex-2.5.4a
-A=${P}.tar.gz
-S=${WORKDIR}/flex-2.5.4
-DESCRIPTION="GNU lexical analyser generator"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/non-gnu/flex/${A}
- ftp://prep.ai.mit.edu/non-gnu/flex/${A}"
-HOMEPAGE="http://www.gnu.org/software/flex/flex.html"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/man ${D}/usr/include ${D}/usr/lib
-}
-
-
diff --git a/sys-build/gawk/files/digest-gawk-3.0.6-r1 b/sys-build/gawk/files/digest-gawk-3.0.6-r1
deleted file mode 100644
index 55f7d10d4a37..000000000000
--- a/sys-build/gawk/files/digest-gawk-3.0.6-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b5ba21c033f5a9737455458d94954609 gawk-3.0.6.tar.gz
diff --git a/sys-build/gawk/gawk-3.0.6-r1.ebuild b/sys-build/gawk/gawk-3.0.6-r1.ebuild
deleted file mode 100644
index a4d1063d949c..000000000000
--- a/sys-build/gawk/gawk-3.0.6-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/gawk/gawk-3.0.6-r1.ebuild,v 1.2 2001/02/15 18:17:31 achim Exp $
-
-P=gawk-3.0.6
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU awk pattern-matching language"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gawk/${A}
- ftp://prep.ai.mit.edu/gnu/gawk/${A}"
-HOMEPAGE="http://www.gnu.org/software/gawk/gawk.html"
-
-src_compile() {
- try ./configure --prefix=/usr --libexecdir=/usr/lib/awk --host=${CHOST}
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
-
- try make prefix=${D}/usr libexecdir=${D}/usr/lib/awk install
- rm -rf ${D}/usr/man ${D}/usr/info
-
-}
-
-
-
diff --git a/sys-build/gcc/files/digest-gcc-2.95.2-r4 b/sys-build/gcc/files/digest-gcc-2.95.2-r4
deleted file mode 100644
index 8cbef92431a6..000000000000
--- a/sys-build/gcc/files/digest-gcc-2.95.2-r4
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 0e36957d734286e242e9697fd2806c4f gcc-2.95.2.tar.gz
-MD5 2826dbbd081646c459b1774145ffd7bf libg++-2.8.1.3.tar.gz
-MD5 906124171f15ee1585d840ed7d174009 libg++-2.8.1.3-20000312.diff.gz
-MD5 47b93312badd9550ccb7d113bbf0242a libg++-2.8.1.3-20000419.diff.gz
-MD5 9e00e62b8fb7af3e41364b7c6d9f4cf8 libg++-2.8.1.3-20000816.diff.gz
-MD5 625dd5a953661b901c876f92c2c5e7a6 libg++-2.8.1.3-20000914.diff.gz
diff --git a/sys-build/gcc/files/digest-gcc-2.95.2.1 b/sys-build/gcc/files/digest-gcc-2.95.2.1
deleted file mode 100644
index 06cfc0edf8a6..000000000000
--- a/sys-build/gcc/files/digest-gcc-2.95.2.1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 0e36957d734286e242e9697fd2806c4f gcc-2.95.2.tar.gz
-MD5 e89e684a145a55d442b09436edef4427 gcc-2.95.2-2.95.2.1.diff.gz
diff --git a/sys-build/gcc/files/gcc-2.95.2.dif.gz b/sys-build/gcc/files/gcc-2.95.2.dif.gz
deleted file mode 100644
index 034d06a0a335..000000000000
--- a/sys-build/gcc/files/gcc-2.95.2.dif.gz
+++ /dev/null
Binary files differ
diff --git a/sys-build/gcc/files/gcc-accept-doublecolon.diff.gz b/sys-build/gcc/files/gcc-accept-doublecolon.diff.gz
deleted file mode 100644
index ced5ee0bd788..000000000000
--- a/sys-build/gcc/files/gcc-accept-doublecolon.diff.gz
+++ /dev/null
Binary files differ
diff --git a/sys-build/gcc/files/gcc-exception-fix.diff.gz b/sys-build/gcc/files/gcc-exception-fix.diff.gz
deleted file mode 100644
index db8e6bce0898..000000000000
--- a/sys-build/gcc/files/gcc-exception-fix.diff.gz
+++ /dev/null
Binary files differ
diff --git a/sys-build/gcc/files/gcc-glibc-2.2-compat.diff b/sys-build/gcc/files/gcc-glibc-2.2-compat.diff
deleted file mode 100644
index 671311b716f7..000000000000
--- a/sys-build/gcc/files/gcc-glibc-2.2-compat.diff
+++ /dev/null
@@ -1,332 +0,0 @@
-2000-09-21 Bruno Haible <haible@clisp.cons.org>
-
- * libio.h: For glibc-2.2, set _IO_USER_LOCK to the value defined
- in /usr/include/libio.h.
-
-1999-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of
- _IO_fpos_t.
- (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of
- _IO_fpos64_t.
- * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise.
- (_IO_seekoff, _IO_seekpos): Likewise.
- (_IO_default_seekoff, _IO_default_seekpos): Likewise.
- (_IO_default_seek): Likewise.
- (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise.
- * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
- * parsestream.h (class parsebuf::pos_at_line_start): Change type
- to _IO_off_t.
-
-*** libio/libio.h.jj Mon Jun 29 20:06:26 1998
---- libio/libio.h Thu Sep 21 02:14:17 2000
-***************
-*** 163,168 ****
---- 163,171 ----
- #ifdef _IO_MTSAFE_IO
- # if defined __GLIBC__ && __GLIBC__ >= 2
- # if __GLIBC_MINOR__ > 0
-+ # if __GLIBC_MINOR__ >= 2
-+ # define _IO_USER_LOCK 0x8000
-+ # endif
- # include <bits/stdio-lock.h>
- # else
- # include <stdio-lock.h>
-***************
-*** 277,283 ****
- {
- _IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
- _IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
-! _IO_fpos_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
- int (*close) __PMT ((struct _IO_FILE *));
- } _IO_cookie_io_functions_t;
-
---- 280,286 ----
- {
- _IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
- _IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
-! _IO_off_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
- int (*close) __PMT ((struct _IO_FILE *));
- } _IO_cookie_io_functions_t;
-
-***************
-*** 348,358 ****
- extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
- #else
-! extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
- #endif
-
- extern void _IO_free_backup_area __P ((_IO_FILE *));
---- 351,361 ----
- extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
- #endif
-
- extern void _IO_free_backup_area __P ((_IO_FILE *));
-*** libio/libioP.h.jj Mon May 17 18:58:56 1999
---- libio/libioP.h Mon May 15 16:14:00 2000
-***************
-*** 146,155 ****
- It matches the streambuf::seekoff virtual function.
- It is also used for the ANSI fseek function. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_fpos64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
- int DIR, int MODE));
- #else
-! typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
- int DIR, int MODE));
- #endif
- #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
---- 146,155 ----
- It matches the streambuf::seekoff virtual function.
- It is also used for the ANSI fseek function. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
- int DIR, int MODE));
- #else
-! typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
- int DIR, int MODE));
- #endif
- #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
-***************
-*** 160,168 ****
- It is also used for the ANSI fgetpos and fsetpos functions. */
- /* The _IO_seek_cur and _IO_seek_end options are not allowed. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_fpos64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos64_t, int));
- #else
-! typedef _IO_fpos_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos_t, int));
- #endif
- #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
-
---- 160,168 ----
- It is also used for the ANSI fgetpos and fsetpos functions. */
- /* The _IO_seek_cur and _IO_seek_end options are not allowed. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
- #else
-! typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
- #endif
- #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
-
-***************
-*** 213,221 ****
- It matches the streambuf::sys_seek virtual function, which is
- specific to this implementation. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_fpos64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
- #else
-! typedef _IO_fpos_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
- #endif
- #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
-
---- 213,221 ----
- It matches the streambuf::sys_seek virtual function, which is
- specific to this implementation. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
- #else
-! typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
- #endif
- #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
-
-***************
-*** 298,308 ****
- /* Generic functions */
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
- #else
-! extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
- #endif
-
- extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
---- 298,308 ----
- /* Generic functions */
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
- #endif
-
- extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
-***************
-*** 340,361 ****
- _IO_size_t));
- extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_default_seekoff __P ((_IO_FILE *,
- _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_default_seekpos __P ((_IO_FILE *,
-! _IO_fpos64_t, int));
- #else
-! extern _IO_fpos_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_default_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
- #endif
- extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
- extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
- extern int _IO_default_stat __P ((_IO_FILE *, void *));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_fpos_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern int _IO_default_sync __P ((_IO_FILE *));
- #define _IO_default_close ((_IO_close_t) _IO_default_sync)
---- 340,361 ----
- _IO_size_t));
- extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
- _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
-! _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
- extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
- extern int _IO_default_stat __P ((_IO_FILE *, void *));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern int _IO_default_sync __P ((_IO_FILE *));
- #define _IO_default_close ((_IO_close_t) _IO_default_sync)
-***************
-*** 389,399 ****
- extern int _IO_file_doallocate __P ((_IO_FILE *));
- extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_fpos_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
- extern int _IO_file_stat __P ((_IO_FILE *, void *));
---- 389,399 ----
- extern int _IO_file_doallocate __P ((_IO_FILE *));
- extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
- extern int _IO_file_stat __P ((_IO_FILE *, void *));
-***************
-*** 427,435 ****
- extern int _IO_str_overflow __P ((_IO_FILE *, int));
- extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
- #else
-! extern _IO_fpos_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
- #endif
- extern void _IO_str_finish __P ((_IO_FILE *, int));
-
---- 427,435 ----
- extern int _IO_str_overflow __P ((_IO_FILE *, int));
- extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
- #else
-! extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
- #endif
- extern void _IO_str_finish __P ((_IO_FILE *, int));
-
-***************
-*** 544,555 ****
- where an _IO_fpos_t is a struct.
- Note that _IO_off_t must be an integral type. */
-
-! /* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */
- #ifndef _IO_pos_BAD
- # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! # define _IO_pos_BAD ((_IO_fpos64_t) -1)
- # else
-! # define _IO_pos_BAD ((_IO_fpos_t) -1)
- # endif
- #endif
- /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
---- 544,555 ----
- where an _IO_fpos_t is a struct.
- Note that _IO_off_t must be an integral type. */
-
-! /* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
- #ifndef _IO_pos_BAD
- # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! # define _IO_pos_BAD ((_IO_off64_t) -1)
- # else
-! # define _IO_pos_BAD ((_IO_off_t) -1)
- # endif
- #endif
- /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
-*** libio/streambuf.h.jj Sun Aug 8 20:07:01 1999
---- libio/streambuf.h Mon May 15 16:04:27 2000
-***************
-*** 72,81 ****
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_fpos64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_fpos_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
---- 72,81 ----
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_off64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_off_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
-*** libio/parsestream.h.jj Thu Aug 21 18:58:20 1997
---- libio/parsestream.h Mon May 15 16:04:27 2000
-***************
-*** 42,48 ****
-
- class parsebuf : public streambuf {
- protected:
-! _IO_fpos_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
---- 42,48 ----
-
- class parsebuf : public streambuf {
- protected:
-! _IO_off_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
diff --git a/sys-build/gcc/files/gccinclude-glibc-2.2-compat.diff b/sys-build/gcc/files/gccinclude-glibc-2.2-compat.diff
deleted file mode 100644
index 58c960175128..000000000000
--- a/sys-build/gcc/files/gccinclude-glibc-2.2-compat.diff
+++ /dev/null
@@ -1,50 +0,0 @@
-1999-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
- * parsestream.h (class parsebuf::pos_at_line_start): Change type
- to _IO_off_t.
-
-*** include/g++/streambuf.h.jj Sun Aug 8 20:07:01 1999
---- include/g++/streambuf.h Mon May 15 16:04:27 2000
-***************
-*** 72,81 ****
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_fpos64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_fpos_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
---- 72,81 ----
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_off64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_off_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
-*** include/g++/parsestream.h.jj Thu Aug 21 18:58:20 1997
---- include/g++/parsestream.h Mon May 15 16:04:27 2000
-***************
-*** 42,48 ****
-
- class parsebuf : public streambuf {
- protected:
-! _IO_fpos_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
---- 42,48 ----
-
- class parsebuf : public streambuf {
- protected:
-! _IO_off_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
diff --git a/sys-build/gcc/files/libioP.h b/sys-build/gcc/files/libioP.h
deleted file mode 100644
index 7d57a99a2225..000000000000
--- a/sys-build/gcc/files/libioP.h
+++ /dev/null
@@ -1,657 +0,0 @@
-/* Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library 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.
-
- This library 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 this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#ifndef _POSIX_SOURCE
-# define _POSIX_SOURCE
-#endif
-
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(Val) errno = (Val)
-#endif
-
-#ifdef _IO_MTSAFE_IO
-# if defined __GLIBC__ && __GLIBC__ >= 2
-# if __GLIBC_MINOR__ > 0
-# include <bits/libc-lock.h>
-# else
-# include <libc-lock.h>
-# endif
-# else
-/*# include <comthread.h>*/
-# endif
-#endif
-
-#include "iolibio.h"
-
-#ifndef _IO_USER_LOCK
-#define _IO_USER_LOCK 0x8000
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define _IO_seek_set 0
-#define _IO_seek_cur 1
-#define _IO_seek_end 2
-
-/* THE JUMPTABLE FUNCTIONS.
-
- * The _IO_FILE type is used to implement the FILE type in GNU libc,
- * as well as the streambuf class in GNU iostreams for C++.
- * These are all the same, just used differently.
- * An _IO_FILE (or FILE) object is allows followed by a pointer to
- * a jump table (of pointers to functions). The pointer is accessed
- * with the _IO_JUMPS macro. The jump table has a eccentric format,
- * so as to be compatible with the layout of a C++ virtual function table.
- * (as implemented by g++). When a pointer to a streambuf object is
- * coerced to an (_IO_FILE*), then _IO_JUMPS on the result just
- * happens to point to the virtual function table of the streambuf.
- * Thus the _IO_JUMPS function table used for C stdio/libio does
- * double duty as the virtual function table for C++ streambuf.
- *
- * The entries in the _IO_JUMPS function table (and hence also the
- * virtual functions of a streambuf) are described below.
- * The first parameter of each function entry is the _IO_FILE/streambuf
- * object being acted on (i.e. the 'this' parameter).
- */
-
-#define _IO_JUMPS(THIS) ((struct _IO_FILE_plus *) (THIS))->vtable
-#ifdef _G_USING_THUNKS
-# define JUMP_FIELD(TYPE, NAME) TYPE NAME
-# define JUMP0(FUNC, THIS) _IO_JUMPS(THIS)->FUNC (THIS)
-# define JUMP1(FUNC, THIS, X1) _IO_JUMPS(THIS)->FUNC (THIS, X1)
-# define JUMP2(FUNC, THIS, X1, X2) _IO_JUMPS(THIS)->FUNC (THIS, X1, X2)
-# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS(THIS)->FUNC (THIS, X1,X2, X3)
-# define JUMP_INIT(NAME, VALUE) VALUE
-# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0), JUMP_INIT (dummy2, 0)
-#else
-/* These macros will change when we re-implement vtables to use "thunks"! */
-# define JUMP_FIELD(TYPE, NAME) struct { short delta1, delta2; TYPE pfn; } NAME
-# define JUMP0(FUNC, THIS) _IO_JUMPS(THIS)->FUNC.pfn (THIS)
-# define JUMP1(FUNC, THIS, X1) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1)
-# define JUMP2(FUNC, THIS, X1, X2) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1, X2)
-# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1,X2,X3)
-# define JUMP_INIT(NAME, VALUE) {0, 0, VALUE}
-# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0)
-#endif
-
-/* The 'finish' function does any final cleaning up of an _IO_FILE object.
- It does not delete (free) it, but does everything else to finalize it/
- It matches the streambuf::~streambuf virtual destructor. */
-typedef void (*_IO_finish_t) __PMT ((_IO_FILE *, int)); /* finalize */
-#define _IO_FINISH(FP) JUMP1 (__finish, FP, 0)
-
-/* The 'overflow' hook flushes the buffer.
- The second argument is a character, or EOF.
- It matches the streambuf::overflow virtual function. */
-typedef int (*_IO_overflow_t) __PMT ((_IO_FILE *, int));
-#define _IO_OVERFLOW(FP, CH) JUMP1 (__overflow, FP, CH)
-
-/* The 'underflow' hook tries to fills the get buffer.
- It returns the next character (as an unsigned char) or EOF. The next
- character remains in the get buffer, and the get position is not changed.
- It matches the streambuf::underflow virtual function. */
-typedef int (*_IO_underflow_t) __PMT ((_IO_FILE *));
-#define _IO_UNDERFLOW(FP) JUMP0 (__underflow, FP)
-
-/* The 'uflow' hook returns the next character in the input stream
- (cast to unsigned char), and increments the read position;
- EOF is returned on failure.
- It matches the streambuf::uflow virtual function, which is not in the
- cfront implementation, but was added to C++ by the ANSI/ISO committee. */
-#define _IO_UFLOW(FP) JUMP0 (__uflow, FP)
-
-/* The 'pbackfail' hook handles backing up.
- It matches the streambuf::pbackfail virtual function. */
-typedef int (*_IO_pbackfail_t) __PMT ((_IO_FILE *, int));
-#define _IO_PBACKFAIL(FP, CH) JUMP1 (__pbackfail, FP, CH)
-
-/* The 'xsputn' hook writes upto N characters from buffer DATA.
- Returns the number of character actually written.
- It matches the streambuf::xsputn virtual function. */
-typedef _IO_size_t (*_IO_xsputn_t) __PMT ((_IO_FILE *FP, const void *DATA,
- _IO_size_t N));
-#define _IO_XSPUTN(FP, DATA, N) JUMP2 (__xsputn, FP, DATA, N)
-
-/* The 'xsgetn' hook reads upto N characters into buffer DATA.
- Returns the number of character actually read.
- It matches the streambuf::xsgetn virtual function. */
-typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
- _IO_size_t N));
-#define _IO_XSGETN(FP, DATA, N) JUMP2 (__xsgetn, FP, DATA, N)
-
-/* The 'seekoff' hook moves the stream position to a new position
- relative to the start of the file (if DIR==0), the current position
- (MODE==1), or the end of the file (MODE==2).
- It matches the streambuf::seekoff virtual function.
- It is also used for the ANSI fseek function. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
- int DIR, int MODE));
-#else
-typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
- int DIR, int MODE));
-#endif
-#define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
-
-/* The 'seekpos' hook also moves the stream position,
- but to an absolute position given by a fpos_t (seekpos).
- It matches the streambuf::seekpos virtual function.
- It is also used for the ANSI fgetpos and fsetpos functions. */
-/* The _IO_seek_cur and _IO_seek_end options are not allowed. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
-#else
-typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
-#endif
-#define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
-
-/* The 'setbuf' hook gives a buffer to the file.
- It matches the streambuf::setbuf virtual function. */
-typedef _IO_FILE* (*_IO_setbuf_t) __PMT ((_IO_FILE *, char *, _IO_ssize_t));
-#define _IO_SETBUF(FP, BUFFER, LENGTH) JUMP2 (__setbuf, FP, BUFFER, LENGTH)
-
-/* The 'sync' hook attempts to synchronize the internal data structures
- of the file with the external state.
- It matches the streambuf::sync virtual function. */
-typedef int (*_IO_sync_t) __PMT ((_IO_FILE *));
-#define _IO_SYNC(FP) JUMP0 (__sync, FP)
-
-/* The 'doallocate' hook is used to tell the file to allocate a buffer.
- It matches the streambuf::doallocate virtual function, which is not
- in the ANSI/ISO C++ standard, but is part traditional implementations. */
-typedef int (*_IO_doallocate_t) __PMT ((_IO_FILE *));
-#define _IO_DOALLOCATE(FP) JUMP0 (__doallocate, FP)
-
-/* The following four hooks (sysread, syswrite, sysclose, sysseek, and
- sysstat) are low-level hooks specific to this implementation.
- There is no correspondence in the ANSI/ISO C++ standard library.
- The hooks basically correspond to the Unix system functions
- (read, write, close, lseek, and stat) except that a _IO_FILE*
- parameter is used instead of a integer file descriptor; the default
- implementation used for normal files just calls those functions.
- The advantage of overriding these functions instead of the higher-level
- ones (underflow, overflow etc) is that you can leave all the buffering
- higher-level functions. */
-
-/* The 'sysread' hook is used to read data from the external file into
- an existing buffer. It generalizes the Unix read(2) function.
- It matches the streambuf::sys_read virtual function, which is
- specific to this implementation. */
-typedef _IO_ssize_t (*_IO_read_t) __PMT ((_IO_FILE *, void *, _IO_ssize_t));
-#define _IO_SYSREAD(FP, DATA, LEN) JUMP2 (__read, FP, DATA, LEN)
-
-/* The 'syswrite' hook is used to write data from an existing buffer
- to an external file. It generalizes the Unix write(2) function.
- It matches the streambuf::sys_write virtual function, which is
- specific to this implementation. */
-typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *,const void *,_IO_ssize_t));
-#define _IO_SYSWRITE(FP, DATA, LEN) JUMP2 (__write, FP, DATA, LEN)
-
-/* The 'sysseek' hook is used to re-position an external file.
- It generalizes the Unix lseek(2) function.
- It matches the streambuf::sys_seek virtual function, which is
- specific to this implementation. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
-#else
-typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
-#endif
-#define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
-
-/* The 'sysclose' hook is used to finalize (close, finish up) an
- external file. It generalizes the Unix close(2) function.
- It matches the streambuf::sys_close virtual function, which is
- specific to this implementation. */
-typedef int (*_IO_close_t) __PMT ((_IO_FILE *)); /* finalize */
-#define _IO_SYSCLOSE(FP) JUMP0 (__close, FP)
-
-/* The 'sysstat' hook is used to get information about an external file
- into a struct stat buffer. It generalizes the Unix fstat(2) call.
- It matches the streambuf::sys_stat virtual function, which is
- specific to this implementation. */
-typedef int (*_IO_stat_t) __PMT ((_IO_FILE *, void *));
-#define _IO_SYSSTAT(FP, BUF) JUMP1 (__stat, FP, BUF)
-
-#if _G_IO_IO_FILE_VERSION == 0x20001
-/* The 'showmany' hook can be used to get an image how much input is
- available. In many cases the answer will be 0 which means unknown
- but some cases one can provide real information. */
-typedef int (*_IO_showmanyc_t) __PMT ((_IO_FILE *));
-#define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP)
-
-/* The 'imbue' hook is used to get information about the currently
- installed locales. */
-typedef void (*_IO_imbue_t) __PMT ((_IO_FILE *, void *));
-#define _IO_IMBUE(FP, LOCALE) JUMP1 (__imbue, FP, LOCALE)
-#endif
-
-
-#define _IO_CHAR_TYPE char /* unsigned char ? */
-#define _IO_INT_TYPE int
-
-struct _IO_jump_t
-{
- JUMP_FIELD(_G_size_t, __dummy);
-#ifdef _G_USING_THUNKS
- JUMP_FIELD(_G_size_t, __dummy2);
-#endif
- JUMP_FIELD(_IO_finish_t, __finish);
- JUMP_FIELD(_IO_overflow_t, __overflow);
- JUMP_FIELD(_IO_underflow_t, __underflow);
- JUMP_FIELD(_IO_underflow_t, __uflow);
- JUMP_FIELD(_IO_pbackfail_t, __pbackfail);
- /* showmany */
- JUMP_FIELD(_IO_xsputn_t, __xsputn);
- JUMP_FIELD(_IO_xsgetn_t, __xsgetn);
- JUMP_FIELD(_IO_seekoff_t, __seekoff);
- JUMP_FIELD(_IO_seekpos_t, __seekpos);
- JUMP_FIELD(_IO_setbuf_t, __setbuf);
- JUMP_FIELD(_IO_sync_t, __sync);
- JUMP_FIELD(_IO_doallocate_t, __doallocate);
- JUMP_FIELD(_IO_read_t, __read);
- JUMP_FIELD(_IO_write_t, __write);
- JUMP_FIELD(_IO_seek_t, __seek);
- JUMP_FIELD(_IO_close_t, __close);
- JUMP_FIELD(_IO_stat_t, __stat);
-#if _G_IO_IO_FILE_VERSION == 0x20001
- JUMP_FIELD(_IO_showmanyc_t, __showmanyc);
- JUMP_FIELD(_IO_imbue_t, __imbue);
-#endif
-#if 0
- get_column;
- set_column;
-#endif
-};
-
-/* We always allocate an extra word following an _IO_FILE.
- This contains a pointer to the function jump table used.
- This is for compatibility with C++ streambuf; the word can
- be used to smash to a pointer to a virtual function table. */
-
-struct _IO_FILE_plus
-{
- _IO_FILE file;
- const struct _IO_jump_t *vtable;
-};
-
-/* Generic functions */
-
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-
-extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
-extern void _IO_switch_to_backup_area __P ((_IO_FILE *));
-extern int _IO_switch_to_get_mode __P ((_IO_FILE *));
-extern void _IO_init __P ((_IO_FILE *, int));
-extern int _IO_sputbackc __P ((_IO_FILE *, int));
-extern int _IO_sungetc __P ((_IO_FILE *));
-extern void _IO_un_link __P ((_IO_FILE *));
-extern void _IO_link_in __P ((_IO_FILE *));
-extern void _IO_doallocbuf __P ((_IO_FILE *));
-extern void _IO_unsave_markers __P ((_IO_FILE *));
-extern void _IO_setb __P ((_IO_FILE *, char *, char *, int));
-extern unsigned _IO_adjust_column __P ((unsigned, const char *, int));
-#define _IO_sputn(__fp, __s, __n) _IO_XSPUTN (__fp, __s, __n)
-
-/* Marker-related function. */
-
-extern void _IO_init_marker __P ((struct _IO_marker *, _IO_FILE *));
-extern void _IO_remove_marker __P ((struct _IO_marker *));
-extern int _IO_marker_difference __P ((struct _IO_marker *,
- struct _IO_marker *));
-extern int _IO_marker_delta __P ((struct _IO_marker *));
-extern int _IO_seekmark __P ((_IO_FILE *, struct _IO_marker *, int));
-
-/* Default jumptable functions. */
-
-extern int _IO_default_underflow __P ((_IO_FILE *));
-extern int _IO_default_uflow __P ((_IO_FILE *));
-extern int _IO_default_doallocate __P ((_IO_FILE *));
-extern void _IO_default_finish __P ((_IO_FILE *, int));
-extern int _IO_default_pbackfail __P ((_IO_FILE *, int));
-extern _IO_FILE* _IO_default_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
-extern _IO_size_t _IO_default_xsputn __P ((_IO_FILE *, const void *,
- _IO_size_t));
-extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
- _IO_off64_t, int, int));
-extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
- _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
-extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
-extern int _IO_default_stat __P ((_IO_FILE *, void *));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern int _IO_default_sync __P ((_IO_FILE *));
-#define _IO_default_close ((_IO_close_t) _IO_default_sync)
-
-extern struct _IO_jump_t _IO_file_jumps;
-extern struct _IO_jump_t _IO_streambuf_jumps;
-extern struct _IO_jump_t _IO_proc_jumps;
-extern struct _IO_jump_t _IO_str_jumps;
-extern int _IO_do_write __P ((_IO_FILE *, const char *, _IO_size_t));
-extern int _IO_flush_all __P ((void));
-extern void _IO_cleanup __P ((void));
-extern void _IO_flush_all_linebuffered __P ((void));
-
-#define _IO_do_flush(_f) \
- _IO_do_write(_f, (_f)->_IO_write_base, \
- (_f)->_IO_write_ptr-(_f)->_IO_write_base)
-#define _IO_in_put_mode(_fp) ((_fp)->_flags & _IO_CURRENTLY_PUTTING)
-#define _IO_mask_flags(fp, f, mask) \
- ((fp)->_flags = ((fp)->_flags & ~(mask)) | ((f) & (mask)))
-#define _IO_setg(fp, eb, g, eg) ((fp)->_IO_read_base = (eb),\
- (fp)->_IO_read_ptr = (g), (fp)->_IO_read_end = (eg))
-#define _IO_setp(__fp, __p, __ep) \
- ((__fp)->_IO_write_base = (__fp)->_IO_write_ptr = __p, (__fp)->_IO_write_end = (__ep))
-#define _IO_have_backup(fp) ((fp)->_IO_save_base != NULL)
-#define _IO_in_backup(fp) ((fp)->_flags & _IO_IN_BACKUP)
-#define _IO_have_markers(fp) ((fp)->_markers != NULL)
-#define _IO_blen(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base)
-
-/* Jumptable functions for files. */
-
-extern int _IO_file_doallocate __P ((_IO_FILE *));
-extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
-extern int _IO_file_stat __P ((_IO_FILE *, void *));
-extern int _IO_file_close __P ((_IO_FILE *));
-extern int _IO_file_underflow __P ((_IO_FILE *));
-extern int _IO_file_overflow __P ((_IO_FILE *, int));
-#define _IO_file_is_open(__fp) ((__fp)->_fileno >= 0)
-extern void _IO_file_init __P ((_IO_FILE *));
-extern _IO_FILE* _IO_file_attach __P ((_IO_FILE *, int));
-extern _IO_FILE* _IO_file_open __P ((_IO_FILE *, const char *, int, int,
- int, int));
-#if _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *,
- int));
-#else
-extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *));
-#endif
-extern _IO_ssize_t _IO_file_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
-extern _IO_ssize_t _IO_file_read __P ((_IO_FILE *, void *, _IO_ssize_t));
-extern int _IO_file_sync __P ((_IO_FILE *));
-extern int _IO_file_close_it __P ((_IO_FILE *));
-extern void _IO_file_finish __P ((_IO_FILE *, int));
-
-/* Jumptable functions for proc_files. */
-extern _IO_FILE* _IO_proc_open __P ((_IO_FILE *, const char *, const char *));
-extern int _IO_proc_close __P ((_IO_FILE *));
-
-/* Jumptable functions for strfiles. */
-extern int _IO_str_underflow __P ((_IO_FILE *));
-extern int _IO_str_overflow __P ((_IO_FILE *, int));
-extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-#else
-extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-#endif
-extern void _IO_str_finish __P ((_IO_FILE *, int));
-
-/* Other strfile functions */
-extern void _IO_str_init_static __P ((_IO_FILE *, char *, int, char *));
-extern void _IO_str_init_readonly __P ((_IO_FILE *, const char *, int));
-extern _IO_ssize_t _IO_str_count __P ((_IO_FILE *));
-
-extern int _IO_vasprintf __P ((char **result_ptr, __const char *format,
- _IO_va_list args));
-extern int _IO_vdprintf __P ((int d, __const char *format, _IO_va_list arg));
-extern int _IO_vsnprintf __P ((char *string, _IO_size_t maxlen,
- __const char *format, _IO_va_list args));
-
-
-extern _IO_size_t _IO_getline __P ((_IO_FILE *,char *, _IO_size_t, int, int));
-extern _IO_size_t _IO_getline_info __P ((_IO_FILE *,char *, _IO_size_t,
- int, int, int *));
-extern _IO_ssize_t _IO_getdelim __P ((char **, _IO_size_t *, int, _IO_FILE *));
-extern double _IO_strtod __P ((const char *, char **));
-extern char *_IO_dtoa __P ((double __d, int __mode, int __ndigits,
- int *__decpt, int *__sign, char **__rve));
-extern int _IO_outfloat __P ((double __value, _IO_FILE *__sb, int __type,
- int __width, int __precision, int __flags,
- int __sign_mode, int __fill));
-
-extern _IO_FILE *_IO_list_all;
-extern void (*_IO_cleanup_registration_needed) __PMT ((void));
-
-#ifndef EOF
-# define EOF (-1)
-#endif
-#ifndef NULL
-# if defined __GNUG__ && \
- (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
-# define NULL (__null)
-# else
-# if !defined(__cplusplus)
-# define NULL ((void*)0)
-# else
-# define NULL (0)
-# endif
-# endif
-#endif
-
-#if _G_HAVE_MMAP
-
-# include <unistd.h>
-# include <fcntl.h>
-# include <sys/mman.h>
-# include <sys/param.h>
-
-# if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
-# define MAP_ANONYMOUS MAP_ANON
-# endif
-
-# if !defined(MAP_ANONYMOUS) || !defined(EXEC_PAGESIZE)
-# undef _G_HAVE_MMAP
-# define _G_HAVE_MMAP 0
-# endif
-
-#endif /* _G_HAVE_MMAP */
-
-#if _G_HAVE_MMAP
-
-# ifdef _LIBC
-/* When using this code in the GNU libc we must not pollute the name space. */
-# define mmap __mmap
-# define munmap __munmap
-# endif
-
-# define ROUND_TO_PAGE(_S) \
- (((_S) + EXEC_PAGESIZE - 1) & ~(EXEC_PAGESIZE - 1))
-
-# define FREE_BUF(_B, _S) \
- munmap ((_B), ROUND_TO_PAGE (_S))
-# define ALLOC_BUF(_B, _S, _R) \
- do { \
- (_B) = (char *) mmap (0, ROUND_TO_PAGE (_S), \
- PROT_READ | PROT_WRITE, \
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); \
- if ((_B) == (char *) -1) \
- return (_R); \
- } while (0)
-
-#else /* _G_HAVE_MMAP */
-
-# define FREE_BUF(_B, _S) \
- free(_B)
-# define ALLOC_BUF(_B, _S, _R) \
- do { \
- (_B) = (char*)malloc(_S); \
- if ((_B) == NULL) \
- return (_R); \
- } while (0)
-
-#endif /* _G_HAVE_MMAP */
-
-#ifndef OS_FSTAT
-# define OS_FSTAT fstat
-#endif
-struct stat;
-extern _IO_ssize_t _IO_read __P ((int, void *, _IO_size_t));
-extern _IO_ssize_t _IO_write __P ((int, const void *, _IO_size_t));
-extern _IO_off_t _IO_lseek __P ((int, _IO_off_t, int));
-extern int _IO_close __P ((int));
-extern int _IO_fstat __P ((int, struct stat *));
-extern int _IO_vscanf __P ((const char *, _IO_va_list));
-
-/* Operations on _IO_fpos_t.
- Normally, these are trivial, but we provide hooks for configurations
- where an _IO_fpos_t is a struct.
- Note that _IO_off_t must be an integral type. */
-
-/* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
-#ifndef _IO_pos_BAD
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_BAD ((_IO_off64_t) -1)
-# else
-# define _IO_pos_BAD ((_IO_off_t) -1)
-# endif
-#endif
-/* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
-#ifndef _IO_pos_as_off
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_as_off(__pos) ((_IO_off64_t) (__pos))
-# else
-# define _IO_pos_as_off(__pos) ((_IO_off_t) (__pos))
-# endif
-#endif
-/* _IO_pos_adjust adjust an _IO_fpos_t by some number of bytes. */
-#ifndef _IO_pos_adjust
-# define _IO_pos_adjust(__pos, __delta) ((__pos) += (__delta))
-#endif
-/* _IO_pos_0 is an _IO_fpos_t value indicating beginning of file. */
-#ifndef _IO_pos_0
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_0 ((_IO_fpos64_t) 0)
-# else
-# define _IO_pos_0 ((_IO_fpos_t) 0)
-# endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef _IO_MTSAFE_IO
-/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
- { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, \
- 0, 0, 0, 0, { 0 }, &_IO_stdfile_##FD##_lock }
-#else
-/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
- { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD }
-#endif
-
-/* VTABLE_LABEL defines NAME as of the CLASS class.
- CNLENGTH is strlen(#CLASS). */
-#ifdef __GNUC__
-# if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
-# if _G_VTABLE_LABEL_HAS_LENGTH
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CNLENGTH #CLASS);
-# else
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CLASS);
-# endif
-# else
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm ("_ZTV" #CNLENGTH #CLASS);
-# endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
-#endif /* __GNUC__ */
-
-#if !defined(builtinbuf_vtable) && defined(__cplusplus)
-# ifdef __GNUC__
-VTABLE_LABEL(builtinbuf_vtable, builtinbuf, 10)
-# else
-# if _G_VTABLE_LABEL_HAS_LENGTH
-# define builtinbuf_vtable _G_VTABLE_LABEL_PREFIX_ID##10builtinbuf
-# else
-# define builtinbuf_vtable _G_VTABLE_LABEL_PREFIX_ID##builtinbuf
-# endif
-# endif
-#endif /* !defined(builtinbuf_vtable) && defined(__cplusplus) */
-
-#if defined(__STDC__) || defined(__cplusplus)
-# define _IO_va_start(args, last) va_start(args, last)
-#else
-# define _IO_va_start(args, last) va_start(args)
-#endif
-
-extern struct _IO_fake_stdiobuf _IO_stdin_buf, _IO_stdout_buf, _IO_stderr_buf;
-
-#if 1
-# define COERCE_FILE(FILE) /* Nothing */
-#else
-/* This is part of the kludge for binary compatibility with old stdio. */
-# define COERCE_FILE(FILE) \
- (((FILE)->_IO_file_flags & _IO_MAGIC_MASK) == _OLD_MAGIC_MASK \
- && (FILE) = *(FILE**)&((int*)fp)[1])
-#endif
-
-#ifdef EINVAL
-# define MAYBE_SET_EINVAL __set_errno (EINVAL)
-#else
-# define MAYBE_SET_EINVAL /* nothing */
-#endif
-
-#ifdef IO_DEBUG
-# define CHECK_FILE(FILE, RET) \
- if ((FILE) == NULL) { MAYBE_SET_EINVAL; return RET; } \
- else { COERCE_FILE(FILE); \
- if (((FILE)->_IO_file_flags & _IO_MAGIC_MASK) != _IO_MAGIC) \
- { MAYBE_SET_EINVAL; return RET; }}
-#else
-# define CHECK_FILE(FILE, RET) COERCE_FILE (FILE)
-#endif
diff --git a/sys-build/gcc/gcc-2.95.2-r4.ebuild b/sys-build/gcc/gcc-2.95.2-r4.ebuild
deleted file mode 100644
index 85446cb5e974..000000000000
--- a/sys-build/gcc/gcc-2.95.2-r4.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/gcc/gcc-2.95.2-r4.ebuild,v 1.3 2001/01/27 14:41:34 achim Exp $
-
-P=gcc-2.95.2
-A="gcc-2.95.2.tar.gz
- libg++-2.8.1.3.tar.gz
- libg++-2.8.1.3-20000312.diff.gz
- libg++-2.8.1.3-20000419.diff.gz
- libg++-2.8.1.3-20000816.diff.gz
- libg++-2.8.1.3-20000914.diff.gz"
-
-A0=gcc-2.95.2.dif.gz
-A1=gcc-exception-fix.diff.gz
-A2=gcc-accept-doublecolon.diff.gz
-A3=gcc-glibc-2.2-compat.diff
-S=${WORKDIR}/gcc-2.95.2
-T=/usr
-
-DESCRIPTION="modern gcc c/c++ compiler"
-
-SRC_URI="ftp://prep.ai.mit.edu/gnu/gcc/gcc-2.95.2.tar.gz
- ftp://gatekeeper.dec.com/pub/GNU/gcc/gcc-2.95.2.tar.gz
- ftp://sourceware.cygnus.com/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://sourceware.cygnus.com/pub/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000914.diff.gz"
-
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-src_unpack() {
- unpack gcc-2.95.2.tar.gz
- unpack libg++-2.8.1.3.tar.gz
- cd ${S}/../libg++-2.8.1.3
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000312.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000419.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000816.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000914.diff.gz | patch -p1
- einfo "Moving trees"
- cd ${S}
- #rm -rf texinfo
- mv ../libg++-2.8.1.3/* .
- rmdir ../libg++-2.8.1.3
- zcat ${FILESDIR}/${A0} | patch -p0
- zcat ${FILESDIR}/${A1} | patch -p0
- zcat ${FILESDIR}/${A2} | patch -p0
- patch -p0 < ${FILESDIR}/${A3}
-}
-
-src_compile() {
- cd ${S}
- #i586a doesn't like optimization?
- try ${S}/configure --prefix=${T} --enable-version-specific-runtime-libs \
- --host=${CHOST} --with-local-prefix=${T}/local \
- --disable-nls --enable-threads \
- --enable-languages=c,c++
- # Parallel build does not work
- try make LDFLAGS=-static bootstrap
- cd ${§}/texinfo/util
- make texindex install-info
-}
-
-src_install() {
-
- try make install prefix=${D}${T} mandir=${D}${T}/man
- cd texinfo
- dobin makeinfo/makeinfo util/texi2dvi util/install-info util/texindex
- FULLPATH=${D}${T}/lib/gcc-lib/${CHOST}/${PV}
- cd ${FULLPATH}
- dodir /lib
- dosym ${T}/lib/gcc-lib/${CHOST}/${PV}/cpp /lib/cpp
- dosym /usr/bin/gcc /usr/bin/cc
- rm -rf ${D}/usr/info ${D}/usr/man
-}
-
-
-
-
-
diff --git a/sys-build/glibc/files/digest-glibc-2.2.1 b/sys-build/glibc/files/digest-glibc-2.2.1
deleted file mode 100644
index 7b9682289a38..000000000000
--- a/sys-build/glibc/files/digest-glibc-2.2.1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 5fda58bc58a2e7b5a818994b5d1445c3 glibc-2.2.1.tar.gz
-MD5 0963a626c6f4dc0c9871f60931643f5a glibc-linuxthreads-2.2.1.tar.gz
diff --git a/sys-build/glibc/glibc-2.2.1.ebuild b/sys-build/glibc/glibc-2.2.1.ebuild
deleted file mode 100644
index 6a2f04810547..000000000000
--- a/sys-build/glibc/glibc-2.2.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/glibc/glibc-2.2.1.ebuild,v 1.4 2001/02/15 18:17:31 achim Exp $
-
-A="$P.tar.gz glibc-linuxthreads-${PV}.tar.gz"
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU libc6 (also called glibc2) C library"
-SRC_URI="ftp://sourceware.cygnus.com/pub/glibc/releases/glibc-${PV}.tar.gz
- ftp://sourceware.cygnus.com/pub/glibc/releases/glibc-linuxthreads-${PV}.tar.gz
- ftp://ftp.unina.it/pub/Unix/cygnus/glibc/releases/glibc-${PV}.tar.gz
- ftp://ftp.unina.it/pub/Unix/cygnus/glibc/releases/glibc-linuxthreads-${PV}.tar.gz
- ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.gz
- ftp://ftp.gnu.org/pub/gnu/glibc/glibc-linuxthreads-${PV}.tar.gz"
-HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
-DEPEND=""
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-PROVIDE="virtual/glibc"
-
-src_compile() {
-
- rm -rf buildhere
- mkdir buildhere
- cd buildhere
- try ../configure --host=${CHOST} --without-cvs \
- --enable-add-ons=linuxthreads \
- --disable-profile --prefix=/usr \
- --libexecdir=/usr/lib/misc
- --enable-kernel=2.4.0 \
- --with-headers=${ROOT}/usr/include
- cp config.make config.orig
- sed -e "s:^LIBGD =.*:LIBGD = no:" config.orig > config.make
- try make PARALLELMFLAGS=${MAKEOPTS}
-
-}
-
-src_unpack() {
- unpack glibc-${PV}.tar.gz
- cd ${S}
- unpack glibc-linuxthreads-${PV}.tar.gz
-# patch -p1 < ${FILESDIR}/glibc-2.2-ldconfig.patch
-}
-
-src_install() {
- cd ${S}
- try make install_root=${D} install -C buildhere
-# try make install_root=${D} localedata/install-locales -C buildhere
- chmod 755 ${D}/usr/lib/misc/pt_chown
- rm -rf ${D}/usr/info
-}
-
-
-
diff --git a/sys-build/grep/files/digest-grep-2.4.2-r1 b/sys-build/grep/files/digest-grep-2.4.2-r1
deleted file mode 100644
index 10f2f727a071..000000000000
--- a/sys-build/grep/files/digest-grep-2.4.2-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8ec9a2e875cd3aaa89896a8f39249f58 grep-2.4.2.tar.gz
diff --git a/sys-build/grep/grep-2.4.2-r1.ebuild b/sys-build/grep/grep-2.4.2-r1.ebuild
deleted file mode 100644
index c888d02c940e..000000000000
--- a/sys-build/grep/grep-2.4.2-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/grep/grep-2.4.2-r1.ebuild,v 1.2 2001/01/27 22:04:24 achim Exp $
-
-P=grep-2.4.2
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU regular expression matcher"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/grep/${A}
- ftp://prep.ai.mit.edu/gnu/grep/${A}"
-HOMEPAGE="http://www.gnu.org/software/grep/grep.html"
-DEPEND="virtual/glibc"
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} --disable-nls
- try make LDFLAGS=-static ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/man ${D}/usr/info
-}
-
-
-
diff --git a/sys-build/gzip/files/digest-gzip-1.2.4a-r1 b/sys-build/gzip/files/digest-gzip-1.2.4a-r1
deleted file mode 100644
index 60ae475bc42e..000000000000
--- a/sys-build/gzip/files/digest-gzip-1.2.4a-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 39053e044b18ecd0627f80fbe7cfeaad gzip-1.2.4a.tar.gz
diff --git a/sys-build/gzip/gzip-1.2.4a-r1.ebuild b/sys-build/gzip/gzip-1.2.4a-r1.ebuild
deleted file mode 100644
index d3bf5e31b7c1..000000000000
--- a/sys-build/gzip/gzip-1.2.4a-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/gzip/gzip-1.2.4a-r1.ebuild,v 1.2 2001/02/15 18:17:31 achim Exp $
-
-P=gzip-1.2.4a
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard GNU compressor"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gzip/${A}
- ftp://prep.ai.mit.edu/gnu/gzip/${A}"
-HOMEPAGE="http://www.gnu.org/software/gzip/gzip.html"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr --disable-nls
- try pmake LDFLAGS=-static ${MAKEOPTS}
-}
-
-src_install() {
- dodir /usr/bin
- try make prefix=${D}/usr exec_prefix=${D}/ install
- cd ${D}/bin
- for i in gzexe zforce zgrep zmore znew zcmp
- do
- cp ${i} ${i}.orig
- sed -e "1d" -e "s:${D}::" ${i}.orig > ${i}
- rm ${i}.orig
- chmod 755 ${i}
- done
- rm -rf ${D}/usr
-}
-
-
-
-
diff --git a/sys-build/make/files/digest-make-3.79.1-r1 b/sys-build/make/files/digest-make-3.79.1-r1
deleted file mode 100644
index 1445b8cf0490..000000000000
--- a/sys-build/make/files/digest-make-3.79.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 22ea95c125c7b80e04354d4ee4ae960d make-3.79.1.tar.gz
diff --git a/sys-build/make/make-3.79.1-r1.ebuild b/sys-build/make/make-3.79.1-r1.ebuild
deleted file mode 100644
index a411e503384c..000000000000
--- a/sys-build/make/make-3.79.1-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/make/make-3.79.1-r1.ebuild,v 1.2 2001/02/15 18:17:32 achim Exp $
-
-P=make-3.79.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard tool to compile source trees"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/make/${A}
- ftp://prep.ai.mit.edu/gnu/make/${A}"
-HOMEPAGE="http://www.gnu.org/software/make/make.html"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
-
- dobin make
-}
-
-
-
diff --git a/sys-build/patch/files/digest-patch-2.5.4-r1 b/sys-build/patch/files/digest-patch-2.5.4-r1
deleted file mode 100644
index 528dd04a27b6..000000000000
--- a/sys-build/patch/files/digest-patch-2.5.4-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 ee5ae84d115f051d87fcaaef3b4ae782 patch-2.5.4.tar.gz
diff --git a/sys-build/patch/patch-2.5.4-r1.ebuild b/sys-build/patch/patch-2.5.4-r1.ebuild
deleted file mode 100644
index 71b6bb6e6618..000000000000
--- a/sys-build/patch/patch-2.5.4-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/patch/patch-2.5.4-r1.ebuild,v 1.2 2001/02/15 18:17:32 achim Exp $
-
-P=patch-2.5.4
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Utility to apply diffs to files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/patch/${A}
- ftp://ftp.gnu.org/gnu/patch/${A}"
-HOMEPAGE="http://www.gnu.org/software/patch/patch.html"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/man
-}
-
-
-
diff --git a/sys-build/sed/files/digest-sed-3.02.80 b/sys-build/sed/files/digest-sed-3.02.80
deleted file mode 100644
index c2922128b256..000000000000
--- a/sys-build/sed/files/digest-sed-3.02.80
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3bf4f42bc0a5f9345a7586a73be3df79 sed-3.02.80.tar.gz
diff --git a/sys-build/sed/sed-3.02.80.ebuild b/sys-build/sed/sed-3.02.80.ebuild
deleted file mode 100644
index 5f6e0c8e25cf..000000000000
--- a/sys-build/sed/sed-3.02.80.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/sed/sed-3.02.80.ebuild,v 1.2 2001/02/15 18:17:32 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Super-useful stream editor"
-SRC_URI="ftp://alpha.gnu.org/pub/gnu/sed/${A}"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
- into /usr
- dobin sed/sed
-}
-
diff --git a/sys-build/sh-utils/files/digest-sh-utils-2.0j-r1 b/sys-build/sh-utils/files/digest-sh-utils-2.0j-r1
deleted file mode 100644
index bc4f2b097953..000000000000
--- a/sys-build/sh-utils/files/digest-sh-utils-2.0j-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 82087d6cc313189c312a0cf8ef875a2c sh-utils-2.0j.tar.gz
diff --git a/sys-build/sh-utils/sh-utils-2.0j-r1.ebuild b/sys-build/sh-utils/sh-utils-2.0j-r1.ebuild
deleted file mode 100644
index eacff1bee925..000000000000
--- a/sys-build/sh-utils/sh-utils-2.0j-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/sh-utils/sh-utils-2.0j-r1.ebuild,v 1.3 2001/02/15 18:17:32 achim Exp $
-
-P=sh-utils-2.0j
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Your standard GNU shell utilities"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-
-src_unpack() {
- unpack ${A}
- cd ${S}/src
- cp sys2.h sys2.h.orig
- sed -e "s:^char \*strndup://:" sys2.h.orig > sys2.h
-}
-
-src_compile() {
- export CFLAGS="${CFLAGS}"
- try ./configure --host=${CHOST} --build=${CHOST} --prefix=/usr \
- --without-included-regex --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
- try make prefix=${D}/usr install
- cd ${D}/usr/bin
- dodir /bin
- mv date echo false pwd stty su true uname hostname ${D}/bin
- rm -rf ${D}/usr/lib ${D}/usr/man ${D}/usr/info
-
-}
-
-
-
diff --git a/sys-build/spython/files/digest-spython-2.0-r1 b/sys-build/spython/files/digest-spython-2.0-r1
deleted file mode 100644
index d5edd17f12a5..000000000000
--- a/sys-build/spython/files/digest-spython-2.0-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 4751f4619eda0b5ade9d9dd017e7c1ef BeOpen-Python-2.0.tar.bz2
-MD5 7c99113a11b03599d8494638f6d90b56 python-fchksum-1.1.tar.gz
diff --git a/sys-build/spython/files/pfconfig.h b/sys-build/spython/files/pfconfig.h
deleted file mode 100644
index 6b0d4db091b0..000000000000
--- a/sys-build/spython/files/pfconfig.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* pfconfig.h. Generated automatically by configure. */
-/* pfconfig.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-/* #undef const */
-
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-/* #undef size_t */
-
-/* Define if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define if you have the <endian.h> header file. */
-#define HAVE_ENDIAN_H 1
-
-/* Define if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
diff --git a/sys-build/spython/spython-2.0-r1.ebuild b/sys-build/spython/spython-2.0-r1.ebuild
deleted file mode 100644
index 9a1ee0306cce..000000000000
--- a/sys-build/spython/spython-2.0-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/spython/spython-2.0-r1.ebuild,v 1.2 2001/02/15 18:17:32 achim Exp $
-
-S=${WORKDIR}/Python-2.0
-S2=${WORKDIR}/python-fchksum-1.1
-DESCRIPTION="A really great language -- minimalist python environment"
-SRC_URI="http://www.python.org/ftp/python/src/BeOpen-Python-2.0.tar.bz2
- http://www.azstarnet.com/~donut/programs/fchksum/python-fchksum-1.1.tar.gz"
-
-HOMEPAGE="http://www.python.org http://www.azstarnet.com/~donut/programs/fchksum/"
-
-src_unpack() {
- unpack BeOpen-Python-2.0.tar.bz2
- cd ${S}/Modules
- sed -e 's:#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz:zlib zlibmodule.c -lz:' -e 's:#\*shared\*:\*static\*:' -e 's:^TKPATH=\:lib-tk:#TKPATH:' Setup.in > Setup
- echo "fchksum fchksum.c md5_2.c" >> Setup
- cd ${S}/Modules
-
- cp ${FILESDIR}/pfconfig.h .
- unpack python-fchksum-1.1.tar.gz
-
- cd python-fchksum-1.1
- mv md5.h ../md5_2.h
- sed -e 's:"md5.h":"md5_2.h":' md5.c > ../md5_2.c
- sed -e 's:"md5.h":"md5_2.h":' fchksum.c > ../fchksum.c
-
- #for some reason, python 2.0 can't find /usr/lib/python2.0 without this fix to the source code.
- cd ${S}/Python
- cp pythonrun.c pythonrun.c.orig
- sed -e 's:static char \*default_home = NULL:static char \*default_home = "/usr":' pythonrun.c.orig > pythonrun.c
-}
-
-src_compile() {
- cd ${S}
- export LDFLAGS=-static
- try ./configure --prefix=/usr --without-libdb
- #libdb3 support is available from http://pybsddb.sourceforge.net/; the one
- #included with python is for db 1.85 only.
- cp Makefile Makefile.orig
- sed -e "s/-g -O2/${CFLAGS}/" Makefile.orig > Makefile
- cd ${S}/Modules
- cp Makefile.pre Makefile.orig
- sed -e "s:MODOBJS=:MODOBJS=fchksum.o md5_2.o:" \
- Makefile.orig > Makefile.pre
-
- # Parallel make does not work
- cd ${S}
- try make
-}
-
-src_install() {
- dodir /usr
- try make install prefix=${D}/usr
- rm ${D}/usr/bin/python
- mv ${D}/usr/bin/python2.0 ${D}/usr/bin/spython
- rm -rf ${D}/usr/man
-}
diff --git a/sys-build/tar/files/digest-tar-1.13.18-r1 b/sys-build/tar/files/digest-tar-1.13.18-r1
deleted file mode 100644
index 49952d6234f7..000000000000
--- a/sys-build/tar/files/digest-tar-1.13.18-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 fd76b10a8e57cb944f0b2c9cb8bf742b tar-1.13.18.tar.gz
diff --git a/sys-build/tar/tar-1.13.18-r1.ebuild b/sys-build/tar/tar-1.13.18-r1.ebuild
deleted file mode 100644
index 90cebd4a9752..000000000000
--- a/sys-build/tar/tar-1.13.18-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/tar/tar-1.13.18-r1.ebuild,v 1.2 2001/02/15 18:17:32 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-
-DESCRIPTION="Use this to try make tarballs :)"
-SRC_URI="ftp://alpha.gnu.org/gnu/tar/"${A}
-HOMEPAGE="http://www.gnu.org/software/tar/"
-
-src_compile() {
- try ./configure --prefix=/usr --libexecdir=/usr/lib/misc \
- --host=${CHOST} --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-src_install() {
- cd ${S}
- try make DESTDIR=${D} install
- mv ${D}/usr/bin ${D}
- rm -rf ${D}/usr/info
-
-}
-
-
diff --git a/sys-build/textutils/files/digest-textutils-2.0.10 b/sys-build/textutils/files/digest-textutils-2.0.10
deleted file mode 100644
index 1c652739479f..000000000000
--- a/sys-build/textutils/files/digest-textutils-2.0.10
+++ /dev/null
@@ -1 +0,0 @@
-MD5 420a7cd54d4ce4b44c412af1318f7c83 textutils-2.0.10.tar.gz
diff --git a/sys-build/textutils/textutils-2.0.10.ebuild b/sys-build/textutils/textutils-2.0.10.ebuild
deleted file mode 100644
index 1b1545f0f8d0..000000000000
--- a/sys-build/textutils/textutils-2.0.10.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-build/textutils/textutils-2.0.10.ebuild,v 1.2 2001/02/15 18:17:32 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-
-DESCRIPTION="Standard GNU text utilities"
-SRC_URI="ftp://alpha.gnu.org/gnu/fetish/${A}"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST} \
- --without-included-regex --disable-nls
- try make ${MAKEOPTS} LDFLAGS=-static
-}
-
-
-src_install() {
- try make prefix=${D}/usr install
- dodir /bin
- dosym /usr/bin/cat /bin/cat
- rm -rf ${D}/usr/lib ${D}/usr/man ${D}/usr/info
-}
-
-
-
-
diff --git a/sys-devel/autoconf/autoconf-2.13-r1.ebuild b/sys-devel/autoconf/autoconf-2.13-r1.ebuild
deleted file mode 100644
index 6ced079a2be9..000000000000
--- a/sys-devel/autoconf/autoconf-2.13-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/autoconf/autoconf-2.13-r1.ebuild,v 1.6 2001/01/27 14:41:34 achim Exp $
-
-P=autoconf-2.13
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Used to create autoconfiguration files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/autoconf/${A}
- ftp://prep.ai.mit.edu/gnu/autoconf/${A}"
-HOMEPAGE="http://www.gnu.org/software/autoconf/autoconf.html"
-DEPEND=">=sys-devel/perl-5.6"
-RDEPEND=">=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- dodoc COPYING AUTHORS ChangeLog.* NEWS README TODO
-}
-
-
diff --git a/sys-devel/autoconf/files/digest-autoconf-2.13-r1 b/sys-devel/autoconf/files/digest-autoconf-2.13-r1
deleted file mode 100644
index 8512dd0165f1..000000000000
--- a/sys-devel/autoconf/files/digest-autoconf-2.13-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 9de56d4a161a723228220b0f425dc711 autoconf-2.13.tar.gz
diff --git a/sys-devel/automake/automake-1.4-r1.ebuild b/sys-devel/automake/automake-1.4-r1.ebuild
deleted file mode 100644
index f9f93a3ae290..000000000000
--- a/sys-devel/automake/automake-1.4-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/automake-1.4-r1.ebuild,v 1.6 2001/01/27 14:41:34 achim Exp $
-
-P=automake-1.4
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Used to generate Makefile.in from Makefile.am"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/automake/${A}
- ftp://prep.ai.mit.edu/gnu/automake/${A}"
-HOMEPAGE="http://www.gnu.org/software/automake/automake.html"
-DEPEND=">=sys-devel/perl-5.6"
-RDEPEND=">=sys-apps/bash-2.04
- >=sys-devel/perl-5.6"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog
-}
-
-
diff --git a/sys-devel/automake/automake-1.4d.ebuild b/sys-devel/automake/automake-1.4d.ebuild
deleted file mode 100644
index e781040737ac..000000000000
--- a/sys-devel/automake/automake-1.4d.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/automake-1.4d.ebuild,v 1.1 2001/02/18 01:29:18 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Used to generate Makefile.in from Makefile.am"
-SRC_URI=" ftp://sourceware.cygnus.com/pub/automake/${A}"
-HOMEPAGE="http://www.gnu.org/software/automake/automake.html"
-
-DEPEND="sys-devel/perl"
-
-src_compile() {
-
- try ./configure --prefix=/usr --infodir=/usr/share/info --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- try make prefix=${D}/usr infodir=${D}/usr/share/info install
- dodoc COPYING NEWS README THANKS TODO AUTHORS ChangeLog
-
-}
-
-
diff --git a/sys-devel/automake/files/digest-automake-1.4-r1 b/sys-devel/automake/files/digest-automake-1.4-r1
deleted file mode 100644
index 68986486097c..000000000000
--- a/sys-devel/automake/files/digest-automake-1.4-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 1d483ffa4349bfc9ab8ae0de0c617c7b automake-1.4.tar.gz
diff --git a/sys-devel/automake/files/digest-automake-1.4d b/sys-devel/automake/files/digest-automake-1.4d
deleted file mode 100644
index 2ad4cf1cc40f..000000000000
--- a/sys-devel/automake/files/digest-automake-1.4d
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8e53f422f9e83191f3a0f65e43cf6ab1 automake-1.4d.tar.gz
diff --git a/sys-devel/bc/bc-1.06.ebuild b/sys-devel/bc/bc-1.06.ebuild
deleted file mode 100644
index 785c3216ef5b..000000000000
--- a/sys-devel/bc/bc-1.06.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/bc/bc-1.06.ebuild,v 1.2 2000/11/30 23:15:06 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Handy console-based calculator utility"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/bc/${A}
- ftp://prep.ai.mit.edu/pub/gnu/bc/${A}"
-HOMEPAGE="http://www.gnu.org/software/bc/bc.html"
-DEPEND=">=sys-libs/gpm-1.19.3
- >=sys-libs/readline-4.1"
-
-src_compile() {
- try ./configure --with-readline --host=${CHOST} --prefix=/usr
- try make ${MAKEOPTS}
-}
-
-src_install() {
- into /usr
- doinfo doc/*.info
- dobin bc/bc dc/dc
- doman doc/*.1
- dodoc AUTHORS COPYING* FAQ NEWS README ChangeLog
-}
-
-
diff --git a/sys-devel/bc/files/digest-bc-1.06 b/sys-devel/bc/files/digest-bc-1.06
deleted file mode 100644
index 047b162263ea..000000000000
--- a/sys-devel/bc/files/digest-bc-1.06
+++ /dev/null
@@ -1 +0,0 @@
-MD5 d44b5dddebd8a7a7309aea6c36fda117 bc-1.06.tar.gz
diff --git a/sys-devel/bin86/bin86-0.15.4.ebuild b/sys-devel/bin86/bin86-0.15.4.ebuild
deleted file mode 100644
index 38516031304f..000000000000
--- a/sys-devel/bin86/bin86-0.15.4.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/bin86/bin86-0.15.4.ebuild,v 1.3 2001/01/31 20:49:07 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/bin86
-DESCRIPTION="Assembler and loader used to create kernel bootsector"
-SRC_URI="http://www.cix.co.uk/~mayday/${A}"
-HOMEPAGE="http://www.cix.co.uk/~mayday/"
-DEPEND="virtual/glibc"
-RDEPEND="$DEPEND
- >=sys-apps/bash-2.04"
-
-src_compile() {
- try make ${MAKEOPTS}
-}
-
-src_unpack() {
- unpack ${A}
- cd ${S}
- cp Makefile Makefile.orig
- sed -e "s/CFLAGS=-O2/CFLAGS=${CFLAGS}/" \
- -e "s:INSTALL_OPTS=-m 755 -s:INSTALL_OPTS=-m 755:" \
- Makefile.orig > Makefile
-}
-
-src_install() {
- dodir /usr/bin
- dodir /usr/man/man1
- try make PREFIX=${D}/usr install
- dodoc README README-0.4 ChangeLog
- docinto as
- dodoc as/COPYING as/TODO
-}
-
-
diff --git a/sys-devel/bin86/files/digest-bin86-0.15.4 b/sys-devel/bin86/files/digest-bin86-0.15.4
deleted file mode 100644
index 26a7c3731184..000000000000
--- a/sys-devel/bin86/files/digest-bin86-0.15.4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 8ac305eeb5cb0cb6ce90e7e30f7c11f0 bin86-0.15.4.tar.gz
diff --git a/sys-devel/binutils/binutils-2.10.1-r1.ebuild b/sys-devel/binutils/binutils-2.10.1-r1.ebuild
deleted file mode 100644
index 6f2aef665b3c..000000000000
--- a/sys-devel/binutils/binutils-2.10.1-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.10.1-r1.ebuild,v 1.2 2001/02/07 18:22:18 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools necessary to build programs"
-SRC_URI="ftp://ftp.gnu.org/gnu/binutils/${A}"
-
-DEPEND="virtual/glibc >=sys-devel/gettext-0.10.35-r2"
-RDEPEND="virtual/glibc"
-src_compile() {
-
- try ./configure --prefix=/usr --mandir=/usr/share/man --host=${CHOST}
- try make ${MAKEOPTS}
-
-}
-
-src_install() {
-
- try make prefix=${D}/usr mandir=${D}/usr/share/man install
-
- dodoc COPYING* README
- docinto bfd
- dodoc bfd/ChangeLog* bfd/COPYING bfd/README bfd/PORTING bfd/TODO
- docinto binutils
- dodoc binutils/ChangeLog binutils/NEWS binutils/README
- docinto gas
- dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/COPYING \
- gas/NEWS gas/README*
- docinto gprof
- dodoc gprof/ChangeLog* gprof/NOTES gprof/TEST gprof/TODO
- docinto ld
- dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
- docinto libiberty
- dodoc libiberty/ChangeLog* libiberty/COPYING.LIB libiberty/README
- docinto opcodes
- dodoc opcodes/ChangeLog*
-
-}
-
-
-
diff --git a/sys-devel/binutils/binutils-2.10.1.0.7.ebuild b/sys-devel/binutils/binutils-2.10.1.0.7.ebuild
deleted file mode 100644
index 5563e9a0c636..000000000000
--- a/sys-devel/binutils/binutils-2.10.1.0.7.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.10.1.0.7.ebuild,v 1.1 2001/02/17 02:51:05 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools necessary to build programs"
-SRC_URI="http://ftp.valinux.com/pub/support/hjl/binutils/${A}"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/share
- dodoc COPYING* README
- docinto bfd
- dodoc bfd/ChangeLog* bfd/COPYING bfd/README bfd/PORTING bfd/TODO
- docinto binutils
- dodoc binutils/ChangeLog binutils/NEWS binutils/README
- docinto gas
- dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/COPYING \
- gas/NEWS gas/README*
- docinto gprof
- dodoc gprof/ChangeLog* gprof/NOTES gprof/TEST gprof/TODO
- docinto ld
- dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
- docinto libiberty
- dodoc libiberty/ChangeLog* libiberty/COPYING.LIB libiberty/README
- docinto opcodes
- dodoc opcodes/ChangeLog*
-
-}
-
-
-
diff --git a/sys-devel/binutils/binutils-2.10.1.ebuild b/sys-devel/binutils/binutils-2.10.1.ebuild
deleted file mode 100644
index f566409a7d66..000000000000
--- a/sys-devel/binutils/binutils-2.10.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.10.1.ebuild,v 1.5 2001/02/01 19:30:33 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools necessary to build programs"
-SRC_URI="ftp://ftp.gnu.org/gnu/binutils/${A}"
-DEPEND="virtual/glibc
- virtual/flex"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/share
- dodoc COPYING* README
- docinto bfd
- dodoc bfd/ChangeLog* bfd/COPYING bfd/README bfd/PORTING bfd/TODO
- docinto binutils
- dodoc binutils/ChangeLog binutils/NEWS binutils/README
- docinto gas
- dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/COPYING \
- gas/NEWS gas/README*
- docinto gprof
- dodoc gprof/ChangeLog* gprof/NOTES gprof/TEST gprof/TODO
- docinto ld
- dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
- docinto libiberty
- dodoc libiberty/ChangeLog* libiberty/COPYING.LIB libiberty/README
- docinto opcodes
- dodoc opcodes/ChangeLog*
-
-}
-
-
-
diff --git a/sys-devel/binutils/binutils-2.10.91.0.2.ebuild b/sys-devel/binutils/binutils-2.10.91.0.2.ebuild
deleted file mode 100644
index a0254aabd2b9..000000000000
--- a/sys-devel/binutils/binutils-2.10.91.0.2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.10.91.0.2.ebuild,v 1.2 2001/02/27 17:21:15 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Tools necessary to build programs"
-SRC_URI="http://ftp.valinux.com/pub/support/hjl/binutils/${A}"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --mandir=/usr/share/man --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr mandir=${D}/usr/share/man install
- rm -rf ${D}/usr/share
- dodoc COPYING* README
- docinto bfd
- dodoc bfd/ChangeLog* bfd/COPYING bfd/README bfd/PORTING bfd/TODO
- docinto binutils
- dodoc binutils/ChangeLog binutils/NEWS binutils/README
- docinto gas
- dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/COPYING \
- gas/NEWS gas/README*
- docinto gprof
- dodoc gprof/ChangeLog* gprof/NOTES gprof/TEST gprof/TODO
- docinto ld
- dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
- docinto libiberty
- dodoc libiberty/ChangeLog* libiberty/COPYING.LIB libiberty/README
- docinto opcodes
- dodoc opcodes/ChangeLog*
-
-}
-
-
-
diff --git a/sys-devel/binutils/files/digest-binutils-2.10.1 b/sys-devel/binutils/files/digest-binutils-2.10.1
deleted file mode 100644
index ec81f98fe173..000000000000
--- a/sys-devel/binutils/files/digest-binutils-2.10.1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3e8be56825395a075a71e0b7e8da206a binutils-2.10.1.tar.gz
diff --git a/sys-devel/binutils/files/digest-binutils-2.10.1-r1 b/sys-devel/binutils/files/digest-binutils-2.10.1-r1
deleted file mode 100644
index ec81f98fe173..000000000000
--- a/sys-devel/binutils/files/digest-binutils-2.10.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 3e8be56825395a075a71e0b7e8da206a binutils-2.10.1.tar.gz
diff --git a/sys-devel/binutils/files/digest-binutils-2.10.1.0.7 b/sys-devel/binutils/files/digest-binutils-2.10.1.0.7
deleted file mode 100644
index 81c6500e9a8e..000000000000
--- a/sys-devel/binutils/files/digest-binutils-2.10.1.0.7
+++ /dev/null
@@ -1 +0,0 @@
-MD5 f1b37a7ecac0cc057f94a4187d9b7b89 binutils-2.10.1.0.7.tar.gz
diff --git a/sys-devel/binutils/files/digest-binutils-2.10.1.0.7-r1 b/sys-devel/binutils/files/digest-binutils-2.10.1.0.7-r1
deleted file mode 100644
index 81c6500e9a8e..000000000000
--- a/sys-devel/binutils/files/digest-binutils-2.10.1.0.7-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 f1b37a7ecac0cc057f94a4187d9b7b89 binutils-2.10.1.0.7.tar.gz
diff --git a/sys-devel/binutils/files/digest-binutils-2.10.91.0.2 b/sys-devel/binutils/files/digest-binutils-2.10.91.0.2
deleted file mode 100644
index f21977d64c6e..000000000000
--- a/sys-devel/binutils/files/digest-binutils-2.10.91.0.2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 76a67983e1ce656681925cb2c7b2ba45 binutils-2.10.91.0.2.tar.gz
diff --git a/sys-devel/bison/bison-1.28-r1.ebuild b/sys-devel/bison/bison-1.28-r1.ebuild
deleted file mode 100644
index a6bea3336a11..000000000000
--- a/sys-devel/bison/bison-1.28-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/bison/bison-1.28-r1.ebuild,v 1.9 2001/02/01 19:30:33 achim Exp $
-
-P=bison-1.28
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A yacc-compatible parser generator"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/bison/${A}
- ftp://prep.ai.mit.edu/gnu/bison/${A}"
-HOMEPAGE="http://www.gnu.org/software/bison/bison.html"
-
-PROVIDE="virtual/bison"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --datadir=/usr/share/bison --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr datadir=${D}/usr/share/bison install
- dodoc COPYING AUTHORS NEWS ChangeLog README REFERENCES OChangeLog
- docinto txt
- dodoc doc/FAQ
-}
-
-
diff --git a/sys-devel/bison/bison-1.28-r2.ebuild b/sys-devel/bison/bison-1.28-r2.ebuild
deleted file mode 100644
index e0389a19773d..000000000000
--- a/sys-devel/bison/bison-1.28-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/bison/bison-1.28-r2.ebuild,v 1.1 2001/02/07 16:05:19 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A yacc-compatible parser generator"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/bison/${A}
- ftp://prep.ai.mit.edu/gnu/bison/${A}"
-HOMEPAGE="http://www.gnu.org/software/bison/bison.html"
-
-
-DEPEND="virtual/glibc
- sys-devel/gettext"
-RDEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --datadir=/usr/share/bison \
- --mandir=/usr/share/man --infodir=/usr/share/info --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr datadir=${D}/usr/share/bison \
- mandir=${D}/usr/share/man infodir=${D}/usr/share/info install
-
- dodoc COPYING AUTHORS NEWS ChangeLog README REFERENCES OChangeLog
- docinto txt
- dodoc doc/FAQ
-}
-
-
diff --git a/sys-devel/bison/files/digest-bison-1.28-r1 b/sys-devel/bison/files/digest-bison-1.28-r1
deleted file mode 100644
index 31b82696c4c7..000000000000
--- a/sys-devel/bison/files/digest-bison-1.28-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 4afb3989f2270043c47c3daa1fa7ffab bison-1.28.tar.gz
diff --git a/sys-devel/bison/files/digest-bison-1.28-r2 b/sys-devel/bison/files/digest-bison-1.28-r2
deleted file mode 100644
index 31b82696c4c7..000000000000
--- a/sys-devel/bison/files/digest-bison-1.28-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 4afb3989f2270043c47c3daa1fa7ffab bison-1.28.tar.gz
diff --git a/sys-devel/flex/files/digest-flex-2.5.4a-r1 b/sys-devel/flex/files/digest-flex-2.5.4a-r1
deleted file mode 100644
index 832a6789f10a..000000000000
--- a/sys-devel/flex/files/digest-flex-2.5.4a-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 bd8753d0b22e1f4ec87a553a73021adf flex-2.5.4a.tar.gz
diff --git a/sys-devel/flex/files/digest-flex-2.5.4a-r2 b/sys-devel/flex/files/digest-flex-2.5.4a-r2
deleted file mode 100644
index 832a6789f10a..000000000000
--- a/sys-devel/flex/files/digest-flex-2.5.4a-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 bd8753d0b22e1f4ec87a553a73021adf flex-2.5.4a.tar.gz
diff --git a/sys-devel/flex/files/digest-flex-2.5.4a-r3 b/sys-devel/flex/files/digest-flex-2.5.4a-r3
deleted file mode 100644
index 832a6789f10a..000000000000
--- a/sys-devel/flex/files/digest-flex-2.5.4a-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 bd8753d0b22e1f4ec87a553a73021adf flex-2.5.4a.tar.gz
diff --git a/sys-devel/gcc/files/digest-gcc-2.95.2-r4 b/sys-devel/gcc/files/digest-gcc-2.95.2-r4
deleted file mode 100644
index 8cbef92431a6..000000000000
--- a/sys-devel/gcc/files/digest-gcc-2.95.2-r4
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 0e36957d734286e242e9697fd2806c4f gcc-2.95.2.tar.gz
-MD5 2826dbbd081646c459b1774145ffd7bf libg++-2.8.1.3.tar.gz
-MD5 906124171f15ee1585d840ed7d174009 libg++-2.8.1.3-20000312.diff.gz
-MD5 47b93312badd9550ccb7d113bbf0242a libg++-2.8.1.3-20000419.diff.gz
-MD5 9e00e62b8fb7af3e41364b7c6d9f4cf8 libg++-2.8.1.3-20000816.diff.gz
-MD5 625dd5a953661b901c876f92c2c5e7a6 libg++-2.8.1.3-20000914.diff.gz
diff --git a/sys-devel/gcc/files/digest-gcc-2.95.2.1 b/sys-devel/gcc/files/digest-gcc-2.95.2.1
deleted file mode 100644
index b210ffce4620..000000000000
--- a/sys-devel/gcc/files/digest-gcc-2.95.2.1
+++ /dev/null
@@ -1,7 +0,0 @@
-MD5 0e36957d734286e242e9697fd2806c4f gcc-2.95.2.tar.gz
-MD5 e89e684a145a55d442b09436edef4427 gcc-2.95.2-2.95.2.1.diff.gz
-MD5 2826dbbd081646c459b1774145ffd7bf libg++-2.8.1.3.tar.gz
-MD5 906124171f15ee1585d840ed7d174009 libg++-2.8.1.3-20000312.diff.gz
-MD5 47b93312badd9550ccb7d113bbf0242a libg++-2.8.1.3-20000419.diff.gz
-MD5 9e00e62b8fb7af3e41364b7c6d9f4cf8 libg++-2.8.1.3-20000816.diff.gz
-MD5 625dd5a953661b901c876f92c2c5e7a6 libg++-2.8.1.3-20000914.diff.gz
diff --git a/sys-devel/gcc/files/digest-gcc-2.95.2.1-r1 b/sys-devel/gcc/files/digest-gcc-2.95.2.1-r1
deleted file mode 100644
index b210ffce4620..000000000000
--- a/sys-devel/gcc/files/digest-gcc-2.95.2.1-r1
+++ /dev/null
@@ -1,7 +0,0 @@
-MD5 0e36957d734286e242e9697fd2806c4f gcc-2.95.2.tar.gz
-MD5 e89e684a145a55d442b09436edef4427 gcc-2.95.2-2.95.2.1.diff.gz
-MD5 2826dbbd081646c459b1774145ffd7bf libg++-2.8.1.3.tar.gz
-MD5 906124171f15ee1585d840ed7d174009 libg++-2.8.1.3-20000312.diff.gz
-MD5 47b93312badd9550ccb7d113bbf0242a libg++-2.8.1.3-20000419.diff.gz
-MD5 9e00e62b8fb7af3e41364b7c6d9f4cf8 libg++-2.8.1.3-20000816.diff.gz
-MD5 625dd5a953661b901c876f92c2c5e7a6 libg++-2.8.1.3-20000914.diff.gz
diff --git a/sys-devel/gcc/files/digest-gcc-2.96.20000731 b/sys-devel/gcc/files/digest-gcc-2.96.20000731
deleted file mode 100644
index 016e1c0625ff..000000000000
--- a/sys-devel/gcc/files/digest-gcc-2.96.20000731
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 3da4f3d77b46c1f33ae25807aabe34fd gcc-2.96-20000731.tar.bz2
-MD5 2826dbbd081646c459b1774145ffd7bf libg++-2.8.1.3.tar.gz
-MD5 906124171f15ee1585d840ed7d174009 libg++-2.8.1.3-20000312.diff.gz
-MD5 47b93312badd9550ccb7d113bbf0242a libg++-2.8.1.3-20000419.diff.gz
-MD5 9e00e62b8fb7af3e41364b7c6d9f4cf8 libg++-2.8.1.3-20000816.diff.gz
-MD5 625dd5a953661b901c876f92c2c5e7a6 libg++-2.8.1.3-20000914.diff.gz
diff --git a/sys-devel/gcc/files/gcc-2.95.2.dif.gz b/sys-devel/gcc/files/gcc-2.95.2.dif.gz
deleted file mode 100644
index 034d06a0a335..000000000000
--- a/sys-devel/gcc/files/gcc-2.95.2.dif.gz
+++ /dev/null
Binary files differ
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-Os-testcase.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-Os-testcase.patch
deleted file mode 100644
index f9709f8ed9dc..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-Os-testcase.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-2000-08-07 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/20000807-1.c: New test.
-
---- gcc/testsuite/gcc.dg/20000807-1.c.jj Mon Aug 7 17:22:26 2000
-+++ gcc/testsuite/gcc.dg/20000807-1.c Mon Aug 7 17:23:31 2000
-@@ -0,0 +1,37 @@
-+/* { dg-do compile { target i?86-*-* } } */
-+/* { dg-options "-Os -fpic" } */
-+
-+#include <string.h>
-+
-+typedef struct
-+{
-+ char *a;
-+ char *b;
-+} *foo;
-+
-+void
-+bar (foo x)
-+{
-+ char *c = x->b;
-+ char *d = (void *)0;
-+ unsigned int e = 0, f = 0, g;
-+ while (*c != ':')
-+ if (*c == '%')
-+ {
-+ ++c;
-+ switch (*c++)
-+ {
-+ case 'N':
-+ g = strlen (x->a);
-+ if (e + g >= f) {
-+ char *h = d;
-+ f += 256 + g;
-+ d = (char *) __builtin_alloca (f);
-+ memcpy (d, h, e);
-+ };
-+ memcpy (&d[e], x->a, g);
-+ e += g;
-+ break;
-+ }
-+ }
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alias.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alias.patch
deleted file mode 100644
index 7a485052b929..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alias.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-2000-08-22 Richard Henderson <rth@cygnus.com>
-
- * alias.c (init_alias_analysis): Do not register
- struct_value_incoming_rtx or static_chain_rtx as pointing
- to stack memory.
-
-*** gcc/alias.c 2000/08/18 02:41:58 1.93
---- gcc/alias.c 2000/08/22 08:41:32
-*************** init_alias_analysis ()
-*** 1983,1997 ****
- new_reg_base_value[HARD_FRAME_POINTER_REGNUM]
- = gen_rtx_ADDRESS (Pmode, hard_frame_pointer_rtx);
- #endif
-- if (struct_value_incoming_rtx
-- && GET_CODE (struct_value_incoming_rtx) == REG)
-- new_reg_base_value[REGNO (struct_value_incoming_rtx)]
-- = gen_rtx_ADDRESS (Pmode, struct_value_incoming_rtx);
--
-- if (static_chain_rtx
-- && GET_CODE (static_chain_rtx) == REG)
-- new_reg_base_value[REGNO (static_chain_rtx)]
-- = gen_rtx_ADDRESS (Pmode, static_chain_rtx);
-
- /* Walk the insns adding values to the new_reg_base_value array. */
- for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
---- 1983,1988 ----
-*** gcc/testsuite/gcc.c-torture/execute/20000822-1.c Wed Aug 23 14:17:08 2000
---- gcc/testsuite/gcc.c-torture/execute/20000822-1.c Wed Aug 23 14:04:57 2000
-***************
-*** 0 ****
---- 1,24 ----
-+ int f0(int (*fn)(int *), int *p)
-+ {
-+ return (*fn) (p);
-+ }
-+
-+ int f1(void)
-+ {
-+ int i = 0;
-+
-+ int f2(int *p)
-+ {
-+ i = 1;
-+ return *p + 1;
-+ }
-+
-+ return f0(f2, &i);
-+ }
-+
-+ int main()
-+ {
-+ if (f1() != 2)
-+ abort ();
-+ return 0;
-+ }
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-align-memcpy.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-align-memcpy.patch
deleted file mode 100644
index 4ff84c2011de..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-align-memcpy.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-2000-05-02 Jakub Jelinek <jakub@redhat.com>
-
- * builtins.c (get_pointer_alignment): If exp is pointer type, return
- at least BITS_PER_UNIT.
-
---- gcc/builtins.c.jj Tue Apr 25 21:02:50 2000
-+++ gcc/builtins.c Tue May 2 15:39:17 2000
-@@ -135,7 +135,7 @@ get_pointer_alignment (exp, max_align)
- case NON_LVALUE_EXPR:
- exp = TREE_OPERAND (exp, 0);
- if (TREE_CODE (TREE_TYPE (exp)) != POINTER_TYPE)
-- return align;
-+ return MAX (align, BITS_PER_UNIT);
-
- inner = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (exp)));
- align = MIN (inner, max_align);
-@@ -146,7 +146,7 @@ get_pointer_alignment (exp, max_align)
- imposed by the integer. If not, we can't do any better than
- ALIGN. */
- if (! host_integerp (TREE_OPERAND (exp, 1), 1))
-- return align;
-+ return MAX (align, BITS_PER_UNIT);
-
- while (((tree_low_cst (TREE_OPERAND (exp, 1), 1) * BITS_PER_UNIT)
- & (max_align - 1))
-@@ -167,10 +167,11 @@ get_pointer_alignment (exp, max_align)
- else if (TREE_CODE_CLASS (TREE_CODE (exp)) == 'c')
- align = CONSTANT_ALIGNMENT (exp, align);
- #endif
-- return MIN (align, max_align);
-+ align = MIN (align, max_align);
-+ /* FALLTHROUGH */
-
- default:
-- return align;
-+ return MAX (align, BITS_PER_UNIT);
- }
- }
- }
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-addressof.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-addressof.patch
deleted file mode 100644
index 12bfa3f29d8e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-addressof.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-2000-07-05 Richard Henderson <rth@cygnus.com>
-
- * function.c (purge_addressof_1): Restart after calling
- put_addressof_into_stack.
-
-*** gcc/function.c Wed Jul 5 15:23:01 2000
---- gcc/function.c Wed Jul 5 15:21:58 2000
-*************** purge_addressof_1 (loc, insn, force, sto
-*** 3113,3119 ****
- else if (code == ADDRESSOF)
- {
- put_addressof_into_stack (x, ht);
-! return true;
- }
- else if (code == SET)
- {
---- 3113,3119 ----
- else if (code == ADDRESSOF)
- {
- put_addressof_into_stack (x, ht);
-! goto restart;
- }
- else if (code == SET)
- {
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-mi-thunk.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-mi-thunk.patch
deleted file mode 100644
index b8d201c2c10e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-mi-thunk.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-2000-10-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
-
---- gcc/config/alpha/alpha.h.jj Mon Oct 9 11:18:54 2000
-+++ gcc/config/alpha/alpha.h Tue Oct 17 14:39:33 2000
-@@ -2240,6 +2240,9 @@ do { \
- const char *fn_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0); \
- int reg; \
- \
-+ if (! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT) \
-+ fprintf (FILE, "\tldgp $29,0($27)\n"); \
-+ \
- /* Mark end of prologue. */ \
- output_end_prologue (FILE); \
- \
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-tune.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-tune.patch
deleted file mode 100644
index 689e86bb60f3..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-tune.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-2000-09-15 Jakub Jelinek <jakub@redhat.com>
-
- * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
- (TARGET_OPTIONS): Add tune=.
- (alpha_tune_string): Declare.
- * config/alpha/alpha.c (override_options): Add cpu_table.
- Use alpha_cpu_string first to set both alpha_cpu and target_flags
- and then alpha_tune_string to set alpha_cpu only.
- Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
- * config/alpha/elf.h (ASM_FILE_START): Likewise.
- * config/alpha/osf.h (ASM_FILE_START): Likewise.
- * config/alpha/openbsd.h (ASM_FILE_START): Likewise.
-
---- gcc/config/alpha/alpha.h.jj Sun Jul 2 10:37:08 2000
-+++ gcc/config/alpha/alpha.h Fri Sep 15 15:59:46 2000
-@@ -156,12 +156,14 @@ extern enum alpha_fp_trap_mode alpha_fpt
- #define MASK_CIX (1 << 11)
- #define TARGET_CIX (target_flags & MASK_CIX)
-
--/* This means that the processor is an EV5, EV56, or PCA56. This is defined
-- only in TARGET_CPU_DEFAULT. */
-+/* This means that the processor is an EV5, EV56, or PCA56.
-+ Unlike alpha_cpu this is not affected by -mtune= setting. */
- #define MASK_CPU_EV5 (1 << 28)
-+#define TARGET_CPU_EV5 (target_flags & MASK_CPU_EV5)
-
- /* Likewise for EV6. */
- #define MASK_CPU_EV6 (1 << 29)
-+#define TARGET_CPU_EV6 (target_flags & MASK_CPU_EV6)
-
- /* This means we support the .arch directive in the assembler. Only
- defined in TARGET_CPU_DEFAULT. */
-@@ -249,6 +251,7 @@ extern enum alpha_fp_trap_mode alpha_fpt
- #define TARGET_OPTIONS { { "short-data-", &m88k_short_data } } */
-
- extern const char *alpha_cpu_string; /* For -mcpu= */
-+extern const char *alpha_tune_string; /* For -mtune= */
- extern const char *alpha_fprm_string; /* For -mfp-rounding-mode=[n|m|c|d] */
- extern const char *alpha_fptm_string; /* For -mfp-trap-mode=[n|u|su|sui] */
- extern const char *alpha_tp_string; /* For -mtrap-precision=[p|f|i] */
-@@ -257,7 +260,9 @@ extern const char *alpha_mlat_string; /*
- #define TARGET_OPTIONS \
- { \
- {"cpu=", &alpha_cpu_string, \
-- N_("Generate code for a given CPU")}, \
-+ N_("Use features of and schedule given CPU")}, \
-+ {"tune=", &alpha_tune_string, \
-+ N_("Schedule given CPU")}, \
- {"fp-rounding-mode=", &alpha_fprm_string, \
- N_("Control the generated fp rounding mode")}, \
- {"fp-trap-mode=", &alpha_fptm_string, \
---- gcc/config/alpha/alpha.c.jj Wed Sep 13 16:08:44 2000
-+++ gcc/config/alpha/alpha.c Fri Sep 15 16:14:14 2000
-@@ -70,6 +70,7 @@ enum alpha_fp_trap_mode alpha_fptm;
- /* Strings decoded into the above options. */
-
- const char *alpha_cpu_string; /* -mcpu= */
-+const char *alpha_tune_string; /* -mtune= */
- const char *alpha_tp_string; /* -mtrap-precision=[p|s|i] */
- const char *alpha_fprm_string; /* -mfp-rounding-mode=[n|m|c|d] */
- const char *alpha_fptm_string; /* -mfp-trap-mode=[n|u|su|sui] */
-@@ -146,6 +147,31 @@ static rtx alpha_emit_xfloating_compare
- void
- override_options ()
- {
-+ int i;
-+ static struct cpu_table {
-+ const char *name;
-+ enum processor_type processor;
-+ int flags;
-+ } cpu_table[] = {
-+#define EV5_MASK (MASK_CPU_EV5)
-+#define EV6_MASK (MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX)
-+ { "ev4", PROCESSOR_EV4, 0 },
-+ { "ev45", PROCESSOR_EV4, 0 },
-+ { "21064", PROCESSOR_EV4, 0 },
-+ { "ev5", PROCESSOR_EV5, EV5_MASK },
-+ { "21164", PROCESSOR_EV5, EV5_MASK },
-+ { "ev56", PROCESSOR_EV5, EV5_MASK|MASK_BWX },
-+ { "21164a", PROCESSOR_EV5, EV5_MASK|MASK_BWX },
-+ { "pca56", PROCESSOR_EV5, EV5_MASK|MASK_BWX|MASK_MAX },
-+ { "21164PC",PROCESSOR_EV5, EV5_MASK|MASK_BWX|MASK_MAX },
-+ { "21164pc",PROCESSOR_EV5, EV5_MASK|MASK_BWX|MASK_MAX },
-+ { "ev6", PROCESSOR_EV6, EV6_MASK },
-+ { "21264", PROCESSOR_EV6, EV6_MASK },
-+ { "ev67", PROCESSOR_EV6, EV6_MASK|MASK_CIX },
-+ { "21264a", PROCESSOR_EV6, EV6_MASK|MASK_CIX },
-+ { 0, 0, 0 }
-+ };
-+
- alpha_tp = ALPHA_TP_PROG;
- alpha_fprm = ALPHA_FPRM_NORM;
- alpha_fptm = ALPHA_FPTM_N;
-@@ -209,61 +235,41 @@ override_options ()
-
- if (alpha_cpu_string)
- {
-- if (! strcmp (alpha_cpu_string, "ev4")
-- || ! strcmp (alpha_cpu_string, "ev45")
-- || ! strcmp (alpha_cpu_string, "21064"))
-- {
-- alpha_cpu = PROCESSOR_EV4;
-- target_flags &= ~ (MASK_BWX | MASK_MAX | MASK_FIX | MASK_CIX);
-- }
-- else if (! strcmp (alpha_cpu_string, "ev5")
-- || ! strcmp (alpha_cpu_string, "21164"))
-- {
-- alpha_cpu = PROCESSOR_EV5;
-- target_flags &= ~ (MASK_BWX | MASK_MAX | MASK_FIX | MASK_CIX);
-- }
-- else if (! strcmp (alpha_cpu_string, "ev56")
-- || ! strcmp (alpha_cpu_string, "21164a"))
-- {
-- alpha_cpu = PROCESSOR_EV5;
-- target_flags |= MASK_BWX;
-- target_flags &= ~ (MASK_MAX | MASK_FIX | MASK_CIX);
-- }
-- else if (! strcmp (alpha_cpu_string, "pca56")
-- || ! strcmp (alpha_cpu_string, "21164PC")
-- || ! strcmp (alpha_cpu_string, "21164pc"))
-- {
-- alpha_cpu = PROCESSOR_EV5;
-- target_flags |= MASK_BWX | MASK_MAX;
-- target_flags &= ~ (MASK_FIX | MASK_CIX);
-- }
-- else if (! strcmp (alpha_cpu_string, "ev6")
-- || ! strcmp (alpha_cpu_string, "21264"))
-- {
-- alpha_cpu = PROCESSOR_EV6;
-- target_flags |= MASK_BWX | MASK_MAX | MASK_FIX;
-- target_flags &= ~ (MASK_CIX);
-- }
-- else if (! strcmp (alpha_cpu_string, "ev67")
-- || ! strcmp (alpha_cpu_string, "21264a"))
-- {
-- alpha_cpu = PROCESSOR_EV6;
-- target_flags |= MASK_BWX | MASK_MAX | MASK_FIX | MASK_CIX;
-- }
-- else
-+ for (i = 0; cpu_table [i].name; i++)
-+ if (! strcmp (alpha_cpu_string, cpu_table [i].name))
-+ {
-+ alpha_cpu = cpu_table [i].processor;
-+ target_flags &= ~ (MASK_BWX | MASK_MAX | MASK_FIX | MASK_CIX
-+ | MASK_CPU_EV5 | MASK_CPU_EV6);
-+ target_flags |= cpu_table [i].flags;
-+ break;
-+ }
-+ if (! cpu_table [i].name)
- error ("bad value `%s' for -mcpu switch", alpha_cpu_string);
- }
-
-+ if (alpha_tune_string)
-+ {
-+ for (i = 0; cpu_table [i].name; i++)
-+ if (! strcmp (alpha_tune_string, cpu_table [i].name))
-+ {
-+ alpha_cpu = cpu_table [i].processor;
-+ break;
-+ }
-+ if (! cpu_table [i].name)
-+ error ("bad value `%s' for -mcpu switch", alpha_tune_string);
-+ }
-+
- /* Do some sanity checks on the above options. */
-
- if ((alpha_fptm == ALPHA_FPTM_SU || alpha_fptm == ALPHA_FPTM_SUI)
-- && alpha_tp != ALPHA_TP_INSN && alpha_cpu != PROCESSOR_EV6)
-+ && alpha_tp != ALPHA_TP_INSN && ! TARGET_CPU_EV6)
- {
- warning ("fp software completion requires -mtrap-precision=i");
- alpha_tp = ALPHA_TP_INSN;
- }
-
-- if (alpha_cpu == PROCESSOR_EV6)
-+ if (TARGET_CPU_EV6)
- {
- /* Except for EV6 pass 1 (not released), we always have precise
- arithmetic traps. Which means we can do software completion
---- gcc/config/alpha/elf.h.jj Thu Jun 1 11:56:45 2000
-+++ gcc/config/alpha/elf.h Fri Sep 15 16:06:34 2000
-@@ -61,7 +61,7 @@ do { \
- if (TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX) \
- { \
- fprintf (FILE, "\t.arch %s\n", \
-- (alpha_cpu == PROCESSOR_EV6 ? "ev6" \
-+ (TARGET_CPU_EV6 ? "ev6" \
- : TARGET_MAX ? "pca56" : "ev56")); \
- } \
- } while (0)
---- gcc/config/alpha/osf.h.jj Thu Jul 27 19:46:46 2000
-+++ gcc/config/alpha/osf.h Fri Sep 15 16:09:18 2000
-@@ -70,8 +70,8 @@ Boston, MA 02111-1307, USA. */
- fprintf (FILE, "\t.set noat\n"); \
- if (TARGET_SUPPORT_ARCH) \
- fprintf (FILE, "\t.arch %s\n", \
-- alpha_cpu == PROCESSOR_EV6 ? "ev6" \
-- : (alpha_cpu == PROCESSOR_EV5 \
-+ TARGET_CPU_EV6 ? "ev6" \
-+ : (TARGET_CPU_EV5 \
- ? (TARGET_MAX ? "pca56" : TARGET_BWX ? "ev56" : "ev5") \
- : "ev4")); \
- \
---- gcc/config/alpha/openbsd.h.jj Sat Sep 4 17:08:55 1999
-+++ gcc/config/alpha/openbsd.h Fri Sep 15 16:08:49 2000
-@@ -100,8 +100,8 @@ Boston, MA 02111-1307, USA. */
- fprintf (FILE, "\t.set noat\n"); \
- if (TARGET_SUPPORT_ARCH) \
- fprintf (FILE, "\t.arch %s\n", \
-- alpha_cpu == PROCESSOR_EV6 ? "ev6" \
-- : (alpha_cpu == PROCESSOR_EV5 \
-+ TARGET_CPU_EV6 ? "ev6" \
-+ : (TARGET_CPU_EV5 \
- ? (TARGET_MAX ? "pca56" : TARGET_BWX ? "ev56" : "ev5") \
- : "ev4")); \
- \
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-unaligned.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-unaligned.patch
deleted file mode 100644
index 4eaf686a5400..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-alpha-unaligned.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-2000-09-15 Richard Henderson <rth@cygnus.com>
-
- * expmed.c (store_bit_field): Consider naturally aligned
- memory for direct reference.
-
-2000-09-15 Richard Henderson <rth@cygnus.com>
-
- * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
- AND addresses into alias set 0.
- (alpha_expand_unaligned_store): Likewise.
- (alpha_expand_unaligned_load_words): Likewise.
- (alpha_expand_unaligned_store_words): Likewise.
-
-*** gcc/expmed.c 2000/08/12 22:45:05 1.63
---- gcc/expmed.c 2000/09/15 11:05:11
-*************** store_bit_field (str_rtx, bitsize, bitnu
-*** 297,315 ****
- if (flag_force_mem)
- value = force_not_mem (value);
-
-! if ((GET_MODE_SIZE (fieldmode) >= UNITS_PER_WORD
-! || (GET_MODE_SIZE (GET_MODE (op0)) == GET_MODE_SIZE (fieldmode)
-! && GET_MODE_SIZE (fieldmode) != 0))
-! && (GET_CODE (op0) != MEM
-! || ! SLOW_UNALIGNED_ACCESS (fieldmode, align)
-! || (offset * BITS_PER_UNIT % bitsize == 0
-! && align % GET_MODE_BITSIZE (fieldmode) == 0))
-! && (BYTES_BIG_ENDIAN ? bitpos + bitsize == unit : bitpos == 0)
-! && bitsize == GET_MODE_BITSIZE (fieldmode))
- {
-- /* Storing in a full-word or multi-word field in a register
-- can be done with just SUBREG. Also, storing in the entire object
-- can be done with just SUBREG. */
- if (GET_MODE (op0) != fieldmode)
- {
- if (GET_CODE (op0) == SUBREG)
---- 297,318 ----
- if (flag_force_mem)
- value = force_not_mem (value);
-
-! /* If the target is a register, overwriting the entire object, or storing
-! a full-word or multi-word field can be done with just a SUBREG.
-!
-! If the target is memory, storing any naturally aligned field can be
-! done with a simple store. For targets that support fast unaligned
-! memory, any naturally sized, unit aligned field can be done directly. */
-!
-! if (bitsize == GET_MODE_BITSIZE (fieldmode)
-! && (GET_MODE_SIZE (fieldmode) >= UNITS_PER_WORD
-! || GET_MODE_SIZE (GET_MODE (op0)) == GET_MODE_SIZE (fieldmode)
-! || (GET_CODE (op0) == MEM
-! && (! SLOW_UNALIGNED_ACCESS (fieldmode, align)
-! || (offset * BITS_PER_UNIT % bitsize == 0
-! && align % GET_MODE_BITSIZE (fieldmode) == 0))))
-! && (BYTES_BIG_ENDIAN ? bitpos + bitsize == unit : bitpos == 0))
- {
- if (GET_MODE (op0) != fieldmode)
- {
- if (GET_CODE (op0) == SUBREG)
-*** gcc/config/alpha/alpha.c 2000/08/25 19:08:47 1.140
---- gcc/config/alpha/alpha.c 2000/09/15 11:05:21
-*************** alpha_expand_unaligned_load (tgt, mem, s
-*** 2292,2298 ****
- HOST_WIDE_INT size, ofs;
- int sign;
- {
-! rtx meml, memh, addr, extl, exth;
- enum machine_mode mode;
-
- meml = gen_reg_rtx (DImode);
---- 2292,2298 ----
- HOST_WIDE_INT size, ofs;
- int sign;
- {
-! rtx meml, memh, addr, extl, exth, tmp;
- enum machine_mode mode;
-
- meml = gen_reg_rtx (DImode);
-*************** alpha_expand_unaligned_load (tgt, mem, s
-*** 2301,2319 ****
- extl = gen_reg_rtx (DImode);
- exth = gen_reg_rtx (DImode);
-
-! emit_move_insn (meml,
-! change_address (mem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP (mem, 0),
-! ofs),
-! GEN_INT (-8))));
-
-! emit_move_insn (memh,
-! change_address (mem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP (mem, 0),
-! ofs + size - 1),
-! GEN_INT (-8))));
-
- if (sign && size == 2)
- {
---- 2301,2324 ----
- extl = gen_reg_rtx (DImode);
- exth = gen_reg_rtx (DImode);
-
-! /* AND addresses cannot be in any alias set, since they may implicitly
-! alias surrounding code. Ideally we'd have some alias set that
-! covered all types except those with alignment 8 or higher. */
-
-! tmp = change_address (mem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP (mem, 0), ofs),
-! GEN_INT (-8)));
-! MEM_ALIAS_SET (tmp) = 0;
-! emit_move_insn (meml, tmp);
-!
-! tmp = change_address (mem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP (mem, 0),
-! ofs + size - 1),
-! GEN_INT (-8)));
-! MEM_ALIAS_SET (tmp) = 0;
-! emit_move_insn (memh, tmp);
-
- if (sign && size == 2)
- {
-*************** alpha_expand_unaligned_store (dst, src,
-*** 2377,2391 ****
---- 2382,2403 ----
- insl = gen_reg_rtx (DImode);
- insh = gen_reg_rtx (DImode);
-
-+ /* AND addresses cannot be in any alias set, since they may implicitly
-+ alias surrounding code. Ideally we'd have some alias set that
-+ covered all types except those with alignment 8 or higher. */
-+
- meml = change_address (dst, DImode,
- gen_rtx_AND (DImode,
- plus_constant (XEXP (dst, 0), ofs),
- GEN_INT (-8)));
-+ MEM_ALIAS_SET (meml) = 0;
-+
- memh = change_address (dst, DImode,
- gen_rtx_AND (DImode,
- plus_constant (XEXP (dst, 0),
- ofs+size-1),
- GEN_INT (-8)));
-+ MEM_ALIAS_SET (memh) = 0;
-
- emit_move_insn (dsth, memh);
- emit_move_insn (dstl, meml);
-*************** alpha_expand_unaligned_load_words (out_r
-*** 2462,2468 ****
- rtx const im8 = GEN_INT (-8);
- rtx const i64 = GEN_INT (64);
- rtx ext_tmps[MAX_MOVE_WORDS], data_regs[MAX_MOVE_WORDS+1];
-! rtx sreg, areg;
- HOST_WIDE_INT i;
-
- /* Generate all the tmp registers we need. */
---- 2474,2480 ----
- rtx const im8 = GEN_INT (-8);
- rtx const i64 = GEN_INT (64);
- rtx ext_tmps[MAX_MOVE_WORDS], data_regs[MAX_MOVE_WORDS+1];
-! rtx sreg, areg, tmp;
- HOST_WIDE_INT i;
-
- /* Generate all the tmp registers we need. */
-*************** alpha_expand_unaligned_load_words (out_r
-*** 2480,2498 ****
- /* Load up all of the source data. */
- for (i = 0; i < words; ++i)
- {
-! emit_move_insn (data_regs[i],
-! change_address (smem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP(smem,0),
-! 8*i),
-! im8)));
- }
-! emit_move_insn (data_regs[words],
-! change_address (smem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP(smem,0),
-! 8*words - 1),
-! im8)));
-
- /* Extract the half-word fragments. Unfortunately DEC decided to make
- extxh with offset zero a noop instead of zeroing the register, so
---- 2492,2511 ----
- /* Load up all of the source data. */
- for (i = 0; i < words; ++i)
- {
-! tmp = change_address (smem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP(smem,0), 8*i),
-! im8));
-! MEM_ALIAS_SET (tmp) = 0;
-! emit_move_insn (data_regs[i], tmp);
- }
-!
-! tmp = change_address (smem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant (XEXP(smem,0), 8*words - 1),
-! im8));
-! MEM_ALIAS_SET (tmp) = 0;
-! emit_move_insn (data_regs[words], tmp);
-
- /* Extract the half-word fragments. Unfortunately DEC decided to make
- extxh with offset zero a noop instead of zeroing the register, so
-*************** alpha_expand_unaligned_store_words (data
-*** 2559,2568 ****
---- 2572,2584 ----
- plus_constant (XEXP(dmem,0),
- words*8 - 1),
- im8));
-+ MEM_ALIAS_SET (st_addr_2) = 0;
-+
- st_addr_1 = change_address (dmem, DImode,
- gen_rtx_AND (DImode,
- XEXP (dmem, 0),
- im8));
-+ MEM_ALIAS_SET (st_addr_1) = 0;
-
- /* Load up the destination end bits. */
- emit_move_insn (st_tmp_2, st_addr_2);
-*************** alpha_expand_unaligned_store_words (data
-*** 2601,2612 ****
- emit_move_insn (st_addr_2, st_tmp_2);
- for (i = words-1; i > 0; --i)
- {
-! emit_move_insn (change_address (dmem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant(XEXP (dmem,0),
-! i*8),
-! im8)),
-! data_regs ? ins_tmps[i-1] : const0_rtx);
- }
- emit_move_insn (st_addr_1, st_tmp_1);
- }
---- 2617,2628 ----
- emit_move_insn (st_addr_2, st_tmp_2);
- for (i = words-1; i > 0; --i)
- {
-! rtx tmp = change_address (dmem, DImode,
-! gen_rtx_AND (DImode,
-! plus_constant(XEXP (dmem,0), i*8),
-! im8));
-! MEM_ALIAS_SET (tmp) = 0;
-! emit_move_insn (tmp, data_regs ? ins_tmps[i-1] : const0_rtx);
- }
- emit_move_insn (st_addr_1, st_tmp_1);
- }
-
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-bogus-subreg.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-bogus-subreg.patch
deleted file mode 100644
index 7e3cda4a459a..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-bogus-subreg.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-2000-09-13 Jakub Jelinek <jakub@redhat.com>
-
- * rtlanal.c (replace_rtx): Avoid SUBREGs of constants.
-
- * gcc.c-torture/compile/20000728-1.c: New test.
-
---- gcc/testsuite/gcc.c-torture/compile/20000728-1.c.jj Fri Jul 28 14:51:03 2000
-+++ gcc/testsuite/gcc.c-torture/compile/20000728-1.c Fri Jul 28 14:50:54 2000
-@@ -0,0 +1,16 @@
-+struct clock {
-+ long sec; long usec;
-+};
-+
-+int foo(void)
-+{
-+ struct clock clock_old = {0, 0};
-+
-+ for (;;) {
-+ long foo;
-+
-+ if (foo == clock_old.sec && 0 == clock_old.usec);
-+ }
-+ return 0;
-+}
-+
---- gcc/rtlanal.c.jj Tue Jul 25 06:57:47 2000
-+++ gcc/rtlanal.c Fri Jul 28 17:03:02 2000
-@@ -1987,6 +1987,55 @@ replace_rtx (x, from, to)
- if (x == 0)
- return 0;
-
-+ if (GET_CODE (x) == SUBREG)
-+ {
-+ rtx tem = replace_rtx (SUBREG_REG (x), from, to);
-+
-+ if (GET_CODE (tem) == CONST_INT)
-+ {
-+ /* Avoid creating bogus SUBREGs */
-+ enum machine_mode mode = GET_MODE (x);
-+ enum machine_mode inner_mode = GET_MODE (SUBREG_REG (x));
-+ int offset;
-+ unsigned HOST_WIDE_INT i;
-+
-+ if (GET_MODE_CLASS (mode) != MODE_INT)
-+ abort ();
-+
-+ if (GET_MODE_SIZE (mode) >= GET_MODE_SIZE (inner_mode))
-+ return x;
-+
-+ offset = SUBREG_BYTE (x);
-+ if (BYTES_BIG_ENDIAN || WORDS_BIG_ENDIAN)
-+ {
-+ if (WORDS_BIG_ENDIAN)
-+ offset = GET_MODE_SIZE (inner_mode)
-+ - GET_MODE_SIZE (mode) - offset;
-+ if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN
-+ && GET_MODE_SIZE (mode) < UNITS_PER_WORD)
-+ offset = offset + UNITS_PER_WORD - GET_MODE_SIZE (mode)
-+ - 2 * (offset % UNITS_PER_WORD);
-+ }
-+
-+ offset *= BITS_PER_UNIT;
-+
-+ i = INTVAL (tem);
-+
-+ if (offset >= HOST_BITS_PER_WIDE_INT)
-+ return ((HOST_WIDE_INT) i < 0) ? constm1_rtx : const0_rtx;
-+
-+ i >>= offset;
-+ if (GET_MODE_BITSIZE (mode) < HOST_BITS_PER_WIDE_INT)
-+ i &= (((unsigned HOST_WIDE_INT) 1) << GET_MODE_BITSIZE (mode)) - 1;
-+
-+ return GEN_INT (i);
-+ }
-+
-+ SUBREG_REG (x) = tem;
-+
-+ return x;
-+ }
-+
- fmt = GET_RTX_FORMAT (GET_CODE (x));
- for (i = GET_RTX_LENGTH (GET_CODE (x)) - 1; i >= 0; i--)
- {
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-binding-levels.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-binding-levels.patch
deleted file mode 100644
index 67a2ea86cd4d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-binding-levels.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-2000-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * decl.c (pop_binding_level): Do nothing if popping from
- global_binding_levels and the input had errors.
- (finish_function): If input had errors, pop enough binding
- levels to get at the function parameters binding level.
-
---- gcc/cp/decl.c.jj Mon Nov 6 09:38:25 2000
-+++ gcc/cp/decl.c Mon Nov 6 12:09:45 2000
-@@ -613,7 +613,11 @@ pop_binding_level ()
- {
- /* Cannot pop a level, if there are none left to pop. */
- if (current_binding_level == global_binding_level)
-- my_friendly_abort (123);
-+ {
-+ if (errorcount)
-+ return;
-+ my_friendly_abort (123);
-+ }
- }
- /* Pop the current level, and free the structure for reuse. */
- #if defined(DEBUG_CP_BINDING_LEVELS)
-@@ -14388,7 +14392,16 @@ finish_function (flags)
- if (doing_semantic_analysis_p ())
- {
- if (current_binding_level->parm_flag != 1)
-- my_friendly_abort (122);
-+ {
-+ if (errorcount)
-+ {
-+ /* This can happen on bad input. */
-+ while (current_binding_level->parm_flag == 0)
-+ pop_binding_level ();
-+ }
-+ if (current_binding_level->parm_flag != 1)
-+ my_friendly_abort (122);
-+ }
- poplevel (1, 0, 1);
- }
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-crash24.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-crash24.patch
deleted file mode 100644
index a4c080b240c5..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-crash24.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-2000-10-27 Jakub Jelinek <jakub@redhat.com>
-
- * call.c (build_new_op): If argument types are error_mark_nodes, return
- error_mark_node.
- (build_over_call): If require_complete_type returns error_mark_node,
- return it immediately.
-
- * g++.old-deja/g++.other/crash24.C: New test.
- * g++.old-deja/g++.other/crash25.C: New test.
-
---- gcc/cp/call.c.jj Fri Oct 27 13:38:40 2000
-+++ gcc/cp/call.c Fri Oct 27 14:36:25 2000
-@@ -3204,6 +3204,11 @@ build_new_op (code, flags, arg1, arg2, a
- if (arg3 && TREE_CODE (arg3) == OFFSET_REF)
- arg3 = resolve_offset_ref (arg3);
-
-+ if (TREE_TYPE (arg1) == error_mark_node
-+ || (arg2 && TREE_TYPE (arg2) == error_mark_node)
-+ || (arg3 && TREE_TYPE (arg3) == error_mark_node))
-+ return error_mark_node;
-+
- if (code == COND_EXPR)
- {
- if (arg2 == NULL_TREE
-@@ -4192,6 +4197,8 @@ build_over_call (cand, args, flags)
- if (TREE_CODE (TREE_TYPE (fn)) == VOID_TYPE)
- return fn;
- fn = require_complete_type (fn);
-+ if (fn == error_mark_node)
-+ return error_mark_node;
- if (IS_AGGR_TYPE (TREE_TYPE (fn)))
- fn = build_cplus_new (TREE_TYPE (fn), fn);
- return convert_from_reference (fn);
---- gcc/testsuite/g++.old-deja/g++.other/crash24.C.jj Fri Oct 27 14:46:21 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash24.C Fri Oct 27 14:45:07 2000
-@@ -0,0 +1,18 @@
-+//Build don't link:
-+
-+#include <iostream>
-+
-+class foo {
-+ public:
-+ class __iterator;
-+ friend class __iterator;
-+ typedef __iterator const_iterator;
-+ virtual ~foo() { }
-+ __iterator begin(); // ERROR -
-+};
-+static void iteratorTest(const foo &x)
-+{
-+ foo::const_iterator i = x.begin(); // ERROR -
-+ for (; i; ++i) // ERROR -
-+ cout << *i;
-+}
---- gcc/testsuite/g++.old-deja/g++.other/crash25.C.jj Fri Oct 27 14:46:25 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash25.C Wed Oct 25 14:14:19 2000
-@@ -0,0 +1,15 @@
-+// Build don't link:
-+
-+class X {
-+public:
-+ X();
-+ virtual ~X();
-+}
-+
-+X::x()
-+{ // ERROR -
-+}
-+
-+X::~x()
-+{ // ERROR -
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-ice.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-ice.patch
deleted file mode 100644
index 68afedb0aa6f..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-ice.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-2000-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * typeck2.c (friendly_abort): Don't ICE if there were errors
- or not implemented features.
-
---- gcc/cp/typeck2.c.jj Mon Jul 24 11:04:21 2000
-+++ gcc/cp/typeck2.c Tue Nov 7 17:50:00 2000
-@@ -256,6 +256,12 @@ friendly_abort (where, file, line, func)
- int line;
- const char *func;
- {
-+ if (errorcount > 0 || sorrycount > 0)
-+ {
-+ error ("confused by earlier errors, bailing out");
-+ exit (34);
-+ }
-+
- if (where > 0)
- error ("Internal error #%d.", where);
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-inline16-test.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-inline16-test.patch
deleted file mode 100644
index 51322b1d2c2c..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-inline16-test.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-2000-10-23 Jakub Jelinek <jakub@redhat.com>
-
- * g++.old-deja/g++.other/inline16.C: New test.
-
---- gcc/testsuite/g++.old-deja/g++.other/inline16.C.jj Mon Oct 23 16:06:28 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/inline16.C Mon Oct 23 16:06:58 2000
-@@ -0,0 +1,24 @@
-+// Build don't link:
-+// Origin: Jakub Jelinek <jakub@redhat.com>
-+// Special g++ Options: -O1
-+
-+struct foo {
-+ bool x;
-+ inline void a (unsigned char y);
-+ inline void b (void);
-+ virtual ~foo ();
-+};
-+
-+foo::~foo ()
-+{
-+}
-+
-+void foo::a (unsigned char y)
-+{
-+ x = ((y & 2) != 0);
-+}
-+
-+void foo::b (void)
-+{
-+ a(0x07);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-named-return-value.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-named-return-value.patch
deleted file mode 100644
index 41be48006dfd..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-named-return-value.patch
+++ /dev/null
@@ -1,711 +0,0 @@
-2000-09-06 Mark Mitchell <mark@codesourcery.com>
-
- * NEWS: Mention that the named return value extension has been
- deprecated.
- * cp-tree.h (original_result_rtx): Define.
- (TREE_REFERENCE_EXPR): Remove.
- (DECL_VPARENT): Likewise.
- (pushdecl_nonclass_level): Likewise.
- (store_return_init): Likewise.
- (reinit_lang_specific): Likewise.
- (genrtl_named_return_value): Change prototype.
- * decl.c (original_result_rtx): Remove.
- (cp_finish_decl): Don't build DECL_STMTs for RESULT_DECLs.
- Do not generate RTL for local variables here.
- (store_return_init): Remove.
- * semantics.c (genrtl_named_return_value): Simplify. Fold in
- store_return_init.
- (finish_named_return_value): Adjust accordingly. Warn that this
- extension is deprecated.
- (lang_expand_stmt): Adjust call to genrtl_named_return_value.
-
-*** gcc/extend.texi 2000/08/11 13:42:32 1.62
---- gcc/extend.texi 2000/09/06 21:14:49
-*************** Previously it was possible to use an emp
-*** 3333,3341 ****
- indicate an unspecified number of parameters (like C), rather than no
- parameters, as C++ demands. This feature has been removed, except where
- it is required for backwards compatibility @xref{Backwards Compatibility}.
--
- @end table
-
- @node Backwards Compatibility
- @section Backwards Compatibility
- @cindex Backwards Compatibility
---- 3333,3343 ----
- indicate an unspecified number of parameters (like C), rather than no
- parameters, as C++ demands. This feature has been removed, except where
- it is required for backwards compatibility @xref{Backwards Compatibility}.
- @end table
-
-+ The named return value extension has been deprecated, and will be
-+ removed from g++ at some point.
-+
- @node Backwards Compatibility
- @section Backwards Compatibility
- @cindex Backwards Compatibility
-*************** test specifically for GNU C++ (@pxref{St
-*** 3379,3385 ****
- Predefined Macros,cpp.info,The C Preprocessor}).
-
- @menu
-- * Naming Results:: Giving a name to C++ function return values.
- * Min and Max:: C++ Minimum and maximum operators.
- * Volatiles:: What constitutes an access to a volatile object.
- * Restricted Pointers:: C99 restricted pointers and references.
---- 3381,3386 ----
-*************** Predefined Macros,cpp.info,The C Preproc
-*** 3390,3508 ****
- * Bound member functions:: You can extract a function pointer to the
- method denoted by a @samp{->*} or @samp{.*} expression.
- @end menu
--
-- @node Naming Results
-- @section Named Return Values in C++
--
-- @cindex @code{return}, in C++ function header
-- @cindex return value, named, in C++
-- @cindex named return value in C++
-- @cindex C++ named return value
-- GNU C++ extends the function-definition syntax to allow you to specify a
-- name for the result of a function outside the body of the definition, in
-- C++ programs:
--
-- @example
-- @group
-- @var{type}
-- @var{functionname} (@var{args}) return @var{resultname};
-- @{
-- @dots{}
-- @var{body}
-- @dots{}
-- @}
-- @end group
-- @end example
--
-- You can use this feature to avoid an extra constructor call when
-- a function result has a class type. For example, consider a function
-- @code{m}, declared as @w{@samp{X v = m ();}}, whose result is of class
-- @code{X}:
--
-- @example
-- X
-- m ()
-- @{
-- X b;
-- b.a = 23;
-- return b;
-- @}
-- @end example
--
-- @cindex implicit argument: return value
-- Although @code{m} appears to have no arguments, in fact it has one implicit
-- argument: the address of the return value. At invocation, the address
-- of enough space to hold @code{v} is sent in as the implicit argument.
-- Then @code{b} is constructed and its @code{a} field is set to the value
-- 23. Finally, a copy constructor (a constructor of the form @samp{X(X&)})
-- is applied to @code{b}, with the (implicit) return value location as the
-- target, so that @code{v} is now bound to the return value.
--
-- But this is wasteful. The local @code{b} is declared just to hold
-- something that will be copied right out. While a compiler that
-- combined an ``elision'' algorithm with interprocedural data flow
-- analysis could conceivably eliminate all of this, it is much more
-- practical to allow you to assist the compiler in generating
-- efficient code by manipulating the return value explicitly,
-- thus avoiding the local variable and copy constructor altogether.
--
-- Using the extended GNU C++ function-definition syntax, you can avoid the
-- temporary allocation and copying by naming @code{r} as your return value
-- at the outset, and assigning to its @code{a} field directly:
--
-- @example
-- X
-- m () return r;
-- @{
-- r.a = 23;
-- @}
-- @end example
--
-- @noindent
-- The declaration of @code{r} is a standard, proper declaration, whose effects
-- are executed @strong{before} any of the body of @code{m}.
--
-- Functions of this type impose no additional restrictions; in particular,
-- you can execute @code{return} statements, or return implicitly by
-- reaching the end of the function body (``falling off the edge'').
-- Cases like
--
-- @example
-- X
-- m () return r (23);
-- @{
-- return;
-- @}
-- @end example
--
-- @noindent
-- (or even @w{@samp{X m () return r (23); @{ @}}}) are unambiguous, since
-- the return value @code{r} has been initialized in either case. The
-- following code may be hard to read, but also works predictably:
--
-- @example
-- X
-- m () return r;
-- @{
-- X b;
-- return b;
-- @}
-- @end example
--
-- The return value slot denoted by @code{r} is initialized at the outset,
-- but the statement @samp{return b;} overrides this value. The compiler
-- deals with this by destroying @code{r} (calling the destructor if there
-- is one, or doing nothing if there is not), and then reinitializing
-- @code{r} with @code{b}.
--
-- This extension is provided primarily to help people who use overloaded
-- operators, where there is a great need to control not just the
-- arguments, but the return values of functions. For classes where the
-- copy constructor incurs a heavy performance penalty (especially in the
-- common case where there is a quick default constructor), this is a major
-- savings. The disadvantage of this extension is that you do not control
-- when the default constructor for the return value is called: it is
-- always called at the beginning.
-
- @node Min and Max
- @section Minimum and Maximum Operators in C++
---- 3391,3396 ----
-*** gcc/cp/NEWS 2000/05/31 19:27:11 1.24
---- gcc/cp/NEWS 2000/09/06 21:14:50
-***************
-*** 36,41 ****
---- 36,47 ----
- * G++ no longer allows you to overload the conditional operator (i.e.,
- the `?:' operator.)
-
-+ * The "named return value" extension:
-+
-+ int f () return r { r = 3; }
-+
-+ has been deprecated, and will be removed in a future version of G++.
-+
- *** Changes in GCC 2.95:
-
- * Messages about non-conformant code that we can still handle ("pedwarns")
-*** gcc/cp/cp-tree.h 2000/09/06 05:52:51 1.522
---- gcc/cp/cp-tree.h 2000/09/06 21:14:53
-*************** struct language_function
-*** 1009,1014 ****
---- 1009,1021 ----
-
- #define doing_semantic_analysis_p() (!expanding_p)
-
-+ /* If original DECL_RESULT of current function was a register,
-+ but due to being an addressable named return value, would up
-+ on the stack, this variable holds the named return value's
-+ original location. */
-+
-+ #define original_result_rtx cp_function_chain->x_result_rtx
-+
- #define in_function_try_handler cp_function_chain->in_function_try_handler
-
- extern tree current_function_return_value;
-*************** extern int flag_new_for_scope;
-*** 2588,2600 ****
- && CONSTRUCTOR_ELTS (NODE) == NULL_TREE \
- && ! TREE_HAS_CONSTRUCTOR (NODE))
-
-- #if 0
-- /* Indicates that a NON_LVALUE_EXPR came from a C++ reference.
-- Used to generate more helpful error message in case somebody
-- tries to take its address. */
-- #define TREE_REFERENCE_EXPR(NODE) (TREE_LANG_FLAG_3(NODE))
-- #endif
--
- /* Nonzero for _TYPE means that the _TYPE defines a destructor. */
- #define TYPE_HAS_DESTRUCTOR(NODE) (TYPE_LANG_FLAG_2(NODE))
-
---- 2595,2600 ----
-*************** extern int flag_new_for_scope;
-*** 2804,2821 ****
-
- /* Define fields and accessors for nodes representing declared names. */
-
-- #if 0
-- /* C++: A derived class may be able to directly use the virtual
-- function table of a base class. When it does so, it may
-- still have a decl node used to access the virtual function
-- table (so that variables of this type can initialize their
-- virtual function table pointers by name). When such thievery
-- is committed, know exactly which base class's virtual function
-- table is the one being stolen. This effectively computes the
-- transitive closure. */
-- #define DECL_VPARENT(NODE) ((NODE)->decl.arguments)
-- #endif
--
- #define TYPE_WAS_ANONYMOUS(NODE) (TYPE_LANG_SPECIFIC (NODE)->was_anonymous)
-
- /* C++: all of these are overloaded! These apply only to TYPE_DECLs. */
---- 2804,2809 ----
-*************** extern int duplicate_decls PARAMS ((tr
-*** 3903,3911 ****
- extern tree pushdecl PARAMS ((tree));
- extern tree pushdecl_top_level PARAMS ((tree));
- extern void pushdecl_class_level PARAMS ((tree));
-- #if 0
-- extern void pushdecl_nonclass_level PARAMS ((tree));
-- #endif
- extern tree pushdecl_namespace_level PARAMS ((tree));
- extern tree push_using_decl PARAMS ((tree, tree));
- extern tree push_using_directive PARAMS ((tree));
---- 3891,3896 ----
-*************** extern void check_goto PARAMS ((tree)
-*** 3918,3926 ****
- extern void define_case_label PARAMS ((void));
- extern tree getdecls PARAMS ((void));
- extern tree gettags PARAMS ((void));
-- #if 0
-- extern void set_current_level_tags_transparency PARAMS ((int));
-- #endif
- extern tree binding_for_name PARAMS ((tree, tree));
- extern tree namespace_binding PARAMS ((tree, tree));
- extern void set_namespace_binding PARAMS ((tree, tree, tree));
---- 3903,3908 ----
-*************** extern void build_enumerator PARAMS ((
-*** 3974,3980 ****
- extern int start_function PARAMS ((tree, tree, tree, int));
- extern void expand_start_early_try_stmts PARAMS ((void));
- extern void store_parm_decls PARAMS ((void));
-- extern void store_return_init PARAMS ((tree));
- extern tree finish_function PARAMS ((int));
- extern tree start_method PARAMS ((tree, tree, tree));
- extern tree finish_method PARAMS ((tree));
---- 3956,3961 ----
-*************** extern tree make_call_declarator PARAMS
-*** 4166,4174 ****
- extern void set_quals_and_spec PARAMS ((tree, tree, tree));
- extern void lang_init PARAMS ((void));
- extern void lang_finish PARAMS ((void));
-- #if 0
-- extern void reinit_lang_specific PARAMS ((void));
-- #endif
- extern void print_parse_statistics PARAMS ((void));
- extern void extract_interface_info PARAMS ((void));
- extern void do_pending_inlines PARAMS ((void));
---- 4147,4152 ----
-*************** extern void genrtl_ctor_stmt
-*** 4464,4471 ****
- extern void genrtl_subobject PARAMS ((tree));
- extern tree genrtl_do_poplevel PARAMS ((void));
- extern void clear_out_block PARAMS ((void));
-! extern void genrtl_named_return_value PARAMS ((tree,
-! tree));
- extern tree begin_global_stmt_expr PARAMS ((void));
- extern tree finish_global_stmt_expr PARAMS ((tree));
-
---- 4442,4448 ----
- extern void genrtl_subobject PARAMS ((tree));
- extern tree genrtl_do_poplevel PARAMS ((void));
- extern void clear_out_block PARAMS ((void));
-! extern void genrtl_named_return_value PARAMS ((void));
- extern tree begin_global_stmt_expr PARAMS ((void));
- extern tree finish_global_stmt_expr PARAMS ((tree));
-
-*** gcc/cp/decl.c 2000/09/06 08:53:44 1.682
---- gcc/cp/decl.c 2000/09/06 21:15:02
-*************** int in_std;
-*** 269,281 ****
- /* Expect only namespace names now. */
- static int only_namespace_names;
-
-- /* If original DECL_RESULT of current function was a register,
-- but due to being an addressable named return value, would up
-- on the stack, this variable holds the named return value's
-- original location. */
--
-- #define original_result_rtx cp_function_chain->x_result_rtx
--
- /* Used only for jumps to as-yet undefined labels, since jumps to
- defined labels can have their validity checked immediately. */
-
---- 269,274 ----
-*************** cp_finish_decl (decl, init, asmspec_tree
-*** 8092,8098 ****
- return;
-
- /* Add this declaration to the statement-tree. */
-! if (building_stmt_tree () && at_function_scope_p ())
- add_decl_stmt (decl);
-
- if (TYPE_HAS_MUTABLE_P (type))
---- 8085,8093 ----
- return;
-
- /* Add this declaration to the statement-tree. */
-! if (building_stmt_tree ()
-! && at_function_scope_p ()
-! && TREE_CODE (decl) != RESULT_DECL)
- add_decl_stmt (decl);
-
- if (TYPE_HAS_MUTABLE_P (type))
-*************** cp_finish_decl (decl, init, asmspec_tree
-*** 8215,8222 ****
- {
- /* If we're not building RTL, then we need to do so
- now. */
-! if (!building_stmt_tree ())
-! emit_local_var (decl);
- /* Initialize the variable. */
- initialize_local_var (decl, init, flags);
- /* Clean up the variable. */
---- 8210,8216 ----
- {
- /* If we're not building RTL, then we need to do so
- now. */
-! my_friendly_assert (building_stmt_tree (), 20000906);
- /* Initialize the variable. */
- initialize_local_var (decl, init, flags);
- /* Clean up the variable. */
-*************** store_parm_decls ()
-*** 14032,14062 ****
- && building_stmt_tree ()
- && TYPE_RAISES_EXCEPTIONS (TREE_TYPE (current_function_decl)))
- current_eh_spec_try_block = expand_start_eh_spec ();
-- }
--
-- /* Bind a name and initialization to the return value of
-- the current function. */
--
-- void
-- store_return_init (decl)
-- tree decl;
-- {
-- /* If this named return value comes in a register, put it in a
-- pseudo-register. */
-- if (DECL_REGISTER (decl))
-- {
-- original_result_rtx = DECL_RTL (decl);
-- /* Note that the mode of the old DECL_RTL may be wider than the
-- mode of DECL_RESULT, depending on the calling conventions for
-- the processor. For example, on the Alpha, a 32-bit integer
-- is returned in a DImode register -- the DECL_RESULT has
-- SImode but the DECL_RTL for the DECL_RESULT has DImode. So,
-- here, we use the mode the back-end has already assigned for
-- the return value. */
-- DECL_RTL (decl) = gen_reg_rtx (GET_MODE (original_result_rtx));
-- if (TREE_ADDRESSABLE (decl))
-- put_var_into_stack (decl);
-- }
- }
-
-
---- 14026,14031 ----
-*** gcc/cp/semantics.c 2000/09/06 05:52:51 1.167
---- gcc/cp/semantics.c 2000/09/06 21:15:04
-*************** finish_decl_cleanup (decl, cleanup)
-*** 1030,1084 ****
- /* Generate the RTL for a RETURN_INIT. */
-
- void
-! genrtl_named_return_value (return_id, init)
-! tree return_id, init;
- {
- tree decl;
-- /* Clear this out so that finish_named_return_value can set it
-- again. */
-- DECL_NAME (DECL_RESULT (current_function_decl)) = NULL_TREE;
-
- decl = DECL_RESULT (current_function_decl);
-- if (pedantic)
-- /* Give this error as many times as there are occurrences,
-- so that users can use Emacs compilation buffers to find
-- and fix all such places. */
-- pedwarn ("ISO C++ does not permit named return values");
--
-- if (return_id != NULL_TREE)
-- {
-- if (DECL_NAME (decl) == NULL_TREE)
-- {
-- DECL_NAME (decl) = return_id;
-- DECL_ASSEMBLER_NAME (decl) = return_id;
-- }
-- else
-- {
-- cp_error ("return identifier `%D' already in place", return_id);
-- return;
-- }
-- }
-
-! /* Can't let this happen for constructors. */
-! if (DECL_CONSTRUCTOR_P (current_function_decl))
-! {
-! error ("can't redefine default return value for constructors");
-! return;
-! }
-
-! /* If we have a named return value, put that in our scope as well. */
-! if (DECL_NAME (decl) != NULL_TREE)
-! {
-! /* Let `cp_finish_decl' know that this initializer is ok. */
-! DECL_INITIAL (decl) = init;
-! cp_finish_decl (decl, init, NULL_TREE, 0);
-! store_return_init (decl);
- }
--
-- /* Don't use tree-inlining for functions with named return values.
-- That doesn't work properly because we don't do any translation of
-- the RETURN_INITs when they are copied. */
-- DECL_UNINLINABLE (current_function_decl) = 1;
- }
-
- /* Bind a name and initialization to the return value of
---- 1030,1059 ----
- /* Generate the RTL for a RETURN_INIT. */
-
- void
-! genrtl_named_return_value ()
- {
- tree decl;
-
- decl = DECL_RESULT (current_function_decl);
-
-! emit_local_var (decl);
-
-! /* If this named return value comes in a register, put it in a
-! pseudo-register. */
-! if (DECL_REGISTER (decl))
-! {
-! original_result_rtx = DECL_RTL (decl);
-! /* Note that the mode of the old DECL_RTL may be wider than the
-! mode of DECL_RESULT, depending on the calling conventions for
-! the processor. For example, on the Alpha, a 32-bit integer
-! is returned in a DImode register -- the DECL_RESULT has
-! SImode but the DECL_RTL for the DECL_RESULT has DImode. So,
-! here, we use the mode the back-end has already assigned for
-! the return value. */
-! DECL_RTL (decl) = gen_reg_rtx (GET_MODE (original_result_rtx));
-! if (TREE_ADDRESSABLE (decl))
-! put_var_into_stack (decl);
- }
- }
-
- /* Bind a name and initialization to the return value of
-*************** finish_named_return_value (return_id, in
-*** 1090,1100 ****
- {
- tree decl = DECL_RESULT (current_function_decl);
-
- if (pedantic)
-- /* Give this error as many times as there are occurrences,
-- so that users can use Emacs compilation buffers to find
-- and fix all such places. */
- pedwarn ("ISO C++ does not permit named return values");
-
- if (return_id != NULL_TREE)
- {
---- 1065,1076 ----
- {
- tree decl = DECL_RESULT (current_function_decl);
-
-+ /* Give this error as many times as there are occurrences, so that
-+ users can use Emacs compilation buffers to find and fix all such
-+ places. */
- if (pedantic)
- pedwarn ("ISO C++ does not permit named return values");
-+ cp_deprecated ("the named return value extension");
-
- if (return_id != NULL_TREE)
- {
-*************** finish_named_return_value (return_id, in
-*** 1124,1130 ****
- DECL_INITIAL (decl) = init;
- if (doing_semantic_analysis_p ())
- pushdecl (decl);
-! add_tree (build_stmt (RETURN_INIT, return_id, init));
- }
-
- /* Don't use tree-inlining for functions with named return values.
---- 1100,1112 ----
- DECL_INITIAL (decl) = init;
- if (doing_semantic_analysis_p ())
- pushdecl (decl);
-! if (!processing_template_decl)
-! {
-! cp_finish_decl (decl, init, NULL_TREE, 0);
-! add_tree (build_stmt (RETURN_INIT, NULL_TREE, NULL_TREE));
-! }
-! else
-! add_tree (build_stmt (RETURN_INIT, return_id, init));
- }
-
- /* Don't use tree-inlining for functions with named return values.
-*************** lang_expand_stmt (t)
-*** 2463,2470 ****
- break;
-
- case RETURN_INIT:
-! genrtl_named_return_value (TREE_OPERAND (t, 0),
-! TREE_OPERAND (t, 1));
- break;
-
- default:
---- 2445,2451 ----
- break;
-
- case RETURN_INIT:
-! genrtl_named_return_value ();
- break;
-
- default:
-*** gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C 1998/12/16 21:22:08 1.2
---- gcc/testsuite/g++.old-deja/g++.benjamin/p13417.C 2000/09/06 21:15:04
-***************
-*** 1,5 ****
- // Build don't link:
-! // Special g++ Options:
- // prms-id: 13417
-
- class Foo {
---- 1,5 ----
- // Build don't link:
-! // Special g++ Options: -Wno-deprecated
- // prms-id: 13417
-
- class Foo {
-*** gcc/testsuite/g++.old-deja/g++.ext/return1.C 2000/06/02 18:19:02 1.2
---- gcc/testsuite/g++.old-deja/g++.ext/return1.C 2000/09/06 21:15:04
-***************
-*** 1,6 ****
- // Test that the named return value extension works when passed as a reference.
- // Origin: Jason Merrill <jason@redhat.com>
-! // Special g++ Options:
-
- void f (int &i)
- {
---- 1,6 ----
- // Test that the named return value extension works when passed as a reference.
- // Origin: Jason Merrill <jason@redhat.com>
-! // Special g++ Options: -Wno-deprecated
-
- void f (int &i)
- {
-*** gcc/testsuite/g++.old-deja/g++.mike/p646.C 2000/07/04 07:47:10 1.4
---- gcc/testsuite/g++.old-deja/g++.mike/p646.C 2000/09/06 21:15:05
-***************
-*** 6,12 ****
- */
-
-
-! // Special g++ Options:
-
- extern "C"
- {
---- 6,12 ----
- */
-
-
-! // Special g++ Options: -Wno-deprecated
-
- extern "C"
- {
-*** gcc/testsuite/g++.old-deja/g++.mike/p700.C 2000/07/25 20:11:43 1.4
---- gcc/testsuite/g++.old-deja/g++.mike/p700.C 2000/09/06 21:15:05
-***************
-*** 1,4 ****
-! // Special g++ Options:
- // prms-id: 700
-
- //# 1 "../../../../libg++/etc/benchmarks/dhrystone.cc"
---- 1,4 ----
-! // Special g++ Options: -Wno-deprecated
- // prms-id: 700
-
- //# 1 "../../../../libg++/etc/benchmarks/dhrystone.cc"
-*** gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C 1999/12/26 15:28:17 1.2
---- gcc/testsuite/g++.old-deja/g++.oliva/nameret1.C 2000/09/06 21:15:06
-***************
-*** 1,11 ****
- // Build don't link:
-! // Copyright (C) 1999 Free Software Foundation
-
- // by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- // distilled from libg++'s Rational.cc
-
-! // Special g++ Options:
-
- inline int bar () return r {}
-
---- 1,11 ----
- // Build don't link:
-! // Copyright (C) 1999, 2000 Free Software Foundation
-
- // by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- // distilled from libg++'s Rational.cc
-
-! // Special g++ Options: -Wno-deprecated
-
- inline int bar () return r {}
-
-*** gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C 1999/12/26 15:28:17 1.4
---- gcc/testsuite/g++.old-deja/g++.oliva/nameret2.C 2000/09/06 21:15:06
-***************
-*** 1,11 ****
- // Build don't link:
-! // Copyright (C) 1999 Free Software Foundation
-
- // by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- // distilled from libg++'s Integer.cc
-
-! // Special g++ Options: -O1
-
- inline int bar () return r {}
-
---- 1,11 ----
- // Build don't link:
-! // Copyright (C) 1999, 2000 Free Software Foundation
-
- // by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
-
- // distilled from libg++'s Integer.cc
-
-! // Special g++ Options: -O1 -Wno-deprecated
-
- inline int bar () return r {}
-
-*** gcc/testsuite/g++.old-deja/g++.robertl/eb101.C 1999/04/29 08:33:55 1.4
---- gcc/testsuite/g++.old-deja/g++.robertl/eb101.C 2000/09/06 21:15:07
-***************
-*** 1,4 ****
-! // Special g++ Options: -fcheck-memory-usage
- // Build don't link:
-
-
---- 1,4 ----
-! // Special g++ Options: -fcheck-memory-usage -Wno-deprecated
- // Build don't link:
-
-
-*** gcc/testsuite/g++.old-deja/g++.robertl/eb27.C 1998/12/16 22:03:42 1.8
---- gcc/testsuite/g++.old-deja/g++.robertl/eb27.C 2000/09/06 21:15:07
-***************
-*** 2,8 ****
- /* simple program to demonstrate the bug with named return values in gcc
- */
- /* (w) 4.9.97 by Kurt Garloff <K.Garloff@ping.de> */
-! // Special g++ Options:
- // 8/28/1998 - This dies in add_conversions from dfs_walk, null CLASSTYPE_METHOD_VEC
- // for the test<T> record_type. This is marked as an expected failure for now,
- // until we actually fix it.
---- 2,8 ----
- /* simple program to demonstrate the bug with named return values in gcc
- */
- /* (w) 4.9.97 by Kurt Garloff <K.Garloff@ping.de> */
-! // Special g++ Options: -Wno-deprecated
- // 8/28/1998 - This dies in add_conversions from dfs_walk, null CLASSTYPE_METHOD_VEC
- // for the test<T> record_type. This is marked as an expected failure for now,
- // until we actually fix it.
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-pmf.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-pmf.patch
deleted file mode 100644
index b39bc682438d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-pmf.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-2000-08-23 Jason Merrill <jason@redhat.com>
-
- * typeck.c (build_ptrmemfunc): Save the input pmf.
-
-*** gcc/cp/typeck.c 2000/08/18 09:31:11 1.304
---- gcc/cp/typeck.c 2000/08/24 01:29:15
-*************** build_ptrmemfunc (type, pfn, force)
-*** 6161,6166 ****
---- 6161,6168 ----
- }
- else
- {
-+ if (TREE_SIDE_EFFECTS (pfn))
-+ pfn = save_expr (pfn);
- ndelta = cp_convert (ptrdiff_type_node,
- build_component_ref (pfn,
- delta_identifier,
-
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-static-class.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-static-class.patch
deleted file mode 100644
index cd90410708d5..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-static-class.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-2000-11-03 Jakub Jelinek <jakub@redhat.com>
-
- * stor-layout.c (layout_decl): If setting previously VOIDmode
- DECL_MODE for decl which has DECL_RTL already set, call
- make_decl_rtl.
-
---- gcc/stor-layout.c.jj Wed Oct 25 17:25:45 2000
-+++ gcc/stor-layout.c Fri Nov 3 17:51:29 2000
-@@ -311,7 +311,14 @@ layout_decl (decl, known_align)
-
- TREE_UNSIGNED (decl) = TREE_UNSIGNED (type);
- if (DECL_MODE (decl) == VOIDmode)
-- DECL_MODE (decl) = TYPE_MODE (type);
-+ {
-+ DECL_MODE (decl) = TYPE_MODE (type);
-+
-+ /* If this DECL has already RTL assigned, make sure its mode is updated
-+ as well. */
-+ if (DECL_RTL (decl))
-+ make_decl_rtl (decl, NULL, 0);
-+ }
-
- if (DECL_SIZE (decl) == 0)
- {
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset1.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset1.patch
deleted file mode 100644
index 9da1ccad518e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset1.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-2000-11-03 Jakub Jelinek <jakub@redhat.com>
-
- * g++.old-deja/g++.other/crash26.C: New test.
- * g++.old-deja/g++.other/crash27.C: New test.
- * g++.old-deja/g++.other/crash28.C: New test.
- * g++.old-deja/g++.other/crash29.C: New test.
-
---- gcc/testsuite/g++.old-deja/g++.other/crash26.C.jj Thu Aug 24 11:00:32 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash26.C Wed Oct 25 14:14:24 2000
-@@ -0,0 +1,12 @@
-+// Build don't link:
-+
-+class foo {
-+public:
-+ foo(int);
-+};
-+
-+void bar(bool x)
-+{
-+ if(x)
-+ foo *a = new foo(foo::not); // ERROR -
-+}
---- gcc/testsuite/g++.old-deja/g++.other/crash27.C.jj Thu Aug 24 11:00:32 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash27.C Wed Oct 25 14:14:29 2000
-@@ -0,0 +1,11 @@
-+// Build don't link:
-+
-+X(Y(long, Type, CLink)); break; default: break; } } } // ERROR -
-+
-+struct A {
-+ inline A ();
-+};
-+
-+inline A::A ()
-+{
-+}
---- gcc/testsuite/g++.old-deja/g++.other/crash28.C.jj Thu Aug 24 11:00:32 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash28.C Fri Nov 3 11:26:58 2000
-@@ -0,0 +1,34 @@
-+// Build don't link:
-+
-+namespace N
-+{
-+ class X;
-+ template <class T>
-+ class Y
-+ {
-+ public:
-+ inline Y () {}
-+ inline operator const Y<X> & () const
-+ {
-+ return *reinterpret_cast<const Y<X> *>(this);
-+ }
-+ };
-+}
-+class bar
-+{
-+public:
-+ inline bar () {}
-+ inline bar (const ::N::Y< ::N::X>& a);
-+};
-+
-+class foo
-+{
-+ bool b;
-+public:
-+ foo();
-+ void x () throw(bar);
-+};
-+void foo::x() throw(bar)
-+{
-+ if (!b) throw bar (static_cast<::N::X*>(this)); // ERROR - parse error
-+}
---- gcc/testsuite/g++.old-deja/g++.other/crash29.C.jj Thu Aug 24 11:00:32 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash29.C Fri Nov 3 11:51:21 2000
-@@ -0,0 +1,12 @@
-+// Build don't link:
-+
-+class bar
-+{
-+public:
-+ void foo ();
-+ void baz ();
-+};
-+void bar::foo ()
-+{
-+ baz x(); // ERROR -
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset2.patch
deleted file mode 100644
index 92a2a84c7119..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-testset2.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-2000-11-03 Jakub Jelinek <jakub@redhat.com>
-
- * g++.old-deja/g++.other/crash30.C: New test.
- * g++.old-deja/g++.other/crash31.C: New test.
- * g++.old-deja/g++.other/crash32.C: New test.
- * g++.old-deja/g++.other/crash33.C: New test.
- * g++.old-deja/g++.other/crash34.C: New test.
-
---- gcc/testsuite/g++.old-deja/g++.other/crash30.C.jj Fri Nov 3 16:28:25 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash30.C Fri Nov 3 13:33:30 2000
-@@ -0,0 +1,16 @@
-+// Build don't link:
-+
-+struct foo
-+{
-+ foo();
-+ void x();
-+};
-+
-+void foo::x() throw(bar) // ERROR - parse error
-+{
-+}
-+
-+void bar()
-+{
-+ foo x;
-+}
---- gcc/testsuite/g++.old-deja/g++.other/crash31.C.jj Fri Nov 3 16:28:25 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash31.C Fri Nov 3 13:46:02 2000
-@@ -0,0 +1,8 @@
-+// Build don't link:
-+
-+namespace bar
-+{
-+struct foo
-+{
-+ foo();
-+}; // ERROR - parse error
---- gcc/testsuite/g++.old-deja/g++.other/crash32.C.jj Fri Nov 3 16:28:25 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash32.C Fri Nov 3 14:36:58 2000
-@@ -0,0 +1,29 @@
-+// Build don't link:
-+
-+struct foo
-+{
-+ enum e
-+ {
-+ not // ERROR -
-+ };
-+ ~foo();
-+ void x (foo *&a, bool b = (unsigned char)0);
-+};
-+
-+namespace N
-+{
-+ struct bar;
-+
-+ template<class T>
-+ struct baz
-+ {
-+ baz(T *p);
-+ };
-+
-+ typedef baz<bar> c;
-+}
-+
-+struct z
-+{
-+ int a;
-+};
---- gcc/testsuite/g++.old-deja/g++.other/crash33.C.jj Fri Nov 3 16:28:25 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash33.C Fri Nov 3 14:52:06 2000
-@@ -0,0 +1,12 @@
-+// Build don't link:
-+
-+template <class T>
-+inline const T& bar(const T& a, const T& b)
-+{
-+ return a < b ? b : a;
-+}
-+
-+int foo(void)
-+{
-+ return bar(sizeof(int), sizeof(long));
-+}
---- gcc/testsuite/g++.old-deja/g++.other/crash34.C.jj Fri Nov 3 16:28:25 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash34.C Fri Nov 3 15:50:27 2000
-@@ -0,0 +1,21 @@
-+// Build don't link:
-+
-+class v
-+{
-+ double x, y;
-+public:
-+ v();
-+};
-+
-+class w : public v {
-+public :
-+ static const w X;
-+ w();
-+};
-+
-+void bar(w x);
-+
-+void foo()
-+{
-+ bar(w::X);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-typedef.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-typedef.patch
deleted file mode 100644
index c2445af47911..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-typedef.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-2000-06-12 Jakub Jelinek <jakub@redhat.com>
-
- * decl.c (pushdecl): Set DECL_ORIGINAL_TYPE of a duplicate TYPE_DECL
- again after calling duplicate_decls.
-
---- gcc/cp/decl.c.jj Mon Jun 12 09:55:42 2000
-+++ gcc/cp/decl.c Mon Jun 12 14:23:56 2000
-@@ -3915,7 +3915,34 @@ pushdecl (x)
- else if (duplicate_decls (x, t))
- {
- if (TREE_CODE (t) == TYPE_DECL)
-- SET_IDENTIFIER_TYPE_VALUE (name, TREE_TYPE (t));
-+ {
-+ /* If declaring a type as a typedef, copy the type (unless
-+ we're at line 0), and install this TYPE_DECL as the new
-+ type's typedef name. See the extensive comment in
-+ ../c-decl.c (pushdecl). */
-+ tree type = TREE_TYPE (t);
-+ if (DECL_ORIGINAL_TYPE (t) == NULL
-+ && DECL_SOURCE_LINE (t) != 0
-+ && type != error_mark_node && TYPE_NAME (type) != t
-+ /* We don't want to copy the type when all we're
-+ doing is making a TYPE_DECL for the purposes of
-+ inlining. */
-+ && (!TYPE_NAME (type)
-+ || TYPE_NAME (type) != DECL_ABSTRACT_ORIGIN (t)))
-+ {
-+ DECL_ORIGINAL_TYPE (t) = type;
-+ type = build_type_copy (type);
-+ TYPE_STUB_DECL (type) =
-+ TYPE_STUB_DECL (DECL_ORIGINAL_TYPE (t));
-+ TYPE_NAME (type) = t;
-+ TREE_TYPE (t) = type;
-+ if (TYPE_IDENTIFIER (type))
-+ set_identifier_type_value_with_scope (DECL_NAME (t),
-+ type, current_binding_level);
-+ }
-+
-+ SET_IDENTIFIER_TYPE_VALUE (name, TREE_TYPE (t));
-+ }
- else if (TREE_CODE (t) == FUNCTION_DECL)
- check_default_args (t);
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-undefined-method.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-undefined-method.patch
deleted file mode 100644
index 044bc1fa8215..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-undefined-method.patch
+++ /dev/null
@@ -1,469 +0,0 @@
-2000-08-04 Mark Mitchell <mark@codesourcery.com>
-
- * cp-tree.h (add_method): Change prototype.
- * class.c (add_method): Remove FIELDS parameter. Add ERROR_P.
- Don't double the size of the method vector in the error case.
- (handle_using_decl): Adjust call to add_method.
- (add_implicitly_declared_members): Likewise.
- (clone_function_decl): Likewise.
- * decl2.c (check_classfn): Likewise.
- * semantics.c (finish_member_declaration): Likewise.
-
---- gcc/cp/class.c.jj Mon Jul 31 20:02:19 2000
-+++ gcc/cp/class.c Tue Oct 31 17:54:17 2000
-@@ -1155,190 +1155,199 @@ add_virtual_function (new_virtuals_p, ov
-
- extern struct obstack *current_obstack;
-
--/* Add method METHOD to class TYPE.
--
-- If non-NULL, FIELDS is the entry in the METHOD_VEC vector entry of
-- the class type where the method should be added. */
-+/* Add method METHOD to class TYPE. If ERROR_P is true, we are adding
-+ the method after the class has already been defined because a
-+ declaration for it was seen. (Even though that is erroneous, we
-+ add the method for improved error recovery.) */
-
- void
--add_method (type, fields, method)
-- tree type, *fields, method;
-+add_method (type, method, error_p)
-+ tree type;
-+ tree method;
-+ int error_p;
- {
- int using = (DECL_CONTEXT (method) != type);
--
-- if (fields && *fields)
-- *fields = build_overload (method, *fields);
-- else
-- {
-- int len;
-- int slot;
-- tree method_vec;
--
-- if (!CLASSTYPE_METHOD_VEC (type))
-- /* Make a new method vector. We start with 8 entries. We must
-- allocate at least two (for constructors and destructors), and
-- we're going to end up with an assignment operator at some
-- point as well.
--
-- We could use a TREE_LIST for now, and convert it to a
-- TREE_VEC in finish_struct, but we would probably waste more
-- memory making the links in the list than we would by
-- over-allocating the size of the vector here. Furthermore,
-- we would complicate all the code that expects this to be a
-- vector. */
-- CLASSTYPE_METHOD_VEC (type) = make_tree_vec (8);
--
-- method_vec = CLASSTYPE_METHOD_VEC (type);
-- len = TREE_VEC_LENGTH (method_vec);
--
-- /* Constructors and destructors go in special slots. */
-- if (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (method))
-- slot = CLASSTYPE_CONSTRUCTOR_SLOT;
-- else if (DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (method))
-- slot = CLASSTYPE_DESTRUCTOR_SLOT;
-- else
-- {
-- /* See if we already have an entry with this name. */
-- for (slot = CLASSTYPE_FIRST_CONVERSION_SLOT; slot < len; ++slot)
-- if (!TREE_VEC_ELT (method_vec, slot)
-- || (DECL_NAME (OVL_CURRENT (TREE_VEC_ELT (method_vec,
-- slot)))
-- == DECL_NAME (method)))
-- break;
-+ int len;
-+ int slot;
-+ tree method_vec;
-+
-+ if (!CLASSTYPE_METHOD_VEC (type))
-+ /* Make a new method vector. We start with 8 entries. We must
-+ allocate at least two (for constructors and destructors), and
-+ we're going to end up with an assignment operator at some point
-+ as well.
-+
-+ We could use a TREE_LIST for now, and convert it to a TREE_VEC
-+ in finish_struct, but we would probably waste more memory
-+ making the links in the list than we would by over-allocating
-+ the size of the vector here. Furthermore, we would complicate
-+ all the code that expects this to be a vector. */
-+ CLASSTYPE_METHOD_VEC (type) = make_tree_vec (8);
-+
-+ method_vec = CLASSTYPE_METHOD_VEC (type);
-+ len = TREE_VEC_LENGTH (method_vec);
-+
-+ /* Constructors and destructors go in special slots. */
-+ if (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (method))
-+ slot = CLASSTYPE_CONSTRUCTOR_SLOT;
-+ else if (DECL_MAYBE_IN_CHARGE_DESTRUCTOR_P (method))
-+ slot = CLASSTYPE_DESTRUCTOR_SLOT;
-+ else
-+ {
-+ /* See if we already have an entry with this name. */
-+ for (slot = CLASSTYPE_FIRST_CONVERSION_SLOT; slot < len; ++slot)
-+ if (!TREE_VEC_ELT (method_vec, slot)
-+ || (DECL_NAME (OVL_CURRENT (TREE_VEC_ELT (method_vec,
-+ slot)))
-+ == DECL_NAME (method)))
-+ break;
-
-- if (slot == len)
-+ if (slot == len)
-+ {
-+ /* We need a bigger method vector. */
-+ int new_len;
-+ tree new_vec;
-+
-+ /* In the non-error case, we are processing a class
-+ definition. Double the size of the vector to give room
-+ for new methods. */
-+ if (!error_p)
-+ new_len = 2 * len;
-+ /* In the error case, the vector is already complete. We
-+ don't expect many errors, and the rest of the front-end
-+ will get confused if there are empty slots in the vector. */
-+ else
-+ new_len = len + 1;
-+
-+ new_vec = make_tree_vec (new_len);
-+ bcopy ((PTR) &TREE_VEC_ELT (method_vec, 0),
-+ (PTR) &TREE_VEC_ELT (new_vec, 0),
-+ len * sizeof (tree));
-+ len = new_len;
-+ method_vec = CLASSTYPE_METHOD_VEC (type) = new_vec;
-+ }
-+
-+ if (DECL_CONV_FN_P (method) && !TREE_VEC_ELT (method_vec, slot))
-+ {
-+ /* Type conversion operators have to come before ordinary
-+ methods; add_conversions depends on this to speed up
-+ looking for conversion operators. So, if necessary, we
-+ slide some of the vector elements up. In theory, this
-+ makes this algorithm O(N^2) but we don't expect many
-+ conversion operators. */
-+ for (slot = 2; slot < len; ++slot)
- {
-- /* We need a bigger method vector. */
-- tree new_vec = make_tree_vec (2 * len);
-- bcopy ((PTR) &TREE_VEC_ELT (method_vec, 0),
-- (PTR) &TREE_VEC_ELT (new_vec, 0),
-- len * sizeof (tree));
-- len = 2 * len;
-- method_vec = CLASSTYPE_METHOD_VEC (type) = new_vec;
-- }
--
-- if (DECL_CONV_FN_P (method) && !TREE_VEC_ELT (method_vec, slot))
-- {
-- /* Type conversion operators have to come before
-- ordinary methods; add_conversions depends on this to
-- speed up looking for conversion operators. So, if
-- necessary, we slide some of the vector elements up.
-- In theory, this makes this algorithm O(N^2) but we
-- don't expect many conversion operators. */
-- for (slot = 2; slot < len; ++slot)
-- {
-- tree fn = TREE_VEC_ELT (method_vec, slot);
-+ tree fn = TREE_VEC_ELT (method_vec, slot);
-
-- if (!fn)
-- /* There are no more entries in the vector, so we
-- can insert the new conversion operator here. */
-- break;
-+ if (!fn)
-+ /* There are no more entries in the vector, so we
-+ can insert the new conversion operator here. */
-+ break;
-
-- if (!DECL_CONV_FN_P (OVL_CURRENT (fn)))
-- /* We can insert the new function right at the
-- SLOTth position. */
-- break;
-- }
-+ if (!DECL_CONV_FN_P (OVL_CURRENT (fn)))
-+ /* We can insert the new function right at the
-+ SLOTth position. */
-+ break;
-+ }
-
-- if (!TREE_VEC_ELT (method_vec, slot))
-- /* There is nothing in the Ith slot, so we can avoid
-- moving anything. */
-+ if (!TREE_VEC_ELT (method_vec, slot))
-+ /* There is nothing in the Ith slot, so we can avoid
-+ moving anything. */
- ;
-- else
-- {
-- /* We know the last slot in the vector is empty
-- because we know that at this point there's room
-- for a new function. */
-- bcopy ((PTR) &TREE_VEC_ELT (method_vec, slot),
-- (PTR) &TREE_VEC_ELT (method_vec, slot + 1),
-- (len - slot - 1) * sizeof (tree));
-- TREE_VEC_ELT (method_vec, slot) = NULL_TREE;
-- }
-+ else
-+ {
-+ /* We know the last slot in the vector is empty
-+ because we know that at this point there's room
-+ for a new function. */
-+ bcopy ((PTR) &TREE_VEC_ELT (method_vec, slot),
-+ (PTR) &TREE_VEC_ELT (method_vec, slot + 1),
-+ (len - slot - 1) * sizeof (tree));
-+ TREE_VEC_ELT (method_vec, slot) = NULL_TREE;
- }
- }
-+ }
-
-- if (template_class_depth (type))
-- /* TYPE is a template class. Don't issue any errors now; wait
-- until instantiation time to complain. */
-- ;
-- else
-- {
-- tree fns;
-+ if (template_class_depth (type))
-+ /* TYPE is a template class. Don't issue any errors now; wait
-+ until instantiation time to complain. */
-+ ;
-+ else
-+ {
-+ tree fns;
-
-- /* Check to see if we've already got this method. */
-- for (fns = TREE_VEC_ELT (method_vec, slot);
-- fns;
-- fns = OVL_NEXT (fns))
-- {
-- tree fn = OVL_CURRENT (fns);
-+ /* Check to see if we've already got this method. */
-+ for (fns = TREE_VEC_ELT (method_vec, slot);
-+ fns;
-+ fns = OVL_NEXT (fns))
-+ {
-+ tree fn = OVL_CURRENT (fns);
-
-- if (TREE_CODE (fn) != TREE_CODE (method))
-- continue;
-+ if (TREE_CODE (fn) != TREE_CODE (method))
-+ continue;
-
-- if (TREE_CODE (method) != TEMPLATE_DECL)
-+ if (TREE_CODE (method) != TEMPLATE_DECL)
-+ {
-+ /* [over.load] Member function declarations with the
-+ same name and the same parameter types cannot be
-+ overloaded if any of them is a static member
-+ function declaration. */
-+ if ((DECL_STATIC_FUNCTION_P (fn)
-+ != DECL_STATIC_FUNCTION_P (method))
-+ || using)
- {
-- /* [over.load] Member function declarations with the
-- same name and the same parameter types cannot be
-- overloaded if any of them is a static member
-- function declaration. */
-- if ((DECL_STATIC_FUNCTION_P (fn)
-- != DECL_STATIC_FUNCTION_P (method))
-- || using)
-- {
-- tree parms1 = TYPE_ARG_TYPES (TREE_TYPE (fn));
-- tree parms2 = TYPE_ARG_TYPES (TREE_TYPE (method));
-+ tree parms1 = TYPE_ARG_TYPES (TREE_TYPE (fn));
-+ tree parms2 = TYPE_ARG_TYPES (TREE_TYPE (method));
-
-- if (! DECL_STATIC_FUNCTION_P (fn))
-- parms1 = TREE_CHAIN (parms1);
-- if (! DECL_STATIC_FUNCTION_P (method))
-- parms2 = TREE_CHAIN (parms2);
--
-- if (compparms (parms1, parms2))
-- {
-- if (using)
-- /* Defer to the local function. */
-- return;
-- else
-- cp_error ("`%#D' and `%#D' cannot be overloaded",
-- fn, method);
-- }
-- }
-+ if (! DECL_STATIC_FUNCTION_P (fn))
-+ parms1 = TREE_CHAIN (parms1);
-+ if (! DECL_STATIC_FUNCTION_P (method))
-+ parms2 = TREE_CHAIN (parms2);
-
-- /* Since this is an ordinary function in a
-- non-template class, it's mangled name can be used
-- as a unique identifier. This technique is only
-- an optimization; we would get the same results if
-- we just used decls_match here. */
-- if (DECL_ASSEMBLER_NAME (fn)
-- != DECL_ASSEMBLER_NAME (method))
-- continue;
-+ if (compparms (parms1, parms2))
-+ {
-+ if (using)
-+ /* Defer to the local function. */
-+ return;
-+ else
-+ cp_error ("`%#D' and `%#D' cannot be overloaded",
-+ fn, method);
-+ }
- }
-- else if (!decls_match (fn, method))
-- continue;
-
-- /* There has already been a declaration of this method
-- or member template. */
-- cp_error_at ("`%D' has already been declared in `%T'",
-- method, type);
--
-- /* We don't call duplicate_decls here to merge the
-- declarations because that will confuse things if the
-- methods have inline definitions. In particular, we
-- will crash while processing the definitions. */
-- return;
-+ /* Since this is an ordinary function in a
-+ non-template class, it's mangled name can be used
-+ as a unique identifier. This technique is only
-+ an optimization; we would get the same results if
-+ we just used decls_match here. */
-+ if (DECL_ASSEMBLER_NAME (fn)
-+ != DECL_ASSEMBLER_NAME (method))
-+ continue;
- }
-+ else if (!decls_match (fn, method))
-+ continue;
-+
-+ /* There has already been a declaration of this method
-+ or member template. */
-+ cp_error_at ("`%D' has already been declared in `%T'",
-+ method, type);
-+
-+ /* We don't call duplicate_decls here to merge the
-+ declarations because that will confuse things if the
-+ methods have inline definitions. In particular, we
-+ will crash while processing the definitions. */
-+ return;
- }
-+ }
-
-- /* Actually insert the new method. */
-- TREE_VEC_ELT (method_vec, slot)
-- = build_overload (method, TREE_VEC_ELT (method_vec, slot));
-+ /* Actually insert the new method. */
-+ TREE_VEC_ELT (method_vec, slot)
-+ = build_overload (method, TREE_VEC_ELT (method_vec, slot));
-
- /* Add the new binding. */
-- if (!DECL_CONSTRUCTOR_P (method)
-- && !DECL_DESTRUCTOR_P (method))
-- push_class_level_binding (DECL_NAME (method),
-- TREE_VEC_ELT (method_vec, slot));
-- }
-+ if (!DECL_CONSTRUCTOR_P (method)
-+ && !DECL_DESTRUCTOR_P (method))
-+ push_class_level_binding (DECL_NAME (method),
-+ TREE_VEC_ELT (method_vec, slot));
- }
-
- /* Subroutines of finish_struct. */
-@@ -1567,7 +1576,7 @@ handle_using_decl (using_decl, t)
- if (flist)
- for (; flist; flist = OVL_NEXT (flist))
- {
-- add_method (t, 0, OVL_CURRENT (flist));
-+ add_method (t, OVL_CURRENT (flist), /*error_p=*/0);
- alter_access (t, OVL_CURRENT (flist), access);
- }
- else
-@@ -3146,7 +3155,7 @@ add_implicitly_declared_members (t, cant
- /* Now, hook all of the new functions on to TYPE_METHODS,
- and add them to the CLASSTYPE_METHOD_VEC. */
- for (f = &implicit_fns; *f; f = &TREE_CHAIN (*f))
-- add_method (t, 0, *f);
-+ add_method (t, *f, /*error_p=*/0);
- *f = TYPE_METHODS (t);
- TYPE_METHODS (t) = implicit_fns;
-
-@@ -4203,10 +4212,10 @@ clone_function_decl (fn, update_method_v
- and a not-in-charge version. */
- clone = build_clone (fn, complete_ctor_identifier);
- if (update_method_vec_p)
-- add_method (DECL_CONTEXT (clone), NULL, clone);
-+ add_method (DECL_CONTEXT (clone), clone, /*error_p=*/0);
- clone = build_clone (fn, base_ctor_identifier);
- if (update_method_vec_p)
-- add_method (DECL_CONTEXT (clone), NULL, clone);
-+ add_method (DECL_CONTEXT (clone), clone, /*error_p=*/0);
- }
- else
- {
-@@ -4220,13 +4229,13 @@ clone_function_decl (fn, update_method_v
- function table. */
- clone = build_clone (fn, deleting_dtor_identifier);
- if (update_method_vec_p)
-- add_method (DECL_CONTEXT (clone), NULL, clone);
-+ add_method (DECL_CONTEXT (clone), clone, /*error_p=*/0);
- clone = build_clone (fn, complete_dtor_identifier);
- if (update_method_vec_p)
-- add_method (DECL_CONTEXT (clone), NULL, clone);
-+ add_method (DECL_CONTEXT (clone), clone, /*error_p=*/0);
- clone = build_clone (fn, base_dtor_identifier);
- if (update_method_vec_p)
-- add_method (DECL_CONTEXT (clone), NULL, clone);
-+ add_method (DECL_CONTEXT (clone), clone, /*error_p=*/0);
- }
- }
-
---- gcc/cp/cp-tree.h.jj Mon Oct 30 23:54:07 2000
-+++ gcc/cp/cp-tree.h Tue Oct 31 17:54:17 2000
-@@ -3794,7 +3794,7 @@ extern tree build_vbase_path PARAMS ((
- extern tree build_vtbl_ref PARAMS ((tree, tree));
- extern tree build_vfn_ref PARAMS ((tree *, tree, tree));
- extern tree get_vtable_decl PARAMS ((tree, int));
--extern void add_method PARAMS ((tree, tree *, tree));
-+extern void add_method PARAMS ((tree, tree, int));
- extern int currently_open_class PARAMS ((tree));
- extern tree currently_open_derived_class PARAMS ((tree));
- extern tree get_vfield_offset PARAMS ((tree));
---- gcc/cp/decl2.c.jj Mon Oct 30 23:54:04 2000
-+++ gcc/cp/decl2.c Tue Oct 31 17:54:17 2000
-@@ -1544,7 +1544,7 @@ check_classfn (ctype, function)
- case we'll only confuse ourselves when the function is declared
- properly within the class. */
- if (COMPLETE_TYPE_P (ctype))
-- add_method (ctype, methods, function);
-+ add_method (ctype, function, /*error_p=*/1);
- return NULL_TREE;
- }
-
---- gcc/cp/semantics.c.jj Mon Oct 30 23:54:07 2000
-+++ gcc/cp/semantics.c Tue Oct 31 17:54:17 2000
-@@ -1951,7 +1951,7 @@ finish_member_declaration (decl)
- {
- /* We also need to add this function to the
- CLASSTYPE_METHOD_VEC. */
-- add_method (current_class_type, 0, decl);
-+ add_method (current_class_type, decl, /*error_p=*/0);
-
- TREE_CHAIN (decl) = TYPE_METHODS (current_class_type);
- TYPE_METHODS (current_class_type) = decl;
---- gcc/testsuite/g++.old-deja/g++.other/crash21.C.jj Tue Oct 31 17:54:17 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash21.C Tue Oct 31 17:54:17 2000
-@@ -0,0 +1,14 @@
-+// Build don't link:
-+// Origin: Gabriel Dos Reis <gdr@codesourcery.com>
-+
-+struct A {
-+ virtual void f(int&) const;
-+};
-+
-+struct B : public A {
-+ int x;
-+};
-+
-+void B::f(int& t) { // ERROR - undeclared method
-+ x = t;
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-walk-tree.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-walk-tree.patch
deleted file mode 100644
index 480ed6d96251..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c++-walk-tree.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-2000-10-20 Jason Merrill <jason@redhat.com>
-
- * tree.c (walk_tree): Don't walk into default args.
-
-*** gcc/cp/tree.c.~1~ Thu Sep 21 18:01:50 2000
---- gcc/cp/tree.c Fri Oct 20 16:37:12 2000
-*************** walk_tree (tp, func, data, htab)
-*** 1388,1394 ****
-
- case FUNCTION_TYPE:
- WALK_SUBTREE (TREE_TYPE (*tp));
-! WALK_SUBTREE (TYPE_ARG_TYPES (*tp));
- break;
-
- case ARRAY_TYPE:
---- 1388,1400 ----
-
- case FUNCTION_TYPE:
- WALK_SUBTREE (TREE_TYPE (*tp));
-! {
-! tree arg = TYPE_ARG_TYPES (*tp);
-!
-! /* We never want to walk into default arguments. */
-! for (; arg; arg = TREE_CHAIN (arg))
-! WALK_SUBTREE (TREE_VALUE (arg));
-! }
- break;
-
- case ARRAY_TYPE:
-
---- gcc/testsuite/g++.old-deja/g++.other/inline15.C.jj Wed Oct 18 14:37:36 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/inline15.C Wed Oct 18 14:37:52 2000
-@@ -0,0 +1,31 @@
-+// Build don't link:
-+// Origin: Jakub Jelinek <jakub@redhat.com>
-+// Special g++ Options: -O1
-+
-+class Type;
-+template<class E>
-+class X
-+{
-+public:
-+ X<E>();
-+ inline X<E>(int);
-+ inline ~X<E>();
-+};
-+template<class E> const Type &foo(const X<E> *);
-+template<class E> inline X<E>::X(int x)
-+{
-+ const Type &a = foo(this);
-+}
-+template<class E> inline X<E>::~X()
-+{
-+ const Type &a = foo(this);
-+}
-+class Y
-+{
-+ X<Type> a;
-+public:
-+ Y(const X<Type> &x = X<Type>());
-+};
-+Y::Y(const X<Type> &x) : a(1)
-+{
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c99.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c99.patch
deleted file mode 100644
index 061253f224a1..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-c99.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-gcc/ChangeLog:
-2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
- CTI_UNSIGNED_PTRDIFF_TYPE.
- (signed_size_type_node): Define.
- (unsigned_ptrdiff_type_node): Define.
- * c-decl.c (init_decl_processing): Create the
- signed_size_type_node and unsigned_ptrdiff_type_node types.
- * c-common.c (T_SC): Define.
- (T_SST): Define.
- (T_UPD): Define.
- (print_char_table): Use T_SST for %zd, %zi, %zn. Use T_UPD for
- %to, %tu, %tx, %tX. Allow %hhn (T_SC). Add "c" to the flags for
- %s and %p.
- (scan_char_table): Use T_SC for %hhd, %hhi, %hhn. Use T_SST for
- %zd, %zi, %zn. Use T_UPD for %to, %tu, %tx, %tX. Add "c" to the
- flags for %c, %s and %[.
- (check_format_info): Only allow leniency for signedness of targets
- of character pointers (when pedantic) for formats flagged with
- "c", so for strings but not for %hh formats. When pedantic, don't
- allow character pointers to substitute for void pointers if a
- second level of indirection is present.
-
-gcc/testsuite/ChangeLog:
-2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c99-printf-1.c: New test.
-
---- gcc/c-common.h Sat Aug 5 20:36:33 2000
-+++ gcc/c-common.h Sat Aug 5 20:36:56 2000
-@@ -92,6 +92,8 @@ enum c_tree_index
- CTI_SIGNED_WCHAR_TYPE,
- CTI_UNSIGNED_WCHAR_TYPE,
- CTI_WINT_TYPE,
-+ CTI_SIGNED_SIZE_TYPE, /* For format checking only. */
-+ CTI_UNSIGNED_PTRDIFF_TYPE, /* For format checking only. */
- CTI_WIDEST_INT_LIT_TYPE,
- CTI_WIDEST_UINT_LIT_TYPE,
-
-@@ -124,6 +126,8 @@ enum c_tree_index
- #define signed_wchar_type_node c_global_trees[CTI_SIGNED_WCHAR_TYPE]
- #define unsigned_wchar_type_node c_global_trees[CTI_UNSIGNED_WCHAR_TYPE]
- #define wint_type_node c_global_trees[CTI_WINT_TYPE]
-+#define signed_size_type_node c_global_trees[CTI_SIGNED_SIZE_TYPE]
-+#define unsigned_ptrdiff_type_node c_global_trees[CTI_UNSIGNED_PTRDIFF_TYPE]
- #define widest_integer_literal_type_node c_global_trees[CTI_WIDEST_INT_LIT_TYPE]
- #define widest_unsigned_literal_type_node c_global_trees[CTI_WIDEST_UINT_LIT_TYPE]
-
---- gcc/c-decl.c Sat Aug 5 20:36:35 2000
-+++ gcc/c-decl.c Sat Aug 5 20:36:56 2000
-@@ -3003,6 +3003,7 @@ init_decl_processing ()
- Note that stddef.h uses `unsigned long',
- and this must agree, even if long and int are the same size. */
- t = TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (SIZE_TYPE)));
-+ signed_size_type_node = signed_type (t);
- if (flag_traditional && TREE_UNSIGNED (t))
- t = signed_type (t);
-
-@@ -3086,6 +3087,7 @@ init_decl_processing ()
- = build_function_type (integer_type_node, NULL_TREE);
- ptrdiff_type_node
- = TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (PTRDIFF_TYPE)));
-+ unsigned_ptrdiff_type_node = unsigned_type (ptrdiff_type_node);
-
- c_common_nodes_and_builtins (0, flag_no_builtin, flag_no_nonansi_builtin);
-
---- gcc/c-common.c Sat Aug 5 20:36:33 2000
-+++ gcc/c-common.c Sat Aug 5 20:38:01 2000
-@@ -1190,12 +1190,15 @@ strip_attrs (specs_attrs)
- #define T_D &double_type_node
- #define T_LD &long_double_type_node
- #define T_C &char_type_node
-+#define T_SC &signed_char_type_node
- #define T_UC &unsigned_char_type_node
- #define T_V &void_type_node
- #define T_W &wchar_type_node
- #define T_WI &wint_type_node
- #define T_ST &sizetype
-+#define T_SST &signed_size_type_node
- #define T_PD &ptrdiff_type_node
-+#define T_UPD &unsigned_ptrdiff_type_node
- #define T_IM NULL /* intmax_t not yet implemented. */
- #define T_UIM NULL /* uintmax_t not yet implemented. */
-
-@@ -1233,33 +1236,33 @@ typedef struct {
- } format_char_info;
-
- static format_char_info print_char_table[] = {
-- { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, T_PD, T_IM, "-wp0 +'" },
-- { "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "-wp0#" },
-- { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "-wp0'" },
-+ { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_SST, T_PD, T_IM, "-wp0 +'" },
-+ { "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "-wp0#" },
-+ { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "-wp0'" },
- /* A GNU extension. */
- { "m", 0, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
- { "fFgG", 0, T_D, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "-wp0 +#'" },
- { "eEaA", 0, T_D, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "-wp0 +#" },
- { "c", 0, T_I, NULL, NULL, T_WI, NULL, NULL, NULL, NULL, NULL, "-w" },
- { "C", 0, T_WI, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-- { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "-wp" },
-+ { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "-wpc" },
- { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
-- { "p", 1, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-- { "n", 1, T_I, NULL, T_S, T_L, T_LL, NULL, T_ST, T_PD, T_IM, "" },
-+ { "p", 1, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wc" },
-+ { "n", 1, T_I, T_SC, T_S, T_L, T_LL, NULL, T_SST, T_PD, T_IM, "" },
- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
- };
-
- static format_char_info scan_char_table[] = {
-- { "di", 1, T_I, T_C, T_S, T_L, T_LL, T_LL, T_ST, T_PD, T_IM, "*" },
-- { "ouxX", 1, T_UI, T_UC, T_US, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "*" },
-+ { "di", 1, T_I, T_SC, T_S, T_L, T_LL, T_LL, T_SST, T_PD, T_IM, "*" },
-+ { "ouxX", 1, T_UI, T_UC, T_US, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "*" },
- { "efFgEGaA", 1, T_F, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "*" },
-- { "c", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*" },
-- { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*a" },
-- { "[", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*a" },
-+ { "c", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*c" },
-+ { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*ac" },
-+ { "[", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*ac" },
- { "C", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
- { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*a" },
- { "p", 2, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
-- { "n", 1, T_I, T_C, T_S, T_L, T_LL, NULL, T_ST, T_PD, T_IM, "" },
-+ { "n", 1, T_I, T_SC, T_S, T_L, T_LL, NULL, T_SST, T_PD, T_IM, "" },
- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
- };
-
-@@ -2074,8 +2077,10 @@ check_format_info (info, params)
- || (DECL_P (cur_param) && TREE_READONLY (cur_param))))))
- warning ("writing into constant object (arg %d)", arg_num);
-
-- /* Check whether the argument type is a character type. */
-- if (TREE_CODE (cur_type) != ERROR_MARK)
-+ /* Check whether the argument type is a character type. This leniency
-+ only applies to certain formats, flagged with 'c'.
-+ */
-+ if (TREE_CODE (cur_type) != ERROR_MARK && index (fci->flag_chars, 'c') != 0)
- char_type_flag = (TYPE_MAIN_VARIANT (cur_type) == char_type_node
- || TYPE_MAIN_VARIANT (cur_type) == signed_char_type_node
- || TYPE_MAIN_VARIANT (cur_type) == unsigned_char_type_node);
-@@ -2093,7 +2098,7 @@ check_format_info (info, params)
- && fci->pointer_count > 0
- && (! pedantic
- || TYPE_MAIN_VARIANT (cur_type) == void_type_node
-- || char_type_flag))
-+ || (i == 1 && char_type_flag)))
- /* Don't warn about differences merely in signedness, unless
- -pedantic. With -pedantic, warn if the type is a pointer
- target and not a character type, and for character types at
-@@ -2109,8 +2114,7 @@ check_format_info (info, params)
- equivalent but the above test won't consider them equivalent. */
- && ! (wanted_type == char_type_node
- && (! pedantic || i < 2)
-- && (TYPE_MAIN_VARIANT (cur_type) == signed_char_type_node
-- || TYPE_MAIN_VARIANT (cur_type) == unsigned_char_type_node)))
-+ && char_type_flag))
- {
- register const char *this;
- register const char *that;
---- gcc/testsuite/gcc.dg/c99-printf-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c99-printf-1.c Sat Aug 5 22:37:13 2000
-@@ -0,0 +1,217 @@
-+/* Test for printf formats. Formats using C99 features, including cases
-+ where C99 specifies some aspect of the format to be ignored or where
-+ the behaviour is undefined.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+typedef __WINT_TYPE__ wint_t;
-+typedef __SIZE_TYPE__ size_t;
-+typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+
-+/* Kludge to get signed type corresponding to size_t. */
-+#define unsigned signed
-+typedef __SIZE_TYPE__ signed_size_t;
-+#undef unsigned
-+
-+/* These next definitions are broken. When GCC has a <stdint.h> and
-+ an internal understanding of intmax_t and uintmax_t, they should be
-+ replaced by an include of <stdint.h> or by definitions for internal
-+ macros or typedefs, and the corresponding xfails removed.
-+*/
-+typedef long long int intmax_t;
-+typedef unsigned long long int uintmax_t;
-+
-+extern int printf (const char *, ...);
-+
-+#define NULL ((void *)0)
-+
-+void
-+foo (int i, unsigned int u, double d, char *s, void *p, int *n,
-+ long double ld, wint_t lc, wchar_t *ls, long long int ll,
-+ unsigned long long int ull, signed char *ss, unsigned char *us,
-+ long long int *lln, intmax_t j, uintmax_t uj, intmax_t *jn,
-+ size_t z, signed_size_t sz, signed_size_t *zn,
-+ ptrdiff_t t, ptrdiff_t *tn)
-+{
-+ /* See ISO/IEC 9899:1999 (E) subclause 7.19.6.1 (pages 273-281).
-+ We do not repeat here most of the checks for correct C90 formats
-+ or completely broken formats.
-+ */
-+ /* Valid and invalid %h, %hh, %l, %ll, %j, %z, %t, %L constructions. */
-+ printf ("%hf", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hF", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%he", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hE", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hg", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hG", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%ha", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hA", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hc", i); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hp", p); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hhd%hhi%hho%hhu%hhx%hhX", i, i, u, u, u, u);
-+ printf ("%hhn", ss);
-+ printf ("%hhf", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhF", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhe", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhE", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhg", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhG", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hha", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhA", d); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhc", i); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhs", s); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%hhp", p); /* { dg-warning "length character" "bad use of %hh" } */
-+ printf ("%lc", lc);
-+ printf ("%ls", ls);
-+ printf ("%lf%lF%le%lE%lg%lG%la%lA", d, d, d, d, d, d, d, d);
-+ printf ("%lp", p); /* { dg-warning "length character|C" "bad use of %l" } */
-+ printf ("%lld%lli%llo%llu%llx%llX", ll, ll, ull, ull, ull, ull);
-+ printf ("%lln", lln);
-+ printf ("%llf", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%llF", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%lle", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%llE", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%llg", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%llG", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%lla", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%llA", d); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%llc", i); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%lls", s); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%llp", p); /* { dg-warning "length character" "bad use of %ll" } */
-+ printf ("%jd%ji%jo%ju%jx%jX", j, j, uj, uj, uj, uj); /* { dg-bogus "length character" "bogus %j warning" { xfail *-*-* } } */
-+ printf ("%jn", jn); /* { dg-bogus "length character" "bogus %j warning" { xfail *-*-* } } */
-+ printf ("%jf", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%jF", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%je", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%jE", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%jg", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%jG", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%ja", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%jA", d); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%jc", i); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%js", s); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%jp", p); /* { dg-warning "length character" "bad use of %j" } */
-+ printf ("%zd%zi%zo%zu%zx%zX", sz, sz, z, z, z, z);
-+ printf ("%zn", zn);
-+ printf ("%zf", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zF", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%ze", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zE", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zg", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zG", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%za", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zA", d); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zc", i); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zs", s); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%zp", p); /* { dg-warning "length character" "bad use of %z" } */
-+ printf ("%td%ti%to%tu%tx%tX", t, t, t, t, t, t);
-+ printf ("%tn", tn);
-+ printf ("%tf", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%tF", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%te", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%tE", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%tg", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%tG", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%ta", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%tA", d); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%tc", i); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%ts", s); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%tp", p); /* { dg-warning "length character" "bad use of %t" } */
-+ printf ("%Le%LE%Lf%LF%Lg%LG%La%LA", ld, ld, ld, ld, ld, ld, ld, ld);
-+ /* These next six are accepted by GCC as referring to long long,
-+ but -pedantic correctly warns.
-+ */
-+ printf ("%Ld", ll); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Li", ll); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lo", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lu", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lx", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%LX", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lc", i); /* { dg-warning "length character" "bad use of %L" } */
-+ printf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-+ printf ("%Lp", p); /* { dg-warning "length character" "bad use of %L" } */
-+ printf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
-+ /* Valid uses of each bare conversion. */
-+ printf ("%d%i%o%u%x%X%f%F%e%E%g%G%a%A%c%s%p%n%%", i, i, u, u, u, u,
-+ d, d, d, d, d, d, d, d, i, s, p, n);
-+ /* Uses of the - flag (valid on all non-%, non-n conversions). */
-+ printf ("%-d%-i%-o%-u%-x%-X%-f%-F%-e%-E%-g%-G%-a%-A%-c%-s%-p", i, i,
-+ u, u, u, u, d, d, d, d, d, d, d, d, i, s, p);
-+ printf ("%-n", n); /* { dg-warning "flag" "bad use of %-n" } */
-+ /* Uses of the + flag (valid on signed conversions only). */
-+ printf ("%+d%+i%+f%+F%+e%+E%+g%+G%+a%+A\n", i, i, d, d, d, d, d, d, d, d);
-+ printf ("%+o", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+u", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+x", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+X", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+c", i); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+s", s); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+p", p); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+n", n); /* { dg-warning "flag" "bad use of + flag" } */
-+ /* Uses of the space flag (valid on signed conversions only, and ignored
-+ with +).
-+ */
-+ printf ("% +d", i); /* { dg-warning "use of both" "use of space and + flags" } */
-+ printf ("%+ d", i); /* { dg-warning "use of both" "use of space and + flags" } */
-+ printf ("% d% i% f% F% e% E% g% G% a% A\n", i, i, d, d, d, d, d, d, d, d);
-+ printf ("% o", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% u", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% x", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% X", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% c", i); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% s", s); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% p", p); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% n", n); /* { dg-warning "flag" "bad use of space flag" } */
-+ /* Uses of the # flag. */
-+ printf ("%#o%#x%#X%#e%#E%#f%#F%#g%#G%#a%#A", u, u, u, d, d, d, d,
-+ d, d, d, d);
-+ printf ("%#d", i); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#i", i); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#u", u); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#c", i); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#s", s); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#p", p); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#n", n); /* { dg-warning "flag" "bad use of # flag" } */
-+ /* Uses of the 0 flag. */
-+ printf ("%08d%08i%08o%08u%08x%08X%08e%08E%08f%08F%08g%08G%08a%08A", i, i,
-+ u, u, u, u, d, d, d, d, d, d, d, d);
-+ printf ("%0c", i); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ printf ("%0s", s); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ printf ("%0p", p); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ printf ("%0n", n); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ /* 0 flag ignored with precision for certain types, not others. */
-+ printf ("%08.5d", i); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5i", i); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5o", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5u", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5x", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5X", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5f%08.5F%08.5e%08.5E%08.5g%08.5G%08.5a%08.5A",
-+ d, d, d, d, d, d, d, d);
-+ /* 0 flag ignored with - flag. */
-+ printf ("%-08d", i); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08i", i); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08o", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08u", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08x", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08X", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08e", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08E", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08f", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08F", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08g", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08G", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08a", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08A", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ /* Various tests of bad argument types. Mostly covered in c90-printf-1.c;
-+ here just test for pointer target sign with %hhn. (Probably allowed
-+ by the standard, but a bad idea, so GCC should diagnose if what
-+ is used is not signed char *.)
-+ */
-+ printf ("%hhn", s); /* { dg-warning "format" "%hhn plain char" } */
-+ printf ("%hhn", us); /* { dg-warning "format" "%hhn unsigned char" } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-callersave-segv.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-callersave-segv.patch
deleted file mode 100644
index 578914a8dd96..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-callersave-segv.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-2000-10-10 Jakub Jelinek <jakub@redhat.com>
-
- * reload1.c (calculate_needs_all_insns): If deleting an instruction,
- remove its insn_chain structure as well.
-
- * gcc.dg/20001009-1.c: New test.
-
---- gcc/reload1.c.jj Thu Sep 28 10:33:03 2000
-+++ gcc/reload1.c Mon Oct 9 13:14:51 2000
-@@ -1330,15 +1330,17 @@ calculate_needs_all_insns (global)
- int global;
- {
- struct insn_chain **pprev_reload = &insns_need_reload;
-- struct insn_chain *chain;
-+ struct insn_chain *chain, *next = 0;
-
- something_needs_elimination = 0;
-
- reload_insn_firstobj = (char *) obstack_alloc (&reload_obstack, 0);
-- for (chain = reload_insn_chain; chain != 0; chain = chain->next)
-+ for (chain = reload_insn_chain; chain != 0; chain = next)
- {
- rtx insn = chain->insn;
-
-+ next = chain->next;
-+
- /* Clear out the shortcuts. */
- chain->n_reloads = 0;
- chain->need_elim = 0;
-@@ -1394,6 +1396,15 @@ calculate_needs_all_insns (global)
- PUT_CODE (insn, NOTE);
- NOTE_SOURCE_FILE (insn) = 0;
- NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
-+ /* Delete it from the reload chain */
-+ if (chain->prev)
-+ chain->prev->next = next;
-+ else
-+ reload_insn_chain = next;
-+ if (next)
-+ next->prev = chain->prev;
-+ chain->next = unused_insn_chains;
-+ unused_insn_chains = chain;
- continue;
- }
- }
---- gcc/testsuite/gcc.dg/20001009-1.c.jj Mon Oct 9 13:16:02 2000
-+++ gcc/testsuite/gcc.dg/20001009-1.c Mon Oct 9 13:17:22 2000
-@@ -0,0 +1,47 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -fpic" } */
-+
-+extern void foo (void *a, double x, double y);
-+void
-+bar (void *a, double b, double c, double d, double e, double f, double g, double h, double i, double j, double k[6])
-+{
-+ double l, m, n, o, p;
-+ double q, r, s, t, u;
-+ double x, y, v, w;
-+ double z = 0.5 * j;
-+ double aa;
-+ l = b - 3 * d;
-+ m = 4 * f;
-+ n = f - h;
-+ q = c + 3 * g - i;
-+ r = 2 * (e - 2 * g + i);
-+ s = g - i;
-+ if (l != 0.0)
-+ {
-+ aa = 0.0;
-+ o = (- m + aa);
-+ p = (- m - aa);
-+ if (o > 0.0)
-+ {
-+ x = ((b-h)*o + 3*(d+h)*o + 3*(f-h)*o);
-+ y = ((c-i)*o + 3*(e+i)*o + 3*(g-i)*o);
-+ foo (a, z, w);
-+ foo (a, -z, w);
-+ }
-+ if (p > 0.0)
-+ {
-+ x = ((b+3*f-h)*p + 3*(d-2*f+h)*p + 3*p);
-+ y = ((c+3*g-i)*p + 3*(e-2*g+i)*p + 3*p);
-+ v = x * k[0] + y * k[2];
-+ w = x * k[1] + y * k[3];
-+ foo (a, z, w);
-+ foo (a, - z, w);
-+ }
-+ }
-+ if (q != 0.0)
-+ {
-+ aa = 0.0;
-+ t = (- r + aa) / (2 * q);
-+ u = (- r - aa) / (2 * q);
-+ }
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-canon-cond.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-canon-cond.patch
deleted file mode 100644
index 7e842546026d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-canon-cond.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Mon Jul 31 11:46:59 CEST 2000 Jan Hubicka <jh@suse.cz>
-
- * loop.c (canonicalize_condition): Use destination, not source to
- determine SET's mode.
-
-*** gcc/loop.c.bug Mon Jul 31 11:45:37 2000
---- gcc/loop.c Mon Jul 31 11:45:39 2000
-*************** canonicalize_condition (insn, cond, reve
-*** 9024,9030 ****
- relevant. */
- if (rtx_equal_p (SET_DEST (set), op0))
- {
-! enum machine_mode inner_mode = GET_MODE (SET_SRC (set));
-
- /* ??? We may not combine comparisons done in a CCmode with
- comparisons not done in a CCmode. This is to aid targets
---- 9024,9030 ----
- relevant. */
- if (rtx_equal_p (SET_DEST (set), op0))
- {
-! enum machine_mode inner_mode = GET_MODE (SET_DEST (set));
-
- /* ??? We may not combine comparisons done in a CCmode with
- comparisons not done in a CCmode. This is to aid targets
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-clear-hack.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-clear-hack.patch
deleted file mode 100644
index a56673820e3d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-clear-hack.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Addition of clear() causes libstdc++ not to bootstrap on i386.
-Until this is resolved, I'm removing it again.
-
---- libstdc++/std/bastring.h.jj Sat Jul 15 19:53:09 2000
-+++ libstdc++/std/bastring.h Mon Mar 13 12:02:40 2000
-@@ -346,8 +346,6 @@ public:
- { resize (n, eos ()); }
- void reserve (size_type) { }
-
-- void clear() { erase(begin(), end()); }
--
- size_type copy (charT* s, size_type n, size_type pos = 0) const;
-
- size_type find (const basic_string& str, size_type pos = 0) const
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-combine-comparison.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-combine-comparison.patch
deleted file mode 100644
index 13a3247afc29..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-combine-comparison.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-2000-08-01 Jakub Jelinek <jakub@redhat.com>
-
- * combine.c (combine_simplify_rtx): Use op0_mode and only
- try other modes if op0_mode is VOIDmode.
-
---- gcc/combine.c.jj Mon Jul 31 20:02:09 2000
-+++ gcc/combine.c Tue Aug 1 14:31:43 2000
-@@ -3640,7 +3640,9 @@ combine_simplify_rtx (x, op0_mode, last,
- break;
- case '<':
- {
-- enum machine_mode cmp_mode = GET_MODE (XEXP (x, 0));
-+ enum machine_mode cmp_mode =
-+ op0_mode == VOIDmode ? GET_MODE (XEXP (x, 0)) : op0_mode;
-+
- if (cmp_mode == VOIDmode)
- cmp_mode = GET_MODE (XEXP (x, 1));
- temp = simplify_relational_operation (code, cmp_mode,
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-commutative.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-commutative.patch
deleted file mode 100644
index 5e394c39610c..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-commutative.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-Wed Aug 2 09:51:32 CEST 2000 Jan Hubicka <jh@suse.cz>
-
- * rtlanal.c (swap_commutative_operands_p): New function.
- * rtl.h (swap_commutative_operands_p): Declare.
- * simplify-rtx.c (simplify_gen_binary, simplify_relational_operation):
- use it.
- * combine.c (combine_simplify_rtx): Likewise.
- (simplify_comparison): Likewise.
- * recog.c (validate_replace_rtx_1): Likewise.
-
-*** gcc/rtlanal.c Mon Jul 31 20:07:38 2000
---- gcc/rtlanal.c Wed Aug 2 01:18:47 2000
-*************** regno_use_in (regno, x)
-*** 2256,2261 ****
---- 2256,2293 ----
- return NULL_RTX;
- }
-
-+ /* Return 1 if it is desirable to swap operands of commutative operation.
-+ We take care to not return 1 when the swap is not neccesary. */
-+ int
-+ swap_commutative_operands_p (x, y)
-+ rtx x, y;
-+ {
-+ /* Constant ought to go second. */
-+ if (CONSTANT_P (x))
-+ {
-+ /* When first operand is not constant, always swap. */
-+ if (!CONSTANT_P (y))
-+ return 1;
-+ /* Const int is always the second. */
-+ if (GET_CODE (x) == CONST_INT && GET_CODE (y) != CONST_INT)
-+ return 1;
-+ /* If not available make const_double the second. */
-+ if (GET_CODE (x) == CONST_DOUBLE && GET_CODE (y) != CONST_DOUBLE)
-+ return 1;
-+ }
-+ /* Complex expression is always comming the first. */
-+ if (GET_RTX_CLASS (GET_CODE (x)) == 'o'
-+ && GET_RTX_CLASS (GET_CODE (y)) != 'o')
-+ return 1;
-+ /* SUBREG is primitive operand, so put it the second. */
-+ if (GET_CODE (x) == SUBREG
-+ && GET_RTX_CLASS (GET_CODE (SUBREG_REG (x))) == 'o'
-+ && GET_RTX_CLASS (GET_CODE (y)) != 'o'
-+ && (GET_CODE (x) != SUBREG
-+ || GET_RTX_CLASS (GET_CODE (SUBREG_REG (y))) != 'o'))
-+ return 1;
-+ return 0;
-+ }
-
- /* Return 1 if X is an autoincrement side effect and the register is
- not the stack pointer. */
-*** gcc/rtl.h Tue Jul 25 23:33:16 2000
---- gcc/rtl.h Mon Jul 31 22:46:55 2000
-*************** extern int reg_used_between_p PARAMS ((
-*** 1260,1265 ****
---- 1260,1266 ----
- extern int reg_referenced_between_p PARAMS ((rtx, rtx, rtx));
- extern int reg_set_between_p PARAMS ((rtx, rtx, rtx));
- extern int regs_set_between_p PARAMS ((rtx, rtx, rtx));
-+ extern int swap_commutative_operands_p PARAMS ((rtx, rtx));
- extern int modified_between_p PARAMS ((rtx, rtx, rtx));
- extern int no_labels_between_p PARAMS ((rtx, rtx));
- extern int no_jumps_between_p PARAMS ((rtx, rtx));
-*** gcc/simplify-rtx.c Mon Jul 31 22:07:01 2000
---- gcc/simplify-rtx.c Wed Aug 2 09:43:03 2000
-*************** simplify_gen_binary (code, mode, op0, op
-*** 199,210 ****
-
- /* Put complex operands first and constants second if commutative. */
- if (GET_RTX_CLASS (code) == 'c'
-! && ((CONSTANT_P (op0) && GET_CODE (op1) != CONST_INT)
-! || (GET_RTX_CLASS (GET_CODE (op0)) == 'o'
-! && GET_RTX_CLASS (GET_CODE (op1)) != 'o')
-! || (GET_CODE (op0) == SUBREG
-! && GET_RTX_CLASS (GET_CODE (SUBREG_REG (op0))) == 'o'
-! && GET_RTX_CLASS (GET_CODE (op1)) != 'o')))
- tem = op0, op0 = op1, op1 = tem;
-
- /* If this simplifies, do it. */
---- 199,205 ----
-
- /* Put complex operands first and constants second if commutative. */
- if (GET_RTX_CLASS (code) == 'c'
-! && swap_commutative_operands_p (op0, op1))
- tem = op0, op0 = op1, op1 = tem;
-
- /* If this simplifies, do it. */
-*************** simplify_relational_operation (code, mod
-*** 1710,1717 ****
- return 0;
-
- /* Make sure the constant is second. */
-! if ((CONSTANT_P (op0) && ! CONSTANT_P (op1))
-! || (GET_CODE (op0) == CONST_INT && GET_CODE (op1) != CONST_INT))
- {
- tem = op0, op0 = op1, op1 = tem;
- code = swap_condition (code);
---- 1710,1716 ----
- return 0;
-
- /* Make sure the constant is second. */
-! if (swap_commutative_operands_p (op0, op1))
- {
- tem = op0, op0 = op1, op1 = tem;
- code = swap_condition (code);
-*** gcc/combine.c Mon Jul 31 21:55:15 2000
---- gcc/combine.c Wed Aug 2 09:43:27 2000
-*************** combine_simplify_rtx (x, op0_mode, last,
-*** 3492,3503 ****
- /* If this is a commutative operation, put a constant last and a complex
- expression first. We don't need to do this for comparisons here. */
- if (GET_RTX_CLASS (code) == 'c'
-! && ((CONSTANT_P (XEXP (x, 0)) && GET_CODE (XEXP (x, 1)) != CONST_INT)
-! || (GET_RTX_CLASS (GET_CODE (XEXP (x, 0))) == 'o'
-! && GET_RTX_CLASS (GET_CODE (XEXP (x, 1))) != 'o')
-! || (GET_CODE (XEXP (x, 0)) == SUBREG
-! && GET_RTX_CLASS (GET_CODE (SUBREG_REG (XEXP (x, 0)))) == 'o'
-! && GET_RTX_CLASS (GET_CODE (XEXP (x, 1))) != 'o')))
- {
- temp = XEXP (x, 0);
- SUBST (XEXP (x, 0), XEXP (x, 1));
---- 3533,3539 ----
- /* If this is a commutative operation, put a constant last and a complex
- expression first. We don't need to do this for comparisons here. */
- if (GET_RTX_CLASS (code) == 'c'
-! && swap_commutative_operands_p (XEXP (x, 0), XEXP (x, 1)))
- {
- temp = XEXP (x, 0);
- SUBST (XEXP (x, 0), XEXP (x, 1));
-*************** simplify_comparison (code, pop0, pop1)
-*** 10074,10080 ****
- /* If the first operand is a constant, swap the operands and adjust the
- comparison code appropriately, but don't do this if the second operand
- is already a constant integer. */
-! if (CONSTANT_P (op0) && GET_CODE (op1) != CONST_INT)
- {
- tem = op0, op0 = op1, op1 = tem;
- code = swap_condition (code);
---- 10150,10156 ----
- /* If the first operand is a constant, swap the operands and adjust the
- comparison code appropriately, but don't do this if the second operand
- is already a constant integer. */
-! if (swap_commutative_operands_p (op0, op1))
- {
- tem = op0, op0 = op1, op1 = tem;
- code = swap_condition (code);
-*** gcc/recog.c Fri Jul 21 00:01:48 2000
---- gcc/recog.c Mon Jul 31 23:47:35 2000
-*************** validate_replace_rtx_1 (loc, from, to, o
-*** 435,441 ****
-
- validate_replace_rtx_1 (&XEXP (x, 0), from, to, object);
- validate_replace_rtx_1 (&XEXP (x, 1), from, to, object);
-! if (prev_changes != num_changes && CONSTANT_P (XEXP (x, 0)))
- {
- validate_change (object, loc,
- gen_rtx_fmt_ee (GET_RTX_CLASS (code) == 'c' ? code
---- 438,445 ----
-
- validate_replace_rtx_1 (&XEXP (x, 0), from, to, object);
- validate_replace_rtx_1 (&XEXP (x, 1), from, to, object);
-! if (prev_changes != num_changes
-! && swap_commutative_operands_p (XEXP (x, 0), XEXP (x, 1)))
- {
- validate_change (object, loc,
- gen_rtx_fmt_ee (GET_RTX_CLASS (code) == 'c' ? code
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cp-ii.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cp-ii.patch
deleted file mode 100644
index b54883de2b7c..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cp-ii.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-2000-07-28 Jason Merrill <jason@redhat.com>
-
- * lang-specs.h: Use %i in rule for .ii files.
-
-*** gcc/cp/lang-specs.h 2000/07/31 18:29:57 1.26
---- gcc/cp/lang-specs.h 2000/07/31 20:58:01
-*************** Boston, MA 02111-1307, USA. */
-*** 51,55 ****
- {".ii", "@c++-cpp-output"},
- {"@c++-cpp-output",
- "%{!M:%{!MM:%{!E:\
-! cc1plus -fpreprocessed %{!pipe:%g.ii} %(cc1_options) %{+e*}\
- %{!S:-o %{|!pipe:%g.s} |\n as %(asm_options) %{!pipe:%g.s} %A }}}}"},
---- 51,55 ----
- {".ii", "@c++-cpp-output"},
- {"@c++-cpp-output",
- "%{!M:%{!MM:%{!E:\
-! cc1plus -fpreprocessed %i %(cc1_options) %{+e*}\
- %{!S:-o %{|!pipe:%g.s} |\n as %(asm_options) %{!pipe:%g.s} %A }}}}"},
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-assert-crash.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-assert-crash.patch
deleted file mode 100644
index a104e6fc2071..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-assert-crash.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-2000-10-30 Jakub Jelinek <jakub@redhat.com>
-
- * cpplib.c (_cpp_parse_assertion): Don't crash if -A is given on the
- command line to cpp without opening paren.
-
---- gcc/cpplib.c.jj Fri Oct 27 18:40:14 2000
-+++ gcc/cpplib.c Mon Oct 30 12:41:30 2000
-@@ -1226,7 +1226,7 @@ _cpp_parse_assertion (pfile, answerp)
- if (token->type == CPP_EOF)
- goto lookup_node;
- }
-- else if (d != &dtable[T_ASSERT])
-+ else if (d != &dtable[T_ASSERT] && d)
- {
- _cpp_push_token (pfile, token);
- goto lookup_node;
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warn.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warn.patch
deleted file mode 100644
index 5bc3949d6d60..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warn.patch
+++ /dev/null
@@ -1,1213 +0,0 @@
-2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
-
- * cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
- cppspec.c: Do not use 'legal' or 'illegal' in error messages
- and comments.
-
- * cpplex.c (maybe_paste_with_next): When the token after a ##
- is an omitted rest argument, only delete the token before it
- if that token is a comma. Do not warn about bogus token
- pastes for , ## rest_arg.
-
- * cpp.texi: Update.
- * cpp.1: Regenerate.
-
- * gcc.dg/cpp/macsyntx.c: Fix error regexp.
-
---- gcc/cppexp.c 2000/07/24 21:49:34 1.71
-+++ gcc/cppexp.c 2000/08/02 06:56:27
-@@ -193,7 +193,7 @@ parse_number (pfile, tok)
- {
- /* Check for a floating point constant. Note that float constants
- with an exponent or suffix but no decimal point are technically
-- illegal (C99 6.4.4.2) but accepted elsewhere. */
-+ invalid (C99 6.4.4.2) but accepted elsewhere. */
- if ((c == '.' || c == 'F' || c == 'f')
- || (base == 10 && (c == 'E' || c == 'e')
- && p+1 < end && (p[1] == '+' || p[1] == '-'))
---- gcc/cppinit.c 2000/08/02 01:13:43 1.98
-+++ gcc/cppinit.c 2000/08/02 06:56:27
-@@ -785,7 +785,7 @@ cpp_start_read (pfile, print, fname)
- if (CPP_OPTION (pfile, cplusplus))
- CPP_OPTION (pfile, warn_traditional) = 0;
-
-- /* Do not warn about illegal token pasting if -lang-asm. */
-+ /* Do not warn about invalid token pasting if -lang-asm. */
- if (CPP_OPTION (pfile, lang_asm))
- CPP_OPTION (pfile, warn_paste) = 0;
-
---- gcc/cpplex.c 2000/08/02 01:13:43 1.84
-+++ gcc/cpplex.c 2000/08/02 06:56:28
-@@ -201,6 +201,10 @@ TOKEN_LEN (token)
-
- #define IS_ARG_CONTEXT(c) ((c)->flags & CONTEXT_ARG)
- #define CURRENT_CONTEXT(pfile) ((pfile)->contexts + (pfile)->cur_context)
-+#define ON_REST_ARG(c) \
-+ (((c)->flags & VAR_ARGS) \
-+ && (c)->u.list->tokens[(c)->posn].val.aux \
-+ == (unsigned int) ((c)->u.list->paramc - 1))
-
- #define ASSIGN_FLAGS_AND_POS(d, s) \
- do {(d)->flags = (s)->flags & (PREV_WHITE | BOL | PASTE_LEFT); \
-@@ -990,7 +994,7 @@ parse_name (pfile, tok, cur, rlimit)
- {
- if (! is_idchar (*cur))
- break;
-- /* $ is not a legal identifier character in the standard, but is
-+ /* $ is not a identifier character in the standard, but is
- commonly accepted as an extension. Don't warn about it in
- skipped conditional blocks. */
- if (*cur == '$' && CPP_PEDANTIC (pfile) && ! pfile->skipping)
-@@ -2732,10 +2736,11 @@ maybe_paste_with_next (pfile, token)
- pasted = duplicate_token (pfile, second);
- else if (second->type == CPP_PLACEMARKER)
- {
-- /* GCC has special extended semantics for a ## b where b is
-- a varargs parameter: a disappears if b was given no actual
-- arguments (not merely if b is an empty argument). */
-- if (second->flags & VOID_REST)
-+ /* GCC has special extended semantics for , ## b where b is
-+ a varargs parameter: the comma disappears if b was given
-+ no actual arguments (not merely if b is an empty
-+ argument). */
-+ if (token->type == CPP_COMMA && second->flags & VOID_REST)
- pasted = duplicate_token (pfile, second);
- else
- pasted = duplicate_token (pfile, token);
-@@ -2748,8 +2753,19 @@ maybe_paste_with_next (pfile, token)
- if (type == CPP_EOF)
- {
- if (CPP_OPTION (pfile, warn_paste))
-- cpp_warning (pfile,
-+ {
-+ /* Do not complain about , ## <whatever> if
-+ <whatever> came from a variable argument, because
-+ the author probably intended the ## to trigger
-+ the special extended semantics (see above). */
-+ if (token->type == CPP_COMMA
-+ && IS_ARG_CONTEXT (CURRENT_CONTEXT (pfile))
-+ && ON_REST_ARG (CURRENT_CONTEXT (pfile) - 1))
-+ /* no warning */;
-+ else
-+ cpp_warning (pfile,
- "pasting would not give a valid preprocessing token");
-+ }
- _cpp_push_token (pfile, second);
- return token;
- }
-@@ -3287,7 +3303,7 @@ lex_next (pfile, clear)
-
- /* Pops a context off the context stack. If we're at the bottom, lexes
- the next logical line. Returns EOF if we're at the end of the
-- argument list to the # operator, or if it is illegal to "overflow"
-+ argument list to the # operator, or we should not "overflow"
- into the rest of the file (e.g. 6.10.3.1.1). */
- static int
- pop_context (pfile)
---- gcc/cpplib.c 2000/08/02 01:13:44 1.194
-+++ gcc/cpplib.c 2000/08/02 06:56:28
-@@ -433,7 +433,7 @@ read_line_number (pfile, num)
-
- /* Another subroutine of do_line. Convert a number in STR, of length
- LEN, to binary; store it in NUMP, and return 0 if the number was
-- legal, 1 if not. Temporary, hopefully. */
-+ well-formed, 1 if not. Temporary, hopefully. */
- static int
- strtoul_for_line (str, len, nump)
- const U_CHAR *str;
---- gcc/cppmacro.c 2000/08/02 01:13:44 1.5
-+++ gcc/cppmacro.c 2000/08/02 06:56:29
-@@ -127,7 +127,7 @@ count_params (pfile, info)
- {
- default:
- cpp_error_with_line (pfile, token->line, token->col,
-- "illegal token in macro parameter list");
-+ "token may not appear in macro parameter list");
- return;
-
- case CPP_EOF:
-@@ -462,7 +462,7 @@ save_expansion (pfile, info)
- else
- dest->flags = token->flags; /* Particularly PREV_WHITE. */
- /* Turn off PREV_WHITE if we immediately follow a paste.
-- That way, even if the paste turns out to be illegal, there
-+ That way, even if the paste turns out to be invalid, there
- will be no space between the two tokens in the output. */
- if (token[-1].type == CPP_PASTE)
- dest->flags &= ~PREV_WHITE;
---- gcc/cppspec.c 2000/07/04 00:01:11 1.9
-+++ gcc/cppspec.c 2000/08/02 06:56:29
-@@ -125,7 +125,7 @@ lang_specific_driver (in_argc, in_argv,
- need_E = 0;
- else if (argv[i][1] == 'S' || argv[i][1] == 'c')
- {
-- fatal ("\"%s\" is not a legal option to the preprocessor",
-+ fatal ("\"%s\" is not a valid option to the preprocessor",
- argv[i]);
- return;
- }
---- gcc/testsuite/gcc.dg/cpp/macsyntx.c 2000/07/20 17:57:38 1.4
-+++ gcc/testsuite/gcc.dg/cpp/macsyntx.c 2000/08/02 06:56:30
-@@ -28,7 +28,7 @@
- #define foo(, X) /* { dg-error "parameter name" } */
- #define foo(X, X) /* { dg-error "duplicate" } */
- #define foo(X Y) /* { dg-error "comma" } */
--#define foo(() /* { dg-error "illegal token" } */
-+#define foo(() /* { dg-error "token may not appear" } */
- #define foo(..., X) /* { dg-error "missing" } */
- #define foo \
- __VA_ARGS__ /* { dg-warning "__VA_ARGS__" } */
---- gcc/cpp.texi 2000/07/27 02:19:28 1.29
-+++ gcc/cpp.texi 2000/08/02 06:56:27
-@@ -116,13 +116,13 @@ C preprocessors vary in some details. T
- preprocessor, which provides a small superset of the features of ISO
- Standard C@.
-
--ISO Standard C requires the rejection of many harmless constructs
--commonly used by today's C programs. Such incompatibility would be
--inconvenient for users, so the GNU C preprocessor is configured to
--accept these constructs by default. Strictly speaking, to get ISO
--Standard C, you must use the options @samp{-trigraphs}, @samp{-undef}
--and @samp{-pedantic}, but in practice the consequences of having strict
--ISO Standard C make it undesirable to do this. @xref{Invocation}.
-+In its default mode, the GNU C preprocessor does not do a few things
-+required by the standard. These are features which are rarely, if ever,
-+used, and may cause surprising changes to the meaning of a program which
-+does not expect them. To get strict ISO Standard C, you should use the
-+@samp{-std=c89} or @samp{-std=c99} options, depending on which version
-+of the standard you want. To get all the mandatory diagnostics, you
-+must also use @samp{-pedantic}. @xref{Invocation}.
-
- @c man end
-
-@@ -172,11 +172,10 @@ Predefined macro names are replaced with
- (@pxref{Predefined}).
- @end itemize
-
--The first three transformations are done @emph{before} nearly all other
--parsing and before preprocessing directives are recognized. Thus, for
--example, you can split a line cosmetically with backslash-newline
--anywhere (except within trigraphs since they are replaced first; see
--below).
-+The first three transformations are done @emph{before} all other parsing
-+and before preprocessing directives are recognized. Thus, for example,
-+you can split a line mechanically with backslash-newline anywhere
-+(except within trigraphs since they are replaced first; see below).
-
- @example
- /*
-@@ -188,39 +187,44 @@ O 10\
- @end example
-
- @noindent
--is equivalent into @samp{#define FOO 1020}. You can split even an
--escape sequence with backslash-newline. For example, you can split
--@code{"foo\bar"} between the @samp{\} and the @samp{b} to get
-+is equivalent into @samp{#define FOO 1020}.
-
-+There is no way to prevent a backslash at the end of a line from being
-+interpreted as a backslash-newline. For example,
-+
- @example
- "foo\\
- bar"
- @end example
-
--@noindent
--This behavior can be confusing: in all other contexts, a backslash can
--be inserted in a string constant as an ordinary character by writing a
--double backslash. This is an exception, but the ISO C standard requires
--it. (Strict ISO C does not allow string constants to extend to more
--than one logical line, so they do not consider this a problem.)
-+is equivalent to @code{"foo\bar"}, not to @code{"foo\\bar"}. To avoid
-+having to worry about this, do not use the GNU extension which permits
-+multiline strings. Instead, use string constant concatenation:
-
-+@example
-+ "foo\\"
-+ "bar"
-+@end example
-+
-+Your program will be more portable this way, too.
-+
- There are a few exceptions to all three transformations.
-
- @itemize @bullet
- @item
--C comments and predefined macro names are not recognized inside a
--@samp{#include} directive in which the file name is delimited with
--@samp{<} and @samp{>}. What lies in-between is read literally.
-+Comments and predefined macro names (or any macro names, for that
-+matter) are not recognized inside the argument of an @samp{#include}
-+directive, whether it is delimited with quotes or with @samp{<} and
-+@samp{>}.
-
- @item
--C comments and predefined macro names are never recognized within a
-+Comments and predefined macro names are never recognized within a
- character or string constant. (Strictly speaking, this is the rule,
- not an exception, but it is worth noting here anyway.)
-
- @item
--Backslash-newline may not safely be used within an ISO ``trigraph'',
--since trigraphs are converted before backslash-newlines are deleted. If
--you write what looks like a trigraph with a backslash-newline inside,
-+ISO ``trigraphs'' are converted before backslash-newlines are deleted.
-+If you write what looks like a trigraph with a backslash-newline inside,
- the backslash-newline is deleted as usual, but it is then too late to
- recognize the trigraph.
-
-@@ -234,7 +238,7 @@ are referring not to the two-character e
- single character ASCII NUL.
-
- There are three different contexts in which a null character may
--appear:-
-+appear:
-
- @itemize @bullet
- @item
-@@ -367,13 +371,6 @@ for header files with the command option
- The option @samp{-nostdinc} inhibits searching the standard system
- directories; in this case only the directories you specify are searched.
-
--The parsing of this form of @samp{#include} is slightly special because
--comments are not recognized within the @samp{<@dots{}>}. Thus, in
--@samp{#include <x/*y>} the @samp{/*} does not start a comment and the
--directive specifies inclusion of a system header file named @file{x/*y}.
--Of course, a header file with such a name is unlikely to exist on Unix,
--where shell wildcard features would make it hard to manipulate.@refill
--
- The first @samp{>} character terminates the file name. The file name
- may contain a @samp{<} character.
-
-@@ -384,15 +381,22 @@ same directories used for system header
- the directory of the current input file. It is tried first because it
- is presumed to be the location of the files that the current input file
- refers to. (If the @samp{-I-} option is used, the special treatment of
--the current directory is inhibited.)
-+the current directory is inhibited. @xref{Invocation}.)
-
--The first @samp{"} character terminates the file name. If backslashes
--occur within @var{file}, they are considered ordinary text characters,
--not escape characters. None of the character escape sequences
--appropriate to string constants in C are processed. Thus,
--@samp{#include "x\n\\y"} specifies a filename containing three
--backslashes.
-+The first @samp{"} character terminates the file name.
-
-+In both these variants, the argument behaves like a string constant in
-+that comments are not recognized, and macro names are not expanded.
-+Thus, in @samp{#include <x/*y>} the @samp{/*} does not start a comment
-+and the directive specifies inclusion of a system header file named
-+@file{x/*y}.
-+
-+However, in either variant, if backslashes occur within @var{file}, they
-+are considered ordinary text characters, not escape characters. None of
-+the character escape sequences appropriate to string constants in C are
-+processed. Thus, @samp{#include "x\n\\y"} specifies a filename
-+containing three backslashes.
-+
- @item #include @var{anything else}
- @cindex computed @samp{#include}
- This variant is called a @dfn{computed #include}. Any @samp{#include}
-@@ -914,23 +918,45 @@ eprintf ("%s:%d: ", input_file_name, lin
- @expansion{}
- fprintf (stderr, "%s:%d: " , input_file_name, line_number)
- @end example
-+
-+Within a @samp{#define} directive, ISO C mandates that the only place
-+the identifier @code{__VA_ARGS__} can appear is in the replacement list
-+of a variable-argument macro. It may not be used as a macro name, macro
-+argument name, or within a different type of macro. It may also be
-+forbidden in open text; the standard is ambiguous. We recommend you
-+avoid using it except for its defined purpose.
-+
-+If your macro is complicated, you may want a more descriptive name for
-+the variable argument than @code{__VA_ARGS__}. GNU CPP permits this, as
-+an extension. You may write an argument name immediately before the
-+@samp{@dots{}}; that name is used for the variable argument. The
-+@code{eprintf} macro above could be written
-+
-+@example
-+#define eprintf(args...) fprintf (stderr, args)
-+@end example
-+
-+@noindent
-+using this extension. You cannot use @code{__VA_ARGS__} and this
-+extension in the same macro.
-
--We might instead have defined eprintf as follows:-
-+We might instead have defined eprintf as follows:
-
- @example
- #define eprintf(format, ...) fprintf (stderr, format, __VA_ARGS__)
- @end example
-
--This formulation looks more descriptive, but unfortunately causes
--problems if fprintf wants no arguments the format. There is no way to
--produce expanded output of
-+This formulation looks more descriptive, but cannot be used as flexibly.
-+There is no way to produce expanded output of
-
- @example
- fprintf (stderr, "success!\n")
- @end example
-
- @noindent
--since passing an empty argument for the variable arguments part like this
-+because, in standard C, you are not allowed to leave the variable
-+argument out entirely, and passing an empty argument for the variable
-+arguments will not do what you want. Writing
-
- @example
- eprintf ("success!\n", )
-@@ -947,29 +973,30 @@ fprintf (stderr, "success!\n",)
- where the extra comma originates from the replacement list and not from
- the arguments to eprintf.
-
--Within a @samp{#define} directive, ISO C mandates that the only place
--the identifier @code{__VA_ARGS__} can appear is in the replacement list
--of a variable-argument macro. Using it as a macro name, macro argument
--or within a different type of macro is illegal.
-+There is another extension in the GNU C preprocessor which deals with
-+this difficulty. First, you are allowed to leave the variable argument
-+out entirely:
-+
-+@example
-+eprintf ("success!\n")
-+@end example
-+
-+Second, the @samp{##} token paste operator has a special meaning when
-+placed between a comma and a variable argument. If you write
-
--Before standardization, previous GNU preprocessors implemented a
--slightly different syntax for defining variable-argument macros. The
--macros were called ``rest args macros''. You could assign a name to the
--variable arguments, by contrast the standardized method leaves them
--anonymous. For example, the eprintf macro could have been defined like
--this
--
--@example
--#define eprintf(format...) fprintf (stderr, format)
--@end example
--
--Now that there is a standardized construct, you are encouraged to use
--that instead. It is unlikely that support for named variable arguments
--will be removed in future revisions of CPP, since being able to assign a
--name is descriptive, and there is a wide base of legacy code. However,
--two obscure features of the GNU style are deprecated and likely to be
--dropped in future. @xref{Unreliable Features}.
-+@example
-+#define eprintf(format, ...) fprintf (stderr, format, ##__VA_ARGS__)
-+@end example
-
-+and the variable argument is left out when the @samp{eprintf} macro is
-+used, then the comma before the @samp{##} will be deleted. This does
-+@emph{not} happen if you pass an empty argument, nor does it happen if
-+the token preceding @samp{##} is anything other than a comma.
-+
-+Previous versions of the preprocessor implemented this extension much
-+more generally. We have restricted it in order to minimize the
-+difference from the C standard. @xref{Unreliable Features}.
-+
- @node Predefined, Stringification, Macro Varargs, Macros
- @subsection Predefined Macros
-
-@@ -2790,42 +2817,52 @@ It is undefined which of these two opera
-
- @end itemize
-
--The following features are deprecated and will likely be removed at some
--point in the future:-
-+The following features are in flux and should not be used in portable
-+code:
-
- @itemize @bullet
-
--@item ## swallowing the previous token in GNU rest argument macros
-+@item Optional argument when invoking rest argument macros
-
--In a macro expansion, if ## appeared before a GNU named variable arguments
--parameter, and the set of tokens specified for that argument in the
--macro invocation was empty, previous versions of the GNU C preprocessor
--would back up and remove the token appearing before the ##. This
--behavior was not well-defined, and alternative ways of achieving its
--intended use are available. Since the ISO C standard now provides for
--variable-argument macros, and since this old behavior potentially
--conflicts with behavior mandated by the standard, this feature is now
--deprecated and will be removed in future.
--
--The current preprocessor still supports it for reasons of code
--migration, and warns at each use of the feature.
--
--@item Optional argument when invoking GNU rest argument macros
--
--In the invocation of a GNU named variable arguments macro, the variable
--arguments were optional. For example, the following two invocations are
--both legal for GNU rest args. The first is illegal in the equivalent
--formulation using ISO C anonymous variable arguments and
--@code{__VA_ARGS__}:-
-+As an extension, GCC permits you to omit the variable arguments entirely
-+when you use a variable argument macro. This works whether or not you
-+give the variable argument a name. For example, the two macro
-+invocations in the example below expand to the same thing:
-
- @smallexample
--#define debug(format, args...) printf (format, args)
--debug("string"); /* Illegal in ISO C equivalent. */
--debug("string",); /* OK for both. */
-+#define debug(format, ...) printf (format, __VA_ARGS__)
-+debug("string"); /* Not permitted by C standard. */
-+debug("string",); /* OK. */
- @end smallexample
-+
-+This extension will be preserved, but the special behavior of @samp{##}
-+in this context has changed in the past and may change again in the
-+future.
-+
-+@item ## swallowing preceding text in rest argument macros
-+
-+Formerly, in a macro expansion, if @samp{##} appeared before a variable
-+arguments parameter, and the set of tokens specified for that argument in
-+the macro invocation was empty, previous versions of the GNU C
-+preprocessor would back up and remove the preceding sequence of
-+nonwhitespace characters (@strong{not} the preceding token). This
-+extension is in direct conflict with the 1999 C standard and has been
-+drastically pared back.
-+
-+In the current version of the preprocessor, if @samp{##} appears between
-+a comma and a variable arguments parameter, and the variable argument is
-+omitted entirely, the comma will be removed from the expansion. If the
-+variable argument is empty, or the token before @samp{##} is not a
-+comma, then @samp{##} behaves as a normal token paste.
-+
-+Portable code should avoid this extension at all costs.
-+
-+@end itemize
-+
-+The following features are deprecated and will likely be removed at some
-+point in the future:-
-
--The current preprocessor still supports it for reasons of code
--migration, and warns at each use of the feature.
-+@itemize @bullet
-
- @item Attempting to paste two tokens which together do not form a valid
- preprocessing token
-@@ -2834,6 +2871,10 @@ The preprocessor currently warns about t
- adjacently, which is probably the behavior the programmer intends. It
- may not work in future, though.
-
-+Most of the time, when you get this warning, you will find that @samp{##}
-+is being used superstitiously, to guard against whitespace appearing
-+between two tokens. It is almost always safe to delete the @samp{##}.
-+
- @findex #pragma once
- @item #pragma once
-
-@@ -2849,7 +2890,33 @@ This pragma has been superceded by @samp
- @item Multi-line string literals in directives
-
- The GNU C preprocessor currently allows newlines in string literals
--within a directive.
-+within a directive. This is forbidden by the C standard and will
-+eventually be removed. (Multi-line string literals in open text are
-+still supported.)
-+
-+@item Preprocessing things which are not C
-+
-+The C preprocessor is intended to be used only with C, C++, and
-+Objective C source code. In the past, it has been abused as a general
-+text processor. It will choke on input which is not lexically valid C;
-+for example, apostrophes will be interpreted as the beginning of
-+character constants, and cause errors. Also, you cannot rely on it
-+preserving characteristics of the input which are not significant to
-+C-family languages. For instance, if a Makefile is preprocessed, all
-+the hard tabs will be lost, and the Makefile will not work.
-+
-+Having said that, you can often get away with using cpp on things which
-+are not C. Other Algol-ish programming languages are often safe
-+(Pascal, Ada, ...) and so is assembly, with caution. @samp{-traditional}
-+mode is much more permissive, and can safely be used with e.g. Fortran.
-+Many of the problems go away if you write C or C++ style comments
-+instead of native language comments, and if you avoid elaborate macros.
-+
-+Wherever possible, you should use a preprocessor geared to the language
-+you are writing in. Modern versions of the GNU assembler have macro
-+facilities. Most high level programming languages have their own
-+conditional compilation and inclusion mechanism. If all else fails,
-+try a true general text processor, such as @xref{Top, M4, , m4, GNU `m4'}.
-
- @end itemize
-
-@@ -2900,11 +2967,10 @@ compiler.
- @table @samp
- @item -P
- @findex -P
--Inhibit generation of @samp{#}-lines with line-number information in
--the output from the preprocessor (@pxref{Output}). This might be
--useful when running the preprocessor on something that is not C code
--and will be sent to a program which might be confused by the
--@samp{#}-lines.
-+Inhibit generation of @samp{#}-lines with line-number information in the
-+output from the preprocessor. This might be useful when running the
-+preprocessor on something that is not C code and will be sent to a
-+program which might be confused by the @samp{#}-lines. @xref{Output}.
-
- @item -C
- @findex -C
-@@ -2914,8 +2980,8 @@ along with the directive. Comments appe
- macro will be preserved, and appear in place wherever the macro is
- invoked.
-
--You should be prepared for side effects when using -C; it causes the
--preprocessor to treat comments as tokens in their own right. For
-+You should be prepared for side effects when using @samp{-C}; it causes
-+the preprocessor to treat comments as tokens in their own right. For
- example, macro redefinitions that were trivial when comments were
- replaced by a single space might become significant when comments are
- retained. Also, comments appearing at the start of what would be a
-@@ -2925,7 +2991,6 @@ source line, since the first token on th
- @item -traditional
- @findex -traditional
- Try to imitate the behavior of old-fashioned C, as opposed to ISO C@.
--Note: support for this option is currently fairly broken.
-
- @itemize @bullet
- @item
-@@ -2966,8 +3031,9 @@ together with the text after the macro c
- (This is impossible in ISO C@.)
-
- @item
--Traditionally, @samp{\} inside a macro argument suppresses the syntactic
--significance of the following character.
-+None of the GNU extensions to the preprocessor are available in
-+@samp{-traditional} mode.
-+
- @end itemize
-
- @cindex Fortran
-@@ -3010,22 +3076,45 @@ place of @code{cpp}.
- Process ISO standard trigraph sequences. These are three-character
- sequences, all starting with @samp{??}, that are defined by ISO C to
- stand for single characters. For example, @samp{??/} stands for
--@samp{\}, so @samp{'??/n'} is a character constant for a newline.
--Strictly speaking, the GNU C preprocessor does not conform to ISO
--Standard C unless @samp{-trigraphs} is used, but if you ever notice the
--difference it will be with relief.
-+@samp{\}, so @samp{'??/n'} is a character constant for a newline. By
-+default, GCC ignores trigraphs, but in standard-conforming modes it
-+converts them. See the @samp{-std} option.
-
- The nine trigraph sequences are
--@samp{??(} -> @samp{[},
--@samp{??)} -> @samp{]},
--@samp{??<} -> @samp{@{},
--@samp{??>} -> @samp{@}},
--@samp{??=} -> @samp{#},
--@samp{??/} -> @samp{\},
--@samp{??'} -> @samp{^},
--@samp{??!} -> @samp{|},
--@samp{??-} -> @samp{~}
-+@table @samp
-+@item ??(
-+-> @samp{[}
-+
-+@item ??)
-+-> @samp{]}
-+
-+@item ??<
-+-> @samp{@{}
-
-+@item ??>
-+-> @samp{@}}
-+
-+@item ??=
-+-> @samp{#}
-+
-+@item ??/
-+-> @samp{\}
-+
-+@item ??'
-+-> @samp{^}
-+
-+@item ??!
-+-> @samp{|}
-+
-+@item ??-
-+-> @samp{~}
-+
-+@end table
-+
-+Trigraph support is not popular, so many compilers do not implement it
-+properly. Portable code should not rely on trigraphs being either
-+converted or ignored.
-+
- @item -pedantic
- @findex -pedantic
- Issue warnings required by the ISO C standard in certain cases such
-@@ -3038,19 +3127,15 @@ warnings.
-
- @item -Wcomment
- @findex -Wcomment
--@ignore
--@c "Not worth documenting" both singular and plural forms of this
--@c option, per RMS. Also unclear which is better; hence may need to
--@c switch this at some future date. pesch@cygnus.com, 2jan92.
- @itemx -Wcomments
- (Both forms have the same effect).
--@end ignore
- Warn whenever a comment-start sequence @samp{/*} appears in a @samp{/*}
- comment, or whenever a backslash-newline appears in a @samp{//} comment.
-
- @item -Wtrigraphs
- @findex -Wtrigraphs
--Warn if any trigraphs are encountered.
-+Warn if any trigraphs are encountered. This option used to take effect
-+only if @samp{-trigraphs} was also specified, but now works independently.
-
- @item -Wwhite-space
- @findex -Wwhite-space
-@@ -3181,6 +3266,10 @@ predefined macros, and it outputs @emph{
- directives and the result of preprocessing. Both kinds of output go to
- the standard output file.
-
-+@item -dN
-+@findex -dN
-+Like @samp{-dD}, but emit only the macro names, not their expansions.
-+
- @item -dI
- @findex -dI
- Output @samp{#include} directives in addition to the result of
-@@ -3327,20 +3416,9 @@ The 1990 C standard plus GNU extensions.
- The 1999 C standard plus GNU extensions.
- @end table
-
--@item -Wp,-lint
--@findex -lint
--Look for commands to the program checker @code{lint} embedded in
--comments, and emit them preceded by @samp{#pragma lint}. For example,
--the comment @samp{/* NOTREACHED */} becomes @samp{#pragma lint
--NOTREACHED}.
--
--Because of the clash with @samp{-l}, you must use the awkward syntax
--above. In a future release, this option will be replaced by
--@samp{-flint} or @samp{-Wlint}; we are not sure which yet.
--
- @item -ftabstop=NUMBER
- @findex -ftabstop
--Indicates the distance between tabstops. This helps the preprocessor
-+Set the distance between tabstops. This helps the preprocessor
- report correct column numbers in warnings or errors, even if tabs appear
- on the line. Values less than 1 or greater than 100 are ignored. The
- default is 8.
---- gcc/cpp.1 2000/02/26 05:59:30 1.6
-+++ gcc/cpp.1 2000/08/02 06:56:26
-@@ -73,7 +73,7 @@
- .ds T' '
- .ds PI \(*p
- 'br\}
--.TH CPP 1 "gcc-2.95" "14/Jun/99" "GNU"
-+.TH CPP 1 "gcc-3.0" "1/Aug/2000" "GNU"
- .UC
- .if n .hy 0
- .if n .na
-@@ -181,13 +181,20 @@ cpp [\fB\-P\fR] [\fB\-C\fR] [\fB\-gcc\fR
- .PP
- Only the most useful options are listed here; see below for the remainder.
- .SH "DESCRIPTION"
--The C preprocessor is a \fImacro processor\fR that is used automatically by
--the C compiler to transform your program before actual compilation. It is
--called a macro processor because it allows you to define \fImacros\fR,
--which are brief abbreviations for longer constructs.
-+The C preprocessor is a \fImacro processor\fR that is used automatically
-+by the C compiler to transform your program before actual compilation.
-+It is called a macro processor because it allows you to define
-+\fImacros\fR, which are brief abbreviations for longer constructs.
- .PP
--The C preprocessor provides four separate facilities that you can use as
--you see fit:
-+The C preprocessor is intended only for macro processing of C, \*(C+ and
-+Objective C source files. For macro processing of other files, you are
-+strongly encouraged to use alternatives like M4, which will likely give
-+you better results and avoid many problems. For example, normally the C
-+preprocessor does not preserve arbitrary whitespace verbatim, but
-+instead replaces each sequence with a single space.
-+.PP
-+For use on C\-like source files, the C preprocessor provides four
-+separate facilities that you can use as you see fit:
- .Ip "\(bu" 4
- Inclusion of header files. These are files of declarations that can be
- substituted into your program.
-@@ -200,32 +207,27 @@ Conditional compilation. Using special
- can include or exclude parts of the program according to various
- conditions.
- .Ip "\(bu" 4
--Line control. If you use a program to combine or rearrange source files into
--an intermediate file which is then compiled, you can use line control
--to inform the compiler of where each source line originally came from.
-+Line control. If you use a program to combine or rearrange source files
-+into an intermediate file which is then compiled, you can use line
-+control to inform the compiler of where each source line originally came
-+from.
- .PP
- C preprocessors vary in some details. This manual discusses the \s-1GNU\s0 C
--preprocessor, the C Compatible Compiler Preprocessor. The \s-1GNU\s0 C
--preprocessor provides a superset of the features of \s-1ANSI\s0 Standard C.
--.PP
--\s-1ANSI\s0 Standard C requires the rejection of many harmless constructs commonly
--used by today's C programs. Such incompatibility would be inconvenient for
--users, so the \s-1GNU\s0 C preprocessor is configured to accept these constructs
--by default. Strictly speaking, to get \s-1ANSI\s0 Standard C, you must use the
--options \fB\-trigraphs\fR, \fB\-undef\fR and \fB\-pedantic\fR, but in
--practice the consequences of having strict \s-1ANSI\s0 Standard C make it
--undesirable to do this.
-+preprocessor, which provides a small superset of the features of \s-1ISO\s0
-+Standard C.
- .PP
--The C preprocessor is designed for C\-like languages; you may run into
--problems if you apply it to other kinds of languages, because it assumes
--that it is dealing with C. For example, the C preprocessor sometimes
--outputs extra white space to avoid inadvertent C token concatenation,
--and this may cause problems with other languages.
-+In its default mode, the \s-1GNU\s0 C preprocessor does not do a few things
-+required by the standard. These are features which are rarely, if ever,
-+used, and may cause surprising changes to the meaning of a program which
-+does not expect them. To get strict \s-1ISO\s0 Standard C, you should use the
-+\fB\-std=c89\fR or \fB\-std=c99\fR options, depending on which version
-+of the standard you want. To get all the mandatory diagnostics, you
-+must also use \fB\-pedantic\fR.
- .SH "OPTIONS"
- The C preprocessor expects two file names as arguments, \fIinfile\fR and
--\fIoutfile\fR. The preprocessor reads \fIinfile\fR together with any other
--files it specifies with \fB#include\fR. All the output generated by the
--combined input files is written in \fIoutfile\fR.
-+\fIoutfile\fR. The preprocessor reads \fIinfile\fR together with any
-+other files it specifies with \fB#include\fR. All the output generated
-+by the combined input files is written in \fIoutfile\fR.
- .PP
- Either \fIinfile\fR or \fIoutfile\fR may be \fB\-\fR, which as
- \fIinfile\fR means to read from standard input and as \fIoutfile\fR
-@@ -237,61 +239,69 @@ These options can also be given when com
- passed along automatically to the preprocessor when it is invoked by the
- compiler.
- .Ip "\fB\-P\fR" 4
--Inhibit generation of \fB#\fR\-lines with line-number information in
--the output from the preprocessor This might be
--useful when running the preprocessor on something that is not C code
--and will be sent to a program which might be confused by the
--\fB#\fR\-lines.
-+Inhibit generation of \fB#\fR\-lines with line-number information in the
-+output from the preprocessor. This might be useful when running the
-+preprocessor on something that is not C code and will be sent to a
-+program which might be confused by the \fB#\fR\-lines.
- .Ip "\fB\-C\fR" 4
--Do not discard comments: pass them through to the output file.
--Comments appearing in arguments of a macro call will be copied to the
--output before the expansion of the macro call.
-+Do not discard comments. All comments are passed through to the output
-+file, except for comments in processed directives, which are deleted
-+along with the directive. Comments appearing in the expansion list of a
-+macro will be preserved, and appear in place wherever the macro is
-+invoked.
-+.Sp
-+You should be prepared for side effects when using \fB\-C\fR; it causes
-+the preprocessor to treat comments as tokens in their own right. For
-+example, macro redefinitions that were trivial when comments were
-+replaced by a single space might become significant when comments are
-+retained. Also, comments appearing at the start of what would be a
-+directive line have the effect of turning that line into an ordinary
-+source line, since the first token on the line is no longer a \fB#\fR.
- .Ip "\fB\-traditional\fR" 4
--Try to imitate the behavior of old-fashioned C, as opposed to \s-1ANSI\s0 C.
--.Ip "\(bu" 8
--Traditional macro expansion pays no attention to singlequote or
--doublequote characters; macro argument symbols are replaced by the
-+Try to imitate the behavior of old-fashioned C, as opposed to \s-1ISO\s0 C.
-+.RS 4
-+.Ip "\(bu" 4
-+Traditional macro expansion pays no attention to single-quote or
-+double-quote characters; macro argument symbols are replaced by the
- argument values even when they appear within apparent string or
- character constants.
--.Ip "\(bu" 8
-+.Ip "\(bu" 4
- Traditionally, it is permissible for a macro expansion to end in the
- middle of a string or character constant. The constant continues into
- the text surrounding the macro call.
--.Ip "\(bu" 8
-+.Ip "\(bu" 4
- However, traditionally the end of the line terminates a string or
- character constant, with no error.
--.Ip "\(bu" 8
--In traditional C, a comment is equivalent to no text at all. (In \s-1ANSI\s0
-+.Ip "\(bu" 4
-+In traditional C, a comment is equivalent to no text at all. (In \s-1ISO\s0
- C, a comment counts as whitespace.)
--.Ip "\(bu" 8
-+.Ip "\(bu" 4
- Traditional C does not have the concept of a ``preprocessing number'\*(R'.
- It considers \fB1.0e+4\fR to be three tokens: \fB1.0e\fR, \fB+\fR,
- and \fB4\fR.
--.Ip "\(bu" 8
-+.Ip "\(bu" 4
- A macro is not suppressed within its own definition, in traditional C.
- Thus, any macro that is used recursively inevitably causes an error.
--.Ip "\(bu" 8
-+.Ip "\(bu" 4
- The character \fB#\fR has no special meaning within a macro definition
- in traditional C.
--.Ip "\(bu" 8
-+.Ip "\(bu" 4
- In traditional C, the text at the end of a macro expansion can run
- together with the text after the macro call, to produce a single token.
--(This is impossible in \s-1ANSI\s0 C.)
--.Ip "\(bu" 8
--Traditionally, \fB\e\fR inside a macro argument suppresses the syntactic
--significance of the following character.
--.Sp
--Use the \fB\-traditional\fR option when preprocessing Fortran code,
--so that singlequotes and doublequotes
--within Fortran comment lines
--(which are generally not recognized as such by the preprocessor)
--do not cause diagnostics
--about unterminated character or string constants.
--.Sp
--However, this option does not prevent diagnostics
--about unterminated comments
--when a C\-style comment appears to start, but not end,
--within Fortran-style commentary.
-+(This is impossible in \s-1ISO\s0 C.)
-+.Ip "\(bu" 4
-+None of the \s-1GNU\s0 extensions to the preprocessor are available in
-+\fB\-traditional\fR mode.
-+.RE
-+.Ip "" 4
-+Use the \fB\-traditional\fR option when preprocessing Fortran code, so
-+that single-quotes and double-quotes within Fortran comment lines (which
-+are generally not recognized as such by the preprocessor) do not cause
-+diagnostics about unterminated character or string constants.
-+.Sp
-+However, this option does not prevent diagnostics about unterminated
-+comments when a C\-style comment appears to start, but not end, within
-+Fortran-style commentary.
- .Sp
- So, the following Fortran comment lines are accepted with
- \fB\-traditional\fR:
-@@ -301,49 +311,77 @@ So, the following Fortran comment lines
- \& C Neither is "20000000000, an octal constant
- \& C in some dialects of Fortran
- .Ve
--However, this type of comment line will likely produce a diagnostic,
--or at least unexpected output from the preprocessor,
--due to the unterminated comment:
-+However, this type of comment line will likely produce a diagnostic, or
-+at least unexpected output from the preprocessor, due to the
-+unterminated comment:
- .Sp
- .Vb 2
- \& C Some Fortran compilers accept /* as starting
- \& C an inline comment.
- .Ve
--Note that \f(CWg77\fR automatically supplies
--the \fB\-traditional\fR option
--when it invokes the preprocessor.
--However, a future version of \f(CWg77\fR
--might use a different, more-Fortran-aware preprocessor
--in place of \f(CWcpp\fR.
-+Note that \f(CWg77\fR automatically supplies the \fB\-traditional\fR
-+option when it invokes the preprocessor. However, a future version of
-+\f(CWg77\fR might use a different, more-Fortran-aware preprocessor in
-+place of \f(CWcpp\fR.
- .Ip "\fB\-trigraphs\fR" 4
--Process \s-1ANSI\s0 standard trigraph sequences. These are three-character
--sequences, all starting with \fB??\fR, that are defined by \s-1ANSI\s0 C to
-+Process \s-1ISO\s0 standard trigraph sequences. These are three-character
-+sequences, all starting with \fB??\fR, that are defined by \s-1ISO\s0 C to
- stand for single characters. For example, \fB??/\fR stands for
--\fB\e\fR, so \fB\*(R'??/n\*(R'\fR is a character constant for a newline.
--Strictly speaking, the \s-1GNU\s0 C preprocessor does not support all
--programs in \s-1ANSI\s0 Standard C unless \fB\-trigraphs\fR is used, but if
--you ever notice the difference it will be with relief.
--.Sp
--You don't want to know any more about trigraphs.
-+\fB\e\fR, so \fB\*(R'??/n\*(R'\fR is a character constant for a newline. By
-+default, \s-1GCC\s0 ignores trigraphs, but in standard-conforming modes it
-+converts them. See the \fB\-std\fR option.
-+.Sp
-+The nine trigraph sequences are
-+.RS 4
-+.PD 0
-+.SP
-+.Ip "\fB??(\fR" 6
-+-> \fB[\fR
-+.Ip "\fB??)\fR" 6
-+-> \fB]\fR
-+.Ip "\fB??<\fR" 6
-+-> \fB@{\fR
-+.Ip "\fB??>\fR" 6
-+-> \fB@\fR}
-+.Ip "\fB??=\fR" 6
-+-> \fB#\fR
-+.Ip "\fB??/\fR" 6
-+-> \fB\e\fR
-+.Ip "\fB??\*(T'\fR" 6
-+-> \fB^\fR
-+.Ip "\fB??!\fR" 6
-+-> \fB|\fR
-+.Ip "\fB??\-\fR" 6
-+-> \fB~\fR
-+.RE
-+.PD
-+.Ip "" 4
-+Trigraph support is not popular, so many compilers do not implement it
-+properly. Portable code should not rely on trigraphs being either
-+converted or ignored.
- .Ip "\fB\-pedantic\fR" 4
--Issue warnings required by the \s-1ANSI\s0 C standard in certain cases such
-+Issue warnings required by the \s-1ISO\s0 C standard in certain cases such
- as when text other than a comment follows \fB#else\fR or \fB#endif\fR.
- .Ip "\fB\-pedantic-errors\fR" 4
- Like \fB\-pedantic\fR, except that errors are produced rather than
- warnings.
--.Ip "\fB\-Wtrigraphs\fR" 4
--Warn if any trigraphs are encountered. Currently this only works if you
--have turned trigraphs on with \fB\-trigraphs\fR or \fB\-ansi\fR; in the
--future this restriction will be removed.
- .Ip "\fB\-Wcomment\fR" 4
-+.Ip "\fB\-Wcomments\fR" 4
-+(Both forms have the same effect).
- Warn whenever a comment-start sequence \fB/*\fR appears in a \fB/*\fR
--comment, or whenever a Backslash-Newline appears in a \fB//\fR comment.
-+comment, or whenever a backslash-newline appears in a \fB//\fR comment.
-+.Ip "\fB\-Wtrigraphs\fR" 4
-+Warn if any trigraphs are encountered. This option used to take effect
-+only if \fB\-trigraphs\fR was also specified, but now works independently.
-+.Ip "\fB\-Wwhite-space\fR" 4
-+Warn about possible white space confusion, e.g. white space between a
-+backslash and a newline.
- .Ip "\fB\-Wall\fR" 4
--Requests both \fB\-Wtrigraphs\fR and \fB\-Wcomment\fR (but not
--\fB\-Wtraditional\fR or \fB\-Wundef\fR).
-+Requests \fB\-Wcomment\fR, \fB\-Wtrigraphs\fR, and \fB\-Wwhite-space\fR
-+(but not \fB\-Wtraditional\fR or \fB\-Wundef\fR).
- .Ip "\fB\-Wtraditional\fR" 4
- Warn about certain constructs that behave differently in traditional and
--\s-1ANSI\s0 C.
-+\s-1ISO\s0 C.
- .Ip "\fB\-Wundef\fR" 4
- Warn if an undefined identifier is evaluated in an \fB#if\fR directive.
- .Ip "\fB\-I \fIdirectory\fR\fR" 4
-@@ -356,15 +394,15 @@ the directories are scanned in left-to-r
- system directories come after.
- .Ip "\fB\-I-\fR" 4
- Any directories specified with \fB\-I\fR options before the \fB\-I-\fR
--option are searched only for the case of \fB#include \*(L"\fIfile\fB\*(R"\fR;
--they are not searched for \fB#include <\fIfile\fB>\fR.
-+option are searched only for the case of \fB#include \*(L"\fIfile\fR\*(R"\fR;
-+they are not searched for \fB#include <\fIfile\fR>\fR.
- .Sp
- If additional directories are specified with \fB\-I\fR options after
- the \fB\-I-\fR, these directories are searched for all \fB#include\fR
- directives.
- .Sp
- In addition, the \fB\-I-\fR option inhibits the use of the current
--directory as the first search directory for \fB#include \*(L"\fIfile\fB\*(R"\fR.
-+directory as the first search directory for \fB#include \*(L"\fIfile\fR\*(R"\fR.
- Therefore, the current directory is searched only if it is requested
- explicitly with \fB\-I.\fR. Specifying both \fB\-I-\fR and \fB\-I.\fR
- allows you to control precisely which directories are searched before
-@@ -375,8 +413,8 @@ Only the directories you have specified
- (and the current directory, if appropriate) are searched.
- .Ip "\fB\-nostdinc++\fR" 4
- Do not search for header files in the \*(C+\-specific standard directories,
--but do still search the other standard directories.
--(This option is used when building the \*(C+ library.)
-+but do still search the other standard directories. (This option is
-+used when building the \*(C+ library.)
- .Ip "\fB\-remap\fR" 4
- When searching for a header file in a directory, remap file names if a
- file named \fIheader.gcc\fR exists in that directory. This can be used
-@@ -402,15 +440,17 @@ wins.
- Do not predefine any nonstandard macros.
- .Ip "\fB\-gcc\fR" 4
- Define the macros \fI_\|_GNUC_\|_\fR, \fI_\|_GNUC_MINOR_\|_\fR and
--\fI_\|_GNUC_PATCHLEVEL_\|_\fR. These are defined automatically when you
--use \fBgcc \-E\fR; you can turn them off in that case with \fB\-no-gcc\fR.
-+\fI_\|_GNUC_PATCHLEVEL_\|_\fR. These are defined automatically when you use
-+\fBgcc \-E\fR; you can turn them off in that case with \fB\-no-gcc\fR.
- .Ip "\fB\-A \fIpredicate\fR(\fIanswer\fR)\fR" 4
- Make an assertion with the predicate \fIpredicate\fR and answer
- \fIanswer\fR.
--.Sp
--You can use \fB\-A-\fR to disable all predefined assertions; it also
--undefines all predefined macros and all macros that preceded it on the
--command line.
-+.Ip "\fB\-A \-\fIpredicate\fR(\fIanswer\fR)\fR" 4
-+Disable an assertion with the predicate \fIpredicate\fR and answer
-+\fIanswer\fR. Specifying no predicate, by \fB\-A-\fR or \fB\-A \-\fR,
-+disables all predefined assertions and all assertions preceding it on
-+the command line; and also undefines all predefined macros and all
-+macros preceding it on the command line.
- .Ip "\fB\-dM\fR" 4
- Instead of outputting the result of preprocessing, output a list of
- \fB#define\fR directives for all the macros defined during the
-@@ -427,19 +467,22 @@ Like \fB\-dM\fR except in two respects:
- predefined macros, and it outputs \fIboth\fR the \fB#define\fR
- directives and the result of preprocessing. Both kinds of output go to
- the standard output file.
-+.Ip "\fB\-dN\fR" 4
-+Like \fB\-dD\fR, but emit only the macro names, not their expansions.
- .Ip "\fB\-dI\fR" 4
--Output \fB#include\fR directives in addition to the result of preprocessing.
-+Output \fB#include\fR directives in addition to the result of
-+preprocessing.
- .Ip "\fB\-M [\-\s-1MG\s0]\fR" 4
- Instead of outputting the result of preprocessing, output a rule
--suitable for \f(CWmake\fR describing the dependencies of the main
--source file. The preprocessor outputs one \f(CWmake\fR rule containing
--the object file name for that source file, a colon, and the names of
--all the included files. If there are many included files then the
--rule is split into several lines using \fB\e\fR\-newline.
--.Sp
--\fB\-\s-1MG\s0\fR says to treat missing header files as generated files and assume
--they live in the same directory as the source file. It must be specified
--in addition to \fB\-M\fR.
-+suitable for \f(CWmake\fR describing the dependencies of the main source
-+file. The preprocessor outputs one \f(CWmake\fR rule containing the
-+object file name for that source file, a colon, and the names of all the
-+included files. If there are many included files then the rule is split
-+into several lines using \fB\e\fR\-newline.
-+.Sp
-+\fB\-\s-1MG\s0\fR says to treat missing header files as generated files and
-+assume they live in the same directory as the source file. It must be
-+specified in addition to \fB\-M\fR.
- .Sp
- This feature is used in automatic updating of makefiles.
- .Ip "\fB\-\s-1MM\s0 [\-\s-1MG\s0]\fR" 4
-@@ -448,16 +491,16 @@ Like \fB\-M\fR but mention only the file
- <\fIfile\fR>\fR are omitted.
- .Ip "\fB\-\s-1MD\s0 \fIfile\fR\fR" 4
- Like \fB\-M\fR but the dependency information is written to \fIfile\fR.
--This is in addition to compiling the file as specified---\fB\-\s-1MD\s0\fR does
--not inhibit ordinary compilation the way \fB\-M\fR does.
-+This is in addition to compiling the file as specified --- \fB\-\s-1MD\s0\fR
-+does not inhibit ordinary compilation the way \fB\-M\fR does.
- .Sp
- When invoking \f(CWgcc\fR, do not specify the \fIfile\fR argument.
- \f(CWgcc\fR will create file names made by replacing \*(L".c\*(R" with \*(L".d\*(R" at
- the end of the input file names.
- .Sp
- In Mach, you can use the utility \f(CWmd\fR to merge multiple dependency
--files into a single dependency file suitable for using with the \fBmake\fR
--command.
-+files into a single dependency file suitable for using with the
-+\fBmake\fR command.
- .Ip "\fB\-\s-1MMD\s0 \fIfile\fR\fR" 4
- Like \fB\-\s-1MD\s0\fR except mention only user header files, not system
- header files.
-@@ -480,15 +523,16 @@ in any of the directories in the main in
- \fB\-I\fR adds to).
- .Ip "\fB\-iprefix \fIprefix\fR\fR" 4
- Specify \fIprefix\fR as the prefix for subsequent \fB\-iwithprefix\fR
--options.
-+options. If the prefix represents a directory, you should include the
-+final \fB/\fR.
- .Ip "\fB\-iwithprefix \fIdir\fR\fR" 4
- Add a directory to the second include path. The directory's name is
--made by concatenating \fIprefix\fR and \fIdir\fR, where \fIprefix\fR
--was specified previously with \fB\-iprefix\fR.
-+made by concatenating \fIprefix\fR and \fIdir\fR, where \fIprefix\fR was
-+specified previously with \fB\-iprefix\fR.
- .Ip "\fB\-isystem \fIdir\fR\fR" 4
- Add a directory to the beginning of the second include path, marking it
- as a system directory, so that it gets the same special treatment as
--is applied to the standard system directories.
-+is applied to the standard system directories.
- .Ip "\fB\-x c\fR" 4
- .Ip "\fB\-x c++\fR" 4
- .Ip "\fB\-x objective-c\fR" 4
-@@ -514,39 +558,52 @@ added in the future.
- .Sp
- \fIstandard\fR
- may be one of:
--.Ip "\f(CWiso9899:1990\fR" 8
--The \s-1ISO\s0 C standard from 1990.
--.Ip "\f(CWiso9899:199409\fR" 8
--.Ip "\f(CWc89\fR" 8
--The 1990 C standard, as amended in 1994. \fBc89\fR is the customary
--shorthand for this version of the standard.
-+.RS 4
-+.PD 0
- .Sp
-+.Ip "\f(CWiso9899:1990\fR" 4
-+.Ip "\f(CWc89\fR" 4
-+.Ip
-+The \s-1ISO\s0 C standard from 1990. \fBc89\fR is the customary shorthand for
-+this version of the standard.
-+.Sp
- The \fB\-ansi\fR option is equivalent to \fB\-std=c89\fR.
--.Ip "\f(CWiso9899:199x\fR" 8
--.Ip "\f(CWc9x\fR" 8
--The revised \s-1ISO\s0 C standard, which is expected to be promulgated some
--time in 1999. It has not been approved yet, hence the \fBx\fR.
--.Ip "\f(CWgnu89\fR" 8
-+.Sp
-+.Ip "\f(CWiso9899:199409\fR" 4
-+The 1990 C standard, as amended in 1994.
-+.Sp
-+.Ip "\f(CWiso9899:1999\fR" 4
-+.Ip "\f(CWc99\fR" 4
-+.Ip "\f(CWiso9899:199x\fR" 4
-+.Ip "\f(CWc9x\fR" 4
-+.Ip
-+The revised \s-1ISO\s0 C standard, published in December 1999. Before
-+publication, this was known as C9X.
-+.Sp
-+.Ip "\f(CWgnu89\fR" 4
- The 1990 C standard plus \s-1GNU\s0 extensions. This is the default.
--.Ip "\f(CWgnu9x\fR" 8
--The 199x C standard plus \s-1GNU\s0 extensions.
--.Ip "\fB\-Wp,\-lint\fR" 4
--Look for commands to the program checker \f(CWlint\fR embedded in
--comments, and emit them preceded by \fB#pragma lint\fR. For example,
--the comment \fB/* \s-1NOTREACHED\s0 */\fR becomes \fB#pragma lint
--\s-1NOTREACHED\s0\fR.
--.Sp
--Because of the clash with \fB\-l\fR, you must use the awkward syntax
--above. In a future release, this option will be replaced by
--\fB\-flint\fR or \fB\-Wlint\fR; we are not sure which yet.
-+.Sp
-+.Ip "\f(CWgnu99\fR" 4
-+.Ip "\f(CWgnu9x\fR" 4
-+The 1999 C standard plus \s-1GNU\s0 extensions.
-+.PD
-+.RE
-+.Ip "\fB\-ftabstop=\s-1NUMBER\s0\fR" 4
-+Set the distance between tabstops. This helps the preprocessor
-+report correct column numbers in warnings or errors, even if tabs appear
-+on the line. Values less than 1 or greater than 100 are ignored. The
-+default is 8.
- .Ip "\fB\-$\fR" 4
--Forbid the use of \fB$\fR in identifiers. The C standard does not
--permit this, but it is a common extension.
-+Forbid the use of \fB$\fR in identifiers. The C standard allows
-+implementations to define extra characters that can appear in
-+identifiers. By default the \s-1GNU\s0 C preprocessor permits \fB$\fR, a
-+common extension.
- .SH "SEE ALSO"
- \fIgcc\fR\|(1), \fIas\fR\|(1), \fIld\fR\|(1), and the Info entries for \fIcpp\fR, \fIgcc\fR, and
- \fIbinutils\fR.
- .SH "COPYRIGHT"
--Copyright 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
-+Copyright 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
-+1997, 1998, 1999, 2000
- Free Software Foundation, Inc.
- .PP
- Permission is granted to make and distribute verbatim copies of
-@@ -560,4 +617,3 @@ permission notice identical to this one.
- .PP
- Permission is granted to copy and distribute translations of this manual
- into another language, under the above conditions for modified versions.
--.rn }` ''
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste.patch
deleted file mode 100644
index 38b2a48d1dd7..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-2000-09-04 Jakub Jelinek <jakub@redhat.com>
-
- * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
- use posn - 1 to index into tokens array.
- (maybe_paste_with_next): Adjust caller.
-
- * gcc.dg/cpp/paste8.c: New test.
-
---- gcc/cpplex.c.jj Fri Sep 1 10:13:33 2000
-+++ gcc/cpplex.c Fri Sep 1 13:37:01 2000
-@@ -202,8 +202,8 @@ TOKEN_LEN (token)
- #define CURRENT_CONTEXT(pfile) ((pfile)->contexts + (pfile)->cur_context)
- #define ON_REST_ARG(c) \
- (((c)->flags & VAR_ARGS) \
-- && (c)->u.list->tokens[(c)->posn].val.aux \
-- == (unsigned int) ((c)->u.list->paramc - 1))
-+ && ((c)-1)->u.list->tokens[((c)-1)->posn - 1].val.aux \
-+ == (unsigned int) (((c)-1)->u.list->paramc - 1))
-
- #define ASSIGN_FLAGS_AND_POS(d, s) \
- do {(d)->flags = (s)->flags & (PREV_WHITE | BOL | PASTE_LEFT); \
-@@ -2773,7 +2773,7 @@ maybe_paste_with_next (pfile, token)
- the special extended semantics (see above). */
- if (token->type == CPP_COMMA
- && IS_ARG_CONTEXT (CURRENT_CONTEXT (pfile))
-- && ON_REST_ARG (CURRENT_CONTEXT (pfile) - 1))
-+ && ON_REST_ARG (CURRENT_CONTEXT (pfile)))
- /* no warning */;
- else
- cpp_warning (pfile,
---- gcc/testsuite/gcc.dg/cpp/paste8.c.jj Mon Sep 4 09:11:07 2000
-+++ gcc/testsuite/gcc.dg/cpp/paste8.c Mon Sep 4 09:28:28 2000
-@@ -0,0 +1,15 @@
-+/* { dg-do preprocess } */
-+/* { dg-options "" } */
-+
-+int foo(int, ...);
-+
-+#define a(x, y...) foo(x, ##y)
-+a(1)
-+a(1, 2, 3)
-+#define b(x, y, z...) foo(x, ##y)
-+b(1, 2, 3) /* { dg-warning "pasting would not" } */
-+#define c(x, y, z...) foo(x, ##z)
-+c(1, 2)
-+c(1, 2, 3)
-+#define d(x) foo(##x) /* { dg-warning "nothing can be pasted" } */
-+d(1)
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste2.patch
deleted file mode 100644
index f506a94d7f04..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp-warnpaste2.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-2000-09-14 Neil Booth <NeilB@earthling.net>
-
- * cpplex.c (ON_REST_ARG): Correct the test.
- (maybe_paste_with_next): Duplicate a token that fail pasting,
- and clear its PASTE_LEFT flag, so that nested pasting attempts
- do not occur.
- * gcc.dg/cpp/paste10.c: Testcase.
-
---- gcc/cpplex.c 2000/09/12 03:42:29 1.95
-+++ gcc/cpplex.c 2000/09/14 22:28:32
-@@ -201,9 +201,9 @@ TOKEN_LEN (token)
- #define IS_ARG_CONTEXT(c) ((c)->flags & CONTEXT_ARG)
- #define CURRENT_CONTEXT(pfile) ((pfile)->contexts + (pfile)->cur_context)
- #define ON_REST_ARG(c) \
-- (((c)->flags & VAR_ARGS) \
-- && ((c)-1)->u.list->tokens[((c)-1)->posn - 1].val.aux \
-- == (unsigned int) (((c)-1)->u.list->paramc - 1))
-+ (((c)->u.list->flags & VAR_ARGS) \
-+ && (c)->u.list->tokens[(c)->posn - 1].val.aux \
-+ == (unsigned int) ((c)->u.list->paramc - 1))
-
- #define ASSIGN_FLAGS_AND_POS(d, s) \
- do {(d)->flags = (s)->flags & (PREV_WHITE | BOL | PASTE_LEFT); \
-@@ -2787,14 +2787,17 @@ maybe_paste_with_next (pfile, token)
- the special extended semantics (see above). */
- if (token->type == CPP_COMMA
- && IS_ARG_CONTEXT (CURRENT_CONTEXT (pfile))
-- && ON_REST_ARG (CURRENT_CONTEXT (pfile)))
-+ && ON_REST_ARG (CURRENT_CONTEXT (pfile) - 1))
- /* no warning */;
- else
- cpp_warning (pfile,
- "pasting would not give a valid preprocessing token");
- }
- _cpp_push_token (pfile, second);
-- return token;
-+ /* A short term hack to safely clear the PASTE_LEFT flag. */
-+ pasted = duplicate_token (pfile, token);
-+ pasted->flags &= ~PASTE_LEFT;
-+ return pasted;
- }
-
- if (type == CPP_NAME || type == CPP_NUMBER)
---- gcc/testsuite/gcc.dg/cpp/paste10.c Tue May 5 13:32:27 1998
-+++ gcc/testsuite/gcc.dg/cpp/paste10.c Thu Sep 14 15:47:29 2000
-@@ -0,0 +1,15 @@
-+/* Copyright (C) 2000 Free Software Foundation, Inc. */
-+
-+/* { dg-do preprocess } */
-+/* { dg-options "" } */
-+
-+/* This testcase used to produce a bogus "invalid paste" warning, owing
-+ to not clearing a PASTE_LEFT flag. */
-+
-+#define strcpy(src) __strcpy_small (src)
-+
-+#define __strcpy_small(src) src
-+
-+#define tprintf(format, args...) sprintf(format, ## args)
-+
-+strcpy(tprintf("<%s>", test))
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp0.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp0.patch
deleted file mode 100644
index 113d461a375b..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpp0.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
-
- * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
- xcpp to cpp throughout.
- (native): Remove unnecessary dependency on cpp.
-
- * gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
- tradcpp to tradcpp0.
- (.i spec): Add missing output-file spec to cc1 command line.
-
- * ch/lang-specs.h, cp/lang-specs.h, f/lang-specs.h,
- objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
-
---- gcc/Makefile.in 2000/07/31 17:33:26 1.491
-+++ gcc/Makefile.in 2000/07/31 18:21:36
-@@ -448,7 +448,7 @@ COMPILERS = cc1$(exeext) @all_compilers@
-
- # List of things which should already be built whenever we try to use xgcc
- # to compile anything (without linking).
--GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES)
-+GCC_PASSES=xgcc$(exeext) cc1$(exeext) cpp0$(exeext) $(EXTRA_PASSES)
-
- # List of things which should already be built whenever we try to use xgcc
- # to link anything.
-@@ -716,10 +716,10 @@ STAGESTUFF = *$(objext) insn-flags.h ins
- genconfig$(build_exeext) genpeep$(build_exeext) genattrtab$(build_exeext) \
- genattr$(build_exeext) genopinit$(build_exeext) gengenrtl$(build_exeext) \
- gencheck$(build_exeext) genrtl.c genrtl.h \
-- xgcc$(exeext) xcpp$(exeext) cc1$(exeext) cpp$(exeext) $(EXTRA_PASSES) \
-+ xgcc$(exeext) cpp$(exeext) cc1$(exeext) cpp0$(exeext) $(EXTRA_PASSES) \
- $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) cc1obj$(exeext) \
- enquire$(exeext) protoize$(exeext) unprotoize$(exeext) \
-- specs collect2$(exeext) $(USE_COLLECT2) underscore.c tradcpp$(exeext) \
-+ specs collect2$(exeext) $(USE_COLLECT2) underscore.c tradcpp0$(exeext) \
- gcov$(exeext) *.[0-9][0-9].* *.[si] libcpp.a libgcc libgcc.mk \
- $(LANG_STAGESTUFF)
-
-@@ -858,22 +858,22 @@ all.internal: start.encap rest.encap doc
- # This is what to compile if making a cross-compiler.
- # Note that we can compile enquire using the cross-compiler just built,
- # although we can't run it on this machine.
--all.cross: native gcc-cross xcpp$(exeext) specs \
-+all.cross: native gcc-cross cpp$(exeext) specs \
- $(LIBGCC) $(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross doc
- # This is what to compile if making gcc with a cross-compiler.
--all.build: native xgcc$(exeext) xcpp$(exeext) $(EXTRA_PARTS) lang.all.build
-+all.build: native xgcc$(exeext) cpp$(exeext) $(EXTRA_PARTS) lang.all.build
- # This is what must be made before installing GCC and converting libraries.
--start.encap: native xgcc$(exeext) xcpp$(exeext) specs \
-+start.encap: native xgcc$(exeext) cpp$(exeext) specs \
- xlimits.h lang.start.encap
- # These can't be made until after GCC can run.
- rest.encap: $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
- # This is what is made with the host's compiler
- # whether making a cross compiler or not.
--native: config.status auto-host.h cpp$(exeext) intl.all $(LANGUAGES) \
-+native: config.status auto-host.h intl.all $(LANGUAGES) \
- $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)
-
- # Define the names for selecting languages in LANGUAGES.
--C c: cc1$(exeext) tradcpp$(exeext)
-+C c: cc1$(exeext) tradcpp0$(exeext)
- PROTO: proto
-
- # Tell GNU make these are phony targets.
-@@ -909,12 +909,10 @@ xgcc$(exeext): gcc.o gccspec.o version.o
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o gccspec.o intl.o \
- prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
-
--# We call this executable `xcpp' rather than `cpp'
--# since the real preprocessor is named `cpp'. It too is renamed
--# when it is installed.
-+# cpp is to cpp0 as gcc is to cc1.
- # The only difference from xgcc is that it's linked with cppspec.o
- # instead of gccspec.o.
--xcpp$(exeext): gcc.o cppspec.o version.o intl.o prefix.o \
-+cpp$(exeext): gcc.o cppspec.o version.o intl.o prefix.o \
- version.o $(LIBDEPS) $(EXTRA_GCC_OBJS)
- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o cppspec.o intl.o \
- prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
-@@ -1801,8 +1799,8 @@ libcpp.a: $(LIBCPP_OBJS)
- $(AR) $(AR_FLAGS) libcpp.a $(LIBCPP_OBJS)
- if $(RANLIB_TEST) ; then $(RANLIB) libcpp.a ; else true ; fi
-
--cpp$(exeext): cppmain.o intl.o libcpp.a $(LIBDEPS)
-- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cpp$(exeext) cppmain.o \
-+cpp0$(exeext): cppmain.o intl.o libcpp.a $(LIBDEPS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cpp0$(exeext) cppmain.o \
- intl.o libcpp.a $(LIBS)
-
- cppmain.o: cppmain.c $(CONFIG_H) cpplib.h intl.h system.h
-@@ -1827,8 +1825,8 @@ mkdeps.o: mkdeps.c $(CONFIG_H) system.h
-
- # The traditional mode preprocessor, a separate program for ease of
- # maintenance. Some code is shared with the ISO-C cpp.
--tradcpp$(exeext): tradcpp.o tradcif.o cppdefault.o version.o intl.o $(LIBDEPS)
-- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o tradcpp$(exeext) \
-+tradcpp0$(exeext): tradcpp.o tradcif.o cppdefault.o version.o intl.o $(LIBDEPS)
-+ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o tradcpp0$(exeext) \
- tradcpp.o tradcif.o cppdefault.o version.o intl.o $(LIBS)
-
- tradcpp.o: tradcpp.c $(CONFIG_H) system.h version.h cppdefault.h
-@@ -2256,20 +2254,20 @@ install-build: force
- install-cross-rest: install-float-h-cross
-
- # Handle cpp installation.
--install-cpp: xcpp$(exeext)
-+install-cpp: cpp$(exeext)
- -if [ -f gcc-cross$(exeext) ] ; then \
- rm -f $(bindir)/$(CPP_CROSS_NAME)$(exeext); \
-- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(bindir)/$(CPP_CROSS_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(bindir)/$(CPP_CROSS_NAME)$(exeext); \
- if [ x$(cpp_install_dir) != x ]; then \
- rm -f $(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
-- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_CROSS_NAME)$(exeext); \
- else true; fi; \
- else \
- rm -f $(bindir)/$(CPP_INSTALL_NAME)$(exeext); \
-- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(bindir)/$(CPP_INSTALL_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(bindir)/$(CPP_INSTALL_NAME)$(exeext); \
- if [ x$(cpp_install_dir) != x ]; then \
- rm -f $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
-- $(INSTALL_PROGRAM) -m 755 xcpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
-+ $(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(prefix)/$(cpp_install_dir)/$(CPP_INSTALL_NAME)$(exeext); \
- else true; fi; \
- fi
-
-@@ -2363,10 +2361,10 @@ install-common: native installdirs $(EXT
- $(INSTALL_DATA) SYSCALLS.c.X $(libsubdir)/SYSCALLS.c.X; \
- chmod a-x $(libsubdir)/SYSCALLS.c.X; \
- fi
-- -rm -f $(libsubdir)/cpp$(exeext)
-- $(INSTALL_PROGRAM) cpp$(exeext) $(libsubdir)/cpp$(exeext)
-- -rm -f $(libsubdir)/tradcpp$(exeext)
-- $(INSTALL_PROGRAM) tradcpp$(exeext) $(libsubdir)/tradcpp$(exeext)
-+ -rm -f $(libsubdir)/cpp0$(exeext)
-+ $(INSTALL_PROGRAM) cpp0$(exeext) $(libsubdir)/cpp0$(exeext)
-+ -rm -f $(libsubdir)/tradcpp0$(exeext)
-+ $(INSTALL_PROGRAM) tradcpp0$(exeext) $(libsubdir)/tradcpp0$(exeext)
- # Install gcov if it was compiled.
- -if [ -f gcov$(exeext) ]; \
- then \
---- gcc/gcc.c 2000/07/28 01:46:11 1.155
-+++ gcc/gcc.c 2000/07/31 18:21:37
-@@ -548,7 +548,7 @@ static const char *link_libgcc_spec = LI
- appropriate -B options. */
-
- static const char *trad_capable_cpp =
--"%{traditional|ftraditional|traditional-cpp:trad}cpp";
-+"%{traditional|ftraditional|traditional-cpp:trad}cpp0";
-
- static const char *cpp_options =
- "%{C:%{!E:%eGNU C does not support -C without using -E}}\
-@@ -688,7 +688,7 @@ static struct compiler default_compilers
- {".c", "@c"},
- {"@c",
- #if USE_CPPLIB
-- "%{E|M|MM:cpp -lang-c %{ansi:-std=c89} %(cpp_options)}\
-+ "%{E|M|MM:cpp0 -lang-c %{ansi:-std=c89} %(cpp_options)}\
- %{!E:%{!M:%{!MM:cc1 -lang-c %{ansi:-std=c89} %(cpp_options)\
- %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}"
-@@ -709,7 +709,7 @@ static struct compiler default_compilers
- {".i", "@cpp-output"},
- {"@cpp-output",
- "%{!M:%{!MM:%{!E:\
-- cc1 %i %(cc1_options) %{!S:|\n\
-+ cc1 %i %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}"},
- {".s", "@assembler"},
- {"@assembler",
---- gcc/ch/lang-specs.h 2000/07/13 07:14:11 1.13
-+++ gcc/ch/lang-specs.h 2000/07/31 18:21:37
-@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
- {".ch", "@chill"},
- {".chi", "@chill"},
- {"@chill",
-- "tradcpp -lang-chill %{!no-gcc:-D__GNUCHILL__=%v1} %(cpp_options)\
-+ "tradcpp0 -lang-chill %{!no-gcc:-D__GNUCHILL__=%v1} %(cpp_options)\
- %{!M:%{!MM:%{!E:%{!pipe:%g.i} |\n\
- cc1chill %{!pipe:%g.i} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}\n"},
---- gcc/cp/lang-specs.h 2000/07/13 07:14:12 1.25
-+++ gcc/cp/lang-specs.h 2000/07/31 18:21:37
-@@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA. */
- {".C", "@c++"},
- {"@c++",
- #if USE_CPPLIB
-- "%{E|M|MM:cpp -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
-+ "%{E|M|MM:cpp0 -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
- %{fnew-abi:-D__GXX_ABI_VERSION=100}\
- %{ansi:-trigraphs -$ -D__STRICT_ANSI__} %(cpp_options)}\
- %{!E:%{!M:%{!MM:cc1plus -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
-@@ -40,7 +40,7 @@ Boston, MA 02111-1307, USA. */
- %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}"
- #else /* ! USE_CPPLIB */
-- "cpp -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
-+ "cpp0 -lang-c++ %{!no-gcc:-D__GNUG__=%v1}\
- %{fnew-abi:-D__GXX_ABI_VERSION=100}\
- %{ansi:-trigraphs -$ -D__STRICT_ANSI__} %(cpp_options)\
- %{!M:%{!MM:%{!E:%{!pipe:%g.ii} |\n\
---- gcc/f/lang-specs.h 2000/07/26 12:37:12 1.23
-+++ gcc/f/lang-specs.h 2000/07/31 18:21:37
-@@ -28,7 +28,7 @@ the Free Software Foundation, 59 Temple
- {".fpp", "@f77-cpp-input"},
- {".FPP", "@f77-cpp-input"},
- {"@f77-cpp-input",
-- "tradcpp -lang-fortran %(cpp_options) %{!M:%{!MM:%{!E:%{!pipe:%g.f |\n\
-+ "tradcpp0 -lang-fortran %(cpp_options) %{!M:%{!MM:%{!E:%{!pipe:%g.f |\n\
- f771 %{!pipe:%g.f} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}}\n"},
- {".r", "@ratfor"},
-@@ -45,7 +45,7 @@ the Free Software Foundation, 59 Temple
- as %(asm_options) %{!pipe:%g.s} %A }}}}\n"},
- /* XXX This is perverse and should not be necessary. */
- {"@f77-version",
-- "tradcpp -lang-fortran %(cpp_options) /dev/null \n\
-+ "tradcpp0 -lang-fortran %(cpp_options) /dev/null \n\
- f771 -fnull-version %1 \
- %{!Q:-quiet} -dumpbase g77-version.f %{d*} %{m*} %{a*} \
- %{g*} %{O*} %{W*} %{w} %{pedantic*} \
---- gcc/objc/lang-specs.h 2000/07/13 07:14:13 1.13
-+++ gcc/objc/lang-specs.h 2000/07/31 18:21:37
-@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
- {".m", "@objective-c"},
- {"@objective-c",
- #if USE_CPPLIB
-- "%{E|M|MM:cpp -lang-objc %{ansi:-std=c89} %(cpp_options)}\
-+ "%{E|M|MM:cpp0 -lang-objc %{ansi:-std=c89} %(cpp_options)}\
- %{!E:%{!M:%{!MM:cc1obj -lang-objc %(cpp_options) %(cc1_options)\
- %{gen-decls} %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}"
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpplib.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpplib.patch
deleted file mode 100644
index 332b95ded151..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-cpplib.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-2000-07-31 Jakub Jelinek <jakub@redhat.com>
-
- * cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
- (_cpp_get_token): Don't macro expand a just pasted token if it
- was pasted at no_expand_level.
-
- * testsuite/gcc.dg/cpp/paste7.c: New test.
-
-2000-07-31 Zack Weinberg <zack@wolery.cumb.org>
-
- * cppmacro.c (find_param, count_params, save_expansion):
- Permit 'defined' as a macro parameter name.
-
---- gcc/cpplex.c 2000/07/24 21:49:34 1.82
-+++ gcc/cpplex.c 2000/07/31 23:40:47
-@@ -3082,7 +3082,7 @@ const cpp_token *
- _cpp_get_token (pfile)
- cpp_reader *pfile;
- {
-- const cpp_token *token;
-+ const cpp_token *token, *old_token;
- cpp_hashnode *node;
-
- /* Loop until we hit a non-macro token. */
-@@ -3111,6 +3111,8 @@ _cpp_get_token (pfile)
- be taken as a control macro. */
- pfile->potential_control_macro = 0;
-
-+ old_token = token;
-+
- /* See if there's a token to paste with this one. */
- if (!pfile->paste_level)
- token = maybe_paste_with_next (pfile, token);
-@@ -3120,10 +3122,17 @@ _cpp_get_token (pfile)
- return token;
-
- /* Is macro expansion disabled in general, or are we in the
-- middle of a token paste? */
-- if (pfile->no_expand_level == pfile->cur_context || pfile->paste_level)
-+ middle of a token paste, or was this token just pasted?
-+ (Note we don't check token->flags & PASTED, because that
-+ counts tokens that were pasted at some point in the past,
-+ we're only interested in tokens that were pasted by this call
-+ to maybe_paste_with_next.) */
-+ if (pfile->no_expand_level == pfile->cur_context
-+ || pfile->paste_level
-+ || (token != old_token
-+ && pfile->no_expand_level + 1 == pfile->cur_context))
- return token;
--
-+
- node = token->val.node;
- if (node->type != T_MACRO)
- return special_symbol (pfile, node, token);
-@@ -3336,6 +3345,13 @@ _cpp_get_line (pfile, pcol)
- index = pfile->token_list.tokens_used;
- else
- index = pfile->contexts[0].posn;
-+
-+ if (index == 0)
-+ {
-+ if (pcol)
-+ *pcol = 0;
-+ return 0;
-+ }
-
- cur_token = &pfile->token_list.tokens[index - 1];
- if (pcol)
---- gcc/cppmacro.c 2000/07/20 17:57:37 1.3
-+++ gcc/cppmacro.c 2000/07/31 23:40:47
-@@ -72,7 +72,7 @@ find_param (first, token)
- unsigned int param = 0;
-
- for (; first < token && first->type != CPP_CLOSE_PAREN; first++)
-- if (first->type == CPP_NAME)
-+ if (first->type == CPP_NAME || first->type == CPP_DEFINED)
- {
- param++;
- if (first->val.node == token->val.node)
-@@ -139,6 +139,8 @@ count_params (pfile, info)
- case CPP_COMMENT:
- continue; /* Ignore -C comments. */
-
-+ case CPP_DEFINED: /* 'defined' may be used as a macro
-+ parameter name. */
- case CPP_NAME:
- if (prev_ident)
- {
-@@ -429,7 +431,7 @@ save_expansion (pfile, info)
- dumping macro definitions. They must go first. */
- if (list->params_len)
- for (token = info->first_param; token < info->first; token++)
-- if (token->type == CPP_NAME)
-+ if (token->type == CPP_NAME || token->type == CPP_DEFINED)
- {
- /* Copy null too. */
- memcpy (buf, token->val.node->name, token->val.node->length + 1);
-@@ -443,6 +445,7 @@ save_expansion (pfile, info)
-
- switch (token->type)
- {
-+ case CPP_DEFINED:
- case CPP_NAME:
- if (list->paramc == -1)
- break;
---- gcc/testsuite/gcc.dg/cpp/paste7.c Tue May 5 13:32:27 1998
-+++ gcc/testsuite/gcc.dg/cpp/paste7.c Mon Jul 31 16:40:48 2000
-@@ -0,0 +1,19 @@
-+/* { dg-do run } */
-+
-+#define D_2 1, 2
-+#define C_2(X, I0, I1) X##_a = I0, X##_b = I1
-+#define B_2(X, I) C_2(X, I)
-+#define A(N, X) B_##N (X, D_##N)
-+
-+extern void abort(void);
-+extern void exit(int);
-+
-+int x_a, x_b;
-+
-+int main(void)
-+{
-+ A(2, x);
-+ if (x_a != 1 || x_b != 2)
-+ abort();
-+ exit(0);
-+}
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-do-store-flag.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-do-store-flag.patch
deleted file mode 100644
index 244801e684ed..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-do-store-flag.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-2000-10-27 Jakub Jelinek <jakub@redhat.com>
-
- * expr.c (do_store_flag): If op0 has mode VOIDmode, pass operand_mode
- instead to expand_shift.
-
---- gcc/expr.c.jj Fri Oct 27 13:34:59 2000
-+++ gcc/expr.c Fri Oct 27 15:54:34 2000
-@@ -10285,7 +10285,7 @@ do_store_flag (exp, target, mode, only_c
- op0 = expand_expr (inner, subtarget, VOIDmode, 0);
-
- if (bitnum != 0)
-- op0 = expand_shift (RSHIFT_EXPR, GET_MODE (op0), op0,
-+ op0 = expand_shift (RSHIFT_EXPR, operand_mode, op0,
- size_int (bitnum), subtarget, ops_unsignedp);
-
- if (GET_MODE (op0) != mode)
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-f-include.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-f-include.patch
deleted file mode 100644
index 58ed092c711f..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-f-include.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-2000-08-18 Jakub Jelinek <jakub@redhat.com>
-
- * lang-specs.h: Pass -I* options to f771.
-
---- gcc/f/lang-specs.h.jj Fri Aug 18 18:10:58 2000
-+++ gcc/f/lang-specs.h Fri Aug 18 19:06:42 2000
-@@ -1,5 +1,5 @@
- /* lang-specs.h file for Fortran
-- Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
-+ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
- Contributed by James Craig Burley.
-
- This file is part of GNU Fortran.
-@@ -29,19 +29,19 @@ the Free Software Foundation, 59 Temple
- {".FPP", "@f77-cpp-input"},
- {"@f77-cpp-input",
- "tradcpp0 -lang-fortran %(cpp_options) %{!M:%{!MM:%{!E:%{!pipe:%g.f |\n\
-- f771 %{!pipe:%g.f} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
-+ f771 %{!pipe:%g.f} %(cc1_options) %{I*} %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}}\n"},
- {".r", "@ratfor"},
- {"@ratfor",
- "%{C:%{!E:%eGNU C does not support -C without using -E}}\
- ratfor %{C} %{v} %i %{E:%W{o*}} %{!E: %{!pipe:-o %g.f} |\n\
-- f771 %{!pipe:%g.f} %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
-+ f771 %{!pipe:%g.f} %(cc1_options) %{I*} %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}\n"},
- {".f", "@f77"},
- {".for", "@f77"},
- {".FOR", "@f77"},
- {"@f77",
-- "%{!M:%{!MM:%{!E:f771 %i %(cc1_options) %{!S:-o %{|!pipe:%g.s} |\n\
-+ "%{!M:%{!MM:%{!E:f771 %i %(cc1_options) %{I*} %{!S:-o %{|!pipe:%g.s} |\n\
- as %(asm_options) %{!pipe:%g.s} %A }}}}\n"},
- /* XXX This is perverse and should not be necessary. */
- {"@f77-version",
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-f77-fdebug.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-f77-fdebug.patch
deleted file mode 100644
index 8ed5c43b3623..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-f77-fdebug.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-2000-08-19 Toon Moene <toon@moene.indiv.nluug.nl>
-
- * top.c (ffe_decode_option): Disable -fdebug-kludge
- and warn about it.
- * lang-options.h: Document the fact.
- * g77.texi: Ditto.
-
---- gcc/f/top.c.jj Thu Jun 22 13:47:25 2000
-+++ gcc/f/top.c Thu Oct 12 10:49:34 2000
-@@ -307,9 +307,9 @@ ffe_decode_option (argc, argv)
- else if (strcmp (&opt[2], "no-zeros") == 0)
- ffe_set_is_zeros (FALSE);
- else if (strcmp (&opt[2], "debug-kludge") == 0)
-- ffe_set_is_debug_kludge (TRUE);
-+ warning ("%s disabled, use normal debugging flags", opt);
- else if (strcmp (&opt[2], "no-debug-kludge") == 0)
-- ffe_set_is_debug_kludge (FALSE);
-+ warning ("%s disabled, use normal debugging flags", opt);
- else if (strcmp (&opt[2], "onetrip") == 0)
- ffe_set_is_onetrip (TRUE);
- else if (strcmp (&opt[2], "no-onetrip") == 0)
---- gcc/f/g77.texi.jj Mon Jan 3 07:35:11 2000
-+++ gcc/f/g77.texi Thu Oct 12 10:48:42 2000
-@@ -2659,15 +2659,19 @@ information.
- @cindex common blocks
- @cindex equivalence areas
- @cindex missing debug features
--Support for this option in Fortran programs is incomplete.
-+Support for this option in Fortran programs was incomplete up till
-+version 0.5.26 of @code{g77}.
- In particular, names of variables and arrays in common blocks
--or that are storage-associated via @code{EQUIVALENCE} are
-+or that are storage-associated via @code{EQUIVALENCE} were
- unavailable to the debugger.
-
- However, version 0.5.19 of @code{g77} does provide this information
- in a rudimentary way, as controlled by the
- @samp{-fdebug-kludge} option.
-
-+Because version 0.5.26 of @code{g77} enables full debug information
-+of COMMON BLOCK and EQUIVALENCE items, this option has been disabled.
-+
- @xref{Code Gen Options,,Options for Code Generation Conventions},
- for more information.
- @end table
-@@ -3215,6 +3219,10 @@ language mode, so temporarily switching
- information is suggested.
- Use @samp{set language c} and @samp{set language fortran} to accomplish this.
-
-+As of version 0.5.26 of @code{g77} this option has been disabled, as the
-+compiler is now able to emit correct and complete debug information
-+for COMMON BLOCK and EQUIVALENCE items.
-+
- For example:
-
- @smallexample
-@@ -3261,7 +3269,9 @@ which might make some programs noticeabl
- (and its negative form).
- Current plans call for this to happen when published versions of @code{g77}
- and @code{gdb} exist that provide proper access to debugging information on
--@code{COMMON} and @code{EQUIVALENCE} members.
-+@code{COMMON} and @code{EQUIVALENCE} members. This is believed to have
-+happened as of version 0.5.26 of @code{g77}, so that this option has been
-+disabled starting with this release.
-
- @cindex -femulate-complex option
- @cindex options, -femulate-complex
-@@ -8842,6 +8852,10 @@ This kludge will be removed in a future
- in conjunction with a contemporary version of @code{gdb},
- properly supports Fortran-language debugging, including access
- to members of @code{COMMON} areas.)
-+
-+Version 0.5.26 of @code{g77} is believed to provide correct and
-+complete debug information for COMMON BLOCK and EQUIVALENCE items -
-+hence the @samp{-fdebug-kludge} option has been disabled.
-
- @xref{Code Gen Options,,Options for Code Generation Conventions},
- for information on the @samp{-fdebug-kludge} option.
---- gcc/f/lang-options.h.jj Mon Mar 6 18:38:06 2000
-+++ gcc/f/lang-options.h Thu Oct 12 10:48:42 2000
-@@ -139,7 +139,7 @@ FTNOPT( "-fvxt-intrinsics-enable", "" )
- FTNOPT( "-fvxt-intrinsics-hide", "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports" )
- FTNOPT( "-fzeros", "Treat initial values of 0 like non-zero values" )
- FTNOPT( "-fno-zeros", "" )
--FTNOPT( "-fdebug-kludge", "Emit special debugging information for COMMON and EQUIVALENCE" )
-+FTNOPT( "-fdebug-kludge", "Emit special debugging information for COMMON and EQUIVALENCE (disabled)" )
- FTNOPT( "-fno-debug-kludge", "" )
- FTNOPT( "-fonetrip", "Take at least one trip through each iterative DO loop" )
- FTNOPT( "-fno-onetrip", "" )
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-float-condmove.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-float-condmove.patch
deleted file mode 100644
index 0db810339fce..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-float-condmove.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-2000-09-04 Jakub Jelinek <jakub@redhat.com>
-
- * combine.c (simplify_if_then_else): Don't convert a == b ? b : a
- to a if the comparison is floating mode and not -ffast-math.
- * simplify-rtx.c (simplify_ternary_operation): Likewise.
-
---- gcc/combine.c.jj Mon Aug 21 08:43:38 2000
-+++ gcc/combine.c Mon Sep 4 14:40:59 2000
-@@ -4664,10 +4664,12 @@ simplify_if_then_else (x)
-
- /* Convert a == b ? b : a to "a". */
- if (true_code == EQ && ! side_effects_p (cond)
-+ && (! FLOAT_MODE_P (mode) || flag_fast_math)
- && rtx_equal_p (XEXP (cond, 0), false)
- && rtx_equal_p (XEXP (cond, 1), true))
- return false;
- else if (true_code == NE && ! side_effects_p (cond)
-+ && (! FLOAT_MODE_P (mode) || flag_fast_math)
- && rtx_equal_p (XEXP (cond, 0), true)
- && rtx_equal_p (XEXP (cond, 1), false))
- return true;
---- gcc/simplify-rtx.c.jj Fri Aug 25 14:22:22 2000
-+++ gcc/simplify-rtx.c Mon Sep 4 14:41:52 2000
-@@ -1976,10 +1976,12 @@ simplify_ternary_operation (code, mode,
-
- /* Convert a == b ? b : a to "a". */
- if (GET_CODE (op0) == NE && ! side_effects_p (op0)
-+ && (! FLOAT_MODE_P (mode) || flag_fast_math)
- && rtx_equal_p (XEXP (op0, 0), op1)
- && rtx_equal_p (XEXP (op0, 1), op2))
- return op1;
- else if (GET_CODE (op0) == EQ && ! side_effects_p (op0)
-+ && (! FLOAT_MODE_P (mode) || flag_fast_math)
- && rtx_equal_p (XEXP (op0, 1), op1)
- && rtx_equal_p (XEXP (op0, 0), op2))
- return op2;
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-format-checking.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-format-checking.patch
deleted file mode 100644
index bac621f6e1b0..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-format-checking.patch
+++ /dev/null
@@ -1,643 +0,0 @@
-gcc/ChangeLog:
-2000-07-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.h (flag_isoc94): Declare.
- * c-decl.c (flag_isoc94): Define.
- (c_decode_option): Set flag_isoc94 as appropriate.
- * c-common.c (T_PD, T_IM, T_UIM): Define.
- (format_char_info): Add tlen and jlen.
- (print_char_table): Add entries for %t and %j. Allow %zn. Allow
- %F. Allow %lf.
- (scan_char_table): Add entries for %t and %j. Allow %F. Allow
- %l[.
- (time_char_table): Add NULL entries for %t and %j.
- (check_format_info): Allow for %t and %j. Warn for %F if pedantic
- and not C99. Warn for %lc, %ls and %l[ if pedantic and not C94.
- Warn for printf %lf if pedantic and not C99. Don't warn for empty
- precision. Allow precision argument to be unsigned int. If
- pedantic, warn for %p passed an argument not a pointer to possibly
- qualified void or a possibly qualified character type, and for
- pointer targets of the wrong sign, except for character pointers.
-
-gcc/cp/ChangeLog:
-2000-07-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * decl.c (flag_isoc94): New variable.
-
-gcc/testsuite/ChangeLog:
-2000-07-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c90-printf-1.c, gcc.dg/c94-printf-1.c: New tests.
-
---- gcc/c-common.h Tue Jul 18 13:59:58 2000
-+++ gcc/c-common.h Tue Jul 18 14:10:14 2000
-@@ -179,6 +179,10 @@
-
- extern int flag_traditional;
-
-+/* Nonzero means enable C89 Amendment 1 features, other than digraphs. */
-+
-+extern int flag_isoc94;
-+
- /* Nonzero means use the ISO C99 dialect of C. */
-
- extern int flag_isoc99;
---- gcc/c-decl.c Tue Jul 18 13:59:58 2000
-+++ gcc/c-decl.c Tue Jul 18 14:10:14 2000
-@@ -330,6 +330,10 @@
-
- int flag_traditional;
-
-+/* Nonzero means enable C89 Amendment 1 features, other than digraphs. */
-+
-+int flag_isoc94 = 0;
-+
- /* Nonzero means use the ISO C99 dialect of C. */
-
- int flag_isoc99 = 0;
-@@ -541,6 +545,7 @@
- {
- iso_1990:
- flag_digraphs = 0;
-+ flag_isoc94 = 0;
- iso_1990_digraphs:
- flag_traditional = 0;
- flag_writable_strings = 0;
-@@ -551,7 +556,7 @@
- else if (!strcmp (argstart, "iso9899:199409"))
- {
- flag_digraphs = 1;
-- /* ??? The other changes since ISO C 1990 are not supported. */
-+ flag_isoc94 = 1;
- goto iso_1990_digraphs;
- }
- else if (!strcmp (argstart, "iso9899:199x")
-@@ -565,6 +570,7 @@
- flag_no_nonansi_builtin = 1;
- flag_isoc99 = 1;
- flag_digraphs = 1;
-+ flag_isoc94 = 1;
- }
- else if (!strcmp (argstart, "gnu89"))
- {
-@@ -574,6 +580,7 @@
- flag_no_nonansi_builtin = 0;
- flag_isoc99 = 0;
- flag_digraphs = 1;
-+ flag_isoc94 = 0;
- }
- else if (!strcmp (argstart, "gnu9x") || !strcmp (argstart, "gnu99"))
- {
-@@ -583,6 +590,7 @@
- flag_no_nonansi_builtin = 0;
- flag_isoc99 = 1;
- flag_digraphs = 1;
-+ flag_isoc94 = 1;
- }
- else
- error ("unknown C standard `%s'", argstart);
---- gcc/c-common.c Tue Jul 18 13:59:59 2000
-+++ gcc/c-common.c Tue Jul 18 14:10:14 2000
-@@ -1195,6 +1195,9 @@
- #define T_W &wchar_type_node
- #define T_WI &wint_type_node
- #define T_ST &sizetype
-+#define T_PD &ptrdiff_type_node
-+#define T_IM NULL /* intmax_t not yet implemented. */
-+#define T_UIM NULL /* uintmax_t not yet implemented. */
-
- typedef struct {
- const char *format_chars;
-@@ -1219,38 +1222,44 @@
- /* Type of argument if length modifiers 'z' or `Z' is used.
- If NULL, then this modifier is not allowed. */
- tree *zlen;
-+ /* Type of argument if length modifier 't' is used.
-+ If NULL, then this modifier is not allowed. */
-+ tree *tlen;
-+ /* Type of argument if length modifier 'j' is used.
-+ If NULL, then this modifier is not allowed. */
-+ tree *jlen;
- /* List of other modifier characters allowed with these options. */
- const char *flag_chars;
- } format_char_info;
-
- static format_char_info print_char_table[] = {
-- { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
-- { "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
-- { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-+ { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, T_PD, T_IM, "-wp0 +" },
-+ { "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "-wp0#" },
-+ { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "-wp0" },
- /* A GNU extension. */
-- { "m", 0, T_V, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
-- { "feEgGaA", 0, T_D, NULL, NULL, NULL, NULL, T_LD, NULL, "-wp0 +#" },
-- { "c", 0, T_I, NULL, NULL, T_WI, NULL, NULL, NULL, "-w" },
-- { "C", 0, T_W, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-- { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, "-wp" },
-- { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
-- { "p", 1, T_V, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-- { "n", 1, T_I, NULL, T_S, T_L, T_LL, NULL, NULL, "" },
-- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
-+ { "m", 0, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
-+ { "fFeEgGaA", 0, T_D, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "-wp0 +#" },
-+ { "c", 0, T_I, NULL, NULL, T_WI, NULL, NULL, NULL, NULL, NULL, "-w" },
-+ { "C", 0, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-+ { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "-wp" },
-+ { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
-+ { "p", 1, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-+ { "n", 1, T_I, NULL, T_S, T_L, T_LL, NULL, T_ST, T_PD, T_IM, "" },
-+ { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
- };
-
- static format_char_info scan_char_table[] = {
-- { "di", 1, T_I, T_C, T_S, T_L, T_LL, T_LL, T_ST, "*" },
-- { "ouxX", 1, T_UI, T_UC, T_US, T_UL, T_ULL, T_ULL, T_ST, "*" },
-- { "efgEGaA", 1, T_F, NULL, NULL, T_D, NULL, T_LD, NULL, "*" },
-- { "c", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, "*" },
-- { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, "*a" },
-- { "[", 1, T_C, NULL, NULL, NULL, NULL, NULL, NULL, "*a" },
-- { "C", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
-- { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, "*a" },
-- { "p", 2, T_V, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
-- { "n", 1, T_I, T_C, T_S, T_L, T_LL, NULL, T_ST, "" },
-- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
-+ { "di", 1, T_I, T_C, T_S, T_L, T_LL, T_LL, T_ST, T_PD, T_IM, "*" },
-+ { "ouxX", 1, T_UI, T_UC, T_US, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "*" },
-+ { "efFgEGaA", 1, T_F, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "*" },
-+ { "c", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*" },
-+ { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*a" },
-+ { "[", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*a" },
-+ { "C", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
-+ { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*a" },
-+ { "p", 2, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
-+ { "n", 1, T_I, T_C, T_S, T_L, T_LL, NULL, T_ST, T_PD, T_IM, "" },
-+ { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
- };
-
- /* Handle format characters recognized by glibc's strftime.c.
-@@ -1262,20 +1271,20 @@
- 'G' - other GNU extensions */
-
- static format_char_info time_char_table[] = {
-- { "y", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2EO-_0w" },
-- { "D", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2" },
-- { "g", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2O-_0w" },
-- { "cx", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "3E" },
-- { "%RTXnrt", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "" },
-- { "P", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "G" },
-- { "HIMSUWdemw", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Ow" },
-- { "Vju", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Oow" },
-- { "Gklsz", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0OGw" },
-- { "ABZa", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^#" },
-- { "p", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "#" },
-- { "bh", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^" },
-- { "CY", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0EOw" },
-- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
-+ { "y", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2EO-_0w" },
-+ { "D", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2" },
-+ { "g", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2O-_0w" },
-+ { "cx", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "3E" },
-+ { "%RTXnrt", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "" },
-+ { "P", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "G" },
-+ { "HIMSUWdemw", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Ow" },
-+ { "Vju", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Oow" },
-+ { "Gklsz", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0OGw" },
-+ { "ABZa", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^#" },
-+ { "p", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "#" },
-+ { "bh", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^" },
-+ { "CY", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0EOw" },
-+ { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
- };
-
- typedef struct function_format_info
-@@ -1580,6 +1589,7 @@
- while (1)
- {
- int aflag;
-+ int char_type_flag = 0;
- if (*format_chars == 0)
- {
- if (format_chars - TREE_STRING_POINTER (format_tree) != format_length)
-@@ -1741,8 +1751,6 @@
- {
- precise = TRUE;
- ++format_chars;
-- if (*format_chars != '*' && !ISDIGIT (*format_chars))
-- warning ("`.' not followed by `*' or digit in format");
- /* "...a...precision...may be indicated by an asterisk.
- In this case, an int argument supplies the...precision." */
- if (*format_chars == '*')
-@@ -1758,9 +1766,12 @@
- cur_param = TREE_VALUE (params);
- params = TREE_CHAIN (params);
- ++arg_num;
-- if (TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
-- != integer_type_node)
-- warning ("field width is not type int (arg %d)",
-+ if ((TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
-+ != integer_type_node)
-+ &&
-+ (TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
-+ != unsigned_type_node))
-+ warning ("field precision is not type int (arg %d)",
- arg_num);
- }
- }
-@@ -1792,6 +1803,13 @@
- warning ("ANSI C does not support the `%c' length modifier",
- length_char);
- }
-+ else if (*format_chars == 't' || *format_chars == 'j')
-+ {
-+ length_char = *format_chars++;
-+ if (pedantic && !flag_isoc99)
-+ warning ("ANSI C does not support the `%c' length modifier",
-+ length_char);
-+ }
- else
- length_char = 0;
- if (length_char == 'l' && *format_chars == 'l')
-@@ -1830,9 +1848,9 @@
- if (pedantic && info->format_type != strftime_format_type
- && (format_char == 'm' || format_char == 'C' || format_char == 'S'))
- warning ("ANSI C does not support the `%c' format", format_char);
-- /* The a and A formats are C99 extensions. */
-+ /* The a, A and F formats are C99 extensions. */
- if (pedantic && info->format_type != strftime_format_type
-- && (format_char == 'a' || format_char == 'A')
-+ && (format_char == 'a' || format_char == 'A' || format_char == 'F')
- && !flag_isoc99)
- warning ("ANSI C does not support the `%c' format", format_char);
- format_chars++;
-@@ -1937,6 +1955,8 @@
- ? TYPE_DOMAIN (*fci->zlen)
- : *fci->zlen)
- : 0); break;
-+ case 't': wanted_type = fci->tlen ? *(fci->tlen) : 0; break;
-+ case 'j': wanted_type = fci->jlen ? *(fci->jlen) : 0; break;
- }
- if (wanted_type == 0)
- warning ("use of `%c' length character with `%c' type character",
-@@ -1948,6 +1968,19 @@
- || format_char == 'g' || format_char == 'G'))
- warning ("ANSI C does not support the `L' length modifier with the `%c' type character",
- format_char);
-+ else if (length_char == 'l'
-+ && (format_char == 'c' || format_char == 's'
-+ || format_char == '[')
-+ && pedantic && !flag_isoc94)
-+ warning ("ANSI C89 does not support the `l' length modifier with the `%c' type character",
-+ format_char);
-+ else if (info->format_type == printf_format_type && pedantic
-+ && !flag_isoc99 && length_char == 'l'
-+ && (format_char == 'f' || format_char == 'e'
-+ || format_char == 'E' || format_char == 'g'
-+ || format_char == 'G'))
-+ warning ("ANSI C does not support the `l' length modifier with the `%c' type character",
-+ format_char);
-
- /* Finally. . .check type of argument against desired type! */
- if (info->first_arg_num == 0)
-@@ -2006,23 +2039,41 @@
- || (DECL_P (cur_param) && TREE_READONLY (cur_param))))))
- warning ("writing into constant object (arg %d)", arg_num);
-
-+ /* Check whether the argument type is a character type. */
-+ if (TREE_CODE (cur_type) != ERROR_MARK)
-+ char_type_flag = (TYPE_MAIN_VARIANT (cur_type) == char_type_node
-+ || TYPE_MAIN_VARIANT (cur_type) == signed_char_type_node
-+ || TYPE_MAIN_VARIANT (cur_type) == unsigned_char_type_node);
-+
- /* Check the type of the "real" argument, if there's a type we want. */
- if (i == fci->pointer_count + aflag && wanted_type != 0
- && TREE_CODE (cur_type) != ERROR_MARK
- && wanted_type != TYPE_MAIN_VARIANT (cur_type)
- /* If we want `void *', allow any pointer type.
-- (Anything else would already have got a warning.) */
-+ (Anything else would already have got a warning.)
-+ With -pedantic, only allow pointers to void and to character
-+ types.
-+ */
- && ! (wanted_type == void_type_node
-- && fci->pointer_count > 0)
-- /* Don't warn about differences merely in signedness. */
-+ && fci->pointer_count > 0
-+ && (! pedantic
-+ || TYPE_MAIN_VARIANT (cur_type) == void_type_node
-+ || char_type_flag))
-+ /* Don't warn about differences merely in signedness, unless
-+ -pedantic. With -pedantic, warn if the type is a pointer
-+ target and not a character type, and for character types at
-+ a second level of indirection.
-+ */
- && !(TREE_CODE (wanted_type) == INTEGER_TYPE
- && TREE_CODE (TYPE_MAIN_VARIANT (cur_type)) == INTEGER_TYPE
-+ && (! pedantic || i == 0 || (i == 1 && char_type_flag))
- && (TREE_UNSIGNED (wanted_type)
- ? wanted_type == (cur_type = unsigned_type (cur_type))
- : wanted_type == (cur_type = signed_type (cur_type))))
- /* Likewise, "signed char", "unsigned char" and "char" are
- equivalent but the above test won't consider them equivalent. */
- && ! (wanted_type == char_type_node
-+ && (! pedantic || i < 2)
- && (TYPE_MAIN_VARIANT (cur_type) == signed_char_type_node
- || TYPE_MAIN_VARIANT (cur_type) == unsigned_char_type_node)))
- {
---- gcc/cp/decl.c Mon Jul 17 22:11:52 2000
-+++ gcc/cp/decl.c Tue Jul 18 14:50:56 2000
-@@ -339,6 +339,10 @@
-
- tree current_function_return_value;
-
-+/* Nonzero means use the ISO C94 dialect of C. */
-+
-+int flag_isoc94;
-+
- /* Nonzero means use the ISO C99 dialect of C. */
-
- int flag_isoc99;
---- gcc/testsuite/gcc.dg/c90-printf-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c90-printf-1.c Mon Jul 17 17:24:54 2000
-@@ -0,0 +1,247 @@
-+/* Test for printf formats. Formats using C90 features, including cases
-+ where C90 specifies some aspect of the format to be ignored or where
-+ the behaviour is undefined.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+
-+#ifndef __WINT_TYPE__
-+#define __WINT_TYPE__ unsigned int
-+#endif
-+typedef __WINT_TYPE__ wint_t;
-+
-+__extension__ typedef long long int llong;
-+__extension__ typedef unsigned long long int ullong;
-+
-+extern int printf (const char *, ...);
-+
-+#define NULL ((void *)0)
-+
-+void
-+foo (int i, int i1, int i2, unsigned int u, double d, char *s, void *p,
-+ int *n, short int *hn, long int l, unsigned long int ul,
-+ long int *ln, long double ld, wint_t lc, wchar_t *ls, llong ll,
-+ ullong ull, unsigned int *un, const int *cn, signed char *ss,
-+ unsigned char *us, const signed char *css, unsigned int u1,
-+ unsigned int u2)
-+{
-+ /* See ISO/IEC 9899:1990 (E) subclause 7.9.6.1 (pages 131-134). */
-+ /* Basic sanity checks for the different components of a format. */
-+ printf ("%d\n", i);
-+ printf ("%+d\n", i);
-+ printf ("%3d\n", i);
-+ printf ("%-3d\n", i);
-+ printf ("%.7d\n", i);
-+ printf ("%+9.4d\n", i);
-+ printf ("%.3ld\n", l);
-+ printf ("%*d\n", i1, i);
-+ printf ("%.*d\n", i2, i);
-+ printf ("%*.*ld\n", i1, i2, l);
-+ printf ("%d %lu\n", i, ul);
-+ /* GCC has objected to the next one in the past, but it is a valid way
-+ of specifying zero precision.
-+ */
-+ printf ("%.e\n", d); /* { dg-bogus "precision" "bogus precision warning" } */
-+ /* Bogus use of width. */
-+ printf ("%5n\n", n); /* { dg-warning "width" "width with %n" } */
-+ /* Erroneous, ignored or pointless constructs with precision. */
-+ /* Whether negative values for precision may be included in the format
-+ string is not entirely clear; presume not, following Clive Feather's
-+ proposed resolution to DR#220 against C99. In any case, such a
-+ construct should be warned about.
-+ */
-+ printf ("%.-5d\n", i); /* { dg-warning "format|precision" "negative precision warning" } */
-+ printf ("%.-*d\n", i); /* { dg-warning "format" "broken %.-*d format" } */
-+ printf ("%.3c\n", i); /* { dg-warning "precision" "precision with %c" } */
-+ printf ("%.3p\n", p); /* { dg-warning "precision" "precision with %p" } */
-+ printf ("%.3n\n", n); /* { dg-warning "precision" "precision with %n" } */
-+ /* Valid and invalid %% constructions. Some of the warning messages
-+ are non-optimal, but they do detect the errorneous nature of the
-+ format string.
-+ */
-+ printf ("%%");
-+ printf ("%.3%"); /* { dg-warning "format" "bogus %%" } */
-+ printf ("%-%"); /* { dg-warning "format" "bogus %%" } */
-+ printf ("%-%\n"); /* { dg-warning "format" "bogus %%" } */
-+ printf ("%5%\n"); /* { dg-warning "format" "bogus %%" } */
-+ printf ("%h%\n"); /* { dg-warning "format" "bogus %%" } */
-+ /* Valid and invalid %h, %l, %L constructions. */
-+ printf ("%hd", i);
-+ printf ("%hi", i);
-+ /* Strictly, these parameters should be int or unsigned int according to
-+ what unsigned short promotes to. However, GCC ignores sign
-+ differences in format checking here, and this is relied on to get the
-+ correct checking without print_char_table needing to know whether
-+ int and short are the same size.
-+ */
-+ printf ("%ho%hu%hx%hX", u, u, u, u);
-+ printf ("%hn", hn);
-+ printf ("%hf", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%he", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hE", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hg", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hG", d); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hc", i); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%hp", p); /* { dg-warning "length character" "bad use of %h" } */
-+ printf ("%h"); /* { dg-warning "conversion lacks type" "bare %h" } */
-+ printf ("%h."); /* { dg-warning "conversion" "bogus %h." } */
-+ printf ("%ld%li%lo%lu%lx%lX", l, l, ul, ul, ul, ul);
-+ printf ("%ln", ln);
-+ printf ("%lf", d); /* { dg-warning "length character|C" "bad use of %l" } */
-+ printf ("%le", d); /* { dg-warning "length character|C" "bad use of %l" } */
-+ printf ("%lE", d); /* { dg-warning "length character|C" "bad use of %l" } */
-+ printf ("%lg", d); /* { dg-warning "length character|C" "bad use of %l" } */
-+ printf ("%lG", d); /* { dg-warning "length character|C" "bad use of %l" } */
-+ printf ("%lp", p); /* { dg-warning "length character|C" "bad use of %l" } */
-+ /* These next two were added in C94, but should be objected to in C90.
-+ For the first one, GCC has wanted wchar_t instead of the correct C94
-+ and C99 wint_t.
-+ */
-+ printf ("%lc", lc); /* { dg-warning "length character|C" "C90 bad use of %l" } */
-+ printf ("%ls", ls); /* { dg-warning "length character|C" "C90 bad use of %l" } */
-+ /* These uses of %L are legitimate, though GCC has wrongly warned for
-+ them in the past.
-+ */
-+ printf ("%Le%LE%Lf%Lg%LG", ld, ld, ld, ld, ld);
-+ /* These next six are accepted by GCC as referring to long long,
-+ but -pedantic correctly warns.
-+ */
-+ printf ("%Ld", ll); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Li", ll); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lo", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lu", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lx", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%LX", ull); /* { dg-warning "does not support" "bad use of %L" } */
-+ printf ("%Lc", i); /* { dg-warning "length character" "bad use of %L" } */
-+ printf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-+ printf ("%Lp", p); /* { dg-warning "length character" "bad use of %L" } */
-+ printf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
-+ /* Valid uses of each bare conversion. */
-+ printf ("%d%i%o%u%x%X%f%e%E%g%G%c%s%p%n%%", i, i, u, u, u, u, d, d, d, d, d,
-+ i, s, p, n);
-+ /* Uses of the - flag (valid on all non-%, non-n conversions). */
-+ printf ("%-d%-i%-o%-u%-x%-X%-f%-e%-E%-g%-G%-c%-s%-p", i, i, u, u, u, u,
-+ d, d, d, d, d, i, s, p);
-+ printf ("%-n", n); /* { dg-warning "flag" "bad use of %-n" } */
-+ /* Uses of the + flag (valid on signed conversions only). */
-+ printf ("%+d%+i%+f%+e%+E%+g%+G\n", i, i, d, d, d, d, d);
-+ printf ("%+o", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+u", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+x", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+X", u); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+c", i); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+s", s); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+p", p); /* { dg-warning "flag" "bad use of + flag" } */
-+ printf ("%+n", n); /* { dg-warning "flag" "bad use of + flag" } */
-+ /* Uses of the space flag (valid on signed conversions only, and ignored
-+ with +).
-+ */
-+ printf ("% +d", i); /* { dg-warning "use of both" "use of space and + flags" } */
-+ printf ("%+ d", i); /* { dg-warning "use of both" "use of space and + flags" } */
-+ printf ("% d% i% f% e% E% g% G\n", i, i, d, d, d, d, d);
-+ printf ("% o", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% u", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% x", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% X", u); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% c", i); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% s", s); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% p", p); /* { dg-warning "flag" "bad use of space flag" } */
-+ printf ("% n", n); /* { dg-warning "flag" "bad use of space flag" } */
-+ /* Uses of the # flag. */
-+ printf ("%#o%#x%#X%#e%#E%#f%#g%#G", u, u, u, d, d, d, d, d);
-+ printf ("%#d", i); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#i", i); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#u", u); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#c", i); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#s", s); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#p", p); /* { dg-warning "flag" "bad use of # flag" } */
-+ printf ("%#n", n); /* { dg-warning "flag" "bad use of # flag" } */
-+ /* Uses of the 0 flag. */
-+ printf ("%08d%08i%08o%08u%08x%08X%08e%08E%08f%08g%08G", i, i, u, u, u, u,
-+ d, d, d, d, d);
-+ printf ("%0c", i); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ printf ("%0s", s); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ printf ("%0p", p); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ printf ("%0n", n); /* { dg-warning "flag" "bad use of 0 flag" } */
-+ /* 0 flag ignored with precision for certain types, not others. */
-+ printf ("%08.5d", i); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5i", i); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5o", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5u", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5x", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5X", u); /* { dg-warning "ignored" "0 flag ignored with precision" } */
-+ printf ("%08.5f%08.5e%08.5E%08.5g%08.5G", d, d, d, d, d);
-+ /* 0 flag ignored with - flag. */
-+ printf ("%-08d", i); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08i", i); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08o", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08u", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08x", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08X", u); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08e", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08E", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08f", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08g", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ printf ("%-08G", d); /* { dg-warning "flags" "0 flag ignored with - flag" } */
-+ /* Various tests of bad argument types. */
-+ printf ("%d", l); /* { dg-warning "format" "bad argument types" } */
-+ printf ("%*.*d", l, i2, i); /* { dg-warning "field" "bad * argument types" } */
-+ printf ("%*.*d", i1, l, i); /* { dg-warning "field" "bad * argument types" } */
-+ printf ("%ld", i); /* { dg-warning "format" "bad argument types" } */
-+ printf ("%s", n); /* { dg-warning "format" "bad argument types" } */
-+ printf ("%p", i); /* { dg-warning "format" "bad argument types" } */
-+ printf ("%n", p); /* { dg-warning "format" "bad argument types" } */
-+ /* With -pedantic, we want some further checks for pointer targets:
-+ %p should allow only pointers to void (possibly qualified) and
-+ to character types (possibly qualified), but not function pointers
-+ or pointers to other types. (Whether, in fact, character types are
-+ allowed here is unclear; see thread on comp.std.c, July 2000 for
-+ discussion of the requirements of rules on identical representation,
-+ and of the application of the as if rule with the new va_arg
-+ allowances in C99 to printf.) Likewise, we should warn if
-+ pointer targets differ in signedness, except in some circumstances
-+ for character pointers. (In C99 we should consider warning for
-+ char * or unsigned char * being passed to %hhn, even if strictly
-+ legitimate by the standard.)
-+ */
-+ printf ("%p", foo); /* { dg-warning "format" "bad argument types" } */
-+ printf ("%n", un); /* { dg-warning "format" "bad argument types" } */
-+ printf ("%p", n); /* { dg-warning "format" "bad argument types" } */
-+ /* Allow character pointers with %p. */
-+ printf ("%p%p%p%p", s, ss, us, css);
-+ /* %s allows any character type. */
-+ printf ("%s%s%s%s", s, ss, us, css);
-+ /* Warning for void * arguments for %s is GCC's historical behaviour,
-+ and seems useful to keep, even if some standard versions might be
-+ read to permit it.
-+ */
-+ printf ("%s", p); /* { dg-warning "format" "bad argument types" } */
-+ /* The historical behaviour is to allow signed / unsigned types
-+ interchangably as arguments. For values representable in both types,
-+ such usage may be correct. For now preserve the behaviour of GCC
-+ in such cases.
-+ */
-+ printf ("%d", u);
-+ /* Also allow the same for width and precision arguments. In the past,
-+ GCC has been inconsistent and allowed unsigned for width but not
-+ precision.
-+ */
-+ printf ("%*.*d", u1, u2, i);
-+ /* Wrong number of arguments. */
-+ printf ("%d%d", i); /* { dg-warning "arguments" "wrong number of args" } */
-+ printf ("%d", i, i); /* { dg-warning "arguments" "wrong number of args" } */
-+ /* Miscellaneous bogus constructions. */
-+ printf (""); /* { dg-warning "zero-length" "warning for empty format" } */
-+ printf ("\0"); /* { dg-warning "embedded" "warning for embedded NUL" } */
-+ printf ("%d\0", i); /* { dg-warning "embedded" "warning for embedded NUL" } */
-+ printf ("%d\0%d", i, i); /* { dg-warning "embedded|too many" "warning for embedded NUL" } */
-+ printf (NULL); /* { dg-warning "null" "null format string warning" } */
-+ printf ("%"); /* { dg-warning "trailing" "trailing % warning" } */
-+ printf ("%++d", i); /* { dg-warning "repeated" "repeated flag warning" } */
-+ printf ("%n", cn); /* { dg-warning "constant" "%n with const" } */
-+ /* Can we test for the warning for unterminated string formats? */
-+}
---- gcc/testsuite/gcc.dg/c94-printf-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c94-printf-1.c Mon Jul 17 17:26:43 2000
-@@ -0,0 +1,25 @@
-+/* Test for printf formats. Changes in C94 to C90. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:199409 -pedantic -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+
-+#ifndef __WINT_TYPE__
-+#define __WINT_TYPE__ unsigned int
-+#endif
-+typedef __WINT_TYPE__ wint_t;
-+
-+extern int printf (const char *, ...);
-+
-+void
-+foo (wint_t lc, wchar_t *ls)
-+{
-+ /* See ISO/IEC 9899:1990 (E) subclause 7.9.6.1 (pages 131-134),
-+ as amended by ISO/IEC 9899:1990/Amd.1:1995 (E) (pages 4-5).
-+ We do not repeat here all the C90 format checks, but just verify
-+ that %ls and %lc are accepted without warning.
-+ */
-+ printf ("%lc", lc);
-+ printf ("%ls", ls);
-+}
-
-
---
-Joseph S. Myers
-jsm28@cam.ac.uk
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-address-cost.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-address-cost.patch
deleted file mode 100644
index 4e63f24c391e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-address-cost.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-2000-09-06 Graham Stott <grahams@redhat.com>
-
- * config/i386/i386.h (ADDRESS_COST): Fix typo.
-
---- gcc/config/i386/i386.h.jj Mon Oct 23 22:51:33 2000
-+++ gcc/config/i386/i386.h Fri Oct 27 17:57:35 2000
-@@ -2097,7 +2097,7 @@ while (0)
- lifetimes. */
-
- #define ADDRESS_COST(RTX) \
-- ix86_address_cost (x)
-+ ix86_address_cost (RTX)
-
- /* A C expression for the cost of moving data from a register in class FROM to
- one in class TO. The classes are expressed using the enumeration values
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith.patch
deleted file mode 100644
index 95181f93b3db..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith.patch
+++ /dev/null
@@ -1,448 +0,0 @@
-Tue Sep 12 00:52:16 MET DST 2000 Jan Hubicka <jh@suse.cz>
-
- * i386.md (add?i_3, add?i_5): New.
- (add?i_4): Rename from add?i_3; Fix compare pattern.
- (sub?i_3, xor?i_3, ior?i_3): New.
-
-*** gcc/config/i386/i386.md Mon Aug 28 12:17:54 2000
---- gcc/config/i386/i386.md Mon Sep 11 23:36:03 2000
-***************
-*** 3967,3976 ****
- (set_attr "mode" "SI")])
-
- (define_insn "*addsi_3"
- [(set (reg:CC 17)
-! (compare:CC (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0")
-! (match_operand:SI 2 "general_operand" "rmni,rni"))
-! (const_int 0)))
- (set (match_operand:SI 0 "nonimmediate_operand" "=r,rm")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, SImode, operands)
---- 3965,4019 ----
- (set_attr "mode" "SI")])
-
- (define_insn "*addsi_3"
-+ [(set (reg 17)
-+ (compare (neg:SI (match_operand:SI 2 "general_operand" "rmni"))
-+ (match_operand:SI 1 "nonimmediate_operand" "%0")))
-+ (clobber (match_scratch:SI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)
-+ /* Current assemblers are broken and do not allow @GOTOFF in
-+ ought but a memory context. */
-+ && ! pic_symbolic_operand (operands[2], VOIDmode)"
-+ "*
-+ {
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (! rtx_equal_p (operands[0], operands[1]))
-+ abort ();
-+ if (operands[2] == const1_rtx)
-+ return \"inc{l}\\t%0\";
-+ else if (operands[2] == constm1_rtx)
-+ return \"dec{l}\\t%0\";
-+ else
-+ abort();
-+
-+ default:
-+ if (! rtx_equal_p (operands[0], operands[1]))
-+ abort ();
-+ /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-+ Exceptions: -128 encodes smaller than 128, so swap sign and op. */
-+ if (GET_CODE (operands[2]) == CONST_INT
-+ && (INTVAL (operands[2]) == 128
-+ || (INTVAL (operands[2]) < 0
-+ && INTVAL (operands[2]) != -128)))
-+ {
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"sub{l}\\t{%2, %0|%0, %2}\";
-+ }
-+ return \"add{l}\\t{%2, %0|%0, %2}\";
-+ }
-+ }"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:SI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
-+ (set_attr "mode" "SI")])
-+
-+ (define_insn "*addsi_4"
- [(set (reg:CC 17)
-! (compare:CC (neg:SI (match_operand:SI 2 "general_operand" "rmni,rni"))
-! (match_operand:SI 1 "nonimmediate_operand" "%0,0")))
- (set (match_operand:SI 0 "nonimmediate_operand" "=r,rm")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, SImode, operands)
-***************
-*** 3981,3986 ****
---- 4024,4042 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "SI")])
-
-+ (define_insn "*addsi_5"
-+ [(set (reg:CC 17)
-+ (compare:CC (neg:SI (match_operand:SI 2 "general_operand" "rmni"))
-+ (match_operand:SI 1 "nonimmediate_operand" "%0")))
-+ (clobber (match_scratch:SI 0 "=r"))]
-+ "(GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)
-+ /* Current assemblers are broken and do not allow @GOTOFF in
-+ ought but a memory context. */
-+ && ! pic_symbolic_operand (operands[2], VOIDmode)"
-+ "add{l}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "SI")])
-+
- (define_expand "addhi3"
- [(parallel [(set (match_operand:HI 0 "nonimmediate_operand" "")
- (plus:HI (match_operand:HI 1 "nonimmediate_operand" "")
-***************
-*** 4121,4130 ****
- (set_attr "mode" "HI")])
-
- (define_insn "*addhi_3"
- [(set (reg:CC 17)
-! (compare:CC (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0")
-! (match_operand:HI 2 "general_operand" "rmni,rni"))
-! (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=r,rm")
- (plus:HI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, HImode, operands)"
---- 4177,4225 ----
- (set_attr "mode" "HI")])
-
- (define_insn "*addhi_3"
-+ [(set (reg 17)
-+ (compare (neg:HI (match_operand:HI 2 "general_operand" "rmni"))
-+ (match_operand:HI 1 "nonimmediate_operand" "%0")))
-+ (clobber (match_scratch:HI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "*
-+ {
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (operands[2] == const1_rtx)
-+ return \"inc{w}\\t%0\";
-+ else if (operands[2] == constm1_rtx
-+ || (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) == 65535))
-+ return \"dec{w}\\t%0\";
-+ abort();
-+
-+ default:
-+ /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-+ Exceptions: -128 encodes smaller than 128, so swap sign and op. */
-+ if (GET_CODE (operands[2]) == CONST_INT
-+ && (INTVAL (operands[2]) == 128
-+ || (INTVAL (operands[2]) < 0
-+ && INTVAL (operands[2]) != -128)))
-+ {
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"sub{w}\\t{%2, %0|%0, %2}\";
-+ }
-+ return \"add{w}\\t{%2, %0|%0, %2}\";
-+ }
-+ }"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:HI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
-+ (set_attr "mode" "HI")])
-+
-+ (define_insn "*addhi_4"
- [(set (reg:CC 17)
-! (compare:CC (neg:HI (match_operand:HI 2 "general_operand" "rmni,rni"))
-! (match_operand:HI 1 "nonimmediate_operand" "%0,0")))
- (set (match_operand:HI 0 "nonimmediate_operand" "=r,rm")
- (plus:HI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, HImode, operands)"
-***************
-*** 4132,4137 ****
---- 4227,4242 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "HI")])
-
-+ (define_insn "*addhi_5"
-+ [(set (reg:CC 17)
-+ (compare:CC (neg:HI (match_operand:HI 2 "general_operand" "rmni"))
-+ (match_operand:HI 1 "nonimmediate_operand" "%0")))
-+ (clobber (match_scratch:HI 0 "=r"))]
-+ "(GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "add{w}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "HI")])
-+
- (define_expand "addqi3"
- [(parallel [(set (match_operand:QI 0 "nonimmediate_operand" "")
- (plus:QI (match_operand:QI 1 "nonimmediate_operand" "")
-***************
-*** 4280,4289 ****
- (set_attr "mode" "QI")])
-
- (define_insn "*addqi_3"
- [(set (reg:CC 17)
-! (compare:CC (plus:QI (match_operand:QI 1 "nonimmediate_operand" "%0,0")
-! (match_operand:QI 2 "general_operand" "qmni,qni"))
-! (const_int 0)))
- (set (match_operand:QI 0 "nonimmediate_operand" "=q,qm")
- (plus:QI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, QImode, operands)"
---- 4385,4430 ----
- (set_attr "mode" "QI")])
-
- (define_insn "*addqi_3"
-+ [(set (reg 17)
-+ (compare (neg:QI (match_operand:QI 2 "general_operand" "qmni"))
-+ (match_operand:QI 1 "nonimmediate_operand" "%0")))
-+ (clobber (match_scratch:QI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "*
-+ {
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (operands[2] == const1_rtx)
-+ return \"inc{b}\\t%0\";
-+ else if (operands[2] == constm1_rtx
-+ || (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) == 255))
-+ return \"dec{b}\\t%0\";
-+ abort();
-+
-+ default:
-+ /* Make things pretty and `subb $4,%al' rather than `addb $-4, %al'. */
-+ if (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) < 0)
-+ {
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"sub{b}\\t{%2, %0|%0, %2}\";
-+ }
-+ return \"add{b}\\t{%2, %0|%0, %2}\";
-+ }
-+ }"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:QI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
-+ (set_attr "mode" "QI")])
-+
-+ (define_insn "*addqi_4"
- [(set (reg:CC 17)
-! (compare:CC (neg:QI (match_operand:QI 2 "general_operand" "qmni,qni"))
-! (match_operand:QI 1 "nonimmediate_operand" "%0,0")))
- (set (match_operand:QI 0 "nonimmediate_operand" "=q,qm")
- (plus:QI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, QImode, operands)"
-***************
-*** 4291,4296 ****
---- 4432,4447 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "QI")])
-
-+ (define_insn "*addqi_5"
-+ [(set (reg:CC 17)
-+ (compare:CC (neg:QI (match_operand:QI 2 "general_operand" "qmni"))
-+ (match_operand:QI 1 "nonimmediate_operand" "%0")))
-+ (clobber (match_scratch:QI 0 "=r"))]
-+ "(GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "add{b}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "QI")])
-+
-
- (define_insn "addqi_ext_1"
- [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=q")
-***************
-*** 4448,4453 ****
---- 4599,4616 ----
- (const_int 0)))
- (set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
- (minus:SI (match_dup 1) (match_dup 2)))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && ix86_binary_operator_ok (MINUS, SImode, operands)"
-+ "sub{l}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "SI")])
-+
-+ (define_insn "*subsi_3"
-+ [(set (reg 17)
-+ (compare (match_operand:SI 1 "nonimmediate_operand" "0,0")
-+ (match_operand:SI 2 "general_operand" "ri,rm")))
-+ (set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
-+ (minus:SI (match_dup 1) (match_dup 2)))]
- "ix86_match_ccmode (insn, CCmode)
- && ix86_binary_operator_ok (MINUS, SImode, operands)"
- "sub{l}\\t{%2, %0|%0, %2}"
-***************
-*** 4480,4485 ****
---- 4643,4660 ----
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=rm,r")
- (minus:HI (match_dup 1) (match_dup 2)))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && ix86_binary_operator_ok (MINUS, HImode, operands)"
-+ "sub{w}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "HI")])
-+
-+ (define_insn "*subhi_3"
-+ [(set (reg 17)
-+ (compare (match_operand:HI 1 "nonimmediate_operand" "0,0")
-+ (match_operand:HI 2 "general_operand" "ri,rm")))
-+ (set (match_operand:HI 0 "nonimmediate_operand" "=rm,r")
-+ (minus:HI (match_dup 1) (match_dup 2)))]
- "ix86_match_ccmode (insn, CCmode)
- && ix86_binary_operator_ok (MINUS, HImode, operands)"
- "sub{w}\\t{%2, %0|%0, %2}"
-***************
-*** 4512,4517 ****
---- 4687,4704 ----
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=qm,q")
- (minus:HI (match_dup 1) (match_dup 2)))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && ix86_binary_operator_ok (MINUS, QImode, operands)"
-+ "sub{b}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "QI")])
-+
-+ (define_insn "*subqi_3"
-+ [(set (reg 17)
-+ (compare (match_operand:QI 1 "nonimmediate_operand" "0,0")
-+ (match_operand:QI 2 "general_operand" "qi,qm")))
-+ (set (match_operand:HI 0 "nonimmediate_operand" "=qm,q")
-+ (minus:HI (match_dup 1) (match_dup 2)))]
- "ix86_match_ccmode (insn, CCmode)
- && ix86_binary_operator_ok (MINUS, QImode, operands)"
- "sub{b}\\t{%2, %0|%0, %2}"
-***************
-*** 5414,5419 ****
---- 5601,5618 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "SI")])
-
-+ (define_insn "*iorsi_3"
-+ [(set (reg 17)
-+ (compare (ior:SI (match_operand:SI 1 "nonimmediate_operand" "%0")
-+ (match_operand:SI 2 "general_operand" "rim"))
-+ (const_int 0)))
-+ (clobber (match_scratch:SI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "or{l}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "SI")])
-+
- (define_expand "iorhi3"
- [(set (match_operand:HI 0 "nonimmediate_operand" "")
- (ior:HI (match_operand:HI 1 "nonimmediate_operand" "")
-***************
-*** 5445,5450 ****
---- 5644,5661 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "HI")])
-
-+ (define_insn "*iorhi_3"
-+ [(set (reg 17)
-+ (compare (ior:HI (match_operand:HI 1 "nonimmediate_operand" "%0")
-+ (match_operand:HI 2 "general_operand" "rim"))
-+ (const_int 0)))
-+ (clobber (match_scratch:HI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "or{w}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "HI")])
-+
- (define_expand "iorqi3"
- [(set (match_operand:QI 0 "nonimmediate_operand" "")
- (ior:QI (match_operand:QI 1 "nonimmediate_operand" "")
-***************
-*** 5479,5484 ****
---- 5690,5708 ----
- "or{b}\\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
- (set_attr "mode" "QI")])
-+
-+ (define_insn "*iorqi_3"
-+ [(set (reg 17)
-+ (compare (ior:QI (match_operand:QI 1 "nonimmediate_operand" "%0")
-+ (match_operand:QI 2 "general_operand" "qim"))
-+ (const_int 0)))
-+ (clobber (match_scratch:QI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "or{b}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "QI")])
-+
-
- ;; Logical XOR instructions
-
-***************
-*** 5516,5521 ****
---- 5740,5757 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "SI")])
-
-+ (define_insn "*xorsi_3"
-+ [(set (reg 17)
-+ (compare (xor:SI (match_operand:SI 1 "nonimmediate_operand" "%0")
-+ (match_operand:SI 2 "general_operand" "rim"))
-+ (const_int 0)))
-+ (clobber (match_scratch:SI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "xor{l}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "SI")])
-+
- (define_expand "xorhi3"
- [(set (match_operand:HI 0 "nonimmediate_operand" "")
- (xor:HI (match_operand:HI 1 "nonimmediate_operand" "")
-***************
-*** 5547,5552 ****
---- 5783,5800 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "HI")])
-
-+ (define_insn "*xorhi_3"
-+ [(set (reg 17)
-+ (compare (xor:HI (match_operand:HI 1 "nonimmediate_operand" "%0")
-+ (match_operand:HI 2 "general_operand" "rim"))
-+ (const_int 0)))
-+ (clobber (match_scratch:HI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "xor{w}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "HI")])
-+
- (define_expand "xorqi3"
- [(set (match_operand:QI 0 "nonimmediate_operand" "")
- (xor:QI (match_operand:QI 1 "nonimmediate_operand" "")
-***************
-*** 5601,5606 ****
---- 5849,5867 ----
- [(set_attr "type" "alu")
- (set_attr "mode" "QI")])
-
-+ (define_insn "*xorqi_cc_2"
-+ [(set (reg 17)
-+ (compare
-+ (xor:QI (match_operand:QI 1 "nonimmediate_operand" "%0")
-+ (match_operand:QI 2 "general_operand" "qim"))
-+ (const_int 0)))
-+ (clobber (match_scratch:QI 0 "=r"))]
-+ "ix86_match_ccmode (insn, CCNOmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "xor{b}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "mode" "QI")])
-+
- (define_insn "xorqi_cc_ext_1"
- [(set (reg:CCNO 17)
- (compare:CCNO
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith2.patch
deleted file mode 100644
index 7249f5706b12..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-arith2.patch
+++ /dev/null
@@ -1,1663 +0,0 @@
---- gcc/config/i386/i386.c Mon Oct 23 22:51:33 2000
-+++ gcc/config/i386/i386.c Fri Oct 27 17:41:12 2000
-@@ -1272,47 +1272,58 @@ no_comparison_operator (op, mode)
- return 0;
- }
- }
--
--/* Return 1 if OP is a comparison operator that can be issued by fcmov. */
--
-+/* Return 1 if OP is a valid comparison operator in valid mode. */
- int
--fcmov_comparison_operator (op, mode)
-- register rtx op;
-- enum machine_mode mode;
-+ix86_comparison_operator (op, mode)
-+ register rtx op;
-+ enum machine_mode mode;
- {
-+ enum machine_mode inmode;
- if (mode != VOIDmode && GET_MODE (op) != mode)
- return 0;
--
- switch (GET_CODE (op))
- {
- case EQ: case NE:
-- case LEU: case LTU: case GEU: case GTU:
-- case UNORDERED: case ORDERED:
- return 1;
--
-+ case LT: case GE:
-+ inmode = GET_MODE (XEXP (op, 0));
-+ if (inmode == CCmode || inmode == CCGCmode
-+ || inmode == CCGOCmode || inmode == CCNOmode)
-+ return 1;
-+ return 0;
-+ case LTU: case GTU: case LEU: case ORDERED: case UNORDERED: case GEU:
-+ inmode = GET_MODE (XEXP (op, 0));
-+ if (inmode == CCmode)
-+ return 1;
-+ return 0;
-+ case GT: case LE:
-+ inmode = GET_MODE (XEXP (op, 0));
-+ if (inmode == CCmode || inmode == CCGCmode || inmode == CCNOmode)
-+ return 1;
-+ return 0;
- default:
- return 0;
- }
- }
-
--/* Return 1 if OP is any normal comparison operator plus {UN}ORDERED. */
-+/* Return 1 if OP is a comparison operator that can be issued by fcmov. */
-
--int
--uno_comparison_operator (op, mode)
-+int
-+fcmov_comparison_operator (op, mode)
- register rtx op;
- enum machine_mode mode;
- {
-+ enum machine_mode inmode = GET_MODE (XEXP (op, 0));
- if (mode != VOIDmode && GET_MODE (op) != mode)
- return 0;
--
- switch (GET_CODE (op))
- {
- case EQ: case NE:
-- case LE: case LT: case GE: case GT:
-- case LEU: case LTU: case GEU: case GTU:
-- case UNORDERED: case ORDERED:
- return 1;
--
-+ case LTU: case GTU: case LEU: case ORDERED: case UNORDERED: case GEU:
-+ if (inmode == CCmode)
-+ return 1;
-+ return 0;
- default:
- return 0;
- }
-@@ -3035,40 +3046,52 @@ put_condition_code (code, mode, reverse,
- suffix = "ne";
- break;
- case GT:
-- if (mode == CCNOmode)
-+ if (mode != CCmode && mode != CCNOmode && mode != CCGCmode)
- abort ();
- suffix = "g";
- break;
- case GTU:
- /* ??? Use "nbe" instead of "a" for fcmov losage on some assemblers.
- Those same assemblers have the same but opposite losage on cmov. */
-+ if (mode != CCmode)
-+ abort();
- suffix = fp ? "nbe" : "a";
- break;
- case LT:
-- if (mode == CCNOmode)
-+ if (mode == CCNOmode || mode == CCGOCmode)
- suffix = "s";
-- else
-+ else if (mode == CCmode || mode == CCGCmode)
- suffix = "l";
-+ else
-+ abort();
- break;
- case LTU:
-+ if (mode != CCmode)
-+ abort();
- suffix = "b";
- break;
- case GE:
-- if (mode == CCNOmode)
-+ if (mode == CCNOmode || mode == CCGOCmode)
- suffix = "ns";
-- else
-+ else if (mode == CCmode || mode == CCGCmode)
- suffix = "ge";
-+ else
-+ abort();
- break;
- case GEU:
- /* ??? As above. */
-+ if (mode != CCmode)
-+ abort();
- suffix = fp ? "nb" : "ae";
- break;
- case LE:
-- if (mode == CCNOmode)
-+ if (mode != CCmode && mode != CCGCmode && mode != CCNOmode)
- abort ();
- suffix = "le";
- break;
- case LEU:
-+ if (mode != CCmode)
-+ abort ();
- suffix = "be";
- break;
- case UNORDERED:
-@@ -4454,15 +4477,27 @@ ix86_match_ccmode (insn, req_mode)
- set = XVECEXP (set, 0, 0);
- if (GET_CODE (set) != SET)
- abort ();
-+ if (GET_CODE (SET_SRC (set)) != COMPARE)
-+ abort ();
-
- set_mode = GET_MODE (SET_DEST (set));
- switch (set_mode)
- {
-+ case CCNOmode:
-+ if (req_mode != CCNOmode
-+ && (req_mode != CCmode
-+ || XEXP (SET_SRC (set), 1) != const0_rtx))
-+ return 0;
-+ break;
- case CCmode:
-- if (req_mode == CCNOmode)
-+ if (req_mode == CCGCmode)
- return 0;
- /* FALLTHRU */
-- case CCNOmode:
-+ case CCGCmode:
-+ if (req_mode == CCGOCmode || req_mode == CCNOmode)
-+ return 0;
-+ /* FALLTHRU */
-+ case CCGOCmode:
- if (req_mode == CCZmode)
- return 0;
- /* FALLTHRU */
-@@ -4572,6 +4607,49 @@ ix86_fp_compare_mode (code)
- return unordered ? CCFPUmode : CCFPmode;
- }
-
-+enum machine_mode
-+ix86_cc_mode (code, op0, op1)
-+ enum rtx_code code;
-+ rtx op0, op1;
-+{
-+ if (GET_MODE_CLASS (GET_MODE (op0)) == MODE_FLOAT)
-+ return ix86_fp_compare_mode (code);
-+ switch (code)
-+ {
-+ /* Only zero flag is needed. */
-+ case EQ: /* ZF=0 */
-+ case NE: /* ZF!=0 */
-+ return CCZmode;
-+ /* Codes needing carry flag. */
-+ case GEU: /* CF=0 */
-+ case GTU: /* CF=0 & ZF=0 */
-+ case LTU: /* CF=1 */
-+ case LEU: /* CF=1 | ZF=1 */
-+ return CCmode;
-+ /* Codes possibly doable only with sign flag when
-+ comparing against zero. */
-+ case GE: /* SF=OF or SF=0 */
-+ case LT: /* SF<>OF or SF=0 */
-+ if (op1 == const0_rtx)
-+ return CCGOCmode;
-+ else
-+ /* For other cases Carry flag is not required. */
-+ return CCGCmode;
-+ /* Codes doable only with sign flag when comparing
-+ against zero, but we miss jump instruction for it
-+ so we need to use relational tests agains overflow
-+ that thus needs to be zero. */
-+ case GT: /* ZF=0 & SF=OF */
-+ case LE: /* ZF=1 | SF<>OF */
-+ if (op1 == const0_rtx)
-+ return CCNOmode;
-+ else
-+ return CCGCmode;
-+ default:
-+ abort();
-+ }
-+}
-+
- /* Return true if we should use an FCOMI instruction for this fp comparison. */
-
- int
-@@ -4816,6 +4894,7 @@ ix86_expand_fp_compare (code, op0, op1,
- emit_insn (gen_andqi_ext_0 (scratch, scratch, GEN_INT (0x45)));
- emit_insn (gen_addqi_ext_1 (scratch, scratch, constm1_rtx));
- emit_insn (gen_cmpqi_ext_3 (scratch, GEN_INT (0x44)));
-+ intcmp_mode = CCmode;
- code = GEU;
- break;
- case UNLE:
-@@ -5865,8 +5944,6 @@ ix86_expand_strlensi_unroll_1 (out, alig
- rtx align_4_label = gen_label_rtx ();
- rtx end_0_label = gen_label_rtx ();
- rtx mem;
-- rtx no_flags = gen_rtx_REG (CCNOmode, FLAGS_REG);
-- rtx z_flags = gen_rtx_REG (CCNOmode, FLAGS_REG);
- rtx tmpreg = gen_reg_rtx (SImode);
-
- align = 0;
-@@ -5888,30 +5965,12 @@ ix86_expand_strlensi_unroll_1 (out, alig
- align_rtx = expand_binop (SImode, and_optab, scratch, GEN_INT (3),
- NULL_RTX, 0, OPTAB_WIDEN);
-
-- emit_insn (gen_cmpsi_ccz_1 (align_rtx, const0_rtx));
--
-- tmp = gen_rtx_EQ (VOIDmode, z_flags, const0_rtx);
-- tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
-- gen_rtx_LABEL_REF (VOIDmode,
-- align_4_label),
-- pc_rtx);
-- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, tmp));
--
-- emit_insn (gen_cmpsi_ccno_1 (align_rtx, GEN_INT (2)));
--
-- tmp = gen_rtx_EQ (VOIDmode, no_flags, const0_rtx);
-- tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
-- gen_rtx_LABEL_REF (VOIDmode,
-- align_2_label),
-- pc_rtx);
-- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, tmp));
--
-- tmp = gen_rtx_GTU (VOIDmode, no_flags, const0_rtx);
-- tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
-- gen_rtx_LABEL_REF (VOIDmode,
-- align_3_label),
-- pc_rtx);
-- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, tmp));
-+ emit_cmp_and_jump_insns (align_rtx, const0_rtx, EQ, NULL,
-+ SImode, 1, 0, align_4_label);
-+ emit_cmp_and_jump_insns (align_rtx, GEN_INT (2), EQ, NULL,
-+ SImode, 1, 0, align_2_label);
-+ emit_cmp_and_jump_insns (align_rtx, GEN_INT (2), GTU, NULL,
-+ SImode, 1, 0, align_3_label);
- }
- else
- {
-@@ -5921,14 +5980,8 @@ ix86_expand_strlensi_unroll_1 (out, alig
- align_rtx = expand_binop (SImode, and_optab, scratch, GEN_INT (2),
- NULL_RTX, 0, OPTAB_WIDEN);
-
-- emit_insn (gen_cmpsi_ccz_1 (align_rtx, const0_rtx));
--
-- tmp = gen_rtx_EQ (VOIDmode, z_flags, const0_rtx);
-- tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
-- gen_rtx_LABEL_REF (VOIDmode,
-- align_4_label),
-- pc_rtx);
-- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, tmp));
-+ emit_cmp_and_jump_insns (align_rtx, const0_rtx, EQ, NULL,
-+ SImode, 1, 0, align_4_label);
- }
-
- mem = gen_rtx_MEM (QImode, out);
-@@ -5936,13 +5989,8 @@ ix86_expand_strlensi_unroll_1 (out, alig
- /* Now compare the bytes. */
-
- /* Compare the first n unaligned byte on a byte per byte basis. */
-- emit_insn (gen_cmpqi_ccz_1 (mem, const0_rtx));
--
-- tmp = gen_rtx_EQ (VOIDmode, z_flags, const0_rtx);
-- tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
-- gen_rtx_LABEL_REF (VOIDmode, end_0_label),
-- pc_rtx);
-- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, tmp));
-+ emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL,
-+ QImode, 1, 0, end_0_label);
-
- /* Increment the address. */
- emit_insn (gen_addsi3 (out, out, const1_rtx));
-@@ -5952,27 +6000,16 @@ ix86_expand_strlensi_unroll_1 (out, alig
- {
- emit_label (align_2_label);
-
-- emit_insn (gen_cmpqi_ccz_1 (mem, const0_rtx));
--
-- tmp = gen_rtx_EQ (VOIDmode, z_flags, const0_rtx);
-- tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
-- gen_rtx_LABEL_REF (VOIDmode,
-- end_0_label),
-- pc_rtx);
-- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, tmp));
-+ emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL,
-+ QImode, 1, 0, end_0_label);
-
- emit_insn (gen_addsi3 (out, out, const1_rtx));
-
- emit_label (align_3_label);
- }
-
-- emit_insn (gen_cmpqi_ccz_1 (mem, const0_rtx));
--
-- tmp = gen_rtx_EQ (VOIDmode, z_flags, const0_rtx);
-- tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
-- gen_rtx_LABEL_REF (VOIDmode, end_0_label),
-- pc_rtx);
-- emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, tmp));
-+ emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL,
-+ QImode, 1, 0, end_0_label);
-
- emit_insn (gen_addsi3 (out, out, const1_rtx));
- }
-@@ -5993,7 +6030,8 @@ ix86_expand_strlensi_unroll_1 (out, alig
- emit_insn (gen_one_cmplsi2 (scratch, scratch));
- emit_insn (gen_andsi3 (tmpreg, tmpreg, scratch));
- emit_insn (gen_andsi3 (tmpreg, tmpreg, GEN_INT (0x80808080)));
-- emit_cmp_and_jump_insns (tmpreg, const0_rtx, EQ, 0, SImode, 1, 0, align_4_label);
-+ emit_cmp_and_jump_insns (tmpreg, const0_rtx, EQ, 0,
-+ SImode, 1, 0, align_4_label);
-
- if (TARGET_CMOVE)
- {
---- gcc/config/i386/i386.h Mon Oct 30 15:33:07 2000
-+++ gcc/config/i386/i386.h Mon Oct 30 16:28:01 2000
-@@ -2253,14 +2254,25 @@ while (0)
-
- For the i386, we need separate modes when floating-point
- equality comparisons are being done.
--
-- Add CCNO to indicate No Overflow, which is often also includes
-- No Carry. This is typically used on the output of logicals,
-- and is only valid in comparisons against zero.
-+
-+ Add CCNO to indicate comparisons against zero that requires
-+ No Overflow. Sign bit test is used instead and thus
-+ can be used to form "a&b>0" type of tests.
-+
-+ Add CCGC to indicate comparisons agains zero that allows
-+ unspecified garbage in the Carry flag. This mode is used
-+ by inc/dec instructions.
-+
-+ Add CCGCO to indicate comparisons agains zero that allows
-+ unspecified garbage in the Carry and Overflow flag. This
-+ mode is used to simulate comparisons of (a-b) and (a+b)
-+ against zero using sub/cmp/add operations.
-
- Add CCZ to indicate that only the Zero flag is valid. */
-
- #define EXTRA_CC_MODES \
-+ CC(CCGCmode, "CCGC") \
-+ CC(CCGOCmode, "CCGOC") \
- CC(CCNOmode, "CCNO") \
- CC(CCZmode, "CCZ") \
- CC(CCFPmode, "CCFP") \
-@@ -2275,12 +2287,7 @@ while (0)
- For integer comparisons against zero, reduce to CCNOmode or CCZmode if
- possible, to allow for more combinations. */
-
--#define SELECT_CC_MODE(OP,X,Y) \
-- (GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT \
-- ? (OP) == EQ || (OP) == NE ? CCFPUmode : CCFPmode \
-- : (OP) == LE || (OP) == GT ? CCmode \
-- : (Y) != const0_rtx ? CCmode \
-- : (OP) == EQ || (OP) == NE ? CCZmode : CCNOmode)
-+#define SELECT_CC_MODE(OP,X,Y) ix86_cc_mode (OP, X, Y)
-
- /* Control the assembler format that we output, to the extent
- this does not vary between assemblers. */
-@@ -2588,8 +2595,8 @@ do { long l; \
- {"non_q_regs_operand", {SUBREG, REG}}, \
- {"no_comparison_operator", {EQ, NE, LT, GE, LTU, GTU, LEU, GEU}}, \
- {"fcmov_comparison_operator", {EQ, NE, LTU, GTU, LEU, GEU}}, \
-- {"uno_comparison_operator", {EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, \
-- GTU, UNORDERED, ORDERED}}, \
-+ {"ix86_comparison_operator", {EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, \
-+ GTU, UNORDERED, ORDERED}}, \
- {"cmp_fp_expander_operand", {CONST_DOUBLE, SUBREG, REG, MEM}}, \
- {"ext_register_operand", {SUBREG, REG}}, \
- {"binary_fp_operator", {PLUS, MINUS, MULT, DIV}}, \
---- gcc/config/i386/i386.md Mon Oct 30 15:33:04 2000
-+++ gcc/config/i386/i386.md Mon Oct 30 16:23:52 2000
-@@ -71,6 +71,7 @@
- ;; 9 This is an `fnstsw' operation.
- ;; 10 This is a `sahf' operation.
- ;; 11 This is a `fstcw' operation
-+;; 12 This is behaviour of add when setting carry flag.
- ;;
- ;; Insns whose names begin with "x86_" are emitted by gen_FOO calls
- ;; from i386.c.
-@@ -1043,11 +1044,11 @@
- DONE;
- }")
-
--(define_insn "cmpsi_ccz_1"
-- [(set (reg:CCZ 17)
-- (compare:CCZ (match_operand:SI 0 "nonimmediate_operand" "r,?mr")
-- (match_operand:SI 1 "const0_operand" "n,n")))]
-- ""
-+(define_insn "*cmpsi_ccno_1"
-+ [(set (reg 17)
-+ (compare (match_operand:SI 0 "nonimmediate_operand" "r,?mr")
-+ (match_operand:SI 1 "const0_operand" "n,n")))]
-+ "ix86_match_ccmode (insn, CCNOmode)"
- "@
- test{l}\\t{%0, %0|%0, %0}
- cmp{l}\\t{%1, %0|%0, %1}"
-@@ -1055,28 +1056,34 @@
- (set_attr "length_immediate" "0,1")
- (set_attr "mode" "SI")])
-
--(define_insn "cmpsi_ccno_1"
-- [(set (reg:CCNO 17)
-- (compare:CCNO (match_operand:SI 0 "nonimmediate_operand" "r,?mr")
-- (match_operand:SI 1 "const0_operand" "n,n")))]
-- ""
-- "@
-- test{l}\\t{%0, %0|%0, %0}
-- cmp{l}\\t{%1, %0|%0, %1}"
-- [(set_attr "type" "test,icmp")
-- (set_attr "length_immediate" "0,1")
-+(define_insn "*cmpsi_minus_1"
-+ [(set (reg 17)
-+ (compare (minus:SI (match_operand:SI 0 "nonimmediate_operand" "rm,r")
-+ (match_operand:SI 1 "general_operand" "ri,mr"))
-+ (const_int 0)))]
-+ "ix86_match_ccmode (insn, CCGOCmode)"
-+ "cmp{l}\\t{%1, %0|%0, %1}"
-+ [(set_attr "type" "icmp")
- (set_attr "mode" "SI")])
-
--(define_insn "cmpsi_1"
-+(define_expand "cmpsi_1"
- [(set (reg:CC 17)
- (compare:CC (match_operand:SI 0 "nonimmediate_operand" "rm,r")
- (match_operand:SI 1 "general_operand" "ri,mr")))]
-- "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
-+ ""
-+ "")
-+
-+(define_insn "*cmpsi_1_insn"
-+ [(set (reg 17)
-+ (compare (match_operand:SI 0 "nonimmediate_operand" "rm,r")
-+ (match_operand:SI 1 "general_operand" "ri,mr")))]
-+ "(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
-+ && ix86_match_ccmode (insn, CCmode)"
- "cmp{l}\\t{%1, %0|%0, %1}"
- [(set_attr "type" "icmp")
- (set_attr "mode" "SI")])
-
--(define_insn "*cmphi_0"
-+(define_insn "*cmphi_ccno_1"
- [(set (reg 17)
- (compare (match_operand:HI 0 "nonimmediate_operand" "r,?mr")
- (match_operand:HI 1 "const0_operand" "n,n")))]
-@@ -1088,32 +1095,31 @@
- (set_attr "length_immediate" "0,1")
- (set_attr "mode" "HI")])
-
--(define_insn "*cmphi_1"
-- [(set (reg:CC 17)
-- (compare:CC (match_operand:HI 0 "nonimmediate_operand" "rm,r")
-- (match_operand:HI 1 "general_operand" "ri,mr")))]
-- "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
-+(define_insn "*cmphi_minus_1"
-+ [(set (reg 17)
-+ (compare (minus:HI (match_operand:HI 0 "nonimmediate_operand" "rm,r")
-+ (match_operand:HI 1 "general_operand" "ri,mr"))
-+ (const_int 0)))]
-+ "ix86_match_ccmode (insn, CCGOCmode)"
- "cmp{w}\\t{%1, %0|%0, %1}"
- [(set_attr "type" "icmp")
- (set_attr "mode" "HI")])
-
--(define_insn "cmpqi_ccz_1"
-- [(set (reg:CCZ 17)
-- (compare:CCZ (match_operand:QI 0 "nonimmediate_operand" "q,?mq")
-- (match_operand:QI 1 "const0_operand" "n,n")))]
-- ""
-- "@
-- test{b}\\t{%0, %0|%0, %0}
-- cmp{b}\\t{$0, %0|%0, 0}"
-- [(set_attr "type" "test,icmp")
-- (set_attr "length_immediate" "0,1")
-- (set_attr "mode" "QI")])
-+(define_insn "*cmphi_1"
-+ [(set (reg 17)
-+ (compare (match_operand:HI 0 "nonimmediate_operand" "rm,r")
-+ (match_operand:HI 1 "general_operand" "ri,mr")))]
-+ "(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
-+ && ix86_match_ccmode (insn, CCmode)"
-+ "cmp{w}\\t{%1, %0|%0, %1}"
-+ [(set_attr "type" "icmp")
-+ (set_attr "mode" "HI")])
-
- (define_insn "*cmpqi_ccno_1"
-- [(set (reg:CCNO 17)
-- (compare:CCNO (match_operand:QI 0 "nonimmediate_operand" "q,?mq")
-- (match_operand:QI 1 "const0_operand" "n,n")))]
-- ""
-+ [(set (reg 17)
-+ (compare (match_operand:QI 0 "nonimmediate_operand" "q,?mq")
-+ (match_operand:QI 1 "const0_operand" "n,n")))]
-+ "ix86_match_ccmode (insn, CCNOmode)"
- "@
- test{b}\\t{%0, %0|%0, %0}
- cmp{b}\\t{$0, %0|%0, 0}"
-@@ -1122,24 +1128,35 @@
- (set_attr "mode" "QI")])
-
- (define_insn "*cmpqi_1"
-- [(set (reg:CC 17)
-- (compare:CC (match_operand:QI 0 "nonimmediate_operand" "qm,q")
-- (match_operand:QI 1 "general_operand" "qi,mq")))]
-- "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM"
-+ [(set (reg 17)
-+ (compare (match_operand:QI 0 "nonimmediate_operand" "qm,q")
-+ (match_operand:QI 1 "general_operand" "qi,mq")))]
-+ "(GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM)
-+ && ix86_match_ccmode (insn, CCmode)"
- "cmp{b}\\t{%1, %0|%0, %1}"
- [(set_attr "type" "icmp")
- (set_attr "mode" "QI")])
-
-+(define_insn "*cmpqi_minus_1"
-+ [(set (reg 17)
-+ (compare (minus:QI (match_operand:QI 0 "nonimmediate_operand" "rm,r")
-+ (match_operand:QI 1 "general_operand" "ri,mr"))
-+ (const_int 0)))]
-+ "ix86_match_ccmode (insn, CCGOCmode)"
-+ "cmp{w}\\t{%1, %0|%0, %1}"
-+ [(set_attr "type" "icmp")
-+ (set_attr "mode" "QI")])
-+
- (define_insn "*cmpqi_ext_1"
-- [(set (reg:CC 17)
-- (compare:CC
-+ [(set (reg 17)
-+ (compare
- (match_operand:QI 0 "general_operand" "qm")
- (subreg:QI
- (zero_extract:SI
- (match_operand 1 "ext_register_operand" "q")
- (const_int 8)
- (const_int 8)) 0)))]
-- ""
-+ "ix86_match_ccmode (insn, CCmode)"
- "cmp{b}\\t{%h1, %0|%0, %h1}"
- [(set_attr "type" "icmp")
- (set_attr "mode" "QI")])
-@@ -1159,7 +1176,7 @@
- (set_attr "length_immediate" "0")
- (set_attr "mode" "QI")])
-
--(define_insn "cmpqi_ext_3"
-+(define_expand "cmpqi_ext_3"
- [(set (reg:CC 17)
- (compare:CC
- (subreg:QI
-@@ -1169,13 +1186,25 @@
- (const_int 8)) 0)
- (match_operand:QI 1 "general_operand" "qmn")))]
- ""
-+ "")
-+
-+(define_insn "cmpqi_ext_3_insn"
-+ [(set (reg 17)
-+ (compare
-+ (subreg:QI
-+ (zero_extract:SI
-+ (match_operand 0 "ext_register_operand" "q")
-+ (const_int 8)
-+ (const_int 8)) 0)
-+ (match_operand:QI 1 "general_operand" "qmn")))]
-+ "ix86_match_ccmode (insn, CCmode)"
- "cmp{b}\\t{%1, %h0|%h0, %1}"
- [(set_attr "type" "icmp")
- (set_attr "mode" "QI")])
-
- (define_insn "*cmpqi_ext_4"
-- [(set (reg:CC 17)
-- (compare:CC
-+ [(set (reg 17)
-+ (compare
- (subreg:QI
- (zero_extract:SI
- (match_operand 0 "ext_register_operand" "q")
-@@ -1186,7 +1215,7 @@
- (match_operand 1 "ext_register_operand" "q")
- (const_int 8)
- (const_int 8)) 0)))]
-- ""
-+ "ix86_match_ccmode (insn, CCmode)"
- "cmp{b}\\t{%h1, %h0|%h0, %h1}"
- [(set_attr "type" "icmp")
- (set_attr "mode" "QI")])
-@@ -3680,20 +3709,33 @@
- (match_operand:DI 2 "general_operand" "")))
- (clobber (reg:CC 17))]
- "reload_completed"
-- [(parallel [(set (reg:CC 17) (plus:CC (match_dup 1) (match_dup 2)))
-+ [(parallel [(set (reg:CC 17) (unspec:CC [(match_dup 1) (match_dup 2)] 12))
- (set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))])
- (parallel [(set (match_dup 3)
-- (plus:SI (match_dup 4)
-- (plus:SI (match_dup 5)
-- (ltu:SI (reg:CC 17) (const_int 0)))))
-+ (plus:SI (plus:SI (ltu:SI (reg:CC 17) (const_int 0))
-+ (match_dup 4))
-+ (match_dup 5)))
- (clobber (reg:CC 17))])]
- "split_di (operands+0, 1, operands+0, operands+3);
- split_di (operands+1, 1, operands+1, operands+4);
- split_di (operands+2, 1, operands+2, operands+5);")
-
-+(define_insn "*addsi3_carry"
-+ [(set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
-+ (plus:SI (plus:SI (ltu:SI (reg:CC 17) (const_int 0))
-+ (match_operand:SI 1 "nonimmediate_operand" "%0,0"))
-+ (match_operand:SI 2 "general_operand" "ri,rm")))
-+ (clobber (reg:CC 17))]
-+ "ix86_binary_operator_ok (PLUS, SImode, operands)"
-+ "adc{l}\\t{%2, %0|%0, %2}"
-+ [(set_attr "type" "alu")
-+ (set_attr "pent_pair" "pu")
-+ (set_attr "mode" "SI")
-+ (set_attr "ppro_uops" "few")])
-+
- (define_insn "*addsi3_cc"
-- [(set (reg:CC 17) (plus:CC (match_operand:SI 1 "nonimmediate_operand" "%0,0")
-- (match_operand:SI 2 "general_operand" "ri,rm")))
-+ [(set (reg:CC 17) (unspec:CC [(match_operand:SI 1 "nonimmediate_operand" "%0,0")
-+ (match_operand:SI 2 "general_operand" "ri,rm")] 12))
- (set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
- (plus:SI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, SImode, operands)"
-@@ -3702,8 +3744,8 @@
- (set_attr "mode" "SI")])
-
- (define_insn "addqi3_cc"
-- [(set (reg:CC 17) (plus:CC (match_operand:QI 1 "nonimmediate_operand" "%0,0")
-- (match_operand:QI 2 "general_operand" "qi,qm")))
-+ [(set (reg:CC 17) (unspec:CC [(match_operand:QI 1 "nonimmediate_operand" "%0,0")
-+ (match_operand:QI 2 "general_operand" "qi,qm")] 12))
- (set (match_operand:QI 0 "nonimmediate_operand" "=qm,q")
- (plus:QI (match_dup 1) (match_dup 2)))]
- "ix86_binary_operator_ok (PLUS, QImode, operands)"
-@@ -3711,19 +3753,6 @@
- [(set_attr "type" "alu")
- (set_attr "mode" "QI")])
-
--(define_insn "*addsi3_carry"
-- [(set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
-- (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,0")
-- (plus:SI (match_operand:SI 2 "general_operand" "ri,rm")
-- (ltu:SI (reg:CC 17) (const_int 0)))))
-- (clobber (reg:CC 17))]
-- "ix86_binary_operator_ok (PLUS, SImode, operands)"
-- "adc{l}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-- (set_attr "pent_pair" "pu")
-- (set_attr "mode" "SI")
-- (set_attr "ppro_uops" "few")])
--
- (define_expand "addsi3"
- [(parallel [(set (match_operand:SI 0 "nonimmediate_operand" "")
- (plus:SI (match_operand:SI 1 "nonimmediate_operand" "")
-@@ -3925,7 +3954,7 @@
- (const_int 0)))
- (set (match_operand:SI 0 "nonimmediate_operand" "=r,rm")
- (plus:SI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (PLUS, SImode, operands)
- /* Current assemblers are broken and do not allow @GOTOFF in
- ought but a memory context. */
-@@ -3971,7 +4000,7 @@
- (compare (neg:SI (match_operand:SI 2 "general_operand" "rmni"))
- (match_operand:SI 1 "nonimmediate_operand" "%0")))
- (clobber (match_scratch:SI 0 "=r"))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCZmode)
- && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)
- /* Current assemblers are broken and do not allow @GOTOFF in
- ought but a memory context. */
-@@ -4012,31 +4041,98 @@
- (const_string "alu")))
- (set_attr "mode" "SI")])
-
-+; For comparisons agains 1, -1 and 128, we may generate better code
-+; by converting cmp to add, inc or dec as done by peephole2. This pattern
-+; is matched then. We can't accept general immediate, because for
-+; case of overflows, the result is messed up.
-+; This pattern also don't hold of 0x80000000, since the value overflows
-+; when negated.
-+; Also carry flag is reversed compared to cmp, so this converison is valid
-+; only for comparisons not depending on it.
- (define_insn "*addsi_4"
-- [(set (reg:CC 17)
-- (compare:CC (neg:SI (match_operand:SI 2 "general_operand" "rmni,rni"))
-- (match_operand:SI 1 "nonimmediate_operand" "%0,0")))
-- (set (match_operand:SI 0 "nonimmediate_operand" "=r,rm")
-- (plus:SI (match_dup 1) (match_dup 2)))]
-- "ix86_binary_operator_ok (PLUS, SImode, operands)
-- /* Current assemblers are broken and do not allow @GOTOFF in
-- ought but a memory context. */
-- && ! pic_symbolic_operand (operands[2], VOIDmode)"
-- "add{l}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-+ [(set (reg 17)
-+ (compare (match_operand:SI 1 "nonimmediate_operand" "0")
-+ (match_operand:SI 2 "const_int_operand" "n")))
-+ (clobber (match_scratch:SI 0 "=rm"))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && (INTVAL (operands[2]) & 0xffffffff) != 0x80000000"
-+ "*
-+{
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (operands[2] == constm1_rtx)
-+ return \"inc{l}\\t%0\";
-+ else if (operands[2] == const1_rtx)
-+ return \"dec{l}\\t%0\";
-+ else
-+ abort();
-+
-+ default:
-+ if (! rtx_equal_p (operands[0], operands[1]))
-+ abort ();
-+ /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-+ Exceptions: -128 encodes smaller than 128, so swap sign and op. */
-+ if ((INTVAL (operands[2]) == -128
-+ || (INTVAL (operands[2]) > 0
-+ && INTVAL (operands[2]) != 128)))
-+ return \"sub{l}\\t{%2, %0|%0, %2}\";
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"add{l}\\t{%2, %0|%0, %2}\";
-+ }
-+}"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:SI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
- (set_attr "mode" "SI")])
-
- (define_insn "*addsi_5"
-- [(set (reg:CC 17)
-- (compare:CC (neg:SI (match_operand:SI 2 "general_operand" "rmni"))
-- (match_operand:SI 1 "nonimmediate_operand" "%0")))
-+ [(set (reg 17)
-+ (compare
-+ (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0")
-+ (match_operand:SI 2 "general_operand" "rmni"))
-+ (const_int 0)))
- (clobber (match_scratch:SI 0 "=r"))]
-- "(GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)
-+ "ix86_match_ccmode (insn, CCGOCmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)
- /* Current assemblers are broken and do not allow @GOTOFF in
- ought but a memory context. */
- && ! pic_symbolic_operand (operands[2], VOIDmode)"
-- "add{l}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-+ "*
-+{
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (! rtx_equal_p (operands[0], operands[1]))
-+ abort ();
-+ if (operands[2] == const1_rtx)
-+ return \"inc{l}\\t%0\";
-+ else if (operands[2] == constm1_rtx)
-+ return \"dec{l}\\t%0\";
-+ else
-+ abort();
-+
-+ default:
-+ if (! rtx_equal_p (operands[0], operands[1]))
-+ abort ();
-+ /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-+ Exceptions: -128 encodes smaller than 128, so swap sign and op. */
-+ if (GET_CODE (operands[2]) == CONST_INT
-+ && (INTVAL (operands[2]) == 128
-+ || (INTVAL (operands[2]) < 0
-+ && INTVAL (operands[2]) != -128)))
-+ {
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"sub{l}\\t{%2, %0|%0, %2}\";
-+ }
-+ return \"add{l}\\t{%2, %0|%0, %2}\";
-+ }
-+}"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:SI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
- (set_attr "mode" "SI")])
-
- (define_expand "addhi3"
-@@ -4143,7 +4239,7 @@
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=r,rm")
- (plus:HI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (PLUS, HImode, operands)"
- "*
- {
-@@ -4183,7 +4279,7 @@
- (compare (neg:HI (match_operand:HI 2 "general_operand" "rmni"))
- (match_operand:HI 1 "nonimmediate_operand" "%0")))
- (clobber (match_scratch:HI 0 "=r"))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCZmode)
- && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
- "*
- {
-@@ -4218,25 +4314,88 @@
- (const_string "alu")))
- (set_attr "mode" "HI")])
-
-+; See comments above addsi_3_imm for details.
- (define_insn "*addhi_4"
-- [(set (reg:CC 17)
-- (compare:CC (neg:HI (match_operand:HI 2 "general_operand" "rmni,rni"))
-- (match_operand:HI 1 "nonimmediate_operand" "%0,0")))
-- (set (match_operand:HI 0 "nonimmediate_operand" "=r,rm")
-- (plus:HI (match_dup 1) (match_dup 2)))]
-- "ix86_binary_operator_ok (PLUS, HImode, operands)"
-- "add{w}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-- (set_attr "mode" "HI")])
-+ [(set (reg 17)
-+ (compare (match_operand:HI 1 "nonimmediate_operand" "0")
-+ (match_operand:HI 2 "const_int_operand" "n")))
-+ (clobber (match_scratch:HI 0 "=rm"))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && (INTVAL (operands[2]) & 0xffff) != 0x8000"
-+ "*
-+{
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (operands[2] == constm1_rtx
-+ || (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) == 65535))
-+ return \"inc{w}\\t%0\";
-+ else if (operands[2] == const1_rtx)
-+ return \"dec{w}\\t%0\";
-+ else
-+ abort();
-+
-+ default:
-+ if (! rtx_equal_p (operands[0], operands[1]))
-+ abort ();
-+ /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-+ Exceptions: -128 encodes smaller than 128, so swap sign and op. */
-+ if ((INTVAL (operands[2]) == -128
-+ || (INTVAL (operands[2]) > 0
-+ && INTVAL (operands[2]) != 128)))
-+ return \"sub{w}\\t{%2, %0|%0, %2}\";
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"add{w}\\t{%2, %0|%0, %2}\";
-+ }
-+}"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:HI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
-+ (set_attr "mode" "SI")])
-+
-
- (define_insn "*addhi_5"
-- [(set (reg:CC 17)
-- (compare:CC (neg:HI (match_operand:HI 2 "general_operand" "rmni"))
-- (match_operand:HI 1 "nonimmediate_operand" "%0")))
-+ [(set (reg 17)
-+ (compare
-+ (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0")
-+ (match_operand:HI 2 "general_operand" "rmni"))
-+ (const_int 0)))
- (clobber (match_scratch:HI 0 "=r"))]
-- "(GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-- "add{w}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-+ "ix86_match_ccmode (insn, CCGOCmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "*
-+{
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (operands[2] == const1_rtx)
-+ return \"inc{w}\\t%0\";
-+ else if (operands[2] == constm1_rtx
-+ || (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) == 65535))
-+ return \"dec{w}\\t%0\";
-+ abort();
-+
-+ default:
-+ /* Make things pretty and `subl $4,%eax' rather than `addl $-4, %eax'.
-+ Exceptions: -128 encodes smaller than 128, so swap sign and op. */
-+ if (GET_CODE (operands[2]) == CONST_INT
-+ && (INTVAL (operands[2]) == 128
-+ || (INTVAL (operands[2]) < 0
-+ && INTVAL (operands[2]) != -128)))
-+ {
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"sub{w}\\t{%2, %0|%0, %2}\";
-+ }
-+ return \"add{w}\\t{%2, %0|%0, %2}\";
-+ }
-+}"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:HI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
- (set_attr "mode" "HI")])
-
- (define_expand "addqi3"
-@@ -4354,7 +4513,7 @@
- (const_int 0)))
- (set (match_operand:QI 0 "nonimmediate_operand" "=q,qm")
- (plus:QI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (PLUS, QImode, operands)"
- "*
- {
-@@ -4390,8 +4549,8 @@
- [(set (reg 17)
- (compare (neg:QI (match_operand:QI 2 "general_operand" "qmni"))
- (match_operand:QI 1 "nonimmediate_operand" "%0")))
-- (clobber (match_scratch:QI 0 "=r"))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ (clobber (match_scratch:QI 0 "=q"))]
-+ "ix86_match_ccmode (insn, CCZmode)
- && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
- "*
- {
-@@ -4423,25 +4582,82 @@
- (const_string "alu")))
- (set_attr "mode" "QI")])
-
-+; See comments above addsi_3_imm for details.
- (define_insn "*addqi_4"
-- [(set (reg:CC 17)
-- (compare:CC (neg:QI (match_operand:QI 2 "general_operand" "qmni,qni"))
-- (match_operand:QI 1 "nonimmediate_operand" "%0,0")))
-- (set (match_operand:QI 0 "nonimmediate_operand" "=q,qm")
-- (plus:QI (match_dup 1) (match_dup 2)))]
-- "ix86_binary_operator_ok (PLUS, QImode, operands)"
-- "add{b}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-+ [(set (reg 17)
-+ (compare (match_operand:QI 1 "nonimmediate_operand" "0")
-+ (match_operand:QI 2 "const_int_operand" "n")))
-+ (clobber (match_scratch:QI 0 "=qm"))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && (INTVAL (operands[2]) & 0xff) != 0x80"
-+ "*
-+{
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (operands[2] == constm1_rtx
-+ || (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) == 255))
-+ return \"inc{b}\\t%0\";
-+ else if (operands[2] == const1_rtx)
-+ return \"dec{b}\\t%0\";
-+ else
-+ abort();
-+
-+ default:
-+ if (! rtx_equal_p (operands[0], operands[1]))
-+ abort ();
-+ if (INTVAL (operands[2]) < 0)
-+ {
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"add{b}\\t{%2, %0|%0, %2}\";
-+ }
-+ return \"sub{b}\\t{%2, %0|%0, %2}\";
-+ }
-+}"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:HI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
- (set_attr "mode" "QI")])
-
- (define_insn "*addqi_5"
-- [(set (reg:CC 17)
-- (compare:CC (neg:QI (match_operand:QI 2 "general_operand" "qmni"))
-- (match_operand:QI 1 "nonimmediate_operand" "%0")))
-- (clobber (match_scratch:QI 0 "=r"))]
-- "(GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-- "add{b}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-+ [(set (reg 17)
-+ (compare
-+ (plus:QI (match_operand:QI 1 "nonimmediate_operand" "%0")
-+ (match_operand:QI 2 "general_operand" "qmni"))
-+ (const_int 0)))
-+ (clobber (match_scratch:QI 0 "=q"))]
-+ "ix86_match_ccmode (insn, CCGOCmode)
-+ && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
-+ "*
-+{
-+ switch (get_attr_type (insn))
-+ {
-+ case TYPE_INCDEC:
-+ if (operands[2] == const1_rtx)
-+ return \"inc{b}\\t%0\";
-+ else if (operands[2] == constm1_rtx
-+ || (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) == 255))
-+ return \"dec{b}\\t%0\";
-+ abort();
-+
-+ default:
-+ /* Make things pretty and `subb $4,%al' rather than `addb $-4, %al'. */
-+ if (GET_CODE (operands[2]) == CONST_INT
-+ && INTVAL (operands[2]) < 0)
-+ {
-+ operands[2] = GEN_INT (-INTVAL (operands[2]));
-+ return \"sub{b}\\t{%2, %0|%0, %2}\";
-+ }
-+ return \"add{b}\\t{%2, %0|%0, %2}\";
-+ }
-+}"
-+ [(set (attr "type")
-+ (if_then_else (match_operand:QI 2 "incdec_operand" "")
-+ (const_string "incdec")
-+ (const_string "alu")))
- (set_attr "mode" "QI")])
-
-
-@@ -4541,32 +4757,22 @@
- (match_operand:DI 2 "general_operand" "")))
- (clobber (reg:CC 17))]
- "reload_completed"
-- [(parallel [(set (reg:CC 17) (minus:CC (match_dup 1) (match_dup 2)))
-+ [(parallel [(set (reg:CC 17) (compare:CC (match_dup 1) (match_dup 2)))
- (set (match_dup 0) (minus:SI (match_dup 1) (match_dup 2)))])
- (parallel [(set (match_dup 3)
- (minus:SI (match_dup 4)
-- (plus:SI (match_dup 5)
-- (ltu:SI (reg:CC 17) (const_int 0)))))
-+ (plus:SI (ltu:SI (reg:CC 17) (const_int 0))
-+ (match_dup 5))))
- (clobber (reg:CC 17))])]
- "split_di (operands+0, 1, operands+0, operands+3);
- split_di (operands+1, 1, operands+1, operands+4);
- split_di (operands+2, 1, operands+2, operands+5);")
-
--(define_insn "*subsi3_cc"
-- [(set (reg:CC 17) (minus:CC (match_operand:SI 1 "nonimmediate_operand" "0,0")
-- (match_operand:SI 2 "general_operand" "ri,rm")))
-- (set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
-- (minus:SI (match_dup 1) (match_dup 2)))]
-- "ix86_binary_operator_ok (MINUS, SImode, operands)"
-- "sub{l}\\t{%2, %0|%0, %2}"
-- [(set_attr "type" "alu")
-- (set_attr "mode" "SI")])
--
- (define_insn "subsi3_carry"
- [(set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
- (minus:SI (match_operand:SI 1 "nonimmediate_operand" "0,0")
-- (plus:SI (match_operand:SI 2 "general_operand" "ri,rm")
-- (ltu:SI (reg:CC 17) (const_int 0)))))
-+ (plus:SI (ltu:SI (reg:CC 17) (const_int 0))
-+ (match_operand:SI 2 "general_operand" "ri,rm"))))
- (clobber (reg:CC 17))]
- "ix86_binary_operator_ok (MINUS, SImode, operands)"
- "sbb{l}\\t{%2, %0|%0, %2}"
-@@ -4601,7 +4807,7 @@
- (const_int 0)))
- (set (match_operand:SI 0 "nonimmediate_operand" "=rm,r")
- (minus:SI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (MINUS, SImode, operands)"
- "sub{l}\\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-@@ -4645,7 +4851,7 @@
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=rm,r")
- (minus:HI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (MINUS, HImode, operands)"
- "sub{w}\\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-@@ -4689,7 +4895,7 @@
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=qm,q")
- (minus:HI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (MINUS, QImode, operands)"
- "sub{b}\\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
-@@ -5145,31 +5351,28 @@
- ;; On Pentium, "test imm, reg" is pairable only with eax, ax, and al.
- ;; Note that this excludes ah.
-
--(define_insn "*testsi_ccz_1"
-- [(set (reg:CCZ 17)
-- (compare:CCZ
-+
-+(define_insn "testsi_1"
-+ [(set (reg 17)
-+ (compare
- (and:SI (match_operand:SI 0 "nonimmediate_operand" "%*a,r,rm")
- (match_operand:SI 1 "nonmemory_operand" "in,in,rin"))
- (const_int 0)))]
-- ""
-+ "ix86_match_ccmode (insn, CCNOmode)"
- "test{l}\\t{%1, %0|%0, %1}"
- [(set_attr "type" "test")
- (set_attr "modrm" "0,1,1")
- (set_attr "mode" "SI")
- (set_attr "pent_pair" "uv,np,uv")])
-
--(define_insn "testsi_ccno_1"
-+(define_expand "testsi_ccno_1"
- [(set (reg:CCNO 17)
- (compare:CCNO
-- (and:SI (match_operand:SI 0 "nonimmediate_operand" "%*a,r,rm")
-- (match_operand:SI 1 "nonmemory_operand" "in,in,rin"))
-+ (and:SI (match_operand:SI 0 "nonimmediate_operand" "")
-+ (match_operand:SI 1 "nonmemory_operand" ""))
- (const_int 0)))]
- ""
-- "test{l}\\t{%1, %0|%0, %1}"
-- [(set_attr "type" "test")
-- (set_attr "modrm" "0,1,1")
-- (set_attr "mode" "SI")
-- (set_attr "pent_pair" "uv,np,uv")])
-+ "")
-
- (define_insn "*testhi_1"
- [(set (reg 17)
-@@ -5183,55 +5386,46 @@
- (set_attr "mode" "HI")
- (set_attr "pent_pair" "uv,np,uv")])
-
--(define_insn "testqi_ccz_1"
-+(define_expand "testqi_ccz_1"
- [(set (reg:CCZ 17)
-- (compare:CCZ
-- (and:QI (match_operand:QI 0 "nonimmediate_operand" "%*a,q,qm")
-- (match_operand:QI 1 "nonmemory_operand" "n,n,qn"))
-- (const_int 0)))]
-+ (compare:CCZ (and:QI (match_operand:QI 0 "nonimmediate_operand" "")
-+ (match_operand:QI 1 "nonmemory_operand" ""))
-+ (const_int 0)))]
- ""
-- "test{b}\\t{%1, %0|%0, %1}"
-- [(set_attr "type" "test")
-- (set_attr "modrm" "0,1,1")
-- (set_attr "mode" "QI")
-- (set_attr "pent_pair" "uv,np,uv")])
-+ "")
-
--(define_insn "testqi_ccno_1"
-- [(set (reg:CCNO 17)
-- (compare:CCNO (and:QI (match_operand:QI 0 "nonimmediate_operand" "%*a,q,qm,r")
-- (match_operand:QI 1 "nonmemory_operand" "n,n,qn,n"))
-- (const_int 0)))]
-- ""
-+(define_insn "*testqi_1"
-+ [(set (reg 17)
-+ (compare (and:QI (match_operand:QI 0 "nonimmediate_operand" "%*a,q,qm,r")
-+ (match_operand:QI 1 "nonmemory_operand" "n,n,qn,n"))
-+ (const_int 0)))]
-+ "ix86_match_ccmode (insn, CCNOmode)"
- "@
- test{b}\\t{%1, %0|%0, %1}
- test{b}\\t{%1, %0|%0, %1}
- test{b}\\t{%1, %0|%0, %1}
-- test{l}\\t{%1, %0|%0, %1}"
-+ test{l}\\t{%1, %k0|%k0, %1}"
- [(set_attr "type" "test")
- (set_attr "modrm" "0,1,1,1")
- (set_attr "mode" "QI,QI,QI,SI")
- (set_attr "pent_pair" "uv,np,uv,np")])
-
--(define_insn "*testqi_ext_ccz_0"
-- [(set (reg:CCZ 17)
-- (compare:CCZ
-+(define_expand "testqi_ext_ccno_0"
-+ [(set (reg:CCNO 17)
-+ (compare:CCNO
- (and:SI
- (zero_extract:SI
-- (match_operand 0 "ext_register_operand" "q")
-+ (match_operand 0 "ext_register_operand" "")
- (const_int 8)
- (const_int 8))
-- (match_operand 1 "const_int_operand" "n"))
-+ (match_operand 1 "const_int_operand" ""))
- (const_int 0)))]
-- "(unsigned HOST_WIDE_INT) INTVAL (operands[1]) <= 0xff"
-- "test{b}\\t{%1, %h0|%h0, %1}"
-- [(set_attr "type" "test")
-- (set_attr "mode" "QI")
-- (set_attr "length_immediate" "1")
-- (set_attr "pent_pair" "np")])
-+ ""
-+ "")
-
--(define_insn "testqi_ext_ccno_0"
-- [(set (reg:CCNO 17)
-- (compare:CCNO
-+(define_insn "*testqi_ext_0"
-+ [(set (reg 17)
-+ (compare
- (and:SI
- (zero_extract:SI
- (match_operand 0 "ext_register_operand" "q")
-@@ -5239,7 +5433,8 @@
- (const_int 8))
- (match_operand 1 "const_int_operand" "n"))
- (const_int 0)))]
-- "(unsigned HOST_WIDE_INT) INTVAL (operands[1]) <= 0xff"
-+ "(unsigned HOST_WIDE_INT) INTVAL (operands[1]) <= 0xff
-+ && ix86_match_ccmode (insn, CCNOmode)"
- "test{b}\\t{%1, %h0|%h0, %1}"
- [(set_attr "type" "test")
- (set_attr "mode" "QI")
-@@ -5745,7 +5940,7 @@
- (compare (ior:QI (match_operand:QI 1 "nonimmediate_operand" "%0")
- (match_operand:QI 2 "general_operand" "qim"))
- (const_int 0)))
-- (clobber (match_scratch:QI 0 "=r"))]
-+ (clobber (match_scratch:QI 0 "=q"))]
- "ix86_match_ccmode (insn, CCNOmode)
- && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
- "or{b}\\t{%2, %0|%0, %2}"
-@@ -5904,16 +6099,16 @@
- (xor:QI (match_operand:QI 1 "nonimmediate_operand" "%0")
- (match_operand:QI 2 "general_operand" "qim"))
- (const_int 0)))
-- (clobber (match_scratch:QI 0 "=r"))]
-+ (clobber (match_scratch:QI 0 "=q"))]
- "ix86_match_ccmode (insn, CCNOmode)
- && (GET_CODE (operands[1]) != MEM || GET_CODE (operands[2]) != MEM)"
- "xor{b}\\t{%2, %0|%0, %2}"
- [(set_attr "type" "alu")
- (set_attr "mode" "QI")])
-
--(define_insn "xorqi_cc_ext_1"
-- [(set (reg:CCNO 17)
-- (compare:CCNO
-+(define_insn "*xorqi_cc_ext_1"
-+ [(set (reg 17)
-+ (compare
- (xor:SI
- (zero_extract:SI
- (match_operand 1 "ext_register_operand" "0")
-@@ -5927,10 +6122,30 @@
- (xor:SI
- (zero_extract:SI (match_dup 1) (const_int 8) (const_int 8))
- (match_dup 2)))]
-- ""
-+ "ix86_match_ccmode (insn, CCNOmode)"
- "xor{b}\\t{%2, %h0|%h0, %2}"
- [(set_attr "type" "alu")
- (set_attr "mode" "QI")])
-+
-+(define_expand "xorqi_cc_ext_1"
-+ [(parallel [
-+ (set (reg:CCNO 17)
-+ (compare:CCNO
-+ (xor:SI
-+ (zero_extract:SI
-+ (match_operand 1 "ext_register_operand" "")
-+ (const_int 8)
-+ (const_int 8))
-+ (match_operand:QI 2 "general_operand" ""))
-+ (const_int 0)))
-+ (set (zero_extract:SI (match_operand 0 "ext_register_operand" "")
-+ (const_int 8)
-+ (const_int 8))
-+ (xor:SI
-+ (zero_extract:SI (match_dup 1) (const_int 8) (const_int 8))
-+ (match_dup 2)))])]
-+ ""
-+ "")
-
- ;; Negation instructions
-
-@@ -5961,9 +6176,9 @@
- (set (match_dup 0) (neg:SI (match_dup 2)))])
- (parallel
- [(set (match_dup 1)
-- (plus:SI (match_dup 3)
-- (plus:SI (const_int 0)
-- (ltu:SI (reg:CC 17) (const_int 0)))))
-+ (plus:SI (plus:SI (ltu:SI (reg:CC 17) (const_int 0))
-+ (match_dup 3))
-+ (const_int 0)))
- (clobber (reg:CC 17))])
- (parallel
- [(set (match_dup 1)
-@@ -6780,7 +6995,7 @@
- (const_int 0)))
- (set (match_operand:SI 0 "nonimmediate_operand" "=rm")
- (ashift:SI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (ASHIFT, SImode, operands)"
- "*
- {
-@@ -6909,7 +7124,7 @@
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=rm")
- (ashift:HI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (ASHIFT, HImode, operands)"
- "*
- {
-@@ -7076,7 +7291,7 @@
- (const_int 0)))
- (set (match_operand:QI 0 "nonimmediate_operand" "=qm")
- (ashift:QI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (ASHIFT, QImode, operands)"
- "*
- {
-@@ -7546,7 +7761,7 @@
- (const_int 0)))
- (set (match_operand:SI 0 "nonimmediate_operand" "=rm")
- (lshiftrt:SI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && (TARGET_PENTIUM || TARGET_PENTIUMPRO)
- && ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
- "shr{l}\\t%0"
-@@ -7567,7 +7782,7 @@
- (const_int 0)))
- (set (match_operand:SI 0 "nonimmediate_operand" "=rm")
- (lshiftrt:SI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
- "@
- shr{l}\\t{%2, %0|%0, %2}"
-@@ -7619,7 +7834,7 @@
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=rm")
- (lshiftrt:HI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && (TARGET_PENTIUM || TARGET_PENTIUMPRO)
- && ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
- "shr{w}\\t%0"
-@@ -7640,7 +7855,7 @@
- (const_int 0)))
- (set (match_operand:HI 0 "nonimmediate_operand" "=rm")
- (lshiftrt:HI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (LSHIFTRT, HImode, operands)"
- "@
- shr{w}\\t{%2, %0|%0, %2}"
-@@ -7692,7 +7907,7 @@
- (const_int 0)))
- (set (match_operand:QI 0 "nonimmediate_operand" "=qm")
- (lshiftrt:QI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && (TARGET_PENTIUM || TARGET_PENTIUMPRO)
- && ix86_binary_operator_ok (LSHIFTRT, QImode, operands)"
- "shr{b}\\t%0"
-@@ -7713,7 +7928,7 @@
- (const_int 0)))
- (set (match_operand:QI 0 "nonimmediate_operand" "=qm")
- (lshiftrt:QI (match_dup 1) (match_dup 2)))]
-- "ix86_match_ccmode (insn, CCNOmode)
-+ "ix86_match_ccmode (insn, CCGOCmode)
- && ix86_binary_operator_ok (LSHIFTRT, QImode, operands)"
- "shr{b}\\t{%2, %0|%0, %2}"
- [(set_attr "type" "ishift")
-@@ -8102,7 +8317,7 @@
-
- (define_insn "*setcc_1"
- [(set (match_operand:QI 0 "nonimmediate_operand" "=qm")
-- (match_operator:QI 1 "no_comparison_operator"
-+ (match_operator:QI 1 "ix86_comparison_operator"
- [(reg 17) (const_int 0)]))]
- ""
- "set%C1\\t%0"
-@@ -8111,30 +8326,12 @@
-
- (define_insn "*setcc_2"
- [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+qm"))
-- (match_operator:QI 1 "no_comparison_operator"
-+ (match_operator:QI 1 "ix86_comparison_operator"
- [(reg 17) (const_int 0)]))]
- ""
- "set%C1\\t%0"
- [(set_attr "type" "setcc")
- (set_attr "mode" "QI")])
--
--(define_insn "*setcc_3"
-- [(set (match_operand:QI 0 "nonimmediate_operand" "=qm")
-- (match_operator:QI 1 "uno_comparison_operator"
-- [(reg:CC 17) (const_int 0)]))]
-- ""
-- "set%C1\\t%0"
-- [(set_attr "type" "setcc")
-- (set_attr "mode" "QI")])
--
--(define_insn "*setcc_4"
-- [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+qm"))
-- (match_operator:QI 1 "uno_comparison_operator"
-- [(reg:CC 17) (const_int 0)]))]
-- ""
-- "set%C1\\t%0"
-- [(set_attr "type" "setcc")
-- (set_attr "mode" "QI")])
-
- ;; Basic conditional jump instructions.
- ;; We ignore the overflow flag for signed branch instructions.
-@@ -8288,7 +8485,7 @@
-
- (define_insn "*jcc_1"
- [(set (pc)
-- (if_then_else (match_operator 1 "no_comparison_operator"
-+ (if_then_else (match_operator 1 "ix86_comparison_operator"
- [(reg 17) (const_int 0)])
- (label_ref (match_operand 0 "" ""))
- (pc)))]
-@@ -8305,7 +8502,7 @@
-
- (define_insn "*jcc_2"
- [(set (pc)
-- (if_then_else (match_operator 1 "no_comparison_operator"
-+ (if_then_else (match_operator 1 "ix86_comparison_operator"
- [(reg 17) (const_int 0)])
- (pc)
- (label_ref (match_operand 0 "" ""))))]
-@@ -8320,40 +8517,6 @@
- (const_int 0)
- (const_int 1)))])
-
--(define_insn "*jcc_3"
-- [(set (pc)
-- (if_then_else (match_operator 1 "uno_comparison_operator"
-- [(reg:CC 17) (const_int 0)])
-- (label_ref (match_operand 0 "" ""))
-- (pc)))]
-- ""
-- "j%C1\\t%l0"
-- [(set_attr "type" "ibr")
-- (set (attr "prefix_0f")
-- (if_then_else (and (ge (minus (match_dup 0) (pc))
-- (const_int -128))
-- (lt (minus (match_dup 0) (pc))
-- (const_int 124)))
-- (const_int 0)
-- (const_int 1)))])
--
--(define_insn "*jcc_4"
-- [(set (pc)
-- (if_then_else (match_operator 1 "uno_comparison_operator"
-- [(reg:CC 17) (const_int 0)])
-- (pc)
-- (label_ref (match_operand 0 "" ""))))]
-- ""
-- "j%c1\\t%l0"
-- [(set_attr "type" "ibr")
-- (set (attr "prefix_0f")
-- (if_then_else (and (ge (minus (match_dup 0) (pc))
-- (const_int -128))
-- (lt (minus (match_dup 0) (pc))
-- (const_int 124)))
-- (const_int 0)
-- (const_int 1)))])
--
- ;; Define combination compare-and-branch fp compare instructions to use
- ;; during early optimization. Splitting the operation apart early makes
- ;; for bad code when we want to reverse the operation.
-@@ -10436,7 +10599,7 @@
-
- (define_insn "*movsicc_noc"
- [(set (match_operand:SI 0 "register_operand" "=r,r")
-- (if_then_else:SI (match_operator 1 "no_comparison_operator"
-+ (if_then_else:SI (match_operator 1 "ix86_comparison_operator"
- [(reg 17) (const_int 0)])
- (match_operand:SI 2 "nonimmediate_operand" "rm,0")
- (match_operand:SI 3 "nonimmediate_operand" "0,rm")))]
-@@ -10448,20 +10611,6 @@
- [(set_attr "type" "icmov")
- (set_attr "mode" "SI")])
-
--(define_insn "*movsicc_c"
-- [(set (match_operand:SI 0 "register_operand" "=r,r")
-- (if_then_else:SI (match_operator 1 "uno_comparison_operator"
-- [(reg:CC 17) (const_int 0)])
-- (match_operand:SI 2 "nonimmediate_operand" "rm,0")
-- (match_operand:SI 3 "nonimmediate_operand" "0,rm")))]
-- "TARGET_CMOVE
-- && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM)"
-- "@
-- cmov%C1\\t{%2, %0|%0, %2}
-- cmov%c1\\t{%3, %0|%0, %3}"
-- [(set_attr "type" "icmov")
-- (set_attr "mode" "SI")])
--
- (define_expand "movhicc"
- [(set (match_operand:HI 0 "register_operand" "")
- (if_then_else:HI (match_operand 1 "comparison_operator" "")
-@@ -10472,7 +10621,7 @@
-
- (define_insn "*movhicc_noc"
- [(set (match_operand:HI 0 "register_operand" "=r,r")
-- (if_then_else:HI (match_operator 1 "no_comparison_operator"
-+ (if_then_else:HI (match_operator 1 "ix86_comparison_operator"
- [(reg 17) (const_int 0)])
- (match_operand:HI 2 "nonimmediate_operand" "rm,0")
- (match_operand:HI 3 "nonimmediate_operand" "0,rm")))]
-@@ -10484,20 +10633,6 @@
- [(set_attr "type" "icmov")
- (set_attr "mode" "HI")])
-
--(define_insn "*movhicc_c"
-- [(set (match_operand:HI 0 "register_operand" "=r,r")
-- (if_then_else:HI (match_operator 1 "uno_comparison_operator"
-- [(reg:CC 17) (const_int 0)])
-- (match_operand:HI 2 "nonimmediate_operand" "rm,0")
-- (match_operand:HI 3 "nonimmediate_operand" "0,rm")))]
-- "TARGET_CMOVE
-- && (GET_CODE (operands[2]) != MEM || GET_CODE (operands[3]) != MEM)"
-- "@
-- cmov%C1\\t{%2, %0|%0, %2}
-- cmov%c1\\t{%3, %0|%0, %3}"
-- [(set_attr "type" "icmov")
-- (set_attr "mode" "HI")])
--
- (define_expand "movsfcc"
- [(set (match_operand:SF 0 "register_operand" "")
- (if_then_else:SF (match_operand 1 "comparison_operator" "")
-@@ -11290,6 +11425,68 @@
- (set (reg:SI 7) (plus:SI (reg:SI 7) (const_int 4)))])]
- "")
-
-+;; Convert compares with 1 to shorter inc/dec operations when CF is not
-+;; required and register dies.
-+(define_peephole2
-+ [(set (reg 17)
-+ (compare (match_operand:SI 0 "register_operand" "")
-+ (match_operand:SI 1 "incdec_operand" "")))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && find_regno_note (insn, REG_DEAD, true_regnum (operands[0]))"
-+ [(parallel [(set (reg:CCGC 17)
-+ (compare:CCGC (match_dup 0)
-+ (match_dup 1)))
-+ (clobber (match_dup 0))])]
-+ "")
-+
-+(define_peephole2
-+ [(set (reg 17)
-+ (compare (match_operand:HI 0 "register_operand" "")
-+ (match_operand:HI 1 "incdec_operand" "")))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && find_regno_note (insn, REG_DEAD, true_regnum (operands[0]))"
-+ [(parallel [(set (reg:CCGC 17)
-+ (compare:CCGC (match_dup 0)
-+ (match_dup 1)))
-+ (clobber (match_dup 0))])]
-+ "")
-+
-+(define_peephole2
-+ [(set (reg 17)
-+ (compare (match_operand:QI 0 "register_operand" "")
-+ (match_operand:QI 1 "incdec_operand" "")))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && find_regno_note (insn, REG_DEAD, true_regnum (operands[0]))"
-+ [(parallel [(set (reg:CCGC 17)
-+ (compare:CCGC (match_dup 0)
-+ (match_dup 1)))
-+ (clobber (match_dup 0))])]
-+ "")
-+
-+;; Convert compares with 128 to shorter add -128
-+(define_peephole2
-+ [(set (reg 17)
-+ (compare (match_operand:SI 0 "register_operand" "")
-+ (const_int 128)))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && find_regno_note (insn, REG_DEAD, true_regnum (operands[0]))"
-+ [(parallel [(set (reg:CCGC 17)
-+ (compare:CCGC (match_dup 0)
-+ (const_int 128)))
-+ (clobber (match_dup 0))])]
-+ "")
-+
-+(define_peephole2
-+ [(set (reg 17)
-+ (compare (match_operand:HI 0 "register_operand" "")
-+ (const_int 128)))]
-+ "ix86_match_ccmode (insn, CCGCmode)
-+ && find_regno_note (insn, REG_DEAD, true_regnum (operands[0]))"
-+ [(parallel [(set (reg:CCGC 17)
-+ (compare:CCGC (match_dup 0)
-+ (const_int 128)))
-+ (clobber (match_dup 0))])]
-+ "")
- ;; Call-value patterns last so that the wildcard operand does not
- ;; disrupt insn-recog's switch tables.
-
---- gcc/config/i386/i386-protos.h Sun Jul 2 10:37:12 2000
-+++ gcc/config/i386/i386-protos.h Wed Oct 18 13:27:27 2000
-@@ -57,7 +57,7 @@ extern int q_regs_operand PARAMS ((rtx,
- extern int non_q_regs_operand PARAMS ((rtx, enum machine_mode));
- extern int no_comparison_operator PARAMS ((rtx, enum machine_mode));
- extern int fcmov_comparison_operator PARAMS ((rtx, enum machine_mode));
--extern int uno_comparison_operator PARAMS ((rtx, enum machine_mode));
-+extern int ix86_comparison_operator PARAMS ((rtx, enum machine_mode));
- extern int cmp_fp_expander_operand PARAMS ((rtx, enum machine_mode));
- extern int ext_register_operand PARAMS ((rtx, enum machine_mode));
- extern int binary_fp_operator PARAMS ((rtx, enum machine_mode));
-@@ -121,6 +121,7 @@ extern int ix86_adjust_cost PARAMS ((rtx
- extern void ix86_sched_init PARAMS ((FILE *, int));
- extern int ix86_sched_reorder PARAMS ((FILE *, int, rtx *, int, int));
- extern int ix86_variable_issue PARAMS ((FILE *, int, rtx, int));
-+extern enum machine_mode ix86_cc_mode PARAMS ((enum rtx_code, rtx, rtx));
-
- #ifdef TREE_CODE
- extern void init_cumulative_args PARAMS ((CUMULATIVE_ARGS *, tree, rtx));
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ashlsilea.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ashlsilea.patch
deleted file mode 100644
index be29e06062a2..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ashlsilea.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Wed Aug 2 13:05:55 MET DST 2000 Jan Hubicka <jh@suse.cz>
-
- * i386.md (shift to lea splitter): Use const_int_operand.
-
-*** gcc/config/i386/i386.md 2000/07/31 10:30:44 1.169
---- gcc/config/i386/i386.md 2000/08/02 11:04:27
-***************
-*** 6488,6494 ****
- (define_split
- [(set (match_operand 0 "register_operand" "")
- (ashift (match_operand 1 "register_operand" "")
-! (match_operand:QI 2 "const248_operand" "")))
- (clobber (reg:CC 17))]
- "reload_completed
- && true_regnum (operands[0]) != true_regnum (operands[1])"
---- 6488,6494 ----
- (define_split
- [(set (match_operand 0 "register_operand" "")
- (ashift (match_operand 1 "register_operand" "")
-! (match_operand:QI 2 "const_int_operand" "")))
- (clobber (reg:CC 17))]
- "reload_completed
- && true_regnum (operands[0]) != true_regnum (operands[1])"
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call-test.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call-test.patch
deleted file mode 100644
index 18a51db21600..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call-test.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-2000-08-24 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/g++.old-deja/g++.other/crash22.C: New test.
-
---- gcc/testsuite/g++.old-deja/g++.other/crash22.C.jj Thu Aug 24 17:06:37 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/crash22.C Thu Aug 24 17:07:05 2000
-@@ -0,0 +1,56 @@
-+// Build don't run:
-+// Special g++ Options: -O2
-+
-+class foo
-+{
-+};
-+
-+typedef void *voidp;
-+class vect : public foo
-+{
-+public:
-+ voidp& a();
-+ int b();
-+};
-+
-+class bar
-+{
-+public:
-+ bar *c(bool (*f)(bar *node), voidp g)
-+ {
-+ int i=0;
-+ bool j;
-+ while (i < d.b()){
-+ j = (f == __null) || f((bar*)d.a());
-+ if (j)
-+ ((bar*)d.a())->c(f, g);
-+ i++;
-+ }
-+ return this;
-+ }
-+ public:
-+ vect d;
-+ bar *e(foo *k);
-+};
-+
-+bar *bar::e(foo *k)
-+{
-+ return c(__null, k);
-+}
-+
-+voidp &vect::a()
-+{
-+ static voidp x;
-+ return x;
-+}
-+
-+int vect::b()
-+{
-+ static int x;
-+ return x;
-+}
-+
-+int main()
-+{
-+ return 0;
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call.patch
deleted file mode 100644
index ea08aa7f026d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-2000-08-28 Richard Henderson <rth@cygnus.com>
-
- * config/i386/i386.c (call_insn_operand): Don't expect a surrounding
- mem.
- (constant_call_address_operand): Likewise.
- * config/i386/i386.h (PREDICATE_CODES): Update.
- * config/i386/i386.md (call patterns): Move the match_operand
- for the call destination inside the mem.
-
---- gcc/config/i386/i386.c.jj Mon Jul 31 20:05:09 2000
-+++ gcc/config/i386/i386.c Wed Sep 13 15:29:41 2000
-@@ -1078,10 +1078,6 @@ call_insn_operand (op, mode)
- rtx op;
- enum machine_mode mode ATTRIBUTE_UNUSED;
- {
-- if (GET_CODE (op) != MEM)
-- return 0;
-- op = XEXP (op, 0);
--
- /* Disallow indirect through a virtual register. This leads to
- compiler aborts when trying to eliminate them. */
- if (GET_CODE (op) == REG
-@@ -1114,9 +1110,7 @@ constant_call_address_operand (op, mode)
- rtx op;
- enum machine_mode mode ATTRIBUTE_UNUSED;
- {
-- return (GET_CODE (op) == MEM
-- && CONSTANT_ADDRESS_P (XEXP (op, 0))
-- && GET_CODE (XEXP (op, 0)) != CONST_INT);
-+ return GET_CODE (op) == SYMBOL_REF;
- }
-
- /* Match exactly zero and one. */
---- gcc/config/i386/i386.h.jj Wed Sep 13 15:29:36 2000
-+++ gcc/config/i386/i386.h Wed Sep 13 15:29:41 2000
-@@ -2574,8 +2574,8 @@ do { long l; \
- {"aligned_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, \
- LABEL_REF, SUBREG, REG, MEM}}, \
- {"pic_symbolic_operand", {CONST}}, \
-- {"call_insn_operand", {MEM}}, \
-- {"constant_call_address_operand", {MEM}}, \
-+ {"call_insn_operand", {REG, SUBREG, MEM, SYMBOL_REF}}, \
-+ {"constant_call_address_operand", {SYMBOL_REF}}, \
- {"const0_operand", {CONST_INT, CONST_DOUBLE}}, \
- {"const1_operand", {CONST_INT}}, \
- {"const248_operand", {CONST_INT}}, \
---- gcc/config/i386/i386.md.jj Wed Sep 13 15:29:39 2000
-+++ gcc/config/i386/i386.md Wed Sep 13 15:36:45 2000
-@@ -8457,12 +8457,12 @@
- && (GET_CODE (XEXP (operands[0], 0)) != SYMBOL_REF
- || !SYMBOL_REF_FLAG (XEXP (operands[0], 0))))
- current_function_uses_pic_offset_table = 1;
-- if (! call_insn_operand (operands[0], QImode))
-+ if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
- XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
- }")
-
- (define_insn "*call_pop_0"
-- [(call (match_operand:QI 0 "constant_call_address_operand" "")
-+ [(call (mem:QI (match_operand:SI 0 "constant_call_address_operand" ""))
- (match_operand:SI 1 "" ""))
- (set (reg:SI 7) (plus:SI (reg:SI 7)
- (match_operand:SI 3 "immediate_operand" "")))]
-@@ -8477,21 +8477,20 @@
- [(set_attr "type" "call")])
-
- (define_insn "*call_pop_1"
-- [(call (match_operand:QI 0 "call_insn_operand" "m")
-+ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "rsm"))
- (match_operand:SI 1 "" ""))
- (set (reg:SI 7) (plus:SI (reg:SI 7)
- (match_operand:SI 3 "immediate_operand" "i")))]
- ""
- "*
- {
-- if (constant_call_address_operand (operands[0], QImode))
-+ if (constant_call_address_operand (operands[0], Pmode))
- {
- if (SIBLING_CALL_P (insn))
- return \"jmp\\t%P0\";
- else
- return \"call\\t%P0\";
- }
-- operands[0] = XEXP (operands[0], 0);
- if (SIBLING_CALL_P (insn))
- return \"jmp\\t%*%0\";
- else
-@@ -8513,12 +8512,12 @@
- && (GET_CODE (XEXP (operands[0], 0)) != SYMBOL_REF
- || !SYMBOL_REF_FLAG (XEXP (operands[0], 0))))
- current_function_uses_pic_offset_table = 1;
-- if (! call_insn_operand (operands[0], QImode))
-+ if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
- XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
- }")
-
- (define_insn "*call_0"
-- [(call (match_operand:QI 0 "constant_call_address_operand" "")
-+ [(call (mem:QI (match_operand:SI 0 "constant_call_address_operand" ""))
- (match_operand:SI 1 "" ""))]
- ""
- "*
-@@ -8531,7 +8530,7 @@
- [(set_attr "type" "call")])
-
- (define_insn "*call_1"
-- [(call (match_operand:QI 0 "call_insn_operand" "m")
-+ [(call (mem:QI (match_operand:SI 0 "call_insn_operand" "rsm"))
- (match_operand:SI 1 "" ""))]
- ""
- "*
-@@ -8543,7 +8542,6 @@
- else
- return \"call\\t%P0\";
- }
-- operands[0] = XEXP (operands[0], 0);
- if (SIBLING_CALL_P (insn))
- return \"jmp\\t%*%0\";
- else
-@@ -8576,7 +8574,7 @@
- && (GET_CODE (XEXP (operands[1], 0)) != SYMBOL_REF
- || !SYMBOL_REF_FLAG (XEXP (operands[1], 0))))
- current_function_uses_pic_offset_table = 1;
-- if (! call_insn_operand (operands[1], QImode))
-+ if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
- XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
- }")
-
-@@ -8595,7 +8593,7 @@
- && (GET_CODE (XEXP (operands[1], 0)) != SYMBOL_REF
- || !SYMBOL_REF_FLAG (XEXP (operands[1], 0))))
- current_function_uses_pic_offset_table = 1;
-- if (! call_insn_operand (operands[1], QImode))
-+ if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
- XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
- }")
-
-@@ -11038,7 +11036,7 @@
-
- (define_insn "*call_value_pop_0"
- [(set (match_operand 0 "" "")
-- (call (match_operand:QI 1 "constant_call_address_operand" "")
-+ (call (mem:QI (match_operand:SI 1 "constant_call_address_operand" ""))
- (match_operand:SI 2 "" "")))
- (set (reg:SI 7) (plus:SI (reg:SI 7)
- (match_operand:SI 4 "immediate_operand" "")))]
-@@ -11054,7 +11052,7 @@
-
- (define_insn "*call_value_pop_1"
- [(set (match_operand 0 "" "")
-- (call (match_operand:QI 1 "call_insn_operand" "m")
-+ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "rsm"))
- (match_operand:SI 2 "" "")))
- (set (reg:SI 7) (plus:SI (reg:SI 7)
- (match_operand:SI 4 "immediate_operand" "i")))]
-@@ -11068,7 +11066,6 @@
- else
- return \"call\\t%P1\";
- }
-- operands[1] = XEXP (operands[1], 0);
- if (SIBLING_CALL_P (insn))
- return \"jmp\\t%*%1\";
- else
-@@ -11078,7 +11075,7 @@
-
- (define_insn "*call_value_0"
- [(set (match_operand 0 "" "")
-- (call (match_operand:QI 1 "constant_call_address_operand" "")
-+ (call (mem:QI (match_operand:SI 1 "constant_call_address_operand" ""))
- (match_operand:SI 2 "" "")))]
- ""
- "*
-@@ -11092,7 +11089,7 @@
-
- (define_insn "*call_value_1"
- [(set (match_operand 0 "" "")
-- (call (match_operand:QI 1 "call_insn_operand" "m")
-+ (call (mem:QI (match_operand:SI 1 "call_insn_operand" "rsm"))
- (match_operand:SI 2 "" "")))]
- ""
- "*
-@@ -11104,7 +11101,6 @@
- else
- return \"call\\t%P1\";
- }
-- operands[1] = XEXP (operands[1], 0);
- if (SIBLING_CALL_P (insn))
- return \"jmp\\t%*%1\";
- else
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call2.patch
deleted file mode 100644
index 9f7d646234c1..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-call2.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-2000-09-06 Richard Henderson <rth@cygnus.com>
-
- * config/i386/i386.md (call_pop): Fix test for setting
- current_function_uses_pic_offset_table.
- (call, call_value_pop, call_value): Likewise.
-
-*** gcc/config/i386/i386.md 2000/09/04 10:13:02 1.175
---- gcc/config/i386/i386.md 2000/09/06 08:30:50
-***************
-*** 8453,8461 ****
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && constant_call_address_operand (operands[0], SImode)
-! && (GET_CODE (XEXP (operands[0], 0)) != SYMBOL_REF
-! || !SYMBOL_REF_FLAG (XEXP (operands[0], 0))))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
- XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
---- 8453,8460 ----
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF
-! && ! SYMBOL_REF_FLAG (XEXP (operands[0], 0)))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
- XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
-***************
-*** 8508,8516 ****
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && constant_call_address_operand (operands[0], SImode)
-! && (GET_CODE (XEXP (operands[0], 0)) != SYMBOL_REF
-! || !SYMBOL_REF_FLAG (XEXP (operands[0], 0))))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
- XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
---- 8507,8514 ----
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF
-! && ! SYMBOL_REF_FLAG (XEXP (operands[0], 0)))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[0], 0), Pmode))
- XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
-***************
-*** 8570,8578 ****
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && constant_call_address_operand (operands[1], SImode)
-! && (GET_CODE (XEXP (operands[1], 0)) != SYMBOL_REF
-! || !SYMBOL_REF_FLAG (XEXP (operands[1], 0))))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
- XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
---- 8568,8575 ----
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
-! && ! SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
- XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
-***************
-*** 8589,8597 ****
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && constant_call_address_operand (operands[1], SImode)
-! && (GET_CODE (XEXP (operands[1], 0)) != SYMBOL_REF
-! || !SYMBOL_REF_FLAG (XEXP (operands[1], 0))))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
- XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
---- 8586,8593 ----
- /* Static functions and indirect calls don't need
- current_function_uses_pic_offset_table. */
- if (flag_pic
-! && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
-! && ! SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
- current_function_uses_pic_offset_table = 1;
- if (! call_insn_operand (XEXP (operands[1], 0), Pmode))
- XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-compare-test.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-compare-test.patch
deleted file mode 100644
index 24cb180e8ac3..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-compare-test.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-2000-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c-torture/execute/20001013-1.c: New test.
-
---- gcc/testsuite/gcc.c-torture/execute/20001013-1.c.jj Thu Aug 24 11:00:32 2000
-+++ gcc/testsuite/gcc.c-torture/execute/20001013-1.c Fri Oct 13 11:52:20 2000
-@@ -0,0 +1,17 @@
-+struct x {
-+ int a, b;
-+} z = { -4028, 4096 };
-+
-+int foo(struct x *p, int y)
-+{
-+ if ((y & 0xff) != y || -p->b >= p->a)
-+ return 1;
-+ return 0;
-+}
-+
-+main()
-+{
-+ if (foo (&z, 10))
-+ abort ();
-+ exit (0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-constraint-N.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-constraint-N.patch
deleted file mode 100644
index 18e23781141e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-constraint-N.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-2000-10-18 Jan Hubicka <jh@suse.cz>
-
- * i386.h (CONST_OK_FOR_LETTER): Add 'N'.
-
---- gcc/config/i386/i386.h.jj Mon Oct 23 22:51:33 2000
-+++ gcc/config/i386/i386.h Fri Oct 27 17:26:40 2000
-@@ -1052,6 +1052,7 @@ enum reg_class
- : (C) == 'K' ? (VALUE) >= -128 && (VALUE) <= 127 \
- : (C) == 'L' ? (VALUE) == 0xff || (VALUE) == 0xffff \
- : (C) == 'M' ? (VALUE) >= 0 && (VALUE) <= 3 \
-+ : (C) == 'N' ? (VALUE) >= 0 && (VALUE) <= 255 \
- : 0)
-
- /* Similar, but for floating constants, and defining letters G and H.
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ge_geu.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ge_geu.patch
deleted file mode 100644
index bbae6062a183..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-ge_geu.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-2000-08-25 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
- way as LT and LTU when the second operand has 0 in low word.
-
---- gcc/config/i386/i386.c.jj Mon Jul 31 20:05:09 2000
-+++ gcc/config/i386/i386.c Thu Aug 24 15:11:22 2000
-@@ -4951,17 +4951,21 @@ ix86_expand_branch (code, label)
- return;
- }
-
-- /* Otherwise, if we are doing less-than, op1 is a constant and the
-- low word is zero, then we can just examine the high word. */
-+ /* Otherwise, if we are doing less-than or greater-or-equal-than,
-+ op1 is a constant and the low word is zero, then we can just
-+ examine the high word. */
-
-- if (GET_CODE (hi[1]) == CONST_INT && lo[1] == const0_rtx
-- && (code == LT || code == LTU))
-- {
-- ix86_compare_op0 = hi[0];
-- ix86_compare_op1 = hi[1];
-- ix86_expand_branch (code, label);
-- return;
-- }
-+ if (GET_CODE (hi[1]) == CONST_INT && lo[1] == const0_rtx)
-+ switch (code)
-+ {
-+ case LT: case LTU: case GE: case GEU:
-+ ix86_compare_op0 = hi[0];
-+ ix86_compare_op1 = hi[1];
-+ ix86_expand_branch (code, label);
-+ return;
-+ default:
-+ break;
-+ }
-
- /* Otherwise, we need two or three jumps. */
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-gotoff.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-gotoff.patch
deleted file mode 100644
index a4c46ca04ab1..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-gotoff.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Wed Aug 2 16:26:15 MET DST 2000 Jan Hubicka <jh@suse.cz>
-
- * i386.c (legitimate_address_p): Accept other bases than
- pic_offset_table_rtx for GOTOFF constructs.
-
-*** gcc/config/i386/i386.c.jj Wed Jul 5 16:48:36 2000
---- gcc/config/i386/i386.c Thu Jul 27 23:33:15 2000
-*************** legitimate_address_p (mode, addr, strict
-*** 2510,2523 ****
- goto error;
- }
-
-! /* Verify that a symbolic pic displacement includes
-! the pic_offset_table_rtx register. */
-! if (base != pic_offset_table_rtx
-! && (index != pic_offset_table_rtx || scale != 1))
-! {
-! reason = "pic displacement against invalid base";
-! goto error;
-! }
- }
- else if (HALF_PIC_P ())
- {
---- 2736,2762 ----
- goto error;
- }
-
-! /* This code used to verify that a symbolic pic displacement
-! includes the pic_offset_table_rtx register.
-!
-! While this is good idea, unfortunately these constructs may
-! be created by "adds using lea" optimization for incorrect
-! code like:
-!
-! int a;
-! int foo(int i)
-! {
-! return *(&a+i);
-! }
-!
-! This code nonsential, but results in addressing
-! GOT table with pic_offset_table_rtx base. We can't
-! just refuse it easilly, since it gets matched by
-! "addsi3" pattern, that later gets split to lea in the
-! case output register differs from input. While this
-! can be handled by separate addsi pattern for this case
-! that never results in lea, this seems to be easier and
-! correct fix for crash to disable this test. */
- }
- else if (HALF_PIC_P ())
- {
-
-2000-09-04 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/20000904-1.c: New test.
-
---- gcc/testsuite/gcc.dg/20000904-1.c.jj Mon Sep 4 11:55:49 2000
-+++ gcc/testsuite/gcc.dg/20000904-1.c Mon Sep 4 11:55:30 2000
-@@ -0,0 +1,11 @@
-+/* { dg-do compile { target i?86-*-* } } */
-+/* { dg-options "-O0 -fpic" } */
-+
-+static struct {
-+ unsigned short a, b, c, d;
-+} x[10];
-+
-+int foo(int i)
-+{
-+ return ((*((char *)&x[i] + i)) | (*((char *)&x[i] + i)));
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-lea.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-lea.patch
deleted file mode 100644
index 8baa53b93820..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-lea.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-2000-08-02 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.md (lea_general_1): Only split
- if not already SImode.
- (lea_general_2, lea_general_3): Likewise.
-
---- gcc/config/i386/i386.md.jj Mon Jul 31 20:02:15 2000
-+++ gcc/config/i386/i386.md Wed Aug 2 13:48:02 2000
-@@ -3755,7 +3755,7 @@
- && (GET_MODE (operands[0]) == GET_MODE (operands[3])
- || GET_MODE (operands[3]) == VOIDmode)"
- "#"
-- "reload_completed"
-+ "reload_completed && GET_MODE (operands[0]) != SImode"
- [(const_int 0)]
- "
- {
-@@ -3785,7 +3785,7 @@
- && (GET_MODE (operands[0]) == GET_MODE (operands[3])
- || GET_MODE (operands[3]) == VOIDmode)"
- "#"
-- "reload_completed"
-+ "reload_completed && GET_MODE (operands[0]) != SImode"
- [(const_int 0)]
- "
- {
-@@ -3814,7 +3814,7 @@
- && GET_MODE (operands[0]) == GET_MODE (operands[1])
- && GET_MODE (operands[0]) == GET_MODE (operands[3])"
- "#"
-- "reload_completed"
-+ "reload_completed && GET_MODE (operands[0]) != SImode"
- [(const_int 0)]
- "
- {
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload-test.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload-test.patch
deleted file mode 100644
index 6683cbdef46f..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload-test.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-2000-10-23 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/20001023-1.c: New test.
-
---- gcc/testsuite/gcc.dg/20001023-1.c.jj Mon Oct 23 15:16:41 2000
-+++ gcc/testsuite/gcc.dg/20001023-1.c Mon Oct 23 15:16:50 2000
-@@ -0,0 +1,59 @@
-+/* { dg-do run } */
-+/* { dg-options "-O2 -fomit-frame-pointer" } */
-+
-+unsigned char a[256], b[256], c[256], d[256];
-+
-+void foo(unsigned char *x, int y, unsigned char *z)
-+{
-+}
-+
-+void bar(int x, ...)
-+{
-+}
-+
-+void baz(int y)
-+{
-+ if (y != 0x10)
-+ abort();
-+}
-+
-+void test(int x, unsigned char *y)
-+{
-+ unsigned char g,h,j, k[5],l[5], m[30];
-+ int i;
-+
-+ bar(x, y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9]);
-+ for (i = 5; --i >= 0; )
-+ k[i] = y[5 + i] ^ a[i] ^ c[i];
-+
-+ foo(&m[29], sizeof m, k);
-+ g = d[x] ^ c[x];
-+ bar(x, d[x], x, c[x]);
-+ baz(g);
-+ for (i = 5, h = 0; --i >= 0; h = y[i])
-+ {
-+ j = m[25 + i] ^ y[i];
-+ j = b[j] ^ g;
-+ k[i] = c[j] ^ h;
-+ }
-+ for (i = 5, h = 0; --i >= 0; h = k[i])
-+ {
-+ j = m[20 + i] ^ k[i];
-+ j = b[j] ^ g;
-+ l[i] = c[j] ^ h;
-+ }
-+ for (i = 5, h = 0; --i >= 0; h = l[i]) {
-+ j = m[15 + i] ^ l[i];
-+ j = b[j] ^ g;
-+ j = c[j] ^ h;
-+ k[i] = a[j] ^ c[j];
-+ }
-+}
-+
-+int main()
-+{
-+ c[4] = 0xdc;
-+ d[4] = 0xcc;
-+ test(4, a);
-+ exit(0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload.patch
deleted file mode 100644
index b098792b310d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-reload.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-2000-10-23 Bernd Schmidt <bernds@redhat.com>
-
- * reload.c (find_reloads): Distinguish "wins" so that we know whether
- a given operand won because of a matching constraint or not; then use
- that information to compute goal_alternative_matched properly.
-
---- gcc/reload.c 2000/09/14 17:42:48 1.130
-+++ gcc/reload.c 2000/10/23 16:05:19
-@@ -2399,6 +2399,7 @@ find_reloads (insn, replace, ind_levels,
- int no_input_reloads = 0, no_output_reloads = 0;
- int n_alternatives;
- int this_alternative[MAX_RECOG_OPERANDS];
-+ char this_alternative_match_win[MAX_RECOG_OPERANDS];
- char this_alternative_win[MAX_RECOG_OPERANDS];
- char this_alternative_offmemok[MAX_RECOG_OPERANDS];
- char this_alternative_earlyclobber[MAX_RECOG_OPERANDS];
-@@ -2410,6 +2411,7 @@ find_reloads (insn, replace, ind_levels,
- int operand_reloadnum[MAX_RECOG_OPERANDS];
- int goal_alternative_matches[MAX_RECOG_OPERANDS];
- int goal_alternative_matched[MAX_RECOG_OPERANDS];
-+ char goal_alternative_match_win[MAX_RECOG_OPERANDS];
- char goal_alternative_win[MAX_RECOG_OPERANDS];
- char goal_alternative_offmemok[MAX_RECOG_OPERANDS];
- char goal_alternative_earlyclobber[MAX_RECOG_OPERANDS];
-@@ -2741,6 +2743,7 @@ find_reloads (insn, replace, ind_levels,
- {
- register char *p = constraints[i];
- register int win = 0;
-+ int did_match = 0;
- /* 0 => this operand can be reloaded somehow for this alternative */
- int badop = 1;
- /* 0 => this operand can be reloaded if the alternative allows regs. */
-@@ -2839,6 +2842,7 @@ find_reloads (insn, replace, ind_levels,
-
- this_alternative[i] = (int) NO_REGS;
- this_alternative_win[i] = 0;
-+ this_alternative_match_win[i] = 0;
- this_alternative_offmemok[i] = 0;
- this_alternative_earlyclobber[i] = 0;
- this_alternative_matches[i] = -1;
-@@ -2917,7 +2921,7 @@ find_reloads (insn, replace, ind_levels,
- && ! this_alternative_win[c])
- bad = 1;
-
-- win = this_alternative_win[c];
-+ did_match = this_alternative_win[c];
- }
- else
- {
-@@ -2953,12 +2957,11 @@ find_reloads (insn, replace, ind_levels,
- operand also had to match the same thing as this
- operand, we don't know how to do that. So reject this
- alternative. */
-- if (! win || force_reload)
-+ if (! did_match || force_reload)
- for (j = 0; j < i; j++)
- if (this_alternative_matches[j]
- == this_alternative_matches[i])
- badop = 1;
--
- break;
-
- case 'p':
-@@ -3175,6 +3178,8 @@ find_reloads (insn, replace, ind_levels,
- this_alternative_earlyclobber[i] = earlyclobber;
- if (win && ! force_reload)
- this_alternative_win[i] = 1;
-+ else if (did_match && ! force_reload)
-+ this_alternative_match_win[i] = 1;
- else
- {
- int const_to_mem = 0;
-@@ -3276,7 +3281,8 @@ find_reloads (insn, replace, ind_levels,
- Don't do this if the preferred class has only one register
- because we might otherwise exhaust the class. */
-
-- if (! win && this_alternative[i] != (int) NO_REGS
-+ if (! win && ! did_match
-+ && this_alternative[i] != (int) NO_REGS
- && GET_MODE_SIZE (operand_mode[i]) <= UNITS_PER_WORD
- && reg_class_size[(int) preferred_class[i]] > 1)
- {
-@@ -3302,7 +3308,7 @@ find_reloads (insn, replace, ind_levels,
-
- for (i = 0; i < noperands; i++)
- if (this_alternative_earlyclobber[i]
-- && this_alternative_win[i])
-+ && (this_alternative_win[i] || this_alternative_match_win[i]))
- {
- struct decomposition early_data;
-
-@@ -3345,6 +3351,7 @@ find_reloads (insn, replace, ind_levels,
- {
- losers++;
- this_alternative_win[j] = 0;
-+ this_alternative_match_win[j] = 0;
- }
- else
- break;
-@@ -3355,11 +3362,13 @@ find_reloads (insn, replace, ind_levels,
- {
- losers++;
- this_alternative_win[i] = 0;
-+ this_alternative_match_win[j] = 0;
- for (j = 0; j < noperands; j++)
- if (this_alternative_matches[j] == i
-- && this_alternative_win[j])
-+ && this_alternative_match_win[j])
- {
- this_alternative_win[j] = 0;
-+ this_alternative_match_win[j] = 0;
- losers++;
- }
- }
-@@ -3378,7 +3387,8 @@ find_reloads (insn, replace, ind_levels,
- }
- for (i = 0; i < noperands; i++)
- {
-- goal_alternative_win[i] = 1;
-+ goal_alternative_win[i] = this_alternative_win[i];
-+ goal_alternative_match_win[i] = this_alternative_match_win[i];
- goal_alternative[i] = this_alternative[i];
- goal_alternative_offmemok[i] = this_alternative_offmemok[i];
- goal_alternative_matches[i] = this_alternative_matches[i];
-@@ -3406,6 +3416,7 @@ find_reloads (insn, replace, ind_levels,
- {
- goal_alternative[i] = this_alternative[i];
- goal_alternative_win[i] = this_alternative_win[i];
-+ goal_alternative_match_win[i] = this_alternative_match_win[i];
- goal_alternative_offmemok[i] = this_alternative_offmemok[i];
- goal_alternative_matches[i] = this_alternative_matches[i];
- goal_alternative_earlyclobber[i]
-@@ -3487,11 +3498,14 @@ find_reloads (insn, replace, ind_levels,
-
- for (i = 0; i < noperands; i++)
- goal_alternative_matched[i] = -1;
--
-+
- for (i = 0; i < noperands; i++)
- if (! goal_alternative_win[i]
- && goal_alternative_matches[i] >= 0)
- goal_alternative_matched[goal_alternative_matches[i]] = i;
-+
-+ for (i = 0; i < noperands; i++)
-+ goal_alternative_win[i] |= goal_alternative_match_win[i];
-
- /* If the best alternative is with operands 1 and 2 swapped,
- consider them swapped before reporting the reloads. Update the
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-sibcall.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-sibcall.patch
deleted file mode 100644
index 0725f141c997..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-sibcall.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-2000-08-05 Zack Weinberg <zack@wolery.cumb.org>
-
- * i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return
- type is a float mode, cfun->decl's return type is not, and
- TARGET_FLOAT_RETURNS_IN_80387.
-
---- gcc/config/i386/i386.h 2000/07/31 17:33:28 1.121
-+++ gcc/config/i386/i386.h 2000/08/05 15:45:43
-@@ -1319,10 +1319,16 @@ typedef struct ix86_args {
-
- #define FUNCTION_ARG_PARTIAL_NREGS(CUM, MODE, TYPE, NAMED) 0
-
--/* If PIC, we cannot optimize sibling calls to global functions
-- because the PLT requires %ebx live. */
--#define FUNCTION_OK_FOR_SIBCALL(DECL) \
-- (DECL && (! flag_pic || ! TREE_PUBLIC (DECL)))
-+/* If PIC, we cannot make sibling calls to global functions
-+ because the PLT requires %ebx live.
-+ If we are returning floats on the register stack, we cannot make
-+ sibling calls to functions that return floats. (The stack adjust
-+ instruction will wind up after the sibcall jump, and not be executed.) */
-+#define FUNCTION_OK_FOR_SIBCALL(DECL) (DECL \
-+ && (! flag_pic || ! TREE_PUBLIC (DECL)) \
-+ && (! TARGET_FLOAT_RETURNS_IN_80387 \
-+ || ! FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (DECL)))) \
-+ || FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (cfun->decl))))))
-
- /* This macro is invoked just before the start of a function.
- It is used here to output code for -fpic that will load the
-
-Mon Jul 31 21:14:49 2000 Jeffrey A Law (law@cygnus.com)
-
- * gcc.c-torture/execute/20000731-1.c: New test.
-
---- gcc/testsuite/gcc.c-torture/execute/20000731-1.c.jj Thu Aug 17 15:02:49 2000
-+++ gcc/testsuite/gcc.c-torture/execute/20000731-1.c Tue Aug 1 05:14:49 2000
-@@ -0,0 +1,24 @@
-+double
-+foo (void)
-+{
-+ return 0.0;
-+}
-+
-+void
-+do_sibcall (void)
-+{
-+ (void) foo ();
-+}
-+
-+int
-+main (void)
-+{
-+ double x;
-+
-+ for (x = 0; x < 20; x++)
-+ do_sibcall ();
-+ if (!(x >= 10))
-+ abort ();
-+ exit (0);
-+}
-+
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-strops.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-strops.patch
deleted file mode 100644
index d01ab94b363c..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-i386-strops.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-2000-08-23 Jan Hubicka <jh@suse.cz>
-
- * i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
- Do not use match_dup of input operands at outputs.
- Use register_operand for memory expression.
- (rep_movsi): Put use last, canonicalize.
- Use register_operand for memory expression.
- (rep_movqi): Put use last.
- Use register_operand for memory expression.
- (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
- of input operands at outputs. Use register_operand for memory
- expression.
- (rep_stossi): Put use last; canonicalize; fix match_dup in
- the address expression
- (rep_stosqi): Likewise.
- (memcmp expander): Update calls.
- (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
- the clobbers.
-
---- gcc/config/i386/i386.md.jj Mon Aug 21 18:27:34 2000
-+++ gcc/config/i386/i386.md Wed Aug 23 14:05:34 2000
-@@ -9587,10 +9587,10 @@
- [(set (mem:SI (match_operand:SI 2 "register_operand" "0"))
- (mem:SI (match_operand:SI 3 "register_operand" "1")))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_dup 0)
-+ (plus:SI (match_dup 2)
- (const_int 4)))
- (set (match_operand:SI 1 "register_operand" "=S")
-- (plus:SI (match_dup 1)
-+ (plus:SI (match_dup 3)
- (const_int 4)))
- (use (reg:SI 19))]
- "TARGET_SINGLE_STRINGOP || optimize_size"
-@@ -9603,10 +9603,10 @@
- [(set (mem:HI (match_operand:SI 2 "register_operand" "0"))
- (mem:HI (match_operand:SI 3 "register_operand" "1")))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_dup 0)
-+ (plus:SI (match_dup 2)
- (const_int 2)))
- (set (match_operand:SI 1 "register_operand" "=S")
-- (plus:SI (match_dup 1)
-+ (plus:SI (match_dup 3)
- (const_int 2)))
- (use (reg:SI 19))]
- "TARGET_SINGLE_STRINGOP || optimize_size"
-@@ -9619,10 +9619,10 @@
- [(set (mem:QI (match_operand:SI 2 "register_operand" "0"))
- (mem:QI (match_operand:SI 3 "register_operand" "1")))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_dup 0)
-+ (plus:SI (match_dup 2)
- (const_int 1)))
- (set (match_operand:SI 1 "register_operand" "=S")
-- (plus:SI (match_dup 1)
-+ (plus:SI (match_dup 3)
- (const_int 1)))
- (use (reg:SI 19))]
- "TARGET_SINGLE_STRINGOP || optimize_size"
-@@ -9631,21 +9631,18 @@
- (set_attr "memory" "both")
- (set_attr "mode" "QI")])
-
--;; It might seem that operands 3 & 4 could use predicate register_operand.
--;; But strength reduction might offset the MEM expression. So we let
--;; reload put the address into %edi & %esi.
--
- (define_insn "rep_movsi"
- [(set (match_operand:SI 2 "register_operand" "=c") (const_int 0))
-- (use (match_operand:SI 5 "register_operand" "2"))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_operand:SI 3 "address_operand" "0")
-- (ashift:SI (match_dup 5) (const_int 2))))
-+ (plus:SI (ashift:SI (match_operand:SI 5 "register_operand" "2")
-+ (const_int 2))
-+ (match_operand:SI 3 "register_operand" "0")))
- (set (match_operand:SI 1 "register_operand" "=S")
-- (plus:SI (match_operand:SI 4 "address_operand" "1")
-- (ashift:SI (match_dup 5) (const_int 2))))
-+ (plus:SI (ashift:SI (match_dup 5) (const_int 2))
-+ (match_operand:SI 4 "register_operand" "1")))
- (set (mem:BLK (match_dup 3))
- (mem:BLK (match_dup 4)))
-+ (use (match_dup 5))
- (use (reg:SI 19))]
- ""
- "rep\;movsl|rep movsd"
-@@ -9656,13 +9653,14 @@
-
- (define_insn "rep_movqi"
- [(set (match_operand:SI 2 "register_operand" "=c") (const_int 0))
-- (use (match_operand:SI 5 "register_operand" "2"))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_operand:SI 3 "address_operand" "0") (match_dup 5)))
-+ (plus:SI (match_operand:SI 3 "register_operand" "0")
-+ (match_operand:SI 5 "register_operand" "2")))
- (set (match_operand:SI 1 "register_operand" "=S")
-- (plus:SI (match_operand:SI 4 "address_operand" "1") (match_dup 5)))
-+ (plus:SI (match_operand:SI 4 "register_operand" "1") (match_dup 5)))
- (set (mem:BLK (match_dup 3))
- (mem:BLK (match_dup 4)))
-+ (use (match_dup 5))
- (use (reg:SI 19))]
- ""
- "rep\;movsb|rep movsb"
-@@ -9891,7 +9889,7 @@
- [(set (mem:SI (match_operand:SI 1 "register_operand" "0"))
- (match_operand:SI 2 "register_operand" "a"))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_dup 0)
-+ (plus:SI (match_dup 1)
- (const_int 4)))
- (use (reg:SI 19))]
- "TARGET_SINGLE_STRINGOP || optimize_size"
-@@ -9904,7 +9902,7 @@
- [(set (mem:HI (match_operand:SI 1 "register_operand" "0"))
- (match_operand:HI 2 "register_operand" "a"))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_dup 0)
-+ (plus:SI (match_dup 1)
- (const_int 2)))
- (use (reg:SI 19))]
- "TARGET_SINGLE_STRINGOP || optimize_size"
-@@ -9917,7 +9915,7 @@
- [(set (mem:QI (match_operand:SI 1 "register_operand" "0"))
- (match_operand:QI 2 "register_operand" "a"))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_dup 0)
-+ (plus:SI (match_dup 1)
- (const_int 1)))
- (use (reg:SI 19))]
- "TARGET_SINGLE_STRINGOP || optimize_size"
-@@ -9926,19 +9924,16 @@
- (set_attr "memory" "store")
- (set_attr "mode" "QI")])
-
--;; It might seem that operand 0 could use predicate register_operand.
--;; But strength reduction might offset the MEM expression. So we let
--;; reload put the address into %edi.
--
- (define_insn "rep_stossi"
- [(set (match_operand:SI 1 "register_operand" "=c") (const_int 0))
-- (use (match_operand:SI 2 "register_operand" "a"))
-- (use (match_operand:SI 4 "register_operand" "1"))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_operand:SI 3 "address_operand" "0")
-- (ashift:SI (match_dup 3) (const_int 2))))
-+ (plus:SI (ashift:SI (match_operand:SI 4 "register_operand" "1")
-+ (const_int 2))
-+ (match_operand:SI 3 "register_operand" "0")))
- (set (mem:BLK (match_dup 3))
- (const_int 0))
-+ (use (match_operand:SI 2 "register_operand" "a"))
-+ (use (match_dup 4))
- (use (reg:SI 19))]
- ""
- "rep\;stosl|rep stosd"
-@@ -9949,12 +9944,13 @@
-
- (define_insn "rep_stosqi"
- [(set (match_operand:SI 1 "register_operand" "=c") (const_int 0))
-- (use (match_operand:QI 2 "register_operand" "a"))
-- (use (match_operand:SI 4 "register_operand" "1"))
- (set (match_operand:SI 0 "register_operand" "=D")
-- (plus:SI (match_operand:SI 3 "address_operand" "0") (match_dup 3)))
-+ (plus:SI (match_operand:SI 3 "register_operand" "0")
-+ (match_operand:SI 4 "register_operand" "1")))
- (set (mem:BLK (match_dup 3))
- (const_int 0))
-+ (use (match_operand:QI 2 "register_operand" "a"))
-+ (use (match_dup 4))
- (use (reg:SI 19))]
- ""
- "rep\;stosb|rep stosb"
-@@ -9997,12 +9993,14 @@
- emit_move_insn (operands[0], const0_rtx);
- DONE;
- }
-- emit_insn (gen_cmpstrsi_nz_1 (addr1, addr2, countreg, align));
-+ emit_insn (gen_cmpstrsi_nz_1 (addr1, addr2, countreg, align,
-+ addr1, addr2, countreg));
- }
- else
- {
- emit_insn (gen_cmpsi_1 (countreg, countreg));
-- emit_insn (gen_cmpstrsi_1 (addr1, addr2, countreg, align));
-+ emit_insn (gen_cmpstrsi_1 (addr1, addr2, countreg, align,
-+ addr1, addr2, countreg));
- }
-
- outlow = gen_lowpart (QImode, out);
-@@ -10032,21 +10030,17 @@
-
- ;; memcmp recognizers. The `cmpsb' opcode does nothing if the count is
- ;; zero. Emit extra code to make sure that a zero-length compare is EQ.
--;;
--;; It might seem that operands 0 & 1 could use predicate register_operand.
--;; But strength reduction might offset the MEM expression. So we let
--;; reload put the address into %edi & %esi.
-
- (define_insn "cmpstrsi_nz_1"
- [(set (reg:CC 17)
-- (compare:CC (mem:BLK (match_operand:SI 0 "address_operand" "S"))
-- (mem:BLK (match_operand:SI 1 "address_operand" "D"))))
-- (use (match_operand:SI 2 "register_operand" "c"))
-+ (compare:CC (mem:BLK (match_operand:SI 4 "register_operand" "0"))
-+ (mem:BLK (match_operand:SI 5 "register_operand" "1"))))
-+ (use (match_operand:SI 6 "register_operand" "2"))
- (use (match_operand:SI 3 "immediate_operand" "i"))
- (use (reg:SI 19))
-- (clobber (match_dup 0))
-- (clobber (match_dup 1))
-- (clobber (match_dup 2))]
-+ (clobber (match_operand:SI 0 "register_operand" "=S"))
-+ (clobber (match_operand:SI 1 "register_operand" "=D"))
-+ (clobber (match_operand:SI 2 "register_operand" "=c"))]
- ""
- "repz{\;| }cmpsb"
- [(set_attr "type" "str")
-@@ -10057,17 +10051,17 @@
-
- (define_insn "cmpstrsi_1"
- [(set (reg:CC 17)
-- (if_then_else:CC (ne (match_operand:SI 2 "register_operand" "c")
-+ (if_then_else:CC (ne (match_operand:SI 6 "register_operand" "2")
- (const_int 0))
-- (compare:SI (mem:BLK (match_operand:SI 0 "address_operand" "S"))
-- (mem:BLK (match_operand:SI 1 "address_operand" "D")))
-+ (compare:SI (mem:BLK (match_operand:SI 4 "register_operand" "0"))
-+ (mem:BLK (match_operand:SI 5 "register_operand" "1")))
- (const_int 0)))
- (use (match_operand:SI 3 "immediate_operand" "i"))
- (use (reg:CC 17))
- (use (reg:SI 19))
-- (clobber (match_dup 0))
-- (clobber (match_dup 1))
-- (clobber (match_dup 2))]
-+ (clobber (match_operand:SI 0 "register_operand" "=S"))
-+ (clobber (match_operand:SI 1 "register_operand" "=D"))
-+ (clobber (match_operand:SI 2 "register_operand" "=c"))]
- ""
- "repz{\;| }cmpsb"
- [(set_attr "type" "str")
-@@ -10131,25 +10125,21 @@
-
- emit_insn (gen_cld ());
- emit_insn (gen_strlensi_1 (scratch1, scratch3, eoschar,
-- align, constm1_rtx));
-+ align, constm1_rtx, scratch3));
- emit_insn (gen_one_cmplsi2 (scratch2, scratch1));
- emit_insn (gen_addsi3 (out, scratch2, constm1_rtx));
- }
- DONE;
- }")
-
--;; It might seem that operands 0 & 1 could use predicate register_operand.
--;; But strength reduction might offset the MEM expression. So we let
--;; reload put the address into %edi.
--
- (define_insn "strlensi_1"
- [(set (match_operand:SI 0 "register_operand" "=&c")
-- (unspec:SI [(mem:BLK (match_operand:SI 1 "address_operand" "D"))
-+ (unspec:SI [(mem:BLK (match_operand:SI 5 "register_operand" "1"))
- (match_operand:QI 2 "general_operand" "a")
- (match_operand:SI 3 "immediate_operand" "i")
- (match_operand:SI 4 "immediate_operand" "0")] 0))
- (use (reg:SI 19))
-- (clobber (match_dup 1))
-+ (clobber (match_operand:SI 1 "register_operand" "=D"))
- (clobber (reg:CC 17))]
- ""
- "repnz{\;| }scasb"
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-aggregate-alias.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-aggregate-alias.patch
deleted file mode 100644
index 1d23b1c2e38b..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-aggregate-alias.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-2000-10-25 Jakub Jelinek <jakub@redhat.com>
-
- * stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
- incomplete type force it into alias set 0.
-
- * gcc.c-torture/execute/20001024-1.c: New test.
-
---- gcc/testsuite/gcc.c-torture/execute/20001024-1.c.jj Tue Oct 24 13:32:08 2000
-+++ gcc/testsuite/gcc.c-torture/execute/20001024-1.c Tue Oct 24 10:16:57 2000
-@@ -0,0 +1,34 @@
-+struct a;
-+
-+extern int baz (struct a *__restrict x);
-+
-+struct a {
-+ long v;
-+ long w;
-+};
-+
-+struct b {
-+ struct a c;
-+ struct a d;
-+};
-+
-+int bar (int x, const struct b *__restrict y, struct b *__restrict z)
-+{
-+ if (y->c.v || y->c.w != 250000 || y->d.v || y->d.w != 250000)
-+ abort();
-+}
-+
-+void foo(void)
-+{
-+ struct b x;
-+ x.c.v = 0;
-+ x.c.w = 250000;
-+ x.d = x.c;
-+ bar(0, &x, ((void *)0));
-+}
-+
-+int main()
-+{
-+ foo();
-+ exit(0);
-+}
---- gcc/stor-layout.c.jj Mon Oct 23 15:24:47 2000
-+++ gcc/stor-layout.c Wed Oct 25 10:46:57 2000
-@@ -1507,6 +1507,14 @@ layout_type (type)
- record it so set_sizetype can fix it up. */
- if (! sizetype_set)
- early_type_list = tree_cons (NULL_TREE, type, early_type_list);
-+
-+ /* If an alias set has been set for this aggregate when it was incomplete,
-+ force it into alias set 0.
-+ This is too conservative, but we cannot call record_component_aliases
-+ here because some frontends still change the aggregates after
-+ layout_type. */
-+ if (AGGREGATE_TYPE_P (type) && TYPE_ALIAS_SET_KNOWN_P (type))
-+ TYPE_ALIAS_SET (type) = 0;
- }
-
- /* Create and return a type for signed integers of PRECISION bits. */
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-struct.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-struct.patch
deleted file mode 100644
index 7bb740240859..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-incomplete-struct.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-2000-06-06 Jakub Jelinek <jakub@redhat.com>
-
- * expr.c (get_inner_reference): If decl was done with incomplete
- type which was later defined, try to use its type alignment.
-
- * gcc.c-torture/compile/20000606-1.c: New test.
-
---- gcc/testsuite/gcc.c-torture/compile/20000606-1.c.jj Tue Jun 6 19:09:18 2000
-+++ gcc/testsuite/gcc.c-torture/compile/20000606-1.c Tue Jun 6 18:13:45 2000
-@@ -0,0 +1,10 @@
-+typedef struct _foo foo;
-+extern foo bar;
-+struct _foo {
-+ int a;
-+};
-+
-+void baz(void)
-+{
-+ bar.a = 0;
-+}
---- gcc/expr.c.jj Fri Jun 2 16:00:46 2000
-+++ gcc/expr.c Tue Jun 6 19:07:44 2000
-@@ -5142,7 +5142,9 @@ get_inner_reference (exp, pbitsize, pbit
- exp = TREE_OPERAND (exp, 0);
- }
-
-- if (DECL_P (exp))
-+ if (DECL_P (exp)
-+ && (DECL_ALIGN (exp) != 1
-+ || ! TREE_TYPE (exp)))
- alignment = MIN (alignment, DECL_ALIGN (exp));
- else if (TREE_TYPE (exp) != 0)
- alignment = MIN (alignment, TYPE_ALIGN (TREE_TYPE (exp)));
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-iso-not-ansi.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-iso-not-ansi.patch
deleted file mode 100644
index d2d3c1695dc5..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-iso-not-ansi.patch
+++ /dev/null
@@ -1,762 +0,0 @@
-2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.c (combine_strings, check_format_info): Refer to ISO C
- or ISO C89 instead of ANSI C.
- * c-decl.c (grokdeclarator, xref_tag, finish_struct,
- build_enumerator, do_case): Likewise.
- * c-lex.c (parse_float, yylex): Likewise.
- * c-parse.in: Likewise.
- * c-typeck.c (common_type, build_array_ref, build_binary_op,
- build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
- build_c_cast, convert_for_assignment, set_init_index,
- set_init_label, c_expand_start_case): Likewise.
- * toplev.c (documented_lang_options, display_help): Likewise.
-
---- gcc/c-common.c Sun Aug 6 18:08:43 2000
-+++ gcc/c-common.c Tue Aug 8 19:27:49 2000
-@@ -375,8 +375,8 @@ combine_strings (strings)
- nchars = wide_flag ? length / wchar_bytes : length;
-
- if (pedantic && nchars > nchars_max)
-- pedwarn ("string length `%d' is greater than the minimum length `%d' ANSI C is required to support",
-- nchars, nchars_max);
-+ pedwarn ("string length `%d' is greater than the minimum length `%d' ISO C%d is required to support",
-+ nchars, nchars_max, flag_isoc99 ? 99 : 89);
-
- /* Create the array type for the string constant.
- -Wwrite-strings says make the string constant an array of const char
-@@ -1653,7 +1653,7 @@ check_format_info (info, params)
- while (*format_chars != 0 && index ("_-0^#", *format_chars) != 0)
- {
- if (pedantic)
-- warning ("ANSI C does not support the strftime `%c' flag",
-+ warning ("ISO C does not support the strftime `%c' flag",
- *format_chars);
- if (index (flag_chars, *format_chars) != 0)
- {
-@@ -1674,7 +1674,7 @@ check_format_info (info, params)
- ++format_chars;
- }
- if (wide && pedantic)
-- warning ("ANSI C does not support strftime format width");
-+ warning ("ISO C does not support strftime format width");
- if (*format_chars == 'E' || *format_chars == 'O')
- {
- i = strlen (flag_chars);
-@@ -1704,7 +1704,7 @@ check_format_info (info, params)
- int opnum = atoi (format_chars);
-
- if (pedantic)
-- warning ("ANSI C does not support printf %%n$");
-+ warning ("ISO C does not support printf %%n$");
-
- params = first_fillin_param;
- format_chars = p + 1;
-@@ -1743,7 +1743,7 @@ check_format_info (info, params)
- && index (flag_chars, '-') != 0)
- warning ("use of both `0' and `-' flags in format");
- if (index (flag_chars, '\'') && pedantic)
-- warning ("ANSI C does not support the `'' format flag");
-+ warning ("ISO C does not support the `'' format flag");
- if (*format_chars == '*')
- {
- wide = TRUE;
-@@ -1826,21 +1826,27 @@ check_format_info (info, params)
- {
- length_char = *format_chars++;
- if (length_char == 'q' && pedantic)
-- warning ("ANSI C does not support the `%c' length modifier",
-+ warning ("ISO C does not support the `%c' length modifier",
- length_char);
- }
- else if (*format_chars == 'Z' || *format_chars == 'z')
- {
- length_char = *format_chars++;
-- if (pedantic && (length_char == 'Z' || !flag_isoc99))
-- warning ("ANSI C does not support the `%c' length modifier",
-- length_char);
-+ if (pedantic)
-+ {
-+ if (length_char == 'Z')
-+ warning ("ISO C does not support the `%c' length modifier",
-+ length_char);
-+ else if (!flag_isoc99)
-+ warning ("ISO C89 does not support the `%c' length modifier",
-+ length_char);
-+ }
- }
- else if (*format_chars == 't' || *format_chars == 'j')
- {
- length_char = *format_chars++;
- if (pedantic && !flag_isoc99)
-- warning ("ANSI C does not support the `%c' length modifier",
-+ warning ("ISO C89 does not support the `%c' length modifier",
- length_char);
- }
- else
-@@ -1849,13 +1855,13 @@ check_format_info (info, params)
- {
- length_char = 'q', format_chars++;
- if (pedantic && !flag_isoc99)
-- warning ("ANSI C does not support the `ll' length modifier");
-+ warning ("ISO C89 does not support the `ll' length modifier");
- }
- else if (length_char == 'h' && *format_chars == 'h')
- {
- length_char = 'H', format_chars++;
- if (pedantic && !flag_isoc99)
-- warning ("ANSI C does not support the `hh' length modifier");
-+ warning ("ISO C89 does not support the `hh' length modifier");
- }
- if (*format_chars == 'a' && info->format_type == scanf_format_type)
- {
-@@ -1880,12 +1886,12 @@ check_format_info (info, params)
- /* The m, C, and S formats are GNU extensions. */
- if (pedantic && info->format_type != strftime_format_type
- && (format_char == 'm' || format_char == 'C' || format_char == 'S'))
-- warning ("ANSI C does not support the `%c' format", format_char);
-+ warning ("ISO C does not support the `%c' format", format_char);
- /* The a, A and F formats are C99 extensions. */
- if (pedantic && info->format_type != strftime_format_type
- && (format_char == 'a' || format_char == 'A' || format_char == 'F')
- && !flag_isoc99)
-- warning ("ANSI C does not support the `%c' format", format_char);
-+ warning ("ISO C89 does not support the `%c' format", format_char);
- format_chars++;
- switch (info->format_type)
- {
-@@ -1917,15 +1923,18 @@ check_format_info (info, params)
- if (pedantic)
- {
- if (index (fci->flag_chars, 'G') != 0)
-- warning ("ANSI C does not support `%%%c'", format_char);
-+ warning ("ISO C does not support `%%%c'", format_char);
- if (index (fci->flag_chars, '9') != 0 && !flag_isoc99)
-- warning ("ANSI C does not support `%%%c'", format_char);
-- if ((index (fci->flag_chars, 'o') != 0
-- || (!flag_isoc99 && index (fci->flag_chars, 'O') != 0))
-- && index (flag_chars, 'O') != 0)
-- warning ("ANSI C does not support `%%O%c'", format_char);
-+ warning ("ISO C89 does not support `%%%c'", format_char);
-+ if (index (flag_chars, 'O') != 0)
-+ {
-+ if (index (fci->flag_chars, 'o') != 0)
-+ warning ("ISO C does not support `%%O%c'", format_char);
-+ else if (!flag_isoc99 && index (fci->flag_chars, 'O') != 0)
-+ warning ("ISO C89 does not support `%%O%c'", format_char);
-+ }
- if (!flag_isoc99 && index (flag_chars, 'E'))
-- warning ("ANSI C does not support `%%E%c'", format_char);
-+ warning ("ISO C89 does not support `%%E%c'", format_char);
- }
- if (wide && index (fci->flag_chars, 'w') == 0)
- warning ("width used with `%c' format", format_char);
-@@ -1944,7 +1953,7 @@ check_format_info (info, params)
- }
- /* The a flag is a GNU extension. */
- else if (pedantic && aflag)
-- warning ("ANSI C does not support the `a' flag");
-+ warning ("ISO C does not support the `a' flag");
- if (info->format_type == scanf_format_type && format_char == '[')
- {
- /* Skip over scan set, in case it happens to have '%' in it. */
-@@ -2004,20 +2013,20 @@ check_format_info (info, params)
- || format_char == 'e' || format_char == 'E'
- || format_char == 'f' || format_char == 'F'
- || format_char == 'g' || format_char == 'G'))
-- warning ("ANSI C does not support the `L' length modifier with the `%c' type character",
-+ warning ("ISO C does not support the `L' length modifier with the `%c' type character",
- format_char);
- else if (length_char == 'l'
- && (format_char == 'c' || format_char == 's'
- || format_char == '[')
- && pedantic && !flag_isoc94)
-- warning ("ANSI C89 does not support the `l' length modifier with the `%c' type character",
-+ warning ("ISO C89 does not support the `l' length modifier with the `%c' type character",
- format_char);
- else if (info->format_type == printf_format_type && pedantic
- && !flag_isoc99 && length_char == 'l'
- && (format_char == 'f' || format_char == 'e'
- || format_char == 'E' || format_char == 'g'
- || format_char == 'G'))
-- warning ("ANSI C does not support the `l' length modifier with the `%c' type character",
-+ warning ("ISO C89 does not support the `l' length modifier with the `%c' type character",
- format_char);
-
- /* Finally. . .check type of argument against desired type! */
---- gcc/c-decl.c Sun Aug 6 18:08:43 2000
-+++ gcc/c-decl.c Tue Aug 8 19:31:02 2000
-@@ -4005,7 +4005,7 @@ grokdeclarator (declarator, declspecs, d
- {
- if (pedantic && !flag_isoc99 && ! in_system_header
- && warn_long_long)
-- pedwarn ("ANSI C does not support `long long'");
-+ pedwarn ("ISO C89 does not support `long long'");
- longlong = 1;
- }
- }
-@@ -4385,7 +4385,7 @@ grokdeclarator (declarator, declspecs, d
- }
-
- if (pedantic && integer_zerop (size))
-- pedwarn ("ANSI C forbids zero-size array `%s'", name);
-+ pedwarn ("ISO C forbids zero-size array `%s'", name);
-
- if (TREE_CODE (size) == INTEGER_CST)
- {
-@@ -4405,9 +4405,9 @@ grokdeclarator (declarator, declspecs, d
- if (pedantic)
- {
- if (TREE_CONSTANT (size))
-- pedwarn ("ANSI C forbids array `%s' whose size can't be evaluated", name);
-+ pedwarn ("ISO C89 forbids array `%s' whose size can't be evaluated", name);
- else
-- pedwarn ("ANSI C forbids variable-size array `%s'", name);
-+ pedwarn ("ISO C89 forbids variable-size array `%s'", name);
- }
- }
-
-@@ -4539,7 +4539,7 @@ grokdeclarator (declarator, declspecs, d
-
- if (pedantic && TREE_CODE (type) == FUNCTION_TYPE
- && type_quals)
-- pedwarn ("ANSI C forbids qualified function types");
-+ pedwarn ("ISO C forbids qualified function types");
- if (type_quals)
- type = c_build_qualified_type (type, type_quals);
- type_quals = TYPE_UNQUALIFIED;
-@@ -4612,7 +4612,7 @@ grokdeclarator (declarator, declspecs, d
- in typenames, fields or parameters */
- if (pedantic && TREE_CODE (type) == FUNCTION_TYPE
- && type_quals)
-- pedwarn ("ANSI C forbids qualified function types");
-+ pedwarn ("ISO C forbids qualified function types");
- if (type_quals)
- type = c_build_qualified_type (type, type_quals);
- decl = build_decl (TYPE_DECL, declarator, type);
-@@ -4646,7 +4646,7 @@ grokdeclarator (declarator, declspecs, d
- in typenames, fields or parameters */
- if (pedantic && TREE_CODE (type) == FUNCTION_TYPE
- && type_quals)
-- pedwarn ("ANSI C forbids const or volatile function types");
-+ pedwarn ("ISO C forbids const or volatile function types");
- if (type_quals)
- type = c_build_qualified_type (type, type_quals);
- return type;
-@@ -4696,7 +4696,7 @@ grokdeclarator (declarator, declspecs, d
- else if (TREE_CODE (type) == FUNCTION_TYPE)
- {
- if (pedantic && type_quals)
-- pedwarn ("ANSI C forbids qualified function types");
-+ pedwarn ("ISO C forbids qualified function types");
- if (type_quals)
- type = c_build_qualified_type (type, type_quals);
- type = build_pointer_type (type);
-@@ -4782,13 +4782,13 @@ grokdeclarator (declarator, declspecs, d
- decl = build_decl_attribute_variant (decl, decl_machine_attr);
-
- if (pedantic && type_quals && ! DECL_IN_SYSTEM_HEADER (decl))
-- pedwarn ("ANSI C forbids qualified function types");
-+ pedwarn ("ISO C forbids qualified function types");
-
- if (pedantic
- && VOID_TYPE_P (TREE_TYPE (TREE_TYPE (decl)))
- && TYPE_QUALS (TREE_TYPE (TREE_TYPE (decl)))
- && ! DECL_IN_SYSTEM_HEADER (decl))
-- pedwarn ("ANSI C forbids qualified void function return type");
-+ pedwarn ("ISO C forbids qualified void function return type");
-
- /* GNU C interprets a `volatile void' return type to indicate
- that the function does not return. */
-@@ -5161,7 +5161,7 @@ xref_tag (code, name)
- {
- /* (In ANSI, Enums can be referred to only if already defined.) */
- if (pedantic)
-- pedwarn ("ANSI C forbids forward references to `enum' types");
-+ pedwarn ("ISO C forbids forward references to `enum' types");
- /* Give the type a default layout like unsigned int
- to avoid crashing if it does not get defined. */
- TYPE_MODE (ref) = TYPE_MODE (unsigned_type_node);
-@@ -5354,7 +5354,7 @@ finish_struct (t, fieldlist, attributes)
- && !(TREE_CODE (TREE_TYPE (x)) == ENUMERAL_TYPE
- && (TYPE_PRECISION (TREE_TYPE (x))
- == TYPE_PRECISION (integer_type_node))))
-- pedwarn_with_decl (x, "bit-field `%s' type invalid in ANSI C");
-+ pedwarn_with_decl (x, "bit-field `%s' type invalid in ISO C");
-
- /* Detect and ignore out of range field width and process valid
- field widths. */
-@@ -5749,7 +5749,7 @@ build_enumerator (name, value)
-
- if (pedantic && ! int_fits_type_p (value, integer_type_node))
- {
-- pedwarn ("ANSI C restricts enumerator values to range of `int'");
-+ pedwarn ("ISO C restricts enumerator values to range of `int'");
- value = convert (integer_type_node, value);
- }
-
-@@ -6924,7 +6924,7 @@ do_case (low_value, high_value)
- label = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
-
- if (pedantic && (high_value != NULL_TREE))
-- pedwarn ("ANSI C forbids case ranges");
-+ pedwarn ("ISO C forbids case ranges");
-
- if (value1 != error_mark_node && value2 != error_mark_node)
- {
-@@ -6933,7 +6933,7 @@ do_case (low_value, high_value)
-
- if (high_value == NULL_TREE && value1 != NULL_TREE &&
- pedantic && ! INTEGRAL_TYPE_P (TREE_TYPE (value1)))
-- pedwarn ("label must have integral type in ANSI C");
-+ pedwarn ("label must have integral type in ISO C");
-
- if (low_value == NULL_TREE)
- success = pushcase (NULL_TREE, 0, label, &duplicate);
---- gcc/c-lex.c Tue Aug 8 08:17:48 2000
-+++ gcc/c-lex.c Tue Aug 8 19:32:14 2000
-@@ -1122,7 +1122,7 @@ parse_float (data)
- if (args->imag)
- error ("more than one `i' or `j' in numeric constant");
- else if (pedantic)
-- pedwarn ("ANSI C forbids imaginary numeric constants");
-+ pedwarn ("ISO C forbids imaginary numeric constants");
- args->imag = 1;
- break;
-
-@@ -1789,7 +1789,7 @@ yylex ()
- error ("`Ll' and `lL' are not valid integer suffixes");
- else if (pedantic && ! flag_isoc99
- && ! in_system_header && warn_long_long)
-- pedwarn ("ANSI C forbids long long integer constants");
-+ pedwarn ("ISO C89 forbids long long integer constants");
- spec_long_long = 1;
- }
- spec_long = c;
-@@ -1799,7 +1799,7 @@ yylex ()
- if (spec_imag)
- error ("more than one `i' or `j' in numeric constant");
- else if (pedantic)
-- pedwarn ("ANSI C forbids imaginary numeric constants");
-+ pedwarn ("ISO C forbids imaginary numeric constants");
- spec_imag = 1;
- }
- else
-@@ -1914,7 +1914,7 @@ yylex ()
- warning ("width of integer constant changes with -traditional");
- else if (TREE_UNSIGNED (traditional_type)
- != TREE_UNSIGNED (ansi_type))
-- warning ("integer constant is unsigned in ANSI C, signed with -traditional");
-+ warning ("integer constant is unsigned in ISO C, signed with -traditional");
- else
- warning ("width of integer constant may change on other systems with -traditional");
- }
-@@ -2018,7 +2018,7 @@ yylex ()
- else if (c == '\n')
- {
- if (pedantic)
-- pedwarn ("ANSI C forbids newline in character constant");
-+ pedwarn ("ISO C forbids newline in character constant");
- lineno++;
- }
- else
-@@ -2175,7 +2175,7 @@ yylex ()
- else if (c == '\n')
- {
- if (pedantic)
-- pedwarn ("ANSI C forbids newline in string constant");
-+ pedwarn ("ISO C forbids newline in string constant");
- lineno++;
- }
- else
---- gcc/c-parse.in Mon Aug 7 09:46:01 2000
-+++ gcc/c-parse.in Tue Aug 8 19:35:46 2000
-@@ -277,7 +277,7 @@ end ifobjc
- %%
- program: /* empty */
- { if (pedantic)
-- pedwarn ("ANSI C forbids an empty source file");
-+ pedwarn ("ISO C forbids an empty source file");
- finish_file ();
- }
- | extdefs
-@@ -320,7 +320,7 @@ end ifobjc
- datadef:
- setspecs notype_initdecls ';'
- { if (pedantic)
-- error ("ANSI C forbids data definition with no type or storage class");
-+ error ("ISO C forbids data definition with no type or storage class");
- else if (!flag_traditional)
- warning ("data definition has no type or storage class");
-
-@@ -343,7 +343,7 @@ datadef:
- | error '}'
- | ';'
- { if (pedantic)
-- pedwarn ("ANSI C does not allow extra `;' outside of a function"); }
-+ pedwarn ("ISO C does not allow extra `;' outside of a function"); }
- ;
-
- fndef:
-@@ -459,7 +459,7 @@ unary_expr:
- | ANDAND identifier
- { tree label = lookup_label ($2);
- if (pedantic)
-- pedwarn ("ANSI C forbids `&&'");
-+ pedwarn ("ISO C forbids `&&'");
- if (label == 0)
- $$ = null_pointer_node;
- else
-@@ -479,7 +479,7 @@ unary_expr:
- else
- {
- if (pedantic)
-- pedwarn ("ANSI C forbids `&...'");
-+ pedwarn ("ISO C forbids `&...'");
- $$ = tree_last (DECL_ARGUMENTS (current_function_decl));
- $$ = build_unary_op (ADDR_EXPR, $$, 0);
- } }
-@@ -531,7 +531,7 @@ cast_expr:
- finish_init ();
-
- if (pedantic && ! flag_isoc99)
-- pedwarn ("ANSI C forbids constructor expressions");
-+ pedwarn ("ISO C89 forbids constructor expressions");
- if (TYPE_NAME (type) != 0)
- {
- if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
-@@ -600,7 +600,7 @@ expr_no_commas:
- $$ = build_conditional_expr ($1, $4, $7); }
- | expr_no_commas '?'
- { if (pedantic)
-- pedwarn ("ANSI C forbids omitting the middle term of a ?: expression");
-+ pedwarn ("ISO C forbids omitting the middle term of a ?: expression");
- /* Make sure first operand is calculated only once. */
- $<ttype>2 = save_expr ($1);
- $1 = truthvalue_conversion (default_conversion ($<ttype>2));
-@@ -648,7 +648,7 @@ primary:
- | compstmt_primary_start compstmt_nostart ')'
- { tree rtl_exp;
- if (pedantic)
-- pedwarn ("ANSI C forbids braced-groups within expressions");
-+ pedwarn ("ISO C forbids braced-groups within expressions");
- pop_iterator_stack ();
- pop_label_level ();
- rtl_exp = expand_end_stmt_expr ($1);
-@@ -769,7 +769,7 @@ old_style_parm_decls:
- /* ... is used here to indicate a varargs function. */
- { c_mark_varargs ();
- if (pedantic)
-- pedwarn ("ANSI C does not permit use of `varargs.h'"); }
-+ pedwarn ("ISO C does not permit use of `varargs.h'"); }
- ;
-
- /* The following are analogous to lineno_decl, decls and decl
-@@ -1112,7 +1112,7 @@ init:
- initlist_maybe_comma:
- /* empty */
- { if (pedantic)
-- pedwarn ("ANSI C forbids empty initializer braces"); }
-+ pedwarn ("ISO C forbids empty initializer braces"); }
- | initlist1 maybecomma
- ;
-
-@@ -1164,7 +1164,7 @@ end ifc
- nested_function:
- declarator
- { if (pedantic)
-- pedwarn ("ANSI C forbids nested functions");
-+ pedwarn ("ISO C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, $1,
-@@ -1190,7 +1190,7 @@ nested_function:
- notype_nested_function:
- notype_declarator
- { if (pedantic)
-- pedwarn ("ANSI C forbids nested functions");
-+ pedwarn ("ISO C forbids nested functions");
-
- push_function_context ();
- if (! start_function (current_declspecs, $1,
-@@ -1442,7 +1442,7 @@ component_decl:
- structs or unions (which is [a] useful and [b] supports
- MS P-SDK). */
- if (pedantic)
-- pedwarn ("ANSI C doesn't support unnamed structs/unions");
-+ pedwarn ("ISO C doesn't support unnamed structs/unions");
-
- $$ = grokfield($3, $4, NULL, current_declspecs, NULL_TREE);
- current_declspecs = TREE_VALUE (declspec_stack);
-@@ -1456,7 +1456,7 @@ component_decl:
- declspec_stack = TREE_CHAIN (declspec_stack); }
- | nonempty_type_quals
- { if (pedantic)
-- pedwarn ("ANSI C forbids member declarations with no members");
-+ pedwarn ("ISO C forbids member declarations with no members");
- shadow_tag($1);
- $$ = NULL_TREE; }
- | error
-@@ -1570,7 +1570,7 @@ stmts:
- lineno_stmt_or_labels
- {
- if (pedantic && $1)
-- pedwarn ("ANSI C forbids label at end of compound statement");
-+ pedwarn ("ISO C forbids label at end of compound statement");
- }
- ;
-
-@@ -1608,7 +1608,7 @@ maybe_label_decls:
- /* empty */
- | label_decls
- { if (pedantic)
-- pedwarn ("ANSI C forbids label declarations"); }
-+ pedwarn ("ISO C forbids label declarations"); }
- ;
-
- label_decls:
-@@ -1919,7 +1919,7 @@ stmt:
- }
- | GOTO '*' expr ';'
- { if (pedantic)
-- pedwarn ("ANSI C forbids `goto *expr;'");
-+ pedwarn ("ISO C forbids `goto *expr;'");
- stmt_count++;
- emit_line_note ($<filename>-1, $<lineno>0);
- expand_computed_goto (convert (ptr_type_node, $3)); }
-@@ -2072,7 +2072,7 @@ parmlist_1:
- | parms ';'
- { tree parm;
- if (pedantic)
-- pedwarn ("ANSI C forbids forward parameter declarations");
-+ pedwarn ("ISO C forbids forward parameter declarations");
- /* Mark the forward decls as such. */
- for (parm = getdecls (); parm; parm = TREE_CHAIN (parm))
- TREE_ASM_WRITTEN (parm) = 1;
-@@ -2095,7 +2095,7 @@ parmlist_2: /* empty */
- it caused problems with the code in expand_builtin which
- tries to verify that BUILT_IN_NEXT_ARG is being used
- correctly. */
-- error ("ANSI C requires a named argument before `...'");
-+ error ("ISO C requires a named argument before `...'");
- }
- | parms
- { $$ = get_parm_info (1); }
---- gcc/c-typeck.c Mon Jul 31 23:18:12 2000
-+++ gcc/c-typeck.c Tue Aug 8 19:39:54 2000
-@@ -388,7 +388,7 @@ common_type (t1, t2)
- {
- TREE_VALUE (n) = TREE_VALUE (p2);
- if (pedantic)
-- pedwarn ("function types not truly compatible in ANSI C");
-+ pedwarn ("function types not truly compatible in ISO C");
- goto parm_done;
- }
- }
-@@ -402,7 +402,7 @@ common_type (t1, t2)
- {
- TREE_VALUE (n) = TREE_VALUE (p1);
- if (pedantic)
-- pedwarn ("function types not truly compatible in ANSI C");
-+ pedwarn ("function types not truly compatible in ISO C");
- goto parm_done;
- }
- }
-@@ -1318,9 +1318,9 @@ build_array_ref (array, index)
- if (pedantic && !lvalue_p (array))
- {
- if (DECL_REGISTER (array))
-- pedwarn ("ANSI C forbids subscripting `register' array");
-+ pedwarn ("ISO C forbids subscripting `register' array");
- else
-- pedwarn ("ANSI C forbids subscripting non-lvalue array");
-+ pedwarn ("ISO C89 forbids subscripting non-lvalue array");
- }
-
- if (pedantic)
-@@ -1329,7 +1329,7 @@ build_array_ref (array, index)
- while (TREE_CODE (foo) == COMPONENT_REF)
- foo = TREE_OPERAND (foo, 0);
- if (TREE_CODE (foo) == VAR_DECL && DECL_REGISTER (foo))
-- pedwarn ("ANSI C forbids subscripting non-lvalue array");
-+ pedwarn ("ISO C89 forbids subscripting non-lvalue array");
- }
-
- type = TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (array)));
-@@ -2198,13 +2198,13 @@ build_binary_op (code, orig_op0, orig_op
- whose value is 0 but which isn't a valid null ptr const. */
- if (pedantic && (!integer_zerop (op0) || op0 != orig_op0)
- && TREE_CODE (tt1) == FUNCTION_TYPE)
-- pedwarn ("ANSI C forbids comparison of `void *' with function pointer");
-+ pedwarn ("ISO C forbids comparison of `void *' with function pointer");
- }
- else if (VOID_TYPE_P (tt1))
- {
- if (pedantic && (!integer_zerop (op1) || op1 != orig_op1)
- && TREE_CODE (tt0) == FUNCTION_TYPE)
-- pedwarn ("ANSI C forbids comparison of `void *' with function pointer");
-+ pedwarn ("ISO C forbids comparison of `void *' with function pointer");
- }
- else
- pedwarn ("comparison of distinct pointer types lacks a cast");
-@@ -2244,7 +2244,7 @@ build_binary_op (code, orig_op0, orig_op
- result_type = common_type (type0, type1);
- if (pedantic
- && TREE_CODE (TREE_TYPE (type0)) == FUNCTION_TYPE)
-- pedwarn ("ANSI C forbids ordered comparisons of pointers to functions");
-+ pedwarn ("ISO C forbids ordered comparisons of pointers to functions");
- }
- else
- {
-@@ -2272,7 +2272,7 @@ build_binary_op (code, orig_op0, orig_op
- pedwarn ("comparison of complete and incomplete pointers");
- else if (pedantic
- && TREE_CODE (TREE_TYPE (type0)) == FUNCTION_TYPE)
-- pedwarn ("ANSI C forbids ordered comparisons of pointers to functions");
-+ pedwarn ("ISO C forbids ordered comparisons of pointers to functions");
- }
- else
- {
-@@ -3057,7 +3057,7 @@ build_unary_op (code, xarg, noconvert)
- case FIX_ROUND_EXPR:
- case FIX_CEIL_EXPR:
- if (pedantic)
-- pedwarn ("ANSI C forbids the address of a cast expression");
-+ pedwarn ("ISO C forbids the address of a cast expression");
- return convert (build_pointer_type (TREE_TYPE (arg)),
- build_unary_op (ADDR_EXPR, TREE_OPERAND (arg, 0),
- 0));
-@@ -3268,13 +3268,13 @@ pedantic_lvalue_warning (code)
- switch (code)
- {
- case COND_EXPR:
-- pedwarn ("ANSI C forbids use of conditional expressions as lvalues");
-+ pedwarn ("ISO C forbids use of conditional expressions as lvalues");
- break;
- case COMPOUND_EXPR:
-- pedwarn ("ANSI C forbids use of compound expressions as lvalues");
-+ pedwarn ("ISO C forbids use of compound expressions as lvalues");
- break;
- default:
-- pedwarn ("ANSI C forbids use of cast expressions as lvalues");
-+ pedwarn ("ISO C forbids use of cast expressions as lvalues");
- break;
- }
- }
-@@ -3490,7 +3490,7 @@ build_conditional_expr (ifexp, op1, op2)
- else if (code1 == VOID_TYPE || code2 == VOID_TYPE)
- {
- if (pedantic && (code1 != VOID_TYPE || code2 != VOID_TYPE))
-- pedwarn ("ANSI C forbids conditional expr with only one void side");
-+ pedwarn ("ISO C forbids conditional expr with only one void side");
- result_type = void_type_node;
- }
- else if (code1 == POINTER_TYPE && code2 == POINTER_TYPE)
-@@ -3506,13 +3506,13 @@ build_conditional_expr (ifexp, op1, op2)
- else if (VOID_TYPE_P (TREE_TYPE (type1)))
- {
- if (pedantic && TREE_CODE (TREE_TYPE (type2)) == FUNCTION_TYPE)
-- pedwarn ("ANSI C forbids conditional expr between `void *' and function pointer");
-+ pedwarn ("ISO C forbids conditional expr between `void *' and function pointer");
- result_type = qualify_type (type1, type2);
- }
- else if (VOID_TYPE_P (TREE_TYPE (type2)))
- {
- if (pedantic && TREE_CODE (TREE_TYPE (type1)) == FUNCTION_TYPE)
-- pedwarn ("ANSI C forbids conditional expr between `void *' and function pointer");
-+ pedwarn ("ISO C forbids conditional expr between `void *' and function pointer");
- result_type = qualify_type (type2, type1);
- }
- else
-@@ -3684,7 +3684,7 @@ build_c_cast (type, expr)
- {
- if (TREE_CODE (type) == RECORD_TYPE
- || TREE_CODE (type) == UNION_TYPE)
-- pedwarn ("ANSI C forbids casting nonscalar to the same type");
-+ pedwarn ("ISO C forbids casting nonscalar to the same type");
- }
- }
- else if (TREE_CODE (type) == UNION_TYPE)
-@@ -3705,7 +3705,7 @@ build_c_cast (type, expr)
- tree t;
-
- if (pedantic)
-- pedwarn ("ANSI C forbids casts to union type");
-+ pedwarn ("ISO C forbids casts to union type");
- if (TYPE_NAME (type) != 0)
- {
- if (TREE_CODE (TYPE_NAME (type)) == IDENTIFIER_NODE)
-@@ -4164,7 +4164,7 @@ convert_for_assignment (type, rhs, errty
- }
-
- if (pedantic && ! DECL_IN_SYSTEM_HEADER (fundecl))
-- pedwarn ("ANSI C prohibits argument conversion to union type");
-+ pedwarn ("ISO C prohibits argument conversion to union type");
-
- return build1 (NOP_EXPR, type, rhs);
- }
-@@ -4193,7 +4193,7 @@ convert_for_assignment (type, rhs, errty
- which are not ANSI null ptr constants. */
- && (!integer_zerop (rhs) || TREE_CODE (rhs) == NOP_EXPR)
- && TREE_CODE (ttl) == FUNCTION_TYPE)))
-- warn_for_assignment ("ANSI forbids %s between function pointer and `void *'",
-+ warn_for_assignment ("ISO C forbids %s between function pointer and `void *'",
- errtype, funname, parmnum);
- /* Const and volatile mean something different for function types,
- so the usual warnings are not appropriate. */
-@@ -5609,7 +5609,7 @@ set_init_index (first, last)
- else
- {
- if (pedantic)
-- pedwarn ("ANSI C forbids specifying element to initialize");
-+ pedwarn ("ISO C89 forbids specifying element to initialize");
-
- constructor_range_end = last ? convert (bitsizetype, last) : 0;
- }
-@@ -5649,7 +5649,7 @@ set_init_label (fieldname)
- {
- constructor_fields = tail;
- if (pedantic)
-- pedwarn ("ANSI C forbids specifying structure member to initialize");
-+ pedwarn ("ISO C89 forbids specifying structure member to initialize");
- }
- }
-
-@@ -6740,7 +6740,7 @@ c_expand_start_case (exp)
- && ! in_system_header
- && (type == long_integer_type_node
- || type == long_unsigned_type_node))
-- warning ("`long' switch expression not converted to `int' in ANSI C");
-+ warning ("`long' switch expression not converted to `int' in ISO C");
-
- exp = default_conversion (exp);
- type = TREE_TYPE (exp);
---- gcc/toplev.c Sun Aug 6 10:24:53 2000
-+++ gcc/toplev.c Tue Aug 8 19:41:03 2000
-@@ -1135,7 +1135,7 @@ documented_lang_options[] =
- used here is to only describe those options which are not
- enabled by default. */
-
-- { "-ansi", "Compile just for ANSI C" },
-+ { "-ansi", "Compile just for ISO C89" },
- { "-fallow-single-precision",
- "Do not promote floats to double if using -traditional" },
- { "-std= ", "Determine language standard"},
-@@ -1236,7 +1236,7 @@ documented_lang_options[] =
- { "-Wno-unknown-pragmas", "" },
- { "-Wstrict-prototypes", "Warn about non-prototyped function decls" },
- { "-Wno-strict-prototypes", "" },
-- { "-Wtraditional", "Warn about constructs whose meaning change in ANSI C"},
-+ { "-Wtraditional", "Warn about constructs whose meaning change in ISO C"},
- { "-Wno-traditional", "" },
- { "-Wtrigraphs", "Warn when trigraphs are encountered" },
- { "-Wno-trigraphs", "" },
-@@ -3741,7 +3741,7 @@ display_help ()
-
- printf (_(" -O[number] Set optimisation level to [number]\n"));
- printf (_(" -Os Optimise for space rather than speed\n"));
-- printf (_(" -pedantic Issue warnings needed by strict compliance to ANSI C\n"));
-+ printf (_(" -pedantic Issue warnings needed by strict compliance to ISO C\n"));
- printf (_(" -pedantic-errors Like -pedantic except that errors are produced\n"));
- printf (_(" -w Suppress warnings\n"));
- printf (_(" -W Enable extra warnings\n"));
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-bytecode.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-bytecode.patch
deleted file mode 100644
index 12bc9704c584..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-bytecode.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-2000-08-14 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * jcf-write.c (generate_bytecode_conditional): Re-installed lost
- Jan 6 2000 patch.
- (generate_bytecode_insns): Check `nargs' before emitting it.
- * verify.c (merge_type_state): Fixed typo.
- * ChangeLog: Fixed typo in some jcf-write.c entries mentioning
- generate_bytecode_{conditional,insns}.
-
---- gcc/java/jcf-write.c 2000/08/11 22:01:37 1.66
-+++ gcc/java/jcf-write.c 2000/08/15 21:59:53
-@@ -1254,7 +1254,7 @@ generate_bytecode_conditional (exp, true
- }
- if (integer_zerop (exp1) || integer_zerop (exp0))
- {
-- generate_bytecode_insns (integer_zerop (exp1) ? exp0 : exp0,
-+ generate_bytecode_insns (integer_zerop (exp0) ? exp1 : exp0,
- STACK_TARGET, state);
- op = op + (OPCODE_ifnull - OPCODE_if_acmpeq);
- negop = (op & 1) ? op - 1 : op + 1;
-@@ -2565,6 +2565,9 @@ generate_bytecode_insns (exp, target, st
- if (interface)
- {
- DECL_CONTEXT (f) = saved_context;
-+ if (nargs <= 0)
-+ fatal ("Illegal number of arguments to invokeinterface, nargs=%d",
-+ nargs);
- OP1 (nargs);
- OP1 (0);
- }
---- gcc/java/verify.c 2000/03/14 05:01:05 1.30
-+++ gcc/java/verify.c 2000/08/15 21:59:57
-@@ -212,7 +212,7 @@ int
- merge_type_state (label)
- tree label;
- {
-- int nlocals = DECL_MAX_LOCALS(current_function_decl);
-+ int nlocals = DECL_MAX_LOCALS (current_function_decl);
- int cur_length = stack_pointer + nlocals;
- tree vec = LABEL_TYPE_STATE (label);
- tree return_map;
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-catchup.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-catchup.patch
deleted file mode 100644
index 1df26df3edf7..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-catchup.patch
+++ /dev/null
@@ -1,1598 +0,0 @@
-2000-09-09 Geoffrey Keating <geoffk@cygnus.com>
-
- * typeck.c (build_java_array_type): Correct first parameter
- in ADJUST_FIELD_ALIGN invocation.
-
-2000-09-06 Tom Tromey <tromey@cygnus.com>
-
- * lang-specs.h: Also recognize `-femit-class-files'.
-
-2000-09-05 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * verify.c (merge_types): Load the types to merge if necessary.
-
-2000-09-02 Anthony Green <green@redhat.com>
-
- * jcf-io.c: Include zlib.h.
- (open_in_zip): Read compressed class file archives.
- * zipfile.h (ZipDirectory): Add uncompressed_size and
- compression_method fields.
- * zextract.c (read_zip_archive): Collect file compression info.
-
-2000-08-11 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * parse.y (do_merge_string_cste): New locals. Create new
- STRING_CSTs each time, use memcpy. Fixes gcj/311.
-
-2000-08-07 Hans Boehm <boehm@acm.org>
-
- * boehm.c (mark_reference_fields): Set marking bits for all words in
- a multiple-word record.
- (get_boehm_type_descriptor): Use the procedure marking descriptor for
- java.lang.Class.
-
-2000-08-29 Zack Weinberg <zack@wolery.cumb.org>
-
- * jcf-parse.c (set_source_filename): Constify a char *.
- * jcf-write.c (append_innerclasses_attribute,
- make_class_file_name): Constify a char *. Don't recycle a
- variable for an unrelated purpose.
- * parse.y: (build_alias_initializer_parameter_list): Constify a char *.
- (breakdown_qualified): Do not modify IDENTIFIER_POINTER strings.
-
-2000-08-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * expr.c (can_widen_reference_to): Fixed indentation.
- * java-tree.h (CLASS_METHOD_CHECKED_P): Added leading comment.
- * parse.y: `finit$' replaces `$finit$' in comments.
- (try_builtin_assignconv): Fixed leading comment.
-
-2000-08-22 Andrew Haley <aph@cygnus.com>
-
- * javaop.h (WORD_TO_INT): Mask lower 32 bits of a jword before
- sign extending. Fixes gcj/321.
- * jcf-parse.c (get_constant): Mask lower 32 bits of a jint before
- combining to make a jlong. Fixes gcj/321.
-
-2000-08-21 Nix <nix@esperi.demon.co.uk>
-
- * lang-specs.h: Do not process -o or run the assembler if
- -fsyntax-only.
-
-2000-08-16 Andrew Haley <aph@cygnus.com>
-
- * typeck.c (build_java_array_type): Rewrite code to do array
- alignment. Take into account back-end macros when aligning array
- data. Remove setting of TYPE_USER_ALIGN; Java doesn't allow the
- user to set alignment. Fixes gcj/252 and 160.
-
-2000-08-09 Tom Tromey <tromey@cygnus.com>
-
- * parse.y (check_abstract_method_definitions): Now return `int'.
- Check implemented interfaces. Fixes PR gcj/305.
-
- * parse.y (patch_switch_statement): Disallow `long' in switch
- expressions. Fixes PR gcj/310.
-
-2000-08-15 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * decl.c (finit_leg_identifier_node): New global.
- (init_decl_processing): Use `finit$' to initialize
- finit_identifier_node. Use `$finit$' to initialize
- finit_leg_identifier_node.
- * expr.c (expand_java_field_op): Use ID_FINIT_P.
- * java-tree.h (finit_identifier_node): Changed attached comment.
- (finit_leg_identifier_node): New declaration.
- (ID_FINIT_P): Take finit_identifier_node and
- finit_leg_identifier_node into account. This is a backward
- compatibility hack.
-
-2000-08-08 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * java-tree.h (flag_extraneous_semicolon): New extern.
- * lang-options.h: (-Wextraneous-semicolon): New option.
- * lang.c (flag_redundant): Fixed typo in leading comment.
- (flag_extraneous_semicolon): New global.
- (lang_decode_option): Set `flag_extraneous_semicolon' when
- -Wall. Decode `-Wextraneous-semicolon'.
- * parse.y (type_declaration:): Removed `SC_TK' hack, added
- `empty_statement' rule.
- (class_body_declaration): Likewise.
- (method_body:): Accept `;' as a method body.
- (static_initializer:): Removed `SC_TK' hack.
- (constructor_block_end:): Likewise.
- (empty_statement:): Report deprecated empty declaration. Fixes
- gcj/295
-
-2000-08-07 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * parse.y (build_dot_class_method_invocation): Changed parameter
- name to `type.' Build signature from `type' and convert it to a
- STRING_CST if it's an array.
- (patch_incomplete_class_ref): `build_dot_class_method_invocation'
- to use `ref_type' directly.
-
-Sun Aug 6 00:47:24 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
-
- * lang-options.h: Added a comma after the last element to avoid
- syntax errors when other languages define additional options.
-
-2000-08-02 Zack Weinberg <zack@wolery.cumb.org>
-
- * class.c (build_dtable_decl): Initialize dummy.
-
-2000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * parse.y (maybe_yank_clinit): When generating bytecode: non empty
- method bodies not to rule out discarding `<clinit>'; don't use
- <clinit> to initialize static fields with constant initializers.
-
-2000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * gjavah.c (print_method_info): Added `synth' parameter. Skip
- synthetic methods.
- (method_synthetic): New global.
- (HANDLE_METHOD): Recognize synthetic method and tell
- `print_method_info' about it.
- (HANDLE_END_METHOD): Do not issue an additional `;\n' if we're
- processing a synthetic method.
- * jcf-reader.c (skip_attribute): New function.
- ( skip_attribute): Likewise.
-
-2000-08-01 Alexandre Petit-Bianco <apbianco@cygnus.com>
- * parse.y (build_outer_field_access): Fixed comments.
- (fix_constructors): Emit the initialization of this$<n> before
- calling $finit$.
- (resolve_qualified_expression_name): Build an access to `decl' if
- necessary.
-
-2000-07-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * parse-scan.y (curent_class): Non longer const.
- (inner_qualifier, inner_qualifier_length): Deleted.
- (current_class_length): New global.
- (bracket_count): Fixed typo in leading comment.
- (anonymous_count): New global.
- (class_instance_creation_expression:): Handle anonymous classes.
- (anonymous_class_creation:): New rule.
- (push_class_context): Rewritten.
- (pop_class_context): Likewise.
- (INNER_QUALIFIER): Macro deleted.
- (report_class_declaration): call `push_class_context' when
- entering the function. `fprintf' format modified not to use
- INNER_QUALIFIER.
- (report_class_declaration): Assign `package_name' and
- `current_class' to NULL separatly.
-
-2000-07-31 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * expr.c (build_invokeinterface): Call layout_class_methods on
- target interface.
-
-
---- gcc/java/boehm.c 2000/09/10 04:41:33 1.1.1.1
-+++ gcc/java/boehm.c 2000/09/10 13:56:44
-@@ -95,17 +95,21 @@
- for (; field != NULL_TREE; field = TREE_CHAIN (field))
- {
- HOST_WIDE_INT offset;
-+ HOST_WIDE_INT size_bytes;
-
- if (FIELD_STATIC (field))
- continue;
-
- offset = int_byte_position (field);
-+ size_bytes = int_size_in_bytes (TREE_TYPE (field));
- if (JREFERENCE_TYPE_P (TREE_TYPE (field))
- /* An `object' of type gnu.gcj.RawData is actually non-Java
- data. */
- && TREE_TYPE (field) != rawdata_ptr_type_node)
- {
- unsigned int count;
-+ unsigned int size_words;
-+ unsigned int i;
-
- /* If this reference slot appears to overlay a slot we think
- we already covered, then we are doomed. */
-@@ -113,11 +117,19 @@
- abort ();
-
- count = offset * BITS_PER_UNIT / POINTER_SIZE;
-+ size_words = size_bytes * BITS_PER_UNIT / POINTER_SIZE;
-
- *last_set_index = count;
-- /* First word in object corresponds to most significant byte
-- of bitmap. */
-- set_bit (low, high, ubit - count - 1);
-+
-+ /* First word in object corresponds to most significant byte of
-+ bitmap.
-+
-+ In the case of a multiple-word record, we set pointer
-+ bits for all words in the record. This is conservative, but the
-+ size_words != 1 case is impossible in regular java code. */
-+ for (i = 0; i < size_words; ++i)
-+ set_bit (low, high, ubit - count - i - 1);
-+
- if (count > ubit - 2)
- *pointer_after_end = 1;
-
-@@ -172,6 +184,9 @@
-
- /* Warning avoidance. */
- ubit = (unsigned int) bit;
-+
-+ if (type == class_type_node)
-+ return PROCEDURE_OBJECT_DESCRIPTOR;
-
- field = TYPE_FIELDS (type);
- mark_reference_fields (field, &low, &high, ubit,
---- gcc/java/class.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/class.c 2000/09/10 13:56:44
-@@ -1698,7 +1698,7 @@
- TYPE. */
- if (current_class == type)
- {
-- tree dummy, aomt, n;
-+ tree dummy = NULL_TREE, aomt, n;
-
- dtype = make_node (RECORD_TYPE);
- PUSH_FIELD (dtype, dummy, "class", class_ptr_type);
---- gcc/java/decl.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/decl.c 2000/09/10 13:56:44
-@@ -360,6 +360,7 @@
- tree init_identifier_node;
- tree clinit_identifier_node;
- tree finit_identifier_node;
-+tree finit_leg_identifier_node;
- tree void_signature_node;
- tree length_identifier_node;
- tree this_identifier_node;
-@@ -646,7 +647,12 @@
- TYPE_identifier_node = get_identifier ("TYPE");
- init_identifier_node = get_identifier ("<init>");
- clinit_identifier_node = get_identifier ("<clinit>");
-- finit_identifier_node = get_identifier ("$finit$");
-+ /* Legacy `$finit$' special method identifier. This needs to be
-+ recognized as equivalent to `finit$' but isn't generated anymore. */
-+ finit_leg_identifier_node = get_identifier ("$finit$");
-+ /* The new `finit$' special method identifier. This one is now
-+ generated in place of `$finit$'. */
-+ finit_identifier_node = get_identifier ("finit$");
- void_signature_node = get_identifier ("()V");
- length_identifier_node = get_identifier ("length");
- this_identifier_node = get_identifier ("this");
---- gcc/java/expr.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/expr.c 2000/09/10 13:56:44
-@@ -406,8 +406,8 @@
- (TREE_TYPE (TREE_VEC_ELT (basetype_vec, i)),
- target_type))
- return 1;
-- if (n == 0)
-- return 0;
-+ if (n == 0)
-+ return 0;
- }
-
- for ( ; source_depth > target_depth; source_depth--)
-@@ -1783,6 +1783,7 @@
- lookup_field (&dtable_type, class_ident));
-
- interface = DECL_CONTEXT (method);
-+ layout_class_methods (interface);
-
- i = 1;
- for (meth = TYPE_METHODS (interface); ; meth = TREE_CHAIN (meth), i++)
-@@ -2209,7 +2210,7 @@
- {
- tree cfndecl_name = DECL_NAME (current_function_decl);
- if (! DECL_CONSTRUCTOR_P (current_function_decl)
-- && (cfndecl_name != finit_identifier_node))
-+ && !ID_FINIT_P (cfndecl_name))
- error_with_decl (field_decl, "assignment to final field `%s' not in constructor");
- }
- }
---- gcc/java/gjavah.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/gjavah.c 2000/09/10 14:44:10
-@@ -116,7 +116,7 @@
- static void print_field_info PARAMS ((FILE*, JCF*, int, int, JCF_u2));
- static void print_mangled_classname PARAMS ((FILE*, JCF*, const char*, int));
- static int print_cxx_classname PARAMS ((FILE*, const char*, JCF*, int));
--static void print_method_info PARAMS ((FILE*, JCF*, int, int, JCF_u2));
-+static void print_method_info PARAMS ((FILE*, JCF*, int, int, JCF_u2, int));
- static void print_c_decl PARAMS ((FILE*, JCF*, int, int, int, const char *,
- int));
- static void print_stub_or_jni PARAMS ((FILE*, JCF*, int, int, int,
-@@ -182,26 +182,45 @@
- static int method_declared = 0;
- static int method_access = 0;
- static int method_printed = 0;
--#define HANDLE_METHOD(ACCESS_FLAGS, NAME, SIGNATURE, ATTRIBUTE_COUNT) \
-- if (method_pass) \
-- { \
-- decompiled = 0; method_printed = 0; \
-- if (out) \
-- print_method_info (out, jcf, NAME, SIGNATURE, ACCESS_FLAGS); \
-- } \
-- else \
-- { \
-- print_method_info (NULL, jcf, NAME, SIGNATURE, ACCESS_FLAGS); \
-- if (! stubs && ! flag_jni) \
-- add_class_decl (out, jcf, SIGNATURE); \
-- }
-+static int method_synthetic = 0;
-+#define HANDLE_METHOD(ACCESS_FLAGS, NAME, SIGNATURE, ATTRIBUTE_COUNT) \
-+ { \
-+ method_synthetic = 0; \
-+ if (ATTRIBUTE_COUNT) \
-+ method_synthetic = peek_attribute (jcf, ATTRIBUTE_COUNT, \
-+ (const char *)"Synthetic", 9); \
-+ /* If a synthetic methods have been declared, its attribute aren't \
-+ worth reading (and triggering side-effects). We skip them an \
-+ set ATTRIBUTE_COUNT to zero so that they'll be skipped in \
-+ jcf_parse_one_method. */ \
-+ if (method_synthetic) \
-+ { \
-+ skip_attribute (jcf, ATTRIBUTE_COUNT); \
-+ ATTRIBUTE_COUNT = 0; \
-+ } \
-+ if (method_pass && !method_synthetic) \
-+ { \
-+ decompiled = 0; method_printed = 0; \
-+ if (out) \
-+ print_method_info (out, jcf, NAME, SIGNATURE, \
-+ ACCESS_FLAGS, method_synthetic); \
-+ } \
-+ else if (!method_synthetic) \
-+ { \
-+ print_method_info (NULL, jcf, NAME, SIGNATURE, \
-+ ACCESS_FLAGS, method_synthetic); \
-+ if (! stubs && ! flag_jni) \
-+ add_class_decl (out, jcf, SIGNATURE); \
-+ } \
-+ }
-
--#define HANDLE_CODE_ATTRIBUTE(MAX_STACK, MAX_LOCALS, CODE_LENGTH) \
-+#define HANDLE_CODE_ATTRIBUTE(MAX_STACK, MAX_LOCALS, CODE_LENGTH) \
- if (out && method_declared) decompile_method (out, jcf, CODE_LENGTH);
-
- static int decompiled = 0;
--#define HANDLE_END_METHOD() \
-- if (out && method_printed) fputs (decompiled || stubs ? "\n" : ";\n", out);
-+#define HANDLE_END_METHOD() \
-+ if (out && method_printed && !method_synthetic) \
-+ fputs (decompiled || stubs ? "\n" : ";\n", out);
-
- #include "jcf-reader.c"
-
-@@ -670,9 +689,9 @@
-
-
- static void
--DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags),
-+DEFUN(print_method_info, (stream, jcf, name_index, sig_index, flags, synth),
- FILE *stream AND JCF* jcf
-- AND int name_index AND int sig_index AND JCF_u2 flags)
-+ AND int name_index AND int sig_index AND JCF_u2 flags AND int synth)
- {
- const unsigned char *str;
- int length, is_init = 0;
-@@ -684,10 +703,15 @@
- fprintf (stream, "<not a UTF8 constant>");
- str = JPOOL_UTF_DATA (jcf, name_index);
- length = JPOOL_UTF_LENGTH (jcf, name_index);
-- if (str[0] == '<' || str[0] == '$')
-+
-+ /* Ignore synthetic methods. */
-+ if (synth)
-+ return;
-+
-+ if (str[0] == '<')
- {
-- /* Ignore internally generated methods like <clinit> and
-- $finit$. However, treat <init> as a constructor. */
-+ /* Ignore the internally generated method <clinit>. However,
-+ treat <init> as a constructor. */
- if (! utf8_cmp (str, length, "<init>"))
- is_init = 1;
- else if (! METHOD_IS_FINAL (jcf->access_flags, flags)
---- gcc/java/javaop.h 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/javaop.h 2000/09/10 13:56:44
-@@ -1,6 +1,6 @@
- /* Utility macros to handle Java(TM) byte codes.
-
-- Copyright (C) 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
-+ Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -33,7 +33,7 @@
- typedef unsigned int16 uint16;
-
- #ifndef int32
--#define int32 int
-+#define int32 long
- #endif
- typedef unsigned int32 uint32;
-
-@@ -62,7 +62,7 @@
- #define jfloat float
- #endif
-
--/* A 64-bit IEEE double-precision float. */
-+/* A 32-bit IEEE double-precision float. */
- #ifndef jdouble
- #define jdouble double
- #endif
-@@ -79,11 +79,7 @@
-
-
- #ifndef jword
--#if !defined(__alpha__) && (!defined (_ARCH_PPC) || !defined (__64BIT__)) && (!defined(__sparc__) || (!defined(__sparcv9) && !defined(__arch64__))) && (!defined(__ia64__) || !defined(__LP64__))
- #define jword uint32
--#else
--#define jword uint64
--#endif
- #endif
-
- #ifndef IMMEDIATE_u1
-@@ -113,13 +109,16 @@
- return wu.f;
- }
-
--/* Sign extend w. */
-+/* Sign extend w. If the host on which this cross-compiler runs uses
-+ a 64-bit type for jword the appropriate sign extension is
-+ performed; if it's a 32-bit type the arithmetic does nothing but is
-+ harmless. */
- static inline jint
- WORD_TO_INT(jword w)
- {
-- jint n = w;
-+ jint n = w & 0xffffffff; /* Mask lower 32 bits. */
- n ^= (jint)1 << 31;
-- n -= (jint)1 << 31;
-+ n -= (jint)1 << 31; /* Sign extend lower 32 bits to upper. */
- return n;
- }
-
---- gcc/java/java-tree.h 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/java-tree.h 2000/09/10 13:56:44
-@@ -141,6 +141,10 @@
-
- extern int flag_jni;
-
-+/* When non zero, report the now deprecated empty statements. */
-+
-+extern int flag_extraneous_semicolon;
-+
- /* When non zero, we emit xref strings. Values of the flag for xref
- backends are defined in xref.h. */
-
-@@ -253,7 +257,8 @@
- extern tree TYPE_identifier_node; /* "TYPE" */
- extern tree init_identifier_node; /* "<init>" */
- extern tree clinit_identifier_node; /* "<clinit>" */
--extern tree finit_identifier_node; /* "$finit$" */
-+extern tree finit_identifier_node; /* "finit$" */
-+extern tree finit_leg_identifier_node; /* "$finit$" */
- extern tree void_signature_node; /* "()V" */
- extern tree length_identifier_node; /* "length" */
- extern tree this_identifier_node; /* "this" */
-@@ -821,7 +826,12 @@
- /* Predicates on method identifiers. Kept close to other macros using
- them */
- #define ID_INIT_P(ID) ((ID) == init_identifier_node)
--#define ID_FINIT_P(ID) ((ID) == finit_identifier_node)
-+/* Match ID to either `$finit$' or `finit$', so that `$finit$'
-+ continues to be recognized as an equivalent to `finit$' which is
-+ now the prefered name used for the field initialization special
-+ method. */
-+#define ID_FINIT_P(ID) ((ID) == finit_identifier_node \
-+ || (ID) == finit_leg_identifier_node)
- #define ID_CLINIT_P(ID) ((ID) == clinit_identifier_node)
-
- /* Access flags etc for a variable/field (a FIELD_DECL): */
-@@ -1001,6 +1011,8 @@
- initialization during its declaration */
- #define MODIFY_EXPR_FROM_INITIALIZATION_P(EXPR) TREE_LANG_FLAG_2 (EXPR)
-
-+/* True if EXPR (a TREE_TYPE denoting a class type) has its methods
-+ already checked (for redifitions, etc, see java_check_regular_methods.) */
- #define CLASS_METHOD_CHECKED_P(EXPR) TREE_LANG_FLAG_2 (EXPR)
-
- /* True if EXPR (a WFL in that case) resolves into an expression name */
---- gcc/java/jcf-io.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/jcf-io.c 2000/09/10 13:56:44
-@@ -30,6 +30,8 @@
- #include "toplev.h"
- #include "java-tree.h"
-
-+#include "zlib.h"
-+
- /* DOS brain-damage */
- #ifndef O_BINARY
- #define O_BINARY 0 /* MS-DOS brain-damage */
-@@ -149,6 +151,7 @@
- ZipDirectory *zipd;
- int i, len;
- ZipFile *zipf = opendir_in_zip (zipfile, is_system);
-+ z_stream d_stream; /* decompression stream */
-
- if (zipf == NULL)
- return -2;
-@@ -156,6 +159,10 @@
- if (!zipmember)
- return 0;
-
-+ d_stream.zalloc = (alloc_func) 0;
-+ d_stream.zfree = (free_func) 0;
-+ d_stream.opaque = (voidpf) 0;
-+
- len = strlen (zipmember);
-
- zipd = (struct ZipDirectory*) zipf->central_directory;
-@@ -165,17 +172,45 @@
- strncmp (ZIPDIR_FILENAME (zipd), zipmember, len) == 0)
- {
- JCF_ZERO (jcf);
-- jcf->buffer = ALLOC (zipd->size);
-- jcf->buffer_end = jcf->buffer + zipd->size;
-- jcf->read_ptr = jcf->buffer;
-- jcf->read_end = jcf->buffer_end;
-+
- jcf->filbuf = jcf_unexpected_eof;
- jcf->filename = xstrdup (zipfile);
- jcf->classname = xstrdup (zipmember);
- jcf->zipd = (void *)zipd;
-- if (lseek (zipf->fd, zipd->filestart, 0) < 0
-- || read (zipf->fd, jcf->buffer, zipd->size) != zipd->size)
-- return -2;
-+
-+ if (zipd->compression_method == Z_NO_COMPRESSION)
-+ {
-+ jcf->buffer = ALLOC (zipd->size);
-+ jcf->buffer_end = jcf->buffer + zipd->size;
-+ jcf->read_ptr = jcf->buffer;
-+ jcf->read_end = jcf->buffer_end;
-+ if (lseek (zipf->fd, zipd->filestart, 0) < 0
-+ || read (zipf->fd, jcf->buffer, zipd->size) != zipd->size)
-+ return -2;
-+ }
-+ else
-+ {
-+ char *buffer;
-+ jcf->buffer = ALLOC (zipd->uncompressed_size);
-+ d_stream.next_out = jcf->buffer;
-+ d_stream.avail_out = zipd->uncompressed_size;
-+ jcf->buffer_end = jcf->buffer + zipd->uncompressed_size;
-+ jcf->read_ptr = jcf->buffer;
-+ jcf->read_end = jcf->buffer_end;
-+ buffer = ALLOC (zipd->size);
-+ d_stream.next_in = buffer;
-+ d_stream.avail_in = zipd->size;
-+ if (lseek (zipf->fd, zipd->filestart, 0) < 0
-+ || read (zipf->fd, buffer, zipd->size) != zipd->size)
-+ return -2;
-+ /* Handle NO_HEADER using undocumented zlib feature.
-+ This is a very common hack. */
-+ inflateInit2 (&d_stream, -MAX_WBITS);
-+ inflate (&d_stream, Z_NO_FLUSH);
-+ inflateEnd (&d_stream);
-+ FREE (buffer);
-+ }
-+
- return 0;
- }
- }
---- gcc/java/jcf-parse.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/jcf-parse.c 2000/09/10 13:56:44
-@@ -99,7 +99,7 @@
- int index;
- {
- tree sfname_id = get_name_constant (jcf, index);
-- char *sfname = IDENTIFIER_POINTER (sfname_id);
-+ const char *sfname = IDENTIFIER_POINTER (sfname_id);
- if (input_filename != NULL)
- {
- int old_len = strlen (input_filename);
-@@ -270,8 +270,8 @@
- jint num = JPOOL_INT (jcf, index);
- HOST_WIDE_INT lo, hi;
- lshift_double (num, 0, 32, 64, &lo, &hi, 0);
-- num = JPOOL_INT (jcf, index+1);
-- add_double (lo, hi, (uint32)num, 0, &lo, &hi);
-+ num = JPOOL_INT (jcf, index+1) & 0xffffffff;
-+ add_double (lo, hi, num, 0, &lo, &hi);
- value = build_int_2 (lo, hi);
- TREE_TYPE (value) = long_type_node;
- force_fit_type (value, 0);
---- gcc/java/jcf-reader.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/jcf-reader.c 2000/09/10 13:56:44
-@@ -27,6 +27,8 @@
- #include "zipfile.h"
-
- static int get_attribute PARAMS ((JCF *));
-+static int peek_attribute PARAMS ((JCF *, int, const char *, int));
-+static void skip_attribute PARAMS ((JCF *, int));
- static int jcf_parse_preamble PARAMS ((JCF *));
- static int jcf_parse_constant_pool PARAMS ((JCF *));
- static void jcf_parse_class PARAMS ((JCF *));
-@@ -34,6 +36,64 @@
- static int jcf_parse_one_method PARAMS ((JCF *));
- static int jcf_parse_methods PARAMS ((JCF *));
- static int jcf_parse_final_attributes PARAMS ((JCF *));
-+
-+/* Go through all available attribute (ATTRIBUTE_NUMER) and try to
-+ identify PEEKED_NAME. Return 1 if PEEKED_NAME was found, 0
-+ otherwise. JCF is restored to its initial position before
-+ returning. */
-+
-+static int
-+peek_attribute (jcf, attribute_number, peeked_name, peeked_name_length)
-+ JCF *jcf;
-+ int attribute_number;
-+ const char *peeked_name;
-+ int peeked_name_length;
-+{
-+ int to_return = 0;
-+ long absolute_offset = (long)JCF_TELL (jcf);
-+ int i;
-+
-+ for (i = 0; !to_return && i < attribute_number; i++)
-+ {
-+ uint16 attribute_name = (JCF_FILL (jcf, 6), JCF_readu2 (jcf));
-+ uint32 attribute_length = JCF_readu4 (jcf);
-+ int name_length;
-+ const unsigned char *name_data;
-+
-+ JCF_FILL (jcf, (long) attribute_length);
-+ if (attribute_name <= 0 || attribute_name >= JPOOL_SIZE(jcf)
-+ || JPOOL_TAG (jcf, attribute_name) != CONSTANT_Utf8)
-+ continue;
-+
-+ name_length = JPOOL_UTF_LENGTH (jcf, attribute_name);
-+ name_data = JPOOL_UTF_DATA (jcf, attribute_name);
-+
-+ if (name_length == peeked_name_length
-+ && ! memcmp (name_data, peeked_name, peeked_name_length))
-+ {
-+ to_return = 1;
-+ break;
-+ }
-+
-+ JCF_SKIP (jcf, attribute_length);
-+ }
-+
-+ JCF_SEEK (jcf, absolute_offset);
-+ return to_return;
-+}
-+
-+static void
-+skip_attribute (jcf, number_of_attribute)
-+ JCF *jcf;
-+ int number_of_attribute;
-+{
-+ while (number_of_attribute--)
-+ {
-+ JCF_FILL (jcf, 6);
-+ (void) JCF_readu2 (jcf);
-+ JCF_SKIP (jcf, JCF_readu4 (jcf));
-+ }
-+}
-
- static int
- DEFUN(get_attribute, (jcf),
---- gcc/java/jcf-write.c 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/jcf-write.c 2000/09/10 13:56:44
-@@ -3161,7 +3161,7 @@
- process: itself, up and down. */
- while (class && INNER_CLASS_TYPE_P (class))
- {
-- char *n;
-+ const char *n;
-
- decl = TYPE_NAME (class);
- n = IDENTIFIER_POINTER (DECL_NAME (decl)) +
-@@ -3218,8 +3218,8 @@
- make_class_file_name (clas)
- tree clas;
- {
-- const char *dname, *slash;
-- char *cname, *r;
-+ const char *dname, *cname, *slash;
-+ char *r;
- struct stat sb;
-
- cname = IDENTIFIER_POINTER (identifier_subst (DECL_NAME (TYPE_NAME (clas)),
-@@ -3261,10 +3261,10 @@
- dname = r + (slash - dname) + 1;
- while (1)
- {
-- cname = strchr (dname, DIR_SEPARATOR);
-- if (cname == NULL)
-+ char *s = strchr (dname, DIR_SEPARATOR);
-+ if (s == NULL)
- break;
-- *cname = '\0';
-+ *s = '\0';
- if (stat (r, &sb) == -1)
- {
- /* Try to make it. */
-@@ -3275,9 +3275,9 @@
- return NULL;
- }
- }
-- *cname = DIR_SEPARATOR;
-+ *s = DIR_SEPARATOR;
- /* Skip consecutive separators. */
-- for (dname = cname + 1; *dname && *dname == DIR_SEPARATOR; ++dname)
-+ for (dname = s + 1; *dname && *dname == DIR_SEPARATOR; ++dname)
- ;
- }
-
---- gcc/java/jvspec.c 2000/09/10 04:41:32 1.1.1.1
-+++ gcc/java/jvspec.c 2000/09/10 15:02:09
-@@ -181,7 +181,7 @@
- int argc;
-
- /* The argument list. */
-- char **argv;
-+ char *const *argv;
-
- /* The number of libraries added in. */
- int added_libraries;
-@@ -392,6 +392,7 @@
- if (saw_g + saw_O == 0)
- num_args++;
- num_args++;
-+
- arglist = (const char **)
- (real_arglist = (char **) xmalloc ((num_args + 1) * sizeof (char *)));
-
---- gcc/java/lang.c 2000/09/10 04:41:32 1.1.1.1
-+++ gcc/java/lang.c 2000/09/10 14:44:45
-@@ -98,7 +98,7 @@
- /* When non zero, -Wall was turned on. */
- int flag_wall = 0;
-
--/* When non zero, check for redundant modifier uses. */
-+/* When non zero, check for redundant modifier uses. */
- int flag_redundant = 0;
-
- /* When non zero, warns about overridings that don't occur. */
-@@ -121,6 +121,9 @@
- JNI, not CNI. */
- int flag_jni = 0;
-
-+/* When non zero, report the now deprecated empty statements. */
-+int flag_extraneous_semicolon;
-+
- /* From gcc/flags.h, and indicates if exceptions are turned on or not. */
-
- extern int flag_new_exceptions;
-@@ -256,6 +259,7 @@
- {
- flag_wall = 1;
- flag_redundant = 1;
-+ flag_extraneous_semicolon = 1;
- /* When -Wall given, enable -Wunused. We do this because the C
- compiler does it, and people expect it. */
- set_Wunused (1);
-@@ -271,6 +275,12 @@
- if (strcmp (p, "-Wredundant-modifiers") == 0)
- {
- flag_redundant = 1;
-+ return 1;
-+ }
-+
-+ if (strcmp (p, "-Wextraneous-semicolon") == 0)
-+ {
-+ flag_extraneous_semicolon = 1;
- return 1;
- }
-
---- gcc/java/lang-options.h 2000/09/10 04:41:32 1.1.1.1
-+++ gcc/java/lang-options.h 2000/09/10 13:56:44
-@@ -50,4 +50,5 @@
- { "-fno-use-divide-subroutine", "Use built-in instructions for division" },
- { "-Wredundant-modifiers",
- "Warn if modifiers are specified when not necessary"},
-- { "-Wunsupported-jdk11", "Warn if `final' local variables are specified"}
-+ { "-Wunsupported-jdk11", "Warn if `final' local variables are specified"},
-+ { "-Wextraneous-semicolon", "Warn if deprecated empty statements are found"},
---- gcc/java/lang-specs.h 2000/09/10 04:41:32 1.1.1.1
-+++ gcc/java/lang-specs.h 2000/09/10 13:56:44
-@@ -30,7 +30,8 @@
- {".zip", "@java" },
- {".jar", "@java" },
- {"@java",
-- "%{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
-+ "%{fjni:%{femit-class-files:%e-fjni and -femit-class-files are incompatible}}\
-+ %{fjni:%{femit-class-file:%e-fjni and -femit-class-file are incompatible}}\
- %{!E:jc1 %i %(jc1) %(cc1_options) %{+e*} %{I*} %{MD} %{MMD} %{M} %{MM}\
-- %{!S:-o %{|!pipe:%g.s} |\n\
-- as %(asm_options) %{!pipe:%g.s} %A }}"},
-+ %{!fsyntax-only:%{!S:-o %{|!pipe:%g.s} |\n\
-+ as %(asm_options) %{!pipe:%g.s} %A }}}"},
---- gcc/java/Makefile.in 2000/09/10 04:41:30 1.1.1.1
-+++ gcc/java/Makefile.in 2000/09/10 14:48:00
-@@ -148,9 +148,12 @@
- # This is where we get libiberty.a from.
- LIBIBERTY = ../../libiberty/libiberty.a
-
-+# As a special hack for this RPM, always use the system zlib.
-+ZLIB = -lz
-+
- # How to link with both our special library facilities
- # and the system's installed libraries.
--LIBS = $(INTLLIBS) $(LIBIBERTY) $(CLIB)
-+LIBS = $(ZLIB) $(INTLLIBS) $(LIBIBERTY) $(CLIB)
- LIBDEPS = $(INTLLIBS) $(LIBIBERTY) ../errors.o
-
- # Specify the directories to be searched for header files.
---- gcc/java/parse-scan.y 2000/09/10 04:41:32 1.1.1.1
-+++ gcc/java/parse-scan.y 2000/09/10 13:56:44
-@@ -63,12 +63,11 @@
- #define USE_ABSORBER absorber = 0
-
- /* Keep track of the current class name and package name. */
--static const char *current_class;
-+static char *current_class;
- static const char *package_name;
-
- /* Keep track of the current inner class qualifier. */
--static char *inner_qualifier;
--static int inner_qualifier_length;
-+static int current_class_length;
-
- /* Keep track of whether things have be listed before. */
- static int previous_output;
-@@ -76,10 +75,13 @@
- /* Record modifier uses */
- static int modifier_value;
-
--/* Keep track of number of bracket pairs after a variable declarator
-+/* Keeps track of number of bracket pairs after a variable declarator
- id. */
- static int bracket_count;
-
-+/* Numbers anonymous classes */
-+static int anonymous_count;
-+
- /* Record a method declaration */
- struct method_declarator {
- const char *method_name;
-@@ -897,20 +899,22 @@
- class_instance_creation_expression:
- NEW_TK class_type OP_TK argument_list CP_TK
- | NEW_TK class_type OP_TK CP_TK
-- /* Added, JDK1.1 inner classes but modified to use
-- 'class_type' instead of 'TypeName' (type_name) mentionned
-- in the documentation but doesn't exist. */
--| NEW_TK class_type OP_TK argument_list CP_TK class_body
--| NEW_TK class_type OP_TK CP_TK class_body
-- /* Added, JDK1.1 inner classes, modified to use name or
-- primary instead of primary solely which couldn't work in
-- all situations. */
-+| anonymous_class_creation
- | something_dot_new identifier OP_TK CP_TK
- | something_dot_new identifier OP_TK CP_TK class_body
- | something_dot_new identifier OP_TK argument_list CP_TK
- | something_dot_new identifier OP_TK argument_list CP_TK class_body
- ;
-
-+anonymous_class_creation:
-+ NEW_TK class_type OP_TK CP_TK
-+ { report_class_declaration (NULL); }
-+ class_body
-+| NEW_TK class_type OP_TK argument_list CP_TK
-+ { report_class_declaration (NULL); }
-+ class_body
-+;
-+
- something_dot_new: /* Added, not part of the specs. */
- name DOT_TK NEW_TK
- { USE_ABSORBER; }
-@@ -1128,29 +1132,61 @@
- push_class_context (name)
- const char *name;
- {
-- size_t name_length = strlen (name);
-- inner_qualifier = xrealloc (inner_qualifier,
-- inner_qualifier_length + name_length+2);
-- memcpy (inner_qualifier+inner_qualifier_length, name, name_length);
-- inner_qualifier_length += name_length;
-- inner_qualifier [inner_qualifier_length] = '$';
-- inner_qualifier [++inner_qualifier_length] = '\0';
-+ /* If we already have CURRENT_CLASS set, we're in an inter
-+ class. Mangle its name. */
-+ if (current_class)
-+ {
-+ const char *p;
-+ char anonymous [3];
-+ int additional_length;
-+
-+ /* NAME set to NULL indicates an anonymous class, which are named by
-+ numbering them. */
-+ if (!name)
-+ {
-+ sprintf (anonymous, "%d", ++anonymous_count);
-+ p = anonymous;
-+ }
-+ else
-+ p = name;
-+
-+ additional_length = strlen (p)+1; /* +1 for `$' */
-+ current_class = xrealloc (current_class,
-+ current_class_length + additional_length + 1);
-+ current_class [current_class_length] = '$';
-+ strcpy (&current_class [current_class_length+1], p);
-+ current_class_length += additional_length;
-+ }
-+ else
-+ {
-+ if (!name)
-+ return;
-+ current_class_length = strlen (name);
-+ current_class = xmalloc (current_class_length+1);
-+ strcpy (current_class, name);
-+ }
- }
-
- static void
- pop_class_context ()
- {
-- while (--inner_qualifier_length > 0
-- && inner_qualifier [inner_qualifier_length-1] != '$')
-+ /* Go back to the last `$' and cut. */
-+ while (--current_class_length > 0
-+ && current_class [current_class_length] != '$')
- ;
-- inner_qualifier = xrealloc (inner_qualifier, inner_qualifier_length+1);
-- if (inner_qualifier_length == -1)
-- inner_qualifier_length = 0;
-- inner_qualifier [inner_qualifier_length] = '\0';
-+ if (current_class_length)
-+ {
-+ current_class = xrealloc (current_class, current_class_length+1);
-+ current_class [current_class_length] = '\0';
-+ }
-+ else
-+ {
-+ current_class = NULL;
-+ anonymous_count = 0;
-+ }
- }
-
- /* Actions defined here */
--#define INNER_QUALIFIER (inner_qualifier ? inner_qualifier : "")
-
- static void
- report_class_declaration (name)
-@@ -1158,6 +1194,7 @@
- {
- extern int flag_dump_class, flag_list_filename;
-
-+ push_class_context (name);
- if (flag_dump_class)
- {
- if (!previous_output)
-@@ -1168,13 +1205,10 @@
- }
-
- if (package_name)
-- fprintf (out, "%s.%s%s ", package_name, INNER_QUALIFIER, name);
-+ fprintf (out, "%s.%s ", package_name, current_class);
- else
-- fprintf (out, "%s%s ", INNER_QUALIFIER, name);
-+ fprintf (out, "%s ", current_class);
- }
--
-- push_class_context (name);
-- current_class = name;
- }
-
- static void
-@@ -1208,7 +1242,8 @@
- void reset_report ()
- {
- previous_output = 0;
-- current_class = package_name = NULL;
-+ package_name = NULL;
-+ current_class = NULL;
- }
-
- void
---- gcc/java/parse.y 2000/09/10 04:41:32 1.1.1.1
-+++ gcc/java/parse.y 2000/09/10 14:45:33
-@@ -276,7 +276,7 @@
- static int binop_compound_p PARAMS ((enum tree_code));
- static tree search_loop PARAMS ((tree));
- static int labeled_block_contains_loop_p PARAMS ((tree, tree));
--static void check_abstract_method_definitions PARAMS ((int, tree, tree));
-+static int check_abstract_method_definitions PARAMS ((int, tree, tree));
- static void java_check_abstract_method_definitions PARAMS ((tree));
- static void java_debug_context_do PARAMS ((int));
- static void java_parser_context_push_initialized_field PARAMS ((void));
-@@ -755,8 +755,7 @@
- { end_class_declaration (0); }
- | interface_declaration
- { end_class_declaration (0); }
--| SC_TK
-- { $$ = NULL; }
-+| empty_statement
- | error
- {
- YYERROR_NOW;
-@@ -880,13 +879,12 @@
-
- class_member_declaration:
- field_declaration
--| field_declaration SC_TK
-- { $$ = $1; }
- | method_declaration
- | class_declaration /* Added, JDK1.1 inner classes */
- { end_class_declaration (1); }
- | interface_declaration /* Added, JDK1.1 inner interfaces */
- { end_class_declaration (1); }
-+| empty_statement
- ;
-
- /* 19.8.2 Productions from 8.3: Field Declarations */
-@@ -1085,9 +1083,7 @@
-
- method_body:
- block
--| block SC_TK
--| SC_TK
-- { $$ = NULL_TREE; } /* Probably not the right thing to do. */
-+| SC_TK { $$ = NULL_TREE; }
- ;
-
- /* 19.8.4 Productions from 8.5: Static Initializers */
-@@ -1097,11 +1093,6 @@
- TREE_CHAIN ($2) = CPC_STATIC_INITIALIZER_STMT (ctxp);
- SET_CPC_STATIC_INITIALIZER_STMT (ctxp, $2);
- }
--| static block SC_TK /* Shouldn't be here. FIXME */
-- {
-- TREE_CHAIN ($2) = CPC_STATIC_INITIALIZER_STMT (ctxp);
-- SET_CPC_STATIC_INITIALIZER_STMT (ctxp, $2);
-- }
- ;
-
- static: /* Test lval.sub_token here */
-@@ -1166,7 +1157,7 @@
-
- constructor_block_end:
- block_end
--| block_end SC_TK
-+;
-
- /* Error recovery for that rule moved down expression_statement: rule. */
- explicit_constructor_invocation:
-@@ -1397,7 +1388,14 @@
-
- empty_statement:
- SC_TK
-- { $$ = empty_stmt_node; }
-+ {
-+ if (flag_extraneous_semicolon)
-+ {
-+ EXPR_WFL_SET_LINECOL (wfl_operator, lineno, -1);
-+ parse_warning_context (wfl_operator, "An empty declaration is a deprecated feature that should not be used");
-+ }
-+ $$ = empty_stmt_node;
-+ }
- ;
-
- label_decl:
-@@ -2767,7 +2765,7 @@
- }
-
- /* Pop the lists of initialized field. If this lists aren't empty,
-- remember them so we can use it to create and populate the $finit$
-+ remember them so we can use it to create and populate the finit$
- or <clinit> functions. */
-
- static void
-@@ -3861,7 +3859,7 @@
- }
-
- /* End a class declaration: register the statements used to create
-- $finit$ and <clinit>, pop the current class and resume the prior
-+ finit$ and <clinit>, pop the current class and resume the prior
- parser context if necessary. */
-
- static void
-@@ -3919,9 +3917,9 @@
- wfl = build_wfl_node (get_identifier (name));
- init = build_wfl_node (get_identifier (pname));
- /* Build an initialization for the field: it will be
-- initialized by a parameter added to $finit$, bearing a
-+ initialized by a parameter added to finit$, bearing a
- mangled name of the field itself (param$<n>.) The
-- parameter is provided to $finit$ by the constructor
-+ parameter is provided to finit$ by the constructor
- invoking it (hence the constructor will also feature a
- hidden parameter, set to the value of the outer context
- local at the time the inner class is created.)
-@@ -3930,7 +3928,7 @@
- be accessed by the inner class. It's actually not trivial
- to minimize these aliases down to the ones really
- used. One way to do that would be to expand all regular
-- methods first, then $finit$ to get a picture of what's
-+ methods first, then finit$ to get a picture of what's
- used. It works with the exception that we would have to
- go back on all constructor invoked in regular methods to
- have their invokation reworked (to include the right amount
-@@ -3942,7 +3940,7 @@
- use.
-
- On the other hand, it only affect local inner classes,
-- whose constructors (and $finit$ call) will be featuring
-+ whose constructors (and finit$ call) will be featuring
- unecessary arguments. It's easy for a developper to keep
- this number of parameter down by using the `final'
- keyword only when necessary. For the time being, we can
-@@ -4148,7 +4146,7 @@
-
- /* If the couple initializer/initialized is marked ARG_FINAL_P, we
- mark the created field FIELD_LOCAL_ALIAS, so that we can
-- hide parameters to this inner class $finit$ and constructors. */
-+ hide parameters to this inner class finit$ and constructors. */
- if (ARG_FINAL_P (current))
- FIELD_LOCAL_ALIAS (field_decl) = 1;
-
-@@ -4189,8 +4187,8 @@
- lineno = saved_lineno;
- }
-
--/* Generate $finit$, using the list of initialized fields to populate
-- its body. $finit$'s parameter(s) list is adjusted to include the
-+/* Generate finit$, using the list of initialized fields to populate
-+ its body. finit$'s parameter(s) list is adjusted to include the
- one(s) used to initialized the field(s) caching outer context
- local(s). */
-
-@@ -5003,7 +5001,7 @@
- count is kept of the number of crafted parameters. MODE governs
- what eventually gets created: something suitable for a function
- creation or a function invocation, either the constructor or
-- $finit$. */
-+ finit$. */
-
- static tree
- build_alias_initializer_parameter_list (mode, class_type, parm, artificial)
-@@ -5017,7 +5015,7 @@
- for (field = TYPE_FIELDS (class_type); field; field = TREE_CHAIN (field))
- if (FIELD_LOCAL_ALIAS (field))
- {
-- char *buffer = IDENTIFIER_POINTER (DECL_NAME (field));
-+ const char *buffer = IDENTIFIER_POINTER (DECL_NAME (field));
- tree purpose = NULL_TREE, value = NULL_TREE, name = NULL_TREE;
-
- switch (mode)
-@@ -5798,7 +5796,7 @@
- tree redef, name;
- tree cl = DECL_NAME (method);
- tree sig = TYPE_ARGUMENT_SIGNATURE (TREE_TYPE (method));
-- /* decl name of artificial <clinit> and $finit$ doesn't need to be
-+ /* decl name of artificial <clinit> and finit$ doesn't need to be
- fixed and checked */
-
- /* Reset the method name before running the check. If it returns 1,
-@@ -5825,13 +5823,15 @@
- return 0;
- }
-
--static void
-+/* Return 1 if check went ok, 0 otherwise. */
-+static int
- check_abstract_method_definitions (do_interface, class_decl, type)
- int do_interface;
- tree class_decl, type;
- {
- tree class = TREE_TYPE (class_decl);
- tree method, end_type;
-+ int ok = 1;
-
- end_type = (do_interface ? object_type_node : type);
- for (method = TYPE_METHODS (type); method; method = TREE_CHAIN (method))
-@@ -5904,13 +5904,27 @@
- IDENTIFIER_POINTER (ccn),
- (CLASS_INTERFACE (class_decl) ? "interface" : "class"),
- IDENTIFIER_POINTER (DECL_NAME (class_decl)));
--
-+ ok = 0;
- free (t);
--
-+
- if (saved_wfl)
- DECL_NAME (method) = saved_wfl;
- }
- }
-+
-+ if (ok && do_interface)
-+ {
-+ /* Check for implemented interfaces. */
-+ int i;
-+ tree vector = TYPE_BINFO_BASETYPES (type);
-+ for (i = 1; ok && vector && i < TREE_VEC_LENGTH (vector); i++)
-+ {
-+ tree super = BINFO_TYPE (TREE_VEC_ELT (vector, i));
-+ ok = check_abstract_method_definitions (1, class_decl, super);
-+ }
-+ }
-+
-+ return ok;
- }
-
- /* Check that CLASS_DECL somehow implements all inherited abstract
-@@ -7380,7 +7394,7 @@
- we expand regular methods first. This allows us get an estimate on
- how outer context local alias fields are really used so we can add
- to the constructor just enough code to initialize them properly (it
-- also lets us generate $finit$ correctly.) Then we expand the
-+ also lets us generate finit$ correctly.) Then we expand the
- constructors and then <clinit>. */
-
- static void
-@@ -7401,7 +7415,7 @@
- first_decl = TYPE_METHODS (current_class);
- clinit = maybe_generate_pre_expand_clinit (current_class);
-
-- /* Then generate $finit$ (if we need to) because constructor will
-+ /* Then generate finit$ (if we need to) because constructor will
- try to use it.*/
- if (TYPE_FINIT_STMT_LIST (current_class))
- {
-@@ -7550,12 +7564,14 @@
-
- if (!DECL_CLINIT_P (mdecl))
- return 0;
--
-- /* If the body isn't empty, then we keep <clinit> */
-+
-+ /* If the body isn't empty, then we keep <clinit>. Note that if
-+ we're emitting classfiles, this isn't enough not to rule it
-+ out. */
- fbody = DECL_FUNCTION_BODY (mdecl);
- if ((bbody = BLOCK_EXPR_BODY (fbody)))
- bbody = BLOCK_EXPR_BODY (bbody);
-- if (bbody && bbody != empty_stmt_node)
-+ if (bbody && ! flag_emit_class_files && bbody != empty_stmt_node)
- return 0;
-
- type = DECL_CONTEXT (mdecl);
-@@ -7563,10 +7579,35 @@
-
- for (current = (current ? TREE_CHAIN (current) : current);
- current; current = TREE_CHAIN (current))
-- if (!(FIELD_STATIC (current) && FIELD_FINAL (current)
-- && DECL_INITIAL (current) && TREE_CONSTANT (DECL_INITIAL (current))))
-- break;
-+ {
-+ tree f_init;
-+
-+ /* We're not interested in non static field */
-+ if (!FIELD_STATIC (current))
-+ continue;
-
-+ /* Anything that isn't String or a basic type is ruled out -- or
-+ if we now how to deal with it (when doing things natively) we
-+ should generated an empty <clinit> so that SUID are computed
-+ correctly. */
-+ if (! JSTRING_TYPE_P (TREE_TYPE (current))
-+ && ! JNUMERIC_TYPE_P (TREE_TYPE (current)))
-+ break;
-+
-+ f_init = DECL_INITIAL (current);
-+ /* If we're emitting native code, we want static final fields to
-+ have constant initializers. If we don't meet these
-+ conditions, we keep <clinit> */
-+ if (!flag_emit_class_files
-+ && !(FIELD_FINAL (current) && f_init && TREE_CONSTANT (f_init)))
-+ break;
-+ /* If we're emitting bytecode, we want static fields to have
-+ constant initializers or no initializer. If we don't meet
-+ these conditions, we keep <clinit> */
-+ if (flag_emit_class_files && f_init && !TREE_CONSTANT (f_init))
-+ break;
-+ }
-+
- if (current)
- return 0;
-
-@@ -7688,7 +7729,7 @@
- tree ctx = TREE_TYPE (DECL_CONTEXT (TYPE_NAME (current_class)));
-
- /* If decl's class is the direct outer class of the current_class,
-- build the access as `this$<n>.<field>'. Not that we will break
-+ build the access as `this$<n>.<field>'. Note that we will break
- the `private' barrier if we're not emitting bytecodes. */
- if (ctx == DECL_CONTEXT (decl)
- && (!FIELD_PRIVATE (decl) || !flag_emit_class_files ))
-@@ -7704,7 +7745,7 @@
- int lc = EXPR_WFL_LINECOL (id);
-
- /* Now we chain the required number of calls to the access$0 to
-- get a hold to the enclosing instance we need, and the we
-+ get a hold to the enclosing instance we need, and then we
- build the field access. */
- access = build_access_to_thisn (ctx, DECL_CONTEXT (decl), lc);
-
-@@ -8296,14 +8337,21 @@
- }
-
- static tree
--build_dot_class_method_invocation (name)
-- tree name;
-+build_dot_class_method_invocation (type)
-+ tree type;
- {
-- tree s = make_node (STRING_CST);
-- TREE_STRING_LENGTH (s) = IDENTIFIER_LENGTH (name);
-+ tree sig_id, s;
-+
-+ if (TYPE_ARRAY_P (type))
-+ sig_id = build_java_signature (type);
-+ else
-+ sig_id = DECL_NAME (TYPE_NAME (type));
-+
-+ s = make_node (STRING_CST);
-+ TREE_STRING_LENGTH (s) = IDENTIFIER_LENGTH (sig_id);
- TREE_STRING_POINTER (s) = obstack_alloc (expression_obstack,
- TREE_STRING_LENGTH (s)+1);
-- strcpy (TREE_STRING_POINTER (s), IDENTIFIER_POINTER (name));
-+ strcpy (TREE_STRING_POINTER (s), IDENTIFIER_POINTER (sig_id));
- return build_method_invocation (build_wfl_node (get_identifier ("class$")),
- build_tree_list (NULL_TREE, s));
- }
-@@ -8345,6 +8393,11 @@
- CLASSNAME() constructor */
- start_artificial_method_body (mdecl);
-
-+ /* Insert an assignment to the this$<n> hidden field, if
-+ necessary */
-+ if ((thisn_assign = build_thisn_assign ()))
-+ java_method_add_stmt (mdecl, thisn_assign);
-+
- /* We don't generate a super constructor invocation if we're
- compiling java.lang.Object. build_super_invocation takes care
- of that. */
-@@ -8354,11 +8407,6 @@
- super invocation. */
- add_instance_initializer (mdecl);
-
-- /* Insert an assignment to the this$<n> hidden field, if
-- necessary */
-- if ((thisn_assign = build_thisn_assign ()))
-- java_method_add_stmt (mdecl, thisn_assign);
--
- end_artificial_method_body (mdecl);
- }
- /* Search for an explicit constructor invocation */
-@@ -8390,14 +8438,14 @@
- compound = add_stmt_to_compound (compound, NULL_TREE,
- build_super_invocation (mdecl));
-
-- /* Insert the instance initializer block right here, after the
-- super invocation. */
-- add_instance_initializer (mdecl);
--
- /* Generate the assignment to this$<n>, if necessary */
- if ((thisn_assign = build_thisn_assign ()))
- compound = add_stmt_to_compound (compound, NULL_TREE, thisn_assign);
-
-+ /* Insert the instance initializer block right here, after the
-+ super invocation. */
-+ add_instance_initializer (mdecl);
-+
- /* Fix the constructor main block if we're adding extra stmts */
- if (compound)
- {
-@@ -9199,6 +9247,8 @@
- current_class);
- return 1;
- }
-+ if (outer_field_access_p (current_class, decl))
-+ decl = build_outer_field_access (qual_wfl, decl);
- }
- else
- {
-@@ -9835,7 +9885,7 @@
- {
- tree finit_parms, finit_call;
-
-- /* Prepare to pass hidden parameters to $finit$, if any. */
-+ /* Prepare to pass hidden parameters to finit$, if any. */
- finit_parms = build_alias_initializer_parameter_list
- (AIPL_FUNCTION_FINIT_INVOCATION, current_class, NULL_TREE, NULL);
-
-@@ -10697,12 +10747,14 @@
- breakdown_qualified (left, right, source)
- tree *left, *right, source;
- {
-- char *p = IDENTIFIER_POINTER (source), *base;
-+ char *p, *base;
- int l = IDENTIFIER_LENGTH (source);
-
-+ base = alloca (l + 1);
-+ memcpy (base, IDENTIFIER_POINTER (source), l + 1);
-+
- /* Breakdown NAME into REMAINDER . IDENTIFIER */
-- base = p;
-- p += (l-1);
-+ p = base + l - 1;
- while (*p != '.' && p != base)
- p--;
-
-@@ -10713,8 +10765,7 @@
- *p = '\0';
- if (right)
- *right = get_identifier (p+1);
-- *left = get_identifier (IDENTIFIER_POINTER (source));
-- *p = '.';
-+ *left = get_identifier (base);
-
- return 0;
- }
-@@ -12124,7 +12175,7 @@
- }
-
- /* Return 1 if RHS_TYPE can be converted to LHS_TYPE by identity
-- conversion (5.1.1) or widening primitve conversion (5.1.2). Return
-+ conversion (5.1.1) or widening primitive conversion (5.1.2). Return
- 0 is the conversion test fails. This implements parts the method
- invocation convertion (5.3). */
-
-@@ -12842,20 +12893,26 @@
- const char *string;
- int string_len, after;
- {
-- int len = TREE_STRING_LENGTH (cste) + string_len;
- const char *old = TREE_STRING_POINTER (cste);
-+ int old_len = TREE_STRING_LENGTH (cste);
-+ int len = old_len + string_len;
-+ char *new;
-+
-+ cste = make_node (STRING_CST);
- TREE_STRING_LENGTH (cste) = len;
-- TREE_STRING_POINTER (cste) = obstack_alloc (expression_obstack, len+1);
-+ new = TREE_STRING_POINTER (cste) = obstack_alloc (expression_obstack, len+1);
-+
- if (after)
- {
-- strcpy (TREE_STRING_POINTER (cste), string);
-- strcat (TREE_STRING_POINTER (cste), old);
-+ memcpy (new, string, string_len);
-+ memcpy (&new [string_len], old, old_len);
- }
- else
- {
-- strcpy (TREE_STRING_POINTER (cste), old);
-- strcat (TREE_STRING_POINTER (cste), string);
-+ memcpy (new, old, old_len);
-+ memcpy (&new [old_len], string, string_len);
- }
-+ new [len] = '\0';
- return cste;
- }
-
-@@ -13158,8 +13215,7 @@
- synthetic static method `class$'. */
- if (!TYPE_DOT_CLASS (current_class))
- build_dot_class_method (current_class);
-- ref_type =
-- build_dot_class_method_invocation (DECL_NAME (TYPE_NAME (ref_type)));
-+ ref_type = build_dot_class_method_invocation (ref_type);
- return java_complete_tree (ref_type);
- }
-
-@@ -14378,7 +14434,7 @@
- se_type = TREE_TYPE (se);
- /* The type of the switch expression must be char, byte, short or
- int */
-- if (!JINTEGRAL_TYPE_P (se_type))
-+ if (! JINTEGRAL_TYPE_P (se_type) || se_type == long_type_node)
- {
- EXPR_WFL_LINECOL (wfl_operator) = EXPR_WFL_LINECOL (node);
- parse_error_context (wfl_operator,
---- gcc/java/typeck.c 2000/09/10 04:41:32 1.1.1.1
-+++ gcc/java/typeck.c 2000/09/10 13:56:44
-@@ -417,13 +417,34 @@
- {
- tree atype = build_prim_array_type (element_type, length);
- tree arfld = build_decl (FIELD_DECL, get_identifier ("data"), atype);
-+
- DECL_CONTEXT (arfld) = t;
- TREE_CHAIN (fld) = arfld;
-+
-+ /* We need to force the data field to begin at an alignment at
-+ least equal to the biggest alignment in an object type node
-+ in order to be compatible with the way that JArray is defined
-+ in CNI. However, we can't exceed BIGGEST_FIELD_ALIGNMENT. */
-+ {
-+ unsigned desired_align = TYPE_ALIGN (object_type_node);
-+ desired_align = MAX (desired_align, TYPE_ALIGN (element_type));
-+#ifdef BIGGEST_FIELD_ALIGNMENT
-+ desired_align = MIN (desired_align,
-+ (unsigned) BIGGEST_FIELD_ALIGNMENT);
-+#endif
-+#ifdef ADJUST_FIELD_ALIGN
-+ desired_align = ADJUST_FIELD_ALIGN (fld, desired_align);
-+#endif
-+ DECL_ALIGN (arfld) = desired_align;
-+ }
- }
- else
- {
-- TYPE_ALIGN (t) = TYPE_ALIGN (element_type);
-- TYPE_USER_ALIGN (t) = TYPE_USER_ALIGN (element_type);
-+ unsigned desired_align = TYPE_ALIGN (element_type);
-+#ifdef BIGGEST_FIELD_ALIGNMENT
-+ desired_align = MIN (desired_align, (unsigned) BIGGEST_FIELD_ALIGNMENT);
-+#endif
-+ TYPE_ALIGN (t) = desired_align;
- }
- pop_obstacks ();
-
---- gcc/java/verify.c 2000/09/10 04:41:33 1.1.1.1
-+++ gcc/java/verify.c 2000/09/10 13:56:44
-@@ -131,6 +131,20 @@
- tt1 = HANDLE_TO_CLASS_TYPE (TREE_TYPE (type1));
- tt2 = HANDLE_TO_CLASS_TYPE (TREE_TYPE (type2));
-
-+ /* If tt{1,2} haven't been properly loaded, now is a good time
-+ to do it. */
-+ if (!TYPE_SIZE (tt1))
-+ {
-+ load_class (tt1, 1);
-+ safe_layout_class (tt1);
-+ }
-+
-+ if (!TYPE_SIZE (tt2))
-+ {
-+ load_class (tt2, 1);
-+ safe_layout_class (tt2);
-+ }
-+
- if (TYPE_ARRAY_P (tt1) || TYPE_ARRAY_P (tt2))
- {
- if (TYPE_ARRAY_P (tt1) == TYPE_ARRAY_P (tt2))
---- gcc/java/zextract.c 2000/09/10 04:41:33 1.1.1.1
-+++ gcc/java/zextract.c 2000/09/10 13:56:44
-@@ -318,6 +318,8 @@
- for (i = 0; i < zipf->count; i++)
- {
- ZipDirectory *zipd = (ZipDirectory*)(dir_ptr + dir_last_pad);
-+ int compression_method = (int) dir_ptr[4+C_COMPRESSION_METHOD];
-+ long size = makelong (&dir_ptr[4+C_COMPRESSED_SIZE]);
- long uncompressed_size = makelong (&dir_ptr[4+C_UNCOMPRESSED_SIZE]);
- long filename_length = makeword (&dir_ptr[4+C_FILENAME_LENGTH]);
- long extra_field_length = makeword (&dir_ptr[4+C_EXTRA_FIELD_LENGTH]);
-@@ -326,7 +328,9 @@
- return -1;
-
- zipd->filename_length = filename_length;
-- zipd->size = uncompressed_size;
-+ zipd->compression_method = compression_method;
-+ zipd->size = size;
-+ zipd->uncompressed_size = uncompressed_size;
- #ifdef __GNUC__
- #define DIR_ALIGN __alignof__(ZipDirectory)
- #else
---- gcc/java/zipfile.h 2000/09/10 04:41:33 1.1.1.1
-+++ gcc/java/zipfile.h 2000/09/10 13:56:44
-@@ -34,7 +34,9 @@
- struct ZipDirectory {
- int direntry_size;
- int filename_offset;
-+ int compression_method;
- long size; /* length of file */
-+ long uncompressed_size; /* length of uncompressed data */
- long filestart; /* start of file in archive */
- long filename_length;
- /* char mid_padding[...]; */
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-jword.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-jword.patch
deleted file mode 100644
index 5417ab7a7142..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-jword.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-2000-04-29 Jakub Jelinek <jakub@redhat.com>
-
- * javaop.h (jword): Define to uint64 on 64bit architectures.
-
---- gcc/java/javaop.h.jj Thu Feb 17 16:31:18 2000
-+++ gcc/java/javaop.h Sat Apr 29 22:50:12 2000
-@@ -1,6 +1,6 @@
- /* Utility macros to handle Java(TM) byte codes.
-
-- Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc.
-+ Copyright (C) 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -79,7 +79,11 @@ union Word {
-
-
- #ifndef jword
-+#if !defined(__alpha__) && (!defined (_ARCH_PPC) || !defined (__64BIT__)) && (!defined(__sparc__) || (!defined(__sparcv9) && !defined(__arch64__))) && (!defined(__ia64__) || !defined(__LP64__))
- #define jword uint32
-+#else
-+#define jword uint64
-+#endif
- #endif
-
- #ifndef IMMEDIATE_u1
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-misc.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-misc.patch
deleted file mode 100644
index 3b07be3b8023..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-misc.patch
+++ /dev/null
@@ -1,353 +0,0 @@
-2000-08-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
-
- * class.c (maybe_layout_super_class): Fixed indentation.
- * java-tree.h (CLASS_METHOD_CHECKED_P): New macro.
- (java_check_methods): New function declaration.
- * jcf-parse.c (get_constant): Let `char_len' go up to 3. Use `str'
- instead of `str_ptr'.
- * jcf-write.c (generate_bytecode_insns): Emit number the of args
- of a `invokeinterface' at the right time.
- * parse.h (WFL_STRIP_BRACKET): New macro.
- (SET_TYPE_FOR_RESOLUTION): Use it.
- * parse.y (build_unresolved_array_type): Reuse `type_or_wfl.'
- (check_class_interface_creation): Don't check for cross package
- innerclass name clashes.
- (method_header): Behave properly if MDECL is `error_mark_node.'
- (method_declarator): Return `error_mark_node' if bogus current
- class.
- (resolve_class): Apply WFL_STRIP_BRACKET on `cl' if necessary.
- (resolve_and_layout): New local `decl_type', set and used. Call
- java_check_methods.
- (java_check_methods): New method.
- (java_layout_classes): Use it.
- (resolve_qualified_expression_name): No EH check necessary in
- access$<n>.
- (java_complete_lhs): Use VAR_DECL's DECL_INITIAL when evaluating
- `case' statement.
- (patch_assignment): Set DECL_INITIAL on integral final local.
-
---- gcc/java/class.c 2000/08/02 17:01:13 1.73
-+++ gcc/java/class.c 2000/08/11 21:31:47
-@@ -1748,8 +1748,7 @@ maybe_layout_super_class (super_class, t
- {
- if (TREE_CODE (super_class) == RECORD_TYPE)
- {
-- if (!CLASS_LOADED_P (super_class)
-- && CLASS_FROM_SOURCE_P (super_class))
-+ if (!CLASS_LOADED_P (super_class) && CLASS_FROM_SOURCE_P (super_class))
- safe_layout_class (super_class);
- if (!CLASS_LOADED_P (super_class))
- load_class (super_class, 1);
---- gcc/java/java-tree.h 2000/07/21 00:01:43 1.76
-+++ gcc/java/java-tree.h 2000/08/11 21:31:51
-@@ -52,6 +52,7 @@ struct JCF;
- QUALIFIED_P (in IDENTIFIER_NODE)
- PRIMARY_P (in EXPR_WITH_FILE_LOCATION)
- MODIFY_EXPR_FROM_INITIALIZATION_P (in MODIFY_EXPR)
-+ CLASS_METHOD_CHECKED_P (in RECORD_TYPE)
- 3: IS_AN_IMPORT_ON_DEMAND_P (in IDENTIFIER_NODE)
- RESOLVE_PACKAGE_NAME_P (in EXPR_WITH_FILE_LOCATION)
- SWITCH_HAS_DEFAULT (in SWITCH_EXPR)
-@@ -788,6 +789,7 @@ extern tree get_boehm_type_descriptor PA
- extern unsigned long java_hash_hash_tree_node PARAMS ((hash_table_key));
- extern boolean java_hash_compare_tree_node PARAMS ((hash_table_key,
- hash_table_key));
-+extern void java_check_methods PARAMS ((tree));
-
- /* We use ARGS_SIZE_RTX to indicate that gcc/expr.h has been included
- to declare `enum expand_modifier'. */
-@@ -998,6 +1000,8 @@ extern tree *type_map;
- /* True if EXPR (a MODIFY_EXPR in that case) is the result of variable
- initialization during its declaration */
- #define MODIFY_EXPR_FROM_INITIALIZATION_P(EXPR) TREE_LANG_FLAG_2 (EXPR)
-+
-+#define CLASS_METHOD_CHECKED_P(EXPR) TREE_LANG_FLAG_2 (EXPR)
-
- /* True if EXPR (a WFL in that case) resolves into an expression name */
- #define RESOLVE_EXPRESSION_NAME_P(WFL) TREE_LANG_FLAG_0 (WFL)
---- gcc/java/jcf-parse.c 2000/07/27 11:13:51 1.50
-+++ gcc/java/jcf-parse.c 2000/08/11 21:31:53
-@@ -341,8 +341,8 @@ get_constant (jcf, index)
- for (str_len = 0; i > 0; str_len++)
- {
- int char_len = UT8_CHAR_LENGTH (*str);
-- if (char_len < 0 || char_len > 2 || char_len > i)
-- fatal ("bad string constant");
-+ if (char_len < 0 || char_len > 3 || char_len > i)
-+ fatal ("bad string constant");
- str += char_len;
- i -= char_len;
- }
-@@ -368,7 +368,7 @@ get_constant (jcf, index)
- char_value = (char_value << 6) | (*str++ & 0x3F);
- break;
- case 3:
-- char_value = *str_ptr++ & 0x0F;
-+ char_value = *str++ & 0x0F;
- char_value = (char_value << 6) | (*str++ & 0x3F);
- char_value = (char_value << 6) | (*str++ & 0x3F);
- break;
---- gcc/java/jcf-write.c 2000/07/13 19:23:57 1.65
-+++ gcc/java/jcf-write.c 2000/08/11 21:32:00
-@@ -2561,9 +2561,13 @@ generate_bytecode_insns (exp, target, st
- TREE_TYPE (TREE_TYPE (TREE_VALUE (TREE_OPERAND (exp, 1))));
- }
- index = find_methodref_index (&state->cpool, f);
-- if (interface)
-- DECL_CONTEXT (f) = saved_context;
- OP2 (index);
-+ if (interface)
-+ {
-+ DECL_CONTEXT (f) = saved_context;
-+ OP1 (nargs);
-+ OP1 (0);
-+ }
- f = TREE_TYPE (TREE_TYPE (f));
- if (TREE_CODE (f) != VOID_TYPE)
- {
-@@ -2572,11 +2576,6 @@ generate_bytecode_insns (exp, target, st
- emit_pop (size, state);
- else
- NOTE_PUSH (size);
-- }
-- if (interface)
-- {
-- OP1 (nargs);
-- OP1 (0);
- }
- break;
- }
---- gcc/java/parse.h 2000/07/21 18:11:52 1.56
-+++ gcc/java/parse.h 2000/08/11 21:32:03
-@@ -535,27 +535,50 @@ typedef struct _jdeplist {
- java.lang.Object. */
- #define SET_TYPE_FOR_RESOLUTION(TYPE, SAVE, CHAIN) \
- { \
-- tree returned_type; \
-+ tree _returned_type; \
- (CHAIN) = 0; \
- if (TREE_TYPE (GET_CPC ()) == object_type_node \
-- && TREE_CODE (TYPE) == EXPR_WITH_FILE_LOCATION \
-+ && TREE_CODE (TYPE) == EXPR_WITH_FILE_LOCATION \
- && EXPR_WFL_NODE (TYPE) == unqualified_object_id_node) \
- (TYPE) = object_type_node; \
- else \
- { \
-- if (unresolved_type_p (type, &returned_type)) \
-+ if (unresolved_type_p (type, &_returned_type)) \
- { \
-- if (returned_type) \
-- (TYPE) = returned_type; \
-+ if (_returned_type) \
-+ (TYPE) = _returned_type; \
- else \
- { \
-- (SAVE) = (TYPE); \
-+ tree _type; \
-+ WFL_STRIP_BRACKET (_type, TYPE); \
-+ (SAVE) = (_type); \
- (TYPE) = obtain_incomplete_type (TYPE); \
- CHAIN = 1; \
- } \
- } \
- } \
- }
-+
-+#define WFL_STRIP_BRACKET(TARGET, TYPE) \
-+{ \
-+ tree __type = (TYPE); \
-+ if (TYPE && TREE_CODE (TYPE) == EXPR_WITH_FILE_LOCATION) \
-+ { \
-+ tree _node = EXPR_WFL_NODE (TYPE); \
-+ const char *_ptr = IDENTIFIER_POINTER (_node); \
-+ const char *_ref = _ptr; \
-+ while (_ptr[0] == '[') \
-+ _ptr++; \
-+ if (_ref != _ptr) \
-+ { \
-+ tree _new = copy_node (TYPE); \
-+ EXPR_WFL_NODE (_new) = get_identifier (_ptr); \
-+ __type = _new; \
-+ } \
-+ } \
-+ (TARGET) = __type; \
-+}
-+
- /* Promote a type if it won't be registered as a patch */
- #define PROMOTE_RECORD_IF_COMPLETE(TYPE, IS_INCOMPLETE) \
- { \
---- gcc/java/parse.y 2000/08/08 03:33:36 1.199
-+++ gcc/java/parse.y 2000/08/11 21:32:37
-@@ -3265,10 +3265,8 @@ build_unresolved_array_type (type_or_wfl
- IDENTIFIER_POINTER (EXPR_WFL_NODE (type_or_wfl)),
- IDENTIFIER_LENGTH (EXPR_WFL_NODE (type_or_wfl)));
- ptr = obstack_finish (&temporary_obstack);
-- return build_expr_wfl (get_identifier (ptr),
-- EXPR_WFL_FILENAME (type_or_wfl),
-- EXPR_WFL_LINENO (type_or_wfl),
-- EXPR_WFL_COLNO (type_or_wfl));
-+ EXPR_WFL_NODE (type_or_wfl) = get_identifier (ptr);
-+ return type_or_wfl;
- }
-
- static void
-@@ -3303,7 +3301,8 @@ check_class_interface_creation (is_inter
- - Can't be imported by a single type import
- - Can't already exists in the package */
- if (IS_A_SINGLE_IMPORT_CLASSFILE_NAME_P (raw_name)
-- && (node = find_name_in_single_imports (raw_name)))
-+ && (node = find_name_in_single_imports (raw_name))
-+ && !CPC_INNER_P ())
- {
- parse_error_context
- (cl, "%s name `%s' clashes with imported type `%s'",
-@@ -4260,14 +4259,18 @@ method_header (flags, type, mdecl, throw
- int flags;
- tree type, mdecl, throws;
- {
-- tree meth = TREE_VALUE (mdecl);
-- tree id = TREE_PURPOSE (mdecl);
- tree type_wfl = NULL_TREE;
- tree meth_name = NULL_TREE;
- tree current, orig_arg, this_class = NULL;
-+ tree id, meth;
- int saved_lineno;
- int constructor_ok = 0, must_chain;
- int count;
-+
-+ if (mdecl == error_mark_node)
-+ return error_mark_node;
-+ meth = TREE_VALUE (mdecl);
-+ id = TREE_PURPOSE (mdecl);
-
- check_modifiers_consistency (flags);
-
-@@ -4665,6 +4668,9 @@ method_declarator (id, list)
-
- patch_stage = JDEP_NO_PATCH;
-
-+ if (GET_CPC () == error_mark_node)
-+ return error_mark_node;
-+
- /* If we're dealing with an inner class constructor, we hide the
- this$<n> decl in the name field of its parameter declaration. We
- also might have to hide the outer context local alias
-@@ -5391,7 +5397,10 @@ resolve_class (enclosing, class_type, de
- while (name[0] == '[')
- name++;
- if (base != name)
-- TYPE_NAME (class_type) = get_identifier (name);
-+ {
-+ TYPE_NAME (class_type) = get_identifier (name);
-+ WFL_STRIP_BRACKET (cl, cl);
-+ }
-
- /* 2- Resolve the bare type */
- if (!(resolved_type_decl = do_resolve_class (enclosing, class_type,
-@@ -5562,7 +5571,7 @@ resolve_and_layout (something, cl)
- tree something;
- tree cl;
- {
-- tree decl;
-+ tree decl, decl_type;
-
- /* Don't do that on the current class */
- if (something == current_class)
-@@ -5605,13 +5614,14 @@ resolve_and_layout (something, cl)
- return NULL_TREE;
-
- /* Resolve and layout if necessary */
-- layout_class_methods (TREE_TYPE (decl));
-- /* Check methods, but only once */
-- if (CLASS_FROM_SOURCE_P (TREE_TYPE (decl))
-- && !CLASS_LOADED_P (TREE_TYPE (decl)))
-- CHECK_METHODS (decl);
-- if (TREE_TYPE (decl) != current_class && !CLASS_LOADED_P (TREE_TYPE (decl)))
-- safe_layout_class (TREE_TYPE (decl));
-+ decl_type = TREE_TYPE (decl);
-+ layout_class_methods (decl_type);
-+ /* Check methods */
-+ if (CLASS_FROM_SOURCE_P (decl_type))
-+ java_check_methods (decl);
-+ /* Layout the type if necessary */
-+ if (decl_type != current_class && !CLASS_LOADED_P (decl_type))
-+ safe_layout_class (decl_type);
-
- return decl;
- }
-@@ -5957,6 +5967,23 @@ check_method_types_complete (decl)
- return 1;
- }
-
-+/* Visible interface to check methods contained in CLASS_DECL */
-+
-+void
-+java_check_methods (class_decl)
-+ tree class_decl;
-+{
-+ if (CLASS_METHOD_CHECKED_P (TREE_TYPE (class_decl)))
-+ return;
-+
-+ if (CLASS_INTERFACE (class_decl))
-+ java_check_abstract_methods (class_decl);
-+ else
-+ java_check_regular_methods (class_decl);
-+
-+ CLASS_METHOD_CHECKED_P (TREE_TYPE (class_decl)) = 1;
-+}
-+
- /* Check all the methods of CLASS_DECL. Methods are first completed
- then checked according to regular method existance rules. If no
- constructor for CLASS_DECL were encountered, then build its
-@@ -7288,7 +7315,7 @@ java_layout_classes ()
- /* Then check the methods of all parsed classes */
- for (current = ctxp->gclass_list; current; current = TREE_CHAIN (current))
- if (CLASS_FROM_SOURCE_P (TREE_TYPE (TREE_VALUE (current))))
-- CHECK_METHODS (TREE_VALUE (current));
-+ java_check_methods (TREE_VALUE (current));
- java_parse_abort_on_error ();
-
- for (current = ctxp->gclass_list; current; current = TREE_CHAIN (current))
-@@ -8951,8 +8978,10 @@ resolve_qualified_expression_name (wfl,
- instantiation using a primary qualified by a `new' */
- RESTORE_THIS_AND_CURRENT_CLASS;
-
-- /* EH check */
-- if (location)
-+ /* EH check. No check on access$<n> functions */
-+ if (location
-+ && !OUTER_FIELD_ACCESS_IDENTIFIER_P
-+ (DECL_NAME (current_function_decl)))
- check_thrown_exceptions (location, ret_decl);
-
- /* If the previous call was static and this one is too,
-@@ -10988,6 +11017,8 @@ java_complete_lhs (node)
- /* Multiple instance of a case label bearing the same
- value is checked during code generation. The case
- expression is allright so far. */
-+ if (TREE_CODE (cn) == VAR_DECL)
-+ cn = DECL_INITIAL (cn);
- TREE_OPERAND (node, 0) = cn;
- TREE_TYPE (node) = void_type_node;
- CAN_COMPLETE_NORMALLY (node) = 1;
-@@ -12035,6 +12066,19 @@ patch_assignment (node, wfl_op1, wfl_op2
- else
- lvalue = build (COMPOUND_EXPR, lhs_type, check, lvalue);
- }
-+ }
-+
-+ /* Final locals can be used as case values in switch
-+ statement. Prepare them for this eventuality. */
-+ if (TREE_CODE (lvalue) == VAR_DECL
-+ && LOCAL_FINAL (lvalue)
-+ && TREE_CONSTANT (new_rhs)
-+ && IDENTIFIER_LOCAL_VALUE (DECL_NAME (lvalue))
-+ && JINTEGRAL_TYPE_P (TREE_TYPE (lvalue))
-+ )
-+ {
-+ TREE_CONSTANT (lvalue) = 1;
-+ DECL_INITIAL (lvalue) = new_rhs;
- }
-
- TREE_OPERAND (node, 0) = lvalue;
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-no-super-layout.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-no-super-layout.patch
deleted file mode 100644
index 10853a4cd261..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-no-super-layout.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-2000-09-10 Anthony Green <green@redhat.com>
-
- * class.c (layout_class): Handle case where superclass can't be
- layed out yet.
-
-*** gcc/java/class.c 2000/08/11 22:01:37 1.74
---- gcc/java/class.c 2000/09/11 00:43:33
-*************** layout_class (this_class)
-*** 1811,1818 ****
-
- if (super_class)
- {
-! super_class = maybe_layout_super_class (super_class, this_class);
-! if (TREE_CODE (TYPE_SIZE (super_class)) == ERROR_MARK)
- {
- TYPE_SIZE (this_class) = error_mark_node;
- CLASS_BEING_LAIDOUT (this_class) = 0;
---- 1811,1820 ----
-
- if (super_class)
- {
-! tree maybe_super_class
-! = maybe_layout_super_class (super_class, this_class);
-! if (maybe_super_class == NULL
-! || TREE_CODE (TYPE_SIZE (maybe_super_class)) == ERROR_MARK)
- {
- TYPE_SIZE (this_class) = error_mark_node;
- CLASS_BEING_LAIDOUT (this_class) = 0;
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-pg.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-pg.patch
deleted file mode 100644
index b87a5b340c38..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-java-pg.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Sun Aug 13 09:41:49 2000 Anthony Green <green@redhat.com>
-
- * check-init.c (check_init): Add case for BIT_FIELD_REF (required
- for -pg builds).
-
---- gcc/java/check-init.c 2000/06/22 05:17:33 1.23
-+++ gcc/java/check-init.c 2000/08/13 16:43:15
-@@ -611,6 +611,7 @@ check_init (exp, before)
- case BIT_NOT_EXPR:
- case CONVERT_EXPR:
- case COMPONENT_REF:
-+ case BIT_FIELD_REF:
- case NOP_EXPR:
- case FLOAT_EXPR:
- case FIX_TRUNC_EXPR:
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm1.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm1.patch
deleted file mode 100644
index 2510cfab41ab..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm1.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-2000-08-09 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c90-array-lval-1.c, gcc.dg/c90-scope-1.c,
- gcc.dg/c99-array-lval-1.c, gcc.dg/c99-const-expr-1.c,
- gcc.dg/c99-func-1.c, gcc.dg/c99-func-2.c, gcc.dg/c99-scope-1.c:
- New tests.
-
---- gcc/testsuite/gcc.dg/c90-array-lval-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c90-array-lval-1.c Wed Aug 9 19:43:51 2000
-@@ -0,0 +1,21 @@
-+/* Test for non-lvalue arrays decaying to pointers: in C99 only. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
-+
-+struct s { char c[1]; };
-+
-+extern struct s foo (void);
-+
-+void
-+bar (void)
-+{
-+ char *t;
-+ (foo ()).c[0]; /* { dg-bogus "warning" "warning in place of error" } */
-+ t = (foo ()).c; /* { dg-bogus "warning" "warning in place of error" } */
-+ (foo ()).c + 1; /* { dg-bogus "warning" "warning in place of error" } */
-+}
-+/* { dg-error "non-lvalue" "array not decaying to lvalue" { target *-*-* } 14 }
-+ { dg-error "non-lvalue" "array not decaying to lvalue" { target *-*-* } 15 }
-+ { dg-error "non-lvalue" "array not decaying to lvalue" { target *-*-* } 16 }
-+*/
---- gcc/testsuite/gcc.dg/c90-scope-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c90-scope-1.c Wed Aug 9 19:43:51 2000
-@@ -0,0 +1,34 @@
-+/* Test for new block scopes in C99. Inspired by C99 Rationale (N897). */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do run } */
-+/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
-+
-+struct foo {
-+ char a;
-+};
-+
-+extern void abort (void);
-+extern void exit (int);
-+
-+int
-+sfoo (void)
-+{
-+ if (sizeof (struct foo { int a; double b; char *c; void *d; }))
-+ (void) 0;
-+ return sizeof (struct foo);
-+}
-+
-+int
-+main (void)
-+{
-+ int t, u;
-+ t = sfoo ();
-+ u = sizeof (struct foo);
-+ /* With C90 scoping rules the new declaration of struct foo is in scope
-+ above; with C99 it is local to the if.
-+ */
-+ if (t == u)
-+ abort (); /* C99 rules apply. */
-+ else
-+ exit (0); /* C90 rules apply. */
-+}
---- gcc/testsuite/gcc.dg/c99-array-lval-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c99-array-lval-1.c Wed Aug 9 19:43:51 2000
-@@ -0,0 +1,17 @@
-+/* Test for non-lvalue arrays decaying to pointers: in C99 only. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+struct s { char c[1]; };
-+
-+extern struct s foo (void);
-+
-+void
-+bar (void)
-+{
-+ char *t;
-+ (foo ()).c[0]; /* { dg-bogus "non-lvalue" "array not decaying to lvalue" { xfail *-*-* } } */
-+ t = (foo ()).c; /* { dg-bogus "non-lvalue" "array not decaying to lvalue" { xfail *-*-* } } */
-+ (foo ()).c + 1; /* { dg-bogus "non-lvalue" "array not decaying to lvalue" { xfail *-*-* } } */
-+}
---- gcc/testsuite/gcc.dg/c99-const-expr-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c99-const-expr-1.c Wed Aug 9 19:43:51 2000
-@@ -0,0 +1,16 @@
-+/* Test for constraints on constant expressions. In C90 it is clear that
-+ certain constructs are not permitted in unevaluated parts of an
-+ expression (except in sizeof); in C99 it might fall within implementation
-+ latitude; and if the operands are suitable, diagnostics should not be
-+ issued.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk>; inspired by
-+ http://deja.com/getdoc.xp?AN=524271595&fmt=text by Peter Seebach.
-+*/
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+/* The comma operator is in a subexpression that is not evaluated, so OK
-+ by C99. In C90 a diagnostic is required since it is not in a sizeof.
-+*/
-+int i = (1 ? 0 : (2, 3));
---- gcc/testsuite/gcc.dg/c99-func-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c99-func-1.c Wed Aug 9 19:43:51 2000
-@@ -0,0 +1,17 @@
-+/* Test for C99 __func__. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do run } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+extern void abort (void);
-+extern int strcmp (const char *, const char *);
-+extern void exit (int);
-+
-+int
-+main (void)
-+{
-+ if (strcmp (__func__, "main") || sizeof (__func__) != 5)
-+ abort ();
-+ else
-+ exit (0);
-+}
---- gcc/testsuite/gcc.dg/c99-func-2.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c99-func-2.c Wed Aug 9 19:43:51 2000
-@@ -0,0 +1,11 @@
-+/* Test for C99 __func__: not a string constant. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+void
-+foo (void)
-+{
-+ __func__ "foo"; /* { dg-bogus "warning" "warning in place of error" } */
-+ /* { dg-error "parse error" "__func__ not string constant" { xfail *-*-* } 9 } */
-+}
---- gcc/testsuite/gcc.dg/c99-scope-1.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c99-scope-1.c Wed Aug 9 19:43:51 2000
-@@ -0,0 +1,34 @@
-+/* Test for new block scopes in C99. Inspired by C99 Rationale (N897). */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do run { xfail *-*-* } } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+struct foo {
-+ char a;
-+};
-+
-+extern void abort (void);
-+extern void exit (int);
-+
-+int
-+sfoo (void)
-+{
-+ if (sizeof (struct foo { int a; double b; char *c; void *d; }))
-+ (void) 0;
-+ return sizeof (struct foo);
-+}
-+
-+int
-+main (void)
-+{
-+ int t, u;
-+ t = sfoo ();
-+ u = sizeof (struct foo);
-+ /* With C90 scoping rules the new declaration of struct foo is in scope
-+ above; with C99 it is local to the if.
-+ */
-+ if (t == u)
-+ exit (0); /* C99 rules apply. */
-+ else
-+ abort (); /* C90 rules apply. */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm2.patch
deleted file mode 100644
index 61d0e3c734a3..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm2.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-2000-08-15 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c90-array-lval-2.c, gcc.dg/c90-const-expr-2.c,
- gcc.dg/c99-array-lval-2.c, gcc.dg/c99-const-expr-2.c,
- gcc.dg/c99-func-3.c, gcc.dg/c99-func-4.c: New tests.
-
---- gcc/testsuite/gcc.dg/c90-array-lval-2.c.jj Wed Aug 23 14:21:27 2000
-+++ gcc/testsuite/gcc.dg/c90-array-lval-2.c Wed Aug 23 14:21:27 2000
-@@ -0,0 +1,20 @@
-+/* Test for non-lvalue arrays decaying to pointers: in C99 only. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic-errors" } */
-+
-+struct s { char c[17]; };
-+
-+struct s x;
-+
-+extern struct s foo (void);
-+
-+#define ASSERT(v, a) char v[((a) ? 1 : -1)]
-+
-+ASSERT (p, sizeof (x.c) == 17);
-+ASSERT (q, sizeof (0, x.c) == sizeof (char *));
-+ASSERT (r, sizeof ((foo ()).c) == 17);
-+/* The non-lvalue array does not decay to a pointer, so the comma expression
-+ has (non-lvalue) array type.
-+*/
-+ASSERT (s, sizeof (0, (foo ()).c) == 17); /* { dg-bogus "array" "bad non-lvalue array handling" { xfail *-*-* } } */
---- gcc/testsuite/gcc.dg/c90-const-expr-2.c.jj Wed Aug 23 14:21:27 2000
-+++ gcc/testsuite/gcc.dg/c90-const-expr-2.c Wed Aug 23 14:21:27 2000
-@@ -0,0 +1,36 @@
-+/* Test for constant expressions: details of what is a null pointer
-+ constant.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990" } */
-+/* Note: not using -pedantic since the -std option alone should be enough
-+ to give the correct behavior to conforming programs. If -pedantic is
-+ needed to make (say) (0, 0) not be a constant expression, this is a
-+ bug.
-+*/
-+
-+int *a;
-+int b;
-+long *c;
-+
-+/* Assertion that n is a null pointer constant: so the conditional expression
-+ has type 'int *' instead of 'void *'.
-+*/
-+#define ASSERT_NPC(n) (b = *(1 ? a : (n)))
-+/* Assertion that n is not a null pointer constant: so the conditional
-+ expresions has type 'void *' instead of 'int *'.
-+*/
-+#define ASSERT_NOT_NPC(n) (c = (1 ? a : (n)))
-+
-+void
-+foo (void)
-+{
-+ ASSERT_NPC (0);
-+ ASSERT_NPC ((void *)0);
-+ ASSERT_NOT_NPC ((void *)(void *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
-+ ASSERT_NOT_NPC ((void *)(char *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
-+ ASSERT_NOT_NPC ((void *)(0, 0)); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
-+ /* This last one is a null pointer constant in C99 only. */
-+ ASSERT_NOT_NPC ((void *)(1 ? 0 : (0, 0))); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
-+}
---- gcc/testsuite/gcc.dg/c99-array-lval-2.c.jj Wed Aug 23 14:21:27 2000
-+++ gcc/testsuite/gcc.dg/c99-array-lval-2.c Wed Aug 23 14:21:27 2000
-@@ -0,0 +1,18 @@
-+/* Test for non-lvalue arrays decaying to pointers: in C99 only. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+struct s { char c[17]; };
-+
-+struct s x;
-+
-+extern struct s foo (void);
-+
-+#define ASSERT(v, a) char v[((a) ? 1 : -1)]
-+
-+ASSERT (p, sizeof (x.c) == 17);
-+ASSERT (q, sizeof (0, x.c) == sizeof (char *));
-+ASSERT (r, sizeof ((foo ()).c) == 17);
-+/* The non-lvalue array decays to a pointer in C99. */
-+ASSERT (s, sizeof (0, (foo ()).c) == sizeof (char *)); /* { dg-bogus "array" "bad non-lvalue array handling" { xfail *-*-* } } */
---- gcc/testsuite/gcc.dg/c99-const-expr-2.c.jj Wed Aug 23 14:21:27 2000
-+++ gcc/testsuite/gcc.dg/c99-const-expr-2.c Wed Aug 23 14:21:27 2000
-@@ -0,0 +1,36 @@
-+/* Test for constant expressions: details of what is a null pointer
-+ constant.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999" } */
-+/* Note: not using -pedantic since the -std option alone should be enough
-+ to give the correct behavior to conforming programs. If -pedantic is
-+ needed to make (say) (0, 0) not be a constant expression, this is a
-+ bug.
-+*/
-+
-+int *a;
-+int b;
-+long *c;
-+
-+/* Assertion that n is a null pointer constant: so the conditional expression
-+ has type 'int *' instead of 'void *'.
-+*/
-+#define ASSERT_NPC(n) (b = *(1 ? a : (n)))
-+/* Assertion that n is not a null pointer constant: so the conditional
-+ expresions has type 'void *' instead of 'int *'.
-+*/
-+#define ASSERT_NOT_NPC(n) (c = (1 ? a : (n)))
-+
-+void
-+foo (void)
-+{
-+ ASSERT_NPC (0);
-+ ASSERT_NPC ((void *)0);
-+ ASSERT_NOT_NPC ((void *)(void *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
-+ ASSERT_NOT_NPC ((void *)(char *)0); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
-+ ASSERT_NOT_NPC ((void *)(0, 0)); /* { dg-bogus "incompatible" "bogus null pointer constant" { xfail *-*-* } } */
-+ /* This last one is a null pointer constant in C99 only. */
-+ ASSERT_NPC ((void *)(1 ? 0 : (0, 0)));
-+}
---- gcc/testsuite/gcc.dg/c99-func-3.c.jj Wed Aug 23 14:21:27 2000
-+++ gcc/testsuite/gcc.dg/c99-func-3.c Wed Aug 23 14:21:27 2000
-@@ -0,0 +1,16 @@
-+/* Test for C99 __func__: not merging with string literals. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do run { xfail *-*-* } } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+extern void abort (void);
-+extern void exit (int);
-+
-+int
-+main (void)
-+{
-+ if ("main" == __func__)
-+ abort ();
-+ else
-+ exit (0);
-+}
---- gcc/testsuite/gcc.dg/c99-func-4.c.jj Wed Aug 23 14:21:27 2000
-+++ gcc/testsuite/gcc.dg/c99-func-4.c Wed Aug 23 14:21:27 2000
-@@ -0,0 +1,10 @@
-+/* Test for C99 __func__: of type const char []. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
-+
-+void
-+foo (void)
-+{
-+ char *p = __func__; /* { dg-error "discards" "__func__ pointer to const" { xfail *-*-* } } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm3.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm3.patch
deleted file mode 100644
index 2bc3972b2108..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm3.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-2000-08-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/format-va-1.c: New test.
-
---- gcc/testsuite/gcc.dg/format-va-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/format-va-1.c Fri Aug 18 01:31:57 2000
-@@ -0,0 +1,13 @@
-+/* Test for strange warning in format checking. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-Wformat" } */
-+
-+extern int printf (const char *, ...);
-+
-+void
-+foo (void *p)
-+{
-+ printf ("%d", p); /* { dg-bogus "va_list" "wrong type in format warning" } */
-+ /* { dg-warning "format" "format error" { target *-*-* } 11 } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm4.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm4.patch
deleted file mode 100644
index e5cde49d9df6..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm4.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-gcc/ChangeLog:
-2000-08-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-tree.h (flag_hosted): Move declaration from here...
- * c-common.h (flag_hosted): ... to here.
- (flag_noniso_default_format_attributes): New declaration.
- * c-decl.c (flag_noniso_default_format_attributes): New variable.
- (c_decode_option): Set it appropriately for options choosing
- language standard variant.
- * c-common.c (init_function_format_info): Only provide default
- format attributes if flag_hosted. Only provide the gettext
- formats if flag_noniso_default_format_attributes. Update
- comments.
- (check_format_info): Disable treatment of %a as a scanf flag in
- C99 mode.
-
-gcc/cp/ChangeLog:
-2000-08-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * decl.c (flag_hosted, flag_noniso_default_format_attributes): New
- variables.
- * decl2.c (lang_decode_option): Disable gettext attributes for
- -ansi.
-
---- gcc/c-common.c Fri Aug 18 17:15:28 2000
-+++ gcc/c-common.c Fri Aug 18 21:22:52 2000
-@@ -1325,11 +1325,13 @@ static international_format_info *intern
- static void check_format_info PARAMS ((function_format_info *, tree));
-
- /* Initialize the table of functions to perform format checking on.
-- The ANSI functions are always checked (whether <stdio.h> is
-+ The ISO C functions are always checked (whether <stdio.h> is
- included or not), since it is common to call printf without
- including <stdio.h>. There shouldn't be a problem with this,
-- since ANSI reserves these function names whether you include the
-- header file or not. In any case, the checking is harmless.
-+ since ISO C reserves these function names whether you include the
-+ header file or not. In any case, the checking is harmless. With
-+ -ffreestanding, these default attributes are disabled, and must be
-+ specified manually if desired.
-
- Also initialize the name of function that modify the format string for
- internationalization purposes. */
-@@ -1337,28 +1339,32 @@ static void check_format_info PARAMS ((f
- void
- init_function_format_info ()
- {
-- record_function_format (get_identifier ("printf"), NULL_TREE,
-- printf_format_type, 1, 2);
-- record_function_format (get_identifier ("fprintf"), NULL_TREE,
-- printf_format_type, 2, 3);
-- record_function_format (get_identifier ("sprintf"), NULL_TREE,
-- printf_format_type, 2, 3);
-- record_function_format (get_identifier ("scanf"), NULL_TREE,
-- scanf_format_type, 1, 2);
-- record_function_format (get_identifier ("fscanf"), NULL_TREE,
-- scanf_format_type, 2, 3);
-- record_function_format (get_identifier ("sscanf"), NULL_TREE,
-- scanf_format_type, 2, 3);
-- record_function_format (get_identifier ("vprintf"), NULL_TREE,
-- printf_format_type, 1, 0);
-- record_function_format (get_identifier ("vfprintf"), NULL_TREE,
-- printf_format_type, 2, 0);
-- record_function_format (get_identifier ("vsprintf"), NULL_TREE,
-- printf_format_type, 2, 0);
-- record_function_format (get_identifier ("strftime"), NULL_TREE,
-- strftime_format_type, 3, 0);
-+ if (flag_hosted)
-+ {
-+ /* Functions from ISO/IEC 9899:1990. */
-+ record_function_format (get_identifier ("printf"), NULL_TREE,
-+ printf_format_type, 1, 2);
-+ record_function_format (get_identifier ("fprintf"), NULL_TREE,
-+ printf_format_type, 2, 3);
-+ record_function_format (get_identifier ("sprintf"), NULL_TREE,
-+ printf_format_type, 2, 3);
-+ record_function_format (get_identifier ("scanf"), NULL_TREE,
-+ scanf_format_type, 1, 2);
-+ record_function_format (get_identifier ("fscanf"), NULL_TREE,
-+ scanf_format_type, 2, 3);
-+ record_function_format (get_identifier ("sscanf"), NULL_TREE,
-+ scanf_format_type, 2, 3);
-+ record_function_format (get_identifier ("vprintf"), NULL_TREE,
-+ printf_format_type, 1, 0);
-+ record_function_format (get_identifier ("vfprintf"), NULL_TREE,
-+ printf_format_type, 2, 0);
-+ record_function_format (get_identifier ("vsprintf"), NULL_TREE,
-+ printf_format_type, 2, 0);
-+ record_function_format (get_identifier ("strftime"), NULL_TREE,
-+ strftime_format_type, 3, 0);
-+ }
-
-- if (flag_isoc99)
-+ if (flag_hosted && flag_isoc99)
- {
- /* ISO C99 adds the snprintf and vscanf family functions. */
- record_function_format (get_identifier ("snprintf"), NULL_TREE,
-@@ -1373,9 +1379,13 @@ init_function_format_info ()
- scanf_format_type, 2, 0);
- }
-
-- record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
-- record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-- record_international_format (get_identifier ("dcgettext"), NULL_TREE, 2);
-+ if (flag_hosted && flag_noniso_default_format_attributes)
-+ {
-+ /* Uniforum/GNU gettext functions, not in ISO C. */
-+ record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
-+ record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-+ record_international_format (get_identifier ("dcgettext"), NULL_TREE, 2);
-+ }
- }
-
- /* Record information for argument format checking. FUNCTION_IDENT is
-@@ -1863,7 +1873,8 @@ check_format_info (info, params)
- if (pedantic && !flag_isoc99)
- warning ("ISO C89 does not support the `hh' length modifier");
- }
-- if (*format_chars == 'a' && info->format_type == scanf_format_type)
-+ if (*format_chars == 'a' && info->format_type == scanf_format_type
-+ && !flag_isoc99)
- {
- if (format_chars[1] == 's' || format_chars[1] == 'S'
- || format_chars[1] == '[')
---- gcc/c-common.h Sun Aug 6 18:08:43 2000
-+++ gcc/c-common.h Fri Aug 18 21:17:36 2000
-@@ -195,6 +195,15 @@ extern int flag_isoc99;
-
- extern int flag_digraphs;
-
-+/* Nonzero means environment is hosted (i.e., not freestanding) */
-+
-+extern int flag_hosted;
-+
-+/* Nonzero means add default format_arg attributes for functions not
-+ in ISO C. */
-+
-+extern int flag_noniso_default_format_attributes;
-+
- /* Nonzero means warn about suggesting putting in ()'s. */
-
- extern int warn_parentheses;
---- gcc/c-decl.c Fri Aug 11 08:27:55 2000
-+++ gcc/c-decl.c Fri Aug 18 21:14:21 2000
-@@ -345,6 +345,11 @@ int flag_digraphs = 1;
-
- int flag_hosted = 1;
-
-+/* Nonzero means add default format_arg attributes for functions not
-+ in ISO C. */
-+
-+int flag_noniso_default_format_attributes = 1;
-+
- /* Nonzero means to allow single precision math even if we're generally
- being traditional. */
- int flag_allow_single_precision = 0;
-@@ -550,6 +555,7 @@ c_decode_option (argc, argv)
- flag_writable_strings = 0;
- flag_no_asm = 1;
- flag_no_nonansi_builtin = 1;
-+ flag_noniso_default_format_attributes = 0;
- flag_isoc99 = 0;
- }
- else if (!strcmp (argstart, "iso9899:199409"))
-@@ -567,6 +573,7 @@ c_decode_option (argc, argv)
- flag_writable_strings = 0;
- flag_no_asm = 1;
- flag_no_nonansi_builtin = 1;
-+ flag_noniso_default_format_attributes = 0;
- flag_isoc99 = 1;
- flag_digraphs = 1;
- flag_isoc94 = 1;
-@@ -577,6 +584,7 @@ c_decode_option (argc, argv)
- flag_writable_strings = 0;
- flag_no_asm = 0;
- flag_no_nonansi_builtin = 0;
-+ flag_noniso_default_format_attributes = 1;
- flag_isoc99 = 0;
- flag_digraphs = 1;
- flag_isoc94 = 0;
-@@ -587,6 +595,7 @@ c_decode_option (argc, argv)
- flag_writable_strings = 0;
- flag_no_asm = 0;
- flag_no_nonansi_builtin = 0;
-+ flag_noniso_default_format_attributes = 1;
- flag_isoc99 = 1;
- flag_digraphs = 1;
- flag_isoc94 = 1;
---- gcc/c-tree.h Fri Aug 4 08:30:40 2000
-+++ gcc/c-tree.h Fri Aug 18 21:16:53 2000
-@@ -299,10 +299,6 @@ extern int flag_cond_mismatch;
-
- extern int flag_no_asm;
-
--/* Nonzero means environment is hosted (i.e., not freestanding) */
--
--extern int flag_hosted;
--
- /* Nonzero means warn about implicit declarations. */
-
- extern int warn_implicit;
---- gcc/cp/decl.c Fri Aug 18 17:15:28 2000
-+++ gcc/cp/decl.c Fri Aug 18 21:12:54 2000
-@@ -345,6 +345,15 @@ int flag_isoc94;
-
- int flag_isoc99;
-
-+/* Nonzero means we are a hosted implementation for code shared with C. */
-+
-+int flag_hosted = 1;
-+
-+/* Nonzero means add default format_arg attributes for functions not
-+ in ISO C. */
-+
-+int flag_noniso_default_format_attributes = 1;
-+
- /* Nonzero means give `double' the same size as `float'. */
-
- extern int flag_short_double;
---- gcc/cp/decl2.c Fri Aug 18 10:23:17 2000
-+++ gcc/cp/decl2.c Fri Aug 18 21:15:35 2000
-@@ -822,7 +822,7 @@ lang_decode_option (argc, argv)
- }
- else if (!strcmp (p, "-ansi"))
- flag_no_nonansi_builtin = 1, flag_ansi = 1,
-- flag_no_gnu_keywords = 1;
-+ flag_noniso_default_format_attributes = 0, flag_no_gnu_keywords = 1;
- #ifdef SPEW_DEBUG
- /* Undocumented, only ever used when you're invoking cc1plus by hand, since
- it's probably safe to assume no sane person would ever want to use this
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm5.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm5.patch
deleted file mode 100644
index abd5568172b0..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm5.patch
+++ /dev/null
@@ -1,1009 +0,0 @@
-gcc/ChangeLog:
-2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.c (init_dollar_format_checking,
- maybe_read_dollar_number, finish_dollar_format_checking): New
- functions.
- (dollar_arguments_used, dollar_arguments_count,
- dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
- New variables.
- (check_format_info): Support $ formats for scanf and printf width
- and precision. Always increment format_chars to advance past the
- '*' of precision, not just when the format parameters are
- available to check.
-
-gcc/testsuite/ChangeLog:
-2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c90-printf-3.c, gcc.dg/c90-scanf-2.c,
- gcc.dg/c90-scanf-3.c, gcc.dg/c90-scanf-4.c,
- gcc.dg/c90-strftime-1.c, gcc.dg/c99-printf-3.c,
- gcc.dg/c99-scanf-1.c, gcc.dg/c99-scanf-2.c, gcc.dg/c99-scanf-3.c,
- gcc.dg/format-xopen-1.c: New tests.
-
---- gcc/c-common.c Sun Aug 20 19:34:46 2000
-+++ gcc/c-common.c Sun Aug 20 22:15:15 2000
-@@ -1324,6 +1324,11 @@ static international_format_info *intern
-
- static void check_format_info PARAMS ((function_format_info *, tree));
-
-+static void init_dollar_format_checking PARAMS ((int, tree));
-+static int maybe_read_dollar_number PARAMS ((const char **, int,
-+ tree, tree *));
-+static void finish_dollar_format_checking PARAMS ((void));
-+
- /* Initialize the table of functions to perform format checking on.
- The ISO C functions are always checked (whether <stdio.h> is
- included or not), since it is common to call printf without
-@@ -1501,6 +1506,169 @@ check_function_format (name, assembler_n
- }
- }
-
-+
-+/* Variables used by the checking of $ operand number formats. */
-+static char *dollar_arguments_used = NULL;
-+static int dollar_arguments_alloc = 0;
-+static int dollar_arguments_count;
-+static int dollar_first_arg_num;
-+static int dollar_max_arg_used;
-+static int dollar_format_warned;
-+
-+/* Initialize the checking for a format string that may contain $
-+ parameter number specifications; we will need to keep track of whether
-+ each parameter has been used. FIRST_ARG_NUM is the number of the first
-+ argument that is a parameter to the format, or 0 for a vprintf-style
-+ function; PARAMS is the list of arguments starting at this argument. */
-+
-+static void
-+init_dollar_format_checking (first_arg_num, params)
-+ int first_arg_num;
-+ tree params;
-+{
-+ dollar_first_arg_num = first_arg_num;
-+ dollar_arguments_count = 0;
-+ dollar_max_arg_used = 0;
-+ dollar_format_warned = 0;
-+ if (first_arg_num > 0)
-+ {
-+ while (params)
-+ {
-+ dollar_arguments_count++;
-+ params = TREE_CHAIN (params);
-+ }
-+ }
-+ if (dollar_arguments_alloc < dollar_arguments_count)
-+ {
-+ if (dollar_arguments_used)
-+ free (dollar_arguments_used);
-+ dollar_arguments_alloc = dollar_arguments_count;
-+ dollar_arguments_used = xmalloc (dollar_arguments_alloc);
-+ }
-+ if (dollar_arguments_alloc)
-+ memset (dollar_arguments_used, 0, dollar_arguments_alloc);
-+}
-+
-+
-+/* Look for a decimal number followed by a $ in *FORMAT. If DOLLAR_NEEDED
-+ is set, it is an error if one is not found; otherwise, it is OK. If
-+ such a number is found, check whether it is within range and mark that
-+ numbered operand as being used for later checking. Returns the operand
-+ number if found and within range, zero if no such number was found and
-+ this is OK, or -1 on error. PARAMS points to the first operand of the
-+ format; PARAM_PTR is made to point to the parameter referred to. If
-+ a $ format is found, *FORMAT is updated to point just after it. */
-+
-+static int
-+maybe_read_dollar_number (format, dollar_needed, params, param_ptr)
-+ const char **format;
-+ int dollar_needed;
-+ tree params;
-+ tree *param_ptr;
-+{
-+ int argnum;
-+ int overflow_flag;
-+ const char *fcp = *format;
-+ if (*fcp < '0' || *fcp > '9')
-+ {
-+ if (dollar_needed)
-+ {
-+ warning ("missing $ operand number in format");
-+ return -1;
-+ }
-+ else
-+ return 0;
-+ }
-+ argnum = 0;
-+ overflow_flag = 0;
-+ while (*fcp >= '0' && *fcp <= '9')
-+ {
-+ int nargnum;
-+ nargnum = 10 * argnum + (*fcp - '0');
-+ if (nargnum < 0 || nargnum / 10 != argnum)
-+ overflow_flag = 1;
-+ argnum = nargnum;
-+ fcp++;
-+ }
-+ if (*fcp != '$')
-+ {
-+ if (dollar_needed)
-+ {
-+ warning ("missing $ operand number in format");
-+ return -1;
-+ }
-+ else
-+ return 0;
-+ }
-+ *format = fcp + 1;
-+ if (pedantic && !dollar_format_warned)
-+ {
-+ warning ("ISO C does not support %%n$ operand number formats");
-+ dollar_format_warned = 1;
-+ }
-+ if (overflow_flag || argnum == 0
-+ || (dollar_first_arg_num && argnum > dollar_arguments_count))
-+ {
-+ warning ("operand number out of range in format");
-+ return -1;
-+ }
-+ if (argnum > dollar_max_arg_used)
-+ dollar_max_arg_used = argnum;
-+ /* For vprintf-style functions we may need to allocate more memory to
-+ track which arguments are used. */
-+ while (dollar_arguments_alloc < dollar_max_arg_used)
-+ {
-+ int nalloc;
-+ nalloc = 2 * dollar_arguments_alloc + 16;
-+ dollar_arguments_used = xrealloc (dollar_arguments_used, nalloc);
-+ memset (dollar_arguments_used + dollar_arguments_alloc, 0,
-+ nalloc - dollar_arguments_alloc);
-+ dollar_arguments_alloc = nalloc;
-+ }
-+ dollar_arguments_used[argnum - 1] = 1;
-+ if (dollar_first_arg_num)
-+ {
-+ int i;
-+ *param_ptr = params;
-+ for (i = 1; i < argnum && *param_ptr != 0; i++)
-+ *param_ptr = TREE_CHAIN (*param_ptr);
-+
-+ if (*param_ptr == 0)
-+ {
-+ /* This case shouldn't be caught here. */
-+ abort ();
-+ }
-+ }
-+ else
-+ *param_ptr = 0;
-+ return argnum;
-+}
-+
-+
-+/* Finish the checking for a format string that used $ operand number formats
-+ instead of non-$ formats. We check for unused operands before used ones
-+ (a serious error, since the implementation of the format function
-+ can't know what types to pass to va_arg to find the later arguments).
-+ and for unused operands at the end of the format (if we know how many
-+ arguments the format had, so not for vprintf). If there were operand
-+ numbers out of range on a non-vprintf-style format, we won't have reached
-+ here. */
-+
-+static void
-+finish_dollar_format_checking ()
-+{
-+ int i;
-+ for (i = 0; i < dollar_max_arg_used; i++)
-+ {
-+ if (!dollar_arguments_used[i])
-+ warning ("format argument %d unused before used argument %d in $-style format",
-+ i + 1, dollar_max_arg_used);
-+ }
-+ if (dollar_first_arg_num && dollar_max_arg_used < dollar_arguments_count)
-+ warning ("unused arguments in $-style format");
-+}
-+
-+
- /* Check the argument list of a call to printf, scanf, etc.
- INFO points to the function_format_info structure.
- PARAMS is the list of argument values. */
-@@ -1524,7 +1692,9 @@ check_format_info (info, params)
- const char *format_chars;
- format_char_info *fci = NULL;
- char flag_chars[8];
-- int has_operand_number = 0;
-+ /* -1 if no conversions taking an operand have been found; 0 if one has
-+ and it didn't use $; 1 if $ formats are in use. */
-+ int has_operand_number = -1;
-
- /* Skip to format argument. If the argument isn't available, there's
- no work for us to do; prototype checking will catch the problem. */
-@@ -1624,6 +1794,7 @@ check_format_info (info, params)
- }
-
- first_fillin_param = params;
-+ init_dollar_format_checking (info->first_arg_num, first_fillin_param);
- while (1)
- {
- int aflag;
-@@ -1633,8 +1804,11 @@ check_format_info (info, params)
- {
- if (format_chars - TREE_STRING_POINTER (format_tree) != format_length)
- warning ("embedded `\\0' in format");
-- if (info->first_arg_num != 0 && params != 0 && ! has_operand_number)
-+ if (info->first_arg_num != 0 && params != 0
-+ && has_operand_number <= 0)
- warning ("too many arguments for format");
-+ if (has_operand_number > 0)
-+ finish_dollar_format_checking ();
- return;
- }
- if (*format_chars++ != '%')
-@@ -1657,6 +1831,22 @@ check_format_info (info, params)
- suppressed = *format_chars == '*';
- if (suppressed)
- ++format_chars;
-+ else if (has_operand_number != 0)
-+ {
-+ int opnum;
-+ opnum = maybe_read_dollar_number (&format_chars,
-+ has_operand_number == 1,
-+ first_fillin_param, &params);
-+ if (opnum == -1)
-+ return;
-+ else if (opnum > 0)
-+ {
-+ has_operand_number = 1;
-+ arg_num = opnum + info->first_arg_num - 1;
-+ }
-+ else
-+ has_operand_number = 0;
-+ }
- while (ISDIGIT (*format_chars))
- {
- wide = TRUE;
-@@ -1709,35 +1899,21 @@ check_format_info (info, params)
- }
- else if (info->format_type == printf_format_type)
- {
-- /* See if we have a number followed by a dollar sign. If we do,
-- it is an operand number, so set PARAMS to that operand. */
-- if (*format_chars >= '0' && *format_chars <= '9')
-+ if (has_operand_number != 0)
- {
-- const char *p = format_chars;
--
-- while (*p >= '0' && *p++ <= '9')
-- ;
--
-- if (*p == '$')
-+ int opnum;
-+ opnum = maybe_read_dollar_number (&format_chars,
-+ has_operand_number == 1,
-+ first_fillin_param, &params);
-+ if (opnum == -1)
-+ return;
-+ else if (opnum > 0)
- {
-- int opnum = atoi (format_chars);
--
-- if (pedantic)
-- warning ("ISO C does not support printf %%n$");
--
-- params = first_fillin_param;
-- format_chars = p + 1;
- has_operand_number = 1;
--
-- for (i = 1; i < opnum && params != 0; i++)
-- params = TREE_CHAIN (params);
--
-- if (opnum == 0 || params == 0)
-- {
-- warning ("operand number out of range in format");
-- return;
-- }
-+ arg_num = opnum + info->first_arg_num - 1;
- }
-+ else
-+ has_operand_number = 0;
- }
-
- while (*format_chars != 0 && index (" +#0-'", *format_chars) != 0)
-@@ -1774,11 +1950,25 @@ check_format_info (info, params)
- tfaff ();
- return;
- }
-+ if (has_operand_number > 0)
-+ {
-+ int opnum;
-+ opnum = maybe_read_dollar_number (&format_chars, 1,
-+ first_fillin_param,
-+ &params);
-+ if (opnum <= 0)
-+ return;
-+ else
-+ arg_num = opnum + info->first_arg_num - 1;
-+ }
- if (info->first_arg_num != 0)
- {
- cur_param = TREE_VALUE (params);
-- params = TREE_CHAIN (params);
-- ++arg_num;
-+ if (has_operand_number <= 0)
-+ {
-+ params = TREE_CHAIN (params);
-+ ++arg_num;
-+ }
- /* size_t is generally not valid here.
- It will work on most machines, because size_t and int
- have the same mode. But might as well warn anyway,
-@@ -1807,17 +1997,31 @@ check_format_info (info, params)
- In this case, an int argument supplies the...precision." */
- if (*format_chars == '*')
- {
-+ ++format_chars;
-+ if (has_operand_number > 0)
-+ {
-+ int opnum;
-+ opnum = maybe_read_dollar_number (&format_chars, 1,
-+ first_fillin_param,
-+ &params);
-+ if (opnum <= 0)
-+ return;
-+ else
-+ arg_num = opnum + info->first_arg_num - 1;
-+ }
- if (info->first_arg_num != 0)
- {
-- ++format_chars;
- if (params == 0)
- {
- tfaff ();
- return;
- }
- cur_param = TREE_VALUE (params);
-- params = TREE_CHAIN (params);
-- ++arg_num;
-+ if (has_operand_number <= 0)
-+ {
-+ params = TREE_CHAIN (params);
-+ ++arg_num;
-+ }
- if ((TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
- != integer_type_node)
- &&
---- gcc/testsuite/gcc.dg/c90-printf-3.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c90-printf-3.c Sun Aug 20 21:24:20 2000
-@@ -0,0 +1,60 @@
-+/* Test for printf formats. Test that the C90 functions get their default
-+ attributes in strict C90 mode, but the C99 and gettext functions
-+ do not.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+/* This may not be correct in the particular case, but allows the
-+ prototypes to be declared, and we don't try to link.
-+*/
-+typedef struct _FILE FILE;
-+extern FILE *stdout;
-+
-+typedef __SIZE_TYPE__ size_t;
-+typedef __builtin_va_list va_list;
-+
-+extern int fprintf (FILE *, const char *, ...);
-+extern int printf (const char *, ...);
-+extern int sprintf (char *, const char *, ...);
-+extern int vfprintf (FILE *, const char *, va_list);
-+extern int vprintf (const char *, va_list);
-+extern int vsprintf (char *, const char *, va_list);
-+
-+extern int snprintf (char *, size_t, const char *, ...);
-+extern int vsnprintf (char *, size_t, const char *, va_list);
-+
-+extern char *gettext (const char *);
-+extern char *dgettext (const char *, const char *);
-+extern char *dcgettext (const char *, const char *, int);
-+
-+void
-+foo (int i, char *s, size_t n, va_list v0, va_list v1, va_list v2, va_list v3,
-+ va_list v4, va_list v5, va_list v6, va_list v7, va_list v8)
-+{
-+ fprintf (stdout, "%d", i);
-+ fprintf (stdout, "%ld", i); /* { dg-warning "format" "fprintf" } */
-+ printf ("%d", i);
-+ printf ("%ld", i); /* { dg-warning "format" "printf" } */
-+ sprintf (s, "%d", i);
-+ sprintf (s, "%ld", i); /* { dg-warning "format" "sprintf" } */
-+ vfprintf (stdout, "%d", v0);
-+ vfprintf (stdout, "%Y", v1); /* { dg-warning "format" "vfprintf" } */
-+ vprintf ("%d", v2);
-+ vprintf ("%Y", v3); /* { dg-warning "format" "vprintf" } */
-+ /* The following used to give a bogus warning. */
-+ vprintf ("%*.*d", v8);
-+ vsprintf (s, "%d", v4);
-+ vsprintf (s, "%Y", v5); /* { dg-warning "format" "vsprintf" } */
-+ snprintf (s, n, "%d", i);
-+ snprintf (s, n, "%ld", i);
-+ vsnprintf (s, n, "%d", v6);
-+ vsnprintf (s, n, "%Y", v7);
-+ printf (gettext ("%d"), i);
-+ printf (gettext ("%ld"), i);
-+ printf (dgettext ("", "%d"), i);
-+ printf (dgettext ("", "%ld"), i);
-+ printf (dcgettext ("", "%d", 0), i);
-+ printf (dcgettext ("", "%ld", 0), i);
-+}
---- gcc/testsuite/gcc.dg/c90-scanf-2.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c90-scanf-2.c Fri Aug 18 22:02:24 2000
-@@ -0,0 +1,37 @@
-+/* Test for scanf formats. Formats using C99 features should be rejected
-+ outside of C99 mode.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+
-+__extension__ typedef long long int llong;
-+
-+/* This next definition is broken. When GCC has a <stdint.h> and
-+ an internal understanding of intmax_t, it should be
-+ replaced by an include of <stdint.h> or by a definition for internal
-+ macros or typedefs.
-+*/
-+__extension__ typedef long long int intmax_t;
-+
-+extern int scanf (const char *, ...);
-+
-+void
-+foo (signed char *hhp, float *fp, llong *llp, intmax_t *jp,
-+ size_t *zp, ptrdiff_t *tp)
-+{
-+ /* Some tests already in c90-scanf-1.c. */
-+ /* The widths hh, ll, j, z, t are new. */
-+ scanf ("%hhd", hhp); /* { dg-warning "length character|C" "%hh in C90" } */
-+ scanf ("%lld", llp); /* { dg-warning "length character|C" "%ll in C90" } */
-+ scanf ("%jd", jp); /* { dg-warning "length character|C" "%j in C90" } */
-+ scanf ("%zu", zp); /* { dg-warning "length character|C" "%z in C90" } */
-+ scanf ("%td", tp); /* { dg-warning "length character|C" "%t in C90" } */
-+ /* The formats F, a, A are new. */
-+ scanf ("%F", fp); /* { dg-warning "C" "%F in C90" } */
-+ scanf ("%a", fp); /* { dg-warning "C" "%a in C90" } */
-+ scanf ("%A", fp); /* { dg-warning "C" "%A in C90" } */
-+}
---- gcc/testsuite/gcc.dg/c90-scanf-3.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c90-scanf-3.c Sat Aug 19 18:50:07 2000
-@@ -0,0 +1,21 @@
-+/* Test for scanf formats. Formats using extensions to the standard
-+ should be rejected in strict pedantic mode.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+
-+extern int scanf (const char *, ...);
-+
-+void
-+foo (char **sp, wchar_t **lsp)
-+{
-+ /* %a formats for allocation, only recognised in C90 mode, are a
-+ GNU extension.
-+ */
-+ scanf ("%as", sp); /* { dg-warning "C" "%as" } */
-+ scanf ("%aS", lsp); /* { dg-warning "C" "%aS" } */
-+ scanf ("%a[bcd]", sp); /* { dg-warning "C" "%a[]" } */
-+}
---- gcc/testsuite/gcc.dg/c90-scanf-4.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c90-scanf-4.c Sun Aug 20 01:26:02 2000
-@@ -0,0 +1,51 @@
-+/* Test for scanf formats. Test that the C90 functions get their default
-+ attributes in strict C90 mode, but the C99 and gettext functions
-+ do not.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+/* This may not be correct in the particular case, but allows the
-+ prototypes to be declared, and we don't try to link.
-+*/
-+typedef struct _FILE FILE;
-+extern FILE *stdin;
-+
-+typedef __builtin_va_list va_list;
-+
-+extern int fscanf (FILE *, const char *, ...);
-+extern int scanf (const char *, ...);
-+extern int sscanf (const char *, const char *, ...);
-+
-+extern int vfscanf (FILE *, const char *, va_list);
-+extern int vscanf (const char *, va_list);
-+extern int vsscanf (const char *, const char *, va_list);
-+
-+extern char *gettext (const char *);
-+extern char *dgettext (const char *, const char *);
-+extern char *dcgettext (const char *, const char *, int);
-+
-+void
-+foo (int *ip, char *s, va_list v0, va_list v1, va_list v2, va_list v3,
-+ va_list v4, va_list v5)
-+{
-+ fscanf (stdin, "%d", ip);
-+ fscanf (stdin, "%ld", ip); /* { dg-warning "format" "fscanf" } */
-+ scanf ("%d", ip);
-+ scanf ("%ld", ip); /* { dg-warning "format" "scanf" } */
-+ sscanf (s, "%d", ip);
-+ sscanf (s, "%ld", ip); /* { dg-warning "format" "sscanf" } */
-+ vfscanf (stdin, "%d", v0);
-+ vfscanf (stdin, "%Y", v1);
-+ vscanf ("%d", v2);
-+ vscanf ("%Y", v3);
-+ vsscanf (s, "%d", v4);
-+ vsscanf (s, "%Y", v5);
-+ scanf (gettext ("%d"), ip);
-+ scanf (gettext ("%ld"), ip);
-+ scanf (dgettext ("", "%d"), ip);
-+ scanf (dgettext ("", "%ld"), ip);
-+ scanf (dcgettext ("", "%d", 0), ip);
-+ scanf (dcgettext ("", "%ld", 0), ip);
-+}
---- gcc/testsuite/gcc.dg/c90-strftime-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c90-strftime-1.c Mon Aug 21 01:36:03 2000
-@@ -0,0 +1,23 @@
-+/* Test for strftime formats. Formats using C90 features. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+
-+struct tm;
-+
-+extern size_t strftime (char *, size_t, const char *, const struct tm *);
-+
-+void
-+foo (char *s, size_t m, const struct tm *tp)
-+{
-+ /* See ISO/IEC 9899:1990 (E) subclause 7.12.3.5 (pages 174-175). */
-+ /* Formats which are Y2K-compliant (no 2-digit years). */
-+ strftime (s, m, "%a%A%b%B%d%H%I%j%m%M%p%S%U%w%W%X%Y%Z%%", tp);
-+ /* Formats with 2-digit years. */
-+ strftime (s, m, "%y", tp); /* { dg-warning "only last 2" "2-digit year" } */
-+ /* Formats with 2-digit years in some locales. */
-+ strftime (s, m, "%c", tp); /* { dg-warning "some locales" "2-digit year" } */
-+ strftime (s, m, "%x", tp); /* { dg-warning "some locales" "2-digit year" } */
-+}
---- gcc/testsuite/gcc.dg/c99-printf-3.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c99-printf-3.c Sun Aug 20 01:28:08 2000
-@@ -0,0 +1,56 @@
-+/* Test for printf formats. Test that the C99 functions get their default
-+ attributes in strict C99 mode, but the gettext functions do not.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+/* This may not be correct in the particular case, but allows the
-+ prototypes to be declared, and we don't try to link.
-+*/
-+typedef struct _FILE FILE;
-+extern FILE *stdout;
-+
-+typedef __SIZE_TYPE__ size_t;
-+typedef __builtin_va_list va_list;
-+
-+extern int fprintf (FILE *restrict, const char *restrict, ...);
-+extern int printf (const char *restrict, ...);
-+extern int sprintf (char *restrict, const char *restrict, ...);
-+extern int vfprintf (FILE *restrict, const char *restrict, va_list);
-+extern int vprintf (const char *restrict, va_list);
-+extern int vsprintf (char *restrict, const char *restrict, va_list);
-+extern int snprintf (char *restrict, size_t, const char *restrict, ...);
-+extern int vsnprintf (char *restrict, size_t, const char *restrict, va_list);
-+
-+extern char *gettext (const char *);
-+extern char *dgettext (const char *, const char *);
-+extern char *dcgettext (const char *, const char *, int);
-+
-+void
-+foo (int i, char *s, size_t n, va_list v0, va_list v1, va_list v2, va_list v3,
-+ va_list v4, va_list v5, va_list v6, va_list v7)
-+{
-+ fprintf (stdout, "%d", i);
-+ fprintf (stdout, "%ld", i); /* { dg-warning "format" "fprintf" } */
-+ printf ("%d", i);
-+ printf ("%ld", i); /* { dg-warning "format" "printf" } */
-+ sprintf (s, "%d", i);
-+ sprintf (s, "%ld", i); /* { dg-warning "format" "sprintf" } */
-+ snprintf (s, n, "%d", i);
-+ snprintf (s, n, "%ld", i); /* { dg-warning "format" "snprintf" } */
-+ vfprintf (stdout, "%d", v0);
-+ vfprintf (stdout, "%Y", v1); /* { dg-warning "format" "vfprintf" } */
-+ vprintf ("%d", v0);
-+ vprintf ("%Y", v1); /* { dg-warning "format" "vprintf" } */
-+ vsprintf (s, "%d", v0);
-+ vsprintf (s, "%Y", v1); /* { dg-warning "format" "vsprintf" } */
-+ vsnprintf (s, n, "%d", v0);
-+ vsnprintf (s, n, "%Y", v1); /* { dg-warning "format" "vsnprintf" } */
-+ printf (gettext ("%d"), i);
-+ printf (gettext ("%ld"), i);
-+ printf (dgettext ("", "%d"), i);
-+ printf (dgettext ("", "%ld"), i);
-+ printf (dcgettext ("", "%d", 0), i);
-+ printf (dcgettext ("", "%ld", 0), i);
-+}
---- gcc/testsuite/gcc.dg/c99-scanf-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c99-scanf-1.c Sat Aug 19 18:47:19 2000
-@@ -0,0 +1,165 @@
-+/* Test for scanf formats. Formats using C99 features, including cases
-+ where C99 specifies some aspect of the format to be ignored or where
-+ the behaviour is undefined.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+typedef __SIZE_TYPE__ size_t;
-+typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+
-+/* Kludges to get types corresponding to size_t and ptrdiff_t. */
-+#define unsigned signed
-+typedef __SIZE_TYPE__ signed_size_t;
-+#undef unsigned
-+#define signed /* Type might or might not have explicit 'signed'. */
-+typedef unsigned __PTRDIFF_TYPE__ unsigned_ptrdiff_t;
-+#undef signed
-+
-+/* These next definitions are broken. When GCC has a <stdint.h> and
-+ an internal understanding of intmax_t and uintmax_t, they should be
-+ replaced by an include of <stdint.h> or by definitions for internal
-+ macros or typedefs, and the corresponding xfails removed.
-+*/
-+typedef long long int intmax_t;
-+typedef unsigned long long int uintmax_t;
-+
-+extern int scanf (const char *, ...);
-+
-+void
-+foo (int *ip, unsigned int *uip, short int *hp, unsigned short int *uhp,
-+ signed char *hhp, unsigned char *uhhp, long int *lp,
-+ unsigned long int *ulp, float *fp, double *dp, long double *ldp, char *s,
-+ void **pp, int *n, long long *llp, unsigned long long *ullp, wchar_t *ls,
-+ short int *hn, signed char *hhn, long int *ln, long long int *lln,
-+ intmax_t *jp, uintmax_t *ujp, intmax_t *jn, size_t *zp,
-+ signed_size_t *szp, signed_size_t *zn, ptrdiff_t *tp,
-+ unsigned_ptrdiff_t *utp, ptrdiff_t *tn)
-+{
-+ /* See ISO/IEC 9899:1999 (E) subclause 7.19.6.2 (pages 281-288).
-+ We do not repeat here most of the checks for correct C90 formats
-+ or completely broken formats.
-+ */
-+ /* Valid, invalid and silly assignment-suppression
-+ and width constructions.
-+ */
-+ scanf ("%*d%*i%*o%*u%*x%*X%*a%*A%*e%*E%*f%*F%*g%*G%*s%*[abc]%*c%*p");
-+ scanf ("%*2d%*8s%*3c");
-+ scanf ("%*n"); /* { dg-warning "suppress" "suppression of %n" } */
-+ scanf ("%*hd"); /* { dg-warning "together" "suppression with length" } */
-+ scanf ("%2d%3i%4o%5u%6x%7X%8a%9A%10e%11E%12f%13F%14g%15G%16s%3[abc]%4c%5p",
-+ ip, ip, uip, uip, uip, uip, fp, fp, fp, fp, fp, fp, fp, fp,
-+ s, s, s, pp);
-+ scanf ("%0d", ip); /* { dg-warning "width" "warning for zero width" } */
-+ scanf ("%3n", n); /* { dg-warning "width" "width with %n" } */
-+ /* Valid and invalid %h, %hh, %l, %ll, %j, %z, %t, %L constructions. */
-+ scanf ("%hd%hi%ho%hu%hx%hX%hn", hp, hp, uhp, uhp, uhp, uhp, hn);
-+ scanf ("%ha", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hA", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%he", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hE", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hf", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hF", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hg", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hG", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%h[ac]", s); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hc", s); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hp", pp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hhd%hhi%hho%hhu%hhx%hhX%hhn", hhp, hhp, uhhp, uhhp, uhhp, uhhp,
-+ hhn);
-+ scanf ("%hha", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhA", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhe", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhE", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhf", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhF", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhg", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhG", fp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhs", s); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hh[ac]", s); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhc", s); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%hhp", pp); /* { dg-warning "length character" "bad use of %hh" } */
-+ scanf ("%ld%li%lo%lu%lx%lX%ln", lp, lp, ulp, ulp, ulp, ulp, ln);
-+ scanf ("%la%lA%le%lE%lf%lF%lg%lG", dp, dp, dp, dp, dp, dp, dp, dp);
-+ scanf ("%lp", pp); /* { dg-warning "length character" "bad use of %l" } */
-+ scanf ("%ls", ls);
-+ scanf ("%l[ac]", ls);
-+ scanf ("%lc", ls);
-+ scanf ("%lld%lli%llo%llu%llx%llX%lln", llp, llp, ullp, ullp, ullp, ullp,
-+ lln);
-+ scanf ("%lla", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llA", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%lle", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llE", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llf", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llF", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llg", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llG", fp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%lls", s); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%ll[ac]", s); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llc", s); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%llp", pp); /* { dg-warning "length character" "bad use of %ll" } */
-+ scanf ("%jd%ji%jo%ju%jx%jX%jn", jp, jp, ujp, ujp, ujp, ujp, jn); /* { dg-bogus "length character" "bogus %j warning" { xfail *-*-* } } */
-+ scanf ("%ja", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jA", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%je", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jE", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jf", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jF", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jg", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jG", fp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%js", s); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%j[ac]", s); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jc", s); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%jp", pp); /* { dg-warning "length character" "bad use of %j" } */
-+ scanf ("%zd%zi%zo%zu%zx%zX%zn", szp, szp, zp, zp, zp, zp, zn);
-+ scanf ("%za", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zA", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%ze", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zE", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zf", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zF", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zg", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zG", fp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zs", s); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%z[ac]", s); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zc", s); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%zp", pp); /* { dg-warning "length character" "bad use of %z" } */
-+ scanf ("%td%ti%to%tu%tx%tX%tn", tp, tp, utp, utp, utp, utp, tn);
-+ scanf ("%ta", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tA", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%te", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tE", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tf", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tF", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tg", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tG", fp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%ts", s); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%t[ac]", s); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tc", s); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%tp", pp); /* { dg-warning "length character" "bad use of %t" } */
-+ scanf ("%La%LA%Le%LE%Lf%LF%Lg%LG", ldp, ldp, ldp, ldp, ldp, ldp, ldp, ldp);
-+ scanf ("%Ld", llp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Li", llp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Lo", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Lu", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Lx", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%LX", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%L[ac]", s); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%Lc", s); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%Lp", pp); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
-+ /* Valid uses of each bare conversion. */
-+ scanf ("%d%i%o%u%x%X%a%A%e%E%f%F%g%G%s%[abc]%c%p%n%%", ip, ip, uip, uip, uip,
-+ uip, fp, fp, fp, fp, fp, fp, fp, fp, s, s, s, pp, n);
-+ /* Assert that %as is not treated as an extension in C99 mode. */
-+ scanf ("%as", fp);
-+ scanf ("%a[", fp);
-+ /* Tests for bad argument types: pointer target sign with %hh. */
-+ scanf ("%hhd", uhhp); /* { dg-warning "format" "%hhd sign" } */
-+ scanf ("%hhu", hhp); /* { dg-warning "format" "%hhu sign" } */
-+}
---- gcc/testsuite/gcc.dg/c99-scanf-2.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c99-scanf-2.c Sat Aug 19 18:46:52 2000
-@@ -0,0 +1,27 @@
-+/* Test for scanf formats. Formats using extensions to the standard
-+ should be rejected in strict pedantic mode.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+typedef __WCHAR_TYPE__ wchar_t;
-+
-+extern int scanf (const char *, ...);
-+
-+void
-+foo (int *ip, long long int *llp, size_t *zp, wchar_t *ls)
-+{
-+ /* The length modifiers q, Z and L as applied to integer formats are
-+ extensions.
-+ */
-+ scanf ("%qd", llp); /* { dg-warning "C" "%q length" } */
-+ scanf ("%Ld", llp); /* { dg-warning "C" "%L length" } */
-+ scanf ("%Zu", zp); /* { dg-warning "C" "%Z length" } */
-+ /* The conversion specifiers C and S are X/Open extensions. */
-+ scanf ("%C", ls); /* { dg-warning "C" "scanf %C" } */
-+ scanf ("%S", ls); /* { dg-warning "C" "scanf %S" } */
-+ /* The use of operand number $ formats is an X/Open extension. */
-+ scanf ("%1$d", ip); /* { dg-warning "C" "scanf $ format" } */
-+}
---- gcc/testsuite/gcc.dg/c99-scanf-3.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c99-scanf-3.c Sun Aug 20 01:32:43 2000
-@@ -0,0 +1,49 @@
-+/* Test for scanf formats. Test that the C99 functions get their default
-+ attributes in strict C99 mode, but the gettext functions do not.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+/* This may not be correct in the particular case, but allows the
-+ prototypes to be declared, and we don't try to link.
-+*/
-+typedef struct _FILE FILE;
-+extern FILE *stdin;
-+
-+typedef __builtin_va_list va_list;
-+
-+extern int fscanf (FILE *restrict, const char *restrict, ...);
-+extern int scanf (const char *restrict, ...);
-+extern int sscanf (const char *restrict, const char *restrict, ...);
-+extern int vfscanf (FILE *restrict, const char *restrict, va_list);
-+extern int vscanf (const char *restrict, va_list);
-+extern int vsscanf (const char *restrict, const char *restrict, va_list);
-+
-+extern char *gettext (const char *);
-+extern char *dgettext (const char *, const char *);
-+extern char *dcgettext (const char *, const char *, int);
-+
-+void
-+foo (int *ip, char *s, va_list v0, va_list v1, va_list v2, va_list v3,
-+ va_list v4, va_list v5)
-+{
-+ fscanf (stdin, "%d", ip);
-+ fscanf (stdin, "%ld", ip); /* { dg-warning "format" "fscanf" } */
-+ scanf ("%d", ip);
-+ scanf ("%ld", ip); /* { dg-warning "format" "scanf" } */
-+ sscanf (s, "%d", ip);
-+ sscanf (s, "%ld", ip); /* { dg-warning "format" "sscanf" } */
-+ vfscanf (stdin, "%d", v0);
-+ vfscanf (stdin, "%Y", v1); /* { dg-warning "format" "vfscanf" } */
-+ vscanf ("%d", v2);
-+ vscanf ("%Y", v3); /* { dg-warning "format" "vscanf" } */
-+ vsscanf (s, "%d", v4);
-+ vsscanf (s, "%Y", v5); /* { dg-warning "format" "vsscanf" } */
-+ scanf (gettext ("%d"), ip);
-+ scanf (gettext ("%ld"), ip);
-+ scanf (dgettext ("", "%d"), ip);
-+ scanf (dgettext ("", "%ld"), ip);
-+ scanf (dcgettext ("", "%d", 0), ip);
-+ scanf (dcgettext ("", "%ld", 0), ip);
-+}
---- gcc/testsuite/gcc.dg/format-xopen-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/format-xopen-1.c Mon Aug 21 17:53:08 2000
-@@ -0,0 +1,118 @@
-+/* Test for X/Open format extensions, as found in the
-+ Single Unix Specification and in Austin Group draft 4, subject to some
-+ Aardvark problem reports submitted.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=gnu99 -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+typedef __WINT_TYPE__ wint_t;
-+typedef __builtin_va_list va_list;
-+
-+extern int printf (const char *, ...);
-+extern int vprintf (const char *, va_list);
-+extern int scanf (const char *, ...);
-+
-+void
-+foo (int i, unsigned int u, wint_t lc, wchar_t *ls, int *ip, double d,
-+ char *s, void *p, int *n, long int l, int i2, float *fp, long int *lp,
-+ va_list va)
-+{
-+ /* The conversion specifiers C and S, for both printf and scanf,
-+ are X/Open extensions.
-+ */
-+ printf ("%C", lc);
-+ printf ("%3C", lc);
-+ printf ("%.3C", lc); /* { dg-warning "precision" "precision with %C" } */
-+ printf ("%hC", lc); /* { dg-warning "length character" "bad %hC" } */
-+ printf ("%hhC", lc); /* { dg-warning "length character" "bad %hhC" } */
-+ printf ("%lC", lc); /* { dg-warning "length character" "bad %lC" } */
-+ printf ("%llC", lc); /* { dg-warning "length character" "bad %llC" } */
-+ printf ("%jC", lc); /* { dg-warning "length character" "bad %jC" } */
-+ printf ("%zC", lc); /* { dg-warning "length character" "bad %zC" } */
-+ printf ("%tC", lc); /* { dg-warning "length character" "bad %tC" } */
-+ printf ("%LC", lc); /* { dg-warning "length character" "bad %LC" } */
-+ printf ("%-C", lc);
-+ printf ("%+C", lc); /* { dg-warning "flag" "bad %+C" } */
-+ printf ("% C", lc); /* { dg-warning "flag" "bad % C" } */
-+ printf ("%#C", lc); /* { dg-warning "flag" "bad %#C" } */
-+ printf ("%0C", lc); /* { dg-warning "flag" "bad %0C" } */
-+ printf ("%S", ls);
-+ printf ("%3S", ls);
-+ printf ("%.3S", ls);
-+ printf ("%hS", ls); /* { dg-warning "length character" "bad %hS" } */
-+ printf ("%hhS", ls); /* { dg-warning "length character" "bad %hhS" } */
-+ printf ("%lS", ls); /* { dg-warning "length character" "bad %lS" } */
-+ printf ("%llS", ls); /* { dg-warning "length character" "bad %llS" } */
-+ printf ("%jS", ls); /* { dg-warning "length character" "bad %jS" } */
-+ printf ("%zS", ls); /* { dg-warning "length character" "bad %zS" } */
-+ printf ("%tS", ls); /* { dg-warning "length character" "bad %tS" } */
-+ printf ("%LS", ls); /* { dg-warning "length character" "bad %LS" } */
-+ printf ("%-S", ls);
-+ printf ("%+S", ls); /* { dg-warning "flag" "bad %+S" } */
-+ printf ("% S", ls); /* { dg-warning "flag" "bad % S" } */
-+ printf ("%#S", ls); /* { dg-warning "flag" "bad %#S" } */
-+ printf ("%0S", ls); /* { dg-warning "flag" "bad %0S" } */
-+ scanf ("%C", ls);
-+ scanf ("%S", ls);
-+ scanf ("%*C%*S");
-+ scanf ("%2C%3S", ls, ls);
-+ scanf ("%hC", ls); /* { dg-warning "length character" "bad %hC" } */
-+ scanf ("%hhC", ls); /* { dg-warning "length character" "bad %hhC" } */
-+ scanf ("%lC", ls); /* { dg-warning "length character" "bad %lC" } */
-+ scanf ("%llC", ls); /* { dg-warning "length character" "bad %llC" } */
-+ scanf ("%jC", ls); /* { dg-warning "length character" "bad %jC" } */
-+ scanf ("%zC", ls); /* { dg-warning "length character" "bad %zC" } */
-+ scanf ("%tC", ls); /* { dg-warning "length character" "bad %tC" } */
-+ scanf ("%LC", ls); /* { dg-warning "length character" "bad %LC" } */
-+ scanf ("%hS", ls); /* { dg-warning "length character" "bad %hS" } */
-+ scanf ("%hhS", ls); /* { dg-warning "length character" "bad %hhS" } */
-+ scanf ("%lS", ls); /* { dg-warning "length character" "bad %lS" } */
-+ scanf ("%llS", ls); /* { dg-warning "length character" "bad %llS" } */
-+ scanf ("%jS", ls); /* { dg-warning "length character" "bad %jS" } */
-+ scanf ("%zS", ls); /* { dg-warning "length character" "bad %zS" } */
-+ scanf ("%tS", ls); /* { dg-warning "length character" "bad %tS" } */
-+ scanf ("%LS", ls); /* { dg-warning "length character" "bad %LS" } */
-+ /* In C99 mode (even with extensions), %aS is a floating point
-+ format followed by an S.
-+ */
-+ scanf ("%aS", fp);
-+ /* The printf flag character ' is an X/Open extension. */
-+ /* Allowing %'F here presumes acceptance of the corresponding Aardvark
-+ report.
-+ */
-+ printf ("%'d%'i%'u%'f%'F%'g%'G", i, i, u, d, d, d, d);
-+ printf ("%'o", u); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'x", u); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'X", u); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'e", d); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'E", d); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'a", d); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'A", d); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'c", i); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'s", s); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'p", p); /* { dg-warning "flag" "bad use of ' flag" } */
-+ printf ("%'n", n); /* { dg-warning "flag" "bad use of ' flag" } */
-+ /* The use of operand number $ formats is an X/Open extension. */
-+ /* Banning gaps in the arguments used with scanf, and not objecting to
-+ multiple use of an argument with scanf, presumes acceptance of the
-+ corresponding Aardvark reports.
-+ */
-+ scanf ("%1$d", ip);
-+ printf ("%1$d", i);
-+ printf ("%3$*2$.*1$d", i2, i, l);
-+ printf ("%4$ld%7$ld%5$d%6$d%3$d%1$d%2$d", i, i, i, l, i, i, l);
-+ scanf ("%4$ld%7$ld%5$d%6$d%3$d%1$d%2$d", ip, ip, ip, lp, ip, ip, lp);
-+ printf ("%1$d%d", i, i); /* { dg-warning "missing" "mixing $ and non-$ formats" } */
-+ printf ("%%%1$d%%%2$d", i, i);
-+ printf ("%d%2$d", i); /* { dg-warning "type character" "mixing $ and non-$ formats" } */
-+ printf ("%1$*d", i, i); /* { dg-warning "missing" "mixing $ and non-$ formats" } */
-+ scanf ("%1$d%d", ip, ip); /* { dg-warning "missing" "mixing $ and non-$ formats" } */
-+ scanf ("%*f%%%1$d%%%2$d", ip, ip);
-+ printf ("%2$d", i); /* { dg-warning "operand" "$ number too large" } */
-+ printf ("%0$d", i); /* { dg-warning "operand" "$ number too small" } */
-+ printf ("%3$d%1$d", i, i, i); /* { dg-warning "before used" "unused $ operand" } */
-+ printf ("%2$d%1$d", i, i, i); /* { dg-warning "unused" "unused $ operand" } */
-+ vprintf ("%3$d%1$d", va); /* { dg-warning "before used" "unused $ operand" } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm6.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm6.patch
deleted file mode 100644
index 5d4d059c79da..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm6.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-gcc/ChangeLog:
-2000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.c (check_format_info): Give the 'some locales' warning
- for strftime %Ey rather than the unconditional 'only last 2 digits
- of year' one.
-
-gcc/testsuite/ChangeLog:
-2000-08-22 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c90-strftime-2.c, gcc.dg/c99-strftime-1.c,
- gcc.dg/c99-strftime-2.c: New tests.
-
---- gcc/c-common.c Mon Aug 21 19:35:35 2000
-+++ gcc/c-common.c Mon Aug 21 22:58:40 2000
-@@ -2162,11 +2162,12 @@
- }
- if (wide && index (fci->flag_chars, 'w') == 0)
- warning ("width used with `%c' format", format_char);
-- if (index (fci->flag_chars, '2') != 0)
-- warning ("`%%%c' yields only last 2 digits of year", format_char);
-- else if (index (fci->flag_chars, '3') != 0)
-+ if (index (fci->flag_chars, '3') != 0
-+ || (format_char == 'y' && index (flag_chars, 'E')))
- warning ("`%%%c' yields only last 2 digits of year in some locales",
- format_char);
-+ else if (index (fci->flag_chars, '2') != 0)
-+ warning ("`%%%c' yields only last 2 digits of year", format_char);
- if (precise && index (fci->flag_chars, 'p') == 0)
- warning ("precision used with `%c' format", format_char);
- if (aflag && index (fci->flag_chars, 'a') == 0)
---- gcc/testsuite/gcc.dg/c90-strftime-2.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c90-strftime-2.c Mon Aug 21 22:53:41 2000
-@@ -0,0 +1,35 @@
-+/* Test for strftime formats. Rejection of formats using C99 features in
-+ pedantic C90 mode. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+
-+struct tm;
-+
-+extern size_t strftime (char *, size_t, const char *, const struct tm *);
-+
-+void
-+foo (char *s, size_t m, const struct tm *tp)
-+{
-+ strftime (s, m, "%C", tp); /* { dg-warning "C" "%C not in C90" } */
-+ strftime (s, m, "%D", tp); /* { dg-warning "C" "%D not in C90" } */
-+ /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 17 } */
-+ strftime (s, m, "%e", tp); /* { dg-warning "C" "%e not in C90" } */
-+ strftime (s, m, "%F", tp); /* { dg-warning "C" "%F not in C90" } */
-+ strftime (s, m, "%g", tp); /* { dg-warning "C" "%g not in C90" } */
-+ /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 21 } */
-+ strftime (s, m, "%G", tp); /* { dg-warning "C" "%G not in C90" } */
-+ strftime (s, m, "%h", tp); /* { dg-warning "C" "%h not in C90" } */
-+ strftime (s, m, "%n", tp); /* { dg-warning "C" "%n not in C90" } */
-+ strftime (s, m, "%r", tp); /* { dg-warning "C" "%r not in C90" } */
-+ strftime (s, m, "%R", tp); /* { dg-warning "C" "%R not in C90" } */
-+ strftime (s, m, "%t", tp); /* { dg-warning "C" "%t not in C90" } */
-+ strftime (s, m, "%T", tp); /* { dg-warning "C" "%T not in C90" } */
-+ strftime (s, m, "%u", tp); /* { dg-warning "C" "%u not in C90" } */
-+ strftime (s, m, "%V", tp); /* { dg-warning "C" "%V not in C90" } */
-+ strftime (s, m, "%z", tp); /* { dg-warning "C" "%z not in C90" } */
-+ strftime (s, m, "%EX", tp); /* { dg-warning "C" "%E not in C90" } */
-+ strftime (s, m, "%OW", tp); /* { dg-warning "C" "%O not in C90" } */
-+}
---- gcc/testsuite/gcc.dg/c99-strftime-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c99-strftime-1.c Mon Aug 21 21:50:04 2000
-@@ -0,0 +1,99 @@
-+/* Test for strftime formats. Formats using C99 features. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+
-+struct tm;
-+
-+extern size_t strftime (char *, size_t, const char *, const struct tm *);
-+
-+void
-+foo (char *s, size_t m, const struct tm *tp)
-+{
-+ /* See ISO/IEC 9899:1990 (E) subclause 7.12.3.5 (pages 174-175). */
-+ /* Formats which are Y2K-compliant (no 2-digit years). */
-+ strftime (s, m, "%a%A%b%B%C%d%e%F%G%h%H%I%j%m%M%p%R%S%t%T%u%U%V%w%W%X%Y%z%Z%%", tp);
-+ strftime (s, m, "%EC%EX%EY%Od%Oe%OH%OI%Om%OM%OS%Ou%OU%OV%Ow%OW", tp);
-+ /* Formats with 2-digit years. */
-+ strftime (s, m, "%D", tp); /* { dg-warning "only last 2" "2-digit year" } */
-+ strftime (s, m, "%g", tp); /* { dg-warning "only last 2" "2-digit year" } */
-+ strftime (s, m, "%y", tp); /* { dg-warning "only last 2" "2-digit year" } */
-+ strftime (s, m, "%Oy", tp); /* { dg-warning "only last 2" "2-digit year" } */
-+ /* Formats with 2-digit years in some locales. */
-+ strftime (s, m, "%c", tp); /* { dg-warning "some locales" "2-digit year" } */
-+ strftime (s, m, "%Ec", tp); /* { dg-warning "some locales" "2-digit year" } */
-+ strftime (s, m, "%x", tp); /* { dg-warning "some locales" "2-digit year" } */
-+ strftime (s, m, "%Ex", tp); /* { dg-warning "some locales" "2-digit year" } */
-+ /* %Ey is explicitly an era offset not a 2-digit year; but in some
-+ locales the E modifier may be ignored.
-+ */
-+ strftime (s, m, "%Ey", tp); /* { dg-warning "some locales" "2-digit year" } */
-+ /* Bad uses of %E and %O. */
-+ strftime (s, m, "%EEY", tp); /* { dg-warning "multiple" "multiple %E/%O" } */
-+ strftime (s, m, "%EOY", tp); /* { dg-warning "multiple" "multiple %E/%O" } */
-+ strftime (s, m, "%OEV", tp); /* { dg-warning "multiple" "multiple %E/%O" } */
-+ strftime (s, m, "%OOV", tp); /* { dg-warning "multiple" "multiple %E/%O" } */
-+ strftime (s, m, "%Ea", tp); /* { dg-warning "flag" "bad %Ea" } */
-+ strftime (s, m, "%EA", tp); /* { dg-warning "flag" "bad %EA" } */
-+ strftime (s, m, "%Eb", tp); /* { dg-warning "flag" "bad %Eb" } */
-+ strftime (s, m, "%EB", tp); /* { dg-warning "flag" "bad %EB" } */
-+ strftime (s, m, "%Ed", tp); /* { dg-warning "flag" "bad %Ed" } */
-+ strftime (s, m, "%ED", tp); /* { dg-warning "flag" "bad %ED" } */
-+ /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 43 } */
-+ strftime (s, m, "%Ee", tp); /* { dg-warning "flag" "bad %Ee" } */
-+ strftime (s, m, "%EF", tp); /* { dg-warning "flag" "bad %EF" } */
-+ strftime (s, m, "%Eg", tp); /* { dg-warning "flag" "bad %Eg" } */
-+ /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 47 } */
-+ strftime (s, m, "%EG", tp); /* { dg-warning "flag" "bad %EG" } */
-+ strftime (s, m, "%Eh", tp); /* { dg-warning "flag" "bad %Eh" } */
-+ strftime (s, m, "%EH", tp); /* { dg-warning "flag" "bad %EH" } */
-+ strftime (s, m, "%EI", tp); /* { dg-warning "flag" "bad %EI" } */
-+ strftime (s, m, "%Ej", tp); /* { dg-warning "flag" "bad %Ej" } */
-+ strftime (s, m, "%Em", tp); /* { dg-warning "flag" "bad %Em" } */
-+ strftime (s, m, "%EM", tp); /* { dg-warning "flag" "bad %EM" } */
-+ strftime (s, m, "%En", tp); /* { dg-warning "flag" "bad %En" } */
-+ strftime (s, m, "%Ep", tp); /* { dg-warning "flag" "bad %Ep" } */
-+ strftime (s, m, "%Er", tp); /* { dg-warning "flag" "bad %Er" } */
-+ strftime (s, m, "%ER", tp); /* { dg-warning "flag" "bad %ER" } */
-+ strftime (s, m, "%ES", tp); /* { dg-warning "flag" "bad %ES" } */
-+ strftime (s, m, "%Et", tp); /* { dg-warning "flag" "bad %Et" } */
-+ strftime (s, m, "%ET", tp); /* { dg-warning "flag" "bad %ET" } */
-+ strftime (s, m, "%Eu", tp); /* { dg-warning "flag" "bad %Eu" } */
-+ strftime (s, m, "%EU", tp); /* { dg-warning "flag" "bad %EU" } */
-+ strftime (s, m, "%EV", tp); /* { dg-warning "flag" "bad %EV" } */
-+ strftime (s, m, "%Ew", tp); /* { dg-warning "flag" "bad %Ew" } */
-+ strftime (s, m, "%EW", tp); /* { dg-warning "flag" "bad %EW" } */
-+ strftime (s, m, "%Ez", tp); /* { dg-warning "flag" "bad %Ez" } */
-+ strftime (s, m, "%EZ", tp); /* { dg-warning "flag" "bad %EZ" } */
-+ strftime (s, m, "%E%", tp); /* { dg-warning "flag" "bad %E%" } */
-+ strftime (s, m, "%Oa", tp); /* { dg-warning "flag" "bad %Oa" } */
-+ strftime (s, m, "%OA", tp); /* { dg-warning "flag" "bad %OA" } */
-+ strftime (s, m, "%Ob", tp); /* { dg-warning "flag" "bad %Ob" } */
-+ strftime (s, m, "%OB", tp); /* { dg-warning "flag" "bad %OB" } */
-+ strftime (s, m, "%Oc", tp); /* { dg-warning "flag" "bad %Oc" } */
-+ /* { dg-warning "in some locales" "2-digit year" { target *-*-* } 75 } */
-+ strftime (s, m, "%OC", tp); /* { dg-warning "flag|C" "bad %OC" } */
-+ strftime (s, m, "%OD", tp); /* { dg-warning "flag" "bad %OD" } */
-+ /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 78 } */
-+ strftime (s, m, "%OF", tp); /* { dg-warning "flag" "bad %OF" } */
-+ strftime (s, m, "%Og", tp); /* { dg-warning "flag|C" "bad %Og" } */
-+ /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 81 } */
-+ strftime (s, m, "%OG", tp); /* { dg-warning "flag|C" "bad %OG" } */
-+ strftime (s, m, "%Oh", tp); /* { dg-warning "flag" "bad %Oh" } */
-+ strftime (s, m, "%Oj", tp); /* { dg-warning "flag|C" "bad %Oj" } */
-+ strftime (s, m, "%On", tp); /* { dg-warning "flag" "bad %On" } */
-+ strftime (s, m, "%Op", tp); /* { dg-warning "flag" "bad %Op" } */
-+ strftime (s, m, "%Or", tp); /* { dg-warning "flag" "bad %Or" } */
-+ strftime (s, m, "%OR", tp); /* { dg-warning "flag" "bad %OR" } */
-+ strftime (s, m, "%Ot", tp); /* { dg-warning "flag" "bad %Ot" } */
-+ strftime (s, m, "%OT", tp); /* { dg-warning "flag" "bad %OT" } */
-+ strftime (s, m, "%Ox", tp); /* { dg-warning "flag" "bad %Ox" } */
-+ /* { dg-warning "in some locales" "2-digit year" { target *-*-* } 92 } */
-+ strftime (s, m, "%OX", tp); /* { dg-warning "flag" "bad %OX" } */
-+ strftime (s, m, "%OY", tp); /* { dg-warning "flag|C" "bad %OY" } */
-+ strftime (s, m, "%Oz", tp); /* { dg-warning "flag|C" "bad %Oz" } */
-+ strftime (s, m, "%OZ", tp); /* { dg-warning "flag" "bad %OZ" } */
-+ strftime (s, m, "%O%", tp); /* { dg-warning "flag" "bad %O%" } */
-+}
---- gcc/testsuite/gcc.dg/c99-strftime-2.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c99-strftime-2.c Mon Aug 21 23:20:20 2000
-@@ -0,0 +1,27 @@
-+/* Test for strftime formats. Rejection of extensions in pedantic mode. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+
-+struct tm;
-+
-+extern size_t strftime (char *, size_t, const char *, const struct tm *);
-+
-+void
-+foo (char *s, size_t m, const struct tm *tp)
-+{
-+ /* %P is a lowercase version of %p. */
-+ strftime (s, m, "%P", tp); /* { dg-warning "C" "strftime %P" } */
-+ /* %k is %H but padded with a space rather than 0 if necessary. */
-+ strftime (s, m, "%k", tp); /* { dg-warning "C" "strftime %k" } */
-+ /* %l is %I but padded with a space rather than 0 if necessary. */
-+ strftime (s, m, "%l", tp); /* { dg-warning "C" "strftime %l" } */
-+ /* %s is the number of seconds since the Epoch. */
-+ strftime (s, m, "%s", tp); /* { dg-warning "C" "strftime %s" } */
-+ /* Extensions using %O already tested in c99-strftime-1.c. */
-+ /* Width and flags are GNU extensions for strftime. */
-+ strftime (s, m, "%20Y", tp); /* { dg-warning "C" "strftime width" } */
-+ strftime (s, m, "%^A", tp); /* { dg-warning "C" "strftime flags" } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm7.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm7.patch
deleted file mode 100644
index 05bcf8950446..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm7.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-2000-08-06 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c90-printf-2.c, gcc.dg/c99-printf-2.c: New tests.
-
---- gcc/testsuite/gcc.dg/c90-printf-2.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c90-printf-2.c Sun Aug 6 20:17:45 2000
-@@ -0,0 +1,36 @@
-+/* Test for printf formats. Formats using C99 features should be rejected
-+ outside of C99 mode.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+typedef __PTRDIFF_TYPE__ ptrdiff_t;
-+
-+__extension__ typedef long long int llong;
-+
-+/* This next definition is broken. When GCC has a <stdint.h> and
-+ an internal understanding of intmax_t, it should be
-+ replaced by an include of <stdint.h> or by a definition for internal
-+ macros or typedefs.
-+*/
-+__extension__ typedef long long int intmax_t;
-+
-+extern int printf (const char *, ...);
-+
-+void
-+foo (int i, double d, llong ll, intmax_t j, size_t z, ptrdiff_t t)
-+{
-+ /* Some tests already in c90-printf-1.c, e.g. %lf. */
-+ /* The widths hh, ll, j, z, t are new. */
-+ printf ("%hhd", i); /* { dg-warning "length character|C" "%hh in C90" } */
-+ printf ("%lld", ll); /* { dg-warning "length character|C" "%ll in C90" } */
-+ printf ("%jd", j); /* { dg-warning "length character|C" "%j in C90" } */
-+ printf ("%zu", z); /* { dg-warning "length character|C" "%z in C90" } */
-+ printf ("%td", t); /* { dg-warning "length character|C" "%t in C90" } */
-+ /* The formats F, a, A are new. */
-+ printf ("%F", d); /* { dg-warning "C" "%F in C90" } */
-+ printf ("%a", d); /* { dg-warning "C" "%a in C90" } */
-+ printf ("%A", d); /* { dg-warning "C" "%A in C90" } */
-+}
---- gcc/testsuite/gcc.dg/c99-printf-2.c Thu Jan 1 00:00:00 1970
-+++ gcc/testsuite/gcc.dg/c99-printf-2.c Sun Aug 6 20:17:45 2000
-@@ -0,0 +1,34 @@
-+/* Test for printf formats. Formats using extensions to the standard
-+ should be rejected in strict pedantic mode.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1999 -pedantic -Wformat" } */
-+
-+typedef __SIZE_TYPE__ size_t;
-+typedef __WCHAR_TYPE__ wchar_t;
-+typedef __WINT_TYPE__ wint_t;
-+
-+extern int printf (const char *, ...);
-+
-+void
-+foo (int i, long long ll, size_t z, wint_t lc, wchar_t *ls)
-+{
-+ /* The length modifiers q, Z and L as applied to integer formats are
-+ extensions.
-+ */
-+ printf ("%qd", ll); /* { dg-warning "C" "%q length" } */
-+ printf ("%Ld", ll); /* { dg-warning "C" "%L length" } */
-+ printf ("%Zd", z); /* { dg-warning "C" "%Z length" } */
-+ /* The conversion specifiers C and S are X/Open extensions; the
-+ conversion specifier m is a GNU extension.
-+ */
-+ printf ("%m"); /* { dg-warning "C" "printf %m" } */
-+ printf ("%C", lc); /* { dg-warning "C" "printf %C" } */
-+ printf ("%S", ls); /* { dg-warning "C" "printf %S" } */
-+ /* The flag character ', and the use of operand number $ formats, are
-+ X/Open extensions.
-+ */
-+ printf ("%'d", i); /* { dg-warning "C" "printf ' flag" } */
-+ printf ("%1$d", i); /* { dg-warning "C" "printf $ format" } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm8.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm8.patch
deleted file mode 100644
index 8af5c5faf9fd..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-jsm8.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-gcc/ChangeLog:
-2000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.c (print_char_table): Allow 'I' flag with %d, %i and
- %u.
- (check_format_info): Support printf 'I' flag; warn about it with
- -pedantic.
-
-gcc/testsuite/ChangeLog:
-2000-08-23 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c99-printf-2.c, gcc.dg/format-xopen-1.c: Add some more
- tests.
- * gcc.dg/format-ext-1.c: New test.
-
---- gcc/c-common.c Tue Aug 22 14:04:45 2000
-+++ gcc/c-common.c Tue Aug 22 21:43:58 2000
-@@ -1236,9 +1236,9 @@ typedef struct {
- } format_char_info;
-
- static format_char_info print_char_table[] = {
-- { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_SST, T_PD, T_IM, "-wp0 +'" },
-+ { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_SST, T_PD, T_IM, "-wp0 +'I" },
- { "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "-wp0#" },
-- { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "-wp0'" },
-+ { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "-wp0'I" },
- /* A GNU extension. */
- { "m", 0, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
- { "fFgG", 0, T_D, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "-wp0 +#'" },
-@@ -1916,7 +1916,7 @@ check_format_info (info, params)
- has_operand_number = 0;
- }
-
-- while (*format_chars != 0 && index (" +#0-'", *format_chars) != 0)
-+ while (*format_chars != 0 && index (" +#0-'I", *format_chars) != 0)
- {
- if (index (flag_chars, *format_chars) != 0)
- warning ("repeated `%c' flag in format", *format_chars++);
-@@ -1939,6 +1939,8 @@ check_format_info (info, params)
- warning ("use of both `0' and `-' flags in format");
- if (index (flag_chars, '\'') && pedantic)
- warning ("ISO C does not support the `'' format flag");
-+ if (index (flag_chars, 'I') && pedantic)
-+ warning ("ISO C does not support the `I' format flag");
- if (*format_chars == '*')
- {
- wide = TRUE;
---- gcc/testsuite/gcc.dg/c99-printf-2.c Sun Aug 6 18:16:45 2000
-+++ gcc/testsuite/gcc.dg/c99-printf-2.c Tue Aug 22 21:39:00 2000
-@@ -31,4 +31,6 @@
- */
- printf ("%'d", i); /* { dg-warning "C" "printf ' flag" } */
- printf ("%1$d", i); /* { dg-warning "C" "printf $ format" } */
-+ /* The flag character I is a GNU extension. */
-+ printf ("%Id", i); /* { dg-warning "C" "printf I flag" } */
- }
---- gcc/testsuite/gcc.dg/format-xopen-1.c Mon Aug 21 17:53:50 2000
-+++ gcc/testsuite/gcc.dg/format-xopen-1.c Tue Aug 22 21:39:54 2000
-@@ -38,6 +38,7 @@
- printf ("% C", lc); /* { dg-warning "flag" "bad % C" } */
- printf ("%#C", lc); /* { dg-warning "flag" "bad %#C" } */
- printf ("%0C", lc); /* { dg-warning "flag" "bad %0C" } */
-+ printf ("%'C", lc); /* { dg-warning "flag" "bad %'C" } */
- printf ("%S", ls);
- printf ("%3S", ls);
- printf ("%.3S", ls);
-@@ -54,6 +55,7 @@
- printf ("% S", ls); /* { dg-warning "flag" "bad % S" } */
- printf ("%#S", ls); /* { dg-warning "flag" "bad %#S" } */
- printf ("%0S", ls); /* { dg-warning "flag" "bad %0S" } */
-+ printf ("%'S", ls); /* { dg-warning "flag" "bad %'S" } */
- scanf ("%C", ls);
- scanf ("%S", ls);
- scanf ("%*C%*S");
---- gcc/testsuite/gcc.dg/format-ext-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/format-ext-1.c Wed Aug 23 00:47:21 2000
-@@ -0,0 +1,120 @@
-+/* Test for format extensions beyond the C standard and X/Open standard.
-+ Test for printf formats.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=gnu99 -Wformat" } */
-+
-+/* %q formats want a "quad"; GCC considers this to be a long long. */
-+typedef long long int quad_t;
-+typedef unsigned long long int u_quad_t;
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+typedef __WINT_TYPE__ wint_t;
-+typedef __SIZE_TYPE__ size_t;
-+
-+extern int printf (const char *, ...);
-+
-+void
-+foo (quad_t q, u_quad_t uq, quad_t *qn, size_t z, size_t *zn, long long int ll,
-+ unsigned long long int ull, int i, unsigned int u, double d,
-+ char *s, void *p, wchar_t *ls, wint_t lc, int *n)
-+{
-+ /* As an extension, GCC allows the BSD length "q" for integer formats.
-+ This is largely obsoleted in C99 by %j, %ll and PRId64.
-+ */
-+ printf ("%qd%qi%qo%qu%qx%qX%qn", q, q, uq, uq, uq, uq, qn);
-+ printf ("%qf", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qF", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qe", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qE", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qg", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qG", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qa", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qA", d); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qc", i); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qs", s); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qp", p); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qC", lc); /* { dg-warning "length character" "bad use of %q" } */
-+ printf ("%qS", ls); /* { dg-warning "length character" "bad use of %q" } */
-+ /* With a bad length character GCC wants some argument, any argument,
-+ to devour with the format conversion, as a synchronisation heuristic.
-+ This may get improved later.
-+ */
-+ printf ("%qm", i); /* { dg-warning "length character" "bad use of %q" } */
-+ /* As an extension, GCC allows the length "Z" as a synonym for "z".
-+ This was an extension predating C99 which should now be considered
-+ deprecated; use the standard "z" instead.
-+ */
-+ printf ("%Zd%Zi%Zo%Zu%Zx%ZX", z, z, z, z, z, z);
-+ printf ("%Zn", zn);
-+ printf ("%Zf", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%ZF", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%Ze", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%ZE", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%Zg", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%ZG", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%Za", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%ZA", d); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%Zc", i); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%Zs", s); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%Zp", p); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%ZC", lc); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%ZS", ls); /* { dg-warning "length character" "bad use of %Z" } */
-+ printf ("%Zm", i); /* { dg-warning "length character" "bad use of %Z" } */
-+ /* As an extension, GCC allows the length "L" on integer formats
-+ (but not %n) as a synonym for "ll".
-+ This should be considered deprecated.
-+ */
-+ printf ("%Ld%Li%Lo%Lu%Lx%LX", ll, ll, ull, ull, ull, ull);
-+ /* As an extension, derived from syslog, GCC allows the conversion
-+ specifier "m" for formatting strerror(errno). This may be used
-+ with width, precision and the "-" flag, the same as %s.
-+ */
-+ printf ("%m%3m%.4m%5.6m");
-+ printf ("%*m", i);
-+ printf ("%.*m", i);
-+ printf ("%*.*m", i, i);
-+ printf ("%3.*m", i);
-+ printf ("%*.4m", i);
-+ printf ("%-m");
-+ printf ("%+m"); /* { dg-warning "flag" "bad %+m" } */
-+ printf ("% m"); /* { dg-warning "flag" "bad % m" } */
-+ printf ("%#m"); /* { dg-warning "flag" "bad %#m" } */
-+ printf ("%0m"); /* { dg-warning "flag" "bad %0m" } */
-+ printf ("%'m"); /* { dg-warning "flag" "bad %'m" } */
-+ printf ("%hm", i); /* { dg-warning "length character" "bad %hm" } */
-+ printf ("%hhm", i); /* { dg-warning "length character" "bad %hhm" } */
-+ printf ("%lm", i); /* { dg-warning "length character" "bad %lm" } */
-+ printf ("%llm", i); /* { dg-warning "length character" "bad %llm" } */
-+ printf ("%jm", i); /* { dg-warning "length character" "bad %jm" } */
-+ printf ("%zm", i); /* { dg-warning "length character" "bad %zm" } */
-+ printf ("%tm", i); /* { dg-warning "length character" "bad %tm" } */
-+ printf ("%Lm", i); /* { dg-warning "length character" "bad %Lm" } */
-+ printf ("%qm", i); /* { dg-warning "length character" "bad %qm" } */
-+ printf ("%Zm", i); /* { dg-warning "length character" "bad %Zm" } */
-+ /* As an extension, glibc includes the "I" flag for decimal integer
-+ formats, to output using the locale's digits (e.g. in Arabic).
-+ In GCC, we require this to be in the standard place for flags, though
-+ glibc allows it also after width or precision.
-+ */
-+ printf ("%Id%Ii%Iu", i, i, u);
-+ printf ("%Io", u); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Ix", u); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%IX", u); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%In", n); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%If", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%IF", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Ie", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%IE", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Ig", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%IG", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Ia", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%IA", d); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Ic", i); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Is", s); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Ip", p); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%IC", lc); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%IS", ls); /* { dg-warning "flag" "bad use of I flag" } */
-+ printf ("%Im"); /* { dg-warning "flag" "bad use of I flag" } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libg++-config.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libg++-config.patch
deleted file mode 100644
index fb2f1d063fa2..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libg++-config.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-2000-08-02 Manfred Hollstein <manfredh@redhat.com>
-
- * configure.in: Re-enable all references to libg++ and librx.
-
---- configure.in.orig Mon Oct 30 14:27:46 2000
-+++ configure.in Mon Oct 30 14:28:43 2000
-@@ -68,7 +68,9 @@ host_tools="texinfo byacc flex bison bin
- target_libs="target-libiberty \
- target-libgloss \
- target-newlib \
-+ target-librx \
- ${libstdcxx_version} \
-+ target-libg++ \
- target-libf2c \
- target-libchill \
- target-libffi \
-@@ -571,7 +573,7 @@ esac
-
- case "${target}" in
- *-*-netware)
-- noconfigdirs="$noconfigdirs ${libstdcxx_version} target-newlib target-libiberty target-libgloss target-libffi"
-+ noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-newlib target-libiberty target-libgloss target-libffi"
- ;;
- *-*-rtems*)
- noconfigdirs="$noconfigdirs target-libgloss target-libffi"
-@@ -629,7 +631,7 @@ case "${target}" in
- noconfigdirs="$noconfigdirs target-libgloss target-libffi"
- ;;
- c4x-*-*)
-- noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
-+ noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss target-libffi"
- ;;
- c54x*-*-* | tic54x-*-*)
- noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi gcc gdb newlib"
-@@ -662,7 +664,7 @@ case "${target}" in
- noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
- ;;
- d10v-*-*)
-- noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
-+ noconfigdirs="$noconfigdirs target-librx target-libg++ ${libstdcxx_version} target-libgloss target-libffi"
- ;;
- d30v-*-*)
- ;;
-@@ -673,7 +675,7 @@ case "${target}" in
- ;;
- h8300*-*-* | \
- h8500-*-*)
-- noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
-+ noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss target-libffi"
- ;;
- hppa*-*-*elf* | \
- hppa*-*-linux-gnu* | \
-@@ -702,7 +704,11 @@ case "${target}" in
- ;;
- i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
- # but don't build gdb
-- noconfigdirs="$noconfigdirs gdb ${libstdcxx_version} target-libffi"
-+ noconfigdirs="$noconfigdirs gdb target-libg++ ${libstdcxx_version} target-librx target-libffi"
-+ ;;
-+ *-*-linux*)
-+ # linux has rx in libc
-+ skipdirs="$skipdirs target-librx"
- ;;
- i[3456]86-*-mingw32*)
- target_configdirs="$target_configdirs target-mingw"
-@@ -729,7 +735,7 @@ case "${target}" in
- esac
- ;;
- i[3456]86-*-pe)
-- noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libgloss target-libffi"
-+ noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss target-libffi"
- ;;
- i[3456]86-*-sco3.2v5*)
- # The linker does not yet know about weak symbols in COFF,
-@@ -881,7 +887,7 @@ case "${target}" in
- fi
- ;;
- v810-*-*)
-- noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss target-libffi"
-+ noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libg++ ${libstdcxx_version} opcodes target-libgloss target-libffi"
- ;;
- v850-*-*)
- noconfigdirs="$noconfigdirs target-libgloss target-libffi"
-@@ -1192,7 +1198,7 @@ fi
-
- # provide a proper gxx_include_dir.
- # Note, if you change the default, make sure to fix both here and in
--# the gcc, libio, and libstdc++ subdirectories.
-+# the gcc, libio, libstdc++ and libg++ subdirectories.
- # Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
- gxx_include_dir=
- if test -n "${with_gxx_include_dir}"; then
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-endl.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-endl.patch
deleted file mode 100644
index 55e02e60f630..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-endl.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-2000-10-18 Jakub Jelinek <jakub@redhat.com>
-
- * iostream.cc (ends): Release the acquired lock.
- (endl): Likewise.
-
---- libio/iostream.cc.jj Wed Oct 11 10:04:22 2000
-+++ libio/iostream.cc Wed Oct 18 17:18:34 2000
-@@ -965,15 +965,25 @@ int istream::_skip_ws()
-
- ostream& ends(ostream& outs)
- {
-- if (outs.opfx())
-+ if (outs.opfx()) {
-+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
-+ outs._strbuf);
- outs.put('\0');
-+ outs.osfx();
-+ _IO_cleanup_region_end (0);
-+ }
- return outs;
- }
-
- ostream& endl(ostream& outs)
- {
-- if (outs.opfx())
-+ if (outs.opfx()) {
-+ _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile,
-+ outs._strbuf);
- flush(outs.put('\n'));
-+ outs.osfx();
-+ _IO_cleanup_region_end (0);
-+ }
- return outs;
- }
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-printf_fp.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-printf_fp.patch
deleted file mode 100644
index e91f05b67359..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio-printf_fp.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-2000-10-11 Jakub Jelinek <jakub@redhat.com>
-
- * iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >= 2]:
- Initialize new fields wide and i18n of struct printf_info.
- (ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 2]:
- Likewise.
-
---- libio/iostream.cc.jj Wed May 24 09:06:07 2000
-+++ libio/iostream.cc Wed Oct 11 10:04:22 2000
-@@ -1,5 +1,5 @@
- /* This is part of libio/iostream, providing -*- C++ -*- input/output.
-- Copyright (C) 1993, 1997 Free Software Foundation, Inc.
-+ Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc.
-
- This file is part of the GNU IO Library. This library is free
- software; you can redistribute it and/or modify it under the
-@@ -687,6 +687,10 @@ ostream& ostream::operator<<(double n)
- /* extra: */ 0,
- #if __GLIBC_MINOR__ >= 1
- /* is_char: */ 0,
-+#if __GLIBC_MINOR__ >= 2
-+ /* wide: */ 0,
-+ /* i18n: */ 0,
-+#endif
- #endif
- #endif
- /* pad: */ fill()
-@@ -793,6 +797,10 @@ ostream& ostream::operator<<(long double
- /* extra: */ 0,
- #if __GLIBC_MINOR__ >= 1
- /* is_char: */ 0,
-+#if __GLIBC_MINOR__ >= 2
-+ /* wide: */ 0,
-+ /* i18n: */ 0,
-+#endif
- #endif
- #endif
- /* pad: */ fill()
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio.patch
deleted file mode 100644
index 8fcba4b79337..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libio.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- libio/libio.h Wed Aug 16 08:38:10 2000
-+++ libio/libio.h Mon Sep 11 08:43:14 2000
-@@ -133,6 +133,7 @@
- #define _IO_IS_APPENDING 0x1000
- #define _IO_IS_FILEBUF 0x2000
- #define _IO_BAD_SEEN 0x4000
-+#define _IO_USER_LOCK 0x8000
-
- /* These are "formatting flags" matching the iostream fmtflags enum values. */
- #define _IO_SKIPWS 01
-@@ -441,6 +442,10 @@
-
- #ifdef _IO_MTSAFE_IO
- # define _IO_peekc(_fp) _IO_peekc_locked (_fp)
-+# define _IO_flockfile(_fp) \
-+ if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_flockfile (_fp)
-+# define _IO_funlockfile(_fp) \
-+ if (((_fp)->_flags & _IO_USER_LOCK) == 0) _IO_funlockfile (_fp)
- #else
- # define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
- # define _IO_flockfile(_fp) /**/
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libstdc++-v3-wnoerror.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libstdc++-v3-wnoerror.patch
deleted file mode 100644
index 21c40dfb0246..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-libstdc++-v3-wnoerror.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- libstdc++-v3/acinclude.m4.jj Mon Jul 10 02:08:44 2000
-+++ libstdc++-v3/acinclude.m4 Tue Jul 11 15:18:48 2000
-@@ -191,7 +191,7 @@ AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES
- AC_LANG_CPLUSPLUS
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
-- WERROR='-Werror'
-+ WERROR=''
-
- # Check for pragma system_header.
- AC_MSG_CHECKING([for g++ that supports pragma system_header])
---- libstdc++-v3/aclocal.m4.jj Mon Jul 10 02:08:44 2000
-+++ libstdc++-v3/aclocal.m4 Tue Jul 11 15:19:05 2000
-@@ -203,7 +203,7 @@ AC_DEFUN(GLIBCPP_CHECK_COMPILER_FEATURES
- AC_LANG_CPLUSPLUS
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
-- WERROR='-Werror'
-+ WERROR=''
-
- # Check for pragma system_header.
- AC_MSG_CHECKING([for g++ that supports pragma system_header])
---- libstdc++-v3/configure.jj Mon Jul 10 02:08:45 2000
-+++ libstdc++-v3/configure Tue Jul 11 15:22:19 2000
-@@ -2804,7 +2804,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
-
- ac_test_CXXFLAGS="${CXXFLAGS+set}"
- ac_save_CXXFLAGS="$CXXFLAGS"
-- WERROR='-Werror'
-+ WERROR=''
-
- # Check for pragma system_header.
- echo $ac_n "checking for g++ that supports pragma system_header""... $ac_c" 1>&6
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-giv.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-giv.patch
deleted file mode 100644
index f5a7479330af..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-giv.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-2000-09-28 Jose Luu <jluu@mainsoft.com>
- Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * loop.c (check_final_value): A GIV is not replaceable if used before the
- set.
-
---- gcc/loop.c.jj Wed Oct 4 18:49:29 2000
-+++ gcc/loop.c Thu Oct 5 06:19:39 2000
-@@ -5692,6 +5692,7 @@ check_final_value (loop, v)
- or all uses follow that insn in the same basic block),
- - its final value can be calculated (this condition is different
- than the one above in record_giv)
-+ - it's not used before it's set
- - no assignments to the biv occur during the giv's lifetime. */
-
- #if 0
-@@ -5703,7 +5704,7 @@ check_final_value (loop, v)
- if ((final_value = final_giv_value (loop, v))
- && (v->always_computable || last_use_this_basic_block (v->dest_reg, v->insn)))
- {
-- int biv_increment_seen = 0;
-+ int biv_increment_seen = 0, before_giv_insn = 0;
- rtx p = v->insn;
- rtx last_giv_use;
-
-@@ -5733,14 +5734,17 @@ check_final_value (loop, v)
- {
- p = NEXT_INSN (p);
- if (p == loop->end)
-- p = NEXT_INSN (loop->start);
-+ {
-+ before_giv_insn = 1;
-+ p = NEXT_INSN (loop->start);
-+ }
- if (p == v->insn)
- break;
-
- if (GET_CODE (p) == INSN || GET_CODE (p) == JUMP_INSN
- || GET_CODE (p) == CALL_INSN)
- {
-- if (biv_increment_seen)
-+ if (biv_increment_seen || before_giv_insn)
- {
- if (reg_mentioned_p (v->dest_reg, PATTERN (p)))
- {
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-hack.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-hack.patch
deleted file mode 100644
index 33ab22069f53..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-hack.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-As I'm not sure whether http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00843.html
-is ok, I'm taking the safe way and don't allow any sequences containing
-eh notes to be moved out of the loop.
-
---- gcc/rtlanal.c.jj Mon Aug 21 18:27:34 2000
-+++ gcc/rtlanal.c Wed Aug 23 16:31:13 2000
-@@ -2420,8 +2420,6 @@ insns_safe_to_move_p (from, to, new_to)
- rtx to;
- rtx *new_to;
- {
-- int eh_region_count = 0;
-- int past_to_p = 0;
- rtx r = from;
-
- /* By default, assume the end of the region will be what was
-@@ -2436,45 +2434,16 @@ insns_safe_to_move_p (from, to, new_to)
- switch (NOTE_LINE_NUMBER (r))
- {
- case NOTE_INSN_EH_REGION_BEG:
-- ++eh_region_count;
-- break;
--
- case NOTE_INSN_EH_REGION_END:
-- if (eh_region_count == 0)
-- /* This sequence of instructions contains the end of
-- an exception region, but not he beginning. Moving
-- it will cause chaos. */
-- return 0;
--
-- --eh_region_count;
-- break;
-+ return 0;
-
- default:
- break;
- }
- }
-- else if (past_to_p)
-- /* If we've passed TO, and we see a non-note instruction, we
-- can't extend the sequence to a movable sequence. */
-- return 0;
-
- if (r == to)
-- {
-- if (!new_to)
-- /* It's OK to move the sequence if there were matched sets of
-- exception region notes. */
-- return eh_region_count == 0;
--
-- past_to_p = 1;
-- }
--
-- /* It's OK to move the sequence if there were matched sets of
-- exception region notes. */
-- if (past_to_p && eh_region_count == 0)
-- {
-- *new_to = r;
-- return 1;
-- }
-+ return 1;
-
- /* Go to the next instruction. */
- r = NEXT_INSN (r);
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt.patch
deleted file mode 100644
index 20c964f0e435..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-2000-08-01 Bernd Schmidt <bernds@cygnus.co.uk>
-
- * loop.c: Temporarily disable some optimizations.
-
---- gcc/loop.c.baseline Sat Jul 29 14:38:22 2000
-+++ gcc/loop.c Tue Aug 1 16:17:52 2000
-@@ -2547,6 +2547,10 @@
- {
- rtx insn;
-
-+ /* Temporarily disable this optimization. */
-+ loop->cont_dominator = 0;
-+ return;
-+
- if (! loop->cont_dominator)
- /* This can happen for an empty loop, e.g. in
- gcc.c-torture/compile/920410-2.c */
-@@ -4159,7 +4163,8 @@
- /* If the loop contains volatile memory references do not allow any
- replacements to take place, since this could loose the volatile
- markers. */
-- if (n_extra_increment && ! loop_info->has_volatile)
-+ /* Temporarily disabled. */
-+ if (0 && n_extra_increment && ! loop_info->has_volatile)
- {
- unsigned int nregs = first_increment_giv + n_extra_increment;
-
-@@ -4626,8 +4636,10 @@
- VARRAY_GROW (reg_iv_type, nregs);
- VARRAY_GROW (reg_iv_info, nregs);
- }
-+ /* Temporarily disabled. */
-+#if 0
- recombine_givs (loop, bl, flags & LOOP_UNROLL);
--
-+#endif
- /* Reduce each giv that we decided to reduce. */
-
- for (v = bl->giv; v; v = v->next_iv)
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt2.patch
deleted file mode 100644
index 4f01ef897744..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-noopt2.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-2000-08-02 Bernd Schmidt <bernds@cygnus.co.uk>
-
- * loop.c (maybe_eliminate_biv_1): Turn off yet another case.
-
---- gcc/loop.c.baseline Sat Jul 29 14:38:22 2000
-+++ gcc/loop.c Wed Aug 2 17:21:44 2000
-@@ -8625,7 +8622,8 @@
- {
- /* First try to replace with any giv that has constant positive
- mult_val and constant add_val. We might be able to support
-- negative mult_val, but it seems complex to do it in general. */
-+ negative mult_val, but it seems complex to do it in general.
-+ ??? Turn this off due to possible overflow. */
-
- for (v = bl->giv; v; v = v->next_iv)
- if (GET_CODE (v->mult_val) == CONST_INT && INTVAL (v->mult_val) > 0
-@@ -8635,7 +8633,8 @@
- || (GET_CODE (v->add_val) == REG
- && REGNO_POINTER_FLAG (REGNO (v->add_val))))
- && ! v->ignore && ! v->maybe_dead && v->always_computable
-- && v->mode == mode)
-+ && v->mode == mode
-+ && 0)
- {
- if (! biv_elimination_giv_has_0_offset (bl->biv, v, insn))
- continue;
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-scanloop.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-scanloop.patch
deleted file mode 100644
index b9cb8256e91e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-scanloop.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-2000-08-01 Jakub Jelinek <jakub@redhat.com>
-
- * loop.c (scan_loop): Ensure update_end label does not
- go away until reg_scan_update is run.
-
---- gcc/loop.c.jj Tue Aug 1 15:42:24 2000
-+++ gcc/loop.c Tue Aug 1 17:56:58 2000
-@@ -1131,11 +1131,19 @@ scan_loop (loop, flags)
-
- if (flag_strength_reduce)
- {
-+ if (update_end && GET_CODE (update_end) == CODE_LABEL)
-+ /* Ensure our label doesn't go away. */
-+ LABEL_NUSES (update_end)++;
-+
- the_movables = movables;
- strength_reduce (loop, insn_count, flags);
-
- reg_scan_update (update_start, update_end, loop_max_reg);
- loop_max_reg = max_reg_num ();
-+
-+ if (update_end && GET_CODE (update_end) == CODE_LABEL
-+ && --LABEL_NUSES (update_end) == 0)
-+ delete_insn (update_end);
- }
-
- VARRAY_FREE (reg_single_usage);
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test1.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test1.patch
deleted file mode 100644
index 59174e9bd28c..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test1.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-2000-08-01 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c-torture/execute/20000801-1.c: New test.
-
---- gcc/testsuite/gcc.c-torture/execute/20000801-1.c.jj Tue Aug 1 12:44:09 2000
-+++ gcc/testsuite/gcc.c-torture/execute/20000801-1.c Tue Aug 1 12:16:04 2000
-@@ -0,0 +1,39 @@
-+extern void abort(void);
-+extern void exit(int);
-+
-+void
-+foo (char *bp, unsigned n)
-+{
-+ register char c;
-+ register char *ep = bp + n;
-+ register char *sp;
-+
-+ while (bp < ep)
-+ {
-+ sp = bp + 3;
-+ c = *sp;
-+ *sp = *bp;
-+ *bp++ = c;
-+ sp = bp + 1;
-+ c = *sp;
-+ *sp = *bp;
-+ *bp++ = c;
-+ bp += 2;
-+ }
-+}
-+
-+int main(void)
-+{
-+ int one = 1;
-+
-+ if (sizeof(int) != 4 * sizeof(char))
-+ exit(0);
-+
-+ foo((char *)&one, sizeof(one));
-+ foo((char *)&one, sizeof(one));
-+
-+ if (one != 1)
-+ abort();
-+
-+ exit(0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test2.patch
deleted file mode 100644
index 7d0d110cd299..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-test2.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-2000-08-01 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c-torture/execute/20000801-2.c: New test.
-
---- gcc/testsuite/gcc.c-torture/execute/20000801-2.c.jj Tue Aug 1 15:30:24 2000
-+++ gcc/testsuite/gcc.c-torture/execute/20000801-2.c Tue Aug 1 15:30:14 2000
-@@ -0,0 +1,40 @@
-+extern void abort(void);
-+extern void exit(int);
-+int bar(void);
-+int baz(void);
-+
-+struct foo {
-+ struct foo *next;
-+};
-+
-+struct foo *test(struct foo *node)
-+{
-+ while (node) {
-+ if (bar() && !baz())
-+ break;
-+ node = node->next;
-+ }
-+ return node;
-+}
-+
-+int bar (void)
-+{
-+ return 0;
-+}
-+
-+int baz (void)
-+{
-+ return 0;
-+}
-+
-+int main(void)
-+{
-+ struct foo a, b, *c;
-+
-+ a.next = &b;
-+ b.next = (struct foo *)0;
-+ c = test(&a);
-+ if (c)
-+ abort();
-+ exit (0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-unroll.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-unroll.patch
deleted file mode 100644
index a59359d9f936..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop-unroll.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-2000-08-01 Bernd Schmidt <bernds@cygnus.co.uk>
-
- * unroll.c (unroll_loop): Disable unrolling if there are any
- jumps to the start label other than the last loop insn.
-
-*** gcc/unroll.c 2000/05/26 00:12:51 1.128
---- gcc/unroll.c 2000/08/01 15:15:34
-*************** unroll_loop (loop, insn_count, end_inser
-*** 743,751 ****
- else if (GET_CODE (insn) == JUMP_INSN)
- {
- if (JUMP_LABEL (insn))
-! set_label_in_map (map,
-! CODE_LABEL_NUMBER (JUMP_LABEL (insn)),
-! JUMP_LABEL (insn));
- else if (GET_CODE (PATTERN (insn)) == ADDR_VEC
- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC)
- {
---- 743,760 ----
- else if (GET_CODE (insn) == JUMP_INSN)
- {
- if (JUMP_LABEL (insn))
-! {
-! if (insn != last_loop_insn && JUMP_LABEL (insn) == start_label)
-! {
-! if (loop_dump_stream)
-! fprintf (loop_dump_stream,
-! "Unrolling failure: found branch to loop start\n");
-! return;
-! }
-! set_label_in_map (map,
-! CODE_LABEL_NUMBER (JUMP_LABEL (insn)),
-! JUMP_LABEL (insn));
-! }
- else if (GET_CODE (PATTERN (insn)) == ADDR_VEC
- || GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC)
- {
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop.patch
deleted file mode 100644
index 1da5920429f9..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-loop.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-2000-06-29 Jakub Jelinek <jakub@redhat.com>
-
- * loop.c (strength_reduce): Allow line NOTEs in the chain.
-
- * gcc.dg/20000629-1.c: New test.
-
---- gcc/testsuite/gcc.dg/20000629-1.c.jj Thu Jun 29 11:45:49 2000
-+++ gcc/testsuite/gcc.dg/20000629-1.c Thu Jun 29 11:46:07 2000
-@@ -0,0 +1,13 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -g" } */
-+
-+void foo(register char *p)
-+{
-+ char c, *q, *sp;
-+ while (1) {
-+ *p++=0;
-+ sp=p+1;
-+ c=*sp;
-+ *p++=0;
-+ }
-+}
---- gcc/loop.c.jj Fri Jun 16 13:10:29 2000
-+++ gcc/loop.c Thu Jun 29 11:44:33 2000
-@@ -4249,8 +4249,9 @@ strength_reduce (loop, insn_count, flags
- /* Some bivs are incremented with a multi-insn sequence.
- The first insn contains the add. */
- next_loc_insn = next->insn;
-- while (! loc_mentioned_in_p (next->location,
-- PATTERN (next_loc_insn)))
-+ while (! INSN_P (next_loc_insn)
-+ || ! loc_mentioned_in_p (next->location,
-+ PATTERN (next_loc_insn)))
- next_loc_insn = PREV_INSN (next_loc_insn);
-
- if (next_loc_insn == v->insn)
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-lowpart-test.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-lowpart-test.patch
deleted file mode 100644
index d999f7475ebe..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-lowpart-test.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-2000-08-02 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c-torture/compile/20000802-1.c: New test.
-
---- gcc/testsuite/gcc.c-torture/compile/20000802-1.c.jj Wed Aug 2 20:20:24 2000
-+++ gcc/testsuite/gcc.c-torture/compile/20000802-1.c Wed Aug 2 20:20:43 2000
-@@ -0,0 +1,15 @@
-+struct foo {
-+ char a[3];
-+ char b;
-+ char c;
-+};
-+
-+struct foo bs;
-+int x;
-+char y[3];
-+
-+void bar(void)
-+{
-+ memcpy(bs.a, y, 3);
-+ bs.a[1] = ((x ? &bs.b : &bs.c) - (char *)&bs) - 2;
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-make-extraction.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-make-extraction.patch
deleted file mode 100644
index 66eb6d34892a..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-make-extraction.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Sat Aug 26 14:38:22 CEST 2000 Jan Hubicka <jh@suse.cz>
-
- * combine.c (make_extraction): Fix rtx_cost comparison to
- match the comment.
-
-*** gcc/combine.c.jj Sat Aug 26 11:41:35 2000
---- gcc/combine.c Sat Aug 26 14:36:38 2000
-*************** make_extraction (mode, inner, pos, pos_r
-*** 6000,6008 ****
- rtx temp = gen_rtx_ZERO_EXTEND (mode, new);
- rtx temp1 = gen_rtx_SIGN_EXTEND (mode, new);
-
-! /* Prefer ZERO_EXTENSION, since it gives more information to
- backends. */
-! if (rtx_cost (temp, SET) < rtx_cost (temp1, SET))
- return temp;
- return temp1;
- }
---- 6000,6008 ----
- rtx temp = gen_rtx_ZERO_EXTEND (mode, new);
- rtx temp1 = gen_rtx_SIGN_EXTEND (mode, new);
-
-! /* Prefer ZERO_EXTENSION, since it gives more information to
- backends. */
-! if (rtx_cost (temp, SET) <= rtx_cost (temp1, SET))
- return temp;
- return temp1;
- }
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-new-abi.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-new-abi.patch
deleted file mode 100644
index fb88185e76a0..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-new-abi.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- gcc/cp/decl2.c.jj Mon Jul 10 03:43:58 2000
-+++ gcc/cp/decl2.c Tue Jul 11 11:56:12 2000
-@@ -227,7 +227,7 @@ int warn_ctor_dtor_privacy = 1;
- #ifndef DEFAULT_VTABLE_THUNKS
- #define DEFAULT_VTABLE_THUNKS 0
- #endif
--int flag_vtable_thunks = DEFAULT_VTABLE_THUNKS;
-+int flag_vtable_thunks = 1;
-
- /* Nonzero means generate separate instantiation control files and juggle
- them at link time. */
-@@ -445,7 +445,7 @@ int flag_weak = 1;
-
- /* Nonzero to enable experimental ABI changes. */
-
--int flag_new_abi;
-+int flag_new_abi = 1;
-
- /* Nonzero to use __cxa_atexit, rather than atexit, to register
- destructors for local statics and global objects. */
-@@ -478,7 +478,7 @@ int flag_short_wchar;
- /* Nonzero if squashed mangling is to be performed.
- This uses the B and K codes to reference previously seen class types
- and class qualifiers. */
--int flag_do_squangling;
-+int flag_do_squangling = 1;
-
- /* Nonzero means output .vtable_{entry,inherit} for use in doing vtable gc. */
-
---- gcc/cp/lang-specs.h.jj Fri Apr 7 17:02:30 2000
-+++ gcc/cp/lang-specs.h Tue Jul 11 13:24:15 2000
-@@ -51,7 +51,7 @@ Boston, MA 02111-1307, USA. */
- -D__cplusplus\
- %{ansi:-trigraphs -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\
- %{!fno-exceptions:-D__EXCEPTIONS}\
-- %{fnew-abi:-D__GXX_ABI_VERSION=100}\
-+ %{!fno-new-abi:-D__GXX_ABI_VERSION=100}\
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}}\
- %{ffast-math:-D__FAST_MATH__}\
- %{fshort-wchar:-D__WCHAR_TYPE__=short\\ unsigned\\ int}\
-@@ -74,7 +74,7 @@ Boston, MA 02111-1307, USA. */
- -D__GNUC_PATCHLEVEL__=%v3} -D__cplusplus\
- %{ansi:-trigraphs -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\
- %{!fno-exceptions:-D__EXCEPTIONS}\
-- %{fnew-abi:-D__GXX_ABI_VERSION=100}\
-+ %{!fno-new-abi:-D__GXX_ABI_VERSION=100}\
- %c %{Os:-D__OPTIMIZE_SIZE__} %{O*:%{!O0:-D__OPTIMIZE__}} %{trigraphs}\
- %{ffast-math:-D__FAST_MATH__}\
- %{fshort-wchar:-D__WCHAR_TYPE__=short\\ unsigned\\ int}\
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-no-warn-trigraphs.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-no-warn-trigraphs.patch
deleted file mode 100644
index 15ebb3586d44..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-no-warn-trigraphs.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Don't warn about trigraphs unless trigraphs are actually converted.
-This hack should be removed as soon as cpp does not put this warning if
-inside comments.
-
---- gcc/cpplex.c.jj Thu Jun 22 23:09:25 2000
-+++ gcc/cpplex.c Thu Jun 22 23:10:13 2000
-@@ -734,9 +734,6 @@ trigraph_ok (pfile, end)
- cpp_warning_with_line (pfile, pfile->buffer->lineno, col,
- "trigraph ??%c converted to %c",
- (int) *end, (int) trigraph_map[*end]);
-- else
-- cpp_warning_with_line (pfile, pfile->buffer->lineno, col,
-- "trigraph ??%c ignored", (int) *end);
- }
- return accept;
- }
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-place-field.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-place-field.patch
deleted file mode 100644
index 3d63fc9f4a11..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-place-field.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * stor-layout.c (place_field): Don't do anything if field or
- its type are ERROR_MARK.
-
---- gcc/stor-layout.c 2000/08/29 21:39:45 1.83
-+++ gcc/stor-layout.c 2000/09/16 18:31:00 1.84
-@@ -638,6 +638,9 @@ place_field (rli, field)
- /* The type of this field. */
- tree type = TREE_TYPE (field);
-
-+ if (TREE_CODE (field) == ERROR_MARK || TREE_CODE (type) == ERROR_MARK)
-+ return;
-+
- /* If FIELD is static, then treat it like a separate variable, not
- really like a structure field. If it is a FUNCTION_DECL, it's a
- method. In both cases, all we do is lay out the decl, and we do
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-pt-enum.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-pt-enum.patch
deleted file mode 100644
index 43c2544252c9..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-pt-enum.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-2000-10-06 Nathan Sidwell <nathan@codesourcery.com>
-
- * pt.c (lookup_template_class): Set current access for enum.
- (tsubst_enum): Set file & line for enum decl.
-
- * g++.old-deja/g++.pt/enum14.C: New test.
-
-*** gcc/cp/pt.c 2000/10/05 08:31:15 1.469
---- gcc/cp/pt.c 2000/10/06 09:02:18
-*************** lookup_template_class (d1, arglist, in_d
-*** 3965,3971 ****
- if (TREE_CODE (template_type) == ENUMERAL_TYPE)
- {
- if (!is_partial_instantiation)
-! t = start_enum (TYPE_IDENTIFIER (template_type));
- else
- /* We don't want to call start_enum for this type, since
- the values for the enumeration constants may involve
---- 3965,3974 ----
- if (TREE_CODE (template_type) == ENUMERAL_TYPE)
- {
- if (!is_partial_instantiation)
-! {
-! set_current_access_from_decl (TYPE_NAME (template_type));
-! t = start_enum (TYPE_IDENTIFIER (template_type));
-! }
- else
- /* We don't want to call start_enum for this type, since
- the values for the enumeration constants may involve
-*************** tsubst_enum (tag, newtag, args)
-*** 9941,9946 ****
---- 9944,9951 ----
- }
-
- finish_enum (newtag);
-+ DECL_SOURCE_LINE (TYPE_NAME (newtag)) = DECL_SOURCE_LINE (TYPE_NAME (tag));
-+ DECL_SOURCE_FILE (TYPE_NAME (newtag)) = DECL_SOURCE_FILE (TYPE_NAME (tag));
- }
-
- /* DECL is a FUNCTION_DECL that is a template specialization. Return
-*** gcc/testsuite/g++.old-deja/g++.pt/enum14.C Thu Aug 24 11:00:32 2000
---- gcc/testsuite/g++.old-deja/g++.pt/enum14.C Tue Oct 10 18:23:22 2000
-***************
-*** 0 ****
---- 1,36 ----
-+ // Build don't link:
-+ // Copyright (C) 2000 Free Software Foundation, Inc.
-+ // Contributed by Nathan Sidwell 4 Oct 2000 <nathan@codesourcery.com>
-+ // Origin: bug 511 malte.starostik@t-online.de
-+
-+ // Bug 511. We failed to set access correctly for enumeration members of
-+ // template classes
-+
-+ template <class>
-+ class A
-+ {
-+ public:
-+ enum foo {bar};
-+ typedef int baz;
-+ };
-+
-+ struct C: public A<int>
-+ {
-+ void choke (foo);
-+ void choke (baz);
-+ };
-+
-+ template <class>
-+ struct B
-+ {
-+ private:
-+ enum foo {bar}; // ERROR - private
-+ typedef int baz; // ERROR - private
-+ };
-+
-+ struct D: public B<int>
-+ {
-+ void choke (foo); // ERROR - within this context
-+ void choke (baz); // ERROR - within this context
-+ };
-+
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-real-value.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-real-value.patch
deleted file mode 100644
index d2857a16c8c7..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-real-value.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-2000-10-04 Jakub Jelinek <jakub@redhat.com>
-
- * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
- from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
- * dwarf2out.c (add_const_value_attribute): Divide by 4, not
- sizeof(long).
-
---- gcc/emit-rtl.c.jj Fri Sep 15 16:46:31 2000
-+++ gcc/emit-rtl.c Wed Oct 4 18:03:18 2000
-@@ -1055,10 +1055,12 @@ gen_lowpart_common (mode, x)
- break;
- #if LONG_DOUBLE_TYPE_SIZE == 96
- case XFmode:
-+ REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, i + endian);
-+ i[3-3*endian] = 0;
- #else
- case TFmode:
--#endif
- REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, i);
-+#endif
- break;
- default:
- abort();
-@@ -1071,14 +1073,24 @@ gen_lowpart_common (mode, x)
- #else
- if (HOST_BITS_PER_WIDE_INT != 64)
- abort();
-+
- for (c = 0; c < 4; c++)
- i[c] &= 0xffffffffL;
--
-- return immed_double_const (i[endian*3] |
-- (((HOST_WIDE_INT) i[1+endian]) << 32),
-- i[2-endian] |
-- (((HOST_WIDE_INT) i[3-endian*3]) << 32),
-- mode);
-+
-+ switch (GET_MODE (x))
-+ {
-+ case SFmode:
-+ case DFmode:
-+ return immed_double_const (((unsigned long) i[endian]) |
-+ (((HOST_WIDE_INT) i[1-endian]) << 32),
-+ 0, mode);
-+ default:
-+ return immed_double_const (((unsigned long) i[endian*3]) |
-+ (((HOST_WIDE_INT) i[1+endian]) << 32),
-+ ((unsigned long) i[2-endian]) |
-+ (((HOST_WIDE_INT) i[3-endian*3]) << 32),
-+ mode);
-+ }
- #endif
- }
- #endif /* ifndef REAL_ARITHMETIC */
---- gcc/dwarf2out.c.jj Fri Sep 15 16:46:31 2000
-+++ gcc/dwarf2out.c Wed Oct 4 17:51:48 2000
-@@ -7116,7 +7116,7 @@ add_const_value_attribute (die, rtl)
-
- if (GET_MODE_CLASS (mode) == MODE_FLOAT)
- {
-- register unsigned length = GET_MODE_SIZE (mode) / sizeof (long);
-+ register unsigned length = GET_MODE_SIZE (mode) / 4;
- long array[4];
- REAL_VALUE_TYPE rv;
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-regmove-asm.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-regmove-asm.patch
deleted file mode 100644
index 4e08d1865f33..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-regmove-asm.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-2000-07-25 Jakub Jelinek <jakub@redhat.com>
-
- * regmove.c (combine_stack_adjustments_for_block): Don't
- merge stack adjustements accross ASM_OPERANDS.
-
- * gcc.dg/20000724-1.c: New test.
-
---- gcc/regmove.c.jj Mon Jul 24 11:54:38 2000
-+++ gcc/regmove.c Tue Jul 25 00:05:00 2000
-@@ -2328,6 +2328,16 @@ combine_stack_adjustments_for_block (bb)
- if (! INSN_P (insn))
- goto processed;
-
-+ if (asm_noperands (PATTERN (insn)) >= 0)
-+ {
-+ /* Asm might be given just a pointer to some local stack area. */
-+ free_csa_memlist (memlist);
-+ memlist = NULL;
-+ last_sp_set = NULL_RTX;
-+ last_sp_adjust = 0;
-+ goto processed;
-+ }
-+
- set = single_set_for_csa (insn);
- if (set)
- {
---- gcc/testsuite/gcc.dg/20000724-1.c.jj Mon Jul 24 19:50:46 2000
-+++ gcc/testsuite/gcc.dg/20000724-1.c Mon Jul 24 18:06:54 2000
-@@ -0,0 +1,63 @@
-+/* { dg-do run { target i?86-*-linux* } } */
-+/* { dg-options "-O2 -fomit-frame-pointer" } */
-+
-+extern void abort (void);
-+extern void exit (int);
-+
-+struct s {
-+ struct { int a; } a;
-+ int b;
-+ struct { struct { int a; } a; struct t { struct t *a, *b; } b; } c;
-+};
-+
-+int bar(int (*fn)(void *), void *arg, unsigned long flags)
-+{
-+ return 0;
-+}
-+
-+int baz(void *x)
-+{
-+ return 0;
-+}
-+
-+void do_check (struct s *) asm ("do_check") __attribute__((regparm(1)));
-+
-+void do_check(struct s *x)
-+{
-+ if (x->a.a || x->b || x->c.a.a)
-+ abort();
-+ if (x->c.b.a != &x->c.b || x->c.b.b != &x->c.b)
-+ abort();
-+}
-+
-+asm ("
-+___checkme:
-+ pushl %eax; pushl %ebx; pushl %ecx; pushl %edx; pushl %esi; pushl %edi; pushl $0; pushl $0
-+ pushl $0; pushl $0; pushl $0; pushl $0; pushl $0; pushl $0; pushl $0; pushl $0
-+ movl %ecx, %eax
-+ call do_check
-+ popl %eax; popl %eax; popl %eax; popl %eax; popl %eax; popl %eax; popl %eax; popl %eax
-+ popl %eax; popl %eax; popl %edi; popl %esi; popl %edx; popl %ecx; popl %ebx; popl %eax
-+ ret
-+");
-+
-+extern inline void do_asm(struct s * x)
-+{
-+ asm volatile("call ___checkme" : : "c" (x) : "memory");
-+}
-+
-+int foo(void)
-+{
-+ struct s x = { { 0 }, 0, { { 0 }, { &x.c.b, &x.c.b } } };
-+ bar(baz, &x, 1);
-+ do_asm(&x);
-+ bar(baz, &x, 1);
-+ do_asm(&x);
-+ return 0;
-+}
-+
-+int main()
-+{
-+ foo();
-+ exit(0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-relational.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-relational.patch
deleted file mode 100644
index 1d67da85c892..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-relational.patch
+++ /dev/null
@@ -1,738 +0,0 @@
-Thu Aug 3 20:18:53 MET DST 2000 Jan Hubicka <jh@suse.cz>
-
- * combine.c (gen_binary): Refuse relational operations.
- (gen_relational): New
- (combine_splify_rtx): Keep track of mode of the comparsion,
- avoid creating VOIDmode comparisons.
- (simplify_if_then_else): Use gen_relational at the place
- we create relational operations.
- (simplify_set): Avoid creating of VOIDmode compares.
- (if_then_else_cond): Keep track of the comparison mode.
- (simplify_comparison): New parameter pmode, update it when
- mode has changed.
- * recog.c (validate_replace_rtx_1): Simplify relational
- operations, avoid VOIDmode compares.
- * simplify-rtx.c (simplify_relational_operation): Require
- mode to be valid; get valid mode from the COMPARE
- expression; strip down the CONST.
-
---- gcc/recog.c.jj Wed Aug 2 21:34:09 2000
-+++ gcc/recog.c Fri Aug 18 15:26:59 2000
-@@ -456,12 +456,45 @@ validate_replace_rtx_1 (loc, from, to, o
-
- switch (code)
- {
-+ case COMPARE:
-+ /* Comparison of two VOIDmode values is incorrect. We get around
-+ by embedding first VOIDmode value by CONST with proper mode.
-+ Resulting insn would not match, but this is usefull for keeping
-+ the information in REG_EQUAL notes constructed by gcse. */
-+ if (GET_MODE (to) == VOIDmode)
-+ {
-+ enum machine_mode mode;
-+ rtx op0, op1;
-+ op0 = XEXP (x, 0);
-+ op1 = XEXP (x, 1);
-+ mode = GET_MODE (GET_MODE (op0) != VOIDmode ? op0 : op1);
-+ /* Comparison of two VOIDmode values in incorrect. */
-+ if (mode == VOIDmode)
-+ abort();
-+ if (rtx_equal_p (op0, from))
-+ op0 = to;
-+ if (rtx_equal_p (op1, from))
-+ op1 = to;
-+ if (GET_MODE (op0) == VOIDmode
-+ && GET_MODE (op1) == VOIDmode)
-+ {
-+ validate_change (object, &XEXP (*loc, 0),
-+ gen_rtx_CONST (mode, op0), 1);
-+ validate_change (object, &XEXP (*loc, 1),
-+ op1, 1);
-+ return;
-+ }
-+ }
-+ break;
- case PLUS:
- /* If we have a PLUS whose second operand is now a CONST_INT, use
- plus_constant to try to simplify it. */
- if (GET_CODE (XEXP (x, 1)) == CONST_INT && XEXP (x, 1) == to)
-- validate_change (object, loc, plus_constant (XEXP (x, 0), INTVAL (to)),
-- 1);
-+ {
-+ validate_change (object, loc, plus_constant (XEXP (x, 0),
-+ INTVAL (to)),
-+ 1);
-+ }
- return;
-
- case MINUS:
-@@ -638,6 +671,25 @@ validate_replace_rtx_1 (loc, from, to, o
- break;
-
- default:
-+ /* We need to take care for simplifying the comparisons. In case we replace
-+ both operands by VOIDmode constants, the information about the rtx type is
-+ lost. */
-+ if (GET_RTX_CLASS (code) == '<'
-+ && (rtx_equal_p (XEXP (x, 0), from)
-+ || rtx_equal_p (XEXP (x, 1), from)))
-+ {
-+ rtx y;
-+ enum machine_mode mode = GET_MODE (GET_MODE (XEXP (x, 0)) != VOIDmode
-+ ? XEXP (x, 0) : XEXP (x, 1));
-+ y = simplify_relational_operation (code, mode,
-+ rtx_equal_p (XEXP (x, 0), from) ? to : XEXP (x, 0),
-+ rtx_equal_p (XEXP (x, 1), from) ? to : XEXP (x, 1));
-+ if (y)
-+ {
-+ validate_change (object, loc, y, 1);
-+ return;
-+ }
-+ }
- break;
- }
-
---- gcc/combine.c.jj Wed Aug 2 21:34:06 2000
-+++ gcc/combine.c Fri Aug 18 15:44:01 2000
-@@ -414,9 +414,14 @@ static rtx gen_rtx_combine PARAMS ((enum
- ...));
- static rtx gen_binary PARAMS ((enum rtx_code, enum machine_mode,
- rtx, rtx));
-+static rtx gen_relational PARAMS ((enum rtx_code, enum machine_mode,
-+ enum machine_mode,
-+ rtx, rtx));
- static rtx gen_unary PARAMS ((enum rtx_code, enum machine_mode,
- enum machine_mode, rtx));
--static enum rtx_code simplify_comparison PARAMS ((enum rtx_code, rtx *, rtx *));
-+static enum rtx_code simplify_comparison PARAMS ((enum rtx_code,
-+ enum machine_mode *,
-+ rtx *, rtx *));
- static int reversible_comparison_p PARAMS ((rtx));
- static void update_table_tick PARAMS ((rtx));
- static void record_value_for_reg PARAMS ((rtx, rtx, rtx));
-@@ -3579,7 +3584,10 @@ combine_simplify_rtx (x, op0_mode, last,
- || GET_RTX_CLASS (GET_CODE (false)) == '<')))
- {
- rtx cop1 = const0_rtx;
-- enum rtx_code cond_code = simplify_comparison (NE, &cond, &cop1);
-+ enum machine_mode cond_mode = GET_MODE (cond);
-+ enum rtx_code cond_code;
-+
-+ cond_code = simplify_comparison (NE, &cond_mode, &cond, &cop1);
-
- if (cond_code == NE && GET_RTX_CLASS (GET_CODE (cond)) == '<')
- return x;
-@@ -3600,10 +3608,10 @@ combine_simplify_rtx (x, op0_mode, last,
- /* If the result values are STORE_FLAG_VALUE and zero, we can
- just make the comparison operation. */
- if (true == const_true_rtx && false == const0_rtx)
-- x = gen_binary (cond_code, mode, cond, cop1);
-+ x = gen_relational (cond_code, mode, cond_mode, cond, cop1);
- else if (true == const0_rtx && false == const_true_rtx)
-- x = gen_binary (reverse_condition (cond_code),
-- mode, cond, cop1);
-+ x = gen_relational (reverse_condition (cond_code),
-+ mode, cond_mode, cond, cop1);
-
- /* Likewise, we can make the negate of a comparison operation
- if the result values are - STORE_FLAG_VALUE and zero. */
-@@ -3611,17 +3619,18 @@ combine_simplify_rtx (x, op0_mode, last,
- && INTVAL (true) == - STORE_FLAG_VALUE
- && false == const0_rtx)
- x = gen_unary (NEG, mode, mode,
-- gen_binary (cond_code, mode, cond, cop1));
-+ gen_relational (cond_code, mode, cond_mode,
-+ cond, cop1));
- else if (GET_CODE (false) == CONST_INT
- && INTVAL (false) == - STORE_FLAG_VALUE
- && true == const0_rtx)
- x = gen_unary (NEG, mode, mode,
-- gen_binary (reverse_condition (cond_code),
-- mode, cond, cop1));
-+ gen_relational (reverse_condition (cond_code),
-+ mode, cond_mode, cond, cop1));
- else
- return gen_rtx_IF_THEN_ELSE (mode,
-- gen_binary (cond_code, VOIDmode,
-- cond, cop1),
-+ gen_relational (cond_code, VOIDmode,
-+ cond_mode, cond, cop1),
- true, false);
-
- code = GET_CODE (x);
-@@ -3643,6 +3652,8 @@ combine_simplify_rtx (x, op0_mode, last,
- enum machine_mode cmp_mode = GET_MODE (XEXP (x, 0));
- if (cmp_mode == VOIDmode)
- cmp_mode = GET_MODE (XEXP (x, 1));
-+ if (cmp_mode == VOIDmode)
-+ cmp_mode = op0_mode;
- temp = simplify_relational_operation (code, cmp_mode,
- XEXP (x, 0), XEXP (x, 1));
- }
-@@ -4165,8 +4176,8 @@ combine_simplify_rtx (x, op0_mode, last,
- return SUBREG_REG (XEXP (x, 0));
- break;
-
--#ifdef HAVE_cc0
- case COMPARE:
-+#ifdef HAVE_cc0
- /* Convert (compare FOO (const_int 0)) to FOO unless we aren't
- using cc0, in which case we want to leave it as a COMPARE
- so we can distinguish it from a register-register-copy. */
-@@ -4179,8 +4190,22 @@ combine_simplify_rtx (x, op0_mode, last,
- || flag_fast_math)
- && XEXP (x, 1) == CONST0_RTX (GET_MODE (XEXP (x, 0))))
- return XEXP (x, 0);
-- break;
- #endif
-+ /* Comparisons in VOIDmode are not allowed and we will get into
-+ deep problem in the next iteration if COMPARE was nested inside
-+ comparison operator. We avoid this by placing extra CONST with
-+ proper mode and taking care in simplify_condition to eliminate it
-+ when it is not necesary - ugly but workable. */
-+ if (GET_MODE (XEXP (x, 0)) == VOIDmode
-+ && GET_MODE (XEXP (x, 1)) == VOIDmode)
-+ {
-+ if (op0_mode == VOIDmode)
-+ abort();
-+ SUBST (XEXP (x, 0), gen_rtx_CONST (op0_mode, XEXP (x, 0)));
-+ return x;
-+ }
-+ break;
-+
-
- case CONST:
- /* (const (const X)) can become (const X). Do it this way rather than
-@@ -4249,9 +4274,9 @@ combine_simplify_rtx (x, op0_mode, last,
- || (STORE_FLAG_VALUE == 1 && XEXP (x, 1) == constm1_rtx)))
- return
- gen_unary (NEG, mode, mode,
-- gen_binary (reverse_condition (GET_CODE (XEXP (x, 0))),
-- mode, XEXP (XEXP (x, 0), 0),
-- XEXP (XEXP (x, 0), 1)));
-+ gen_relational (reverse_condition (GET_CODE (XEXP (x, 0))),
-+ mode, VOIDmode, XEXP (XEXP (x, 0), 0),
-+ XEXP (XEXP (x, 0), 1)));
-
- /* If only the low-order bit of X is possibly nonzero, (plus x -1)
- can become (ashiftrt (ashift (xor x 1) C) C) where C is
-@@ -4297,9 +4322,9 @@ combine_simplify_rtx (x, op0_mode, last,
- && XEXP (x, 0) == const1_rtx
- && GET_RTX_CLASS (GET_CODE (XEXP (x, 1))) == '<'
- && reversible_comparison_p (XEXP (x, 1)))
-- return gen_binary (reverse_condition (GET_CODE (XEXP (x, 1))),
-- mode, XEXP (XEXP (x, 1), 0),
-- XEXP (XEXP (x, 1), 1));
-+ return gen_relational (reverse_condition (GET_CODE (XEXP (x, 1))),
-+ mode, VOIDmode, XEXP (XEXP (x, 1), 0),
-+ XEXP (XEXP (x, 1), 1));
-
- /* (minus <foo> (and <foo> (const_int -pow2))) becomes
- (and <foo> (const_int pow2-1)) */
-@@ -4370,9 +4395,10 @@ combine_simplify_rtx (x, op0_mode, last,
-
- if (GET_CODE (op0) == COMPARE)
- op1 = XEXP (op0, 1), op0 = XEXP (op0, 0);
-+ op0_mode = GET_MODE (GET_MODE (op0) != VOIDmode ? op0 : op1);
-
- /* Simplify our comparison, if possible. */
-- new_code = simplify_comparison (code, &op0, &op1);
-+ new_code = simplify_comparison (code, &op0_mode, &op0, &op1);
-
- /* If STORE_FLAG_VALUE is 1, we can convert (ne x 0) to simply X
- if only the low-order bit is possibly nonzero in X (such as when
-@@ -4489,7 +4515,13 @@ combine_simplify_rtx (x, op0_mode, last,
-
- /* If the code changed, return a whole new comparison. */
- if (new_code != code)
-- return gen_rtx_combine (new_code, mode, op0, op1);
-+ return gen_relational (new_code, mode, op0_mode, op0, op1);
-+
-+ /* Make sure that we won't create comparison of two
-+ VOIDmodes. */
-+ temp = simplify_relational_operation (code, op0_mode, op0, op1);
-+ if (temp)
-+ return temp;
-
- /* Otherwise, keep this operation, but maybe change its operands.
- This also converts (ne (compare FOO BAR) 0) to (ne FOO BAR). */
-@@ -4605,13 +4637,14 @@ simplify_if_then_else (x)
-
- /* Simplify storing of the truth value. */
- if (comparison_p && true == const_true_rtx && false == const0_rtx)
-- return gen_binary (true_code, mode, XEXP (cond, 0), XEXP (cond, 1));
-+ return gen_relational (true_code, mode, VOIDmode,
-+ XEXP (cond, 0), XEXP (cond, 1));
-
- /* Also when the truth value has to be reversed. */
- if (comparison_p && reversible_comparison_p (cond)
- && true == const0_rtx && false == const_true_rtx)
-- return gen_binary (reverse_condition (true_code),
-- mode, XEXP (cond, 0), XEXP (cond, 1));
-+ return gen_relational (reverse_condition (true_code), mode,
-+ VOIDmode, XEXP (cond, 0), XEXP (cond, 1));
-
- /* Sometimes we can simplify the arm of an IF_THEN_ELSE if a register used
- in it is being compared against certain values. Get the true and false
-@@ -4686,8 +4719,8 @@ simplify_if_then_else (x)
- {
- true_code = reverse_condition (true_code);
- SUBST (XEXP (x, 0),
-- gen_binary (true_code, GET_MODE (cond), XEXP (cond, 0),
-- XEXP (cond, 1)));
-+ gen_relational (true_code, GET_MODE (cond), VOIDmode,
-+ XEXP (cond, 0), XEXP (cond, 1)));
-
- SUBST (XEXP (x, 1), false);
- SUBST (XEXP (x, 2), true);
-@@ -4863,7 +4896,7 @@ simplify_if_then_else (x)
-
- if (z)
- {
-- temp = subst (gen_binary (true_code, m, cond_op0, cond_op1),
-+ temp = subst (gen_relational (true_code, m, VOIDmode, cond_op0, cond_op1),
- pc_rtx, pc_rtx, 0, 0);
- temp = gen_binary (MULT, m, temp,
- gen_binary (MULT, m, c1, const_true_rtx));
-@@ -4938,17 +4971,27 @@ simplify_set (x)
- {
- enum rtx_code old_code = GET_CODE (*cc_use);
- enum rtx_code new_code;
-+ enum machine_mode mode;
- rtx op0, op1;
- int other_changed = 0;
- enum machine_mode compare_mode = GET_MODE (dest);
-
- if (GET_CODE (src) == COMPARE)
-- op0 = XEXP (src, 0), op1 = XEXP (src, 1);
-+ {
-+ op0 = XEXP (src, 0), op1 = XEXP (src, 1);
-+ mode = GET_MODE (op0);
-+ if (mode == VOIDmode)
-+ mode = GET_MODE (op1);
-+ }
- else
-- op0 = src, op1 = const0_rtx;
-+ {
-+ op0 = src, op1 = const0_rtx;
-+ mode = GET_MODE (dest);
-+ }
-+ if (mode == VOIDmode)
-+ abort();
-
-- /* Simplify our comparison, if possible. */
-- new_code = simplify_comparison (old_code, &op0, &op1);
-+ new_code = simplify_comparison (old_code, &mode, &op0, &op1);
-
- #ifdef EXTRA_CC_MODES
- /* If this machine has CC modes other than CCmode, check to see if we
-@@ -5032,19 +5075,27 @@ simplify_set (x)
- else
- #endif
-
-- /* Otherwise, if we didn't previously have a COMPARE in the
-- correct mode, we need one. */
-- if (GET_CODE (src) != COMPARE || GET_MODE (src) != compare_mode)
-- {
-- SUBST (SET_SRC (x),
-- gen_rtx_combine (COMPARE, compare_mode, op0, op1));
-- src = SET_SRC (x);
-- }
-- else
-- {
-- /* Otherwise, update the COMPARE if needed. */
-- SUBST (XEXP (src, 0), op0);
-- SUBST (XEXP (src, 1), op1);
-+ /* Otherwise, update the COMPARE if needed
-+ unless both operands are VOIDmode constants. IN case
-+ they are, resulting RTL is incorect and the insn won't match
-+ anyway. In the next iteration combine will probably remove
-+ the test entirely. */
-+ if (GET_MODE (op0) != VOIDmode
-+ || GET_MODE (op1) != VOIDmode)
-+ {
-+ /* If we didn't previously have a COMPARE in the correct mode,
-+ we need one. */
-+ if (GET_CODE (src) != COMPARE || GET_MODE (src) != compare_mode)
-+ {
-+ SUBST (SET_SRC (x),
-+ gen_rtx_combine (COMPARE, compare_mode, op0, op1));
-+ src = SET_SRC (x);
-+ }
-+ else
-+ {
-+ SUBST (XEXP (src, 0), op0);
-+ SUBST (XEXP (src, 1), op1);
-+ }
- }
- }
- else
-@@ -7295,6 +7346,9 @@ if_then_else_cond (x, ptrue, pfalse)
- if ((cond0 != 0 || cond1 != 0)
- && ! (cond0 != 0 && cond1 != 0 && ! rtx_equal_p (cond0, cond1)))
- {
-+ enum machine_mode cmp_mode
-+ = GET_MODE (GET_MODE (XEXP (x, 0)) != VOIDmode
-+ ? XEXP (x, 0) : XEXP (x, 1));
- /* If if_then_else_cond returned zero, then true/false are the
- same rtl. We must copy one of them to prevent invalid rtl
- sharing. */
-@@ -7303,8 +7357,16 @@ if_then_else_cond (x, ptrue, pfalse)
- else if (cond1 == 0)
- true1 = copy_rtx (true1);
-
-- *ptrue = gen_binary (code, mode, true0, true1);
-- *pfalse = gen_binary (code, mode, false0, false1);
-+ if (GET_RTX_CLASS (code) == '<')
-+ {
-+ *ptrue = gen_relational (code, mode, cmp_mode, true0, true1);
-+ *pfalse = gen_relational (code, mode, cmp_mode, false0, false1);
-+ }
-+ else
-+ {
-+ *ptrue = gen_binary (code, mode, true0, true1);
-+ *pfalse = gen_binary (code, mode, false0, false1);
-+ }
- return cond0 ? cond0 : cond1;
- }
-
-@@ -9897,53 +9959,69 @@ gen_binary (code, mode, op0, op1)
- rtx tem;
-
- if (GET_RTX_CLASS (code) == 'c'
-- && (GET_CODE (op0) == CONST_INT
-- || (CONSTANT_P (op0) && GET_CODE (op1) != CONST_INT)))
-+ && swap_commutative_operands_p (op0, op1))
- tem = op0, op0 = op1, op1 = tem;
-
-- if (GET_RTX_CLASS (code) == '<')
-- {
-- enum machine_mode op_mode = GET_MODE (op0);
--
-- /* Strip the COMPARE from (REL_OP (compare X Y) 0) to get
-- just (REL_OP X Y). */
-- if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
-- {
-- op1 = XEXP (op0, 1);
-- op0 = XEXP (op0, 0);
-- op_mode = GET_MODE (op0);
-- }
-+ if (GET_RTX_CLASS (code) == '<')
-+ abort ();
-
-- if (op_mode == VOIDmode)
-- op_mode = GET_MODE (op1);
-- result = simplify_relational_operation (code, op_mode, op0, op1);
-- }
-- else
-- result = simplify_binary_operation (code, mode, op0, op1);
-+ result = simplify_binary_operation (code, mode, op0, op1);
-
- if (result)
- return result;
-
-- /* Put complex operands first and constants second. */
-- if (GET_RTX_CLASS (code) == 'c'
-- && ((CONSTANT_P (op0) && GET_CODE (op1) != CONST_INT)
-- || (GET_RTX_CLASS (GET_CODE (op0)) == 'o'
-- && GET_RTX_CLASS (GET_CODE (op1)) != 'o')
-- || (GET_CODE (op0) == SUBREG
-- && GET_RTX_CLASS (GET_CODE (SUBREG_REG (op0))) == 'o'
-- && GET_RTX_CLASS (GET_CODE (op1)) != 'o')))
-- return gen_rtx_combine (code, mode, op1, op0);
--
- /* If we are turning off bits already known off in OP0, we need not do
- an AND. */
-- else if (code == AND && GET_CODE (op1) == CONST_INT
-- && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
-- && (nonzero_bits (op0, mode) & ~ INTVAL (op1)) == 0)
-+ if (code == AND && GET_CODE (op1) == CONST_INT
-+ && GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT
-+ && (nonzero_bits (op0, mode) & ~ INTVAL (op1)) == 0)
- return op0;
-
- return gen_rtx_combine (code, mode, op0, op1);
- }
-
-+/* Like gen_binary, but for relational operations. The op_mode is mode
-+ of the operands. It may be VOIDmode in case we are certain, that one
-+ of operands is non-VOIDmode. This holds for existing patterns since
-+ relationals with two VOIDmode operands are improper. */
-+static rtx
-+gen_relational (code, mode, op_mode, op0, op1)
-+ enum rtx_code code;
-+ enum machine_mode mode, op_mode;
-+ rtx op0, op1;
-+{
-+ rtx result;
-+
-+ if (GET_RTX_CLASS (code) != '<')
-+ abort();
-+
-+ /* Strip the COMPARE from (REL_OP (compare X Y) 0) to get
-+ just (REL_OP X Y). */
-+ if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
-+ {
-+ op1 = XEXP (op0, 1);
-+ op0 = XEXP (op0, 0);
-+ /* Previous pass of combine_simplify_rtx may have but
-+ extra CONST to the first operator in order to avoid
-+ losing of mode information - strip it. */
-+ if (GET_CODE (op0) == CONST
-+ && GET_CODE (XEXP (op0, 0)) == VOIDmode)
-+ op0 = XEXP (op0, 0);
-+ op_mode = GET_MODE (op0);
-+ }
-+ if (op_mode == VOIDmode)
-+ op_mode = GET_MODE (GET_MODE (op0) != VOIDmode ? op0 : op1);
-+ if (op_mode == VOIDmode)
-+ abort();
-+
-+ result = simplify_relational_operation (code, op_mode, op0, op1);
-+
-+ if (result)
-+ return result;
-+
-+ return gen_rtx_combine (code, mode, op0, op1);
-+}
-+
- static rtx
- gen_unary (code, mode, op0_mode, op0)
- enum rtx_code code;
-@@ -9970,8 +10048,9 @@ gen_unary (code, mode, op0_mode, op0)
- should have been detected earlier. Hence we ignore all such cases. */
-
- static enum rtx_code
--simplify_comparison (code, pop0, pop1)
-+simplify_comparison (code, pmode, pop0, pop1)
- enum rtx_code code;
-+ enum machine_mode *pmode;
- rtx *pop0;
- rtx *pop1;
- {
-@@ -10009,6 +10088,9 @@ simplify_comparison (code, pop0, pop1)
- {
- op0 = SUBREG_REG (XEXP (XEXP (op0, 0), 0));
- op1 = SUBREG_REG (XEXP (XEXP (op1, 0), 0));
-+ *pmode = GET_MODE (op0);
-+ if (*pmode == VOIDmode)
-+ abort();
- }
- #endif
-
-@@ -10029,7 +10111,7 @@ simplify_comparison (code, pop0, pop1)
- && INTVAL (XEXP (op0, 1)) < HOST_BITS_PER_WIDE_INT
- && XEXP (op0, 1) == XEXP (op1, 1))
- {
-- enum machine_mode mode = GET_MODE (op0);
-+ enum machine_mode mode = *pmode;
- unsigned HOST_WIDE_INT mask = GET_MODE_MASK (mode);
- int shift_count = INTVAL (XEXP (op0, 1));
-
-@@ -10082,6 +10164,9 @@ simplify_comparison (code, pop0, pop1)
- {
- op0 = SUBREG_REG (inner_op0);
- op1 = SUBREG_REG (inner_op1);
-+ *pmode = GET_MODE (op0);
-+ if (*pmode == VOIDmode)
-+ abort();
-
- /* The resulting comparison is always unsigned since we masked
- off the original sign bit. */
-@@ -10099,6 +10184,7 @@ simplify_comparison (code, pop0, pop1)
- op0 = gen_lowpart_for_combine (tmode, inner_op0);
- op1 = gen_lowpart_for_combine (tmode, inner_op1);
- code = unsigned_condition (code);
-+ *pmode = tmode;
- changed = 1;
- break;
- }
-@@ -10135,7 +10221,7 @@ simplify_comparison (code, pop0, pop1)
-
- while (GET_CODE (op1) == CONST_INT)
- {
-- enum machine_mode mode = GET_MODE (op0);
-+ enum machine_mode mode = *pmode;
- unsigned int mode_width = GET_MODE_BITSIZE (mode);
- unsigned HOST_WIDE_INT mask = GET_MODE_MASK (mode);
- int equality_comparison_p;
-@@ -10373,6 +10459,7 @@ simplify_comparison (code, pop0, pop1)
- op0 = XEXP (op0, 2);
- op1 = GEN_INT (i);
- const_op = i;
-+ *pmode = GET_MODE (op0);
-
- /* Result is nonzero iff shift count is equal to I. */
- code = reverse_condition (code);
-@@ -10386,6 +10473,7 @@ simplify_comparison (code, pop0, pop1)
- if (tem != op0)
- {
- op0 = tem;
-+ *pmode = GET_MODE (op0);
- continue;
- }
- break;
-@@ -10500,6 +10588,7 @@ simplify_comparison (code, pop0, pop1)
- << (GET_MODE_BITSIZE (GET_MODE (XEXP (op0, 0))) - 1)))))
- {
- op0 = XEXP (op0, 0);
-+ *pmode = GET_MODE (op0);
- continue;
- }
- break;
-@@ -10531,6 +10620,7 @@ simplify_comparison (code, pop0, pop1)
- - GET_MODE_BITSIZE (mode)))))
- {
- op0 = SUBREG_REG (op0);
-+ *pmode = GET_MODE (op0);
- continue;
- }
-
-@@ -10552,6 +10642,7 @@ simplify_comparison (code, pop0, pop1)
- < GET_MODE_MASK (GET_MODE (XEXP (op0, 0)))))
- {
- op0 = XEXP (op0, 0);
-+ *pmode = GET_MODE (op0);
- continue;
- }
- break;
-@@ -10647,7 +10738,15 @@ simplify_comparison (code, pop0, pop1)
-
- /* Get the two operands being compared. */
- if (GET_CODE (XEXP (op0, 0)) == COMPARE)
-- tem = XEXP (XEXP (op0, 0), 0), tem1 = XEXP (XEXP (op0, 0), 1);
-+ {
-+ tem = XEXP (XEXP (op0, 0), 0), tem1 = XEXP (XEXP (op0, 0), 1);
-+ /* Previous pass of combine_simplify_rtx may have but
-+ extra CONST to the first operator in order to avoid
-+ losing of mode information - strip it. */
-+ if (GET_CODE (tem) == CONST
-+ && GET_CODE (XEXP (tem, 0)) == VOIDmode)
-+ tem = XEXP (tem, 0);
-+ }
- else
- tem = XEXP (op0, 0), tem1 = XEXP (op0, 1);
-
-@@ -10666,6 +10765,7 @@ simplify_comparison (code, pop0, pop1)
- code = (code == LT || code == NE
- ? GET_CODE (op0) : reverse_condition (GET_CODE (op0)));
- op0 = tem, op1 = tem1;
-+ *pmode = GET_MODE (GET_MODE (op0) != VOIDmode ? op0 : op1);
- continue;
- }
- break;
-@@ -10749,6 +10849,7 @@ simplify_comparison (code, pop0, pop1)
- && (tmode = mode_for_size (i, MODE_INT, 1)) != BLKmode)
- {
- op0 = gen_lowpart_for_combine (tmode, XEXP (op0, 0));
-+ *pmode = tmode;
- continue;
- }
-
-@@ -10878,6 +10979,7 @@ simplify_comparison (code, pop0, pop1)
- <= GET_MODE_MASK (tmode))))
- {
- op0 = gen_lowpart_for_combine (tmode, XEXP (XEXP (op0, 0), 0));
-+ *pmode = tmode;
- continue;
- }
-
-@@ -10904,6 +11006,7 @@ simplify_comparison (code, pop0, pop1)
- op0 = gen_binary (PLUS, tmode,
- gen_lowpart_for_combine (tmode, inner),
- new_const);
-+ *pmode = tmode;
- continue;
- }
-
-@@ -10967,6 +11070,7 @@ simplify_comparison (code, pop0, pop1)
- {
- op0 = SUBREG_REG (op0);
- op1 = gen_lowpart_for_combine (GET_MODE (op0), op1);
-+ *pmode = GET_MODE (op0);
- }
-
- else if (GET_CODE (op0) == SUBREG && subreg_lowpart_p (op0)
-@@ -10980,7 +11084,10 @@ simplify_comparison (code, pop0, pop1)
- op1),
- (nonzero_bits (tem, GET_MODE (SUBREG_REG (op0)))
- & ~ GET_MODE_MASK (GET_MODE (op0))) == 0))
-- op0 = SUBREG_REG (op0), op1 = tem;
-+ {
-+ op0 = SUBREG_REG (op0), op1 = tem;
-+ *pmode = GET_MODE (op0);
-+ }
-
- /* We now do the opposite procedure: Some machines don't have compare
- insns in all modes. If OP0's mode is an integer mode smaller than a
-@@ -10988,7 +11095,7 @@ simplify_comparison (code, pop0, pop1)
- mode for which we can do the compare. There are a number of cases in
- which we can use the wider mode. */
-
-- mode = GET_MODE (op0);
-+ mode = *pmode;
- if (mode != VOIDmode && GET_MODE_CLASS (mode) == MODE_INT
- && GET_MODE_SIZE (mode) < UNITS_PER_WORD
- && cmp_optab->handlers[(int) mode].insn_code == CODE_FOR_nothing)
-@@ -11024,6 +11131,7 @@ simplify_comparison (code, pop0, pop1)
-
- op0 = gen_lowpart_for_combine (tmode, op0);
- op1 = gen_lowpart_for_combine (tmode, op1);
-+ *pmode = tmode;
- break;
- }
-
-@@ -11037,6 +11145,7 @@ simplify_comparison (code, pop0, pop1)
- gen_lowpart_for_combine (tmode, op0),
- GEN_INT ((HOST_WIDE_INT) 1
- << (GET_MODE_BITSIZE (mode) - 1)));
-+ *pmode = tmode;
- code = (code == LT) ? NE : EQ;
- break;
- }
---- gcc/simplify-rtx.c.jj Mon Jul 31 20:02:12 2000
-+++ gcc/simplify-rtx.c Fri Aug 18 15:26:59 2000
-@@ -1691,14 +1691,39 @@ simplify_relational_operation (code, mod
- int equal, op0lt, op0ltu, op1lt, op1ltu;
- rtx tem;
-
-- if (mode == VOIDmode
-- && (GET_MODE (op0) != VOIDmode
-- || GET_MODE (op1) != VOIDmode))
-+ /* Do simple checking of mode. The mode should be never VOIDmode, since we
-+ don't know the mode of operands in case they are both VOIDmode and mode
-+ of the operands must match. */
-+ if (mode == VOIDmode)
-+ abort();
-+ if (GET_MODE (op0) != VOIDmode && GET_MODE (op0) != mode)
-+ abort();
-+ if (GET_MODE (op1) != VOIDmode && GET_MODE (op1) != mode)
- abort();
-
- /* If op0 is a compare, extract the comparison arguments from it. */
- if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
-- op1 = XEXP (op0, 1), op0 = XEXP (op0, 0);
-+ {
-+ op1 = XEXP (op0, 1), op0 = XEXP (op0, 0);
-+ if (GET_MODE (op0) != VOIDmode)
-+ mode = GET_MODE (op0);
-+ else
-+ mode = GET_MODE (op1);
-+ /* We can't have both operands of COMPARE VOIDmode, since we would
-+ not be able to determine the mode of comparison them, we create
-+ fake CONST with proper mode when such expression needs to be
-+ created temporarily - this happends in the combine and in gcse
-+ when we happen to propagate constant into comparison. */
-+ if (GET_CODE (op0) == CONST
-+ && GET_MODE (XEXP (op0, 0)) == VOIDmode)
-+ op0 = XEXP (op0, 0);
-+ }
-+ /* We can handle comparison only in the integral or floating point modes.
-+ When CCmode or VOIDmode appears here, it means mistake elsewhere
-+ most probably because the real mode of comparison got lost by replacing
-+ by VOIDmode constants. */
-+ if (!INTEGRAL_MODE_P (mode)
-+ && !FLOAT_MODE_P (mode))
-
- /* We can't simplify MODE_CC values since we don't know what the
- actual comparison is. */
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-scanf.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-scanf.patch
deleted file mode 100644
index b14cdfadd988..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-scanf.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-gcc/ChangeLog:
-2000-08-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.c (scan_char_table): Add 'w' to flags for all formats
- except 'n'.
- (check_format_info): Set 'wide' for scanf format widths. Warn for
- a zero scanf width. Make the check for writing into a constant
- object at the first level of indirection; at later levels, warn if
- any type qualifiers are encountered.
-
-gcc/testsuite/ChangeLog:
-2000-08-18 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * gcc.dg/c90-scanf-1.c, gcc.dg/c94-scanf-1.c: New tests.
-
---- gcc/c-common.c Tue Aug 8 23:16:59 2000
-+++ gcc/c-common.c Fri Aug 18 01:08:24 2000
-@@ -1253,15 +1253,15 @@ static format_char_info print_char_table
- };
-
- static format_char_info scan_char_table[] = {
-- { "di", 1, T_I, T_SC, T_S, T_L, T_LL, T_LL, T_SST, T_PD, T_IM, "*" },
-- { "ouxX", 1, T_UI, T_UC, T_US, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "*" },
-- { "efFgEGaA", 1, T_F, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "*" },
-- { "c", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*c" },
-- { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*ac" },
-- { "[", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*ac" },
-- { "C", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
-- { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*a" },
-- { "p", 2, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*" },
-+ { "di", 1, T_I, T_SC, T_S, T_L, T_LL, T_LL, T_SST, T_PD, T_IM, "*w" },
-+ { "ouxX", 1, T_UI, T_UC, T_US, T_UL, T_ULL, T_ULL, T_ST, T_UPD, T_UIM, "*w" },
-+ { "efFgEGaA", 1, T_F, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "*w" },
-+ { "c", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*cw" },
-+ { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*acw" },
-+ { "[", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "*acw" },
-+ { "C", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*w" },
-+ { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*aw" },
-+ { "p", 2, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "*w" },
- { "n", 1, T_I, T_SC, T_S, T_L, T_LL, NULL, T_SST, T_PD, T_IM, "" },
- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
- };
-@@ -1618,6 +1618,7 @@ check_format_info (info, params)
- {
- int aflag;
- int char_type_flag = 0;
-+ int writing_in_flag = 0;
- if (*format_chars == 0)
- {
- if (format_chars - TREE_STRING_POINTER (format_tree) != format_length)
-@@ -1642,11 +1643,19 @@ check_format_info (info, params)
- suppressed = wide = precise = FALSE;
- if (info->format_type == scanf_format_type)
- {
-+ int non_zero_width_char = FALSE;
- suppressed = *format_chars == '*';
- if (suppressed)
- ++format_chars;
- while (ISDIGIT (*format_chars))
-- ++format_chars;
-+ {
-+ wide = TRUE;
-+ if (*format_chars != '0')
-+ non_zero_width_char = TRUE;
-+ ++format_chars;
-+ }
-+ if (wide && !non_zero_width_char)
-+ warning ("zero width in scanf format");
- }
- else if (info->format_type == strftime_format_type)
- {
-@@ -2047,6 +2056,12 @@ check_format_info (info, params)
-
- STRIP_NOPS (cur_param);
-
-+ if ((info->format_type == scanf_format_type
-+ || (info->format_type == printf_format_type
-+ && format_char == 'n'))
-+ && wanted_type != 0)
-+ writing_in_flag = 1;
-+
- /* Check the types of any additional pointer arguments
- that precede the "real" argument. */
- for (i = 0; i < fci->pointer_count + aflag; ++i)
-@@ -2060,6 +2075,35 @@ check_format_info (info, params)
- else
- cur_param = 0;
-
-+ /* See if this is an attempt to write into a const type with
-+ scanf or with printf "%n". Note: the writing in happens
-+ at the first indirection only, if for example
-+ void * const * is passed to scanf %p; passing
-+ const void ** is simply passing an incompatible type.
-+ */
-+ if (writing_in_flag
-+ && i == 0
-+ && TREE_CODE (cur_type) != ERROR_MARK
-+ && (TYPE_READONLY (cur_type)
-+ || (cur_param != 0
-+ && (TREE_CODE_CLASS (TREE_CODE (cur_param)) == 'c'
-+ || (DECL_P (cur_param)
-+ && TREE_READONLY (cur_param))))))
-+ warning ("writing into constant object (arg %d)", arg_num);
-+
-+ /* If there are extra type qualifiers beyond the first
-+ indirection, then this makes the types technically
-+ incompatible.
-+ */
-+ if (i > 0
-+ && pedantic
-+ && TREE_CODE (cur_type) != ERROR_MARK
-+ && (TYPE_READONLY (cur_type)
-+ || TYPE_VOLATILE (cur_type)
-+ || TYPE_RESTRICT (cur_type)))
-+ warning ("extra type qualifiers in format argument (arg %d)",
-+ arg_num);
-+
- continue;
- }
- if (TREE_CODE (cur_type) != ERROR_MARK)
-@@ -2071,20 +2115,6 @@ check_format_info (info, params)
- }
- break;
- }
--
-- /* See if this is an attempt to write into a const type with
-- scanf or with printf "%n". */
-- if ((info->format_type == scanf_format_type
-- || (info->format_type == printf_format_type
-- && format_char == 'n'))
-- && i == fci->pointer_count + aflag
-- && wanted_type != 0
-- && TREE_CODE (cur_type) != ERROR_MARK
-- && (TYPE_READONLY (cur_type)
-- || (cur_param != 0
-- && (TREE_CODE_CLASS (TREE_CODE (cur_param)) == 'c'
-- || (DECL_P (cur_param) && TREE_READONLY (cur_param))))))
-- warning ("writing into constant object (arg %d)", arg_num);
-
- /* Check whether the argument type is a character type. This leniency
- only applies to certain formats, flagged with 'c'.
---- gcc/testsuite/gcc.dg/c90-scanf-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c90-scanf-1.c Fri Aug 18 16:18:38 2000
-@@ -0,0 +1,125 @@
-+/* Test for scanf formats. Formats using C90 features, including cases
-+ where C90 specifies some aspect of the format to be ignored or where
-+ the behaviour is undefined.
-+*/
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:1990 -pedantic -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+
-+__extension__ typedef long long int llong;
-+__extension__ typedef unsigned long long int ullong;
-+
-+extern int scanf (const char *, ...);
-+
-+#define NULL ((void *)0)
-+
-+void
-+foo (int *ip, unsigned int *uip, short int *hp, unsigned short int *uhp,
-+ long int *lp, unsigned long int *ulp, float *fp, double *dp,
-+ long double *ldp, char *s, signed char *ss, unsigned char *us,
-+ void **pp, int *n, llong *llp, ullong *ullp, wchar_t *ls,
-+ const int *cip, const int *cn, const char *cs, const void **ppc,
-+ void *const *pcp, short int *hn, long int *ln, void *p, char **sp,
-+ volatile void *ppv)
-+{
-+ /* See ISO/IEC 9899:1990 (E) subclause 7.9.6.2 (pages 134-138). */
-+ /* Basic sanity checks for the different components of a format. */
-+ scanf ("%d", ip);
-+ scanf ("%*d");
-+ scanf ("%3d", ip);
-+ scanf ("%hd", hp);
-+ scanf ("%3ld", lp);
-+ scanf ("%*3d");
-+ scanf ("%d %ld", ip, lp);
-+ /* Valid and invalid %% constructions. */
-+ scanf ("%%");
-+ scanf ("%*%"); /* { dg-warning "format" "bogus %%" } */
-+ scanf ("%*%\n"); /* { dg-warning "format" "bogus %%" } */
-+ scanf ("%4%"); /* { dg-warning "format" "bogus %%" } */
-+ scanf ("%4%\n"); /* { dg-warning "format" "bogus %%" } */
-+ scanf ("%h%"); /* { dg-warning "format" "bogus %%" } */
-+ scanf ("%h%\n"); /* { dg-warning "format" "bogus %%" } */
-+ /* Valid, invalid and silly assignment-suppression constructions. */
-+ scanf ("%*d%*i%*o%*u%*x%*X%*e%*E%*f%*g%*G%*s%*[abc]%*c%*p");
-+ scanf ("%*2d%*8s%*3c");
-+ scanf ("%*n"); /* { dg-warning "suppress" "suppression of %n" } */
-+ scanf ("%*hd"); /* { dg-warning "together" "suppression with length" } */
-+ /* Valid, invalid and silly width constructions. */
-+ scanf ("%2d%3i%4o%5u%6x%7X%8e%9E%10f%11g%12G%13s%14[abc]%15c%16p",
-+ ip, ip, uip, uip, uip, uip, fp, fp, fp, fp, fp, s, s, s, pp);
-+ scanf ("%0d", ip); /* { dg-warning "width" "warning for zero width" } */
-+ scanf ("%3n", n); /* { dg-warning "width" "width with %n" } */
-+ /* Valid and invalid %h, %l, %L constructions. */
-+ scanf ("%hd%hi%ho%hu%hx%hX%hn", hp, hp, uhp, uhp, uhp, uhp, hn);
-+ scanf ("%he", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hE", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hf", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hg", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hG", fp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hs", s); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%h[ac]", s); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hc", s); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%hp", pp); /* { dg-warning "length character" "bad use of %h" } */
-+ scanf ("%h"); /* { dg-warning "conversion lacks type" "bare %h" } */
-+ scanf ("%h."); /* { dg-warning "conversion" "bogus %h" } */
-+ scanf ("%ld%li%lo%lu%lx%lX%ln", lp, lp, ulp, ulp, ulp, ulp, ln);
-+ scanf ("%le%lE%lf%lg%lG", dp, dp, dp, dp, dp);
-+ scanf ("%lp", pp); /* { dg-warning "length character" "bad use of %l" } */
-+ /* These next three formats were added in C94. */
-+ scanf ("%ls", ls); /* { dg-warning "length character|C" "bad use of %l" } */
-+ scanf ("%l[ac]", ls); /* { dg-warning "length character|C" "bad use of %l" } */
-+ scanf ("%lc", ls); /* { dg-warning "length character|C" "bad use of %l" } */
-+ scanf ("%Le%LE%Lf%Lg%LG", ldp, ldp, ldp, ldp, ldp);
-+ scanf ("%Ld", llp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Li", llp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Lo", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Lu", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Lx", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%LX", ullp); /* { dg-warning "does not support" "bad use of %L" } */
-+ scanf ("%Ls", s); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%L[ac]", s); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%Lc", s); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%Lp", pp); /* { dg-warning "length character" "bad use of %L" } */
-+ scanf ("%Ln", n); /* { dg-warning "length character" "bad use of %L" } */
-+ /* Valid uses of each bare conversion. */
-+ scanf ("%d%i%o%u%x%X%e%E%f%g%G%s%[abc]%c%p%n%%", ip, ip, uip, uip, uip,
-+ uip, fp, fp, fp, fp, fp, s, s, s, pp, n);
-+ /* Allow other character pointers with %s, %c, %[]. */
-+ scanf ("%2s%3s%4c%5c%6[abc]%7[abc]", ss, us, ss, us, ss, us);
-+ /* Further tests for %[]. */
-+ scanf ("%[%d]%d", s, ip);
-+ scanf ("%[^%d]%d", s, ip);
-+ scanf ("%[]%d]%d", s, ip);
-+ scanf ("%[^]%d]%d", s, ip);
-+ scanf ("%[%d]%d", s, ip);
-+ scanf ("%[]abcd", s); /* { dg-warning "no closing" "incomplete scanset" } */
-+ /* Various tests of bad argument types. Some of these are only pedantic
-+ warnings.
-+ */
-+ scanf ("%d", lp); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%d", uip); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%d", pp); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%p", ppc); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%p", ppv); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%s", n); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%s", p); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%p", p); /* { dg-warning "format" "bad argument types" } */
-+ scanf ("%p", sp); /* { dg-warning "format" "bad argument types" } */
-+ /* Tests for writing into constant values. */
-+ scanf ("%d", cip); /* { dg-warning "constant" "%d writing into const" } */
-+ scanf ("%n", cn); /* { dg-warning "constant" "%n writing into const" } */
-+ scanf ("%s", cs); /* { dg-warning "constant" "%s writing into const" } */
-+ scanf ("%p", pcp); /* { dg-warning "constant" "%p writing into const" } */
-+ /* Wrong number of arguments. */
-+ scanf ("%d%d", ip); /* { dg-warning "arguments" "wrong number of args" } */
-+ scanf ("%d", ip, ip); /* { dg-warning "arguments" "wrong number of args" } */
-+ /* Miscellaneous bogus constructions. */
-+ scanf (""); /* { dg-warning "zero-length" "warning for empty format" } */
-+ scanf ("\0"); /* { dg-warning "embedded" "warning for embedded NUL" } */
-+ scanf ("%d\0", ip); /* { dg-warning "embedded" "warning for embedded NUL" } */
-+ scanf ("%d\0%d", ip, ip); /* { dg-warning "embedded|too many" "warning for embedded NUL" } */
-+ scanf (NULL); /* { dg-warning "null" "null format string warning" } */
-+ scanf ("%"); /* { dg-warning "trailing" "trailing % warning" } */
-+}
---- gcc/testsuite/gcc.dg/c94-scanf-1.c Fri Sep 11 11:31:59 1998
-+++ gcc/testsuite/gcc.dg/c94-scanf-1.c Fri Aug 18 00:48:22 2000
-@@ -0,0 +1,19 @@
-+/* Test for scanf formats. Changes in C94 to C90. */
-+/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
-+/* { dg-do compile } */
-+/* { dg-options "-std=iso9899:199409 -pedantic -Wformat" } */
-+
-+typedef __WCHAR_TYPE__ wchar_t;
-+
-+extern int scanf (const char *, ...);
-+
-+void
-+foo (wchar_t *ls)
-+{
-+ /* See ISO/IEC 9899:1990 (E) subclause 7.9.6.2 (pages 134-138),
-+ as amended by ISO/IEC 9899:1990/Amd.1:1995 (E) (pages 5-6).
-+ We do not repeat here all the C90 format checks, but just verify
-+ that %ls, %lc, %l[] are accepted without warning.
-+ */
-+ scanf ("%lc%ls%l[abc]", ls, ls, ls);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv1.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv1.patch
deleted file mode 100644
index cf5fff540279..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv1.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-2000-09-01 Jakub Jelinek <jakub@redhat.com>
-
- * c-decl.c (do_case): Fix a typo.
- * c-typeck.c (pop_init_level): If TYPE_SIZE_UNIT() is NULL as result
- of type layout error, avoid segfaulting.
-
- * gcc.dg/noncompile/20000901-1.c: New test.
-
---- gcc/c-decl.c.jj Fri Sep 1 10:13:31 2000
-+++ gcc/c-decl.c Fri Sep 1 15:51:14 2000
-@@ -6967,7 +6967,7 @@ do_case (low_value, high_value)
- error_with_decl (duplicate, "this is the first default label");
- }
- else
-- error ("dupicate case value");
-+ error ("duplicate case value");
- if (high_value != NULL_TREE)
- error_with_decl (duplicate, "this is the first entry for that value");
- }
---- gcc/testsuite/gcc.dg/noncompile/20000901-1.c.jj Fri Sep 1 16:01:39 2000
-+++ gcc/testsuite/gcc.dg/noncompile/20000901-1.c Fri Sep 1 16:19:46 2000
-@@ -0,0 +1 @@
-+struct foo bar[] = { {"baz"} }; /* { dg-error "have incomplete type|excess elements|near" } */
---- gcc/c-typeck.c.jj Fri Aug 25 14:22:08 2000
-+++ gcc/c-typeck.c Fri Sep 1 15:32:55 2000
-@@ -5516,10 +5516,11 @@ pop_init_level (implicit)
- }
-
- filled
-- = size_binop (MULT_EXPR, constructor_unfilled_index,
-+ = TYPE_SIZE_UNIT (TREE_TYPE (constructor_type)) ?
-+ size_binop (MULT_EXPR, constructor_unfilled_index,
- convert (bitsizetype,
- TYPE_SIZE_UNIT
-- (TREE_TYPE (constructor_type))));
-+ (TREE_TYPE (constructor_type)))) : 0;
- }
- else
- filled = 0;
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv2.patch
deleted file mode 100644
index 6531e641240d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-2000-09-01 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/noncompile/20000901-2.c: New test.
-
---- gcc/testsuite/gcc.dg/noncompile/20000901-2.c.jj Fri Sep 1 17:11:43 2000
-+++ gcc/testsuite/gcc.dg/noncompile/20000901-2.c Fri Sep 1 17:17:44 2000
-@@ -0,0 +1,18 @@
-+unsigned char c;
-+
-+int foo()
-+{
-+ switch (c)
-+ {
-+ case 0:
-+ switch (a->b) /* { dg-error "undeclared|for each function" } */
-+ {
-+ case 0: /* { dg-error "duplicate case" } */
-+ break;
-+ }
-+}
-+void bar() /* { dg-error "parse error" } */
-+{
-+ n = 0;
-+}
-+
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv3.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv3.patch
deleted file mode 100644
index d850c78b5e25..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-segv3.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-2000-10-19 Jim Wilson <wilson@cygnus.com>
-
- * c-decl.c (start_decl): Check for error_mark_node type before using
- COMPLETE_TYPE_P.
- (finish_decl): Likewise. Don't give an error if decl type is
- already error_mark_node.
-
-2000-10-20 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/noncompile/init-3.c: New test.
-
---- gcc/c-decl.c 2000/10/17 09:34:20 1.168
-+++ gcc/c-decl.c 2000/10/20 00:58:35 1.170
-@@ -3515,7 +3506,12 @@ start_decl (declarator, declspecs, initi
- default:
- /* Don't allow initializations for incomplete types
- except for arrays which might be completed by the initialization. */
-- if (COMPLETE_TYPE_P (TREE_TYPE (decl)))
-+
-+ /* This can happen if the array size is an undefined macro. We already
-+ gave a warning, so we don't need another one. */
-+ if (TREE_TYPE (decl) == error_mark_node)
-+ initialized = 0;
-+ else if (COMPLETE_TYPE_P (TREE_TYPE (decl)))
- {
- /* A complete type is ok if size is fixed. */
-
-@@ -3593,7 +3589,8 @@ start_decl (declarator, declspecs, initi
- && DECL_RTL (tem) == 0
- && !DECL_CONTEXT (tem))
- {
-- if (COMPLETE_TYPE_P (TREE_TYPE (tem)))
-+ if (TREE_TYPE (tem) != error_mark_node
-+ && COMPLETE_TYPE_P (TREE_TYPE (tem)))
- expand_decl (tem);
- else if (TREE_CODE (TREE_TYPE (tem)) == ARRAY_TYPE
- && DECL_INITIAL (tem) != 0)
-@@ -3688,10 +3685,13 @@ finish_decl (decl, init, asmspec_tree)
-
- if (TREE_CODE (decl) == VAR_DECL)
- {
-- if (DECL_SIZE (decl) == 0 && COMPLETE_TYPE_P (TREE_TYPE (decl)))
-+ if (DECL_SIZE (decl) == 0 && TREE_TYPE (decl) != error_mark_node
-+ && COMPLETE_TYPE_P (TREE_TYPE (decl)))
- layout_decl (decl, 0);
-
- if (DECL_SIZE (decl) == 0
-+ /* Don't give an error if we already gave one earlier. */
-+ && TREE_TYPE (decl) != error_mark_node
- && (TREE_STATIC (decl)
- ?
- /* A static variable with an incomplete type
---- gcc/testsuite/gcc.dg/noncompile/init-3.c.jj Thu Aug 24 11:00:32 2000
-+++ gcc/testsuite/gcc.dg/noncompile/init-3.c Fri Oct 20 23:37:57 2000
-@@ -0,0 +1,4 @@
-+void die(void)
-+{
-+ char foo[BAR] = "1234"; /* { dg-error "undeclared|function|incomplete type" } */
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-eh2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-eh2.patch
deleted file mode 100644
index 670a6206553d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-eh2.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-2000-10-27 Jakub Jelinek <jakub@redhat.com>
-
- * calls.c (expand_call): If sibcall_failure is set during pass 1,
- clear tail_call_insns as well.
-
- * g++.old-deja/g++.other/eh2.C: New test.
-
---- gcc/testsuite/g++.old-deja/g++.other/eh2.C.jj Fri Oct 27 13:40:14 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/eh2.C Fri Oct 27 13:40:14 2000
-@@ -0,0 +1,18 @@
-+// Build don't link:
-+// Origin: Jakub Jelinek <jakub@redhat.com>
-+// Special g++ Options: -O2
-+
-+class a {
-+public:
-+ double b;
-+ int c;
-+ ~a() { }
-+};
-+
-+int bar(a x);
-+a foo(double x);
-+
-+int baz(double x, int y)
-+{
-+ return bar(foo(x));
-+}
---- gcc/calls.c.jj Fri Oct 27 13:34:58 2000
-+++ gcc/calls.c Fri Oct 27 13:40:14 2000
-@@ -3363,10 +3363,6 @@ expand_call (exp, target, ignore)
- {
- tail_call_insns = insns;
-
-- /* If something prevents making this a sibling call,
-- zero out the sequence. */
-- if (sibcall_failure)
-- tail_call_insns = NULL_RTX;
- /* Restore the pending stack adjustment now that we have
- finished generating the sibling call sequence. */
-
-@@ -3385,6 +3381,11 @@ expand_call (exp, target, ignore)
- }
- else
- normal_call_insns = insns;
-+
-+ /* If something prevents making this a sibling call,
-+ zero out the sequence. */
-+ if (sibcall_failure)
-+ tail_call_insns = NULL_RTX;
- }
-
- /* The function optimize_sibling_and_tail_recursive_calls doesn't
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-unchanging.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-unchanging.patch
deleted file mode 100644
index 697d8cb81f0d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall-unchanging.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-2000-10-23 Jakub Jelinek <jakub@redhat.com>
-
- * sibcall.c (purge_mem_unchanging_flag): New function.
- (optimize_sibling_and_tail_recursive_calls): Call it.
-
- * g++.old-deja/g++.other/sibcall1.C: New test.
-
---- gcc/testsuite/g++.old-deja/g++.other/sibcall1.C.jj Mon Oct 23 12:49:42 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/sibcall1.C Mon Oct 23 12:57:55 2000
-@@ -0,0 +1,13 @@
-+// Special g++ Options: -O2
-+
-+#include <iostream>
-+
-+ostream& foo (char *x, ostream &y)
-+{
-+ return y << "" << x;
-+}
-+
-+int main ()
-+{
-+ foo ("", cout);
-+}
---- gcc/sibcall.c.jj Thu Sep 28 10:33:03 2000
-+++ gcc/sibcall.c Mon Oct 23 12:44:25 2000
-@@ -41,6 +41,7 @@ static rtx skip_jump_insn PARAMS ((rtx)
- static int uses_addressof PARAMS ((rtx));
- static int sequence_uses_addressof PARAMS ((rtx));
- static void purge_reg_equiv_notes PARAMS ((void));
-+static void purge_mem_unchanging_flag PARAMS ((rtx));
-
- /* Examine a CALL_PLACEHOLDER pattern and determine where the call's
- return value is located. P_HARD_RETURN receives the hard register
-@@ -362,6 +363,45 @@ purge_reg_equiv_notes ()
- }
- }
-
-+/* Clear RTX_UNCHANGING_P flag of incoming argument MEMs. */
-+
-+static void
-+purge_mem_unchanging_flag (x)
-+ rtx x;
-+{
-+ RTX_CODE code;
-+ int i, j;
-+ const char *fmt;
-+
-+ if (x == NULL_RTX)
-+ return;
-+
-+ code = GET_CODE (x);
-+
-+ if (code == MEM)
-+ {
-+ if (RTX_UNCHANGING_P (x)
-+ && (XEXP (x, 0) == current_function_internal_arg_pointer
-+ || (GET_CODE (XEXP (x, 0)) == PLUS
-+ && XEXP (XEXP (x, 0), 0) ==
-+ current_function_internal_arg_pointer
-+ && GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT)))
-+ RTX_UNCHANGING_P (x) = 0;
-+ return;
-+ }
-+
-+ /* Scan all subexpressions. */
-+ fmt = GET_RTX_FORMAT (code);
-+ for (i = 0; i < GET_RTX_LENGTH (code); i++, fmt++)
-+ {
-+ if (*fmt == 'e')
-+ purge_mem_unchanging_flag (XEXP (x, i));
-+ else if (*fmt == 'E')
-+ for (j = 0; j < XVECLEN (x, i); j++)
-+ purge_mem_unchanging_flag (XVECEXP (x, i, j));
-+ }
-+}
-+
- /* Replace the CALL_PLACEHOLDER with one of its children. INSN should be
- the CALL_PLACEHOLDER insn; USE tells which child to use. */
-
-@@ -593,18 +633,39 @@ success:
- }
- }
-
-- /* A sibling call sequence invalidates any REG_EQUIV notes made for
-- this function's incoming arguments.
--
-- At the start of RTL generation we know the only REG_EQUIV notes
-- in the rtl chain are those for incoming arguments, so we can safely
-- flush any REG_EQUIV note.
--
-- This is (slight) overkill. We could keep track of the highest argument
-- we clobber and be more selective in removing notes, but it does not
-- seem to be worth the effort. */
- if (successful_sibling_call)
-- purge_reg_equiv_notes ();
-+ {
-+ rtx insn;
-+
-+ /* A sibling call sequence invalidates any REG_EQUIV notes made for
-+ this function's incoming arguments.
-+
-+ At the start of RTL generation we know the only REG_EQUIV notes
-+ in the rtl chain are those for incoming arguments, so we can safely
-+ flush any REG_EQUIV note.
-+
-+ This is (slight) overkill. We could keep track of the highest
-+ argument we clobber and be more selective in removing notes, but it
-+ does not seem to be worth the effort. */
-+ purge_reg_equiv_notes ();
-+
-+ /* A sibling call sequence also may invalidate RTX_UNCHANGING_P
-+ flag of some incoming arguments MEM RTLs, because it can write into
-+ those slots. We clear all those bits now.
-+
-+ This is (slight) overkill, we could keep track of which arguments
-+ we actually write into. */
-+ for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
-+ {
-+ if (GET_CODE (insn) == NOTE)
-+ {
-+ if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_FUNCTION_BEG)
-+ break;
-+ }
-+ else if (INSN_P (insn))
-+ purge_mem_unchanging_flag (PATTERN (insn));
-+ }
-+ }
-
- /* There may have been NOTE_INSN_BLOCK_{BEGIN,END} notes in the
- CALL_PLACEHOLDER alternatives that we didn't emit. Rebuild the
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall.patch
deleted file mode 100644
index 20fa119f2c1d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sibcall.patch
+++ /dev/null
@@ -1,270 +0,0 @@
-2000-08-12 Richard Henderson <rth@cygnus.com>
-
- * sibcall.c (uses_addressof): Accept both addressof and
- current_function_internal_arg_pointer inside a mem.
- (optimize_sibling_and_tail_recursive_call): Fail tail recursion
- if current_function_uses_addressof.
- * stmt.c (expand_return): Kill tail recursion and HAVE_return
- optimizations.
-
-*** gcc/sibcall.c 2000/08/04 20:28:06 1.7
---- gcc/sibcall.c 2000/08/12 16:24:33
-*************** static rtx skip_copy_to_return_value PAR
-*** 37,43 ****
- static rtx skip_use_of_return_value PARAMS ((rtx, enum rtx_code));
- static rtx skip_stack_adjustment PARAMS ((rtx));
- static rtx skip_jump_insn PARAMS ((rtx));
-! static int uses_addressof PARAMS ((rtx, int));
- static int sequence_uses_addressof PARAMS ((rtx));
- static void purge_reg_equiv_notes PARAMS ((void));
-
---- 37,43 ----
- static rtx skip_use_of_return_value PARAMS ((rtx, enum rtx_code));
- static rtx skip_stack_adjustment PARAMS ((rtx));
- static rtx skip_jump_insn PARAMS ((rtx));
-! static int uses_addressof PARAMS ((rtx));
- static int sequence_uses_addressof PARAMS ((rtx));
- static void purge_reg_equiv_notes PARAMS ((void));
-
-*************** skip_jump_insn (orig_insn)
-*** 237,252 ****
-
- /* Scan the rtx X for ADDRESSOF expressions or
- current_function_internal_arg_pointer registers.
-! INMEM argument should be 1 if we're looking at inner part of some
-! MEM expression, otherwise 0.
-! Return nonzero if an ADDRESSOF expresion is found or if
-! current_function_internal_arg_pointer is found outside of some MEM
-! expression, else return zero. */
-
- static int
-! uses_addressof (x, inmem)
- rtx x;
-- int inmem;
- {
- RTX_CODE code;
- int i, j;
---- 237,248 ----
-
- /* Scan the rtx X for ADDRESSOF expressions or
- current_function_internal_arg_pointer registers.
-! Return nonzero if an ADDRESSOF or current_function_internal_arg_pointer
-! is found outside of some MEM expression, else return zero. */
-
- static int
-! uses_addressof (x)
- rtx x;
- {
- RTX_CODE code;
- int i, j;
-*************** uses_addressof (x, inmem)
-*** 256,270 ****
- return 0;
-
- code = GET_CODE (x);
--
-- if (code == ADDRESSOF)
-- return 1;
-
-! if (x == current_function_internal_arg_pointer && ! inmem)
- return 1;
-
- if (code == MEM)
-! return uses_addressof (XEXP (x, 0), 1);
-
- /* Scan all subexpressions. */
- fmt = GET_RTX_FORMAT (code);
---- 252,263 ----
- return 0;
-
- code = GET_CODE (x);
-
-! if (code == ADDRESSOF || x == current_function_internal_arg_pointer)
- return 1;
-
- if (code == MEM)
-! return 0;
-
- /* Scan all subexpressions. */
- fmt = GET_RTX_FORMAT (code);
-*************** uses_addressof (x, inmem)
-*** 272,284 ****
- {
- if (*fmt == 'e')
- {
-! if (uses_addressof (XEXP (x, i), inmem))
- return 1;
- }
- else if (*fmt == 'E')
- {
- for (j = 0; j < XVECLEN (x, i); j++)
-! if (uses_addressof (XVECEXP (x, i, j), inmem))
- return 1;
- }
- }
---- 265,277 ----
- {
- if (*fmt == 'e')
- {
-! if (uses_addressof (XEXP (x, i)))
- return 1;
- }
- else if (*fmt == 'E')
- {
- for (j = 0; j < XVECLEN (x, i); j++)
-! if (uses_addressof (XVECEXP (x, i, j)))
- return 1;
- }
- }
-*************** sequence_uses_addressof (seq)
-*** 318,325 ****
- && sequence_uses_addressof (XEXP (PATTERN (insn), 2)))
- return 1;
- }
-! else if (uses_addressof (PATTERN (insn), 0)
-! || (REG_NOTES (insn) && uses_addressof (REG_NOTES (insn), 0)))
- return 1;
- }
- return 0;
---- 311,318 ----
- && sequence_uses_addressof (XEXP (PATTERN (insn), 2)))
- return 1;
- }
-! else if (uses_addressof (PATTERN (insn))
-! || (REG_NOTES (insn) && uses_addressof (REG_NOTES (insn))))
- return 1;
- }
- return 0;
-*************** optimize_sibling_and_tail_recursive_call
-*** 490,503 ****
- if (frame_offset)
- goto failure;
-
- /* alloca (until we have stack slot life analysis) inhibits
- sibling call optimizations, but not tail recursion.
--
-- Similarly if we have ADDRESSOF expressions.
--
- Similarly if we use varargs or stdarg since they implicitly
- may take the address of an argument. */
-! if (current_function_calls_alloca || current_function_uses_addressof
- || current_function_varargs || current_function_stdarg)
- sibcall = 0;
-
---- 483,498 ----
- if (frame_offset)
- goto failure;
-
-+ /* Taking the address of a local variable is fatal to tail
-+ recursion if the address is used by the recursive call. */
-+ if (current_function_uses_addressof)
-+ goto failure;
-+
- /* alloca (until we have stack slot life analysis) inhibits
- sibling call optimizations, but not tail recursion.
- Similarly if we use varargs or stdarg since they implicitly
- may take the address of an argument. */
-! if (current_function_calls_alloca
- || current_function_varargs || current_function_stdarg)
- sibcall = 0;
-
-*** gcc/stmt.c 2000/08/06 10:07:30 1.156
---- gcc/stmt.c 2000/08/12 16:24:33
-*************** expand_return (retval)
-*** 2809,2817 ****
- rtx last_insn = 0;
- rtx result_rtl = DECL_RTL (DECL_RESULT (current_function_decl));
- register rtx val = 0;
-- #ifdef HAVE_return
-- register rtx op0;
-- #endif
- tree retval_rhs;
- int cleanups;
-
---- 2809,2814 ----
-*************** expand_return (retval)
-*** 2884,2965 ****
- end_cleanup_deferral ();
- return;
- }
--
-- /* Attempt to optimize the call if it is tail recursive. */
-- if (flag_optimize_sibling_calls
-- && retval_rhs != NULL_TREE
-- && frame_offset == 0
-- && TREE_CODE (retval_rhs) == CALL_EXPR
-- && TREE_CODE (TREE_OPERAND (retval_rhs, 0)) == ADDR_EXPR
-- && (TREE_OPERAND (TREE_OPERAND (retval_rhs, 0), 0)
-- == current_function_decl)
-- && optimize_tail_recursion (TREE_OPERAND (retval_rhs, 1), last_insn))
-- return;
--
-- #ifdef HAVE_return
-- /* This optimization is safe if there are local cleanups
-- because expand_null_return takes care of them.
-- ??? I think it should also be safe when there is a cleanup label,
-- because expand_null_return takes care of them, too.
-- Any reason why not? */
-- if (HAVE_return && cleanup_label == 0
-- && ! current_function_returns_pcc_struct
-- && BRANCH_COST <= 1)
-- {
-- /* If this is return x == y; then generate
-- if (x == y) return 1; else return 0;
-- if we can do it with explicit return insns and branches are cheap,
-- but not if we have the corresponding scc insn. */
-- int has_scc = 0;
-- if (retval_rhs)
-- switch (TREE_CODE (retval_rhs))
-- {
-- case EQ_EXPR:
-- #ifdef HAVE_seq
-- has_scc = HAVE_seq;
-- #endif
-- case NE_EXPR:
-- #ifdef HAVE_sne
-- has_scc = HAVE_sne;
-- #endif
-- case GT_EXPR:
-- #ifdef HAVE_sgt
-- has_scc = HAVE_sgt;
-- #endif
-- case GE_EXPR:
-- #ifdef HAVE_sge
-- has_scc = HAVE_sge;
-- #endif
-- case LT_EXPR:
-- #ifdef HAVE_slt
-- has_scc = HAVE_slt;
-- #endif
-- case LE_EXPR:
-- #ifdef HAVE_sle
-- has_scc = HAVE_sle;
-- #endif
-- case TRUTH_ANDIF_EXPR:
-- case TRUTH_ORIF_EXPR:
-- case TRUTH_AND_EXPR:
-- case TRUTH_OR_EXPR:
-- case TRUTH_NOT_EXPR:
-- case TRUTH_XOR_EXPR:
-- if (! has_scc)
-- {
-- op0 = gen_label_rtx ();
-- jumpifnot (retval_rhs, op0);
-- expand_value_return (const1_rtx);
-- emit_label (op0);
-- expand_value_return (const0_rtx);
-- return;
-- }
-- break;
--
-- default:
-- break;
-- }
-- }
-- #endif /* HAVE_return */
-
- /* If the result is an aggregate that is being returned in one (or more)
- registers, load the registers here. The compiler currently can't handle
---- 2881,2886 ----
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-simplify-relational.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-simplify-relational.patch
deleted file mode 100644
index 5be09250bb47..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-simplify-relational.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com>
-
- * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
- simplify_relational_operation() unless both operands are of
- VOIDmode.
- * cse.c (fold_rtx): Likewise.
-
---- gcc/simplify-rtx.c.jj Mon Jul 31 20:02:12 2000
-+++ gcc/simplify-rtx.c Wed Aug 23 14:10:27 2000
-@@ -1694,7 +1694,7 @@ simplify_relational_operation (code, mod
- if (mode == VOIDmode
- && (GET_MODE (op0) != VOIDmode
- || GET_MODE (op1) != VOIDmode))
-- abort();
-+ abort ();
-
- /* If op0 is a compare, extract the comparison arguments from it. */
- if (GET_CODE (op0) == COMPARE && op1 == const0_rtx)
-@@ -2091,7 +2091,10 @@ simplify_rtx (x)
- XEXP (x, 0), XEXP (x, 1), XEXP (x, 2));
-
- case '<':
-- return simplify_relational_operation (code, GET_MODE (XEXP (x, 0)),
-+ return simplify_relational_operation (code,
-+ (GET_MODE (XEXP (x, 0)) != VOIDmode
-+ ? GET_MODE (XEXP (x, 0))
-+ : GET_MODE (XEXP (x, 1))),
- XEXP (x, 0), XEXP (x, 1));
- default:
- return NULL;
---- gcc/cse.c.jj Mon Aug 21 18:27:32 2000
-+++ gcc/cse.c Wed Aug 23 14:10:27 2000
-@@ -3857,7 +3857,19 @@ fold_rtx (x, insn)
- }
- }
-
-- new = simplify_relational_operation (code, mode_arg0,
-+ new = simplify_relational_operation (code,
-+ (mode_arg0 != VOIDmode
-+ ? mode_arg0
-+ : (GET_MODE (const_arg0
-+ ? const_arg0
-+ : folded_arg0)
-+ != VOIDmode)
-+ ? GET_MODE (const_arg0
-+ ? const_arg0
-+ : folded_arg0)
-+ : GET_MODE (const_arg1
-+ ? const_arg1
-+ : folded_arg1)),
- const_arg0 ? const_arg0 : folded_arg0,
- const_arg1 ? const_arg1 : folded_arg1);
- #ifdef FLOAT_STORE_FLAG_VALUE
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-4096.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-4096.patch
deleted file mode 100644
index a0e8d7a290c1..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-4096.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-2000-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
- operands[1] is constant, calculate the sum and generate movdi.
- (addsi3): Similarly. Use SImode in call to arith_4096_operand.
- (subsi3): Use SImode in call to arith_4096_operand.
-
- * gcc.c-torture/execute/20001031-1.c: New test.
-
---- gcc/config/sparc/sparc.md.jj Fri Oct 13 16:51:43 2000
-+++ gcc/config/sparc/sparc.md Tue Oct 31 16:45:36 2000
-@@ -5539,6 +5539,8 @@
- ""
- "
- {
-+ HOST_WIDE_INT i;
-+
- if (! TARGET_ARCH64)
- {
- emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2,
-@@ -5551,9 +5553,17 @@
- }
- if (arith_double_4096_operand(operands[2], DImode))
- {
-- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
-- gen_rtx_MINUS (DImode, operands[1],
-- GEN_INT(-4096))));
-+ switch (GET_CODE (operands[1]))
-+ {
-+ case CONST_INT: i = INTVAL (operands[1]); break;
-+ case CONST_DOUBLE: i = CONST_DOUBLE_LOW (operands[1]); break;
-+ default:
-+ emit_insn (gen_rtx_SET (VOIDmode, operands[0],
-+ gen_rtx_MINUS (DImode, operands[1],
-+ GEN_INT(-4096))));
-+ DONE;
-+ }
-+ emit_insn (gen_movdi (operands[0], GEN_INT (i + 4096)));
- DONE;
- }
- }")
-@@ -5768,11 +5778,15 @@
- ""
- "
- {
-- if (arith_4096_operand(operands[2], DImode))
-+ if (arith_4096_operand(operands[2], SImode))
- {
-- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
-- gen_rtx_MINUS (SImode, operands[1],
-- GEN_INT(-4096))));
-+ if (GET_CODE (operands[1]) == CONST_INT)
-+ emit_insn (gen_movsi (operands[0],
-+ GEN_INT (INTVAL (operands[1]) + 4096)));
-+ else
-+ emit_insn (gen_rtx_SET (VOIDmode, operands[0],
-+ gen_rtx_MINUS (SImode, operands[1],
-+ GEN_INT(-4096))));
- DONE;
- }
- }")
-@@ -5967,7 +5981,7 @@
- ""
- "
- {
-- if (arith_4096_operand(operands[2], DImode))
-+ if (arith_4096_operand(operands[2], SImode))
- {
- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
- gen_rtx_PLUS (SImode, operands[1],
---- gcc/testsuite/gcc.c-torture/execute/20001031-1.c.jj Tue Oct 31 16:30:36 2000
-+++ gcc/testsuite/gcc.c-torture/execute/20001031-1.c Tue Oct 31 16:26:06 2000
-@@ -0,0 +1,37 @@
-+extern void abort (void);
-+extern void exit (int);
-+
-+void t1 (int x)
-+{
-+ if (x != 4100)
-+ abort ();
-+}
-+
-+int t2 (void)
-+{
-+ int i;
-+ t1 ((i = 4096) + 4);
-+ return i;
-+}
-+
-+void t3 (long long x)
-+{
-+ if (x != 0x80000fffULL)
-+ abort ();
-+}
-+
-+long long t4 (void)
-+{
-+ long long i;
-+ t3 ((i = 4096) + 0x7fffffffULL);
-+ return i;
-+}
-+
-+main ()
-+{
-+ if (t2 () != 4096)
-+ abort ();
-+ if (t4 () != 4096)
-+ abort ();
-+ exit (0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-const-pool.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-const-pool.patch
deleted file mode 100644
index dd5c6d855172..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-const-pool.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Not accepted, need to write something else...
-
-2000-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.md (movsf, movdf, movtf): Look up constant pool
- for SYMBOL_REFs to check for fp_zero_operand.
-
---- gcc/config/sparc/sparc.md.jj Tue Aug 15 12:02:19 2000
-+++ gcc/config/sparc/sparc.md Fri Sep 22 23:04:37 2000
-@@ -3185,6 +3185,21 @@
- operands[1]));
- }
-
-+ if (((TARGET_VIS && GET_CODE (operands[0]) == REG)
-+ || GET_CODE (operands[0]) == MEM)
-+ && GET_CODE (operands[1]) == MEM
-+ && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
-+ && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0)))
-+ {
-+ rtx operand = get_pool_constant (XEXP (operands[1], 0));
-+
-+ if (fp_zero_operand (operand, SFmode))
-+ {
-+ operands[1] = operand;
-+ goto movsf_is_ok;
-+ }
-+ }
-+
- /* Handle sets of MEM first. */
- if (GET_CODE (operands[0]) == MEM)
- {
-@@ -3244,6 +3259,21 @@
- operands[1]));
- }
-
-+ if (((TARGET_VIS && GET_CODE (operands[0]) == REG)
-+ || GET_CODE (operands[0]) == MEM)
-+ && GET_CODE (operands[1]) == MEM
-+ && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
-+ && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0)))
-+ {
-+ rtx operand = get_pool_constant (XEXP (operands[1], 0));
-+
-+ if (fp_zero_operand (operand, DFmode))
-+ {
-+ operands[1] = operand;
-+ goto movdf_is_ok;
-+ }
-+ }
-+
- /* Handle MEM cases first. */
- if (GET_CODE (operands[0]) == MEM)
- {
-@@ -3681,6 +3711,21 @@
- operands[1] = validize_mem (force_const_mem (GET_MODE (operands[0]),
- operands[1]));
- }
-+
-+ if (((TARGET_VIS && GET_CODE (operands[0]) == REG)
-+ || GET_CODE (operands[0]) == MEM)
-+ && GET_CODE (operands[1]) == MEM
-+ && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
-+ && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0)))
-+ {
-+ rtx operand = get_pool_constant (XEXP (operands[1], 0));
-+
-+ if (fp_zero_operand (operand, TFmode))
-+ {
-+ operands[1] = operand;
-+ goto movtf_is_ok;
-+ }
-+ }
-
- /* Handle MEM cases first, note that only v9 guarentees
- full 16-byte alignment for quads. */
-
- Jakub
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-copy-leaf-remappable.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-copy-leaf-remappable.patch
deleted file mode 100644
index 1fc8d640317e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-copy-leaf-remappable.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * gcc.c-torture/execute/20000910-1.c: New test.
- * gcc.c-torture/execute/20000910-2.c: Likewise.
-
---- gcc/testsuite/gcc.c-torture/execute/20000910-1.c Tue May 5 13:32:27 1998
-+++ gcc/testsuite/gcc.c-torture/execute/20000910-1.c Sun Sep 10 07:31:53 2000
-@@ -0,0 +1,27 @@
-+/* Copyright (C) 2000 Free Software Foundation */
-+/* by Alexandre Oliva <aoliva@redhat.com> */
-+
-+#include <stdlib.h>
-+
-+void bar (int);
-+void foo (int *);
-+
-+int main () {
-+ static int a[] = { 0, 1, 2 };
-+ int *i = &a[sizeof(a)/sizeof(*a)];
-+
-+ while (i-- > a)
-+ foo (i);
-+
-+ exit (0);
-+}
-+
-+void baz (int, int);
-+
-+void bar (int i) { baz (i, i); }
-+void foo (int *i) { bar (*i); }
-+
-+void baz (int i, int j) {
-+ if (i != j)
-+ abort ();
-+}
---- gcc/testsuite/gcc.c-torture/execute/20000910-2.c Tue May 5 13:32:27 1998
-+++ gcc/testsuite/gcc.c-torture/execute/20000910-2.c Sun Sep 10 07:31:53 2000
-@@ -0,0 +1,28 @@
-+/* Copyright (C) 2000 Free Software Foundation */
-+/* by Alexandre Oliva <aoliva@redhat.com> */
-+
-+#include <stdlib.h>
-+#include <string.h>
-+
-+char *list[] = { "*", "e" };
-+
-+static int bar (const char *fmt) {
-+ return (strchr (fmt, '*') != 0);
-+}
-+
-+static void foo () {
-+ int i;
-+ for (i = 0; i < sizeof (list) / sizeof (*list); i++) {
-+ const char *fmt = list[i];
-+ if (bar (fmt))
-+ continue;
-+ if (i == 0)
-+ abort ();
-+ else
-+ exit (0);
-+ }
-+}
-+
-+int main () {
-+ foo ();
-+}
-
-2000-09-10 Alexandre Oliva <aoliva@redhat.com>
-
- * print-rtl.c (debug_call_placeholder_verbose): New variable.
- (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
- set.
- * integrate.c (copy_rtx_and_substitute): Don't share
- LEAF_REG_REMAPpable registers with the inlined function. Don't
- share the function value with calling sequences.
-
---- gcc/print-rtl.c 2000/08/04 20:28:05 1.58
-+++ gcc/print-rtl.c 2000/09/10 14:31:54
-@@ -63,6 +63,9 @@ int flag_dump_unnumbered = 0;
- /* Nonzero if we are dumping graphical description. */
- int dump_for_graph;
-
-+/* Nonzero to dump all call_placeholder alternatives. */
-+static int debug_call_placeholder_verbose;
-+
- /* Print IN_RTX onto OUTFILE. This is the recursive part of printing. */
-
- static void
-@@ -421,6 +424,37 @@ print_rtx (in_rtx)
- break;
-
- case CALL_PLACEHOLDER:
-+ if (debug_call_placeholder_verbose)
-+ {
-+ fputs (" (cond [\n (const_string \"normal\") (sequence [", outfile);
-+ for (tem = XEXP (in_rtx, 0); tem != 0; tem = NEXT_INSN (tem))
-+ {
-+ fputs ("\n ", outfile);
-+ print_inline_rtx (outfile, tem, 4);
-+ }
-+
-+ tem = XEXP (in_rtx, 1);
-+ if (tem)
-+ fputs ("\n ])\n (const_string \"tail_call\") (sequence [", outfile);
-+ for (; tem != 0; tem = NEXT_INSN (tem))
-+ {
-+ fputs ("\n ", outfile);
-+ print_inline_rtx (outfile, tem, 4);
-+ }
-+
-+ tem = XEXP (in_rtx, 2);
-+ if (tem)
-+ fputs ("\n ])\n (const_string \"tail_recursion\") (sequence [", outfile);
-+ for (; tem != 0; tem = NEXT_INSN (tem))
-+ {
-+ fputs ("\n ", outfile);
-+ print_inline_rtx (outfile, tem, 4);
-+ }
-+
-+ fputs ("\n ])\n ])", outfile);
-+ break;
-+ }
-+
- for (tem = XEXP (in_rtx, 0); tem != 0; tem = NEXT_INSN (tem))
- if (GET_CODE (tem) == CALL_INSN)
- {
---- gcc/integrate.c 2000/09/02 02:54:55 1.113
-+++ gcc/integrate.c 2000/09/10 14:31:55
-@@ -1747,7 +1747,15 @@ copy_rtx_and_substitute (orig, map, for_
- {
- /* Some hard registers are also mapped,
- but others are not translated. */
-- if (map->reg_map[regno] != 0)
-+ if (map->reg_map[regno] != 0
-+ /* We shouldn't usually have reg_map set for return
-+ register, but it may happen if we have leaf-register
-+ remapping and the return register is used in one of
-+ the calling sequences of a call_placeholer. In this
-+ case, we'll end up with a reg_map set for this
-+ register, but we don't want to use for registers
-+ marked as return values. */
-+ && ! REG_FUNCTION_VALUE_P (orig))
- return map->reg_map[regno];
-
- /* If this is the virtual frame pointer, make space in current
-@@ -1758,7 +1766,7 @@ copy_rtx_and_substitute (orig, map, for_
- equivalence for it to be the address. This will substitute the
- address into insns where it can be substituted and use the new
- pseudo where it can't. */
-- if (regno == VIRTUAL_STACK_VARS_REGNUM)
-+ else if (regno == VIRTUAL_STACK_VARS_REGNUM)
- {
- rtx loc, seq;
- int size = get_func_frame_size (DECL_SAVED_INSNS (map->fndecl));
-@@ -1845,7 +1853,26 @@ copy_rtx_and_substitute (orig, map, for_
- else
- return map->inline_target;
- }
-- return orig;
-+#if defined (LEAF_REGISTERS) && defined (LEAF_REG_REMAP)
-+ /* If leaf_renumber_regs_insn() might remap this register to
-+ some other number, make sure we don't share it with the
-+ inlined function, otherwise delayed optimization of the
-+ inlined function may change it in place, breaking our
-+ reference to it. We may still shared it within the
-+ function, so create an entry for this register in the
-+ reg_map. */
-+ if (map->integrating && regno < FIRST_PSEUDO_REGISTER
-+ && LEAF_REGISTERS[regno] && LEAF_REG_REMAP (regno) != regno)
-+ {
-+ temp = gen_rtx_REG (mode, regno);
-+ map->reg_map[regno] = temp;
-+ return temp;
-+ }
-+#endif
-+ else
-+ return orig;
-+
-+ abort ();
- }
- if (map->reg_map[regno] == NULL)
- {
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-may-trap.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-may-trap.patch
deleted file mode 100644
index 0563bca36efb..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-may-trap.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-2000-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * rtlanal.c (may_trap_p): Check operand modes of COMPARE.
-
- * gcc.dg/20001013-1.c: New test.
-
---- gcc/rtlanal.c.jj Fri Sep 15 16:46:43 2000
-+++ gcc/rtlanal.c Fri Oct 13 19:08:01 2000
-@@ -1877,6 +1877,17 @@ may_trap_p (x)
- certainly may trap. */
- return 1;
-
-+ case COMPARE:
-+ /* Any floating comparison may trap. */
-+ if (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT)
-+ return 1;
-+ /* But often the compare has some CC mode, so check operand
-+ modes as well. */
-+ if (GET_MODE_CLASS (GET_MODE (XEXP (x, 0))) == MODE_FLOAT
-+ || GET_MODE_CLASS (GET_MODE (XEXP (x, 1))) == MODE_FLOAT)
-+ return 1;
-+ break;
-+
- default:
- /* Any floating arithmetic may trap. */
- if (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT)
---- gcc/testsuite/gcc.dg/20001013-1.c.jj Fri Oct 13 19:10:41 2000
-+++ gcc/testsuite/gcc.dg/20001013-1.c Fri Oct 13 19:10:36 2000
-@@ -0,0 +1,39 @@
-+/* { dg-do run { target sparc*-*-* } } */
-+/* { dg-options "-O2 -mvis" } */
-+
-+int l;
-+
-+int baz (double x)
-+{
-+ return l == 0;
-+}
-+
-+double bar (double x)
-+{
-+ return 1.0;
-+}
-+
-+double foo (double x)
-+{
-+ if (l == -1 || baz (x)) return x;
-+ if (x < 0.0)
-+ return bar (x);
-+ else
-+ return 0.0;
-+}
-+
-+union {
-+ double d;
-+ long long l;
-+} x = { l: 0x7ff8000000000000LL }, y;
-+
-+main ()
-+{
-+ unsigned int fsr = 0;
-+ __asm __volatile ("ld %0, %%fsr" : : "m" (fsr));
-+ y.d = foo (x.d);
-+ __asm __volatile ("st %%fsr, %0" : "=m" (fsr));
-+ if (x.l != y.l || (fsr & 0x3ff))
-+ abort ();
-+ exit (0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-mi-thunk.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-mi-thunk.patch
deleted file mode 100644
index d842335b1f2e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-mi-thunk.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-2000-10-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
- sure linker can relax even the delay slot mov %g1,%o7, fix output
- formating.
-
---- gcc/config/sparc/sparc.h.jj Fri Oct 13 16:51:43 2000
-+++ gcc/config/sparc/sparc.h Tue Oct 17 14:12:58 2000
-@@ -3231,42 +3231,15 @@ do { \
- Used for C++ multiple inheritance. */
- #define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
- do { \
-- int big_delta = (DELTA) >= 4096 || (DELTA) < -4096; \
-- if (big_delta) \
-- fprintf (FILE, "\tset %d,%%g1\n\tadd %%o0,%%g1,%%o0\n", (DELTA)); \
-- /* Don't use the jmp solution unless we know the target is local to \
-- the application or shared object. \
-- XXX: Wimp out and don't actually check anything except if this is \
-- an embedded target where we assume there are no shared libs. */ \
-- if (!TARGET_CM_EMBMEDANY || flag_pic) \
-- { \
-- if (! big_delta) \
-- fprintf (FILE, "\tadd %%o0,%d,%%o0\n", DELTA); \
-- fprintf (FILE, "\tmov %%o7,%%g1\n"); \
-- fprintf (FILE, "\tcall "); \
-- assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
-- fprintf (FILE, ",0\n"); \
-- } \
-- else if (TARGET_CM_EMBMEDANY) \
-- { \
-- fprintf (FILE, "\tsetx "); \
-- assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
-- fprintf (FILE, ",%%g5,%%g1\n\tjmp %%g1\n"); \
-- } \
-+ if ((DELTA) >= 4096 || (DELTA) < -4096) \
-+ fprintf (FILE, "\tset\t%d, %%g1\n\tadd\t%%o0, %%g1, %%o0\n", (DELTA));\
- else \
-- { \
-- fprintf (FILE, "\tsethi %%hi("); \
-- assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
-- fprintf (FILE, "),%%g1\n\tjmp %%g1+%%lo("); \
-- assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
-- fprintf (FILE, ")\n"); \
-- } \
-- if (!TARGET_CM_EMBMEDANY || flag_pic) \
-- fprintf (FILE, "\tmov %%g1,%%o7\n"); \
-- else if (big_delta) \
-- fprintf (FILE, "\tnop\n"); \
-- else \
-- fprintf (FILE, "\tadd %%o0,%d,%%o0\n", DELTA); \
-+ fprintf (FILE, "\tadd\t%%o0, %d, %%o0\n", DELTA); \
-+ fprintf (FILE, "\tor\t%%o7, %%g0, %%g1\n"); \
-+ fprintf (FILE, "\tcall\t"); \
-+ assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
-+ fprintf (FILE, ", 0\n"); \
-+ fprintf (FILE, "\t or\t%%g1, %%g0, %%o7\n"); \
- } while (0)
-
- /* Define the parentheses used to group arithmetic operations
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-output-formatting.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-output-formatting.patch
deleted file mode 100644
index f130faac94c9..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-output-formatting.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-2000-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
- update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
-
---- gcc/config/sparc/sparc.md.jj Mon Nov 6 09:40:07 2000
-+++ gcc/config/sparc/sparc.md Mon Nov 6 09:47:47 2000
-@@ -6240,8 +6240,8 @@
- (clobber (match_scratch:SI 4 "=X,&h"))]
- "TARGET_V8PLUS"
- "@
-- smul %1,%2,%0\;srlx %0,%3,%0
-- smul %1,%2,%4\;srlx %4,%3,%0"
-+ smul\\t%1, %2, %0\;srlx\\t%0, %3, %0
-+ smul\\t%1, %2, %4\;srlx\\t%4, %3, %0"
- [(set_attr "length" "2")])
-
- ;; The combiner changes TRUNCATE in the previous pattern to SUBREG.
-@@ -8100,8 +8100,8 @@
- "*
- {
- if (GET_CODE (operands[2]) == REG && REGNO (operands[2]) == REGNO (operands[0]))
-- return \"mov 1,%L0\;sllx %L0,%2,%L0\;sub %L0,1,%L0\;srlx %L0,32,%H0\";
-- return \"mov 1,%H0\;sllx %H0,%2,%L0\;sub %L0,1,%L0\;srlx %L0,32,%H0\";
-+ return \"mov\\t1, %L0\;sllx\\t%L0, %2, %L0\;sub\\t%L0, 1, %L0\;srlx\\t%L0, 32, %H0\";
-+ return \"mov\\t1, %H0\;sllx\\t%H0, %2, %L0\;sub\\t%L0, 1, %L0\;srlx\\t%L0, 32, %H0\";
- }"
- [(set_attr "length" "4")])
-
-@@ -8859,7 +8859,7 @@
- [(unspec:SI [(match_operand:SI 0 "register_operand" "r")
- (match_operand:SI 1 "register_operand" "r")] 1)]
- "! TARGET_ARCH64"
-- "cmp %1,0\;be,a .+8\;add %0,4,%0"
-+ "cmp\\t%1, 0\;be,a\\t.+8\;add\\t%0, 4, %0"
- [(set_attr "type" "multi")])
-
- (define_insn "return"
-@@ -9039,13 +9039,13 @@
- (define_insn "flush"
- [(unspec_volatile [(match_operand:SI 0 "memory_operand" "m")] 3)]
- ""
-- "* return TARGET_V9 ? \"flush %f0\" : \"iflush %f0\";"
-+ "* return TARGET_V9 ? \"flush\\t%f0\" : \"iflush\\t%f0\";"
- [(set_attr "type" "misc")])
-
- (define_insn "flushdi"
- [(unspec_volatile [(match_operand:DI 0 "memory_operand" "m")] 3)]
- ""
-- "* return TARGET_V9 ? \"flush %f0\" : \"iflush %f0\";"
-+ "* return TARGET_V9 ? \"flush\\t%f0\" : \"iflush\\t%f0\";"
- [(set_attr "type" "misc")])
-
-
-@@ -9064,7 +9064,7 @@
- "TARGET_SPARCLITE || TARGET_SPARCLET"
- "*
- {
-- return \"sub %%g0,%1,%0\;and %0,%1,%0\;scan %0,0,%0\;mov 32,%2\;sub %2,%0,%0\;sra %0,31,%2\;and %2,31,%2\;add %2,%0,%0\";
-+ return \"sub\\t%%g0, %1, %0\;and\\t%0, %1, %0\;scan\\t%0, 0, %0\;mov\\t32, %2\;sub\\t%2, %0, %0\;sra\\t%0, 31, %2\;and\\t%2, 31, %2\;add\\t%2, %0, %0\";
- }"
- [(set_attr "type" "multi")
- (set_attr "length" "8")])
-@@ -9080,7 +9080,7 @@
- ; (ffs:DI (match_operand:DI 1 "register_operand" "r")))
- ; (clobber (match_scratch:DI 2 "=&r"))]
- ; "TARGET_ARCH64"
--; "neg %1,%2\;xnor %1,%2,%2\;popc %2,%0\;movzr %1,0,%0"
-+; "neg\\t%1, %2\;xnor\\t%1, %2, %2\;popc\\t%2, %0\;movzr\\t%1, 0, %0"
- ; [(set_attr "type" "multi")
- ; (set_attr "length" "4")])
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-pic.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-pic.patch
deleted file mode 100644
index 0971be683e07..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc-pic.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-2000-10-11 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
- (prologue, exception_receiver, builtin_setjmp_receiver): New
- patterns.
- * config/sparc/sparc.h (FINALIZE_PIC): Remove.
- * config/sparc/sparc-protos.h (finalize_pic): Remove.
- (load_pic_register): New prototype.
- * config/sparc/sparc.c (pic_setup_code): Remove.
- (finalize_pic): Rename to...
- (load_pic_register): ...this function.
- Don't look for nonlocal_goto_receivers and emit pic setup code
- directly. Don't check current_function_uses_pic_offset_table.
-
---- gcc/config/sparc/sparc.md.jj Fri Sep 15 16:46:30 2000
-+++ gcc/config/sparc/sparc.md Wed Oct 11 13:47:31 2000
-@@ -50,7 +50,6 @@
- ;; 2 goto_handler_and_restore
- ;; 3 goto_handler_and_restore_v9*
- ;; 4 flush
--;; 5 nonlocal_goto_receiver
- ;;
-
- ;; The upper 32 fp regs on the v9 can't hold SFmode values. To deal with this
-@@ -9455,17 +9454,37 @@
- && in_same_eh_region (insn, operands[2])
- && in_same_eh_region (insn, ins1)"
- "call\\t%a0, %1\\n\\tadd\\t%%o7, (%l2-.-4), %%o7")
-+
-+(define_expand "prologue"
-+ [(const_int 1)]
-+ "flag_pic && current_function_uses_pic_offset_table"
-+ "
-+{
-+ load_pic_register ();
-+ DONE;
-+}")
-
--;; After a nonlocal goto, we need to restore the PIC register, but only
--;; if we need it. So do nothing much here, but we'll check for this in
--;; finalize_pic.
--
--;; Make sure this unspec_volatile number agrees with finalize_pic.
--(define_insn "nonlocal_goto_receiver"
-- [(unspec_volatile [(const_int 0)] 5)]
-- "flag_pic"
-- ""
-- [(set_attr "length" "0")])
-+;; We need to reload %l7 for -mflat -fpic,
-+;; otherwise %l7 should be preserved simply
-+;; by loading the function's register window
-+(define_expand "exception_receiver"
-+ [(const_int 0)]
-+ "TARGET_FLAT && flag_pic"
-+ "
-+{
-+ load_pic_register ();
-+ DONE;
-+}")
-+
-+;; Likewise
-+(define_expand "builtin_setjmp_receiver"
-+ [(label_ref (match_operand 0 "" ""))]
-+ "TARGET_FLAT && flag_pic"
-+ "
-+{
-+ load_pic_register ();
-+ DONE;
-+}")
-
- (define_insn "trap"
- [(trap_if (const_int 1) (const_int 5))]
---- gcc/config/sparc/sparc.h.jj Fri Sep 15 16:46:35 2000
-+++ gcc/config/sparc/sparc.h Wed Oct 11 12:19:05 2000
-@@ -1262,8 +1262,6 @@ extern int sparc_mode_class[];
-
- #define PIC_OFFSET_TABLE_REGNUM 23
-
--#define FINALIZE_PIC finalize_pic ()
--
- /* Pick a default value we can notice from override_options:
- !v9: Default is on.
- v9: Default is off. */
---- gcc/config/sparc/sparc-protos.h.jj Fri Mar 24 22:35:06 2000
-+++ gcc/config/sparc/sparc-protos.h Wed Oct 11 12:19:29 2000
-@@ -51,7 +51,7 @@ extern enum direction function_arg_paddi
- #endif /* TREE_CODE */
-
- extern void ultrasparc_sched_init PARAMS ((FILE *, int));
--extern void finalize_pic PARAMS ((void));
-+extern void load_pic_register PARAMS ((void));
- extern void order_regs_for_local_alloc PARAMS ((void));
- extern void output_function_epilogue PARAMS ((FILE *, int, int));
- extern void output_function_prologue PARAMS ((FILE *, int, int));
---- gcc/config/sparc/sparc.c.jj Fri Sep 15 16:46:34 2000
-+++ gcc/config/sparc/sparc.c Wed Oct 11 13:45:14 2000
-@@ -127,7 +127,6 @@ char sparc_leaf_regs[] =
- static const char *frame_base_name;
- static int frame_base_offset;
-
--static rtx pic_setup_code PARAMS ((void));
- static void sparc_init_modes PARAMS ((void));
- static int save_regs PARAMS ((FILE *, int, int, const char *,
- int, int, int));
-@@ -2825,34 +2824,15 @@ legitimize_pic_address (orig, mode, reg)
- return orig;
- }
-
--/* Return the RTX for insns to set the PIC register. */
--
--static rtx
--pic_setup_code ()
--{
-- rtx seq;
--
-- start_sequence ();
-- emit_insn (gen_get_pc (pic_offset_table_rtx, global_offset_table,
-- get_pc_symbol));
-- seq = gen_sequence ();
-- end_sequence ();
--
-- return seq;
--}
--
--/* Emit special PIC prologues and epilogues. */
-+/* Emit special PIC prologues. */
-
- void
--finalize_pic ()
-+load_pic_register ()
- {
- /* Labels to get the PC in the prologue of this function. */
- int orig_flag_pic = flag_pic;
- rtx insn;
-
-- if (current_function_uses_pic_offset_table == 0)
-- return;
--
- if (! flag_pic)
- abort ();
-
-@@ -2877,16 +2857,8 @@ finalize_pic ()
- get_pc_symbol = gen_rtx_SYMBOL_REF (Pmode, get_pc_symbol_name);
- flag_pic = 0;
-
-- emit_insn_after (pic_setup_code (), get_insns ());
--
-- /* Insert the code in each nonlocal goto receiver.
-- If you make changes here or to the nonlocal_goto_receiver
-- pattern, make sure the unspec_volatile numbers still
-- match. */
-- for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
-- if (GET_CODE (insn) == INSN && GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE
-- && XINT (PATTERN (insn), 1) == 5)
-- emit_insn_after (pic_setup_code (), insn);
-+ emit_insn (gen_get_pc (pic_offset_table_rtx, global_offset_table,
-+ get_pc_symbol));
-
- flag_pic = orig_flag_pic;
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack.patch
deleted file mode 100644
index 40b4cf50654b..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-This is an optimization hack which should only be present
-in a sparc 32bit driver of the compiler compiled with
-host/target/build sparc64-redhat-linux --with-cpu=v7.
-As long long HOST_WIDE_INT slows things down, we can have in
-addition to the sparc64-*/2.96/{cc1,cc1plus}
-sparc-*/2.96/{cc1,cc1plus} binaries which are suitable for compiling
--m32 code only, but use long HOST_WIDE_INT.
-
---- gcc/gcc.c.jj Mon Jul 31 21:36:08 2000
-+++ gcc/gcc.c Mon Jul 31 21:44:42 2000
-@@ -2870,6 +2870,8 @@ process_command (argc, argv)
- int have_c = 0;
- int have_o = 0;
- int lang_n_infiles = 0;
-+ int m64 = 0;
-+ int used_B = 0;
-
- GET_ENV_PATH_LIST (gcc_exec_prefix, "GCC_EXEC_PREFIX");
-
-@@ -3203,6 +3205,7 @@ process_command (argc, argv)
- spec_machine = p + 1;
-
- warn_std_ptr = &warn_std;
-+ used_B = 1;
- break;
-
- case 'B':
-@@ -3246,6 +3249,7 @@ process_command (argc, argv)
- NULL_PTR),
- NULL_PTR,
- PREFIX_PRIORITY_B_OPT, 0, NULL_PTR);
-+ used_B = 1;
- n_switches++;
- }
- break;
-@@ -3350,6 +3354,13 @@ process_command (argc, argv)
- #endif
- goto normal_switch;
-
-+ /* HACK START */
-+ case 'm':
-+ if (p[1] == '6' && p[2] == '4')
-+ m64 = 1;
-+ /* FALLTHROUGH */
-+ /* HACK END */
-+
- default:
- normal_switch:
- n_switches++;
-@@ -3377,6 +3388,16 @@ process_command (argc, argv)
- /* Use 2 as fourth arg meaning try just the machine as a suffix,
- as well as trying the machine and the version. */
- #ifndef OS2
-+ /* HACK START */
-+ if (!m64 && !used_B && !strncmp (spec_machine, "sparc64-", 8))
-+ {
-+ const char *sparc32_exec_prefix =
-+ concat (standard_exec_prefix, "sparc-", spec_machine + 8,
-+ dir_separator_str, spec_version, dir_separator_str, NULL_PTR);
-+ add_prefix (&exec_prefixes, sparc32_exec_prefix, "GCC",
-+ PREFIX_PRIORITY_LAST, 0, warn_std_ptr);
-+ }
-+ /* HACK END */
- add_prefix (&exec_prefixes, standard_exec_prefix, "GCC",
- PREFIX_PRIORITY_LAST, 1, warn_std_ptr);
- add_prefix (&exec_prefixes, standard_exec_prefix, "BINUTILS",
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack2.patch
deleted file mode 100644
index 373fd2dc59d1..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-hack2.patch
+++ /dev/null
@@ -1,289 +0,0 @@
---- libchill/configure.jj Thu Jun 1 11:57:11 2000
-+++ libchill/configure Wed Jun 21 17:40:27 2000
-@@ -499,11 +499,13 @@ else
- > $cache_file
- fi
-
-+LINKCC=`echo $CC | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
-+LINKCFLAGS=`echo $CFLAGS | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- ac_exeext=
-@@ -708,7 +710,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-@@ -736,7 +738,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
---- libf2c/libF77/configure.jj Mon Mar 13 18:02:39 2000
-+++ libf2c/libF77/configure Wed Jun 21 17:56:39 2000
-@@ -499,11 +499,13 @@ else
- > $cache_file
- fi
-
-+LINKCC=`echo $CC | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
-+LINKCFLAGS=`echo $CFLAGS | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- ac_exeext=
-@@ -646,7 +648,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-@@ -674,7 +676,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
---- libf2c/libI77/configure.jj Wed Feb 24 09:15:18 1999
-+++ libf2c/libI77/configure Wed Jun 21 17:57:52 2000
-@@ -499,11 +499,13 @@ else
- > $cache_file
- fi
-
-+LINKCC=`echo $CC | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
-+LINKCFLAGS=`echo $CFLAGS | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- ac_exeext=
-@@ -646,7 +648,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-@@ -674,7 +676,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
---- libf2c/libU77/configure.jj Tue Oct 12 10:39:35 1999
-+++ libf2c/libU77/configure Wed Jun 21 17:57:55 2000
-@@ -499,11 +499,13 @@ else
- > $cache_file
- fi
-
-+LINKCC=`echo $CC | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
-+LINKCFLAGS=`echo $CFLAGS | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- ac_exeext=
-@@ -647,7 +649,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-@@ -675,7 +677,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
---- libf2c/configure.jj Sun May 21 21:13:31 2000
-+++ libf2c/configure Wed Jun 21 17:40:16 2000
-@@ -499,11 +499,13 @@ else
- > $cache_file
- fi
-
-+LINKCC=`echo $CC | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
-+LINKCFLAGS=`echo $CFLAGS | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- ac_exeext=
-@@ -708,7 +710,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-@@ -736,7 +738,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
---- libiberty/configure.jj Thu Jun 8 15:46:00 2000
-+++ libiberty/configure Wed Jun 21 17:39:58 2000
-@@ -505,11 +505,13 @@ else
- > $cache_file
- fi
-
-+LINKCC=`echo $CC | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
-+LINKCFLAGS=`echo $CFLAGS | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- ac_exeext=
-@@ -1754,7 +1756,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-@@ -1782,7 +1784,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
---- libio/configure.in.jj Mon May 15 07:16:59 2000
-+++ libio/configure.in Wed Jun 21 17:50:12 2000
-@@ -171,6 +171,11 @@ if [ -n "${with_cross_host}" ] ; then
- mv -f Makefile.tem Makefile
- fi
-
-+if [ -n "${ac_configure_args}" ]; then
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+else
-+ arguments="$arguments --disable-multilib"
-+fi
- . ${topsrcdir}/config-ml.in
-
- gxx_include_dir=
---- libobjc/configure.jj Mon Jul 31 14:02:23 2000
-+++ libobjc/configure Thu Aug 3 05:28:07 2000
-@@ -514,11 +514,13 @@ else
- > $cache_file
- fi
-
-+LINKCC=`echo $CC | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
-+LINKCFLAGS=`echo $CFLAGS | sed -e 's/-m64//' -e 's/-mcmodel=medany//' -e 's/-mno-app-regs//'`
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- ac_exeext=
-@@ -786,7 +788,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-@@ -814,7 +816,7 @@ ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-+ac_link='${LINKCC-cc} -o conftest${ac_exeext} $LINKCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-@@ -2752,7 +2754,7 @@ host=${host}
- target=${target}
- with_target_subdir=${with_target_subdir}
- with_multisubdir=${with_multisubdir}
--ac_configure_args="--enable-multilib ${ac_configure_args}"
-+ac_configure_args="--disable-multilib `echo ${ac_configure_args} | sed -e 's/--enable-multilib//'`"
- CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
- topsrcdir=${topsrcdir}
-
---- libstdc++/configure.in.jj Wed May 10 15:27:37 2000
-+++ libstdc++/configure.in Wed Jun 21 17:51:08 2000
-@@ -170,11 +170,16 @@ if [ -n "${with_cross_host}" ] ; then
- mv -f Makefile.tem Makefile
- fi
-
--# enable multilib-ing by default.
-+# disable multilib-ing by default.
- if [ -z "${enable_multilib}" ]; then
-- enable_multilib=yes
-+ enable_multilib=no
- fi
-
-+if [ -n "${ac_configure_args}" ]; then
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+else
-+ arguments="$arguments --disable-multilib"
-+fi
- . ${topsrcdir}/config-ml.in
-
- gxx_include_dir=
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-vaarg.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-vaarg.patch
deleted file mode 100644
index e329efb1c203..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc32-vaarg.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-2000-06-27 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.c (sparc_va_arg): On sparc32 copy 8 byte objects
- to temporary.
-
---- gcc/config/sparc/sparc.c.jj Mon Apr 17 14:06:51 2000
-+++ gcc/config/sparc/sparc.c Tue Apr 18 17:20:14 2000
-@@ -4804,12 +4804,6 @@ sparc_va_arg (valist, type)
- indirect = 1;
- size = rsize = UNITS_PER_WORD;
- }
-- else
-- {
-- /* ??? The old va-sparc.h implementation, for 8 byte objects
-- copied stuff to a temporary -- I don't see that that
-- provides any more alignment than the stack slot did. */
-- }
- }
-
- incr = valist;
-@@ -4841,6 +4835,29 @@ sparc_va_arg (valist, type)
- addr_rtx = force_reg (Pmode, addr_rtx);
- addr_rtx = gen_rtx_MEM (Pmode, addr_rtx);
- MEM_ALIAS_SET (addr_rtx) = get_varargs_alias_set ();
-+ }
-+ else if (rsize == 2 * UNITS_PER_WORD && TARGET_ARCH32)
-+ {
-+ /* va_list is guaranteed to be aligned to 8 bytes only
-+ on sparc32. */
-+ rtx word0 = addr_rtx, word1, tword0, tword1;
-+
-+ word0 = force_reg (Pmode, addr_rtx);
-+ word1 = plus_constant (word0, 4);
-+ word1 = force_reg (Pmode, word1);
-+ word0 = gen_rtx_MEM (SImode, word0);
-+ word1 = gen_rtx_MEM (SImode, word1);
-+ MEM_ALIAS_SET (word0) = get_varargs_alias_set ();
-+ MEM_ALIAS_SET (word1) = get_varargs_alias_set ();
-+ addr_rtx = assign_temp (type, 0, 1, 1);
-+ tword0 = gen_rtx_MEM (SImode, XEXP (addr_rtx, 0));
-+ MEM_ALIAS_SET (tword0) = get_varargs_alias_set ();
-+ tword1 = plus_constant (XEXP (addr_rtx, 0), 4);
-+ tword1 = gen_rtx_MEM (SImode, tword1);
-+ MEM_ALIAS_SET (tword1) = get_varargs_alias_set ();
-+ emit_move_insn (tword0, word0);
-+ emit_move_insn (tword1, word1);
-+ addr_rtx = XEXP (addr_rtx, 0);
- }
-
- return addr_rtx;
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-decloffset.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-decloffset.patch
deleted file mode 100644
index 31a067737f2e..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-decloffset.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-2000-03-31 Jakub Jelinek <jakub@redhat.com>
-
- * stor-layout.c (place_field): Set DECL_OFFSET_ALIGN to at most
- BIGGEST_ALIGNMENT to allow overflowing. Use the original
- offset_align to compute actual_align.
-
---- gcc/stor-layout.c.jj Thu Mar 30 17:22:29 2000
-+++ gcc/stor-layout.c Fri Mar 31 12:51:03 2000
-@@ -828,7 +828,7 @@ place_field (rli, field)
- normalize_rli (rli);
- DECL_FIELD_OFFSET (field) = rli->offset;
- DECL_FIELD_BIT_OFFSET (field) = rli->bitpos;
-- DECL_OFFSET_ALIGN (field) = rli->offset_align;
-+ DECL_OFFSET_ALIGN (field) = MIN (rli->offset_align, BIGGEST_ALIGNMENT);
-
- /* If this field ended up more aligned than we thought it would be (we
- approximate this by seeing if its position changed), lay out the field
-@@ -842,7 +842,7 @@ place_field (rli, field)
- * (tree_low_cst (DECL_FIELD_OFFSET (field), 1)
- & - tree_low_cst (DECL_FIELD_OFFSET (field), 1)));
- else
-- actual_align = DECL_OFFSET_ALIGN (field);
-+ actual_align = rli->offset_align;
-
- if (known_align != actual_align)
- layout_decl (field, actual_align);
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-hwint.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-hwint.patch
deleted file mode 100644
index 0022437749de..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-hwint.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-2000-06-19 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/xm-sp64.h (HOST_WIDE_INT): Define if compiling
- with 32bit compiler for 64bit target.
- (HOST_BITS_PER_WIDE_INT): Likewise.
-
---- gcc/config/sparc/xm-sp64.h.jj Tue Dec 14 13:17:56 1999
-+++ gcc/config/sparc/xm-sp64.h Mon Jun 19 10:02:42 2000
-@@ -18,6 +18,11 @@ along with GNU CC; see the file COPYING.
- the Free Software Foundation, 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-+#if !defined(__arch64__) && !defined(__sparcv9)
-+#define HOST_BITS_PER_WIDE_INT 64
-+#define HOST_WIDE_INT long long
-+#endif
-+
- #include <sparc/xm-sparc.h>
-
- /* This describes the machine the compiler is hosted on. */
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-mi-thunk.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-mi-thunk.patch
deleted file mode 100644
index fe5be5892752..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-mi-thunk.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-2000-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
- adjust %o1, not %o0 if the return type is large structure.
-
---- gcc/config/sparc/sparc.h.jj Fri Nov 3 10:53:39 2000
-+++ gcc/config/sparc/sparc.h Mon Nov 6 10:45:05 2000
-@@ -3231,10 +3231,16 @@ do { \
- Used for C++ multiple inheritance. */
- #define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
- do { \
-+ int reg = 0; \
-+ \
-+ if (TARGET_ARCH64 \
-+ && aggregate_value_p (TREE_TYPE (TREE_TYPE (FUNCTION)))) \
-+ reg = 1; \
- if ((DELTA) >= 4096 || (DELTA) < -4096) \
-- fprintf (FILE, "\tset\t%d, %%g1\n\tadd\t%%o0, %%g1, %%o0\n", (DELTA));\
-+ fprintf (FILE, "\tset\t%d, %%g1\n\tadd\t%%o%d, %%g1, %%o%d\n", \
-+ (int)(DELTA), reg, reg); \
- else \
-- fprintf (FILE, "\tadd\t%%o0, %d, %%o0\n", DELTA); \
-+ fprintf (FILE, "\tadd\t%%o%d, %d, %%o%d\n", reg, (int)(DELTA), reg);\
- fprintf (FILE, "\tor\t%%o7, %%g0, %%g1\n"); \
- fprintf (FILE, "\tcall\t"); \
- assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-namedret.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-namedret.patch
deleted file mode 100644
index 3aef9deb663d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-namedret.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-2000-11-04 Jakub Jelinek <jakub@redhat.com>
-
- * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
- passed in multiple non-contiguous locations.
-
---- gcc/expr.c.jj Tue Oct 31 18:00:42 2000
-+++ gcc/expr.c Sat Nov 4 22:52:38 2000
-@@ -8387,7 +8387,8 @@ expand_expr (exp, target, tmode, modifie
- }
-
- else if (GET_CODE (op0) == REG || GET_CODE (op0) == SUBREG
-- || GET_CODE (op0) == CONCAT || GET_CODE (op0) == ADDRESSOF)
-+ || GET_CODE (op0) == CONCAT || GET_CODE (op0) == ADDRESSOF
-+ || GET_CODE (op0) == PARALLEL)
- {
- /* If this object is in a register, it must be not
- be BLKmode. */
-@@ -8395,7 +8396,14 @@ expand_expr (exp, target, tmode, modifie
- rtx memloc = assign_temp (inner_type, 1, 1, 1);
-
- mark_temp_addr_taken (memloc);
-- emit_move_insn (memloc, op0);
-+ if (GET_CODE (op0) == PARALLEL)
-+ /* Handle calls that pass values in multiple non-contiguous
-+ locations. The Irix 6 ABI has examples of this. */
-+ emit_group_store (memloc, op0,
-+ int_size_in_bytes (inner_type),
-+ TYPE_ALIGN (inner_type));
-+ else
-+ emit_move_insn (memloc, op0);
- op0 = memloc;
- }
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-nested-fn.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-nested-fn.patch
deleted file mode 100644
index 9b690a110207..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-nested-fn.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-2000-11-04 Jakub Jelinek <jakub@redhat.com>
-
- * function.c (expand_function_start): Cast GET_MODE_SIZE to
- HOST_WIDE_INT before negating it.
-
---- gcc/function.c.jj Mon Oct 23 15:24:47 2000
-+++ gcc/function.c Sat Nov 4 08:42:20 2000
-@@ -6200,7 +6200,8 @@ expand_function_start (subr, parms_have_
- /* Chain thru stack frames, assuming pointer to next lexical frame
- is found at the place we always store it. */
- #ifdef FRAME_GROWS_DOWNWARD
-- last_ptr = plus_constant (last_ptr, - GET_MODE_SIZE (Pmode));
-+ last_ptr = plus_constant (last_ptr,
-+ - (HOST_WIDE_INT) GET_MODE_SIZE (Pmode));
- #endif
- last_ptr = gen_rtx_MEM (Pmode, memory_address (Pmode, last_ptr));
- MEM_ALIAS_SET (last_ptr) = get_frame_alias_set ();
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload-test.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload-test.patch
deleted file mode 100644
index bfe5eb3b751a..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload-test.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-2000-11-02 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/20001101-1.c: New test.
- * gcc.dg/20001102-1.c: New test.
-
---- gcc/testsuite/gcc.dg/20001101-1.c.jj Wed Nov 1 16:40:31 2000
-+++ gcc/testsuite/gcc.dg/20001101-1.c Wed Nov 1 16:40:27 2000
-@@ -0,0 +1,38 @@
-+/* { dg-do run { target sparc*-*-* } } */
-+/* { dg-options "-O2 -mvis" } */
-+
-+int foo(double a, int b, int c, double *d, int h)
-+{
-+ int f, g;
-+ double e;
-+
-+l:
-+ f = (int) a;
-+ a -= (double) f;
-+ if (b == 1)
-+ {
-+ g = c;
-+ f += g;
-+ c -= g;
-+ }
-+ if (b == 2)
-+ {
-+ f++;
-+ h = c;
-+ }
-+ if (!h)
-+ {
-+ for (g = 0; g <= 10; g++)
-+ for (h = 0; h <= 10; h++)
-+ e += d [10 + g - h];
-+ goto l;
-+ }
-+ return f & 7;
-+}
-+
-+int main()
-+{
-+ if (foo(0.1, 1, 3, 0, 1) != 3)
-+ abort ();
-+ exit (0);
-+}
---- gcc/testsuite/gcc.dg/20001102-1.c.jj Thu Aug 24 05:00:32 2000
-+++ gcc/testsuite/gcc.dg/20001101-2.c Thu Nov 2 06:16:37 2000
-@@ -0,0 +1,39 @@
-+/* { dg-do run { target sparc*-*-* } } */
-+/* { dg-options "-O2 -mvis" } */
-+
-+int foo(double a, int b, int c, double *d, int h)
-+{
-+ int f, g;
-+ double e;
-+
-+l:
-+ f = (int) a;
-+ a -= (double) f;
-+ if (b == 1)
-+ {
-+ g = c;
-+ f += g;
-+ c -= g;
-+ }
-+ if (b == 2)
-+ {
-+ f++;
-+ h = c;
-+ goto l;
-+ }
-+
-+ asm volatile ("" : : :
-+ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
-+ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
-+ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
-+ "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31");
-+
-+ return f & 7;
-+}
-+
-+int main()
-+{
-+ if (foo(0.1, 1, 3, 0, 1) != 3)
-+ abort ();
-+ exit (0);
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload.patch
deleted file mode 100644
index f18019a856fb..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-2000-01-27 Jakub Jelinek <jakub@redhat.com>
-
- * reload1.c (emit_input_reload_insns): Honour forcing of constants
- into memory by PREFERRED_RELOAD_CLASS NO_REGS.
-
---- gcc/reload1.c.jj Tue Jan 18 22:33:00 2000
-+++ gcc/reload1.c Thu Jan 27 19:26:44 2000
-@@ -6326,7 +6326,10 @@ emit_input_reload_insns (chain, rl, old,
- && ((reg_equiv_memory_loc
- [REGNO (SUBREG_REG (oldequiv))] != 0)
- || (reg_equiv_constant
-- [REGNO (SUBREG_REG (oldequiv))] != 0))))
-+ [REGNO (SUBREG_REG (oldequiv))] != 0)))
-+ || (CONSTANT_P (oldequiv)
-+ && PREFERRED_RELOAD_CLASS (oldequiv,
-+ REGNO_REG_CLASS (REGNO (reloadreg))) == NO_REGS))
- real_oldequiv = rl->in;
- gen_reload (reloadreg, real_oldequiv, rl->opnum,
- rl->when_needed);
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload2.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload2.patch
deleted file mode 100644
index 844946dd2372..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-reload2.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- gcc/reload.c.jj Tue Oct 31 18:00:45 2000
-+++ gcc/reload.c Thu Nov 2 13:51:26 2000
-@@ -979,12 +979,17 @@ push_reload (in, out, inloc, outloc, cla
- is handled differently in the following statement. */
- && (out == 0 || SUBREG_BYTE (in) == 0)
- && ((GET_MODE_SIZE (inmode) <= UNITS_PER_WORD
-- && (GET_MODE_SIZE (GET_MODE (SUBREG_REG (in)))
-- > UNITS_PER_WORD)
- && ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (in)))
-- / UNITS_PER_WORD)
-- != HARD_REGNO_NREGS (REGNO (SUBREG_REG (in)),
-- GET_MODE (SUBREG_REG (in)))))
-+ > UNITS_PER_WORD)
-+ && ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (in)))
-+ / UNITS_PER_WORD)
-+ != HARD_REGNO_NREGS (REGNO (SUBREG_REG (in)),
-+ GET_MODE (SUBREG_REG (in)))))
-+ || ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (in)))
-+ < GET_MODE_SIZE (inmode))
-+ && (CLASS_MAX_NREGS (class, inmode)
-+ != HARD_REGNO_NREGS (REGNO (SUBREG_REG (in)),
-+ inmode))))
- || ! HARD_REGNO_MODE_OK (SUBREG_REGNO (in), inmode)))
- #ifdef SECONDARY_INPUT_RELOAD_CLASS
- || (SECONDARY_INPUT_RELOAD_CLASS (class, inmode, in) != NO_REGS
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-startfile.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-startfile.patch
deleted file mode 100644
index 6dde5364ba30..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-startfile.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-2000-01-25 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c (simple_spec): New function.
- (main): Use it for MD_STARTFILE_PREFIX and MD_STARTFILE_PREFIX_1.
- * config/sparc/linux64.h (MD_STARTFILE_PREFIX,
- MD_STARTFILE_PREFIX_1): Define to /usr/lib64/:/lib64/ if compiling
- for 64bit target.
- (STARTFILE_SPEC, ENDFILE_SPEC, LINK_ARCH_SPEC): Simplify.
- (link_default, LINK_DEFAULT_SPEC): Remove.
- * config/sparc/sol2-sld-64.h (MD_STARTFILE_PREFIX): Define even
- for SPARC_BI_ARCH compiler.
-
---- gcc/config/sparc/linux64.h.jj Sun Jul 2 10:37:16 2000
-+++ gcc/config/sparc/linux64.h Mon Jul 31 20:58:10 2000
-@@ -32,7 +32,6 @@ Boston, MA 02111-1307, USA. */
- #include <sparc/sysv4.h>
-
- #undef MD_EXEC_PREFIX
--#undef MD_STARTFILE_PREFIX
-
- #if TARGET_CPU_DEFAULT == TARGET_CPU_v9 || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc
- /* A 64 bit v9 compiler with stack-bias,
-@@ -65,6 +64,29 @@ Boston, MA 02111-1307, USA. */
-
- #endif
-
-+/* Provide MD_STARTFILE_PREFIX{,_1}. Need to include /usr/lib64/:/lib64/
-+ if compiling for 64bit target. */
-+
-+#undef MD_STARTFILE_PREFIX
-+#undef MD_STARTFILE_PREFIX_1
-+
-+#ifdef SPARC_BI_ARCH
-+
-+#if DEFAULT_ARCH32_P
-+#define MD_STARTFILE_PREFIX "%{m64:/usr/lib64/}"
-+#define MD_STARTFILE_PREFIX_1 "%{m64:/lib64/}"
-+#else
-+#define MD_STARTFILE_PREFIX "%{!m32:/usr/lib64/}"
-+#define MD_STARTFILE_PREFIX_1 "%{!m32:/lib64/}"
-+#endif
-+
-+#else
-+
-+#define MD_STARTFILE_PREFIX "/usr/lib64/"
-+#define MD_STARTFILE_PREFIX_1 "/lib64/"
-+
-+#endif
-+
- /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
- the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
- provides part of the support for getting C++ file-scope static
-@@ -86,14 +108,12 @@ Boston, MA 02111-1307, USA. */
-
- #if DEFAULT_ARCH32_P
- #define STARTFILE_SPEC "\
--%{m32:" STARTFILE_SPEC32 "} \
--%{m64:" STARTFILE_SPEC64 "} \
--%{!m32:%{!m64:" STARTFILE_SPEC32 "}}"
-+%{!m64:" STARTFILE_SPEC32 "} \
-+%{m64:" STARTFILE_SPEC64 "}"
- #else
- #define STARTFILE_SPEC "\
- %{m32:" STARTFILE_SPEC32 "} \
--%{m64:" STARTFILE_SPEC64 "} \
--%{!m32:%{!m64:" STARTFILE_SPEC64 "}}"
-+%{!m32:" STARTFILE_SPEC64 "}"
- #endif
-
- #else
-@@ -120,14 +140,12 @@ Boston, MA 02111-1307, USA. */
-
- #if DEFAULT_ARCH32_P
- #define ENDFILE_SPEC "\
--%{m32:" ENDFILE_SPEC32 "} \
--%{m64:" ENDFILE_SPEC64 "} \
--%{!m32:%{!m64:" ENDFILE_SPEC32 "}}"
-+%{!m64:" ENDFILE_SPEC32 "} \
-+%{m64:" ENDFILE_SPEC64 "}"
- #else
- #define ENDFILE_SPEC "\
- %{m32:" ENDFILE_SPEC32 "} \
--%{m64:" ENDFILE_SPEC64 "} \
--%{!m32:%{!m64:" ENDFILE_SPEC64 "}}"
-+%{!m32:" ENDFILE_SPEC64 "}"
- #endif
-
- #else
-@@ -212,9 +230,8 @@ Boston, MA 02111-1307, USA. */
- #define SUBTARGET_EXTRA_SPECS \
- { "link_arch32", LINK_ARCH32_SPEC }, \
- { "link_arch64", LINK_ARCH64_SPEC }, \
-- { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
- { "link_arch", LINK_ARCH_SPEC },
--
-+
- #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
-@@ -233,14 +250,15 @@ Boston, MA 02111-1307, USA. */
- %{static:-static}}} \
- "
-
-+#if DEFAULT_ARCH32_P
-+#define LINK_ARCH_SPEC "\
-+%{!m64:%(link_arch32)} \
-+%{m64:%(link_arch64)}"
-+#else
- #define LINK_ARCH_SPEC "\
- %{m32:%(link_arch32)} \
--%{m64:%(link_arch64)} \
--%{!m32:%{!m64:%(link_arch_default)}} \
--"
--
--#define LINK_ARCH_DEFAULT_SPEC \
--(DEFAULT_ARCH32_P ? LINK_ARCH32_SPEC : LINK_ARCH64_SPEC)
-+%{!m32:%(link_arch64)}"
-+#endif
-
- #undef LINK_SPEC
- #define LINK_SPEC "\
---- gcc/config/sparc/sol2-sld-64.h.jj Mon Mar 6 19:40:59 2000
-+++ gcc/config/sparc/sol2-sld-64.h Mon Jul 31 20:58:10 2000
-@@ -266,10 +266,13 @@
- "
- #endif
-
-+#undef MD_STARTFILE_PREFIX
- #if DEFAULT_ARCH32_P
- #define MULTILIB_DEFAULTS { "m32" }
-+#define MD_STARTFILE_PREFIX "%{m64:/usr/lib/sparcv9/}"
- #else
- #define MULTILIB_DEFAULTS { "m64" }
-+#define MD_STARTFILE_PREFIX "%{!m32:/usr/lib/sparcv9/}"
- #endif
-
- #else /* !SPARC_BI_ARCH */
---- gcc/gcc.c.jj Mon Jul 31 20:02:11 2000
-+++ gcc/gcc.c Mon Jul 31 21:23:08 2000
-@@ -3712,6 +3712,36 @@ do_spec (spec)
- return value;
- }
-
-+/* Process the spec SPEC and return the processed spec as a string
-+ if successfull, NULL otherwise.
-+ The SPEC should use only a limited subset of %-sequences (switch
-+ presence testing) and should not use spaces, tabs, new-lines nor
-+ pipe characters. */
-+
-+char *
-+simple_spec (spec)
-+ const char *spec;
-+{
-+ int value;
-+
-+ clear_args ();
-+ arg_going = 0;
-+ delete_this_arg = 0;
-+ this_is_output_file = 0;
-+ this_is_library_file = 0;
-+ input_from_pipe = 0;
-+
-+ value = do_spec_1 (spec, 0, NULL_PTR);
-+
-+ if (value == 0)
-+ {
-+ obstack_1grow (&obstack, 0);
-+ return obstack_finish (&obstack);
-+ }
-+
-+ return NULL;
-+}
-+
- /* Process the sub-spec SPEC as a portion of a larger spec.
- This is like processing a whole spec except that we do
- not initialize at the beginning and we do not supply a
-@@ -5284,6 +5314,8 @@ main (argc, argv)
- /* If not cross-compiling, look for startfiles in the standard places. */
- if (*cross_compile == '0')
- {
-+ char *prefix;
-+
- #ifdef MD_EXEC_PREFIX
- add_prefix (&exec_prefixes, md_exec_prefix, "GCC",
- PREFIX_PRIORITY_LAST, 0, NULL_PTR);
-@@ -5292,13 +5324,23 @@ main (argc, argv)
- #endif
-
- #ifdef MD_STARTFILE_PREFIX
-- add_prefix (&startfile_prefixes, md_startfile_prefix, "GCC",
-- PREFIX_PRIORITY_LAST, 0, NULL_PTR);
-+ prefix = simple_spec(md_startfile_prefix);
-+ if (prefix != NULL)
-+ {
-+ if (*prefix != '\0')
-+ add_prefix (&startfile_prefixes, prefix, "GCC",
-+ PREFIX_PRIORITY_LAST, 0, NULL_PTR);
-+ }
- #endif
-
- #ifdef MD_STARTFILE_PREFIX_1
-- add_prefix (&startfile_prefixes, md_startfile_prefix_1, "GCC",
-- PREFIX_PRIORITY_LAST, 0, NULL_PTR);
-+ prefix = simple_spec(md_startfile_prefix_1);
-+ if (prefix != NULL)
-+ {
-+ if (*prefix != '\0')
-+ add_prefix (&startfile_prefixes, prefix, "GCC",
-+ PREFIX_PRIORITY_LAST, 0, NULL_PTR);
-+ }
- #endif
-
- /* If standard_startfile_prefix is relative, base it on
-@@ -5322,10 +5364,9 @@ main (argc, argv)
- concat (gcc_exec_prefix, machine_suffix,
- standard_startfile_prefix, NULL_PTR),
- NULL_PTR, PREFIX_PRIORITY_LAST, 0, NULL_PTR);
-- add_prefix (&startfile_prefixes,
-- concat (standard_exec_prefix,
-- machine_suffix,
-- standard_startfile_prefix, NULL_PTR),
-+ prefix = concat (standard_exec_prefix, machine_suffix,
-+ standard_startfile_prefix, NULL_PTR);
-+ add_prefix (&startfile_prefixes, prefix,
- NULL_PTR, PREFIX_PRIORITY_LAST, 0, NULL_PTR);
- }
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-subreg-byte.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-subreg-byte.patch
deleted file mode 100644
index a0bcbfbcda96..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-subreg-byte.patch
+++ /dev/null
@@ -1,5237 +0,0 @@
-2000-05-04 Jakub Jelinek <jakub@redhat.com>
-
- * emit-rtl.c (gen_lowpart_common): Return inner SUBREG
- if it is lowpart SUBREG, not when SUBREG_BYTE is 0.
-
- * flow.c (mark_set_1): Remove ALTER_HARD_SUBREG. Use
- SUBREG_REGNO_OFFSET instead.
- * config/d30v/d30v.c (d30v_split_double): Use SUBREG_REGNO_OFFSET
- instead of SUBREG_WORD.
- (d30v_print_operand_memory_reference): Likewise.
-
- * ssa.c (coalesce_regs_in_copies): Use ! subreg_lowpart_p instead of
- checking SUBREG_WORD != 0.
-
- * cse.c (remove_invalid_subreg_refs): Change offset argument type to
- unsigned int.
- * ssa.c (rename_insn_1): Use subreg_lowpart_p instead of checking
- SUBREG_WORD == 0.
- (rename_equivalent_regs_in_insn): Likewise.
- * rtl.h (SUBREG_BYTE): Change to XCUINT from XCINT.
- * emit-rtl.c (subreg_hard_regno): Make byte_offset, base_regno and
- final_regno unsigned.
- (subreg_lowpart_p): Likewise with offset.
- (operand_subword): Likewise for partwords.
-
- * config/sparc/sparc.md (cmp_siqi_trunc, cmp_siqi_trunc_set,
- cmp_diqi_trunc, cmp_diqi_trunc_set, lshrdi3_v8plus+1,
- lshrdi3_v8plus+2, lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
- SUBREG_BYTE offset for non-paradoxical subregs in patterns.
-
- * emit-rtl.c (gen_lowpart_SUBREG): New function.
- * rtl.h (gen_lowpart_SUBREG): Add prototype.
- * calls.c (precompute_arguments): Use it.
- * expr.c (store_expr, expand_expr): Likewise.
- * regmove.c (optimize_reg_copy_3): Likewise.
- * reload1.c (emit_reload_insns): Likewise.
- * stmt.c (expand_anon_union_decl): Likewise.
-
- * rtl.texi: Remove all traces of SUBREG_WORD.
- * reload.c (push_reload): Fix test for the new SUBREG_BYTE semantics.
- * config/sparc/sparc.md (zero_extendhidi2, extendqidi2, extendhidi2):
- Compute SUBREG_BYTE offset based on DImode, not SImode.
-
- * function.c (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P
- if they are actually promoted by the caller and
- PROMOTE_FOR_CALLS_ONLY is true. Otherwise combiner will not know
- that their bits are already guaranteed to be zero or sign copies.
-
- * emit-rtl.c (constant_subword): Don't abort if
- float bitsize is larger than 64 bits on 64bit host.
-
- * config/sparc/sparc.h (REG_SIZE): For SUBREG check float mode on
- SUBREG_REG's mode.
- * combine.c (simplify_rtx): For two nested SUBREGs if the mode of
- the inner SUBREG is larger than both other modes we cannot simply
- add both SUBREG_BYTEs on big endian.
- (make_extraction): If BYTES_BIG_ENDIAN take the last few bytes
- of the register, not first.
- * calls.c (expand_call): For non-paradoxical SUBREG take endianess
- into account.
-
- * config/alpha/alpha.c (print_operand_address): Fix typo.
- * config/mips/mips.c (mips_move_1word, mips_move_2words,
- mips_secondary_reload_class): SUBREG_REGNO_OFFSET macro
- requires four arguments.
- * config/pyr/pyr.c (consecutive_operands): Likewise.
- * config/sh/sh.c (regs_used, machine_dependent_reorg): Likewise.
-
- * java/javaop.h: Default int32 to int, not long. Fix comment.
- * emit-rtl.c (subreg_hard_regno): Till we remove the extensive
- checks in subreg_hard_regno, propagate info on whether
- HARD_REGNO_MODE_OK is allowed to fail.
- * combine.c (simplify_rtx): Don't abort if SUBREG has
- incompatible modes outside and inside.
- * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
- to pass new argument.
- * final.c (alter_subreg): Likewise.
- * local-alloc.c (reg_is_born): Likewise.
- * rtl.h (subreg_hard_regno): Update prototype.
-
- * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE
- instead of SUBREG_WORD.
- * config/ns32k/ns32k.md (udivmoddihi4): Fix explicit subregs in
- rtl to use byte offsets.
- * config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE, not
- SUBREG_WORD.
- * config/sparc/sparc.h (REG_SIZE): Handle SUBREG arguments.
- * emit-rtl.c (subreg_realpart_p): Changed to use SUBREG_BYTE.
- * integrate.c (copy_rtx_and_substitute): Use byte SUBREG offsets
- in CONCAT handling.
- * reload.c (find_reloads_subreg_address): Use SUBREG_BYTE. Remove
- byte endian corrections when fixing up MEM subregs.
- * resource.c (update_live_status): Use SUBREG_REGNO.
-
-1998-10-03 David S. Miller <davem@pierdol.cobaltmicro.com>
-
- Use byte offsets in SUBREGs instead of words.
- * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
- (SUBREG_REGNO_OFFSET, SUBREG_REGNO): New macros.
- (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): New
- functions.
- * gengenrtl.c (special_rtx): Add SUBREG.
- * regs.h (REG_SIZE): Allow target to override.
- (REGMODE_NATURAL_SIZE): New macro which target can override.
- * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
- * rtl.texi (subreg): Update to reflect new byte offset
- representation. Add mentioning of the effect that
- BYTES_BIG_ENDIAN has on subregs now.
- * final.c (alter_subreg) [REG]: Remove ALTER_HARD_SUBREG
- commentary and usage. Use subreg_hard_regno instead.
- [MEM]: Remove endianness corrections and use SUBREG_BYTE.
- Check for bogus SUBREG_BYTE values.
- * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
- certain invariants about SUBREGs the compiler creates.
- (subreg_hard_regno): New function.
- (gen_lowpart_common): Adjust offset for BYTES_BIG_ENDIAN too.
- [SUBREG]: When combining two subregs, make sure final offset is a
- multiple of the SUBREG's mode.
- [REG]: Remove sparc64 hard regno wordaround. Simplify rest of the
- code and use SUBREG_REGNO_OFFSET.
- [CONST_INT, CONST_DOUBLE]: Call constant_subword.
- (subreg_realpart_p): Use SUBREG_BYTE.
- (gen_lowpart): Pretty.
- (gen_highpart) [MEM]: Pretty.
- [SUBREG]: Use SUBREG_BYTE.
- [REG]: Remove sparc64 hard regno hacks. Adjust offset for
- BYTES_BIG_ENDIAN too. Use SUBREG_REGNO_OFFSET for hard regs.
- (subreg_lowpart_p): Always compute endian corrected goal offset,
- even at the byte level, then compare against that.
- (constant_subword): New function, pulled out all constant cases
- from operand_subword and changed second argument name to offset.
- (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
- and call constant_subword to do the work.
- [REG]: Use SUBREG_REGNO_OFFSET for hard regnos.
- [SUBREG]: When combining two subregs, make sure final offset is a
- multiple of the SUBREG's mode.
- (operand_subword_force): Change second arg name to offset. Abort
- early if reload is done and this is called.
- * cse.c (mention_regs): Use SUBREG_BYTE.
- (remove_invalid_subreg_refs): Second arg now named offset and is a
- byte offset as per SUBREG_BYTE. Rework to use byte ranges and
- comparison checks.
- (canon_hash): Use SUBREG_BYTE.
- (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to
- operand_subword.
- (gen_lowpart_if_possible): Pretty.
- (cse_insn): Fix conditional formatting.
- * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
- correctly.
- * expmed.c (store_big_field): Use SUBREG_BYTE.
- (extract_bit_field): Likewise.
- (extract_split_bit_field): Likewise.
- (expand_shift): Likewise.
- * flow.c (life_analysis_1): Likewise.
- * global.c (mark_reg_store): Remove word local and commented out
- code which used it.
- (mark_reg_clobber): Likewise.
- (set_preference): Rework to use SUBREG_REGNO_OFFSET,
- REGMODE_NATURAL_SIZE and SUBREG_BYTE where appropriate.
- * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
- (simplify_rtx): Do not fixup byte endianness of subregs, the
- SUBREG_BYTE contains the correct offset. When substituting two
- subregs into each other still compare against word equality for
- the fast case, but otherwise make the final offset congruent to
- the mode of the subreg. Also use subreg_hard_regno to compute the
- hard regno of a subreg. Rework the rest to use SUBREG_BYTE. This
- function is too large.
- (simplify_set): Rework to use SUBREG_BYTE, also fixup another
- explicit XEXP into a SUBREG_REG.
- (expand_field_assignment): Use SUBREG_BYTE.
- (make_extraction): Likewise.
- (apply_distributive_law): Likewise and fixup subreg comments.
- (gen_lowpart_for_combine): Compute full byte offset.
- * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
- (mem_loc_descriptor): Likewise.
- (loc_descriptor): Likewise.
- * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
- (output_mem_loc_descriptor): Likewise.
- (output_loc_descriptor): Likewise. This and the previous file
- have a lot of common duplicated code.
- * caller-save.c (set_reg_live): Use subreg_hard_regno and tweak.
- * jump.c (rtx_renumbered_equal_p): Use new subreg byte offsets,
- and SUBREG_REGNO_OFFSET where appropriate. Also fix bug where
- reg_y was not subreg correctified for the subreg case.
- (true_regnum): Use SUBREG_REGNO_OFFSET.
- * function.c (fixup_var_refs_1): Fixup explicit XEXP into
- a SUBREG_REG.
- (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
- correction code.
- (optimize_bit_field): Use SUBREG_BYTE.
- * haifa-sched.c (print_value): Likewise.
- * integrate.c (copy_rtx_and_substitute): Likewise and make sure
- final byte offset is congruent to subreg's mode size.
- (subst_constants): Use SUBREG_BYTE.
- (mark_stores): Use SUBREG_REGNO_OFFSET for hard regs.
- * local-alloc.c (combine_regs): Rework to use SUBREG_REGNO_OFFSET,
- SUBREG_BYTE and REGMODE_NATURAL_SIZE.
- (reg_is_born): Use subreg_hard_regno.
- * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
- endian correction code.
- (indirect_operand): Likewise.
- (general_operand): Remove dead mode_altering_drug code.
- (constrain_operands): Use SUBREG_REGNO_OFFSET.
- * reg-stack.c (mark_regs_pat): Use SUBREG_REGNO. Abort if we see
- a pseudo reg here.
- (get_true_reg): Use SUBREG_REGNO_OFFSET.
- * regmove.c (regmove_optimize): Use SUBREG_BYTE.
- * reload.c (push_reload): Use SUBREG_BYTE in comments and code.
- Also use SUBREG_REGNO_OFFSET and SUBREG_REGNO where appropriate.
- (find_dummy_reload): Use SUBREG_REGNO_OFFSET. Only adjust offsets
- for hard registers inside subregs.
- (operands_match_p): Likewise.
- (find_reloads): Only advance offset for subregs containing hard
- regs. Remove "can work with subregging" final condition when
- setting force_reload, it no longer makes sense with byte
- offsettable subregs. Fix another XEXP into a SUBREG_REG.
- (find_reload_toplev): Use SUBREG_BYTE. Remove byte endian
- corrections when fixing up MEM subregs.
- (find_reloads_addres_1): Use SUBREG_BYTE, SUBREG_REGNO, and
- SUBREG_REGNO_OFFSET where appropriate.
- (subst_reloads): When combining two subregs, make sure final
- offset is congruent to subreg's mode size.
- (find_replacement): Likewise, also use SUBREG_BYTE and
- SUBREG_REGNO_OFFSET where appropriate.
- (refers_to_regno_for_reload_p): Use SUBREG_REGNO.
- (reg_overlap_mentioned_for_reload_p): Use SUBREG_REGNO_OFFSET.
- * reload1.c (eliminate_regs) [SUBREG]: Use SUBREG_BYTE, fixup
- another explicit XEXP into a SUBREG_REG. Remove byte endian
- correction code for memory subreg fixups.
- (forget_old_reload_1): Use SUBREG_REGNO_OFFSET.
- (choose_reload_regs): Use SUBREG_REGNO.
- (emit_reload_insns): Use SUBREG_BYTE.
- (reload_combine_note_store): Use SUBREG_REGNO_OFFSET.
- (move2add_note_store): Use SUBREG_REGNO_OFFSET.
- * reorg.c (mark_referenced_resources): Use SUBREG_REGNO.
- * rtlanal.c (refers_to_regno_p): Use SUBREG_REGNO.
- (reg_overlap_mentioned_p): Likewise.
- (replace_regs); Make sure final offset of combined subreg is
- congruent to size of subreg's mode.
- * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
-
- Target changes for new subregging representation.
- * config/a29k/a29k.c (gpc_reg_operand): Use SUBREG_REGNO.
- (a29k_get_reloaded_address): Use SUBREG_BYTE.
- (print_operand): Use SUBREG_BYTE.
- * config/alpha/alpha.c (get_aligned_mem): Use SUBREG_BYTE and
- remove byte endianness corrections.
- (get_unaligned_address): Likewise.
- * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
- SUBREG creation to use byte offset.
- * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
- inverted load insns): Fix explicit rtl subregs to use byte
- offsets.
- * config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
- udivsi3, umodsi3): Generate SUBREGs with byte offsets.
- * config/i386/i386.md (HImode zero extend split): Use
- SUBREG_BYTE.
- * config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
- * config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
- to use byte offsets.
- (unnamed fmlow.dd insn): Likewise.
- * config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
- offsets, also make sure it is congruent to SUBREG's mode size.
- (extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
- unnamed ldob insn): Likewise.
- * config/m32r/m32r.md (extendqihi2, extendqisi2, extendhisi2):
- Likewise.
- * config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
- zero-extendqisi2): Likewise.
- (umulsidi3, mulsidi3, subreghi1ashrdi_const32,
- subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
- surbegs in rtl to use byte offsets.
- * config/m88k/m88k.md (extendsidi2): Likewise.
- * config/mips/mips.c (mips_move_1word): Use SUBREG_REGNO_OFFSET.
- (mips_move_2words, mips_secondary_reload_class): Likewise.
- * config/mips/mips.md (DImode plus, minus, move, and logical op
- splits): Fixup explicit subregs in rtl to use byte offsets.
- * config/mn10200/mn10200.c (print_operand) [SUBREG]: Use
- SUBREG_REGNO and fix a reg_names indice bug.
- * config/mn10300/mn10300.c (print_operand) [SUBREG]: Likewise.
- * config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
- rtl to use byte offsets.
- * config/pa/pa.md (floatunssisf2, floatunssidf2): Likewise.
- (mulsi3): Make subregs with byte offsets.
- * config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
- Fixup explicit subregs in rtl to use byte offsets.
- * config/pyr/pyr.c (subreg_overlap_mentioned_p): Use SUBREG_REGNO.
- (consecutive_operands): Use SUBREG_REGNO_OFFSET.
- * config/pyr/pyr.md (extendsidi2): Fixup explicit subregs in rtl
- to use byte offsets.
- * config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
- and remove byte endian correction code.
- * config/rs6000/rs6000.md (DImode const splits): Generate SUBREGs
- with byte offsets.
- * config/sh/sh.c (output_movedouble): Use SUBREG_REGNO.
- (gen_ashift_hi): Use SUBREG_BYTE.
- (regs_used): Use SUBREG_REGNO_OFFSET.
- (machine_dependent_reorg): Likewise.
- * config/sh/sh.md (DImode and DFmode move splits): Use
- SUBREG_REGNO.
- * config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
- with byte offsets.
- (zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
- extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
- extendqidi2): Generate SUBREGs with byte offsets, also make sure
- it is congruent to SUBREG's mode size.
- (smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
- offsets.
- * config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
- * config/sparc/sparc.h (ALTER_HARD_SUBREG): Die forever...
- (REG_SIZE, REGMODE_NATURAL_SIZE): Override.
- * config/spur/spur.md (movqi, zero_extendhisi2, extendhisi2,
- extendqihi2, extendqisi2): Generate SUBREGs with byte offsets.
- * config/v850/v850.c (print_operand): Use SUBREG_REGNO.
- (v850_reorg): Use SUBREG_REGNO_OFFSET.
-
---- gcc/config/a29k/a29k.c.jj Mon Mar 6 18:37:47 2000
-+++ gcc/config/a29k/a29k.c Mon Jul 31 20:46:24 2000
-@@ -263,9 +263,10 @@ gpc_reg_operand (op, mode)
- regno = REGNO (op);
- else if (GET_CODE (op) == SUBREG && GET_CODE (SUBREG_REG (op)) == REG)
- {
-- regno = REGNO (SUBREG_REG (op));
- if (regno < FIRST_PSEUDO_REGISTER)
-- regno += SUBREG_WORD (op);
-+ regno = SUBREG_REGNO (op);
-+ else
-+ regno = REGNO (SUBREG_REG (op));
- }
- else
- return 0;
-@@ -468,7 +469,7 @@ a29k_get_reloaded_address (op)
- {
- if (GET_CODE (op) == SUBREG)
- {
-- if (SUBREG_WORD (op) != 0)
-+ if (SUBREG_BYTE (op) != 0)
- abort ();
-
- op = SUBREG_REG (op);
-@@ -1185,7 +1186,9 @@ print_operand (file, x, code)
- if (GET_MODE (SUBREG_REG (XEXP (x, 0))) == SFmode)
- fprintf (file, "$float");
- else
-- fprintf (file, "$double%d", SUBREG_WORD (XEXP (x, 0)));
-+ fprintf (file, "$double%d",
-+ (SUBREG_BYTE (XEXP (x, 0)) /
-+ GET_MODE_SIZE (GET_MODE (x))));
- bcopy ((char *) &CONST_DOUBLE_LOW (SUBREG_REG (XEXP (x, 0))),
- (char *) &u, sizeof u);
- fprintf (file, "(%.20e)", u.d);
---- gcc/config/alpha/alpha.c.jj Sun Jul 2 10:37:08 2000
-+++ gcc/config/alpha/alpha.c Mon Jul 31 20:46:24 2000
-@@ -3726,7 +3726,8 @@ print_operand_address (file, addr)
- basereg = REGNO (addr);
- else if (GET_CODE (addr) == SUBREG
- && GET_CODE (SUBREG_REG (addr)) == REG)
-- basereg = REGNO (SUBREG_REG (addr)) + SUBREG_WORD (addr);
-+ basereg = REGNO (SUBREG_REG (addr))
-+ + SUBREG_BYTE (addr) / GET_MODE_SIZE (GET_MODE (addr));
- else if (GET_CODE (addr) == CONST_INT)
- offset = INTVAL (addr);
- else
---- gcc/config/arm/arm.c.jj Mon Jul 31 20:02:14 2000
-+++ gcc/config/arm/arm.c Mon Jul 31 20:46:24 2000
-@@ -4286,11 +4286,7 @@ arm_reload_in_hi (operands)
-
- if (GET_CODE (ref) == SUBREG)
- {
-- offset = SUBREG_WORD (ref) * UNITS_PER_WORD;
-- if (BYTES_BIG_ENDIAN)
-- offset -= (MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (ref)))
-- - MIN (UNITS_PER_WORD,
-- GET_MODE_SIZE (GET_MODE (SUBREG_REG (ref)))));
-+ offset = SUBREG_BYTE (ref);
- ref = SUBREG_REG (ref);
- }
-
-@@ -4403,11 +4399,7 @@ arm_reload_out_hi (operands)
-
- if (GET_CODE (ref) == SUBREG)
- {
-- offset = SUBREG_WORD (ref) * UNITS_PER_WORD;
-- if (BYTES_BIG_ENDIAN)
-- offset -= (MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (ref)))
-- - MIN (UNITS_PER_WORD,
-- GET_MODE_SIZE (GET_MODE (SUBREG_REG (ref)))));
-+ offset = SUBREG_BYTE (ref);
- ref = SUBREG_REG (ref);
- }
-
---- gcc/config/dsp16xx/dsp16xx.md.jj Tue Jan 18 22:33:04 2000
-+++ gcc/config/dsp16xx/dsp16xx.md Mon Jul 31 20:46:24 2000
-@@ -1267,7 +1267,7 @@
- "
- {
- operands[2] = gen_reg_rtx (HImode);
-- operands[3] = gen_rtx_SUBREG (QImode, operands[2], 1);
-+ operands[3] = gen_rtx_SUBREG (QImode, operands[2], GET_MODE_SIZE (QImode));
- }")
-
- ;;(define_insn "extendqihi2"
-@@ -1317,7 +1317,7 @@
- "
- {
- operands[2] = gen_reg_rtx (HImode);
-- operands[3] = gen_rtx_SUBREG (QImode, operands[2], 1);
-+ operands[3] = gen_rtx_SUBREG (QImode, operands[2], GET_MODE_SIZE (QImode));
- }")
-
-
---- gcc/config/h8300/h8300.md.jj Mon Jul 31 20:02:14 2000
-+++ gcc/config/h8300/h8300.md Mon Jul 31 20:46:24 2000
-@@ -1921,7 +1921,7 @@
- (subreg:HI (zero_extract:SI
- (match_operand:HI 1 "register_operand" "r")
- (const_int 1)
-- (match_operand:HI 2 "immediate_operand" "n")) 1))]
-+ (match_operand:HI 2 "immediate_operand" "n")) 2))]
- ""
- "sub.w %0,%0\;bld %Z2,%Y1\;bst #0,%X0"
- [(set_attr "cc" "clobber")
-@@ -1962,7 +1962,7 @@
- (subreg:HI
- (lshiftrt:SI
- (match_operand:SI 1 "register_operand" "Ur")
-- (match_operand:SI 2 "const_int_operand" "n")) 1))
-+ (match_operand:SI 2 "const_int_operand" "n")) 2))
- (const_int 1)))]
- "INTVAL (operands[2]) < 16"
- "sub.w %0,%0\;bild %Z2,%Y1\;bst #0,%X0"
---- gcc/config/i370/i370.md.jj Thu Jul 27 19:46:46 2000
-+++ gcc/config/i370/i370.md Mon Jul 31 20:48:31 2000
-@@ -537,12 +537,12 @@ check_label_emit ();
- 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, 1), len);
-+ 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, 1), len);
-+ emit_move_insn (gen_rtx_SUBREG (SImode, reg2, GET_MODE_SIZE (SImode)), len);
-
- /* Compare! */
- emit_insn (gen_cmpstrsi_1 (result, reg1, reg2));
-@@ -1409,11 +1409,11 @@ check_label_emit ();
- 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, 1), len);
-+ 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, 1), zippo);
-+ emit_move_insn (gen_rtx_SUBREG (SImode, reg2, GET_MODE_SIZE (SImode)), zippo);
-
- /* Copy! */
- emit_insn (gen_movstrsi_1 (reg1, reg2));
-@@ -1476,12 +1476,12 @@ check_label_emit ();
- 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, 1), len);
-+ 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, 1), len);
-+ emit_move_insn (gen_rtx_SUBREG (SImode, reg2, GET_MODE_SIZE (SImode)), len);
-
- /* Copy! */
- emit_insn (gen_movstrsi_1 (reg1, reg2));
-@@ -2425,11 +2425,12 @@ check_label_emit ();
- * Dunno how to untwist it elegantly; but it seems to work for now.
- */
- emit_insn (gen_rtx_SET (VOIDmode,
-- gen_rtx_SUBREG (SImode, r, 1), operands[1]));
-+ 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])));
- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
-- gen_rtx_SUBREG (SImode, r, 1)));
-+ gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode))));
- }
- DONE;
- }")
-@@ -2534,7 +2535,7 @@ check_label_emit ();
- 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, 1)));
-+ gen_rtx_SUBREG (SImode, r, GET_MODE_SIZE (SImode))));
- DONE;
- }")
-
-@@ -2552,7 +2553,7 @@ check_label_emit ();
- {
- rtx dr = gen_reg_rtx (DImode);
- rtx dr_0 = gen_rtx_SUBREG (SImode, dr, 0);
-- rtx dr_1 = gen_rtx_SUBREG (SImode, dr, 1);
-+ rtx dr_1 = gen_rtx_SUBREG (SImode, dr, GET_MODE_SIZE (SImode));
-
-
- if (GET_CODE (operands[2]) == CONST_INT)
-@@ -2714,7 +2715,7 @@ check_label_emit ();
- {
- rtx dr = gen_reg_rtx (DImode);
- rtx dr_0 = gen_rtx_SUBREG (SImode, dr, 0);
-- rtx dr_1 = gen_rtx_SUBREG (SImode, dr, 1);
-+ rtx dr_1 = gen_rtx_SUBREG (SImode, dr, GET_MODE_SIZE (SImode));
-
- emit_insn (gen_rtx_SET (VOIDmode, dr_0, operands[1]));
-
---- gcc/config/i860/i860.c.jj Mon Mar 6 18:37:50 2000
-+++ gcc/config/i860/i860.c Mon Jul 31 20:46:24 2000
-@@ -341,7 +341,7 @@ single_insn_src_p (op, mode)
- return 1;
-
- case SUBREG:
-- if (SUBREG_WORD (op) != 0)
-+ if (SUBREG_BYTE (op) != 0)
- return 0;
- return single_insn_src_p (SUBREG_REG (op), mode);
-
---- gcc/config/i860/i860.md.jj Mon Jul 24 11:04:20 2000
-+++ gcc/config/i860/i860.md Mon Jul 31 20:46:24 2000
-@@ -1730,12 +1730,12 @@
- }")
-
- (define_expand "mulsi3_big"
-- [(set (subreg:SI (match_dup 4) 1) (match_operand:SI 1 "general_operand" ""))
-- (set (subreg:SI (match_dup 5) 1) (match_operand:SI 2 "general_operand" ""))
-+ [(set (subreg:SI (match_dup 4) 4) (match_operand:SI 1 "general_operand" ""))
-+ (set (subreg:SI (match_dup 5) 4) (match_operand:SI 2 "general_operand" ""))
- (clobber (match_dup 3))
-- (set (subreg:SI (match_dup 3) 1)
-- (mult:SI (subreg:SI (match_dup 4) 1) (subreg:SI (match_dup 5) 1)))
-- (set (match_operand:SI 0 "register_operand" "") (subreg:SI (match_dup 3) 1))]
-+ (set (subreg:SI (match_dup 3) 4)
-+ (mult:SI (subreg:SI (match_dup 4) 4) (subreg:SI (match_dup 5) 4)))
-+ (set (match_operand:SI 0 "register_operand" "") (subreg:SI (match_dup 3) 4))]
- "WORDS_BIG_ENDIAN"
- "
- {
-@@ -1752,9 +1752,9 @@
- "fmlow.dd %2,%1,%0")
-
- (define_insn ""
-- [(set (subreg:SI (match_operand:DI 0 "register_operand" "=f") 1)
-- (mult:SI (subreg:SI (match_operand:DI 1 "register_operand" "f") 1)
-- (subreg:SI (match_operand:DI 2 "register_operand" "f") 1)))]
-+ [(set (subreg:SI (match_operand:DI 0 "register_operand" "=f") 4)
-+ (mult:SI (subreg:SI (match_operand:DI 1 "register_operand" "f") 4)
-+ (subreg:SI (match_operand:DI 2 "register_operand" "f") 4)))]
- "WORDS_BIG_ENDIAN"
- "fmlow.dd %2,%1,%0")
-
---- gcc/config/i960/i960.md.jj Fri Jun 2 01:09:20 2000
-+++ gcc/config/i960/i960.md Mon Jul 31 20:46:24 2000
-@@ -1211,15 +1211,17 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_16 = GEN_INT (16);
-- int op1_subreg_word = 0;
-+ int op1_subreg_byte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subreg_word = SUBREG_WORD (operand1);
-+ op1_subreg_byte = SUBREG_BYTE (operand1);
-+ op1_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op1_subreg_byte *= GET_MODE_SIZE (SImode);
- operand1 = SUBREG_REG (operand1);
- }
- if (GET_MODE (operand1) != SImode)
-- operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_word);
-+ operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_byte);
-
- emit_insn (gen_ashlsi3 (temp, operand1, shift_16));
- emit_insn (gen_ashrsi3 (operand0, temp, shift_16));
-@@ -1246,15 +1248,17 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_24 = GEN_INT (24);
-- int op1_subreg_word = 0;
-+ int op1_subreg_byte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subreg_word = SUBREG_WORD (operand1);
-+ op1_subreg_byte = SUBREG_BYTE (operand1);
-+ op1_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op1_subreg_byte *= GET_MODE_SIZE (SImode);
- operand1 = SUBREG_REG (operand1);
- }
- if (GET_MODE (operand1) != SImode)
-- operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_word);
-+ operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_byte);
-
- emit_insn (gen_ashlsi3 (temp, operand1, shift_24));
- emit_insn (gen_ashrsi3 (operand0, temp, shift_24));
-@@ -1282,24 +1286,28 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_24 = GEN_INT (24);
-- int op0_subreg_word = 0;
-- int op1_subreg_word = 0;
-+ int op0_subreg_byte = 0;
-+ int op1_subreg_byte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subreg_word = SUBREG_WORD (operand1);
-+ op1_subreg_byte = SUBREG_BYTE (operand1);
-+ op1_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op1_subreg_byte *= GET_MODE_SIZE (SImode);
- operand1 = SUBREG_REG (operand1);
- }
- if (GET_MODE (operand1) != SImode)
-- operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_word);
-+ operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_byte);
-
- if (GET_CODE (operand0) == SUBREG)
- {
-- op0_subreg_word = SUBREG_WORD (operand0);
-+ op0_subreg_byte = SUBREG_BYTE (operand0);
-+ op0_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op0_subreg_byte *= GET_MODE_SIZE (SImode);
- operand0 = SUBREG_REG (operand0);
- }
- if (GET_MODE (operand0) != SImode)
-- operand0 = gen_rtx_SUBREG (SImode, operand0, op0_subreg_word);
-+ operand0 = gen_rtx_SUBREG (SImode, operand0, op0_subreg_byte);
-
- emit_insn (gen_ashlsi3 (temp, operand1, shift_24));
- emit_insn (gen_ashrsi3 (operand0, temp, shift_24));
-@@ -1327,15 +1335,17 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_16 = GEN_INT (16);
-- int op1_subreg_word = 0;
-+ int op1_subreg_byte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subreg_word = SUBREG_WORD (operand1);
-+ op1_subreg_byte = SUBREG_BYTE (operand1);
-+ op1_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op1_subreg_byte *= GET_MODE_SIZE (SImode);
- operand1 = SUBREG_REG (operand1);
- }
- if (GET_MODE (operand1) != SImode)
-- operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_word);
-+ operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_byte);
-
- emit_insn (gen_ashlsi3 (temp, operand1, shift_16));
- emit_insn (gen_lshrsi3 (operand0, temp, shift_16));
-@@ -1367,15 +1377,17 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_24 = GEN_INT (24);
-- int op1_subreg_word = 0;
-+ int op1_subreg_byte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subreg_word = SUBREG_WORD (operand1);
-- operand1 = SUBREG_REG (operand1);
-+ op1_subreg_byte = SUBREG_BYTE (operand1);
-+ op1_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op1_subreg_byte *= GET_MODE_SIZE (SImode);
-+ operand1 = SUBREG_REG (operand1);
- }
- if (GET_MODE (operand1) != SImode)
-- operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_word);
-+ operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_byte);
-
- emit_insn (gen_ashlsi3 (temp, operand1, shift_24));
- emit_insn (gen_lshrsi3 (operand0, temp, shift_24));
-@@ -1403,24 +1415,28 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_24 = GEN_INT (24);
-- int op0_subreg_word = 0;
-- int op1_subreg_word = 0;
-+ int op0_subreg_byte = 0;
-+ int op1_subreg_byte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subreg_word = SUBREG_WORD (operand1);
-+ op1_subreg_byte = SUBREG_WORD (operand1);
-+ op1_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op1_subreg_byte *= GET_MODE_SIZE (SImode);
- operand1 = SUBREG_REG (operand1);
- }
- if (GET_MODE (operand1) != SImode)
-- operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_word);
-+ operand1 = gen_rtx (SUBREG, SImode, operand1, op1_subreg_byte);
-
- if (GET_CODE (operand0) == SUBREG)
- {
-- op0_subreg_word = SUBREG_WORD (operand0);
-+ op0_subreg_byte = SUBREG_WORD (operand0);
-+ op0_subreg_byte /= GET_MODE_SIZE (SImode);
-+ op0_subreg_byte *= GET_MODE_SIZE (SImode);
- operand0 = SUBREG_REG (operand0);
- }
- if (GET_MODE (operand0) != SImode)
-- operand0 = gen_rtx_SUBREG (SImode, operand0, op0_subreg_word);
-+ operand0 = gen_rtx_SUBREG (SImode, operand0, op0_subreg_byte);
-
- emit_insn (gen_ashlsi3 (temp, operand1, shift_24));
- emit_insn (gen_lshrsi3 (operand0, temp, shift_24));
---- gcc/config/m68k/m68k.md.jj Wed Jun 7 08:41:10 2000
-+++ gcc/config/m68k/m68k.md Mon Jul 31 20:46:24 2000
-@@ -1554,7 +1554,7 @@
- operands[1] = make_safe_from (operands[1], operands[0]);
- if (GET_CODE (operands[0]) == SUBREG)
- operands[2] = gen_rtx_SUBREG (HImode, SUBREG_REG (operands[0]),
-- SUBREG_WORD (operands[0]));
-+ SUBREG_BYTE (operands[0]));
- else
- operands[2] = gen_rtx_SUBREG (HImode, operands[0], 0);
- }")
-@@ -1570,7 +1570,7 @@
- operands[1] = make_safe_from (operands[1], operands[0]);
- if (GET_CODE (operands[0]) == SUBREG)
- operands[2] = gen_rtx_SUBREG (QImode, SUBREG_REG (operands[0]),
-- SUBREG_WORD (operands[0]));
-+ SUBREG_BYTE (operands[0]));
- else
- operands[2] = gen_rtx_SUBREG (QImode, operands[0], 0);
- }")
-@@ -1586,7 +1586,7 @@
- operands[1] = make_safe_from (operands[1], operands[0]);
- if (GET_CODE (operands[0]) == SUBREG)
- operands[2] = gen_rtx_SUBREG (QImode, SUBREG_REG (operands[0]),
-- SUBREG_WORD (operands[0]));
-+ SUBREG_BYTE (operands[0]));
- else
- operands[2] = gen_rtx_SUBREG (QImode, operands[0], 0);
- }")
-@@ -3096,7 +3096,7 @@
- ;; the high-numbered word of the DImode operand[0] and operand[1].
- (define_expand "umulsidi3"
- [(parallel
-- [(set (subreg:SI (match_operand:DI 0 "register_operand" "") 1)
-+ [(set (subreg:SI (match_operand:DI 0 "register_operand" "") 4)
- (mult:SI (match_operand:SI 1 "register_operand" "")
- (match_operand:SI 2 "nonimmediate_operand" "")))
- (set (subreg:SI (match_dup 0) 0)
-@@ -3135,7 +3135,7 @@
-
- (define_expand "mulsidi3"
- [(parallel
-- [(set (subreg:SI (match_operand:DI 0 "register_operand" "") 1)
-+ [(set (subreg:SI (match_operand:DI 0 "register_operand" "") 4)
- (mult:SI (match_operand:SI 1 "register_operand" "")
- (match_operand:SI 2 "nonimmediate_operand" "")))
- (set (subreg:SI (match_dup 0) 0)
-@@ -4731,7 +4731,7 @@
- (define_insn "subreghi1ashrdi_const32"
- [(set (match_operand:HI 0 "general_operand" "=rm")
- (subreg:HI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro")
-- (const_int 32)) 1))]
-+ (const_int 32)) 4))]
- ""
- "*
- {
-@@ -4743,7 +4743,7 @@
- (define_insn "subregsi1ashrdi_const32"
- [(set (match_operand:SI 0 "general_operand" "=rm")
- (subreg:SI (ashiftrt:DI (match_operand:DI 1 "general_operand" "ro")
-- (const_int 32)) 1))]
-+ (const_int 32)) 4))]
- ""
- "*
- {
-@@ -4894,10 +4894,10 @@
- ;;(define_insn ""
- ;; [(set (cc0)
- ;; (subreg:SI (lshiftrt:DI (match_operand:DI 0 "general_operand" "ro")
--;; (const_int 32)) 1))
-+;; (const_int 32)) 4))
- ;; (set (match_operand:SI 1 "general_operand" "=dm")
- ;; (subreg:SI (lshiftrt:DI (match_dup 0)
--;; (const_int 32)) 1))]
-+;; (const_int 32)) 4))]
- ;; ""
- ;; "*
- ;;{
-@@ -4924,7 +4924,7 @@
- (define_insn "subreg1lshrdi_const32"
- [(set (match_operand:SI 0 "general_operand" "=rm")
- (subreg:SI (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro")
-- (const_int 32)) 1))]
-+ (const_int 32)) 4))]
- ""
- "*
- {
---- gcc/config/m88k/m88k.md.jj Mon Mar 6 18:37:52 2000
-+++ gcc/config/m88k/m88k.md Mon Jul 31 20:46:24 2000
-@@ -2295,10 +2295,10 @@
- ;;- sign extension instructions
-
- (define_expand "extendsidi2"
-- [(set (subreg:SI (match_operand:DI 0 "register_operand" "=r") 1)
-+ [(set (subreg:SI (match_operand:DI 0 "register_operand" "=r") 4)
- (match_operand:SI 1 "general_operand" "g"))
- (set (subreg:SI (match_dup 0) 0)
-- (ashiftrt:SI (subreg:SI (match_dup 0) 1)
-+ (ashiftrt:SI (subreg:SI (match_dup 0) 4)
- (const_int 31)))]
- ""
- "")
---- gcc/config/mips/mips.c.jj Tue Jul 18 21:15:50 2000
-+++ gcc/config/mips/mips.c Mon Jul 31 20:46:24 2000
-@@ -1804,20 +1804,26 @@ mips_move_1word (operands, insn, unsigne
- enum rtx_code code0 = GET_CODE (op0);
- enum rtx_code code1 = GET_CODE (op1);
- enum machine_mode mode = GET_MODE (op0);
-- int subreg_word0 = 0;
-- int subreg_word1 = 0;
-+ int subreg_offset0 = 0;
-+ int subreg_offset1 = 0;
- enum delay_type delay = DELAY_NONE;
-
- while (code0 == SUBREG)
- {
-- subreg_word0 += SUBREG_WORD (op0);
-+ subreg_offset0 += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (op0)),
-+ GET_MODE (SUBREG_REG (op0)),
-+ SUBREG_BYTE (op0),
-+ GET_MODE (op0));
- op0 = SUBREG_REG (op0);
- code0 = GET_CODE (op0);
- }
-
- while (code1 == SUBREG)
- {
-- subreg_word1 += SUBREG_WORD (op1);
-+ subreg_offset1 += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (op1)),
-+ GET_MODE (SUBREG_REG (op1)),
-+ SUBREG_BYTE (op1),
-+ GET_MODE (op1));
- op1 = SUBREG_REG (op1);
- code1 = GET_CODE (op1);
- }
-@@ -1828,11 +1834,11 @@ mips_move_1word (operands, insn, unsigne
-
- if (code0 == REG)
- {
-- int regno0 = REGNO (op0) + subreg_word0;
-+ int regno0 = REGNO (op0) + subreg_offset0;
-
- if (code1 == REG)
- {
-- int regno1 = REGNO (op1) + subreg_word1;
-+ int regno1 = REGNO (op1) + subreg_offset1;
-
- /* Just in case, don't do anything for assigning a register
- to itself, unless we are filling a delay slot. */
-@@ -2117,7 +2123,7 @@ mips_move_1word (operands, insn, unsigne
-
- if (code1 == REG)
- {
-- int regno1 = REGNO (op1) + subreg_word1;
-+ int regno1 = REGNO (op1) + subreg_offset1;
-
- if (GP_REG_P (regno1))
- {
-@@ -2196,13 +2202,16 @@ mips_move_2words (operands, insn)
- rtx op1 = operands[1];
- enum rtx_code code0 = GET_CODE (operands[0]);
- enum rtx_code code1 = GET_CODE (operands[1]);
-- int subreg_word0 = 0;
-- int subreg_word1 = 0;
-+ int subreg_offset0 = 0;
-+ int subreg_offset1 = 0;
- enum delay_type delay = DELAY_NONE;
-
- while (code0 == SUBREG)
- {
-- subreg_word0 += SUBREG_WORD (op0);
-+ subreg_offset0 += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (op0)),
-+ GET_MODE (SUBREG_REG (op0)),
-+ SUBREG_BYTE (op0),
-+ GET_MODE (op0));
- op0 = SUBREG_REG (op0);
- code0 = GET_CODE (op0);
- }
-@@ -2215,7 +2224,10 @@ mips_move_2words (operands, insn)
-
- while (code1 == SUBREG)
- {
-- subreg_word1 += SUBREG_WORD (op1);
-+ subreg_offset1 += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (op1)),
-+ GET_MODE (SUBREG_REG (op1)),
-+ SUBREG_BYTE (op1),
-+ GET_MODE (op1));
- op1 = SUBREG_REG (op1);
- code1 = GET_CODE (op1);
- }
-@@ -2233,11 +2245,11 @@ mips_move_2words (operands, insn)
-
- if (code0 == REG)
- {
-- int regno0 = REGNO (op0) + subreg_word0;
-+ int regno0 = REGNO (op0) + subreg_offset0;
-
- if (code1 == REG)
- {
-- int regno1 = REGNO (op1) + subreg_word1;
-+ int regno1 = REGNO (op1) + subreg_offset1;
-
- /* Just in case, don't do anything for assigning a register
- to itself, unless we are filling a delay slot. */
-@@ -2574,7 +2586,7 @@ mips_move_2words (operands, insn)
- {
- if (code1 == REG)
- {
-- int regno1 = REGNO (op1) + subreg_word1;
-+ int regno1 = REGNO (op1) + subreg_offset1;
-
- if (FP_REG_P (regno1))
- ret = "s.d\t%1,%0";
-@@ -7840,7 +7852,10 @@ mips_secondary_reload_class (class, mode
- {
- while (GET_CODE (x) == SUBREG)
- {
-- off += SUBREG_WORD (x);
-+ off += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x)),
-+ GET_MODE (SUBREG_REG (x)),
-+ SUBREG_BYTE (x),
-+ GET_MODE (x));
- x = SUBREG_REG (x);
- }
-
---- gcc/config/mips/mips.md.jj Sun Jul 16 01:53:05 2000
-+++ gcc/config/mips/mips.md Mon Jul 31 20:46:24 2000
-@@ -749,12 +749,12 @@
- (ltu:SI (subreg:SI (match_dup 0) 0)
- (subreg:SI (match_dup 2) 0)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (plus:SI (subreg:SI (match_dup 1) 1)
-- (subreg:SI (match_dup 2) 1)))
-+ (set (subreg:SI (match_dup 0) 4)
-+ (plus:SI (subreg:SI (match_dup 1) 4)
-+ (subreg:SI (match_dup 2) 4)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (plus:SI (subreg:SI (match_dup 0) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (plus:SI (subreg:SI (match_dup 0) 4)
- (match_dup 3)))]
- "")
-
-@@ -771,13 +771,13 @@
- && (REGNO (operands[0]) != REGNO (operands[1])
- || REGNO (operands[0]) != REGNO (operands[2]))"
-
-- [(set (subreg:SI (match_dup 0) 1)
-- (plus:SI (subreg:SI (match_dup 1) 1)
-- (subreg:SI (match_dup 2) 1)))
-+ [(set (subreg:SI (match_dup 0) 4)
-+ (plus:SI (subreg:SI (match_dup 1) 4)
-+ (subreg:SI (match_dup 2) 4)))
-
- (set (match_dup 3)
-- (ltu:SI (subreg:SI (match_dup 0) 1)
-- (subreg:SI (match_dup 2) 1)))
-+ (ltu:SI (subreg:SI (match_dup 0) 4)
-+ (subreg:SI (match_dup 2) 4)))
-
- (set (subreg:SI (match_dup 0) 0)
- (plus:SI (subreg:SI (match_dup 1) 0)
-@@ -824,8 +824,8 @@
- (ltu:SI (subreg:SI (match_dup 0) 0)
- (match_dup 2)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (plus:SI (subreg:SI (match_dup 1) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (plus:SI (subreg:SI (match_dup 1) 4)
- (match_dup 3)))]
- "")
-
-@@ -840,12 +840,12 @@
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))
- && INTVAL (operands[2]) > 0"
-
-- [(set (subreg:SI (match_dup 0) 1)
-- (plus:SI (subreg:SI (match_dup 1) 1)
-+ [(set (subreg:SI (match_dup 0) 4)
-+ (plus:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))
-
- (set (match_dup 3)
-- (ltu:SI (subreg:SI (match_dup 0) 1)
-+ (ltu:SI (subreg:SI (match_dup 0) 4)
- (match_dup 2)))
-
- (set (subreg:SI (match_dup 0) 0)
-@@ -1266,12 +1266,12 @@
- (minus:SI (subreg:SI (match_dup 1) 0)
- (subreg:SI (match_dup 2) 0)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (minus:SI (subreg:SI (match_dup 1) 1)
-- (subreg:SI (match_dup 2) 1)))
-+ (set (subreg:SI (match_dup 0) 4)
-+ (minus:SI (subreg:SI (match_dup 1) 4)
-+ (subreg:SI (match_dup 2) 4)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (minus:SI (subreg:SI (match_dup 0) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (minus:SI (subreg:SI (match_dup 0) 4)
- (match_dup 3)))]
- "")
-
-@@ -1287,12 +1287,12 @@
- && GET_CODE (operands[2]) == REG && GP_REG_P (REGNO (operands[2]))"
-
- [(set (match_dup 3)
-- (ltu:SI (subreg:SI (match_dup 1) 1)
-- (subreg:SI (match_dup 2) 1)))
-+ (ltu:SI (subreg:SI (match_dup 1) 4)
-+ (subreg:SI (match_dup 2) 4)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (minus:SI (subreg:SI (match_dup 1) 1)
-- (subreg:SI (match_dup 2) 1)))
-+ (set (subreg:SI (match_dup 0) 4)
-+ (minus:SI (subreg:SI (match_dup 1) 4)
-+ (subreg:SI (match_dup 2) 4)))
-
- (set (subreg:SI (match_dup 0) 0)
- (minus:SI (subreg:SI (match_dup 1) 0)
-@@ -1337,8 +1337,8 @@
- (minus:SI (subreg:SI (match_dup 1) 0)
- (match_dup 2)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (minus:SI (subreg:SI (match_dup 1) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (minus:SI (subreg:SI (match_dup 1) 4)
- (match_dup 3)))]
- "")
-
-@@ -1354,11 +1354,11 @@
- && INTVAL (operands[2]) > 0"
-
- [(set (match_dup 3)
-- (ltu:SI (subreg:SI (match_dup 1) 1)
-+ (ltu:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (minus:SI (subreg:SI (match_dup 1) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (minus:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))
-
- (set (subreg:SI (match_dup 0) 0)
-@@ -3080,7 +3080,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))"
-
- [(set (subreg:SI (match_dup 0) 0) (not:SI (subreg:SI (match_dup 1) 0)))
-- (set (subreg:SI (match_dup 0) 1) (not:SI (subreg:SI (match_dup 1) 1)))]
-+ (set (subreg:SI (match_dup 0) 4) (not:SI (subreg:SI (match_dup 1) 4)))]
- "")
-
-
-@@ -3183,7 +3183,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[2]) == REG && GP_REG_P (REGNO (operands[2]))"
-
- [(set (subreg:SI (match_dup 0) 0) (and:SI (subreg:SI (match_dup 1) 0) (subreg:SI (match_dup 2) 0)))
-- (set (subreg:SI (match_dup 0) 1) (and:SI (subreg:SI (match_dup 1) 1) (subreg:SI (match_dup 2) 1)))]
-+ (set (subreg:SI (match_dup 0) 4) (and:SI (subreg:SI (match_dup 1) 4) (subreg:SI (match_dup 2) 4)))]
- "")
-
- (define_insn "anddi3_internal1"
-@@ -3284,7 +3284,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[2]) == REG && GP_REG_P (REGNO (operands[2]))"
-
- [(set (subreg:SI (match_dup 0) 0) (ior:SI (subreg:SI (match_dup 1) 0) (subreg:SI (match_dup 2) 0)))
-- (set (subreg:SI (match_dup 0) 1) (ior:SI (subreg:SI (match_dup 1) 1) (subreg:SI (match_dup 2) 1)))]
-+ (set (subreg:SI (match_dup 0) 4) (ior:SI (subreg:SI (match_dup 1) 4) (subreg:SI (match_dup 2) 4)))]
- "")
-
- (define_expand "xorsi3"
-@@ -3388,7 +3388,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[2]) == REG && GP_REG_P (REGNO (operands[2]))"
-
- [(set (subreg:SI (match_dup 0) 0) (xor:SI (subreg:SI (match_dup 1) 0) (subreg:SI (match_dup 2) 0)))
-- (set (subreg:SI (match_dup 0) 1) (xor:SI (subreg:SI (match_dup 1) 1) (subreg:SI (match_dup 2) 1)))]
-+ (set (subreg:SI (match_dup 0) 4) (xor:SI (subreg:SI (match_dup 1) 4) (subreg:SI (match_dup 2) 4)))]
- "")
-
- (define_insn "xordi3_immed"
-@@ -3437,7 +3437,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[2]) == REG && GP_REG_P (REGNO (operands[2]))"
-
- [(set (subreg:SI (match_dup 0) 0) (and:SI (not:SI (subreg:SI (match_dup 1) 0)) (not:SI (subreg:SI (match_dup 2) 0))))
-- (set (subreg:SI (match_dup 0) 1) (and:SI (not:SI (subreg:SI (match_dup 1) 1)) (not:SI (subreg:SI (match_dup 2) 1))))]
-+ (set (subreg:SI (match_dup 0) 4) (and:SI (not:SI (subreg:SI (match_dup 1) 4)) (not:SI (subreg:SI (match_dup 2) 4))))]
- "")
-
- ;;
-@@ -4876,7 +4876,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))"
-
- [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))
-- (set (subreg:SI (match_dup 0) 1) (subreg:SI (match_dup 1) 1))]
-+ (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))]
- "")
-
- (define_insn "movdi_internal2"
-@@ -6106,7 +6106,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[0]) == REG && GP_REG_P (REGNO (operands[0]))
- && GET_CODE (operands[1]) == REG && GP_REG_P (REGNO (operands[1]))"
- [(set (subreg:SI (match_dup 0) 0) (subreg:SI (match_dup 1) 0))
-- (set (subreg:SI (match_dup 0) 1) (subreg:SI (match_dup 1) 1))]
-+ (set (subreg:SI (match_dup 0) 4) (subreg:SI (match_dup 1) 4))]
- "")
-
- ;; Instructions to load the global pointer register.
-@@ -6475,7 +6475,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && REGNO (operands[1]) < FIRST_PSEUDO_REGISTER
- && (INTVAL (operands[2]) & 32) != 0"
-
-- [(set (subreg:SI (match_dup 0) 1) (ashift:SI (subreg:SI (match_dup 1) 0) (match_dup 2)))
-+ [(set (subreg:SI (match_dup 0) 4) (ashift:SI (subreg:SI (match_dup 1) 0) (match_dup 2)))
- (set (subreg:SI (match_dup 0) 0) (const_int 0))]
-
- "operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f);")
-@@ -6492,8 +6492,8 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && REGNO (operands[1]) < FIRST_PSEUDO_REGISTER
- && (INTVAL (operands[2]) & 32) != 0"
-
-- [(set (subreg:SI (match_dup 0) 0) (ashift:SI (subreg:SI (match_dup 1) 1) (match_dup 2)))
-- (set (subreg:SI (match_dup 0) 1) (const_int 0))]
-+ [(set (subreg:SI (match_dup 0) 0) (ashift:SI (subreg:SI (match_dup 1) 4) (match_dup 2)))
-+ (set (subreg:SI (match_dup 0) 4) (const_int 0))]
-
- "operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f);")
-
-@@ -6533,16 +6533,16 @@ move\\t%0,%z4\\n\\
- && (INTVAL (operands[2]) & 63) < 32
- && (INTVAL (operands[2]) & 63) != 0"
-
-- [(set (subreg:SI (match_dup 0) 1)
-- (ashift:SI (subreg:SI (match_dup 1) 1)
-+ [(set (subreg:SI (match_dup 0) 4)
-+ (ashift:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))
-
- (set (match_dup 3)
- (lshiftrt:SI (subreg:SI (match_dup 1) 0)
- (match_dup 4)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (ior:SI (subreg:SI (match_dup 0) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (ior:SI (subreg:SI (match_dup 0) 4)
- (match_dup 3)))
-
- (set (subreg:SI (match_dup 0) 0)
-@@ -6573,15 +6573,15 @@ move\\t%0,%z4\\n\\
- (match_dup 2)))
-
- (set (match_dup 3)
-- (lshiftrt:SI (subreg:SI (match_dup 1) 1)
-+ (lshiftrt:SI (subreg:SI (match_dup 1) 4)
- (match_dup 4)))
-
- (set (subreg:SI (match_dup 0) 0)
- (ior:SI (subreg:SI (match_dup 0) 0)
- (match_dup 3)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (ashift:SI (subreg:SI (match_dup 1) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (ashift:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))]
- "
- {
-@@ -6830,8 +6830,8 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && REGNO (operands[1]) < FIRST_PSEUDO_REGISTER
- && (INTVAL (operands[2]) & 32) != 0"
-
-- [(set (subreg:SI (match_dup 0) 0) (ashiftrt:SI (subreg:SI (match_dup 1) 1) (match_dup 2)))
-- (set (subreg:SI (match_dup 0) 1) (ashiftrt:SI (subreg:SI (match_dup 1) 1) (const_int 31)))]
-+ [(set (subreg:SI (match_dup 0) 0) (ashiftrt:SI (subreg:SI (match_dup 1) 4) (match_dup 2)))
-+ (set (subreg:SI (match_dup 0) 4) (ashiftrt:SI (subreg:SI (match_dup 1) 4) (const_int 31)))]
-
- "operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f);")
-
-@@ -6846,7 +6846,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && REGNO (operands[1]) < FIRST_PSEUDO_REGISTER
- && (INTVAL (operands[2]) & 32) != 0"
-
-- [(set (subreg:SI (match_dup 0) 1) (ashiftrt:SI (subreg:SI (match_dup 1) 0) (match_dup 2)))
-+ [(set (subreg:SI (match_dup 0) 4) (ashiftrt:SI (subreg:SI (match_dup 1) 0) (match_dup 2)))
- (set (subreg:SI (match_dup 0) 0) (ashiftrt:SI (subreg:SI (match_dup 1) 0) (const_int 31)))]
-
- "operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f);")
-@@ -6891,15 +6891,15 @@ move\\t%0,%z4\\n\\
- (match_dup 2)))
-
- (set (match_dup 3)
-- (ashift:SI (subreg:SI (match_dup 1) 1)
-+ (ashift:SI (subreg:SI (match_dup 1) 4)
- (match_dup 4)))
-
- (set (subreg:SI (match_dup 0) 0)
- (ior:SI (subreg:SI (match_dup 0) 0)
- (match_dup 3)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (ashiftrt:SI (subreg:SI (match_dup 1) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (ashiftrt:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))]
- "
- {
-@@ -6921,16 +6921,16 @@ move\\t%0,%z4\\n\\
- && (INTVAL (operands[2]) & 63) < 32
- && (INTVAL (operands[2]) & 63) != 0"
-
-- [(set (subreg:SI (match_dup 0) 1)
-- (lshiftrt:SI (subreg:SI (match_dup 1) 1)
-+ [(set (subreg:SI (match_dup 0) 4)
-+ (lshiftrt:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))
-
- (set (match_dup 3)
- (ashift:SI (subreg:SI (match_dup 1) 0)
- (match_dup 4)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (ior:SI (subreg:SI (match_dup 0) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (ior:SI (subreg:SI (match_dup 0) 4)
- (match_dup 3)))
-
- (set (subreg:SI (match_dup 0) 0)
-@@ -7214,8 +7214,8 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && REGNO (operands[1]) < FIRST_PSEUDO_REGISTER
- && (INTVAL (operands[2]) & 32) != 0"
-
-- [(set (subreg:SI (match_dup 0) 0) (lshiftrt:SI (subreg:SI (match_dup 1) 1) (match_dup 2)))
-- (set (subreg:SI (match_dup 0) 1) (const_int 0))]
-+ [(set (subreg:SI (match_dup 0) 0) (lshiftrt:SI (subreg:SI (match_dup 1) 4) (match_dup 2)))
-+ (set (subreg:SI (match_dup 0) 4) (const_int 0))]
-
- "operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f);")
-
-@@ -7231,7 +7231,7 @@ move\\t%0,%z4\\n\\
- && GET_CODE (operands[1]) == REG && REGNO (operands[1]) < FIRST_PSEUDO_REGISTER
- && (INTVAL (operands[2]) & 32) != 0"
-
-- [(set (subreg:SI (match_dup 0) 1) (lshiftrt:SI (subreg:SI (match_dup 1) 0) (match_dup 2)))
-+ [(set (subreg:SI (match_dup 0) 4) (lshiftrt:SI (subreg:SI (match_dup 1) 0) (match_dup 2)))
- (set (subreg:SI (match_dup 0) 0) (const_int 0))]
-
- "operands[2] = GEN_INT (INTVAL (operands[2]) & 0x1f);")
-@@ -7276,15 +7276,15 @@ move\\t%0,%z4\\n\\
- (match_dup 2)))
-
- (set (match_dup 3)
-- (ashift:SI (subreg:SI (match_dup 1) 1)
-+ (ashift:SI (subreg:SI (match_dup 1) 4)
- (match_dup 4)))
-
- (set (subreg:SI (match_dup 0) 0)
- (ior:SI (subreg:SI (match_dup 0) 0)
- (match_dup 3)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (lshiftrt:SI (subreg:SI (match_dup 1) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (lshiftrt:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))]
- "
- {
-@@ -7306,16 +7306,16 @@ move\\t%0,%z4\\n\\
- && (INTVAL (operands[2]) & 63) < 32
- && (INTVAL (operands[2]) & 63) != 0"
-
-- [(set (subreg:SI (match_dup 0) 1)
-- (lshiftrt:SI (subreg:SI (match_dup 1) 1)
-+ [(set (subreg:SI (match_dup 0) 4)
-+ (lshiftrt:SI (subreg:SI (match_dup 1) 4)
- (match_dup 2)))
-
- (set (match_dup 3)
- (ashift:SI (subreg:SI (match_dup 1) 0)
- (match_dup 4)))
-
-- (set (subreg:SI (match_dup 0) 1)
-- (ior:SI (subreg:SI (match_dup 0) 1)
-+ (set (subreg:SI (match_dup 0) 4)
-+ (ior:SI (subreg:SI (match_dup 0) 4)
- (match_dup 3)))
-
- (set (subreg:SI (match_dup 0) 0)
---- gcc/config/mn10200/mn10200.c.jj Tue Jan 18 22:33:06 2000
-+++ gcc/config/mn10200/mn10200.c Mon Jul 31 20:46:24 2000
-@@ -163,8 +163,7 @@ print_operand (file, x, code)
- break;
-
- case SUBREG:
-- fprintf (file, "%s",
-- reg_names[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)]);
-+ fprintf (file, "%s", reg_names[SUBREG_REGNO (x)]);
- break;
-
- case CONST_DOUBLE:
-@@ -223,8 +222,7 @@ print_operand (file, x, code)
- break;
-
- case SUBREG:
-- fprintf (file, "%s",
-- reg_names[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)] + 1);
-+ fprintf (file, "%s", reg_names[SUBREG_REGNO (x) + 1]);
- break;
-
- case CONST_DOUBLE:
-@@ -323,8 +321,7 @@ print_operand (file, x, code)
- break;
-
- case SUBREG:
-- fprintf (file, "%s",
-- reg_names[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)]);
-+ fprintf (file, "%s", reg_names[SUBREG_REGNO (x)]);
- break;
-
- case CONST_INT:
---- gcc/config/mn10300/mn10300.c.jj Sun May 21 21:13:23 2000
-+++ gcc/config/mn10300/mn10300.c Mon Jul 31 20:46:24 2000
-@@ -144,8 +144,7 @@ print_operand (file, x, code)
- break;
-
- case SUBREG:
-- fprintf (file, "%s",
-- reg_names[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)]);
-+ fprintf (file, "%s", reg_names[SUBREG_REGNO (x)]);
- break;
-
- case CONST_DOUBLE:
-@@ -205,8 +204,7 @@ print_operand (file, x, code)
- break;
-
- case SUBREG:
-- fprintf (file, "%s",
-- reg_names[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)] + 1);
-+ fprintf (file, "%s", reg_names[SUBREG_REGNO (x) + 1]);
- break;
-
- case CONST_DOUBLE:
-@@ -290,8 +288,7 @@ print_operand (file, x, code)
- break;
-
- case SUBREG:
-- fprintf (file, "%s",
-- reg_names[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)]);
-+ fprintf (file, "%s", reg_names[SUBREG_REGNO (x)]);
- break;
-
- /* This will only be single precision.... */
---- gcc/config/ns32k/ns32k.md.jj Mon Mar 6 18:37:53 2000
-+++ gcc/config/ns32k/ns32k.md Mon Jul 31 20:46:24 2000
-@@ -1275,7 +1275,7 @@
- ;; Retain this insn which *does* have a pattern indicating what it does,
- ;; just in case the compiler is smart enough to recognize a substitution.
- (define_insn "udivmoddisi4"
-- [(set (subreg:SI (match_operand:DI 0 "nonimmediate_operand" "=rm") 1)
-+ [(set (subreg:SI (match_operand:DI 0 "nonimmediate_operand" "=rm") 4)
- (truncate:SI (udiv:DI (match_operand:DI 1 "nonimmediate_operand" "0")
- (zero_extend:DI (match_operand:SI 2 "nonimmediate_operand" "rm")))))
- (set (subreg:SI (match_operand:DI 3 "nonimmediate_operand" "=0") 0)
-@@ -1338,7 +1338,7 @@
- "deiw %2,%0")
-
- (define_insn "udivmoddihi4"
-- [(set (subreg:HI (match_operand:DI 0 "register_operand" "=r") 1)
-+ [(set (subreg:HI (match_operand:DI 0 "register_operand" "=r") 2)
- (truncate:HI (udiv:DI (match_operand:DI 1 "register_operand" "0")
- (zero_extend:DI (match_operand:HI 2 "nonimmediate_operand" "rm")))))
- (set (subreg:HI (match_operand:DI 3 "register_operand" "=0") 0)
---- gcc/config/pa/pa.md.jj Mon Jul 31 20:02:17 2000
-+++ gcc/config/pa/pa.md Mon Jul 31 20:46:24 2000
-@@ -3628,9 +3628,9 @@
- (set_attr "length" "4")])
-
- (define_expand "floatunssisf2"
-- [(set (subreg:SI (match_dup 2) 1)
-+ [(set (subreg:SI (match_dup 2) 4)
- (match_operand:SI 1 "register_operand" ""))
-- (set (subreg:SI (match_dup 2) 0)
-+ (set (subreg:SI (match_dup 2) 4)
- (const_int 0))
- (set (match_operand:SF 0 "register_operand" "")
- (float:SF (match_dup 2)))]
-@@ -3646,7 +3646,7 @@
- }")
-
- (define_expand "floatunssidf2"
-- [(set (subreg:SI (match_dup 2) 1)
-+ [(set (subreg:SI (match_dup 2) 4)
- (match_operand:SI 1 "register_operand" ""))
- (set (subreg:SI (match_dup 2) 0)
- (const_int 0))
-@@ -4014,7 +4014,7 @@
-
- }
- emit_insn (gen_rtx_SET (VOIDmode, operands[0],
-- gen_rtx_SUBREG (SImode, scratch, 1)));
-+ gen_rtx_SUBREG (SImode, scratch, GET_MODE_SIZE (SImode))));
- DONE;
- }
- operands[3] = gen_reg_rtx (SImode);
---- gcc/config/pa/pa.c.jj Mon Jul 31 20:02:16 2000
-+++ gcc/config/pa/pa.c Mon Jul 31 20:46:24 2000
-@@ -1175,11 +1175,11 @@ emit_move_sequence (operands, mode, scra
- && GET_CODE (SUBREG_REG (operand0)) == REG
- && REGNO (SUBREG_REG (operand0)) >= FIRST_PSEUDO_REGISTER)
- {
-- /* We must not alter SUBREG_WORD (operand0) since that would confuse
-+ /* We must not alter SUBREG_BYTE (operand0) since that would confuse
- the code which tracks sets/uses for delete_output_reload. */
- rtx temp = gen_rtx_SUBREG (GET_MODE (operand0),
- reg_equiv_mem [REGNO (SUBREG_REG (operand0))],
-- SUBREG_WORD (operand0));
-+ SUBREG_BYTE (operand0));
- operand0 = alter_subreg (temp);
- }
-
-@@ -1192,11 +1192,11 @@ emit_move_sequence (operands, mode, scra
- && GET_CODE (SUBREG_REG (operand1)) == REG
- && REGNO (SUBREG_REG (operand1)) >= FIRST_PSEUDO_REGISTER)
- {
-- /* We must not alter SUBREG_WORD (operand0) since that would confuse
-+ /* We must not alter SUBREG_BYTE (operand0) since that would confuse
- the code which tracks sets/uses for delete_output_reload. */
- rtx temp = gen_rtx_SUBREG (GET_MODE (operand1),
- reg_equiv_mem [REGNO (SUBREG_REG (operand1))],
-- SUBREG_WORD (operand1));
-+ SUBREG_BYTE (operand1));
- operand1 = alter_subreg (temp);
- }
-
---- gcc/config/pdp11/pdp11.md.jj Thu May 4 15:06:13 2000
-+++ gcc/config/pdp11/pdp11.md Mon Jul 31 20:46:24 2000
-@@ -766,7 +766,7 @@
- (define_expand "zero_extendhisi2"
- [(set (subreg:HI
- (match_dup 0)
-- 1)
-+ 2)
- (match_operand:HI 1 "register_operand" "r"))
- (set (subreg:HI
- (match_operand:SI 0 "register_operand" "=r")
-@@ -1782,16 +1782,16 @@
- [(set_attr "length" "2")])
-
- (define_expand "modhi3"
-- [(set (subreg:HI (match_dup 1) 1)
-+ [(set (subreg:HI (match_dup 1) 2)
- (mod:HI (match_operand:SI 1 "general_operand" "0")
- (match_operand:HI 2 "general_operand" "g")))
- (set (match_operand:HI 0 "general_operand" "=r")
-- (subreg:HI (match_dup 1) 1))]
-+ (subreg:HI (match_dup 1) 2))]
- "TARGET_45"
- "")
-
- (define_insn ""
-- [(set (subreg:HI (match_operand:SI 0 "general_operand" "=r") 1)
-+ [(set (subreg:HI (match_operand:SI 0 "general_operand" "=r") 4)
- (mod:HI (match_operand:SI 1 "general_operand" "0")
- (match_operand:HI 2 "general_operand" "g")))]
- "TARGET_45"
-@@ -1802,11 +1802,11 @@
- ; [(parallel [(set (subreg:HI (match_dup 1) 0)
- ; (div:HI (match_operand:SI 1 "general_operand" "0")
- ; (match_operand:HI 2 "general_operand" "g")))
--; (set (subreg:HI (match_dup 1) 1)
-+; (set (subreg:HI (match_dup 1) 2)
- ; (mod:HI (match_dup 1)
- ; (match_dup 2)))])
- ; (set (match_operand:HI 3 "general_operand" "=r")
--; (subreg:HI (match_dup 1) 1))
-+; (subreg:HI (match_dup 1) 2))
- ; (set (match_operand:HI 0 "general_operand" "=r")
- ; (subreg:HI (match_dup 1) 0))]
- ; "TARGET_45"
-@@ -1816,7 +1816,7 @@
- ; [(set (subreg:HI (match_operand:SI 0 "general_operand" "=r") 0)
- ; (div:HI (match_operand:SI 1 "general_operand" "0")
- ; (match_operand:HI 2 "general_operand" "g")))
--; (set (subreg:HI (match_dup 0) 1)
-+; (set (subreg:HI (match_dup 0) 2)
- ; (mod:HI (match_dup 1)
- ; (match_dup 2)))]
- ; "TARGET_45"
---- gcc/config/pyr/pyr.c.jj Tue Sep 7 07:48:55 1999
-+++ gcc/config/pyr/pyr.c Mon Jul 31 20:46:24 2000
-@@ -404,8 +404,7 @@ int
- subreg_overlap_mentioned_p (subreg, x)
- rtx subreg, x;
- {
-- rtx reg = SUBREG_REG (subreg);
-- int regno = REGNO (reg) + SUBREG_WORD (subreg);
-+ int regno = SUBREG_REGNO (subreg);
- int endregno = regno + HARD_REGNO_NREGS (regno, GET_MODE (subreg));
- return refers_to_regno_p (regno, endregno, x, 0);
- }
-@@ -432,7 +431,10 @@ consecutive_operands (op0, op1)
- {
- if (GET_MODE_SIZE (GET_MODE (SUBREG_REG (op0))) <= UNITS_PER_WORD)
- return 0;
-- regno_off0 = SUBREG_WORD (op0);
-+ regno_off0 = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (op0)),
-+ GET_MODE (SUBREG_REG (op0)),
-+ SUBREG_BYTE (op0),
-+ GET_MODE (op0));
- op0 = SUBREG_REG (op0);
- code0 = REG;
- }
-@@ -442,7 +444,10 @@ consecutive_operands (op0, op1)
- {
- if (GET_MODE_SIZE (GET_MODE (SUBREG_REG (op1))) <= UNITS_PER_WORD)
- return 0;
-- regno_off1 = SUBREG_WORD (op1);
-+ regno_off1 = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (op1)),
-+ GET_MODE (SUBREG_REG (op1)),
-+ SUBREG_BYTE (op1),
-+ GET_MODE (op1));
- op1 = SUBREG_REG (op1);
- code1 = REG;
- }
---- gcc/config/pyr/pyr.md.jj Tue Sep 7 07:48:57 1999
-+++ gcc/config/pyr/pyr.md Mon Jul 31 20:46:24 2000
-@@ -1238,10 +1238,10 @@
- ;______________________________________________________________________
-
- (define_expand "extendsidi2"
-- [(set (subreg:SI (match_operand:DI 0 "register_operand" "=r") 1)
-+ [(set (subreg:SI (match_operand:DI 0 "register_operand" "=r") 4)
- (match_operand:SI 1 "general_operand" "g"))
- (set (subreg:SI (match_dup 0) 0)
-- (subreg:SI (match_dup 0) 1))
-+ (subreg:SI (match_dup 0) 4))
- (set (subreg:SI (match_dup 0) 0)
- (ashiftrt:SI (subreg:SI (match_dup 0) 0)
- (const_int 31)))]
---- gcc/config/romp/romp.c.jj Mon Mar 6 18:37:53 2000
-+++ gcc/config/romp/romp.c Mon Jul 31 20:46:24 2000
-@@ -270,12 +270,7 @@ memory_offset_in_range_p (op, mode, low,
-
- while (GET_CODE (op) == SUBREG)
- {
-- offset += SUBREG_WORD (op) * UNITS_PER_WORD;
--#if BYTES_BIG_ENDIAN
-- offset -= (min (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (op)))
-- - min (UNITS_PER_WORD,
-- GET_MODE_SIZE (GET_MODE (SUBREG_REG (op)))));
--#endif
-+ offset += SUBREG_BYTE (op);
- op = SUBREG_REG (op);
- }
-
---- gcc/config/rs6000/rs6000.md.jj Mon Jul 31 20:02:17 2000
-+++ gcc/config/rs6000/rs6000.md Mon Jul 31 20:46:24 2000
-@@ -7961,8 +7961,10 @@
- "
- {
- HOST_WIDE_INT value = INTVAL (operands[1]);
-- operands[2] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN == 0);
-- operands[3] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN != 0);
-+ operands[2] = gen_rtx_SUBREG (SImode, operands[0],
-+ GET_MODE_SIZE(SImode) * (WORDS_BIG_ENDIAN == 0));
-+ operands[3] = gen_rtx_SUBREG (SImode, operands[0],
-+ GET_MODE_SIZE(SImode) * (WORDS_BIG_ENDIAN != 0));
- #if HOST_BITS_PER_WIDE_INT == 32
- operands[4] = (value & 0x80000000) ? constm1_rtx : const0_rtx;
- #else
-@@ -7979,8 +7981,10 @@
- (set (match_dup 3) (match_dup 5))]
- "
- {
-- operands[2] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN == 0);
-- operands[3] = gen_rtx_SUBREG (SImode, operands[0], WORDS_BIG_ENDIAN != 0);
-+ operands[2] = gen_rtx_SUBREG (SImode, operands[0],
-+ (GET_MODE_SIZE (SImode) * (WORDS_BIG_ENDIAN == 0)));
-+ operands[3] = gen_rtx_SUBREG (SImode, operands[0],
-+ (GET_MODE_SIZE (SImode) * (WORDS_BIG_ENDIAN != 0)));
- operands[4] = GEN_INT (CONST_DOUBLE_HIGH (operands[1]));
- operands[5] = GEN_INT (CONST_DOUBLE_LOW (operands[1]));
- }")
---- gcc/config/sh/sh.c.jj Mon Jul 31 20:02:17 2000
-+++ gcc/config/sh/sh.c Mon Jul 31 20:46:24 2000
-@@ -642,7 +642,7 @@ output_movedouble (insn, operands, mode)
- if (GET_CODE (inside) == REG)
- ptrreg = REGNO (inside);
- else if (GET_CODE (inside) == SUBREG)
-- ptrreg = REGNO (SUBREG_REG (inside)) + SUBREG_WORD (inside);
-+ ptrreg = SUBREG_REGNO (inside);
- else if (GET_CODE (inside) == PLUS)
- {
- ptrreg = REGNO (XEXP (inside, 0));
-@@ -1072,13 +1072,13 @@ gen_ashift_hi (type, n, reg)
- gen_ashift_hi is only called in contexts where we know that the
- sign extension works out correctly. */
- {
-- int word = 0;
-+ int offset = 0;
- if (GET_CODE (reg) == SUBREG)
- {
-- word = SUBREG_WORD (reg);
-+ offset = SUBREG_BYTE (reg);
- reg = SUBREG_REG (reg);
- }
-- gen_ashift (type, n, gen_rtx_SUBREG (SImode, reg, word));
-+ gen_ashift (type, n, gen_rtx_SUBREG (SImode, reg, offset));
- break;
- }
- case ASHIFT:
-@@ -2429,7 +2429,11 @@ regs_used (x, is_dest)
- break;
- if (REGNO (y) < 16)
- return (((1 << HARD_REGNO_NREGS (0, GET_MODE (x))) - 1)
-- << (REGNO (y) + SUBREG_WORD (x) + is_dest));
-+ << (REGNO (y) +
-+ SUBREG_REGNO_OFFSET (REGNO (y),
-+ GET_MODE (y),
-+ SUBREG_BYTE (x),
-+ GET_MOD (x)) + is_dest));
- return 0;
- }
- case SET:
-@@ -3163,7 +3167,10 @@ machine_dependent_reorg (first)
- mode = HImode;
- while (GET_CODE (dst) == SUBREG)
- {
-- offset += SUBREG_WORD (dst);
-+ offset += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (dst)),
-+ GET_MODE (SUBREG_REG (dst)),
-+ SUBREG_BYTE (dst),
-+ GET_MODE (dst));
- dst = SUBREG_REG (dst);
- }
- dst = gen_rtx_REG (HImode, REGNO (dst) + offset);
---- gcc/config/sh/sh.md.jj Thu Jul 27 19:46:48 2000
-+++ gcc/config/sh/sh.md Mon Jul 31 20:46:24 2000
-@@ -2455,7 +2455,7 @@
- if (GET_CODE (operands[0]) == REG)
- regno = REGNO (operands[0]);
- else if (GET_CODE (operands[0]) == SUBREG)
-- regno = REGNO (SUBREG_REG (operands[0])) + SUBREG_WORD (operands[0]);
-+ regno = SUBREG_REGNO (operands[0]);
- else if (GET_CODE (operands[0]) == MEM)
- regno = -1;
-
-@@ -2593,7 +2593,7 @@
- mem = operands[1];
- store_p = 0;
- }
-- if (GET_CODE (mem) == SUBREG && SUBREG_WORD (mem) == 0)
-+ if (GET_CODE (mem) == SUBREG && SUBREG_BYTE (mem) == 0)
- mem = SUBREG_REG (mem);
- if (GET_CODE (mem) == MEM)
- {
-@@ -2840,7 +2840,7 @@
- if (GET_CODE (operands[0]) == REG)
- regno = REGNO (operands[0]);
- else if (GET_CODE (operands[0]) == SUBREG)
-- regno = REGNO (SUBREG_REG (operands[0])) + SUBREG_WORD (operands[0]);
-+ regno = SUBREG_REGNO (operands[0]);
- else if (GET_CODE (operands[0]) == MEM)
- regno = -1;
-
---- gcc/config/sh/sh.h.jj Wed Jun 14 07:08:04 2000
-+++ gcc/config/sh/sh.h Mon Jul 31 20:46:24 2000
-@@ -1321,7 +1321,7 @@ extern int current_function_anonymous_ar
- ((GET_CODE (X) == REG && REG_OK_FOR_INDEX_P (X)) \
- || (GET_CODE (X) == SUBREG \
- && GET_CODE (SUBREG_REG (X)) == REG \
-- && SUBREG_OK_FOR_INDEX_P (SUBREG_REG (X), SUBREG_WORD (X))))
-+ && SUBREG_OK_FOR_INDEX_P (SUBREG_REG (X), SUBREG_BYTE (X))))
-
- /* Jump to LABEL if X is a valid address RTX. This must also take
- REG_OK_STRICT into account when deciding about valid registers, but it uses
---- gcc/config/sparc/sparc.c.jj Mon Jul 31 20:02:17 2000
-+++ gcc/config/sparc/sparc.c Mon Jul 31 20:46:24 2000
-@@ -7465,8 +7465,8 @@ ultra_find_type (type_mask, list, start)
- && GET_CODE (SET_SRC (pat)) == SUBREG
- && REGNO (SUBREG_REG (SET_DEST (slot_pat))) ==
- REGNO (SUBREG_REG (SET_SRC (pat)))
-- && SUBREG_WORD (SET_DEST (slot_pat)) ==
-- SUBREG_WORD (SET_SRC (pat)))))
-+ && SUBREG_BYTE (SET_DEST (slot_pat)) ==
-+ SUBREG_BYTE (SET_SRC (pat)))))
- || (check_fpmode_conflict == 1
- && GET_CODE (slot_insn) == INSN
- && GET_CODE (slot_pat) == SET
---- gcc/config/sparc/sparc.h.jj Sun Jul 2 10:37:16 2000
-+++ gcc/config/sparc/sparc.h Mon Jul 31 20:46:24 2000
-@@ -1144,25 +1144,34 @@ while (0)
- : (GET_MODE_SIZE (MODE) + 3) / 4) \
- : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
-
--/* A subreg in 64 bit mode will have the wrong offset for a floating point
-- register. The least significant part is at offset 1, compared to 0 for
-- integer registers. This only applies when FMODE is a larger mode.
-- We also need to handle a special case of TF-->DF conversions. */
--#define ALTER_HARD_SUBREG(TMODE, WORD, FMODE, REGNO) \
-- (TARGET_ARCH64 \
-- && (REGNO) >= SPARC_FIRST_FP_REG \
-- && (REGNO) <= SPARC_LAST_V9_FP_REG \
-- && (TMODE) == SImode \
-- && !((FMODE) == QImode || (FMODE) == HImode) \
-- ? ((REGNO) + 1) \
-- : ((TMODE) == DFmode && (FMODE) == TFmode) \
-- ? ((REGNO) + ((WORD) * 2)) \
-- : ((REGNO) + (WORD)))
-+/* Due to the ARCH64 descrepancy above we must override these
-+ next two macros too. */
-+#define REG_SIZE(R) \
-+ (TARGET_ARCH64 \
-+ && ((GET_CODE (R) == REG \
-+ && ((REGNO (R) >= FIRST_PSEUDO_REGISTER \
-+ && FLOAT_MODE_P (GET_MODE (R))) \
-+ || (REGNO (R) < FIRST_PSEUDO_REGISTER \
-+ && REGNO (R) >= 32))) \
-+ || (GET_CODE (R) == SUBREG \
-+ && ((REGNO (SUBREG_REG (R)) >= FIRST_PSEUDO_REGISTER \
-+ && FLOAT_MODE_P (GET_MODE (SUBREG_REG (R)))) \
-+ || (REGNO (SUBREG_REG (R)) < FIRST_PSEUDO_REGISTER \
-+ && REGNO (SUBREG_REG (R)) >= 32)))) \
-+ ? (GET_MODE_SIZE (GET_MODE (R)) + 3) / 4 \
-+ : (GET_MODE_SIZE (GET_MODE (R)) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
-+
-+#define REGMODE_NATURAL_SIZE(MODE) \
-+ ((TARGET_ARCH64 && FLOAT_MODE_P (MODE)) ? 4 : UNITS_PER_WORD)
-
- /* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
- See sparc.c for how we initialize this. */
- extern int *hard_regno_mode_classes;
- extern int sparc_mode_class[];
-+
-+/* ??? Because of the funny way we pass parameters we should allow certain
-+ ??? types of float/complex values to be in integer registers during
-+ ??? RTL generation. This only matters on arch32. */
- #define HARD_REGNO_MODE_OK(REGNO, MODE) \
- ((hard_regno_mode_classes[REGNO] & sparc_mode_class[MODE]) != 0)
-
---- gcc/config/sparc/sparc.md.jj Mon Jul 31 20:02:17 2000
-+++ gcc/config/sparc/sparc.md Mon Jul 31 20:46:24 2000
-@@ -4546,15 +4546,17 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_16 = GEN_INT (16);
-- int op1_subword = 0;
-+ int op1_subbyte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subword = SUBREG_WORD (operand1);
-+ op1_subbyte = SUBREG_BYTE (operand1);
-+ op1_subbyte /= GET_MODE_SIZE (SImode);
-+ op1_subbyte *= GET_MODE_SIZE (SImode);
- operand1 = XEXP (operand1, 0);
- }
-
-- emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subword),
-+ emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subbyte),
- shift_16));
- emit_insn (gen_lshrsi3 (operand0, temp, shift_16));
- DONE;
-@@ -4624,15 +4626,17 @@
- {
- rtx temp = gen_reg_rtx (DImode);
- rtx shift_48 = GEN_INT (48);
-- int op1_subword = 0;
-+ int op1_subbyte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subword = SUBREG_WORD (operand1);
-+ op1_subbyte = SUBREG_BYTE (operand1);
-+ op1_subbyte /= GET_MODE_SIZE (DImode);
-+ op1_subbyte *= GET_MODE_SIZE (DImode);
- operand1 = XEXP (operand1, 0);
- }
-
-- emit_insn (gen_ashldi3 (temp, gen_rtx_SUBREG (DImode, operand1, op1_subword),
-+ emit_insn (gen_ashldi3 (temp, gen_rtx_SUBREG (DImode, operand1, op1_subbyte),
- shift_48));
- emit_insn (gen_lshrdi3 (operand0, temp, shift_48));
- DONE;
-@@ -4794,7 +4798,7 @@
-
- (define_insn "*cmp_siqi_trunc"
- [(set (reg:CC 100)
-- (compare:CC (subreg:QI (match_operand:SI 0 "register_operand" "r") 0)
-+ (compare:CC (subreg:QI (match_operand:SI 0 "register_operand" "r") 3)
- (const_int 0)))]
- ""
- "andcc\\t%0, 0xff, %%g0"
-@@ -4803,10 +4807,10 @@
-
- (define_insn "*cmp_siqi_trunc_set"
- [(set (reg:CC 100)
-- (compare:CC (subreg:QI (match_operand:SI 1 "register_operand" "r") 0)
-+ (compare:CC (subreg:QI (match_operand:SI 1 "register_operand" "r") 3)
- (const_int 0)))
- (set (match_operand:QI 0 "register_operand" "=r")
-- (subreg:QI (match_dup 1) 0))]
-+ (subreg:QI (match_dup 1) 3))]
- ""
- "andcc\\t%1, 0xff, %0"
- [(set_attr "type" "compare")
-@@ -4814,7 +4818,7 @@
-
- (define_insn "*cmp_diqi_trunc"
- [(set (reg:CC 100)
-- (compare:CC (subreg:QI (match_operand:DI 0 "register_operand" "r") 0)
-+ (compare:CC (subreg:QI (match_operand:DI 0 "register_operand" "r") 7)
- (const_int 0)))]
- "TARGET_ARCH64"
- "andcc\\t%0, 0xff, %%g0"
-@@ -4823,10 +4827,10 @@
-
- (define_insn "*cmp_diqi_trunc_set"
- [(set (reg:CC 100)
-- (compare:CC (subreg:QI (match_operand:DI 1 "register_operand" "r") 0)
-+ (compare:CC (subreg:QI (match_operand:DI 1 "register_operand" "r") 7)
- (const_int 0)))
- (set (match_operand:QI 0 "register_operand" "=r")
-- (subreg:QI (match_dup 1) 0))]
-+ (subreg:QI (match_dup 1) 7))]
- "TARGET_ARCH64"
- "andcc\\t%1, 0xff, %0"
- [(set_attr "type" "compare")
-@@ -4846,15 +4850,17 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_16 = GEN_INT (16);
-- int op1_subword = 0;
-+ int op1_subbyte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subword = SUBREG_WORD (operand1);
-+ op1_subbyte = SUBREG_BYTE (operand1);
-+ op1_subbyte /= GET_MODE_SIZE (SImode);
-+ op1_subbyte *= GET_MODE_SIZE (SImode);
- operand1 = XEXP (operand1, 0);
- }
-
-- emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subword),
-+ emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subbyte),
- shift_16));
- emit_insn (gen_ashrsi3 (operand0, temp, shift_16));
- DONE;
-@@ -4876,23 +4882,27 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_24 = GEN_INT (24);
-- int op1_subword = 0;
-- int op0_subword = 0;
-+ int op1_subbyte = 0;
-+ int op0_subbyte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subword = SUBREG_WORD (operand1);
-+ op1_subbyte = SUBREG_BYTE (operand1);
-+ op1_subbyte /= GET_MODE_SIZE (SImode);
-+ op1_subbyte *= GET_MODE_SIZE (SImode);
- operand1 = XEXP (operand1, 0);
- }
- if (GET_CODE (operand0) == SUBREG)
- {
-- op0_subword = SUBREG_WORD (operand0);
-+ op0_subbyte = SUBREG_BYTE (operand0);
-+ op0_subbyte /= GET_MODE_SIZE (SImode);
-+ op0_subbyte *= GET_MODE_SIZE (SImode);
- operand0 = XEXP (operand0, 0);
- }
-- emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subword),
-+ emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subbyte),
- shift_24));
- if (GET_MODE (operand0) != SImode)
-- operand0 = gen_rtx_SUBREG (SImode, operand0, op0_subword);
-+ operand0 = gen_rtx_SUBREG (SImode, operand0, op0_subbyte);
- emit_insn (gen_ashrsi3 (operand0, temp, shift_24));
- DONE;
- }")
-@@ -4913,15 +4923,17 @@
- {
- rtx temp = gen_reg_rtx (SImode);
- rtx shift_24 = GEN_INT (24);
-- int op1_subword = 0;
-+ int op1_subbyte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subword = SUBREG_WORD (operand1);
-+ op1_subbyte = SUBREG_BYTE (operand1);
-+ op1_subbyte /= GET_MODE_SIZE (SImode);
-+ op1_subbyte *= GET_MODE_SIZE (SImode);
- operand1 = XEXP (operand1, 0);
- }
-
-- emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subword),
-+ emit_insn (gen_ashlsi3 (temp, gen_rtx_SUBREG (SImode, operand1, op1_subbyte),
- shift_24));
- emit_insn (gen_ashrsi3 (operand0, temp, shift_24));
- DONE;
-@@ -4943,15 +4955,17 @@
- {
- rtx temp = gen_reg_rtx (DImode);
- rtx shift_56 = GEN_INT (56);
-- int op1_subword = 0;
-+ int op1_subbyte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subword = SUBREG_WORD (operand1);
-+ op1_subbyte = SUBREG_BYTE (operand1);
-+ op1_subbyte /= GET_MODE_SIZE (DImode);
-+ op1_subbyte *= GET_MODE_SIZE (DImode);
- operand1 = XEXP (operand1, 0);
- }
-
-- emit_insn (gen_ashldi3 (temp, gen_rtx_SUBREG (DImode, operand1, op1_subword),
-+ emit_insn (gen_ashldi3 (temp, gen_rtx_SUBREG (DImode, operand1, op1_subbyte),
- shift_56));
- emit_insn (gen_ashrdi3 (operand0, temp, shift_56));
- DONE;
-@@ -4973,15 +4987,17 @@
- {
- rtx temp = gen_reg_rtx (DImode);
- rtx shift_48 = GEN_INT (48);
-- int op1_subword = 0;
-+ int op1_subbyte = 0;
-
- if (GET_CODE (operand1) == SUBREG)
- {
-- op1_subword = SUBREG_WORD (operand1);
-+ op1_subbyte = SUBREG_BYTE (operand1);
-+ op1_subbyte /= GET_MODE_SIZE (DImode);
-+ op1_subbyte *= GET_MODE_SIZE (DImode);
- operand1 = XEXP (operand1, 0);
- }
-
-- emit_insn (gen_ashldi3 (temp, gen_rtx_SUBREG (DImode, operand1, op1_subword),
-+ emit_insn (gen_ashldi3 (temp, gen_rtx_SUBREG (DImode, operand1, op1_subbyte),
- shift_48));
- emit_insn (gen_ashrdi3 (operand0, temp, shift_48));
- DONE;
-@@ -6254,7 +6270,7 @@
- (mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" "r,r"))
- (sign_extend:DI (match_operand:SI 2 "register_operand" "r,r")))
- (match_operand:SI 3 "const_int_operand" "i,i"))
-- 1))
-+ 4))
- (clobber (match_scratch:SI 4 "=X,&h"))]
- "TARGET_V8PLUS"
- "@
-@@ -8323,7 +8339,7 @@
- (define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r")
- (ashiftrt:SI (subreg:SI (lshiftrt:DI (match_operand:DI 1 "register_operand" "r")
-- (const_int 32)) 0)
-+ (const_int 32)) 4)
- (match_operand:SI 2 "small_int_or_double" "n")))]
- "TARGET_ARCH64
- && ((GET_CODE (operands[2]) == CONST_INT
-@@ -8343,7 +8359,7 @@
- (define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r")
- (lshiftrt:SI (subreg:SI (ashiftrt:DI (match_operand:DI 1 "register_operand" "r")
-- (const_int 32)) 0)
-+ (const_int 32)) 4)
- (match_operand:SI 2 "small_int_or_double" "n")))]
- "TARGET_ARCH64
- && ((GET_CODE (operands[2]) == CONST_INT
-@@ -8363,7 +8379,7 @@
- (define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r")
- (ashiftrt:SI (subreg:SI (ashiftrt:DI (match_operand:DI 1 "register_operand" "r")
-- (match_operand:SI 2 "small_int_or_double" "n")) 0)
-+ (match_operand:SI 2 "small_int_or_double" "n")) 4)
- (match_operand:SI 3 "small_int_or_double" "n")))]
- "TARGET_ARCH64
- && GET_CODE (operands[2]) == CONST_INT && GET_CODE (operands[3]) == CONST_INT
-@@ -8382,7 +8398,7 @@
- (define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r")
- (lshiftrt:SI (subreg:SI (lshiftrt:DI (match_operand:DI 1 "register_operand" "r")
-- (match_operand:SI 2 "small_int_or_double" "n")) 0)
-+ (match_operand:SI 2 "small_int_or_double" "n")) 4)
- (match_operand:SI 3 "small_int_or_double" "n")))]
- "TARGET_ARCH64
- && GET_CODE (operands[2]) == CONST_INT && GET_CODE (operands[3]) == CONST_INT
---- gcc/config/spur/spur.md.jj Tue Sep 7 07:49:08 1999
-+++ gcc/config/spur/spur.md Mon Jul 31 20:46:24 2000
-@@ -291,7 +291,7 @@
- emit_move_insn (tem, gen_rtx_MEM (SImode, addr));
- if (GET_CODE (operands[0]) == SUBREG)
- subreg = gen_rtx_SUBREG (SImode, SUBREG_REG (operands[0]),
-- SUBREG_WORD (operands[0]));
-+ SUBREG_BYTE (operands[0]));
- else
- subreg = gen_rtx_SUBREG (SImode, operands[0], 0);
-
-@@ -311,7 +311,7 @@
- {
- if (GET_CODE (operands[1]) == SUBREG)
- subreg = gen_rtx_SUBREG (SImode, SUBREG_REG (operands[1]),
-- SUBREG_WORD (operands[1]));
-+ SUBREG_BYTE (operands[1]));
- else
- subreg = gen_rtx_SUBREG (SImode, operands[1], 0);
- }
-@@ -444,7 +444,7 @@
- {
- if (GET_CODE (operands[1]) == SUBREG)
- operands[5] = gen_rtx_SUBREG (SImode, SUBREG_REG (operands[1]),
-- SUBREG_WORD (operands[1]));
-+ SUBREG_BYTE (operands[1]));
- else
- operands[5] = gen_rtx_SUBREG (SImode, operands[1], 0);
- }")
-@@ -700,7 +700,7 @@
- {
- if (GET_CODE (operands[1]) == SUBREG)
- operands[1] = gen_rtx_SUBREG (SImode, SUBREG_REG (operands[1]),
-- SUBREG_WORD (operands[1]));
-+ SUBREG_BYTE (operands[1]));
- else
- operands[1] = gen_rtx_SUBREG (SImode, operands[1], 0);
-
-@@ -737,7 +737,7 @@
- {
- if (GET_CODE (operands[1]) == SUBREG)
- operands[1] = gen_rtx_SUBREG (SImode, SUBREG_REG (operands[1]),
-- SUBREG_WORD (operands[1]));
-+ SUBREG_BYTE (operands[1]));
- else
- operands[1] = gen_rtx_SUBREG (SImode, operands[1], 0);
-
-@@ -760,7 +760,7 @@
- {
- if (GET_CODE (operands[1]) == SUBREG)
- operands[1] = gen_rtx_SUBREG (HImode, SUBREG_REG (operands[1]),
-- SUBREG_WORD (operands[1]));
-+ SUBREG_BYTE (operands[1]));
- else
- operands[1] = gen_rtx_SUBREG (HImode, operands[1], 0);
-
-@@ -780,7 +780,7 @@
- {
- if (GET_CODE (operands[1]) == SUBREG)
- operands[1] = gen_rtx_SUBREG (SImode, SUBREG_REG (operands[1]),
-- SUBREG_WORD (operands[1]));
-+ SUBREG_BYTE (operands[1]));
- else
- operands[1] = gen_rtx_SUBREG (SImode, operands[1], 0);
-
---- gcc/config/v850/v850.c.jj Mon Mar 13 18:02:25 2000
-+++ gcc/config/v850/v850.c Mon Jul 31 20:46:24 2000
-@@ -533,7 +533,7 @@ print_operand (file, x, code)
- fputs (reg_names[REGNO (x)], file);
- break;
- case SUBREG:
-- fputs (reg_names[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)], file);
-+ fputs (reg_names[SUBREG_REGNO (x)], file);
- break;
- case CONST_INT:
- case SYMBOL_REF:
-@@ -815,7 +815,7 @@ output_move_double (operands)
- if (GET_CODE (inside) == REG)
- ptrreg = REGNO (inside);
- else if (GET_CODE (inside) == SUBREG)
-- ptrreg = REGNO (SUBREG_REG (inside)) + SUBREG_WORD (inside);
-+ ptrreg = SUBREG_REGNO (inside);
- else if (GET_CODE (inside) == PLUS)
- ptrreg = REGNO (XEXP (inside, 0));
- else if (GET_CODE (inside) == LO_SUM)
---- gcc/config/d30v/d30v.c.jj Thu Jun 1 11:56:46 2000
-+++ gcc/config/d30v/d30v.c Mon Jul 31 20:46:24 2000
-@@ -2672,10 +2672,13 @@ d30v_split_double (value, p_high, p_low)
- switch (GET_CODE (value))
- {
- case SUBREG:
-- offset = SUBREG_WORD (value);
-- value = SUBREG_REG (value);
-- if (GET_CODE (value) != REG)
-+ if (GET_CODE (SUBREG_REG (value)) != REG)
- abort ();
-+ offset = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (value)),
-+ GET_MODE (SUBREG_REG (value)),
-+ SUBREG_BYTE (value),
-+ GET_MODE (value));
-+ value = SUBREG_REG (value);
-
- /* fall through */
-
-@@ -2800,7 +2803,10 @@ d30v_print_operand_memory_reference (str
-
- if (GET_CODE (x0) == SUBREG)
- {
-- offset0 = SUBREG_WORD (x0);
-+ offset0 = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x0)),
-+ GET_MODE (SUBREG_REG (x0)),
-+ SUBREG_BYTE (x0),
-+ GET_MODE (x0));
- x0 = SUBREG_REG (x0);
- }
-
-@@ -2833,7 +2839,10 @@ d30v_print_operand_memory_reference (str
- switch (GET_CODE (x1))
- {
- case SUBREG:
-- offset1 = SUBREG_WORD (x1);
-+ offset1 = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x1)),
-+ GET_MODE (SUBREG_REG (x1)),
-+ SUBREG_BYTE (x1),
-+ GET_MODE (x1));
- x1 = SUBREG_REG (x1);
- if (GET_CODE (x1) != REG)
- fatal_insn ("Bad insn to d30v_print_operand_memory_reference:", x);
---- gcc/java/javaop.h.jj Thu May 4 17:05:18 2000
-+++ gcc/java/javaop.h Mon Jul 31 20:46:24 2000
-@@ -33,7 +33,7 @@ typedef unsigned char uint8;
- typedef unsigned int16 uint16;
-
- #ifndef int32
--#define int32 long
-+#define int32 int
- #endif
- typedef unsigned int32 uint32;
-
-@@ -62,7 +62,7 @@ typedef void* jref;
- #define jfloat float
- #endif
-
--/* A 32-bit IEEE double-precision float. */
-+/* A 64-bit IEEE double-precision float. */
- #ifndef jdouble
- #define jdouble double
- #endif
---- gcc/cse.c.jj Mon Jul 31 20:02:09 2000
-+++ gcc/cse.c Mon Jul 31 20:46:24 2000
-@@ -1148,11 +1148,11 @@ mention_regs (x)
- /* If reg_tick has been incremented more than once since
- reg_in_table was last set, that means that the entire
- register has been set before, so discard anything memorized
-- for the entrire register, including all SUBREG expressions. */
-+ for the entire register, including all SUBREG expressions. */
- if (REG_IN_TABLE (i) != REG_TICK (i) - 1)
- remove_invalid_refs (i);
- else
-- remove_invalid_subreg_refs (i, SUBREG_WORD (x), GET_MODE (x));
-+ remove_invalid_subreg_refs (i, SUBREG_BYTE (x), GET_MODE (x));
- }
-
- REG_IN_TABLE (i) = REG_TICK (i);
-@@ -1927,33 +1927,31 @@ remove_invalid_refs (regno)
- }
- }
-
--/* Likewise for a subreg with subreg_reg WORD and mode MODE. */
-+/* Likewise for a subreg with subreg_reg REGNO and subreg_byte OFFSET. */
- static void
--remove_invalid_subreg_refs (regno, word, mode)
-+remove_invalid_subreg_refs (regno, offset, mode)
- unsigned int regno;
-- unsigned int word;
-+ unsigned int offset;
- enum machine_mode mode;
- {
- unsigned int i;
- struct table_elt *p, *next;
-- unsigned int end = word + (GET_MODE_SIZE (mode) - 1) / UNITS_PER_WORD;
-+ unsigned int end = offset + (GET_MODE_SIZE (mode) - 1);
-
- for (i = 0; i < HASH_SIZE; i++)
- for (p = table[i]; p; p = next)
- {
-- rtx exp;
-+ rtx exp = p->exp;
- next = p->next_same_hash;
-
-- exp = p->exp;
-- if (GET_CODE (p->exp) != REG
-+ if (GET_CODE (exp) != REG
- && (GET_CODE (exp) != SUBREG
- || GET_CODE (SUBREG_REG (exp)) != REG
- || REGNO (SUBREG_REG (exp)) != regno
-- || (((SUBREG_WORD (exp)
-- + (GET_MODE_SIZE (GET_MODE (exp)) - 1) / UNITS_PER_WORD)
-- >= word)
-- && SUBREG_WORD (exp) <= end))
-- && refers_to_regno_p (regno, regno + 1, p->exp, NULL_PTR))
-+ || (((SUBREG_BYTE (exp)
-+ + (GET_MODE_SIZE (GET_MODE (exp)) - 1)) >= offset)
-+ && SUBREG_BYTE (exp) <= end))
-+ && refers_to_regno_p (regno, regno + 1, exp, NULL_PTR))
- remove_from_table (p, i);
- }
- }
-@@ -2210,7 +2208,8 @@ canon_hash (x, mode)
- if (GET_CODE (SUBREG_REG (x)) == REG)
- {
- hash += (((unsigned) SUBREG << 7)
-- + REGNO (SUBREG_REG (x)) + SUBREG_WORD (x));
-+ + REGNO (SUBREG_REG (x))
-+ + (SUBREG_BYTE (x) / UNITS_PER_WORD));
- return hash;
- }
- break;
-@@ -3231,7 +3230,8 @@ fold_rtx (x, insn)
- if (GET_MODE_CLASS (mode) == MODE_INT
- && GET_MODE_SIZE (mode) == UNITS_PER_WORD
- && GET_MODE (SUBREG_REG (x)) != VOIDmode)
-- new = operand_subword (folded_arg0, SUBREG_WORD (x), 0,
-+ new = operand_subword (folded_arg0,
-+ (SUBREG_BYTE (x) / UNITS_PER_WORD), 0,
- GET_MODE (SUBREG_REG (x)));
- if (new == 0 && subreg_lowpart_p (x))
- new = gen_lowpart_if_possible (mode, folded_arg0);
-@@ -4171,10 +4171,12 @@ gen_lowpart_if_possible (mode, x)
- offset = (MAX (GET_MODE_SIZE (GET_MODE (x)), UNITS_PER_WORD)
- - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD));
- if (BYTES_BIG_ENDIAN)
-- /* Adjust the address so that the address-after-the-data is
-- unchanged. */
-- offset -= (MIN (UNITS_PER_WORD, GET_MODE_SIZE (mode))
-- - MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (x))));
-+ {
-+ /* Adjust the address so that the address-after-the-data is
-+ unchanged. */
-+ offset -= (MIN (UNITS_PER_WORD, GET_MODE_SIZE (mode))
-+ - MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (x))));
-+ }
- new = gen_rtx_MEM (mode, plus_constant (XEXP (x, 0), offset));
- if (! memory_address_p (mode, XEXP (new, 0)))
- return 0;
-@@ -5293,7 +5295,7 @@ cse_insn (insn, libcall_insn)
- if (libcall_insn
- && (GET_CODE (sets[i].orig_src) == REG
- || GET_CODE (sets[i].orig_src) == SUBREG
-- || GET_CODE (sets[i].orig_src) == MEM))
-+ || GET_CODE (sets[i].orig_src) == MEM))
- replace_rtx (REG_NOTES (libcall_insn), sets[i].orig_src,
- canon_reg (SET_SRC (sets[i].rtl), insn));
-
---- gcc/rtl.h.jj Mon Jul 31 20:02:12 2000
-+++ gcc/rtl.h Mon Jul 31 20:46:24 2000
-@@ -727,10 +727,39 @@ extern const char * const note_insn_name
- #define INTVAL(RTX) XCWINT(RTX, 0, CONST_INT)
-
- /* For a SUBREG rtx, SUBREG_REG extracts the value we want a subreg of.
-- SUBREG_WORD extracts the word-number. */
-+ SUBREG_BYTE extracts the byte-number. */
-
- #define SUBREG_REG(RTX) XCEXP(RTX, 0, SUBREG)
--#define SUBREG_WORD(RTX) XCUINT(RTX, 1, SUBREG)
-+#define SUBREG_BYTE(RTX) XCUINT(RTX, 1, SUBREG)
-+#define SUBREG_WORD(RTX) ((RTX)->fld[1].subreg_word_no_longer_exists_dummy)
-+
-+/* Given XREGNO, a REGNO of an inner hard SUBREG_REG (or what will become
-+ one), XMODE the mode of that reg, OFFSET the byte offset, and YMODE
-+ the mode of a top level SUBREG (or what may become one) return regno
-+ offset which would be used. */
-+#define SUBREG_REGNO_OFFSET(XREGNO,XMODE,OFFSET,YMODE) \
-+ (XREGNO >= FIRST_PSEUDO_REGISTER ? \
-+ (abort (), 0) : \
-+ (((OFFSET) == 0 \
-+ || (HARD_REGNO_NREGS (XREGNO, XMODE) == \
-+ HARD_REGNO_NREGS (XREGNO, YMODE))) ? \
-+ 0 : \
-+ ((GET_MODE_SIZE (YMODE) > GET_MODE_SIZE (XMODE)) ? \
-+ (abort (), 0) : \
-+ (((OFFSET / GET_MODE_SIZE (YMODE)) / \
-+ ((GET_MODE_SIZE (XMODE) / GET_MODE_SIZE (YMODE)) / \
-+ (HARD_REGNO_NREGS (XREGNO, XMODE) / \
-+ HARD_REGNO_NREGS (XREGNO, YMODE)))) * \
-+ HARD_REGNO_NREGS (XREGNO, YMODE)))))
-+
-+/* Given X, a SUBREG, with an inner SUBREG_REG which is
-+ a hard REG, give the final regno it refers to. */
-+#define SUBREG_REGNO(X) \
-+ (REGNO (SUBREG_REG (X)) \
-+ + (SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (X)), \
-+ GET_MODE (SUBREG_REG (X)), \
-+ SUBREG_BYTE (X), \
-+ GET_MODE (X))))
-
- /* 1 if the REG contained in SUBREG_REG is already known to be
- sign- or zero-extended from the mode of the SUBREG to the mode of
-@@ -1114,6 +1143,7 @@ extern int rtx_equal_p
- extern rtvec gen_rtvec_v PARAMS ((int, rtx *));
- extern rtx gen_reg_rtx PARAMS ((enum machine_mode));
- extern rtx gen_label_rtx PARAMS ((void));
-+extern int subreg_hard_regno PARAMS ((rtx, int));
- extern rtx gen_lowpart_common PARAMS ((enum machine_mode, rtx));
- extern rtx gen_lowpart PARAMS ((enum machine_mode, rtx));
-
-@@ -1126,6 +1156,8 @@ extern rtx gen_realpart PARAMS ((enum
- extern rtx gen_imagpart PARAMS ((enum machine_mode, rtx));
- extern rtx operand_subword PARAMS ((rtx, unsigned int, int,
- enum machine_mode));
-+extern rtx constant_subword PARAMS ((rtx, int,
-+ enum machine_mode));
-
- /* In emit-rtl.c */
- extern rtx operand_subword_force PARAMS ((rtx, unsigned int,
-@@ -1468,7 +1500,10 @@ extern rtx gen_rtx_CONST_DOUBLE PARAMS (
- HOST_WIDE_INT, HOST_WIDE_INT));
- extern rtx gen_rtx_CONST_INT PARAMS ((enum machine_mode, HOST_WIDE_INT));
- extern rtx gen_rtx_REG PARAMS ((enum machine_mode, int));
-+extern rtx gen_rtx_SUBREG PARAMS ((enum machine_mode, rtx, int));
- extern rtx gen_rtx_MEM PARAMS ((enum machine_mode, rtx));
-+
-+extern rtx gen_lowpart_SUBREG PARAMS ((enum machine_mode, rtx));
-
- /* We need the cast here to ensure that we get the same result both with
- and without prototypes. */
---- gcc/dbxout.c.jj Mon Jul 24 11:04:17 2000
-+++ gcc/dbxout.c Mon Jul 31 20:46:24 2000
-@@ -2017,20 +2017,15 @@ dbxout_symbol_location (decl, type, suff
- else if (GET_CODE (home) == SUBREG)
- {
- rtx value = home;
-- int offset = 0;
-+
- while (GET_CODE (value) == SUBREG)
-- {
-- offset += SUBREG_WORD (value);
-- value = SUBREG_REG (value);
-- }
-+ value = SUBREG_REG (value);
- if (GET_CODE (value) == REG)
- {
-- regno = REGNO (value);
-- if (regno >= FIRST_PSEUDO_REGISTER)
-+ if (REGNO (value) >= FIRST_PSEUDO_REGISTER)
- return 0;
-- regno += offset;
- }
-- alter_subreg (home);
-+ regno = REGNO (alter_subreg (home));
- }
-
- /* The kind-of-variable letter depends on where
---- gcc/combine.c.jj Mon Jul 31 20:02:09 2000
-+++ gcc/combine.c Mon Jul 31 20:46:24 2000
-@@ -2224,7 +2224,7 @@ try_combine (i3, i2, i1, new_direct_jump
- be written as a ZERO_EXTEND. */
- if (split_code == SUBREG && GET_CODE (SUBREG_REG (*split)) == MEM)
- SUBST (*split, gen_rtx_combine (ZERO_EXTEND, split_mode,
-- XEXP (*split, 0)));
-+ SUBREG_REG (*split)));
- #endif
-
- newi2pat = gen_rtx_combine (SET, VOIDmode, newdest, *split);
-@@ -3743,27 +3743,17 @@ combine_simplify_rtx (x, op0_mode, last,
- <= GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
- {
- rtx inner = SUBREG_REG (x);
-- int endian_offset = 0;
-+ int offset = SUBREG_BYTE (x);
- /* Don't change the mode of the MEM
- if that would change the meaning of the address. */
- if (MEM_VOLATILE_P (SUBREG_REG (x))
- || mode_dependent_address_p (XEXP (inner, 0)))
- return gen_rtx_CLOBBER (mode, const0_rtx);
-
-- if (BYTES_BIG_ENDIAN)
-- {
-- if (GET_MODE_SIZE (mode) < UNITS_PER_WORD)
-- endian_offset += UNITS_PER_WORD - GET_MODE_SIZE (mode);
-- if (GET_MODE_SIZE (GET_MODE (inner)) < UNITS_PER_WORD)
-- endian_offset -= (UNITS_PER_WORD
-- - GET_MODE_SIZE (GET_MODE (inner)));
-- }
- /* Note if the plus_constant doesn't make a valid address
- then this combination won't be accepted. */
- x = gen_rtx_MEM (mode,
-- plus_constant (XEXP (inner, 0),
-- (SUBREG_WORD (x) * UNITS_PER_WORD
-- + endian_offset)));
-+ plus_constant (XEXP (inner, 0), offset));
- MEM_COPY_ATTRIBUTES (x, inner);
- return x;
- }
-@@ -3776,12 +3766,58 @@ combine_simplify_rtx (x, op0_mode, last,
- or not at all if changing back to starting mode. */
- if (GET_CODE (SUBREG_REG (x)) == SUBREG)
- {
-- if (mode == GET_MODE (SUBREG_REG (SUBREG_REG (x)))
-- && SUBREG_WORD (x) == 0 && SUBREG_WORD (SUBREG_REG (x)) == 0)
-- return SUBREG_REG (SUBREG_REG (x));
-+ int final_offset;
-+ enum machine_mode outer_mode, inner_mode;
-
-- SUBST_INT (SUBREG_WORD (x),
-- SUBREG_WORD (x) + SUBREG_WORD (SUBREG_REG (x)));
-+ /* If the innermost mode is the same as the goal mode,
-+ and the low word is being referenced in both SUBREGs,
-+ return the innermost element. */
-+ if (mode == GET_MODE (SUBREG_REG (SUBREG_REG (x))))
-+ {
-+ int inner_word = SUBREG_BYTE (SUBREG_REG (x));
-+ int outer_word = SUBREG_BYTE (x);
-+
-+ inner_word = (inner_word / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ outer_word = (outer_word / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ if (inner_word == 0
-+ && outer_word == 0)
-+ return SUBREG_REG (SUBREG_REG (x));
-+ }
-+
-+ outer_mode = GET_MODE (SUBREG_REG (x));
-+ inner_mode = GET_MODE (SUBREG_REG (SUBREG_REG (x)));
-+ final_offset = SUBREG_BYTE (x) + SUBREG_BYTE (SUBREG_REG(x));
-+
-+ if ((WORDS_BIG_ENDIAN || BYTES_BIG_ENDIAN)
-+ && GET_MODE_SIZE (outer_mode) > GET_MODE_SIZE (mode)
-+ && GET_MODE_SIZE (outer_mode) > GET_MODE_SIZE (inner_mode))
-+ {
-+ /* Inner SUBREG is paradoxical, outer is not. On big endian
-+ we have to special case this. */
-+ if (SUBREG_BYTE (SUBREG_REG (x)))
-+ abort(); /* Can a paradoxical subreg have nonzero offset? */
-+ if (WORDS_BIG_ENDIAN && BYTES_BIG_ENDIAN)
-+ final_offset = SUBREG_BYTE (x) - GET_MODE_SIZE (outer_mode)
-+ + GET_MODE_SIZE (inner_mode);
-+ else if (WORDS_BIG_ENDIAN)
-+ final_offset = (final_offset % UNITS_PER_WORD)
-+ + ((SUBREG_BYTE (x) - GET_MODE_SIZE (outer_mode)
-+ + GET_MODE_SIZE (inner_mode))
-+ * UNITS_PER_WORD) / UNITS_PER_WORD;
-+ else
-+ final_offset = ((final_offset * UNITS_PER_WORD)
-+ / UNITS_PER_WORD)
-+ + ((SUBREG_BYTE (x) - GET_MODE_SIZE (outer_mode)
-+ + GET_MODE_SIZE (inner_mode))
-+ % UNITS_PER_WORD);
-+ }
-+
-+ /* The SUBREG rules are that the byte offset must be
-+ some multiple of the toplevel SUBREG's mode. */
-+ final_offset = (final_offset / GET_MODE_SIZE (mode));
-+ final_offset = (final_offset * GET_MODE_SIZE (mode));
-+
-+ SUBST_INT (SUBREG_BYTE (x), final_offset);
- SUBST (SUBREG_REG (x), SUBREG_REG (SUBREG_REG (x)));
- }
-
-@@ -3801,10 +3837,10 @@ combine_simplify_rtx (x, op0_mode, last,
- #endif
- && REGNO (SUBREG_REG (x)) != STACK_POINTER_REGNUM)
- {
-- if (HARD_REGNO_MODE_OK (REGNO (SUBREG_REG (x)) + SUBREG_WORD (x),
-- mode))
-- return gen_rtx_REG (mode,
-- REGNO (SUBREG_REG (x)) + SUBREG_WORD (x));
-+ int final_regno = subreg_hard_regno (x, 0);
-+
-+ if (HARD_REGNO_MODE_OK (final_regno, mode))
-+ return gen_rtx_REG (mode, final_regno);
- else
- return gen_rtx_CLOBBER (mode, const0_rtx);
- }
-@@ -3819,7 +3855,8 @@ combine_simplify_rtx (x, op0_mode, last,
- && GET_MODE_SIZE (op0_mode) > UNITS_PER_WORD
- && GET_MODE_CLASS (mode) == MODE_INT)
- {
-- temp = operand_subword (SUBREG_REG (x), SUBREG_WORD (x),
-+ temp = operand_subword (SUBREG_REG (x),
-+ (SUBREG_BYTE (x) / UNITS_PER_WORD),
- 0, op0_mode);
- if (temp)
- return temp;
-@@ -3833,11 +3870,9 @@ combine_simplify_rtx (x, op0_mode, last,
- if (CONSTANT_P (SUBREG_REG (x))
- && ((GET_MODE_SIZE (op0_mode) <= UNITS_PER_WORD
- || ! WORDS_BIG_ENDIAN)
-- ? SUBREG_WORD (x) == 0
-- : (SUBREG_WORD (x)
-- == ((GET_MODE_SIZE (op0_mode)
-- - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD))
-- / UNITS_PER_WORD)))
-+ ? SUBREG_BYTE (x) == 0
-+ : (SUBREG_BYTE (x)
-+ == (GET_MODE_SIZE (op0_mode) - GET_MODE_SIZE (mode))))
- && GET_MODE_SIZE (mode) <= GET_MODE_SIZE (op0_mode)
- && (! WORDS_BIG_ENDIAN
- || GET_MODE_BITSIZE (op0_mode) <= BITS_PER_WORD))
-@@ -3849,8 +3884,9 @@ combine_simplify_rtx (x, op0_mode, last,
- && GET_MODE_SIZE (mode) > GET_MODE_SIZE (op0_mode))
- {
- if (GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))) > UNITS_PER_WORD
-- && (WORDS_BIG_ENDIAN || SUBREG_WORD (x) != 0))
-- return operand_subword (SUBREG_REG (x), SUBREG_WORD (x), 0, mode);
-+ && (WORDS_BIG_ENDIAN || SUBREG_BYTE (x) != 0))
-+ return constant_subword (SUBREG_REG (x),
-+ SUBREG_BYTE (x) / UNITS_PER_WORD, mode);
- return SUBREG_REG (x);
- }
-
-@@ -5068,14 +5104,14 @@ simplify_set (x)
-
- if (GET_CODE (src) == SUBREG && subreg_lowpart_p (src)
- && LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (src))) != NIL
-- && SUBREG_WORD (src) == 0
-+ && SUBREG_BYTE (src) == 0
- && (GET_MODE_SIZE (GET_MODE (src))
- > GET_MODE_SIZE (GET_MODE (SUBREG_REG (src))))
- && GET_CODE (SUBREG_REG (src)) == MEM)
- {
- SUBST (SET_SRC (x),
- gen_rtx_combine (LOAD_EXTEND_OP (GET_MODE (SUBREG_REG (src))),
-- GET_MODE (src), XEXP (src, 0)));
-+ GET_MODE (src), SUBREG_REG (src)));
-
- src = SET_SRC (x);
- }
-@@ -5722,9 +5758,11 @@ expand_field_assignment (x)
- if (GET_CODE (SET_DEST (x)) == STRICT_LOW_PART
- && GET_CODE (XEXP (SET_DEST (x), 0)) == SUBREG)
- {
-+ int byte_offset = SUBREG_BYTE (XEXP (SET_DEST (x), 0));
-+
- inner = SUBREG_REG (XEXP (SET_DEST (x), 0));
- len = GET_MODE_BITSIZE (GET_MODE (XEXP (SET_DEST (x), 0)));
-- pos = GEN_INT (BITS_PER_WORD * SUBREG_WORD (XEXP (SET_DEST (x), 0)));
-+ pos = GEN_INT (BITS_PER_WORD * (byte_offset / UNITS_PER_WORD));
- }
- else if (GET_CODE (SET_DEST (x)) == ZERO_EXTRACT
- && GET_CODE (XEXP (SET_DEST (x), 1)) == CONST_INT)
-@@ -5962,18 +6000,26 @@ make_extraction (mode, inner, pos, pos_r
- /* We can't call gen_lowpart_for_combine here since we always want
- a SUBREG and it would sometimes return a new hard register. */
- if (tmode != inner_mode)
-- new = gen_rtx_SUBREG (tmode, inner,
-- (WORDS_BIG_ENDIAN
-- && (GET_MODE_SIZE (inner_mode)
-- > UNITS_PER_WORD)
-- ? (((GET_MODE_SIZE (inner_mode)
-- - GET_MODE_SIZE (tmode))
-- / UNITS_PER_WORD)
-- - pos / BITS_PER_WORD)
-- : pos / BITS_PER_WORD));
-- else
-- new = inner;
-- }
-+ {
-+ int final_word = pos / BITS_PER_WORD;
-+
-+ if (WORDS_BIG_ENDIAN
-+ && GET_MODE_SIZE (inner_mode) > UNITS_PER_WORD)
-+ final_word = ((GET_MODE_SIZE (inner_mode)
-+ - GET_MODE_SIZE (tmode))
-+ / UNITS_PER_WORD) - final_word;
-+
-+ final_word *= UNITS_PER_WORD;
-+ if (BYTES_BIG_ENDIAN &&
-+ GET_MODE_SIZE (inner_mode) > GET_MODE_SIZE (tmode))
-+ final_word += (GET_MODE_SIZE (inner_mode)
-+ - GET_MODE_SIZE (tmode)) % UNITS_PER_WORD;
-+
-+ new = gen_rtx_SUBREG (tmode, inner, final_word);
-+ }
-+ else
-+ new = inner;
-+ }
- else
- new = force_to_mode (inner, tmode,
- len >= HOST_BITS_PER_WIDE_INT
-@@ -7355,10 +7401,12 @@ if_then_else_cond (x, ptrue, pfalse)
- || GET_CODE (SUBREG_REG (x)) == MEM
- || CONSTANT_P (SUBREG_REG (x)))
- && GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))) > UNITS_PER_WORD
-- && (WORDS_BIG_ENDIAN || SUBREG_WORD (x) != 0))
-+ && (WORDS_BIG_ENDIAN || SUBREG_BYTE (x) != 0))
- {
-- true0 = operand_subword (true0, SUBREG_WORD (x), 0, mode);
-- false0 = operand_subword (false0, SUBREG_WORD (x), 0, mode);
-+ true0 = operand_subword (true0, SUBREG_BYTE (x) / UNITS_PER_WORD,
-+ 0, mode);
-+ false0 = operand_subword (false0, SUBREG_BYTE (x) / UNITS_PER_WORD,
-+ 0, mode);
- }
- *ptrue = force_to_mode (true0, mode, ~(HOST_WIDE_INT) 0, NULL_RTX, 0);
- *pfalse
-@@ -7714,7 +7762,7 @@ apply_distributive_law (x)
-
- case SUBREG:
- /* Non-paradoxical SUBREGs distributes over all operations, provided
-- the inner modes and word numbers are the same, this is an extraction
-+ the inner modes and byte offsets are the same, this is an extraction
- of a low-order part, we don't convert an fp operation to int or
- vice versa, and we would not be converting a single-word
- operation into a multi-word operation. The latter test is not
-@@ -7725,7 +7773,7 @@ apply_distributive_law (x)
- We produce the result slightly differently in this case. */
-
- if (GET_MODE (SUBREG_REG (lhs)) != GET_MODE (SUBREG_REG (rhs))
-- || SUBREG_WORD (lhs) != SUBREG_WORD (rhs)
-+ || SUBREG_BYTE (lhs) != SUBREG_BYTE (rhs)
- || ! subreg_lowpart_p (lhs)
- || (GET_MODE_CLASS (GET_MODE (lhs))
- != GET_MODE_CLASS (GET_MODE (SUBREG_REG (lhs))))
-@@ -9743,13 +9791,19 @@ gen_lowpart_for_combine (mode, x)
- include an explicit SUBREG or we may simplify it further in combine. */
- else
- {
-- int word = 0;
-+ int offset = 0;
-
-- if (WORDS_BIG_ENDIAN && GET_MODE_SIZE (GET_MODE (x)) > UNITS_PER_WORD)
-- word = ((GET_MODE_SIZE (GET_MODE (x))
-- - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD))
-- / UNITS_PER_WORD);
-- return gen_rtx_SUBREG (mode, x, word);
-+ if ((WORDS_BIG_ENDIAN || BYTES_BIG_ENDIAN)
-+ && GET_MODE_SIZE (GET_MODE (x)) > GET_MODE_SIZE (mode))
-+ {
-+ int difference = (GET_MODE_SIZE (GET_MODE (x))
-+ - GET_MODE_SIZE (mode));
-+ if (WORDS_BIG_ENDIAN)
-+ offset += (difference / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ if (BYTES_BIG_ENDIAN)
-+ offset += difference % UNITS_PER_WORD;
-+ }
-+ return gen_rtx_SUBREG (mode, x, offset);
- }
- }
-
-@@ -11890,6 +11944,7 @@ move_deaths (x, maybe_kill_insn, from_cu
- that accesses one word of a multi-word item, some
- piece of everything register in the expression is used by
- this insn, so remove any old death. */
-+ /* ??? So why do we test for equality of the sizes? */
-
- if (GET_CODE (dest) == ZERO_EXTRACT
- || GET_CODE (dest) == STRICT_LOW_PART
---- gcc/expmed.c.jj Fri Jul 7 21:39:56 2000
-+++ gcc/expmed.c Mon Jul 31 20:46:24 2000
-@@ -261,7 +261,7 @@ store_bit_field (str_rtx, bitsize, bitnu
- meaningful at a much higher level; when structures are copied
- between memory and regs, the higher-numbered regs
- always get higher addresses. */
-- offset += SUBREG_WORD (op0);
-+ offset += (SUBREG_BYTE (op0) / UNITS_PER_WORD);
- /* We used to adjust BITPOS here, but now we do the whole adjustment
- right after the loop. */
- op0 = SUBREG_REG (op0);
-@@ -323,7 +323,8 @@ store_bit_field (str_rtx, bitsize, bitnu
- abort ();
- }
- if (GET_CODE (op0) == REG)
-- op0 = gen_rtx_SUBREG (fieldmode, op0, offset);
-+ op0 = gen_rtx_SUBREG (fieldmode, op0,
-+ (offset * UNITS_PER_WORD));
- else
- op0 = change_address (op0, fieldmode,
- plus_constant (XEXP (op0, 0), offset));
-@@ -368,7 +369,8 @@ store_bit_field (str_rtx, bitsize, bitnu
- }
-
- emit_insn (GEN_FCN (icode)
-- (gen_rtx_SUBREG (fieldmode, op0, offset), value));
-+ (gen_rtx_SUBREG (fieldmode, op0, (offset * UNITS_PER_WORD)),
-+ value));
-
- return value;
- }
-@@ -442,7 +444,7 @@ store_bit_field (str_rtx, bitsize, bitnu
- abort ();
- }
- op0 = gen_rtx_SUBREG (mode_for_size (BITS_PER_WORD, MODE_INT, 0),
-- op0, offset);
-+ op0, (offset * UNITS_PER_WORD));
- }
- offset = 0;
- }
-@@ -545,7 +547,7 @@ store_bit_field (str_rtx, bitsize, bitnu
- if (GET_CODE (xop0) == SUBREG)
- /* We can't just change the mode, because this might clobber op0,
- and we will need the original value of op0 if insv fails. */
-- xop0 = gen_rtx_SUBREG (maxmode, SUBREG_REG (xop0), SUBREG_WORD (xop0));
-+ xop0 = gen_rtx_SUBREG (maxmode, SUBREG_REG (xop0), SUBREG_BYTE (xop0));
- if (GET_CODE (xop0) == REG && GET_MODE (xop0) != maxmode)
- xop0 = gen_rtx_SUBREG (maxmode, xop0, 0);
-
-@@ -905,8 +907,8 @@ store_split_bit_field (op0, bitsize, bit
- the current word starting from the base register. */
- if (GET_CODE (op0) == SUBREG)
- {
-- word = operand_subword_force (SUBREG_REG (op0),
-- SUBREG_WORD (op0) + offset,
-+ int word_offset = (SUBREG_BYTE (op0) / UNITS_PER_WORD) + offset;
-+ word = operand_subword_force (SUBREG_REG (op0), word_offset,
- GET_MODE (SUBREG_REG (op0)));
- offset = 0;
- }
-@@ -1003,7 +1005,7 @@ extract_bit_field (str_rtx, bitsize, bit
- int outer_size = GET_MODE_BITSIZE (GET_MODE (op0));
- int inner_size = GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (op0)));
-
-- offset += SUBREG_WORD (op0);
-+ offset += SUBREG_BYTE (op0) / UNITS_PER_WORD;
-
- inner_size = MIN (inner_size, BITS_PER_WORD);
-
-@@ -1090,7 +1092,7 @@ extract_bit_field (str_rtx, bitsize, bit
- abort ();
- }
- if (GET_CODE (op0) == REG)
-- op0 = gen_rtx_SUBREG (mode1, op0, offset);
-+ op0 = gen_rtx_SUBREG (mode1, op0, (offset * UNITS_PER_WORD));
- else
- op0 = change_address (op0, mode1,
- plus_constant (XEXP (op0, 0), offset));
-@@ -1199,7 +1201,7 @@ extract_bit_field (str_rtx, bitsize, bit
- if (GET_CODE (op0) != REG)
- op0 = copy_to_reg (op0);
- op0 = gen_rtx_SUBREG (mode_for_size (BITS_PER_WORD, MODE_INT, 0),
-- op0, offset);
-+ op0, (offset * UNITS_PER_WORD));
- }
- offset = 0;
- }
-@@ -1794,8 +1796,8 @@ extract_split_bit_field (op0, bitsize, b
- the current word starting from the base register. */
- if (GET_CODE (op0) == SUBREG)
- {
-- word = operand_subword_force (SUBREG_REG (op0),
-- SUBREG_WORD (op0) + offset,
-+ int word_offset = (SUBREG_BYTE (op0) / UNITS_PER_WORD) + offset;
-+ word = operand_subword_force (SUBREG_REG (op0), word_offset,
- GET_MODE (SUBREG_REG (op0)));
- offset = 0;
- }
-@@ -1914,7 +1916,7 @@ expand_shift (code, mode, shifted, amoun
- op1 = GEN_INT ((unsigned HOST_WIDE_INT) INTVAL (op1)
- % GET_MODE_BITSIZE (mode));
- else if (GET_CODE (op1) == SUBREG
-- && SUBREG_WORD (op1) == 0)
-+ && SUBREG_BYTE (op1) == 0)
- op1 = SUBREG_REG (op1);
- }
- #endif
---- gcc/caller-save.c.jj Thu Jun 1 11:56:21 2000
-+++ gcc/caller-save.c Mon Jul 31 20:46:24 2000
-@@ -445,18 +445,21 @@ mark_set_regs (reg, setter, data)
- {
- register int regno, endregno, i;
- enum machine_mode mode = GET_MODE (reg);
-- int word = 0;
-
- if (GET_CODE (reg) == SUBREG)
- {
-- word = SUBREG_WORD (reg);
-- reg = SUBREG_REG (reg);
-- }
-+ rtx inner = SUBREG_REG (reg);
-+ if (GET_CODE (inner) != REG || REGNO (inner) >= FIRST_PSEUDO_REGISTER)
-+ return;
-
-- if (GET_CODE (reg) != REG || REGNO (reg) >= FIRST_PSEUDO_REGISTER)
-+ regno = subreg_hard_regno (reg, 1);
-+ }
-+ else if (GET_CODE (reg) == REG
-+ && REGNO (reg) < FIRST_PSEUDO_REGISTER)
-+ regno = REGNO (reg);
-+ else
- return;
-
-- regno = REGNO (reg) + word;
- endregno = regno + HARD_REGNO_NREGS (regno, mode);
-
- for (i = regno; i < endregno; i++)
-@@ -475,21 +478,24 @@ add_stored_regs (reg, setter, data)
- {
- register int regno, endregno, i;
- enum machine_mode mode = GET_MODE (reg);
-- int word = 0;
-+ int offset = 0;
-
- if (GET_CODE (setter) == CLOBBER)
- return;
-
-- while (GET_CODE (reg) == SUBREG)
-+ if (GET_CODE (reg) == SUBREG && GET_CODE (SUBREG_REG (reg)) == REG)
- {
-- word += SUBREG_WORD (reg);
-+ offset = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (reg)),
-+ GET_MODE (SUBREG_REG (reg)),
-+ SUBREG_BYTE (reg),
-+ GET_MODE (reg));
- reg = SUBREG_REG (reg);
- }
-
- if (GET_CODE (reg) != REG || REGNO (reg) >= FIRST_PSEUDO_REGISTER)
- return;
-
-- regno = REGNO (reg) + word;
-+ regno = REGNO (reg) + offset;
- endregno = regno + HARD_REGNO_NREGS (regno, mode);
-
- for (i = regno; i < endregno; i++)
---- gcc/dwarf2out.c.jj Mon Jul 31 20:02:10 2000
-+++ gcc/dwarf2out.c Mon Jul 31 20:46:24 2000
-@@ -3588,7 +3588,7 @@ is_pseudo_reg (rtl)
- {
- return ((GET_CODE (rtl) == REG && REGNO (rtl) >= FIRST_PSEUDO_REGISTER)
- || (GET_CODE (rtl) == SUBREG
-- && REGNO (XEXP (rtl, 0)) >= FIRST_PSEUDO_REGISTER));
-+ && REGNO (SUBREG_REG (rtl)) >= FIRST_PSEUDO_REGISTER));
- }
-
- /* Return a reference to a type, with its const and volatile qualifiers
-@@ -6787,7 +6787,7 @@ loc_descriptor (rtl)
- up an entire register. For now, just assume that it is
- legitimate to make the Dwarf info refer to the whole register which
- contains the given subreg. */
-- rtl = XEXP (rtl, 0);
-+ rtl = SUBREG_REG (rtl);
-
- /* ... fall through ... */
-
---- gcc/dwarfout.c.jj Sun Jul 2 10:37:03 2000
-+++ gcc/dwarfout.c Mon Jul 31 20:46:25 2000
-@@ -875,7 +875,7 @@ is_pseudo_reg (rtl)
- {
- return (((GET_CODE (rtl) == REG) && (REGNO (rtl) >= FIRST_PSEUDO_REGISTER))
- || ((GET_CODE (rtl) == SUBREG)
-- && (REGNO (XEXP (rtl, 0)) >= FIRST_PSEUDO_REGISTER)));
-+ && (REGNO (SUBREG_REG (rtl)) >= FIRST_PSEUDO_REGISTER)));
- }
-
- inline static tree
-@@ -1688,7 +1688,7 @@ output_mem_loc_descriptor (rtl)
- legitimate to make the Dwarf info refer to the whole register
- which contains the given subreg. */
-
-- rtl = XEXP (rtl, 0);
-+ rtl = SUBREG_REG (rtl);
- /* Drop thru. */
-
- case REG:
-@@ -1772,7 +1772,7 @@ output_loc_descriptor (rtl)
- legitimate to make the Dwarf info refer to the whole register
- which contains the given subreg. */
-
-- rtl = XEXP (rtl, 0);
-+ rtl = SUBREG_REG (rtl);
- /* Drop thru. */
-
- case REG:
---- gcc/emit-rtl.c.jj Mon Jul 31 20:02:10 2000
-+++ gcc/emit-rtl.c Mon Jul 31 20:46:25 2000
-@@ -347,6 +347,55 @@ gen_rtx_MEM (mode, addr)
-
- return rt;
- }
-+
-+rtx
-+gen_rtx_SUBREG (mode, reg, offset)
-+ enum machine_mode mode;
-+ rtx reg;
-+ int offset;
-+{
-+ /* This is the most common failure type.
-+ Catch it early so we can see who does it. */
-+ if ((offset % GET_MODE_SIZE (mode)) != 0)
-+ abort ();
-+
-+ /* This check isn't usable right now because combine will
-+ throw arbitrary crap like a CALL into a SUBREG in
-+ gen_lowpart_for_combine so we must just eat it. */
-+#if 0
-+ /* Check for this too. */
-+ if (offset >= GET_MODE_SIZE (GET_MODE (reg)))
-+ abort ();
-+#endif
-+ return gen_rtx_fmt_ei (SUBREG, mode, reg, offset);
-+}
-+
-+/* Generate a SUBREG representing the least-significant part
-+ * of REG if MODE is smaller than mode of REG, otherwise
-+ * paradoxical SUBREG. */
-+rtx
-+gen_lowpart_SUBREG (mode, reg)
-+ enum machine_mode mode;
-+ rtx reg;
-+{
-+ enum machine_mode inmode;
-+ int offset;
-+
-+ inmode = GET_MODE (reg);
-+ if (inmode == VOIDmode)
-+ inmode = mode;
-+ offset = 0;
-+ if (GET_MODE_SIZE (mode) < GET_MODE_SIZE (inmode)
-+ && (WORDS_BIG_ENDIAN || BYTES_BIG_ENDIAN))
-+ {
-+ offset = GET_MODE_SIZE (inmode) - GET_MODE_SIZE (mode);
-+ if (! BYTES_BIG_ENDIAN)
-+ offset = (offset / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ else if (! WORDS_BIG_ENDIAN)
-+ offset %= UNITS_PER_WORD;
-+ }
-+ return gen_rtx_SUBREG (mode, reg, offset);
-+}
-
- /* rtx gen_rtx (code, mode, [element1, ..., elementn])
- **
-@@ -652,6 +701,52 @@ get_first_label_num ()
- return first_label_num;
- }
-
-+/* Return the final regno of X, which is a SUBREG of a hard
-+ register. */
-+/* ??? There is a lot of debugging here to ease our transition
-+ from the old word based SUBREGs to the new byte offset scheme.
-+ Remove most of it when things are stable. */
-+
-+int
-+subreg_hard_regno (x, check_mode)
-+ register rtx x;
-+ int check_mode;
-+{
-+ enum machine_mode mode = GET_MODE (x);
-+ unsigned int byte_offset, base_regno, final_regno;
-+ rtx reg = SUBREG_REG (x);
-+
-+ /* This is where we attempt to catch illegal subregs
-+ created by the compiler. */
-+ if (GET_CODE (x) != SUBREG
-+ || GET_CODE (reg) != REG)
-+ abort ();
-+ base_regno = REGNO (reg);
-+ if (base_regno >= FIRST_PSEUDO_REGISTER)
-+ abort ();
-+ if (! HARD_REGNO_MODE_OK (base_regno, GET_MODE (reg)))
-+ abort ();
-+
-+ /* Catch non-congruent offsets too. */
-+ byte_offset = SUBREG_BYTE (x);
-+ if ((byte_offset % GET_MODE_SIZE (mode)) != 0)
-+ abort ();
-+
-+ final_regno = SUBREG_REGNO (x);
-+
-+ /* Punt if what we end up with is not a valid regno in
-+ the SUBREG's mode, or we went past the end of the inner
-+ REG's mode, or we overflow past the last hard regno. */
-+ if ((check_mode
-+ && ! HARD_REGNO_MODE_OK (final_regno, mode))
-+ || ((final_regno - base_regno) >=
-+ HARD_REGNO_NREGS (base_regno, GET_MODE (reg)))
-+ || final_regno >= FIRST_PSEUDO_REGISTER)
-+ abort ();
-+
-+ return final_regno;
-+}
-+
- /* Return a value representing some low-order bits of X, where the number
- of low-order bits is given by MODE. Note that no conversion is done
- between floating-point and fixed-point values, rather, the bit
-@@ -668,22 +763,29 @@ gen_lowpart_common (mode, x)
- enum machine_mode mode;
- register rtx x;
- {
-- int word = 0;
-+ int msize = GET_MODE_SIZE (mode);
-+ int xsize = GET_MODE_SIZE (GET_MODE (x));
-+ int offset = 0;
-
- if (GET_MODE (x) == mode)
- return x;
-
- /* MODE must occupy no more words than the mode of X. */
- if (GET_MODE (x) != VOIDmode
-- && ((GET_MODE_SIZE (mode) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD
-- > ((GET_MODE_SIZE (GET_MODE (x)) + (UNITS_PER_WORD - 1))
-- / UNITS_PER_WORD)))
-+ && ((msize + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD
-+ > ((xsize + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD)))
- return 0;
-
-- if (WORDS_BIG_ENDIAN && GET_MODE_SIZE (GET_MODE (x)) > UNITS_PER_WORD)
-- word = ((GET_MODE_SIZE (GET_MODE (x))
-- - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD))
-- / UNITS_PER_WORD);
-+ if ((WORDS_BIG_ENDIAN || BYTES_BIG_ENDIAN)
-+ && xsize > msize)
-+ {
-+ int difference = xsize - msize;
-+
-+ if (WORDS_BIG_ENDIAN)
-+ offset += (difference / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ if (BYTES_BIG_ENDIAN)
-+ offset += difference % UNITS_PER_WORD;
-+ }
-
- if ((GET_CODE (x) == ZERO_EXTEND || GET_CODE (x) == SIGN_EXTEND)
- && (GET_MODE_CLASS (mode) == MODE_INT
-@@ -699,62 +801,67 @@ gen_lowpart_common (mode, x)
-
- if (GET_MODE (XEXP (x, 0)) == mode)
- return XEXP (x, 0);
-- else if (GET_MODE_SIZE (mode) < GET_MODE_SIZE (GET_MODE (XEXP (x, 0))))
-+ else if (msize < GET_MODE_SIZE (GET_MODE (XEXP (x, 0))))
- return gen_lowpart_common (mode, XEXP (x, 0));
-- else if (GET_MODE_SIZE (mode) < GET_MODE_SIZE (GET_MODE (x)))
-+ else if (msize < xsize)
- return gen_rtx_fmt_e (GET_CODE (x), mode, XEXP (x, 0));
- }
- else if (GET_CODE (x) == SUBREG
-- && (GET_MODE_SIZE (mode) <= UNITS_PER_WORD
-- || GET_MODE_SIZE (mode) == GET_MODE_UNIT_SIZE (GET_MODE (x))))
-- return (GET_MODE (SUBREG_REG (x)) == mode && SUBREG_WORD (x) == 0
-- ? SUBREG_REG (x)
-- : gen_rtx_SUBREG (mode, SUBREG_REG (x), SUBREG_WORD (x) + word));
-+ && (msize <= UNITS_PER_WORD
-+ || msize == GET_MODE_UNIT_SIZE (GET_MODE (x))))
-+ {
-+ int final_offset;
-+
-+ if (GET_MODE (SUBREG_REG (x)) == mode && subreg_lowpart_p (x))
-+ return SUBREG_REG (x);
-+
-+ /* When working with SUBREGs the rule is that the byte
-+ offset must be a multiple of the SUBREG's mode. */
-+ final_offset = SUBREG_BYTE (x) + offset;
-+ final_offset = (final_offset / msize);
-+ final_offset = (final_offset * msize);
-+ return gen_rtx_SUBREG (mode, SUBREG_REG (x), final_offset);
-+ }
- else if (GET_CODE (x) == REG)
- {
-- /* Let the backend decide how many registers to skip. This is needed
-- in particular for Sparc64 where fp regs are smaller than a word. */
-- /* ??? Note that subregs are now ambiguous, in that those against
-- pseudos are sized by the Word Size, while those against hard
-- regs are sized by the underlying register size. Better would be
-- to always interpret the subreg offset parameter as bytes or bits. */
--
-- if (WORDS_BIG_ENDIAN && REGNO (x) < FIRST_PSEUDO_REGISTER)
-- word = (HARD_REGNO_NREGS (REGNO (x), GET_MODE (x))
-- - HARD_REGNO_NREGS (REGNO (x), mode));
--
-- /* If the register is not valid for MODE, return 0. If we don't
-- do this, there is no way to fix up the resulting REG later.
-- But we do do this if the current REG is not valid for its
-- mode. This latter is a kludge, but is required due to the
-- way that parameters are passed on some machines, most
-- notably Sparc. */
-- if (REGNO (x) < FIRST_PSEUDO_REGISTER
-- && ! HARD_REGNO_MODE_OK (REGNO (x) + word, mode)
-- && HARD_REGNO_MODE_OK (REGNO (x), GET_MODE (x)))
-- return 0;
-- else if (REGNO (x) < FIRST_PSEUDO_REGISTER
-- /* integrate.c can't handle parts of a return value register. */
-- && (! REG_FUNCTION_VALUE_P (x)
-- || ! rtx_equal_function_value_matters)
-+ /* Hard registers are done specially in certain cases. */
-+ if (REGNO (x) < FIRST_PSEUDO_REGISTER)
-+ {
-+ int final_regno = REGNO (x) +
-+ SUBREG_REGNO_OFFSET(REGNO (x), GET_MODE (x), offset, mode);
-+
-+ /* If the final regno is not valid for MODE, punt. */
-+ /* ??? We do allow it if the current REG is not valid for
-+ ??? it's mode. It is a kludge to work around how float/complex
-+ ??? arguments are passed on 32-bit Sparc and should be fixed. */
-+ if (! HARD_REGNO_MODE_OK (final_regno, mode)
-+ && HARD_REGNO_MODE_OK (REGNO (x), GET_MODE (x)))
-+ return 0;
-+
-+ /* integrate.c can't handle parts of a return value register.
-+ ??? Then integrate.c should be fixed! */
-+ if ((! REG_FUNCTION_VALUE_P (x)
-+ || ! rtx_equal_function_value_matters)
- #ifdef CLASS_CANNOT_CHANGE_MODE
-- && ! (CLASS_CANNOT_CHANGE_MODE_P (mode, GET_MODE (x))
-- && GET_MODE_CLASS (GET_MODE (x)) != MODE_COMPLEX_INT
-- && GET_MODE_CLASS (GET_MODE (x)) != MODE_COMPLEX_FLOAT
-- && (TEST_HARD_REG_BIT
-- (reg_class_contents[(int) CLASS_CANNOT_CHANGE_MODE],
-- REGNO (x))))
-+ && ! (CLASS_CANNOT_CHANGE_MODE_P (mode, GET_MODE (x))
-+ && GET_MODE_CLASS (GET_MODE (x)) != MODE_COMPLEX_INT
-+ && GET_MODE_CLASS (GET_MODE (x)) != MODE_COMPLEX_FLOAT
-+ && (TEST_HARD_REG_BIT
-+ (reg_class_contents[(int) CLASS_CANNOT_CHANGE_MODE],
-+ REGNO (x))))
- #endif
-- /* We want to keep the stack, frame, and arg pointers
-- special. */
-- && x != frame_pointer_rtx
-+ /* We want to keep the stack, frame, and arg pointers
-+ special. */
-+ && x != frame_pointer_rtx
- #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
-- && x != arg_pointer_rtx
-+ && x != arg_pointer_rtx
- #endif
-- && x != stack_pointer_rtx)
-- return gen_rtx_REG (mode, REGNO (x) + word);
-- else
-- return gen_rtx_SUBREG (mode, x, word);
-+ && x != stack_pointer_rtx)
-+ return gen_rtx_REG (mode, final_regno);
-+ }
-+
-+ /* Just generate a normal SUBREG. */
-+ return gen_rtx_SUBREG (mode, x, offset);
- }
- /* If X is a CONST_INT or a CONST_DOUBLE, extract the appropriate bits
- from the low-order part of the constant. */
-@@ -852,7 +959,7 @@ gen_lowpart_common (mode, x)
- && GET_CODE (x) == CONST_DOUBLE
- && GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT
- && GET_MODE_BITSIZE (mode) == BITS_PER_WORD)
-- return operand_subword (x, word, 0, GET_MODE (x));
-+ return constant_subword (x, (offset / UNITS_PER_WORD), GET_MODE (x));
-
- /* Similarly, if this is converting a floating-point value into a
- two-word integer, we can do this one word at a time and make an
-@@ -868,11 +975,14 @@ gen_lowpart_common (mode, x)
- && GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT
- && GET_MODE_BITSIZE (mode) == 2 * BITS_PER_WORD)
- {
-- rtx lowpart
-- = operand_subword (x, word + WORDS_BIG_ENDIAN, 0, GET_MODE (x));
-- rtx highpart
-- = operand_subword (x, word + ! WORDS_BIG_ENDIAN, 0, GET_MODE (x));
-+ rtx lowpart, highpart;
-
-+ lowpart = constant_subword (x,
-+ (offset / UNITS_PER_WORD) + WORDS_BIG_ENDIAN,
-+ GET_MODE (x));
-+ highpart = constant_subword (x,
-+ (offset / UNITS_PER_WORD) + (! WORDS_BIG_ENDIAN),
-+ GET_MODE (x));
- if (lowpart && GET_CODE (lowpart) == CONST_INT
- && highpart && GET_CODE (highpart) == CONST_INT)
- return immed_double_const (INTVAL (lowpart), INTVAL (highpart), mode);
-@@ -1031,7 +1141,7 @@ subreg_realpart_p (x)
- if (GET_CODE (x) != SUBREG)
- abort ();
-
-- return ((unsigned int) SUBREG_WORD (x) * UNITS_PER_WORD
-+ return ((unsigned int) SUBREG_BYTE (x)
- < GET_MODE_UNIT_SIZE (GET_MODE (SUBREG_REG (x))));
- }
-
-@@ -1089,10 +1199,13 @@ gen_highpart (mode, x)
- enum machine_mode mode;
- register rtx x;
- {
-+ int msize = GET_MODE_SIZE (mode);
-+ int xsize = GET_MODE_SIZE (GET_MODE (x));
-+
- /* This case loses if X is a subreg. To catch bugs early,
- complain if an invalid MODE is used even in other cases. */
-- if (GET_MODE_SIZE (mode) > UNITS_PER_WORD
-- && GET_MODE_SIZE (mode) != GET_MODE_UNIT_SIZE (GET_MODE (x)))
-+ if (msize > UNITS_PER_WORD
-+ && msize != GET_MODE_UNIT_SIZE (GET_MODE (x)))
- abort ();
- if (GET_CODE (x) == CONST_DOUBLE
- #if !(TARGET_FLOAT_FORMAT != HOST_FLOAT_FORMAT || defined (REAL_IS_NOT_DOUBLE))
-@@ -1109,15 +1222,14 @@ gen_highpart (mode, x)
- else if (GET_CODE (x) == MEM)
- {
- register int offset = 0;
-+
- if (! WORDS_BIG_ENDIAN)
-- offset = (MAX (GET_MODE_SIZE (GET_MODE (x)), UNITS_PER_WORD)
-- - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD));
-+ offset = (MAX (xsize, UNITS_PER_WORD)
-+ - MAX (msize, UNITS_PER_WORD));
-
- if (! BYTES_BIG_ENDIAN
-- && GET_MODE_SIZE (mode) < UNITS_PER_WORD)
-- offset -= (GET_MODE_SIZE (mode)
-- - MIN (UNITS_PER_WORD,
-- GET_MODE_SIZE (GET_MODE (x))));
-+ && msize < UNITS_PER_WORD)
-+ offset -= (msize - MIN (UNITS_PER_WORD, xsize));
-
- return change_address (x, mode, plus_constant (XEXP (x, 0), offset));
- }
-@@ -1126,44 +1238,45 @@ gen_highpart (mode, x)
- /* The only time this should occur is when we are looking at a
- multi-word item with a SUBREG whose mode is the same as that of the
- item. It isn't clear what we would do if it wasn't. */
-- if (SUBREG_WORD (x) != 0)
-+ if (SUBREG_BYTE (x) != 0)
- abort ();
- return gen_highpart (mode, SUBREG_REG (x));
- }
- else if (GET_CODE (x) == REG)
- {
-- int word;
-+ int offset = 0;
-
-- /* Let the backend decide how many registers to skip. This is needed
-- in particular for sparc64 where fp regs are smaller than a word. */
-- /* ??? Note that subregs are now ambiguous, in that those against
-- pseudos are sized by the word size, while those against hard
-- regs are sized by the underlying register size. Better would be
-- to always interpret the subreg offset parameter as bytes or bits. */
-+ if ((! WORDS_BIG_ENDIAN || ! BYTES_BIG_ENDIAN)
-+ && xsize > msize)
-+ {
-+ int difference = xsize - msize;
-
-- if (WORDS_BIG_ENDIAN)
-- word = 0;
-- else if (REGNO (x) < FIRST_PSEUDO_REGISTER)
-- word = (HARD_REGNO_NREGS (REGNO (x), GET_MODE (x))
-- - HARD_REGNO_NREGS (REGNO (x), mode));
-- else
-- word = ((GET_MODE_SIZE (GET_MODE (x))
-- - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD))
-- / UNITS_PER_WORD);
--
-- if (REGNO (x) < FIRST_PSEUDO_REGISTER
-- /* integrate.c can't handle parts of a return value register. */
-- && (! REG_FUNCTION_VALUE_P (x)
-- || ! rtx_equal_function_value_matters)
-- /* We want to keep the stack, frame, and arg pointers special. */
-- && x != frame_pointer_rtx
-+ if (! WORDS_BIG_ENDIAN)
-+ offset += (difference / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ if (! BYTES_BIG_ENDIAN)
-+ offset += difference % UNITS_PER_WORD;
-+ }
-+ if (REGNO (x) < FIRST_PSEUDO_REGISTER)
-+ {
-+ int final_regno = REGNO (x) +
-+ SUBREG_REGNO_OFFSET(REGNO (x), GET_MODE (x), offset, mode);
-+
-+ /* integrate.c can't handle parts of a return value register.
-+ ??? Then integrate.c should be fixed!
-+ ??? What about CLASS_CANNOT_CHANGE_SIZE? */
-+ if ((! REG_FUNCTION_VALUE_P (x)
-+ || ! rtx_equal_function_value_matters)
-+ /* We want to keep the stack, frame, and arg pointers special. */
-+ && x != frame_pointer_rtx
- #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
-- && x != arg_pointer_rtx
-+ && x != arg_pointer_rtx
- #endif
-- && x != stack_pointer_rtx)
-- return gen_rtx_REG (mode, REGNO (x) + word);
-- else
-- return gen_rtx_SUBREG (mode, x, word);
-+ && x != stack_pointer_rtx)
-+ return gen_rtx_REG (mode, final_regno);
-+ }
-+
-+ /* Just generate a normal SUBREG. */
-+ return gen_rtx_SUBREG (mode, x, offset);
- }
- else
- abort ();
-@@ -1177,154 +1290,44 @@ int
- subreg_lowpart_p (x)
- rtx x;
- {
-+ unsigned int offset = 0;
-+ int difference = (GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))
-+ - GET_MODE_SIZE (GET_MODE (x)));
-+
- if (GET_CODE (x) != SUBREG)
- return 1;
- else if (GET_MODE (SUBREG_REG (x)) == VOIDmode)
- return 0;
-
-- if (WORDS_BIG_ENDIAN
-- && GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))) > UNITS_PER_WORD)
-- return (SUBREG_WORD (x)
-- == ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))
-- - MAX (GET_MODE_SIZE (GET_MODE (x)), UNITS_PER_WORD))
-- / UNITS_PER_WORD));
-+ if (difference > 0)
-+ {
-+ if (WORDS_BIG_ENDIAN)
-+ offset += (difference / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ if (BYTES_BIG_ENDIAN)
-+ offset += difference % UNITS_PER_WORD;
-+ }
-
-- return SUBREG_WORD (x) == 0;
-+ return SUBREG_BYTE (x) == offset;
- }
-
--/* Return subword I of operand OP.
-- The word number, I, is interpreted as the word number starting at the
-- low-order address. Word 0 is the low-order word if not WORDS_BIG_ENDIAN,
-- otherwise it is the high-order word.
-
-- If we cannot extract the required word, we return zero. Otherwise, an
-- rtx corresponding to the requested word will be returned.
--
-- VALIDATE_ADDRESS is nonzero if the address should be validated. Before
-- reload has completed, a valid address will always be returned. After
-- reload, if a valid address cannot be returned, we return zero.
--
-- If VALIDATE_ADDRESS is zero, we simply form the required address; validating
-- it is the responsibility of the caller.
--
-- MODE is the mode of OP in case it is a CONST_INT. */
-+/* Helper routine for all the constant cases of operand_subword.
-+ Some places invoke this directly. */
-
- rtx
--operand_subword (op, i, validate_address, mode)
-+constant_subword (op, offset, mode)
- rtx op;
-- unsigned int i;
-- int validate_address;
-+ int offset;
- enum machine_mode mode;
- {
-- HOST_WIDE_INT val;
- int size_ratio = HOST_BITS_PER_WIDE_INT / BITS_PER_WORD;
--
-- if (mode == VOIDmode)
-- mode = GET_MODE (op);
--
-- if (mode == VOIDmode)
-- abort ();
--
-- /* If OP is narrower than a word, fail. */
-- if (mode != BLKmode
-- && (GET_MODE_SIZE (mode) < UNITS_PER_WORD))
-- return 0;
--
-- /* If we want a word outside OP, return zero. */
-- if (mode != BLKmode
-- && (i + 1) * UNITS_PER_WORD > GET_MODE_SIZE (mode))
-- return const0_rtx;
-+ HOST_WIDE_INT val;
-
- /* If OP is already an integer word, return it. */
- if (GET_MODE_CLASS (mode) == MODE_INT
- && GET_MODE_SIZE (mode) == UNITS_PER_WORD)
- return op;
-
-- /* If OP is a REG or SUBREG, we can handle it very simply. */
-- if (GET_CODE (op) == REG)
-- {
-- /* ??? There is a potential problem with this code. It does not
-- properly handle extractions of a subword from a hard register
-- that is larger than word_mode. Presumably the check for
-- HARD_REGNO_MODE_OK catches these most of these cases. */
--
-- /* If OP is a hard register, but OP + I is not a hard register,
-- then extracting a subword is impossible.
--
-- For example, consider if OP is the last hard register and it is
-- larger than word_mode. If we wanted word N (for N > 0) because a
-- part of that hard register was known to contain a useful value,
-- then OP + I would refer to a pseudo, not the hard register we
-- actually wanted. */
-- if (REGNO (op) < FIRST_PSEUDO_REGISTER
-- && REGNO (op) + i >= FIRST_PSEUDO_REGISTER)
-- return 0;
--
-- /* If the register is not valid for MODE, return 0. Note we
-- have to check both OP and OP + I since they may refer to
-- different parts of the register file.
--
-- Consider if OP refers to the last 96bit FP register and we want
-- subword 3 because that subword is known to contain a value we
-- needed. */
-- if (REGNO (op) < FIRST_PSEUDO_REGISTER
-- && (! HARD_REGNO_MODE_OK (REGNO (op), word_mode)
-- || ! HARD_REGNO_MODE_OK (REGNO (op) + i, word_mode)))
-- return 0;
-- else if (REGNO (op) >= FIRST_PSEUDO_REGISTER
-- || (REG_FUNCTION_VALUE_P (op)
-- && rtx_equal_function_value_matters)
-- /* We want to keep the stack, frame, and arg pointers
-- special. */
-- || op == frame_pointer_rtx
--#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
-- || op == arg_pointer_rtx
--#endif
-- || op == stack_pointer_rtx)
-- return gen_rtx_SUBREG (word_mode, op, i);
-- else
-- return gen_rtx_REG (word_mode, REGNO (op) + i);
-- }
-- else if (GET_CODE (op) == SUBREG)
-- return gen_rtx_SUBREG (word_mode, SUBREG_REG (op), i + SUBREG_WORD (op));
-- else if (GET_CODE (op) == CONCAT)
-- {
-- unsigned int partwords
-- = GET_MODE_UNIT_SIZE (GET_MODE (op)) / UNITS_PER_WORD;
--
-- if (i < partwords)
-- return operand_subword (XEXP (op, 0), i, validate_address, mode);
-- return operand_subword (XEXP (op, 1), i - partwords,
-- validate_address, mode);
-- }
--
-- /* Form a new MEM at the requested address. */
-- if (GET_CODE (op) == MEM)
-- {
-- rtx addr = plus_constant (XEXP (op, 0), i * UNITS_PER_WORD);
-- rtx new;
--
-- if (validate_address)
-- {
-- if (reload_completed)
-- {
-- if (! strict_memory_address_p (word_mode, addr))
-- return 0;
-- }
-- else
-- addr = memory_address (word_mode, addr);
-- }
--
-- new = gen_rtx_MEM (word_mode, addr);
-- MEM_COPY_ATTRIBUTES (new, op);
-- return new;
-- }
--
-- /* The only remaining cases are when OP is a constant. If the host and
-- target floating formats are the same, handling two-word floating
-- constants are easy. Note that REAL_VALUE_TO_TARGET_{SINGLE,DOUBLE}
-- are defined as returning one or two 32 bit values, respectively,
-- and not values of BITS_PER_WORD bits. */
- #ifdef REAL_ARITHMETIC
- /* The output is some bits, the width of the target machine's word.
- A wider-word host can surely hold them in a CONST_INT. A narrower-word
-@@ -1351,12 +1354,12 @@ operand_subword (op, i, validate_address
- So we explicitly mask and sign-extend as necessary. */
- if (BITS_PER_WORD == 32)
- {
-- val = k[i];
-+ val = k[offset];
- val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
- return GEN_INT (val);
- }
- #if HOST_BITS_PER_WIDE_INT >= 64
-- else if (BITS_PER_WORD >= 64 && i == 0)
-+ else if (BITS_PER_WORD >= 64 && offset == 0)
- {
- val = k[! WORDS_BIG_ENDIAN];
- val = (((val & 0xffffffff) ^ 0x80000000) - 0x80000000) << 32;
-@@ -1366,8 +1369,8 @@ operand_subword (op, i, validate_address
- #endif
- else if (BITS_PER_WORD == 16)
- {
-- val = k[i >> 1];
-- if ((i & 1) == !WORDS_BIG_ENDIAN)
-+ val = k[offset >> 1];
-+ if ((offset & 1) == !WORDS_BIG_ENDIAN)
- val >>= 16;
- val &= 0xffff;
- return GEN_INT (val);
-@@ -1388,16 +1391,16 @@ operand_subword (op, i, validate_address
-
- if (BITS_PER_WORD == 32)
- {
-- val = k[i];
-+ val = k[offset];
- val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
- return GEN_INT (val);
- }
- #if HOST_BITS_PER_WIDE_INT >= 64
-- else if (BITS_PER_WORD >= 64 && i <= 1)
-+ else if (BITS_PER_WORD >= 64 && offset <= 1)
- {
-- val = k[i*2 + ! WORDS_BIG_ENDIAN];
-+ val = k[offset*2 + ! WORDS_BIG_ENDIAN];
- val = (((val & 0xffffffff) ^ 0x80000000) - 0x80000000) << 32;
-- val |= (HOST_WIDE_INT) k[i*2 + WORDS_BIG_ENDIAN] & 0xffffffff;
-+ val |= (HOST_WIDE_INT) k[offset*2 + WORDS_BIG_ENDIAN] & 0xffffffff;
- return GEN_INT (val);
- }
- #endif
-@@ -1417,10 +1420,10 @@ operand_subword (op, i, validate_address
- compilers don't like a conditional inside macro args, so we have two
- copies of the return. */
- #ifdef HOST_WORDS_BIG_ENDIAN
-- return GEN_INT (i == WORDS_BIG_ENDIAN
-+ return GEN_INT (offset == WORDS_BIG_ENDIAN
- ? CONST_DOUBLE_HIGH (op) : CONST_DOUBLE_LOW (op));
- #else
-- return GEN_INT (i != WORDS_BIG_ENDIAN
-+ return GEN_INT (offset != WORDS_BIG_ENDIAN
- ? CONST_DOUBLE_HIGH (op) : CONST_DOUBLE_LOW (op));
- #endif
- }
-@@ -1446,7 +1449,7 @@ operand_subword (op, i, validate_address
-
- if (BITS_PER_WORD == 16)
- {
-- if ((i & 1) == !WORDS_BIG_ENDIAN)
-+ if ((offset & 1) == !WORDS_BIG_ENDIAN)
- val >>= 16;
- val &= 0xffff;
- }
-@@ -1490,7 +1493,7 @@ operand_subword (op, i, validate_address
-
- /* The only remaining cases that we can handle are integers.
- Convert to proper endianness now since these cases need it.
-- At this point, i == 0 means the low-order word.
-+ At this point, offset == 0 means the low-order word.
-
- We do not want to handle the case when BITS_PER_WORD <= HOST_BITS_PER_INT
- in general. However, if OP is (const_int 0), we can just return
-@@ -1505,24 +1508,167 @@ operand_subword (op, i, validate_address
- return 0;
-
- if (WORDS_BIG_ENDIAN)
-- i = GET_MODE_SIZE (mode) / UNITS_PER_WORD - 1 - i;
-+ offset = GET_MODE_SIZE (mode) / UNITS_PER_WORD - 1 - offset;
-
- /* Find out which word on the host machine this value is in and get
- it from the constant. */
-- val = (i / size_ratio == 0
-+ val = (offset / size_ratio == 0
- ? (GET_CODE (op) == CONST_INT ? INTVAL (op) : CONST_DOUBLE_LOW (op))
- : (GET_CODE (op) == CONST_INT
- ? (INTVAL (op) < 0 ? ~0 : 0) : CONST_DOUBLE_HIGH (op)));
-
- /* Get the value we want into the low bits of val. */
- if (BITS_PER_WORD < HOST_BITS_PER_WIDE_INT)
-- val = ((val >> ((i % size_ratio) * BITS_PER_WORD)));
-+ val = ((val >> ((offset % size_ratio) * BITS_PER_WORD)));
-
- val = trunc_int_for_mode (val, word_mode);
-
- return GEN_INT (val);
- }
-
-+/* Return subword OFFSET of operand OP.
-+ The word number, OFFSET, is interpreted as the word number starting
-+ at the low-order address. OFFSET 0 is the low-order word if not
-+ WORDS_BIG_ENDIAN, otherwise it is the high-order word.
-+
-+ If we cannot extract the required word, we return zero. Otherwise,
-+ an rtx corresponding to the requested word will be returned.
-+
-+ VALIDATE_ADDRESS is nonzero if the address should be validated. Before
-+ reload has completed, a valid address will always be returned. After
-+ reload, if a valid address cannot be returned, we return zero.
-+
-+ If VALIDATE_ADDRESS is zero, we simply form the required address; validating
-+ it is the responsibility of the caller.
-+
-+ MODE is the mode of OP in case it is a CONST_INT.
-+
-+ ??? This is still rather broken for some cases. The problem for the
-+ moment is that all callers of this thing provide no 'goal mode' to
-+ tell us to work with. This exists because all callers were written
-+ in a word based SUBREG world. */
-+
-+rtx
-+operand_subword (op, offset, validate_address, mode)
-+ rtx op;
-+ unsigned int offset;
-+ int validate_address;
-+ enum machine_mode mode;
-+{
-+ if (mode == VOIDmode)
-+ mode = GET_MODE (op);
-+
-+ if (mode == VOIDmode)
-+ abort ();
-+
-+ /* If OP is narrower than a word or if we want a word outside OP, fail. */
-+ if (mode != BLKmode
-+ && (GET_MODE_SIZE (mode) < UNITS_PER_WORD
-+ || (offset + 1) * UNITS_PER_WORD > GET_MODE_SIZE (mode)))
-+ return 0;
-+
-+ switch (GET_CODE (op))
-+ {
-+ case REG:
-+ case SUBREG:
-+ case CONCAT:
-+ case MEM:
-+ break;
-+
-+ default:
-+ /* The only remaining cases are when OP is a constant. If the host and
-+ target floating formats are the same, handling two-word floating
-+ constants are easy. Note that REAL_VALUE_TO_TARGET_{SINGLE,DOUBLE}
-+ are defined as returning one or two 32 bit values, respectively,
-+ and not values of BITS_PER_WORD bits. */
-+ return constant_subword (op, offset, mode);
-+ }
-+
-+ /* If OP is already an integer word, return it. */
-+ if (GET_MODE_CLASS (mode) == MODE_INT
-+ && GET_MODE_SIZE (mode) == UNITS_PER_WORD)
-+ return op;
-+
-+ /* If OP is a REG or SUBREG, we can handle it very simply. */
-+ if (GET_CODE (op) == REG)
-+ {
-+ if (REGNO (op) < FIRST_PSEUDO_REGISTER)
-+ {
-+ int final_regno = REGNO (op) +
-+ SUBREG_REGNO_OFFSET(REGNO (op), GET_MODE (op),
-+ offset * UNITS_PER_WORD,
-+ word_mode);
-+
-+ /* If the register is not valid for MODE, return 0. If we don't
-+ do this, there is no way to fix up the resulting REG later. */
-+ if (! HARD_REGNO_MODE_OK (final_regno, word_mode))
-+ return 0;
-+
-+ /* integrate.c can't handle parts of a return value register.
-+ ??? Then integrate.c should be fixed!
-+ ??? What about CLASS_CANNOT_CHANGE_SIZE? */
-+ if ((! REG_FUNCTION_VALUE_P (op)
-+ || ! rtx_equal_function_value_matters)
-+ /* ??? What about CLASS_CANNOT_CHANGE_SIZE? */
-+ /* We want to keep the stack, frame, and arg pointers
-+ special. */
-+ && op != frame_pointer_rtx
-+#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
-+ && op != arg_pointer_rtx
-+#endif
-+ && op != stack_pointer_rtx)
-+ return gen_rtx_REG (word_mode, final_regno);
-+ }
-+
-+ /* Just return a normal SUBREG. */
-+ return gen_rtx_SUBREG (word_mode, op,
-+ (offset * UNITS_PER_WORD));
-+ }
-+ else if (GET_CODE (op) == SUBREG)
-+ {
-+ int final_offset = ((offset * UNITS_PER_WORD) + SUBREG_BYTE (op));
-+
-+ /* When working with SUBREGs the rule is that the byte
-+ offset must be a multiple of the SUBREG's mode. */
-+ final_offset = (final_offset / GET_MODE_SIZE (word_mode));
-+ final_offset = (final_offset * GET_MODE_SIZE (word_mode));
-+ return gen_rtx_SUBREG (word_mode, SUBREG_REG (op), final_offset);
-+ }
-+ else if (GET_CODE (op) == CONCAT)
-+ {
-+ unsigned int partwords = GET_MODE_UNIT_SIZE (GET_MODE (op)) / UNITS_PER_WORD;
-+ if (offset < partwords)
-+ return operand_subword (XEXP (op, 0), offset, validate_address, mode);
-+ return operand_subword (XEXP (op, 1), offset - partwords,
-+ validate_address, mode);
-+ }
-+
-+ /* Form a new MEM at the requested address. */
-+ if (GET_CODE (op) == MEM)
-+ {
-+ rtx addr = plus_constant (XEXP (op, 0), (offset * UNITS_PER_WORD));
-+ rtx new;
-+
-+ if (validate_address)
-+ {
-+ if (reload_completed)
-+ {
-+ if (! strict_memory_address_p (word_mode, addr))
-+ return 0;
-+ }
-+ else
-+ addr = memory_address (word_mode, addr);
-+ }
-+
-+ new = gen_rtx_MEM (word_mode, addr);
-+ MEM_COPY_ATTRIBUTES (new, op);
-+ return new;
-+ }
-+
-+ /* Unreachable... (famous last words) */
-+ abort ();
-+}
-+
- /* Similar to `operand_subword', but never return 0. If we can't extract
- the required subword, put OP into a register and try again. If that fails,
- abort. We always validate the address in this case. It is not valid
-@@ -1532,13 +1678,17 @@ operand_subword (op, i, validate_address
- MODE is the mode of OP, in case it is CONST_INT. */
-
- rtx
--operand_subword_force (op, i, mode)
-+operand_subword_force (op, offset, mode)
- rtx op;
-- unsigned int i;
-+ unsigned int offset;
- enum machine_mode mode;
- {
-- rtx result = operand_subword (op, i, 1, mode);
-+ rtx result;
-+
-+ if (reload_completed)
-+ abort ();
-
-+ result = operand_subword (op, offset, 1, mode);
- if (result)
- return result;
-
-@@ -1552,7 +1702,7 @@ operand_subword_force (op, i, mode)
- op = force_reg (mode, op);
- }
-
-- result = operand_subword (op, i, 1, mode);
-+ result = operand_subword (op, offset, 1, mode);
- if (result == 0)
- abort ();
-
---- gcc/stmt.c.jj Sat Jun 24 10:09:01 2000
-+++ gcc/stmt.c Mon Jul 31 20:46:25 2000
-@@ -4239,7 +4239,7 @@ expand_anon_union_decl (decl, cleanup, d
- if (mode == GET_MODE (x))
- DECL_RTL (decl_elt) = x;
- else
-- DECL_RTL (decl_elt) = gen_rtx_SUBREG (mode, x, 0);
-+ DECL_RTL (decl_elt) = gen_lowpart_SUBREG (mode, x);
- }
- else
- abort ();
---- gcc/alias.c.jj Fri Jul 7 21:39:32 2000
-+++ gcc/alias.c Mon Jul 31 20:46:25 2000
-@@ -1717,7 +1717,7 @@ nonlocal_reference_p (x)
- {
- /* Global registers are not local. */
- if (REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER
-- && global_regs[REGNO (SUBREG_REG (x)) + SUBREG_WORD (x)])
-+ && global_regs[SUBREG_REGNO (x)])
- return 1;
- return 0;
- }
---- gcc/final.c.jj Mon Jul 31 20:02:10 2000
-+++ gcc/final.c Mon Jul 31 20:46:25 2000
-@@ -3172,20 +3172,8 @@ alter_subreg (x)
-
- if (GET_CODE (y) == REG)
- {
-- int regno;
-- /* If the word size is larger than the size of this register,
-- adjust the register number to compensate. */
-- /* ??? Note that this just catches stragglers created by/for
-- integrate. It would be better if we either caught these
-- earlier, or kept _all_ subregs until now and eliminate
-- gen_lowpart and friends. */
-+ int regno = subreg_hard_regno (x, 1);
-
--#ifdef ALTER_HARD_SUBREG
-- regno = ALTER_HARD_SUBREG(GET_MODE (x), SUBREG_WORD (x),
-- GET_MODE (y), REGNO (y));
--#else
-- regno = REGNO (y) + SUBREG_WORD (x);
--#endif
- PUT_CODE (x, REG);
- REGNO (x) = regno;
- /* This field has a different meaning for REGs and SUBREGs. Make sure
-@@ -3194,11 +3182,12 @@ alter_subreg (x)
- }
- else if (GET_CODE (y) == MEM)
- {
-- register int offset = SUBREG_WORD (x) * UNITS_PER_WORD;
-+ register int offset = SUBREG_BYTE (x);
-+
-+ /* Catch these instead of generating incorrect code. */
-+ if ((offset % GET_MODE_SIZE (GET_MODE (x))) != 0)
-+ abort ();
-
-- if (BYTES_BIG_ENDIAN)
-- offset -= (MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (x)))
-- - MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (y))));
- PUT_CODE (x, MEM);
- MEM_COPY_ATTRIBUTES (x, y);
- XEXP (x, 0) = plus_constant (XEXP (y, 0), offset);
---- gcc/flow.c.jj Mon Jul 31 20:02:10 2000
-+++ gcc/flow.c Mon Jul 31 20:46:25 2000
-@@ -2866,7 +2866,7 @@ set_noop_p (set)
-
- if (GET_CODE (src) == SUBREG && GET_CODE (dst) == SUBREG)
- {
-- if (SUBREG_WORD (src) != SUBREG_WORD (dst))
-+ if (SUBREG_BYTE (src) != SUBREG_BYTE (dst))
- return 0;
- src = SUBREG_REG (src);
- dst = SUBREG_REG (dst);
-@@ -4276,12 +4276,9 @@ mark_set_1 (pbi, code, reg, cond, insn,
- regno_last = regno_first = REGNO (SUBREG_REG (reg));
- if (regno_first < FIRST_PSEUDO_REGISTER)
- {
--#ifdef ALTER_HARD_SUBREG
-- regno_first = ALTER_HARD_SUBREG (outer_mode, SUBREG_WORD (reg),
-- inner_mode, regno_first);
--#else
-- regno_first += SUBREG_WORD (reg);
--#endif
-+ regno_first += SUBREG_REGNO_OFFSET (regno_first, inner_mode,
-+ SUBREG_BYTE (reg),
-+ outer_mode);
- regno_last = (regno_first
- + HARD_REGNO_NREGS (regno_first, outer_mode) - 1);
-
---- gcc/expr.c.jj Thu Jul 13 14:53:31 2000
-+++ gcc/expr.c Mon Jul 31 20:46:25 2000
-@@ -3881,7 +3881,7 @@ store_expr (exp, target, want_value)
- if (want_value && GET_MODE (temp) != GET_MODE (target)
- && GET_MODE (temp) != VOIDmode)
- {
-- temp = gen_rtx_SUBREG (GET_MODE (target), temp, 0);
-+ temp = gen_lowpart_SUBREG (GET_MODE (target), temp);
- SUBREG_PROMOTED_VAR_P (temp) = 1;
- SUBREG_PROMOTED_UNSIGNED_P (temp)
- = SUBREG_PROMOTED_UNSIGNED_P (target);
-@@ -6081,7 +6081,7 @@ expand_expr (exp, target, tmode, modifie
- != promote_mode (type, DECL_MODE (exp), &unsignedp, 0))
- abort ();
-
-- temp = gen_rtx_SUBREG (mode, DECL_RTL (exp), 0);
-+ temp = gen_lowpart_SUBREG (mode, DECL_RTL (exp));
- SUBREG_PROMOTED_VAR_P (temp) = 1;
- SUBREG_PROMOTED_UNSIGNED_P (temp) = unsignedp;
- return temp;
-@@ -6198,7 +6198,7 @@ expand_expr (exp, target, tmode, modifie
-
- if (GET_CODE (temp) == REG && GET_MODE (temp) != mode)
- {
-- temp = gen_rtx_SUBREG (mode, SAVE_EXPR_RTL (exp), 0);
-+ temp = gen_lowpart_SUBREG (mode, SAVE_EXPR_RTL (exp));
- SUBREG_PROMOTED_VAR_P (temp) = 1;
- SUBREG_PROMOTED_UNSIGNED_P (temp) = unsignedp;
- }
-@@ -6221,7 +6221,7 @@ expand_expr (exp, target, tmode, modifie
- {
- /* Compute the signedness and make the proper SUBREG. */
- promote_mode (type, mode, &unsignedp, 0);
-- temp = gen_rtx_SUBREG (mode, SAVE_EXPR_RTL (exp), 0);
-+ temp = gen_lowpart_SUBREG (mode, SAVE_EXPR_RTL (exp));
- SUBREG_PROMOTED_VAR_P (temp) = 1;
- SUBREG_PROMOTED_UNSIGNED_P (temp) = unsignedp;
- return temp;
---- gcc/function.c.jj Mon Jul 31 20:02:10 2000
-+++ gcc/function.c Mon Jul 31 20:46:25 2000
-@@ -2165,7 +2165,7 @@ fixup_var_refs_1 (var, promoted_mode, lo
- dest = XEXP (dest, 0);
-
- if (GET_CODE (src) == SUBREG)
-- src = XEXP (src, 0);
-+ src = SUBREG_REG (src);
-
- /* If VAR does not appear at the top level of the SET
- just scan the lower levels of the tree. */
-@@ -2425,7 +2425,7 @@ fixup_memory_subreg (x, insn, uncritical
- rtx insn;
- int uncritical;
- {
-- int offset = SUBREG_WORD (x) * UNITS_PER_WORD;
-+ int offset = SUBREG_BYTE (x);
- rtx addr = XEXP (SUBREG_REG (x), 0);
- enum machine_mode mode = GET_MODE (x);
- rtx result;
-@@ -2435,9 +2435,6 @@ fixup_memory_subreg (x, insn, uncritical
- && ! uncritical)
- abort ();
-
-- if (BYTES_BIG_ENDIAN)
-- offset += (MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))
-- - MIN (UNITS_PER_WORD, GET_MODE_SIZE (mode)));
- addr = plus_constant (addr, offset);
- if (!flag_force_addr && memory_address_p (mode, addr))
- /* Shortcut if no insns need be emitted. */
-@@ -2631,7 +2628,8 @@ optimize_bit_field (body, insn, equiv_me
- offset /= BITS_PER_UNIT;
- if (GET_CODE (XEXP (bitfield, 0)) == SUBREG)
- {
-- offset += SUBREG_WORD (XEXP (bitfield, 0)) * UNITS_PER_WORD;
-+ offset += (SUBREG_BYTE (XEXP (bitfield, 0))
-+ / UNITS_PER_WORD) * UNITS_PER_WORD;
- if (BYTES_BIG_ENDIAN)
- offset -= (MIN (UNITS_PER_WORD,
- GET_MODE_SIZE (GET_MODE (XEXP (bitfield, 0))))
-@@ -2656,7 +2654,7 @@ optimize_bit_field (body, insn, equiv_me
- {
- rtx src = SET_SRC (body);
- while (GET_CODE (src) == SUBREG
-- && SUBREG_WORD (src) == 0)
-+ && SUBREG_BYTE (src) == 0)
- src = SUBREG_REG (src);
- if (GET_MODE (src) != GET_MODE (memref))
- src = gen_lowpart (GET_MODE (memref), SET_SRC (body));
-@@ -2677,7 +2675,7 @@ optimize_bit_field (body, insn, equiv_me
- rtx dest = SET_DEST (body);
-
- while (GET_CODE (dest) == SUBREG
-- && SUBREG_WORD (dest) == 0
-+ && SUBREG_BYTE (dest) == 0
- && (GET_MODE_CLASS (GET_MODE (dest))
- == GET_MODE_CLASS (GET_MODE (SUBREG_REG (dest))))
- && (GET_MODE_SIZE (GET_MODE (SUBREG_REG (dest)))
-@@ -2965,7 +2963,7 @@ purge_addressof_1 (loc, insn, force, sto
- code did. This is especially true of
- REG_RETVAL. */
-
-- if (GET_CODE (z) == SUBREG && SUBREG_WORD (z) == 0)
-+ if (GET_CODE (z) == SUBREG && SUBREG_BYTE (z) == 0)
- z = SUBREG_REG (z);
-
- if (GET_MODE_SIZE (GET_MODE (x)) > UNITS_PER_WORD
-@@ -4554,6 +4552,20 @@ assign_parms (fndecl)
-
- push_to_sequence (conversion_insns);
- tempreg = convert_to_mode (nominal_mode, tempreg, unsignedp);
-+
-+ if (GET_CODE (tempreg) == SUBREG
-+ && GET_MODE (tempreg) == nominal_mode
-+ && GET_CODE (SUBREG_REG (tempreg)) == REG
-+ && nominal_mode == passed_mode
-+ && GET_MODE (SUBREG_REG (tempreg)) == GET_MODE (entry_parm)
-+ && GET_MODE_SIZE (GET_MODE (tempreg))
-+ < GET_MODE_SIZE (GET_MODE (entry_parm)))
-+ {
-+ /* The argument is already sign/zero extended, so note it
-+ into the subreg. */
-+ SUBREG_PROMOTED_VAR_P (tempreg) = 1;
-+ SUBREG_PROMOTED_UNSIGNED_P (tempreg) = unsignedp;
-+ }
-
- /* TREE_USED gets set erroneously during expand_assignment. */
- save_tree_used = TREE_USED (parm);
---- gcc/gengenrtl.c.jj Sun Jul 2 10:37:05 2000
-+++ gcc/gengenrtl.c Mon Jul 31 20:46:25 2000
-@@ -189,6 +189,7 @@ special_rtx (idx)
- return (strcmp (defs[idx].enumname, "CONST_INT") == 0
- || strcmp (defs[idx].enumname, "CONST_DOUBLE") == 0
- || strcmp (defs[idx].enumname, "REG") == 0
-+ || strcmp (defs[idx].enumname, "SUBREG") == 0
- || strcmp (defs[idx].enumname, "MEM") == 0);
- }
-
---- gcc/global.c.jj Wed Jun 14 07:07:59 2000
-+++ gcc/global.c Mon Jul 31 20:46:25 2000
-@@ -1419,17 +1419,8 @@ mark_reg_store (reg, setter, data)
- {
- register int regno;
-
-- /* WORD is which word of a multi-register group is being stored.
-- For the case where the store is actually into a SUBREG of REG.
-- Except we don't use it; I believe the entire REG needs to be
-- made live. */
-- int word = 0;
--
- if (GET_CODE (reg) == SUBREG)
-- {
-- word = SUBREG_WORD (reg);
-- reg = SUBREG_REG (reg);
-- }
-+ reg = SUBREG_REG (reg);
-
- if (GET_CODE (reg) != REG)
- return;
-@@ -1453,7 +1444,7 @@ mark_reg_store (reg, setter, data)
- }
-
- if (reg_renumber[regno] >= 0)
-- regno = reg_renumber[regno] /* + word */;
-+ regno = reg_renumber[regno];
-
- /* Handle hardware regs (and pseudos allocated to hard regs). */
- if (regno < FIRST_PSEUDO_REGISTER && ! fixed_regs[regno])
-@@ -1603,7 +1594,15 @@ set_preference (dest, src)
- else if (GET_CODE (src) == SUBREG && GET_CODE (SUBREG_REG (src)) == REG)
- {
- src_regno = REGNO (SUBREG_REG (src));
-- offset += SUBREG_WORD (src);
-+
-+ if (REGNO (SUBREG_REG (src)) < FIRST_PSEUDO_REGISTER)
-+ offset += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (src)),
-+ GET_MODE (SUBREG_REG (src)),
-+ SUBREG_BYTE (src),
-+ GET_MODE (src));
-+ else
-+ offset += (SUBREG_BYTE (src)
-+ / REGMODE_NATURAL_SIZE (GET_MODE (src)));
- }
- else
- return;
-@@ -1613,7 +1612,15 @@ set_preference (dest, src)
- else if (GET_CODE (dest) == SUBREG && GET_CODE (SUBREG_REG (dest)) == REG)
- {
- dest_regno = REGNO (SUBREG_REG (dest));
-- offset -= SUBREG_WORD (dest);
-+
-+ if (REGNO (SUBREG_REG (dest)) < FIRST_PSEUDO_REGISTER)
-+ offset -= SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (dest)),
-+ GET_MODE (SUBREG_REG (dest)),
-+ SUBREG_BYTE (dest),
-+ GET_MODE (dest));
-+ else
-+ offset -= (SUBREG_BYTE (dest)
-+ / REGMODE_NATURAL_SIZE (GET_MODE (dest)));
- }
- else
- return;
---- gcc/haifa-sched.c.jj Mon Jul 31 20:02:11 2000
-+++ gcc/haifa-sched.c Mon Jul 31 20:46:25 2000
-@@ -5308,7 +5308,7 @@ print_value (buf, x, verbose)
- case SUBREG:
- print_value (t, SUBREG_REG (x), verbose);
- cur = safe_concat (buf, cur, t);
-- sprintf (t, "#%d", SUBREG_WORD (x));
-+ sprintf (t, "#%d", SUBREG_BYTE (x));
- cur = safe_concat (buf, cur, t);
- break;
- case SCRATCH:
---- gcc/integrate.c.jj Fri Jul 7 21:47:09 2000
-+++ gcc/integrate.c Mon Jul 31 20:46:25 2000
-@@ -1861,23 +1861,33 @@ copy_rtx_and_substitute (orig, map, for_
- copy = copy_rtx_and_substitute (SUBREG_REG (orig), map, for_lhs);
- /* SUBREG is ordinary, but don't make nested SUBREGs. */
- if (GET_CODE (copy) == SUBREG)
-- return gen_rtx_SUBREG (GET_MODE (orig), SUBREG_REG (copy),
-- SUBREG_WORD (orig) + SUBREG_WORD (copy));
-+ {
-+ int final_offset = SUBREG_BYTE (orig) + SUBREG_BYTE (copy);
-+
-+ /* When working with SUBREGs the rule is that the byte
-+ offset must be a multiple of the SUBREG's mode. */
-+ final_offset = (final_offset / GET_MODE_SIZE (GET_MODE (orig)));
-+ final_offset = (final_offset * GET_MODE_SIZE (GET_MODE (orig)));
-+ return gen_rtx_SUBREG (GET_MODE (orig), SUBREG_REG (copy),
-+ final_offset);
-+ }
- else if (GET_CODE (copy) == CONCAT)
- {
- rtx retval = subreg_realpart_p (orig) ? XEXP (copy, 0) : XEXP (copy, 1);
-+ int final_offset;
-
- if (GET_MODE (retval) == GET_MODE (orig))
- return retval;
-- else
-- return gen_rtx_SUBREG (GET_MODE (orig), retval,
-- (SUBREG_WORD (orig) %
-- (GET_MODE_UNIT_SIZE (GET_MODE (SUBREG_REG (orig)))
-- / (unsigned) UNITS_PER_WORD)));
-+
-+ final_offset = SUBREG_BYTE (orig) %
-+ GET_MODE_UNIT_SIZE (GET_MODE (SUBREG_REG (orig)));
-+ final_offset = (final_offset / GET_MODE_SIZE (GET_MODE (orig)));
-+ final_offset = (final_offset * GET_MODE_SIZE (GET_MODE (orig)));
-+ return gen_rtx_SUBREG (GET_MODE (orig), retval, final_offset);
- }
- else
- return gen_rtx_SUBREG (GET_MODE (orig), copy,
-- SUBREG_WORD (orig));
-+ SUBREG_BYTE (orig));
-
- case ADDRESSOF:
- copy = gen_rtx_ADDRESSOF (mode,
-@@ -2365,8 +2375,8 @@ subst_constants (loc, insn, map, memonly
- if (GET_MODE_CLASS (GET_MODE (x)) == MODE_INT
- && GET_MODE_SIZE (GET_MODE (x)) == UNITS_PER_WORD
- && GET_MODE (SUBREG_REG (x)) != VOIDmode)
-- new = operand_subword (inner, SUBREG_WORD (x), 0,
-- GET_MODE (SUBREG_REG (x)));
-+ new = operand_subword (inner, SUBREG_BYTE (x) / UNITS_PER_WORD,
-+ 0, GET_MODE (SUBREG_REG (x)));
-
- cancel_changes (num_changes);
- if (new == 0 && subreg_lowpart_p (x))
-@@ -2585,7 +2595,12 @@ mark_stores (dest, x, data)
- regno = REGNO (dest), mode = GET_MODE (dest);
- else if (GET_CODE (dest) == SUBREG && GET_CODE (SUBREG_REG (dest)) == REG)
- {
-- regno = REGNO (SUBREG_REG (dest)) + SUBREG_WORD (dest);
-+ regno = REGNO (SUBREG_REG (dest));
-+ if (regno < FIRST_PSEUDO_REGISTER)
-+ regno += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (dest)),
-+ GET_MODE (SUBREG_REG (dest)),
-+ SUBREG_BYTE (dest),
-+ GET_MODE (dest));
- mode = GET_MODE (SUBREG_REG (dest));
- }
-
---- gcc/jump.c.jj Mon Jul 31 20:02:11 2000
-+++ gcc/jump.c Mon Jul 31 20:46:25 2000
-@@ -3506,7 +3506,7 @@ rtx_renumbered_equal_p (x, y)
- && GET_CODE (SUBREG_REG (y)) == REG)))
- {
- int reg_x = -1, reg_y = -1;
-- int word_x = 0, word_y = 0;
-+ int byte_x = 0, byte_y = 0;
-
- if (GET_MODE (x) != GET_MODE (y))
- return 0;
-@@ -3519,15 +3519,17 @@ rtx_renumbered_equal_p (x, y)
- if (code == SUBREG)
- {
- reg_x = REGNO (SUBREG_REG (x));
-- word_x = SUBREG_WORD (x);
-+ byte_x = SUBREG_BYTE (x);
-
- if (reg_renumber[reg_x] >= 0)
- {
-- reg_x = reg_renumber[reg_x] + word_x;
-- word_x = 0;
-+ reg_x = SUBREG_REGNO_OFFSET (reg_renumber[reg_x],
-+ GET_MODE (SUBREG_REG (x)),
-+ byte_x,
-+ GET_MODE (x));
-+ byte_x = 0;
- }
- }
--
- else
- {
- reg_x = REGNO (x);
-@@ -3538,15 +3540,17 @@ rtx_renumbered_equal_p (x, y)
- if (GET_CODE (y) == SUBREG)
- {
- reg_y = REGNO (SUBREG_REG (y));
-- word_y = SUBREG_WORD (y);
-+ byte_y = SUBREG_BYTE (y);
-
- if (reg_renumber[reg_y] >= 0)
- {
-- reg_y = reg_renumber[reg_y];
-- word_y = 0;
-+ reg_y = SUBREG_REGNO_OFFSET (reg_renumber[reg_y],
-+ GET_MODE (SUBREG_REG (y)),
-+ byte_y,
-+ GET_MODE (y));
-+ byte_y = 0;
- }
- }
--
- else
- {
- reg_y = REGNO (y);
-@@ -3554,7 +3558,7 @@ rtx_renumbered_equal_p (x, y)
- reg_y = reg_renumber[reg_y];
- }
-
-- return reg_x >= 0 && reg_x == reg_y && word_x == word_y;
-+ return reg_x >= 0 && reg_x == reg_y && byte_x == byte_y;
- }
-
- /* Now we have disposed of all the cases
-@@ -3685,7 +3689,9 @@ true_regnum (x)
- {
- int base = true_regnum (SUBREG_REG (x));
- if (base >= 0 && base < FIRST_PSEUDO_REGISTER)
-- return SUBREG_WORD (x) + base;
-+ return base + SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x)),
-+ GET_MODE (SUBREG_REG (x)),
-+ SUBREG_BYTE (x), GET_MODE (x));
- }
- return -1;
- }
---- gcc/local-alloc.c.jj Mon Jul 31 20:02:11 2000
-+++ gcc/local-alloc.c Mon Jul 31 20:46:25 2000
-@@ -1610,25 +1610,49 @@ combine_regs (usedreg, setreg, may_save_
- {
- if (GET_MODE_SIZE (GET_MODE (SUBREG_REG (usedreg))) > UNITS_PER_WORD)
- may_save_copy = 0;
-- offset += SUBREG_WORD (usedreg);
-+ if (REGNO (SUBREG_REG (usedreg)) < FIRST_PSEUDO_REGISTER)
-+ offset += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (usedreg)),
-+ GET_MODE (SUBREG_REG (usedreg)),
-+ SUBREG_BYTE (usedreg),
-+ GET_MODE (usedreg));
-+ else
-+ offset += (SUBREG_BYTE (usedreg)
-+ / REGMODE_NATURAL_SIZE (GET_MODE (usedreg)));
- usedreg = SUBREG_REG (usedreg);
- }
- if (GET_CODE (usedreg) != REG)
- return 0;
- ureg = REGNO (usedreg);
-- usize = REG_SIZE (usedreg);
-+ if (ureg < FIRST_PSEUDO_REGISTER)
-+ usize = HARD_REGNO_NREGS (ureg, GET_MODE (usedreg));
-+ else
-+ usize = ((GET_MODE_SIZE (GET_MODE (usedreg))
-+ + (REGMODE_NATURAL_SIZE (GET_MODE (usedreg)) - 1))
-+ / REGMODE_NATURAL_SIZE (GET_MODE (usedreg)));
-
- while (GET_CODE (setreg) == SUBREG)
- {
- if (GET_MODE_SIZE (GET_MODE (SUBREG_REG (setreg))) > UNITS_PER_WORD)
- may_save_copy = 0;
-- offset -= SUBREG_WORD (setreg);
-+ if (REGNO (SUBREG_REG (setreg)) < FIRST_PSEUDO_REGISTER)
-+ offset -= SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (setreg)),
-+ GET_MODE (SUBREG_REG (setreg)),
-+ SUBREG_BYTE (setreg),
-+ GET_MODE (setreg));
-+ else
-+ offset -= (SUBREG_BYTE (usedreg)
-+ / REGMODE_NATURAL_SIZE (GET_MODE (setreg)));
- setreg = SUBREG_REG (setreg);
- }
- if (GET_CODE (setreg) != REG)
- return 0;
- sreg = REGNO (setreg);
-- ssize = REG_SIZE (setreg);
-+ if (sreg < FIRST_PSEUDO_REGISTER)
-+ ssize = HARD_REGNO_NREGS (sreg, GET_MODE (setreg));
-+ else
-+ ssize = ((GET_MODE_SIZE (GET_MODE (setreg))
-+ + (REGMODE_NATURAL_SIZE (GET_MODE (setreg)) - 1))
-+ / REGMODE_NATURAL_SIZE (GET_MODE (setreg)));
-
- /* If UREG is a pseudo-register that hasn't already been assigned a
- quantity number, it means that it is not local to this block or dies
-@@ -1834,7 +1858,11 @@ reg_is_born (reg, birth)
- register int regno;
-
- if (GET_CODE (reg) == SUBREG)
-- regno = REGNO (SUBREG_REG (reg)) + SUBREG_WORD (reg);
-+ {
-+ regno = REGNO (SUBREG_REG (reg));
-+ if (regno < FIRST_PSEUDO_REGISTER)
-+ regno = subreg_hard_regno (reg, 1);
-+ }
- else
- regno = REGNO (reg);
-
---- gcc/recog.c.jj Mon Jul 31 20:02:12 2000
-+++ gcc/recog.c Mon Jul 31 20:46:25 2000
-@@ -510,15 +510,10 @@ validate_replace_rtx_1 (loc, from, to, o
- && ! MEM_VOLATILE_P (to)
- && GET_MODE_SIZE (GET_MODE (x)) <= GET_MODE_SIZE (GET_MODE (to)))
- {
-- int offset = SUBREG_WORD (x) * UNITS_PER_WORD;
-+ int offset = SUBREG_BYTE (x);
- enum machine_mode mode = GET_MODE (x);
- rtx new;
-
-- if (BYTES_BIG_ENDIAN)
-- offset += (MIN (UNITS_PER_WORD,
-- GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))
-- - MIN (UNITS_PER_WORD, GET_MODE_SIZE (mode)));
--
- new = gen_rtx_MEM (mode, plus_constant (XEXP (to, 0), offset));
- MEM_COPY_ATTRIBUTES (new, to);
- validate_change (object, loc, new, 1);
-@@ -567,8 +562,8 @@ validate_replace_rtx_1 (loc, from, to, o
- int offset = pos / BITS_PER_UNIT;
- rtx newmem;
-
-- /* If the bytes and bits are counted differently, we
-- must adjust the offset. */
-+ /* If the bytes and bits are counted differently, we
-+ must adjust the offset. */
- if (BYTES_BIG_ENDIAN != BITS_BIG_ENDIAN)
- offset = (GET_MODE_SIZE (is_mode) - GET_MODE_SIZE (wanted_mode)
- - offset);
-@@ -897,7 +892,6 @@ general_operand (op, mode)
- enum machine_mode mode;
- {
- register enum rtx_code code = GET_CODE (op);
-- int mode_altering_drug = 0;
-
- if (mode == VOIDmode)
- mode = GET_MODE (op);
-@@ -935,11 +929,6 @@ general_operand (op, mode)
-
- op = SUBREG_REG (op);
- code = GET_CODE (op);
--#if 0
-- /* No longer needed, since (SUBREG (MEM...))
-- will load the MEM into a reload reg in the MEM's own mode. */
-- mode_altering_drug = 1;
--#endif
- }
-
- if (code == REG)
-@@ -970,8 +959,6 @@ general_operand (op, mode)
- return 0;
-
- win:
-- if (mode_altering_drug)
-- return ! mode_dependent_address_p (XEXP (op, 0));
- return 1;
- }
-
-@@ -1301,13 +1288,9 @@ indirect_operand (op, mode)
- if (! reload_completed
- && GET_CODE (op) == SUBREG && GET_CODE (SUBREG_REG (op)) == MEM)
- {
-- register int offset = SUBREG_WORD (op) * UNITS_PER_WORD;
-+ register int offset = SUBREG_BYTE (op);
- rtx inner = SUBREG_REG (op);
-
-- if (BYTES_BIG_ENDIAN)
-- offset -= (MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (op)))
-- - MIN (UNITS_PER_WORD, GET_MODE_SIZE (GET_MODE (inner))));
--
- if (mode != VOIDmode && GET_MODE (op) != mode)
- return 0;
-
-@@ -2277,7 +2260,10 @@ constrain_operands (strict)
- {
- if (GET_CODE (SUBREG_REG (op)) == REG
- && REGNO (SUBREG_REG (op)) < FIRST_PSEUDO_REGISTER)
-- offset = SUBREG_WORD (op);
-+ offset = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (op)),
-+ GET_MODE (SUBREG_REG (op)),
-+ SUBREG_BYTE (op),
-+ GET_MODE (op));
- op = SUBREG_REG (op);
- }
-
---- gcc/reg-stack.c.jj Thu Jul 27 19:46:44 2000
-+++ gcc/reg-stack.c Mon Jul 31 20:46:25 2000
-@@ -562,7 +562,11 @@ get_true_reg (pat)
- rtx subreg;
- if (FP_REG_P (subreg = SUBREG_REG (*pat)))
- {
-- *pat = FP_MODE_REG (REGNO (subreg) + SUBREG_WORD (*pat),
-+ int regno_off = SUBREG_REGNO_OFFSET (REGNO (subreg),
-+ GET_MODE (subreg),
-+ SUBREG_BYTE (*pat),
-+ GET_MODE (*pat));
-+ *pat = FP_MODE_REG (REGNO (subreg) + regno_off,
- GET_MODE (subreg));
- default:
- return pat;
---- gcc/regmove.c.jj Mon Jul 31 20:02:12 2000
-+++ gcc/regmove.c Mon Jul 31 20:46:25 2000
-@@ -706,7 +706,7 @@ optimize_reg_copy_3 (insn, dest, src)
-
- /* Now walk forward making additional replacements. We want to be able
- to undo all the changes if a later substitution fails. */
-- subreg = gen_rtx_SUBREG (old_mode, src_reg, 0);
-+ subreg = gen_lowpart_SUBREG (old_mode, src_reg);
- while (p = NEXT_INSN (p), p != insn)
- {
- if (GET_RTX_CLASS (GET_CODE (p)) != 'i')
-@@ -1160,7 +1160,7 @@ regmove_optimize (f, nregs, regmove_dump
- {
- src_subreg
- = gen_rtx_SUBREG (GET_MODE (SUBREG_REG (dst)),
-- src, SUBREG_WORD (dst));
-+ src, SUBREG_BYTE (dst));
- dst = SUBREG_REG (dst);
- }
- if (GET_CODE (dst) != REG
---- gcc/regs.h.jj Wed Jun 14 07:08:00 2000
-+++ gcc/regs.h Mon Jul 31 20:46:25 2000
-@@ -24,12 +24,28 @@ Boston, MA 02111-1307, USA. */
-
- #define REG_BYTES(R) mode_size[(int) GET_MODE (R)]
-
--/* Get the number of consecutive hard regs required to hold the REG rtx R.
-+/* Get the number of consecutive hard regs required to hold the REG or
-+ SUBREG rtx R.
- When something may be an explicit hard reg, REG_SIZE is the only
-- valid way to get this value. You cannot get it from the regno. */
-+ valid way to get this value. You cannot get it from the regno.
-
-+ A target may override this definition, the case where you would do
-+ this is where there are registers which are smaller than WORD_SIZE
-+ such as the SFmode registers on sparc64. */
-+
-+#ifndef REG_SIZE
- #define REG_SIZE(R) \
- ((mode_size[(int) GET_MODE (R)] + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
-+#endif
-+
-+/* When you only have the mode of a pseudo register before it has a hard
-+ register chosen for it, this reports the size of each hard register
-+ a pseudo in such a mode would get allocated to. Like REG_SIZE, a
-+ target may override this. */
-+
-+#ifndef REGMODE_NATURAL_SIZE
-+#define REGMODE_NATURAL_SIZE(MODE) UNITS_PER_WORD
-+#endif
-
- #ifndef SMALL_REGISTER_CLASSES
- #define SMALL_REGISTER_CLASSES 0
---- gcc/reload.c.jj Mon Jul 31 20:02:12 2000
-+++ gcc/reload.c Mon Jul 31 20:54:15 2000
-@@ -902,13 +902,12 @@ push_reload (in, out, inloc, outloc, cla
-
- Finally, reload the inner expression if it is a register that is in
- the class whose registers cannot be referenced in a different size
-- and M1 is not the same size as M2. If SUBREG_WORD is nonzero, we
-+ and M1 is not the same size as M2. If SUBREG_BYTE is nonzero, we
- cannot reload just the inside since we might end up with the wrong
- register class. But if it is inside a STRICT_LOW_PART, we have
- no choice, so we hope we do get the right register class there. */
-
- if (in != 0 && GET_CODE (in) == SUBREG
-- && (SUBREG_WORD (in) == 0 || strict_low)
- #ifdef CLASS_CANNOT_CHANGE_MODE
- && class != CLASS_CANNOT_CHANGE_MODE
- #endif
-@@ -941,7 +940,7 @@ push_reload (in, out, inloc, outloc, cla
- && REGNO (SUBREG_REG (in)) < FIRST_PSEUDO_REGISTER
- /* The case where out is nonzero
- is handled differently in the following statement. */
-- && (out == 0 || SUBREG_WORD (in) == 0)
-+ && (out == 0 || SUBREG_BYTE (in) == 0)
- && ((GET_MODE_SIZE (inmode) <= UNITS_PER_WORD
- && (GET_MODE_SIZE (GET_MODE (SUBREG_REG (in)))
- > UNITS_PER_WORD)
-@@ -949,9 +948,7 @@ push_reload (in, out, inloc, outloc, cla
- / UNITS_PER_WORD)
- != HARD_REGNO_NREGS (REGNO (SUBREG_REG (in)),
- GET_MODE (SUBREG_REG (in)))))
-- || ! HARD_REGNO_MODE_OK ((REGNO (SUBREG_REG (in))
-- + SUBREG_WORD (in)),
-- inmode)))
-+ || ! HARD_REGNO_MODE_OK (SUBREG_REGNO (in), inmode)))
- #ifdef SECONDARY_INPUT_RELOAD_CLASS
- || (SECONDARY_INPUT_RELOAD_CLASS (class, inmode, in) != NO_REGS
- && (SECONDARY_INPUT_RELOAD_CLASS (class,
-@@ -991,15 +988,13 @@ push_reload (in, out, inloc, outloc, cla
- that case. */
-
- /* Similar issue for (SUBREG constant ...) if it was not handled by the
-- code above. This can happen if SUBREG_WORD != 0. */
-+ code above. This can happen if SUBREG_BYTE != 0. */
-
- if (in != 0 && GET_CODE (in) == SUBREG
- && (CONSTANT_P (SUBREG_REG (in))
- || (GET_CODE (SUBREG_REG (in)) == REG
- && REGNO (SUBREG_REG (in)) < FIRST_PSEUDO_REGISTER
-- && (! HARD_REGNO_MODE_OK (REGNO (SUBREG_REG (in))
-- + SUBREG_WORD (in),
-- inmode)
-+ && (! HARD_REGNO_MODE_OK (SUBREG_REGNO (in), inmode)
- || (GET_MODE_SIZE (inmode) <= UNITS_PER_WORD
- && (GET_MODE_SIZE (GET_MODE (SUBREG_REG (in)))
- > UNITS_PER_WORD)
-@@ -1014,7 +1009,11 @@ push_reload (in, out, inloc, outloc, cla
- RELOAD_OTHER, we are guaranteed that this inner reload will be
- output before the outer reload. */
- push_reload (SUBREG_REG (in), NULL_RTX, &SUBREG_REG (in), NULL_PTR,
-- find_valid_class (inmode, SUBREG_WORD (in)),
-+ find_valid_class (inmode,
-+ SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (in)),
-+ GET_MODE (SUBREG_REG (in)),
-+ SUBREG_BYTE (in),
-+ GET_MODE (in))),
- VOIDmode, VOIDmode, 0, 0, opnum, type);
- dont_remove_subreg = 1;
- }
-@@ -1026,7 +1025,6 @@ push_reload (in, out, inloc, outloc, cla
- (except in the case of STRICT_LOW_PART,
- and in that case the constraint should label it input-output.) */
- if (out != 0 && GET_CODE (out) == SUBREG
-- && (SUBREG_WORD (out) == 0 || strict_low)
- #ifdef CLASS_CANNOT_CHANGE_MODE
- && class != CLASS_CANNOT_CHANGE_MODE
- #endif
-@@ -1054,9 +1052,7 @@ push_reload (in, out, inloc, outloc, cla
- / UNITS_PER_WORD)
- != HARD_REGNO_NREGS (REGNO (SUBREG_REG (out)),
- GET_MODE (SUBREG_REG (out)))))
-- || ! HARD_REGNO_MODE_OK ((REGNO (SUBREG_REG (out))
-- + SUBREG_WORD (out)),
-- outmode)))
-+ || ! HARD_REGNO_MODE_OK (SUBREG_REGNO (out), outmode)))
- #ifdef SECONDARY_OUTPUT_RELOAD_CLASS
- || (SECONDARY_OUTPUT_RELOAD_CLASS (class, outmode, out) != NO_REGS
- && (SECONDARY_OUTPUT_RELOAD_CLASS (class,
-@@ -1096,8 +1092,7 @@ push_reload (in, out, inloc, outloc, cla
- if (out != 0 && GET_CODE (out) == SUBREG
- && GET_CODE (SUBREG_REG (out)) == REG
- && REGNO (SUBREG_REG (out)) < FIRST_PSEUDO_REGISTER
-- && (! HARD_REGNO_MODE_OK (REGNO (SUBREG_REG (out)) + SUBREG_WORD (out),
-- outmode)
-+ && (! HARD_REGNO_MODE_OK (SUBREG_REGNO (out), outmode)
- || (GET_MODE_SIZE (outmode) <= UNITS_PER_WORD
- && (GET_MODE_SIZE (GET_MODE (SUBREG_REG (out)))
- > UNITS_PER_WORD)
-@@ -1114,7 +1109,11 @@ push_reload (in, out, inloc, outloc, cla
- dont_remove_subreg = 1;
- push_reload (SUBREG_REG (out), SUBREG_REG (out), &SUBREG_REG (out),
- &SUBREG_REG (out),
-- find_valid_class (outmode, SUBREG_WORD (out)),
-+ find_valid_class (outmode,
-+ SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (out)),
-+ GET_MODE (SUBREG_REG (out)),
-+ SUBREG_BYTE (out),
-+ GET_MODE (out))),
- VOIDmode, VOIDmode, 0, 0,
- opnum, RELOAD_OTHER);
- }
-@@ -1131,16 +1130,14 @@ push_reload (in, out, inloc, outloc, cla
- if (in != 0 && GET_CODE (in) == SUBREG && GET_CODE (SUBREG_REG (in)) == REG
- && REGNO (SUBREG_REG (in)) < FIRST_PSEUDO_REGISTER
- && ! dont_remove_subreg)
-- in = gen_rtx_REG (GET_MODE (in),
-- REGNO (SUBREG_REG (in)) + SUBREG_WORD (in));
-+ in = gen_rtx_REG (GET_MODE (in), SUBREG_REGNO (in));
-
- /* Similarly for OUT. */
- if (out != 0 && GET_CODE (out) == SUBREG
- && GET_CODE (SUBREG_REG (out)) == REG
- && REGNO (SUBREG_REG (out)) < FIRST_PSEUDO_REGISTER
- && ! dont_remove_subreg)
-- out = gen_rtx_REG (GET_MODE (out),
-- REGNO (SUBREG_REG (out)) + SUBREG_WORD (out));
-+ out = gen_rtx_REG (GET_MODE (out), SUBREG_REGNO (out));
-
- /* Narrow down the class of register wanted if that is
- desirable on this machine for efficiency. */
-@@ -1790,15 +1787,28 @@ find_dummy_reload (real_in, real_out, in
- || GET_MODE_SIZE (inmode) > UNITS_PER_WORD))
- return 0;
-
-+ /* Note that {in,out}_offset are needed only when 'in' or 'out'
-+ respectively refers to a hard register. */
-+
- /* Find the inside of any subregs. */
- while (GET_CODE (out) == SUBREG)
- {
-- out_offset = SUBREG_WORD (out);
-+ if (GET_CODE (SUBREG_REG (out)) == REG
-+ && REGNO (SUBREG_REG (out)) < FIRST_PSEUDO_REGISTER)
-+ out_offset += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (out)),
-+ GET_MODE (SUBREG_REG (out)),
-+ SUBREG_BYTE (out),
-+ GET_MODE (out));
- out = SUBREG_REG (out);
- }
- while (GET_CODE (in) == SUBREG)
- {
-- in_offset = SUBREG_WORD (in);
-+ if (GET_CODE (SUBREG_REG (in)) == REG
-+ && REGNO (SUBREG_REG (in)) < FIRST_PSEUDO_REGISTER)
-+ in_offset += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (in)),
-+ GET_MODE (SUBREG_REG (in)),
-+ SUBREG_BYTE (in),
-+ GET_MODE (in));
- in = SUBREG_REG (in);
- }
-
-@@ -2015,7 +2025,10 @@ operands_match_p (x, y)
- i = REGNO (SUBREG_REG (x));
- if (i >= FIRST_PSEUDO_REGISTER)
- goto slow;
-- i += SUBREG_WORD (x);
-+ i += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x)),
-+ GET_MODE (SUBREG_REG (x)),
-+ SUBREG_BYTE (x),
-+ GET_MODE (x));
- }
- else
- i = REGNO (x);
-@@ -2025,7 +2038,10 @@ operands_match_p (x, y)
- j = REGNO (SUBREG_REG (y));
- if (j >= FIRST_PSEUDO_REGISTER)
- goto slow;
-- j += SUBREG_WORD (y);
-+ j += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (y)),
-+ GET_MODE (SUBREG_REG (y)),
-+ SUBREG_BYTE (y),
-+ GET_MODE (y));
- }
- else
- j = REGNO (y);
-@@ -2754,7 +2770,18 @@ find_reloads (insn, replace, ind_levels,
-
- while (GET_CODE (operand) == SUBREG)
- {
-- offset += SUBREG_WORD (operand);
-+ /* Offset only matters when operand is a REG and
-+ it is a hard reg. This is because it is passed
-+ to reg_fits_class_p if it is a REG and all pseudos
-+ return 0 from that function. */
-+ if (GET_CODE (SUBREG_REG (operand)) == REG
-+ && REGNO (SUBREG_REG (operand)) < FIRST_PSEUDO_REGISTER)
-+ {
-+ offset += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (operand)),
-+ GET_MODE (SUBREG_REG (operand)),
-+ SUBREG_BYTE (operand),
-+ GET_MODE (operand));
-+ }
- operand = SUBREG_REG (operand);
- /* Force reload if this is a constant or PLUS or if there may
- be a problem accessing OPERAND in the outer mode. */
-@@ -2805,6 +2832,11 @@ find_reloads (insn, replace, ind_levels,
- )
- #endif
- )
-+ /* This following hunk of code should no longer be
-+ needed at all with SUBREG_BYTE. If you need this
-+ code back, please explain to me why so I can
-+ fix the real problem. -DaveM */
-+#if 0
- /* Subreg of a hard reg which can't handle the subreg's mode
- or which would handle that mode in the wrong number of
- registers for subregging to work. */
-@@ -2818,7 +2850,9 @@ find_reloads (insn, replace, ind_levels,
- != HARD_REGNO_NREGS (REGNO (operand),
- GET_MODE (operand))))
- || ! HARD_REGNO_MODE_OK (REGNO (operand) + offset,
-- operand_mode[i]))))
-+ operand_mode[i])))
-+#endif
-+ )
- force_reload = 1;
- }
-
-@@ -3686,7 +3720,7 @@ find_reloads (insn, replace, ind_levels,
- rtx operand = recog_data.operand[i];
-
- while (GET_CODE (operand) == SUBREG)
-- operand = XEXP (operand, 0);
-+ operand = SUBREG_REG (operand);
- if ((GET_CODE (operand) == MEM
- || (GET_CODE (operand) == REG
- && REGNO (operand) >= FIRST_PSEUDO_REGISTER))
-@@ -3736,7 +3770,7 @@ find_reloads (insn, replace, ind_levels,
- operand = *recog_data.operand_loc[i];
-
- while (GET_CODE (operand) == SUBREG)
-- operand = XEXP (operand, 0);
-+ operand = SUBREG_REG (operand);
- if (GET_CODE (operand) == REG)
- {
- if (modified[i] != RELOAD_WRITE)
-@@ -3759,7 +3793,7 @@ find_reloads (insn, replace, ind_levels,
- rtx operand = recog_data.operand[i];
-
- while (GET_CODE (operand) == SUBREG)
-- operand = XEXP (operand, 0);
-+ operand = SUBREG_REG (operand);
- if ((GET_CODE (operand) == MEM
- || (GET_CODE (operand) == REG
- && REGNO (operand) >= FIRST_PSEUDO_REGISTER))
-@@ -4275,7 +4309,7 @@ find_reloads_toplev (x, opnum, type, ind
- && regno >= FIRST_PSEUDO_REGISTER && reg_renumber[regno] < 0
- && reg_equiv_constant[regno] != 0
- && (tem = operand_subword (reg_equiv_constant[regno],
-- SUBREG_WORD (x), 0,
-+ SUBREG_BYTE (x) / UNITS_PER_WORD, 0,
- GET_MODE (SUBREG_REG (x)))) != 0)
- {
- /* TEM is now a word sized constant for the bits from X that
-@@ -4301,7 +4335,7 @@ find_reloads_toplev (x, opnum, type, ind
- && (GET_MODE_SIZE (GET_MODE (x))
- < GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
- {
-- int shift = SUBREG_WORD (x) * BITS_PER_WORD;
-+ int shift = SUBREG_BYTE (x) * BITS_PER_UNIT;
- if (WORDS_BIG_ENDIAN)
- shift = (GET_MODE_BITSIZE (GET_MODE (SUBREG_REG (x)))
- - GET_MODE_BITSIZE (GET_MODE (x))
-@@ -4357,11 +4391,19 @@ find_reloads_toplev (x, opnum, type, ind
-
- if (is_set_dest)
- push_reload (NULL_RTX, SUBREG_REG (x), NULL_PTR, &SUBREG_REG (x),
-- find_valid_class (subreg_mode, SUBREG_WORD (x)),
-+ find_valid_class (subreg_mode,
-+ SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x)),
-+ GET_MODE (SUBREG_REG (x)),
-+ SUBREG_BYTE (x),
-+ GET_MODE (x))),
- VOIDmode, subreg_mode, 0, 0, opnum, type);
- else
- push_reload (SUBREG_REG (x), NULL_RTX, &SUBREG_REG (x), NULL_PTR,
-- find_valid_class (subreg_mode, SUBREG_WORD (x)),
-+ find_valid_class (subreg_mode,
-+ SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x)),
-+ GET_MODE (SUBREG_REG (x)),
-+ SUBREG_BYTE (x),
-+ GET_MODE (x))),
- subreg_mode, VOIDmode, 0, 0, opnum, type);
- }
-
-@@ -5017,7 +5059,11 @@ find_reloads_address_1 (mode, x, context
- code0 = GET_CODE (op0);
- if (code0 == REG && REGNO (op0) < FIRST_PSEUDO_REGISTER)
- op0 = gen_rtx_REG (word_mode,
-- REGNO (op0) + SUBREG_WORD (orig_op0));
-+ (REGNO (op0) +
-+ SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (orig_op0)),
-+ GET_MODE (SUBREG_REG (orig_op0)),
-+ SUBREG_BYTE (orig_op0),
-+ GET_MODE (orig_op0))));
- }
-
- if (GET_CODE (op1) == SUBREG)
-@@ -5025,8 +5071,14 @@ find_reloads_address_1 (mode, x, context
- op1 = SUBREG_REG (op1);
- code1 = GET_CODE (op1);
- if (code1 == REG && REGNO (op1) < FIRST_PSEUDO_REGISTER)
-+ /* ??? Why is this given op1's mode and above for
-+ ??? op0 SUBREGs we use word_mode? */
- op1 = gen_rtx_REG (GET_MODE (op1),
-- REGNO (op1) + SUBREG_WORD (orig_op1));
-+ (REGNO (op1) +
-+ SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (orig_op1)),
-+ GET_MODE (SUBREG_REG (orig_op1)),
-+ SUBREG_BYTE (orig_op1),
-+ GET_MODE (orig_op1))));
- }
-
- if (code0 == MULT || code0 == SIGN_EXTEND || code0 == TRUNCATE
-@@ -5439,7 +5491,7 @@ find_reloads_address_1 (mode, x, context
- needless copies if SUBREG_REG is multi-word. */
- if (REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER)
- {
-- int regno = REGNO (SUBREG_REG (x)) + SUBREG_WORD (x);
-+ int regno = SUBREG_REGNO (x);
-
- if (! (context ? REGNO_OK_FOR_INDEX_P (regno)
- : REGNO_MODE_OK_FOR_BASE_P (regno, mode)))
-@@ -5609,17 +5661,8 @@ find_reloads_subreg_address (x, force_re
- if (force_replace
- || ! rtx_equal_p (tem, reg_equiv_mem[regno]))
- {
-- int offset = SUBREG_WORD (x) * UNITS_PER_WORD;
--
-- if (BYTES_BIG_ENDIAN)
-- {
-- int size;
-+ int offset = SUBREG_BYTE (x);
-
-- size = GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)));
-- offset += MIN (size, UNITS_PER_WORD);
-- size = GET_MODE_SIZE (GET_MODE (x));
-- offset -= MIN (size, UNITS_PER_WORD);
-- }
- XEXP (tem, 0) = plus_constant (XEXP (tem, 0), offset);
- PUT_MODE (tem, GET_MODE (x));
- find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
-@@ -5673,8 +5716,18 @@ subst_reloads ()
- *r->subreg_loc = SUBREG_REG (reloadreg);
- else
- {
-+ int final_offset =
-+ SUBREG_BYTE (*r->subreg_loc) + SUBREG_BYTE (reloadreg);
-+
-+ /* When working with SUBREGs the rule is that the byte
-+ offset must be a multiple of the SUBREG's mode. */
-+ final_offset = (final_offset /
-+ GET_MODE_SIZE (GET_MODE (*r->subreg_loc)));
-+ final_offset = (final_offset *
-+ GET_MODE_SIZE (GET_MODE (*r->subreg_loc)));
-+
- *r->where = SUBREG_REG (reloadreg);
-- SUBREG_WORD (*r->subreg_loc) += SUBREG_WORD (reloadreg);
-+ SUBREG_BYTE (*r->subreg_loc) = final_offset;
- }
- }
- else
-@@ -5775,12 +5828,24 @@ find_replacement (loc)
-
- if (GET_CODE (reloadreg) == REG)
- return gen_rtx_REG (GET_MODE (*loc),
-- REGNO (reloadreg) + SUBREG_WORD (*loc));
-+ (REGNO (reloadreg) +
-+ SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (*loc)),
-+ GET_MODE (SUBREG_REG (*loc)),
-+ SUBREG_BYTE (*loc),
-+ GET_MODE (*loc))));
- else if (GET_MODE (reloadreg) == GET_MODE (*loc))
- return reloadreg;
- else
-- return gen_rtx_SUBREG (GET_MODE (*loc), SUBREG_REG (reloadreg),
-- SUBREG_WORD (reloadreg) + SUBREG_WORD (*loc));
-+ {
-+ int final_offset = SUBREG_BYTE (reloadreg) + SUBREG_BYTE (*loc);
-+
-+ /* When working with SUBREGs the rule is that the byte
-+ offset must be a multiple of the SUBREG's mode. */
-+ final_offset = (final_offset / GET_MODE_SIZE (GET_MODE (*loc)));
-+ final_offset = (final_offset * GET_MODE_SIZE (GET_MODE (*loc)));
-+ return gen_rtx_SUBREG (GET_MODE (*loc), SUBREG_REG (reloadreg),
-+ final_offset);
-+ }
- }
- }
-
-@@ -5857,7 +5922,7 @@ refers_to_regno_for_reload_p (regno, end
- if (GET_CODE (SUBREG_REG (x)) == REG
- && REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER)
- {
-- unsigned int inner_regno = REGNO (SUBREG_REG (x)) + SUBREG_WORD (x);
-+ unsigned int inner_regno = SUBREG_REGNO (x);
- unsigned int inner_endregno
- = inner_regno + (inner_regno < FIRST_PSEUDO_REGISTER
- ? HARD_REGNO_NREGS (regno, GET_MODE (x)) : 1);
-@@ -5952,7 +6017,10 @@ reg_overlap_mentioned_for_reload_p (x, i
- {
- regno = REGNO (SUBREG_REG (x));
- if (regno < FIRST_PSEUDO_REGISTER)
-- regno += SUBREG_WORD (x);
-+ regno += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x)),
-+ GET_MODE (SUBREG_REG (x)),
-+ SUBREG_BYTE (x),
-+ GET_MODE (x));
- }
- else if (GET_CODE (x) == REG)
- {
---- gcc/reload1.c.jj Mon Jul 31 20:02:12 2000
-+++ gcc/reload1.c Mon Jul 31 20:46:25 2000
-@@ -2436,7 +2436,7 @@ eliminate_regs (x, mem_mode, insn)
- return x;
-
- case SUBREG:
-- /* Similar to above processing, but preserve SUBREG_WORD.
-+ /* Similar to above processing, but preserve SUBREG_BYTE.
- Convert (subreg (mem)) to (mem) if not paradoxical.
- Also, if we have a non-paradoxical (subreg (pseudo)) and the
- pseudo didn't get a hard reg, we must replace this with the
-@@ -2453,7 +2453,7 @@ eliminate_regs (x, mem_mode, insn)
- else
- new = eliminate_regs (SUBREG_REG (x), mem_mode, insn);
-
-- if (new != XEXP (x, 0))
-+ if (new != SUBREG_REG (x))
- {
- int x_size = GET_MODE_SIZE (GET_MODE (x));
- int new_size = GET_MODE_SIZE (GET_MODE (new));
-@@ -2474,20 +2474,15 @@ eliminate_regs (x, mem_mode, insn)
- || (x_size == new_size))
- )
- {
-- int offset = SUBREG_WORD (x) * UNITS_PER_WORD;
-+ int offset = SUBREG_BYTE (x);
- enum machine_mode mode = GET_MODE (x);
-
-- if (BYTES_BIG_ENDIAN)
-- offset += (MIN (UNITS_PER_WORD,
-- GET_MODE_SIZE (GET_MODE (new)))
-- - MIN (UNITS_PER_WORD, GET_MODE_SIZE (mode)));
--
- PUT_MODE (new, mode);
- XEXP (new, 0) = plus_constant (XEXP (new, 0), offset);
- return new;
- }
- else
-- return gen_rtx_SUBREG (GET_MODE (x), new, SUBREG_WORD (x));
-+ return gen_rtx_SUBREG (GET_MODE (x), new, SUBREG_BYTE (x));
- }
-
- return x;
-@@ -4006,10 +4001,14 @@ forget_old_reloads_1 (x, ignored, data)
- unsigned int nr;
- int offset = 0;
-
-- /* note_stores does give us subregs of hard regs. */
-+ /* note_stores does give us subregs of hard regs,
-+ SUBREG_REGNO_OFFSET will abort if it is not a hard reg. */
- while (GET_CODE (x) == SUBREG)
- {
-- offset += SUBREG_WORD (x);
-+ offset += SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (x)),
-+ GET_MODE (SUBREG_REG (x)),
-+ SUBREG_BYTE (x),
-+ GET_MODE (x));
- x = SUBREG_REG (x);
- }
-
-@@ -5266,7 +5265,7 @@ choose_reload_regs (chain)
-
- if (inheritance)
- {
-- int word = 0;
-+ int byte = 0;
- register int regno = -1;
- enum machine_mode mode = VOIDmode;
-
-@@ -5285,10 +5284,10 @@ choose_reload_regs (chain)
- else if (GET_CODE (rld[r].in_reg) == SUBREG
- && GET_CODE (SUBREG_REG (rld[r].in_reg)) == REG)
- {
-- word = SUBREG_WORD (rld[r].in_reg);
-+ byte = SUBREG_BYTE (rld[r].in_reg);
- regno = REGNO (SUBREG_REG (rld[r].in_reg));
- if (regno < FIRST_PSEUDO_REGISTER)
-- regno += word;
-+ regno = SUBREG_REGNO (rld[r].in_reg);
- mode = GET_MODE (rld[r].in_reg);
- }
- #ifdef AUTO_INC_DEC
-@@ -5309,7 +5308,7 @@ choose_reload_regs (chain)
- that can invalidate an inherited reload of part of a pseudoreg. */
- else if (GET_CODE (rld[r].in) == SUBREG
- && GET_CODE (SUBREG_REG (rld[r].in)) == REG)
-- regno = REGNO (SUBREG_REG (rld[r].in)) + SUBREG_WORD (rld[r].in);
-+ regno = SUBREG_REGNO (rld[r].in);
- #endif
-
- if (regno >= 0 && reg_last_reload_reg[regno] != 0)
-@@ -5318,10 +5317,14 @@ choose_reload_regs (chain)
- rtx last_reg = reg_last_reload_reg[regno];
- enum machine_mode need_mode;
-
-- i = REGNO (last_reg) + word;
-+ i = REGNO (last_reg)
-+ + SUBREG_REGNO_OFFSET (REGNO (last_reg),
-+ GET_MODE (last_reg),
-+ byte, mode);
-+
- last_class = REGNO_REG_CLASS (i);
-
-- need_mode = smallest_mode_for_size ((word+1) * UNITS_PER_WORD,
-+ need_mode = smallest_mode_for_size (byte + UNITS_PER_WORD,
- GET_MODE_CLASS (mode));
-
- if (
-@@ -5488,7 +5491,7 @@ choose_reload_regs (chain)
- Make a new REG since this might be used in an
- address and not all machines support SUBREGs
- there. */
-- regno = REGNO (SUBREG_REG (equiv)) + SUBREG_WORD (equiv);
-+ regno = SUBREG_REGNO (equiv);
- equiv = gen_rtx_REG (rld[r].mode, regno);
- }
- else
-@@ -6102,7 +6105,7 @@ emit_input_reload_insns (chain, rl, old,
- oldequiv = SUBREG_REG (oldequiv);
- if (GET_MODE (oldequiv) != VOIDmode
- && mode != GET_MODE (oldequiv))
-- oldequiv = gen_rtx_SUBREG (mode, oldequiv, 0);
-+ oldequiv = gen_lowpart_SUBREG (mode, oldequiv);
-
- /* Switch to the right place to emit the reload insns. */
- switch (rl->when_needed)
-@@ -8637,7 +8640,10 @@ reload_combine_note_store (dst, set, dat
-
- if (GET_CODE (dst) == SUBREG)
- {
-- regno = SUBREG_WORD (dst);
-+ regno = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (dst)),
-+ GET_MODE (SUBREG_REG (dst)),
-+ SUBREG_BYTE (dst),
-+ GET_MODE (dst));
- dst = SUBREG_REG (dst);
- }
- if (GET_CODE (dst) != REG)
-@@ -9020,7 +9026,10 @@ move2add_note_store (dst, set, data)
-
- if (GET_CODE (dst) == SUBREG)
- {
-- regno = SUBREG_WORD (dst);
-+ regno = SUBREG_REGNO_OFFSET (REGNO (SUBREG_REG (dst)),
-+ GET_MODE (SUBREG_REG (dst)),
-+ SUBREG_BYTE (dst),
-+ GET_MODE (dst));
- dst = SUBREG_REG (dst);
- }
-
---- gcc/rtl.texi.jj Mon Jul 31 20:02:12 2000
-+++ gcc/rtl.texi Mon Jul 31 20:46:25 2000
-@@ -1138,16 +1138,16 @@ This virtual register is replaced by the
- @end table
-
- @findex subreg
--@item (subreg:@var{m} @var{reg} @var{wordnum})
-+@item (subreg:@var{m} @var{reg} @var{bytenum})
- @code{subreg} expressions are used to refer to a register in a machine
- mode other than its natural one, or to refer to one register of
--a multi-word @code{reg} that actually refers to several registers.
-+a multi-part @code{reg} that actually refers to several registers.
-
- Each pseudo-register has a natural mode. If it is necessary to
- operate on it in a different mode---for example, to perform a fullword
- move instruction on a pseudo-register that contains a single
- byte---the pseudo-register must be enclosed in a @code{subreg}. In
--such a case, @var{wordnum} is zero.
-+such a case, @var{bytenum} is zero.
-
- Usually @var{m} is at least as narrow as the mode of @var{reg}, in which
- case it is restricting consideration to only the bits of @var{reg} that
-@@ -1164,7 +1164,7 @@ a multi-register value. Machine modes s
- @code{TImode} can indicate values longer than a word, values which
- usually require two or more consecutive registers. To access one of the
- registers, use a @code{subreg} with mode @code{SImode} and a
--@var{wordnum} that says which register.
-+@var{bytenum} offset that says which register.
-
- Storing in a non-paradoxical @code{subreg} has undefined results for
- bits belonging to the same word as the @code{subreg}. This laxity makes
-@@ -1174,8 +1174,13 @@ the @code{subreg}, use @code{strict_low_
-
- @cindex @code{WORDS_BIG_ENDIAN}, effect on @code{subreg}
- The compilation parameter @code{WORDS_BIG_ENDIAN}, if set to 1, says
--that word number zero is the most significant part; otherwise, it is
--the least significant part.
-+that byte number zero is part of the most significant word; otherwise,
-+it is part of the least significant word.
-+
-+@cindex @code{BYTES_BIG_ENDIAN}, effect on @code{subreg}
-+The compilation parameter @code{BYTES_BIG_ENDIAN}, if set to 1, says
-+that byte number zero is the most significant byte within a word;
-+otherwise, it is the least significant byte within a word.
-
- @cindex @code{FLOAT_WORDS_BIG_ENDIAN}, (lack of) effect on @code{subreg}
- On a few targets, @code{FLOAT_WORDS_BIG_ENDIAN} disagrees with
-@@ -1211,10 +1216,10 @@ a single machine register. The reload p
- expressions such as these from being formed.
-
- @findex SUBREG_REG
--@findex SUBREG_WORD
-+@findex SUBREG_BYTE
- The first operand of a @code{subreg} expression is customarily accessed
- with the @code{SUBREG_REG} macro and the second operand is customarily
--accessed with the @code{SUBREG_WORD} macro.
-+accessed with the @code{SUBREG_BYTE} macro.
-
- @findex scratch
- @cindex scratch operands
---- gcc/rtlanal.c.jj Mon Jul 31 20:05:04 2000
-+++ gcc/rtlanal.c Mon Jul 31 20:46:25 2000
-@@ -976,7 +976,7 @@ refers_to_regno_p (regno, endregno, x, l
- if (GET_CODE (SUBREG_REG (x)) == REG
- && REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER)
- {
-- unsigned int inner_regno = REGNO (SUBREG_REG (x)) + SUBREG_WORD (x);
-+ unsigned int inner_regno = SUBREG_REGNO (x);
- unsigned int inner_endregno
- = inner_regno + (inner_regno < FIRST_PSEUDO_REGISTER
- ? HARD_REGNO_NREGS (regno, GET_MODE (x)) : 1);
-@@ -1063,7 +1063,7 @@ reg_overlap_mentioned_p (x, in)
- case SUBREG:
- regno = REGNO (SUBREG_REG (x));
- if (regno < FIRST_PSEUDO_REGISTER)
-- regno += SUBREG_WORD (x);
-+ regno = SUBREG_REGNO (x);
- goto do_reg;
-
- case REG:
-@@ -2065,18 +2065,32 @@ replace_regs (x, reg_map, nregs, replace
- return map_inner;
- else
- {
-+ int final_offset = SUBREG_BYTE (x) + SUBREG_BYTE (map_val);
-+
-+ /* When working with REG SUBREGs the rule is that the byte
-+ offset must be a multiple of the SUBREG's mode. */
-+ final_offset = (final_offset / GET_MODE_SIZE (GET_MODE (x)));
-+ final_offset = (final_offset * GET_MODE_SIZE (GET_MODE (x)));
-+
- /* We cannot call gen_rtx here since we may be linked with
- genattrtab.c. */
- /* Let's try clobbering the incoming SUBREG and see
- if this is really safe. */
- SUBREG_REG (x) = map_inner;
-- SUBREG_WORD (x) += SUBREG_WORD (map_val);
-+ SUBREG_BYTE (x) = final_offset;
- return x;
- #if 0
- rtx new = rtx_alloc (SUBREG);
-+ int final_offset = SUBREG_BYTE (x) + SUBREG_BYTE (map_val);
-+
-+ /* When working with REG SUBREGs the rule is that the byte
-+ offset must be a multiple of the SUBREG's mode. */
-+ final_offset = (final_offset / GET_MODE_SIZE (GET_MODE (x)));
-+ final_offset = (final_offset * GET_MODE_SIZE (GET_MODE (x)));
-+
- PUT_MODE (new, GET_MODE (x));
- SUBREG_REG (new) = map_inner;
-- SUBREG_WORD (new) = SUBREG_WORD (x) + SUBREG_WORD (map_val);
-+ SUBREG_BYTE (new) = final_offset;
- #endif
- }
- }
---- gcc/sdbout.c.jj Wed Jun 7 08:41:06 2000
-+++ gcc/sdbout.c Mon Jul 31 20:46:25 2000
-@@ -830,19 +830,15 @@ sdbout_symbol (decl, local)
- else if (GET_CODE (value) == SUBREG)
- {
- int offset = 0;
-+
- while (GET_CODE (value) == SUBREG)
-- {
-- offset += SUBREG_WORD (value);
-- value = SUBREG_REG (value);
-- }
-+ value = SUBREG_REG (value);
- if (GET_CODE (value) == REG)
- {
-- regno = REGNO (value);
-- if (regno >= FIRST_PSEUDO_REGISTER)
-+ if (REGNO (value) >= FIRST_PSEUDO_REGISTER)
- return;
-- regno += offset;
- }
-- alter_subreg (DECL_RTL (decl));
-+ regno = REGNO (alter_subreg (DECL_RTL (decl)));
- value = DECL_RTL (decl);
- }
- /* Don't output anything if an auto variable
---- gcc/tm.texi.jj Mon Jul 31 20:02:13 2000
-+++ gcc/tm.texi Mon Jul 31 20:46:25 2000
-@@ -1539,17 +1539,6 @@ definition of this macro is
- / UNITS_PER_WORD)
- @end smallexample
-
--@findex ALTER_HARD_SUBREG
--@item ALTER_HARD_SUBREG (@var{tgt_mode}, @var{word}, @var{src_mode}, @var{regno})
--A C expression that returns an adjusted hard register number for
--
--@smallexample
--(subreg:@var{tgt_mode} (reg:@var{src_mode} @var{regno}) @var{word})
--@end smallexample
--
--This may be needed if the target machine has mixed sized big-endian
--registers, like Sparc v9.
--
- @findex HARD_REGNO_MODE_OK
- @item HARD_REGNO_MODE_OK (@var{regno}, @var{mode})
- A C expression that is nonzero if it is permissible to store a value
---- gcc/calls.c.jj Mon Jul 31 20:02:09 2000
-+++ gcc/calls.c Mon Jul 31 20:46:25 2000
-@@ -1452,6 +1452,8 @@ precompute_arguments (flags, num_actuals
- if ((flags & (ECF_CONST | ECF_PURE))
- || calls_function (args[i].tree_value, !ACCUMULATE_OUTGOING_ARGS))
- {
-+ enum machine_mode mode;
-+
- /* If this is an addressable type, we cannot pre-evaluate it. */
- if (TREE_ADDRESSABLE (TREE_TYPE (args[i].tree_value)))
- abort ();
-@@ -1471,11 +1473,13 @@ precompute_arguments (flags, num_actuals
- args[i].initial_value = args[i].value
- = protect_from_queue (args[i].value, 0);
-
-- if (TYPE_MODE (TREE_TYPE (args[i].tree_value)) != args[i].mode)
-+ mode = TYPE_MODE (TREE_TYPE (args[i].tree_value));
-+
-+ if (mode != args[i].mode)
- {
-+
- args[i].value
-- = convert_modes (args[i].mode,
-- TYPE_MODE (TREE_TYPE (args[i].tree_value)),
-+ = convert_modes (args[i].mode, mode,
- args[i].value, args[i].unsignedp);
- #ifdef PROMOTE_FOR_CALL_ONLY
- /* CSE will replace this only if it contains args[i].value
-@@ -1485,8 +1489,7 @@ precompute_arguments (flags, num_actuals
- && GET_MODE_CLASS (args[i].mode) == MODE_INT)
- {
- args[i].initial_value
-- = gen_rtx_SUBREG (TYPE_MODE (TREE_TYPE (args[i].tree_value)),
-- args[i].value, 0);
-+ = gen_lowpart_SUBREG (mode, args[i].value);
- SUBREG_PROMOTED_VAR_P (args[i].initial_value) = 1;
- SUBREG_PROMOTED_UNSIGNED_P (args[i].initial_value)
- = args[i].unsignedp;
-@@ -3256,13 +3259,25 @@ expand_call (exp, target, ignore)
- {
- tree type = TREE_TYPE (exp);
- int unsignedp = TREE_UNSIGNED (type);
-+ int offset = 0;
-
- /* If we don't promote as expected, something is wrong. */
- if (GET_MODE (target)
- != promote_mode (type, TYPE_MODE (type), &unsignedp, 1))
- abort ();
-
-- target = gen_rtx_SUBREG (TYPE_MODE (type), target, 0);
-+ if ((WORDS_BIG_ENDIAN || BYTES_BIG_ENDIAN)
-+ && GET_MODE_SIZE (GET_MODE (target))
-+ > GET_MODE_SIZE (TYPE_MODE (type)))
-+ {
-+ offset = GET_MODE_SIZE (GET_MODE (target))
-+ - GET_MODE_SIZE (TYPE_MODE (type));
-+ if (! BYTES_BIG_ENDIAN)
-+ offset = (offset / UNITS_PER_WORD) * UNITS_PER_WORD;
-+ else if (! WORDS_BIG_ENDIAN)
-+ offset %= UNITS_PER_WORD;
-+ }
-+ target = gen_rtx_SUBREG (TYPE_MODE (type), target, offset);
- SUBREG_PROMOTED_VAR_P (target) = 1;
- SUBREG_PROMOTED_UNSIGNED_P (target) = unsignedp;
- }
---- gcc/resource.c.jj Mon Jul 31 20:02:12 2000
-+++ gcc/resource.c Mon Jul 31 20:46:25 2000
-@@ -99,7 +99,7 @@ update_live_status (dest, x, data)
- return;
-
- if (GET_CODE (dest) == SUBREG)
-- first_regno = REGNO (SUBREG_REG (dest)) + SUBREG_WORD (dest);
-+ first_regno = SUBREG_REGNO (dest);
- else
- first_regno = REGNO (dest);
-
-@@ -208,7 +208,7 @@ mark_referenced_resources (x, res, inclu
- mark_referenced_resources (SUBREG_REG (x), res, 0);
- else
- {
-- unsigned int regno = REGNO (SUBREG_REG (x)) + SUBREG_WORD (x);
-+ unsigned int regno = SUBREG_REGNO (x);
- unsigned int last_regno
- = regno + HARD_REGNO_NREGS (regno, GET_MODE (x));
-
-@@ -756,7 +756,7 @@ mark_set_resources (x, res, in_dest, mar
- mark_set_resources (SUBREG_REG (x), res, in_dest, mark_type);
- else
- {
-- unsigned int regno = REGNO (SUBREG_REG (x)) + SUBREG_WORD (x);
-+ unsigned int regno = SUBREG_REGNO (x);
- unsigned int last_regno
- = regno + HARD_REGNO_NREGS (regno, GET_MODE (x));
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-timode.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-timode.patch
deleted file mode 100644
index 2d72f3533887..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-timode.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-2000-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
- op0 is a SUBREG.
- (function_arg_slotno): Accept TImode/CTImode.
- * config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
- to UNITS_PER_WORD.
-
- * gcc.c-torture/compile/20000923-1.c: New test.
-
---- gcc/config/sparc/sparc.c.jj Fri Aug 25 14:22:29 2000
-+++ gcc/config/sparc/sparc.c Sat Sep 23 17:21:56 2000
-@@ -1832,12 +1832,17 @@ sparc_emit_set_const64 (op0, op1)
- rtx temp;
-
- /* Sanity check that we know what we are working with. */
-- if (! TARGET_ARCH64
-- || GET_CODE (op0) != REG
-- || (REGNO (op0) >= SPARC_FIRST_FP_REG
-- && REGNO (op0) <= SPARC_LAST_V9_FP_REG))
-+ if (! TARGET_ARCH64)
- abort ();
-
-+ if (GET_CODE (op0) != SUBREG)
-+ {
-+ if (GET_CODE (op0) != REG
-+ || (REGNO (op0) >= SPARC_FIRST_FP_REG
-+ && REGNO (op0) <= SPARC_LAST_V9_FP_REG))
-+ abort ();
-+ }
-+
- if (reload_in_progress || reload_completed)
- temp = op0;
- else
-@@ -3971,6 +3976,7 @@ function_arg_slotno (cum, mode, type, na
- case HImode : case CHImode :
- case SImode : case CSImode :
- case DImode : case CDImode :
-+ case TImode : case CTImode :
- if (slotno >= SPARC_INT_ARG_MAX)
- return -1;
- regno = regbase + slotno;
---- gcc/config/sparc/sparc.h.jj Tue Aug 15 12:02:17 2000
-+++ gcc/config/sparc/sparc.h Sat Sep 23 17:03:00 2000
-@@ -765,7 +765,11 @@ extern struct sparc_cpu_select sparc_sel
-
- /* Width of a word, in units (bytes). */
- #define UNITS_PER_WORD (TARGET_ARCH64 ? 8 : 4)
-+#ifdef IN_LIBGCC2
-+#define MIN_UNITS_PER_WORD UNITS_PER_WORD
-+#else
- #define MIN_UNITS_PER_WORD 4
-+#endif
-
- /* Now define the sizes of the C data types. */
-
---- gcc/testsuite/gcc.c-torture/compile/20000923-1.c.jj Sat Sep 23 18:37:24 2000
-+++ gcc/testsuite/gcc.c-torture/compile/20000923-1.c Sat Sep 23 18:36:01 2000
-@@ -0,0 +1,8 @@
-+const int a = 3;
-+const int b = 50;
-+
-+void foo (void)
-+{
-+ long int x[a][b];
-+ asm ("" : : "r" (x) : "memory");
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-uname.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-uname.patch
deleted file mode 100644
index e2fbf03413d8..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparc64-uname.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-2000-04-12 Jakub Jelinek <jakub@redhat.com>
-
- * config/sparc/linux64.c: New file.
- * config/sparc/linux64.h (ARCH_SPECIFIC_DRIVER): Define.
- * config/sparc/t-linux64 (linux64.o): Add.
- * gcc.c (process_command): Call ARCH_SPECIFIC_DRIVER
- before lang_specific_driver if it is defined.
- * configure.in (sparc64-linux): Add linux64.o to extra_gcc_objs.
- * configure: Rebuilt.
-
---- gcc/config/sparc/linux64.h.jj Mon Apr 10 19:19:31 2000
-+++ gcc/config/sparc/linux64.h Wed Apr 12 13:50:31 2000
-@@ -62,6 +62,15 @@ Boston, MA 02111-1307, USA. */
- -D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \
- -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc)"
-
-+#if !defined(CROSS_COMPILE) && !(DEFAULT_ARCH32_P)
-+/* For the native compiler, if none of -m32 and -m64 was specified, check
-+ * if we are in 32bit or 64bit build environment and set the default based
-+ * on that. */
-+extern void sparc64_linux_specific_driver PARAMS ((int *, char ***, int *));
-+#define ARCH_SPECIFIC_DRIVER sparc64_linux_specific_driver
-+
-+#endif
-+
- #endif
-
- /* Provide MD_STARTFILE_PREFIX{,_1}. Need to include /usr/lib64/:/lib64/
---- gcc/config/sparc/linux64.c.jj Wed Apr 12 13:59:30 2000
-+++ gcc/config/sparc/linux64.c Wed Apr 12 18:37:07 2000
-@@ -0,0 +1,81 @@
-+/* Functions for 64-bit SPARC running Linux systems with ELF.
-+ Copyright 2000 Free Software Foundation, Inc.
-+ Contributed by Jakub Jelinek <jakub@redhat.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. */
-+
-+#include "config.h"
-+#include "system.h"
-+
-+#if defined(SPARC_BI_ARCH) && ! defined(CROSS_COMPILE)
-+
-+#include <sys/utsname.h>
-+
-+/* If neither -m32 nor -m64 was explicitely given on the command line,
-+ supply the default based on whether uname -m is sparc64 (-m64) or
-+ sparc32 (-m32).
-+ Like that, users can use native 64bit and 32bit build environments
-+ where they don't have to specify arch size arguments to gcc
-+ by either doing the build process from sparc32(8) command or
-+ outside of that. All tools starting from config.guess up to gcc
-+ should use defaults from that. */
-+
-+void
-+sparc64_linux_specific_driver (in_argc, in_argv, in_added_libraries)
-+ int *in_argc;
-+ char ***in_argv;
-+ int *in_added_libraries ATTRIBUTE_UNUSED;
-+{
-+ int argc = *in_argc;
-+ char **argv = *in_argv, **args;
-+ struct utsname un;
-+ int m32 = 0, i;
-+
-+ /* See in which build environment we are. */
-+ uname(&un);
-+ if (strcmp(un.machine, "sparc64"))
-+ {
-+ if (strcmp(un.machine, "sparc"))
-+ return; /* Should not happen */
-+ m32 = 1;
-+ }
-+
-+ /* If we are in the one which is default to this compiler,
-+ * there is nothing we have to do here. */
-+ if ((DEFAULT_ARCH32_P && m32)
-+ || (! DEFAULT_ARCH32_P && ! m32))
-+ return;
-+
-+ for (i = 1; i < argc; i++)
-+ {
-+ /* See if either -m64 or -m32 was explicitely given on the
-+ * command line. */
-+ if (! strcmp (argv[i], "-m64")
-+ || ! strcmp (argv[i], "-m32"))
-+ return;
-+ }
-+
-+ args = (char **) xmalloc ((argc + 1) * sizeof(char *));
-+ args[0] = argv[0];
-+ args[1] = m32 ? "-m32" : "-m64";
-+ memcpy (args + 2, argv + 1, (argc - 1) * sizeof(char *));
-+ *in_argc = argc + 1;
-+ *in_argv = args;
-+}
-+
-+#endif
---- gcc/config/sparc/t-linux64.jj Fri Apr 7 23:02:27 2000
-+++ gcc/config/sparc/t-linux64 Wed Apr 12 15:04:50 2000
-@@ -8,3 +8,7 @@ LIBGCC = stmp-multilib
- INSTALL_LIBGCC = install-multilib
-
- EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o
-+
-+linux64.o: $(srcdir)/config/sparc/linux64.c
-+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/sparc/linux64.c
-+
---- gcc/gcc.c.jj Mon Apr 10 19:19:31 2000
-+++ gcc/gcc.c Wed Apr 12 13:25:53 2000
-@@ -3038,6 +3038,11 @@ process_command (argc, argv)
- /* Convert new-style -- options to old-style. */
- translate_options (&argc, &argv);
-
-+ /* Do architecture-specific adjustment/addition of flags. */
-+#ifdef ARCH_SPECIFIC_DRIVER
-+ ARCH_SPECIFIC_DRIVER (&argc, &argv, &added_libraries);
-+#endif
-+
- /* Do language-specific adjustment/addition of flags. */
- lang_specific_driver (&argc, &argv, &added_libraries);
-
---- gcc/configure.in.jj Sat Apr 8 21:14:53 2000
-+++ gcc/configure.in Wed Apr 12 15:12:43 2000
-@@ -3444,6 +3444,7 @@ changequote([,])dnl
- tm_file=sparc/linux64.h
- xmake_file=x-linux
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-+ extra_gcc_objs=linux64.o
- gnu_ld=yes
- if test x$enable_threads = xyes; then
- thread_file='posix'
---- gcc/configure.jj Sat Apr 8 21:14:53 2000
-+++ gcc/configure Wed Apr 12 15:13:02 2000
-@@ -6033,6 +6033,7 @@ for machine in $build $host $target; do
- tm_file=sparc/linux64.h
- xmake_file=x-linux
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-+ extra_gcc_objs=linux64.o
- gnu_ld=yes
- if test x$enable_threads = xyes; then
- thread_file='posix'
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparcv9-hack.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparcv9-hack.patch
deleted file mode 100644
index 3d170a336380..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-sparcv9-hack.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This hacks around a bug in reload I have not yet debugged up
-with -m32 -mcpu=ultrasparc and in -m64 as well.
-
---- gcc/config/sparc/sparc.h.jj Tue May 23 14:57:57 2000
-+++ gcc/config/sparc/sparc.h Thu May 25 16:54:36 2000
-@@ -1029,13 +1029,18 @@ do \
- fixed_regs[5] = 1; \
- else if (TARGET_ARCH64 && fixed_regs[5] == 2) \
- fixed_regs[5] = 0; \
-- if (! TARGET_V9) \
-+ /* FIXME: if (! TARGET_V9) */ \
-+ if (1) \
- { \
- int regno; \
- for (regno = SPARC_FIRST_V9_FP_REG; \
- regno <= SPARC_LAST_V9_FP_REG; \
- regno++) \
- fixed_regs[regno] = 1; \
-+ } \
-+ if (! TARGET_V9) \
-+ { \
-+ int regno; \
- /* %fcc0 is used by v8 and v9. */ \
- for (regno = SPARC_FIRST_V9_FCC_REG + 1; \
- regno <= SPARC_LAST_V9_FCC_REG; \
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-stmtexpr.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-stmtexpr.patch
deleted file mode 100644
index a84b6f920fd3..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-stmtexpr.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-2000-06-21 Jakub Jelinek <jakub@redhat.com>
-
- * g++.old-deja/g++.other/stmtexpr2.C: New test.
-
---- gcc/testsuite/g++.old-deja/g++.other/stmtexpr2.C.jj Wed Jun 21 10:58:25 2000
-+++ gcc/testsuite/g++.old-deja/g++.other/stmtexpr2.C Wed Jun 21 10:58:50 2000
-@@ -0,0 +1,9 @@
-+// Build don't link:
-+// Special g++ Options: -O2
-+// Origin: Jakub Jelinek <jakub@redhat.com>
-+
-+void bar(int);
-+void foo(int x)
-+{
-+ bar(({ int y; y = x; }));
-+}
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-strftime.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-strftime.patch
deleted file mode 100644
index ccd9a34d56d4..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-strftime.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.c (time_char_table): Mark up formats added in C99 and
- make other corrections. %D and %g were added in C99. %Og is an
- extension. %EX is permitted. %R, %T, %n, %r, %t were added in
- C99. %e was added in C99. %Oj is an extension. %G and %z are in
- C99 rather than GNU extensions, but %OG and %Oz are extensions.
- %h was added in C99. %C was added in C99. %OY and %OC are
- extensions. Add the C99 format %F.
- (check_format_info): If pedantic and not in C99 mode, warn for C99
- formats, %E and %O.
-
---- gcc/c-common.c Fri Aug 4 16:02:03 2000
-+++ gcc/c-common.c Fri Aug 4 18:45:22 2000
-@@ -1268,22 +1268,31 @@
- 'E' - E modifier is acceptable
- 'O' - O modifier is acceptable to Standard C
- 'o' - O modifier is acceptable as a GNU extension
-+ '9' - added to the C standard in C99
- 'G' - other GNU extensions */
-
- static format_char_info time_char_table[] = {
- { "y", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2EO-_0w" },
-- { "D", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2" },
-- { "g", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2O-_0w" },
-+ { "D", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "29" },
-+ { "g", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "2Oo-_0w9" },
- { "cx", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "3E" },
-- { "%RTXnrt", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "" },
-+ { "%", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "" },
-+ { "X", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "E" },
-+ { "RTnrt", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "9" },
- { "P", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "G" },
-- { "HIMSUWdemw", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Ow" },
-- { "Vju", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Oow" },
-- { "Gklsz", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0OGw" },
-+ { "HIMSUWdmw", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Ow" },
-+ { "e", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Ow9" },
-+ { "j", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Oow" },
-+ { "Vu", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Ow9" },
-+ { "Gz", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0Oow9" },
-+ { "kls", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0OGw" },
- { "ABZa", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^#" },
- { "p", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "#" },
-- { "bh", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^" },
-- { "CY", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0EOw" },
-+ { "b", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^" },
-+ { "h", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "^9" },
-+ { "Y", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0EOow" },
-+ { "F", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "w9" },
-+ { "C", 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-_0EOow9" },
- { NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }
- };
-
-@@ -1900,9 +1909,14 @@
- {
- if (index (fci->flag_chars, 'G') != 0)
- warning ("ANSI C does not support `%%%c'", format_char);
-- if (index (fci->flag_chars, 'o') != 0
-+ if (index (fci->flag_chars, '9') != 0 && !flag_isoc99)
-+ warning ("ANSI C does not support `%%%c'", format_char);
-+ if ((index (fci->flag_chars, 'o') != 0
-+ || (!flag_isoc99 && index (fci->flag_chars, 'O') != 0))
- && index (flag_chars, 'O') != 0)
- warning ("ANSI C does not support `%%O%c'", format_char);
-+ if (!flag_isoc99 && index (flag_chars, 'E'))
-+ warning ("ANSI C does not support `%%E%c'", format_char);
- }
- if (wide && index (fci->flag_chars, 'w') == 0)
- warning ("width used with `%c' format", format_char);
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-string-crash.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-string-crash.patch
deleted file mode 100644
index 4d073bb351b5..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-string-crash.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-2000-06-08 Jakub Jelinek <jakub@redhat.com>
-
- * c-typeck.c (digest_init): Don't crash if init is non_lvalue_expr
- of error_mark_node.
-
---- gcc/c-typeck.c.jj Wed Jun 7 08:41:04 2000
-+++ gcc/c-typeck.c Thu Jun 8 10:33:52 2000
-@@ -4525,7 +4525,11 @@ digest_init (type, init, require_constan
- /* Do not use STRIP_NOPS here. We do not want an enumerator
- whose value is 0 to count as a null pointer constant. */
- if (TREE_CODE (init) == NON_LVALUE_EXPR)
-- inside_init = TREE_OPERAND (init, 0);
-+ {
-+ inside_init = TREE_OPERAND (init, 0);
-+ if (inside_init == error_mark_node)
-+ return error_mark_node;
-+ }
-
- /* Initialization of an array of chars from a string constant
- optionally enclosed in braces. */
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-expmed.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-expmed.patch
deleted file mode 100644
index 8c8d3825aacc..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-expmed.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-2000-10-10 Jakub Jelinek <jakub@redhat.com>
-
- * expmed.c (store_bit_field): Set SUBREG_BYTE correctly on big
- endian.
- (extract_bit_field): Likewise.
-
---- gcc/expmed.c.jj Fri Sep 15 16:46:46 2000
-+++ gcc/expmed.c Tue Oct 10 18:05:42 2000
-@@ -327,7 +327,8 @@ store_bit_field (str_rtx, bitsize, bitnu
- }
- if (GET_CODE (op0) == REG)
- op0 = gen_rtx_SUBREG (fieldmode, op0,
-- (offset * UNITS_PER_WORD));
-+ (bitnum % BITS_PER_WORD) / BITS_PER_UNIT
-+ + (offset * UNITS_PER_WORD));
- else
- op0 = change_address (op0, fieldmode,
- plus_constant (XEXP (op0, 0), offset));
-@@ -372,7 +373,9 @@ store_bit_field (str_rtx, bitsize, bitnu
- }
-
- emit_insn (GEN_FCN (icode)
-- (gen_rtx_SUBREG (fieldmode, op0, (offset * UNITS_PER_WORD)),
-+ (gen_rtx_SUBREG (fieldmode, op0,
-+ (bitnum % BITS_PER_WORD) / BITS_PER_UNIT
-+ + (offset * UNITS_PER_WORD)),
- value));
-
- return value;
-@@ -1095,7 +1098,9 @@ extract_bit_field (str_rtx, bitsize, bit
- abort ();
- }
- if (GET_CODE (op0) == REG)
-- op0 = gen_rtx_SUBREG (mode1, op0, (offset * UNITS_PER_WORD));
-+ op0 = gen_rtx_SUBREG (mode1, op0,
-+ (bitnum % BITS_PER_WORD) / BITS_PER_UNIT
-+ + (offset * UNITS_PER_WORD));
- else
- op0 = change_address (op0, mode1,
- plus_constant (XEXP (op0, 0), offset));
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-operand-subword.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-operand-subword.patch
deleted file mode 100644
index 28d6631a8b4a..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-byte-operand-subword.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-2000-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * emit-rtl.c (operand_subword): Return const0_rtx if looking for a
- word outside of OP.
-
---- gcc/emit-rtl.c.jj Mon Oct 30 23:54:06 2000
-+++ gcc/emit-rtl.c Tue Oct 31 22:03:34 2000
-@@ -1573,11 +1573,15 @@ operand_subword (op, offset, validate_ad
- if (mode == VOIDmode)
- abort ();
-
-- /* If OP is narrower than a word or if we want a word outside OP, fail. */
-+ /* If OP is narrower than a word, fail. */
- if (mode != BLKmode
-- && (GET_MODE_SIZE (mode) < UNITS_PER_WORD
-- || (offset + 1) * UNITS_PER_WORD > GET_MODE_SIZE (mode)))
-+ && (GET_MODE_SIZE (mode) < UNITS_PER_WORD))
- return 0;
-+
-+ /* If we want a word outside OP, return zero. */
-+ if (mode != BLKmode
-+ && (offset + 1) * UNITS_PER_WORD > GET_MODE_SIZE (mode))
-+ return const0_rtx;
-
- switch (GET_CODE (op))
- {
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-gcse.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-gcse.patch
deleted file mode 100644
index 69625682004d..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subreg-gcse.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Sat Jul 29 03:59:49 CEST 2000 Jan Hubicka <jh@suse.cz>
-
- * recog.c (validate_replace_rtx_1): Simplify subregs of constants.
-
-*** gcc/recog.c Sat Jul 29 01:04:17 2000
---- gcc/recog.c Sat Jul 29 12:42:23 2000
-*************** validate_replace_rtx_1 (loc, from, to, o
-*** 495,500 ****
---- 495,534 ----
- break;
-
- case SUBREG:
-+ /* In case we are replacing by constant, attempt to simplify it to non-SUBREG
-+ expression. We can't do this later, since the information about inner mode
-+ may be lost. */
-+ if (SUBREG_REG (x) == from
-+ && CONSTANT_P (to))
-+ {
-+ if (GET_MODE_SIZE (GET_MODE (x)) == UNITS_PER_WORD
-+ && GET_MODE_SIZE (GET_MODE (from)) > UNITS_PER_WORD
-+ && GET_MODE_CLASS (GET_MODE (x)) == MODE_INT)
-+ {
-+ rtx temp = operand_subword (to, SUBREG_WORD (x),
-+ 0, GET_MODE (x));
-+ if (temp)
-+ {
-+ validate_change (object, loc, temp, 1);
-+ return;
-+ }
-+ }
-+ if (subreg_lowpart_p (x))
-+ {
-+ validate_change (object, loc, gen_lowpart (GET_MODE (x), to), 1);
-+ return;
-+ }
-+
-+ /* A paradoxical SUBREG of a VOIDmode constant is the same constant,
-+ since we are saying that the high bits don't matter. */
-+ if (GET_MODE (to) == VOIDmode
-+ && GET_MODE_SIZE (GET_MODE (x)) > GET_MODE_SIZE (GET_MODE (from)))
-+ {
-+ validate_change (object, loc, to, 1);
-+ return;
-+ }
-+ }
-+
- /* If we have a SUBREG of a register that we are replacing and we are
- replacing it with a MEM, make a new MEM and try replacing the
- SUBREG with it. Don't do this if the MEM has a mode-dependent address
-
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subregbyte-gcse.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subregbyte-gcse.patch
deleted file mode 100644
index d3b5cf91f15f..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-subregbyte-gcse.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-2000-09-13 Jakub Jelinek <jakub@redhat.com>
-
- * recog.c (validate_replace_rtx_1): Update code for replacement
- of SUBREG_REG with a constant for SUBREG_BYTE.
-
---- gcc/recog.c.jj Mon Jul 31 23:27:14 2000
-+++ gcc/recog.c Tue Aug 1 15:15:10 2000
-@@ -504,29 +504,53 @@ validate_replace_rtx_1 (loc, from, to, o
- if (SUBREG_REG (x) == from
- && CONSTANT_P (to))
- {
-- if (GET_MODE_SIZE (GET_MODE (x)) == UNITS_PER_WORD
-- && GET_MODE_SIZE (GET_MODE (from)) > UNITS_PER_WORD
-- && GET_MODE_CLASS (GET_MODE (x)) == MODE_INT)
-- {
-- rtx temp = operand_subword (to, SUBREG_WORD (x),
-- 0, GET_MODE (x));
-- if (temp)
-- {
-- validate_change (object, loc, temp, 1);
-- return;
-- }
-- }
-- if (subreg_lowpart_p (x))
-+ /* A paradoxical SUBREG of a VOIDmode constant is the same constant,
-+ since we are saying that the high bits don't matter. */
-+ if (GET_MODE (to) == VOIDmode
-+ && GET_MODE_SIZE (GET_MODE (x)) >= GET_MODE_SIZE (GET_MODE (from)))
- {
-- validate_change (object, loc, gen_lowpart (GET_MODE (x), to), 1);
-+ validate_change (object, loc, to, 1);
- return;
- }
-
-- /* A paradoxical SUBREG of a VOIDmode constant is the same constant,
-- since we are saying that the high bits don't matter. */
-- if (GET_MODE (to) == VOIDmode
-- && GET_MODE_SIZE (GET_MODE (x)) > GET_MODE_SIZE (GET_MODE (from)))
-+ if (GET_CODE (to) == CONST_INT)
- {
-+ /* Avoid creating bogus SUBREGs */
-+ enum machine_mode mode = GET_MODE (x);
-+ enum machine_mode inner_mode = GET_MODE (from);
-+ int offset;
-+ unsigned HOST_WIDE_INT i;
-+
-+ if (GET_MODE_CLASS (mode) != MODE_INT)
-+ abort ();
-+
-+ offset = SUBREG_BYTE (x);
-+ if (BYTES_BIG_ENDIAN || WORDS_BIG_ENDIAN)
-+ {
-+ if (WORDS_BIG_ENDIAN)
-+ offset = GET_MODE_SIZE (inner_mode)
-+ - GET_MODE_SIZE (mode) - offset;
-+ if (BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN
-+ && GET_MODE_SIZE (mode) < UNITS_PER_WORD)
-+ offset = offset + UNITS_PER_WORD - GET_MODE_SIZE (mode)
-+ - 2 * (offset % UNITS_PER_WORD);
-+ }
-+
-+ offset *= BITS_PER_UNIT;
-+
-+ i = INTVAL (to);
-+
-+ if (offset >= HOST_BITS_PER_WIDE_INT)
-+ to = ((HOST_WIDE_INT) i < 0) ? constm1_rtx : const0_rtx;
-+ else
-+ {
-+ i >>= offset;
-+ if (GET_MODE_BITSIZE (mode) < HOST_BITS_PER_WIDE_INT)
-+ i &= (((unsigned HOST_WIDE_INT) 1)
-+ << GET_MODE_BITSIZE (mode)) - 1;
-+ to = GEN_INT (i);
-+ }
-+
- validate_change (object, loc, to, 1);
- return;
- }
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-test-991206-1.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-test-991206-1.patch
deleted file mode 100644
index d8077c7a2ef6..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-test-991206-1.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-2000-10-10 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/991209-1.c (stack_ptr): Use __asm, not asm, so that -ansi
- does not error on it.
-
---- gcc/testsuite/gcc.dg/991209-1.c.jj Fri Dec 10 01:57:03 1999
-+++ gcc/testsuite/gcc.dg/991209-1.c Tue Oct 10 17:34:06 2000
-@@ -5,4 +5,4 @@ int foo ()
- return 1;
- }
-
--register char *stack_ptr asm ("%esp");
-+register char *stack_ptr __asm ("%esp");
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-unroll.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-unroll.patch
deleted file mode 100644
index 765d5bb7ff93..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-unroll.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-2000-08-21 Jakub Jelinek <jakub@redhat.com>
-
- * unroll.c (loop_find_equiv_value): If ret is modified between
- insn and loop_start, ret might not be equivalent to reg.
-
---- gcc/unroll.c.jj Fri Aug 18 23:44:09 2000
-+++ gcc/unroll.c Mon Aug 21 17:28:09 2000
-@@ -3550,6 +3550,11 @@ loop_find_equiv_value (loop, reg)
- ret = XEXP (note, 0);
- else
- ret = SET_SRC (set);
-+
-+ /* We cannot do this if it changes between the
-+ assignment and loop start though. */
-+ if (modified_between_p (ret, insn, loop_start))
-+ ret = reg;
- }
- break;
- }
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-wchar-const.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-wchar-const.patch
deleted file mode 100644
index 0ce44e14255a..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-wchar-const.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-2000-09-12 Jakub Jelinek <jakub@redhat.com>
-
- * expr.c (expand_expr): Don't optimize constant array references
- initialized with wide string constants.
-
---- gcc/expr.c.jj Mon Sep 11 21:59:35 2000
-+++ gcc/expr.c Tue Sep 12 12:48:20 2000
-@@ -6619,9 +6619,16 @@ expand_expr (exp, target, tmode, modifie
- else if (TREE_CODE (init) == STRING_CST
- && 0 > compare_tree_int (index,
- TREE_STRING_LENGTH (init)))
-- return (GEN_INT
-- (TREE_STRING_POINTER
-- (init)[TREE_INT_CST_LOW (index)]));
-+ {
-+ tree type = TREE_TYPE (TREE_TYPE (init));
-+ enum machine_mode mode = TYPE_MODE (type);
-+
-+ if (GET_MODE_CLASS (mode) == MODE_INT
-+ && GET_MODE_SIZE (mode) == 1)
-+ return (GEN_INT
-+ (TREE_STRING_POINTER
-+ (init)[TREE_INT_CST_LOW (index)]));
-+ }
- }
- }
- }
-
-2000-09-12 Andreas Jaeger <aj@suse.de>
-
- * gcc.c-torture/execute/widechar-2.c: Test for wchar_t constant by
- Ulrich Drepper <drepper@redhat.com>.
-
---- gcc/testsuite/gcc.c-torture/execute/widechar-2.c Fri Jul 21 16:29:28 2000
-+++ gcc/testsuite/gcc.c-torture/execute/widechar-2.c Wed Sep 13 14:44:35 2000
-@@ -0,0 +1,12 @@
-+#include <stddef.h>
-+
-+const wchar_t ws[] = L"foo";
-+
-+int
-+main (void)
-+{
-+ if (ws[0] != L'f' || ws[1] != L'o' || ws[2] != L'o' || ws[3] != L'\0')
-+ abort();
-+ exit(0);
-+}
-+
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-wint_t.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-wint_t.patch
deleted file mode 100644
index 4b7180273dd4..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-wint_t.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-2000-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
- * c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
- (wint_type_node): Define.
- * c-decl.c (WINT_TYPE): Define.
- (init_decl_processing): Create the wint_type_node type.
- * cppdefault.h (WINT_TYPE): Define.
- * cppinit.c (builtin_array): Define __WINT_TYPE__.
- * tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
- * tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
- * c-common.c (T_WI): Define.
- (print_char_table): Use T_WI for %lc format.
-
---- gcc/ginclude/stddef.h.jj Sun Jul 2 10:37:23 2000
-+++ gcc/ginclude/stddef.h Fri Aug 18 16:42:04 2000
-@@ -302,7 +302,7 @@ typedef __WCHAR_TYPE__ wchar_t;
- #undef __need_wchar_t
- #endif /* _STDDEF_H or __need_wchar_t. */
-
--#if defined (_STDDEF_H) || defined (__need_wint_t)
-+#if defined (__need_wint_t)
- #ifndef _WINT_T
- #define _WINT_T
-
---- gcc/c-common.h.jj Thu Jul 13 14:53:25 2000
-+++ gcc/c-common.h Fri Aug 18 16:42:04 2000
-@@ -91,6 +91,7 @@ enum c_tree_index
- CTI_WCHAR_TYPE,
- CTI_SIGNED_WCHAR_TYPE,
- CTI_UNSIGNED_WCHAR_TYPE,
-+ CTI_WINT_TYPE,
- CTI_WIDEST_INT_LIT_TYPE,
- CTI_WIDEST_UINT_LIT_TYPE,
-
-@@ -122,6 +123,7 @@ enum c_tree_index
- #define wchar_type_node c_global_trees[CTI_WCHAR_TYPE]
- #define signed_wchar_type_node c_global_trees[CTI_SIGNED_WCHAR_TYPE]
- #define unsigned_wchar_type_node c_global_trees[CTI_UNSIGNED_WCHAR_TYPE]
-+#define wint_type_node c_global_trees[CTI_WINT_TYPE]
- #define widest_integer_literal_type_node c_global_trees[CTI_WIDEST_INT_LIT_TYPE]
- #define widest_unsigned_literal_type_node c_global_trees[CTI_WIDEST_UINT_LIT_TYPE]
-
---- gcc/c-decl.c.jj Mon Jul 31 20:02:08 2000
-+++ gcc/c-decl.c Fri Aug 18 16:42:04 2000
-@@ -74,6 +74,10 @@ enum decl_context
- #ifndef WCHAR_TYPE
- #define WCHAR_TYPE "int"
- #endif
-+
-+#ifndef WINT_TYPE
-+#define WINT_TYPE "unsigned int"
-+#endif
-
- /* Do GC. */
- int ggc_p = 1;
-@@ -3036,6 +3040,8 @@ init_decl_processing ()
- wchar_type_size = TYPE_PRECISION (wchar_type_node);
- signed_wchar_type_node = signed_type (wchar_type_node);
- unsigned_wchar_type_node = unsigned_type (wchar_type_node);
-+
-+ wint_type_node = TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (get_identifier (WINT_TYPE)));
-
- boolean_type_node = integer_type_node;
- boolean_true_node = integer_one_node;
---- gcc/cppdefault.h.jj Fri Jul 7 00:52:03 2000
-+++ gcc/cppdefault.h Fri Aug 18 16:42:04 2000
-@@ -66,6 +66,12 @@ Foundation, 59 Temple Place - Suite 330,
- #define WCHAR_TYPE "int"
- #endif
-
-+/* The string value for __WINT_TYPE__. */
-+
-+#ifndef WINT_TYPE
-+#define WINT_TYPE "unsigned int"
-+#endif
-+
- /* The string value for __USER_LABEL_PREFIX__ */
-
- #ifndef USER_LABEL_PREFIX
---- gcc/cppinit.c.jj Fri Aug 18 15:59:11 2000
-+++ gcc/cppinit.c Fri Aug 18 16:48:11 2000
-@@ -541,6 +541,9 @@ static const struct builtin builtin_arra
- #ifndef NO_BUILTIN_WCHAR_TYPE
- C("__WCHAR_TYPE__", WCHAR_TYPE),
- #endif
-+#ifndef NO_BUILTIN_WINT_TYPE
-+ C("__WINT_TYPE__", WINT_TYPE),
-+#endif
-
- /* Named operators known to the preprocessor. These cannot be #defined
- and always have their stated meaning. They are treated like normal
---- gcc/tradcpp.c.jj Mon Jul 24 18:48:59 2000
-+++ gcc/tradcpp.c Fri Aug 18 16:42:04 2000
-@@ -4644,6 +4644,9 @@ initialize_builtins ()
- #ifndef NO_BUILTIN_WCHAR_TYPE
- install_value ("__WCHAR_TYPE__", WCHAR_TYPE);
- #endif
-+#ifndef NO_BUILTIN_WINT_TYPE
-+ install_value ("__WINT_TYPE__", WINT_TYPE);
-+#endif
- install_value ("__REGISTER_PREFIX__", REGISTER_PREFIX);
- install_value ("__USER_LABEL_PREFIX__", user_label_prefix);
- }
---- gcc/tm.texi.jj Wed Aug 2 21:34:07 2000
-+++ gcc/tm.texi Fri Aug 18 16:42:04 2000
-@@ -138,6 +138,16 @@ This should be defined if @code{WCHAR_TY
- which are not accessible to the preprocessor. Otherwise, it should not
- be defined.
-
-+@findex NO_BUILTIN_WINT_TYPE
-+@item NO_BUILTIN_WINT_TYPE
-+If this macro is defined, the preprocessor will not define the builtin macro
-+@code{__WINT_TYPE__}. The macro @code{__WINT_TYPE__} must then be
-+defined by @code{CPP_SPEC} instead.
-+
-+This should be defined if @code{WINT_TYPE} depends on target dependent flags
-+which are not accessible to the preprocessor. Otherwise, it should not
-+be defined.
-+
- @findex SIGNED_CHAR_SPEC
- @item SIGNED_CHAR_SPEC
- A C string constant that tells the GCC driver program options to
-@@ -1284,6 +1294,16 @@ characters. If this is undefined, the d
- @code{WCHAR_TYPE_SIZE}. Otherwise, it is the constant value that is the
- largest value that @code{WCHAR_TYPE_SIZE} can have at run-time. This is
- used in @code{cpp}.
-+
-+@findex WINT_TYPE
-+@item WINT_TYPE
-+A C expression for a string describing the name of the data type to
-+use for wide characters passed to @code{printf} and returned from
-+@code{getwc}. The typedef name @code{wint_t} is defined using the
-+contents of the string. See @code{SIZE_TYPE} above for more
-+information.
-+
-+If you don't define this macro, the default is @code{"unsigned int"}.
-
- @findex OBJC_INT_SELECTORS
- @item OBJC_INT_SELECTORS
---- gcc/c-common.c.jj Mon Jul 31 20:02:08 2000
-+++ gcc/c-common.c Fri Aug 18 16:42:04 2000
-@@ -1193,6 +1193,7 @@ strip_attrs (specs_attrs)
- #define T_UC &unsigned_char_type_node
- #define T_V &void_type_node
- #define T_W &wchar_type_node
-+#define T_WI &wint_type_node
- #define T_ST &sizetype
-
- typedef struct {
-@@ -1229,7 +1230,7 @@ static format_char_info print_char_table
- /* A GNU extension. */
- { "m", 0, T_V, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
- { "feEgGaA", 0, T_D, NULL, NULL, NULL, NULL, T_LD, NULL, "-wp0 +#" },
-- { "c", 0, T_I, NULL, NULL, T_W, NULL, NULL, NULL, "-w" },
-+ { "c", 0, T_I, NULL, NULL, T_WI, NULL, NULL, NULL, "-w" },
- { "C", 0, T_W, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
- { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, "-wp" },
- { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
diff --git a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-xopen.patch b/sys-devel/gcc/files/gcc-2.96.20000731/gcc-xopen.patch
deleted file mode 100644
index ae894e4e89a0..000000000000
--- a/sys-devel/gcc/files/gcc-2.96.20000731/gcc-xopen.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk>
-
- * c-common.c (print_char_table): Add entries for the X/Open '
- format flag (print decimals with locale's thousands grouping
- character). Make %C expect wint_t.
- (check_format_info): If pedantic, warn when the %n$ operand
- number form is used. Allow for the ' flag; warn about it if
- pedantic.
-
---- gcc/c-common.c Fri Aug 4 23:01:34 2000
-+++ gcc/c-common.c Sat Aug 5 00:35:18 2000
-@@ -1233,14 +1233,15 @@ typedef struct {
- } format_char_info;
-
- static format_char_info print_char_table[] = {
-- { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, T_PD, T_IM, "-wp0 +" },
-+ { "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, T_PD, T_IM, "-wp0 +'" },
- { "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "-wp0#" },
-- { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "-wp0" },
-+ { "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, T_PD, T_UIM, "-wp0'" },
- /* A GNU extension. */
- { "m", 0, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
-- { "fFeEgGaA", 0, T_D, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "-wp0 +#" },
-+ { "fFgG", 0, T_D, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "-wp0 +#'" },
-+ { "eEaA", 0, T_D, NULL, NULL, T_D, NULL, T_LD, NULL, NULL, NULL, "-wp0 +#" },
- { "c", 0, T_I, NULL, NULL, T_WI, NULL, NULL, NULL, NULL, NULL, "-w" },
-- { "C", 0, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-+ { "C", 0, T_WI, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
- { "s", 1, T_C, NULL, NULL, T_W, NULL, NULL, NULL, NULL, NULL, "-wp" },
- { "S", 1, T_W, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-wp" },
- { "p", 1, T_V, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "-w" },
-@@ -1699,6 +1700,9 @@ check_format_info (info, params)
- {
- int opnum = atoi (format_chars);
-
-+ if (pedantic)
-+ warning ("ANSI C does not support printf %%n$");
-+
- params = first_fillin_param;
- format_chars = p + 1;
- has_operand_number = 1;
-@@ -1714,7 +1718,7 @@ check_format_info (info, params)
- }
- }
-
-- while (*format_chars != 0 && index (" +#0-", *format_chars) != 0)
-+ while (*format_chars != 0 && index (" +#0-'", *format_chars) != 0)
- {
- if (index (flag_chars, *format_chars) != 0)
- warning ("repeated `%c' flag in format", *format_chars++);
-@@ -1735,6 +1739,8 @@ check_format_info (info, params)
- if (index (flag_chars, '0') != 0
- && index (flag_chars, '-') != 0)
- warning ("use of both `0' and `-' flags in format");
-+ if (index (flag_chars, '\'') && pedantic)
-+ warning ("ANSI C does not support the `'' format flag");
- if (*format_chars == '*')
- {
- wide = TRUE;
diff --git a/sys-devel/gcc/files/gcc-accept-doublecolon.diff.gz b/sys-devel/gcc/files/gcc-accept-doublecolon.diff.gz
deleted file mode 100644
index ced5ee0bd788..000000000000
--- a/sys-devel/gcc/files/gcc-accept-doublecolon.diff.gz
+++ /dev/null
Binary files differ
diff --git a/sys-devel/gcc/files/gcc-exception-fix.diff.gz b/sys-devel/gcc/files/gcc-exception-fix.diff.gz
deleted file mode 100644
index db8e6bce0898..000000000000
--- a/sys-devel/gcc/files/gcc-exception-fix.diff.gz
+++ /dev/null
Binary files differ
diff --git a/sys-devel/gcc/files/gcc-glibc-2.2-compat.diff b/sys-devel/gcc/files/gcc-glibc-2.2-compat.diff
deleted file mode 100644
index 671311b716f7..000000000000
--- a/sys-devel/gcc/files/gcc-glibc-2.2-compat.diff
+++ /dev/null
@@ -1,332 +0,0 @@
-2000-09-21 Bruno Haible <haible@clisp.cons.org>
-
- * libio.h: For glibc-2.2, set _IO_USER_LOCK to the value defined
- in /usr/include/libio.h.
-
-1999-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of
- _IO_fpos_t.
- (_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of
- _IO_fpos64_t.
- * libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise.
- (_IO_seekoff, _IO_seekpos): Likewise.
- (_IO_default_seekoff, _IO_default_seekpos): Likewise.
- (_IO_default_seek): Likewise.
- (_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise.
- * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
- * parsestream.h (class parsebuf::pos_at_line_start): Change type
- to _IO_off_t.
-
-*** libio/libio.h.jj Mon Jun 29 20:06:26 1998
---- libio/libio.h Thu Sep 21 02:14:17 2000
-***************
-*** 163,168 ****
---- 163,171 ----
- #ifdef _IO_MTSAFE_IO
- # if defined __GLIBC__ && __GLIBC__ >= 2
- # if __GLIBC_MINOR__ > 0
-+ # if __GLIBC_MINOR__ >= 2
-+ # define _IO_USER_LOCK 0x8000
-+ # endif
- # include <bits/stdio-lock.h>
- # else
- # include <stdio-lock.h>
-***************
-*** 277,283 ****
- {
- _IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
- _IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
-! _IO_fpos_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
- int (*close) __PMT ((struct _IO_FILE *));
- } _IO_cookie_io_functions_t;
-
---- 280,286 ----
- {
- _IO_ssize_t (*read) __PMT ((struct _IO_FILE *, void *, _IO_ssize_t));
- _IO_ssize_t (*write) __PMT ((struct _IO_FILE *, const void *, _IO_ssize_t));
-! _IO_off_t (*seek) __PMT ((struct _IO_FILE *, _IO_off_t, int));
- int (*close) __PMT ((struct _IO_FILE *));
- } _IO_cookie_io_functions_t;
-
-***************
-*** 348,358 ****
- extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
- #else
-! extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
- #endif
-
- extern void _IO_free_backup_area __P ((_IO_FILE *));
---- 351,361 ----
- extern _IO_size_t _IO_sgetn __P ((_IO_FILE *, void *, _IO_size_t));
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
- #endif
-
- extern void _IO_free_backup_area __P ((_IO_FILE *));
-*** libio/libioP.h.jj Mon May 17 18:58:56 1999
---- libio/libioP.h Mon May 15 16:14:00 2000
-***************
-*** 146,155 ****
- It matches the streambuf::seekoff virtual function.
- It is also used for the ANSI fseek function. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_fpos64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
- int DIR, int MODE));
- #else
-! typedef _IO_fpos_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
- int DIR, int MODE));
- #endif
- #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
---- 146,155 ----
- It matches the streambuf::seekoff virtual function.
- It is also used for the ANSI fseek function. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
- int DIR, int MODE));
- #else
-! typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
- int DIR, int MODE));
- #endif
- #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
-***************
-*** 160,168 ****
- It is also used for the ANSI fgetpos and fsetpos functions. */
- /* The _IO_seek_cur and _IO_seek_end options are not allowed. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_fpos64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos64_t, int));
- #else
-! typedef _IO_fpos_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos_t, int));
- #endif
- #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
-
---- 160,168 ----
- It is also used for the ANSI fgetpos and fsetpos functions. */
- /* The _IO_seek_cur and _IO_seek_end options are not allowed. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
- #else
-! typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
- #endif
- #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
-
-***************
-*** 213,221 ****
- It matches the streambuf::sys_seek virtual function, which is
- specific to this implementation. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_fpos64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
- #else
-! typedef _IO_fpos_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
- #endif
- #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
-
---- 213,221 ----
- It matches the streambuf::sys_seek virtual function, which is
- specific to this implementation. */
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
- #else
-! typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
- #endif
- #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
-
-***************
-*** 298,308 ****
- /* Generic functions */
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos64_t, int));
- #else
-! extern _IO_fpos_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
- #endif
-
- extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
---- 298,308 ----
- /* Generic functions */
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
- #endif
-
- extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
-***************
-*** 340,361 ****
- _IO_size_t));
- extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_default_seekoff __P ((_IO_FILE *,
- _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_default_seekpos __P ((_IO_FILE *,
-! _IO_fpos64_t, int));
- #else
-! extern _IO_fpos_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_default_seekpos __P ((_IO_FILE *, _IO_fpos_t, int));
- #endif
- extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
- extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
- extern int _IO_default_stat __P ((_IO_FILE *, void *));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_fpos_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern int _IO_default_sync __P ((_IO_FILE *));
- #define _IO_default_close ((_IO_close_t) _IO_default_sync)
---- 340,361 ----
- _IO_size_t));
- extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
- _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
-! _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
- extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
- extern int _IO_default_stat __P ((_IO_FILE *, void *));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern int _IO_default_sync __P ((_IO_FILE *));
- #define _IO_default_close ((_IO_close_t) _IO_default_sync)
-***************
-*** 389,399 ****
- extern int _IO_file_doallocate __P ((_IO_FILE *));
- extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_fpos64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_fpos_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_fpos_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
- extern int _IO_file_stat __P ((_IO_FILE *, void *));
---- 389,399 ----
- extern int _IO_file_doallocate __P ((_IO_FILE *));
- extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-! extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
- #else
-! extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-! extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
- #endif
- extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
- extern int _IO_file_stat __P ((_IO_FILE *, void *));
-***************
-*** 427,435 ****
- extern int _IO_str_overflow __P ((_IO_FILE *, int));
- extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_fpos64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
- #else
-! extern _IO_fpos_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
- #endif
- extern void _IO_str_finish __P ((_IO_FILE *, int));
-
---- 427,435 ----
- extern int _IO_str_overflow __P ((_IO_FILE *, int));
- extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
- #else
-! extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
- #endif
- extern void _IO_str_finish __P ((_IO_FILE *, int));
-
-***************
-*** 544,555 ****
- where an _IO_fpos_t is a struct.
- Note that _IO_off_t must be an integral type. */
-
-! /* _IO_pos_BAD is an _IO_fpos_t value indicating error, unknown, or EOF. */
- #ifndef _IO_pos_BAD
- # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! # define _IO_pos_BAD ((_IO_fpos64_t) -1)
- # else
-! # define _IO_pos_BAD ((_IO_fpos_t) -1)
- # endif
- #endif
- /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
---- 544,555 ----
- where an _IO_fpos_t is a struct.
- Note that _IO_off_t must be an integral type. */
-
-! /* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
- #ifndef _IO_pos_BAD
- # if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-! # define _IO_pos_BAD ((_IO_off64_t) -1)
- # else
-! # define _IO_pos_BAD ((_IO_off_t) -1)
- # endif
- #endif
- /* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
-*** libio/streambuf.h.jj Sun Aug 8 20:07:01 1999
---- libio/streambuf.h Mon May 15 16:04:27 2000
-***************
-*** 72,81 ****
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_fpos64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_fpos_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
---- 72,81 ----
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_off64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_off_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
-*** libio/parsestream.h.jj Thu Aug 21 18:58:20 1997
---- libio/parsestream.h Mon May 15 16:04:27 2000
-***************
-*** 42,48 ****
-
- class parsebuf : public streambuf {
- protected:
-! _IO_fpos_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
---- 42,48 ----
-
- class parsebuf : public streambuf {
- protected:
-! _IO_off_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
diff --git a/sys-devel/gcc/files/gccinclude-glibc-2.2-compat.diff b/sys-devel/gcc/files/gccinclude-glibc-2.2-compat.diff
deleted file mode 100644
index 58c960175128..000000000000
--- a/sys-devel/gcc/files/gccinclude-glibc-2.2-compat.diff
+++ /dev/null
@@ -1,50 +0,0 @@
-1999-12-13 Jakub Jelinek <jakub@redhat.com>
-
- * streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
- * parsestream.h (class parsebuf::pos_at_line_start): Change type
- to _IO_off_t.
-
-*** include/g++/streambuf.h.jj Sun Aug 8 20:07:01 1999
---- include/g++/streambuf.h Mon May 15 16:04:27 2000
-***************
-*** 72,81 ****
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_fpos64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_fpos_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
---- 72,81 ----
-
- #if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
- typedef _IO_off64_t streamoff;
-! typedef _IO_off64_t streampos;
- #else
- typedef _IO_off_t streamoff;
-! typedef _IO_off_t streampos;
- #endif
- typedef _IO_ssize_t streamsize;
-
-*** include/g++/parsestream.h.jj Thu Aug 21 18:58:20 1997
---- include/g++/parsestream.h Mon May 15 16:04:27 2000
-***************
-*** 42,48 ****
-
- class parsebuf : public streambuf {
- protected:
-! _IO_fpos_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
---- 42,48 ----
-
- class parsebuf : public streambuf {
- protected:
-! _IO_off_t pos_at_line_start;
- long _line_length;
- unsigned long __line_number;
- char *buf_start;
diff --git a/sys-devel/gcc/files/libioP.h b/sys-devel/gcc/files/libioP.h
deleted file mode 100644
index 7d57a99a2225..000000000000
--- a/sys-devel/gcc/files/libioP.h
+++ /dev/null
@@ -1,657 +0,0 @@
-/* Copyright (C) 1993, 1997, 2000 Free Software Foundation, Inc.
- This file is part of the GNU IO Library.
-
- This library 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.
-
- This library 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 this library; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
- MA 02111-1307, USA.
-
- As a special exception, if you link this library with files
- compiled with a GNU compiler to produce an executable, this does
- not cause the resulting executable to be covered by the GNU General
- Public License. This exception does not however invalidate any
- other reasons why the executable file might be covered by the GNU
- General Public License. */
-
-#ifndef _POSIX_SOURCE
-# define _POSIX_SOURCE
-#endif
-
-#include <errno.h>
-#ifndef __set_errno
-# define __set_errno(Val) errno = (Val)
-#endif
-
-#ifdef _IO_MTSAFE_IO
-# if defined __GLIBC__ && __GLIBC__ >= 2
-# if __GLIBC_MINOR__ > 0
-# include <bits/libc-lock.h>
-# else
-# include <libc-lock.h>
-# endif
-# else
-/*# include <comthread.h>*/
-# endif
-#endif
-
-#include "iolibio.h"
-
-#ifndef _IO_USER_LOCK
-#define _IO_USER_LOCK 0x8000
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define _IO_seek_set 0
-#define _IO_seek_cur 1
-#define _IO_seek_end 2
-
-/* THE JUMPTABLE FUNCTIONS.
-
- * The _IO_FILE type is used to implement the FILE type in GNU libc,
- * as well as the streambuf class in GNU iostreams for C++.
- * These are all the same, just used differently.
- * An _IO_FILE (or FILE) object is allows followed by a pointer to
- * a jump table (of pointers to functions). The pointer is accessed
- * with the _IO_JUMPS macro. The jump table has a eccentric format,
- * so as to be compatible with the layout of a C++ virtual function table.
- * (as implemented by g++). When a pointer to a streambuf object is
- * coerced to an (_IO_FILE*), then _IO_JUMPS on the result just
- * happens to point to the virtual function table of the streambuf.
- * Thus the _IO_JUMPS function table used for C stdio/libio does
- * double duty as the virtual function table for C++ streambuf.
- *
- * The entries in the _IO_JUMPS function table (and hence also the
- * virtual functions of a streambuf) are described below.
- * The first parameter of each function entry is the _IO_FILE/streambuf
- * object being acted on (i.e. the 'this' parameter).
- */
-
-#define _IO_JUMPS(THIS) ((struct _IO_FILE_plus *) (THIS))->vtable
-#ifdef _G_USING_THUNKS
-# define JUMP_FIELD(TYPE, NAME) TYPE NAME
-# define JUMP0(FUNC, THIS) _IO_JUMPS(THIS)->FUNC (THIS)
-# define JUMP1(FUNC, THIS, X1) _IO_JUMPS(THIS)->FUNC (THIS, X1)
-# define JUMP2(FUNC, THIS, X1, X2) _IO_JUMPS(THIS)->FUNC (THIS, X1, X2)
-# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS(THIS)->FUNC (THIS, X1,X2, X3)
-# define JUMP_INIT(NAME, VALUE) VALUE
-# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0), JUMP_INIT (dummy2, 0)
-#else
-/* These macros will change when we re-implement vtables to use "thunks"! */
-# define JUMP_FIELD(TYPE, NAME) struct { short delta1, delta2; TYPE pfn; } NAME
-# define JUMP0(FUNC, THIS) _IO_JUMPS(THIS)->FUNC.pfn (THIS)
-# define JUMP1(FUNC, THIS, X1) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1)
-# define JUMP2(FUNC, THIS, X1, X2) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1, X2)
-# define JUMP3(FUNC, THIS, X1,X2,X3) _IO_JUMPS(THIS)->FUNC.pfn (THIS, X1,X2,X3)
-# define JUMP_INIT(NAME, VALUE) {0, 0, VALUE}
-# define JUMP_INIT_DUMMY JUMP_INIT(dummy, 0)
-#endif
-
-/* The 'finish' function does any final cleaning up of an _IO_FILE object.
- It does not delete (free) it, but does everything else to finalize it/
- It matches the streambuf::~streambuf virtual destructor. */
-typedef void (*_IO_finish_t) __PMT ((_IO_FILE *, int)); /* finalize */
-#define _IO_FINISH(FP) JUMP1 (__finish, FP, 0)
-
-/* The 'overflow' hook flushes the buffer.
- The second argument is a character, or EOF.
- It matches the streambuf::overflow virtual function. */
-typedef int (*_IO_overflow_t) __PMT ((_IO_FILE *, int));
-#define _IO_OVERFLOW(FP, CH) JUMP1 (__overflow, FP, CH)
-
-/* The 'underflow' hook tries to fills the get buffer.
- It returns the next character (as an unsigned char) or EOF. The next
- character remains in the get buffer, and the get position is not changed.
- It matches the streambuf::underflow virtual function. */
-typedef int (*_IO_underflow_t) __PMT ((_IO_FILE *));
-#define _IO_UNDERFLOW(FP) JUMP0 (__underflow, FP)
-
-/* The 'uflow' hook returns the next character in the input stream
- (cast to unsigned char), and increments the read position;
- EOF is returned on failure.
- It matches the streambuf::uflow virtual function, which is not in the
- cfront implementation, but was added to C++ by the ANSI/ISO committee. */
-#define _IO_UFLOW(FP) JUMP0 (__uflow, FP)
-
-/* The 'pbackfail' hook handles backing up.
- It matches the streambuf::pbackfail virtual function. */
-typedef int (*_IO_pbackfail_t) __PMT ((_IO_FILE *, int));
-#define _IO_PBACKFAIL(FP, CH) JUMP1 (__pbackfail, FP, CH)
-
-/* The 'xsputn' hook writes upto N characters from buffer DATA.
- Returns the number of character actually written.
- It matches the streambuf::xsputn virtual function. */
-typedef _IO_size_t (*_IO_xsputn_t) __PMT ((_IO_FILE *FP, const void *DATA,
- _IO_size_t N));
-#define _IO_XSPUTN(FP, DATA, N) JUMP2 (__xsputn, FP, DATA, N)
-
-/* The 'xsgetn' hook reads upto N characters into buffer DATA.
- Returns the number of character actually read.
- It matches the streambuf::xsgetn virtual function. */
-typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
- _IO_size_t N));
-#define _IO_XSGETN(FP, DATA, N) JUMP2 (__xsgetn, FP, DATA, N)
-
-/* The 'seekoff' hook moves the stream position to a new position
- relative to the start of the file (if DIR==0), the current position
- (MODE==1), or the end of the file (MODE==2).
- It matches the streambuf::seekoff virtual function.
- It is also used for the ANSI fseek function. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
- int DIR, int MODE));
-#else
-typedef _IO_off_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off_t OFF,
- int DIR, int MODE));
-#endif
-#define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
-
-/* The 'seekpos' hook also moves the stream position,
- but to an absolute position given by a fpos_t (seekpos).
- It matches the streambuf::seekpos virtual function.
- It is also used for the ANSI fgetpos and fsetpos functions. */
-/* The _IO_seek_cur and _IO_seek_end options are not allowed. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
-#else
-typedef _IO_off_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_off_t, int));
-#endif
-#define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
-
-/* The 'setbuf' hook gives a buffer to the file.
- It matches the streambuf::setbuf virtual function. */
-typedef _IO_FILE* (*_IO_setbuf_t) __PMT ((_IO_FILE *, char *, _IO_ssize_t));
-#define _IO_SETBUF(FP, BUFFER, LENGTH) JUMP2 (__setbuf, FP, BUFFER, LENGTH)
-
-/* The 'sync' hook attempts to synchronize the internal data structures
- of the file with the external state.
- It matches the streambuf::sync virtual function. */
-typedef int (*_IO_sync_t) __PMT ((_IO_FILE *));
-#define _IO_SYNC(FP) JUMP0 (__sync, FP)
-
-/* The 'doallocate' hook is used to tell the file to allocate a buffer.
- It matches the streambuf::doallocate virtual function, which is not
- in the ANSI/ISO C++ standard, but is part traditional implementations. */
-typedef int (*_IO_doallocate_t) __PMT ((_IO_FILE *));
-#define _IO_DOALLOCATE(FP) JUMP0 (__doallocate, FP)
-
-/* The following four hooks (sysread, syswrite, sysclose, sysseek, and
- sysstat) are low-level hooks specific to this implementation.
- There is no correspondence in the ANSI/ISO C++ standard library.
- The hooks basically correspond to the Unix system functions
- (read, write, close, lseek, and stat) except that a _IO_FILE*
- parameter is used instead of a integer file descriptor; the default
- implementation used for normal files just calls those functions.
- The advantage of overriding these functions instead of the higher-level
- ones (underflow, overflow etc) is that you can leave all the buffering
- higher-level functions. */
-
-/* The 'sysread' hook is used to read data from the external file into
- an existing buffer. It generalizes the Unix read(2) function.
- It matches the streambuf::sys_read virtual function, which is
- specific to this implementation. */
-typedef _IO_ssize_t (*_IO_read_t) __PMT ((_IO_FILE *, void *, _IO_ssize_t));
-#define _IO_SYSREAD(FP, DATA, LEN) JUMP2 (__read, FP, DATA, LEN)
-
-/* The 'syswrite' hook is used to write data from an existing buffer
- to an external file. It generalizes the Unix write(2) function.
- It matches the streambuf::sys_write virtual function, which is
- specific to this implementation. */
-typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *,const void *,_IO_ssize_t));
-#define _IO_SYSWRITE(FP, DATA, LEN) JUMP2 (__write, FP, DATA, LEN)
-
-/* The 'sysseek' hook is used to re-position an external file.
- It generalizes the Unix lseek(2) function.
- It matches the streambuf::sys_seek virtual function, which is
- specific to this implementation. */
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-typedef _IO_off64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
-#else
-typedef _IO_off_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off_t, int));
-#endif
-#define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
-
-/* The 'sysclose' hook is used to finalize (close, finish up) an
- external file. It generalizes the Unix close(2) function.
- It matches the streambuf::sys_close virtual function, which is
- specific to this implementation. */
-typedef int (*_IO_close_t) __PMT ((_IO_FILE *)); /* finalize */
-#define _IO_SYSCLOSE(FP) JUMP0 (__close, FP)
-
-/* The 'sysstat' hook is used to get information about an external file
- into a struct stat buffer. It generalizes the Unix fstat(2) call.
- It matches the streambuf::sys_stat virtual function, which is
- specific to this implementation. */
-typedef int (*_IO_stat_t) __PMT ((_IO_FILE *, void *));
-#define _IO_SYSSTAT(FP, BUF) JUMP1 (__stat, FP, BUF)
-
-#if _G_IO_IO_FILE_VERSION == 0x20001
-/* The 'showmany' hook can be used to get an image how much input is
- available. In many cases the answer will be 0 which means unknown
- but some cases one can provide real information. */
-typedef int (*_IO_showmanyc_t) __PMT ((_IO_FILE *));
-#define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP)
-
-/* The 'imbue' hook is used to get information about the currently
- installed locales. */
-typedef void (*_IO_imbue_t) __PMT ((_IO_FILE *, void *));
-#define _IO_IMBUE(FP, LOCALE) JUMP1 (__imbue, FP, LOCALE)
-#endif
-
-
-#define _IO_CHAR_TYPE char /* unsigned char ? */
-#define _IO_INT_TYPE int
-
-struct _IO_jump_t
-{
- JUMP_FIELD(_G_size_t, __dummy);
-#ifdef _G_USING_THUNKS
- JUMP_FIELD(_G_size_t, __dummy2);
-#endif
- JUMP_FIELD(_IO_finish_t, __finish);
- JUMP_FIELD(_IO_overflow_t, __overflow);
- JUMP_FIELD(_IO_underflow_t, __underflow);
- JUMP_FIELD(_IO_underflow_t, __uflow);
- JUMP_FIELD(_IO_pbackfail_t, __pbackfail);
- /* showmany */
- JUMP_FIELD(_IO_xsputn_t, __xsputn);
- JUMP_FIELD(_IO_xsgetn_t, __xsgetn);
- JUMP_FIELD(_IO_seekoff_t, __seekoff);
- JUMP_FIELD(_IO_seekpos_t, __seekpos);
- JUMP_FIELD(_IO_setbuf_t, __setbuf);
- JUMP_FIELD(_IO_sync_t, __sync);
- JUMP_FIELD(_IO_doallocate_t, __doallocate);
- JUMP_FIELD(_IO_read_t, __read);
- JUMP_FIELD(_IO_write_t, __write);
- JUMP_FIELD(_IO_seek_t, __seek);
- JUMP_FIELD(_IO_close_t, __close);
- JUMP_FIELD(_IO_stat_t, __stat);
-#if _G_IO_IO_FILE_VERSION == 0x20001
- JUMP_FIELD(_IO_showmanyc_t, __showmanyc);
- JUMP_FIELD(_IO_imbue_t, __imbue);
-#endif
-#if 0
- get_column;
- set_column;
-#endif
-};
-
-/* We always allocate an extra word following an _IO_FILE.
- This contains a pointer to the function jump table used.
- This is for compatibility with C++ streambuf; the word can
- be used to smash to a pointer to a virtual function table. */
-
-struct _IO_FILE_plus
-{
- _IO_FILE file;
- const struct _IO_jump_t *vtable;
-};
-
-/* Generic functions */
-
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_off64_t _IO_seekpos __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_seekpos __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-
-extern void _IO_switch_to_main_get_area __P ((_IO_FILE *));
-extern void _IO_switch_to_backup_area __P ((_IO_FILE *));
-extern int _IO_switch_to_get_mode __P ((_IO_FILE *));
-extern void _IO_init __P ((_IO_FILE *, int));
-extern int _IO_sputbackc __P ((_IO_FILE *, int));
-extern int _IO_sungetc __P ((_IO_FILE *));
-extern void _IO_un_link __P ((_IO_FILE *));
-extern void _IO_link_in __P ((_IO_FILE *));
-extern void _IO_doallocbuf __P ((_IO_FILE *));
-extern void _IO_unsave_markers __P ((_IO_FILE *));
-extern void _IO_setb __P ((_IO_FILE *, char *, char *, int));
-extern unsigned _IO_adjust_column __P ((unsigned, const char *, int));
-#define _IO_sputn(__fp, __s, __n) _IO_XSPUTN (__fp, __s, __n)
-
-/* Marker-related function. */
-
-extern void _IO_init_marker __P ((struct _IO_marker *, _IO_FILE *));
-extern void _IO_remove_marker __P ((struct _IO_marker *));
-extern int _IO_marker_difference __P ((struct _IO_marker *,
- struct _IO_marker *));
-extern int _IO_marker_delta __P ((struct _IO_marker *));
-extern int _IO_seekmark __P ((_IO_FILE *, struct _IO_marker *, int));
-
-/* Default jumptable functions. */
-
-extern int _IO_default_underflow __P ((_IO_FILE *));
-extern int _IO_default_uflow __P ((_IO_FILE *));
-extern int _IO_default_doallocate __P ((_IO_FILE *));
-extern void _IO_default_finish __P ((_IO_FILE *, int));
-extern int _IO_default_pbackfail __P ((_IO_FILE *, int));
-extern _IO_FILE* _IO_default_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
-extern _IO_size_t _IO_default_xsputn __P ((_IO_FILE *, const void *,
- _IO_size_t));
-extern _IO_size_t _IO_default_xsgetn __P ((_IO_FILE *, void *, _IO_size_t));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_default_seekoff __P ((_IO_FILE *,
- _IO_off64_t, int, int));
-extern _IO_off64_t _IO_default_seekpos __P ((_IO_FILE *,
- _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_default_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_default_seekpos __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern _IO_ssize_t _IO_default_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
-extern _IO_ssize_t _IO_default_read __P ((_IO_FILE *, void *, _IO_ssize_t));
-extern int _IO_default_stat __P ((_IO_FILE *, void *));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_default_seek __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_default_seek __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern int _IO_default_sync __P ((_IO_FILE *));
-#define _IO_default_close ((_IO_close_t) _IO_default_sync)
-
-extern struct _IO_jump_t _IO_file_jumps;
-extern struct _IO_jump_t _IO_streambuf_jumps;
-extern struct _IO_jump_t _IO_proc_jumps;
-extern struct _IO_jump_t _IO_str_jumps;
-extern int _IO_do_write __P ((_IO_FILE *, const char *, _IO_size_t));
-extern int _IO_flush_all __P ((void));
-extern void _IO_cleanup __P ((void));
-extern void _IO_flush_all_linebuffered __P ((void));
-
-#define _IO_do_flush(_f) \
- _IO_do_write(_f, (_f)->_IO_write_base, \
- (_f)->_IO_write_ptr-(_f)->_IO_write_base)
-#define _IO_in_put_mode(_fp) ((_fp)->_flags & _IO_CURRENTLY_PUTTING)
-#define _IO_mask_flags(fp, f, mask) \
- ((fp)->_flags = ((fp)->_flags & ~(mask)) | ((f) & (mask)))
-#define _IO_setg(fp, eb, g, eg) ((fp)->_IO_read_base = (eb),\
- (fp)->_IO_read_ptr = (g), (fp)->_IO_read_end = (eg))
-#define _IO_setp(__fp, __p, __ep) \
- ((__fp)->_IO_write_base = (__fp)->_IO_write_ptr = __p, (__fp)->_IO_write_end = (__ep))
-#define _IO_have_backup(fp) ((fp)->_IO_save_base != NULL)
-#define _IO_in_backup(fp) ((fp)->_flags & _IO_IN_BACKUP)
-#define _IO_have_markers(fp) ((fp)->_markers != NULL)
-#define _IO_blen(fp) ((fp)->_IO_buf_end - (fp)->_IO_buf_base)
-
-/* Jumptable functions for files. */
-
-extern int _IO_file_doallocate __P ((_IO_FILE *));
-extern _IO_FILE* _IO_file_setbuf __P ((_IO_FILE *, char *, _IO_ssize_t));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-extern _IO_off64_t _IO_file_seek __P ((_IO_FILE *, _IO_off64_t, int));
-#else
-extern _IO_off_t _IO_file_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-extern _IO_off_t _IO_file_seek __P ((_IO_FILE *, _IO_off_t, int));
-#endif
-extern _IO_size_t _IO_file_xsputn __P ((_IO_FILE *, const void *, _IO_size_t));
-extern int _IO_file_stat __P ((_IO_FILE *, void *));
-extern int _IO_file_close __P ((_IO_FILE *));
-extern int _IO_file_underflow __P ((_IO_FILE *));
-extern int _IO_file_overflow __P ((_IO_FILE *, int));
-#define _IO_file_is_open(__fp) ((__fp)->_fileno >= 0)
-extern void _IO_file_init __P ((_IO_FILE *));
-extern _IO_FILE* _IO_file_attach __P ((_IO_FILE *, int));
-extern _IO_FILE* _IO_file_open __P ((_IO_FILE *, const char *, int, int,
- int, int));
-#if _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *,
- int));
-#else
-extern _IO_FILE* _IO_file_fopen __P ((_IO_FILE *, const char *, const char *));
-#endif
-extern _IO_ssize_t _IO_file_write __P ((_IO_FILE *, const void *,
- _IO_ssize_t));
-extern _IO_ssize_t _IO_file_read __P ((_IO_FILE *, void *, _IO_ssize_t));
-extern int _IO_file_sync __P ((_IO_FILE *));
-extern int _IO_file_close_it __P ((_IO_FILE *));
-extern void _IO_file_finish __P ((_IO_FILE *, int));
-
-/* Jumptable functions for proc_files. */
-extern _IO_FILE* _IO_proc_open __P ((_IO_FILE *, const char *, const char *));
-extern int _IO_proc_close __P ((_IO_FILE *));
-
-/* Jumptable functions for strfiles. */
-extern int _IO_str_underflow __P ((_IO_FILE *));
-extern int _IO_str_overflow __P ((_IO_FILE *, int));
-extern int _IO_str_pbackfail __P ((_IO_FILE *, int));
-#if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-extern _IO_off64_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off64_t, int, int));
-#else
-extern _IO_off_t _IO_str_seekoff __P ((_IO_FILE *, _IO_off_t, int, int));
-#endif
-extern void _IO_str_finish __P ((_IO_FILE *, int));
-
-/* Other strfile functions */
-extern void _IO_str_init_static __P ((_IO_FILE *, char *, int, char *));
-extern void _IO_str_init_readonly __P ((_IO_FILE *, const char *, int));
-extern _IO_ssize_t _IO_str_count __P ((_IO_FILE *));
-
-extern int _IO_vasprintf __P ((char **result_ptr, __const char *format,
- _IO_va_list args));
-extern int _IO_vdprintf __P ((int d, __const char *format, _IO_va_list arg));
-extern int _IO_vsnprintf __P ((char *string, _IO_size_t maxlen,
- __const char *format, _IO_va_list args));
-
-
-extern _IO_size_t _IO_getline __P ((_IO_FILE *,char *, _IO_size_t, int, int));
-extern _IO_size_t _IO_getline_info __P ((_IO_FILE *,char *, _IO_size_t,
- int, int, int *));
-extern _IO_ssize_t _IO_getdelim __P ((char **, _IO_size_t *, int, _IO_FILE *));
-extern double _IO_strtod __P ((const char *, char **));
-extern char *_IO_dtoa __P ((double __d, int __mode, int __ndigits,
- int *__decpt, int *__sign, char **__rve));
-extern int _IO_outfloat __P ((double __value, _IO_FILE *__sb, int __type,
- int __width, int __precision, int __flags,
- int __sign_mode, int __fill));
-
-extern _IO_FILE *_IO_list_all;
-extern void (*_IO_cleanup_registration_needed) __PMT ((void));
-
-#ifndef EOF
-# define EOF (-1)
-#endif
-#ifndef NULL
-# if defined __GNUG__ && \
- (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
-# define NULL (__null)
-# else
-# if !defined(__cplusplus)
-# define NULL ((void*)0)
-# else
-# define NULL (0)
-# endif
-# endif
-#endif
-
-#if _G_HAVE_MMAP
-
-# include <unistd.h>
-# include <fcntl.h>
-# include <sys/mman.h>
-# include <sys/param.h>
-
-# if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
-# define MAP_ANONYMOUS MAP_ANON
-# endif
-
-# if !defined(MAP_ANONYMOUS) || !defined(EXEC_PAGESIZE)
-# undef _G_HAVE_MMAP
-# define _G_HAVE_MMAP 0
-# endif
-
-#endif /* _G_HAVE_MMAP */
-
-#if _G_HAVE_MMAP
-
-# ifdef _LIBC
-/* When using this code in the GNU libc we must not pollute the name space. */
-# define mmap __mmap
-# define munmap __munmap
-# endif
-
-# define ROUND_TO_PAGE(_S) \
- (((_S) + EXEC_PAGESIZE - 1) & ~(EXEC_PAGESIZE - 1))
-
-# define FREE_BUF(_B, _S) \
- munmap ((_B), ROUND_TO_PAGE (_S))
-# define ALLOC_BUF(_B, _S, _R) \
- do { \
- (_B) = (char *) mmap (0, ROUND_TO_PAGE (_S), \
- PROT_READ | PROT_WRITE, \
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); \
- if ((_B) == (char *) -1) \
- return (_R); \
- } while (0)
-
-#else /* _G_HAVE_MMAP */
-
-# define FREE_BUF(_B, _S) \
- free(_B)
-# define ALLOC_BUF(_B, _S, _R) \
- do { \
- (_B) = (char*)malloc(_S); \
- if ((_B) == NULL) \
- return (_R); \
- } while (0)
-
-#endif /* _G_HAVE_MMAP */
-
-#ifndef OS_FSTAT
-# define OS_FSTAT fstat
-#endif
-struct stat;
-extern _IO_ssize_t _IO_read __P ((int, void *, _IO_size_t));
-extern _IO_ssize_t _IO_write __P ((int, const void *, _IO_size_t));
-extern _IO_off_t _IO_lseek __P ((int, _IO_off_t, int));
-extern int _IO_close __P ((int));
-extern int _IO_fstat __P ((int, struct stat *));
-extern int _IO_vscanf __P ((const char *, _IO_va_list));
-
-/* Operations on _IO_fpos_t.
- Normally, these are trivial, but we provide hooks for configurations
- where an _IO_fpos_t is a struct.
- Note that _IO_off_t must be an integral type. */
-
-/* _IO_pos_BAD is an _IO_off_t value indicating error, unknown, or EOF. */
-#ifndef _IO_pos_BAD
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_BAD ((_IO_off64_t) -1)
-# else
-# define _IO_pos_BAD ((_IO_off_t) -1)
-# endif
-#endif
-/* _IO_pos_as_off converts an _IO_fpos_t value to an _IO_off_t value. */
-#ifndef _IO_pos_as_off
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_as_off(__pos) ((_IO_off64_t) (__pos))
-# else
-# define _IO_pos_as_off(__pos) ((_IO_off_t) (__pos))
-# endif
-#endif
-/* _IO_pos_adjust adjust an _IO_fpos_t by some number of bytes. */
-#ifndef _IO_pos_adjust
-# define _IO_pos_adjust(__pos, __delta) ((__pos) += (__delta))
-#endif
-/* _IO_pos_0 is an _IO_fpos_t value indicating beginning of file. */
-#ifndef _IO_pos_0
-# if defined(_G_IO_IO_FILE_VERSION) && _G_IO_IO_FILE_VERSION == 0x20001
-# define _IO_pos_0 ((_IO_fpos64_t) 0)
-# else
-# define _IO_pos_0 ((_IO_fpos_t) 0)
-# endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef _IO_MTSAFE_IO
-/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
- { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD, \
- 0, 0, 0, 0, { 0 }, &_IO_stdfile_##FD##_lock }
-#else
-/* check following! */
-# define FILEBUF_LITERAL(CHAIN, FLAGS, FD) \
- { _IO_MAGIC+_IO_LINKED+_IO_IS_FILEBUF+FLAGS, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, CHAIN, FD }
-#endif
-
-/* VTABLE_LABEL defines NAME as of the CLASS class.
- CNLENGTH is strlen(#CLASS). */
-#ifdef __GNUC__
-# if (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100)
-# if _G_VTABLE_LABEL_HAS_LENGTH
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CNLENGTH #CLASS);
-# else
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm (_G_VTABLE_LABEL_PREFIX #CLASS);
-# endif
-# else
-# define VTABLE_LABEL(NAME, CLASS, CNLENGTH) \
- extern char NAME[] asm ("_ZTV" #CNLENGTH #CLASS);
-# endif /* (!defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION < 100) */
-#endif /* __GNUC__ */
-
-#if !defined(builtinbuf_vtable) && defined(__cplusplus)
-# ifdef __GNUC__
-VTABLE_LABEL(builtinbuf_vtable, builtinbuf, 10)
-# else
-# if _G_VTABLE_LABEL_HAS_LENGTH
-# define builtinbuf_vtable _G_VTABLE_LABEL_PREFIX_ID##10builtinbuf
-# else
-# define builtinbuf_vtable _G_VTABLE_LABEL_PREFIX_ID##builtinbuf
-# endif
-# endif
-#endif /* !defined(builtinbuf_vtable) && defined(__cplusplus) */
-
-#if defined(__STDC__) || defined(__cplusplus)
-# define _IO_va_start(args, last) va_start(args, last)
-#else
-# define _IO_va_start(args, last) va_start(args)
-#endif
-
-extern struct _IO_fake_stdiobuf _IO_stdin_buf, _IO_stdout_buf, _IO_stderr_buf;
-
-#if 1
-# define COERCE_FILE(FILE) /* Nothing */
-#else
-/* This is part of the kludge for binary compatibility with old stdio. */
-# define COERCE_FILE(FILE) \
- (((FILE)->_IO_file_flags & _IO_MAGIC_MASK) == _OLD_MAGIC_MASK \
- && (FILE) = *(FILE**)&((int*)fp)[1])
-#endif
-
-#ifdef EINVAL
-# define MAYBE_SET_EINVAL __set_errno (EINVAL)
-#else
-# define MAYBE_SET_EINVAL /* nothing */
-#endif
-
-#ifdef IO_DEBUG
-# define CHECK_FILE(FILE, RET) \
- if ((FILE) == NULL) { MAYBE_SET_EINVAL; return RET; } \
- else { COERCE_FILE(FILE); \
- if (((FILE)->_IO_file_flags & _IO_MAGIC_MASK) != _IO_MAGIC) \
- { MAYBE_SET_EINVAL; return RET; }}
-#else
-# define CHECK_FILE(FILE, RET) COERCE_FILE (FILE)
-#endif
diff --git a/sys-devel/gcc/gcc-2.95.2-r4.ebuild b/sys-devel/gcc/gcc-2.95.2-r4.ebuild
deleted file mode 100644
index 9adc9c89cf3f..000000000000
--- a/sys-devel/gcc/gcc-2.95.2-r4.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.2-r4.ebuild,v 1.6 2001/02/01 19:30:33 achim Exp $
-
-P=gcc-2.95.2
-A="gcc-2.95.2.tar.gz
- libg++-2.8.1.3.tar.gz
- libg++-2.8.1.3-20000312.diff.gz
- libg++-2.8.1.3-20000419.diff.gz
- libg++-2.8.1.3-20000816.diff.gz
- libg++-2.8.1.3-20000914.diff.gz"
-
-A0=gcc-2.95.2.dif.gz
-A1=gcc-exception-fix.diff.gz
-A2=gcc-accept-doublecolon.diff.gz
-A3=gcc-glibc-2.2-compat.diff
-S=${WORKDIR}/gcc-2.95.2
-T=/usr
-
-DESCRIPTION="modern gcc c/c++ compiler"
-
-SRC_URI="ftp://prep.ai.mit.edu/gnu/gcc/gcc-2.95.2.tar.gz
- ftp://gatekeeper.dec.com/pub/GNU/gcc/gcc-2.95.2.tar.gz
- ftp://sourceware.cygnus.com/pub/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://sourceware.cygnus.com/pub/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000914.diff.gz"
-
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r1
- virtual/flex"
-
-RDEPEND="virtual/glibc
- sys-apps/bash"
-
-src_unpack() {
- unpack gcc-2.95.2.tar.gz
- unpack libg++-2.8.1.3.tar.gz
- cd ${S}/../libg++-2.8.1.3
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000312.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000419.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000816.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000914.diff.gz | patch -p1
- einfo "Moving trees"
- cd ${S}
- #rm -rf texinfo
- mv ../libg++-2.8.1.3/* .
- rmdir ../libg++-2.8.1.3
- zcat ${FILESDIR}/${A0} | patch -p0
- zcat ${FILESDIR}/${A1} | patch -p0
- zcat ${FILESDIR}/${A2} | patch -p0
- patch -p0 < ${FILESDIR}/${A3}
-}
-
-src_compile() {
- cd ${S}
- #i586a doesn't like optimization?
- if [ "$PLATFORM" == "i686-pc-linux-gnu" ]
- then
- export CFLAGS="-mpentium"
- export CXXFLAGS="-mpentium"
- fi
- try ${S}/configure --prefix=${T} --enable-version-specific-runtime-libs \
- --host=${CHOST} --enable-threads --enable-shared \
- --with-local-prefix=${T}/local --enable-nls
- # Parallel build does not work
- try make ${MAKEOPTS} bootstrap-lean
-}
-
-src_install() {
-
- try make install prefix=${D}${T} mandir=${D}${T}/man
- FULLPATH=${D}${T}/lib/gcc-lib/${CHOST}/${PV}
- cd ${FULLPATH}
- dodir /lib
- dosym ${T}/lib/gcc-lib/${CHOST}/${PV}/cpp /lib/cpp
- dosym /usr/bin/gcc /usr/bin/cc
-
-
- cd ${S}
- dodoc COPYING COPYING.LIB README* FAQ MAINTAINERS
- docinto html
- dodoc faq.html
- docinto gcc
- cd ${S}/gcc
- dodoc BUGS ChangeLog* COPYING* FSFChangeLog* \
- LANGUAGES NEWS PROBLEMS README* \
- SERVICE TESTS.FLUNK
- cd ${S}/libchill
- docinto libchill
- dodoc ChangeLog
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog changes.netlib README TODO
- cd ${S}/libg++
- docinto libg++
- dodoc ChangeLog g++FAQ.txt NEWS README* TODO
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libio
- docinto libio
- dodoc ChangeLog NEWS README
- cd dbz
- docinto libio/dbz
- dodoc README
- cd ../stdio
- docinto libio/stdio
- dodoc ChangeLog*
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
- cd ${S}/librx
- docinto librx
- dodoc ChangeLog COPYING.LIB DOC
- cd ${S}/libstdc++
- docinto libstdc++
- dodoc ChangeLog NEWS
-
-}
-
-
-
-
-
diff --git a/sys-devel/gcc/gcc-2.95.2-r5.ebuild b/sys-devel/gcc/gcc-2.95.2-r5.ebuild
deleted file mode 100644
index 2481cc700b9b..000000000000
--- a/sys-devel/gcc/gcc-2.95.2-r5.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.2-r5.ebuild,v 1.1 2001/02/07 16:05:19 achim Exp $
-
-
-SRC_URI="ftp://prep.ai.mit.edu/gnu/gcc/gcc-2.95.2.tar.gz"
-
-if [ "`use libg++`" ]
-then
- SRC_URI="${SRC_URI}
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000914.diff.gz"
-fi
-
-A0=gcc-2.95.2.dif.gz
-A1=gcc-exception-fix.diff.gz
-A2=gcc-accept-doublecolon.diff.gz
-A3=gcc-glibc-2.2-compat.diff
-S=${WORKDIR}/gcc-2.95.2
-T=/usr
-
-DESCRIPTION="Modern GCC C/C++ compiler"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r1"
-
-RDEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack gcc-2.95.2.tar.gz
-
- if [ "`use libg++`" ]
- then
- unpack libg++-2.8.1.3.tar.gz
- cd ${S}/../libg++-2.8.1.3
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000312.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000419.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000816.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000914.diff.gz | patch -p1
- cd ${S}
- mv ../libg++-2.8.1.3/* .
- rmdir ../libg++-2.8.1.3
- fi
-
- cd ${S}
- zcat ${FILESDIR}/${A0} | patch -p0
- zcat ${FILESDIR}/${A1} | patch -p0
- zcat ${FILESDIR}/${A2} | patch -p0
- patch -p0 < ${FILESDIR}/${A3}
-
- # We do not build the included texinfo stuff
- rm -rf texinfo
-}
-
-src_compile() {
-
- # gcc does not like optimization
-
- export CFLAGS="${CFLAGS/-O?/}"
- export CXXFLAGS="${CXXFLAGS/-O?/}"
-
- try ${S}/configure --prefix=${T} --mandir=${T}/share/man --infodir=${T}/share/info \
- --enable-version-specific-runtime-libs \
- --host=${CHOST} --enable-threads --enable-shared \
- --with-local-prefix=${T}/local --enable-nls
-
- # Parallel build does not work
- try make ${MAKEOPTS} bootstrap-lean
-}
-
-src_install() {
-
- try make install prefix=${D}${T} mandir=${D}${T}/share/man infodir=${D}${T}/share/info
-
- FULLPATH=${D}${T}/lib/gcc-lib/${CHOST}/${PV}
- cd ${FULLPATH}
- dodir /lib
- dosym ${T}/lib/gcc-lib/${CHOST}/${PV}/cpp /lib/cpp
- dosym /usr/bin/gcc /usr/bin/cc
-
-
- cd ${S}
-
- dodoc COPYING COPYING.LIB README* FAQ MAINTAINERS
- docinto html
- dodoc faq.html
- docinto gcc
- cd ${S}/gcc
- dodoc BUGS ChangeLog* COPYING* FSFChangeLog* \
- LANGUAGES NEWS PROBLEMS README* \
- SERVICE TESTS.FLUNK
- cd ${S}/libchill
- docinto libchill
- dodoc ChangeLog
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog changes.netlib README TODO
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libio
- docinto libio
- dodoc ChangeLog NEWS README
- cd dbz
- docinto libio/dbz
- dodoc README
- cd ../stdio
- docinto libio/stdio
- dodoc ChangeLog*
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
-
- if [ "`use libg++`" ]
- then
- cd ${S}/libg++
- docinto libg++
- dodoc ChangeLog g++FAQ.txt NEWS README* TODO
- else
- cd ${S}/libstdc++
- docinto libstdc++
- dodoc ChangeLog NEWS
- fi
-
-
-}
-
-
-
-
-
diff --git a/sys-devel/gcc/gcc-2.95.2.1-r1.ebuild b/sys-devel/gcc/gcc-2.95.2.1-r1.ebuild
deleted file mode 100644
index c173125aefc7..000000000000
--- a/sys-devel/gcc/gcc-2.95.2.1-r1.ebuild
+++ /dev/null
@@ -1,174 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.2.1-r1.ebuild,v 1.3 2001/02/27 18:10:31 achim Exp $
-
-
-SRC_URI="ftp://ftp.freesoftware.com/pub/sourceware/gcc/releases/${PN}-2.95.2/${PN}-2.95.2.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/releases/${P}/${PN}-2.95.2-${PV}.diff.gz"
-
-if [ "`use libg++`" ]
-then
- SRC_URI="${SRC_URI}
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000914.diff.gz"
-fi
-
-A0=gcc-2.95.2.dif.gz
-A1=gcc-exception-fix.diff.gz
-A2=gcc-accept-doublecolon.diff.gz
-S=${WORKDIR}/gcc-2.95.2
-T=/usr
-
-DESCRIPTION="Modern GCC C/C++ compiler"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-DEPEND="virtual/glibc
- nls? ( sys-devel/gettext )"
-
-RDEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack gcc-2.95.2.tar.gz
-
- if [ "`use libg++`" ]
- then
- unpack libg++-2.8.1.3.tar.gz
- cd ${S}/../libg++-2.8.1.3
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000312.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000419.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000816.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000914.diff.gz | patch -p1
- cd ${S}
- mv ../libg++-2.8.1.3/* .
- rmdir ../libg++-2.8.1.3
- fi
-
- cd ${S}
- echo "Patch ${A0}"
- zcat ${FILESDIR}/${A0} | patch -p0
- echo "Patch ${A1}"
- zcat ${FILESDIR}/${A1} | patch -p0
- echo "Patch ${A2}"
- zcat ${FILESDIR}/${A2} | patch -p0
- echo "Patch ${A3}"
- #patch -p0 < ${FILESDIR}/${A3}
- echo "Patch 2.95.2 - 2.95.2.1"
- gzip -dc ${DISTDIR}/${PN}-2.95.2-${PV}.diff.gz | patch -p1
- # We do not build the included texinfo stuff
- if [ -z "`use build`" ]
- then
- rm -rf texinfo
- fi
-}
-
-src_compile() {
-
- local myconf
- if [ -z "`use build`" ]
- then
- myconf="--enable-shared"
- else
- myconf="--enable-languages=c,c++"
- fi
- if [ "`use nls`" ]
- then
- myconf="${myconf} --enable-nls"
- else
- myconf="${myconf} --disable-nls"
- fi
-
- # gcc does not like optimization
-
- export CFLAGS="${CFLAGS/-O?/}"
- export CXXFLAGS="${CXXFLAGS/-O?/}"
-
-
- try ${S}/configure --prefix=${T} --mandir=${T}/share/man --infodir=${T}/share/info \
- --enable-version-specific-runtime-libs \
- --host=${CHOST} --build=${CHOST} --target=${CHOST} --enable-threads \
- --with-local-prefix=${T}/local ${myconf}
-
- # Parallel build does not work
- if [ -z "`use static`" ]
- then
- try make ${MAKEOPTS} bootstrap-lean
- else
- try make ${MAKEOPTS} LDFLAGS=-static bootstrap
- fi
- if [ "`use build`" ]
- then
- cd ${S}/texinfo/util
- make texindex install-info
- fi
-}
-
-src_install() {
-
- try make install prefix=${D}${T} mandir=${D}${T}/share/man infodir=${D}${T}/share/info
-
- FULLPATH=${D}${T}/lib/gcc-lib/${CHOST}/${PV}
- cd ${FULLPATH}
- dodir /lib
- dosym ${T}/lib/gcc-lib/${CHOST}/${PV}/cpp /lib/cpp
- dosym /usr/bin/gcc /usr/bin/cc
- dodir /etc/env.d
- echo "LDPATH=${T}/lib/gcc-lib/${CHOST}/${PV}" > ${D}/etc/env.d/05gcc
- cd ${S}
- if [ -z "`use build`" ]
- then
- dodoc COPYING COPYING.LIB README* FAQ MAINTAINERS
- docinto html
- dodoc faq.html
- docinto gcc
- cd ${S}/gcc
- dodoc BUGS ChangeLog* COPYING* FSFChangeLog* \
- LANGUAGES NEWS PROBLEMS README* \
- SERVICE TESTS.FLUNK
- cd ${S}/libchill
- docinto libchill
- dodoc ChangeLog
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog changes.netlib README TODO
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libio
- docinto libio
- dodoc ChangeLog NEWS README
- cd dbz
- docinto libio/dbz
- dodoc README
- cd ../stdio
- docinto libio/stdio
- dodoc ChangeLog*
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
-
- if [ "`use libg++`" ]
- then
- cd ${S}/libg++
- docinto libg++
- dodoc ChangeLog g++FAQ.txt NEWS README* TODO
- else
- cd ${S}/libstdc++
- docinto libstdc++
- dodoc ChangeLog NEWS
- fi
- else
- rm -rf ${D}/usr/share/{man,info}
- cd texinfo
- dobin makeinfo/makeinfo util/texi2dvi util/install-info util/texindex
- fi
-
-}
-
-
-
-
-
diff --git a/sys-devel/gcc/gcc-2.95.2.1.ebuild b/sys-devel/gcc/gcc-2.95.2.1.ebuild
deleted file mode 100644
index f945ed479a8e..000000000000
--- a/sys-devel/gcc/gcc-2.95.2.1.ebuild
+++ /dev/null
@@ -1,141 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.95.2.1.ebuild,v 1.1 2001/02/07 19:38:59 achim Exp $
-
-
-SRC_URI="ftp://ftp.freesoftware.com/pub/sourceware/gcc/releases/${PN}-2.95.2/${PN}-2.95.2.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/releases/${P}/${PN}-2.95.2-${PV}.diff.gz"
-
-if [ "`use libg++`" ]
-then
- SRC_URI="${SRC_URI}
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000914.diff.gz"
-fi
-
-A0=gcc-2.95.2.dif.gz
-A1=gcc-exception-fix.diff.gz
-A2=gcc-accept-doublecolon.diff.gz
-S=${WORKDIR}/gcc-2.95.2
-T=/usr
-
-DESCRIPTION="Modern GCC C/C++ compiler"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-DEPEND="virtual/glibc
- >=sys-devel/gettext-0.10.35-r1"
-
-RDEPEND="virtual/glibc"
-
-src_unpack() {
-
- unpack gcc-2.95.2.tar.gz
-
- if [ "`use libg++`" ]
- then
- unpack libg++-2.8.1.3.tar.gz
- cd ${S}/../libg++-2.8.1.3
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000312.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000419.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000816.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000914.diff.gz | patch -p1
- cd ${S}
- mv ../libg++-2.8.1.3/* .
- rmdir ../libg++-2.8.1.3
- fi
-
- cd ${S}
- echo "Patch ${A0}"
- zcat ${FILESDIR}/${A0} | patch -p0
- echo "Patch ${A1}"
- zcat ${FILESDIR}/${A1} | patch -p0
- echo "Patch ${A2}"
- zcat ${FILESDIR}/${A2} | patch -p0
- echo "Patch ${A3}"
- #patch -p0 < ${FILESDIR}/${A3}
- echo "Patch 2.95.2 - 2.95.2.1"
- gzip -dc ${DISTDIR}/${PN}-2.95.2-${PV}.diff.gz | patch -p1
- # We do not build the included texinfo stuff
- rm -rf texinfo
-}
-
-src_compile() {
-
- # gcc does not like optimization
-
- export CFLAGS="${CFLAGS/-O?/}"
- export CXXFLAGS="${CXXFLAGS/-O?/}"
-
- try ${S}/configure --prefix=${T} --mandir=${T}/share/man --infodir=${T}/share/info \
- --enable-version-specific-runtime-libs \
- --host=${CHOST} --enable-threads --enable-shared \
- --with-local-prefix=${T}/local --enable-nls
-
- # Parallel build does not work
- try make ${MAKEOPTS} bootstrap-lean
-}
-
-src_install() {
-
- try make install prefix=${D}${T} mandir=${D}${T}/share/man infodir=${D}${T}/share/info
-
- FULLPATH=${D}${T}/lib/gcc-lib/${CHOST}/${PV}
- cd ${FULLPATH}
- dodir /lib
- dosym ${T}/lib/gcc-lib/${CHOST}/${PV}/cpp /lib/cpp
- dosym /usr/bin/gcc /usr/bin/cc
-
-
- cd ${S}
-
- dodoc COPYING COPYING.LIB README* FAQ MAINTAINERS
- docinto html
- dodoc faq.html
- docinto gcc
- cd ${S}/gcc
- dodoc BUGS ChangeLog* COPYING* FSFChangeLog* \
- LANGUAGES NEWS PROBLEMS README* \
- SERVICE TESTS.FLUNK
- cd ${S}/libchill
- docinto libchill
- dodoc ChangeLog
- cd ${S}/libf2c
- docinto libf2c
- dodoc ChangeLog changes.netlib README TODO
- cd ${S}/libiberty
- docinto libiberty
- dodoc ChangeLog COPYING.LIB README
- cd ${S}/libio
- docinto libio
- dodoc ChangeLog NEWS README
- cd dbz
- docinto libio/dbz
- dodoc README
- cd ../stdio
- docinto libio/stdio
- dodoc ChangeLog*
- cd ${S}/libobjc
- docinto libobjc
- dodoc ChangeLog README* THREADS*
-
- if [ "`use libg++`" ]
- then
- cd ${S}/libg++
- docinto libg++
- dodoc ChangeLog g++FAQ.txt NEWS README* TODO
- else
- cd ${S}/libstdc++
- docinto libstdc++
- dodoc ChangeLog NEWS
- fi
-
-
-}
-
-
-
-
-
diff --git a/sys-devel/gcc/gcc-2.96.20000731.ebuild b/sys-devel/gcc/gcc-2.96.20000731.ebuild
deleted file mode 100644
index 56a5cd7e70be..000000000000
--- a/sys-devel/gcc/gcc-2.96.20000731.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/gcc-2.96.20000731.ebuild,v 1.2 2000/11/11 17:30:14 achim Exp $
-
-A="gcc-2.96-20000731.tar.bz2
- libg++-2.8.1.3.tar.gz
- libg++-2.8.1.3-20000312.diff.gz
- libg++-2.8.1.3-20000419.diff.gz
- libg++-2.8.1.3-20000816.diff.gz
- libg++-2.8.1.3-20000914.diff.gz"
-
-S=${WORKDIR}/gcc-2.96-20000731
-T=/usr
-DESCRIPTION="modern gcc c/c++ compiler"
-SRC_URI="ftp://ftp.eos.hokudai.ac.jp/pub/Linux/Kondara/Jirai/SOURCES/gcc-2.96-20000731.tar.bz2
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3.tar.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000312.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000419.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000816.diff.gz
- ftp://ftp.freesoftware.com/pub/sourceware/gcc/infrastructure/libg++-2.8.1.3-20000914.diff.gz"
-HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html"
-
-src_unpack() {
- unpack gcc-2.96-20000731.tar.bz2
- cd ${S}
- for i in sparc64-subreg-byte sparc64-reload sparc64-startfile sparc64-decloffset \
- sparc64-uname sparc32-vaarg sparc64-hwint java-jword align-memcpy \
- sparcv9-hack c++-typedef no-warn-trigraphs incomplete-struct \
- libstdc++-v3-wnoerror string-crash
- do
- echo
- echo "Applying $i patch..."
- patch -p0 < ${FILESDIR}/${P}/gcc-$i.patch
- done
- # Here comes some sparc stuff. sparc32-hack sparc32-hack2
- for i in stmtexpr clear-hack loop alpha-addressof regmove-asm cpplib cpp0 canon-cond \
- bogus-subreg cp-ii subreg-gcse subregbyte-gcse combine-comparison \
- loop-noopt loop-unroll loop-test1 loop-test2 loop-scanloop i386-ashlsilea \
- i386-lea lowpart-test loop-noopt2 i386-sibcall cpp-warn wint_t \
- format-checking strftime xopen c99 iso-not-ansi sibcall Os-testcase \
- java-misc java-bytecode java-pg f-include unroll i386-strops \
- simplify-relational alias jsm1 jsm2 jsm3 scanf jsm4 jsm5 jsm6 \
- jsm7 jsm8 loop-hack cpp-warnpaste float-condmove i386-call \
- i386-call2 i386-call-test i386-arith i386-ge_geu i386-gotoff java-catchup \
- java-no-super-layout make-extraction segv1 segv2 sparc-copy-leaf-remappable \
- wchar-const libio alpha-tune alpha-unaligned cpp-warnpaste2 loop-giv \
- real-value sparc-const-pool sparc64-timode callersave-segv libio-printf_fp \
- pt-enum sparc-pic subreg-byte-expmed test-991206-1 alpha-mi-thunk c++-pmf \
- f77-fdebug libio-endl i386-compare-test sparc-may-trap sparc-mi-thunk \
- c++-inline16-test c++-named-return-value c++-walk-tree i386-reload-test \
- i386-reload sibcall-unchanging segv3 c++-crash24 do-store-flag \
- i386-address-cost i386-arith2 i386-constraint-N incomplete-aggregate-alias \
- sibcall-eh2 cpp-assert-crash c++-undefined-method sparc-4096 \
- sparc64-reload-test sparc64-reload2 subreg-byte-operand-subword \
- c++-binding-levels c++-static-class c++-testset1 c++-testset2 place-field \
- sparc-output-formatting sparc64-mi-thunk sparc64-namedret sparc64-nested-fn \
- c++-ice
- do
- echo
- echo "Applying $i patch..."
- patch -p0 < ${FILESDIR}/${P}/gcc-$i.patch
- done
- unpack libg++-2.8.1.3.tar.gz
- mv libg++-2.8.1.3/* .
- rmdir libg++-2.8.1.3
- patch -p0 < ${FILESDIR}/${P}/gcc-libg++-config.patch
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000312.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000419.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000816.diff.gz | patch -p1
- gzip -dc ${DISTDIR}/libg++-2.8.1.3-20000914.diff.gz | patch -p1
-
-
-}
-
-
-src_compile() {
- cd ${S}
- try ${S}/configure --prefix=${T} --enable-version-specific-runtime-libs \
- --host=${CHOST} --enable-threads=posix --enable-shared \
- --with-local-prefix=${T}/local --enable-nls --enable-haifa \
- --disable-checking
-
- try make bootstrap-lean
- try make -C gcc CC=\"./xgcc -B ./ -O2\" proto
-}
-
-src_install() {
- try make install prefix=${D}${T} mandir=${D}${T}/man \
- gxx_include_dir=${D}${T}/${CHOST}/include/g++
- cd ${FULLPATH}
- dodir /lib
- dosym ${T}/lib/gcc-lib/${CHOST}/2.96/cpp /lib/cpp
- dosym /usr/bin/gcc /usr/bin/cc
- cd ${S}
- dodoc COPYING COPYING.LIB README FAQ MAINTAINERS
-}
-
-
-
-
-
diff --git a/sys-devel/gdb/files/digest-gdb-5.0-r1 b/sys-devel/gdb/files/digest-gdb-5.0-r1
deleted file mode 100644
index b0ad364709cf..000000000000
--- a/sys-devel/gdb/files/digest-gdb-5.0-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b2720def719fd024e380793d9084da2a gdb-5.0.tar.bz2
diff --git a/sys-devel/gdb/gdb-5.0-r1.ebuild b/sys-devel/gdb/gdb-5.0-r1.ebuild
deleted file mode 100644
index 72d5021ec0d3..000000000000
--- a/sys-devel/gdb/gdb-5.0-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gdb/gdb-5.0-r1.ebuild,v 1.5 2000/11/30 23:15:06 achim Exp $
-
-P=gdb-5.0
-A=${P}.tar.bz2
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU debugger"
-SRC_URI="ftp://sourceware.cygnus.com/pub/gdb/releases/${A}
- ftp://ftp.freesoftware.com/pub/sourceware/gdb/releases/${A}"
-DEPEND=">=sys-libs/gpm-1.19.3"
-
-HOMEPAGE="http://www.gnu.org/software/gdb/gdb.html"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- into /usr
-
- try make prefix=${D}/usr install install-info
- # These includes and libs are in binutils already
- rm -f ${D}/usr/lib/libbfd.*
- rm -r ${D}/usr/lib/libiberty.*
- rm -f ${D}/usr/lib/libopcodes.*
- rm -rf ${D}/usr/include
- rmdir ${D}/usr/share
-
- dodoc COPYING* README
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/COPYING* gdb/README \
- gdb/MAINTAINERS gdb/NEWS gdb/ChangeLog* \
- gdb/TODO
- docinto sim
- dodoc sim/ChangeLog sim/MAINTAINERS sim/README-HACKING
- docinto mmalloc
- dodoc mmalloc/COPYING.LIB mmalloc/MAINTAINERS \
- mmalloc/ChangeLog mmalloc/TODO
-}
-
-
-
-
diff --git a/sys-devel/gettext/files/digest-gettext-0.10.35-r1 b/sys-devel/gettext/files/digest-gettext-0.10.35-r1
deleted file mode 100644
index 61d920c7e290..000000000000
--- a/sys-devel/gettext/files/digest-gettext-0.10.35-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 f29d32b82217b9d89fcda66328752acc gettext-0.10.35.tar.gz
diff --git a/sys-devel/gettext/gettext-0.10.35-r1.ebuild b/sys-devel/gettext/gettext-0.10.35-r1.ebuild
deleted file mode 100644
index 48780df2e9f5..000000000000
--- a/sys-devel/gettext/gettext-0.10.35-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/gettext/gettext-0.10.35-r1.ebuild,v 1.3 2001/02/01 19:30:33 achim Exp $
-
-P=gettext-0.10.35
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU locale utilities"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/gettext/${A}
- ftp://prep.ai.mit.edu/gnu/gettext/${A}"
-HOMEPAGE="http://www.gnu.org/software/gettext/gettext.html"
-
-DEPEND="virtual/glibc
- virtual/bison"
-
-RDEPEND="virtual/glibc
- virtual/bash"
-
-src_compile() {
- try ./configure --prefix=/usr --with-included-gettext --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- cd ${S}
- try make prefix=${D}/usr lispdir=${D}/usr/share/emacs/site-lisp install
- dodoc AUTHORS BUGS COPYING ChangeLog DISCLAIM NEWS README* THANKS TODO
- exeopts -m0755
- exeinto /usr/bin
- doexe misc/gettextize
-}
-
-
diff --git a/sys-devel/ld.so/files/digest-ld.so-1.9.11-r1 b/sys-devel/ld.so/files/digest-ld.so-1.9.11-r1
deleted file mode 100644
index dbedbb259bd0..000000000000
--- a/sys-devel/ld.so/files/digest-ld.so-1.9.11-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 419b97871a0c5127aceddbd13ccb25c2 ld.so-1.9.11.tar.gz
diff --git a/sys-devel/ld.so/ld.so-1.9.11-r1.ebuild b/sys-devel/ld.so/ld.so-1.9.11-r1.ebuild
deleted file mode 100644
index 839064bcee8a..000000000000
--- a/sys-devel/ld.so/ld.so-1.9.11-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/ld.so/ld.so-1.9.11-r1.ebuild,v 1.5 2001/01/27 14:41:34 achim Exp $
-
-P=ld.so-1.9.11
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Linux dynamic loader & linker"
-SRC_URI="ftp://ftp.ods.com/pub/linux/${A}"
-RDEPEND="sys-libs/lib-compat"
-
-src_compile() {
- cd ${S}
-}
-
-src_install() {
- cd ${S}
- export PREFIX=${D}
- ./instldso.sh --force
- preplib /
- dodoc COPYRIGHT README ld-so/example/README*
-}
-
-
-
diff --git a/sys-devel/libtool/files/digest-libtool-1.3.5-r1 b/sys-devel/libtool/files/digest-libtool-1.3.5-r1
deleted file mode 100644
index a7c90cc3343e..000000000000
--- a/sys-devel/libtool/files/digest-libtool-1.3.5-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 fa26a07c978ad05d1f88ed7a472daa49 libtool-1.3.5.tar.gz
diff --git a/sys-devel/libtool/libtool-1.3.5-r1.ebuild b/sys-devel/libtool/libtool-1.3.5-r1.ebuild
deleted file mode 100644
index e1279d17538b..000000000000
--- a/sys-devel/libtool/libtool-1.3.5-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/libtool/libtool-1.3.5-r1.ebuild,v 1.6 2001/01/31 20:49:07 achim Exp $
-
-P=libtool-1.3.5
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="A shared library tool for developers"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/libtool/${A}
- ftp://prep.ai.mit.edu/gnu/libtool/${A}"
-HOMEPAGE="http://www.gnu.org/software/libtool/libtool.html"
-DEPEND="virtual/glibc"
-RDEPEND="$DEPEND
- sys-apps/bash"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make DESTDIR=${D} install
- dodoc AUTHORS COPYING ChangeLog* NEWS \
- README THANKS TODO doc/PLATFORMS
-}
-
-
-
-
diff --git a/sys-devel/m4/files/digest-m4-1.4o-r1 b/sys-devel/m4/files/digest-m4-1.4o-r1
deleted file mode 100644
index 1c079de24c37..000000000000
--- a/sys-devel/m4/files/digest-m4-1.4o-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 99b833fc3d3aeb6621d9d00661b8abc7 m4-1.4o.tar.gz
diff --git a/sys-devel/m4/m4-1.4o-r1.ebuild b/sys-devel/m4/m4-1.4o-r1.ebuild
deleted file mode 100644
index f09951e4af8c..000000000000
--- a/sys-devel/m4/m4-1.4o-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/m4-1.4o-r1.ebuild,v 1.5 2000/12/19 00:44:03 achim Exp $
-
-P=m4-1.4o
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="GNU macro processor"
-SRC_URI="ftp://ftp.seindal.dk/gnu/${A}"
-HOMEPAGE="http://www.gnu.org/software/m4/m4.html"
-DEPEND=">=sys-libs/glibc-2.1.3"
-
-src_compile() {
- try ./configure --prefix=/usr --with-modules --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
-
- cd ${S}
- try make prefix=${D}/usr install
- rm -rf ${D}/usr/include ${D}/usr/lib
- dodoc AUTHORS BACKLOG ChangeLog COPYING NEWS README* THANKS TODO
- docinto modules
- dodoc modules/README modules/TODO
- docinto html
- dodoc examples/WWW/*.htm
-
-}
-
-
diff --git a/sys-devel/make/files/digest-make-3.79.1-r1 b/sys-devel/make/files/digest-make-3.79.1-r1
deleted file mode 100644
index 1445b8cf0490..000000000000
--- a/sys-devel/make/files/digest-make-3.79.1-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 22ea95c125c7b80e04354d4ee4ae960d make-3.79.1.tar.gz
diff --git a/sys-devel/make/files/digest-make-3.79.1-r2 b/sys-devel/make/files/digest-make-3.79.1-r2
deleted file mode 100644
index 1445b8cf0490..000000000000
--- a/sys-devel/make/files/digest-make-3.79.1-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 22ea95c125c7b80e04354d4ee4ae960d make-3.79.1.tar.gz
diff --git a/sys-devel/make/make-3.79.1-r1.ebuild b/sys-devel/make/make-3.79.1-r1.ebuild
deleted file mode 100644
index 212c049b1e91..000000000000
--- a/sys-devel/make/make-3.79.1-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.79.1-r1.ebuild,v 1.6 2001/01/31 20:49:07 achim Exp $
-
-P=make-3.79.1
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard tool to compile source trees"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/make/${A}
- ftp://prep.ai.mit.edu/gnu/make/${A}"
-HOMEPAGE="http://www.gnu.org/software/make/make.html"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --prefix=/usr --host=${CHOST}
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make DESTDIR=${D} install
- dodoc AUTHORS COPYING ChangeLog NEWS README*
-}
-
-
-
diff --git a/sys-devel/make/make-3.79.1-r2.ebuild b/sys-devel/make/make-3.79.1-r2.ebuild
deleted file mode 100644
index 967218facdf4..000000000000
--- a/sys-devel/make/make-3.79.1-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Achim Gottinger <achim@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/make/make-3.79.1-r2.ebuild,v 1.1 2001/02/07 16:05:19 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Standard tool to compile source trees"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/make/${A}
- ftp://prep.ai.mit.edu/gnu/make/${A}"
-HOMEPAGE="http://www.gnu.org/software/make/make.html"
-
-DEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --prefix=/usr --mandir=/usr/share/man --info=/usr/share/info --host=${CHOST}
- try make ${MAKEOPTS}
-
-}
-
-src_install() {
-
- try make DESTDIR=${D} install
- dodoc AUTHORS COPYING ChangeLog NEWS README*
-
-}
-
-
-
diff --git a/sys-devel/patch/files/digest-patch-2.5.4-r1 b/sys-devel/patch/files/digest-patch-2.5.4-r1
deleted file mode 100644
index 528dd04a27b6..000000000000
--- a/sys-devel/patch/files/digest-patch-2.5.4-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 ee5ae84d115f051d87fcaaef3b4ae782 patch-2.5.4.tar.gz
diff --git a/sys-devel/patch/files/digest-patch-2.5.4-r2 b/sys-devel/patch/files/digest-patch-2.5.4-r2
deleted file mode 100644
index 528dd04a27b6..000000000000
--- a/sys-devel/patch/files/digest-patch-2.5.4-r2
+++ /dev/null
@@ -1 +0,0 @@
-MD5 ee5ae84d115f051d87fcaaef3b4ae782 patch-2.5.4.tar.gz
diff --git a/sys-devel/patch/patch-2.5.4-r1.ebuild b/sys-devel/patch/patch-2.5.4-r1.ebuild
deleted file mode 100644
index e8b03536de71..000000000000
--- a/sys-devel/patch/patch-2.5.4-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/patch/patch-2.5.4-r1.ebuild,v 1.6 2001/01/31 20:49:07 achim Exp $
-
-P=patch-2.5.4
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Utility to apply diffs to files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/patch/${A}
- ftp://ftp.gnu.org/gnu/patch/${A}"
-HOMEPAGE="http://www.gnu.org/software/patch/patch.html"
-DEPEND="virtual/glibc"
-
-src_compile() {
- try ./configure --host=${CHOST} --prefix=/usr
- try make ${MAKEOPTS}
-}
-
-src_install() {
- try make prefix=${D}/usr install
- dodoc AUTHORS COPYING ChangeLog NEWS README
-}
-
-
-
diff --git a/sys-devel/patch/patch-2.5.4-r2.ebuild b/sys-devel/patch/patch-2.5.4-r2.ebuild
deleted file mode 100644
index d94ba6b80014..000000000000
--- a/sys-devel/patch/patch-2.5.4-r2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/patch/patch-2.5.4-r2.ebuild,v 1.1 2001/02/07 16:05:19 achim Exp $
-
-A=${P}.tar.gz
-S=${WORKDIR}/${P}
-DESCRIPTION="Utility to apply diffs to files"
-SRC_URI="ftp://gatekeeper.dec.com/pub/GNU/patch/${A}
- ftp://ftp.gnu.org/gnu/patch/${A}"
-HOMEPAGE="http://www.gnu.org/software/patch/patch.html"
-DEPEND="virtual/glibc"
-
-src_compile() {
-
- try ./configure --host=${CHOST} --prefix=/usr --mandir=/usr/share/man
- try make ${MAKEOPTS}
-
-}
-
-src_install() {
-
- try make prefix=${D}/usr mandir=${D}/usr/share/man install
- dodoc AUTHORS COPYING ChangeLog NEWS README
-
-}
-
-
-
diff --git a/sys-devel/perl/files/digest-perl-5.6.0-r3 b/sys-devel/perl/files/digest-perl-5.6.0-r3
deleted file mode 100644
index 39a333a00793..000000000000
--- a/sys-devel/perl/files/digest-perl-5.6.0-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b2940e2cc6312bcfa52355b684e70b9d perl-5.6.0.tar.gz
diff --git a/sys-devel/perl/files/digest-perl-5.6.0-r4 b/sys-devel/perl/files/digest-perl-5.6.0-r4
deleted file mode 100644
index 39a333a00793..000000000000
--- a/sys-devel/perl/files/digest-perl-5.6.0-r4
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b2940e2cc6312bcfa52355b684e70b9d perl-5.6.0.tar.gz
diff --git a/sys-devel/perl/files/digest-perl-5.6.0-r5 b/sys-devel/perl/files/digest-perl-5.6.0-r5
deleted file mode 100644
index 39a333a00793..000000000000
--- a/sys-devel/perl/files/digest-perl-5.6.0-r5
+++ /dev/null
@@ -1 +0,0 @@
-MD5 b2940e2cc6312bcfa52355b684e70b9d perl-5.6.0.tar.gz
diff --git a/sys-devel/perl/perl-5.6.0-r3.ebuild b/sys-devel/perl/perl-5.6.0-r3.ebuild
deleted file mode 100644
index 964593436a87..000000000000
--- a/sys-devel/perl/perl-5.6.0-r3.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/perl/perl-5.6.0-r3.ebuild,v 1.3 2000/12/19 23:39:17 achim Exp $
-
-P=perl-5.6.0
-A=${P}.tar.gz
-S=${WORKDIR}/perl-5.6.0
-DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language"
-SRC_URI="ftp://ftp.perl.org/pub/perl/CPAN/src/${A}"
-HOMEPAGE="http://www.perl.org"
-DEPEND=">=sys-libs/db-3.1.17
- >=sys-libs/gdbm-1.8.0"
-
-src_compile() {
-
-# this is gross -- from Christian Gafton, Red Hat
-cat > config.over <<EOF
-installprefix=${D}/usr
-test -d \$installprefix || mkdir \$installprefix
-test -d \$installprefix/bin || mkdir \$installprefix/bin
-installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
-installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
-installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
-installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
-installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
-installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
-installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
-installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
-EOF
-
-
- sh Configure -des -Dprefix=/usr -Dd_dosuid \
- -Dd_semctl_semun -Di_db -Di_gdbm -Duselargefiles
- #-Dusethreads -Duse505threads \
-
- #Optimize ;)
- cp config.sh config.sh.orig
- sed -e "s/optimize='-O2'/optimize=\'${CFLAGS}\'/" config.sh.orig > config.sh
- #THIS IS USED LATER:
- export PARCH=`grep myarchname config.sh | cut -f2 -d"'"`
- try make
- # Parallell make failes
- make test
-}
-
-src_install() {
- try make install
- install -m 755 utils/pl2pm $D/usr/bin/pl2pm
-export D
-# Generate *.ph files with a trick. Is this sick or what?
-# Yes it is, and thank you Christian for getting sick just so we can
-# run perl :)
-
-make all -f - <<EOF
-STDH =\$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \
- \$(wildcard /usr/include/scsi/*.h)
-GCCDIR = \$(shell gcc --print-file-name include)
-
-PERLLIB = \$(D)/usr/lib/perl5/%{perlver}%{perlrel}
-PERL = PERL5LIB=\$(PERLLIB) \$(D)/usr/bin/perl
-PHDIR = \$(PERLLIB)/\${PARCH}-linux
-H2PH = \$(PERL) \$(D)/usr/bin/h2ph -d \$(PHDIR)/
-
-all: std-headers gcc-headers fix-config
-
-std-headers: \$(STDH)
- cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
-
-gcc-headers: \$(GCCH)
- cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
-
-fix-config: \$(PHDIR)/Config.pm
- \$(PERL) -i -p -e "s|\$(D)||g;" \$<
-
-EOF
-
-#MainDir=$(pwd)
-#cd modules
-#for module in * ; do
-# eval $($MainDir/perl '-V:installarchlib')
-# mkdir -p $D/$installarchlib
-# try make -C $module install PREFIX=$D/usr \
-# INSTALLMAN3DIR=$D/usr/man/man3
-#done
-#cd $MainDir
-
-
-#man pages
-
- ./perl installman --man1dir=${D}/usr/man/man1 --man1ext=1 --man3dir=${D}/usr/man/man3 --man3ext=3
-
-
-# This removes ${D} from Config.pm
- dosed /usr/lib/perl5/5.6.0/i686-linux/Config.pm
- dosed /usr/lib/perl5/5.6.0/i686-linux/.packlist
-
-# DOCUMENTATION
-
- dodoc Changes* Artistic Copying README Todo* AUTHORS
-
-# HTML Documentation
- dodir /usr/doc/${PF}/html
- ./perl installhtml --recurse --htmldir=${D}/usr/doc/${PF}/html
- prepalldocs
-}
-
-
-
-
diff --git a/sys-devel/perl/perl-5.6.0-r4.ebuild b/sys-devel/perl/perl-5.6.0-r4.ebuild
deleted file mode 100644
index 395d2e8606e8..000000000000
--- a/sys-devel/perl/perl-5.6.0-r4.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/perl/perl-5.6.0-r4.ebuild,v 1.2 2000/12/19 23:39:17 achim Exp $
-
-P=perl-5.6.0
-A=${P}.tar.gz
-S=${WORKDIR}/perl-5.6.0
-DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language"
-SRC_URI="ftp://ftp.perl.org/pub/perl/CPAN/src/${A}"
-HOMEPAGE="http://www.perl.org"
-DEPEND=">=sys-libs/db-3.1.17
- >=sys-libs/gdbm-1.8.0"
-
-src_compile() {
-
-# this is gross -- from Christian Gafton, Red Hat
-cat > config.over <<EOF
-installprefix=${D}/usr
-test -d \$installprefix || mkdir \$installprefix
-test -d \$installprefix/bin || mkdir \$installprefix/bin
-installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
-installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
-installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
-installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
-installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
-installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
-installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
-installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
-EOF
-
-
- sh Configure -des -Dprefix=/usr -Dd_dosuid \
- -Dd_semctl_semun -Di_db -Di_gdbm -Duselargefiles
- #-Dusethreads -Duse505threads \
-
- #Optimize ;)
- cp config.sh config.sh.orig
- sed -e "s/optimize='-O2'/optimize=\'${CFLAGS}\'/" config.sh.orig > config.sh
- #THIS IS USED LATER:
- export PARCH=`grep myarchname config.sh | cut -f2 -d"'"`
- try make
- # Parallell make failes
- make test
-}
-
-src_install() {
- try make install
- install -m 755 utils/pl2pm $D/usr/bin/pl2pm
-export D
-# Generate *.ph files with a trick. Is this sick or what?
-# Yes it is, and thank you Christian for getting sick just so we can
-# run perl :)
-
-make all -f - <<EOF
-STDH =\$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \
- \$(wildcard /usr/include/scsi/*.h)
-GCCDIR = \$(shell gcc --print-file-name include)
-
-PERLLIB = \$(D)/usr/lib/perl5/%{perlver}%{perlrel}
-PERL = PERL5LIB=\$(PERLLIB) \$(D)/usr/bin/perl
-PHDIR = \$(PERLLIB)/\${PARCH}-linux
-H2PH = \$(PERL) \$(D)/usr/bin/h2ph -d \$(PHDIR)/
-
-all: std-headers gcc-headers fix-config
-
-std-headers: \$(STDH)
- cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
-
-gcc-headers: \$(GCCH)
- cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
-
-fix-config: \$(PHDIR)/Config.pm
- \$(PERL) -i -p -e "s|\$(D)||g;" \$<
-
-EOF
-
-#MainDir=$(pwd)
-#cd modules
-#for module in * ; do
-# eval $($MainDir/perl '-V:installarchlib')
-# mkdir -p $D/$installarchlib
-# try make -C $module install PREFIX=$D/usr \
-# INSTALLMAN3DIR=$D/usr/man/man3
-#done
-#cd $MainDir
-
-
-#man pages
-
- ./perl installman --man1dir=${D}/usr/man/man1 --man1ext=1 --man3dir=${D}/usr/man/man3 --man3ext=3
-
-
-# This removes ${D} from Config.pm
- dosed /usr/lib/perl5/5.6.0/i686-linux/Config.pm
- dosed /usr/lib/perl5/5.6.0/i686-linux/.packlist
-
-# DOCUMENTATION
-
- dodoc Changes* Artistic Copying README Todo* AUTHORS
-
-# HTML Documentation
- dodir /usr/doc/${PF}/html
- ./perl installhtml --recurse --htmldir=${D}/usr/doc/${PF}/html
- prepalldocs
-}
-
-
-
-
diff --git a/sys-devel/perl/perl-5.6.0-r5.ebuild b/sys-devel/perl/perl-5.6.0-r5.ebuild
deleted file mode 100644
index e733d8e4c2fb..000000000000
--- a/sys-devel/perl/perl-5.6.0-r5.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/perl/perl-5.6.0-r5.ebuild,v 1.1 2001/01/15 22:52:38 achim Exp $
-
-P=perl-5.6.0
-A=${P}.tar.gz
-S=${WORKDIR}/perl-5.6.0
-DESCRIPTION="Larry Wall's Practical Extraction and Reporting Language"
-SRC_URI="ftp://ftp.perl.org/pub/perl/CPAN/src/${A}"
-HOMEPAGE="http://www.perl.org"
-DEPEND=">=sys-libs/db-3.1.17
- >=sys-libs/gdbm-1.8.0"
-
-src_compile() {
-
-# this is gross -- from Christian Gafton, Red Hat
-cat > config.over <<EOF
-installprefix=${D}/usr
-test -d \$installprefix || mkdir \$installprefix
-test -d \$installprefix/bin || mkdir \$installprefix/bin
-installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
-installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
-installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
-installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
-installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
-installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
-installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
-installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
-EOF
-
-
- sh Configure -des -Dprefix=/usr -Dd_dosuid \
- -Dd_semctl_semun -Di_db -Di_gdbm -Duselargefiles \
- -Darchname=${CHOST%%-*}-linux
- #-Dusethreads -Duse505threads \
-
- #Optimize ;)
- cp config.sh config.sh.orig
- sed -e "s/optimize='-O2'/optimize=\'${CFLAGS}\'/" config.sh.orig > config.sh
- #THIS IS USED LATER:
- export PARCH=`grep myarchname config.sh | cut -f2 -d"'"`
- try make
- # Parallell make failes
- make test
-}
-
-src_install() {
- try make install
- install -m 755 utils/pl2pm $D/usr/bin/pl2pm
-export D
-# Generate *.ph files with a trick. Is this sick or what?
-# Yes it is, and thank you Christian for getting sick just so we can
-# run perl :)
-
-make all -f - <<EOF
-STDH =\$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \
- \$(wildcard /usr/include/scsi/*.h)
-GCCDIR = \$(shell gcc --print-file-name include)
-
-PERLLIB = \$(D)/usr/lib/perl5/%{perlver}%{perlrel}
-PERL = PERL5LIB=\$(PERLLIB) \$(D)/usr/bin/perl
-PHDIR = \$(PERLLIB)/\${PARCH}-linux
-H2PH = \$(PERL) \$(D)/usr/bin/h2ph -d \$(PHDIR)/
-
-all: std-headers gcc-headers fix-config
-
-std-headers: \$(STDH)
- cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
-
-gcc-headers: \$(GCCH)
- cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
-
-fix-config: \$(PHDIR)/Config.pm
- \$(PERL) -i -p -e "s|\$(D)||g;" \$<
-
-EOF
-
-#MainDir=$(pwd)
-#cd modules
-#for module in * ; do
-# eval $($MainDir/perl '-V:installarchlib')
-# mkdir -p $D/$installarchlib
-# try make -C $module install PREFIX=$D/usr \
-# INSTALLMAN3DIR=$D/usr/man/man3
-#done
-#cd $MainDir
-
-
-#man pages
-
- ./perl installman --man1dir=${D}/usr/man/man1 --man1ext=1 --man3dir=${D}/usr/man/man3 --man3ext=3
-
-
-# This removes ${D} from Config.pm
- dosed /usr/lib/perl5/5.6.0/${CHOST%%-*}-linux/Config.pm
- dosed /usr/lib/perl5/5.6.0/${CHOST%%-*}-linux/.packlist
-
-# DOCUMENTATION
-
- dodoc Changes* Artistic Copying README Todo* AUTHORS
-
-# HTML Documentation
- dodir /usr/doc/${PF}/html
- ./perl installhtml --recurse --htmldir=${D}/usr/doc/${PF}/html
- prepalldocs
-}
-
-
-
-
diff --git a/sys-devel/spython/files/digest-spython-1.5.2 b/sys-devel/spython/files/digest-spython-1.5.2
deleted file mode 100644
index aeb14243568a..000000000000
--- a/sys-devel/spython/files/digest-spython-1.5.2
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 e9d677ae6d5a3efc6937627ed8a3e752 py152.tgz
-MD5 7c99113a11b03599d8494638f6d90b56 python-fchksum-1.1.tar.gz
diff --git a/sys-devel/spython/files/digest-spython-2.0 b/sys-devel/spython/files/digest-spython-2.0
deleted file mode 100644
index d5edd17f12a5..000000000000
--- a/sys-devel/spython/files/digest-spython-2.0
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 4751f4619eda0b5ade9d9dd017e7c1ef BeOpen-Python-2.0.tar.bz2
-MD5 7c99113a11b03599d8494638f6d90b56 python-fchksum-1.1.tar.gz
diff --git a/sys-devel/spython/files/digest-spython-2.0-r1 b/sys-devel/spython/files/digest-spython-2.0-r1
deleted file mode 100644
index d5edd17f12a5..000000000000
--- a/sys-devel/spython/files/digest-spython-2.0-r1
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 4751f4619eda0b5ade9d9dd017e7c1ef BeOpen-Python-2.0.tar.bz2
-MD5 7c99113a11b03599d8494638f6d90b56 python-fchksum-1.1.tar.gz
diff --git a/sys-devel/spython/files/digest-spython-2.0-r2 b/sys-devel/spython/files/digest-spython-2.0-r2
deleted file mode 100644
index d5edd17f12a5..000000000000
--- a/sys-devel/spython/files/digest-spython-2.0-r2
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 4751f4619eda0b5ade9d9dd017e7c1ef BeOpen-Python-2.0.tar.bz2
-MD5 7c99113a11b03599d8494638f6d90b56 python-fchksum-1.1.tar.gz
diff --git a/sys-devel/spython/files/digest-spython-2.0-r3 b/sys-devel/spython/files/digest-spython-2.0-r3
deleted file mode 100644
index d5edd17f12a5..000000000000
--- a/sys-devel/spython/files/digest-spython-2.0-r3
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 4751f4619eda0b5ade9d9dd017e7c1ef BeOpen-Python-2.0.tar.bz2
-MD5 7c99113a11b03599d8494638f6d90b56 python-fchksum-1.1.tar.gz
diff --git a/sys-devel/spython/spython-2.0-r2.ebuild b/sys-devel/spython/spython-2.0-r2.ebuild
deleted file mode 100644
index ac031d34f031..000000000000
--- a/sys-devel/spython/spython-2.0-r2.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/spython/spython-2.0-r2.ebuild,v 1.1 2001/01/29 19:27:58 drobbins Exp $
-
-S=${WORKDIR}/Python-2.0
-S2=${WORKDIR}/python-fchksum-1.1
-DESCRIPTION="A really great language -- minimalist python environment"
-SRC_URI="http://www.python.org/ftp/python/src/BeOpen-Python-2.0.tar.bz2
- http://www.azstarnet.com/~donut/programs/fchksum/python-fchksum-1.1.tar.gz"
-
-HOMEPAGE="http://www.python.org http://www.azstarnet.com/~donut/programs/fchksum/"
-DEPEND=">=sys-libs/gpm-1.19.3"
-RDEPEND="$DEPEND >=sys-apps/bash-2.04"
-PROVIDE="virtual/python-2.0"
-
-src_unpack() {
- unpack BeOpen-Python-2.0.tar.bz2
- cd ${S}/Modules
- sed -e 's:#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz:zlib zlibmodule.c -lz:' -e 's:#\*shared\*:\*static\*:' -e 's:^TKPATH=\:lib-tk:#TKPATH:' Setup.in > Setup
- echo "fchksum fchksum.c md5_2.c" >> Setup
- cd ${S}/Modules
-
-# #patch the dbmmodule to use db3's dbm compatibility code. That way, we're depending on db3 rather than
-# #old db1. We'll link with db3, of course.
-# cp dbmmodule.c dbmmodule.c.orig
-# sed -e '10,25d' -e '26i\' -e '#define DB_DBM_HSEARCH 1\' -e 'static char *which_dbm = "BSD db";\' -e '#include <db3/db.h>' dbmmodule.c.orig > dbmmodule.c
-
- cp ${FILESDIR}/pfconfig.h .
- unpack python-fchksum-1.1.tar.gz
-
- cd python-fchksum-1.1
- mv md5.h ../md5_2.h
- sed -e 's:"md5.h":"md5_2.h":' md5.c > ../md5_2.c
- sed -e 's:"md5.h":"md5_2.h":' fchksum.c > ../fchksum.c
-
- #for some reason, python 2.0 can't find /usr/lib/python2.0 without this fix to the source code.
- cd ${S}/Python
- cp pythonrun.c pythonrun.c.orig
- sed -e 's:static char \*default_home = NULL:static char \*default_home = "/usr":' pythonrun.c.orig > pythonrun.c
-}
-
-src_compile() {
- cd ${S}
- export LDFLAGS=-static
- try ./configure --prefix=/usr --without-libdb
- #libdb3 support is available from http://pybsddb.sourceforge.net/; the one
- #included with python is for db 1.85 only.
- cp Makefile Makefile.orig
- sed -e "s/-g -O2/${CFLAGS}/" Makefile.orig > Makefile
- cd ${S}/Modules
- cp Makefile.pre Makefile.orig
- sed -e "s:MODOBJS=:MODOBJS=fchksum.o md5_2.o:" \
- Makefile.orig > Makefile.pre
-
- # Parallel make does not work
- cd ${S}
- try make
-}
-
-src_install() {
- dodir /usr
- try make install prefix=${D}/usr
- rm ${D}/usr/bin/python
- mv ${D}/usr/bin/python2.0 ${D}/usr/bin/spython
- dosym spython /usr/bin/python
-}
diff --git a/sys-devel/spython/spython-2.0-r3.ebuild b/sys-devel/spython/spython-2.0-r3.ebuild
deleted file mode 100644
index f7a47d63e572..000000000000
--- a/sys-devel/spython/spython-2.0-r3.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2000 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License, v2 or later
-# Author Daniel Robbins <drobbins@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/spython/spython-2.0-r3.ebuild,v 1.1 2001/02/07 16:07:39 achim Exp $
-
-S=${WORKDIR}/Python-2.0
-S2=${WORKDIR}/python-fchksum-1.1
-DESCRIPTION="A really great language -- minimalist python environment"
-SRC_URI="http://www.python.org/ftp/python/src/BeOpen-Python-2.0.tar.bz2
- http://www.azstarnet.com/~donut/programs/fchksum/python-fchksum-1.1.tar.gz"
-
-HOMEPAGE="http://www.python.org http://www.azstarnet.com/~donut/programs/fchksum/"
-
-DEPEND=">=sys-libs/zlib-1.1.3-r2"
-PROVIDE="virtual/python-2.0"
-
-src_unpack() {
- unpack BeOpen-Python-2.0.tar.bz2
- cd ${S}/Modules
- sed -e 's:#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz:zlib zlibmodule.c -lz:' -e 's:#\*shared\*:\*static\*:' -e 's:^TKPATH=\:lib-tk:#TKPATH:' Setup.in > Setup
- echo "fchksum fchksum.c md5_2.c" >> Setup
- cd ${S}/Modules
-
- cp ${FILESDIR}/pfconfig.h .
- unpack python-fchksum-1.1.tar.gz
-
- cd python-fchksum-1.1
- mv md5.h ../md5_2.h
- sed -e 's:"md5.h":"md5_2.h":' md5.c > ../md5_2.c
- sed -e 's:"md5.h":"md5_2.h":' fchksum.c > ../fchksum.c
-
- #for some reason, python 2.0 can't find /usr/lib/python2.0 without this fix to the source code.
- cd ${S}/Python
- cp pythonrun.c pythonrun.c.orig
- sed -e 's:static char \*default_home = NULL:static char \*default_home = "/usr":' pythonrun.c.orig > pythonrun.c
-}
-
-src_compile() {
- cd ${S}
- export LDFLAGS=-static
- try ./configure --prefix=/usr --without-libdb
- #libdb3 support is available from http://pybsddb.sourceforge.net/; the one
- #included with python is for db 1.85 only.
- cp Makefile Makefile.orig
- sed -e "s/-g -O2/${CFLAGS}/" Makefile.orig > Makefile
- cd ${S}/Modules
- cp Makefile.pre Makefile.orig
- sed -e "s:MODOBJS=:MODOBJS=fchksum.o md5_2.o:" \
- Makefile.orig > Makefile.pre
-
- # Parallel make does not work
- cd ${S}
- try make
-}
-
-src_install() {
- dodir /usr/share/man
- try make install prefix=${D}/usr MANDIR=${D}/usr/share/man
- rm ${D}/usr/bin/python
- mv ${D}/usr/bin/python2.0 ${D}/usr/bin/spython
- dosym spython /usr/bin/python
-}