[llvm-commits] [llvm-gcc-4.2] r40773 [1/19] - in /llvm-gcc-4.2/trunk: ./ config/ contrib/ contrib/reghunt/ contrib/regression/ fixincludes/ gcc/ gcc/autom4te.cache/ gcc/config/ gcc/config/arm/ gcc/config/i386/ gcc/config/rs6000/ gcc/cp/ gcc/doc/ gcc/ginclude/ gcc/objc/ gcc/objcp/ gcc/po/ gcc/testsuite/ gcc/testsuite/bugs/powerpc/ gcc/testsuite/g++.apple/ gcc/testsuite/g++.dg/ gcc/testsuite/g++.old-deja/g++.oliva/ gcc/testsuite/gcc.apple/ gcc/testsuite/gcc.dg/ gcc/testsuite/gcc.dg/cpp/ gcc/testsuite/gcc.target/i386/ gcc...

Devang Patel dpatel at apple.com
Thu Aug 2 18:00:45 PDT 2007


Author: dpatel
Date: Thu Aug  2 20:00:37 2007
New Revision: 40773

URL: http://llvm.org/viewvc/llvm-project?rev=40773&view=rev
Log:
Merge bits from 4.2.1 release tag.


Modified:
    llvm-gcc-4.2/trunk/ChangeLog
    llvm-gcc-4.2/trunk/ChangeLog.apple
    llvm-gcc-4.2/trunk/MAINTAINERS
    llvm-gcc-4.2/trunk/build_gcc
    llvm-gcc-4.2/trunk/config/ChangeLog
    llvm-gcc-4.2/trunk/contrib/ChangeLog
    llvm-gcc-4.2/trunk/contrib/reghunt/ChangeLog
    llvm-gcc-4.2/trunk/contrib/regression/ChangeLog
    llvm-gcc-4.2/trunk/fixincludes/ChangeLog
    llvm-gcc-4.2/trunk/fixincludes/configure
    llvm-gcc-4.2/trunk/fixincludes/configure.ac
    llvm-gcc-4.2/trunk/fixincludes/fixincl.x
    llvm-gcc-4.2/trunk/fixincludes/inclhack.def
    llvm-gcc-4.2/trunk/gcc/ChangeLog
    llvm-gcc-4.2/trunk/gcc/ChangeLog.apple
    llvm-gcc-4.2/trunk/gcc/DATESTAMP
    llvm-gcc-4.2/trunk/gcc/DEV-PHASE
    llvm-gcc-4.2/trunk/gcc/Makefile.in
    llvm-gcc-4.2/trunk/gcc/autom4te.cache/output.0
    llvm-gcc-4.2/trunk/gcc/autom4te.cache/traces.0
    llvm-gcc-4.2/trunk/gcc/builtins.c
    llvm-gcc-4.2/trunk/gcc/c-common.c
    llvm-gcc-4.2/trunk/gcc/c-common.h
    llvm-gcc-4.2/trunk/gcc/c-cppbuiltin.c
    llvm-gcc-4.2/trunk/gcc/c-opts.c
    llvm-gcc-4.2/trunk/gcc/c-parser.c
    llvm-gcc-4.2/trunk/gcc/c-typeck.c
    llvm-gcc-4.2/trunk/gcc/c.opt
    llvm-gcc-4.2/trunk/gcc/cfghooks.c
    llvm-gcc-4.2/trunk/gcc/cfgrtl.c
    llvm-gcc-4.2/trunk/gcc/cgraphunit.c
    llvm-gcc-4.2/trunk/gcc/config/arm/arm.c
    llvm-gcc-4.2/trunk/gcc/config/arm/cirrus.md
    llvm-gcc-4.2/trunk/gcc/config/darwin-protos.h
    llvm-gcc-4.2/trunk/gcc/config/darwin.c
    llvm-gcc-4.2/trunk/gcc/config/darwin.h
    llvm-gcc-4.2/trunk/gcc/config/i386/athlon.md
    llvm-gcc-4.2/trunk/gcc/config/i386/att.h
    llvm-gcc-4.2/trunk/gcc/config/i386/beos-elf.h
    llvm-gcc-4.2/trunk/gcc/config/i386/bsd.h
    llvm-gcc-4.2/trunk/gcc/config/i386/crtdll.h
    llvm-gcc-4.2/trunk/gcc/config/i386/crtfastmath.c
    llvm-gcc-4.2/trunk/gcc/config/i386/cygming.opt
    llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.asm
    llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.h
    llvm-gcc-4.2/trunk/gcc/config/i386/cygwin1.c
    llvm-gcc-4.2/trunk/gcc/config/i386/cygwin2.c
    llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h
    llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.h
    llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.opt
    llvm-gcc-4.2/trunk/gcc/config/i386/freebsd.h
    llvm-gcc-4.2/trunk/gcc/config/i386/freebsd64.h
    llvm-gcc-4.2/trunk/gcc/config/i386/gas.h
    llvm-gcc-4.2/trunk/gcc/config/i386/gmon-sol2.c
    llvm-gcc-4.2/trunk/gcc/config/i386/gnu.h
    llvm-gcc-4.2/trunk/gcc/config/i386/gthr-win32.c
    llvm-gcc-4.2/trunk/gcc/config/i386/host-cygwin.c
    llvm-gcc-4.2/trunk/gcc/config/i386/host-mingw32.c
    llvm-gcc-4.2/trunk/gcc/config/i386/i386-aout.h
    llvm-gcc-4.2/trunk/gcc/config/i386/i386-coff.h
    llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix.h
    llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix3.h
    llvm-gcc-4.2/trunk/gcc/config/i386/i386.c
    llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
    llvm-gcc-4.2/trunk/gcc/config/i386/i386.md
    llvm-gcc-4.2/trunk/gcc/config/i386/i386elf.h
    llvm-gcc-4.2/trunk/gcc/config/i386/kaos-i386.h
    llvm-gcc-4.2/trunk/gcc/config/i386/kfreebsd-gnu.h
    llvm-gcc-4.2/trunk/gcc/config/i386/knetbsd-gnu.h
    llvm-gcc-4.2/trunk/gcc/config/i386/libgcc-x86_64-glibc.ver
    llvm-gcc-4.2/trunk/gcc/config/i386/linux-unwind.h
    llvm-gcc-4.2/trunk/gcc/config/i386/linux.h
    llvm-gcc-4.2/trunk/gcc/config/i386/linux64.h
    llvm-gcc-4.2/trunk/gcc/config/i386/lynx.h
    llvm-gcc-4.2/trunk/gcc/config/i386/mach.h
    llvm-gcc-4.2/trunk/gcc/config/i386/mingw32.h
    llvm-gcc-4.2/trunk/gcc/config/i386/netbsd-elf.h
    llvm-gcc-4.2/trunk/gcc/config/i386/netbsd.h
    llvm-gcc-4.2/trunk/gcc/config/i386/netbsd64.h
    llvm-gcc-4.2/trunk/gcc/config/i386/netware-crt0.c
    llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.c
    llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.def
    llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.exp
    llvm-gcc-4.2/trunk/gcc/config/i386/netware.c
    llvm-gcc-4.2/trunk/gcc/config/i386/netware.h
    llvm-gcc-4.2/trunk/gcc/config/i386/nto.h
    llvm-gcc-4.2/trunk/gcc/config/i386/nwld.c
    llvm-gcc-4.2/trunk/gcc/config/i386/nwld.h
    llvm-gcc-4.2/trunk/gcc/config/i386/openbsd.h
    llvm-gcc-4.2/trunk/gcc/config/i386/openbsdelf.h
    llvm-gcc-4.2/trunk/gcc/config/i386/pmm_malloc.h
    llvm-gcc-4.2/trunk/gcc/config/i386/ppro.md
    llvm-gcc-4.2/trunk/gcc/config/i386/predicates.md
    llvm-gcc-4.2/trunk/gcc/config/i386/ptx4-i.h
    llvm-gcc-4.2/trunk/gcc/config/i386/rtemself.h
    llvm-gcc-4.2/trunk/gcc/config/i386/sco5.h
    llvm-gcc-4.2/trunk/gcc/config/i386/sco5.opt
    llvm-gcc-4.2/trunk/gcc/config/i386/sol2-10.h
    llvm-gcc-4.2/trunk/gcc/config/i386/sol2-c1.asm
    llvm-gcc-4.2/trunk/gcc/config/i386/sol2-ci.asm
    llvm-gcc-4.2/trunk/gcc/config/i386/sol2-cn.asm
    llvm-gcc-4.2/trunk/gcc/config/i386/sol2-gc1.asm
    llvm-gcc-4.2/trunk/gcc/config/i386/sol2.h
    llvm-gcc-4.2/trunk/gcc/config/i386/sse.md
    llvm-gcc-4.2/trunk/gcc/config/i386/sysv4-cpp.h
    llvm-gcc-4.2/trunk/gcc/config/i386/sysv4.h
    llvm-gcc-4.2/trunk/gcc/config/i386/sysv5.h
    llvm-gcc-4.2/trunk/gcc/config/i386/t-beos
    llvm-gcc-4.2/trunk/gcc/config/i386/t-crtfm
    llvm-gcc-4.2/trunk/gcc/config/i386/t-crtpic
    llvm-gcc-4.2/trunk/gcc/config/i386/t-crtstuff
    llvm-gcc-4.2/trunk/gcc/config/i386/t-cygwin
    llvm-gcc-4.2/trunk/gcc/config/i386/t-djgpp
    llvm-gcc-4.2/trunk/gcc/config/i386/t-gthr-win32
    llvm-gcc-4.2/trunk/gcc/config/i386/t-i386elf
    llvm-gcc-4.2/trunk/gcc/config/i386/t-interix
    llvm-gcc-4.2/trunk/gcc/config/i386/t-linux64
    llvm-gcc-4.2/trunk/gcc/config/i386/t-mingw32
    llvm-gcc-4.2/trunk/gcc/config/i386/t-netware
    llvm-gcc-4.2/trunk/gcc/config/i386/t-nto
    llvm-gcc-4.2/trunk/gcc/config/i386/t-nwld
    llvm-gcc-4.2/trunk/gcc/config/i386/t-openbsd
    llvm-gcc-4.2/trunk/gcc/config/i386/t-pmm_malloc
    llvm-gcc-4.2/trunk/gcc/config/i386/t-rtems-i386
    llvm-gcc-4.2/trunk/gcc/config/i386/t-sco5
    llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2
    llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2-10
    llvm-gcc-4.2/trunk/gcc/config/i386/t-svr3dbx
    llvm-gcc-4.2/trunk/gcc/config/i386/t-uwin
    llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworks
    llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworksae
    llvm-gcc-4.2/trunk/gcc/config/i386/unix.h
    llvm-gcc-4.2/trunk/gcc/config/i386/uwin.asm
    llvm-gcc-4.2/trunk/gcc/config/i386/uwin.h
    llvm-gcc-4.2/trunk/gcc/config/i386/vxworks.h
    llvm-gcc-4.2/trunk/gcc/config/i386/vxworksae.h
    llvm-gcc-4.2/trunk/gcc/config/i386/winnt-cxx.c
    llvm-gcc-4.2/trunk/gcc/config/i386/winnt-stubs.c
    llvm-gcc-4.2/trunk/gcc/config/i386/x-cygwin
    llvm-gcc-4.2/trunk/gcc/config/i386/x-mingw32
    llvm-gcc-4.2/trunk/gcc/config/i386/x86-64.h
    llvm-gcc-4.2/trunk/gcc/config/i386/xm-cygwin.h
    llvm-gcc-4.2/trunk/gcc/config/i386/xm-djgpp.h
    llvm-gcc-4.2/trunk/gcc/config/i386/xm-mingw32.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.opt
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.opt
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix43.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix51.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix52.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/aix64.opt
    llvm-gcc-4.2/trunk/gcc/config/rs6000/altivec.md
    llvm-gcc-4.2/trunk/gcc/config/rs6000/beos.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/biarch64.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/crtsavres.asm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/default64.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/e500-double.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-ci.asm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-cn.asm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.asm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/eabialtivec.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/eabisim.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/eabispe.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/freebsd.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/gnu.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/kaos-ppc.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/libgcc-ppc-glibc.ver
    llvm-gcc-4.2/trunk/gcc/config/rs6000/linux-unwind.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/linux.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.opt
    llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxaltivec.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxspe.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/lynx.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/milli.exp
    llvm-gcc-4.2/trunk/gcc/config/rs6000/netbsd.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/ppc-asm.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/predicates.md
    llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c
    llvm-gcc-4.2/trunk/gcc/config/rs6000/rtems.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/secureplt.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/sfp-machine.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-ci.asm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-cn.asm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/spe.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.opt
    llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4le.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix43
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix52
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-beos
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-fpbit
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-softfp
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-linux64
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-lynx
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-netbsd
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-newas
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppccomm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcendian
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcgas
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcos
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-rtems
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-spe
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworks
    llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworksae
    llvm-gcc-4.2/trunk/gcc/config/rs6000/tramp.asm
    llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworks.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworksae.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/windiss.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/x-linux64
    llvm-gcc-4.2/trunk/gcc/config/rs6000/xcoff.h
    llvm-gcc-4.2/trunk/gcc/configure
    llvm-gcc-4.2/trunk/gcc/configure.ac
    llvm-gcc-4.2/trunk/gcc/convert.c
    llvm-gcc-4.2/trunk/gcc/cp/ChangeLog
    llvm-gcc-4.2/trunk/gcc/cp/ChangeLog.apple
    llvm-gcc-4.2/trunk/gcc/cp/call.c
    llvm-gcc-4.2/trunk/gcc/cp/class.c
    llvm-gcc-4.2/trunk/gcc/cp/cp-lang.c
    llvm-gcc-4.2/trunk/gcc/cp/cp-tree.h
    llvm-gcc-4.2/trunk/gcc/cp/decl.c
    llvm-gcc-4.2/trunk/gcc/cp/decl2.c
    llvm-gcc-4.2/trunk/gcc/cp/init.c
    llvm-gcc-4.2/trunk/gcc/cp/lang-specs.h
    llvm-gcc-4.2/trunk/gcc/cp/parser.c
    llvm-gcc-4.2/trunk/gcc/cp/pt.c
    llvm-gcc-4.2/trunk/gcc/cp/semantics.c
    llvm-gcc-4.2/trunk/gcc/cp/typeck.c
    llvm-gcc-4.2/trunk/gcc/cp/typeck2.c
    llvm-gcc-4.2/trunk/gcc/doc/c-tree.texi
    llvm-gcc-4.2/trunk/gcc/doc/cppopts.texi
    llvm-gcc-4.2/trunk/gcc/doc/invoke.texi
    llvm-gcc-4.2/trunk/gcc/dwarf2out.c
    llvm-gcc-4.2/trunk/gcc/function.c
    llvm-gcc-4.2/trunk/gcc/gcc.c
    llvm-gcc-4.2/trunk/gcc/gimplify.c
    llvm-gcc-4.2/trunk/gcc/ginclude/tgmath.h
    llvm-gcc-4.2/trunk/gcc/gthr-posix.c
    llvm-gcc-4.2/trunk/gcc/gthr-posix.h
    llvm-gcc-4.2/trunk/gcc/hooks.c
    llvm-gcc-4.2/trunk/gcc/loop-doloop.c
    llvm-gcc-4.2/trunk/gcc/loop-iv.c
    llvm-gcc-4.2/trunk/gcc/objc/ChangeLog
    llvm-gcc-4.2/trunk/gcc/objc/ChangeLog.apple
    llvm-gcc-4.2/trunk/gcc/objc/config-lang.in
    llvm-gcc-4.2/trunk/gcc/objc/lang-specs.h
    llvm-gcc-4.2/trunk/gcc/objc/objc-act.c
    llvm-gcc-4.2/trunk/gcc/objc/objc-act.h
    llvm-gcc-4.2/trunk/gcc/objc/objc-tree.def
    llvm-gcc-4.2/trunk/gcc/objcp/ChangeLog
    llvm-gcc-4.2/trunk/gcc/omp-low.c
    llvm-gcc-4.2/trunk/gcc/po/ChangeLog
    llvm-gcc-4.2/trunk/gcc/po/be.po
    llvm-gcc-4.2/trunk/gcc/po/ca.po
    llvm-gcc-4.2/trunk/gcc/po/da.po
    llvm-gcc-4.2/trunk/gcc/po/de.po
    llvm-gcc-4.2/trunk/gcc/po/el.po
    llvm-gcc-4.2/trunk/gcc/po/es.po
    llvm-gcc-4.2/trunk/gcc/po/fr.po
    llvm-gcc-4.2/trunk/gcc/po/gcc.pot
    llvm-gcc-4.2/trunk/gcc/po/ja.po
    llvm-gcc-4.2/trunk/gcc/po/nl.po
    llvm-gcc-4.2/trunk/gcc/po/ru.po
    llvm-gcc-4.2/trunk/gcc/po/rw.po
    llvm-gcc-4.2/trunk/gcc/po/sr.po
    llvm-gcc-4.2/trunk/gcc/po/sv.po
    llvm-gcc-4.2/trunk/gcc/po/tr.po
    llvm-gcc-4.2/trunk/gcc/po/zh_CN.po
    llvm-gcc-4.2/trunk/gcc/po/zh_TW.po
    llvm-gcc-4.2/trunk/gcc/predict.c
    llvm-gcc-4.2/trunk/gcc/recog.c
    llvm-gcc-4.2/trunk/gcc/reload1.c
    llvm-gcc-4.2/trunk/gcc/stmt.c
    llvm-gcc-4.2/trunk/gcc/stub-objc.c
    llvm-gcc-4.2/trunk/gcc/testsuite/ChangeLog
    llvm-gcc-4.2/trunk/gcc/testsuite/ChangeLog.apple
    llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/g++.xfail
    llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/gcc.xfail
    llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/objc.xfail
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/visibility-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext11.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-static-entry-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-math-double-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-math-float-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-math-long-double-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-math.h
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-tgmath-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-tgmath-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-tgmath-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/c99-tgmath-4.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/cpp/c++98-pedantic.cc
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/cpp/c++98.cc
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/invalid-call-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/movq-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/reload-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/ssefn-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-cfstring-4-64bit.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-cfstring-7.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cxx-ivars-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/encode-3-64bit.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/newproperty-deprecated-attr-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-weak-2.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-weak-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-const-str-64bit-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-ivar-test-2.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-none-fragile-ivar-use.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-package-ivar-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-neg-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-cfstring-7.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/newproperty-deprecated-attr-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-3.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-weak-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-weak-3.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-ivar-layout-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-ivar-layout-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-package-ivar-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/property-neg-4.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/stubify-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc/execute/protocol-isEqual-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc/execute/protocol-isEqual-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc/execute/protocol-isEqual-3.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc/execute/protocol-isEqual-4.m
    llvm-gcc-4.2/trunk/gcc/testsuite/treelang/ChangeLog
    llvm-gcc-4.2/trunk/gcc/toplev.c
    llvm-gcc-4.2/trunk/gcc/tree-flow.h
    llvm-gcc-4.2/trunk/gcc/tree-if-conv.c
    llvm-gcc-4.2/trunk/gcc/tree-ssa-address.c
    llvm-gcc-4.2/trunk/gcc/tree-ssa-loop-niter.c
    llvm-gcc-4.2/trunk/gcc/tree.def
    llvm-gcc-4.2/trunk/gcc/tree.h
    llvm-gcc-4.2/trunk/gcc/version.c
    llvm-gcc-4.2/trunk/include/ChangeLog
    llvm-gcc-4.2/trunk/intl/ChangeLog
    llvm-gcc-4.2/trunk/libcpp/ChangeLog
    llvm-gcc-4.2/trunk/libcpp/makedepend.c
    llvm-gcc-4.2/trunk/libcpp/po/ChangeLog
    llvm-gcc-4.2/trunk/libcpp/po/be.po
    llvm-gcc-4.2/trunk/libcpp/po/ca.po
    llvm-gcc-4.2/trunk/libcpp/po/cpplib.pot
    llvm-gcc-4.2/trunk/libcpp/po/da.po
    llvm-gcc-4.2/trunk/libcpp/po/de.po
    llvm-gcc-4.2/trunk/libcpp/po/el.po
    llvm-gcc-4.2/trunk/libcpp/po/es.po
    llvm-gcc-4.2/trunk/libcpp/po/fr.po
    llvm-gcc-4.2/trunk/libcpp/po/ja.po
    llvm-gcc-4.2/trunk/libcpp/po/nl.po
    llvm-gcc-4.2/trunk/libcpp/po/rw.po
    llvm-gcc-4.2/trunk/libcpp/po/sv.po
    llvm-gcc-4.2/trunk/libcpp/po/tr.po
    llvm-gcc-4.2/trunk/libcpp/po/vi.po
    llvm-gcc-4.2/trunk/libcpp/po/zh_CN.po
    llvm-gcc-4.2/trunk/libcpp/po/zh_TW.po
    llvm-gcc-4.2/trunk/libdecnumber/ChangeLog
    llvm-gcc-4.2/trunk/libgomp/ChangeLog
    llvm-gcc-4.2/trunk/libgomp/config/posix/lock.c
    llvm-gcc-4.2/trunk/libgomp/sections.c
    llvm-gcc-4.2/trunk/libiberty/ChangeLog
    llvm-gcc-4.2/trunk/maintainer-scripts/ChangeLog
    llvm-gcc-4.2/trunk/maintainer-scripts/gcc_release

Modified: llvm-gcc-4.2/trunk/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,12 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
+2007-07-05  Rainer Orth  <ro at TechFak.Uni-Bielefeld.DE>
+
+	* MAINTAINERS (OS Port Maintainers): Add myself as IRIX, Tru64 UNIX
+	maintainer.
+
 2007-05-30  Jakub Jelinek  <jakub at redhat.com>
 
 	PR bootstrap/29382

Modified: llvm-gcc-4.2/trunk/ChangeLog.apple
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/ChangeLog.apple?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/ChangeLog.apple (original)
+++ llvm-gcc-4.2/trunk/ChangeLog.apple Thu Aug  2 20:00:37 2007
@@ -1,3 +1,8 @@
+2007-07-31  Mike Stump  <mrs at apple.com>
+
+	Radar 5370764
+	* REMOVED: Document removed files.
+
 2007-06-20  Eric Christopher  <echristo at apple.com>
 
 	Radar 5279253

Modified: llvm-gcc-4.2/trunk/MAINTAINERS
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/MAINTAINERS?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/MAINTAINERS (original)
+++ llvm-gcc-4.2/trunk/MAINTAINERS Thu Aug  2 20:00:37 2007
@@ -98,6 +98,7 @@
 freebsd			Loren J. Rittle		ljrittle at acm.org
 hpux			Dave Anglin		dave.anglin at nrc.ca
 hpux			Steve Ellcey		sje at cup.hp.com
+irix, osf		Rainer Orth		ro at TechFak.Uni-Bielefeld.DE
 netbsd			Jason Thorpe		thorpej at netbsd.org
 sco5, unixware, sco udk	Kean Johnston		jkj at sco.com
 sh-linux-gnu		Kaz Kojima		kkojima at gcc.gnu.org
@@ -327,7 +328,6 @@
 Turly O'Connor					turly at apple.com
 Carlos O'Donell					carlos at codesourcery.com
 Jeffrey D. Oldham				oldham at codesourcery.com
-Rainer Orth					ro at TechFak.Uni-Bielefeld.DE
 Devang Patel					dpatel at apple.com
 Alexandre Petit-Bianco				apbianco at redhat.com
 Nicolas Pitre					nico at cam.org

Modified: llvm-gcc-4.2/trunk/build_gcc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/build_gcc?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/build_gcc (original)
+++ llvm-gcc-4.2/trunk/build_gcc Thu Aug  2 20:00:37 2007
@@ -421,21 +421,21 @@
     .$DEST_ROOT/lib/gcc || exit 1
 done
 
-# And copy libgomp stuff and libobjc-gnu by hand...
+# And copy libgomp stuff by hand...
 for t in $TARGETS ; do
     for h in $HOSTS ; do
 	if [ $h = $t ] ; then
-	    cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/lib{gomp,objc-gnu}.a \
+	    cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/libgomp.a \
 		.$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ || exit 1
 	    cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/libgomp.spec \
 		.$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ || exit 1
 	    if [ $h = 'powerpc' ] ; then
-		cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/ppc64/lib{gomp,objc-gnu}.a \
+		cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/ppc64/libgomp.a \
 		    .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ppc64/ || exit 1
 		cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/ppc64/libgomp.spec \
 		    .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/ppc64/ || exit 1
 	    elif [ $h = 'i686' ] ; then
-		cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/x86_64/lib{gomp,objc-gnu}.a \
+		cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/x86_64/libgomp.a \
 		    .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/x86_64/ || exit 1
 		cp -p $DIR/dst-$h-$t$DEST_ROOT/lib/x86_64/libgomp.spec \
 		    .$DEST_ROOT/lib/gcc/$t-apple-darwin$DARWIN_VERS/$VERS/x86_64/ || exit 1

Modified: llvm-gcc-4.2/trunk/config/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/config/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/config/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/config/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,7 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
 2007-06-20  Mike Stump  <mrs at apple.com>
 
 	* acx.m4 (NCN_STRICT_CHECK_TARGET_TOOLS): Fix incremental builds.

Modified: llvm-gcc-4.2/trunk/contrib/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/contrib/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/contrib/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/contrib/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,7 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
 2007-05-13  Release Manager
 
 	* GCC 4.2.0 released.

Modified: llvm-gcc-4.2/trunk/contrib/reghunt/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/contrib/reghunt/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/contrib/reghunt/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/contrib/reghunt/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,7 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
 2007-05-13  Release Manager
 
 	* GCC 4.2.0 released.

Modified: llvm-gcc-4.2/trunk/contrib/regression/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/contrib/regression/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/contrib/regression/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/contrib/regression/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,7 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
 2007-05-13  Release Manager
 
 	* GCC 4.2.0 released.

Modified: llvm-gcc-4.2/trunk/fixincludes/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/fixincludes/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/fixincludes/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/fixincludes/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,22 @@
+2007-07-19  Geoffrey Keating  <geoffk at apple.com>
+
+	* inclhack.def (darwin_macho_swaph_externc): New fix.
+	* fixincl.x: Regenerate.
+	* tests/base/mach-o/swap.h: New.
+
+/* APPLE LOCAL merge marger */
+/* Stuff above is only in mainline, not the 4.2 branch */
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
+2007-07-10  Rainer Orth  <ro at TechFak.Uni-Bielefeld.DE>
+
+	PR libgcj/28190
+	* inclhack.def (irix_stdint_c99): New fix.
+	* fixincl.x: Regenerate.
+	* tests/base/stdint.h: New test.
+
 2007-05-13  Release Manager
 
 	* GCC 4.2.0 released.

Modified: llvm-gcc-4.2/trunk/fixincludes/configure
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/fixincludes/configure?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/fixincludes/configure (original)
+++ llvm-gcc-4.2/trunk/fixincludes/configure Thu Aug  2 20:00:37 2007
@@ -2355,7 +2355,6 @@
 
 # Figure out what compiler warnings we can enable.
 # See config/warnings.m4 for details.
-# APPLE LOCAL begin fixincludes add -Wno-overlength-strings
 
 
 WARN_CFLAGS=
@@ -2493,7 +2492,6 @@
 fi
 
 
-# APPLE LOCAL end fixincludes add -Wno-overlength-strings
 
 # Only enable with --enable-werror-always until existing warnings are
 # corrected.

Modified: llvm-gcc-4.2/trunk/fixincludes/configure.ac
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/fixincludes/configure.ac?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/fixincludes/configure.ac (original)
+++ llvm-gcc-4.2/trunk/fixincludes/configure.ac Thu Aug  2 20:00:37 2007
@@ -8,13 +8,11 @@
 
 # Figure out what compiler warnings we can enable.
 # See config/warnings.m4 for details.
-# APPLE LOCAL begin fixincludes add -Wno-overlength-strings
 
 ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
 			  -Wmissing-prototypes -Wold-style-definition \
 			  -Wmissing-format-attribute -Wno-overlength-strings])
 ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
-# APPLE LOCAL end fixincludes add -Wno-overlength-strings
 
 # Only enable with --enable-werror-always until existing warnings are
 # corrected.

Modified: llvm-gcc-4.2/trunk/fixincludes/fixincl.x
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/fixincludes/fixincl.x?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/fixincludes/fixincl.x (original)
+++ llvm-gcc-4.2/trunk/fixincludes/fixincl.x Thu Aug  2 20:00:37 2007
@@ -2,11 +2,11 @@
  * 
  * DO NOT EDIT THIS FILE   (fixincl.x)
  * 
- * It has been AutoGen-ed  Tuesday July 10, 2007 at 03:54:37 PM PDT
+ * It has been AutoGen-ed  Thursday August  2, 2007 at 04:56:07 PM PDT
  * From the definitions    inclhack.def
  * and the template file   fixincl
  */
-/* DO NOT CVS-MERGE THIS FILE, EITHER Tue Jul 10 15:54:37 PDT 2007
+/* DO NOT CVS-MERGE THIS FILE, EITHER Thu Aug  2 16:56:07 PDT 2007
  *
  * You must regenerate it.  Use the ./genfixes script.
  *
@@ -15,7 +15,7 @@
  * certain ANSI-incompatible system header files which are fixed to work
  * correctly with ANSI C and placed in a directory that GNU C will search.
  *
- * This file contains 209 fixup descriptions.
+ * This file contains 210 fixup descriptions.
  *
  * See README for more information.
  *
@@ -1957,42 +1957,44 @@
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
- *  Description of Darwin_Macosx_Deployment_Target fix
+ *  Description of Darwin_Macho_Swaph_Externc fix
  */
-tSCC zDarwin_Macosx_Deployment_TargetName[] =
-     "darwin_macosx_deployment_target";
+tSCC zDarwin_Macho_Swaph_ExterncName[] =
+     "darwin_macho_swaph_externc";
 
 /*
  *  File name selection pattern
  */
-tSCC zDarwin_Macosx_Deployment_TargetList[] =
-  "|AvailabilityMacros.h|";
+tSCC zDarwin_Macho_Swaph_ExterncList[] =
+  "|mach-o/swap.h|";
 /*
  *  Machine/OS name selection pattern
  */
-tSCC* apzDarwin_Macosx_Deployment_TargetMachs[] = {
+tSCC* apzDarwin_Macho_Swaph_ExterncMachs[] = {
         "*-*-darwin*",
         (const char*)NULL };
 
 /*
  *  content bypass pattern - skip fix if pattern found
  */
-tSCC zDarwin_Macosx_Deployment_TargetBypass0[] =
-       "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__";
+tSCC zDarwin_Macho_Swaph_ExterncBypass0[] =
+       "extern \"C\"";
 
-#define    DARWIN_MACOSX_DEPLOYMENT_TARGET_TEST_CT  1
-static tTestDesc aDarwin_Macosx_Deployment_TargetTests[] = {
-  { TT_NEGREP,   zDarwin_Macosx_Deployment_TargetBypass0, (regex_t*)NULL }, };
+#define    DARWIN_MACHO_SWAPH_EXTERNC_TEST_CT  1
+static tTestDesc aDarwin_Macho_Swaph_ExterncTests[] = {
+  { TT_NEGREP,   zDarwin_Macho_Swaph_ExterncBypass0, (regex_t*)NULL }, };
 
 /*
- *  Fix Command Arguments for Darwin_Macosx_Deployment_Target
+ *  Fix Command Arguments for Darwin_Macho_Swaph_Externc
  */
-static const char* apzDarwin_Macosx_Deployment_TargetPatch[] = {
-    "format",
-    "#if ! defined (MAC_OS_X_VERSION_MIN_REQUIRED) && defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)\n\
-  #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__\n\
-#elif ! defined (MAC_OS_X_VERSION_MIN_REQUIRED)\n",
-    "#ifndef MAC_OS_X_VERSION_MIN_REQUIRED\n",
+static const char* apzDarwin_Macho_Swaph_ExterncPatch[] = {
+    "wrap",
+    "#if __cplusplus\n\
+extern \"C\" {\n\
+#endif\n",
+    "#if __cplusplus\n\
+}\n\
+#endif\n",
     (char*)NULL };
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -3913,6 +3915,45 @@
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * *
  *
+ *  Description of Irix_Stdint_C99 fix
+ */
+tSCC zIrix_Stdint_C99Name[] =
+     "irix_stdint_c99";
+
+/*
+ *  File name selection pattern
+ */
+tSCC zIrix_Stdint_C99List[] =
+  "|stdint.h|";
+/*
+ *  Machine/OS name selection pattern
+ */
+tSCC* apzIrix_Stdint_C99Machs[] = {
+        "mips-sgi-irix6.5",
+        (const char*)NULL };
+
+/*
+ *  content selection pattern - do fix if pattern found
+ */
+tSCC zIrix_Stdint_C99Select0[] =
+       "(#ifndef __c99\n\
+)(#error This header file is to be used only for c99 mode compilations)";
+
+#define    IRIX_STDINT_C99_TEST_CT  1
+static tTestDesc aIrix_Stdint_C99Tests[] = {
+  { TT_EGREP,    zIrix_Stdint_C99Select0, (regex_t*)NULL }, };
+
+/*
+ *  Fix Command Arguments for Irix_Stdint_C99
+ */
+static const char* apzIrix_Stdint_C99Patch[] = {
+    "format",
+    "#if 0\n\
+%2",
+    (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
  *  Description of Irix_Stdio_Va_List fix
  */
 tSCC zIrix_Stdio_Va_ListName[] =
@@ -8507,9 +8548,9 @@
  *
  *  List of all fixes
  */
-#define REGEX_COUNT          251
+#define REGEX_COUNT          252
 #define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT            209
+#define FIX_COUNT            210
 
 /*
  *  Enumerate the fixes
@@ -8559,7 +8600,7 @@
     CTRL_QUOTES_USE_FIXIDX,
     CXX_UNREADY_FIXIDX,
     DARWIN_GCC4_BREAKAGE_FIXIDX,
-    DARWIN_MACOSX_DEPLOYMENT_TARGET_FIXIDX,
+    DARWIN_MACHO_SWAPH_EXTERNC_FIXIDX,
     DARWIN_PRIVATE_EXTERN_FIXIDX,
     DARWIN_STDINT_GUARDS_INTN_FIXIDX,
     DARWIN_STDINT_GUARDS_INTPTR_FIXIDX,
@@ -8608,6 +8649,7 @@
     IRIX_ASM_APOSTROPHE_FIXIDX,
     IRIX_LIMITS_CONST_FIXIDX,
     IRIX_SOCKLEN_T_FIXIDX,
+    IRIX_STDINT_C99_FIXIDX,
     IRIX_STDIO_VA_LIST_FIXIDX,
     IRIX_WCSFTIME_FIXIDX,
     ISC_FMOD_FIXIDX,
@@ -8947,10 +8989,10 @@
      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
 
-  {  zDarwin_Macosx_Deployment_TargetName,    zDarwin_Macosx_Deployment_TargetList,
-     apzDarwin_Macosx_Deployment_TargetMachs,
-     DARWIN_MACOSX_DEPLOYMENT_TARGET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
-     aDarwin_Macosx_Deployment_TargetTests,   apzDarwin_Macosx_Deployment_TargetPatch, 0 },
+  {  zDarwin_Macho_Swaph_ExterncName,    zDarwin_Macho_Swaph_ExterncList,
+     apzDarwin_Macho_Swaph_ExterncMachs,
+     DARWIN_MACHO_SWAPH_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aDarwin_Macho_Swaph_ExterncTests,   apzDarwin_Macho_Swaph_ExterncPatch, 0 },
 
   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
      apzDarwin_Private_ExternMachs,
@@ -9192,6 +9234,11 @@
      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
 
+  {  zIrix_Stdint_C99Name,    zIrix_Stdint_C99List,
+     apzIrix_Stdint_C99Machs,
+     IRIX_STDINT_C99_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+     aIrix_Stdint_C99Tests,   apzIrix_Stdint_C99Patch, 0 },
+
   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
      apzIrix_Stdio_Va_ListMachs,
      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,

Modified: llvm-gcc-4.2/trunk/fixincludes/inclhack.def
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/fixincludes/inclhack.def?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/fixincludes/inclhack.def (original)
+++ llvm-gcc-4.2/trunk/fixincludes/inclhack.def Thu Aug  2 20:00:37 2007
@@ -1206,24 +1206,22 @@
 };
 
 
-/* APPLE LOCAL begin deployment target */
+/* APPLE LOCAL begin for-fsf-4_4 5133297 */
 /*
- *  GCC used to set MAC_OS_X_VERSION_MIN_REQUIRED directly, but that isn't
- *  namespace-clean.
+ *  On darwin8 and earlier, mach-o/swap.h isn't properly guarded
+ *  by 'extern "C"'.
  */
 fix = {
-  hackname  = darwin_macosx_deployment_target;
+  hackname  = darwin_macho_swaph_externc;
   mach      = "*-*-darwin*";
-  files     = AvailabilityMacros.h;
-  bypass    = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__";
-  c_fix     = format;
-  c_fix_arg = "#if ! defined (MAC_OS_X_VERSION_MIN_REQUIRED) && defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)\n  #define MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__\n#elif ! defined (MAC_OS_X_VERSION_MIN_REQUIRED)\n";
-  c_fix_arg = "#ifndef MAC_OS_X_VERSION_MIN_REQUIRED\n";
-  test_text = "__private_extern__ int _dyld_func_lookup(\n"
-	      "const char *dyld_func_name,\n"
-	      "unsigned long *address);\n";
+  files     = mach-o/swap.h;
+  bypass    = "extern \"C\"";
+  c_fix     = wrap;
+  c_fix_arg = "#if __cplusplus\nextern \"C\" {\n#endif\n";
+  c_fix_arg = "#if __cplusplus\n}\n#endif\n";
+  test_text = "extern void swap_fat_header();\n";
 };
-/* APPLE LOCAL end deployment target */
+/* APPLE LOCAL end for-fsf-4_4 5133297 */
 
 
 /*
@@ -2200,6 +2198,24 @@
 };
 
 /*
+ *  IRIX 6.5 <stdint.h> only works with ISO C99 and errors out
+ *  otherwise.
+ */
+fix = {
+    hackname  = irix_stdint_c99;
+    files     = stdint.h;
+    select = "(#ifndef __c99\n)(#error This header file is to be used only for c99 mode compilations)";
+
+    mach      = "mips-sgi-irix6.5";
+    c_fix  = format;
+    c_fix_arg = "#if 0\n"
+	        "%2";
+    test_text =
+    "#ifndef __c99\n#error This header file is to be used only for c99 mode compilations\n#else";
+};
+
+
+/*
  *  IRIX 5.x's stdio.h and IRIX 6.5's internal/stdio_core.h declare
  *  some functions that take a va_list as
  *  taking char *.  However, GCC uses void * for va_list, so

Modified: llvm-gcc-4.2/trunk/gcc/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/gcc/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,18 @@
+2007-06-21  H.J. Lu  <hongjiu.lu at intel.com>
+
+	Radar 5289915
+	* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
+	(ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
+        (ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
+	
+2007-07-03  Eric Christopher  <echristo at apple.com>
+
+	Radar 4361482
+	* doc/cppopts.texi: Add conflicting option note to -dM.
+	* doc/invoke.texi: Add note about possible conflicts with
+	-E for -dCHARS and note that -dM will not produce
+	any results if there is no machine dependent reorg.
+	
 2006-12-13  Geoffrey Keating  <geoffk at apple.com>
 
 	Radar 4697325
@@ -251,6 +266,187 @@
 
 /* APPLE LOCAL merge marger */
 /* Stuff above is only in mainline, not the 4.2 branch */
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
+2007-07-18  Paolo Bonzini  <bonzini at gnu.org>
+
+	Revert:
+
+	2007-07-09  Paolo Bonzini  <bonzini at gnu.org>
+
+	PR middle-end/32004
+	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
+
+	2007-07-06  Paolo Bonzini  <bonzini at gnu.org>
+
+	PR middle-end/32004
+	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
+	pass_match_asm_constraints): New.
+	* passes.c (init_optimization_passes): Add new pass.
+	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
+	* function.h (struct function): Add has_asm_statement bit.
+	(current_function_has_asm_statement): New.
+	* tree-pass.h (pass_match_asm_constraints): New.
+
+2007-07-16  Paul Brook  <paul at codesourcery.com>
+
+	PR target/32753
+	gcc/
+	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
+
+2007-07-10  Rainer Orth  <ro at TechFak.Uni-Bielefeld.DE>
+
+	PR target/32538
+	* config/mips/iris6.h (LIBGCC_SPEC): Add libm.
+
+2007-07-09  Paolo Bonzini  <bonzini at gnu.org>
+
+	PR middle-end/32004
+	* function.c (rest_of_match_asm_constraints): Pass PROP_REG_INFO.
+
+2007-07-09  Uros Bizjak  <ubizjak at gmail.com>
+
+	PR tree-optimization/32681
+	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
+	saved in second_edge->aux when first_bb is a loop header.
+
+2007-07-07 Anatoly Sokolov <aesok at post.ru>
+
+	PR target/31331
+	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
+	rather than a decl. 
+	(avr_attribute_table): Make "naked" attribute apply to function types
+	rather than to decls.
+	(avr_handle_fntype_attribute): New function.
+
+2007-07-06  Paolo Bonzini  <bonzini at gnu.org>
+
+	PR middle-end/32004
+	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
+	pass_match_asm_constraints): New.
+	* passes.c (init_optimization_passes): Add new pass.
+	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
+	* function.h (struct function): Add has_asm_statement bit.
+	(current_function_has_asm_statement): New.
+	* tree-pass.h (pass_match_asm_constraints): New.
+
+2007-07-06  Uros Bizjak  <ubizjak at gmail.com>
+
+	PR rtl-optimization/32450
+	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
+	to ensure that instructions are not moved into the prologue when
+	profiling is on.
+
+2007-07-04  Richard Guenther  <rguenther at suse.de>
+
+	PR tree-optimization/32500
+	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
+	Only use basic blocks that are always executed to infer loop bounds.
+
+2007-07-04  Uros Bizjak  <ubizjak at gmail.com>
+
+	PR tree-optimization/31966
+	PR tree-optimization/32533
+	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
+	"basic_block" description as its third argument.  Update function
+	calls to get destination bb from "edge" argument.  Save "cond" into
+	aux field of the edge.  Update prototype for changed arguments.
+	(if_convertible_loop_p): Clear aux field of incoming edges if bb
+	contains phi node.
+	(find_phi_replacement_condition): Operate on incoming edges, not
+	on predecessor blocks.  If there is a condition saved in the
+	incoming edge aux field, AND it with incoming bb predicate.
+	Return source bb of the first edge.
+	(clean_predicate_lists): Clean aux field of outgoing node edges.
+	(tree_if_conversion): Do not initialize cond variable. Move
+	variable declaration into the loop.
+	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
+	initializations of new_stmt, arg0 and arg1 variables.
+
+2007-07-04  Kaz Kojima  <kkojima at gcc.gnu.org>
+
+	PR target/32506
+	Backport from mainline.
+	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
+	predicate instead of target_operand.
+	(divsi3_i1_media, divsi3_media_2): Likewise.
+
+2007-07-03  Richard Guenther  <rguenther at suse.de>
+
+	Backport from mainline:
+	2006-12-11  Zdenek Dvorak <dvorakz at suse.cz>
+
+	PR rtl-optimization/30113
+	* loop-iv.c (implies_p): Require the mode of the operands to be
+	scalar.
+
+2007-07-03  Rainer Orth  <ro at TechFak.Uni-Bielefeld.DE>
+
+	PR target/28307
+	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
+	(__gthrw_pragma): Provide default definition.
+	(__gthrw2): Use it.
+	* gthr-posix.c (__gthrw_pragma): Define.
+
+2007-07-02  Jakub Jelinek  <jakub at redhat.com>
+
+	PR libgomp/32468
+	* omp-low.c (check_combined_parallel): New function.
+	(lower_omp_parallel): Call it via walk_stmts, set
+	OMP_PARALLEL_COMBINED if appropriate.
+	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
+	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
+	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
+	don't consider it as combined parallel.
+
+2007-06-30  Alexandre Oliva  <aoliva at redhat.com>
+
+	* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
+	limbo die nodes.
+
+2007-06-28  Seongbae Park  <seongbae.park at gmail.com>
+
+	* config/arm/arm.c (arm_get_frame_offsets): Set
+	offsets->locals_base to avoid negative stack size.
+	(thumb_expand_prologue): Assert on negative stack size.
+
+2007-06-28  Jakub Jelinek  <jakub at redhat.com>
+
+	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
+	decl is non-external for AIX ABI.
+
+2007-06-28  David Edelsohn  <edelsohn at gnu.org>
+
+	* config/rs6000/predicates.md (current_file_function_operand):
+	Ensure the symbol is non-external for AIX ABI.
+
+2007-06-21  H.J. Lu  <hongjiu.lu at intel.com>
+
+	* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_VEC_EXT_V16QI.
+	(ix86_init_mmx_sse_builtins): Add __builtin_ia32_vec_ext_v16qi.
+	(ix86_expand_builtin): Handle IX86_BUILTIN_VEC_EXT_V16QI.
+
+2007-06-21  Jakub Jelinek  <jakub at redhat.com>
+
+	PR middle-end/32362
+	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
+	but decl is a global var, instead return decl.
+	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
+	even for is_global_var decls, if they are private in some outer
+	context.
+
+2007-06-21  Uros Bizjak  <ubizjak at gmail.com>
+
+	PR target/32389
+	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
+	* config/i386/i386.c (assign_386_stack_local): Assert that
+	SLOT_VIRTUAL is valid only before virtual regs are instantiated.
+	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
+	Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
+	* config/i386/i386.md (truncdfsf2, truncxfsf2, truncxfdf2): Ditto.
+
 2007-06-20  Jakub Jelinek  <jakub at redhat.com>
 
 	PR inline-asm/32109

Modified: llvm-gcc-4.2/trunk/gcc/ChangeLog.apple
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/ChangeLog.apple?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/ChangeLog.apple (original)
+++ llvm-gcc-4.2/trunk/gcc/ChangeLog.apple Thu Aug  2 20:00:37 2007
@@ -1,3 +1,108 @@
+2007-07-24  Stuart Hastings  <stuart at apple.com>
+
+	Radar 5346453
+	* gcc/config/darwin.c (machopic_select_section): C strings
+	with embedded NUL characters are ineligible for the .cstring
+	section.
+
+2007-07-17  Stuart Hastings  <stuart at apple.com>
+
+	* config/i386.c (ix86_init_mmx_sse_builtins): Delete
+          twice-merged definition of __builtin_ia32_vec_ext_v16qi.
+
+2007-07-13  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5277239
+	* c-parser.c (c_parser_next_token_starts_declspecs): Exclude
+	objc2's property dot-syntax as a declarator.
+	(c_parser_postfix_expression): Convert property dot-syntax on
+	class objects into a property reference expression.
+
+2007-07-10  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 5285911
+	* tree.h (CALL_EXPR_OBJC_PROPERTY_GETTER): Macro removed.
+	* c-typeck.c (build_component_ref): Call 
+	objc_build_property_reference_expr instead of objc_build_getter_call.
+	(build_modify_expr): Call objc_property_reference_expr instead of
+	objc_property_call.
+	* c-common.h (objc_build_getter_call, objc_property_call): Decl removed.
+	(objc_build_property_reference_expr, objc_property_reference_expr): Decl.
+	added.
+	* stub-objc.c (objc_build_getter_call, objc_property_call): Stub removed.
+	(objc_build_property_reference_expr, objc_property_reference_expr): 
+	Stub added.
+
+2007-06-29  Stuart Hastings  <stuart at apple.com>
+
+	* gcc/cfghooks.c (split_block): One-line APPLE LOCAL needs
+          begin and end markers.
+	* gcc/objc/objc-act.c (objc2_build_indirect_ref_ivar2): Add a
+          comment to prevent '}' from matching in the wrong place.
+	* gcc/testsuite/gcc.dg/invalid-call-1.c: Missing APPLE LOCAL.
+	* gcc/c-common.h (objc_build_weak_reference_tree,
+          objc_v2_build_ivar_ref, diagnose_selector_cast,
+          objc_check_format_nsstring): One-line APPLE LOCAL needs
+          begin and end markers.
+	* gcc/stub-objc.c: Remove a blank line to appease checklocals.
+          (objc_build_weak_reference_type): Move an APPLE LOCAL from
+          here... (objc_weak_reference_expr): ...to here.
+	* gcc/loop-doloop.c (doloop_valid_p): Remove a blank line to
+          appease checklocals.
+	* gcc/predict.c (predict_loops): Likewise.
+	* gcc/tree-flow.c: Likewise.
+	* gcc/tree-ssa-loop-niter.c: Likewise.
+	* gcc/config/i386/i386.c: Likewise.
+	* gcc/cfgrtl.c: Likewise.
+
+2007-07-02  Hui-May Chang  <hm.chang at apple.com>
+
+	Radar 4993982
+	Backport from mainline:
+	007-03-08  Zdenek Dvorak  <dvorakz at suse.cz>
+	PR tree-optimization/31085
+	* tree-ssa-address.c (create_mem_ref): Fix test of type of base.
+	Do not put an expression containing a cast to the base of
+	TARGET_MEM_REF.
+
+2007-06-29  Stuart Hastings  <stuart at apple.com>
+
+	* gcc/builtins.c: Remove a blank line to appease checklocals.
+
+2007-06-29  Fariborz Jahanian <fjahanian at apple.com>
+
+       Radar 5082000
+       * c.opt (-print-objc-ivar-layout): New option
+       * c-opts.c (c_common_handle_option): Set print_objc_ivar_layout
+       * c-common.c (print_objc_ivar_layout): declare
+       * c-common.h (print_objc_ivar_layout): declare
+
+2007-06-29  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5276085
+        * c-parser.c (c_parser_binary_expression) : objc_generate_weak_read 
+	replaced with call to objc_build_weak_reference_tree
+        * c-typeck.c (build_modify_expr, c_objc_common_truthvalue_conversion): 
+	objc_remove_weak_read replaced with call to objc_weak_reference_expr.
+        * c-common.h (objc_weak_reference_expr,
+        objc_build_weak_reference_tree) : New decl.
+        (objc_generate_weak_read, objc_remove_weak_read): remove.
+        * stub-objc.c (objc_weak_reference_expr,
+        objc_build_weak_reference_tree): New stub.
+        (objc_generate_weak_read, objc_remove_weak_read): remove.
+
+2007-06-28  Geoffrey Keating  <geoffk at apple.com>
+
+	* version.c: Update comments, put space before VERSUFFIX.
+
+2007-06-27  Geoffrey Keating  <geoffk at apple.com>
+
+	* config/darwin.h (CPP_SPEC): Remove local change to pass down
+	-arch (which cc1 doesn't understand).
+
+	* cgraphunit.c (cgraph_build_static_cdtor): Remove local change
+	so that DECL_IGNORED_P is set.
+
 2007-06-26  Geoffrey Keating  <geoffk at apple.com>
 
 	Radar 5295606

Modified: llvm-gcc-4.2/trunk/gcc/DATESTAMP
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/DATESTAMP?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/DATESTAMP (original)
+++ llvm-gcc-4.2/trunk/gcc/DATESTAMP Thu Aug  2 20:00:37 2007
@@ -1 +1 @@
-20070620
+20070719

Modified: llvm-gcc-4.2/trunk/gcc/DEV-PHASE
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/DEV-PHASE?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/DEV-PHASE (original)
+++ llvm-gcc-4.2/trunk/gcc/DEV-PHASE Thu Aug  2 20:00:37 2007
@@ -1 +0,0 @@
-prerelease

Modified: llvm-gcc-4.2/trunk/gcc/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/Makefile.in?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/Makefile.in (original)
+++ llvm-gcc-4.2/trunk/gcc/Makefile.in Thu Aug  2 20:00:37 2007
@@ -346,7 +346,7 @@
 
 # Header files that are made available under the same name
 # to programs compiled with GCC.
-# APPLE LOCAL begin radar 2872232 add tgmath.h
+# APPLE LOCAL begin mainline 2007-06-12 2872232
 USER_H = $(srcdir)/ginclude/decfloat.h \
 	 $(srcdir)/ginclude/float.h \
 	 $(srcdir)/ginclude/iso646.h \
@@ -356,7 +356,7 @@
 	 $(srcdir)/ginclude/tgmath.h \
 	 $(srcdir)/ginclude/varargs.h \
 	 $(EXTRA_HEADERS)
-# APPLE LOCAL end radar 2872232 add tgmath.h
+# APPLE LOCAL end mainline 2007-06-12 2872232
 
 UNWIND_H = $(srcdir)/unwind-generic.h
 

Modified: llvm-gcc-4.2/trunk/gcc/autom4te.cache/output.0
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/autom4te.cache/output.0?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/autom4te.cache/output.0 (original)
+++ llvm-gcc-4.2/trunk/gcc/autom4te.cache/output.0 Thu Aug  2 20:00:37 2007
@@ -309,7 +309,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn cxx_compat_warn warn_cflags WERROR checkingenabled_flag nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep DSYMUTIL LLVMBASEPATH datarootdir docdir htmldir SET_MAKE AWK !
 LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_selected_languages all_stagestuff build_exeext build_install_heade!
 rs_dir build_xm_file_list build_xm_include_list build_xm_defin!
 es check
_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_cxx_file out_object_file out_cxx_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIB@&t at OBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn cxx_compat_warn warn_cflags WERROR checkingenabled_flag nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep DSYMUTIL LLVMBASEPATH LLVMBUILDMODE datarootdir docdir htmldir!
  SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_selected_languages all_stagestuff build_exeext build!
 _install_headers_dir build_xm_file_list build_xm_include_list !
 build_xm
_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_cxx_file out_object_file out_cxx_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIB@&t at OBJS LTLIBOBJS'
 ac_subst_files='language_hooks'
 
 # Initialize some variables set by options.
@@ -6255,7 +6255,7 @@
 if test $ac_cv_prog_cc_w_no_long_long = yes \
    && test $ac_cv_prog_cc_w_no_variadic_macros = yes \
    && test $ac_cv_prog_cc_w_no_overlength_strings = yes ; then
-  strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings"
+  strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros"
 fi
 
 # Add -Wold-style-definition if it's accepted
@@ -7370,10 +7370,28 @@
 
  if test -x "$LLVMBASEPATH/Release/bin/llc$EXEEXT"; then
      echo Found Release LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Release"
  elif test -x "$LLVMBASEPATH/Debug/bin/llc$EXEEXT"; then
      echo Found Debug LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Debug"
  elif test -x "$LLVMBASEPATH/Release-Asserts/bin/llc$EXEEXT"; then
      echo Found Release-Asserts LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Release-Asserts"
+ elif test -x "$LLVMBASEPATH/Debug-Asserts/bin/llc$EXEEXT"; then
+     echo Found Debug-Asserts LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Debug-Asserts"
+ elif test -x "$LLVMBASEPATH/Release+Checks/bin/llc$EXEEXT"; then
+     echo Found Release+Checks LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Release+Checks"
+ elif test -x "$LLVMBASEPATH/Debug+Checks/bin/llc$EXEEXT"; then
+     echo Found Debug+Checks LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Debug+Checks"
+ elif test -x "$LLVMBASEPATH/Release-Asserts+Checks/bin/llc$EXEEXT"; then
+     echo Found Release-Asserts+Checks LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Release-Asserts+Checks"
+ elif test -x "$LLVMBASEPATH/Debug-Asserts+Checks/bin/llc$EXEEXT"; then
+     echo Found Debug-Asserts+Checks LLVM Tree in $LLVMBASEPATH
+     LLVMBUILDMODE="Debug-Asserts+Checks"
  else
      { { echo "$as_me:$LINENO: error: You must specify valid path to your LLVM tree with --enable-llvm=DIR" >&5
 echo "$as_me: error: You must specify valid path to your LLVM tree with --enable-llvm=DIR" >&2;}
@@ -7382,8 +7400,12 @@
 
 else
   LLVMBASEPATH=""
+ LLVMBUILDMODE=""
+
 fi; 
 
+# Send llvm build mode to gcc Makefiles
+
 # LLVM LOCAL end
 
 # Sanity check enable_languages in case someone does not run the toplevel
@@ -17687,6 +17709,7 @@
 s, at onestep@,$onestep,;t t
 s, at DSYMUTIL@,$DSYMUTIL,;t t
 s, at LLVMBASEPATH@,$LLVMBASEPATH,;t t
+s, at LLVMBUILDMODE@,$LLVMBUILDMODE,;t t
 s, at datarootdir@,$datarootdir,;t t
 s, at docdir@,$docdir,;t t
 s, at htmldir@,$htmldir,;t t

Modified: llvm-gcc-4.2/trunk/gcc/autom4te.cache/traces.0
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/autom4te.cache/traces.0?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/autom4te.cache/traces.0 (original)
+++ llvm-gcc-4.2/trunk/gcc/autom4te.cache/traces.0 Thu Aug  2 20:00:37 2007
@@ -410,883 +410,884 @@
 #undef HAVE_DSYMUTIL
 #endif
 ])
-m4trace:configure.ac:867: -1- AC_SUBST([LLVMBASEPATH])
-m4trace:configure.ac:893: -1- AC_SUBST([datarootdir])
-m4trace:configure.ac:894: -1- AC_SUBST([docdir])
-m4trace:configure.ac:895: -1- AC_SUBST([htmldir])
-m4trace:configure.ac:901: -1- AC_PROG_MAKE_SET
-m4trace:configure.ac:901: -1- AC_SUBST([SET_MAKE])
-m4trace:configure.ac:904: -1- AC_PROG_AWK
-m4trace:configure.ac:904: -1- AC_SUBST([AWK])
-m4trace:configure.ac:911: -1- AC_SUBST([LN_S])
-m4trace:configure.ac:912: -1- AC_SUBST([LN])
-m4trace:configure.ac:913: -1- AC_PROG_RANLIB
-m4trace:configure.ac:913: -1- AC_SUBST([RANLIB])
-m4trace:configure.ac:913: -1- AC_SUBST([ac_ct_RANLIB])
-m4trace:configure.ac:925: -1- AC_SUBST([ranlib_flags])
-m4trace:configure.ac:927: -1- AC_SUBST([INSTALL])
-m4trace:configure.ac:927: -1- AC_SUBST([INSTALL_PROGRAM])
-m4trace:configure.ac:927: -1- AC_SUBST([INSTALL_DATA])
-m4trace:configure.ac:930: -1- AC_CHECK_HEADERS([mach/mach_time.h])
-m4trace:configure.ac:930: -1- AH_OUTPUT([HAVE_MACH_MACH_TIME_H], [/* Define to 1 if you have the <mach/mach_time.h> header file. */
+m4trace:configure.ac:887: -1- AC_SUBST([LLVMBASEPATH])
+m4trace:configure.ac:889: -1- AC_SUBST([LLVMBUILDMODE])
+m4trace:configure.ac:915: -1- AC_SUBST([datarootdir])
+m4trace:configure.ac:916: -1- AC_SUBST([docdir])
+m4trace:configure.ac:917: -1- AC_SUBST([htmldir])
+m4trace:configure.ac:923: -1- AC_PROG_MAKE_SET
+m4trace:configure.ac:923: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.ac:926: -1- AC_PROG_AWK
+m4trace:configure.ac:926: -1- AC_SUBST([AWK])
+m4trace:configure.ac:933: -1- AC_SUBST([LN_S])
+m4trace:configure.ac:934: -1- AC_SUBST([LN])
+m4trace:configure.ac:935: -1- AC_PROG_RANLIB
+m4trace:configure.ac:935: -1- AC_SUBST([RANLIB])
+m4trace:configure.ac:935: -1- AC_SUBST([ac_ct_RANLIB])
+m4trace:configure.ac:947: -1- AC_SUBST([ranlib_flags])
+m4trace:configure.ac:949: -1- AC_SUBST([INSTALL])
+m4trace:configure.ac:949: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.ac:949: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.ac:952: -1- AC_CHECK_HEADERS([mach/mach_time.h])
+m4trace:configure.ac:952: -1- AH_OUTPUT([HAVE_MACH_MACH_TIME_H], [/* Define to 1 if you have the <mach/mach_time.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MACH_MACH_TIME_H
 #endif
 ])
-m4trace:configure.ac:934: -1- AC_SUBST([make_compare_target])
-m4trace:configure.ac:937: -1- AC_SUBST([have_mktemp_command])
-m4trace:configure.ac:945: -1- AC_SUBST([MAKEINFO])
-m4trace:configure.ac:955: -1- AC_SUBST([BUILD_INFO])
-m4trace:configure.ac:966: -1- AC_SUBST([GENERATED_MANPAGES])
-m4trace:configure.ac:971: -1- AC_SUBST([FLEX])
-m4trace:configure.ac:974: -1- AC_SUBST([BISON])
-m4trace:configure.ac:984: -1- AC_SUBST([NM])
-m4trace:configure.ac:992: -1- AC_SUBST([AR])
-m4trace:configure.ac:1011: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
-m4trace:configure.ac:1011: -1- AH_OUTPUT([_GNU_SOURCE], [/* Always define this when using the GNU C Library */
+m4trace:configure.ac:956: -1- AC_SUBST([make_compare_target])
+m4trace:configure.ac:959: -1- AC_SUBST([have_mktemp_command])
+m4trace:configure.ac:967: -1- AC_SUBST([MAKEINFO])
+m4trace:configure.ac:977: -1- AC_SUBST([BUILD_INFO])
+m4trace:configure.ac:988: -1- AC_SUBST([GENERATED_MANPAGES])
+m4trace:configure.ac:993: -1- AC_SUBST([FLEX])
+m4trace:configure.ac:996: -1- AC_SUBST([BISON])
+m4trace:configure.ac:1006: -1- AC_SUBST([NM])
+m4trace:configure.ac:1014: -1- AC_SUBST([AR])
+m4trace:configure.ac:1033: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
+m4trace:configure.ac:1033: -1- AH_OUTPUT([_GNU_SOURCE], [/* Always define this when using the GNU C Library */
 #ifndef USED_FOR_TARGET
 #undef _GNU_SOURCE
 #endif
 ])
-m4trace:configure.ac:1018: -1- AC_HEADER_STDC
-m4trace:configure.ac:1018: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
-m4trace:configure.ac:1018: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
+m4trace:configure.ac:1040: -1- AC_HEADER_STDC
+m4trace:configure.ac:1040: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
+m4trace:configure.ac:1040: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
 #ifndef USED_FOR_TARGET
 #undef STDC_HEADERS
 #endif
 ])
-m4trace:configure.ac:1019: -1- AC_HEADER_TIME
-m4trace:configure.ac:1019: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
-m4trace:configure.ac:1019: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+m4trace:configure.ac:1041: -1- AC_HEADER_TIME
+m4trace:configure.ac:1041: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
+m4trace:configure.ac:1041: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
 #ifndef USED_FOR_TARGET
 #undef TIME_WITH_SYS_TIME
 #endif
 ])
-m4trace:configure.ac:1020: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:1042: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:2180: AC_TRY_COMPILE is expanded from...
 autoconf/general.m4:1799: AC_CACHE_VAL is expanded from...
 autoconf/general.m4:1808: AC_CACHE_CHECK is expanded from...
 ../config/acx.m4:407: ACX_HEADER_STRING is expanded from...
-configure.ac:1020: the top level])
-m4trace:configure.ac:1020: -1- AC_DEFINE_TRACE_LITERAL([STRING_WITH_STRINGS])
-m4trace:configure.ac:1020: -1- AH_OUTPUT([STRING_WITH_STRINGS], [/* Define if you can safely include both <string.h> and <strings.h>. */
+configure.ac:1042: the top level])
+m4trace:configure.ac:1042: -1- AC_DEFINE_TRACE_LITERAL([STRING_WITH_STRINGS])
+m4trace:configure.ac:1042: -1- AH_OUTPUT([STRING_WITH_STRINGS], [/* Define if you can safely include both <string.h> and <strings.h>. */
 #ifndef USED_FOR_TARGET
 #undef STRING_WITH_STRINGS
 #endif
 ])
-m4trace:configure.ac:1021: -1- AC_HEADER_SYS_WAIT
-m4trace:configure.ac:1021: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_WAIT_H])
-m4trace:configure.ac:1021: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+m4trace:configure.ac:1043: -1- AC_HEADER_SYS_WAIT
+m4trace:configure.ac:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_WAIT_H])
+m4trace:configure.ac:1043: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_WAIT_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AC_CHECK_HEADERS([limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \
+m4trace:configure.ac:1047: -1- AC_CHECK_HEADERS([limits.h stddef.h string.h strings.h stdlib.h time.h iconv.h \
 		 fcntl.h unistd.h sys/file.h sys/time.h sys/mman.h \
 		 sys/resource.h sys/param.h sys/times.h sys/stat.h \
 		 direct.h malloc.h langinfo.h ldfcn.h locale.h wchar.h])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LIMITS_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_STDDEF_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_STRING_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_STRINGS_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_STDLIB_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_TIME_H], [/* Define to 1 if you have the <time.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_TIME_H], [/* Define to 1 if you have the <time.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_TIME_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_ICONV_H], [/* Define to 1 if you have the <iconv.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_ICONV_H], [/* Define to 1 if you have the <iconv.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ICONV_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FCNTL_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_UNISTD_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_FILE_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_TIME_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_SYS_MMAN_H], [/* Define to 1 if you have the <sys/mman.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_SYS_MMAN_H], [/* Define to 1 if you have the <sys/mman.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_MMAN_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_RESOURCE_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_PARAM_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_TIMES_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYS_STAT_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_DIRECT_H], [/* Define to 1 if you have the <direct.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_DIRECT_H], [/* Define to 1 if you have the <direct.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DIRECT_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MALLOC_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LANGINFO_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_LDFCN_H], [/* Define to 1 if you have the <ldfcn.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_LDFCN_H], [/* Define to 1 if you have the <ldfcn.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LDFCN_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LOCALE_H
 #endif
 ])
-m4trace:configure.ac:1025: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
+m4trace:configure.ac:1047: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_WCHAR_H
 #endif
 ])
-m4trace:configure.ac:1032: -1- AC_DEFINE_TRACE_LITERAL([CHAR_BIT])
-m4trace:configure.ac:1032: -1- AH_OUTPUT([CHAR_BIT], [/* Define as the number of bits in a byte, if \\`limits.h\' doesn\'t. */
+m4trace:configure.ac:1054: -1- AC_DEFINE_TRACE_LITERAL([CHAR_BIT])
+m4trace:configure.ac:1054: -1- AH_OUTPUT([CHAR_BIT], [/* Define as the number of bits in a byte, if \\`limits.h\' doesn\'t. */
 #ifndef USED_FOR_TARGET
 #undef CHAR_BIT
 #endif
 ])
-m4trace:configure.ac:1033: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
-m4trace:configure.ac:1033: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define to 1 if your processor stores words with the most significant byte
+m4trace:configure.ac:1055: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
+m4trace:configure.ac:1055: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */
 #ifndef USED_FOR_TARGET
 #undef WORDS_BIGENDIAN
 #endif
 ])
-m4trace:configure.ac:1051: -1- AC_SUBST([stage1_cflags])
-m4trace:configure.ac:1071: -1- AC_SUBST([COLLECT2_LIBS])
-m4trace:configure.ac:1080: -1- AC_SUBST([GNAT_LIBEXC])
-m4trace:configure.ac:1089: -1- AC_SUBST([LDEXP_LIB])
-m4trace:configure.ac:1104: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
-m4trace:configure.ac:1104: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if you have a working <inttypes.h> header file. */
+m4trace:configure.ac:1073: -1- AC_SUBST([stage1_cflags])
+m4trace:configure.ac:1093: -1- AC_SUBST([COLLECT2_LIBS])
+m4trace:configure.ac:1102: -1- AC_SUBST([GNAT_LIBEXC])
+m4trace:configure.ac:1111: -1- AC_SUBST([LDEXP_LIB])
+m4trace:configure.ac:1126: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
+m4trace:configure.ac:1126: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if you have a working <inttypes.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_INTTYPES_H
 #endif
 ])
-m4trace:configure.ac:1118: -1- AC_CHECK_FUNCS([times clock kill getrlimit setrlimit atoll atoq \
+m4trace:configure.ac:1140: -1- AC_CHECK_FUNCS([times clock kill getrlimit setrlimit atoll atoq \
 	sysconf strsignal getrusage nl_langinfo scandir alphasort \
 	gettimeofday mbstowcs wcswidth mmap mincore setlocale \
 	clearerr_unlocked feof_unlocked   ferror_unlocked fflush_unlocked fgetc_unlocked fgets_unlocked   fileno_unlocked fprintf_unlocked fputc_unlocked fputs_unlocked   fread_unlocked fwrite_unlocked getchar_unlocked getc_unlocked   putchar_unlocked putc_unlocked])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_TIMES
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_CLOCK], [/* Define to 1 if you have the `clock\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_CLOCK], [/* Define to 1 if you have the `clock\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_CLOCK
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_KILL
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GETRLIMIT
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_SETRLIMIT], [/* Define to 1 if you have the `setrlimit\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_SETRLIMIT], [/* Define to 1 if you have the `setrlimit\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SETRLIMIT
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_ATOLL], [/* Define to 1 if you have the `atoll\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_ATOLL], [/* Define to 1 if you have the `atoll\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ATOLL
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_ATOQ], [/* Define to 1 if you have the `atoq\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_ATOQ], [/* Define to 1 if you have the `atoq\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ATOQ
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SYSCONF
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_STRSIGNAL], [/* Define to 1 if you have the `strsignal\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_STRSIGNAL], [/* Define to 1 if you have the `strsignal\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_STRSIGNAL
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GETRUSAGE
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_NL_LANGINFO], [/* Define to 1 if you have the `nl_langinfo\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_NL_LANGINFO], [/* Define to 1 if you have the `nl_langinfo\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_NL_LANGINFO
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_SCANDIR], [/* Define to 1 if you have the `scandir\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_SCANDIR], [/* Define to 1 if you have the `scandir\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SCANDIR
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_ALPHASORT], [/* Define to 1 if you have the `alphasort\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_ALPHASORT], [/* Define to 1 if you have the `alphasort\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ALPHASORT
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GETTIMEOFDAY
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_MBSTOWCS], [/* Define to 1 if you have the `mbstowcs\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_MBSTOWCS], [/* Define to 1 if you have the `mbstowcs\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MBSTOWCS
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_WCSWIDTH
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have the `mmap\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have the `mmap\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MMAP
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_MINCORE], [/* Define to 1 if you have the `mincore\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_MINCORE], [/* Define to 1 if you have the `mincore\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MINCORE
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_SETLOCALE
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_CLEARERR_UNLOCKED], [/* Define to 1 if you have the `clearerr_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_CLEARERR_UNLOCKED], [/* Define to 1 if you have the `clearerr_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_CLEARERR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FEOF_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FERROR_UNLOCKED], [/* Define to 1 if you have the `ferror_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FERROR_UNLOCKED], [/* Define to 1 if you have the `ferror_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FERROR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FFLUSH_UNLOCKED], [/* Define to 1 if you have the `fflush_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FFLUSH_UNLOCKED], [/* Define to 1 if you have the `fflush_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FFLUSH_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FGETC_UNLOCKED], [/* Define to 1 if you have the `fgetc_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FGETC_UNLOCKED], [/* Define to 1 if you have the `fgetc_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FGETC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FGETS_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FILENO_UNLOCKED], [/* Define to 1 if you have the `fileno_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FILENO_UNLOCKED], [/* Define to 1 if you have the `fileno_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FILENO_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FPRINTF_UNLOCKED], [/* Define to 1 if you have the `fprintf_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FPRINTF_UNLOCKED], [/* Define to 1 if you have the `fprintf_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FPRINTF_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FPUTC_UNLOCKED], [/* Define to 1 if you have the `fputc_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FPUTC_UNLOCKED], [/* Define to 1 if you have the `fputc_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FPUTC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FPUTS_UNLOCKED], [/* Define to 1 if you have the `fputs_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FPUTS_UNLOCKED], [/* Define to 1 if you have the `fputs_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FPUTS_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FREAD_UNLOCKED], [/* Define to 1 if you have the `fread_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FREAD_UNLOCKED], [/* Define to 1 if you have the `fread_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FREAD_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_FWRITE_UNLOCKED], [/* Define to 1 if you have the `fwrite_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_FWRITE_UNLOCKED], [/* Define to 1 if you have the `fwrite_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FWRITE_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_GETCHAR_UNLOCKED], [/* Define to 1 if you have the `getchar_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_GETCHAR_UNLOCKED], [/* Define to 1 if you have the `getchar_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GETCHAR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GETC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_PUTCHAR_UNLOCKED], [/* Define to 1 if you have the `putchar_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_PUTCHAR_UNLOCKED], [/* Define to 1 if you have the `putchar_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_PUTCHAR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1118: -1- AH_OUTPUT([HAVE_PUTC_UNLOCKED], [/* Define to 1 if you have the `putc_unlocked\' function. */
+m4trace:configure.ac:1140: -1- AH_OUTPUT([HAVE_PUTC_UNLOCKED], [/* Define to 1 if you have the `putc_unlocked\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_PUTC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1134: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_MBSTOWCS])
-m4trace:configure.ac:1134: -1- AH_OUTPUT([HAVE_WORKING_MBSTOWCS], [/* Define this macro if mbstowcs does not crash when its first argument is
+m4trace:configure.ac:1156: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_MBSTOWCS])
+m4trace:configure.ac:1156: -1- AH_OUTPUT([HAVE_WORKING_MBSTOWCS], [/* Define this macro if mbstowcs does not crash when its first argument is
    NULL. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_WORKING_MBSTOWCS
 #endif
 ])
-m4trace:configure.ac:1138: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
-m4trace:configure.ac:1138: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:1160: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
+m4trace:configure.ac:1160: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #ifndef USED_FOR_TARGET
 #undef ssize_t
 #endif
 ])
-m4trace:configure.ac:1142: -1- AC_TYPE_UID_T
-m4trace:configure.ac:1142: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
-m4trace:configure.ac:1142: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:1164: -1- AC_TYPE_UID_T
+m4trace:configure.ac:1164: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.ac:1164: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #ifndef USED_FOR_TARGET
 #undef uid_t
 #endif
 ])
-m4trace:configure.ac:1142: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
-m4trace:configure.ac:1142: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+m4trace:configure.ac:1164: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.ac:1164: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
 #ifndef USED_FOR_TARGET
 #undef gid_t
 #endif
 ])
-m4trace:configure.ac:1142: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
-m4trace:configure.ac:1142: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
+m4trace:configure.ac:1164: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
+m4trace:configure.ac:1164: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
    this is either `int\' or `gid_t\'. */
 #ifndef USED_FOR_TARGET
 #undef GETGROUPS_T
 #endif
 ])
-m4trace:configure.ac:1158: -1- AC_SUBST([TARGET_GETGROUPS_T])
-m4trace:configure.ac:1160: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP_FILE])
-m4trace:configure.ac:1160: -1- AH_OUTPUT([HAVE_MMAP_FILE], [/* Define if read-only mmap of a plain file works. */
+m4trace:configure.ac:1180: -1- AC_SUBST([TARGET_GETGROUPS_T])
+m4trace:configure.ac:1182: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP_FILE])
+m4trace:configure.ac:1182: -1- AH_OUTPUT([HAVE_MMAP_FILE], [/* Define if read-only mmap of a plain file works. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MMAP_FILE
 #endif
 ])
-m4trace:configure.ac:1160: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP_DEV_ZERO])
-m4trace:configure.ac:1160: -1- AH_OUTPUT([HAVE_MMAP_DEV_ZERO], [/* Define if mmap of /dev/zero works. */
+m4trace:configure.ac:1182: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP_DEV_ZERO])
+m4trace:configure.ac:1182: -1- AH_OUTPUT([HAVE_MMAP_DEV_ZERO], [/* Define if mmap of /dev/zero works. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MMAP_DEV_ZERO
 #endif
 ])
-m4trace:configure.ac:1160: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP_ANON])
-m4trace:configure.ac:1160: -1- AH_OUTPUT([HAVE_MMAP_ANON], [/* Define if mmap with MAP_ANON(YMOUS) works. */
+m4trace:configure.ac:1182: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP_ANON])
+m4trace:configure.ac:1182: -1- AH_OUTPUT([HAVE_MMAP_ANON], [/* Define if mmap with MAP_ANON(YMOUS) works. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_MMAP_ANON
 #endif
 ])
-m4trace:configure.ac:1170: -1- AC_FUNC_FORK
-m4trace:configure.ac:1170: -1- AC_TYPE_PID_T
-m4trace:configure.ac:1170: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
+m4trace:configure.ac:1192: -1- AC_FUNC_FORK
+m4trace:configure.ac:1192: -1- AC_TYPE_PID_T
+m4trace:configure.ac:1192: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
+m4trace:configure.ac:1192: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
 #ifndef USED_FOR_TARGET
 #undef pid_t
 #endif
 ])
-m4trace:configure.ac:1170: -1- AC_CHECK_HEADERS([unistd.h vfork.h])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+m4trace:configure.ac:1192: -1- AC_CHECK_HEADERS([unistd.h vfork.h])
+m4trace:configure.ac:1192: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_UNISTD_H
 #endif
 ])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([HAVE_VFORK_H], [/* Define to 1 if you have the <vfork.h> header file. */
+m4trace:configure.ac:1192: -1- AH_OUTPUT([HAVE_VFORK_H], [/* Define to 1 if you have the <vfork.h> header file. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_VFORK_H
 #endif
 ])
-m4trace:configure.ac:1170: -1- AC_CHECK_FUNCS([fork vfork])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([HAVE_FORK], [/* Define to 1 if you have the `fork\' function. */
+m4trace:configure.ac:1192: -1- AC_CHECK_FUNCS([fork vfork])
+m4trace:configure.ac:1192: -1- AH_OUTPUT([HAVE_FORK], [/* Define to 1 if you have the `fork\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_FORK
 #endif
 ])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([HAVE_VFORK], [/* Define to 1 if you have the `vfork\' function. */
+m4trace:configure.ac:1192: -1- AH_OUTPUT([HAVE_VFORK], [/* Define to 1 if you have the `vfork\' function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_VFORK
 #endif
 ])
-m4trace:configure.ac:1170: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_VFORK])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([HAVE_WORKING_VFORK], [/* Define to 1 if `vfork\' works. */
+m4trace:configure.ac:1192: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_VFORK])
+m4trace:configure.ac:1192: -1- AH_OUTPUT([HAVE_WORKING_VFORK], [/* Define to 1 if `vfork\' works. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_WORKING_VFORK
 #endif
 ])
-m4trace:configure.ac:1170: -1- AC_DEFINE_TRACE_LITERAL([vfork])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([vfork], [/* Define as `fork\' if `vfork\' does not work. */
+m4trace:configure.ac:1192: -1- AC_DEFINE_TRACE_LITERAL([vfork])
+m4trace:configure.ac:1192: -1- AH_OUTPUT([vfork], [/* Define as `fork\' if `vfork\' does not work. */
 #ifndef USED_FOR_TARGET
 #undef vfork
 #endif
 ])
-m4trace:configure.ac:1170: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_FORK])
-m4trace:configure.ac:1170: -1- AH_OUTPUT([HAVE_WORKING_FORK], [/* Define to 1 if `fork\' works. */
+m4trace:configure.ac:1192: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_FORK])
+m4trace:configure.ac:1192: -1- AH_OUTPUT([HAVE_WORKING_FORK], [/* Define to 1 if `fork\' works. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_WORKING_FORK
 #endif
 ])
-m4trace:configure.ac:1172: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:1194: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:2223: AC_TRY_LINK is expanded from...
 autoconf/general.m4:1799: AC_CACHE_VAL is expanded from...
 autoconf/general.m4:1808: AC_CACHE_CHECK is expanded from...
 ../config/iconv.m4:75: AM_ICONV_LINK is expanded from...
 ../config/iconv.m4:103: AM_ICONV is expanded from...
-configure.ac:1172: the top level])
-m4trace:configure.ac:1172: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+configure.ac:1194: the top level])
+m4trace:configure.ac:1194: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:2223: AC_TRY_LINK is expanded from...
 autoconf/general.m4:1799: AC_CACHE_VAL is expanded from...
 autoconf/general.m4:1808: AC_CACHE_CHECK is expanded from...
 ../config/iconv.m4:75: AM_ICONV_LINK is expanded from...
 ../config/iconv.m4:103: AM_ICONV is expanded from...
-configure.ac:1172: the top level])
-m4trace:configure.ac:1172: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
-m4trace:configure.ac:1172: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
+configure.ac:1194: the top level])
+m4trace:configure.ac:1194: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
+m4trace:configure.ac:1194: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_ICONV
 #endif
 ])
-m4trace:configure.ac:1172: -1- AC_SUBST([LIBICONV])
-m4trace:configure.ac:1172: -1- AC_SUBST([LTLIBICONV])
-m4trace:configure.ac:1172: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+m4trace:configure.ac:1194: -1- AC_SUBST([LIBICONV])
+m4trace:configure.ac:1194: -1- AC_SUBST([LTLIBICONV])
+m4trace:configure.ac:1194: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:2180: AC_TRY_COMPILE is expanded from...
 autoconf/general.m4:1799: AC_CACHE_VAL is expanded from...
 ../config/iconv.m4:103: AM_ICONV is expanded from...
-configure.ac:1172: the top level])
-m4trace:configure.ac:1172: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
-m4trace:configure.ac:1172: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
+configure.ac:1194: the top level])
+m4trace:configure.ac:1194: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
+m4trace:configure.ac:1194: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
 #ifndef USED_FOR_TARGET
 #undef ICONV_CONST
 #endif
 ])
-m4trace:configure.ac:1175: -1- AC_SUBST([LIBICONV_DEP])
-m4trace:configure.ac:1177: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:1197: -1- AC_SUBST([LIBICONV_DEP])
+m4trace:configure.ac:1199: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:2223: AC_TRY_LINK is expanded from...
 autoconf/general.m4:1799: AC_CACHE_VAL is expanded from...
 autoconf/general.m4:1808: AC_CACHE_CHECK is expanded from...
 ../config/lcmessage.m4:32: AM_LC_MESSAGES is expanded from...
-configure.ac:1177: the top level])
-m4trace:configure.ac:1177: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
-m4trace:configure.ac:1177: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
+configure.ac:1199: the top level])
+m4trace:configure.ac:1199: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
+m4trace:configure.ac:1199: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LC_MESSAGES
 #endif
 ])
-m4trace:configure.ac:1179: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+m4trace:configure.ac:1201: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
 You should run autoupdate.], [autoconf/general.m4:2223: AC_TRY_LINK is expanded from...
 autoconf/general.m4:1799: AC_CACHE_VAL is expanded from...
 autoconf/general.m4:1808: AC_CACHE_CHECK is expanded from...
 ../config/codeset.m4:23: AM_LANGINFO_CODESET is expanded from...
-configure.ac:1179: the top level])
-m4trace:configure.ac:1179: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
-m4trace:configure.ac:1179: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+configure.ac:1201: the top level])
+m4trace:configure.ac:1201: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.ac:1201: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LANGINFO_CODESET
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_GETENV], [/* Define to 1 if we found a declaration for \'getenv\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_GETENV], [/* Define to 1 if we found a declaration for \'getenv\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETENV
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_ATOL], [/* Define to 1 if we found a declaration for \'atol\', otherwise define to 0. */
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_ATOL], [/* Define to 1 if we found a declaration for \'atol\', otherwise define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_ATOL
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_ASPRINTF], [/* Define to 1 if we found a declaration for \'asprintf\', otherwise define to
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_ASPRINTF], [/* Define to 1 if we found a declaration for \'asprintf\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_ASPRINTF
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if we found a declaration for \'sbrk\', otherwise define to 0. */
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if we found a declaration for \'sbrk\', otherwise define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_SBRK
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_ABORT], [/* Define to 1 if we found a declaration for \'abort\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_ABORT], [/* Define to 1 if we found a declaration for \'abort\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_ABORT
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_ATOF], [/* Define to 1 if we found a declaration for \'atof\', otherwise define to 0. */
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_ATOF], [/* Define to 1 if we found a declaration for \'atof\', otherwise define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_ATOF
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_GETCWD], [/* Define to 1 if we found a declaration for \'getcwd\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_GETCWD], [/* Define to 1 if we found a declaration for \'getcwd\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETCWD
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_GETWD], [/* Define to 1 if we found a declaration for \'getwd\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_GETWD], [/* Define to 1 if we found a declaration for \'getwd\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETWD
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if we found a declaration for \'strsignal\', otherwise define to
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if we found a declaration for \'strsignal\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_STRSIGNAL
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_STRSTR], [/* Define to 1 if we found a declaration for \'strstr\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_STRSTR], [/* Define to 1 if we found a declaration for \'strstr\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_STRSTR
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_STRVERSCMP], [/* Define to 1 if we found a declaration for \'strverscmp\', otherwise define to
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_STRVERSCMP], [/* Define to 1 if we found a declaration for \'strverscmp\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_STRVERSCMP
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_ERRNO], [/* Define to 1 if we found a declaration for \'errno\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_ERRNO], [/* Define to 1 if we found a declaration for \'errno\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_ERRNO
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_SNPRINTF], [/* Define to 1 if we found a declaration for \'snprintf\', otherwise define to
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_SNPRINTF], [/* Define to 1 if we found a declaration for \'snprintf\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_SNPRINTF
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_VSNPRINTF], [/* Define to 1 if we found a declaration for \'vsnprintf\', otherwise define to
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_VSNPRINTF], [/* Define to 1 if we found a declaration for \'vsnprintf\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_VSNPRINTF
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_VASPRINTF], [/* Define to 1 if we found a declaration for \'vasprintf\', otherwise define to
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_VASPRINTF], [/* Define to 1 if we found a declaration for \'vasprintf\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_VASPRINTF
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_MALLOC], [/* Define to 1 if we found a declaration for \'malloc\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_MALLOC], [/* Define to 1 if we found a declaration for \'malloc\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_MALLOC
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_REALLOC], [/* Define to 1 if we found a declaration for \'realloc\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_REALLOC], [/* Define to 1 if we found a declaration for \'realloc\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_REALLOC
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_CALLOC], [/* Define to 1 if we found a declaration for \'calloc\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_CALLOC], [/* Define to 1 if we found a declaration for \'calloc\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_CALLOC
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FREE], [/* Define to 1 if we found a declaration for \'free\', otherwise define to 0. */
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FREE], [/* Define to 1 if we found a declaration for \'free\', otherwise define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FREE
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_BASENAME], [/* Define to 1 if we found a declaration for \'basename\', otherwise define to
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_BASENAME], [/* Define to 1 if we found a declaration for \'basename\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_BASENAME
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_GETOPT], [/* Define to 1 if we found a declaration for \'getopt\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_GETOPT], [/* Define to 1 if we found a declaration for \'getopt\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETOPT
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_CLOCK], [/* Define to 1 if we found a declaration for \'clock\', otherwise define to 0.
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_CLOCK], [/* Define to 1 if we found a declaration for \'clock\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_CLOCK
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_GETPAGESIZE], [/* Define to 1 if we found a declaration for \'getpagesize\', otherwise define
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_GETPAGESIZE], [/* Define to 1 if we found a declaration for \'getpagesize\', otherwise define
    to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETPAGESIZE
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_CLEARERR_UNLOCKED], [/* Define to 1 if we found a declaration for \'clearerr_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_CLEARERR_UNLOCKED], [/* Define to 1 if we found a declaration for \'clearerr_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_CLEARERR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FEOF_UNLOCKED], [/* Define to 1 if we found a declaration for \'feof_unlocked\', otherwise define
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FEOF_UNLOCKED], [/* Define to 1 if we found a declaration for \'feof_unlocked\', otherwise define
    to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FEOF_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FERROR_UNLOCKED], [/* Define to 1 if we found a declaration for \'ferror_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FERROR_UNLOCKED], [/* Define to 1 if we found a declaration for \'ferror_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FERROR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FFLUSH_UNLOCKED], [/* Define to 1 if we found a declaration for \'fflush_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FFLUSH_UNLOCKED], [/* Define to 1 if we found a declaration for \'fflush_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FFLUSH_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FGETC_UNLOCKED], [/* Define to 1 if we found a declaration for \'fgetc_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FGETC_UNLOCKED], [/* Define to 1 if we found a declaration for \'fgetc_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FGETC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FGETS_UNLOCKED], [/* Define to 1 if we found a declaration for \'fgets_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FGETS_UNLOCKED], [/* Define to 1 if we found a declaration for \'fgets_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FGETS_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FILENO_UNLOCKED], [/* Define to 1 if we found a declaration for \'fileno_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FILENO_UNLOCKED], [/* Define to 1 if we found a declaration for \'fileno_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FILENO_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FPRINTF_UNLOCKED], [/* Define to 1 if we found a declaration for \'fprintf_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FPRINTF_UNLOCKED], [/* Define to 1 if we found a declaration for \'fprintf_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FPRINTF_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FPUTC_UNLOCKED], [/* Define to 1 if we found a declaration for \'fputc_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FPUTC_UNLOCKED], [/* Define to 1 if we found a declaration for \'fputc_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FPUTC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FPUTS_UNLOCKED], [/* Define to 1 if we found a declaration for \'fputs_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FPUTS_UNLOCKED], [/* Define to 1 if we found a declaration for \'fputs_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FPUTS_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FREAD_UNLOCKED], [/* Define to 1 if we found a declaration for \'fread_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FREAD_UNLOCKED], [/* Define to 1 if we found a declaration for \'fread_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FREAD_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_FWRITE_UNLOCKED], [/* Define to 1 if we found a declaration for \'fwrite_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_FWRITE_UNLOCKED], [/* Define to 1 if we found a declaration for \'fwrite_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_FWRITE_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_GETCHAR_UNLOCKED], [/* Define to 1 if we found a declaration for \'getchar_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_GETCHAR_UNLOCKED], [/* Define to 1 if we found a declaration for \'getchar_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETCHAR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_GETC_UNLOCKED], [/* Define to 1 if we found a declaration for \'getc_unlocked\', otherwise define
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_GETC_UNLOCKED], [/* Define to 1 if we found a declaration for \'getc_unlocked\', otherwise define
    to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_PUTCHAR_UNLOCKED], [/* Define to 1 if we found a declaration for \'putchar_unlocked\', otherwise
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_PUTCHAR_UNLOCKED], [/* Define to 1 if we found a declaration for \'putchar_unlocked\', otherwise
    define to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_PUTCHAR_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1189: -1- AH_OUTPUT([HAVE_DECL_PUTC_UNLOCKED], [/* Define to 1 if we found a declaration for \'putc_unlocked\', otherwise define
+m4trace:configure.ac:1211: -1- AH_OUTPUT([HAVE_DECL_PUTC_UNLOCKED], [/* Define to 1 if we found a declaration for \'putc_unlocked\', otherwise define
    to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_PUTC_UNLOCKED
 #endif
 ])
-m4trace:configure.ac:1197: -1- AH_OUTPUT([HAVE_DECL_GETRLIMIT], [/* Define to 1 if we found a declaration for \'getrlimit\', otherwise define to
+m4trace:configure.ac:1219: -1- AH_OUTPUT([HAVE_DECL_GETRLIMIT], [/* Define to 1 if we found a declaration for \'getrlimit\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETRLIMIT
 #endif
 ])
-m4trace:configure.ac:1197: -1- AH_OUTPUT([HAVE_DECL_SETRLIMIT], [/* Define to 1 if we found a declaration for \'setrlimit\', otherwise define to
+m4trace:configure.ac:1219: -1- AH_OUTPUT([HAVE_DECL_SETRLIMIT], [/* Define to 1 if we found a declaration for \'setrlimit\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_SETRLIMIT
 #endif
 ])
-m4trace:configure.ac:1197: -1- AH_OUTPUT([HAVE_DECL_GETRUSAGE], [/* Define to 1 if we found a declaration for \'getrusage\', otherwise define to
+m4trace:configure.ac:1219: -1- AH_OUTPUT([HAVE_DECL_GETRUSAGE], [/* Define to 1 if we found a declaration for \'getrusage\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_GETRUSAGE
 #endif
 ])
-m4trace:configure.ac:1206: -1- AC_DEFINE_TRACE_LITERAL([rlim_t])
-m4trace:configure.ac:1206: -1- AH_OUTPUT([rlim_t], [/* Define to \\`long\' if <sys/resource.h> doesn\'t define. */
+m4trace:configure.ac:1228: -1- AC_DEFINE_TRACE_LITERAL([rlim_t])
+m4trace:configure.ac:1228: -1- AH_OUTPUT([rlim_t], [/* Define to \\`long\' if <sys/resource.h> doesn\'t define. */
 #ifndef USED_FOR_TARGET
 #undef rlim_t
 #endif
 ])
-m4trace:configure.ac:1220: -1- AH_OUTPUT([HAVE_DECL_LDGETNAME], [/* Define to 1 if we found a declaration for \'ldgetname\', otherwise define to
+m4trace:configure.ac:1242: -1- AH_OUTPUT([HAVE_DECL_LDGETNAME], [/* Define to 1 if we found a declaration for \'ldgetname\', otherwise define to
    0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_LDGETNAME
 #endif
 ])
-m4trace:configure.ac:1228: -1- AH_OUTPUT([HAVE_DECL_TIMES], [/* Define to 1 if we found a declaration for \'times\', otherwise define to 0.
+m4trace:configure.ac:1250: -1- AH_OUTPUT([HAVE_DECL_TIMES], [/* Define to 1 if we found a declaration for \'times\', otherwise define to 0.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_TIMES
 #endif
 ])
-m4trace:configure.ac:1234: -1- AH_OUTPUT([HAVE_DECL_SIGALTSTACK], [/* Define to 1 if we found a declaration for \'sigaltstack\', otherwise define
+m4trace:configure.ac:1256: -1- AH_OUTPUT([HAVE_DECL_SIGALTSTACK], [/* Define to 1 if we found a declaration for \'sigaltstack\', otherwise define
    to 0. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_DECL_SIGALTSTACK
 #endif
 ])
-m4trace:configure.ac:1247: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TMS])
-m4trace:configure.ac:1247: -1- AH_OUTPUT([HAVE_STRUCT_TMS], [/* Define if <sys/times.h> defines struct tms. */
+m4trace:configure.ac:1269: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TMS])
+m4trace:configure.ac:1269: -1- AH_OUTPUT([HAVE_STRUCT_TMS], [/* Define if <sys/times.h> defines struct tms. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_STRUCT_TMS
 #endif
 ])
-m4trace:configure.ac:1259: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CLOCK_T])
-m4trace:configure.ac:1259: -1- AH_OUTPUT([HAVE_CLOCK_T], [/* Define if <time.h> defines clock_t. */
+m4trace:configure.ac:1281: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CLOCK_T])
+m4trace:configure.ac:1281: -1- AH_OUTPUT([HAVE_CLOCK_T], [/* Define if <time.h> defines clock_t. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_CLOCK_T
 #endif
 ])
-m4trace:configure.ac:1265: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INITFINI_ARRAY])
-m4trace:configure.ac:1265: -1- AH_OUTPUT([HAVE_INITFINI_ARRAY], [/* Define .init_array/.fini_array sections are available and working. */
+m4trace:configure.ac:1287: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INITFINI_ARRAY])
+m4trace:configure.ac:1287: -1- AH_OUTPUT([HAVE_INITFINI_ARRAY], [/* Define .init_array/.fini_array sections are available and working. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_INITFINI_ARRAY
 #endif
 ])
-m4trace:configure.ac:1268: -1- AC_DEFINE_TRACE_LITERAL([MKDIR_TAKES_ONE_ARG])
-m4trace:configure.ac:1268: -1- AH_OUTPUT([MKDIR_TAKES_ONE_ARG], [/* Define if host mkdir takes a single argument. */
+m4trace:configure.ac:1290: -1- AC_DEFINE_TRACE_LITERAL([MKDIR_TAKES_ONE_ARG])
+m4trace:configure.ac:1290: -1- AH_OUTPUT([MKDIR_TAKES_ONE_ARG], [/* Define if host mkdir takes a single argument. */
 #ifndef USED_FOR_TARGET
 #undef MKDIR_TAKES_ONE_ARG
 #endif
 ])
-m4trace:configure.ac:1273: -1- AC_SUBST([manext])
-m4trace:configure.ac:1274: -1- AC_SUBST([objext])
-m4trace:configure.ac:1282: -1- AC_DEFINE_TRACE_LITERAL([CONFIG_SJLJ_EXCEPTIONS])
-m4trace:configure.ac:1282: -1- AH_OUTPUT([CONFIG_SJLJ_EXCEPTIONS], [/* Define 0/1 to force the choice for exception handling model. */
+m4trace:configure.ac:1295: -1- AC_SUBST([manext])
+m4trace:configure.ac:1296: -1- AC_SUBST([objext])
+m4trace:configure.ac:1304: -1- AC_DEFINE_TRACE_LITERAL([CONFIG_SJLJ_EXCEPTIONS])
+m4trace:configure.ac:1304: -1- AH_OUTPUT([CONFIG_SJLJ_EXCEPTIONS], [/* Define 0/1 to force the choice for exception handling model. */
 #ifndef USED_FOR_TARGET
 #undef CONFIG_SJLJ_EXCEPTIONS
 #endif
 ])
-m4trace:configure.ac:1292: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETIPINFO])
-m4trace:configure.ac:1292: -1- AH_OUTPUT([HAVE_GETIPINFO], [/* Define to 1 if system unwind library has _Unwind_GetIPInfo. */
+m4trace:configure.ac:1314: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETIPINFO])
+m4trace:configure.ac:1314: -1- AH_OUTPUT([HAVE_GETIPINFO], [/* Define to 1 if system unwind library has _Unwind_GetIPInfo. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GETIPINFO
 #endif
 ])
-m4trace:configure.ac:1385: -1- AC_DEFINE_TRACE_LITERAL([NEED_64BIT_HOST_WIDE_INT])
-m4trace:configure.ac:1385: -1- AH_OUTPUT([NEED_64BIT_HOST_WIDE_INT], [/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
+m4trace:configure.ac:1407: -1- AC_DEFINE_TRACE_LITERAL([NEED_64BIT_HOST_WIDE_INT])
+m4trace:configure.ac:1407: -1- AH_OUTPUT([NEED_64BIT_HOST_WIDE_INT], [/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */
 #ifndef USED_FOR_TARGET
 #undef NEED_64BIT_HOST_WIDE_INT
 #endif
 ])
-m4trace:configure.ac:1391: -1- AC_DEFINE_TRACE_LITERAL([USE_LONG_LONG_FOR_WIDEST_FAST_INT])
-m4trace:configure.ac:1391: -1- AH_OUTPUT([USE_LONG_LONG_FOR_WIDEST_FAST_INT], [/* Define to 1 if the \'long long\' (or \'__int64\') is wider than \'long\' but
+m4trace:configure.ac:1413: -1- AC_DEFINE_TRACE_LITERAL([USE_LONG_LONG_FOR_WIDEST_FAST_INT])
+m4trace:configure.ac:1413: -1- AH_OUTPUT([USE_LONG_LONG_FOR_WIDEST_FAST_INT], [/* Define to 1 if the \'long long\' (or \'__int64\') is wider than \'long\' but
    still efficiently supported by the host hardware. */
 #ifndef USED_FOR_TARGET
 #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT
 #endif
 ])
-m4trace:configure.ac:1439: -1- AC_DEFINE_TRACE_LITERAL([HAS_MCONTEXT_T_UNDERSCORES])
-m4trace:configure.ac:1439: -1- AH_OUTPUT([HAS_MCONTEXT_T_UNDERSCORES], [/* mcontext_t fields start with __ */
+m4trace:configure.ac:1461: -1- AC_DEFINE_TRACE_LITERAL([HAS_MCONTEXT_T_UNDERSCORES])
+m4trace:configure.ac:1461: -1- AH_OUTPUT([HAS_MCONTEXT_T_UNDERSCORES], [/* mcontext_t fields start with __ */
 #ifndef USED_FOR_TARGET
 #undef HAS_MCONTEXT_T_UNDERSCORES
 #endif
 ])
-m4trace:configure.ac:1481: -1- AC_SUBST([gthread_flags])
-m4trace:configure.ac:1503: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_USE_CXA_ATEXIT])
-m4trace:configure.ac:1503: -1- AH_OUTPUT([DEFAULT_USE_CXA_ATEXIT], [/* Define if you want to use __cxa_atexit, rather than atexit, to register C++
+m4trace:configure.ac:1503: -1- AC_SUBST([gthread_flags])
+m4trace:configure.ac:1525: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_USE_CXA_ATEXIT])
+m4trace:configure.ac:1525: -1- AH_OUTPUT([DEFAULT_USE_CXA_ATEXIT], [/* Define if you want to use __cxa_atexit, rather than atexit, to register C++
    destructors for local statics and global objects. This is essential for
    fully standards-compliant handling of destructors, but requires
    __cxa_atexit in libc. */
@@ -1294,47 +1295,47 @@
 #undef DEFAULT_USE_CXA_ATEXIT
 #endif
 ])
-m4trace:configure.ac:1516: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETIPINFO])
-m4trace:configure.ac:1516: -1- AH_OUTPUT([HAVE_GETIPINFO], [/* Define to 1 if system unwind library has _Unwind_GetIPInfo. */
+m4trace:configure.ac:1538: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETIPINFO])
+m4trace:configure.ac:1538: -1- AH_OUTPUT([HAVE_GETIPINFO], [/* Define to 1 if system unwind library has _Unwind_GetIPInfo. */
 #undef HAVE_GETIPINFO])
-m4trace:configure.ac:1524: -1- AC_SUBST([extra_modes_file])
-m4trace:configure.ac:1527: -1- AC_DEFINE_TRACE_LITERAL([EXTRA_MODES_FILE])
-m4trace:configure.ac:1527: -1- AH_OUTPUT([EXTRA_MODES_FILE], [/* Define to the name of a file containing a list of extra machine modes for
+m4trace:configure.ac:1546: -1- AC_SUBST([extra_modes_file])
+m4trace:configure.ac:1549: -1- AC_DEFINE_TRACE_LITERAL([EXTRA_MODES_FILE])
+m4trace:configure.ac:1549: -1- AH_OUTPUT([EXTRA_MODES_FILE], [/* Define to the name of a file containing a list of extra machine modes for
    this architecture. */
 #ifndef USED_FOR_TARGET
 #undef EXTRA_MODES_FILE
 #endif
 ])
-m4trace:configure.ac:1535: -1- AC_SUBST([extra_opt_files])
-m4trace:configure.ac:1572: -1- AC_SUBST([build_subdir])
-m4trace:configure.ac:1616: -1- AC_SUBST([USE_NLS])
-m4trace:configure.ac:1616: -1- AC_SUBST([LIBINTL])
-m4trace:configure.ac:1616: -1- AC_SUBST([LIBINTL_DEP])
-m4trace:configure.ac:1616: -1- AC_SUBST([INCINTL])
-m4trace:configure.ac:1616: -1- AC_SUBST([XGETTEXT])
-m4trace:configure.ac:1616: -1- AC_SUBST([GMSGFMT])
-m4trace:configure.ac:1616: -1- AC_SUBST([POSUB])
-m4trace:configure.ac:1616: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
-m4trace:configure.ac:1616: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
+m4trace:configure.ac:1557: -1- AC_SUBST([extra_opt_files])
+m4trace:configure.ac:1594: -1- AC_SUBST([build_subdir])
+m4trace:configure.ac:1638: -1- AC_SUBST([USE_NLS])
+m4trace:configure.ac:1638: -1- AC_SUBST([LIBINTL])
+m4trace:configure.ac:1638: -1- AC_SUBST([LIBINTL_DEP])
+m4trace:configure.ac:1638: -1- AC_SUBST([INCINTL])
+m4trace:configure.ac:1638: -1- AC_SUBST([XGETTEXT])
+m4trace:configure.ac:1638: -1- AC_SUBST([GMSGFMT])
+m4trace:configure.ac:1638: -1- AC_SUBST([POSUB])
+m4trace:configure.ac:1638: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
+m4trace:configure.ac:1638: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
    language is requested. */
 #ifndef USED_FOR_TARGET
 #undef ENABLE_NLS
 #endif
 ])
-m4trace:configure.ac:1616: -1- AC_SUBST([CATALOGS])
-m4trace:configure.ac:1616: -1- AC_SUBST([DATADIRNAME])
-m4trace:configure.ac:1616: -1- AC_SUBST([INSTOBJEXT])
-m4trace:configure.ac:1616: -1- AC_SUBST([GENCAT])
-m4trace:configure.ac:1616: -1- AC_SUBST([CATOBJEXT])
-m4trace:configure.ac:1647: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_WIN32_REGISTRY])
-m4trace:configure.ac:1647: -1- AH_OUTPUT([ENABLE_WIN32_REGISTRY], [/* Define to 1 if installation paths should be looked up in the Windows
+m4trace:configure.ac:1638: -1- AC_SUBST([CATALOGS])
+m4trace:configure.ac:1638: -1- AC_SUBST([DATADIRNAME])
+m4trace:configure.ac:1638: -1- AC_SUBST([INSTOBJEXT])
+m4trace:configure.ac:1638: -1- AC_SUBST([GENCAT])
+m4trace:configure.ac:1638: -1- AC_SUBST([CATOBJEXT])
+m4trace:configure.ac:1669: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_WIN32_REGISTRY])
+m4trace:configure.ac:1669: -1- AH_OUTPUT([ENABLE_WIN32_REGISTRY], [/* Define to 1 if installation paths should be looked up in the Windows
    Registry. Ignored on non-Windows hosts. */
 #ifndef USED_FOR_TARGET
 #undef ENABLE_WIN32_REGISTRY
 #endif
 ])
-m4trace:configure.ac:1655: -1- AC_DEFINE_TRACE_LITERAL([WIN32_REGISTRY_KEY])
-m4trace:configure.ac:1655: -1- AH_OUTPUT([WIN32_REGISTRY_KEY], [/* Define to be the last component of the Windows registry key under which to
+m4trace:configure.ac:1677: -1- AC_DEFINE_TRACE_LITERAL([WIN32_REGISTRY_KEY])
+m4trace:configure.ac:1677: -1- AH_OUTPUT([WIN32_REGISTRY_KEY], [/* Define to be the last component of the Windows registry key under which to
    look for installation paths. The full key used will be
    HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}.
    The default is the GCC version number. */
@@ -1342,378 +1343,378 @@
 #undef WIN32_REGISTRY_KEY
 #endif
 ])
-m4trace:configure.ac:1709: -1- AC_SUBST([host_cc_for_libada])
-m4trace:configure.ac:1805: -1- AC_SUBST([CROSS])
-m4trace:configure.ac:1806: -1- AC_SUBST([ALL])
-m4trace:configure.ac:1807: -1- AC_SUBST([SYSTEM_HEADER_DIR])
-m4trace:configure.ac:1863: -1- AC_SUBST([inhibit_libc])
-m4trace:configure.ac:1870: -1- AC_SUBST([CC_FOR_BUILD])
-m4trace:configure.ac:1871: -1- AC_SUBST([BUILD_CFLAGS])
-m4trace:configure.ac:1872: -1- AC_SUBST([STMP_FIXINC])
-m4trace:configure.ac:1883: -1- AC_SUBST([STMP_FIXPROTO])
-m4trace:configure.ac:1910: -1- AC_SUBST([collect2])
-m4trace:configure.ac:1942: -1- m4_pattern_allow([AS_FOR_TARGET])
-m4trace:configure.ac:1957: -1- AC_SUBST([gcc_cv_as], [$ac_cv_path_gcc_cv_as])
-m4trace:configure.ac:1960: -1- AC_SUBST([ORIGINAL_AS_FOR_TARGET])
-m4trace:configure.ac:2008: -1- AC_SUBST([gcc_cv_ld], [$ac_cv_path_gcc_cv_ld])
-m4trace:configure.ac:2011: -1- AC_SUBST([ORIGINAL_LD_FOR_TARGET])
-m4trace:configure.ac:2055: -1- AC_SUBST([gcc_cv_nm], [$ac_cv_path_gcc_cv_nm])
-m4trace:configure.ac:2068: -1- AC_SUBST([ORIGINAL_NM_FOR_TARGET])
-m4trace:configure.ac:2083: -1- AC_SUBST([gcc_cv_objdump], [$ac_cv_path_gcc_cv_objdump])
-m4trace:configure.ac:2101: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_BALIGN_AND_P2ALIGN])
-m4trace:configure.ac:2101: -1- AH_OUTPUT([HAVE_GAS_BALIGN_AND_P2ALIGN], [/* Define if your assembler supports .balign and .p2align. */
+m4trace:configure.ac:1731: -1- AC_SUBST([host_cc_for_libada])
+m4trace:configure.ac:1827: -1- AC_SUBST([CROSS])
+m4trace:configure.ac:1828: -1- AC_SUBST([ALL])
+m4trace:configure.ac:1829: -1- AC_SUBST([SYSTEM_HEADER_DIR])
+m4trace:configure.ac:1885: -1- AC_SUBST([inhibit_libc])
+m4trace:configure.ac:1892: -1- AC_SUBST([CC_FOR_BUILD])
+m4trace:configure.ac:1893: -1- AC_SUBST([BUILD_CFLAGS])
+m4trace:configure.ac:1894: -1- AC_SUBST([STMP_FIXINC])
+m4trace:configure.ac:1905: -1- AC_SUBST([STMP_FIXPROTO])
+m4trace:configure.ac:1932: -1- AC_SUBST([collect2])
+m4trace:configure.ac:1964: -1- m4_pattern_allow([AS_FOR_TARGET])
+m4trace:configure.ac:1979: -1- AC_SUBST([gcc_cv_as], [$ac_cv_path_gcc_cv_as])
+m4trace:configure.ac:1982: -1- AC_SUBST([ORIGINAL_AS_FOR_TARGET])
+m4trace:configure.ac:2030: -1- AC_SUBST([gcc_cv_ld], [$ac_cv_path_gcc_cv_ld])
+m4trace:configure.ac:2033: -1- AC_SUBST([ORIGINAL_LD_FOR_TARGET])
+m4trace:configure.ac:2077: -1- AC_SUBST([gcc_cv_nm], [$ac_cv_path_gcc_cv_nm])
+m4trace:configure.ac:2090: -1- AC_SUBST([ORIGINAL_NM_FOR_TARGET])
+m4trace:configure.ac:2105: -1- AC_SUBST([gcc_cv_objdump], [$ac_cv_path_gcc_cv_objdump])
+m4trace:configure.ac:2123: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_BALIGN_AND_P2ALIGN])
+m4trace:configure.ac:2123: -1- AH_OUTPUT([HAVE_GAS_BALIGN_AND_P2ALIGN], [/* Define if your assembler supports .balign and .p2align. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_BALIGN_AND_P2ALIGN
 #endif
 ])
-m4trace:configure.ac:2108: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_MAX_SKIP_P2ALIGN])
-m4trace:configure.ac:2108: -1- AH_OUTPUT([HAVE_GAS_MAX_SKIP_P2ALIGN], [/* Define if your assembler supports specifying the maximum number of bytes to
+m4trace:configure.ac:2130: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_MAX_SKIP_P2ALIGN])
+m4trace:configure.ac:2130: -1- AH_OUTPUT([HAVE_GAS_MAX_SKIP_P2ALIGN], [/* Define if your assembler supports specifying the maximum number of bytes to
    skip when using the GAS .p2align command. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_MAX_SKIP_P2ALIGN
 #endif
 ])
-m4trace:configure.ac:2115: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_LITERAL16])
-m4trace:configure.ac:2115: -1- AH_OUTPUT([HAVE_GAS_LITERAL16], [/* Define if your assembler supports .literal16. */
+m4trace:configure.ac:2137: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_LITERAL16])
+m4trace:configure.ac:2137: -1- AH_OUTPUT([HAVE_GAS_LITERAL16], [/* Define if your assembler supports .literal16. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_LITERAL16
 #endif
 ])
-m4trace:configure.ac:2135: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_SUBSECTION_ORDERING])
-m4trace:configure.ac:2135: -1- AH_OUTPUT([HAVE_GAS_SUBSECTION_ORDERING], [/* Define if your assembler supports .subsection and .subsection -1 starts
+m4trace:configure.ac:2157: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_SUBSECTION_ORDERING])
+m4trace:configure.ac:2157: -1- AH_OUTPUT([HAVE_GAS_SUBSECTION_ORDERING], [/* Define if your assembler supports .subsection and .subsection -1 starts
    emitting at the beginning of your section. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_SUBSECTION_ORDERING
 #endif
 ])
-m4trace:configure.ac:2140: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_WEAK])
-m4trace:configure.ac:2140: -1- AH_OUTPUT([HAVE_GAS_WEAK], [/* Define if your assembler supports .weak. */
+m4trace:configure.ac:2162: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_WEAK])
+m4trace:configure.ac:2162: -1- AH_OUTPUT([HAVE_GAS_WEAK], [/* Define if your assembler supports .weak. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_WEAK
 #endif
 ])
-m4trace:configure.ac:2145: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_WEAKREF])
-m4trace:configure.ac:2145: -1- AH_OUTPUT([HAVE_GAS_WEAKREF], [/* Define if your assembler supports .weakref. */
+m4trace:configure.ac:2167: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_WEAKREF])
+m4trace:configure.ac:2167: -1- AH_OUTPUT([HAVE_GAS_WEAKREF], [/* Define if your assembler supports .weakref. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_WEAKREF
 #endif
 ])
-m4trace:configure.ac:2151: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_NSUBSPA_COMDAT])
-m4trace:configure.ac:2151: -1- AH_OUTPUT([HAVE_GAS_NSUBSPA_COMDAT], [/* Define if your assembler supports .nsubspa comdat option. */
+m4trace:configure.ac:2173: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_NSUBSPA_COMDAT])
+m4trace:configure.ac:2173: -1- AH_OUTPUT([HAVE_GAS_NSUBSPA_COMDAT], [/* Define if your assembler supports .nsubspa comdat option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_NSUBSPA_COMDAT
 #endif
 ])
-m4trace:configure.ac:2220: -1- AC_SUBST([libgcc_visibility])
-m4trace:configure.ac:2225: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_HIDDEN])
-m4trace:configure.ac:2225: -1- AH_OUTPUT([HAVE_GAS_HIDDEN], [/* Define if your assembler and linker support .hidden. */
+m4trace:configure.ac:2242: -1- AC_SUBST([libgcc_visibility])
+m4trace:configure.ac:2247: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_HIDDEN])
+m4trace:configure.ac:2247: -1- AH_OUTPUT([HAVE_GAS_HIDDEN], [/* Define if your assembler and linker support .hidden. */
 #undef HAVE_GAS_HIDDEN])
-m4trace:configure.ac:2255: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_LEB128])
-m4trace:configure.ac:2255: -1- AH_OUTPUT([HAVE_AS_LEB128], [/* Define if your assembler supports .sleb128 and .uleb128. */
+m4trace:configure.ac:2277: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_LEB128])
+m4trace:configure.ac:2277: -1- AH_OUTPUT([HAVE_AS_LEB128], [/* Define if your assembler supports .sleb128 and .uleb128. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_LEB128
 #endif
 ])
-m4trace:configure.ac:2325: -1- AC_DEFINE_TRACE_LITERAL([USE_AS_TRADITIONAL_FORMAT])
-m4trace:configure.ac:2325: -1- AH_OUTPUT([USE_AS_TRADITIONAL_FORMAT], [/* Define if your assembler mis-optimizes .eh_frame data. */
+m4trace:configure.ac:2347: -1- AC_DEFINE_TRACE_LITERAL([USE_AS_TRADITIONAL_FORMAT])
+m4trace:configure.ac:2347: -1- AH_OUTPUT([USE_AS_TRADITIONAL_FORMAT], [/* Define if your assembler mis-optimizes .eh_frame data. */
 #ifndef USED_FOR_TARGET
 #undef USE_AS_TRADITIONAL_FORMAT
 #endif
 ])
-m4trace:configure.ac:2338: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_SHF_MERGE])
-m4trace:configure.ac:2338: -1- AH_OUTPUT([HAVE_GAS_SHF_MERGE], [/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.
+m4trace:configure.ac:2360: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_SHF_MERGE])
+m4trace:configure.ac:2360: -1- AH_OUTPUT([HAVE_GAS_SHF_MERGE], [/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_SHF_MERGE
 #endif
 ])
-m4trace:configure.ac:2372: -1- AC_DEFINE_TRACE_LITERAL([HAVE_COMDAT_GROUP])
-m4trace:configure.ac:2372: -1- AH_OUTPUT([HAVE_COMDAT_GROUP], [/* Define 0/1 if your assembler and linker support COMDAT groups. */
+m4trace:configure.ac:2394: -1- AC_DEFINE_TRACE_LITERAL([HAVE_COMDAT_GROUP])
+m4trace:configure.ac:2394: -1- AH_OUTPUT([HAVE_COMDAT_GROUP], [/* Define 0/1 if your assembler and linker support COMDAT groups. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_COMDAT_GROUP
 #endif
 ])
-m4trace:configure.ac:2723: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_TLS])
-m4trace:configure.ac:2723: -1- AH_OUTPUT([HAVE_AS_TLS], [/* Define if your assembler supports thread-local storage. */
+m4trace:configure.ac:2745: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_TLS])
+m4trace:configure.ac:2745: -1- AH_OUTPUT([HAVE_AS_TLS], [/* Define if your assembler supports thread-local storage. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_TLS
 #endif
 ])
-m4trace:configure.ac:2743: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_STATIC_DYNAMIC])
-m4trace:configure.ac:2743: -1- AH_OUTPUT([HAVE_LD_STATIC_DYNAMIC], [/* Define if your linker supports -Bstatic/-Bdynamic option. */
+m4trace:configure.ac:2765: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_STATIC_DYNAMIC])
+m4trace:configure.ac:2765: -1- AH_OUTPUT([HAVE_LD_STATIC_DYNAMIC], [/* Define if your linker supports -Bstatic/-Bdynamic option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LD_STATIC_DYNAMIC
 #endif
 ])
-m4trace:configure.ac:2762: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_DEMANGLE])
-m4trace:configure.ac:2762: -1- AH_OUTPUT([HAVE_LD_DEMANGLE], [/* Define if your linker supports --demangle option. */
+m4trace:configure.ac:2784: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_DEMANGLE])
+m4trace:configure.ac:2784: -1- AH_OUTPUT([HAVE_LD_DEMANGLE], [/* Define if your linker supports --demangle option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LD_DEMANGLE
 #endif
 ])
-m4trace:configure.ac:2786: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_EXPLICIT_RELOCS])
-m4trace:configure.ac:2786: -1- AH_OUTPUT([HAVE_AS_EXPLICIT_RELOCS], [/* Define if your assembler supports explicit relocations. */
+m4trace:configure.ac:2808: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_EXPLICIT_RELOCS])
+m4trace:configure.ac:2808: -1- AH_OUTPUT([HAVE_AS_EXPLICIT_RELOCS], [/* Define if your assembler supports explicit relocations. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_EXPLICIT_RELOCS
 #endif
 ])
-m4trace:configure.ac:2794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_JSRDIRECT_RELOCS])
-m4trace:configure.ac:2794: -1- AH_OUTPUT([HAVE_AS_JSRDIRECT_RELOCS], [/* Define if your assembler supports the lituse_jsrdirect relocation. */
+m4trace:configure.ac:2816: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_JSRDIRECT_RELOCS])
+m4trace:configure.ac:2816: -1- AH_OUTPUT([HAVE_AS_JSRDIRECT_RELOCS], [/* Define if your assembler supports the lituse_jsrdirect relocation. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_JSRDIRECT_RELOCS
 #endif
 ])
-m4trace:configure.ac:2802: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_NO_MUL_BUG_ABORT_OPTION])
-m4trace:configure.ac:2802: -1- AH_OUTPUT([HAVE_AS_NO_MUL_BUG_ABORT_OPTION], [/* Define if your assembler supports the -no-mul-bug-abort option. */
+m4trace:configure.ac:2824: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_NO_MUL_BUG_ABORT_OPTION])
+m4trace:configure.ac:2824: -1- AH_OUTPUT([HAVE_AS_NO_MUL_BUG_ABORT_OPTION], [/* Define if your assembler supports the -no-mul-bug-abort option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION
 #endif
 ])
-m4trace:configure.ac:2809: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_REGISTER_PSEUDO_OP])
-m4trace:configure.ac:2809: -1- AH_OUTPUT([HAVE_AS_REGISTER_PSEUDO_OP], [/* Define if your assembler supports .register. */
+m4trace:configure.ac:2831: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_REGISTER_PSEUDO_OP])
+m4trace:configure.ac:2831: -1- AH_OUTPUT([HAVE_AS_REGISTER_PSEUDO_OP], [/* Define if your assembler supports .register. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_REGISTER_PSEUDO_OP
 #endif
 ])
-m4trace:configure.ac:2814: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_RELAX_OPTION])
-m4trace:configure.ac:2814: -1- AH_OUTPUT([HAVE_AS_RELAX_OPTION], [/* Define if your assembler supports -relax option. */
+m4trace:configure.ac:2836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_RELAX_OPTION])
+m4trace:configure.ac:2836: -1- AH_OUTPUT([HAVE_AS_RELAX_OPTION], [/* Define if your assembler supports -relax option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_RELAX_OPTION
 #endif
 ])
-m4trace:configure.ac:2860: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_SPARC_UA_PCREL])
-m4trace:configure.ac:2860: -1- AH_OUTPUT([HAVE_AS_SPARC_UA_PCREL], [/* Define if your assembler and linker support unaligned PC relative relocs.
+m4trace:configure.ac:2882: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_SPARC_UA_PCREL])
+m4trace:configure.ac:2882: -1- AH_OUTPUT([HAVE_AS_SPARC_UA_PCREL], [/* Define if your assembler and linker support unaligned PC relative relocs.
    */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_SPARC_UA_PCREL
 #endif
 ])
-m4trace:configure.ac:2860: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_SPARC_UA_PCREL_HIDDEN])
-m4trace:configure.ac:2860: -1- AH_OUTPUT([HAVE_AS_SPARC_UA_PCREL_HIDDEN], [/* Define if your assembler and linker support unaligned PC relative relocs
+m4trace:configure.ac:2882: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_SPARC_UA_PCREL_HIDDEN])
+m4trace:configure.ac:2882: -1- AH_OUTPUT([HAVE_AS_SPARC_UA_PCREL_HIDDEN], [/* Define if your assembler and linker support unaligned PC relative relocs
    against hidden symbols. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN
 #endif
 ])
-m4trace:configure.ac:2874: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_OFFSETABLE_LO10])
-m4trace:configure.ac:2874: -1- AH_OUTPUT([HAVE_AS_OFFSETABLE_LO10], [/* Define if your assembler supports offsetable %lo(). */
+m4trace:configure.ac:2896: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_OFFSETABLE_LO10])
+m4trace:configure.ac:2896: -1- AH_OUTPUT([HAVE_AS_OFFSETABLE_LO10], [/* Define if your assembler supports offsetable %lo(). */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_OFFSETABLE_LO10
 #endif
 ])
-m4trace:configure.ac:2896: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_PE_SECREL32_RELOC])
-m4trace:configure.ac:2896: -1- AH_OUTPUT([HAVE_GAS_PE_SECREL32_RELOC], [/* Define if your assembler and linker support 32-bit section relative relocs
+m4trace:configure.ac:2918: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_PE_SECREL32_RELOC])
+m4trace:configure.ac:2918: -1- AH_OUTPUT([HAVE_GAS_PE_SECREL32_RELOC], [/* Define if your assembler and linker support 32-bit section relative relocs
    via \'.secrel32 label\'. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_PE_SECREL32_RELOC
 #endif
 ])
-m4trace:configure.ac:2904: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_FILDS_FISTS])
-m4trace:configure.ac:2904: -1- AH_OUTPUT([HAVE_GAS_FILDS_FISTS], [/* Define if your assembler uses the new HImode fild and fist notation. */
+m4trace:configure.ac:2926: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GAS_FILDS_FISTS])
+m4trace:configure.ac:2926: -1- AH_OUTPUT([HAVE_GAS_FILDS_FISTS], [/* Define if your assembler uses the new HImode fild and fist notation. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_GAS_FILDS_FISTS
 #endif
 ])
-m4trace:configure.ac:2910: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_IX86_CMOV_SUN_SYNTAX])
-m4trace:configure.ac:2910: -1- AH_OUTPUT([HAVE_AS_IX86_CMOV_SUN_SYNTAX], [/* Define if your assembler supports the Sun syntax for cmov. */
+m4trace:configure.ac:2932: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_IX86_CMOV_SUN_SYNTAX])
+m4trace:configure.ac:2932: -1- AH_OUTPUT([HAVE_AS_IX86_CMOV_SUN_SYNTAX], [/* Define if your assembler supports the Sun syntax for cmov. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX
 #endif
 ])
-m4trace:configure.ac:2916: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_IX86_FFREEP])
-m4trace:configure.ac:2916: -1- AH_OUTPUT([HAVE_AS_IX86_FFREEP], [/* Define if your assembler supports the ffreep mnemonic. */
+m4trace:configure.ac:2938: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_IX86_FFREEP])
+m4trace:configure.ac:2938: -1- AH_OUTPUT([HAVE_AS_IX86_FFREEP], [/* Define if your assembler supports the ffreep mnemonic. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_IX86_FFREEP
 #endif
 ])
-m4trace:configure.ac:2929: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_GOTOFF_IN_DATA])
-m4trace:configure.ac:2929: -1- AH_OUTPUT([HAVE_AS_GOTOFF_IN_DATA], [/* Define true if the assembler supports \'.long foo at GOTOFF\'. */
+m4trace:configure.ac:2951: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_GOTOFF_IN_DATA])
+m4trace:configure.ac:2951: -1- AH_OUTPUT([HAVE_AS_GOTOFF_IN_DATA], [/* Define true if the assembler supports \'.long foo at GOTOFF\'. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_GOTOFF_IN_DATA
 #endif
 ])
-m4trace:configure.ac:2940: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_LTOFFX_LDXMOV_RELOCS])
-m4trace:configure.ac:2940: -1- AH_OUTPUT([HAVE_AS_LTOFFX_LDXMOV_RELOCS], [/* Define if your assembler supports ltoffx and ldxmov relocations. */
+m4trace:configure.ac:2962: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_LTOFFX_LDXMOV_RELOCS])
+m4trace:configure.ac:2962: -1- AH_OUTPUT([HAVE_AS_LTOFFX_LDXMOV_RELOCS], [/* Define if your assembler supports ltoffx and ldxmov relocations. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS
 #endif
 ])
-m4trace:configure.ac:2969: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_MFCRF])
-m4trace:configure.ac:2969: -1- AH_OUTPUT([HAVE_AS_MFCRF], [/* Define if your assembler supports mfcr field. */
+m4trace:configure.ac:2991: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_MFCRF])
+m4trace:configure.ac:2991: -1- AH_OUTPUT([HAVE_AS_MFCRF], [/* Define if your assembler supports mfcr field. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_MFCRF
 #endif
 ])
-m4trace:configure.ac:2984: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_POPCNTB])
-m4trace:configure.ac:2984: -1- AH_OUTPUT([HAVE_AS_POPCNTB], [/* Define if your assembler supports popcntb field. */
+m4trace:configure.ac:3006: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_POPCNTB])
+m4trace:configure.ac:3006: -1- AH_OUTPUT([HAVE_AS_POPCNTB], [/* Define if your assembler supports popcntb field. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_POPCNTB
 #endif
 ])
-m4trace:configure.ac:2999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_FPRND])
-m4trace:configure.ac:2999: -1- AH_OUTPUT([HAVE_AS_FPRND], [/* Define if your assembler supports fprnd. */
+m4trace:configure.ac:3021: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_FPRND])
+m4trace:configure.ac:3021: -1- AH_OUTPUT([HAVE_AS_FPRND], [/* Define if your assembler supports fprnd. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_FPRND
 #endif
 ])
-m4trace:configure.ac:3018: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_REL16])
-m4trace:configure.ac:3018: -1- AH_OUTPUT([HAVE_AS_REL16], [/* Define if your assembler supports R_PPC_REL16 relocs. */
+m4trace:configure.ac:3040: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_REL16])
+m4trace:configure.ac:3040: -1- AH_OUTPUT([HAVE_AS_REL16], [/* Define if your assembler supports R_PPC_REL16 relocs. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_REL16
 #endif
 ])
-m4trace:configure.ac:3095: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_DWARF2_DEBUG_LINE])
-m4trace:configure.ac:3095: -1- AH_OUTPUT([HAVE_AS_DWARF2_DEBUG_LINE], [/* Define if your assembler supports dwarf2 .file/.loc directives, and
+m4trace:configure.ac:3117: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_DWARF2_DEBUG_LINE])
+m4trace:configure.ac:3117: -1- AH_OUTPUT([HAVE_AS_DWARF2_DEBUG_LINE], [/* Define if your assembler supports dwarf2 .file/.loc directives, and
    preserves file table indices exactly as given. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_DWARF2_DEBUG_LINE
 #endif
 ])
-m4trace:configure.ac:3102: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_GDWARF2_DEBUG_FLAG])
-m4trace:configure.ac:3102: -1- AH_OUTPUT([HAVE_AS_GDWARF2_DEBUG_FLAG], [/* Define if your assembler supports the --gdwarf2 option. */
+m4trace:configure.ac:3124: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_GDWARF2_DEBUG_FLAG])
+m4trace:configure.ac:3124: -1- AH_OUTPUT([HAVE_AS_GDWARF2_DEBUG_FLAG], [/* Define if your assembler supports the --gdwarf2 option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_GDWARF2_DEBUG_FLAG
 #endif
 ])
-m4trace:configure.ac:3115: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_GSTABS_DEBUG_FLAG])
-m4trace:configure.ac:3115: -1- AH_OUTPUT([HAVE_AS_GSTABS_DEBUG_FLAG], [/* Define if your assembler supports the --gstabs option. */
+m4trace:configure.ac:3137: -1- AC_DEFINE_TRACE_LITERAL([HAVE_AS_GSTABS_DEBUG_FLAG])
+m4trace:configure.ac:3137: -1- AH_OUTPUT([HAVE_AS_GSTABS_DEBUG_FLAG], [/* Define if your assembler supports the --gstabs option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_AS_GSTABS_DEBUG_FLAG
 #endif
 ])
-m4trace:configure.ac:3153: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_RO_RW_SECTION_MIXING])
-m4trace:configure.ac:3153: -1- AH_OUTPUT([HAVE_LD_RO_RW_SECTION_MIXING], [/* Define if your linker links a mix of read-only and read-write sections into
+m4trace:configure.ac:3175: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_RO_RW_SECTION_MIXING])
+m4trace:configure.ac:3175: -1- AH_OUTPUT([HAVE_LD_RO_RW_SECTION_MIXING], [/* Define if your linker links a mix of read-only and read-write sections into
    a read-write section. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LD_RO_RW_SECTION_MIXING
 #endif
 ])
-m4trace:configure.ac:3173: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_EH_FRAME_HDR])
-m4trace:configure.ac:3173: -1- AH_OUTPUT([HAVE_LD_EH_FRAME_HDR], [/* Define if your linker supports --eh-frame-hdr option. */
+m4trace:configure.ac:3195: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_EH_FRAME_HDR])
+m4trace:configure.ac:3195: -1- AH_OUTPUT([HAVE_LD_EH_FRAME_HDR], [/* Define if your linker supports --eh-frame-hdr option. */
 #undef HAVE_LD_EH_FRAME_HDR])
-m4trace:configure.ac:3192: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_PIE])
-m4trace:configure.ac:3192: -1- AH_OUTPUT([HAVE_LD_PIE], [/* Define if your linker supports -pie option. */
+m4trace:configure.ac:3214: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_PIE])
+m4trace:configure.ac:3214: -1- AH_OUTPUT([HAVE_LD_PIE], [/* Define if your linker supports -pie option. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LD_PIE
 #endif
 ])
-m4trace:configure.ac:3217: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_AS_NEEDED])
-m4trace:configure.ac:3217: -1- AH_OUTPUT([HAVE_LD_AS_NEEDED], [/* Define if your linker supports --as-needed and --no-as-needed options. */
+m4trace:configure.ac:3239: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_AS_NEEDED])
+m4trace:configure.ac:3239: -1- AH_OUTPUT([HAVE_LD_AS_NEEDED], [/* Define if your linker supports --as-needed and --no-as-needed options. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LD_AS_NEEDED
 #endif
 ])
-m4trace:configure.ac:3256: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_NO_DOT_SYMS])
-m4trace:configure.ac:3256: -1- AH_OUTPUT([HAVE_LD_NO_DOT_SYMS], [/* Define if your PowerPC64 linker only needs function descriptor syms. */
+m4trace:configure.ac:3278: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_NO_DOT_SYMS])
+m4trace:configure.ac:3278: -1- AH_OUTPUT([HAVE_LD_NO_DOT_SYMS], [/* Define if your PowerPC64 linker only needs function descriptor syms. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LD_NO_DOT_SYMS
 #endif
 ])
-m4trace:configure.ac:3275: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_SYSROOT])
-m4trace:configure.ac:3275: -1- AH_OUTPUT([HAVE_LD_SYSROOT], [/* Define if your linker supports --sysroot. */
+m4trace:configure.ac:3297: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LD_SYSROOT])
+m4trace:configure.ac:3297: -1- AH_OUTPUT([HAVE_LD_SYSROOT], [/* Define if your linker supports --sysroot. */
 #ifndef USED_FOR_TARGET
 #undef HAVE_LD_SYSROOT
 #endif
 ])
-m4trace:configure.ac:3281: -1- AC_DEFINE_TRACE_LITERAL([PREFIX_INCLUDE_DIR])
-m4trace:configure.ac:3281: -1- AH_OUTPUT([PREFIX_INCLUDE_DIR], [/* Define to PREFIX/include if cpp should also search that directory. */
+m4trace:configure.ac:3303: -1- AC_DEFINE_TRACE_LITERAL([PREFIX_INCLUDE_DIR])
+m4trace:configure.ac:3303: -1- AH_OUTPUT([PREFIX_INCLUDE_DIR], [/* Define to PREFIX/include if cpp should also search that directory. */
 #ifndef USED_FOR_TARGET
 #undef PREFIX_INCLUDE_DIR
 #endif
 ])
-m4trace:configure.ac:3331: -1- AC_DEFINE_TRACE_LITERAL([TARGET_LIBC_PROVIDES_SSP])
-m4trace:configure.ac:3331: -1- AH_OUTPUT([TARGET_LIBC_PROVIDES_SSP], [/* Define if your target C library provides stack protector support */
+m4trace:configure.ac:3353: -1- AC_DEFINE_TRACE_LITERAL([TARGET_LIBC_PROVIDES_SSP])
+m4trace:configure.ac:3353: -1- AH_OUTPUT([TARGET_LIBC_PROVIDES_SSP], [/* Define if your target C library provides stack protector support */
 #ifndef USED_FOR_TARGET
 #undef TARGET_LIBC_PROVIDES_SSP
 #endif
 ])
-m4trace:configure.ac:3367: -1- AC_DEFINE_TRACE_LITERAL([TARGET_DEFAULT_LONG_DOUBLE_128])
-m4trace:configure.ac:3367: -1- AH_OUTPUT([TARGET_DEFAULT_LONG_DOUBLE_128], [/* Define if TFmode long double should be the default */
+m4trace:configure.ac:3389: -1- AC_DEFINE_TRACE_LITERAL([TARGET_DEFAULT_LONG_DOUBLE_128])
+m4trace:configure.ac:3389: -1- AH_OUTPUT([TARGET_DEFAULT_LONG_DOUBLE_128], [/* Define if TFmode long double should be the default */
 #ifndef USED_FOR_TARGET
 #undef TARGET_DEFAULT_LONG_DOUBLE_128
 #endif
 ])
-m4trace:configure.ac:3386: -1- AC_DEFINE_TRACE_LITERAL([GGC_ZONE])
-m4trace:configure.ac:3386: -1- AH_OUTPUT([GGC_ZONE], [/* Define if the zone collector is in use */
+m4trace:configure.ac:3408: -1- AC_DEFINE_TRACE_LITERAL([GGC_ZONE])
+m4trace:configure.ac:3408: -1- AH_OUTPUT([GGC_ZONE], [/* Define if the zone collector is in use */
 #ifndef USED_FOR_TARGET
 #undef GGC_ZONE
 #endif
 ])
-m4trace:configure.ac:3387: -1- AC_SUBST([GGC])
-m4trace:configure.ac:3398: -1- AC_SUBST([zlibdir])
-m4trace:configure.ac:3399: -1- AC_SUBST([zlibinc])
-m4trace:configure.ac:3419: -1- AC_SUBST([MAINT])
-m4trace:configure.ac:3632: -1- AC_SUBST([gcc_tooldir])
-m4trace:configure.ac:3633: -1- AC_SUBST([dollar])
-m4trace:configure.ac:3652: -1- AC_SUBST([slibdir])
-m4trace:configure.ac:3655: -1- AC_SUBST([objdir])
-m4trace:configure.ac:3661: -1- AC_SUBST([datarootdir])
-m4trace:configure.ac:3667: -1- AC_SUBST([docdir])
-m4trace:configure.ac:3673: -1- AC_SUBST([htmldir])
-m4trace:configure.ac:3676: -1- AC_SUBST([subdirs])
-m4trace:configure.ac:3677: -1- AC_SUBST([srcdir])
-m4trace:configure.ac:3678: -1- AC_SUBST([all_boot_languages])
-m4trace:configure.ac:3679: -1- AC_SUBST([all_compilers])
-m4trace:configure.ac:3680: -1- AC_SUBST([all_gtfiles])
-m4trace:configure.ac:3681: -1- AC_SUBST([all_gtfiles_files_langs])
-m4trace:configure.ac:3682: -1- AC_SUBST([all_gtfiles_files_files])
-m4trace:configure.ac:3683: -1- AC_SUBST([all_lang_makefrags])
-m4trace:configure.ac:3684: -1- AC_SUBST([all_lang_makefiles])
-m4trace:configure.ac:3685: -1- AC_SUBST([all_languages])
-m4trace:configure.ac:3686: -1- AC_SUBST([all_selected_languages])
-m4trace:configure.ac:3687: -1- AC_SUBST([all_stagestuff])
-m4trace:configure.ac:3688: -1- AC_SUBST([build_exeext])
-m4trace:configure.ac:3689: -1- AC_SUBST([build_install_headers_dir])
-m4trace:configure.ac:3690: -1- AC_SUBST([build_xm_file_list])
-m4trace:configure.ac:3691: -1- AC_SUBST([build_xm_include_list])
-m4trace:configure.ac:3692: -1- AC_SUBST([build_xm_defines])
-m4trace:configure.ac:3693: -1- AC_SUBST([check_languages])
-m4trace:configure.ac:3694: -1- AC_SUBST([cc_set_by_configure])
-m4trace:configure.ac:3695: -1- AC_SUBST([quoted_cc_set_by_configure])
-m4trace:configure.ac:3696: -1- AC_SUBST([cpp_install_dir])
-m4trace:configure.ac:3697: -1- AC_SUBST([xmake_file])
-m4trace:configure.ac:3698: -1- AC_SUBST([tmake_file])
-m4trace:configure.ac:3699: -1- AC_SUBST([extra_gcc_objs])
-m4trace:configure.ac:3700: -1- AC_SUBST([extra_headers_list])
-m4trace:configure.ac:3701: -1- AC_SUBST([extra_objs])
-m4trace:configure.ac:3702: -1- AC_SUBST([extra_parts])
-m4trace:configure.ac:3703: -1- AC_SUBST([extra_passes])
-m4trace:configure.ac:3704: -1- AC_SUBST([extra_programs])
-m4trace:configure.ac:3705: -1- AC_SUBST([float_h_file])
-m4trace:configure.ac:3706: -1- AC_SUBST([gcc_config_arguments])
-m4trace:configure.ac:3707: -1- AC_SUBST([gcc_gxx_include_dir])
-m4trace:configure.ac:3708: -1- AC_SUBST([host_exeext])
-m4trace:configure.ac:3709: -1- AC_SUBST([host_xm_file_list])
-m4trace:configure.ac:3710: -1- AC_SUBST([host_xm_include_list])
-m4trace:configure.ac:3711: -1- AC_SUBST([host_xm_defines])
-m4trace:configure.ac:3712: -1- AC_SUBST([out_host_hook_obj])
-m4trace:configure.ac:3713: -1- AC_SUBST([install])
-m4trace:configure.ac:3714: -1- AC_SUBST([lang_opt_files])
-m4trace:configure.ac:3715: -1- AC_SUBST([lang_specs_files])
-m4trace:configure.ac:3716: -1- AC_SUBST([lang_tree_files])
-m4trace:configure.ac:3717: -1- AC_SUBST([local_prefix])
-m4trace:configure.ac:3718: -1- AC_SUBST([md_file])
-m4trace:configure.ac:3719: -1- AC_SUBST([objc_boehm_gc])
-m4trace:configure.ac:3720: -1- AC_SUBST([out_file])
-m4trace:configure.ac:3722: -1- AC_SUBST([out_cxx_file])
-m4trace:configure.ac:3723: -1- AC_SUBST([out_object_file])
-m4trace:configure.ac:3725: -1- AC_SUBST([out_cxx_object_file])
-m4trace:configure.ac:3726: -1- AC_SUBST([stage_prefix_set_by_configure])
-m4trace:configure.ac:3727: -1- AC_SUBST([quoted_stage_prefix_set_by_configure])
-m4trace:configure.ac:3728: -1- AC_SUBST([thread_file])
-m4trace:configure.ac:3729: -1- AC_SUBST([tm_file_list])
-m4trace:configure.ac:3730: -1- AC_SUBST([tm_include_list])
-m4trace:configure.ac:3731: -1- AC_SUBST([tm_defines])
-m4trace:configure.ac:3732: -1- AC_SUBST([tm_p_file_list])
-m4trace:configure.ac:3733: -1- AC_SUBST([tm_p_include_list])
-m4trace:configure.ac:3734: -1- AC_SUBST([xm_file_list])
-m4trace:configure.ac:3735: -1- AC_SUBST([xm_include_list])
-m4trace:configure.ac:3736: -1- AC_SUBST([xm_defines])
-m4trace:configure.ac:3737: -1- AC_SUBST([c_target_objs])
-m4trace:configure.ac:3738: -1- AC_SUBST([cxx_target_objs])
-m4trace:configure.ac:3739: -1- AC_SUBST([target_cpu_default])
-m4trace:configure.ac:3761: -1- AC_SUBST([GMPLIBS])
-m4trace:configure.ac:3762: -1- AC_SUBST([GMPINC])
-m4trace:configure.ac:3769: -1- AC_CONFIG_FILES([$all_outputs])
-m4trace:configure.ac:3804: -1- AC_SUBST([LIB@&t at OBJS], [$ac_libobjs])
-m4trace:configure.ac:3804: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.ac:3409: -1- AC_SUBST([GGC])
+m4trace:configure.ac:3420: -1- AC_SUBST([zlibdir])
+m4trace:configure.ac:3421: -1- AC_SUBST([zlibinc])
+m4trace:configure.ac:3441: -1- AC_SUBST([MAINT])
+m4trace:configure.ac:3654: -1- AC_SUBST([gcc_tooldir])
+m4trace:configure.ac:3655: -1- AC_SUBST([dollar])
+m4trace:configure.ac:3674: -1- AC_SUBST([slibdir])
+m4trace:configure.ac:3677: -1- AC_SUBST([objdir])
+m4trace:configure.ac:3683: -1- AC_SUBST([datarootdir])
+m4trace:configure.ac:3689: -1- AC_SUBST([docdir])
+m4trace:configure.ac:3695: -1- AC_SUBST([htmldir])
+m4trace:configure.ac:3698: -1- AC_SUBST([subdirs])
+m4trace:configure.ac:3699: -1- AC_SUBST([srcdir])
+m4trace:configure.ac:3700: -1- AC_SUBST([all_boot_languages])
+m4trace:configure.ac:3701: -1- AC_SUBST([all_compilers])
+m4trace:configure.ac:3702: -1- AC_SUBST([all_gtfiles])
+m4trace:configure.ac:3703: -1- AC_SUBST([all_gtfiles_files_langs])
+m4trace:configure.ac:3704: -1- AC_SUBST([all_gtfiles_files_files])
+m4trace:configure.ac:3705: -1- AC_SUBST([all_lang_makefrags])
+m4trace:configure.ac:3706: -1- AC_SUBST([all_lang_makefiles])
+m4trace:configure.ac:3707: -1- AC_SUBST([all_languages])
+m4trace:configure.ac:3708: -1- AC_SUBST([all_selected_languages])
+m4trace:configure.ac:3709: -1- AC_SUBST([all_stagestuff])
+m4trace:configure.ac:3710: -1- AC_SUBST([build_exeext])
+m4trace:configure.ac:3711: -1- AC_SUBST([build_install_headers_dir])
+m4trace:configure.ac:3712: -1- AC_SUBST([build_xm_file_list])
+m4trace:configure.ac:3713: -1- AC_SUBST([build_xm_include_list])
+m4trace:configure.ac:3714: -1- AC_SUBST([build_xm_defines])
+m4trace:configure.ac:3715: -1- AC_SUBST([check_languages])
+m4trace:configure.ac:3716: -1- AC_SUBST([cc_set_by_configure])
+m4trace:configure.ac:3717: -1- AC_SUBST([quoted_cc_set_by_configure])
+m4trace:configure.ac:3718: -1- AC_SUBST([cpp_install_dir])
+m4trace:configure.ac:3719: -1- AC_SUBST([xmake_file])
+m4trace:configure.ac:3720: -1- AC_SUBST([tmake_file])
+m4trace:configure.ac:3721: -1- AC_SUBST([extra_gcc_objs])
+m4trace:configure.ac:3722: -1- AC_SUBST([extra_headers_list])
+m4trace:configure.ac:3723: -1- AC_SUBST([extra_objs])
+m4trace:configure.ac:3724: -1- AC_SUBST([extra_parts])
+m4trace:configure.ac:3725: -1- AC_SUBST([extra_passes])
+m4trace:configure.ac:3726: -1- AC_SUBST([extra_programs])
+m4trace:configure.ac:3727: -1- AC_SUBST([float_h_file])
+m4trace:configure.ac:3728: -1- AC_SUBST([gcc_config_arguments])
+m4trace:configure.ac:3729: -1- AC_SUBST([gcc_gxx_include_dir])
+m4trace:configure.ac:3730: -1- AC_SUBST([host_exeext])
+m4trace:configure.ac:3731: -1- AC_SUBST([host_xm_file_list])
+m4trace:configure.ac:3732: -1- AC_SUBST([host_xm_include_list])
+m4trace:configure.ac:3733: -1- AC_SUBST([host_xm_defines])
+m4trace:configure.ac:3734: -1- AC_SUBST([out_host_hook_obj])
+m4trace:configure.ac:3735: -1- AC_SUBST([install])
+m4trace:configure.ac:3736: -1- AC_SUBST([lang_opt_files])
+m4trace:configure.ac:3737: -1- AC_SUBST([lang_specs_files])
+m4trace:configure.ac:3738: -1- AC_SUBST([lang_tree_files])
+m4trace:configure.ac:3739: -1- AC_SUBST([local_prefix])
+m4trace:configure.ac:3740: -1- AC_SUBST([md_file])
+m4trace:configure.ac:3741: -1- AC_SUBST([objc_boehm_gc])
+m4trace:configure.ac:3742: -1- AC_SUBST([out_file])
+m4trace:configure.ac:3744: -1- AC_SUBST([out_cxx_file])
+m4trace:configure.ac:3745: -1- AC_SUBST([out_object_file])
+m4trace:configure.ac:3747: -1- AC_SUBST([out_cxx_object_file])
+m4trace:configure.ac:3748: -1- AC_SUBST([stage_prefix_set_by_configure])
+m4trace:configure.ac:3749: -1- AC_SUBST([quoted_stage_prefix_set_by_configure])
+m4trace:configure.ac:3750: -1- AC_SUBST([thread_file])
+m4trace:configure.ac:3751: -1- AC_SUBST([tm_file_list])
+m4trace:configure.ac:3752: -1- AC_SUBST([tm_include_list])
+m4trace:configure.ac:3753: -1- AC_SUBST([tm_defines])
+m4trace:configure.ac:3754: -1- AC_SUBST([tm_p_file_list])
+m4trace:configure.ac:3755: -1- AC_SUBST([tm_p_include_list])
+m4trace:configure.ac:3756: -1- AC_SUBST([xm_file_list])
+m4trace:configure.ac:3757: -1- AC_SUBST([xm_include_list])
+m4trace:configure.ac:3758: -1- AC_SUBST([xm_defines])
+m4trace:configure.ac:3759: -1- AC_SUBST([c_target_objs])
+m4trace:configure.ac:3760: -1- AC_SUBST([cxx_target_objs])
+m4trace:configure.ac:3761: -1- AC_SUBST([target_cpu_default])
+m4trace:configure.ac:3783: -1- AC_SUBST([GMPLIBS])
+m4trace:configure.ac:3784: -1- AC_SUBST([GMPINC])
+m4trace:configure.ac:3791: -1- AC_CONFIG_FILES([$all_outputs])
+m4trace:configure.ac:3826: -1- AC_SUBST([LIB@&t at OBJS], [$ac_libobjs])
+m4trace:configure.ac:3826: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])

Modified: llvm-gcc-4.2/trunk/gcc/builtins.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/builtins.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/builtins.c (original)
+++ llvm-gcc-4.2/trunk/gcc/builtins.c Thu Aug  2 20:00:37 2007
@@ -6300,7 +6300,6 @@
 	return target;
       break;
 
-
     case BUILT_IN_FETCH_AND_ADD_1:
     case BUILT_IN_FETCH_AND_ADD_2:
     case BUILT_IN_FETCH_AND_ADD_4:

Modified: llvm-gcc-4.2/trunk/gcc/c-common.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-common.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-common.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-common.c Thu Aug  2 20:00:37 2007
@@ -359,6 +359,11 @@
 
 int print_struct_values;
 
+/* APPLE LOCAL begin radar 5082000 */
+/* Tells the compiler to print out gc's ivar layout. */
+int print_objc_ivar_layout;
+/* APPLE LOCAL end radar 5082000 */
+
 /* Tells the compiler what is the constant string class for Objc.  */
 
 const char *constant_string_class_name;
@@ -851,7 +856,7 @@
       strname.text = (unsigned char *) namep;
       strname.len = len - 1;
 
-      /* APPLE LOCAL pascal strings add extra flag */
+      /* APPLE LOCAL pascal strings */
       if (cpp_interpret_string (parse_in, &strname, 1, &cstr, false, false))
 	{
 	  XDELETEVEC (namep);

Modified: llvm-gcc-4.2/trunk/gcc/c-common.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-common.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-common.h (original)
+++ llvm-gcc-4.2/trunk/gcc/c-common.h Thu Aug  2 20:00:37 2007
@@ -512,6 +512,8 @@
 
 extern int print_struct_values;
 
+/* APPLE LOCAL radar 5082000 */
+extern int print_objc_ivar_layout; 
 /* ???.  Undocumented.  */
 
 extern const char *constant_string_class_name;
@@ -1052,10 +1054,11 @@
 extern int objc_static_init_needed_p (void);
 extern tree objc_generate_static_init_call (tree);
 extern tree objc_generate_write_barrier (tree, enum tree_code, tree);
-/* APPLE LOCAL begin radar 4426814 */
-extern tree objc_generate_weak_read (tree);
-extern void objc_remove_weak_read (tree*);
-/* APPLE LOCAL end radar 4426814 */
+/* APPLE LOCAL radar 5276085 */
+extern void objc_weak_reference_expr (tree*);
+/* APPLE LOCAL begin 5276085 */
+extern tree objc_build_weak_reference_tree (tree);
+/* APPLE LOCAL end 5276085 */
 
 /* APPLE LOCAL begin C* language */
 extern void objc_set_method_opt (int);
@@ -1067,29 +1070,36 @@
 /* APPLE LOCAL begin C* property (Radar 4436866) */
 void objc_set_property_attr (int, tree);
 void objc_add_property_variable (tree);
-tree objc_build_getter_call (tree, tree);
+/* APPLE LOCAL begin radar 5285911 */
+tree objc_build_property_reference_expr (tree, tree);
+bool objc_property_reference_expr (tree);
+/* APPLE LOCAL end radar 5285911 */
 tree objc_build_setter_call (tree, tree);
 /* APPLE LOCAL end C* property (Radar 4436866) */
 /* APPLE LOCAL radar 4712269 */
 tree objc_build_incr_decr_setter_call (enum tree_code, tree, tree);
 /* APPLE LOCAL begin objc new property */
 void objc_declare_property_impl (int, tree);
-bool objc_property_call (tree);
+/* APPLE LOCAL radar 5285911 */
+/* objc_property_call decl removed. */
 /* APPLE LOCAL end objc new property */
 
-/* APPLE LOCAL ObjC new abi */
+/* APPLE LOCAL begin ObjC new abi */
 extern tree objc_v2_build_ivar_ref (tree datum, tree component);
+/* APPLE LOCAL end ObjC new abi */
 
-/* APPLE LOCAL C* warnings to easy porting to new abi */
+/* APPLE LOCAL begin C* warnings to easy porting to new abi */
 void diagnose_selector_cast (tree cast_type, tree sel_exp);
+/* APPLE LOCAL end C* warnings to easy porting to new abi */
 
 /* APPLE LOCAL begin radar 4441049 */
 tree objc_v2_component_ref_field_offset (tree);
 tree objc_v2_bitfield_ivar_bitpos (tree);
 /* APPLE LOCAL end radar 4441049 */
 
-/* APPLE LOCAL radar 4985544 */
+/* APPLE LOCAL begin 4985544 */
 bool objc_check_format_nsstring (tree, unsigned HOST_WIDE_INT, bool *);
+/* APPLE LOCAL end 4985544 */
 
 /* APPLE LOCAL radar 2996215 */
 tree objc_create_init_utf16_var (const unsigned char *, size_t, size_t *);

Modified: llvm-gcc-4.2/trunk/gcc/c-cppbuiltin.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-cppbuiltin.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-cppbuiltin.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-cppbuiltin.c Thu Aug  2 20:00:37 2007
@@ -368,7 +368,7 @@
   else
     builtin_define_with_value_n ("__GNUC_PATCHLEVEL__", "0", 1);
 
-  gcc_assert (!*v || *v == ' ' || *v == '-');
+  gcc_assert (!*v || *v == ' ' || *v == '-' || *v == '(');
 
   /* LLVM LOCAL no version number */
 #ifndef LLVM_VERSION_INFO

Modified: llvm-gcc-4.2/trunk/gcc/c-opts.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-opts.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-opts.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-opts.c Thu Aug  2 20:00:37 2007
@@ -977,6 +977,12 @@
       print_struct_values = 1;
       break;
 
+    /* APPLE LOCAL begin radar 5082000 */
+    case OPT_print_objc_ivar_layout:
+      print_objc_ivar_layout = 1;
+      break;
+    /* APPLE LOCAL end radar 5082000 */
+
     case OPT_print_pch_checksum:
       c_common_print_pch_checksum (stdout);
       exit_after_options = true;

Modified: llvm-gcc-4.2/trunk/gcc/c-parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-parser.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-parser.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-parser.c Thu Aug  2 20:00:37 2007
@@ -707,7 +707,13 @@
 c_parser_next_token_starts_declspecs (c_parser *parser)
 {
   c_token *token = c_parser_peek_token (parser);
-  return c_token_starts_declspecs (token);
+  /* APPLE LOCAL begin radar 5277239 */
+  /* Yes, we can have CLASS.method to mean property-style dot-syntax 
+     notation to call a class method (equiv to [CLASS meth]). */
+  return c_token_starts_declspecs (token) 
+	 && (token->id_kind != C_ID_CLASSNAME 
+	     || c_parser_peek_2nd_token (parser)->type != CPP_DOT);
+  /* APPLE LOCAL end radar 5277239 */
 }
 
 /* Return a pointer to the next-but-one token from PARSER, reading it
@@ -4907,7 +4913,8 @@
   stack[0].expr = c_parser_cast_expression (parser, after);
   /* APPLE LOCAL begin radar 4426814 */
   if (c_dialect_objc() && flag_objc_gc)
-    stack[0].expr.value = objc_generate_weak_read (stack[0].expr.value);
+    /* APPLE LOCAL radar 5276085 */
+    stack[0].expr.value = objc_build_weak_reference_tree (stack[0].expr.value);
   /* APPLE LOCAL end radar 4426814 */
   stack[0].prec = PREC_NONE;
   sp = 0;
@@ -5022,7 +5029,8 @@
       stack[sp].expr = c_parser_cast_expression (parser, NULL);
       /* APPLE LOCAL begin radar 4426814 */
       if (c_dialect_objc() && flag_objc_gc)
-        stack[sp].expr.value = objc_generate_weak_read (stack[sp].expr.value);
+        /* APPLE LOCAL radar 5276085 */
+        stack[sp].expr.value = objc_build_weak_reference_tree (stack[sp].expr.value);
       /* APPLE LOCAL end radar 4426814 */
       stack[sp].prec = oprec;
       stack[sp].op = ocode;
@@ -5417,6 +5425,21 @@
       c_parser_consume_token (parser);
       break;
     case CPP_NAME:
+      /* APPLE LOCAL begin radar 5277239 */
+      if (c_parser_peek_token (parser)->id_kind == C_ID_CLASSNAME
+	  && c_parser_peek_2nd_token (parser)->type == CPP_DOT)
+	{
+	  /* CLASS.class_method expression. */
+	  tree receiver, component;
+	  receiver = c_parser_objc_receiver (parser);
+          /* consume '.' operator */
+	  c_parser_consume_token (parser); 
+	  component = c_parser_objc_message_args (parser);
+	  expr.value = objc_build_property_reference_expr (receiver, component);
+	  expr.original_code = ERROR_MARK;
+	  break;
+	}
+      /* APPLE LOCAL end radar 5277239 */
       if (c_parser_peek_token (parser)->id_kind != C_ID_ID)
 	{
 	  c_parser_error (parser, "expected expression");

Modified: llvm-gcc-4.2/trunk/gcc/c-typeck.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-typeck.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-typeck.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-typeck.c Thu Aug  2 20:00:37 2007
@@ -1816,7 +1816,8 @@
   /* APPLE LOCAL end ObjC new abi */
 
   /* APPLE LOCAL begin C* property (Radar 4436866) */
-  if ((ref = objc_build_getter_call (datum, component)))
+  /* APPLE LOCAL radar 5285911 */
+  if ((ref = objc_build_property_reference_expr (datum, component)))
     return ref;
   /* APPLE LOCAL end C* property (Radar 4436866) */
 
@@ -3895,7 +3896,8 @@
   /* APPLE LOCAL begin radar 4426814 */
   if (c_dialect_objc () && flag_objc_gc)
     {
-      objc_remove_weak_read (&lhs);
+      /* APPLE LOCAL radar 5276085 */
+      objc_weak_reference_expr (&lhs);
       lhstype = TREE_TYPE (lhs);
       olhstype = lhstype;
     }
@@ -3909,7 +3911,8 @@
     return error_mark_node;
 
   /* APPLE LOCAL non lvalue assign  - objc new property*/
-  if (!objc_property_call (lhs) && !lvalue_or_else (&lhs, lv_assign))
+  /* APPLE LOCAL radar 5285911 */
+  if (!objc_property_reference_expr (lhs) && !lvalue_or_else (&lhs, lv_assign))
     return error_mark_node;
 
   STRIP_TYPE_NOPS (rhs);
@@ -7187,7 +7190,7 @@
       TREE_VALUE (tail) = input;
     }
 
-  /* APPLE LOCAL CW asm blocks. */
+  /* APPLE LOCAL CW asm blocks */
   args = build_stmt (ASM_EXPR, string, outputs, inputs, clobbers, NULL_TREE);
 
   /* asm statements without outputs, including simple ones, are treated
@@ -8959,8 +8962,8 @@
 
   /* ??? Should we also give an error for void and vectors rather than
      leaving those to give errors later?  */
-  /* APPLE LOCAL radar 4426814 */
-  return c_common_truthvalue_conversion (objc_generate_weak_read (expr));
+  /* APPLE LOCAL radar 4426814 - radar 5276085 */
+  return c_common_truthvalue_conversion (objc_build_weak_reference_tree (expr));
 }
 
 

Modified: llvm-gcc-4.2/trunk/gcc/c.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/c.opt Thu Aug  2 20:00:37 2007
@@ -872,11 +872,11 @@
 C++ ObjC++
 Marks all inlined methods as having hidden visibility
 
-; APPLE LOCAL begin ms tinfo compat 4230099
+; APPLE LOCAL begin mainline 2007-06-28 ms tinfo compat 4230099
 fvisibility-ms-compat
 C++ ObjC++ Var(flag_visibility_ms_compat)
 Changes visibility to match Microsoft Visual Studio by default
-; APPLE LOCAL end ms tinfo compat 4230099
+; APPLE LOCAL end mainline 2007-06-28 ms tinfo compat 4230099
 
 fvtable-gc
 C++ ObjC++
@@ -983,6 +983,12 @@
 ObjC ObjC++
 Generate C header of platform-specific features
 
+; APPLE LOCAL begin radar 5082000
+print-objc-ivar-layout
+ObjC ObjC++
+Generate GC ivar layout information
+; APPLE LOCAL end radar 5082000
+
 print-pch-checksum
 C ObjC C++ ObjC++
 Print a checksum of the executable for PCH validity checking, and stop

Modified: llvm-gcc-4.2/trunk/gcc/cfghooks.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cfghooks.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cfghooks.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cfghooks.c Thu Aug  2 20:00:37 2007
@@ -330,8 +330,9 @@
   new_bb->count = bb->count;
   new_bb->frequency = bb->frequency;
   new_bb->loop_depth = bb->loop_depth;
-  /* APPLE LOCAL 4203984 mainline candidate */
+  /* APPLE LOCAL begin 4203984 mainline candidate */
   new_bb->loop_father = bb->loop_father;
+  /* APPLE LOCAL end 4203984 mainline candidate */
  
   if (dom_info_available_p (CDI_DOMINATORS))
     {
@@ -452,7 +453,6 @@
 	}
     };
 
-
   return ret;
 }
 
@@ -604,7 +604,6 @@
 	new_bb_cbk (jump);
     }
 
-
   if (dom_info_available_p (CDI_DOMINATORS))
     {
       basic_block doms_to_fix[2];

Modified: llvm-gcc-4.2/trunk/gcc/cfgrtl.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cfgrtl.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cfgrtl.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cfgrtl.c Thu Aug  2 20:00:37 2007
@@ -2145,7 +2145,6 @@
 	      && (! (e->flags & EDGE_ABNORMAL_CALL)
 		  || CALL_P (BB_END (bb))))
 	    {
-
 	      ei_next (&ei);
 	      continue;
 	    }

Modified: llvm-gcc-4.2/trunk/gcc/cgraphunit.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cgraphunit.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cgraphunit.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cgraphunit.c Thu Aug  2 20:00:37 2007
@@ -1757,8 +1757,7 @@
   TREE_STATIC (decl) = 1;
   TREE_USED (decl) = 1;
   DECL_ARTIFICIAL (decl) = 1;
-  /* APPLE LOCAL Radar 3939078 */
-  /* Delete DECL_IGNORED_P (decl) = 1; */
+  DECL_IGNORED_P (decl) = 1;
   DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (decl) = 1;
   DECL_SAVED_TREE (decl) = body;
   TREE_PUBLIC (decl) = ! targetm.have_ctors_dtors;

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.c Thu Aug  2 20:00:37 2007
@@ -10555,6 +10555,7 @@
   if (leaf && frame_size == 0)
     {
       offsets->outgoing_args = offsets->soft_frame;
+      offsets->locals_base = offsets->soft_frame;
       return offsets;
     }
 
@@ -13874,6 +13875,7 @@
       amount = offsets->locals_base - offsets->saved_regs;
     }
 
+  gcc_assert (amount >= 0);
   if (amount)
     {
       if (amount < 512)

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/cirrus.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/cirrus.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/cirrus.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/cirrus.md Thu Aug  2 20:00:37 2007
@@ -404,28 +404,6 @@
 ;; Cirrus SI values have been outlawed.  Look in arm.h for the comment
 ;; on HARD_REGNO_MODE_OK.
 
-(define_insn "*cirrus_arm_movsi_insn"
-  [(set (match_operand:SI 0 "general_operand" "=r,r,r,m,*v,r,*v,T,*v")
-        (match_operand:SI 1 "general_operand" "rI,K,mi,r,r,*v,T,*v,*v"))]
-  "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0
-   && (register_operand (operands[0], SImode)
-       || register_operand (operands[1], SImode))"
-  "@
-   mov%?\\t%0, %1
-   mvn%?\\t%0, #%B1
-   ldr%?\\t%0, %1
-   str%?\\t%1, %0
-   cfmv64lr%?\\t%Z0, %1
-   cfmvr64l%?\\t%0, %Z1
-   cfldr32%?\\t%V0, %1
-   cfstr32%?\\t%V1, %0
-   cfsh32%?\\t%V0, %V1, #0"
-  [(set_attr "type"           "*,  *,  load1,store1,   *,     *,  load1,store1,     *")
-   (set_attr "pool_range"     "*,  *,  4096,     *,   *,     *,  1024,     *,     *")
-   (set_attr "neg_pool_range" "*,  *,  4084,     *,   *,     *,  1012,     *,     *")
-   (set_attr "cirrus"         "not,not, not,   not,move,normal,normal,normal,normal")]
-)
-
 (define_insn "*cirrus_movsf_hard_insn"
   [(set (match_operand:SF 0 "nonimmediate_operand" "=v,v,v,r,m,r,r,m")
         (match_operand:SF 1 "general_operand"      "v,mE,r,v,v,r,mE,r"))]

Modified: llvm-gcc-4.2/trunk/gcc/config/darwin-protos.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/darwin-protos.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/darwin-protos.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/darwin-protos.h Thu Aug  2 20:00:37 2007
@@ -117,8 +117,6 @@
 extern void darwin_override_options (void);
 /* APPLE LOCAL optimization pragmas 3124235/3420242 */
 extern void reset_optimization_options (int, int);
-/* APPLE LOCAL C++ EH */
-extern void darwin_non_lazy_pcrel (FILE *file, rtx addr);
 
 /* APPLE LOCAL begin constant cfstrings */
 extern void darwin_init_cfstring_builtins (void);

Modified: llvm-gcc-4.2/trunk/gcc/config/darwin.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/darwin.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/darwin.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/darwin.c Thu Aug  2 20:00:37 2007
@@ -1291,10 +1291,13 @@
   /* APPLE LOCAL begin fwritable strings  */
   if (TREE_CODE (exp) == STRING_CST
       && ((size_t) TREE_STRING_LENGTH (exp)
-	  == strlen (TREE_STRING_POINTER (exp)) + 1)
+      /* Copied from varasm.c:output_constant_def_contents().  5346453 */
+      && (MAX ((HOST_WIDE_INT)TREE_STRING_LENGTH (exp),
+	       int_size_in_bytes (TREE_TYPE (exp)))
+	  == strlen (TREE_STRING_POINTER (exp)) + 1))
       && ! flag_writable_strings)
     return darwin_sections[cstring_section];
-  /* APPLE LOCAL end fwritable strings  */
+  /* APPLE LOCAL end fwritable strings, 5346453 */
   else if ((TREE_CODE (exp) == INTEGER_CST || TREE_CODE (exp) == REAL_CST)
 	   && flag_merge_constants)
     {

Modified: llvm-gcc-4.2/trunk/gcc/config/darwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/darwin.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/darwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/darwin.h Thu Aug  2 20:00:37 2007
@@ -281,8 +281,7 @@
    them to darwin_cpp_builtins in darwin-c.c.  */
 
 #undef	CPP_SPEC
-/* APPLE LOCAL -arch */
-#define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__} %{arch}" \
+#define CPP_SPEC "%{static:%{!dynamic:-D__STATIC__}}%{!static:-D__DYNAMIC__}" \
 	" %{pthread:-D_REENTRANT}"
 
 /* APPLE LOCAL begin private extern  */
@@ -312,7 +311,7 @@
 %{!fdump=*:%{!fsyntax-only:%{!precomp:%{!c:%{!M:%{!MM:%{!E:%{!S:\
     %(linker) %l %X %{d} %{s} %{t} %{Z} %{u*} \
     %{A} %{e*} %{m} %{r} %{x} \
-    %{@:-o %f%u.out}%{!@:%{o*}%{!o:-o a.out}} \
+    %{o*}%{!o:-o a.out} \
     %{!A:%{!nostdlib:%{!nostartfiles:%S}}} \
     %{L*} %{fopenmp:%:include(libgomp.spec)%(link_gomp)}   \
 "/* APPLE LOCAL add fcreate-profile */"\

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/athlon.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/athlon.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/athlon.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/athlon.md Thu Aug  2 20:00:37 2007
@@ -122,7 +122,6 @@
 (define_cpu_unit "athlon-fadd" "athlon_fp")
 (define_cpu_unit "athlon-fmul" "athlon_fp")
 (define_cpu_unit "athlon-fstore" "athlon_fp")
-; APPLE LOCAL begin mainline 2006-04-19 4434601
 (define_reservation "athlon-fany" "(athlon-fstore | athlon-fmul | athlon-fadd)")
 (define_reservation "athlon-faddmul" "(athlon-fadd | athlon-fmul)")
 
@@ -873,4 +872,3 @@
 			 (and (eq_attr "cpu" "k8,generic64")
 			      (eq_attr "type" "ssediv"))
 			 "athlon-double,athlon-fmul*34")
-; APPLE LOCAL end mainline 2006-04-19 4434601

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/att.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/att.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/att.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/att.h Thu Aug  2 20:00:37 2007
@@ -1,85 +0,0 @@
-/* Definitions for AT&T assembler syntax for the Intel 80386.
-   Copyright (C) 1988, 1996, 2000, 2001, 2002
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-/* Define the syntax of instructions and addresses.  */
-
-/* Prefix for internally generated assembler labels.  */
-#define LPREFIX ".L"
-
-/* Assembler pseudos to introduce constants of various size.  */
-
-#define ASM_SHORT "\t.value\t"
-#define ASM_LONG "\t.long\t"
-#define ASM_QUAD "\t.quad\t"  /* Should not be used for 32bit compilation.  */
-
-/* How to output an ASCII string constant.  */
-
-#define ASM_OUTPUT_ASCII(FILE, PTR, SIZE)			\
-do								\
-{ size_t i = 0, limit = (SIZE); 				\
-  while (i < limit)						\
-    { if (i%10 == 0) { if (i!=0) fprintf ((FILE), "\n");	\
-		       fputs ("\t.byte\t", (FILE)); }		\
-      else fprintf ((FILE), ",");				\
-	fprintf ((FILE), "0x%x", ((PTR)[i++] & 0377)) ;}	\
-      fprintf ((FILE), "\n");					\
-} while (0)
-
-/* Output at beginning of assembler file.  */
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
-
-/* This is how to output an assembler line
-   that says to advance the location counter
-   to a multiple of 2**LOG bytes.  */
-
-#define ASM_OUTPUT_ALIGN(FILE,LOG)	\
-    if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1<<(LOG))
-
-/* This is how to output an assembler line
-   that says to advance the location counter by SIZE bytes.  */
-
-#define ASM_OUTPUT_SKIP(FILE,SIZE)  \
-  fprintf ((FILE), "\t.set .,.+%u\n", (int)(SIZE))
-
-/* Can't use ASM_OUTPUT_SKIP in text section; it doesn't leave 0s.  */
-
-#define ASM_NO_SKIP_IN_TEXT 1
-
-/* Define the syntax of labels and symbol definitions/declarations.  */
-
-/* The prefix to add for compiler private assembler symbols.  */
-#undef LOCAL_LABEL_PREFIX
-#define LOCAL_LABEL_PREFIX "."
-
-/* This is how to store into the string BUF
-   the symbol_ref name of an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.
-   This is suitable for output with `assemble_name'.  */
-
-#undef ASM_GENERATE_INTERNAL_LABEL
-#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)	\
-  sprintf ((BUF), "%s%s%ld", LOCAL_LABEL_PREFIX, (PREFIX), (long)(NUMBER))
-
-/* The prefix to add to user-visible assembler symbols.  */
-
-#undef USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/beos-elf.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/beos-elf.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/beos-elf.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/beos-elf.h Thu Aug  2 20:00:37 2007
@@ -1,239 +0,0 @@
-/* Definitions for Intel x86 running BeOS
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#define TARGET_VERSION fprintf (stderr, " (i386 BeOS/ELF)");
-
-/* Change debugging to Dwarf2.  */
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-
-/* The SVR4 ABI for the i386 says that records and unions are returned
-   in memory.  */
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START " #"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
-  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-
-/* Output assembler code to FILE to increment profiler label # LABELNO
-   for profiling a function entry.  */
-
-#undef MCOUNT_NAME
-#define MCOUNT_NAME "mcount"
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "long unsigned int"
- 
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-  
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "short unsigned int"
-   
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 16
-
-#define TARGET_DECLSPEC 1
-
-#define TARGET_OS_CPP_BUILTINS()					\
-  do									\
-    {									\
-	builtin_define ("__BEOS__");					\
-	builtin_define ("__INTEL__");					\
-	builtin_define ("_X86_");					\
-	builtin_define ("__stdcall=__attribute__((__stdcall__))");	\
-	builtin_define ("__cdecl=__attribute__((__cdecl__))");		\
-	builtin_assert ("system=beos");					\
-    }									\
-  while (0)
-    
-/* BeOS uses lots of multichars, so don't warn about them unless the
-   user explicitly asks for the warnings with -Wmultichar.  Note that
-   CC1_SPEC is used for both cc1 and cc1plus.  */
-
-#undef CC1_SPEC
-#define CC1_SPEC "%{!no-fpic:%{!fno-pic:%{!fno-pie:%{!fpie:%{!fPIC:%{!fPIE:-fpic}}}}}} %{!Wmultichar: -Wno-multichar} %(cc1_cpu) %{profile:-p}"
-
-#undef CC1PLUS_SPEC
-#define CC1PLUS_SPEC "%{!Wctor-dtor-privacy:-Wno-ctor-dtor-privacy}"
-
-/* Provide a LINK_SPEC appropriate for BeOS.  Here we provide support
-   for the special GCC options -static and -shared, which allow us to
-   link things in one of these three modes by applying the appropriate
-   combinations of options at link-time.  */
-
-/* If ELF is the default format, we should not use /lib/elf.  */
-
-#undef	LINK_SPEC
-#define LINK_SPEC "%{!o*:-o %b} -m elf_i386_be -shared -Bsymbolic %{nostart:-e 0}"
-
-/* Provide start and end file specs appropriate to glibc.  */
-
-/* LIB_SPEC for BeOS */
-#undef LIB_SPEC
-#define LIB_SPEC "-lnet -lroot"
-
-/* gcc runtime lib is built into libroot.so on BeOS */
-/* ??? This is gonna be lovely when the next release of gcc has 
-   some new symbol in, so that links start failing.  */
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC ""
-
-#undef  STARTFILE_SPEC
-#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart:start_dyn.o%s} init_term_dyn.o%s %{p:i386-mcount.o%s}"
-
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
-
-/* A C statement (sans semicolon) to output to the stdio stream
-   FILE the assembler definition of uninitialized global DECL named
-   NAME whose size is SIZE bytes and alignment is ALIGN bytes.
-   Try to use asm_output_aligned_bss to implement this macro.  */
-
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-/* A C statement to output to the stdio stream FILE an assembler
-   command to advance the location counter to a multiple of 1<<LOG
-   bytes if it is within MAX_SKIP bytes.
-
-   This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
-  if ((LOG)!=0) \
-    if ((MAX_SKIP)==0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
-    else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP))
-#endif
-
-/* For native compiler, use standard BeOS include file search paths
-   rooted in /boot/develop/headers.  For a cross compiler, don't
-   expect the host to use the BeOS directory scheme, and instead look
-   for the BeOS include files relative to TOOL_INCLUDE_DIR.  Yes, we
-   use ANSI string concatenation here (FIXME) */
-
-/* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#ifndef CROSS_DIRECTORY_STRUCTURE
-/* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#undef INCLUDE_DEFAULTS
-#define INCLUDE_DEFAULTS \
-    { \
-    { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
-    { GCC_INCLUDE_DIR, "GCC", 0, 0 },\
-    { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \
-    { "/boot/develop/headers/be/add-ons/graphics", 0, 0, 0 },\
-    { "/boot/develop/headers/be/devel", 0, 0, 0 },\
-    { "/boot/develop/headers/be/translation", 0, 0, 0 },\
-    { "/boot/develop/headers/be/mail", 0, 0, 0 },\
-    { "/boot/develop/headers/gnu", 0, 0, 0 },\
-    { "/boot/develop/headers/be/drivers", 0, 0, 0 },\
-    { "/boot/develop/headers/be/opengl", 0, 0, 0 },\
-    { "/boot/develop/headers/be/game", 0, 0, 0 },\
-    { "/boot/develop/headers/be/support", 0, 0, 0 },\
-    { "/boot/develop/headers/be/storage", 0, 0, 0 },\
-    { "/boot/develop/headers/be/kernel", 0, 0, 0 },\
-    { "/boot/develop/headers/be/net", 0, 0, 0 },\
-    { "/boot/develop/headers/be/midi", 0, 0, 0 },\
-    { "/boot/develop/headers/be/midi2", 0, 0, 0 },\
-    { "/boot/develop/headers/be/media", 0, 0, 0 },\
-    { "/boot/develop/headers/be/interface", 0, 0, 0 },\
-    { "/boot/develop/headers/be/device", 0, 0, 0 },\
-    { "/boot/develop/headers/be/app", 0, 0, 0 },\
-    { "/boot/develop/headers/be/precompiled", 0, 0, 0 },\
-    { "/boot/develop/headers/be/add-ons/input_server", 0, 0, 0 },\
-    { "/boot/develop/headers/be/add-ons/net_server", 0, 0, 0 },\
-    { "/boot/develop/headers/be/add-ons/screen_saver", 0, 0, 0 },\
-    { "/boot/develop/headers/be/add-ons/tracker", 0, 0, 0 },\
-    { "/boot/develop/headers/be/be_apps/Deskbar", 0, 0, 0 },\
-    { "/boot/develop/headers/be/be_apps/NetPositive", 0, 0, 0 },\
-    { "/boot/develop/headers/be/be_apps/Tracker", 0, 0, 0 },\
-    { "/boot/develop/headers/be/drivers/tty", 0, 0, 0 },\
-    { "/boot/develop/headers/be/net/netinet", 0, 0, 0 },\
-    { "/boot/develop/headers/be/storage", 0, 0, 0 },\
-    { "/boot/develop/headers/be", 0, 0, 0 },\
-    { "/boot/develop/headers/cpp", 0, 0, 0 },\
-    { "/boot/develop/headers/posix", 0, 0, 0 },\
-    { "/boot/develop/headers", 0, 0, 0 }, \
-    { 0, 0, 0, 0 } \
-    }
-/* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#else /* CROSS_DIRECTORY_STRUCTURE */
-/* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#undef	INCLUDE_DEFAULTS
-#define INCLUDE_DEFAULTS				\
-    { \
-    { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
-    { GCC_INCLUDE_DIR, "GCC", 0, 0 },\
-    { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \
-    { CROSS_INCLUDE_DIR "/be/add-ons/graphics", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/devel", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/translation", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/mail", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/gnu", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/drivers", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/opengl", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/game", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/support", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/storage", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/kernel", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/net", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/midi", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/midi2", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/media", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/interface", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/device", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/app", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/precompiled", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/add-ons/input_server", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/add-ons/net_server", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/add-ons/screen_saver", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/add-ons/tracker", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/be_apps/Deskbar", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/be_apps/NetPositive", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/be_apps/Tracker", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/drivers/tty", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/net/netinet", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be/storage", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/be", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/cpp", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR "/posix", 0, 0, 0 },\
-    { CROSS_INCLUDE_DIR , 0, 0, 0 }, \
-    { 0, 0, 0, 0 } \
-    }
-#endif
-
-/* Whee.  LIBRARY_PATH is Be's LD_LIBRARY_PATH, which of course will
-   cause nasty problems if we override it.  */
-#define LIBRARY_PATH_ENV        "BELIBRARIES"
-
-/* BeOS doesn't have a separate math library.  */
-#define MATH_LIBRARY ""
-
-/* BeOS headers are C++-aware (and often use C++).  */
-#define NO_IMPLICIT_EXTERN_C
-
-/* BeOS uses explicit import from shared libraries.  */
-#define MULTIPLE_SYMBOL_SPACES 1

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/bsd.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/bsd.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/bsd.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/bsd.h Thu Aug  2 20:00:37 2007
@@ -1,92 +0,0 @@
-/* Definitions for BSD assembler syntax for Intel 386
-   (actually AT&T syntax for insns and operands,
-   adapted to BSD conventions for symbol names and debugging.)
-   Copyright (C) 1988, 1996, 2000, 2002 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Use the Sequent Symmetry assembler syntax.  */
-
-/* Define the syntax of pseudo-ops, labels and comments.  */
-
-/* Prefix for internally generated assembler labels.  If we aren't using
-   underscores, we are using prefix `.'s to identify labels that should
-   be ignored, as in `i386/gas.h' --karl at cs.umb.edu  */
-
-#define LPREFIX "L"
-
-/* Assembler pseudos to introduce constants of various size.  */
-
-#define ASM_SHORT "\t.word\t"
-#define ASM_LONG "\t.long\t"
-#define ASM_QUAD "\t.quad\t"  /* Should not be used for 32bit compilation.  */
-
-/* This was suggested, but it shouldn't be right for DBX output. -- RMS
-   #define ASM_OUTPUT_SOURCE_FILENAME(FILE, NAME) */
-
-
-/* Define the syntax of labels and symbol definitions/declarations.  */
-
-/* This is how to output an assembler line
-   that says to advance the location counter by SIZE bytes.  */
-
-#define ASM_OUTPUT_SKIP(FILE,SIZE)  \
-  fprintf (FILE, "\t.space "HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE))
-
-/* Define the syntax of labels and symbol definitions/declarations.  */
-
-/* This says how to output an assembler line
-   to define a global common symbol.  */
-
-#define ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED)  \
-( fputs (".comm ", (FILE)),			\
-  assemble_name ((FILE), (NAME)),		\
-  fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
-
-/* This says how to output an assembler line
-   to define a local common symbol.  */
-
-#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED)  \
-( fputs (".lcomm ", (FILE)),			\
-  assemble_name ((FILE), (NAME)),		\
-  fprintf ((FILE), ",%u\n", (int)(ROUNDED)))
-
-/* This is how to output an assembler line
-   that says to advance the location counter
-   to a multiple of 2**LOG bytes.  */
-
-#define ASM_OUTPUT_ALIGN(FILE,LOG)	\
-  if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", (LOG))
-
-/* This is how to store into the string BUF
-   the symbol_ref name of an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.
-   This is suitable for output with `assemble_name'.  */
-
-#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)	\
-    sprintf ((BUF), "*%s%ld", (PREFIX), (long)(NUMBER))
-
-/* The prefix to add to user-visible assembler symbols.  */
-
-#define USER_LABEL_PREFIX "_"
-
-/* Sequent has some changes in the format of DBX symbols.  */
-#define DBX_NO_XREFS 1
-
-/* Don't split DBX symbols into continuations.  */
-#define DBX_CONTIN_LENGTH 0

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/crtdll.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/crtdll.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/crtdll.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/crtdll.h Thu Aug  2 20:00:37 2007
@@ -1,43 +0,0 @@
-/* Operating system specific defines to be used when targeting GCC for
-   hosting on Windows32, using GNU tools and the Windows32 API Library.
-   This variant uses CRTDLL.DLL instead of MSVCRTDLL.DLL.
-   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef EXTRA_OS_CPP_BUILTINS
-#define EXTRA_OS_CPP_BUILTINS()					\
-  do								\
-    {								\
-      builtin_define ("__CRTDLL__");				\
-      builtin_define ("__MINGW32__");			   	\
-      builtin_define ("_WIN32");				\
-      builtin_define_std ("WIN32");				\
-      builtin_define_std ("WINNT");				\
-    }								\
-  while (0)
-
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC \
-  "%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lcoldname -libmingwex -lcrtdll"
-
-/* Specify a different entry point when linking a DLL */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{shared|mdll:dllcrt1%O%s} \
-  %{!shared:%{!mdll:crt1%O%s}} %{pg:gcrt1%O%s}"
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/crtfastmath.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/crtfastmath.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/crtfastmath.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/crtfastmath.c Thu Aug  2 20:00:37 2007
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2005 Free Software Foundation, Inc.
- *
- * This file 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.
- * 
- * In addition to the permissions in the GNU General Public License, the
- * Free Software Foundation gives you unlimited permission to link the
- * compiled version of this file with other programs, and to distribute
- * those programs without any restriction coming from the use of this
- * file.  (The General Public License restrictions do apply in other
- * respects; for example, they cover modification of the file, and
- * distribution when not linked into another program.)
- * 
- * This file 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; see the file COPYING.  If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- * 
- *    As a special exception, if you link this library with files
- *    compiled with GCC 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.
- */
-
-#define MXCSR_DAZ (1 << 6)	/* Enable denormals are zero mode */
-#define MXCSR_FTZ (1 << 15)	/* Enable flush to zero mode */
-
-#define FXSAVE	(1 << 24)
-#define SSE	(1 << 25)
-
-static void __attribute__((constructor))
-#ifndef __x86_64__
-/* The i386 ABI only requires 4-byte stack alignment, so this is necessary
-   to make sure the fxsave struct gets correct alignment.
-   See PR27537 and PR28621.  */
-__attribute__ ((force_align_arg_pointer))
-#endif
-set_fast_math (void)
-{
-#ifndef __x86_64__
-  /* All 64-bit targets have SSE and DAZ; only check them explicitly
-     for 32-bit ones. */
-  unsigned int eax, ebx, ecx, edx;
-
-  /* See if we can use cpuid.  */
-  asm volatile ("pushfl; pushfl; popl %0; movl %0,%1; xorl %2,%0;"
-		"pushl %0; popfl; pushfl; popl %0; popfl"
-		: "=&r" (eax), "=&r" (ebx)
-		: "i" (0x00200000));
-
-  if (((eax ^ ebx) & 0x00200000) == 0)
-    return;
-
-  /* Check the highest input value for eax.  */
-  asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1"
-		: "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
-		: "0" (0));
-
-  if (eax == 0)
-    return;
-
-  asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1"
-		: "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
-		: "0" (1));
-
-  if (edx & SSE)
-    {
-      unsigned int mxcsr = __builtin_ia32_stmxcsr ();
-  
-      mxcsr |= MXCSR_FTZ;
-
-      if (edx & FXSAVE)
-	{
-	  /* Check if DAZ is available.  */
-	  struct
-	    {
-	      unsigned short int cwd;
-	      unsigned short int swd;
-	      unsigned short int twd;
-	      unsigned short int fop;
-	      long int fip;
-	      long int fcs;
-	      long int foo;
-	      long int fos;
-	      long int mxcsr;
-	      long int mxcsr_mask;
-	      long int st_space[32];
-	      long int xmm_space[32];
-	      long int padding[56];
-	    } __attribute__ ((aligned (16))) fxsave;
-
-	  __builtin_memset (&fxsave, 0, sizeof (fxsave));
-
-	  asm volatile ("fxsave %0" : "=m" (fxsave) : "m" (fxsave));
-
-	  if (fxsave.mxcsr_mask & MXCSR_DAZ)
-	    mxcsr |= MXCSR_DAZ;
-	}
-
-      __builtin_ia32_ldmxcsr (mxcsr);
-    }
-#else
-  unsigned int mxcsr = __builtin_ia32_stmxcsr ();
-  mxcsr |= MXCSR_DAZ | MXCSR_FTZ;
-  __builtin_ia32_ldmxcsr (mxcsr);
-#endif
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/cygming.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/cygming.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/cygming.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/cygming.opt Thu Aug  2 20:00:37 2007
@@ -1,48 +0,0 @@
-; Cygwin- and MinGW-specific options.
-
-; Copyright (C) 2005 Free Software Foundation, Inc.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-; WARRANTY; without even the implied warranty of MERCHANTABILITY or
-; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-; for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-mconsole
-Target RejectNegative
-Create console application
-
-mcygwin
-Target
-Use the Cygwin interface
-
-mdll
-Target RejectNegative
-Generate code for a DLL
-
-mnop-fun-dllimport
-Target Report Var(TARGET_NOP_FUN_DLLIMPORT)
-Ignore dllimport for functions
-
-mthreads
-Target RejectNegative
-Use Mingw-specific thread support
-
-mwin32
-Target
-Set Windows defines
-
-mwindows
-Target
-Create GUI application

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.asm Thu Aug  2 20:00:37 2007
@@ -1,68 +0,0 @@
-/* stuff needed for libgcc on win32.
- *
- *   Copyright (C) 1996, 1998, 2001, 2003 Free Software Foundation, Inc.
- *   Written By Steve Chamberlain
- * 
- * This file 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.
- * 
- * In addition to the permissions in the GNU General Public License, the
- * Free Software Foundation gives you unlimited permission to link the
- * compiled version of this file with other programs, and to distribute
- * those programs without any restriction coming from the use of this
- * file.  (The General Public License restrictions do apply in other
- * respects; for example, they cover modification of the file, and
- * distribution when not linked into another program.)
- * 
- * This file 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; see the file COPYING.  If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- * 
- *    As a special exception, if you link this library with files
- *    compiled with GCC 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.
- */
-
-#ifdef L_chkstk
-
-/* Function prologue calls _alloca to probe the stack when allocating more
-   than CHECK_STACK_LIMIT bytes in one go.  Touching the stack at 4K
-   increments is necessary to ensure that the guard pages used
-   by the OS virtual memory manger are allocated in correct sequence.  */
-
-	.global ___chkstk
-	.global	__alloca
-___chkstk:
-__alloca:
-	pushl  %ecx		/* save temp */
-	movl   %esp,%ecx	/* get sp */
-	addl   $0x8,%ecx	/* and point to return addr */
-
-probe: 	cmpl   $0x1000,%eax	/* > 4k ?*/
-	jb    done		
-
-	subl   $0x1000,%ecx  		/* yes, move pointer down 4k*/
-	orl    $0x0,(%ecx)   		/* probe there */
-	subl   $0x1000,%eax  	 	/* decrement count */
-	jmp    probe           	 	/* and do it again */
-
-done: 	subl   %eax,%ecx	   
-	orl    $0x0,(%ecx)	/* less that 4k, just peek here */
-
-	movl   %esp,%eax
-	movl   %ecx,%esp	/* decrement stack */
-
-	movl   (%eax),%ecx	/* recover saved temp */
-	movl   4(%eax),%eax	/* get return address */
-	jmp    *%eax	
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/cygwin.h Thu Aug  2 20:00:37 2007
@@ -1,242 +0,0 @@
-/* Operating system specific defines to be used when targeting GCC for
-   hosting on Windows32, using a Unix style C library and tools.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define TARGET_VERSION fprintf (stderr, " (x86 Cygwin)");
-
-#define EXTRA_OS_CPP_BUILTINS()  /* Nothing.  */
-
-#undef CPP_SPEC
-#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
-  %{mno-win32:%{mno-cygwin: %emno-cygwin and mno-win32 are not compatible}} \
-  %{mno-cygwin:-D__MSVCRT__ -D__MINGW32__ %{!ansi:%{mthreads:-D_MT}}}\
-  %{!mno-cygwin:-D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix }\
-  %{mwin32|mno-cygwin:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ %{!ansi:-DWINNT}}\
-  %{!nostdinc:%{!mno-win32|mno-cygwin:-idirafter ../include/w32api%s -idirafter ../../include/w32api%s}}\
-"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "\
-  %{shared|mdll: %{mno-cygwin:dllcrt2%O%s}}\
-  %{!shared: %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:crt2%O%s}\
-  %{pg:gcrt0%O%s}}}\
-"
-
-/* Normally, -lgcc is not needed since everything in it is in the DLL, but we
-   want to allow things to be added to it when installing new versions of
-   GCC without making a new CYGWIN.DLL, so we leave it.  Profiling is handled
-   by calling the init function from main.  */
-
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC \
-  "%{mno-cygwin: %{mthreads:-lmingwthrd} -lmingw32} -lgcc	\
-   %{mno-cygwin:-lmoldname -lmingwex -lmsvcrt}"
-
-/* We have to dynamic link to get to the system DLLs.  All of libc, libm and
-   the Unix stuff is in cygwin.dll.  The import library is called
-   'libcygwin.a'.  For Windows applications, include more libraries, but
-   always include kernel32.  We'd like to specific subsystem windows to
-   ld, but that doesn't work just yet.  */
-
-#undef LIB_SPEC
-#define LIB_SPEC "\
-  %{pg:-lgmon} \
-  %{!mno-cygwin:-lcygwin} \
-  %{mno-cygwin:%{mthreads:-lmingwthrd} -lmingw32} \
-  %{mwindows:-lgdi32 -lcomdlg32} \
-  -luser32 -lkernel32 -ladvapi32 -lshell32"
-
-#define LINK_SPEC "\
-  %{mwindows:--subsystem windows} \
-  %{mconsole:--subsystem console} \
-  %{shared: %{mdll: %eshared and mdll are not compatible}} \
-  %{shared: --shared} %{mdll:--dll} \
-  %{static:-Bstatic} %{!static:-Bdynamic} \
-  %{shared|mdll: -e \
-    %{mno-cygwin:_DllMainCRTStartup at 12} \
-    %{!mno-cygwin:__cygwin_dll_entry at 12}}\
-  %{!mno-cygwin:--dll-search-prefix=cyg}"
-
-/* Allocate space for all of the machine-spec-specific stuff.
-   Allocate enough space for cygwin -> mingw32  munging plus
-   possible addition of "/mingw".  */
-
-#ifndef CYGWIN_MINGW_SUBDIR
-#define CYGWIN_MINGW_SUBDIR "/mingw"
-#endif
-#define CYGWIN_MINGW_SUBDIR_LEN (sizeof (CYGWIN_MINGW_SUBDIR) - 1)
-
-#ifdef GPLUSPLUS_INCLUDE_DIR
-char cygwin_gplusplus_include_dir[sizeof (GPLUSPLUS_INCLUDE_DIR) + 1
-				  + (CYGWIN_MINGW_SUBDIR_LEN)]
-  = GPLUSPLUS_INCLUDE_DIR;
-#undef GPLUSPLUS_INCLUDE_DIR
-#define GPLUSPLUS_INCLUDE_DIR ((const char *) cygwin_gplusplus_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
-char cygwin_gplusplus_tool_include_dir[sizeof (GPLUSPLUS_TOOL_INCLUDE_DIR) + 1
-				       + CYGWIN_MINGW_SUBDIR_LEN]
-  = GPLUSPLUS_TOOL_INCLUDE_DIR;
-#undef GPLUSPLUS_TOOL_INCLUDE_DIR
-#define GPLUSPLUS_TOOL_INCLUDE_DIR ((const char *) cygwin_gplusplus_tool_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
-char cygwin_gplusplus_backward_include_dir[sizeof (GPLUSPLUS_BACKWARD_INCLUDE_DIR)  + 1
-					   + CYGWIN_MINGW_SUBDIR_LEN]
-  = GPLUSPLUS_BACKWARD_INCLUDE_DIR;
-#undef GPLUSPLUS_BACKWARD_INCLUDE_DIR
-#define GPLUSPLUS_BACKWARD_INCLUDE_DIR ((const char *) cygwin_gplusplus_backward_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef LOCAL_INCLUDE_DIR
-char cygwin_local_include_dir[sizeof (LOCAL_INCLUDE_DIR)  + 1
-			      + CYGWIN_MINGW_SUBDIR_LEN]
-  = LOCAL_INCLUDE_DIR;
-#undef LOCAL_INCLUDE_DIR
-#define LOCAL_INCLUDE_DIR ((const char *) cygwin_local_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef CROSS_INCLUDE_DIR
-char cygwin_cross_include_dir[sizeof (CROSS_INCLUDE_DIR) + 1
-			      + CYGWIN_MINGW_SUBDIR_LEN]
-  = CROSS_INCLUDE_DIR;
-#undef CROSS_INCLUDE_DIR
-#define CROSS_INCLUDE_DIR ((const char *) cygwin_cross_include_dir)
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifdef TOOL_INCLUDE_DIR
-char cygwin_tool_include_dir[sizeof (TOOL_INCLUDE_DIR) + 1
-			     + CYGWIN_MINGW_SUBDIR_LEN]
-  = TOOL_INCLUDE_DIR;
-#undef TOOL_INCLUDE_DIR
-#define TOOL_INCLUDE_DIR ((const char *) cygwin_tool_include_dir)
-
-/* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#ifndef CROSS_DIRECTORY_STRUCTURE
-/* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#undef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR "/usr/include"
-char cygwin_standard_include_dir[sizeof (STANDARD_INCLUDE_DIR) + 1
-				 + CYGWIN_MINGW_SUBDIR_LEN]
-  = STANDARD_INCLUDE_DIR;
-#undef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR ((const char *) cygwin_standard_include_dir)
-#endif
-
-#ifndef GEN_CVT_ARRAY
-#define GEN_CVT_ARRAY
-#endif
-#endif
-
-#ifndef GEN_CVT_ARRAY
-extern char *cvt_to_mingw[];
-#else
-char *cvt_to_mingw[] =
-  {
-#ifdef GPLUSPLUS_INCLUDE_DIR
-    cygwin_gplusplus_include_dir,
-#endif
-
-#ifdef GPLUSPLUS_TOOL_INCLUDE_DIR
-    cygwin_gplusplus_tool_include_dir,
-#endif
-
-#ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR
-    cygwin_gplusplus_backward_include_dir,
-#endif
-
-#ifdef LOCAL_INCLUDE_DIR
-    cygwin_local_include_dir,
-#endif
-
-#ifdef CROSS_INCLUDE_DIR
-    cygwin_cross_include_dir,
-#endif
-
-#ifdef TOOL_INCLUDE_DIR
-    cygwin_tool_include_dir,
-#endif
-
-#ifdef STANDARD_INCLUDE_DIR
-    cygwin_standard_include_dir,
-#endif
-
-    NULL
-  };
-#undef GEN_CVT_ARRAY
-#endif /*GEN_CVT_ARRAY*/
-
-void mingw_scan (int, const char * const *, char **);
-#if 1
-#define GCC_DRIVER_HOST_INITIALIZATION \
-do \
-{ \
-  mingw_scan(argc, (const char * const *) argv, (char **) &spec_machine); \
-  } \
-while (0)
-#else
-#define GCC_DRIVER_HOST_INITIALIZATION \
-do \
-{ \
-  char *cprefix = concat (tooldir_base_prefix, spec_machine, \
-			  dir_separator_str, NULL); \
-  if (!IS_ABSOLUTE_PATH (cprefix)) \
-    cprefix = concat (standard_exec_prefix, spec_machine, dir_separator_str, \
-		      spec_version, dir_separator_str, tooldir_prefix, NULL); \
-  add_prefix (&exec_prefixes,\
-	      concat (cprefix, "../../../../", spec_machine, "/bin/", NULL), \
-	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, NULL); \
-  add_prefix (&exec_prefixes, cprefix, \
-	      "BINUTILS", PREFIX_PRIORITY_LAST, 0, NULL); \
-  add_prefix (&startfile_prefixes,\
-	      concat (standard_startfile_prefix, "w32api", NULL),\
-	      "GCC", PREFIX_PRIORITY_LAST, 0, NULL);\
-  mingw_scan(argc, (const char * const *) argv, &spec_machine); \
-  } \
-while (0)
-#endif
-
-/* Binutils does not handle weak symbols from dlls correctly.  For now,
-   do not use them unnecessarily in gthr-posix.h.  */
-#define GTHREAD_USE_WEAK 0
-
-/* Every program on cygwin links against cygwin1.dll which contains 
-   the pthread routines.  There is no need to explicitly link them
-   and the -pthread flag is not recognized.  */
-#undef GOMP_SELF_SPECS
-#define GOMP_SELF_SPECS ""

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/cygwin1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/cygwin1.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/cygwin1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/cygwin1.c Thu Aug  2 20:00:37 2007
@@ -1,54 +0,0 @@
-/* Helper routines for cygwin-specific command-line parsing.
-   Contributed by Christopher Faylor (cgf at redhat.com)
-   Copyright 2003, 2005 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include <string.h>
-
-void
-mingw_scan (int argc ATTRIBUTE_UNUSED,
-            const char *const *argv,
-            char **spec_machine)
-{
-  putenv (xstrdup ("GCC_CYGWIN_MINGW=0"));
- 
-  while (*++argv)
-    if (strcmp (*argv, "-mno-win32") == 0)
-      putenv (xstrdup ("GCC_CYGWIN_WIN32=0"));
-    else if (strcmp (*argv, "-mwin32") == 0)
-      putenv (xstrdup ("GCC_CYGWIN_WIN32=1"));
-    else if (strcmp (*argv, "-mno-cygwin") == 0)
-      {
-	char *p = strstr (*spec_machine, "-cygwin");
-	if (p)
-	  {
-	    int len = p - *spec_machine;
-	    char *s = xmalloc (strlen (*spec_machine) + 3);
-	    memcpy (s, *spec_machine, len);
-	    strcpy (s + len, "-mingw32");
-	    *spec_machine = s;
-	  }
-	putenv (xstrdup ("GCC_CYGWIN_MINGW=1"));
-      }
-  return;
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/cygwin2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/cygwin2.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/cygwin2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/cygwin2.c Thu Aug  2 20:00:37 2007
@@ -1,67 +0,0 @@
-/* Helper routines for cygwin-specific command-line parsing.
-   Contributed by Christopher Faylor (cgf at redhat.com)
-   Copyright 2003 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-
-#include "safe-ctype.h"
-#include <string.h>
-
-/*
-static void remove_w32api (void);
-*/
-static void add_mingw (void);
-static void set_mingw (void) __attribute__ ((constructor));
-
-static void
-add_mingw (void)
-{
-  char **av;
-  char *p;
-  for (av = cvt_to_mingw; *av; av++)
-    {
-      int sawcygwin = 0;
-      while ((p = strstr (*av, "-cygwin")))
-	{
-	  char *over = p + sizeof ("-cygwin") - 1;
-	  memmove (over + 1, over, strlen (over));
-	  memcpy (p, "-mingw32", sizeof("-mingw32") - 1);
-	  p = ++over;
-	  while (ISALNUM (*p))
-	    p++;
-	  strcpy (over, p);
-	  sawcygwin = 1;
-	}
-      if (!sawcygwin && !strstr (*av, "mingw"))
-	strcat (*av, CYGWIN_MINGW_SUBDIR);
-    }
-}
-
-
-static void
-set_mingw (void)
-{
-  char *env = getenv ("GCC_CYGWIN_MINGW");
-  if (env && *env == '1')
-    add_mingw ();
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h Thu Aug  2 20:00:37 2007
@@ -245,7 +245,6 @@
 /* APPLE LOCAL end Macintosh alignment 2002-2-19 --ff */
 
 /* Darwin profiling -- call mcount.  */
-/* APPLE LOCAL begin mainline */
 #undef FUNCTION_PROFILER
 #define FUNCTION_PROFILER(FILE, LABELNO)				\
     do {								\
@@ -257,7 +256,6 @@
 	}								\
       else fprintf (FILE, "\tcall mcount\n");				\
     } while (0)
-/* APPLE LOCAL end mainline */
 
 /* APPLE LOCAL CW asm blocks */
 extern int flag_iasm_blocks;

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.h Thu Aug  2 20:00:37 2007
@@ -1,188 +0,0 @@
-/* Configuration for an i386 running MS-DOS with DJGPP.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Support generation of DWARF2 debugging info.  */
-#define DWARF2_DEBUGGING_INFO 1
-
-/* Don't assume anything about the header files.  */
-#define NO_IMPLICIT_EXTERN_C
-
-#define HANDLE_SYSV_PRAGMA 1
-
-/* Enable parsing of #pragma pack(push,<n>) and #pragma pack(pop).  */
-#define HANDLE_PRAGMA_PACK_PUSH_POP 1
-
-/* If defined, a C expression whose value is a string containing the
-   assembler operation to identify the following data as
-   uninitialized global data.  If not defined, and neither
-   `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined,
-   uninitialized global data will be output in the data section if
-   `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be
-   used.  */
-#undef BSS_SECTION_ASM_OP
-#define BSS_SECTION_ASM_OP "\t.section\t.bss"
-
-/* Define the name of the .data section.  */
-#undef DATA_SECTION_ASM_OP
-#define DATA_SECTION_ASM_OP "\t.section .data"
-
-/* Define the name of the .ident op.  */
-#undef IDENT_ASM_OP
-#define IDENT_ASM_OP "\t.ident\t"
-
-/* Enable alias attribute support.  */
-#ifndef SET_ASM_OP
-#define SET_ASM_OP "\t.set\t"
-#endif
-
-/* Define the name of the .text section.  */
-#undef TEXT_SECTION_ASM_OP
-#define TEXT_SECTION_ASM_OP "\t.section .text"
-
-/* Define standard DJGPP installation paths.  */
-/* We override default /usr or /usr/local part with /dev/env/DJDIR which */
-/* points to actual DJGPP installation directory.  */
-
-/* Standard include directory */
-#undef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR "/dev/env/DJDIR/include/"
-
-/* Search for as.exe and ld.exe in DJGPP's binary directory.  */ 
-#undef MD_EXEC_PREFIX
-#define MD_EXEC_PREFIX "/dev/env/DJDIR/bin/"
-
-/* Standard DJGPP library and startup files */
-#undef MD_STARTFILE_PREFIX
-#define MD_STARTFILE_PREFIX "/dev/env/DJDIR/lib/"
-
-/* Correctly handle absolute filename detection in cp/xref.c */
-#define FILE_NAME_ABSOLUTE_P(NAME) \
-        (((NAME)[0] == '/') || ((NAME)[0] == '\\') || \
-        (((NAME)[0] >= 'A') && ((NAME)[0] <= 'z') && ((NAME)[1] == ':')))
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-	builtin_define_std ("MSDOS");		\
-	builtin_define_std ("GO32");		\
-	builtin_assert ("system=msdos");	\
-    }						\
-  while (0)
-
-/* Include <sys/version.h> so __DJGPP__ and __DJGPP_MINOR__ are defined.  */
-#undef CPP_SPEC
-#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
-  -imacros %s../include/sys/version.h"
-
-/* We need to override link_command_spec in gcc.c so support -Tdjgpp.djl.
-   This cannot be done in LINK_SPECS as that LINK_SPECS is processed
-   before library search directories are known by the linker.
-   This avoids problems when specs file is not available. An alternate way,
-   suggested by Robert Hoehne, is to use SUBTARGET_EXTRA_SPECS instead.
-*/ 
-
-#undef LINK_COMMAND_SPEC
-#define LINK_COMMAND_SPEC \
-"%{!fsyntax-only: \
-%{!c:%{!M:%{!MM:%{!E:%{!S:%(linker) %l %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} \
-\t%{r} %{s} %{t} %{u*} %{x} %{z} %{Z}\
-\t%{!A:%{!nostdlib:%{!nostartfiles:%S}}}\
-\t%{static:} %{L*} %D %o\
-\t%{!nostdlib:%{!nodefaultlibs:%G %L %G}}\
-\t%{!A:%{!nostdlib:%{!nostartfiles:%E}}}\
-\t-Tdjgpp.djl %{T*}}}}}}}\n\
-%{!c:%{!M:%{!MM:%{!E:%{!S:stubify %{v} %{o*:%*} %{!o*:a.out} }}}}}"
-
-/* Always just link in 'libc.a'.  */
-#undef LIB_SPEC
-#define LIB_SPEC "-lc"
-
-/* Pick the right startup code depending on the -pg flag.  */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{pg:gcrt0.o%s}%{!pg:crt0.o%s}"
-
-/* Make sure that gcc will not look for .h files in /usr/local/include 
-   unless user explicitly requests it.  */
-#undef LOCAL_INCLUDE_DIR
-
-/* Switch into a generic section.  */
-#define TARGET_ASM_NAMED_SECTION  default_coff_asm_named_section
-
-/* This is how to output an assembler line
-   that says to advance the location counter
-   to a multiple of 2**LOG bytes.  */
-
-#undef ASM_OUTPUT_ALIGN
-#define ASM_OUTPUT_ALIGN(FILE,LOG) \
-  if ((LOG) != 0) fprintf ((FILE), "\t.p2align %d\n", LOG)
-
-/* This is how to output a global symbol in the BSS section.  */
-#undef ASM_OUTPUT_ALIGNED_BSS
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN))
-
-/* This is how to tell assembler that a symbol is weak  */ 
-#undef ASM_WEAKEN_LABEL
-#define ASM_WEAKEN_LABEL(FILE,NAME) \
-  do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
-       fputc ('\n', FILE); } while (0)
-
-/* djgpp automatically calls its own version of __main, so don't define one
-   in libgcc, nor call one in main().  */
-#define HAS_INIT_SECTION
-
-/* Definitions for types and sizes. Wide characters are 16-bits long so
-   Win32 compiler add-ons will be wide character compatible.  */
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 16
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "short unsigned int"
-
-#undef WINT_TYPE
-#define WINT_TYPE "int"
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "long unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-/* Used to be defined in xm-djgpp.h, but moved here for cross-compilers.  */
-#define LIBSTDCXX "-lstdcxx"
-
-#define TARGET_VERSION fprintf (stderr, " (80386, MS-DOS DJGPP)"); 
-
-/* Warn that -mbnu210 is now obsolete.  */
-#undef  SUBTARGET_OVERRIDE_OPTIONS
-#define SUBTARGET_OVERRIDE_OPTIONS \
-do \
-  { \
-    if (TARGET_BNU210) \
-      {	\
-        warning (0, "-mbnu210 is ignored (option is obsolete)"); \
-      }	\
-  } \
-while (0)
-
-/* Support for C++ templates.  */
-#undef MAKE_DECL_ONE_ONLY
-#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/djgpp.opt Thu Aug  2 20:00:37 2007
@@ -1,26 +0,0 @@
-; DJGPP-specific options.
-
-; Copyright (C) 2005 Free Software Foundation, Inc.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-; WARRANTY; without even the implied warranty of MERCHANTABILITY or
-; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-; for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-;; -mbnu210 is now ignored and obsolete.  It was used to enable support for
-;; weak symbols, and .gnu.linkonce support.
-mbnu210
-Target Var(TARGET_BNU210)
-Ignored (obsolete)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/freebsd.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/freebsd.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/freebsd.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/freebsd.h Thu Aug  2 20:00:37 2007
@@ -1,141 +0,0 @@
-/* Definitions for Intel 386 running FreeBSD with ELF format
-   Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
-   Contributed by Eric Youngdale.
-   Modified for stabs-in-ELF by H.J. Lu.
-   Adapted from GNU/Linux version by John Polstra.
-   Continued development by David O'Brien <obrien at freebsd.org>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
-
-/* Override the default comment-starter of "/".  */
-#undef  ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#undef  ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-#undef  ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-#undef  DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
-  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-
-#undef  NO_PROFILE_COUNTERS
-#define NO_PROFILE_COUNTERS	1
-
-/* Tell final.c that we don't need a label passed to mcount.  */
-
-#undef  MCOUNT_NAME
-#define MCOUNT_NAME ".mcount"
-
-/* Make gcc agree with <machine/ansi.h>.  */
-
-#undef  SIZE_TYPE
-#define SIZE_TYPE	(TARGET_64BIT ? "long unsigned int" : "unsigned int")
- 
-#undef  PTRDIFF_TYPE
-#define PTRDIFF_TYPE	(TARGET_64BIT ? "long int" : "int")
-  
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE	(TARGET_64BIT ? 32 : BITS_PER_WORD)
-
-#undef  SUBTARGET_EXTRA_SPECS	/* i386.h bogusly defines it.  */
-#define SUBTARGET_EXTRA_SPECS \
-  { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
-    
-/* Provide a STARTFILE_SPEC appropriate for FreeBSD.  Here we add
-   the magical crtbegin.o file (see crtstuff.c) which provides part 
-	of the support for getting C++ file-scope static object constructed 
-	before entering `main'.  */
-   
-#undef	STARTFILE_SPEC
-#define STARTFILE_SPEC \
-  "%{!shared: \
-     %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
-		       %{!p:%{profile:gcrt1.o%s} \
-			 %{!profile:crt1.o%s}}}} \
-   crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
-
-/* Provide a ENDFILE_SPEC appropriate for FreeBSD.  Here we tack on
-   the magical crtend.o file (see crtstuff.c) which provides part of 
-	the support for getting C++ file-scope static object constructed 
-	before entering `main', followed by a normal "finalizer" file, 
-	`crtn.o'.  */
-
-#undef	ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
-/* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
-   for the special GCC options -static and -shared, which allow us to
-   link things in one of these three modes by applying the appropriate
-   combinations of options at link-time. We like to support here for
-   as many of the other GNU linker options as possible. But I don't
-   have the time to search for those flags. I am sure how to add
-   support for -soname shared_object_name. H.J.
-
-   I took out %{v:%{!V:-V}}. It is too much :-(. They can use
-   -Wl,-V.
-
-   When the -shared link option is used a final link is not being
-   done.  */
-
-#undef	LINK_SPEC
-#define LINK_SPEC "\
-  %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
-  %{v:-V} \
-  %{assert*} %{R*} %{rpath*} %{defsym*} \
-  %{shared:-Bshareable %{h*} %{soname*}} \
-    %{!shared: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
-    %{static:-Bstatic}} \
-  %{symbolic:-Bsymbolic}"
-
-/* A C statement to output to the stdio stream FILE an assembler
-   command to advance the location counter to a multiple of 1<<LOG
-   bytes if it is within MAX_SKIP bytes.
-
-   This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#undef  ASM_OUTPUT_MAX_SKIP_ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP)					\
-  if ((LOG) != 0) {														\
-    if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
-    else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
-  }
-#endif
-
-/* Don't default to pcc-struct-return, we want to retain compatibility with
-   older gcc versions AND pcc-struct-return is nonreentrant.
-   (even though the SVR4 ABI for the i386 says that records and unions are
-   returned in memory).  */
-
-#undef  DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
-/* FreeBSD sets the rounding precision of the FPU to 53 bits.  Let the
-   compiler get the contents of <float.h> and std::numeric_limits correct.  */
-#undef TARGET_96_ROUND_53_LONG_DOUBLE
-#define TARGET_96_ROUND_53_LONG_DOUBLE (!TARGET_64BIT)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/freebsd64.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/freebsd64.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/freebsd64.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/freebsd64.h Thu Aug  2 20:00:37 2007
@@ -1,44 +0,0 @@
-/* Definitions for AMD x86-64 running FreeBSD with ELF format
-   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-   Contributed by David O'Brien <obrien at FreeBSD.org>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (FreeBSD/x86-64 ELF)");
-
-#define SUBTARGET_EXTRA_SPECS \
-  { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
-
-/* Provide a LINK_SPEC appropriate for the FreeBSD/x86-64 ELF target.
-   This is a copy of LINK_SPEC from <i386/freebsd.h> tweaked for
-   the x86-64 target.  */
-
-#undef	LINK_SPEC
-#define LINK_SPEC "\
-  %{m32:-m elf_i386_fbsd} \
-  %{v:-V} \
-  %{assert*} %{R*} %{rpath*} %{defsym*} \
-  %{shared:-Bshareable %{h*} %{soname*}} \
-    %{!shared: \
-      %{!static: \
-        %{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
-    %{static:-Bstatic}} \
-  %{symbolic:-Bsymbolic}"

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/gas.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/gas.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/gas.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/gas.h Thu Aug  2 20:00:37 2007
@@ -1,125 +0,0 @@
-/* Definitions for Intel 386 using GAS.
-   Copyright (C) 1988, 1993, 1994, 1996, 2002, 2004
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Note that i386/seq-gas.h is a GAS configuration that does not use this
-   file.  */
-
-/* Use the bsd assembler syntax.  */
-/* we need to do this because gas is really a bsd style assembler,
- * and so doesn't work well this these att-isms:
- *
- *  ASM_OUTPUT_SKIP is .set .,.+N, which isn't implemented in gas
- *  ASM_OUTPUT_LOCAL is done with .set .,.+N, but that can't be
- *   used to define bss static space
- *
- * Next is the question of whether to uses underscores.  RMS didn't
- * like this idea at first, but since it is now obvious that we
- * need this separate tm file for use with gas, at least to get
- * dbx debugging info, I think we should also switch to underscores.
- * We can keep i386v for real att style output, and the few
- * people who want both form will have to compile twice.
- */
-
-/* these come from i386/bsd.h, but are specific to sequent */
-#undef DBX_NO_XREFS
-#undef DBX_CONTIN_LENGTH
-
-/* Ask for COFF symbols.  */
-
-#define SDB_DEBUGGING_INFO 1
-
-/* Output #ident as a .ident.  */
-
-#define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME);
-
-/* In the past there was confusion as to what the argument to .align was
-   in GAS.  For the last several years the rule has been this: for a.out
-   file formats that argument is LOG, and for all other file formats the
-   argument is 1<<LOG.
-
-   However, GAS now has .p2align and .balign pseudo-ops so to remove any
-   doubt or guess work, and since this file is used for both a.out and other
-   file formats, we use one of them.  */
-
-#ifdef HAVE_GAS_BALIGN_AND_P2ALIGN 
-#undef ASM_OUTPUT_ALIGN
-#define ASM_OUTPUT_ALIGN(FILE,LOG) \
-  if ((LOG)!=0) fprintf ((FILE), "\t.balign %d\n", 1<<(LOG))
-#endif
-
-/* A C statement to output to the stdio stream FILE an assembler
-   command to advance the location counter to a multiple of 1<<LOG
-   bytes if it is within MAX_SKIP bytes.
-
-   This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#  define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
-     if ((LOG) != 0) {\
-       if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
-       else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
-     }
-#endif
-
-/* A C statement or statements which output an assembler instruction
-   opcode to the stdio stream STREAM.  The macro-operand PTR is a
-   variable of type `char *' which points to the opcode name in its
-   "internal" form--the form that is written in the machine description.
-
-   GAS version 1.38.1 doesn't understand the `repz' opcode mnemonic.
-   So use `repe' instead.  */
-
-#define ASM_OUTPUT_OPCODE(STREAM, PTR)	\
-{									\
-  if ((PTR)[0] == 'r'							\
-      && (PTR)[1] == 'e'						\
-      && (PTR)[2] == 'p')						\
-    {									\
-      if ((PTR)[3] == 'z')						\
-	{								\
-	  fprintf (STREAM, "repe");					\
-	  (PTR) += 4;							\
-	}								\
-      else if ((PTR)[3] == 'n' && (PTR)[4] == 'z')			\
-	{								\
-	  fprintf (STREAM, "repne");					\
-	  (PTR) += 5;							\
-	}								\
-    }									\
-}
-
-/* Define macro used to output shift-double opcodes when the shift
-   count is in %cl.  Some assemblers require %cl as an argument;
-   some don't.
-
-   GAS requires the %cl argument, so override i386/unix.h.  */
-
-#undef SHIFT_DOUBLE_OMITS_COUNT
-#define SHIFT_DOUBLE_OMITS_COUNT 0
-
-/* Print opcodes the way that GAS expects them.  */
-#define GAS_MNEMONICS 1
-
-/* The comment-starter string as GAS expects it. */
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/gmon-sol2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/gmon-sol2.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/gmon-sol2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/gmon-sol2.c Thu Aug  2 20:00:37 2007
@@ -1,400 +0,0 @@
-/*-
- * Copyright (c) 1991 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. [rescinded 22 July 1999]
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * This is a modified gmon.c by J.W.Hawtin <oolon at ankh.org>,
- * 14/8/96 based on the original gmon.c in GCC and the hacked version
- * solaris 2 sparc version (config/sparc/gmon-sol.c) by Mark Eichin. To do
- * process profiling on solaris 2.X X86
- *
- * It must be used in conjunction with sol2-gc1.asm, which is used to start
- * and stop process monitoring.
- *
- * Differences.
- *
- * On Solaris 2 _mcount is called by library functions not mcount, so support
- * has been added for both.
- *
- * Also the prototype for profil() is different
- *
- * Solaris 2 does not seem to have char *minbrk whcih allows the setting of
- * the minimum SBRK region so this code has been removed and lets pray malloc
- * does not mess it up.
- *
- * Notes
- *
- * This code could easily be integrated with the original gmon.c and perhaps
- * should be.
- */
-#include "tconfig.h"
-#include "tsystem.h"
-#include <fcntl.h> /* for creat() */
-
-#ifdef DEBUG
-#include <stdio.h>
-#endif
-
-static void moncontrol (int);
-extern void monstartup (char *, char *);
-extern void _mcleanup (void);
-extern void internal_mcount (void);
-
-
-struct phdr {
-                char    *lpc;
-                char    *hpc;
-                int     ncnt;
-};
-
-
-#define HISTFRACTION 2
-#define HISTCOUNTER unsigned short
-#define HASHFRACTION 1
-#define ARCDENSITY 2
-#define MINARCS 50
-#define BASEADDRESS 0x8000000 /* On Solaris 2 X86 all executables start here
-				 and not at 0 */ 
-
-struct tostruct {
-  char *selfpc;
-  long count;
-  unsigned short link;
-};
-
-struct rawarc {
-    unsigned long       raw_frompc;
-    unsigned long       raw_selfpc;
-    long                raw_count;
-};
-#define ROUNDDOWN(x,y)  (((x)/(y))*(y))
-#define ROUNDUP(x,y)    ((((x)+(y)-1)/(y))*(y))
-
-/* char *minbrk; */
-
-    /*
-     *	froms is actually a bunch of unsigned shorts indexing tos
-     */
-static int		profiling = 3;
-static unsigned short	*froms;
-static struct tostruct	*tos = 0;
-static long		tolimit = 0;
-static char		*s_lowpc = 0;
-static char		*s_highpc = 0;
-static unsigned long	s_textsize = 0;
-
-static int	ssiz;
-static char	*sbuf;
-static int	s_scale;
-    /* see profil(2) where this is describe (incorrectly) */
-#define		SCALE_1_TO_1	0x10000L
-
-#define	MSG "No space for profiling buffer(s)\n"
-
-extern int errno;
-
-void
-monstartup(char *lowpc, char *highpc)
-{
-    int			monsize;
-    char		*buffer;
-    register int	o;
-
-	/*
-	 *	round lowpc and highpc to multiples of the density we're using
-	 *	so the rest of the scaling (here and in gprof) stays in ints.
-	 */
-    lowpc = (char *)
-	    ROUNDDOWN((unsigned long)lowpc, HISTFRACTION*sizeof(HISTCOUNTER));
-    s_lowpc = lowpc;
-    highpc = (char *)
-	    ROUNDUP((unsigned long)highpc, HISTFRACTION*sizeof(HISTCOUNTER));
-    s_highpc = highpc;
-    s_textsize = highpc - lowpc;
-    monsize = (s_textsize / HISTFRACTION) + sizeof(struct phdr);
-    buffer = (char *) sbrk( monsize );
-    if ( buffer == (char *) -1 ) {
-	write( 2 , MSG , sizeof(MSG) );
-	return;
-    }
-    froms = (unsigned short *) sbrk( s_textsize / HASHFRACTION );
-    if ( froms == (unsigned short *) -1 ) {
-	write( 2 , MSG , sizeof(MSG) );
-	froms = 0;
-	return;
-    }
-    tolimit = s_textsize * ARCDENSITY / 100;
-    if ( tolimit < MINARCS ) {
-	tolimit = MINARCS;
-    } else if ( tolimit > 65534 ) {
-	tolimit = 65534;
-    }
-    tos = (struct tostruct *) sbrk( tolimit * sizeof( struct tostruct ) );
-    if ( tos == (struct tostruct *) -1 ) {
-	write( 2 , MSG , sizeof(MSG) );
-	froms = 0;
-	tos = 0;
-	return;
-    }
-/*    minbrk = (char *) sbrk(0);*/
-    tos[0].link = 0;
-    sbuf = buffer;
-    ssiz = monsize;
-    ( (struct phdr *) buffer ) -> lpc = lowpc;
-    ( (struct phdr *) buffer ) -> hpc = highpc;
-    ( (struct phdr *) buffer ) -> ncnt = ssiz;
-    monsize -= sizeof(struct phdr);
-    if ( monsize <= 0 )
-	return;
-    o = highpc - lowpc;
-    if( monsize < o )
-#ifndef hp300
-	s_scale = ( (float) monsize / o ) * SCALE_1_TO_1;
-#else /* avoid floating point */
-    {
-	int quot = o / monsize;
-
-	if (quot >= 0x10000)
-		s_scale = 1;
-	else if (quot >= 0x100)
-		s_scale = 0x10000 / quot;
-	else if (o >= 0x800000)
-		s_scale = 0x1000000 / (o / (monsize >> 8));
-	else
-		s_scale = 0x1000000 / ((o << 8) / monsize);
-    }
-#endif
-    else
-	s_scale = SCALE_1_TO_1;
-    moncontrol(1);
-}
-
-void
-_mcleanup (void)
-{
-    int			fd;
-    int			fromindex;
-    int			endfrom;
-    char		*frompc;
-    int			toindex;
-    struct rawarc	rawarc;
-
-    moncontrol(0);
-    fd = creat( "gmon.out" , 0666 );
-    if ( fd < 0 ) {
-	perror( "mcount: gmon.out" );
-	return;
-    }
-#   ifdef DEBUG
-	fprintf( stderr , "[mcleanup] sbuf 0x%x ssiz %d\n" , sbuf , ssiz );
-#   endif /* DEBUG */
-
-    write( fd , sbuf , ssiz );
-    endfrom = s_textsize / (HASHFRACTION * sizeof(*froms));
-    for ( fromindex = 0 ; fromindex < endfrom ; fromindex++ ) {
-	if ( froms[fromindex] == 0 ) {
-	    continue;
-	}
-	frompc = s_lowpc + (fromindex * HASHFRACTION * sizeof(*froms));
-	for (toindex=froms[fromindex]; toindex!=0; toindex=tos[toindex].link) {
-#	    ifdef DEBUG
-		fprintf( stderr ,
-			"[mcleanup] frompc 0x%x selfpc 0x%x count %d\n" ,
-			frompc , tos[toindex].selfpc , tos[toindex].count );
-#	    endif /* DEBUG */
-	    rawarc.raw_frompc = (unsigned long) frompc;
-	    rawarc.raw_selfpc = (unsigned long) tos[toindex].selfpc;
-	    rawarc.raw_count = tos[toindex].count;
-	    write( fd , &rawarc , sizeof rawarc );
-	}
-    }
-    close( fd );
-}
-
-/* Solaris 2 libraries use _mcount.  */
-asm(".globl _mcount; _mcount: jmp internal_mcount");
-/* This is for compatibility with old versions of gcc which used mcount.  */
-asm(".globl mcount; mcount: jmp internal_mcount");
-
-void
-internal_mcount (void)
-{
-	register char			*selfpc;
-	register unsigned short		*frompcindex;
-	register struct tostruct	*top;
-	register struct tostruct	*prevtop;
-	register long			toindex;
-	static char already_setup;
-
-	/*
-	 *	find the return address for mcount,
-	 *	and the return address for mcount's caller.
-	 */
-
-	/* selfpc = pc pushed by mcount call.
-	   This identifies the function that was just entered.  */
-	selfpc = (void *) __builtin_return_address (0);
-	/* frompcindex = pc in preceding frame.
-	   This identifies the caller of the function just entered.  */
-	frompcindex = (void *) __builtin_return_address (1);
-
-	if(!already_setup) {
-          extern char etext[];
-	  already_setup = 1;
-/*	  monstartup(0, etext); */
-	  monstartup((char*)0x08040000, etext);
-#ifdef USE_ONEXIT
-	  on_exit(_mcleanup, 0);
-#else
-	  atexit(_mcleanup);
-#endif
-	}
-	/*
-	 *	check that we are profiling
-	 *	and that we aren't recursively invoked.
-	 */
-	if (profiling) {
-		goto out;
-	}
-	profiling++;
-	/*
-	 *	check that frompcindex is a reasonable pc value.
-	 *	for example:	signal catchers get called from the stack,
-	 *			not from text space.  too bad.
-	 */
-	frompcindex = (unsigned short *)((long)frompcindex - (long)s_lowpc);
-	if ((unsigned long)frompcindex > s_textsize) {
-		goto done;
-	}
-	frompcindex =
-	    &froms[((long)frompcindex) / (HASHFRACTION * sizeof(*froms))];
-	toindex = *frompcindex;
-	if (toindex == 0) {
-		/*
-		 *	first time traversing this arc
-		 */
-		toindex = ++tos[0].link;
-		if (toindex >= tolimit) {
-			goto overflow;
-		}
-		*frompcindex = toindex;
-		top = &tos[toindex];
-		top->selfpc = selfpc;
-		top->count = 1;
-		top->link = 0;
-		goto done;
-	}
-	top = &tos[toindex];
-	if (top->selfpc == selfpc) {
-		/*
-		 *	arc at front of chain; usual case.
-		 */
-		top->count++;
-		goto done;
-	}
-	/*
-	 *	have to go looking down chain for it.
-	 *	top points to what we are looking at,
-	 *	prevtop points to previous top.
-	 *	we know it is not at the head of the chain.
-	 */
-	for (; /* goto done */; ) {
-		if (top->link == 0) {
-			/*
-			 *	top is end of the chain and none of the chain
-			 *	had top->selfpc == selfpc.
-			 *	so we allocate a new tostruct
-			 *	and link it to the head of the chain.
-			 */
-			toindex = ++tos[0].link;
-			if (toindex >= tolimit) {
-				goto overflow;
-			}
-			top = &tos[toindex];
-			top->selfpc = selfpc;
-			top->count = 1;
-			top->link = *frompcindex;
-			*frompcindex = toindex;
-			goto done;
-		}
-		/*
-		 *	otherwise, check the next arc on the chain.
-		 */
-		prevtop = top;
-		top = &tos[top->link];
-		if (top->selfpc == selfpc) {
-			/*
-			 *	there it is.
-			 *	increment its count
-			 *	move it to the head of the chain.
-			 */
-			top->count++;
-			toindex = prevtop->link;
-			prevtop->link = top->link;
-			top->link = *frompcindex;
-			*frompcindex = toindex;
-			goto done;
-		}
-
-	}
-done:
-	profiling--;
-	/* and fall through */
-out:
-	return;		/* normal return restores saved registers */
-
-overflow:
-	profiling++; /* halt further profiling */
-#   define	TOLIMIT	"mcount: tos overflow\n"
-	write(2, TOLIMIT, sizeof(TOLIMIT));
-	goto out;
-}
-
-/*
- * Control profiling
- *	profiling is what mcount checks to see if
- *	all the data structures are ready.
- */
-static void
-moncontrol(int mode)
-{
-    if (mode)
-    {
-      /* start */
-      profil((unsigned short *)(sbuf + sizeof(struct phdr)),
-	     ssiz - sizeof(struct phdr),
-	     (long)s_lowpc, s_scale);
-      
-      profiling = 0;
-    } else {
-      /* stop */
-      profil((unsigned short *)0, 0, 0, 0);
-      profiling = 3;
-    }
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/gnu.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/gnu.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/gnu.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/gnu.h Thu Aug  2 20:00:37 2007
@@ -1,38 +0,0 @@
-/* Configuration for an i386 running GNU with ELF as the target machine.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (i386 GNU)");
-
-#undef TARGET_OS_CPP_BUILTINS /* config.gcc includes i386/linux.h.  */
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-	HURD_TARGET_OS_CPP_BUILTINS();		\
-    }						\
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
-
-#undef CC1_SPEC
-#define CC1_SPEC "%(cc1_cpu)"
-
-#undef	LINK_SPEC
-#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
-  %{!shared: \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
-    %{static:-static}}"
-
-#undef	STARTFILE_SPEC
-#define STARTFILE_SPEC \
-  "%{!shared: \
-     %{!static: \
-       %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \
-     %{static:crt0.o%s}} \
-   crti.o%s %{static:crtbeginT.o%s}\
-   %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
-
-/* FIXME: Is a Hurd-specific fallback mechanism necessary?  */
-#undef MD_UNWIND_SUPPORT

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/gthr-win32.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/gthr-win32.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/gthr-win32.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/gthr-win32.c Thu Aug  2 20:00:37 2007
@@ -1,254 +0,0 @@
-/* Implementation of W32-specific threads compatibility routines for
-   libgcc2.  */
-
-/* Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
-   Contributed by Mumit Khan <khan at xraylith.wisc.edu>.
-   Modified and moved to separate file by Danny Smith
-   <dannysmith at users.sourceforge.net>.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301, USA.  */
-
-/* As a special exception, if you link this library with other files,
-   some of which are compiled with GCC, to produce an executable,
-   this library does not by itself 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.  */
-
-
-#include <windows.h>
-#ifndef __GTHREAD_HIDE_WIN32API
-# define __GTHREAD_HIDE_WIN32API 1
-#endif
-#undef  __GTHREAD_I486_INLINE_LOCK_PRIMITIVES
-#define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES
-#include <gthr-win32.h>
-
-/* Windows32 threads specific definitions. The windows32 threading model
-   does not map well into pthread-inspired gcc's threading model, and so 
-   there are caveats one needs to be aware of.
-
-   1. The destructor supplied to __gthread_key_create is ignored for
-      generic x86-win32 ports. This will certainly cause memory leaks 
-      due to unreclaimed eh contexts (sizeof (eh_context) is at least 
-      24 bytes for x86 currently).
-
-      This memory leak may be significant for long-running applications
-      that make heavy use of C++ EH.
-
-      However, Mingw runtime (version 0.3 or newer) provides a mechanism
-      to emulate pthreads key dtors; the runtime provides a special DLL,
-      linked in if -mthreads option is specified, that runs the dtors in
-      the reverse order of registration when each thread exits. If
-      -mthreads option is not given, a stub is linked in instead of the
-      DLL, which results in memory leak. Other x86-win32 ports can use 
-      the same technique of course to avoid the leak.
-
-   2. The error codes returned are non-POSIX like, and cast into ints.
-      This may cause incorrect error return due to truncation values on 
-      hw where sizeof (DWORD) > sizeof (int).
-   
-   3. We are currently using a special mutex instead of the Critical
-      Sections, since Win9x does not support TryEnterCriticalSection
-      (while NT does).
-  
-   The basic framework should work well enough. In the long term, GCC
-   needs to use Structured Exception Handling on Windows32.  */
-
-int
-__gthr_win32_once (__gthread_once_t *once, void (*func) (void))
-{
-  if (once == NULL || func == NULL)
-    return EINVAL;
-
-  if (! once->done)
-    {
-      if (InterlockedIncrement (&(once->started)) == 0)
-        {
-	  (*func) ();
-	  once->done = TRUE;
-	}
-      else
-	{
-	  /* Another thread is currently executing the code, so wait for it 
-	     to finish; yield the CPU in the meantime.  If performance 
-	     does become an issue, the solution is to use an Event that 
-	     we wait on here (and set above), but that implies a place to 
-	     create the event before this routine is called.  */ 
-	  while (! once->done)
-	    Sleep (0);
-	}
-    }
-  return 0;
-}
-
-/* Windows32 thread local keys don't support destructors; this leads to
-   leaks, especially in threaded applications making extensive use of 
-   C++ EH. Mingw uses a thread-support DLL to work-around this problem.  */
-
-int
-__gthr_win32_key_create (__gthread_key_t *key, void (*dtor) (void *))
-{
-  int status = 0;
-  DWORD tls_index = TlsAlloc ();
-  if (tls_index != 0xFFFFFFFF)
-    {
-      *key = tls_index;
-#ifdef MINGW32_SUPPORTS_MT_EH
-      /* Mingw runtime will run the dtors in reverse order for each thread
-         when the thread exits.  */
-      status = __mingwthr_key_dtor (*key, dtor);
-#endif
-    }
-  else
-    status = (int) GetLastError ();
-  return status;
-}
-
-int
-__gthr_win32_key_delete (__gthread_key_t key)
-{
-  return (TlsFree (key) != 0) ? 0 : (int) GetLastError ();
-}
-
-void *
-__gthr_win32_getspecific (__gthread_key_t key)
-{
-  DWORD lasterror;
-  void *ptr;
-  lasterror = GetLastError();
-  ptr = TlsGetValue(key);
-  SetLastError( lasterror );
-  return ptr;
-}
-
-int
-__gthr_win32_setspecific (__gthread_key_t key, const void *ptr)
-{
-  return (TlsSetValue (key, (void*) ptr) != 0) ? 0 : (int) GetLastError ();
-}
-
-void
-__gthr_win32_mutex_init_function (__gthread_mutex_t *mutex)
-{
-  mutex->counter = -1;
-  mutex->sema = CreateSemaphore (NULL, 0, 65535, NULL);
-}
-
-int
-__gthr_win32_mutex_lock (__gthread_mutex_t *mutex)
-{
-  if (InterlockedIncrement (&mutex->counter) == 0 ||
-      WaitForSingleObject (mutex->sema, INFINITE) == WAIT_OBJECT_0)
-    return 0;
-  else
-    {
-      /* WaitForSingleObject returns WAIT_FAILED, and we can only do
-         some best-effort cleanup here.  */
-      InterlockedDecrement (&mutex->counter);
-      return 1;
-    }
-}
-
-int
-__gthr_win32_mutex_trylock (__gthread_mutex_t *mutex)
-{
-  if (__GTHR_W32_InterlockedCompareExchange (&mutex->counter, 0, -1) < 0)
-    return 0;
-  else
-    return 1;
-}
-
-int
-__gthr_win32_mutex_unlock (__gthread_mutex_t *mutex)
-{
-  if (InterlockedDecrement (&mutex->counter) >= 0)
-    return ReleaseSemaphore (mutex->sema, 1, NULL) ? 0 : 1;
-  else
-    return 0;
-}
-
-void
-__gthr_win32_recursive_mutex_init_function (__gthread_recursive_mutex_t *mutex)
-{
-  mutex->counter = -1;
-  mutex->depth = 0;
-  mutex->owner = 0;
-  mutex->sema = CreateSemaphore (NULL, 0, 65535, NULL);
-}
-
-int
-__gthr_win32_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex)
-{
-  DWORD me = GetCurrentThreadId();
-  if (InterlockedIncrement (&mutex->counter) == 0)
-    {
-      mutex->depth = 1;
-      mutex->owner = me;
-    }
-  else if (mutex->owner == me)
-    {
-      InterlockedDecrement (&mutex->counter);
-      ++(mutex->depth);
-    }
-  else if (WaitForSingleObject (mutex->sema, INFINITE) == WAIT_OBJECT_0)
-    {
-      mutex->depth = 1;
-      mutex->owner = me;
-    }
-  else
-    {
-      /* WaitForSingleObject returns WAIT_FAILED, and we can only do
-         some best-effort cleanup here.  */
-      InterlockedDecrement (&mutex->counter);
-      return 1;
-    }
-  return 0;
-}
-
-int
-__gthr_win32_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex)
-{
-  DWORD me = GetCurrentThreadId();
-  if (__GTHR_W32_InterlockedCompareExchange (&mutex->counter, 0, -1) < 0)
-    {
-      mutex->depth = 1;
-      mutex->owner = me;
-    }
-  else if (mutex->owner == me)
-    ++(mutex->depth);
-  else
-    return 1;
-
-  return 0;
-}
-
-int
-__gthr_win32_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex)
-{
-  --(mutex->depth);
-  if (mutex->depth == 0)
-    {
-      mutex->owner = 0;
-
-      if (InterlockedDecrement (&mutex->counter) >= 0)
-	return ReleaseSemaphore (mutex->sema, 1, NULL) ? 0 : 1;
-    }
-
-  return 0;
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/host-cygwin.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/host-cygwin.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/host-cygwin.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/host-cygwin.c Thu Aug  2 20:00:37 2007
@@ -1,81 +0,0 @@
-/* Cygwin host-specific hook definitions.
- Copyright (C) 2004 Free Software Foundation, Inc.
-
- This file is part of GCC.
-
- GCC is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
- option) any later version.
-
- GCC is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GCC; see the file COPYING. If not, write to the
- Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301, USA. */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include <sys/mman.h>
-#include "hosthooks.h"
-#include "hosthooks-def.h"
-#include "toplev.h"
-#include "diagnostic.h"
-
-static void * cygwin_gt_pch_get_address (size_t, int fd);
-static size_t cygwin_gt_pch_alloc_granularity (void);
-
-#undef HOST_HOOKS_GT_PCH_GET_ADDRESS
-#define HOST_HOOKS_GT_PCH_GET_ADDRESS cygwin_gt_pch_get_address
-#undef HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY
-#define HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY cygwin_gt_pch_alloc_granularity
-
-/* Granularity for reserving address space.  */
-static const size_t va_granularity = 0x10000;
-
-/*  Return the alignment required for allocating virtual memory. */
-static size_t
-cygwin_gt_pch_alloc_granularity (void)
-{
-  return va_granularity;
-}
-
-/* Identify an address that's likely to be free in a subsequent invocation
-   of the compiler.  The area should be able to hold SIZE bytes.  FD is an
-   open file descriptor if the host would like to probe with mmap.  */
-static void *
-cygwin_gt_pch_get_address (size_t sz, int fd)
-{
-  void *base;
-  off_t p = lseek(fd, 0, SEEK_CUR);
-
-  if (p == (off_t) -1)
-    fatal_error ("can't get position in PCH file: %m");
-
-   /* Cygwin requires that the underlying file be at least
-      as large as the requested mapping.  */
-  if ((size_t) p < sz)
-  { 
-    if ( ftruncate (fd, sz) == -1 )
-      fatal_error ("can't extend PCH file: %m");
-  }
-
-  base = mmap (NULL, sz, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
-
-  if (base == MAP_FAILED)
-    base = NULL;
-  else
-    munmap (base, sz);
-
-  if (lseek (fd, p, SEEK_SET) == (off_t) -1 )
-    fatal_error ("can't set position in PCH file: %m");
-
-  return base;
-}
-
-const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/host-mingw32.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/host-mingw32.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/host-mingw32.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/host-mingw32.c Thu Aug  2 20:00:37 2007
@@ -1,148 +0,0 @@
-/* mingw32 host-specific hook definitions.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "hosthooks.h"
-#include "hosthooks-def.h"
-#include "toplev.h"
-#include "diagnostic.h"
-
-
-#define WIN32_LEAN_AND_MEAN  /* Not so important if we have windows.h.gch.  */
-#include <windows.h>
-
-static void * mingw32_gt_pch_get_address (size_t, int);
-static int mingw32_gt_pch_use_address (void *, size_t, int, size_t);
-static size_t mingw32_gt_pch_alloc_granularity (void);
-
-#undef HOST_HOOKS_GT_PCH_GET_ADDRESS
-#define HOST_HOOKS_GT_PCH_GET_ADDRESS mingw32_gt_pch_get_address
-#undef HOST_HOOKS_GT_PCH_USE_ADDRESS
-#define HOST_HOOKS_GT_PCH_USE_ADDRESS mingw32_gt_pch_use_address
-#undef HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY
-#define HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY mingw32_gt_pch_alloc_granularity
-
-static inline void w32_error(const char*, const char*, int, const char*);
-
-/* FIXME: Is this big enough?  */
-static const size_t pch_VA_max_size  = 128 * 1024 * 1024;
-
-/* Granularity for reserving address space.  */
-static const size_t va_granularity = 0x10000;
-
-/* Print out the GetLastError() translation.  */ 
-static inline void
-w32_error (const char* function, const char* file, int line,
-	   const char* my_msg)
-{
-  LPSTR w32_msgbuf;
-  FormatMessageA (FORMAT_MESSAGE_ALLOCATE_BUFFER
-		  | FORMAT_MESSAGE_FROM_SYSTEM
-		  | FORMAT_MESSAGE_IGNORE_INSERTS
-		  | FORMAT_MESSAGE_MAX_WIDTH_MASK,
-    		  NULL, GetLastError(),
-		  MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-		  (LPSTR) &w32_msgbuf, 0, NULL);
-  fprintf(stderr, "internal error in %s, at %s:%d: %s: %s\n",
-	  function, trim_filename (file), line, my_msg, w32_msgbuf);
-  LocalFree ((HLOCAL)w32_msgbuf);
-}
-
-/* Granularity for reserving address space.  */
-static size_t mingw32_gt_pch_alloc_granularity (void)
-{
-  return va_granularity;
-}
-
-/* Identify an address that's likely to be free in a subsequent invocation
-   of the compiler.  The area should be able to hold SIZE bytes.  FD is an
-   open file descriptor if the host would like to probe with mmap.  */
-
-static void *
-mingw32_gt_pch_get_address (size_t size, int fd  ATTRIBUTE_UNUSED)
-{
-  void* res;
-  size = (size + va_granularity - 1) & ~(va_granularity - 1);
-  if (size > pch_VA_max_size)
-    return NULL;
-
-  /* FIXME: We let system determine base by setting first arg to NULL.
-     Allocating at top of available address space avoids unnecessary
-     fragmentation of "ordinary" (malloc's)  address space but may not be safe
-     with delayed load of system dll's. Preferred addresses for NT system
-     dlls is in 0x70000000 to 0x78000000 range.
-     If we allocate at bottom we need to reserve the address as early as possible
-     and at the same point in each invocation. */
- 
-  res = VirtualAlloc (NULL, pch_VA_max_size,
-		      MEM_RESERVE | MEM_TOP_DOWN,
-		      PAGE_NOACCESS);
-  if (!res)
-    w32_error (__FUNCTION__, __FILE__, __LINE__, "VirtualAlloc");
-  else
-    /* We do not need the address space for now, so free it.  */
-    VirtualFree (res, 0, MEM_RELEASE);
-
-  return res; 
-}
-
-/* ADDR is an address returned by gt_pch_get_address.  Attempt to allocate
-   SIZE bytes at the same address and load it with the data from FD at 
-   OFFSET.  Return -1 if we couldn't allocate memory at ADDR, return 0
-   if the memory is allocated but the data not loaded, return 1 if done.  */
-
-static int
-mingw32_gt_pch_use_address (void *addr, size_t size, int fd,
-			    size_t offset)
-{
-  void * mmap_addr;
-  static HANDLE mmap_handle;
-
-  if (size == 0)
-    return 0;
-  
-  /* Offset must be also be a multiple of allocation granularity for
-     this to work.  We can't change the offset. */ 
-  if ((offset & (va_granularity - 1)) != 0 || size > pch_VA_max_size)
-    return -1;
-
-  mmap_handle = CreateFileMapping ((HANDLE) _get_osfhandle (fd),
-				   NULL, PAGE_WRITECOPY | SEC_COMMIT,
-				   0, 0,  NULL);
-  if (mmap_handle == NULL)
-    {
-      w32_error (__FUNCTION__,  __FILE__, __LINE__, "CreateFileMapping");
-      return -1; 
-    }
-  mmap_addr = MapViewOfFileEx (mmap_handle, FILE_MAP_COPY, 0, offset,
-			       size, addr);
-  if (mmap_addr != addr)
-    {
-      w32_error (__FUNCTION__, __FILE__, __LINE__, "MapViewOfFileEx");
-      CloseHandle(mmap_handle);
-      return  -1;
-    }
-
-  return 1;
-}
-
-const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386-aout.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386-aout.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386-aout.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386-aout.h Thu Aug  2 20:00:37 2007
@@ -1,26 +0,0 @@
-/* Definitions for "naked" Intel 386 using a.out (or coff encap'd
-   a.out) object format and stabs debugging info.
-
-   Copyright (C) 1994, 2002 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#define TARGET_VERSION fprintf (stderr, " (80386, BSD a.out syntax)"); 
-
-/* end of i386-aout.h */

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386-coff.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386-coff.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386-coff.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386-coff.h Thu Aug  2 20:00:37 2007
@@ -1,70 +0,0 @@
-/* Definitions for "naked" Intel 386 using coff object format files
-   and coff debugging info.
-
-   Copyright (C) 1994, 2000, 2002, 2004 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#define TARGET_VERSION fprintf (stderr, " (80386, COFF BSD syntax)");
-
-#define TARGET_OS_CPP_BUILTINS() /* Sweet FA.  */
-
-/* We want to be able to get DBX debugging information via -gstabs.  */
-
-#define DBX_DEBUGGING_INFO 1
-
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG
-
-/* Switch into a generic section.  */
-#define TARGET_ASM_NAMED_SECTION  default_coff_asm_named_section
-
-/* Prefix for internally generated assembler labels.  If we aren't using
-   underscores, we are using prefix `.'s to identify labels that should
-   be ignored, as in `i386/gas.h' --karl at cs.umb.edu  */
-
-#undef  LPREFIX
-#define LPREFIX ".L"
-
-/* The prefix to add to user-visible assembler symbols.  */
-
-#undef  USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""
-
-/* If user-symbols don't have underscores,
-   then it must take more than `L' to identify
-   a label that should be ignored.  */
-
-/* This is how to store into the string BUF
-   the symbol_ref name of an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.
-   This is suitable for output with `assemble_name'.  */
-
-#undef  ASM_GENERATE_INTERNAL_LABEL
-#define ASM_GENERATE_INTERNAL_LABEL(BUF,PREFIX,NUMBER)	\
-  sprintf ((BUF), ".%s%ld", (PREFIX), (long)(NUMBER))
-
-/* GNU as expects alignment to be the number of bytes instead of the log for
-   COFF targets.  */
-
-#undef ASM_OUTPUT_ALIGN
-#define ASM_OUTPUT_ALIGN(FILE,LOG) \
-  if ((LOG)!=0) fprintf ((FILE), "\t.align %d\n", 1<<(LOG))
-
-/* end of i386-coff.h */

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix.h Thu Aug  2 20:00:37 2007
@@ -1,365 +0,0 @@
-/* Target definitions for GCC for Intel 80386 running Interix
-   Parts Copyright (C) 1991, 1999, 2000, 2002, 2003, 2004
-   Free Software Foundation, Inc.
-
-   Parts:
-     by Douglas B. Rupp (drupp at cs.washington.edu).
-     by Ron Guilmette (rfg at netcom.com).
-     by Donn Terry (donn at softway.com).
-     by Mumit Khan (khan at xraylith.wisc.edu).
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* The rest must follow.  */
-
-#define DBX_DEBUGGING_INFO 1
-#define SDB_DEBUGGING_INFO 1
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
-
-#define HANDLE_SYSV_PRAGMA 1
-#undef HANDLE_PRAGMA_WEAK  /* until the link format can handle it */
-
-/* By default, target has a 80387, uses IEEE compatible arithmetic,
-   and returns float values in the 387 and needs stack probes
-   We also align doubles to 64-bits for MSVC default compatibility
-   We do bitfields MSVC-compatibly by default, too.  */
-#undef TARGET_SUBTARGET_DEFAULT
-#define TARGET_SUBTARGET_DEFAULT \
-   (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_STACK_PROBE | \
-    MASK_ALIGN_DOUBLE | MASK_MS_BITFIELD_LAYOUT)
-
-#undef TARGET_CPU_DEFAULT
-#define TARGET_CPU_DEFAULT 2 /* 486 */
-
-#define WCHAR_TYPE_SIZE 16
-#define WCHAR_TYPE "short unsigned int"
-
-/* WinNT (and thus Interix) use unsigned int */
-#define SIZE_TYPE "unsigned int"
-
-#define ASM_LOAD_ADDR(loc, reg)   "     leal " #loc "," #reg "\n"
-
-#define TARGET_DECLSPEC 1
-
-/* cpp handles __STDC__ */
-#define TARGET_OS_CPP_BUILTINS()					\
-  do									\
-    {									\
-	builtin_define ("__INTERIX");					\
-	builtin_define ("__OPENNT");					\
-	builtin_define ("_M_IX86=300");					\
-	builtin_define ("_X86_=1");					\
-	builtin_define ("__stdcall=__attribute__((__stdcall__))");	\
-	builtin_define ("__cdecl=__attribute__((__cdecl__))");		\
-	builtin_assert ("system=unix");					\
-	builtin_assert ("system=interix");				\
-	if (preprocessing_asm_p ())					\
-	  builtin_define_std ("LANGUAGE_ASSEMBLY");			\
-	else								\
-	  {								\
-	     builtin_define_std ("LANGUAGE_C");				\
-	     if (c_dialect_cxx ())					\
-	       builtin_define_std ("LANGUAGE_C_PLUS_PLUS");		\
-	     if (c_dialect_objc ())					\
-	       builtin_define_std ("LANGUAGE_OBJECTIVE_C");		\
-	  } 								\
-    }									\
-  while (0)
-
-#undef CPP_SPEC
-/* Write out the correct language type definition for the header files.  
-   Unless we have assembler language, write out the symbols for C.
-   mieee is an Alpha specific variant.  Cross pollination a bad idea.
-   */
-#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
--isystem %$INTERIX_ROOT/usr/include"
-
-#define TARGET_VERSION fprintf (stderr, " (i386 Interix)");
-
-/* The global __fltused is necessary to cause the printf/scanf routines
-   for outputting/inputting floating point numbers to be loaded.  Since this
-   is kind of hard to detect, we just do it all the time.  */
-#undef X86_FILE_START_FLTUSED
-#define X86_FILE_START_FLTUSED 1
-
-/* A table of bytes codes used by the ASM_OUTPUT_ASCII and
-   ASM_OUTPUT_LIMITED_STRING macros.  Each byte in the table
-   corresponds to a particular byte value [0..255].  For any
-   given byte value, if the value in the corresponding table
-   position is zero, the given character can be output directly.
-   If the table value is 1, the byte must be output as a \ooo
-   octal escape.  If the tables value is anything else, then the
-   byte value should be output as a \ followed by the value
-   in the table.  Note that we can use standard UN*X escape
-   sequences for many control characters, but we don't use
-   \a to represent BEL because some svr4 assemblers (e.g. on
-   the i386) don't know about that.  Also, we don't use \v
-   since some versions of gas, such as 2.2 did not accept it.  */
-
-#define ESCAPES \
-"\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
-\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\
-\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
-\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"
-
-/* Some svr4 assemblers have a limit on the number of characters which
-   can appear in the operand of a .string directive.  If your assembler
-   has such a limitation, you should define STRING_LIMIT to reflect that
-   limit.  Note that at least some svr4 assemblers have a limit on the
-   actual number of bytes in the double-quoted string, and that they
-   count each character in an escape sequence as one byte.  Thus, an
-   escape sequence like \377 would count as four bytes.
-
-   If your target assembler doesn't support the .string directive, you
-   should define this to zero.
-*/
-
-#define STRING_LIMIT	((unsigned) 256)
-
-#define STRING_ASM_OP	"\t.string\t"
-
-/* The routine used to output NUL terminated strings.  We use a special
-   version of this for most svr4 targets because doing so makes the
-   generated assembly code more compact (and thus faster to assemble)
-   as well as more readable, especially for targets like the i386
-   (where the only alternative is to output character sequences as
-   comma separated lists of numbers).  */
-
-#define ASM_OUTPUT_LIMITED_STRING(FILE, STR)				\
-  do									\
-    {									\
-      const unsigned char *_limited_str =				\
-        (const unsigned char *) (STR);					\
-      unsigned ch;							\
-      fprintf ((FILE), "%s\"", STRING_ASM_OP);				\
-      for (; (ch = *_limited_str); _limited_str++)			\
-        {								\
-	  int escape = ESCAPES[ch];					\
-	  switch (escape)						\
-	    {								\
-	    case 0:							\
-	      putc (ch, (FILE));					\
-	      break;							\
-	    case 1:							\
-	      fprintf ((FILE), "\\%03o", ch);				\
-	      break;							\
-	    default:							\
-	      putc ('\\', (FILE));					\
-	      putc (escape, (FILE));					\
-	      break;							\
-	    }								\
-        }								\
-      fprintf ((FILE), "\"\n");						\
-    }									\
-  while (0)
-
-/* The routine used to output sequences of byte values.  We use a special
-   version of this for most svr4 targets because doing so makes the
-   generated assembly code more compact (and thus faster to assemble)
-   as well as more readable.  Note that if we find subparts of the
-   character sequence which end with NUL (and which are shorter than
-   STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING.  */
-
-#undef ASM_OUTPUT_ASCII
-#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)				\
-  do									\
-    {									\
-      const unsigned char *_ascii_bytes =				\
-        (const unsigned char *) (STR);					\
-      const unsigned char *limit = _ascii_bytes + (LENGTH);		\
-      unsigned bytes_in_chunk = 0;					\
-      for (; _ascii_bytes < limit; _ascii_bytes++)			\
-        {								\
-	  const unsigned char *p;					\
-	  if (bytes_in_chunk >= 64)					\
-	    {								\
-	      fputc ('\n', (FILE));					\
-	      bytes_in_chunk = 0;					\
-	    }								\
-	  for (p = _ascii_bytes; p < limit && *p != '\0'; p++)		\
-	    continue;							\
-	  if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT)	\
-	    {								\
-	      if (bytes_in_chunk > 0)					\
-		{							\
-		  fputc ('\n', (FILE));					\
-		  bytes_in_chunk = 0;					\
-		}							\
-	      ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes);		\
-	      _ascii_bytes = p;						\
-	    }								\
-	  else								\
-	    {								\
-	      if (bytes_in_chunk == 0)					\
-		fprintf ((FILE), "\t.byte\t");				\
-	      else							\
-		fputc (',', (FILE));					\
-	      fprintf ((FILE), "0x%02x", *_ascii_bytes);		\
-	      bytes_in_chunk += 5;					\
-	    }								\
-	}								\
-      if (bytes_in_chunk > 0)						\
-        fprintf ((FILE), "\n");						\
-    }									\
-  while (0)
-
-/* Emit code to check the stack when allocating more that 4000
-   bytes in one go.  */
-
-#define CHECK_STACK_LIMIT 0x1000
-
-/* the following are OSF linker (not gld) specific... we don't want them */
-#undef HAS_INIT_SECTION
-#undef LD_INIT_SWITCH
-#undef LD_FINI_SWITCH
-
-/* The following are needed for us to be able to use winnt.c, but are not
-   otherwise meaningful to Interix.  (The functions that use these are
-   never called because we don't do DLLs.) */
-#define TARGET_NOP_FUN_DLLIMPORT 1
-#define drectve_section()  /* nothing */
-
-/* Objective-C has its own packing rules...
-   Objc tries to parallel the code in stor-layout.c at runtime	
-   (see libobjc/encoding.c).  This (compile-time) packing info isn't 
-   available at runtime, so it's hopeless to try.
-
-   And if the user tries to set the flag for objc, give an error
-   so he has some clue.  */
-
-#undef  SUBTARGET_OVERRIDE_OPTIONS
-#define SUBTARGET_OVERRIDE_OPTIONS					\
-do {									\
-  if (strcmp (lang_hooks.name, "GNU Objective-C") == 0)			\
-    {									\
-      if ((target_flags & MASK_MS_BITFIELD_LAYOUT) != 0			\
-	  && (target_flags_explicit & MASK_MS_BITFIELD_LAYOUT) != 0)	\
-	{								\
-	   error ("ms-bitfields not supported for objc");		\
-	}								\
-      target_flags &= ~MASK_MS_BITFIELD_LAYOUT;				\
-    }									\
-} while (0)
-
-#define EH_FRAME_IN_DATA_SECTION
-
-#define READONLY_DATA_SECTION_ASM_OP	"\t.section\t.rdata,\"r\""
-
-/* The MS compilers take alignment as a number of bytes, so we do as well */
-#undef ASM_OUTPUT_ALIGN
-#define ASM_OUTPUT_ALIGN(FILE,LOG) \
-  if ((LOG)!=0) fprintf ((FILE), "\t.balign %d\n", 1<<(LOG))
-
-/* The linker will take care of this, and having them causes problems with
-   ld -r (specifically -rU).  */
-#define CTOR_LISTS_DEFINED_EXTERNALLY 1
-
-#define SET_ASM_OP	"\t.set\t"
-/* Output a definition (implements alias) */
-#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2)				\
-do									\
-{									\
-    fprintf ((FILE), "%s", SET_ASM_OP);					\
-    assemble_name (FILE, LABEL1);					\
-    fprintf (FILE, ",");						\
-    assemble_name (FILE, LABEL2);					\
-    fprintf (FILE, "\n");						\
-    }									\
-while (0)
-
-#define HOST_PTR_AS_INT unsigned long
-
-#define PCC_BITFIELD_TYPE_MATTERS 1
-
-/* The following two flags are usually "off" for i386, because some non-gnu
-   tools (for the i386) don't handle them.  However, we don't have that
-   problem, so....  */
-
-/* Forward references to tags are allowed.  */
-#define SDB_ALLOW_FORWARD_REFERENCES
-
-/* Unknown tags are also allowed.  */
-#define SDB_ALLOW_UNKNOWN_REFERENCES
-
-/* The integer half of this list needs to be constant.  However, there's
-   a lot of disagreement about what the floating point adjustments should
-   be.  We pick one that works with gdb.  (The underlying problem is
-   what to do about the segment registers.  Since we have access to them
-   from /proc, we'll allow them to be accessed in gdb, even tho the
-   gcc compiler can't generate them.  (There's some evidence that 
-   MSVC does, but possibly only for certain special "canned" sequences.) */
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
-(TARGET_64BIT ? dbx64_register_map[n] \
- : (n) == 0 ? 0 \
- : (n) == 1 ? 2 \
- : (n) == 2 ? 1 \
- : (n) == 3 ? 3 \
- : (n) == 4 ? 6 \
- : (n) == 5 ? 7 \
- : (n) == 6 ? 5 \
- : (n) == 7 ? 4 \
- : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+8 \
- : (-1))
-
-/* Define this macro if references to a symbol must be treated
-   differently depending on something about the variable or
-   function named by the symbol (such as what section it is in).  */
-
-#undef TARGET_ENCODE_SECTION_INFO
-#define TARGET_ENCODE_SECTION_INFO i386_pe_encode_section_info
-#undef  TARGET_STRIP_NAME_ENCODING
-#define TARGET_STRIP_NAME_ENCODING  i386_pe_strip_name_encoding_full
-
-#if 0	
-/* Turn this back on when the linker is updated to handle grouped
-   .data$ sections correctly. See corresponding note in i386/interix.c. 
-   MK.  */
-
-/* Interix uses explicit import from shared libraries.  */
-#define MULTIPLE_SYMBOL_SPACES 1
-
-extern void i386_pe_unique_section (tree, int);
-#define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section
-#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
-
-#define SUPPORTS_ONE_ONLY 1
-#endif /* 0 */
-
-/* Switch into a generic section.  */
-#define TARGET_ASM_NAMED_SECTION  default_pe_asm_named_section
-
-/* DWARF2 Unwinding doesn't work with exception handling yet.  */
-#define DWARF2_UNWIND_INFO 0
-
-/* Don't assume anything about the header files.  */
-#define NO_IMPLICIT_EXTERN_C
-
-/* MSVC returns structs of up to 8 bytes via registers.  */
-
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) \
-  (TYPE_MODE (TYPE) == BLKmode || \
-     (AGGREGATE_TYPE_P (TYPE) && int_size_in_bytes(TYPE) > 8 ))

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix3.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix3.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix3.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386-interix3.h Thu Aug  2 20:00:37 2007
@@ -1,24 +0,0 @@
-/* Target definitions for GCC for Intel 80386 running Interix V3.
-   Copyright (C) 2001 Free Software Foundation, Inc.
-   Contributed by Douglas B. Rupp (rupp at gnat.com)
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.c Thu Aug  2 20:00:37 2007
@@ -779,7 +779,6 @@
 
 const struct processor_costs *ix86_cost = &pentium_cost;
 
-
 /* Processor feature/optimization bitmasks.  */
 #define m_386 (1<<PROCESSOR_I386)
 #define m_486 (1<<PROCESSOR_I486)
@@ -814,7 +813,7 @@
 const int x86_cmove = m_PPRO | m_ATHLON_K8 | m_PENT4 | m_NOCONA;
 const int x86_3dnow_a = m_ATHLON_K8;
 /* APPLE LOCAL end mainline */
-const int x86_deep_branch = m_PPRO | m_K6 | m_ATHLON_K8 | m_PENT4 | m_GENERIC;
+const int x86_deep_branch = m_PPRO | m_K6 | m_ATHLON_K8 | m_PENT4 | m_NOCONA | m_GENERIC;
 /* Branch hints were put in P4 based on simulation result. But
    after P4 was made, no performance benefit was observed with
    branch hints. It also increases the code size. As the result,
@@ -1695,7 +1694,6 @@
     {
       if (ix86_arch_string)
 	ix86_tune_string = ix86_arch_string;
-
       if (!ix86_tune_string)
 	{
 	  ix86_tune_string = cpu_names [TARGET_CPU_DEFAULT];
@@ -5630,7 +5628,6 @@
 static rtx
 ix86_internal_arg_pointer (void)
 {
-  /* APPLE LOCAL begin mainline */
   bool has_force_align_arg_pointer =
     (0 != lookup_attribute (ix86_force_align_arg_pointer_string,
 			    TYPE_ATTRIBUTES (TREE_TYPE (current_function_decl))));
@@ -5656,7 +5653,6 @@
       cfun->machine->force_align_arg_pointer = gen_rtx_REG (Pmode, 2);
       return copy_to_reg (cfun->machine->force_align_arg_pointer);
     }
-  /* APPLE LOCAL end mainline */
   else
     return virtual_incoming_args_rtx;
 }
@@ -14357,6 +14353,9 @@
 
   gcc_assert (n < MAX_386_STACK_LOCALS);
 
+  /* Virtual slot is valid only before vregs are instantiated.  */
+  gcc_assert ((n == SLOT_VIRTUAL) == !virtuals_instantiated);
+
   for (s = ix86_stack_locals; s; s = s->next)
     if (s->mode == mode && s->n == n)
       return s->rtl;
@@ -16194,6 +16193,10 @@
   def_builtin (MASK_MMX, "__builtin_ia32_vec_ext_v2si",
 	       ftype, IX86_BUILTIN_VEC_EXT_V2SI);
 
+  ftype = build_function_type_list (intQI_type_node, V16QI_type_node,
+				    integer_type_node, NULL_TREE);
+  def_builtin (MASK_SSE2, "__builtin_ia32_vec_ext_v16qi", ftype, IX86_BUILTIN_VEC_EXT_V16QI);
+
   /* Access to the vec_set patterns.  */
   ftype = build_function_type_list (V8HI_type_node, V8HI_type_node,
 				    intHI_type_node,
@@ -16756,13 +16759,13 @@
 
     case IX86_BUILTIN_LDMXCSR:
       op0 = expand_normal (TREE_VALUE (arglist));
-      target = assign_386_stack_local (SImode, SLOT_TEMP);
+      target = assign_386_stack_local (SImode, SLOT_VIRTUAL);
       emit_move_insn (target, op0);
       emit_insn (gen_sse_ldmxcsr (target));
       return 0;
 
     case IX86_BUILTIN_STMXCSR:
-      target = assign_386_stack_local (SImode, SLOT_TEMP);
+      target = assign_386_stack_local (SImode, SLOT_VIRTUAL);
       emit_insn (gen_sse_stmxcsr (target));
       return copy_to_mode_reg (SImode, target);
 
@@ -17173,6 +17176,7 @@
     case IX86_BUILTIN_VEC_EXT_V4SF:
     case IX86_BUILTIN_VEC_EXT_V4SI:
     case IX86_BUILTIN_VEC_EXT_V8HI:
+    case IX86_BUILTIN_VEC_EXT_V16QI:
     case IX86_BUILTIN_VEC_EXT_V2SI:
     case IX86_BUILTIN_VEC_EXT_V4HI:
       return ix86_expand_vec_ext_builtin (arglist, target);

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.h Thu Aug  2 20:00:37 2007
@@ -2246,7 +2246,8 @@
 
 enum ix86_stack_slot
 {
-  SLOT_TEMP = 0,
+  SLOT_VIRTUAL = 0,
+  SLOT_TEMP,
   SLOT_CW_STORED,
   SLOT_CW_TRUNC,
   SLOT_CW_FLOOR,
@@ -3684,6 +3685,7 @@
   IX86_BUILTIN_VEC_EXT_V4SF,
   IX86_BUILTIN_VEC_EXT_V4SI,
   IX86_BUILTIN_VEC_EXT_V8HI,
+  IX86_BUILTIN_VEC_EXT_V16QI,
   IX86_BUILTIN_VEC_EXT_V2SI,
   IX86_BUILTIN_VEC_EXT_V4HI,
   IX86_BUILTIN_VEC_SET_V8HI,

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.md Thu Aug  2 20:00:37 2007
@@ -196,12 +196,11 @@
 ;; "reload_completed && TARGET_64BIT".
 
 
-; APPLE LOCAL begin mainline 2006-04-19 4434601
 ;; Processor type.  This attribute must exactly match the processor_type
 ;; enumeration in i386.h.
+; APPLE LOCAL mainline 2006-04-19 4434601
 (define_attr "cpu" "i386,i486,pentium,pentiumpro,k6,athlon,pentium4,k8,nocona,core2,generic32,generic64"
   (const (symbol_ref "ix86_tune")))
-; APPLE LOCAL end mainline 2006-04-19 4434601
 
 ;; A basic instruction type.  Refinements due to arguments to be
 ;; provided in other attributes.
@@ -1521,7 +1520,6 @@
 	       (const_string "SI")
 	     (eq_attr "alternative" "6")
 	       (const_string "QI")
-;; APPLE LOCAL begin mainline 2006-04-19 4434601
 	     (eq_attr "type" "imovx")
 	       (const_string "SI")
 	     (and (eq_attr "type" "imov")
@@ -1533,7 +1531,6 @@
 			    	 (eq (symbol_ref "TARGET_PARTIAL_REG_STALL")
 				     (const_int 0))))))
 	       (const_string "SI")
-;; APPLE LOCAL end mainline 2006-04-19 4434601
 	     ;; Avoid partial register stalls when not using QImode arithmetic
 	     (and (eq_attr "type" "imov")
 		  (and (eq_attr "alternative" "0,1")
@@ -3750,7 +3747,7 @@
     ;
   else
     {
-      rtx temp = assign_386_stack_local (SFmode, SLOT_TEMP);
+      rtx temp = assign_386_stack_local (SFmode, SLOT_VIRTUAL);
       emit_insn (gen_truncdfsf2_with_temp (operands[0], operands[1], temp));
       DONE;
     }
@@ -3902,7 +3899,7 @@
       DONE;
     }
   else
-    operands[2] = assign_386_stack_local (SFmode, SLOT_TEMP);
+    operands[2] = assign_386_stack_local (SFmode, SLOT_VIRTUAL);
 })
 
 (define_insn "*truncxfsf2_mixed"
@@ -4000,7 +3997,7 @@
       DONE;
     }
   else
-    operands[2] = assign_386_stack_local (DFmode, SLOT_TEMP);
+    operands[2] = assign_386_stack_local (DFmode, SLOT_VIRTUAL);
 })
 
 (define_insn "*truncxfdf2_mixed"
@@ -4242,7 +4239,6 @@
    (set_attr "athlon_decode" "double,vector")])
 
 ;; Avoid vector decoded forms of the instruction.
-; APPLE LOCAL begin mainline 2006-04-19 4434601
 (define_peephole2
   [(match_scratch:DF 2 "Y")
    (set (match_operand:SSEMODEI24 0 "register_operand" "")
@@ -4260,7 +4256,6 @@
   [(set (match_dup 2) (match_dup 1))
    (set (match_dup 0) (fix:SSEMODEI24 (match_dup 2)))]
   "")
-; APPLE LOCAL end mainline 2006-04-19 4434601
 
 (define_insn_and_split "fix_trunc<mode>_fisttp_i387_1"
   [(set (match_operand:X87MODEI 0 "nonimmediate_operand" "=m,?r")
@@ -20617,7 +20612,6 @@
 
 ;; Imul $32bit_imm, mem, reg is vector decoded, while
 ;; imul $32bit_imm, reg, reg is direct decoded.
-; APPLE LOCAL begin mainline 2006-04-19 4434601
 (define_peephole2
   [(match_scratch:DI 3 "r")
    (parallel [(set (match_operand:DI 0 "register_operand" "")
@@ -20767,7 +20761,6 @@
   operands[0] = dest;
 })
 
-; APPLE LOCAL end mainline 2006-04-19 4434601
 ;; Call-value patterns last so that the wildcard operand does not
 ;; disrupt insn-recog's switch tables.
 

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386elf.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386elf.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386elf.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386elf.h Thu Aug  2 20:00:37 2007
@@ -1,132 +0,0 @@
-/* Target definitions for GCC for Intel 80386 using ELF
-   Copyright (C) 1988, 1991, 1995, 2000, 2001, 2002
-   Free Software Foundation, Inc.
-
-   Derived from sysv4.h written by Ron Guilmette (rfg at netcom.com).
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Use stabs instead of DWARF debug format.  */
-#undef  PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
-
-#define TARGET_VERSION fprintf (stderr, " (i386 bare ELF target)");
-
-/* By default, target has a 80387, uses IEEE compatible arithmetic,
-   and returns float values in the 387.  */
-
-#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS)
-
-/* The ELF ABI for the i386 says that records and unions are returned
-   in memory.  */
-
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) \
-  (TYPE_MODE (TYPE) == BLKmode \
-   || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
-
-#undef CPP_SPEC
-#define CPP_SPEC ""
-
-#define ENDFILE_SPEC "crtend.o%s"
-
-#define STARTFILE_SPEC "%{!shared: \
-			 %{!symbolic: \
-			  %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
-			crtbegin.o%s"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
-  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-
-/* The routine used to output sequences of byte values.  We use a special
-   version of this for most svr4 targets because doing so makes the
-   generated assembly code more compact (and thus faster to assemble)
-   as well as more readable.  Note that if we find subparts of the
-   character sequence which end with NUL (and which are shorter than
-   STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING.  */
-
-#undef ASM_OUTPUT_ASCII
-#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)				\
-  do									\
-    {									\
-      const unsigned char *_ascii_bytes =				\
-        (const unsigned char *) (STR);					\
-      const unsigned char *limit = _ascii_bytes + (LENGTH);		\
-      unsigned bytes_in_chunk = 0;					\
-      for (; _ascii_bytes < limit; _ascii_bytes++)			\
-        {								\
-	  const unsigned char *p;					\
-	  if (bytes_in_chunk >= 64)					\
-	    {								\
-	      fputc ('\n', (FILE));					\
-	      bytes_in_chunk = 0;					\
-	    }								\
-	  for (p = _ascii_bytes; p < limit && *p != '\0'; p++)		\
-	    continue;							\
-	  if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT)	\
-	    {								\
-	      if (bytes_in_chunk > 0)					\
-		{							\
-		  fputc ('\n', (FILE));					\
-		  bytes_in_chunk = 0;					\
-		}							\
-	      ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes);		\
-	      _ascii_bytes = p;						\
-	    }								\
-	  else								\
-	    {								\
-	      if (bytes_in_chunk == 0)					\
-		fprintf ((FILE), "\t.byte\t");				\
-	      else							\
-		fputc (',', (FILE));					\
-	      fprintf ((FILE), "0x%02x", *_ascii_bytes);		\
-	      bytes_in_chunk += 5;					\
-	    }								\
-	}								\
-      if (bytes_in_chunk > 0)						\
-        fprintf ((FILE), "\n");						\
-    }									\
-  while (0)
-
-#define LOCAL_LABEL_PREFIX	"."
-
-/* Switch into a generic section.  */
-#define TARGET_ASM_NAMED_SECTION  default_elf_asm_named_section
-
-/* If defined, a C expression whose value is a string containing the
-   assembler operation to identify the following data as
-   uninitialized global data.  If not defined, and neither
-   `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined,
-   uninitialized global data will be output in the data section if
-   `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be
-   used.  */
-#undef BSS_SECTION_ASM_OP
-#define BSS_SECTION_ASM_OP "\t.section\t.bss"
-
-/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a
-   separate, explicit argument.  If you define this macro, it is used
-   in place of `ASM_OUTPUT_BSS', and gives you more flexibility in
-   handling the required alignment of the variable.  The alignment is
-   specified as the number of bits.
-
-   Try to use function `asm_output_aligned_bss' defined in file
-   `varasm.c' when defining this macro.  */
-#undef ASM_OUTPUT_ALIGNED_BSS
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/kaos-i386.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/kaos-i386.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/kaos-i386.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/kaos-i386.h Thu Aug  2 20:00:37 2007
@@ -1,24 +0,0 @@
-/* Definitions of target machine for GCC.
-   kaOS on ia32 architecture version.
-   Copyright (C) 2003 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fputs (" (i386/kaOS[ELF])", stderr);
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/kfreebsd-gnu.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/kfreebsd-gnu.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/kfreebsd-gnu.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/kfreebsd-gnu.h Thu Aug  2 20:00:37 2007
@@ -1,26 +0,0 @@
-/* Definitions for Intel 386 running kFreeBSD-based GNU systems with ELF format
-   Copyright (C) 2004
-   Free Software Foundation, Inc.
-   Contributed by Robert Millan.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef LINK_EMULATION
-#define LINK_EMULATION "elf_i386_fbsd"
-#undef REG_NAME
-#define REG_NAME(reg) sc_ ## reg

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/knetbsd-gnu.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/knetbsd-gnu.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/knetbsd-gnu.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/knetbsd-gnu.h Thu Aug  2 20:00:37 2007
@@ -1,24 +0,0 @@
-/* Definitions for Intel 386 running kNetBSD-based GNU systems with ELF format
-   Copyright (C) 2004
-   Free Software Foundation, Inc.
-   Contributed by Robert Millan.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef REG_NAME
-#define REG_NAME(reg) sc_ ## reg

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/libgcc-x86_64-glibc.ver
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/libgcc-x86_64-glibc.ver?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/libgcc-x86_64-glibc.ver (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/libgcc-x86_64-glibc.ver Thu Aug  2 20:00:37 2007
@@ -1,25 +0,0 @@
-# In order to work around the very problems that force us to now generally
-# create a libgcc.so, glibc reexported a number of routines from libgcc.a.
-# By now choosing the same version tags for these specific routines, we
-# maintain enough binary compatibility to allow future versions of glibc
-# to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
-
-%ifndef __x86_64__
-%inherit GCC_3.0 GLIBC_2.0
-GLIBC_2.0 {
-  # Sampling of DImode arithmetic used by (at least) i386 and m68k.
-  __divdi3
-  __moddi3
-  __udivdi3
-  __umoddi3
-
-  # Exception handling support functions used by most everyone.
-  __register_frame
-  __register_frame_table
-  __deregister_frame
-  __register_frame_info
-  __deregister_frame_info
-  __frame_state_for
-  __register_frame_info_table
-}
-%endif

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/linux-unwind.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/linux-unwind.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/linux-unwind.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/linux-unwind.h Thu Aug  2 20:00:37 2007
@@ -1,181 +0,0 @@
-/* DWARF2 EH unwinding support for AMD x86-64 and x86.
-   Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file with other programs, and to distribute
-those programs without any restriction coming from the use of this
-file.  (The General Public License restrictions do apply in other
-respects; for example, they cover modification of the file, and
-distribution when not linked into another program.)
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Do code reading to identify a signal frame, and set the frame
-   state data appropriately.  See unwind-dw2.c for the structs.
-   Don't use this at all if inhibit_libc is used.  */
-
-#ifndef inhibit_libc
-
-#ifdef __x86_64__
-
-#include <signal.h>
-#include <sys/ucontext.h>
-
-#define MD_FALLBACK_FRAME_STATE_FOR x86_64_fallback_frame_state
-
-static _Unwind_Reason_Code
-x86_64_fallback_frame_state (struct _Unwind_Context *context,
-			     _Unwind_FrameState *fs)
-{
-  unsigned char *pc = context->ra;
-  struct sigcontext *sc;
-  long new_cfa;
-
-  /* movq __NR_rt_sigreturn, %rax ; syscall  */
-  if (*(unsigned char *)(pc+0) == 0x48
-      && *(unsigned long *)(pc+1) == 0x050f0000000fc0c7)
-    {
-      struct ucontext *uc_ = context->cfa;
-      /* The void * cast is necessary to avoid an aliasing warning.
-         The aliasing warning is correct, but should not be a problem
-         because it does not alias anything.  */
-      sc = (struct sigcontext *) (void *) &uc_->uc_mcontext;
-    }
-  else
-    return _URC_END_OF_STACK;
-
-  new_cfa = sc->rsp;
-  fs->cfa_how = CFA_REG_OFFSET;
-  /* Register 7 is rsp  */
-  fs->cfa_reg = 7;
-  fs->cfa_offset = new_cfa - (long) context->cfa;
-
-  /* The SVR4 register numbering macros aren't usable in libgcc.  */
-  fs->regs.reg[0].how = REG_SAVED_OFFSET;
-  fs->regs.reg[0].loc.offset = (long)&sc->rax - new_cfa;
-  fs->regs.reg[1].how = REG_SAVED_OFFSET;
-  fs->regs.reg[1].loc.offset = (long)&sc->rdx - new_cfa;
-  fs->regs.reg[2].how = REG_SAVED_OFFSET;
-  fs->regs.reg[2].loc.offset = (long)&sc->rcx - new_cfa;
-  fs->regs.reg[3].how = REG_SAVED_OFFSET;
-  fs->regs.reg[3].loc.offset = (long)&sc->rbx - new_cfa;
-  fs->regs.reg[4].how = REG_SAVED_OFFSET;
-  fs->regs.reg[4].loc.offset = (long)&sc->rsi - new_cfa;
-  fs->regs.reg[5].how = REG_SAVED_OFFSET;
-  fs->regs.reg[5].loc.offset = (long)&sc->rdi - new_cfa;
-  fs->regs.reg[6].how = REG_SAVED_OFFSET;
-  fs->regs.reg[6].loc.offset = (long)&sc->rbp - new_cfa;
-  fs->regs.reg[8].how = REG_SAVED_OFFSET;
-  fs->regs.reg[8].loc.offset = (long)&sc->r8 - new_cfa;
-  fs->regs.reg[9].how = REG_SAVED_OFFSET;
-  fs->regs.reg[9].loc.offset = (long)&sc->r9 - new_cfa;
-  fs->regs.reg[10].how = REG_SAVED_OFFSET;
-  fs->regs.reg[10].loc.offset = (long)&sc->r10 - new_cfa;
-  fs->regs.reg[11].how = REG_SAVED_OFFSET;
-  fs->regs.reg[11].loc.offset = (long)&sc->r11 - new_cfa;
-  fs->regs.reg[12].how = REG_SAVED_OFFSET;
-  fs->regs.reg[12].loc.offset = (long)&sc->r12 - new_cfa;
-  fs->regs.reg[13].how = REG_SAVED_OFFSET;
-  fs->regs.reg[13].loc.offset = (long)&sc->r13 - new_cfa;
-  fs->regs.reg[14].how = REG_SAVED_OFFSET;
-  fs->regs.reg[14].loc.offset = (long)&sc->r14 - new_cfa;
-  fs->regs.reg[15].how = REG_SAVED_OFFSET;
-  fs->regs.reg[15].loc.offset = (long)&sc->r15 - new_cfa;
-  fs->regs.reg[16].how = REG_SAVED_OFFSET;
-  fs->regs.reg[16].loc.offset = (long)&sc->rip - new_cfa;
-  fs->retaddr_column = 16;
-  fs->signal_frame = 1;
-  return _URC_NO_REASON;
-}
-
-#else /* ifdef __x86_64__  */
-
-/* There's no sys/ucontext.h for glibc 2.0, so no
-   signal-turned-exceptions for them.  There's also no configure-run for
-   the target, so we can't check on (e.g.) HAVE_SYS_UCONTEXT_H.  Using the
-   target libc version macro should be enough.  */
-#if !(__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
-
-#include <signal.h>
-#include <sys/ucontext.h>
-
-#define MD_FALLBACK_FRAME_STATE_FOR x86_fallback_frame_state
-
-static _Unwind_Reason_Code
-x86_fallback_frame_state (struct _Unwind_Context *context,
-			  _Unwind_FrameState *fs)
-{
-  unsigned char *pc = context->ra;
-  struct sigcontext *sc;
-  long new_cfa;
-
-  /* popl %eax ; movl $__NR_sigreturn,%eax ; int $0x80  */
-  if (*(unsigned short *)(pc+0) == 0xb858
-      && *(unsigned int *)(pc+2) == 119
-      && *(unsigned short *)(pc+6) == 0x80cd)
-    sc = context->cfa + 4;
-  /* movl $__NR_rt_sigreturn,%eax ; int $0x80  */
-  else if (*(unsigned char *)(pc+0) == 0xb8
-	   && *(unsigned int *)(pc+1) == 173
-	   && *(unsigned short *)(pc+5) == 0x80cd)
-    {
-      struct rt_sigframe {
-	int sig;
-	struct siginfo *pinfo;
-	void *puc;
-	struct siginfo info;
-	struct ucontext uc;
-      } *rt_ = context->cfa;
-      /* The void * cast is necessary to avoid an aliasing warning.
-         The aliasing warning is correct, but should not be a problem
-         because it does not alias anything.  */
-      sc = (struct sigcontext *) (void *) &rt_->uc.uc_mcontext;
-    }
-  else
-    return _URC_END_OF_STACK;
-
-  new_cfa = sc->REG_NAME(esp);
-  fs->cfa_how = CFA_REG_OFFSET;
-  fs->cfa_reg = 4;
-  fs->cfa_offset = new_cfa - (long) context->cfa;
-
-  /* The SVR4 register numbering macros aren't usable in libgcc.  */
-  fs->regs.reg[0].how = REG_SAVED_OFFSET;
-  fs->regs.reg[0].loc.offset = (long)&sc->REG_NAME(eax) - new_cfa;
-  fs->regs.reg[3].how = REG_SAVED_OFFSET;
-  fs->regs.reg[3].loc.offset = (long)&sc->REG_NAME(ebx) - new_cfa;
-  fs->regs.reg[1].how = REG_SAVED_OFFSET;
-  fs->regs.reg[1].loc.offset = (long)&sc->REG_NAME(ecx) - new_cfa;
-  fs->regs.reg[2].how = REG_SAVED_OFFSET;
-  fs->regs.reg[2].loc.offset = (long)&sc->REG_NAME(edx) - new_cfa;
-  fs->regs.reg[6].how = REG_SAVED_OFFSET;
-  fs->regs.reg[6].loc.offset = (long)&sc->REG_NAME(esi) - new_cfa;
-  fs->regs.reg[7].how = REG_SAVED_OFFSET;
-  fs->regs.reg[7].loc.offset = (long)&sc->REG_NAME(edi) - new_cfa;
-  fs->regs.reg[5].how = REG_SAVED_OFFSET;
-  fs->regs.reg[5].loc.offset = (long)&sc->REG_NAME(ebp) - new_cfa;
-  fs->regs.reg[8].how = REG_SAVED_OFFSET;
-  fs->regs.reg[8].loc.offset = (long)&sc->REG_NAME(eip) - new_cfa;
-  fs->retaddr_column = 8;
-  fs->signal_frame = 1;
-  return _URC_NO_REASON;
-}
-#endif /* not glibc 2.0 */
-#endif /* ifdef __x86_64__  */
-#endif /* ifdef inhibit_libc  */

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/linux.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/linux.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/linux.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/linux.h Thu Aug  2 20:00:37 2007
@@ -1,197 +1,3 @@
-/* Definitions for Intel 386 running Linux-based GNU systems with ELF format.
-   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2004, 2005,
-   2006 Free Software Foundation, Inc.
-   Contributed by Eric Youngdale.
-   Modified for stabs-in-ELF by H.J. Lu.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
-
-#define TARGET_VERSION fprintf (stderr, " (i386 Linux/ELF)");
-
-/* The svr4 ABI for the i386 says that records and unions are returned
-   in memory.  */
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-/* We arrange for the whole %gs segment to map the tls area.  */
-#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
-#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
-  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-
-/* Output assembler code to FILE to call the profiler.
-   To the best of my knowledge, no Linux libc has required the label
-   argument to mcount.  */
-
-#define NO_PROFILE_COUNTERS	1
-
-#undef MCOUNT_NAME
-#define MCOUNT_NAME "mcount"
-
-/* The GLIBC version of mcount for the x86 assumes that there is a
-   frame, so we cannot allow profiling without a frame pointer.  */
-
-#undef SUBTARGET_FRAME_POINTER_REQUIRED
-#define SUBTARGET_FRAME_POINTER_REQUIRED current_function_profile
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
- 
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-  
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "long int"
-   
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE BITS_PER_WORD
-    
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-	LINUX_TARGET_OS_CPP_BUILTINS();		\
-    }						\
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
-#undef CC1_SPEC
-#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
-
-/* Provide a LINK_SPEC appropriate for Linux.  Here we provide support
-   for the special GCC options -static and -shared, which allow us to
-   link things in one of these three modes by applying the appropriate
-   combinations of options at link-time. We like to support here for
-   as many of the other GNU linker options as possible. But I don't
-   have the time to search for those flags. I am sure how to add
-   support for -soname shared_object_name. H.J.
-
-   I took out %{v:%{!V:-V}}. It is too much :-(. They can use
-   -Wl,-V.
-
-   When the -shared link option is used a final link is not being
-   done.  */
-
-/* If ELF is the default format, we should not use /lib/elf.  */
-
-/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
-#define LINK_EMULATION "elf_i386"
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-
-#undef  SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS \
-  { "link_emulation", LINK_EMULATION },\
-  { "dynamic_linker", LINUX_DYNAMIC_LINKER }
-
-#undef	LINK_SPEC
-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
-  %{!shared: \
-    %{!ibcs: \
-      %{!static: \
-	%{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker %(dynamic_linker)}} \
-	%{static:-static}}}"
-
-/* Similar to standard Linux, but adding -ffast-math support.  */
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
-   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
-
-/* A C statement (sans semicolon) to output to the stdio stream
-   FILE the assembler definition of uninitialized global DECL named
-   NAME whose size is SIZE bytes and alignment is ALIGN bytes.
-   Try to use asm_output_aligned_bss to implement this macro.  */
-
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-/* A C statement to output to the stdio stream FILE an assembler
-   command to advance the location counter to a multiple of 1<<LOG
-   bytes if it is within MAX_SKIP bytes.
-
-   This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP)			\
-  do {									\
-    if ((LOG) != 0) {							\
-      if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
-      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
-    }									\
-  } while (0)
-#endif
-
-/* Handle special EH pointer encodings.  Absolute, pc-relative, and
-   indirect are handled automatically.  */
-#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
-  do {									\
-    if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel)		\
-      {									\
-        fputs (ASM_LONG, FILE);			\
-        assemble_name (FILE, XSTR (ADDR, 0));				\
-	fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
-        goto DONE;							\
-      }									\
-  } while (0)
-
-/* Used by crtstuff.c to initialize the base of data-relative relocations.
-   These are GOT relative on x86, so return the pic register.  */
-#ifdef __PIC__
-#define CRT_GET_RFIB_DATA(BASE)			\
-  {						\
-    register void *ebx_ __asm__("ebx");		\
-    BASE = ebx_;				\
-  }
-#else
-#define CRT_GET_RFIB_DATA(BASE)						\
-  __asm__ ("call\t.LPR%=\n"						\
-	   ".LPR%=:\n\t"						\
-	   "popl\t%0\n\t"						\
-	   /* Due to a GAS bug, this cannot use EAX.  That encodes	\
-	      smaller than the traditional EBX, which results in the	\
-	      offset being off by one.  */				\
-	   "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"			\
-	   : "=d"(BASE))
-#endif
-
-#undef NEED_INDICATE_EXEC_STACK
-#define NEED_INDICATE_EXEC_STACK 1
-
-#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"
-
-/* This macro may be overridden in i386/k*bsd-gnu.h.  */
-#define REG_NAME(reg) reg
-
-#ifdef TARGET_LIBC_PROVIDES_SSP
-/* i386 glibc provides __stack_chk_guard in %gs:0x14.  */
-#define TARGET_THREAD_SSP_OFFSET	0x14
-#endif
 
 /* LLVM LOCAL begin */
 #ifdef ENABLE_LLVM

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/linux64.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/linux64.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/linux64.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/linux64.h Thu Aug  2 20:00:37 2007
@@ -1,85 +0,0 @@
-/* Definitions for AMD x86-64 running Linux-based GNU systems with ELF format.
-   Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
-   Contributed by Jan Hubicka <jh at suse.cz>, based on linux.h.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define TARGET_VERSION fprintf (stderr, " (x86-64 Linux/ELF)");
-
-#define TARGET_OS_CPP_BUILTINS()				\
-  do								\
-    {								\
-	LINUX_TARGET_OS_CPP_BUILTINS();				\
-    }								\
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
-/* The svr4 ABI for the i386 says that records and unions are returned
-   in memory.  In the 64bit compilation we will turn this flag off in
-   override_options, as we never do pcc_struct_return scheme on this target.  */
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-/* We arrange for the whole %fs segment to map the tls area.  */
-#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
-#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
-
-/* Provide a LINK_SPEC.  Here we provide support for the special GCC
-   options -static and -shared, which allow us to link things in one
-   of these three modes by applying the appropriate combinations of
-   options at link-time.
-
-   When the -shared link option is used a final link is not being
-   done.  */
-
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-
-#undef	LINK_SPEC
-#define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
-  %{shared:-shared} \
-  %{!shared: \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
-      %{m32:%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
-      %{!m32:%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}} \
-    %{static:-static}}"
-
-/* Similar to standard Linux, but adding -ffast-math support.  */
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
-   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
-
-#define MULTILIB_DEFAULTS { "m64" }
-
-#undef NEED_INDICATE_EXEC_STACK
-#define NEED_INDICATE_EXEC_STACK 1
-
-#define MD_UNWIND_SUPPORT "config/i386/linux-unwind.h"
-
-/* This macro may be overridden in i386/k*bsd-gnu.h.  */
-#define REG_NAME(reg) reg
-
-#ifdef TARGET_LIBC_PROVIDES_SSP
-/* i386 glibc provides __stack_chk_guard in %gs:0x14,
-   x86_64 glibc provides it in %fs:0x28.  */
-#define TARGET_THREAD_SSP_OFFSET	(TARGET_64BIT ? 0x28 : 0x14)
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/lynx.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/lynx.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/lynx.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/lynx.h Thu Aug  2 20:00:37 2007
@@ -1,91 +0,0 @@
-/* Definitions for LynxOS on i386.
-   Copyright (C) 1993, 1995, 1996, 2002, 2004, 2005
-   Free Software Foundation, Inc. 
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define TARGET_VERSION fputs (" (i386/LynxOS)", stderr);
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      builtin_define ("__LITTLE_ENDIAN__");	\
-      builtin_define ("__x86__");		\
-    }						\
-  while (0)
-
-/* The svr4 ABI for the i386 says that records and unions are returned
-   in memory.  */
-
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-/* BSS_SECTION_ASM_OP gets defined i386/unix.h.  */
-
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-/* LynxOS's GDB counts the floating point registers from 16.  */
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n)						\
-  (TARGET_64BIT ? dbx64_register_map[n]					\
-   : (n) == 0 ? 0							\
-   : (n) == 1 ? 2							\
-   : (n) == 2 ? 1							\
-   : (n) == 3 ? 3							\
-   : (n) == 4 ? 6							\
-   : (n) == 5 ? 7							\
-   : (n) == 6 ? 5							\
-   : (n) == 7 ? 4							\
-   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n) + 8	\
-   : (-1))
-  
-/* A C statement to output to the stdio stream FILE an assembler
-   command to advance the location counter to a multiple of 1<<LOG
-   bytes if it is within MAX_SKIP bytes.
-
-   This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP)			\
-  do {									\
-    if ((LOG) != 0) {							\
-      if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
-      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
-    }									\
-  } while (0)
-#endif
-
-/* Undefine SUBTARGET_EXTRA_SPECS it is empty anyway.  We define it in
-   config/lynx.h.  */
-
-#undef SUBTARGET_EXTRA_SPECS
-
-/* Undefine the definition from att.h to enable our default.  */
-
-#undef ASM_OUTPUT_ALIGN
-
-/* Undefine the definition from elfos.h to enable our default.  */
-
-#undef PREFERRED_DEBUGGING_TYPE
-
-/* The file i386.c defines TARGET_HAVE_TLS unconditionally if
-   HAVE_AS_TLS is defined.  HAVE_AS_TLS is defined as gas support for
-   TLS is detected by configure.  We undefine it here.  */
-
-#undef HAVE_AS_TLS

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/mach.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/mach.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/mach.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/mach.h Thu Aug  2 20:00:37 2007
@@ -1,20 +0,0 @@
-/* Configuration for an i386 running Mach as the target machine.  */
-
-#define TARGET_VERSION fprintf (stderr, " (80386, Mach)"); 
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-	builtin_define_std ("unix");		\
-	builtin_define_std ("MACH");		\
-	builtin_assert ("system=unix");		\
-	builtin_assert ("system=mach");		\
-    }						\
-  while (0)
-
-/* Specify extra dir to search for include files.  */
-#define SYSTEM_INCLUDE_DIR "/usr/mach/include"
-
-/* Don't default to pcc-struct-return, because gcc is the only compiler, and
-   we want to retain compatibility with older gcc versions.  */
-#define DEFAULT_PCC_STRUCT_RETURN 0

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/mingw32.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/mingw32.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/mingw32.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/mingw32.h Thu Aug  2 20:00:37 2007
@@ -1,114 +0,0 @@
-/* Operating system specific defines to be used when targeting GCC for
-   hosting on Windows32, using GNU tools and the Windows32 API Library.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (x86 MinGW)"); 
-
-/* See i386/crtdll.h for an alternative definition.  */
-#define EXTRA_OS_CPP_BUILTINS()					\
-  do								\
-    {								\
-      builtin_define ("__MSVCRT__");				\
-      builtin_define ("__MINGW32__");			   	\
-      builtin_define ("_WIN32");				\
-      builtin_define_std ("WIN32");				\
-      builtin_define_std ("WINNT");				\
-    }								\
-  while (0)
-
-/* Override the standard choice of /usr/include as the default prefix
-   to try when searching for header files.  */
-#undef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR "/mingw/include"
-#undef STANDARD_INCLUDE_COMPONENT
-#define STANDARD_INCLUDE_COMPONENT "MINGW"
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT}"
-
-/* For Windows applications, include more libraries, but always include
-   kernel32.  */
-#undef LIB_SPEC
-#define LIB_SPEC "%{pg:-lgmon} %{mwindows:-lgdi32 -lcomdlg32} \
-                  -luser32 -lkernel32 -ladvapi32 -lshell32"
-
-/* Include in the mingw32 libraries with libgcc */
-#undef LINK_SPEC
-#define LINK_SPEC "%{mwindows:--subsystem windows} \
-  %{mconsole:--subsystem console} \
-  %{shared: %{mdll: %eshared and mdll are not compatible}} \
-  %{shared: --shared} %{mdll:--dll} \
-  %{static:-Bstatic} %{!static:-Bdynamic} \
-  %{shared|mdll: -e _DllMainCRTStartup at 12}"
-
-/* Include in the mingw32 libraries with libgcc */
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC \
-  "%{mthreads:-lmingwthrd} -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{shared|mdll:dllcrt2%O%s} \
-  %{!shared:%{!mdll:crt2%O%s}} %{pg:gcrt2%O%s}"
-
-/* Override startfile prefix defaults.  */
-#ifndef STANDARD_STARTFILE_PREFIX_1
-#define STANDARD_STARTFILE_PREFIX_1 "/mingw/lib/"
-#endif
-#ifndef STANDARD_STARTFILE_PREFIX_2
-#define STANDARD_STARTFILE_PREFIX_2 ""
-#endif
-
-/* Output STRING, a string representing a filename, to FILE.
-   We canonicalize it to be in Unix format (backslashes are replaced
-   forward slashes.  */
-#undef OUTPUT_QUOTED_STRING
-#define OUTPUT_QUOTED_STRING(FILE, STRING)               \
-do {						         \
-  char c;					         \
-						         \
-  putc ('\"', asm_file);			         \
-						         \
-  while ((c = *string++) != 0)			         \
-    {						         \
-      if (c == '\\')				         \
-	c = '/';				         \
-						         \
-      if (ISPRINT (c))                                   \
-        {                                                \
-          if (c == '\"')			         \
-	    putc ('\\', asm_file);		         \
-          putc (c, asm_file);			         \
-        }                                                \
-      else                                               \
-        fprintf (asm_file, "\\%03o", (unsigned char) c); \
-    }						         \
-						         \
-  putc ('\"', asm_file);			         \
-} while (0)
-
-/* Define as short unsigned for compatibility with MS runtime.  */
-#undef WINT_TYPE
-#define WINT_TYPE "short unsigned int"
-
-/* mingw32 uses the  -mthreads option to enable thread support.  */
-#undef GOMP_SELF_SPECS
-#define GOMP_SELF_SPECS "%{fopenmp: -mthreads}"

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netbsd-elf.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netbsd-elf.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netbsd-elf.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netbsd-elf.h Thu Aug  2 20:00:37 2007
@@ -1,125 +0,0 @@
-/* Definitions of target machine for GCC,
-   for i386/ELF NetBSD systems.
-   Copyright (C) 2001, 2002, 2004 Free Software Foundation, Inc.
-   Contributed by matthew green <mrg at eterna.com.au>
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      NETBSD_OS_CPP_BUILTINS_ELF();		\
-    }						\
-  while (0)
-
-
-/* Extra specs needed for NetBSD/i386 ELF.  */
-
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS			\
-  { "netbsd_cpp_spec", NETBSD_CPP_SPEC },	\
-  { "netbsd_entry_point", NETBSD_ENTRY_POINT },
-
-
-/* Provide a LINK_SPEC appropriate for a NetBSD/i386 ELF target.  */
-
-#undef LINK_SPEC
-#define LINK_SPEC NETBSD_LINK_SPEC_ELF
-
-#define NETBSD_ENTRY_POINT "__start"
-
-
-/* Provide a CPP_SPEC appropriate for NetBSD.  */
-
-#undef CPP_SPEC
-#define CPP_SPEC "%(netbsd_cpp_spec)"
-
-
-/* Make gcc agree with <machine/ansi.h> */
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-#undef ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
-
-
-/* Output assembler code to FILE to call the profiler.  */
-
-#undef NO_PROFILE_COUNTERS
-#define NO_PROFILE_COUNTERS	1
-
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE, LABELNO)				\
-{									\
-  if (flag_pic)								\
-    fprintf (FILE, "\tcall __mcount at PLT\n");				\
-  else									\
-    fprintf (FILE, "\tcall __mcount\n");				\
-}
-
-
-#undef HAS_INIT_SECTION
-
-/* This is how we tell the assembler that two symbols have the same value.  */
-
-#define ASM_OUTPUT_DEF(FILE,NAME1,NAME2) \
-  do { assemble_name(FILE, NAME1); 	 \
-       fputs(" = ", FILE);		 \
-       assemble_name(FILE, NAME2);	 \
-       fputc('\n', FILE); } while (0)
-
-/* A C statement to output to the stdio stream FILE an assembler
-   command to advance the location counter to a multiple of 1<<LOG
-   bytes if it is within MAX_SKIP bytes.
-
-   This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP)			\
-  if ((LOG) != 0) {							\
-    if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
-    else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
-  }
-#endif
-
-/* We always use gas here, so we don't worry about ECOFF assembler
-   problems.  */
-#undef TARGET_GAS
-#define TARGET_GAS	1
-
-/* Default to pcc-struct-return, because this is the ELF abi and
-   we don't care about compatibility with older gcc versions.  */
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-/* Attempt to enable execute permissions on the stack.  */
-#define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK
-
-#define TARGET_VERSION fprintf (stderr, " (NetBSD/i386 ELF)");

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netbsd.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netbsd.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netbsd.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netbsd.h Thu Aug  2 20:00:37 2007
@@ -1,72 +0,0 @@
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      NETBSD_OS_CPP_BUILTINS_AOUT();		\
-    }						\
-  while (0)
-
-#define TARGET_VERSION fprintf (stderr, " (NetBSD/i386 a.out)");
-
-/* This goes away when the math-emulator is fixed */
-#undef TARGET_SUBTARGET_DEFAULT
-#define TARGET_SUBTARGET_DEFAULT \
-  (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
-
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS			\
-  { "netbsd_cpp_spec", NETBSD_CPP_SPEC },
-
-#undef CPP_SPEC
-#define CPP_SPEC "%(netbsd_cpp_spec)"
-
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-#undef ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-/* Don't default to pcc-struct-return, because gcc is the only compiler, and
-   we want to retain compatibility with older gcc versions.  */
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
-/* i386 netbsd still uses old binutils that don't insert nops by default
-   when the .align directive demands to insert extra space in the text
-   segment.  */
-#undef ASM_OUTPUT_ALIGN
-#define ASM_OUTPUT_ALIGN(FILE,LOG) \
-  if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
-
-/* Profiling routines, partially copied from i386/osfrose.h.  */
-
-/* Redefine this to use %eax instead of %edx.  */
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE, LABELNO)  \
-{									\
-  if (flag_pic)								\
-    {									\
-      fprintf (FILE, "\tcall mcount at PLT\n");				\
-    }									\
-  else									\
-    {									\
-      fprintf (FILE, "\tcall mcount\n");				\
-    }									\
-}
-
-/* Until they use ELF or something that handles dwarf2 unwinds
-   and initialization stuff better.  */
-#define DWARF2_UNWIND_INFO 0
-
-/* Redefine this so that it becomes "_GLOBAL_OFFSET_TABLE_" when the label
-   prefix is added.  */
-#undef GOT_SYMBOL_NAME
-#define GOT_SYMBOL_NAME "GLOBAL_OFFSET_TABLE_"
-
-/* Attempt to enable execute permissions on the stack.  */
-#define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netbsd64.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netbsd64.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netbsd64.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netbsd64.h Thu Aug  2 20:00:37 2007
@@ -1,73 +0,0 @@
-/* Definitions of target machine for GCC,
-   for x86-64/ELF NetBSD systems.
-   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-   Contributed by Wasabi Systems, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      NETBSD_OS_CPP_BUILTINS_ELF();		\
-    }						\
-  while (0)
-
-
-/* Extra specs needed for NetBSD/x86-64 ELF.  */
-
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS			\
-  { "netbsd_cpp_spec", NETBSD_CPP_SPEC },	\
-  { "netbsd_link_spec", NETBSD_LINK_SPEC_ELF },	\
-  { "netbsd_entry_point", NETBSD_ENTRY_POINT },
-
-
-/* Provide a LINK_SPEC appropriate for a NetBSD/x86-64 ELF target.  */
-
-#undef LINK_SPEC
-#define LINK_SPEC \
-  "%{m32:-m elf_i386} \
-   %{m64:-m elf_x86_64} \
-   %(netbsd_link_spec)"
-
-#define NETBSD_ENTRY_POINT "_start"
-
-
-/* Provide a CPP_SPEC appropriate for NetBSD.  */
-
-#undef CPP_SPEC
-#define CPP_SPEC "%(netbsd_cpp_spec)"
-
-
-/* Output assembler code to FILE to call the profiler.  */
-
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE, LABELNO)				\
-{									\
-  if (TARGET_64BIT && flag_pic)						\
-    fprintf (FILE, "\tcall *__mcount at PLT\n");				\
-  else if (flag_pic)							\
-    fprintf (FILE, "\tcall *__mcount at PLT\n");				\
-  else									\
-    fprintf (FILE, "\tcall __mcount\n");				\
-}
-
-/* Attempt to enable execute permissions on the stack.  */
-#define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK
-
-#define TARGET_VERSION fprintf (stderr, " (NetBSD/x86_64 ELF)");

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netware-crt0.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netware-crt0.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netware-crt0.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netware-crt0.c Thu Aug  2 20:00:37 2007
@@ -1,80 +0,0 @@
-/* Startup routines for NetWare.
-   Contributed by Jan Beulich (jbeulich at novell.com)
-   Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include <stddef.h>
-#include <stdint.h>
-#include "unwind-dw2-fde.h"
-
-int __init_environment (void *);
-int __deinit_environment (void *);
-
-
-#define SECTION_DECL(name, decl) decl __attribute__((__section__(name)))
-
-SECTION_DECL(".ctors",   void(*const __CTOR_LIST__)(void))
-  = (void(*)(void))(intptr_t)-1;
-SECTION_DECL(".ctors$_", void(*const __CTOR_END__)(void)) = NULL;
-
-SECTION_DECL(".dtors",   void(*const __DTOR_LIST__)(void))
-  = (void(*)(void))(intptr_t)-1;
-SECTION_DECL(".dtors$_", void(*const __DTOR_END__)(void)) = NULL;
-
-/* No need to use the __[de]register_frame_info_bases functions since
-   for us the bases are NULL always anyway. */
-void __register_frame_info (const void *, struct object *)
-  __attribute__((__weak__));
-void *__deregister_frame_info (const void *) __attribute__((__weak__));
-
-SECTION_DECL(".eh_frame", /*const*/ uint32_t __EH_FRAME_BEGIN__[]) = { };
-SECTION_DECL(".eh_frame$_", /*const*/ uint32_t __EH_FRAME_END__[]) = {0};
-
-int
-__init_environment (void *unused __attribute__((__unused__)))
-{
-  void (* const * pctor)(void);
-  static struct object object;
-
-  if (__register_frame_info)
-    __register_frame_info (__EH_FRAME_BEGIN__, &object);
-
-  for (pctor = &__CTOR_END__ - 1; pctor > &__CTOR_LIST__; --pctor)
-    if (*pctor != NULL)
-      (*pctor)();
-
-  return 0;
-}
-
-int
-__deinit_environment (void *unused __attribute__((__unused__)))
-{
-  /* This should be static to prevent calling the same destructor
-     twice (just in case where we get here multiple times).  */
-  static void (* const * pdtor)(void) = &__DTOR_LIST__ + 1;
-
-  while (pdtor < &__DTOR_END__)
-    if (*pdtor++ != NULL)
-      pdtor[-1] ();
-
-  if (__deregister_frame_info)
-    __deregister_frame_info(__EH_FRAME_BEGIN__);
-
-  return 0;
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.c Thu Aug  2 20:00:37 2007
@@ -1,59 +0,0 @@
-/* Startup code for libgcc_s.nlm, necessary because we can't allow
-   libgcc_s to use libc's malloc & Co., which associate allocations
-   with the NLM owning the current (application) thread.
-   Contributed by Jan Beulich (jbeulich at novell.com)
-   Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include <netware.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <windows.h>
-
-static rtag_t allocRTag;
-
-BOOL
-DllMain (HINSTANCE libraryId __attribute__ ((__unused__)),
-	 DWORD reason, void *hModule)
-{
-  switch (reason)
-    {
-    case DLL_NLM_STARTUP:
-      allocRTag = AllocateResourceTag (hModule,
-				       "libgcc memory", AllocSignature);
-      return allocRTag != NULL;
-    case DLL_NLM_SHUTDOWN:
-      /* This does not recover resources associated with the tag...
-         ReturnResourceTag (allocRTag, 0); */
-      break;
-    }
-  return 1;
-}
-
-void *
-malloc (size_t size)
-{
-  return AllocSleepOK (size, allocRTag, NULL);
-}
-
-void
-free (void *ptr)
-{
-  Free (ptr);
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.def
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.def?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.def (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.def Thu Aug  2 20:00:37 2007
@@ -1,2 +0,0 @@
-description "gcc runtime and intrinsics support"
-copyright "Copyright (C) 1989-2005  Free Software Foundation, Inc."

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.exp?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.exp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netware-libgcc.exp Thu Aug  2 20:00:37 2007
@@ -1,74 +0,0 @@
-# libgcc_s.nlm exports
-	(libgcc2),
-	__absvdi2,
-	__absvsi2,
-	__addvdi3,
-	__addvsi3,
-#	__ashldi3,
-#	__ashrdi3,
-	__clzdi2,
-	__clzsi2,
-	__ctzdi2,
-	__ctzsi2,
-	__deregister_frame,
-	__deregister_frame_info,
-	__deregister_frame_info_bases,
-	__divdc3,
-#	__divdi3,
-	__divsc3,
-#	__divtc3,
-	__divxc3,
-	__ffsdi2,
-	__ffssi2,
-	__fixunsdfdi,
-	__fixunssfdi,
-#	__fixunstfdi,
-	__fixunsxfdi,
-	__gcc_bcmp,
-	__gcc_personality_v0,
-#	__lshrdi3,
-#	__moddi3,
-	__muldc3,
-#	__muldi3,
-	__mulsc3,
-#	__multc3,
-	__mulvdi3,
-	__mulvsi3,
-	__mulxc3,
-	__negvdi2,
-	__negvsi2,
-	__paritydi2,
-	__paritysi2,
-	__popcountdi2,
-	__popcountsi2,
-	__powidf2
-	__powisf2
-#	__powitf2
-	__powixf2
-	__register_frame,
-	__register_frame_info,
-	__register_frame_info_bases,
-	__register_frame_info_table,
-	__register_frame_info_table_bases,
-	__register_frame_table,
-	__subvdi3,
-	__subvsi3,
-#	__umoddi3,
-#	__udivdi3,
-	_Unwind_Backtrace,
-	_Unwind_DeleteException,
-	_Unwind_FindEnclosingFunction,
-	_Unwind_Find_FDE,
-	_Unwind_ForcedUnwind,
-	_Unwind_GetCFA,
-	_Unwind_GetDataRelBase,
-	_Unwind_GetGR,
-	_Unwind_GetIP,
-	_Unwind_GetLanguageSpecificData,
-	_Unwind_GetRegionStart,
-	_Unwind_GetTextRelBase,
-	_Unwind_RaiseException,
-	_Unwind_Resume,
-	_Unwind_Resume_or_Rethrow,
-	_Unwind_SetGR,
-	_Unwind_SetIP

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netware.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netware.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netware.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netware.c Thu Aug  2 20:00:37 2007
@@ -1,194 +0,0 @@
-/* Subroutines for insn-output.c for NetWare.
-   Contributed by Jan Beulich (jbeulich at novell.com)
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "rtl.h"
-#include "regs.h"
-#include "hard-reg-set.h"
-#include "output.h"
-#include "tree.h"
-#include "flags.h"
-#include "tm_p.h"
-#include "toplev.h"
-#include "ggc.h"
-
-
-/* Return string which is the former assembler name modified with an 
-   underscore prefix and a suffix consisting of an atsign (@) followed
-   by the number of bytes of arguments */
-
-static tree
-gen_stdcall_or_fastcall_decoration (tree decl, char prefix)
-{
-  unsigned total = 0;
-  /* ??? This probably should use XSTR (XEXP (DECL_RTL (decl), 0), 0) instead
-     of DECL_ASSEMBLER_NAME.  */
-  const char *asmname = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
-  char *newsym;
-  tree formal_type = TYPE_ARG_TYPES (TREE_TYPE (decl));
-
-  if (formal_type != NULL_TREE)
-    {
-      /* These attributes are ignored for variadic functions in
-	 i386.c:ix86_return_pops_args. For compatibility with MS
-	 compiler do not add @0 suffix here.  */ 
-      if (TREE_VALUE (tree_last (formal_type)) != void_type_node)
-	return NULL_TREE;
-
-      /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
-      while (TREE_VALUE (formal_type) != void_type_node
-	     && COMPLETE_TYPE_P (TREE_VALUE (formal_type)))	
-	{
-	  unsigned parm_size
-	    = TREE_INT_CST_LOW (TYPE_SIZE (TREE_VALUE (formal_type)));
-
-	  /* Must round up to include padding.  This is done the same
-	     way as in store_one_arg.  */
-	  parm_size = ((parm_size + PARM_BOUNDARY - 1)
-		       / PARM_BOUNDARY * PARM_BOUNDARY);
-	  total += parm_size;
-	  formal_type = TREE_CHAIN (formal_type);
-	}
-    }
-
-  newsym = alloca (1 + strlen (asmname) + 1 + 10 + 1);
-  return get_identifier_with_length (newsym,
-				     sprintf (newsym,
-					      "%c%s@%u",
-					      prefix,
-					      asmname,
-					      total / BITS_PER_UNIT));
-}
-
-/* Return string which is the former assembler name modified with an 
-   _n@ prefix where n represents the number of arguments passed in
-   registers */
-
-static tree
-gen_regparm_prefix (tree decl, unsigned nregs)
-{
-  unsigned total = 0;
-  /* ??? This probably should use XSTR (XEXP (DECL_RTL (decl), 0), 0) instead
-     of DECL_ASSEMBLER_NAME.  */
-  const char *asmname = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
-  char *newsym;
-  tree formal_type = TYPE_ARG_TYPES (TREE_TYPE (decl));
-
-  if (formal_type != NULL_TREE)
-    {
-      /* This attribute is ignored for variadic functions.  */ 
-      if (TREE_VALUE (tree_last (formal_type)) != void_type_node)
-	return NULL_TREE;
-
-      /* Quit if we hit an incomplete type.  Error is reported
-	 by convert_arguments in c-typeck.c or cp/typeck.c.  */
-      while (TREE_VALUE (formal_type) != void_type_node
-	     && COMPLETE_TYPE_P (TREE_VALUE (formal_type)))	
-	{
-	  unsigned parm_size
-	    = TREE_INT_CST_LOW (TYPE_SIZE (TREE_VALUE (formal_type)));
-
-	  /* Must round up to include padding.  This is done the same
-	     way as in store_one_arg.  */
-	  parm_size = ((parm_size + PARM_BOUNDARY - 1)
-		       / PARM_BOUNDARY * PARM_BOUNDARY);
-	  total += parm_size;
-	  formal_type = TREE_CHAIN (formal_type);
-	}
-    }
-
-  if (nregs > total / BITS_PER_WORD)
-    nregs = total / BITS_PER_WORD;
-  gcc_assert (nregs <= 9);
-  newsym = alloca (3 + strlen (asmname) + 1);
-  return get_identifier_with_length (newsym,
-				     sprintf (newsym,
-					      "_%u@%s",
-					      nregs,
-					      asmname));
-}
-
-void
-i386_nlm_encode_section_info (tree decl, rtx rtl, int first)
-{
-  default_encode_section_info (decl, rtl, first);
-
-  if (first
-      && TREE_CODE (decl) == FUNCTION_DECL
-      && *IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)) != '*'
-      && !strchr (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)), '@'))
-    {
-      tree type_attributes = TYPE_ATTRIBUTES (TREE_TYPE (decl));
-      tree newid;
-
-      if (lookup_attribute ("stdcall", type_attributes))
-	newid = gen_stdcall_or_fastcall_decoration (decl, '_');
-      else if (lookup_attribute ("fastcall", type_attributes))
-	newid = gen_stdcall_or_fastcall_decoration (decl, FASTCALL_PREFIX);
-      else if ((newid = lookup_attribute ("regparm", type_attributes)) != NULL_TREE)
-	newid = gen_regparm_prefix (decl,
-		      TREE_INT_CST_LOW (TREE_VALUE (TREE_VALUE (newid))));
-      if (newid != NULL_TREE) 	
-	{
-	  rtx rtlname = XEXP (rtl, 0);
-
-	  if (GET_CODE (rtlname) == MEM)
-	    rtlname = XEXP (rtlname, 0);
-	  XSTR (rtlname, 0) = IDENTIFIER_POINTER (newid);
-	  /* These attributes must be present on first declaration,
-	     change_decl_assembler_name will warn if they are added
-	     later and the decl has been referenced, but duplicate_decls
-	     should catch the mismatch before this is called.  */ 
-	  change_decl_assembler_name (decl, newid);
-	}
-    }
-}
-
-/* Strip the stdcall/fastcall/regparm pre-/suffix.  */
-
-const char *
-i386_nlm_strip_name_encoding (const char *str)
-{
-  const char *name = default_strip_name_encoding (str);
-
-  if (*str != '*' && (*name == '_' || *name == '@'))
-    {
-      const char *p = strchr (name + 1, '@');
-
-      if (p)
-	{
-	  ++name;
-	  if (ISDIGIT (p[1]))
-	    name = ggc_alloc_string (name, p - name);
-	  else
-	    {
-	      gcc_assert (ISDIGIT (*name));
-	      name++;
-	      gcc_assert (name == p);
-	    }
-	}
-    }
-  return name;
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/netware.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/netware.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/netware.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/netware.h Thu Aug  2 20:00:37 2007
@@ -1,156 +0,0 @@
-/* Core target definitions for GCC for Intel 80x86 running Netware.
-   and using dwarf for the debugging format.
-   Copyright (C) 1993, 1994, 2004 Free Software Foundation, Inc.
-
-   Written by David V. Henkel-Wallace (gumby at cygnus.com)
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define TARGET_VERSION fprintf (stderr, " (x86 NetWare)");
-
-#undef  CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
-#undef	LIB_SPEC
-#define LIB_SPEC ""
-
-/* Kinda useless, but what the hell */
-#undef	LINK_SPEC
-#define LINK_SPEC "%{h*} %{V} %{v:%{!V:-V}} \
-		   %{b} \
-		   %{Qy:} %{!Qn:-Qy}"
-
-#undef	STARTFILE_SPEC
-#define STARTFILE_SPEC ""
-
-#undef	ENDFILE_SPEC
-#define ENDFILE_SPEC ""
-
-#undef	RELATIVE_PREFIX_NOT_LINKDIR
-#undef	LIBGCC_SPEC
-
-#define TARGET_OS_CPP_BUILTINS()					\
-  do									\
-    {									\
-	builtin_define_std ("IAPX386");					\
-	builtin_define ("_M_IX86=300");					\
-	builtin_define ("__netware__");					\
-	builtin_assert ("system=netware");				\
-	builtin_define ("__ELF__");					\
-	builtin_define ("__cdecl=__attribute__((__cdecl__))");		\
-	builtin_define ("__stdcall=__attribute__((__stdcall__))");	\
-	builtin_define ("__fastcall=__attribute__((__fastcall__))");	\
-	if (!flag_iso)							\
-	  {								\
-	    builtin_define ("_cdecl=__attribute__((__cdecl__))");	\
-	    builtin_define ("_stdcall=__attribute__((__stdcall__))");	\
-	    builtin_define ("_fastcall=__attribute__((__fastcall__))");	\
-	  }								\
-    }									\
-  while (0)
-
-#undef TARGET_CPU_DEFAULT
-#define TARGET_CPU_DEFAULT TARGET_CPU_DEFAULT_pentium4
-
-/* By default, target has a 80387, uses IEEE compatible arithmetic,
-   returns float values in the 387, and uses MSVC bit field layout. */
-#undef TARGET_SUBTARGET_DEFAULT
-#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | \
-	MASK_FLOAT_RETURNS | MASK_ALIGN_DOUBLE | MASK_MS_BITFIELD_LAYOUT)
-
-#undef MATH_LIBRARY
-#define MATH_LIBRARY ""
-
-/* Align doubles and long-longs in structures on qword boundaries.  */
-#undef BIGGEST_FIELD_ALIGNMENT
-#define BIGGEST_FIELD_ALIGNMENT 64
-
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
-/* Implicit arguments pointing to aggregate return values are to be
-   removed by the caller.  */
-#undef KEEP_AGGREGATE_RETURN_POINTER
-#define KEEP_AGGREGATE_RETURN_POINTER 1
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) (svr4_dbx_register_map[n])
-
-/* Enable parsing of #pragma pack(push,<n>) and #pragma pack(pop).  */
-#define HANDLE_PRAGMA_PACK_PUSH_POP
-
-/* Default structure packing is 1-byte. */
-#define TARGET_DEFAULT_PACK_STRUCT 1
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "short unsigned int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 16
-
-#undef WINT_TYPE
-#define WINT_TYPE "int"
-
-/* A C statement (sans semicolon) to output to the stdio stream
-   FILE the assembler definition of uninitialized global DECL named
-   NAME whose size is SIZE bytes and alignment is ALIGN bytes.
-   Try to use asm_output_aligned_bss to implement this macro.  */
-
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-/* Handle special EH pointer encodings.  Absolute, pc-relative, and
-   indirect are handled automatically.  */
-#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
-  do {									\
-    if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel)		\
-      {									\
-        fputs (ASM_LONG, FILE);			\
-        assemble_name (FILE, XSTR (ADDR, 0));				\
-	fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
-        goto DONE;							\
-      }									\
-  } while (0)
-
-/* there is no TLS support in NLMs/on NetWare */
-#undef HAVE_AS_TLS
-
-#define HAS_INIT_SECTION
-#undef  INIT_SECTION_ASM_OP
-
-#define CTOR_LISTS_DEFINED_EXTERNALLY
-
-#undef  READONLY_DATA_SECTION_ASM_OP
-#define READONLY_DATA_SECTION_ASM_OP    ".section\t.rodata"
-
-/* Define this macro if references to a symbol must be treated
-   differently depending on something about the variable or
-   function named by the symbol (such as what section it is in).
-
-   On i386 running NetWare, modify the assembler name with an underscore (_)
-   prefix and a suffix consisting of an atsign (@) followed by a string of
-   digits that represents the number of bytes of arguments passed to the
-   function, if it has the attribute STDCALL. Alternatively, if it has the 
-   REGPARM attribute, prefix it with an underscore (_), a digit representing
-   the number of registers used, and an atsign (@). */
-void i386_nlm_encode_section_info (tree, rtx, int);
-const char *i386_nlm_strip_name_encoding (const char *);
-#undef TARGET_ENCODE_SECTION_INFO
-#define TARGET_ENCODE_SECTION_INFO  i386_nlm_encode_section_info
-#undef  TARGET_STRIP_NAME_ENCODING
-#define TARGET_STRIP_NAME_ENCODING  i386_nlm_strip_name_encoding

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/nto.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/nto.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/nto.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/nto.h Thu Aug  2 20:00:37 2007
@@ -1,96 +0,0 @@
-/* Definitions for Intel 386 running QNX/Neutrino.
-   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef  DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
-
-#undef TARGET_VERSION
-#define TARGET_VERSION	fprintf (stderr, " (QNX/Neutrino/i386 ELF)");
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-        builtin_define_std ("__X86__");		\
-        builtin_define_std ("__QNXNTO__");	\
-        builtin_define_std ("__QNX__");		\
-        builtin_define_std ("__ELF__");		\
-        builtin_define_std ("__LITTLEENDIAN__");\
-        builtin_assert ("system=qnx");		\
-        builtin_assert ("system=qnxnto");	\
-        builtin_assert ("system=nto");		\
-        builtin_assert ("system=unix");		\
-    }						\
-  while (0)
-
-#undef THREAD_MODEL_SPEC
-#define THREAD_MODEL_SPEC "posix"
-
-/* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#ifdef CROSS_DIRECTORY_STRUCTURE
-/* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#define SYSROOT_SUFFIX_SPEC "x86"
-#endif
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC \
-"%{!shared: \
-  %{!symbolic: \
-    %{pg:mcrt1.o%s} \
-    %{!pg:%{p:mcrt1.o%s} \
-    %{!p:crt1.o%s}}}} \
-crti.o%s \
-%{fexceptions: crtbegin.o%s} \
-%{!fexceptions: %R/lib/crtbegin.o}"
-
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "crtend.o%s crtn.o%s"
-
-#undef LINK_SPEC
-#define LINK_SPEC \
-  "%{h*} %{v:-V} \
-   %{b} \
-   %{static:-dn -Bstatic} \
-   %{shared:-G -dy -z text} \
-   %{symbolic:-Bsymbolic -G -dy -z text} \
-   %{G:-G} \
-   %{YP,*} \
-   %{!YP,*:%{p:-Y P,%R/lib} \
-    %{!p:-Y P,%R/lib}} \
-   %{Qy:} %{!Qn:-Qy} \
-   -m i386nto \
-   %{!shared: --dynamic-linker /usr/lib/ldqnx.so.2}"
-
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "long unsigned int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE BITS_PER_WORD
-
-#define NO_IMPLICIT_EXTERN_C 1
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/nwld.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/nwld.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/nwld.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/nwld.c Thu Aug  2 20:00:37 2007
@@ -1,74 +0,0 @@
-/* Subroutines for insn-output.c for NetWare.
-   Contributed by Jan Beulich (jbeulich at novell.com)
-   Copyright (C) 2004 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "rtl.h"
-#include "regs.h"
-#include "hard-reg-set.h"
-#include "output.h"
-#include "tree.h"
-#include "flags.h"
-#include "tm_p.h"
-#include "toplev.h"
-
-void
-nwld_named_section_asm_out_constructor (rtx symbol, int priority)
-{
-#if !SUPPORTS_INIT_PRIORITY
-  const char section[] = ".ctors"TARGET_SUB_SECTION_SEPARATOR;
-#else
-  char section[20];
-
-  sprintf (section,
-	   ".ctors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
-	   /* Invert the numbering so the linker puts us in the proper
-	      order; constructors are run from right to left, and the
-	      linker sorts in increasing order.  */
-	   MAX_INIT_PRIORITY - priority);
-#endif
-
-  switch_to_section (get_section (section, 0, NULL));
-  assemble_align (POINTER_SIZE);
-  assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
-}
-
-void
-nwld_named_section_asm_out_destructor (rtx symbol, int priority)
-{
-#if !SUPPORTS_INIT_PRIORITY
-  const char section[] = ".dtors"TARGET_SUB_SECTION_SEPARATOR;
-#else
-  char section[20];
-
-  sprintf (section, ".dtors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
-	   /* Invert the numbering so the linker puts us in the proper
-	      order; destructors are run from left to right, and the
-	      linker sorts in increasing order.  */
-	   MAX_INIT_PRIORITY - priority);
-#endif
-
-  switch_to_section (get_section (section, 0, NULL));
-  assemble_align (POINTER_SIZE);
-  assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/nwld.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/nwld.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/nwld.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/nwld.h Thu Aug  2 20:00:37 2007
@@ -1,63 +0,0 @@
-/* nwld.h -- defines to be used when targeting GCC for some generic NetWare
-   system while using the Novell linker.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-
-   Written by Jan Beulich (jbeulich at novell.com)
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef	LIB_SPEC
-#define LIB_SPEC "-lc --def-file libc.def%s"
-
-#undef	LIBGCC_SPEC
-#define LIBGCC_SPEC "-lgcc %{!static-libgcc:--def-file libgcc.def%s}"
-
-#undef  LINKER_NAME
-#define LINKER_NAME "nwld"
-
-#undef  LINK_SPEC
-#define LINK_SPEC "--format:NLM --extensions:GNU" \
-	" %{static:%{!nostdlib:%{!nodefaultlib:%eStatic linking is not supported.\n}}}"
-
-#undef  LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "%L %G"
-
-/* In order to permit the linker to derive the output filename from the first
-   input file, put the common startup code as the last object. */
-#undef	STARTFILE_SPEC
-#define STARTFILE_SPEC ""
-
-#undef	ENDFILE_SPEC
-#define ENDFILE_SPEC "crt0%O%s ../imports/%{!posix:libc}%{posix:posix}pre.gcc%O%s" \
-	" --def-file %{!posix:libc}%{posix:posix}pre.def%s"
-
-#define DRIVER_SELF_SPECS "%{!static-libgcc:-shared-libgcc}"
-
-#define TARGET_SUB_SECTION_SEPARATOR "$"
-
-void nwld_named_section_asm_out_constructor (rtx, int);
-void nwld_named_section_asm_out_destructor (rtx, int);
-
-#define TARGET_ASM_CONSTRUCTOR nwld_named_section_asm_out_constructor
-#define TARGET_ASM_DESTRUCTOR  nwld_named_section_asm_out_destructor
-
-#undef  EH_FRAME_SECTION_NAME
-#define EH_FRAME_SECTION_NAME ".eh_frame"TARGET_SUB_SECTION_SEPARATOR
-
-/* nwld does not currently support stabs debug info */
-#undef DBX_DEBUGGING_INFO

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/openbsd.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/openbsd.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/openbsd.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/openbsd.h Thu Aug  2 20:00:37 2007
@@ -1,102 +0,0 @@
-/* Configuration for an OpenBSD i386 target.
-   Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#define TARGET_VERSION fprintf (stderr, " (OpenBSD/i386)");
-
-/* This goes away when the math-emulator is fixed */
-#undef TARGET_SUBTARGET_DEFAULT
-#define TARGET_SUBTARGET_DEFAULT \
-  (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-	builtin_define ("__unix__");		\
-	builtin_define ("__OpenBSD__");		\
-	builtin_assert ("system=unix");		\
-	builtin_assert ("system=bsd");		\
-	builtin_assert ("system=OpenBSD");	\
-    }						\
-  while (0)
-
-/* Layout of source language data types.  */
-
-/* This must agree with <machine/ansi.h> */
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-/* Assembler format: overall framework.  */
-
-#undef ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-#undef ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-/* Stack & calling: aggregate returns.  */
-
-/* Don't default to pcc-struct-return, because gcc is the only compiler, and
-   we want to retain compatibility with older gcc versions.  */
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
-/* Assembler format: alignment output.  */
-
-/* Kludgy test: when gas is upgraded, it will have p2align, and no problems
-   with nops.  */
-#ifndef HAVE_GAS_MAX_SKIP_P2ALIGN
-/* i386 OpenBSD still uses an older gas that doesn't insert nops by default
-   when the .align directive demands to insert extra space in the text
-   segment.  */
-#undef ASM_OUTPUT_ALIGN
-#define ASM_OUTPUT_ALIGN(FILE,LOG) \
-  if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
-#endif
-
-/* Stack & calling: profiling.  */
-
-/* OpenBSD's profiler recovers all information from the stack pointer.
-   The icky part is not here, but in machine/profile.h.  */
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE, LABELNO)  \
-  fputs (flag_pic ? "\tcall mcount at PLT\n": "\tcall mcount\n", FILE);
-
-/* Assembler format: exception region output.  */
-
-/* All configurations that don't use elf must be explicit about not using
-   dwarf unwind information.  */
-#define DWARF2_UNWIND_INFO 0
-
-#undef ASM_PREFERRED_EH_DATA_FORMAT
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START ";#"
-
-/* OpenBSD gas currently does not support quad, so do not use it.  */
-#undef ASM_QUAD

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/openbsdelf.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/openbsdelf.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/openbsdelf.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/openbsdelf.h Thu Aug  2 20:00:37 2007
@@ -1,132 +0,0 @@
-/* Configuration for an OpenBSD i386 target.
-   
-   Copyright (C) 2005 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
-   libraries compiled with the native cc, so undef it. */
-#undef NO_DOLLAR_IN_LABEL
-
-/* Override the default comment-starter of "/".  */
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
-
-/* This goes away when the math-emulator is fixed */
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT \
-  (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
-
-/* Run-time target specifications */
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-    	OPENBSD_OS_CPP_BUILTINS();		\
-    }						\
-  while (0)
-
-/* As an elf system, we need crtbegin/crtend stuff.  */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "\
-	%{!shared: %{pg:gcrt0%O%s} %{!pg:%{p:gcrt0%O%s} %{!p:crt0%O%s}} \
-	crtbegin%O%s} %{shared:crtbeginS%O%s}"
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
-
-/* Layout of source language data types.  */
-
-/* This must agree with <machine/ansi.h> */
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE BITS_PER_WORD
-
-/* Assembler format: overall framework.  */
-
-#undef ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-#undef ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-#undef SET_ASM_OP
-#define SET_ASM_OP	"\t.set\t"
-
-/* The following macros were originally stolen from i386v4.h.
-   These have to be defined to get PIC code correct.  */
-
-/* Assembler format: dispatch tables.  */
-
-/* Assembler format: sections.  */
-
-/* Stack & calling: aggregate returns.  */
-
-/* Don't default to pcc-struct-return, because gcc is the only compiler, and
-   we want to retain compatibility with older gcc versions.  */
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
-/* Assembler format: alignment output.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
-  if ((LOG) != 0) {\
-    if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
-    else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
-  }
-#endif
-
-/* Stack & calling: profiling.  */
-
-/* OpenBSD's profiler recovers all information from the stack pointer.
-   The icky part is not here, but in machine/profile.h.  */
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE, LABELNO)  \
-  fputs (flag_pic ? "\tcall __mcount at PLT\n": "\tcall __mcount\n", FILE);
-
-/* Assembler format: exception region output.  */
-
-/* our configuration still doesn't handle dwarf2 correctly */
-#define DWARF2_UNWIND_INFO 0
-
-/* Assembler format: alignment output.  */
-
-/* Note that we pick up ASM_OUTPUT_MAX_SKIP_ALIGN from i386/gas.h */
-
-/* Note that we pick up ASM_OUTPUT_MI_THUNK from unix.h.  */
-
-#undef LINK_SPEC
-#define LINK_SPEC \
-  "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
-   %{shared:-shared} %{R*} \
-   %{static:-Bstatic} \
-   %{!static:-Bdynamic} \
-   %{assert*} \
-   %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"
-
-#define OBSD_HAS_CORRECT_SPECS

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/pmm_malloc.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/pmm_malloc.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/pmm_malloc.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/pmm_malloc.h Thu Aug  2 20:00:37 2007
@@ -1,60 +0,0 @@
-/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   GCC is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to
-   the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-/* As a special exception, if you include this header file into source
-   files compiled by GCC, this header file does not by itself 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 _MM_MALLOC_H_INCLUDED
-#define _MM_MALLOC_H_INCLUDED
-
-#include <stdlib.h>
-
-/* We can't depend on <stdlib.h> since the prototype of posix_memalign
-   may not be visible.  */
-#ifndef __cplusplus
-extern int posix_memalign (void **, size_t, size_t);
-#else
-extern "C" int posix_memalign (void **, size_t, size_t) throw ();
-#endif
-
-static __inline void *
-_mm_malloc (size_t size, size_t alignment)
-{
-  void *ptr;
-  if (alignment == 1)
-    return malloc (size);
-  if (alignment == 2 || (sizeof (void *) == 8 && alignment == 4))
-    alignment = sizeof (void *);
-  if (posix_memalign (&ptr, alignment, size) == 0)
-    return ptr;
-  else
-    return NULL;
-}
-
-static __inline void
-_mm_free (void * ptr)
-{
-  free (ptr);
-}
-
-#endif /* _MM_MALLOC_H_INCLUDED */

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/ppro.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/ppro.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/ppro.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/ppro.md Thu Aug  2 20:00:37 2007
@@ -136,7 +136,6 @@
 ;; executed in the core.  So we just model that they can only be decoded
 ;; on decoder 0, and say that it takes a little while before the result
 ;; is available.
-; APPLE LOCAL begin mainline 2006-04-19 4434601
 (define_insn_reservation "ppro_complex_insn" 6
 			 (and (eq_attr "cpu" "pentiumpro,generic32")
 			      (eq_attr "type" "other,multi,call,callv,str"))
@@ -762,4 +761,3 @@
 			      (and (eq_attr "memory" "both")
 				   (eq_attr "type" "alu,alu1,negnot,incdec,icmp,test,setcc,icmov,push,pop,fxch,sseiadd,sseishft,sseimul,mmx,mmxadd,mmxcmp")))
 			 "decoder0,p2+(p0|p1),p4+p3")
-; APPLE LOCAL end mainline 2006-04-19 4434601

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/predicates.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/predicates.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/predicates.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/predicates.md Thu Aug  2 20:00:37 2007
@@ -631,7 +631,6 @@
 })
 
 ;; True if this is a constant appropriate for an increment or decrement.
-; APPLE LOCAL begin mainline 2006-04-19 4434601
 (define_predicate "incdec_operand"
   (match_code "const_int")
 {
@@ -641,7 +640,6 @@
     return 0;
   return op == const1_rtx || op == constm1_rtx;
 })
-; APPLE LOCAL end mainline 2006-04-19 4434601
 
 ;; True for registers, or 1 or -1.  Used to optimize double-word shifts.
 (define_predicate "reg_or_pm1_operand"

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/ptx4-i.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/ptx4-i.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/ptx4-i.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/ptx4-i.h Thu Aug  2 20:00:37 2007
@@ -1,97 +0,0 @@
-/* Target definitions for GCC for Intel 80386 running Dynix/ptx v4
-   Copyright (C) 1996, 2002 Free Software Foundation, Inc.
-
-   Modified from sysv4.h
-   Originally written by Ron Guilmette (rfg at netcom.com).
-   Modified by Tim Wright (timw at sequent.com).
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#define TARGET_VERSION fprintf (stderr, " (i386 Sequent Dynix/ptx Version 4)");
-
-/* The svr4 ABI for the i386 says that records and unions are returned
-   in memory.  */
-
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) \
-  (TYPE_MODE (TYPE) == BLKmode \
-   || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-	builtin_define_std ("unix");		\
-	builtin_define ("_SEQUENT_");		\
-	builtin_assert ("system=unix");		\
-	builtin_assert ("system=ptx4");		\
-    }						\
-  while (0)
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
-
-/* The routine used to output sequences of byte values.  We use a special
-   version of this for most svr4 targets because doing so makes the
-   generated assembly code more compact (and thus faster to assemble)
-   as well as more readable.  Note that if we find subparts of the
-   character sequence which end with NUL (and which are shorter than
-   STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING.  */
-
-#undef ASM_OUTPUT_ASCII
-#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)				\
-  do									\
-    {									\
-      const unsigned char *_ascii_bytes =				\
-        (const unsigned char *) (STR);					\
-      const unsigned char *limit = _ascii_bytes + (LENGTH);		\
-      unsigned bytes_in_chunk = 0;					\
-      for (; _ascii_bytes < limit; _ascii_bytes++)			\
-        {								\
-	  const unsigned char *p;					\
-	  if (bytes_in_chunk >= 64)					\
-	    {								\
-	      fputc ('\n', (FILE));					\
-	      bytes_in_chunk = 0;					\
-	    }								\
-	  for (p = _ascii_bytes; p < limit && *p != '\0'; p++)		\
-	    continue;							\
-	  if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT)	\
-	    {								\
-	      if (bytes_in_chunk > 0)					\
-		{							\
-		  fputc ('\n', (FILE));					\
-		  bytes_in_chunk = 0;					\
-		}							\
-	      ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes);		\
-	      _ascii_bytes = p;						\
-	    }								\
-	  else								\
-	    {								\
-	      if (bytes_in_chunk == 0)					\
-		fprintf ((FILE), "\t.byte\t");				\
-	      else							\
-		fputc (',', (FILE));					\
-	      fprintf ((FILE), "0x%02x", *_ascii_bytes);		\
-	      bytes_in_chunk += 5;					\
-	    }								\
-	}								\
-      if (bytes_in_chunk > 0)						\
-        fprintf ((FILE), "\n");						\
-    }									\
-  while (0)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/rtemself.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/rtemself.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/rtemself.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/rtemself.h Thu Aug  2 20:00:37 2007
@@ -1,33 +0,0 @@
-/* Definitions for rtems targeting an ix86 using ELF.
-   Copyright (C) 1996, 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
-   Contributed by Joel Sherrill (joel at OARcorp.com).
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Specify predefined symbols in preprocessor.  */
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-	builtin_define ("__rtems__");		\
-	builtin_define ("__USE_INIT_FINI__");	\
-	builtin_assert ("system=rtems");	\
-	if (!TARGET_80387)			\
-	  builtin_define ("_SOFT_FLOAT");	\
-    }						\
-  while (0)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sco5.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sco5.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sco5.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sco5.h Thu Aug  2 20:00:37 2007
@@ -1,311 +0,0 @@
-/* Definitions for Intel 386 running SCO Unix System V 3.2 Version 5.
-   Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004
-   Free Software Foundation, Inc.
-   Contributed by Kean Johnston (jkj at sco.com)
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (i386, SCO OpenServer 5 Syntax)");
-
-#undef ASM_QUAD
-
-#undef GLOBAL_ASM_OP
-#define GLOBAL_ASM_OP			"\t.globl\t"
-
-#undef BSS_SECTION_ASM_OP
-#define BSS_SECTION_ASM_OP		"\t.section\t.bss, \"aw\", @nobits"
-  
-/*
- * NOTE: We really do want CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP.
- * Here's the reason why. If we dont define them, and we dont define them
- * to always emit to the same section, the default is to emit to "named"
- * ctors and dtors sections. This would be great if we could use GNU ld,
- * but we can't. The native linker could possibly be trained to coalesce
- * named ctors sections, but that hasn't been done either. So if we don't
- * define these, many C++ ctors and dtors dont get run, because they never
- * wind up in the ctors/dtors arrays.
- */
-#define CTORS_SECTION_ASM_OP		"\t.section\t.ctors, \"aw\""
-#define DTORS_SECTION_ASM_OP		"\t.section\t.dtors, \"aw\""
-
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
-#undef X86_FILE_START_VERSION_DIRECTIVE
-#define X86_FILE_START_VERSION_DIRECTIVE true
-
-/* A C statement (sans semicolon) to output to the stdio stream
-   FILE the assembler definition of uninitialized global DECL named
-   NAME whose size is SIZE bytes and alignment is ALIGN bytes.
-   Try to use asm_output_aligned_bss to implement this macro.  */
-
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n)	svr4_dbx_register_map[n]
-
-#define DWARF2_DEBUGGING_INFO		1
-#define DBX_DEBUGGING_INFO		1
-
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE	DWARF2_DEBUG
-
-#undef DWARF2_UNWIND_INFO
-#define DWARF2_UNWIND_INFO		1
-
-#undef NO_IMPLICIT_EXTERN_C
-#define NO_IMPLICIT_EXTERN_C		1
-
-#undef SWITCH_TAKES_ARG
-#define SWITCH_TAKES_ARG(CHAR) 						\
-  (DEFAULT_SWITCH_TAKES_ARG(CHAR)					\
-   || (CHAR) == 'h' 							\
-   || (CHAR) == 'R' 							\
-   || (CHAR) == 'Y' 							\
-   || (CHAR) == 'z')
-
-#undef WORD_SWITCH_TAKES_ARG
-#define WORD_SWITCH_TAKES_ARG(STR)					\
- (DEFAULT_WORD_SWITCH_TAKES_ARG (STR)					\
-  && strcmp (STR, "Tdata") && strcmp (STR, "Ttext")			\
-  && strcmp (STR, "Tbss"))
-
-#undef TARGET_SUBTARGET_DEFAULT
-#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS)
-
-/*
- * Define sizes and types
- */
-#undef SIZE_TYPE
-#undef PTRDIFF_TYPE
-#undef WCHAR_TYPE
-#undef WCHAR_TYPE_SIZE
-#undef WINT_TYPE
-#define SIZE_TYPE		"unsigned int"
-#define PTRDIFF_TYPE		"int"
-#define WCHAR_TYPE		"long int"
-#define WCHAR_TYPE_SIZE		BITS_PER_WORD
-#define WINT_TYPE		"long int"
-
-/*
- * New for multilib support. Set the default switches for multilib,
- * which is -melf.
- */
-#define MULTILIB_DEFAULTS { "melf" }
-
-
-/* Please note that these specs may look messy but they are required in
-   order to emulate the SCO Development system as closely as possible.
-   With SCO Open Server 5.0, you now get the linker and assembler free,
-   so that is what these specs are targeted for. These utilities are
-   very argument sensitive: a space in the wrong place breaks everything.
-   So please forgive this mess. It works.
-
-   Parameters which can be passed to gcc, and their SCO equivalents:
-   GCC Parameter                SCO Equivalent
-   -ansi                        -a ansi
-   -posix                       -a posix
-   -Xpg4                        -a xpg4
-   -Xpg4plus                    -a xpg4plus
-   -Xods30                      -a ods30
-
-   As with SCO, the default is XPG4 plus mode. SCO also allows you to
-   specify a C dialect with -Xt, -Xa, -Xc, -Xk and -Xm. These are passed
-   on to the assembler and linker in the same way that the SCO compiler
-   does.
-
-   SCO also allows you to compile, link and generate either ELF or COFF
-   binaries. With gcc, we now only support ELF mode.
-
-   GCC also requires that the user has installed OSS646, the Execution
-   Environment Update, or is running release 5.0.7 or later. This has
-   many fixes to the ELF link editor and assembler, and a considerably
-   improved libc and RTLD.
-
-   In terms of tool usage, we want to use the standard link editor always,
-   and either the GNU assembler or the native assembler. With OSS646 the
-   native assembler has grown up quite a bit. Some of the specs below
-   assume that /usr/gnu is the prefix for the GNU tools, because thats
-   where the SCO provided ones go. This is especially important for
-   include and library search path ordering. We want to look in /usr/gnu
-   first because frequently people are linking against -lintl, and they
-   MEAN to link with gettext. What they get is the SCO intl library. Its
-   a REAL pity that GNU gettext chose that name; perhaps in a future
-   version they can be persuaded to change it to -lgnuintl and have a
-   link so that -lintl will work for other systems. The same goes for
-   header files. We want /usr/gnu/include searched for before the system
-   header files. Hence the -isystem /usr/gnu/include in the CPP_SPEC.
-   We get /usr/gnu/lib first by virtue of the MD_STARTFILE_PREFIX below.
-*/
-
-#define MD_STARTFILE_PREFIX	"/usr/gnu/lib/"
-#define MD_STARTFILE_PREFIX_1	"/usr/ccs/lib/"
-
-#if USE_GAS
-# define MD_EXEC_PREFIX		"/usr/gnu/bin/"
-#else
-# define MD_EXEC_PREFIX		"/usr/ccs/bin/elf/"
-#endif
-
-/* Always use the system linker, please.  */
-#ifndef DEFAULT_LINKER
-# define DEFAULT_LINKER		"/usr/ccs/bin/elf/ld"
-#endif
-
-/* Set up assembler flags for PIC and ELF compilations */
-#undef ASM_SPEC
-
-#if USE_GAS
-  /* Leave ASM_SPEC undefined so we pick up the master copy from gcc.c  */
-#else
-#define ASM_SPEC \
-   "%{Ym,*} %{Yd,*} %{Wa,*:%*} \
-    -E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}"
-#endif
-
-/*
- * Use crti.o for shared objects, crt1.o for normal executables. Make sure
- * to recognize both -G and -shared as a valid way of introducing shared
- * library generation. This is important for backwards compatibility.
- */
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC \
- "%{pg:%e-pg not supported on this platform} \
-  %{p:%{pp:%e-p and -pp specified - pick one}} \
- %{!shared:\
-   %{!symbolic: \
-    %{!G: \
-     %{pp:pcrt1elf.o%s}%{p:mcrt1.o%s}%{!p:%{!pp:crt1.o%s}}}}} \
-  crti.o%s \
-  %{ansi:values-Xc.o%s} \
-  %{!ansi: \
-   %{traditional:values-Xt.o%s} \
-    %{!traditional: \
-     %{Xa:values-Xa.o%s} \
-      %{!Xa:%{Xc:values-Xc.o%s} \
-       %{!Xc:%{Xk:values-Xk.o%s} \
-        %{!Xk:%{Xt:values-Xt.o%s} \
-         %{!Xt:values-Xa.o%s}}}}}} \
-  crtbegin.o%s"
-
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC \
- "crtend.o%s crtn.o%s"
-
-#define TARGET_OS_CPP_BUILTINS()				\
-  do								\
-    {								\
-	builtin_define ("__unix");				\
-	builtin_define ("_SCO_DS");				\
-	builtin_define ("_SCO_DS_LL");				\
-	builtin_define ("_SCO_ELF");				\
-	builtin_define ("_M_I386");				\
-	builtin_define ("_M_XENIX");				\
-	builtin_define ("_M_UNIX");				\
-	builtin_assert ("system=svr3");				\
-	if (flag_iso)						\
-	  cpp_define (pfile, "_STRICT_ANSI");			\
-    }								\
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "\
-  -isystem /usr/gnu/include \
-  %{!Xods30:-D_STRICT_NAMES} \
-  %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \
-  %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \
-  %{!ansi: \
-   %{posix:-isystem include/posix%s -isystem /usr/include/posix \
-           -D_POSIX_C_SOURCE=2 -D_POSIX_SOURCE=1} \
-    %{!posix:%{Xpg4:-isystem include/xpg4%s -isystem /usr/include/xpg4 \
-                    -D_XOPEN_SOURCE=1} \
-     %{!Xpg4:-D_M_I86 -D_M_I86SM -D_M_INTERNAT -D_M_SDATA -D_M_STEXT \
-             -D_M_BITFIELDS -D_M_SYS5 -D_M_SYSV -D_M_SYSIII \
-             -D_M_WORDSWAP -Dunix -DM_I386 -DM_UNIX -DM_XENIX \
-             %{Xods30:-isystem include/ods_30_compat%s \
-                      -isystem /usr/include/ods_30_compat \
-                      -D_SCO_ODS_30 -DM_I86 -DM_I86SM -DM_SDATA -DM_STEXT \
-                      -DM_BITFIELDS -DM_SYS5 -DM_SYSV -DM_INTERNAT -DM_SYSIII \
-                      -DM_WORDSWAP}}}} \
-  %{scointl:-DM_INTERNAT -D_M_INTERNAT} \
-  %{Xa:-D_SCO_C_DIALECT=1} \
-  %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \
-   %{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \
-    %{!Xk:%{Xt:-D_SCO_C_DIALECT=2} \
-     %{!Xt:-D_SCO_C_DIALECT=1}}}}"
-
-#undef LINK_SPEC
-#define LINK_SPEC \
- "%{!shared:%{!symbolic:%{!G:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF}}} \
-  %{YP,*} %{YL,*} %{YU,*} \
-  %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \
-   %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \
-  %{h*} %{static:-dn -Bstatic %{G:%e-G and -static are mutually exclusive}} \
-  %{shared:%{!G:-G}} %{G:%{!shared:-G}} %{shared:%{G:-G}} \
-  %{shared:-dy %{symbolic:-Bsymbolic -G} %{z*}} %{R*} %{Y*} \
-  %{Qn:} %{!Qy:-Qn} -z alt_resolve"
-
-/* Library spec. If we are not building a shared library, provide the
-   standard libraries, as per the SCO compiler.  */
-
-#undef LIB_SPEC
-#define LIB_SPEC \
- "%{shared:%{!G:pic/libgcc.a%s}} \
-  %{G:%{!shared:pic/libgcc.a%s}} \
-  %{shared:%{G:pic/libgcc.a%s}} \
-  %{p:%{!pp:-lelfprof -lelf}} %{pp:%{!p:-lelfprof -lelf}} \
-  %{!shared:%{!symbolic:%{!G:-lcrypt -lgen -lc}}}"
-
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC \
- "%{!shared:%{!G:-lgcc}}"
-
-/* Handle special EH pointer encodings.  Absolute, pc-relative, and
-   indirect are handled automatically.  */
-#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
-  do {									\
-    if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel)		\
-      {									\
-        fputs (ASM_LONG, FILE);						\
-        assemble_name (FILE, XSTR (ADDR, 0));				\
-	fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
-        goto DONE;							\
-      }									\
-  } while (0)
-
-/* Used by crtstuff.c to initialize the base of data-relative relocations.
-   These are GOT relative on x86, so return the pic register.  */
-#ifdef __PIC__
-#define CRT_GET_RFIB_DATA(BASE)			\
-  {						\
-    register void *ebx_ __asm__("ebx");		\
-    BASE = ebx_;				\
-  }
-#else
-#define CRT_GET_RFIB_DATA(BASE)						\
-  __asm__ ("call\t.LPR%=\n"						\
-	   ".LPR%=:\n\t"						\
-	   "popl\t%0\n\t"						\
-	   /* Due to a GAS bug, this cannot use EAX.  That encodes	\
-	      smaller than the traditional EBX, which results in the	\
-	      offset being off by one.  */				\
-	   "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"			\
-	   : "=d"(BASE))
-#endif
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sco5.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sco5.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sco5.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sco5.opt Thu Aug  2 20:00:37 2007
@@ -1,25 +0,0 @@
-; SCO Unix-specific options.
-
-; Copyright (C) 2005 Free Software Foundation, Inc.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-; WARRANTY; without even the implied warranty of MERCHANTABILITY or
-; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-; for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-;; Legacy option
-melf
-Target RejectNegative
-Generate ELF output

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sol2-10.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sol2-10.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sol2-10.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sol2-10.h Thu Aug  2 20:00:37 2007
@@ -1,114 +0,0 @@
-/* Solaris 10 configuration.
-   Copyright (C) 2004 Free Software Foundation, Inc.
-   Contributed by CodeSourcery, LLC.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "/"
-
-/* binutils' GNU as understands --32 and --64, but the native Solaris
-   assembler requires -xarch=generic or -xarch=generic64 instead.  */
-#undef ASM_SPEC
-#ifdef USE_GAS
-#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} " \
-		 "%{Wa,*:%*} %{m32:--32} %{m64:--64} -s %(asm_cpu)"
-#else
-#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} " \
-		 "%{Wa,*:%*} %{m32:-xarch=generic} %{m64:-xarch=generic64} " \
-		 "-s %(asm_cpu)"
-#endif
-
-#undef NO_PROFILE_COUNTERS
-
-#undef MCOUNT_NAME
-#define MCOUNT_NAME "_mcount"
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE (TARGET_64BIT ? "int" : "long int")
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-#undef WINT_TYPE
-#define WINT_TYPE (TARGET_64BIT ? "int" : "long int")
-#undef WINT_TYPE_SIZE
-#define WINT_TYPE_SIZE 32
-
-#define SUBTARGET_OVERRIDE_OPTIONS				\
-  do								\
-    {								\
-      if (flag_omit_frame_pointer == 2)				\
-	flag_omit_frame_pointer = 0;				\
-    }								\
-  while (0)
-
-#undef TARGET_SUBTARGET_DEFAULT
-#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP	\
-				  | MASK_FLOAT_RETURNS)
-
-#define SUBTARGET_OPTIMIZATION_OPTIONS			\
-  do							\
-    {							\
-      if (optimize >= 1)				\
-	target_flags |= MASK_OMIT_LEAF_FRAME_POINTER;	\
-    }							\
-  while (0)
-
-#define MULTILIB_DEFAULTS { "m32" }
-
-#undef LINK_ARCH64_SPEC_BASE
-#define LINK_ARCH64_SPEC_BASE \
-  "%{G:-G} \
-   %{YP,*} \
-   %{R*} \
-   %{compat-bsd: \
-     %{!YP,*:%{p|pg:-Y P,/usr/ucblib/64:/usr/lib/libp/64:/lib/64:/usr/lib/64} \
-             %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib:/usr/lib/64}}} \
-             -R /usr/ucblib/64} \
-   %{!compat-bsd: \
-     %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/64:/lib/64:/usr/lib/64} \
-             %{!p:%{!pg:-Y P,/lib/64:/usr/lib/64}}}}"
-
-#undef LINK_ARCH64_SPEC
-#define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE
-
-#ifdef TARGET_GNU_LD
-#define TARGET_LD_EMULATION "%{m64:-m elf_x86_64}%{!m64:-m elf_i386} "
-#else
-#define TARGET_LD_EMULATION ""
-#endif
-
-#undef LINK_ARCH_SPEC
-#define LINK_ARCH_SPEC TARGET_LD_EMULATION \
-		       "%{m64:" LINK_ARCH64_SPEC "}%{!m64:" LINK_ARCH32_SPEC "}"
-
-/* We do not need to search a special directory for startup files.  */
-#undef MD_STARTFILE_PREFIX
-
-#undef TARGET_ASM_NAMED_SECTION
-#define TARGET_ASM_NAMED_SECTION i386_solaris_elf_named_section
-
-/* In 32-bit mode, follow the SVR4 ABI definition; in 64-bit mode, use
-   the AMD64 ABI definition.  */
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE)			\
-  (TARGET_64BIT 				\
-   ? ix86_return_in_memory (TYPE)		\
-   : (TYPE_MODE (TYPE) == BLKmode		\
-      || (VECTOR_MODE_P (TYPE_MODE (TYPE)) 	\
-	  && int_size_in_bytes (TYPE) == 8)))

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sol2-c1.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sol2-c1.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sol2-c1.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sol2-c1.asm Thu Aug  2 20:00:37 2007
@@ -1,162 +0,0 @@
-! crt1.s for Solaris 2, x86
-
-!   Copyright (C) 1993, 1998 Free Software Foundation, Inc.
-!   Written By Fred Fish, Nov 1992
-! 
-! This file 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.
-! 
-! In addition to the permissions in the GNU General Public License, the
-! Free Software Foundation gives you unlimited permission to link the
-! compiled version of this file with other programs, and to distribute
-! those programs without any restriction coming from the use of this
-! file.  (The General Public License restrictions do apply in other
-! respects; for example, they cover modification of the file, and
-! distribution when not linked into another program.)
-! 
-! This file 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; see the file COPYING.  If not, write to
-! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-! Boston, MA 02110-1301, USA.
-! 
-!    As a special exception, if you link this library with files
-!    compiled with GCC 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.
-! 
-
-! This file takes control of the process from the kernel, as specified
-! in section 3 of the System V Application Binary Interface, Intel386
-! Processor Supplement.  It has been constructed from information obtained
-! from the ABI, information obtained from single stepping existing
-! Solaris executables through their startup code with gdb, and from
-! information obtained by single stepping executables on other i386 SVR4
-! implementations.  This file is the first thing linked into any executable.
-
-	.file	"crt1.s"
-	.ident	"GNU C crt1.s"
-	.weak	_cleanup
-	.weak	_DYNAMIC
-	.text
-
-! Start creating the initial frame by pushing a NULL value for the return
-! address of the initial frame, and mark the end of the stack frame chain
-! (the innermost stack frame) with a NULL value, per page 3-32 of the ABI.
-! Initialize the first stack frame pointer in %ebp (the contents of which
-! are unspecified at process initialization).
-
-	.globl	_start
-_start:
-	pushl	$0x0
-	pushl	$0x0
-	movl	%esp,%ebp
-
-! As specified per page 3-32 of the ABI, %edx contains a function 
-! pointer that should be registered with atexit(), for proper
-! shared object termination.  Just push it onto the stack for now
-! to preserve it.  We want to register _cleanup() first.
-
-	pushl	%edx
-
-! Check to see if there is an _cleanup() function linked in, and if
-! so, register it with atexit() as the last thing to be run by
-! atexit().
-
-	movl	$_cleanup,%eax
-	testl	%eax,%eax
-	je	.L1
-	pushl	$_cleanup
-	call	atexit
-	addl	$0x4,%esp
-.L1:
-
-! Now check to see if we have an _DYNAMIC table, and if so then
-! we need to register the function pointer previously in %edx, but
-! now conveniently saved on the stack as the argument to pass to
-! atexit().
-
-	movl	$_DYNAMIC,%eax
-	testl	%eax,%eax
-	je	.L2
-	call	atexit
-.L2:
-
-! Register _fini() with atexit().  We will take care of calling _init()
-! directly.
-
-	pushl	$_fini
-	call	atexit
-
-! Compute the address of the environment vector on the stack and load
-! it into the global variable _environ.  Currently argc is at 8 off
-! the frame pointer.  Fetch the argument count into %eax, scale by the
-! size of each arg (4 bytes) and compute the address of the environment
-! vector which is 16 bytes (the two zero words we pushed, plus argc,
-! plus the null word terminating the arg vector) further up the stack,
-! off the frame pointer (whew!).
-
-	movl	8(%ebp),%eax
-	leal	16(%ebp,%eax,4),%edx
-	movl	%edx,_environ
-
-! Push the environment vector pointer, the argument vector pointer,
-! and the argument count on to the stack to set up the arguments
-! for _init(), _fpstart(), and main().  Note that the environment
-! vector pointer and the arg count were previously loaded into
-! %edx and %eax respectively.  The only new value we need to compute
-! is the argument vector pointer, which is at a fixed address off
-! the initial frame pointer.
-
-!
-! Make sure the stack is properly aligned.
-!
-	andl $0xfffffff0,%esp
-	subl $4,%esp
-	
-	pushl	%edx
-	leal	12(%ebp),%edx
-	pushl	%edx
-	pushl	%eax
-
-! Call _init(argc, argv, environ), _fpstart(argc, argv, environ), and
-! main(argc, argv, environ).
-
-	call	_init
-	call	__fpstart
-	call	main
-
-! Pop the argc, argv, and environ arguments off the stack, push the
-! value returned from main(), and call exit().
-
-	addl	$12,%esp
-	pushl	%eax
-	call	exit
-
-! An inline equivalent of _exit, as specified in Figure 3-26 of the ABI.
-
-	pushl	$0x0
-	movl	$0x1,%eax
-	lcall	$7,$0
-
-! If all else fails, just try a halt!
-
-	hlt
-	.type	_start, at function
-	.size	_start,.-_start
-
-! A dummy profiling support routine for non-profiling executables,
-! in case we link in some objects that have been compiled for profiling.
-
-	.weak	_mcount
-_mcount:
-	ret
-	.type	_mcount, at function
-	.size	_mcount,.-_mcount

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sol2-ci.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sol2-ci.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sol2-ci.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sol2-ci.asm Thu Aug  2 20:00:37 2007
@@ -1,51 +0,0 @@
-! crti.s for Solaris 2, x86.
-
-!   Copyright (C) 1993 Free Software Foundation, Inc.
-!   Written By Fred Fish, Nov 1992
-! 
-! This file 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.
-! 
-! In addition to the permissions in the GNU General Public License, the
-! Free Software Foundation gives you unlimited permission to link the
-! compiled version of this file with other programs, and to distribute
-! those programs without any restriction coming from the use of this
-! file.  (The General Public License restrictions do apply in other
-! respects; for example, they cover modification of the file, and
-! distribution when not linked into another program.)
-! 
-! This file 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; see the file COPYING.  If not, write to
-! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-! Boston, MA 02110-1301, USA.
-! 
-!    As a special exception, if you link this library with files
-!    compiled with GCC 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.
-! 
-
-! This file just supplies labeled starting points for the .init and .fini
-! sections.  It is linked in before the values-Xx.o files and also before
-! crtbegin.o.
- 
-	.file	"crti.s"
-	.ident	"GNU C crti.s"
-
-	.section .init
-	.globl	_init
-	.type	_init, at function
-_init:
-
-	.section .fini
-	.globl	_fini
-	.type	_fini, at function
-_fini:

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sol2-cn.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sol2-cn.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sol2-cn.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sol2-cn.asm Thu Aug  2 20:00:37 2007
@@ -1,46 +0,0 @@
-! crtn.s for Solaris 2, x86.
-
-!   Copyright (C) 1993 Free Software Foundation, Inc.
-!   Written By Fred Fish, Nov 1992
-! 
-! This file 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.
-! 
-! In addition to the permissions in the GNU General Public License, the
-! Free Software Foundation gives you unlimited permission to link the
-! compiled version of this file with other programs, and to distribute
-! those programs without any restriction coming from the use of this
-! file.  (The General Public License restrictions do apply in other
-! respects; for example, they cover modification of the file, and
-! distribution when not linked into another program.)
-! 
-! This file 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; see the file COPYING.  If not, write to
-! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-! Boston, MA 02110-1301, USA.
-! 
-!    As a special exception, if you link this library with files
-!    compiled with GCC 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.
-! 
-
-! This file just supplies returns for the .init and .fini sections.  It is
-! linked in after all other files.
-
-	.file	"crtn.o"
-	.ident	"GNU C crtn.o"
-
-	.section .init
-	ret    $0x0
-
-	.section .fini
-	ret    $0x0

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sol2-gc1.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sol2-gc1.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sol2-gc1.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sol2-gc1.asm Thu Aug  2 20:00:37 2007
@@ -1,166 +0,0 @@
-! gcrt1.s for Solaris 2, x86
-
-!   Copyright (C) 1993 Free Software Foundation, Inc.
-!   Written By Fred Fish, Nov 1992
-! 
-! This file 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.
-! 
-! In addition to the permissions in the GNU General Public License, the
-! Free Software Foundation gives you unlimited permission to link the
-! compiled version of this file with other programs, and to distribute
-! those programs without any restriction coming from the use of this
-! file.  (The General Public License restrictions do apply in other
-! respects; for example, they cover modification of the file, and
-! distribution when not linked into another program.)
-! 
-! This file 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; see the file COPYING.  If not, write to
-! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-! Boston, MA 02110-1301, USA.
-! 
-!    As a special exception, if you link this library with files
-!    compiled with GCC 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.
-! 
-
-! This file takes control of the process from the kernel, as specified
-! in section 3 of the System V Application Binary Interface, Intel386
-! Processor Supplement.  It has been constructed from information obtained
-! from the ABI, information obtained from single stepping existing
-! Solaris executables through their startup code with gdb, and from
-! information obtained by single stepping executables on other i386 SVR4
-! implementations.  This file is the first thing linked into any executable.
-
-! This is a modified crt1.s by J.W.Hawtin <oolon at ankh.org> 15/8/96, 
-! to allow program profiling, by calling monstartup on entry and _mcleanup 
-! on exit
-
-	.file	"gcrt1.s"
-	.ident	"GNU C gcrt1.s"
-	.weak	_DYNAMIC
-	.text
-
-! Start creating the initial frame by pushing a NULL value for the return
-! address of the initial frame, and mark the end of the stack frame chain
-! (the innermost stack frame) with a NULL value, per page 3-32 of the ABI.
-! Initialize the first stack frame pointer in %ebp (the contents of which
-! are unspecified at process initialization).
-
-	.globl	_start
-_start:
-	pushl	$0x0
-	pushl	$0x0
-	movl	%esp,%ebp
-
-! As specified per page 3-32 of the ABI, %edx contains a function 
-! pointer that should be registered with atexit(), for proper
-! shared object termination.  Just push it onto the stack for now
-! to preserve it.  We want to register _cleanup() first.
-
-	pushl	%edx
-
-! Check to see if there is an _cleanup() function linked in, and if
-! so, register it with atexit() as the last thing to be run by
-! atexit().
-
-	movl	$_mcleanup,%eax
-	testl	%eax,%eax
-	je	.L1
-	pushl	$_mcleanup
-	call	atexit
-	addl	$0x4,%esp
-.L1:
-
-! Now check to see if we have an _DYNAMIC table, and if so then
-! we need to register the function pointer previously in %edx, but
-! now conveniently saved on the stack as the argument to pass to
-! atexit().
-
-	movl	$_DYNAMIC,%eax
-	testl	%eax,%eax
-	je	.L2
-	call	atexit
-.L2:
-
-! Register _fini() with atexit().  We will take care of calling _init()
-! directly.
-
-	pushl	$_fini
-	call	atexit
-
-! Start profiling
-
-        pushl %ebp
-        movl %esp,%ebp
-        pushl $_etext
-        pushl $_start
-        call monstartup
-        addl $8,%esp
-	popl %ebp
-
-! Compute the address of the environment vector on the stack and load
-! it into the global variable _environ.  Currently argc is at 8 off
-! the frame pointer.  Fetch the argument count into %eax, scale by the
-! size of each arg (4 bytes) and compute the address of the environment
-! vector which is 16 bytes (the two zero words we pushed, plus argc,
-! plus the null word terminating the arg vector) further up the stack,
-! off the frame pointer (whew!).
-
-	movl	8(%ebp),%eax
-	leal	16(%ebp,%eax,4),%edx
-	movl	%edx,_environ
-
-! Push the environment vector pointer, the argument vector pointer,
-! and the argument count on to the stack to set up the arguments
-! for _init(), _fpstart(), and main().  Note that the environment
-! vector pointer and the arg count were previously loaded into
-! %edx and %eax respectively.  The only new value we need to compute
-! is the argument vector pointer, which is at a fixed address off
-! the initial frame pointer.
-
-!
-! Make sure the stack is properly aligned.
-!
-	andl $0xfffffff0,%esp
-	subl $4,%esp
-
-	pushl	%edx
-	leal	12(%ebp),%edx
-	pushl	%edx
-	pushl	%eax
-
-! Call _init(argc, argv, environ), _fpstart(argc, argv, environ), and
-! main(argc, argv, environ).
-
-	call	_init
-	call	__fpstart
-	call	main
-
-! Pop the argc, argv, and environ arguments off the stack, push the
-! value returned from main(), and call exit().
-
-	addl	$12,%esp
-	pushl	%eax
-	call	exit
-
-! An inline equivalent of _exit, as specified in Figure 3-26 of the ABI.
-
-	pushl	$0x0
-	movl	$0x1,%eax
-	lcall	$7,$0
-
-! If all else fails, just try a halt!
-
-	hlt
-	.type	_start, at function
-	.size	_start,.-_start

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sol2.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sol2.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sol2.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sol2.h Thu Aug  2 20:00:37 2007
@@ -1,115 +0,0 @@
-/* Target definitions for GCC for Intel 80386 running Solaris 2
-   Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004
-   Free Software Foundation, Inc.
-   Contributed by Fred Fish (fnf at cygnus.com).
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* The Solaris 2.0 x86 linker botches alignment of code sections.
-   It tries to align to a 16 byte boundary by padding with 0x00000090
-   ints, rather than 0x90 bytes (nop).  This generates trash in the
-   ".init" section since the contribution from crtbegin.o is only 7
-   bytes.  The linker pads it to 16 bytes with a single 0x90 byte, and
-   two 0x00000090 ints, which generates a segmentation violation when
-   executed.  This macro forces the assembler to do the padding, since
-   it knows what it is doing.  */
-#define FORCE_CODE_SECTION_ALIGN  asm(ALIGN_ASM_OP "16");
-
-/* Old versions of the Solaris assembler can not handle the difference of
-   labels in different sections, so force DW_EH_PE_datarel.  */
-#undef ASM_PREFERRED_EH_DATA_FORMAT
-#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL)			\
-  (flag_pic ? ((GLOBAL ? DW_EH_PE_indirect : 0)				\
-	       | (TARGET_64BIT ? DW_EH_PE_pcrel | DW_EH_PE_sdata4	\
-		  : DW_EH_PE_datarel))					\
-   : DW_EH_PE_absptr)
-
-/* The Solaris linker will not merge a read-only .eh_frame section
-   with a read-write .eh_frame section.  None of the encodings used
-   with non-PIC code require runtime relocations.  In 64-bit mode,
-   since there is no backwards compatibility issue, we use a read-only
-   section for .eh_frame.  In 32-bit mode, we use a writable .eh_frame
-   section in order to be compatible with G++ for Solaris x86.  */
-#undef EH_TABLES_CAN_BE_READ_ONLY
-#define EH_TABLES_CAN_BE_READ_ONLY (TARGET_64BIT)
-
-/* Solaris 2/Intel as chokes on #line directives.  */
-#undef CPP_SPEC
-/* APPLE LOCAL begin mainline 2007-03-13 5040758 */
-#define CPP_SPEC "%{,assembler-with-cpp:-P} %(cpp_subtarget)"
-
-/* APPLE LOCAL end mainline 2007-03-13 5040758 */ \
-/* FIXME: Removed -K PIC from generic Solaris 2 ASM_SPEC: the native assembler
-   gives many warnings: R_386_32 relocation is used for symbol ".text".  */
-#undef ASM_SPEC
-#define ASM_SPEC "\
-%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s \
-%(asm_cpu) \
-"
-
-#define ASM_CPU_SPEC ""
- 
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS \
-  { "cpp_subtarget",	CPP_SUBTARGET_SPEC },	\
-  { "asm_cpu",		ASM_CPU_SPEC },		\
-  { "startfile_arch",	STARTFILE_ARCH_SPEC },	\
-  { "link_arch",	LINK_ARCH_SPEC }
-
-#undef LOCAL_LABEL_PREFIX
-#define LOCAL_LABEL_PREFIX "."
-
-/* The 32-bit Solaris assembler does not support .quad.  Do not use it.  */
-#ifndef TARGET_BI_ARCH
-#undef ASM_QUAD
-#endif
-
-/* The Solaris assembler wants a .local for non-exported aliases.  */
-#define ASM_OUTPUT_DEF_FROM_DECLS(FILE, DECL, TARGET)	\
-  do {							\
-    const char *declname =				\
-      IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL));	\
-    ASM_OUTPUT_DEF ((FILE), declname,			\
-		    IDENTIFIER_POINTER (TARGET));	\
-    if (! TREE_PUBLIC (DECL))				\
-      {							\
-	fprintf ((FILE), "%s", LOCAL_ASM_OP);		\
-	assemble_name ((FILE), declname);		\
-	fprintf ((FILE), "\n");				\
-      }							\
-  } while (0)
-
-/* Solaris-specific #pragmas are implemented on top of attributes.  Hook in
-   the bits from config/sol2.c.  */
-#define SUBTARGET_INSERT_ATTRIBUTES solaris_insert_attributes
-#define SUBTARGET_ATTRIBUTE_TABLE SOLARIS_ATTRIBUTE_TABLE
-
-/* Output a simple call for .init/.fini.  */
-#define ASM_OUTPUT_CALL(FILE, FN)				\
-  do								\
-    {								\
-      fprintf (FILE, "\tcall\t");				\
-      print_operand (FILE, XEXP (DECL_RTL (FN), 0), 'P');	\
-      fprintf (FILE, "\n");					\
-    }								\
-  while (0)
-
-/* We do not need NT_VERSION notes.  */
-#undef X86_FILE_START_VERSION_DIRECTIVE
-#define X86_FILE_START_VERSION_DIRECTIVE false

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sse.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sse.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sse.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sse.md Thu Aug  2 20:00:37 2007
@@ -1039,7 +1039,6 @@
 ;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;; APPLE LOCAL begin 4332318
 (define_insn "sse_movhlps"
   [(set (match_operand:V4SF 0 "nonimmediate_operand"     "=x,x,m")
 	(vec_select:V4SF
@@ -1057,7 +1056,6 @@
    movhps\t{%2, %0|%0, %2}"
   [(set_attr "type" "ssemov")
    (set_attr "mode" "V4SF,V2SF,V2SF")])
-;; APPLE LOCAL end 4332318
 
 ; APPLE LOCAL begin radar 4099352
 (define_insn "sse_movlhps"

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sysv4-cpp.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sysv4-cpp.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sysv4-cpp.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sysv4-cpp.h Thu Aug  2 20:00:37 2007
@@ -1,32 +0,0 @@
-/* Target definitions for GCC for Intel 80386 running System V.4
-   Copyright (C) 1991, 2001, 2002 Free Software Foundation, Inc.
-
-   Written by Ron Guilmette (rfg at netcom.com).
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define TARGET_OS_CPP_BUILTINS()					\
-  do									\
-    {									\
-	builtin_define_std ("unix");					\
-	builtin_define ("__svr4__");					\
-	builtin_assert ("system=unix");					\
-	builtin_assert ("system=svr4");					\
-    }									\
-  while (0)
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sysv4.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sysv4.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sysv4.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sysv4.h Thu Aug  2 20:00:37 2007
@@ -1,133 +0,0 @@
-/* Target definitions for GCC for Intel 80386 running System V.4
-   Copyright (C) 1991, 2001, 2002 Free Software Foundation, Inc.
-
-   Written by Ron Guilmette (rfg at netcom.com).
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-#define TARGET_VERSION fprintf (stderr, " (i386 System V Release 4)");
-
-/* The svr4 ABI for the i386 says that records and unions are returned
-   in memory.  */
-
-#undef RETURN_IN_MEMORY
-#define RETURN_IN_MEMORY(TYPE) \
-  (TYPE_MODE (TYPE) == BLKmode \
-   || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
-
-/* Output at beginning of assembler file.  */
-/* The .file command should always begin the output.  */
-
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
-#undef X86_FILE_START_VERSION_DIRECTIVE
-#define X86_FILE_START_VERSION_DIRECTIVE true
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
-
-/* The routine used to output sequences of byte values.  We use a special
-   version of this for most svr4 targets because doing so makes the
-   generated assembly code more compact (and thus faster to assemble)
-   as well as more readable.  Note that if we find subparts of the
-   character sequence which end with NUL (and which are shorter than
-   STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING.  */
-
-#undef ASM_OUTPUT_ASCII
-#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH)				\
-  do									\
-    {									\
-      const unsigned char *_ascii_bytes =				\
-        (const unsigned char *) (STR);					\
-      const unsigned char *limit = _ascii_bytes + (LENGTH);		\
-      unsigned bytes_in_chunk = 0;					\
-      for (; _ascii_bytes < limit; _ascii_bytes++)			\
-        {								\
-	  const unsigned char *p;					\
-	  if (bytes_in_chunk >= 64)					\
-	    {								\
-	      fputc ('\n', (FILE));					\
-	      bytes_in_chunk = 0;					\
-	    }								\
-	  for (p = _ascii_bytes; p < limit && *p != '\0'; p++)		\
-	    continue;							\
-	  if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT)	\
-	    {								\
-	      if (bytes_in_chunk > 0)					\
-		{							\
-		  fputc ('\n', (FILE));					\
-		  bytes_in_chunk = 0;					\
-		}							\
-	      ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes);		\
-	      _ascii_bytes = p;						\
-	    }								\
-	  else								\
-	    {								\
-	      if (bytes_in_chunk == 0)					\
-		fprintf ((FILE), "\t.byte\t");				\
-	      else							\
-		fputc (',', (FILE));					\
-	      fprintf ((FILE), "0x%02x", *_ascii_bytes);		\
-	      bytes_in_chunk += 5;					\
-	    }								\
-	}								\
-      if (bytes_in_chunk > 0)						\
-        fprintf ((FILE), "\n");						\
-    }									\
-  while (0)
-
-/* A C statement (sans semicolon) to output to the stdio stream
-   FILE the assembler definition of uninitialized global DECL named
-   NAME whose size is SIZE bytes and alignment is ALIGN bytes.
-   Try to use asm_output_aligned_bss to implement this macro.  */
-
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-/* Handle special EH pointer encodings.  Absolute, pc-relative, and
-   indirect are handled automatically.  */
-#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
-  do {									\
-    if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel)		\
-      {									\
-        fputs (ASM_LONG, FILE);						\
-        assemble_name (FILE, XSTR (ADDR, 0));				\
-	fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
-        goto DONE;							\
-      }									\
-  } while (0)
-
-/* Used by crtstuff.c to initialize the base of data-relative relocations.
-   These are GOT relative on x86, so return the pic register.  */
-#ifdef __PIC__
-#define CRT_GET_RFIB_DATA(BASE)			\
-  {						\
-    register void *ebx_ __asm__("ebx");		\
-    BASE = ebx_;				\
-  }
-#else
-#define CRT_GET_RFIB_DATA(BASE)						\
-  __asm__ ("call\t.LPR%=\n"						\
-	   ".LPR%=:\n\t"						\
-	   "popl\t%0\n\t"						\
-	   /* Due to a GAS bug, this cannot use EAX.  That encodes	\
-	      smaller than the traditional EBX, which results in the	\
-	      offset being off by one.  */				\
-	   "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"			\
-	   : "=d"(BASE))
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sysv5.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sysv5.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sysv5.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sysv5.h Thu Aug  2 20:00:37 2007
@@ -1,34 +0,0 @@
-/* Definitions for Intel 386 running System V Release 5 (i.e. UnixWare 7)
-   Copyright (C) 1999 Free Software Foundation, Inc.
-   Contributed by Robert Lipe (robertlipe at usa.net)
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-
-/* Dwarf2 is supported by native debuggers  */
-
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-
-/* Add -lcrt for Dwarf2 abbreviation table */
-#undef  LIB_SPEC
-#define LIB_SPEC "%{pthread:-lthread} %{pthreadT:-lthreadT} \
-	%{!shared:%{!symbolic:-lc -lcrt}}"
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{pthread:-D_REENTRANT} %{pthreadT:-D_REENTRANT}"

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-beos
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-beos?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-beos (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-beos Thu Aug  2 20:00:37 2007
@@ -1,4 +0,0 @@
-# There are system headers elsewhere, but these are the ones that
-# we are most likely to want to apply any fixes to.
-SYSTEM_HEADER_DIR = /boot/develop/headers/posix
-CROSS_SYSTEM_HEADER_DIR = $(tooldir)/sys-include/posix

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-crtfm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-crtfm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-crtfm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-crtfm Thu Aug  2 20:00:37 2007
@@ -1,6 +0,0 @@
-EXTRA_PARTS += crtfastmath.o
-
-$(T)crtfastmath.o: $(srcdir)/config/i386/crtfastmath.c $(GCC_PASSES)
-	$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -msse -c \
-		$(srcdir)/config/i386/crtfastmath.c \
-		-o $(T)crtfastmath$(objext)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-crtpic
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-crtpic?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-crtpic (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-crtpic Thu Aug  2 20:00:37 2007
@@ -1,10 +0,0 @@
-# The pushl in CTOR initialization interferes with frame pointer elimination.
-
-# We need to use -fPIC when we are using gcc to compile the routines in
-# crtstuff.c.  This is only really needed when we are going to use gcc/g++
-# to produce a shared library, but since we don't know ahead of time when
-# we will be doing that, we just always use -fPIC when compiling the
-# routines in crtstuff.c.
-
-CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer
-TARGET_LIBGCC2_CFLAGS = -fPIC

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-crtstuff
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-crtstuff?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-crtstuff (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-crtstuff Thu Aug  2 20:00:37 2007
@@ -1,2 +0,0 @@
-# The pushl in CTOR initialization interferes with frame pointer elimination.
-CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-cygwin
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-cygwin?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-cygwin (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-cygwin Thu Aug  2 20:00:37 2007
@@ -1,16 +0,0 @@
-# If we are building next to winsup, this will let us find the real
-# limits.h when building libgcc2.  Otherwise, winsup must be installed
-# first.
-LIBGCC2_INCLUDES += -I$(srcdir)/../winsup/include \
-	-I$(srcdir)/../winsup/cygwin/include
-
-cygwin1.o: $(srcdir)/config/i386/cygwin1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-  $(TM_H) $(TM_P_H)
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/cygwin1.c
-
-cygwin2.o: $(srcdir)/config/i386/cygwin2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-  $(TM_H) $(TM_P_H)
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-	$(srcdir)/config/i386/cygwin2.c
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-djgpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-djgpp?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-djgpp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-djgpp Thu Aug  2 20:00:37 2007
@@ -1,2 +0,0 @@
-# Location of DJGPP's header directory.
-NATIVE_SYSTEM_HEADER_DIR=$(DJDIR)/include

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-gthr-win32
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-gthr-win32?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-gthr-win32 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-gthr-win32 Thu Aug  2 20:00:37 2007
@@ -1,3 +0,0 @@
-# We hide calls to w32api needed for w32 thread support here:
-LIB2FUNCS_EXTRA = $(srcdir)/config/i386/gthr-win32.c
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-i386elf
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-i386elf?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-i386elf (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-i386elf Thu Aug  2 20:00:37 2007
@@ -1,4 +0,0 @@
-# For svr4 we build crtbegin.o and crtend.o which serve to add begin and
-# end labels to the .ctors and .dtors section when we link using gcc.
-
-EXTRA_PARTS=crtbegin.o crtend.o

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-interix
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-interix?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-interix (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-interix Thu Aug  2 20:00:37 2007
@@ -1,7 +0,0 @@
-LIB1ASMSRC = i386/cygwin.asm
-LIB1ASMFUNCS = _chkstk
-
-winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
-  $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
-  $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H)
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/i386/winnt.c

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-linux64
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-linux64?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-linux64 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-linux64 Thu Aug  2 20:00:37 2007
@@ -1,21 +0,0 @@
-# On x86-64 we do not need any exports for glibc for 64-bit libgcc_s,
-# override the settings
-# from t-slibgcc-elf-ver and t-linux
-SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
-		 $(srcdir)/config/i386/libgcc-x86_64-glibc.ver
-
-MULTILIB_OPTIONS = m64/m32
-MULTILIB_DIRNAMES = 64 32 
-MULTILIB_OSDIRNAMES = ../lib64 ../lib
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o \
-		     crtbeginT.o crtfastmath.o
-
-# The pushl in CTOR initialization interferes with frame pointer elimination.
-# crtend*.o cannot be compiled without -fno-asynchronous-unwind-tables,
-# because then __FRAME_END__ might not be the last thing in .eh_frame
-# section.
-CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer -fno-asynchronous-unwind-tables

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-mingw32
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-mingw32?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-mingw32 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-mingw32 Thu Aug  2 20:00:37 2007
@@ -1,5 +1,3 @@
-# Match SYSTEM_INCLUDE_DIR
-NATIVE_SYSTEM_HEADER_DIR = /mingw/include
 
  # APPLE LOCAL begin mainline 2005-08-02
 # Match SYSTEM_INCLUDE_DIR

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-netware
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-netware?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-netware (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-netware Thu Aug  2 20:00:37 2007
@@ -1,9 +0,0 @@
-TARGET_LIBGCC2_CFLAGS = -mpreferred-stack-boundary=2 -fomit-frame-pointer
-
-netware.o: $(srcdir)/config/i386/netware.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_P_H)
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/i386/netware.c
-
-# We don't need some of GCC's own include files.
-USER_H = $(srcdir)/ginclude/stdarg.h \
-         $(srcdir)/ginclude/varargs.h \
-    $(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-nto
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-nto?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-nto (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-nto Thu Aug  2 20:00:37 2007
@@ -1,4 +0,0 @@
-CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer -fPIC
-TARGET_LIBGCC2_CFLAGS = -fPIC -fexceptions
-
-EXTRA_PARTS = crtbegin.o

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-nwld
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-nwld?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-nwld (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-nwld Thu Aug  2 20:00:37 2007
@@ -1,61 +0,0 @@
-CRTSTUFF_T_CFLAGS = -mpreferred-stack-boundary=2
-CRT0STUFF_T_CFLAGS = -mpreferred-stack-boundary=2 $(INCLUDES)
-# this is a slight misuse (it's not an assembler file)
-CRT0_S = $(srcdir)/config/i386/netware-crt0.c
-MCRT0_S = $(srcdir)/config/i386/netware-crt0.c
-
-libgcc.def: $(srcdir)/config/i386/t-nwld
-	echo "module libgcc_s" >$@
-
-libc.def: $(srcdir)/config/i386/t-nwld
-	echo "module libc" >$@
-
-libcpre.def: $(srcdir)/config/i386/t-nwld
-	echo "start _LibCPrelude" >$@
-	echo "exit _LibCPostlude" >>$@
-	echo "check _LibCCheckUnload" >>$@
-
-posixpre.def: $(srcdir)/config/i386/t-nwld
-	echo "start POSIX_Start" >$@
-	echo "exit POSIX_Stop" >>$@
-	echo "check POSIX_CheckUnload" >>$@
-
-nwld.o: $(srcdir)/config/i386/nwld.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_P_H)
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/i386/nwld.c
-
-
-s-crt0: $(srcdir)/unwind-dw2-fde.h
-
-# Build a shared libgcc library for NetWare.
-
-SHLIB_EXT = .nlm
-SHLIB_NAME = @shlib_base_name at .nlm
-SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
-SHLIB_DEF = $(srcdir)/config/i386/netware-libgcc.def
-SHLIB_MAP = $(srcdir)/config/i386/netware-libgcc.exp
-SHLIB_SRC = $(srcdir)/config/i386/netware-libgcc.c
-
-SHLIB_LINK = set -e; \
-	cat $(SHLIB_DEF) >@shlib_base_name at .def; \
-	echo "name $(SHLIB_NAME)" >>@shlib_base_name at .def; \
-	echo "version $(version)" | sed "s!\.!,!g" >>@shlib_base_name at .def; \
-	touch libgcc/build; \
-	echo "build $$$$(expr $$$$(<libgcc/build) + 0)" >>@shlib_base_name at .def; \
-	echo "export @$(SHLIB_MAP)" >>@shlib_base_name at .def; \
-	if mpkxdc -n -p @shlib_base_name at .xdc; \
-		then echo "xdcdata @shlib_base_name at .xdc" >>@shlib_base_name at .def; \
-		else echo "WARNING: $(SHLIB_NAME) built without XDC data will not work well." 1>&2; \
-	fi; \
-	$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -o $(SHLIB_NAME) \
-		$(SHLIB_SRC) -posix -static-libgcc -lnetware \
-		-Wl,--Map,--map-info,full,--strip-all,--def-file, at shlib_base_name@.def; \
-	rm -f @shlib_base_name at .imp; $(LN_S) $(SHLIB_MAP) @shlib_base_name at .imp; \
-	rm -f libgcc.imp; $(LN_S) @shlib_base_name at .imp libgcc.imp; \
-	expr $$$$(<libgcc/build) + 1 >libgcc/build
-
-# $(slibdir) double quoted to protect it from expansion while building
-# libgcc.mk.  We want this delayed until actual install time.
-SHLIB_INSTALL = \
-	$$(SHELL) $(srcdir)/mkinstalldirs $$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
-	$$(INSTALL_DATA) $(SHLIB_NAME) $$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_NAME); \
-	$$(INSTALL_DATA) @shlib_base_name at .imp $$(DESTDIR)$$(libsubdir)/

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-openbsd
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-openbsd?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-openbsd (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-openbsd Thu Aug  2 20:00:37 2007
@@ -1,6 +0,0 @@
-# gdb gets confused if pic code is linked with non pic
-# We cope by building variants of libgcc.
-MULTILIB_OPTIONS = fpic
-MULTILIB_MATCHES=fpic=fPIC
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-pmm_malloc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-pmm_malloc?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-pmm_malloc (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-pmm_malloc Thu Aug  2 20:00:37 2007
@@ -1,6 +0,0 @@
-# Install pmm_malloc.h as mm_malloc.h.
-
-EXTRA_HEADERS += mm_malloc.h
-mm_malloc.h: $(srcdir)/config/i386/pmm_malloc.h
-	rm -f $@
-	cat $^ > $@

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-rtems-i386
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-rtems-i386?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-rtems-i386 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-rtems-i386 Thu Aug  2 20:00:37 2007
@@ -1,51 +0,0 @@
-#
-# This file was based on t-sol2 - x68 Solaris implementation. Actually,
-# the source code to create crti.o anf crtn.o are exactly the same 
-# as the ones for Solaris. Later, we might want to have a RTEMS's 
-# version of these files.
-#
-
-crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES)
-	sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s
-	$(GCC_FOR_TARGET) -c -o crti.o crti.s
-crtn.o: $(srcdir)/config/i386/sol2-cn.asm $(GCC_PASSES)
-	sed -e '/^!/d' <$(srcdir)/config/i386/sol2-cn.asm >crtn.s
-	$(GCC_FOR_TARGET) -c -o crtn.o crtn.s
-
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-LIB2FUNCS_EXTRA = xp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c
-	echo '#define FLOAT_BIT_ORDER_MISMATCH' >>dp-bit.c
-	echo '#endif'           >> dp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define FLOAT' > fp-bit.c
-	echo '#ifdef __LITTLE_ENDIAN__' >> fp-bit.c
-	echo '#define FLOAT_BIT_ORDER_MISMATCH' >>fp-bit.c
-	echo '#endif'           >> fp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
-xp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define EXTENDED_FLOAT_STUBS' > xp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> xp-bit.c
-
-MULTILIB_OPTIONS = mtune=i486/mtune=pentium/mtune=pentiumpro \
-msoft-float
-MULTILIB_DIRNAMES= m486 mpentium mpentiumpro soft-float
-MULTILIB_MATCHES = msoft-float=mno-m80387
-MULTILIB_MATCHES += mtune?pentium=mtune?k6 mtune?pentiumpro=mtune?mathlon
-MULTILIB_EXCEPTIONS = \
-mtune=pentium/*msoft-float* \
-mtune=pentiumpro/*msoft-float*
-
-EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-sco5
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-sco5?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-sco5 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-sco5 Thu Aug  2 20:00:37 2007
@@ -1,15 +0,0 @@
-# We multilib libgcc for -fPIC, to get real PIC code in it.
-# NOTE: We must use -fPIC on crt{begi,end}.o else we get an RTLD error
-# "cant set protections on segment of length blah at 0x8048000".
-CRTSTUFF_T_CFLAGS   = -fPIC -fno-omit-frame-pointer
-
-MULTILIB_OPTIONS    = fPIC
-MULTILIB_DIRNAMES   = pic
-MULTILIB_MATCHES    = fPIC=fpic
-MULTILIB_EXTRA_OPTS =
-
-LIBGCC=stmp-multilib
-INSTALL_LIBGCC=install-multilib
-
-# See all the declarations.
-FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2 Thu Aug  2 20:00:37 2007
@@ -1,34 +0,0 @@
-# gmon build rule:
-$(T)gmon.o:	$(srcdir)/config/i386/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H)
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \
-		-c $(srcdir)/config/i386/gmon-sol2.c -o $(T)gmon.o
-
-# Assemble startup files.
-# Apparently Sun believes that assembler files don't need comments, because no
-# single ASCII character is valid (tried them all).  So we manually strip out
-# the comments with sed.  This bug may only be in the Early Access releases.
-$(T)gcrt1.o: $(srcdir)/config/i386/sol2-gc1.asm $(GCC_PASSES)
-	sed -e '/^!/d' <$(srcdir)/config/i386/sol2-gc1.asm >gcrt1.s
-	$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)gcrt1.o gcrt1.s
-$(T)crt1.o: $(srcdir)/config/i386/sol2-c1.asm $(GCC_PASSES)
-	sed -e '/^!/d' <$(srcdir)/config/i386/sol2-c1.asm >crt1.s
-	$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crt1.o crt1.s
-$(T)crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES)
-	sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s
-	$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crti.o crti.s
-$(T)crtn.o: $(srcdir)/config/i386/sol2-cn.asm $(GCC_PASSES)
-	sed -e '/^!/d' <$(srcdir)/config/i386/sol2-cn.asm >crtn.s
-	$(GCC_FOR_TARGET) $(MULTILIB_CFLAGS) -c -o $(T)crtn.o crtn.s
-
-# We need to use -fPIC when we are using gcc to compile the routines in
-# crtstuff.c.  This is only really needed when we are going to use gcc/g++
-# to produce a shared library, but since we don't know ahead of time when
-# we will be doing that, we just always use -fPIC when compiling the
-# routines in crtstuff.c.
-#
-# We must also enable optimization to avoid having any code appear after
-# the call & alignment statement, but before we switch back to the
-# .text section.
-
-CRTSTUFF_T_CFLAGS = -fPIC -O2
-TARGET_LIBGCC2_CFLAGS = -fPIC

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2-10
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2-10?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2-10 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-sol2-10 Thu Aug  2 20:00:37 2007
@@ -1,11 +0,0 @@
-MULTILIB_OPTIONS = m32/m64
-MULTILIB_DIRNAMES = 32 amd64
-MULTILIB_OSDIRNAMES = . amd64
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-# GCC contains i386 assembler sources for some of the startfiles
-# which aren't appropriate for amd64.  Just use the installed
-# versions of: crt1.o crti.o crtn.o gcrt1.o
-EXTRA_MULTILIB_PARTS=gmon.o crtbegin.o crtend.o

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-svr3dbx
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-svr3dbx?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-svr3dbx (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-svr3dbx Thu Aug  2 20:00:37 2007
@@ -1,7 +0,0 @@
-# gas 1.38.1 supporting dbx-in-coff requires a link script.
-
-svr3.ifile: $(srcdir)/config/i386/svr3.ifile
-	rm -f svr3.ifile; cp $(srcdir)/config/i386/svr3.ifile .
-
-svr3z.ifile: $(srcdir)/config/i386/svr3z.ifile
-	rm -f svr3z.ifile; cp $(srcdir)/config/i386/svr3z.ifile .

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-uwin
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-uwin?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-uwin (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-uwin Thu Aug  2 20:00:37 2007
@@ -1,5 +0,0 @@
-#
-# This is included *after* t-cygwin to override LIB1ASMSRC.
-#
-LIB1ASMSRC = i386/uwin.asm
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworks
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworks?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworks (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworks Thu Aug  2 20:00:37 2007
@@ -1,8 +0,0 @@
-# Multilibs for VxWorks.
-
-# Build multilibs for normal, -mrtp, and -mrtp -fPIC.
-MULTILIB_OPTIONS = mrtp fPIC
-MULTILIB_DIRNAMES =
-MULTILIB_MATCHES = fPIC=fpic
-MULTILIB_EXCEPTIONS = fPIC
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworksae
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworksae?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworksae (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/t-vxworksae Thu Aug  2 20:00:37 2007
@@ -1,5 +0,0 @@
-# Multilibs for VxWorks AE.
-
-MULTILIB_OPTIONS = mvthreads
-MULTILIB_MATCHES =
-MULTILIB_EXCEPTIONS = 

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/unix.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/unix.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/unix.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/unix.h Thu Aug  2 20:00:37 2007
@@ -1,65 +0,0 @@
-/* Definitions for Unix assembler syntax for the Intel 80386.
-   Copyright (C) 1988, 1994, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* This file defines the aspects of assembler syntax
-   that are the same for all the i386 Unix systems
-   (though they may differ in non-Unix systems).  */
-
-/* Define macro used to output shift-double opcodes when the shift
-   count is in %cl.  Some assemblers require %cl as an argument;
-   some don't.  This macro controls what to do: by default, don't
-   print %cl.  */
-#define SHIFT_DOUBLE_OMITS_COUNT 1
-
-/* Define the syntax of pseudo-ops, labels and comments.  */
-
-/* String containing the assembler's comment-starter.  */
-
-#define ASM_COMMENT_START "/"
-
-/* Output to assembler file text saying following lines
-   may contain character constants, extra white space, comments, etc.  */
-
-#define ASM_APP_ON "/APP\n"
-
-/* Output to assembler file text saying following lines
-   no longer contain unusual constructs.  */
-
-#define ASM_APP_OFF "/NO_APP\n"
-
-/* Output before read-only data.  */
-
-#define TEXT_SECTION_ASM_OP "\t.text"
-
-/* Output before writable (initialized) data.  */
-
-#define DATA_SECTION_ASM_OP "\t.data"
-
-/* Output before writable (uninitialized) data.  */
-
-#define BSS_SECTION_ASM_OP "\t.bss"
-
-/* Globalizing directive for a label.  */
-#define GLOBAL_ASM_OP ".globl "
-
-/* By default, target has a 80387, uses IEEE compatible arithmetic,
-   and returns float values in the 387.  */
-
-#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/uwin.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/uwin.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/uwin.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/uwin.asm Thu Aug  2 20:00:37 2007
@@ -1,32 +0,0 @@
-/* stuff needed for libgcc on win32.  */
-
-#ifdef L_chkstk
-
-	.global __chkstk
-	.global	__alloca
-__chkstk:
-__alloca:
-	pushl  %ecx		/* save temp */
-	movl   %esp,%ecx	/* get sp */
-	addl   $0x8,%ecx	/* and point to return addr */
-
-probe: 	cmpl   $0x1000,%eax	/* > 4k ?*/
-	jb    done		
-
-	subl   $0x1000,%ecx  		/* yes, move pointer down 4k*/
-	orl    $0x0,(%ecx)   		/* probe there */
-	subl   $0x1000,%eax  	 	/* decrement count */
-	jmp    probe           	 	/* and do it again */
-
-done: 	subl   %eax,%ecx	   
-	orl    $0x0,(%ecx)	/* less that 4k, just peek here */
-
-	movl   %esp,%eax
-	movl   %ecx,%esp	/* decrement stack */
-
-	movl   (%eax),%ecx	/* recover saved temp */
-	movl   4(%eax),%eax	/* get return address */
-	jmp    *%eax	
-
-
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/uwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/uwin.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/uwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/uwin.h Thu Aug  2 20:00:37 2007
@@ -1,91 +0,0 @@
-/* Operating system specific defines to be used when targeting GCC for
-   hosting on U/WIN (Windows32), using GNU tools and the Windows32 API 
-   Library, as distinct from winnt.h, which is used to build GCC for use 
-   with a windows style library and tool set and uses the Microsoft tools.
-   Copyright (C) 1999, 2002, 2003, 2004 Free Software Foundation, Inc.
-   Contributed by Mumit Khan  <khan at xraylith.wisc.edu>.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Most of this is the same as for Cygwin32, except for changing some
-   specs.  */
-
-#define STANDARD_INCLUDE_COMPONENT "UWIN"
-#define SYSTEM_INCLUDE_DIR "/usr/gnu/include"
-#undef MD_STARTFILE_PREFIX
-#define MD_STARTFILE_PREFIX "/usr/gnu/lib/"
-
-#undef MAYBE_UWIN_CPP_BUILTINS
-#define MAYBE_UWIN_CPP_BUILTINS()			\
-  do							\
-    {							\
-	builtin_define_std ("WINNT");			\
-	builtin_define ("_WIN32");			\
-	builtin_define ("__WIN32__");			\
-	builtin_define ("_UWIN");			\
-	builtin_define ("__UWIN__");			\
-	builtin_define ("__MSVCRT__");			\
-	builtin_define ("_STD_INCLUDE_DIR=mingw32");	\
-    }							\
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
-  -include /usr/include/astwin32.h \
-  -idirafter /usr/gnu/include/mingw32"
-
-/* For Windows applications, include more libraries, but always include
-   kernel32.  */
-#undef LIB_SPEC
-#define LIB_SPEC \
-  "%{pg:-lgmon} %{mwindows:-luser32 -lgdi32 -lcomdlg32} -lkernel32 -ladvapi32"
-
-/* Include in the mingw32 libraries with libgcc */
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC "-lgnuwin -lposix -lgcc -last -lmoldname -lmsvcrt"
-
-/* Specify a different entry point when linking a DLL */
-#undef LINK_SPEC
-#define LINK_SPEC \
-  "%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMainCRTStartup at 12} \
-  %{!mdll:-u _main}"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{mdll:dllcrt2%O%s} %{!mdll:crt2%O%s} %{pg:gcrt2%O%s}"
-
-/* These are PE BFD bug workarounds. Should go away eventually.  */
-
-/* Write the extra assembler code needed to declare a function
-   properly.  If we are generating SDB debugging information, this
-   will happen automatically, so we only need to handle other cases.  */
-#undef ASM_DECLARE_FUNCTION_NAME
-#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)			\
-  do									\
-    {									\
-      if (i386_pe_dllexport_name_p (NAME))				\
-	i386_pe_record_exported_symbol (NAME, 0);			\
-      /* UWIN binutils bug workaround.  */				\
-      if (0 && write_symbols != SDB_DEBUG)				\
-	i386_pe_declare_function_type (FILE, NAME, TREE_PUBLIC (DECL));	\
-      ASM_OUTPUT_LABEL (FILE, NAME);					\
-    }									\
-  while (0)
-
-#undef ASM_OUTPUT_EXTERNAL
-#undef ASM_OUTPUT_EXTERNAL_LIBCALL
-

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/vxworks.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/vxworks.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/vxworks.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/vxworks.h Thu Aug  2 20:00:37 2007
@@ -1,85 +0,0 @@
-/* IA32 VxWorks target definitions for GNU compiler.
-   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
-   Updated by CodeSourcery, LLC.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define HANDLE_SYSV_PRAGMA 1
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (80586, VxWorks syntax)");
-
-#undef  ASM_SPEC
-#define ASM_SPEC "%{v:-v} %{Qy:} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
-
-#define VXWORKS_CPU_DEFINE()				\
-  do							\
-    {							\
-      if (TARGET_386)					\
-        builtin_define ("CPU=I80386");			\
-      else if (TARGET_486)				\
-        builtin_define ("CPU=I80486");			\
-      else if (TARGET_PENTIUM)				\
-        {						\
-          builtin_define ("CPU=PENTIUM");		\
-          builtin_define ("CPU_VARIANT=PENTIUM");	\
-        }						\
-      else if (TARGET_PENTIUMPRO)			\
-        {						\
-          builtin_define ("CPU=PENTIUM2");		\
-          builtin_define ("CPU_VARIANT=PENTIUMPRO");	\
-        }						\
-      else if (TARGET_PENTIUM4)				\
-        {						\
-          builtin_define ("CPU=PENTIUM4");		\
-          builtin_define ("CPU_VARIANT=PENTIUM4");	\
-        }						\
-    }  							\
-  while (0)
-
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      builtin_define ("__vxworks");		\
-      builtin_define ("__VXWORKS__");		\
-      builtin_assert ("system=unix");		\
-						\
-      VXWORKS_CPU_DEFINE();			\
-    }						\
-  while (0)
-
-#undef  CPP_SPEC
-#define CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
-#undef  LIB_SPEC
-#define LIB_SPEC VXWORKS_LIB_SPEC
-#undef  STARTFILE_SPEC
-#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
-#undef  LINK_SPEC
-#define LINK_SPEC VXWORKS_LINK_SPEC
-
-#undef  SUBTARGET_SWITCHES
-#define SUBTARGET_SWITCHES EXTRA_SUBTARGET_SWITCHES
-
-#undef SUBTARGET_OVERRIDE_OPTIONS
-#define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS
-
-/* No _mcount profiling on VxWorks.  */
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/vxworksae.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/vxworksae.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/vxworksae.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/vxworksae.h Thu Aug  2 20:00:37 2007
@@ -1,27 +0,0 @@
-/* IA32 VxWorks AE target definitions for GNU compiler.
-   Copyright (C) 2005 Free Software Foundation, Inc.
-   Contributed by CodeSourcery, LLC.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* On VxWorks AE, we only want SIMNT.  */
-#undef VXWORKS_CPU_DEFINE
-#define VXWORKS_CPU_DEFINE()			\
-  do						\
-    builtin_define ("CPU=SIMNT");		\
-  while (0)

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/winnt-cxx.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/winnt-cxx.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/winnt-cxx.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/winnt-cxx.c Thu Aug  2 20:00:37 2007
@@ -1,167 +0,0 @@
-/* Target support for C++ classes on Windows.
-   Contributed by Danny Smith (dannysmith at users.sourceforge.net)
-   Copyright (C) 2005
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "rtl.h"
-#include "regs.h"
-#include "hard-reg-set.h"
-#include "output.h"
-#include "tree.h"
-#include "cp/cp-tree.h" /* this is why we're a separate module */
-#include "flags.h"
-#include "tm_p.h"
-#include "toplev.h"
-#include "hashtab.h"
-
-bool
-i386_pe_type_dllimport_p (tree decl)
-{
-   gcc_assert (TREE_CODE (decl) == VAR_DECL 
-               || TREE_CODE (decl) == FUNCTION_DECL);
-
-   if (TARGET_NOP_FUN_DLLIMPORT && TREE_CODE (decl) == FUNCTION_DECL)
-     return false;
-
-   /* We ignore the dllimport attribute for inline member functions.
-      This differs from MSVC behavior which treats it like GNUC
-      'extern inline' extension.  Also ignore for template
-      instantiations with linkonce semantics and artificial methods.  */
-    if (TREE_CODE (decl) ==  FUNCTION_DECL
-        && (DECL_DECLARED_INLINE_P (decl)
-	    || DECL_TEMPLATE_INSTANTIATION (decl)
-	    || DECL_ARTIFICIAL (decl)))
-      return false;
-
-   /* Since we can't treat a pointer to a dllimport'd symbol as a
-       constant address, we turn off the attribute on C++ virtual
-       methods to allow creation of vtables using thunks.  */
-    else if (TREE_CODE (TREE_TYPE (decl)) == METHOD_TYPE
-	     && DECL_VIRTUAL_P (decl))
-      {
-	/* Even though we ignore the attribute from the start, warn if we later see
-	   an out-of class definition, as we do for other member functions in
-	   tree.c:merge_dllimport_decl_attributes.  If this is the key method, the
-	   definition may affect the import-export status of vtables, depending
-           on how we handle MULTIPLE_SYMBOL_SPACES in cp/decl2.c.   */
-	if (DECL_INITIAL (decl))
-	  {
-	    warning (OPT_Wattributes, "%q+D redeclared without dllimport attribute: "
-		    "previous dllimport ignored", decl);
-#ifdef PE_DLL_DEBUG
-	    if (decl == CLASSTYPE_KEY_METHOD (DECL_CONTEXT (decl)))            
-	      warning (OPT_Wattributes, "key method %q+D of dllimport'd class defined"
-		       decl);
-#endif
-	  }
-	return false;
-      }
-
-      /* Don't mark defined functions as dllimport.  This code will only be
-         reached if we see a non-inline function defined out-of-class.  */
-    else if (TREE_CODE (decl) ==  FUNCTION_DECL
-	     && (DECL_INITIAL (decl)))
-      return false;
-
-    /*  Don't allow definitions of static data members in dllimport class,
-        If vtable data is marked as DECL_EXTERNAL, import it; otherwise just
-        ignore the class attribute.  */
-    else if (TREE_CODE (decl) == VAR_DECL
-	     && TREE_STATIC (decl) && TREE_PUBLIC (decl)
-	     && !DECL_EXTERNAL (decl))
-      {
-	if (!DECL_VIRTUAL_P (decl))
-	     error ("definition of static data member %q+D of "
-		    "dllimport'd class", decl);
-	return false;
-      }
-
-    return true;
-}
-
-
-bool
-i386_pe_type_dllexport_p (tree decl)
-{
-   gcc_assert (TREE_CODE (decl) == VAR_DECL 
-               || TREE_CODE (decl) == FUNCTION_DECL);
-   /* Avoid exporting compiler-generated default dtors and copy ctors.
-      The only artificial methods that need to be exported are virtual
-      and non-virtual thunks.  */
-   if (TREE_CODE (TREE_TYPE (decl)) == METHOD_TYPE
-       && DECL_ARTIFICIAL (decl) && !DECL_THUNK_P (decl))
-     return false;
-   return true;
-}
-
-static inline void maybe_add_dllimport (tree decl) 
-{
-  if (i386_pe_type_dllimport_p (decl))
-    DECL_DLLIMPORT_P (decl) = 1;   
-}
-
-void
-i386_pe_adjust_class_at_definition (tree t)
-{
-  tree member;
-
-  gcc_assert (CLASS_TYPE_P (t));
-
- /* We only look at dllimport.  The only thing that dllexport does is
-    add stuff to a '.drectiv' section at end-of-file, so no need to do
-    anything for dllexport'd classes until we generate RTL. */  
-  if (lookup_attribute ("dllimport", TYPE_ATTRIBUTES (t)) == NULL_TREE)
-    return;
-
-  /* We don't actually add the attribute to the decl, just set the flag
-     that signals that the address of this symbol is not a compile-time
-     constant.   Any subsequent out-of-class declaration of members wil
-     cause the DECL_DLLIMPORT_P flag to be unset.
-     (See  tree.c: merge_dllimport_decl_attributes).
-     That is just right since out-of class declarations can only be a
-     definition.  We recheck the class members  at RTL generation to
-     emit warnings if this has happened.  Definition of static data member
-     of dllimport'd class always causes an error (as per MS compiler).
-     */
-
-  /* Check static VAR_DECL's.  */
-  for (member = TYPE_FIELDS (t); member; member = TREE_CHAIN (member))
-    if (TREE_CODE (member) == VAR_DECL)     
-      maybe_add_dllimport (member);
-    
-  /* Check FUNCTION_DECL's.  */
-  for (member = TYPE_METHODS (t); member;  member = TREE_CHAIN (member))
-    if (TREE_CODE (member) == FUNCTION_DECL)
-      maybe_add_dllimport (member);
- 
-  /* Check vtables  */
-  for (member = CLASSTYPE_VTABLES (t); member;  member = TREE_CHAIN (member))
-    if (TREE_CODE (member) == VAR_DECL) 
-      maybe_add_dllimport (member);
-
-/* We leave typeinfo tables alone.  We can't mark TI objects as
-     dllimport, since the address of a secondary VTT may be needed
-     for static initialization of a primary VTT.  VTT's  of
-     dllimport'd classes should always be link-once COMDAT.  */ 
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/winnt-stubs.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/winnt-stubs.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/winnt-stubs.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/winnt-stubs.c Thu Aug  2 20:00:37 2007
@@ -1,53 +0,0 @@
-/* Dummy subroutines for language-specific support on Windows.
-   Contributed by Danny Smith (dannysmith at users.sourceforge.net)
-   Copyright (C) 2005
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301, USA.  */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "rtl.h"
-#include "regs.h"
-#include "hard-reg-set.h"
-#include "output.h"
-#include "tree.h"
-#include "flags.h"
-#include "tm_p.h"
-#include "toplev.h"
-#include "hashtab.h"
-
-bool
-i386_pe_type_dllimport_p (tree decl ATTRIBUTE_UNUSED)
-{
-  return false;
-}
-
-
-bool
-i386_pe_type_dllexport_p (tree decl ATTRIBUTE_UNUSED)
-{
-  return false;
-}
-
-
-void
-i386_pe_adjust_class_at_definition (tree t ATTRIBUTE_UNUSED)
-{ }

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/x-cygwin
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/x-cygwin?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/x-cygwin (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/x-cygwin Thu Aug  2 20:00:37 2007
@@ -1,4 +0,0 @@
-host-cygwin.o : $(srcdir)/config/i386/host-cygwin.c $(CONFIG_H) $(SYSTEM_H) \
-  coretypes.h hosthooks.h $(HOSTHOOKS_DEF_H) toplev.h diagnostic.h
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-cygwin.c

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/x-mingw32
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/x-mingw32?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/x-mingw32 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/x-mingw32 Thu Aug  2 20:00:37 2007
@@ -1,13 +0,0 @@
-#
-# Make local_includedir relative to EXEC_PREFIX 
-#
-local_includedir=$(libsubdir)/$(unlibsubdir)/..`echo $(exec_prefix) | sed -e 's|^$(prefix)||' -e 's|/[^/]*|/..|g'`/include
-
-# On MinGW, we use "%IA64d" to print 64-bit integers, and the format-checking
-# code does not handle that, so we have to disable checking here.
-WERROR_FLAGS += -Wno-format
-
-host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \
-  coretypes.h hosthooks.h hosthooks-def.h toplev.h diagnostic.h $(HOOKS_H)
-	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
-		$(srcdir)/config/i386/host-mingw32.c

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/x86-64.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/x86-64.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/x86-64.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/x86-64.h Thu Aug  2 20:00:37 2007
@@ -1,88 +0,0 @@
-/* OS independent definitions for AMD x86-64.
-   Copyright (C) 2001, 2005 Free Software Foundation, Inc.
-   Contributed by Bo Thorsen <bo at suse.de>.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
-  (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-
-/* Output assembler code to FILE to call the profiler.  */
-#define NO_PROFILE_COUNTERS 1
-
-#undef MCOUNT_NAME
-#define MCOUNT_NAME "mcount"
-
-#undef SIZE_TYPE
-#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-#undef CC1_SPEC
-#define CC1_SPEC "%(cc1_cpu) %{profile:-p}"
-
-#undef ASM_SPEC
-#define ASM_SPEC "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} \
- %{Wa,*:%*} %{m32:--32} %{m64:--64}"
-
-#undef ASM_OUTPUT_ALIGNED_BSS
-#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
-  x86_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
-
-#undef  ASM_OUTPUT_ALIGNED_COMMON
-#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN)		\
-  x86_elf_aligned_common (FILE, NAME, SIZE, ALIGN);
-
-/* This is used to align code labels according to Intel recommendations.  */
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP)			\
-  do {									\
-    if ((LOG) != 0) {							\
-      if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
-      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
-    }									\
-  } while (0)
-#endif
-
-
-/* i386 System V Release 4 uses DWARF debugging info.
-   x86-64 ABI specifies DWARF2.  */
-
-#define DWARF2_DEBUGGING_INFO 1
-#define DWARF2_UNWIND_INFO 1
-
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-
-#undef TARGET_ASM_SELECT_SECTION
-#define TARGET_ASM_SELECT_SECTION  x86_64_elf_select_section
-
-#undef TARGET_ASM_UNIQUE_SECTION
-#define TARGET_ASM_UNIQUE_SECTION  x86_64_elf_unique_section

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/xm-cygwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/xm-cygwin.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/xm-cygwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/xm-cygwin.h Thu Aug  2 20:00:37 2007
@@ -1,22 +0,0 @@
-/* Configuration for GCC for hosting on Windows NT.
-   using a unix style C library.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define HOST_EXECUTABLE_SUFFIX ".exe"

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/xm-djgpp.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/xm-djgpp.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/xm-djgpp.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/xm-djgpp.h Thu Aug  2 20:00:37 2007
@@ -1,85 +0,0 @@
-/* Configuration for GCC for Intel 80386 running DJGPP.
-   Copyright (C) 1988, 1996, 1998, 1999, 2000, 2001, 2004
-   Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Use semicolons to separate elements of a path.  */
-#define PATH_SEPARATOR ';'
-
-#define HOST_EXECUTABLE_SUFFIX ".exe"
-
-/* System dependent initialization for collect2
-   to tell system() to act like Unix.  */
-#define COLLECT2_HOST_INITIALIZATION \
-  do { __system_flags |= (__system_allow_multiple_cmds			\
-		          | __system_emulate_chdir); } while (0)
-
-/* Define a version appropriate for DOS.  */
-#undef XREF_FILE_NAME
-#define XREF_FILE_NAME(xref_file, file) \
-  do { \
-    const char xref_ext[] = ".gxref"; \
-    strcpy (xref_file, file); \
-    s = basename (xref_file); \
-    t = strchr (s, '.'); \
-    if (t) \
-      strcpy (t, xref_ext); \
-    else \
-      strcat (xref_file, xref_ext); \
-  } while (0)
-
-#undef GCC_DRIVER_HOST_INITIALIZATION
-#define GCC_DRIVER_HOST_INITIALIZATION \
-  do { \
-    /* If the environment variable DJDIR is not defined, then DJGPP is not \
-       installed correctly and GCC will quickly become confused with the \
-       default prefix settings. Report the problem now so the user doesn't \
-       receive deceptive "file not found" error messages later.  */ \
-    char *djdir = getenv ("DJDIR"); \
-    if (djdir == NULL) \
-      { \
-        /* DJDIR is automatically defined by the DJGPP environment config \
-           file pointed to by the environment variable DJGPP. Examine DJGPP \
-           to try and figure out what's wrong.  */ \
-        char *djgpp = getenv ("DJGPP"); \
-        if (djgpp == NULL) \
-          fatal ("environment variable DJGPP not defined"); \
-        else if (access (djgpp, R_OK) == 0) \
-          fatal ("environment variable DJGPP points to missing file '%s'", \
-                 djgpp); \
-        else \
-          fatal ("environment variable DJGPP points to corrupt file '%s'", \
-                  djgpp); \
-      } \
-  } while (0)
-
-/* Canonicalize paths containing '/dev/env/'; used in prefix.c.
-   _fixpath is a djgpp-specific function to canonicalize a path.
-   "/dev/env/DJDIR" evaluates to "c:/djgpp" if DJDIR is "c:/djgpp" for
-   example.  It removes any trailing '/', so add it back.  */
-/* We cannot free PATH below as it can point to string constant  */
-#define UPDATE_PATH_HOST_CANONICALIZE(PATH) \
-  if (memcmp ((PATH), "/dev/env/", sizeof("/dev/env/") - 1) == 0) \
-    {						\
-      static char fixed_path[FILENAME_MAX + 1];	\
-						\
-      _fixpath ((PATH), fixed_path);		\
-      strcat (fixed_path, "/");			\
-      (PATH) = xstrdup (fixed_path);		\
-    } 

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/xm-mingw32.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/xm-mingw32.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/xm-mingw32.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/xm-mingw32.h Thu Aug  2 20:00:37 2007
@@ -1,36 +0,0 @@
-/* Configuration for GCC for hosting on Windows32.
-   using GNU tools and the Windows32 API Library.
-   Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004 Free Software
-   Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301, USA.  */
-
-#define HOST_EXECUTABLE_SUFFIX ".exe"
-
-#undef PATH_SEPARATOR
-#define PATH_SEPARATOR ';'
-
-/* This is the name of the null device on windows.  */
-#define HOST_BIT_BUCKET "nul"
-
-/*  The st_ino field of struct stat is always 0.  */
-#define HOST_LACKS_INODE_NUMBERS
-
-/* MSVCRT does not support the "ll" format specifier for printing
-   "long long" values.  Instead, we use "I64".  */
-#define HOST_LONG_LONG_FORMAT "I64"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.h Thu Aug  2 20:00:37 2007
@@ -1,264 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for IBM RS/6000 POWER running AIX.
-   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Yes!  We are AIX!  */
-#define DEFAULT_ABI ABI_AIX
-#undef  TARGET_AIX
-#define TARGET_AIX 1
-
-/* AIX always has a TOC.  */
-#define TARGET_NO_TOC 0
-#define TARGET_TOC 1
-#define FIXED_R2 1
-
-/* AIX allows r13 to be used in 32-bit mode.  */
-#define FIXED_R13 0
-
-/* 32-bit and 64-bit AIX stack boundary is 128.  */
-#undef  STACK_BOUNDARY
-#define STACK_BOUNDARY 128
-
-/* AIX does not support Altivec.  */
-#undef  TARGET_ALTIVEC
-#define TARGET_ALTIVEC 0
-#undef  TARGET_ALTIVEC_ABI
-#define TARGET_ALTIVEC_ABI 0
-#undef  TARGET_IEEEQUAD
-#define TARGET_IEEEQUAD 0
-
-/* The AIX linker will discard static constructors in object files before
-   collect has a chance to see them, so scan the object files directly.  */
-#define COLLECT_EXPORT_LIST
-
-/* Handle #pragma weak and #pragma pack.  */
-#define HANDLE_SYSV_PRAGMA 1
-
-/* This is the only version of nm that collect2 can work with.  */
-#define REAL_NM_FILE_NAME "/usr/ucb/nm"
-
-#define USER_LABEL_PREFIX  ""
-
-/* Don't turn -B into -L if the argument specifies a relative file name.  */
-#define RELATIVE_PREFIX_NOT_LINKDIR
-
-/* Because of the above, we must have gcc search itself to find libgcc.a.  */
-#define LINK_LIBGCC_SPECIAL_1
-
-#define MFWRAP_SPEC " %{static: %{fmudflap|fmudflapth: \
- -brename:malloc,__wrap_malloc -brename:__real_malloc,malloc \
- -brename:free,__wrap_free -brename:__real_free,free \
- -brename:calloc,__wrap_calloc -brename:__real_calloc,calloc \
- -brename:realloc,__wrap_realloc -brename:__real_realloc,realloc \
- -brename:mmap,__wrap_mmap -brename:__real_mmap,mmap \
- -brename:munmap,__wrap_munmap -brename:__real_munmap,munmap \
- -brename:alloca,__wrap_alloca -brename:__real_alloca,alloca \
-} %{fmudflapth: \
- -brename:pthread_create,__wrap_pthread_create \
- -brename:__real_pthread_create,pthread_create \
- -brename:pthread_join,__wrap_pthread_join \
- -brename:__real_pthread_join,pthread_join \
- -brename:pthread_exit,__wrap_pthread_exit \
- -brename:__real_pthread_exit,pthread_exit \
-}} %{fmudflap|fmudflapth: \
- -brename:main,__wrap_main -brename:__real_main,main \
-}"
-
-#define MFLIB_SPEC " %{fmudflap: -lmudflap \
- %{static:%(link_gcc_c_sequence) -lmudflap}} \
- %{fmudflapth: -lmudflapth -lpthread \
- %{static:%(link_gcc_c_sequence) -lmudflapth}} "
-
-/* Names to predefine in the preprocessor for this target machine.  */
-#define TARGET_OS_AIX_CPP_BUILTINS()		\
-  do						\
-    {						\
-      builtin_define ("_IBMR2");		\
-      builtin_define ("_POWER");		\
-      builtin_define ("_AIX");			\
-      builtin_define ("_AIX32");		\
-      builtin_define ("_AIX41");		\
-      builtin_define ("_LONG_LONG");		\
-      if (TARGET_LONG_DOUBLE_128)		\
-        builtin_define ("__LONGDOUBLE128");	\
-      builtin_assert ("system=unix");		\
-      builtin_assert ("system=aix");		\
-    }						\
-  while (0)
-
-/* Define appropriate architecture macros for preprocessor depending on
-   target switches.  */
-
-#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
-   %{ansi: -D_ANSI_C_SOURCE}"
-
-#undef ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC ""
-
-/* Tell the assembler to assume that all undefined names are external.
-
-   Don't do this until the fixed IBM assembler is more generally available.
-   When this becomes permanently defined, the ASM_OUTPUT_EXTERNAL,
-   ASM_OUTPUT_EXTERNAL_LIBCALL, and RS6000_OUTPUT_BASENAME macros will no
-   longer be needed.  Also, the extern declaration of mcount in 
-   rs6000_xcoff_file_start will no longer be needed.  */
-
-/* #define ASM_SPEC "-u %(asm_cpu)" */
-
-/* Default location of syscalls.exp under AIX */
-/* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#ifndef CROSS_DIRECTORY_STRUCTURE
-/* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#define LINK_SYSCALLS_SPEC "-bI:/lib/syscalls.exp"
-#else
-#define LINK_SYSCALLS_SPEC ""
-#endif
-
-/* Default location of libg.exp under AIX */
-/* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#ifndef CROSS_DIRECTORY_STRUCTURE
-/* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#define LINK_LIBG_SPEC "-bexport:/usr/lib/libg.exp"
-#else
-#define LINK_LIBG_SPEC ""
-#endif
-
-/* Define the options for the binder: Start text at 512, align all segments
-   to 512 bytes, and warn if there is text relocation.
-
-   The -bhalt:4 option supposedly changes the level at which ld will abort,
-   but it also suppresses warnings about multiply defined symbols and is
-   used by the AIX cc command.  So we use it here.
-
-   -bnodelcsect undoes a poor choice of default relating to multiply-defined
-   csects.  See AIX documentation for more information about this.
-
-   -bM:SRE tells the linker that the output file is Shared REusable.  Note
-   that to actually build a shared library you will also need to specify an
-   export list with the -Wl,-bE option.  */
-
-#define LINK_SPEC "-T512 -H512 %{!r:-btextro} -bhalt:4 -bnodelcsect\
-%{static:-bnso %(link_syscalls) } \
-%{!shared:%{g*: %(link_libg) }} %{shared:-bM:SRE}"
-
-/* Profiled library versions are used by linking with special directories.  */
-#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
-%{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}} -lc"
-
-/* This now supports a natural alignment mode.  */
-/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints.  */
-#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
-  (TARGET_ALIGN_NATURAL ? (COMPUTED) : \
-  (TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
-	      ? get_inner_array_type (FIELD) \
-	      : TREE_TYPE (FIELD)) == DFmode \
-   ? MIN ((COMPUTED), 32) : (COMPUTED)))
-
-/* AIX increases natural record alignment to doubleword if the first
-   field is an FP double while the FP fields remain word aligned.  */
-#define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED)			\
-  ((TREE_CODE (STRUCT) == RECORD_TYPE					\
-    || TREE_CODE (STRUCT) == UNION_TYPE					\
-    || TREE_CODE (STRUCT) == QUAL_UNION_TYPE)				\
-   && TARGET_ALIGN_NATURAL == 0						\
-   ? rs6000_special_round_type_align (STRUCT, COMPUTED, SPECIFIED)	\
-   : MAX ((COMPUTED), (SPECIFIED)))
-
-/* The AIX ABI isn't explicit on whether aggregates smaller than a
-   word/doubleword should be padded upward or downward.  One could
-   reasonably assume that they follow the normal rules for structure
-   layout treating the parameter area as any other block of memory,
-   then map the reg param area to registers, i.e., pad upward, which
-   is the way IBM Compilers for AIX behave.
-   Setting both of the following defines results in this behavior.  */
-#define AGGREGATE_PADDING_FIXED 1
-#define AGGREGATES_PAD_UPWARD_ALWAYS 1
-
-/* Specify padding for the last element of a block move between
-   registers and memory.  FIRST is nonzero if this is the only
-   element.  */
-#define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \
-  (!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE))
-
-/* Indicate that jump tables go in the text section.  */
-
-#define JUMP_TABLES_IN_TEXT_SECTION 1
-
-/* Define any extra SPECS that the compiler needs to generate.  */
-#undef  SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS						\
-  { "link_syscalls",            LINK_SYSCALLS_SPEC },			\
-  { "link_libg",                LINK_LIBG_SPEC }
-
-/* Define cutoff for using external functions to save floating point.  */
-#define FP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) == 62 || (FIRST_REG) == 63)
-
-/* __throw will restore its own return address to be the same as the
-   return address of the function that the throw is being made to.
-   This is unfortunate, because we want to check the original
-   return address to see if we need to restore the TOC.
-   So we have to squirrel it away with this.  */
-#define SETUP_FRAME_ADDRESSES() rs6000_aix_emit_builtin_unwind_init ()
-
-/* If the current unwind info (FS) does not contain explicit info
-   saving R2, then we have to do a minor amount of code reading to
-   figure out if it was saved.  The big problem here is that the
-   code that does the save/restore is generated by the linker, so
-   we have no good way to determine at compile time what to do.  */
-
-#ifdef __64BIT__
-#define MD_FROB_UPDATE_CONTEXT(CTX, FS)					\
-  do {									\
-    if ((FS)->regs.reg[2].how == REG_UNSAVED)				\
-      {									\
-	unsigned int *insn						\
-	  = (unsigned int *)						\
-	    _Unwind_GetGR ((CTX), LINK_REGISTER_REGNUM);		\
-	if (*insn == 0xE8410028)					\
-	  _Unwind_SetGRPtr ((CTX), 2, (CTX)->cfa + 40);			\
-      }									\
-  } while (0)
-#else
-#define MD_FROB_UPDATE_CONTEXT(CTX, FS)					\
-  do {									\
-    if ((FS)->regs.reg[2].how == REG_UNSAVED)				\
-      {									\
-	unsigned int *insn						\
-	  = (unsigned int *)						\
-	    _Unwind_GetGR ((CTX), LINK_REGISTER_REGNUM);		\
-	if (*insn == 0x80410014)					\
-	  _Unwind_SetGRPtr ((CTX), 2, (CTX)->cfa + 20);			\
-      }									\
-  } while (0)
-#endif
-
-#define PROFILE_HOOK(LABEL)   output_profile_hook (LABEL)
-
-/* Print subsidiary information on the compiler version in use.  */
-#define TARGET_VERSION ;
-
-/* No version of AIX fully supports AltiVec or 64-bit instructions in
-   32-bit mode.  */
-#define OS_MISSING_POWERPC64 1
-#define OS_MISSING_ALTIVEC 1
-
-/* WINT_TYPE */
-#define WINT_TYPE "int"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix.opt Thu Aug  2 20:00:37 2007
@@ -1,25 +0,0 @@
-; AIX options.
-;
-; Copyright (C) 2005 Free Software Foundation, Inc.
-; Contributed by Aldy Hernandez <aldy at quesejoda.com>.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT
-; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-; License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-mxl-compat
-Target Var(has_xl_compat_option)
-Conform more closely to IBM XLC semantics

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.h Thu Aug  2 20:00:37 2007
@@ -1,96 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for IBM RS/6000 POWER running AIX version 4.1.
-   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004,
-   2005
-   Free Software Foundation, Inc.
-   Contributed by David Edelsohn (edelsohn at gnu.org).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef ASM_SPEC
-#define ASM_SPEC "-u %(asm_cpu)"
-
-#undef	ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC "-mcom"
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()     \
-  do                                 \
-    {                                \
-      TARGET_OS_AIX_CPP_BUILTINS (); \
-    }                                \
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
-   %{ansi: -D_ANSI_C_SOURCE}\
-   %{mpe: -I/usr/lpp/ppe.poe/include}\
-   %{pthread: -D_THREAD_SAFE}"
-
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
-
-#undef PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_PPC601
-
-/* Define this macro as a C expression for the initializer of an
-   array of string to tell the driver program which options are
-   defaults for this target and thus do not need to be handled
-   specially when using `MULTILIB_OPTIONS'.
-
-   Do not define this macro if `MULTILIB_OPTIONS' is not defined in
-   the target makefile fragment or if none of the options listed in
-   `MULTILIB_OPTIONS' are set by default.  *Note Target Fragment::.  */
-
-#undef	MULTILIB_DEFAULTS
-#define	MULTILIB_DEFAULTS { "mcpu=common" }
-
-#undef LIB_SPEC
-#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
-   %{p:-L/lib/profiled -L/usr/lib/profiled} %{!shared:%{g*:-lg}}\
-   %{mpe:-L/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
-   %{pthread: -L/usr/lib/threads -lpthreads -lc_r /usr/lib/libc.a}\
-   %{!pthread: -lc}"
-
-#undef LINK_SPEC
-#define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
-   %{static:-bnso %(link_syscalls) } %{!shared: %{g*: %(link_libg) }}\
-   %{shared:-bM:SRE %{!e:-bnoentry}}"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{!shared:\
-   %{mpe:%{pg:/usr/lpp/ppe.poe/lib/gcrt0.o}\
-         %{!pg:%{p:/usr/lpp/ppe.poe/lib/mcrt0.o}\
-               %{!p:/usr/lpp/ppe.poe/lib/crt0.o}}}\
-   %{!mpe:\
-     %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
-     %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
-
-/* AIX 4 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
-   and "cror 31,31,31" for POWER architecture.  */
-
-#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
-
-/* The IBM AIX 4.x assembler doesn't support forward references in
-   .set directives.  We handle this by deferring the output of .set
-   directives to the end of the compilation unit.  */
-#define TARGET_DEFERRED_OUTPUT_DEFS(DECL,TARGET) true
-
-#undef TARGET_64BIT
-#define TARGET_64BIT 0

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix41.opt Thu Aug  2 20:00:37 2007
@@ -1,25 +0,0 @@
-; Options for AIX4.1.
-;
-; Copyright (C) 2005 Free Software Foundation, Inc.
-; Contributed by Aldy Hernandez <aldy at quesejoda.com>.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT
-; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-; License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-mpe
-Target Report RejectNegative Var(internal_nothing_1)
-Support message passing with the Parallel Environment

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix43.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix43.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix43.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix43.h Thu Aug  2 20:00:37 2007
@@ -1,184 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for IBM RS/6000 POWER running AIX version 4.3.
-   Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
-   Contributed by David Edelsohn (edelsohn at gnu.org).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Sometimes certain combinations of command options do not make sense
-   on a particular target machine.  You can define a macro
-   `OVERRIDE_OPTIONS' to take account of this.  This macro, if
-   defined, is executed once just after all the command options have
-   been parsed.
-
-   The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
-   get control.  */
-
-#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
-#define SUBTARGET_OVERRIDE_OPTIONS					\
-do {									\
-  if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS))		\
-    {									\
-      target_flags &= ~NON_POWERPC_MASKS;				\
-      warning (0, "-maix64 and POWER architecture are incompatible");	\
-    }									\
-  if (TARGET_64BIT && ! TARGET_POWERPC64)				\
-    {									\
-      target_flags |= MASK_POWERPC64;					\
-      warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
-    }									\
-  if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128)			\
-    {									\
-      rs6000_long_double_type_size = 64;				\
-      if (rs6000_explicit_options.long_double)				\
-	warning (0, "soft-float and long-double-128 are incompatible");	\
-    }									\
-  if (TARGET_POWERPC64 && ! TARGET_64BIT)				\
-    {									\
-      error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
-    }									\
-} while (0);
-
-#undef ASM_SPEC
-#define ASM_SPEC "-u %{maix64:-a64 %{!mcpu*:-mppc64}} %(asm_cpu)"
-
-/* Common ASM definitions used by ASM_SPEC amongst the various targets
-   for handling -mcpu=xxx switches.  */
-#undef ASM_CPU_SPEC
-#define ASM_CPU_SPEC \
-"%{!mcpu*: %{!maix64: \
-  %{mpower: %{!mpower2: -mpwr}} \
-  %{mpower2: -mpwr2} \
-  %{mpowerpc*: %{!mpowerpc64: -mppc}} \
-  %{mpowerpc64: -mppc64} \
-  %{!mpower*: %{!mpowerpc*: %(asm_default)}}}} \
-%{mcpu=common: -mcom} \
-%{mcpu=power: -mpwr} \
-%{mcpu=power2: -mpwr2} \
-%{mcpu=power3: -m620} \
-%{mcpu=power4: -m620} \
-%{mcpu=powerpc: -mppc} \
-%{mcpu=rios: -mpwr} \
-%{mcpu=rios1: -mpwr} \
-%{mcpu=rios2: -mpwr2} \
-%{mcpu=rsc: -mpwr} \
-%{mcpu=rsc1: -mpwr} \
-%{mcpu=rs64a: -mppc} \
-%{mcpu=601: -m601} \
-%{mcpu=602: -mppc} \
-%{mcpu=603: -m603} \
-%{mcpu=603e: -m603} \
-%{mcpu=604: -m604} \
-%{mcpu=604e: -m604} \
-%{mcpu=620: -m620} \
-%{mcpu=630: -m620}"
-
-#undef	ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC "-mcom"
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()     \
-  do                                 \
-    {                                \
-      builtin_define ("_AIX43");     \
-      TARGET_OS_AIX_CPP_BUILTINS (); \
-    }                                \
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
-   %{ansi: -D_ANSI_C_SOURCE}\
-   %{maix64: -D__64BIT__}\
-   %{mpe: -I/usr/lpp/ppe.poe/include}\
-   %{pthread: -D_THREAD_SAFE}"
-
-/* The GNU C++ standard library requires that these macros be 
-   defined.  */
-#undef CPLUSPLUS_CPP_SPEC			
-#define CPLUSPLUS_CPP_SPEC			\
-  "-D_ALL_SOURCE				\
-   %{maix64: -D__64BIT__}			\
-   %{mpe: -I/usr/lpp/ppe.poe/include}		\
-   %{pthread: -D_THREAD_SAFE}"
-
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
-
-#undef PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_PPC604e
-
-/* Define this macro as a C expression for the initializer of an
-   array of string to tell the driver program which options are
-   defaults for this target and thus do not need to be handled
-   specially when using `MULTILIB_OPTIONS'.
-
-   Do not define this macro if `MULTILIB_OPTIONS' is not defined in
-   the target makefile fragment or if none of the options listed in
-   `MULTILIB_OPTIONS' are set by default.  *Note Target Fragment::.  */
-
-#undef	MULTILIB_DEFAULTS
-#define	MULTILIB_DEFAULTS { "mcpu=common" }
-
-#undef LIB_SPEC
-#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
-   %{p:-L/lib/profiled -L/usr/lib/profiled}\
-   %{!maix64:%{!shared:%{g*:-lg}}}\
-   %{mpe:-L/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
-   %{pthread:-L/usr/lib/threads -lpthreads -lc_r /usr/lib/libc.a}\
-   %{!pthread:-lc}"
-
-#undef LINK_SPEC
-#define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
-   %{static:-bnso %(link_syscalls) } %{shared:-bM:SRE %{!e:-bnoentry}}\
-   %{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}\
-   %{mpe:-binitfini:poe_remote_main}"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{!shared:\
-   %{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
-   %{!maix64:\
-     %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
-     %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
-
-/* AIX 4.3 typedefs ptrdiff_t as "long" while earlier releases used "int".  */
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-
-/* AIX 4 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
-   and "cror 31,31,31" for POWER architecture.  */
-
-#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
-
-/* AIX 4.2 and above provides initialization and finalization function
-   support from linker command line.  */
-#undef HAS_INIT_SECTION
-#define HAS_INIT_SECTION
-
-#undef LD_INIT_SWITCH
-#define LD_INIT_SWITCH "-binitfini"
-
-/* The IBM AIX 4.x assembler doesn't support forward references in
-   .set directives.  We handle this by deferring the output of .set
-   directives to the end of the compilation unit.  */
-#define TARGET_DEFERRED_OUTPUT_DEFS(DECL,TARGET) true
-
-/* This target uses the aix64.opt file.  */
-#define TARGET_USES_AIX64_OPT 1

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix51.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix51.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix51.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix51.h Thu Aug  2 20:00:37 2007
@@ -1,182 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for IBM RS/6000 POWER running AIX V5.
-   Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
-   Contributed by David Edelsohn (edelsohn at gnu.org).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Sometimes certain combinations of command options do not make sense
-   on a particular target machine.  You can define a macro
-   `OVERRIDE_OPTIONS' to take account of this.  This macro, if
-   defined, is executed once just after all the command options have
-   been parsed.
-
-   The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
-   get control.  */
-
-#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
-#define SUBTARGET_OVERRIDE_OPTIONS					\
-do {									\
-  if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS))		\
-    {									\
-      target_flags &= ~NON_POWERPC_MASKS;				\
-      warning (0, "-maix64 and POWER architecture are incompatible");	\
-    }									\
-  if (TARGET_64BIT && ! TARGET_POWERPC64)				\
-    {									\
-      target_flags |= MASK_POWERPC64;					\
-      warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
-    }									\
-  if (TARGET_POWERPC64 && ! TARGET_64BIT)				\
-    {									\
-      error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
-    }									\
-} while (0);
-
-#undef ASM_SPEC
-#define ASM_SPEC "-u %{maix64:-a64 %{!mcpu*:-mppc64}} %(asm_cpu)"
-
-/* Common ASM definitions used by ASM_SPEC amongst the various targets
-   for handling -mcpu=xxx switches.  */
-#undef ASM_CPU_SPEC
-#define ASM_CPU_SPEC \
-"%{!mcpu*: %{!maix64: \
-  %{mpower: %{!mpower2: -mpwr}} \
-  %{mpower2: -mpwr2} \
-  %{mpowerpc*: %{!mpowerpc64: -mppc}} \
-  %{mpowerpc64: -mppc64} \
-  %{!mpower*: %{!mpowerpc*: %(asm_default)}}}} \
-%{mcpu=common: -mcom} \
-%{mcpu=power: -mpwr} \
-%{mcpu=power2: -mpwr2} \
-%{mcpu=power3: -m620} \
-%{mcpu=power4: -m620} \
-%{mcpu=powerpc: -mppc} \
-%{mcpu=rios: -mpwr} \
-%{mcpu=rios1: -mpwr} \
-%{mcpu=rios2: -mpwr2} \
-%{mcpu=rsc: -mpwr} \
-%{mcpu=rsc1: -mpwr} \
-%{mcpu=rs64a: -mppc} \
-%{mcpu=601: -m601} \
-%{mcpu=602: -mppc} \
-%{mcpu=603: -m603} \
-%{mcpu=603e: -m603} \
-%{mcpu=604: -m604} \
-%{mcpu=604e: -m604} \
-%{mcpu=620: -m620} \
-%{mcpu=630: -m620} \
-%{mcpu=970: -m620} \
-%{mcpu=G5: -m620}"
-
-#undef	ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC "-mcom"
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()     \
-  do                                 \
-    {                                \
-      builtin_define ("_AIX43");     \
-      builtin_define ("_AIX51");     \
-      TARGET_OS_AIX_CPP_BUILTINS (); \
-    }                                \
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}	\
-  %{ansi: -D_ANSI_C_SOURCE}			\
-  %{maix64: -D__64BIT__}			\
-  %{mpe: -I/usr/lpp/ppe.poe/include}		\
-  %{pthread: -D_THREAD_SAFE}"
-
-/* The GNU C++ standard library requires that these macros be 
-   defined.  */
-#undef CPLUSPLUS_CPP_SPEC                       
-#define CPLUSPLUS_CPP_SPEC			\
-  "-D_ALL_SOURCE				\
-   %{maix64: -D__64BIT__}			\
-   %{mpe: -I/usr/lpp/ppe.poe/include}		\
-   %{pthread: -D_THREAD_SAFE}"
-
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT MASK_NEW_MNEMONICS
-
-#undef PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_PPC604e
-
-/* Define this macro as a C expression for the initializer of an
-   array of string to tell the driver program which options are
-   defaults for this target and thus do not need to be handled
-   specially when using `MULTILIB_OPTIONS'.
-
-   Do not define this macro if `MULTILIB_OPTIONS' is not defined in
-   the target makefile fragment or if none of the options listed in
-   `MULTILIB_OPTIONS' are set by default.  *Note Target Fragment::.  */
-
-#undef	MULTILIB_DEFAULTS
-#define	MULTILIB_DEFAULTS { "mcpu=common" }
-
-#undef LIB_SPEC
-#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
-   %{p:-L/lib/profiled -L/usr/lib/profiled}\
-   %{!maix64:%{!shared:%{g*:-lg}}}\
-   %{mpe:-L/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
-   %{pthread:-lpthreads} -lc"
-
-#undef LINK_SPEC
-#define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
-   %{static:-bnso %(link_syscalls) } %{shared:-bM:SRE %{!e:-bnoentry}}\
-   %{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}\
-   %{mpe:-binitfini:poe_remote_main}"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{!shared:\
-   %{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
-   %{!maix64:\
-     %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
-     %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
-
-/* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int".  */
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-
-/* Type used for wchar_t, as a string used in a declaration.  */
-#undef  WCHAR_TYPE
-#define WCHAR_TYPE (!TARGET_64BIT ? "short unsigned int" : "unsigned int")
-
-/* Width of wchar_t in bits.  */
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
-
-/* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
-   and "cror 31,31,31" for POWER architecture.  */
-
-#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
-
-/* AIX 4.2 and above provides initialization and finalization function
-   support from linker command line.  */
-#undef HAS_INIT_SECTION
-#define HAS_INIT_SECTION
-
-#undef LD_INIT_SWITCH
-#define LD_INIT_SWITCH "-binitfini"
-
-/* This target uses the aix64.opt file.  */
-#define TARGET_USES_AIX64_OPT 1

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix52.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix52.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix52.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix52.h Thu Aug  2 20:00:37 2007
@@ -1,191 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for IBM RS/6000 POWER running AIX V5.2.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-   Contributed by David Edelsohn (edelsohn at gnu.org).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Sometimes certain combinations of command options do not make sense
-   on a particular target machine.  You can define a macro
-   `OVERRIDE_OPTIONS' to take account of this.  This macro, if
-   defined, is executed once just after all the command options have
-   been parsed.
-
-   The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
-   get control.  */
-
-#define NON_POWERPC_MASKS (MASK_POWER | MASK_POWER2)
-#define SUBTARGET_OVERRIDE_OPTIONS					\
-do {									\
-  if (TARGET_64BIT && (target_flags & NON_POWERPC_MASKS))		\
-    {									\
-      target_flags &= ~NON_POWERPC_MASKS;				\
-      warning (0, "-maix64 and POWER architecture are incompatible");	\
-    }									\
-  if (TARGET_64BIT && ! TARGET_POWERPC64)				\
-    {									\
-      target_flags |= MASK_POWERPC64;					\
-      warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
-    }									\
-  if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128)			\
-    {									\
-      rs6000_long_double_type_size = 64;				\
-      if (rs6000_explicit_options.long_double)				\
-	warning (0, "soft-float and long-double-128 are incompatible");	\
-    }									\
-  if (TARGET_POWERPC64 && ! TARGET_64BIT)				\
-    {									\
-      error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
-    }									\
-} while (0);
-
-#undef ASM_SPEC
-#define ASM_SPEC "-u %{maix64:-a64 %{!mcpu*:-mppc64}} %(asm_cpu)"
-
-/* Common ASM definitions used by ASM_SPEC amongst the various targets
-   for handling -mcpu=xxx switches.  */
-#undef ASM_CPU_SPEC
-#define ASM_CPU_SPEC \
-"%{!mcpu*: %{!maix64: \
-  %{mpowerpc64: -mppc64} \
-  %{!mpower64: %(asm_default)}}} \
-%{mcpu=power3: -m620} \
-%{mcpu=power4: -m620} \
-%{mcpu=power5: -m620} \
-%{mcpu=power5+: -m620} \
-%{mcpu=power6: -m620} \
-%{mcpu=powerpc: -mppc} \
-%{mcpu=rs64a: -mppc} \
-%{mcpu=603: -m603} \
-%{mcpu=603e: -m603} \
-%{mcpu=604: -m604} \
-%{mcpu=604e: -m604} \
-%{mcpu=620: -m620} \
-%{mcpu=630: -m620} \
-%{mcpu=970: -m620} \
-%{mcpu=G5: -m620}"
-
-#undef	ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC "-mppc"
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()     \
-  do                                 \
-    {                                \
-      builtin_define ("_AIX43");     \
-      builtin_define ("_AIX51");     \
-      builtin_define ("_AIX52");     \
-      TARGET_OS_AIX_CPP_BUILTINS (); \
-    }                                \
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}	\
-  %{ansi: -D_ANSI_C_SOURCE}			\
-  %{maix64: -D__64BIT__}			\
-  %{mpe: -I/usr/lpp/ppe.poe/include}		\
-  %{pthread: -D_THREAD_SAFE}"
-
-/* The GNU C++ standard library requires that these macros be 
-   defined.  Synchronize with libstdc++ os_defines.h.  */
-#undef CPLUSPLUS_CPP_SPEC                       
-#define CPLUSPLUS_CPP_SPEC			\
-  "-D_ALL_SOURCE				\
-   %{maix64: -D__64BIT__}			\
-   %{mpe: -I/usr/lpp/ppe.poe/include}		\
-   %{pthread: -D_THREAD_SAFE}"
-
-#undef  TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
-
-#undef  PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_POWER4
-#undef  PROCESSOR_DEFAULT64
-#define PROCESSOR_DEFAULT64 PROCESSOR_POWER4
-
-#undef  TARGET_POWER
-#define TARGET_POWER 0
-
-/* Define this macro as a C expression for the initializer of an
-   array of string to tell the driver program which options are
-   defaults for this target and thus do not need to be handled
-   specially when using `MULTILIB_OPTIONS'.
-
-   Do not define this macro if `MULTILIB_OPTIONS' is not defined in
-   the target makefile fragment or if none of the options listed in
-   `MULTILIB_OPTIONS' are set by default.  *Note Target Fragment::.  */
-
-#undef	MULTILIB_DEFAULTS
-
-#undef LIB_SPEC
-#define LIB_SPEC "%{pg:-L/lib/profiled -L/usr/lib/profiled}\
-   %{p:-L/lib/profiled -L/usr/lib/profiled}\
-   %{!maix64:%{!shared:%{g*:-lg}}}\
-   %{mpe:-L/usr/lpp/ppe.poe/lib -lmpi -lvtd}\
-   %{pthread:-lpthreads} -lc"
-
-#undef LINK_SPEC
-#define LINK_SPEC "-bpT:0x10000000 -bpD:0x20000000 %{!r:-btextro} -bnodelcsect\
-   %{static:-bnso %(link_syscalls) } %{shared:-bM:SRE %{!e:-bnoentry}}\
-   %{!maix64:%{!shared:%{g*: %(link_libg) }}} %{maix64:-b64}\
-   %{mpe:-binitfini:poe_remote_main}"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC "%{!shared:\
-   %{maix64:%{pg:gcrt0_64%O%s}%{!pg:%{p:mcrt0_64%O%s}%{!p:crt0_64%O%s}}}\
-   %{!maix64:\
-     %{pthread:%{pg:gcrt0_r%O%s}%{!pg:%{p:mcrt0_r%O%s}%{!p:crt0_r%O%s}}}\
-     %{!pthread:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}}}}"
-
-/* AIX V5 typedefs ptrdiff_t as "long" while earlier releases used "int".  */
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "long int"
-
-/* Type used for wchar_t, as a string used in a declaration.  */
-#undef  WCHAR_TYPE
-#define WCHAR_TYPE (!TARGET_64BIT ? "short unsigned int" : "unsigned int")
-
-/* Width of wchar_t in bits.  */
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE (!TARGET_64BIT ? 16 : 32)
-
-/* AIX V5 uses PowerPC nop (ori 0,0,0) instruction as call glue for PowerPC
-   and "cror 31,31,31" for POWER architecture.  */
-
-#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "{cror 31,31,31|nop}"
-
-/* AIX 4.2 and above provides initialization and finalization function
-   support from linker command line.  */
-#undef HAS_INIT_SECTION
-#define HAS_INIT_SECTION
-
-#undef LD_INIT_SWITCH
-#define LD_INIT_SWITCH "-binitfini"
-
-/* AIX 5.2 has the float and long double forms of math functions.  */
-#undef TARGET_C99_FUNCTIONS
-#define TARGET_C99_FUNCTIONS  1
-
-#ifndef _AIX52
-extern long long int    atoll(const char *);  
-#endif
-
-/* This target uses the aix64.opt file.  */
-#define TARGET_USES_AIX64_OPT 1

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/aix64.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/aix64.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/aix64.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/aix64.opt Thu Aug  2 20:00:37 2007
@@ -1,33 +0,0 @@
-; Options for the 64-bit flavor of AIX.
-;
-; Copyright (C) 2005 Free Software Foundation, Inc.
-; Contributed by Aldy Hernandez <aldy at quesejoda.com>.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT
-; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-; License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-maix64
-Target Report RejectNegative Mask(64BIT)
-Compile for 64-bit pointers
-
-maix32
-Target Report RejectNegative InverseMask(64BIT)
-Compile for 32-bit pointers
-
-mpe
-Target Report RejectNegative Var(internal_nothing_1)
-Support message passing with the Parallel Environment

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/altivec.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/altivec.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/altivec.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/altivec.md Thu Aug  2 20:00:37 2007
@@ -760,7 +760,6 @@
   "vmladduhm %0,%1,%2,%3"
   [(set_attr "type" "veccomplex")])
 
-;; APPLE LOCAL begin radar 4110116
 (define_insn "altivec_vmrghb"
   [(set (match_operand:V16QI 0 "register_operand" "=v")
         (vec_merge:V16QI (vec_select:V16QI (match_operand:V16QI 1 "register_operand" "v")
@@ -926,7 +925,6 @@
   "TARGET_ALTIVEC"
   "vmrglw %0,%1,%2"
   [(set_attr "type" "vecperm")])
-;; APPLE LOCAL end radar 4110116
 
 (define_insn "altivec_vmuleub"
   [(set (match_operand:V8HI 0 "register_operand" "=v")

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/beos.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/beos.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/beos.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/beos.h Thu Aug  2 20:00:37 2007
@@ -1,109 +0,0 @@
-/* Definitions of target machine for GNU compiler, for BeOS.
-   Copyright (C) 1997, 2000, 2001, 2002, 2003, 2005
-   Free Software Foundation, Inc.
-   Contributed by Fred Fish (fnf at cygnus.com), based on aix41.h
-   from David Edelsohn (edelsohn at npac.syr.edu).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (BeOS/PowerPC)");
-
-#undef ASM_SPEC
-#define ASM_SPEC "-u %(asm_cpu)"
-
-#undef TARGET_OS_CPP_BUILTINS
-/* __POWERPC__ must be defined for some header files.  */
-#define TARGET_OS_CPP_BUILTINS()          \
-  do                                      \
-    {                                     \
-      builtin_define ("__BEOS__");        \
-      builtin_define ("__POWERPC__");     \
-      builtin_assert ("system=beos");     \
-      builtin_assert ("cpu=powerpc");     \
-      builtin_assert ("machine=powerpc"); \
-    }                                     \
-  while (0)
-
-#undef CPP_SPEC
-#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}"
-
-/* This is the easiest way to disable use of gcc's builtin alloca,
-   which in the current BeOS release (DR9) is a problem because of the
-   relatively low default stack size of 256K with no way to expand it.
-   So anything we compile for the BeOS target should not use the
-   builtin alloca.  This also has the unwanted side effect of
-   disabling all builtin functions though.  */
-
-#undef CC1_SPEC
-#define CC1_SPEC "%{!fbuiltin: -fno-builtin}"
-#undef CC1PLUS_SPEC
-#define CC1PLUS_SPEC "%{!fbuiltin: -fno-builtin}"
-
-#undef	ASM_DEFAULT_SPEC
-#define ASM_DEFAULT_SPEC "-mppc"
-
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
-
-#undef PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_PPC603
-
-/* Define this macro as a C expression for the initializer of an
-   array of string to tell the driver program which options are
-   defaults for this target and thus do not need to be handled
-   specially when using `MULTILIB_OPTIONS'.
-
-   Do not define this macro if `MULTILIB_OPTIONS' is not defined in
-   the target makefile fragment or if none of the options listed in
-   `MULTILIB_OPTIONS' are set by default.  *Note Target Fragment::.  */
-
-#undef	MULTILIB_DEFAULTS
-#define	MULTILIB_DEFAULTS { "mcpu=powerpc" }
-
-/* These empty definitions get rid of the attempt to link in crt0.o
-   and any libraries like libc.a.
-   On BeOS the ld executable is actually a linker front end that first runs
-   the GNU linker with the -r option to generate a relocatable XCOFF output
-   file, and then runs Metrowork's linker (mwld) to generate a fully linked
-   executable.  */
-
-#undef LIB_SPEC
-#define LIB_SPEC ""
-
-#undef LINK_SPEC
-#define LINK_SPEC ""
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC ""
-
-/* Text to write out after a CALL that may be replaced by glue code by
-   the loader.  */
-
-#undef RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE "cror 15,15,15"
-
-/* Struct alignments are done on 4 byte boundaries for all types.  */
-#undef BIGGEST_FIELD_ALIGNMENT
-#define BIGGEST_FIELD_ALIGNMENT 32
-
-/* STANDARD_INCLUDE_DIR is the equivalent of "/usr/include" on UNIX.  */
-#define STANDARD_INCLUDE_DIR	"/boot/develop/headers/posix"
-
-/* SYSTEM_INCLUDE_DIR is the location for system specific, non-POSIX headers.  */
-#define SYSTEM_INCLUDE_DIR	"/boot/develop/headers/be"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/biarch64.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/biarch64.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/biarch64.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/biarch64.h Thu Aug  2 20:00:37 2007
@@ -1,22 +0,0 @@
-/* Definitions of target machine for GNU compiler, for 32/64 bit powerpc.
-   Copyright (C) 2003 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-/* Specify this in a cover file to provide bi-architecture (32/64) support.  */
-#define RS6000_BI_ARCH 1

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/crtsavres.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/crtsavres.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/crtsavres.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/crtsavres.asm Thu Aug  2 20:00:37 2007
@@ -1,307 +0,0 @@
-/*
- * Special support for eabi and SVR4
- *
- *   Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
- *   Written By Michael Meissner
- *   64-bit support written by David Edelsohn
- * 
- * This file 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.
- * 
- * In addition to the permissions in the GNU General Public License, the
- * Free Software Foundation gives you unlimited permission to link the
- * compiled version of this file with other programs, and to distribute
- * those programs without any restriction coming from the use of this
- * file.  (The General Public License restrictions do apply in other
- * respects; for example, they cover modification of the file, and
- * distribution when not linked into another program.)
- * 
- * This file 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; see the file COPYING.  If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- * 
- *    As a special exception, if you link this library with files
- *    compiled with GCC 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.
- */ 
-
-/* Do any initializations needed for the eabi environment */
-
-	.file	"crtsavres.asm"
-	.section ".text"
-	#include "ppc-asm.h"
-
-/* On PowerPC64 Linux, these functions are provided by the linker.  */
-#ifndef __powerpc64__
-
-/* Routines for saving floating point registers, called by the compiler.  */
-/* Called with r11 pointing to the stack header word of the caller of the */
-/* function, just beyond the end of the floating point save area.  */
-
-FUNC_START(_savefpr_14)	stfd	14,-144(11)	/* save fp registers */
-FUNC_START(_savefpr_15)	stfd	15,-136(11)
-FUNC_START(_savefpr_16)	stfd	16,-128(11)
-FUNC_START(_savefpr_17)	stfd	17,-120(11)
-FUNC_START(_savefpr_18)	stfd	18,-112(11)
-FUNC_START(_savefpr_19)	stfd	19,-104(11)
-FUNC_START(_savefpr_20)	stfd	20,-96(11)
-FUNC_START(_savefpr_21)	stfd	21,-88(11)
-FUNC_START(_savefpr_22)	stfd	22,-80(11)
-FUNC_START(_savefpr_23)	stfd	23,-72(11)
-FUNC_START(_savefpr_24)	stfd	24,-64(11)
-FUNC_START(_savefpr_25)	stfd	25,-56(11)
-FUNC_START(_savefpr_26)	stfd	26,-48(11)
-FUNC_START(_savefpr_27)	stfd	27,-40(11)
-FUNC_START(_savefpr_28)	stfd	28,-32(11)
-FUNC_START(_savefpr_29)	stfd	29,-24(11)
-FUNC_START(_savefpr_30)	stfd	30,-16(11)
-FUNC_START(_savefpr_31)	stfd	31,-8(11)
-			blr
-FUNC_END(_savefpr_31)
-FUNC_END(_savefpr_30)
-FUNC_END(_savefpr_29)
-FUNC_END(_savefpr_28)
-FUNC_END(_savefpr_27)
-FUNC_END(_savefpr_26)
-FUNC_END(_savefpr_25)
-FUNC_END(_savefpr_24)
-FUNC_END(_savefpr_23)
-FUNC_END(_savefpr_22)
-FUNC_END(_savefpr_21)
-FUNC_END(_savefpr_20)
-FUNC_END(_savefpr_19)
-FUNC_END(_savefpr_18)
-FUNC_END(_savefpr_17)
-FUNC_END(_savefpr_16)
-FUNC_END(_savefpr_15)
-FUNC_END(_savefpr_14)
-
-/* Routines for saving integer registers, called by the compiler.  */
-/* Called with r11 pointing to the stack header word of the caller of the */
-/* function, just beyond the end of the integer save area.  */
-
-FUNC_START(_savegpr_14)	stw	14,-72(11)	/* save gp registers */
-FUNC_START(_savegpr_15)	stw	15,-68(11)
-FUNC_START(_savegpr_16)	stw	16,-64(11)
-FUNC_START(_savegpr_17)	stw	17,-60(11)
-FUNC_START(_savegpr_18)	stw	18,-56(11)
-FUNC_START(_savegpr_19)	stw	19,-52(11)
-FUNC_START(_savegpr_20)	stw	20,-48(11)
-FUNC_START(_savegpr_21)	stw	21,-44(11)
-FUNC_START(_savegpr_22)	stw	22,-40(11)
-FUNC_START(_savegpr_23)	stw	23,-36(11)
-FUNC_START(_savegpr_24)	stw	24,-32(11)
-FUNC_START(_savegpr_25)	stw	25,-28(11)
-FUNC_START(_savegpr_26)	stw	26,-24(11)
-FUNC_START(_savegpr_27)	stw	27,-20(11)
-FUNC_START(_savegpr_28)	stw	28,-16(11)
-FUNC_START(_savegpr_29)	stw	29,-12(11)
-FUNC_START(_savegpr_30)	stw	30,-8(11)
-FUNC_START(_savegpr_31)	stw	31,-4(11)
-			blr
-FUNC_END(_savegpr_31)
-FUNC_END(_savegpr_30)
-FUNC_END(_savegpr_29)
-FUNC_END(_savegpr_28)
-FUNC_END(_savegpr_27)
-FUNC_END(_savegpr_26)
-FUNC_END(_savegpr_25)
-FUNC_END(_savegpr_24)
-FUNC_END(_savegpr_23)
-FUNC_END(_savegpr_22)
-FUNC_END(_savegpr_21)
-FUNC_END(_savegpr_20)
-FUNC_END(_savegpr_19)
-FUNC_END(_savegpr_18)
-FUNC_END(_savegpr_17)
-FUNC_END(_savegpr_16)
-FUNC_END(_savegpr_15)
-FUNC_END(_savegpr_14)
-
-/* Routines for restoring floating point registers, called by the compiler.  */
-/* Called with r11 pointing to the stack header word of the caller of the */
-/* function, just beyond the end of the floating point save area.  */
-
-FUNC_START(_restfpr_14)	lfd	14,-144(11)	/* restore fp registers */
-FUNC_START(_restfpr_15)	lfd	15,-136(11)
-FUNC_START(_restfpr_16)	lfd	16,-128(11)
-FUNC_START(_restfpr_17)	lfd	17,-120(11)
-FUNC_START(_restfpr_18)	lfd	18,-112(11)
-FUNC_START(_restfpr_19)	lfd	19,-104(11)
-FUNC_START(_restfpr_20)	lfd	20,-96(11)
-FUNC_START(_restfpr_21)	lfd	21,-88(11)
-FUNC_START(_restfpr_22)	lfd	22,-80(11)
-FUNC_START(_restfpr_23)	lfd	23,-72(11)
-FUNC_START(_restfpr_24)	lfd	24,-64(11)
-FUNC_START(_restfpr_25)	lfd	25,-56(11)
-FUNC_START(_restfpr_26)	lfd	26,-48(11)
-FUNC_START(_restfpr_27)	lfd	27,-40(11)
-FUNC_START(_restfpr_28)	lfd	28,-32(11)
-FUNC_START(_restfpr_29)	lfd	29,-24(11)
-FUNC_START(_restfpr_30)	lfd	30,-16(11)
-FUNC_START(_restfpr_31)	lfd	31,-8(11)
-			blr
-FUNC_END(_restfpr_31)
-FUNC_END(_restfpr_30)
-FUNC_END(_restfpr_29)
-FUNC_END(_restfpr_28)
-FUNC_END(_restfpr_27)
-FUNC_END(_restfpr_26)
-FUNC_END(_restfpr_25)
-FUNC_END(_restfpr_24)
-FUNC_END(_restfpr_23)
-FUNC_END(_restfpr_22)
-FUNC_END(_restfpr_21)
-FUNC_END(_restfpr_20)
-FUNC_END(_restfpr_19)
-FUNC_END(_restfpr_18)
-FUNC_END(_restfpr_17)
-FUNC_END(_restfpr_16)
-FUNC_END(_restfpr_15)
-FUNC_END(_restfpr_14)
-
-/* Routines for restoring integer registers, called by the compiler.  */
-/* Called with r11 pointing to the stack header word of the caller of the */
-/* function, just beyond the end of the integer restore area.  */
-
-FUNC_START(_restgpr_14)	lwz	14,-72(11)	/* restore gp registers */
-FUNC_START(_restgpr_15)	lwz	15,-68(11)
-FUNC_START(_restgpr_16)	lwz	16,-64(11)
-FUNC_START(_restgpr_17)	lwz	17,-60(11)
-FUNC_START(_restgpr_18)	lwz	18,-56(11)
-FUNC_START(_restgpr_19)	lwz	19,-52(11)
-FUNC_START(_restgpr_20)	lwz	20,-48(11)
-FUNC_START(_restgpr_21)	lwz	21,-44(11)
-FUNC_START(_restgpr_22)	lwz	22,-40(11)
-FUNC_START(_restgpr_23)	lwz	23,-36(11)
-FUNC_START(_restgpr_24)	lwz	24,-32(11)
-FUNC_START(_restgpr_25)	lwz	25,-28(11)
-FUNC_START(_restgpr_26)	lwz	26,-24(11)
-FUNC_START(_restgpr_27)	lwz	27,-20(11)
-FUNC_START(_restgpr_28)	lwz	28,-16(11)
-FUNC_START(_restgpr_29)	lwz	29,-12(11)
-FUNC_START(_restgpr_30)	lwz	30,-8(11)
-FUNC_START(_restgpr_31)	lwz	31,-4(11)
-			blr
-FUNC_END(_restgpr_31)
-FUNC_END(_restgpr_30)
-FUNC_END(_restgpr_29)
-FUNC_END(_restgpr_28)
-FUNC_END(_restgpr_27)
-FUNC_END(_restgpr_26)
-FUNC_END(_restgpr_25)
-FUNC_END(_restgpr_24)
-FUNC_END(_restgpr_23)
-FUNC_END(_restgpr_22)
-FUNC_END(_restgpr_21)
-FUNC_END(_restgpr_20)
-FUNC_END(_restgpr_19)
-FUNC_END(_restgpr_18)
-FUNC_END(_restgpr_17)
-FUNC_END(_restgpr_16)
-FUNC_END(_restgpr_15)
-FUNC_END(_restgpr_14)
-
-/* Routines for restoring floating point registers, called by the compiler.  */
-/* Called with r11 pointing to the stack header word of the caller of the */
-/* function, just beyond the end of the floating point save area.  */
-/* In addition to restoring the fp registers, it will return to the caller's */
-/* caller */
-
-FUNC_START(_restfpr_14_x)	lfd	14,-144(11)	/* restore fp registers */
-FUNC_START(_restfpr_15_x)	lfd	15,-136(11)
-FUNC_START(_restfpr_16_x)	lfd	16,-128(11)
-FUNC_START(_restfpr_17_x)	lfd	17,-120(11)
-FUNC_START(_restfpr_18_x)	lfd	18,-112(11)
-FUNC_START(_restfpr_19_x)	lfd	19,-104(11)
-FUNC_START(_restfpr_20_x)	lfd	20,-96(11)
-FUNC_START(_restfpr_21_x)	lfd	21,-88(11)
-FUNC_START(_restfpr_22_x)	lfd	22,-80(11)
-FUNC_START(_restfpr_23_x)	lfd	23,-72(11)
-FUNC_START(_restfpr_24_x)	lfd	24,-64(11)
-FUNC_START(_restfpr_25_x)	lfd	25,-56(11)
-FUNC_START(_restfpr_26_x)	lfd	26,-48(11)
-FUNC_START(_restfpr_27_x)	lfd	27,-40(11)
-FUNC_START(_restfpr_28_x)	lfd	28,-32(11)
-FUNC_START(_restfpr_29_x)	lfd	29,-24(11)
-FUNC_START(_restfpr_30_x)	lfd	30,-16(11)
-FUNC_START(_restfpr_31_x)	lwz	0,4(11)
-				lfd	31,-8(11)
-				mtlr	0
-				mr	1,11
-				blr
-FUNC_END(_restfpr_31_x)
-FUNC_END(_restfpr_30_x)
-FUNC_END(_restfpr_29_x)
-FUNC_END(_restfpr_28_x)
-FUNC_END(_restfpr_27_x)
-FUNC_END(_restfpr_26_x)
-FUNC_END(_restfpr_25_x)
-FUNC_END(_restfpr_24_x)
-FUNC_END(_restfpr_23_x)
-FUNC_END(_restfpr_22_x)
-FUNC_END(_restfpr_21_x)
-FUNC_END(_restfpr_20_x)
-FUNC_END(_restfpr_19_x)
-FUNC_END(_restfpr_18_x)
-FUNC_END(_restfpr_17_x)
-FUNC_END(_restfpr_16_x)
-FUNC_END(_restfpr_15_x)
-FUNC_END(_restfpr_14_x)
-
-/* Routines for restoring integer registers, called by the compiler.  */
-/* Called with r11 pointing to the stack header word of the caller of the */
-/* function, just beyond the end of the integer restore area.  */
-
-FUNC_START(_restgpr_14_x)	lwz	14,-72(11)	/* restore gp registers */
-FUNC_START(_restgpr_15_x)	lwz	15,-68(11)
-FUNC_START(_restgpr_16_x)	lwz	16,-64(11)
-FUNC_START(_restgpr_17_x)	lwz	17,-60(11)
-FUNC_START(_restgpr_18_x)	lwz	18,-56(11)
-FUNC_START(_restgpr_19_x)	lwz	19,-52(11)
-FUNC_START(_restgpr_20_x)	lwz	20,-48(11)
-FUNC_START(_restgpr_21_x)	lwz	21,-44(11)
-FUNC_START(_restgpr_22_x)	lwz	22,-40(11)
-FUNC_START(_restgpr_23_x)	lwz	23,-36(11)
-FUNC_START(_restgpr_24_x)	lwz	24,-32(11)
-FUNC_START(_restgpr_25_x)	lwz	25,-28(11)
-FUNC_START(_restgpr_26_x)	lwz	26,-24(11)
-FUNC_START(_restgpr_27_x)	lwz	27,-20(11)
-FUNC_START(_restgpr_28_x)	lwz	28,-16(11)
-FUNC_START(_restgpr_29_x)	lwz	29,-12(11)
-FUNC_START(_restgpr_30_x)	lwz	30,-8(11)
-FUNC_START(_restgpr_31_x)	lwz	0,4(11)
-				lwz	31,-4(11)
-				mtlr	0
-				mr	1,11
-				blr
-FUNC_END(_restgpr_31_x)
-FUNC_END(_restgpr_30_x)
-FUNC_END(_restgpr_29_x)
-FUNC_END(_restgpr_28_x)
-FUNC_END(_restgpr_27_x)
-FUNC_END(_restgpr_26_x)
-FUNC_END(_restgpr_25_x)
-FUNC_END(_restgpr_24_x)
-FUNC_END(_restgpr_23_x)
-FUNC_END(_restgpr_22_x)
-FUNC_END(_restgpr_21_x)
-FUNC_END(_restgpr_20_x)
-FUNC_END(_restgpr_19_x)
-FUNC_END(_restgpr_18_x)
-FUNC_END(_restgpr_17_x)
-FUNC_END(_restgpr_16_x)
-FUNC_END(_restgpr_15_x)
-FUNC_END(_restgpr_14_x)
-
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h Thu Aug  2 20:00:37 2007
@@ -115,7 +115,7 @@
   %{static: %{Zdynamic: %e conflicting code gen style switches are used}}\
   "/* APPLE LOCAL mainline 2007-02-20 5005743 */" \
   %{!mmacosx-version-min=*:-mmacosx-version-min=%(darwin_minversion)} \
-  "/* APPLE LOCAL -fast and PIC code.  */"\
+  "/* APPLE LOCAL -fast or -fastf or -fastcp */"\
   %{!mkernel:%{!static:%{!fast:%{!fastf:%{!fastcp:%{!mdynamic-no-pic:-fPIC}}}}}}"
 
 #define DARWIN_ARCH_SPEC "%{m64:ppc64;:ppc}"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/default64.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/default64.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/default64.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/default64.h Thu Aug  2 20:00:37 2007
@@ -1,25 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for 64 bit powerpc linux defaulting to -m64.
-   Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT \
-  (MASK_POWERPC | MASK_PPC_GFXOPT | \
-   MASK_POWERPC64 | MASK_64BIT | MASK_NEW_MNEMONICS)

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/e500-double.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/e500-double.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/e500-double.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/e500-double.h Thu Aug  2 20:00:37 2007
@@ -1,25 +0,0 @@
-/* Target definitions for E500 with double precision FP.
-   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
-   Contributed by Aldy Hernandez (aldyh at redhat.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  SUB3TARGET_OVERRIDE_OPTIONS
-#define SUB3TARGET_OVERRIDE_OPTIONS \
-  if (!rs6000_explicit_options.float_gprs) \
-    rs6000_float_gprs = 2;

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-ci.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-ci.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-ci.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-ci.asm Thu Aug  2 20:00:37 2007
@@ -1,126 +0,0 @@
-/* crti.s for eabi
-   Copyright (C) 1996, 2000 Free Software Foundation, Inc.
-   Written By Michael Meissner
-
-This file 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.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file with other programs, and to distribute
-those programs without any restriction coming from the use of this
-file.  (The General Public License restrictions do apply in other
-respects; for example, they cover modification of the file, and
-distribution when not linked into another program.)
-
-This file 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; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.
-
-   As a special exception, if you link this library with files
-   compiled with GCC 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.
-
- */
-
-/* This file just supplies labeled starting points for the .got* and other
-   special sections.  It is linked in first before other modules.  */
- 
-	.file	"crti.s"
-	.ident	"GNU C crti.s"
-
-#include <ppc-asm.h>
-
-#ifndef __powerpc64__
-	.section ".got","aw"
-	.globl	__GOT_START__
-	.type	__GOT_START__, at object
-__GOT_START__:
-
-	.section ".got1","aw"
-	.globl	__GOT1_START__
-	.type	__GOT1_START__, at object
-__GOT1_START__:
-
-	.section ".got2","aw"
-	.globl	__GOT2_START__
-	.type	__GOT2_START__, at object
-__GOT2_START__:
-
-	.section ".fixup","aw"
-	.globl	__FIXUP_START__
-	.type	__FIXUP_START__, at object
-__FIXUP_START__:
-
-	.section ".ctors","aw"
-	.globl	__CTOR_LIST__
-	.type	__CTOR_LIST__, at object
-__CTOR_LIST__:
-
-	.section ".dtors","aw"
-	.globl	__DTOR_LIST__
-	.type	__DTOR_LIST__, at object
-__DTOR_LIST__:
-
-	.section ".sdata","aw"
-	.globl	__SDATA_START__
-	.type	__SDATA_START__, at object
-	.weak	_SDA_BASE_
-	.type	_SDA_BASE_, at object
-__SDATA_START__:
-_SDA_BASE_:
-
-	.section ".sbss","aw", at nobits
-	.globl	__SBSS_START__
-	.type	__SBSS_START__, at object
-__SBSS_START__:
-
-	.section ".sdata2","a"
-	.weak	_SDA2_BASE_
-	.type	_SDA2_BASE_, at object
-	.globl	__SDATA2_START__
-	.type	__SDATA2_START__, at object
-__SDATA2_START__:
-_SDA2_BASE_:
-
-	.section ".sbss2","a"
-	.globl	__SBSS2_START__
-	.type	__SBSS2_START__, at object
-__SBSS2_START__:
-
-	.section ".gcc_except_table","aw"
-	.globl	__EXCEPT_START__
-	.type	__EXCEPT_START__, at object
-__EXCEPT_START__:
-
-	.section ".eh_frame","aw"
-	.globl	__EH_FRAME_BEGIN__
-	.type	__EH_FRAME_BEGIN__, at object
-__EH_FRAME_BEGIN__:
-
-/* Head of __init function used for static constructors.  */
-	.section ".init","ax"
-	.align 2
-FUNC_START(__init)
-	stwu 1,-16(1)
-	mflr 0
-	stw 0,20(1)
-
-/* Head of __fini function used for static destructors.  */
-	.section ".fini","ax"
-	.align 2
-FUNC_START(__fini)
-	stwu 1,-16(1)
-	mflr 0
-	stw 0,20(1)
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-cn.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-cn.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-cn.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi-cn.asm Thu Aug  2 20:00:37 2007
@@ -1,117 +0,0 @@
-/* crtn.s for eabi
-   Copyright (C) 1996, 2000 Free Software Foundation, Inc.
-   Written By Michael Meissner
-
-This file 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.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file with other programs, and to distribute
-those programs without any restriction coming from the use of this
-file.  (The General Public License restrictions do apply in other
-respects; for example, they cover modification of the file, and
-distribution when not linked into another program.)
-
-This file 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; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.
-
-   As a special exception, if you link this library with files
-   compiled with GCC 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.
-
-  */
-
-/* This file just supplies labeled ending points for the .got* and other
-   special sections.  It is linked in last after other modules.  */
- 
-	.file	"crtn.s"
-	.ident	"GNU C crtn.s"
-
-#ifndef __powerpc64__
-	.section ".got","aw"
-	.globl	__GOT_END__
-	.type	__GOT_END__, at object
-__GOT_END__:
-
-	.section ".got1","aw"
-	.globl	__GOT1_END__
-	.type	__GOT1_END__, at object
-__GOT1_END__:
-
-	.section ".got2","aw"
-	.globl	__GOT2_END__
-	.type	__GOT2_END__, at object
-__GOT2_END__:
-
-	.section ".fixup","aw"
-	.globl	__FIXUP_END__
-	.type	__FIXUP_END__, at object
-__FIXUP_END__:
-
-	.section ".ctors","aw"
-	.globl	__CTOR_END__
-	.type	__CTOR_END__, at object
-__CTOR_END__:
-
-	.section ".dtors","aw"
-	.globl	__DTOR_END__
-	.type	__DTOR_END__, at object
-__DTOR_END__:
-
-	.section ".sdata","aw"
-	.globl	__SDATA_END__
-	.type	__SDATA_END__, at object
-__SDATA_END__:
-
-	.section ".sbss","aw", at nobits
-	.globl	__SBSS_END__
-	.type	__SBSS_END__, at object
-__SBSS_END__:
-
-	.section ".sdata2","a"
-	.globl	__SDATA2_END__
-	.type	__SDATA2_END__, at object
-__SDATA2_END__:
-
-	.section ".sbss2","a"
-	.globl	__SBSS2_END__
-	.type	__SBSS2_END__, at object
-__SBSS2_END__:
-
-	.section ".gcc_except_table","aw"
-	.globl	__EXCEPT_END__
-	.type	__EXCEPT_END__, at object
-__EXCEPT_END__:
-
-	.section ".eh_frame","aw"
-	.globl	__EH_FRAME_END__
-	.type	__EH_FRAME_END__, at object
-__EH_FRAME_END__:
-        .long   0
-
-/* Tail of __init function used for static constructors.  */
-	.section ".init","ax"
-	lwz 0,20(1)
-	mtlr 0
-	addi 1,1,16
-	blr
-
-/* Tail of __fini function used for static destructors.  */
-	.section ".fini","ax"
-	lwz 0,20(1)
-	mtlr 0
-	addi 1,1,16
-	blr
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.asm Thu Aug  2 20:00:37 2007
@@ -1,299 +0,0 @@
-/*
- * Special support for eabi and SVR4
- *
- *   Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
- *   Written By Michael Meissner
- * 
- * This file 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.
- * 
- * In addition to the permissions in the GNU General Public License, the
- * Free Software Foundation gives you unlimited permission to link the
- * compiled version of this file with other programs, and to distribute
- * those programs without any restriction coming from the use of this
- * file.  (The General Public License restrictions do apply in other
- * respects; for example, they cover modification of the file, and
- * distribution when not linked into another program.)
- * 
- * This file 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; see the file COPYING.  If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- * 
- *    As a special exception, if you link this library with files
- *    compiled with GCC 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.
- */ 
-
-/* Do any initializations needed for the eabi environment */
-
-	.file	"eabi.asm"
-	.section ".text"
-	#include "ppc-asm.h"
-
-#ifndef __powerpc64__
-
-	 .section ".got2","aw"
-	.align	2
-.LCTOC1 = . /* +32768 */
-
-/* Table of addresses */
-.Ltable = .-.LCTOC1
-	.long	.LCTOC1				/* address we are really at */
-
-.Lsda = .-.LCTOC1
-	.long	_SDA_BASE_			/* address of the first small data area */
-
-.Lsdas = .-.LCTOC1
-	.long	__SDATA_START__			/* start of .sdata/.sbss section */
-
-.Lsdae = .-.LCTOC1
-	.long	__SBSS_END__			/* end of .sdata/.sbss section */
-
-.Lsda2 = .-.LCTOC1
-	.long	_SDA2_BASE_			/* address of the second small data area */
-
-.Lsda2s = .-.LCTOC1
-	.long	__SDATA2_START__		/* start of .sdata2/.sbss2 section */
-
-.Lsda2e = .-.LCTOC1
-	.long	__SBSS2_END__			/* end of .sdata2/.sbss2 section */
-
-#ifdef _RELOCATABLE
-.Lgots = .-.LCTOC1
-	.long	__GOT_START__			/* Global offset table start */
-
-.Lgotm1 = .-.LCTOC1
-	.long	_GLOBAL_OFFSET_TABLE_-4		/* end of GOT ptrs before BLCL + 3 reserved words */
-
-.Lgotm2 = .-.LCTOC1
-	.long	_GLOBAL_OFFSET_TABLE_+12	/* start of GOT ptrs after BLCL + 3 reserved words */
-
-.Lgote = .-.LCTOC1
-	.long	__GOT_END__			/* Global offset table end */
-
-.Lgot2s = .-.LCTOC1
-	.long	__GOT2_START__			/* -mrelocatable GOT pointers start */
-
-.Lgot2e = .-.LCTOC1
-	.long	__GOT2_END__			/* -mrelocatable GOT pointers end */
-
-.Lfixups = .-.LCTOC1
-	.long	__FIXUP_START__			/* start of .fixup section */
-
-.Lfixupe = .-.LCTOC1
-	.long	__FIXUP_END__			/* end of .fixup section */
-
-.Lctors = .-.LCTOC1
-	.long	__CTOR_LIST__			/* start of .ctor section */
-
-.Lctore = .-.LCTOC1
-	.long	__CTOR_END__			/* end of .ctor section */
-
-.Ldtors = .-.LCTOC1
-	.long	__DTOR_LIST__			/* start of .dtor section */
-
-.Ldtore = .-.LCTOC1
-	.long	__DTOR_END__			/* end of .dtor section */
-
-.Lexcepts = .-.LCTOC1
-	.long	__EXCEPT_START__		/* start of .gcc_except_table section */
-
-.Lexcepte = .-.LCTOC1
-	.long	__EXCEPT_END__			/* end of .gcc_except_table section */
-
-.Linit = .-.LCTOC1
-	.long	.Linit_p			/* address of variable to say we've been called */
-
-	.text
-	.align	2
-.Lptr:
-	.long	.LCTOC1-.Laddr			/* PC relative pointer to .got2 */
-#endif
-
-	.data
-	.align	2
-.Linit_p:
-	.long	0
-
-	.text
-
-FUNC_START(__eabi)
-
-/* Eliminate -mrelocatable code if not -mrelocatable, so that this file can
-   be assembled with other assemblers than GAS.  */
-
-#ifndef _RELOCATABLE
-	addis	10,0,.Linit_p at ha		/* init flag */
-	addis	11,0,.LCTOC1 at ha			/* load address of .LCTOC1 */
-	lwz	9,.Linit_p at l(10)		/* init flag */
-	addi	11,11,.LCTOC1 at l
-	cmplwi	2,9,0				/* init flag != 0? */
-	bnelr	2				/* return now, if we've been called already */
-	stw	1,.Linit_p at l(10)		/* store a nonzero value in the done flag */
-
-#else /* -mrelocatable */
-	mflr	0
-	bl	.Laddr				/* get current address */
-.Laddr:
-	mflr	12				/* real address of .Laddr */
-	lwz	11,(.Lptr-.Laddr)(12)		/* linker generated address of .LCTOC1 */
-	add	11,11,12			/* correct to real pointer */
-	lwz	12,.Ltable(11)			/* get linker's idea of where .Laddr is */
-	lwz	10,.Linit(11)			/* address of init flag */
-	subf.	12,12,11			/* calculate difference */
-	lwzx	9,10,12				/* done flag */
-	cmplwi	2,9,0				/* init flag != 0? */
-	mtlr	0				/* restore in case branch was taken */
-	bnelr	2				/* return now, if we've been called already */
-	stwx	1,10,12				/* store a nonzero value in the done flag */
-	beq+	0,.Lsdata			/* skip if we don't need to relocate */
-
-/* We need to relocate the .got2 pointers.  */
-
-	lwz	3,.Lgot2s(11)			/* GOT2 pointers start */
-	lwz	4,.Lgot2e(11)			/* GOT2 pointers end */
-	add	3,12,3				/* adjust pointers */
-	add	4,12,4
-	bl	FUNC_NAME(__eabi_convert)	/* convert pointers in .got2 section */
-
-/* Fixup the .ctor section for static constructors */
-
-	lwz	3,.Lctors(11)			/* constructors pointers start */
-	lwz	4,.Lctore(11)			/* constructors pointers end */
-	bl	FUNC_NAME(__eabi_convert)	/* convert constructors */
-
-/* Fixup the .dtor section for static destructors */
-
-	lwz	3,.Ldtors(11)			/* destructors pointers start */
-	lwz	4,.Ldtore(11)			/* destructors pointers end */
-	bl	FUNC_NAME(__eabi_convert)	/* convert destructors */
-
-/* Fixup the .gcc_except_table section for G++ exceptions */
-
-	lwz	3,.Lexcepts(11)			/* exception table pointers start */
-	lwz	4,.Lexcepte(11)			/* exception table pointers end */
-	bl	FUNC_NAME(__eabi_convert)	/* convert exceptions */
-
-/* Fixup the addresses in the GOT below _GLOBAL_OFFSET_TABLE_-4 */
-
-	lwz	3,.Lgots(11)			/* GOT table pointers start */
-	lwz	4,.Lgotm1(11)			/* GOT table pointers below _GLOBAL_OFFSET_TABLE-4 */
-	bl	FUNC_NAME(__eabi_convert)	/* convert lower GOT */
-
-/* Fixup the addresses in the GOT above _GLOBAL_OFFSET_TABLE_+12 */
-
-	lwz	3,.Lgotm2(11)			/* GOT table pointers above _GLOBAL_OFFSET_TABLE+12 */
-	lwz	4,.Lgote(11)			/* GOT table pointers end */
-	bl	FUNC_NAME(__eabi_convert)	/* convert lower GOT */
-
-/* Fixup any user initialized pointers now (the compiler drops pointers to */
-/* each of the relocs that it does in the .fixup section).  */
-
-.Lfix:
-	lwz	3,.Lfixups(11)			/* fixup pointers start */
-	lwz	4,.Lfixupe(11)			/* fixup pointers end */
-	bl	FUNC_NAME(__eabi_uconvert)	/* convert user initialized pointers */
-
-.Lsdata:
-	mtlr	0				/* restore link register */
-#endif /* _RELOCATABLE */
-
-/* Only load up register 13 if there is a .sdata and/or .sbss section */
-	lwz	3,.Lsdas(11)			/* start of .sdata/.sbss section */
-	lwz	4,.Lsdae(11)			/* end of .sdata/.sbss section */
-	cmpw	1,3,4				/* .sdata/.sbss section non-empty? */
-	beq-	1,.Lsda2l			/* skip loading r13 */
-
-	lwz	13,.Lsda(11)			/* load r13 with _SDA_BASE_ address */
-
-/* Only load up register 2 if there is a .sdata2 and/or .sbss2 section */
-
-.Lsda2l:	
-	lwz	3,.Lsda2s(11)			/* start of .sdata/.sbss section */
-	lwz	4,.Lsda2e(11)			/* end of .sdata/.sbss section */
-	cmpw	1,3,4				/* .sdata/.sbss section non-empty? */
-	beq+	1,.Ldone			/* skip loading r2 */
-
-	lwz	2,.Lsda2(11)			/* load r2 with _SDA2_BASE_ address */
-
-/* Done adjusting pointers, return by way of doing the C++ global constructors.  */
-
-.Ldone:
-	b	FUNC_NAME(__init)	/* do any C++ global constructors (which returns to caller) */
-FUNC_END(__eabi)
-
-/* Special subroutine to convert a bunch of pointers directly.
-   r0		has original link register
-   r3		has low pointer to convert
-   r4		has high pointer to convert
-   r5 .. r10	are scratch registers
-   r11		has the address of .LCTOC1 in it.
-   r12		has the value to add to each pointer
-   r13 .. r31	are unchanged */
-	
-FUNC_START(__eabi_convert)
-        cmplw	1,3,4				/* any pointers to convert? */
-        subf	5,3,4				/* calculate number of words to convert */
-        bclr	4,4				/* return if no pointers */
-
-        srawi	5,5,2
-	addi	3,3,-4				/* start-4 for use with lwzu */
-        mtctr	5
-
-.Lcvt:
-	lwzu	6,4(3)				/* pointer to convert */
-	cmpwi	0,6,0
-	beq-	.Lcvt2				/* if pointer is null, don't convert */
-
-        add	6,6,12				/* convert pointer */
-        stw	6,0(3)
-.Lcvt2:
-        bdnz+	.Lcvt
-        blr
-
-FUNC_END(__eabi_convert)
-
-/* Special subroutine to convert the pointers the user has initialized.  The
-   compiler has placed the address of the initialized pointer into the .fixup
-   section.
-
-   r0		has original link register
-   r3		has low pointer to convert
-   r4		has high pointer to convert
-   r5 .. r10	are scratch registers
-   r11		has the address of .LCTOC1 in it.
-   r12		has the value to add to each pointer
-   r13 .. r31	are unchanged */
-	
-FUNC_START(__eabi_uconvert)
-        cmplw	1,3,4				/* any pointers to convert? */
-        subf	5,3,4				/* calculate number of words to convert */
-        bclr	4,4				/* return if no pointers */
-
-        srawi	5,5,2
-	addi	3,3,-4				/* start-4 for use with lwzu */
-        mtctr	5
-
-.Lucvt:
-	lwzu	6,4(3)				/* next pointer to pointer to convert */
-	add	6,6,12				/* adjust pointer */
-	lwz	7,0(6)				/* get the pointer it points to */
-	stw	6,0(3)				/* store adjusted pointer */
-	add	7,7,12				/* adjust */
-	stw	7,0(6)
-        bdnz+	.Lucvt
-        blr
-
-FUNC_END(__eabi_uconvert)
-
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/eabi.h Thu Aug  2 20:00:37 2007
@@ -1,61 +0,0 @@
-/* Core target definitions for GNU compiler
-   for IBM RS/6000 PowerPC targeted to embedded ELF systems.
-   Copyright (C) 1995, 1996, 2000, 2003, 2004 Free Software Foundation, Inc.
-   Contributed by Cygnus Support.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Add -meabi to target flags.  */
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI)
-
-/* Invoke an initializer function to set up the GOT.  */
-#define NAME__MAIN "__eabi"
-#define INVOKE__main
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC Embedded)");
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()          \
-  do                                      \
-    {                                     \
-      builtin_define_std ("PPC");         \
-      builtin_define ("__embedded__");    \
-      builtin_assert ("system=embedded"); \
-      builtin_assert ("cpu=powerpc");     \
-      builtin_assert ("machine=powerpc"); \
-      TARGET_OS_SYSV_CPP_BUILTINS ();     \
-    }                                     \
-  while (0)
-
-#undef TARGET_SPE_ABI
-#undef TARGET_SPE
-#undef TARGET_E500
-#undef TARGET_ISEL
-#undef TARGET_FPRS
-#undef TARGET_E500_SINGLE
-#undef TARGET_E500_DOUBLE
-
-#define TARGET_SPE_ABI rs6000_spe_abi
-#define TARGET_SPE rs6000_spe
-#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
-#define TARGET_ISEL rs6000_isel
-#define TARGET_FPRS (rs6000_float_gprs == 0)
-#define TARGET_E500_SINGLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 1)
-#define TARGET_E500_DOUBLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 2)

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/eabialtivec.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/eabialtivec.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/eabialtivec.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/eabialtivec.h Thu Aug  2 20:00:37 2007
@@ -1,31 +0,0 @@
-/* Core target definitions for GNU compiler
-   for PowerPC targeted systems with AltiVec support.
-   Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-   Contributed by Aldy Hernandez (aldyh at redhat.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Add -meabi and -maltivec to target flags.  */
-#undef  TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI | MASK_ALTIVEC)
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC Embedded with AltiVec)");
-
-#undef  SUBSUBTARGET_OVERRIDE_OPTIONS
-#define SUBSUBTARGET_OVERRIDE_OPTIONS	rs6000_altivec_abi = 1

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/eabisim.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/eabisim.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/eabisim.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/eabisim.h Thu Aug  2 20:00:37 2007
@@ -1,55 +0,0 @@
-/* Support for GCC on simulated PowerPC systems targeted to embedded ELF
-   systems.
-   Copyright (C) 1995, 1996, 2000, 2003 Free Software Foundation, Inc.
-   Contributed by Cygnus Support.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC Simulated)");
-
-#undef  TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()           \
-  do                                       \
-    {                                      \
-      builtin_define_std ("PPC");          \
-      builtin_define ("__embedded__");     \
-      builtin_define ("__simulator__");    \
-      builtin_assert ("system=embedded");  \
-      builtin_assert ("system=simulator"); \
-      builtin_assert ("cpu=powerpc");      \
-      builtin_assert ("machine=powerpc");  \
-      TARGET_OS_SYSV_CPP_BUILTINS ();      \
-    }                                      \
-  while (0)
-
-/* Make the simulator the default */
-#undef	LIB_DEFAULT_SPEC
-#define LIB_DEFAULT_SPEC "%(lib_sim)"
-
-#undef	STARTFILE_DEFAULT_SPEC
-#define STARTFILE_DEFAULT_SPEC "%(startfile_sim)"
-
-#undef	ENDFILE_DEFAULT_SPEC
-#define ENDFILE_DEFAULT_SPEC "%(endfile_sim)"
-
-#undef	LINK_START_DEFAULT_SPEC
-#define LINK_START_DEFAULT_SPEC "%(link_start_sim)"
-
-#undef	LINK_OS_DEFAULT_SPEC
-#define LINK_OS_DEFAULT_SPEC "%(link_os_sim)"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/eabispe.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/eabispe.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/eabispe.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/eabispe.h Thu Aug  2 20:00:37 2007
@@ -1,60 +0,0 @@
-/* Core target definitions for GNU compiler
-   for PowerPC embedded targeted systems with SPE support.
-   Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-   Contributed by Aldy Hernandez (aldyh at redhat.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI	\
-  | MASK_STRICT_ALIGN)
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC Embedded SPE)");
-
-#undef  SUBSUBTARGET_OVERRIDE_OPTIONS
-#define SUBSUBTARGET_OVERRIDE_OPTIONS \
-  if (rs6000_select[1].string == NULL) \
-    rs6000_cpu = PROCESSOR_PPC8540; \
-  if (!rs6000_explicit_options.abi) \
-    rs6000_spe_abi = 1; \
-  if (!rs6000_explicit_options.float_gprs) \
-    rs6000_float_gprs = 1; \
-  /* See note below.  */ \
-  /*if (!rs6000_explicit_options.long_double)*/ \
-  /*  rs6000_long_double_type_size = 128;*/ \
-  if (!rs6000_explicit_options.spe) \
-    rs6000_spe = 1; \
-  if (!rs6000_explicit_options.isel) \
-    rs6000_isel = 1; \
-  if (target_flags & MASK_64BIT) \
-    error ("-m64 not supported in this configuration")
-
-/* The e500 ABI says that either long doubles are 128 bits, or if
-   implemented in any other size, the compiler/linker should error out.
-   We have no emulation libraries for 128 bit long doubles, and I hate
-   the dozens of failures on the regression suite.  So I'm breaking ABI
-   specifications, until I properly fix the emulation.
-
-   Enable these later.
-#undef CPP_LONGDOUBLE_DEFAULT_SPEC
-#define CPP_LONGDOUBLE_DEFAULT_SPEC "-D__LONG_DOUBLE_128__=1"
-*/
-
-#undef  ASM_DEFAULT_SPEC
-#define	ASM_DEFAULT_SPEC "-mppc -mspe -me500"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/freebsd.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/freebsd.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/freebsd.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/freebsd.h Thu Aug  2 20:00:37 2007
@@ -1,72 +0,0 @@
-/* Definitions for PowerPC running FreeBSD using the ELF format
-   Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-   Contributed by David E. O'Brien <obrien at FreeBSD.org> and BSDi.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Override the defaults, which exist to force the proper definition.  */
-
-#undef	CPP_OS_DEFAULT_SPEC
-#define CPP_OS_DEFAULT_SPEC "%(cpp_os_freebsd)"
-
-#undef	STARTFILE_DEFAULT_SPEC
-#define STARTFILE_DEFAULT_SPEC "%(startfile_freebsd)"
-
-#undef	ENDFILE_DEFAULT_SPEC
-#define ENDFILE_DEFAULT_SPEC "%(endfile_freebsd)"
-
-#undef	LIB_DEFAULT_SPEC
-#define LIB_DEFAULT_SPEC "%(lib_freebsd)"
-
-#undef	LINK_START_DEFAULT_SPEC
-#define LINK_START_DEFAULT_SPEC "%(link_start_freebsd)"
-
-#undef	LINK_OS_DEFAULT_SPEC
-#define	LINK_OS_DEFAULT_SPEC "%(link_os_freebsd)"
-
-/* XXX: This is wrong for many platforms in sysv4.h.
-   We should work on getting that definition fixed.  */
-#undef  LINK_SHLIB_SPEC
-#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
-
-
-/************************[  Target stuff  ]***********************************/
-
-/* Define the actual types of some ANSI-mandated types.  
-   Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
-   c-common.c, and config/<arch>/<arch>.h.  */
-
-#undef  SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-/* rs6000.h gets this wrong for FreeBSD.  We use the GCC defaults instead.  */
-#undef WCHAR_TYPE
-
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (FreeBSD/PowerPC ELF)");
-
-/* Override rs6000.h definition.  */
-#undef  ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-/* Override rs6000.h definition.  */
-#undef  ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/gnu.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/gnu.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/gnu.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/gnu.h Thu Aug  2 20:00:37 2007
@@ -1,38 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for PowerPC machines running GNU.
-   Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef	CPP_OS_DEFAULT_SPEC
-#define CPP_OS_DEFAULT_SPEC "%(cpp_os_gnu)"
-
-#undef	STARTFILE_DEFAULT_SPEC
-#define STARTFILE_DEFAULT_SPEC "%(startfile_gnu)"
-
-#undef	ENDFILE_DEFAULT_SPEC
-#define ENDFILE_DEFAULT_SPEC "%(endfile_gnu)"
-
-#undef	LINK_START_DEFAULT_SPEC
-#define LINK_START_DEFAULT_SPEC "%(link_start_gnu)"
-
-#undef	LINK_OS_DEFAULT_SPEC
-#define LINK_OS_DEFAULT_SPEC "%(link_os_gnu)"
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC GNU)");

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/kaos-ppc.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/kaos-ppc.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/kaos-ppc.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/kaos-ppc.h Thu Aug  2 20:00:37 2007
@@ -1,24 +0,0 @@
-/* Definitions of target machine for GNU compiler.
-   kaOS on PowerPC architecture version.
-   Copyright (C) 2003 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fputs (" (PowerPC/kaOS[ELF])", stderr);
-

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/libgcc-ppc-glibc.ver
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/libgcc-ppc-glibc.ver?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/libgcc-ppc-glibc.ver (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/libgcc-ppc-glibc.ver Thu Aug  2 20:00:37 2007
@@ -1,52 +0,0 @@
-%ifndef _SOFT_FLOAT
-%ifndef __powerpc64__
-%exclude {
-  __multc3
-  __divtc3
-  __powitf2
-  __fixtfdi
-  __fixunstfdi
-  __floatditf
-}
-
-GCC_4.1.0 {
-  # long double support
-  __multc3
-  __divtc3
-  __powitf2
-  __fixtfdi
-  __fixunstfdi
-  __floatditf
-
-%else
-GCC_3.4.4 {
-%endif
-%else
-GCC_4.2.0 {
-%endif
-
-  # long double support
-  __gcc_qadd
-  __gcc_qsub
-  __gcc_qmul
-  __gcc_qdiv
-
-%ifdef _SOFT_FLOAT
-  __gcc_qneg
-  __gcc_qeq
-  __gcc_qne
-  __gcc_qgt
-  __gcc_qge
-  __gcc_qlt
-  __gcc_qle
-  __gcc_qunord
-  __gcc_stoq
-  __gcc_dtoq
-  __gcc_qtos
-  __gcc_qtod
-  __gcc_qtoi
-  __gcc_qtou
-  __gcc_itoq
-  __gcc_utoq
-%endif
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/linux-unwind.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/linux-unwind.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/linux-unwind.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/linux-unwind.h Thu Aug  2 20:00:37 2007
@@ -1,348 +0,0 @@
-/* DWARF2 EH unwinding support for PowerPC and PowerPC64 Linux.
-   Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   In addition to the permissions in the GNU General Public License,
-   the Free Software Foundation gives you unlimited permission to link
-   the compiled version of this file with other programs, and to
-   distribute those programs without any restriction coming from the
-   use of this file.  (The General Public License restrictions do
-   apply in other respects; for example, they cover modification of
-   the file, and distribution when not linked into another program.)
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* This file defines our own versions of various kernel and user
-   structs, so that system headers are not needed, which otherwise
-   can make bootstrapping a new toolchain difficult.  Do not use
-   these structs elsewhere;  Many fields are missing, particularly
-   from the end of the structures.  */
-
-struct gcc_vregs
-{
-  __attribute__ ((vector_size (16))) int vr[32];
-#ifdef __powerpc64__
-  unsigned int pad1[3];
-  unsigned int vscr;
-  unsigned int vsave;
-  unsigned int pad2[3];
-#else
-  unsigned int vsave;
-  unsigned int pad[2];
-  unsigned int vscr;
-#endif
-};
-
-struct gcc_regs
-{
-  unsigned long gpr[32];
-  unsigned long nip;
-  unsigned long msr;
-  unsigned long orig_gpr3;
-  unsigned long ctr;
-  unsigned long link;
-  unsigned long xer;
-  unsigned long ccr;
-  unsigned long softe;
-  unsigned long trap;
-  unsigned long dar;
-  unsigned long dsisr;
-  unsigned long result;
-  unsigned long pad1[4];
-  double fpr[32];
-  unsigned int pad2;
-  unsigned int fpscr;
-#ifdef __powerpc64__
-  struct gcc_vregs *vp;
-#else
-  unsigned int pad3[2];
-#endif
-  struct gcc_vregs vregs;
-};
-
-struct gcc_ucontext
-{
-#ifdef __powerpc64__
-  unsigned long pad[28];
-#else
-  unsigned long pad[12];
-#endif
-  struct gcc_regs *regs;
-  struct gcc_regs rsave;
-};
-
-#ifdef __powerpc64__
-
-enum { SIGNAL_FRAMESIZE = 128 };
-
-/* If PC is at a sigreturn trampoline, return a pointer to the
-   regs.  Otherwise return NULL.  */
-
-static struct gcc_regs *
-get_regs (struct _Unwind_Context *context)
-{
-  const unsigned char *pc = context->ra;
-
-  /* addi r1, r1, 128; li r0, 0x0077; sc  (sigreturn) */
-  /* addi r1, r1, 128; li r0, 0x00AC; sc  (rt_sigreturn) */
-  if (*(unsigned int *) (pc + 0) != 0x38210000 + SIGNAL_FRAMESIZE
-      || *(unsigned int *) (pc + 8) != 0x44000002)
-    return NULL;
-  if (*(unsigned int *) (pc + 4) == 0x38000077)
-    {
-      struct sigframe {
-	char gap[SIGNAL_FRAMESIZE];
-	unsigned long pad[7];
-	struct gcc_regs *regs;
-      } *frame = (struct sigframe *) context->cfa;
-      return frame->regs;
-    }
-  else if (*(unsigned int *) (pc + 4) == 0x380000AC)
-    {
-      /* This works for 2.4 kernels, but not for 2.6 kernels with vdso
-	 because pc isn't pointing into the stack.  Can be removed when
-	 no one is running 2.4.19 or 2.4.20, the first two ppc64
-	 kernels released.  */
-      struct rt_sigframe_24 {
-	int tramp[6];
-	void *pinfo;
-	struct gcc_ucontext *puc;
-      } *frame24 = (struct rt_sigframe_24 *) pc;
-
-      /* Test for magic value in *puc of vdso.  */
-      if ((long) frame24->puc != -21 * 8)
-	return frame24->puc->regs;
-      else
-	{
-	  /* This works for 2.4.21 and later kernels.  */
-	  struct rt_sigframe {
-	    char gap[SIGNAL_FRAMESIZE];
-	    struct gcc_ucontext uc;
-	    unsigned long pad[2];
-	    int tramp[6];
-	    void *pinfo;
-	    struct gcc_ucontext *puc;
-	  } *frame = (struct rt_sigframe *) context->cfa;
-	  return frame->uc.regs;
-	}
-    }
-  return NULL;
-}
-
-#else  /* !__powerpc64__ */
-
-enum { SIGNAL_FRAMESIZE = 64 };
-
-static struct gcc_regs *
-get_regs (struct _Unwind_Context *context)
-{
-  const unsigned char *pc = context->ra;
-
-  /* li r0, 0x7777; sc  (sigreturn old)  */
-  /* li r0, 0x0077; sc  (sigreturn new)  */
-  /* li r0, 0x6666; sc  (rt_sigreturn old)  */
-  /* li r0, 0x00AC; sc  (rt_sigreturn new)  */
-  if (*(unsigned int *) (pc + 4) != 0x44000002)
-    return NULL;
-  if (*(unsigned int *) (pc + 0) == 0x38007777
-      || *(unsigned int *) (pc + 0) == 0x38000077)
-    {
-      struct sigframe {
-	char gap[SIGNAL_FRAMESIZE];
-	unsigned long pad[7];
-	struct gcc_regs *regs;
-      } *frame = (struct sigframe *) context->cfa;
-      return frame->regs;
-    }
-  else if (*(unsigned int *) (pc + 0) == 0x38006666
-	   || *(unsigned int *) (pc + 0) == 0x380000AC)
-    {
-      struct rt_sigframe {
-	char gap[SIGNAL_FRAMESIZE + 16];
-	char siginfo[128];
-	struct gcc_ucontext uc;
-      } *frame = (struct rt_sigframe *) context->cfa;
-      return frame->uc.regs;
-    }
-  return NULL;
-}
-#endif
-
-/* Find an entry in the process auxiliary vector.  The canonical way to
-   test for VMX is to look at AT_HWCAP.  */
-
-static long
-ppc_linux_aux_vector (long which)
-{
-  /* __libc_stack_end holds the original stack passed to a process.  */
-  extern long *__libc_stack_end;
-  long argc;
-  char **argv;
-  char **envp;
-  struct auxv
-  {
-    long a_type;
-    long a_val;
-  } *auxp;
-
-  /* The Linux kernel puts argc first on the stack.  */
-  argc = __libc_stack_end[0];
-  /* Followed by argv, NULL terminated.  */
-  argv = (char **) __libc_stack_end + 1;
-  /* Followed by environment string pointers, NULL terminated. */
-  envp = argv + argc + 1;
-  while (*envp++)
-    continue;
-  /* Followed by the aux vector, zero terminated.  */
-  for (auxp = (struct auxv *) envp; auxp->a_type != 0; ++auxp)
-    if (auxp->a_type == which)
-      return auxp->a_val;
-  return 0;
-}
-
-/* Do code reading to identify a signal frame, and set the frame
-   state data appropriately.  See unwind-dw2.c for the structs.  */
-
-#define MD_FALLBACK_FRAME_STATE_FOR ppc_fallback_frame_state
-
-static _Unwind_Reason_Code
-ppc_fallback_frame_state (struct _Unwind_Context *context,
-			  _Unwind_FrameState *fs)
-{
-  static long hwcap = 0;
-  struct gcc_regs *regs = get_regs (context);
-  long new_cfa;
-  int i;
-
-  if (regs == NULL)
-    return _URC_END_OF_STACK;
-
-  new_cfa = regs->gpr[STACK_POINTER_REGNUM];
-  fs->cfa_how = CFA_REG_OFFSET;
-  fs->cfa_reg = STACK_POINTER_REGNUM;
-  fs->cfa_offset = new_cfa - (long) context->cfa;
-
-  for (i = 0; i < 32; i++)
-    if (i != STACK_POINTER_REGNUM)
-      {
-	fs->regs.reg[i].how = REG_SAVED_OFFSET;
-	fs->regs.reg[i].loc.offset = (long) &regs->gpr[i] - new_cfa;
-      }
-
-  fs->regs.reg[CR2_REGNO].how = REG_SAVED_OFFSET;
-  fs->regs.reg[CR2_REGNO].loc.offset = (long) &regs->ccr - new_cfa;
-
-  fs->regs.reg[LINK_REGISTER_REGNUM].how = REG_SAVED_OFFSET;
-  fs->regs.reg[LINK_REGISTER_REGNUM].loc.offset = (long) &regs->link - new_cfa;
-
-  fs->regs.reg[ARG_POINTER_REGNUM].how = REG_SAVED_OFFSET;
-  fs->regs.reg[ARG_POINTER_REGNUM].loc.offset = (long) &regs->nip - new_cfa;
-  fs->retaddr_column = ARG_POINTER_REGNUM;
-  fs->signal_frame = 1;
-
-  if (hwcap == 0)
-    {
-      hwcap = ppc_linux_aux_vector (16);
-      /* These will already be set if we found AT_HWCAP.  A nonzero
-	 value stops us looking again if for some reason we couldn't
-	 find AT_HWCAP.  */
-#ifdef __powerpc64__
-      hwcap |= 0xc0000000;
-#else
-      hwcap |= 0x80000000;
-#endif
-    }
-
-  /* If we have a FPU...  */
-  if (hwcap & 0x08000000)
-    for (i = 0; i < 32; i++)
-      {
-	fs->regs.reg[i + 32].how = REG_SAVED_OFFSET;
-	fs->regs.reg[i + 32].loc.offset = (long) &regs->fpr[i] - new_cfa;
-      }
-
-  /* If we have a VMX unit...  */
-  if (hwcap & 0x10000000)
-    {
-      struct gcc_vregs *vregs;
-#ifdef __powerpc64__
-      vregs = regs->vp;
-#else
-      vregs = &regs->vregs;
-#endif
-      if (regs->msr & (1 << 25))
-	{
-	  for (i = 0; i < 32; i++)
-	    {
-	      fs->regs.reg[i + FIRST_ALTIVEC_REGNO].how = REG_SAVED_OFFSET;
-	      fs->regs.reg[i + FIRST_ALTIVEC_REGNO].loc.offset
-		= (long) &vregs[i] - new_cfa;
-	    }
-
-	  fs->regs.reg[VSCR_REGNO].how = REG_SAVED_OFFSET;
-	  fs->regs.reg[VSCR_REGNO].loc.offset = (long) &vregs->vscr - new_cfa;
-	}
-
-      fs->regs.reg[VRSAVE_REGNO].how = REG_SAVED_OFFSET;
-      fs->regs.reg[VRSAVE_REGNO].loc.offset = (long) &vregs->vsave - new_cfa;
-    }
-
-  return _URC_NO_REASON;
-}
-
-#define MD_FROB_UPDATE_CONTEXT frob_update_context
-
-static void
-frob_update_context (struct _Unwind_Context *context, _Unwind_FrameState *fs ATTRIBUTE_UNUSED)
-{
-  const unsigned int *pc = (const unsigned int *) context->ra;
-
-  /* Fix up for 2.6.12 - 2.6.16 Linux kernels that have vDSO, but don't
-     have S flag in it.  */
-#ifdef __powerpc64__
-  /* addi r1, r1, 128; li r0, 0x0077; sc  (sigreturn) */
-  /* addi r1, r1, 128; li r0, 0x00AC; sc  (rt_sigreturn) */
-  if (pc[0] == 0x38210000 + SIGNAL_FRAMESIZE
-      && (pc[1] == 0x38000077 || pc[1] == 0x380000AC)
-      && pc[2] == 0x44000002)
-    _Unwind_SetSignalFrame (context, 1);
-#else
-  /* li r0, 0x7777; sc  (sigreturn old)  */
-  /* li r0, 0x0077; sc  (sigreturn new)  */
-  /* li r0, 0x6666; sc  (rt_sigreturn old)  */
-  /* li r0, 0x00AC; sc  (rt_sigreturn new)  */
-  if ((pc[0] == 0x38007777 || pc[0] == 0x38000077
-       || pc[0] == 0x38006666 || pc[0] == 0x380000AC)
-      && pc[1] == 0x44000002)
-    _Unwind_SetSignalFrame (context, 1);
-#endif
-
-#ifdef __powerpc64__
-  if (fs->regs.reg[2].how == REG_UNSAVED)
-    {
-      /* If the current unwind info (FS) does not contain explicit info
-	 saving R2, then we have to do a minor amount of code reading to
-	 figure out if it was saved.  The big problem here is that the
-	 code that does the save/restore is generated by the linker, so
-	 we have no good way to determine at compile time what to do.  */
-      unsigned int *insn
-	= (unsigned int *) _Unwind_GetGR (context, LINK_REGISTER_REGNUM);
-      if (*insn == 0xE8410028)
-	_Unwind_SetGRPtr (context, 2, context->cfa + 40);
-    }
-#endif
-}

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/linux.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/linux.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/linux.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/linux.h Thu Aug  2 20:00:37 2007
@@ -1,127 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for PowerPC machines running Linux.
-   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006 Free Software Foundation, Inc.
-   Contributed by Michael Meissner (meissner at cygnus.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef MD_EXEC_PREFIX
-#undef MD_STARTFILE_PREFIX
-
-/* Linux doesn't support saving and restoring 64-bit regs in a 32-bit
-   process.  */
-#define OS_MISSING_POWERPC64 1
-
-/* We use glibc _mcount for profiling.  */
-#define NO_PROFILE_COUNTERS 1
-
-/* glibc has float and long double forms of math functions.  */
-#undef  TARGET_C99_FUNCTIONS
-#define TARGET_C99_FUNCTIONS (OPTION_GLIBC)
-
-#undef  TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      builtin_define_std ("PPC");		\
-      builtin_define_std ("powerpc");		\
-      builtin_assert ("cpu=powerpc");		\
-      builtin_assert ("machine=powerpc");	\
-      TARGET_OS_SYSV_CPP_BUILTINS ();		\
-    }						\
-  while (0)
-
-#undef	CPP_OS_DEFAULT_SPEC
-#define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
-
-/* The GNU C++ standard library currently requires _GNU_SOURCE being
-   defined on glibc-based systems. This temporary hack accomplishes this,
-   it should go away as soon as libstdc++-v3 has a real fix.  */
-#undef  CPLUSPLUS_CPP_SPEC
-#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
-
-#undef  LINK_SHLIB_SPEC
-#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
-
-#undef	LIB_DEFAULT_SPEC
-#define LIB_DEFAULT_SPEC "%(lib_linux)"
-
-#undef	STARTFILE_DEFAULT_SPEC
-#define STARTFILE_DEFAULT_SPEC "%(startfile_linux)"
-
-#undef	ENDFILE_DEFAULT_SPEC
-#define ENDFILE_DEFAULT_SPEC "%(endfile_linux)"
-
-#undef	LINK_START_DEFAULT_SPEC
-#define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
-#undef	LINK_OS_DEFAULT_SPEC
-#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-
-#define LINK_GCC_C_SEQUENCE_SPEC \
-  "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-
-/* Use --as-needed -lgcc_s for eh support.  */
-#ifdef HAVE_LD_AS_NEEDED
-#define USE_LD_AS_NEEDED 1
-#endif
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC GNU/Linux)");
-
-/* Override rs6000.h definition.  */
-#undef  ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-/* Override rs6000.h definition.  */
-#undef  ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-/* For backward compatibility, we must continue to use the AIX
-   structure return convention.  */
-#undef  DRAFT_V4_STRUCT_RET
-#define DRAFT_V4_STRUCT_RET 1
-
-/* We are 32-bit all the time, so optimize a little.  */
-#undef TARGET_64BIT
-#define TARGET_64BIT 0
- 
-/* We don't need to generate entries in .fixup, except when
-   -mrelocatable or -mrelocatable-lib is given.  */
-#undef RELOCATABLE_NEEDS_FIXUP
-#define RELOCATABLE_NEEDS_FIXUP \
-  (target_flags & target_flags_explicit & MASK_RELOCATABLE)
-
-#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-
-#define TARGET_POSIX_IO
-
-#define MD_UNWIND_SUPPORT "config/rs6000/linux-unwind.h"
-
-#ifdef TARGET_LIBC_PROVIDES_SSP
-/* ppc32 glibc provides __stack_chk_guard in -0x7008(2).  */
-#define TARGET_THREAD_SSP_OFFSET	-0x7008
-#endif
-
-#define POWERPC_LINUX
-
-/* ppc linux has 128-bit long double support in glibc 2.4 and later.  */
-#ifdef TARGET_DEFAULT_LONG_DOUBLE_128
-#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.h Thu Aug  2 20:00:37 2007
@@ -1,530 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for 64 bit PowerPC linux.
-   Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#ifndef RS6000_BI_ARCH
-
-#undef	DEFAULT_ABI
-#define	DEFAULT_ABI ABI_AIX
-
-#undef	TARGET_64BIT
-#define	TARGET_64BIT 1
-
-#define	DEFAULT_ARCH64_P 1
-#define	RS6000_BI_ARCH_P 0
-
-#else
-
-#define	DEFAULT_ARCH64_P (TARGET_DEFAULT & MASK_64BIT)
-#define	RS6000_BI_ARCH_P 1
-
-#endif
-
-#ifdef IN_LIBGCC2
-#undef TARGET_64BIT
-#ifdef __powerpc64__
-#define TARGET_64BIT 1
-#else
-#define TARGET_64BIT 0
-#endif
-#endif
-
-#undef	TARGET_AIX
-#define	TARGET_AIX TARGET_64BIT
-
-#ifdef HAVE_LD_NO_DOT_SYMS
-/* New ABI uses a local sym for the function entry point.  */
-extern int dot_symbols;
-#undef DOT_SYMBOLS
-#define DOT_SYMBOLS dot_symbols
-#endif
-
-#undef  PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_POWER4
-#undef  PROCESSOR_DEFAULT64
-#define PROCESSOR_DEFAULT64 PROCESSOR_POWER4
-
-/* We don't need to generate entries in .fixup, except when
-   -mrelocatable or -mrelocatable-lib is given.  */
-#undef RELOCATABLE_NEEDS_FIXUP
-#define RELOCATABLE_NEEDS_FIXUP \
-  (target_flags & target_flags_explicit & MASK_RELOCATABLE)
-
-#undef	RS6000_ABI_NAME
-#define	RS6000_ABI_NAME "linux"
-
-#define INVALID_64BIT "-m%s not supported in this configuration"
-#define INVALID_32BIT INVALID_64BIT
-
-#undef	SUBSUBTARGET_OVERRIDE_OPTIONS
-#define	SUBSUBTARGET_OVERRIDE_OPTIONS				\
-  do								\
-    {								\
-      if (!rs6000_explicit_options.alignment)			\
-	rs6000_alignment_flags = MASK_ALIGN_NATURAL;		\
-      if (TARGET_64BIT)						\
-	{							\
-	  if (DEFAULT_ABI != ABI_AIX)				\
-	    {							\
-	      rs6000_current_abi = ABI_AIX;			\
-	      error (INVALID_64BIT, "call");			\
-	    }							\
-	  dot_symbols = !strcmp (rs6000_abi_name, "aixdesc");	\
-	  if (target_flags & MASK_RELOCATABLE)			\
-	    {							\
-	      target_flags &= ~MASK_RELOCATABLE;		\
-	      error (INVALID_64BIT, "relocatable");		\
-	    }							\
-	  if (target_flags & MASK_EABI)				\
-	    {							\
-	      target_flags &= ~MASK_EABI;			\
-	      error (INVALID_64BIT, "eabi");			\
-	    }							\
-	  if (target_flags & MASK_PROTOTYPE)			\
-	    {							\
-	      target_flags &= ~MASK_PROTOTYPE;			\
-	      error (INVALID_64BIT, "prototype");		\
-	    }							\
-	  if ((target_flags & MASK_POWERPC64) == 0)		\
-	    {							\
-	      target_flags |= MASK_POWERPC64;			\
-	      error ("-m64 requires a PowerPC64 cpu");		\
-	    }							\
-	}							\
-      else							\
-	{							\
-	  if (!RS6000_BI_ARCH_P)				\
-	    error (INVALID_32BIT, "32");			\
-	  if (TARGET_PROFILE_KERNEL)				\
-	    {							\
-	      target_flags &= ~MASK_PROFILE_KERNEL;		\
-	      error (INVALID_32BIT, "profile-kernel");		\
-	    }							\
-	}							\
-    }								\
-  while (0)
-
-#ifdef	RS6000_BI_ARCH
-
-#undef	OVERRIDE_OPTIONS
-#define	OVERRIDE_OPTIONS \
-  rs6000_override_options (((TARGET_DEFAULT ^ target_flags) & MASK_64BIT) \
-			   ? (char *) 0 : TARGET_CPU_DEFAULT)
-
-#endif
-
-#undef	ASM_DEFAULT_SPEC
-#undef	ASM_SPEC
-#undef	LINK_OS_LINUX_SPEC
-
-#ifndef	RS6000_BI_ARCH
-#define	ASM_DEFAULT_SPEC "-mppc64"
-#define	ASM_SPEC	 "%(asm_spec64) %(asm_spec_common)"
-#define	LINK_OS_LINUX_SPEC "%(link_os_linux_spec64)"
-#else
-#if DEFAULT_ARCH64_P
-#define	ASM_DEFAULT_SPEC "-mppc%{!m32:64}"
-#define	ASM_SPEC	 "%{m32:%(asm_spec32)}%{!m32:%(asm_spec64)} %(asm_spec_common)"
-#define	LINK_OS_LINUX_SPEC "%{m32:%(link_os_linux_spec32)}%{!m32:%(link_os_linux_spec64)}"
-#else
-#define	ASM_DEFAULT_SPEC "-mppc%{m64:64}"
-#define	ASM_SPEC	 "%{!m64:%(asm_spec32)}%{m64:%(asm_spec64)} %(asm_spec_common)"
-#define	LINK_OS_LINUX_SPEC "%{!m64:%(link_os_linux_spec32)}%{m64:%(link_os_linux_spec64)}"
-#endif
-#endif
-
-#define ASM_SPEC32 "-a32 %{n} %{T} %{Ym,*} %{Yd,*} \
-%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \
-%{memb} %{!memb: %{msdata: -memb} %{msdata=eabi: -memb}} \
-%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
-    %{mcall-freebsd: -mbig} \
-    %{mcall-i960-old: -mlittle} \
-    %{mcall-linux: -mbig} \
-    %{mcall-gnu: -mbig} \
-    %{mcall-netbsd: -mbig} \
-}}}}"
-
-#define ASM_SPEC64 "-a64"
-
-#define ASM_SPEC_COMMON "%(asm_cpu) \
-"/* APPLE LOCAL mainline 2007-03-13 5040758 */" \
-%{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
-%{v:-V} %{Qy:} %{!Qn:-Qy} %{Wa,*:%*} \
-%{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian}"
-
-#undef	SUBSUBTARGET_EXTRA_SPECS
-#define SUBSUBTARGET_EXTRA_SPECS \
-  { "asm_spec_common",		ASM_SPEC_COMMON },			\
-  { "asm_spec32",		ASM_SPEC32 },				\
-  { "asm_spec64",		ASM_SPEC64 },				\
-  { "link_os_linux_spec32",	LINK_OS_LINUX_SPEC32 },			\
-  { "link_os_linux_spec64",	LINK_OS_LINUX_SPEC64 },
-
-#undef	MULTILIB_DEFAULTS
-#if DEFAULT_ARCH64_P
-#define MULTILIB_DEFAULTS { "m64" }
-#else
-#define MULTILIB_DEFAULTS { "m32" }
-#endif
-
-#ifndef RS6000_BI_ARCH
-
-/* 64-bit PowerPC Linux is always big-endian.  */
-#undef	TARGET_LITTLE_ENDIAN
-#define TARGET_LITTLE_ENDIAN	0
-
-/* 64-bit PowerPC Linux always has a TOC.  */
-#undef  TARGET_TOC
-#define	TARGET_TOC		1
-
-/* Some things from sysv4.h we don't do when 64 bit.  */
-#undef	TARGET_RELOCATABLE
-#define	TARGET_RELOCATABLE	0
-#undef	TARGET_EABI
-#define	TARGET_EABI		0
-#undef	TARGET_PROTOTYPE
-#define	TARGET_PROTOTYPE	0
-#undef RELOCATABLE_NEEDS_FIXUP
-#define RELOCATABLE_NEEDS_FIXUP 0
-
-#endif
-
-/* We use glibc _mcount for profiling.  */
-#define NO_PROFILE_COUNTERS 1
-#define PROFILE_HOOK(LABEL) \
-  do { if (TARGET_64BIT) output_profile_hook (LABEL); } while (0)
-
-/* PowerPC64 Linux word-aligns FP doubles when -malign-power is given.  */
-#undef  ADJUST_FIELD_ALIGN
-#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
-  ((TARGET_ALTIVEC && TREE_CODE (TREE_TYPE (FIELD)) == VECTOR_TYPE)	\
-   ? 128								\
-   : (TARGET_64BIT							\
-      && TARGET_ALIGN_NATURAL == 0					\
-      && TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE		\
-		    ? get_inner_array_type (FIELD)			\
-		    : TREE_TYPE (FIELD)) == DFmode)			\
-   ? MIN ((COMPUTED), 32)						\
-   : (COMPUTED))
-
-/* PowerPC64 Linux increases natural record alignment to doubleword if
-   the first field is an FP double, only if in power alignment mode.  */
-#undef  ROUND_TYPE_ALIGN
-#define ROUND_TYPE_ALIGN(STRUCT, COMPUTED, SPECIFIED)			\
-  ((TARGET_64BIT							\
-    && (TREE_CODE (STRUCT) == RECORD_TYPE				\
-	|| TREE_CODE (STRUCT) == UNION_TYPE				\
-	|| TREE_CODE (STRUCT) == QUAL_UNION_TYPE)			\
-    && TARGET_ALIGN_NATURAL == 0)					\
-   ? rs6000_special_round_type_align (STRUCT, COMPUTED, SPECIFIED)	\
-   : MAX ((COMPUTED), (SPECIFIED)))
-
-/* Use the default for compiling target libs.  */
-#ifdef IN_TARGET_LIBS
-#undef TARGET_ALIGN_NATURAL
-#define TARGET_ALIGN_NATURAL 1
-#endif
-
-/* Indicate that jump tables go in the text section.  */
-#undef  JUMP_TABLES_IN_TEXT_SECTION
-#define JUMP_TABLES_IN_TEXT_SECTION TARGET_64BIT
-
-/* The linux ppc64 ABI isn't explicit on whether aggregates smaller
-   than a doubleword should be padded upward or downward.  You could
-   reasonably assume that they follow the normal rules for structure
-   layout treating the parameter area as any other block of memory,
-   then map the reg param area to registers.  i.e. pad upward.
-   Setting both of the following defines results in this behavior.
-   Setting just the first one will result in aggregates that fit in a
-   doubleword being padded downward, and others being padded upward.
-   Not a bad idea as this results in struct { int x; } being passed
-   the same way as an int.  */
-#define AGGREGATE_PADDING_FIXED TARGET_64BIT
-#define AGGREGATES_PAD_UPWARD_ALWAYS 0
-
-/* Specify padding for the last element of a block move between
-   registers and memory.  FIRST is nonzero if this is the only
-   element.  */
-#define BLOCK_REG_PADDING(MODE, TYPE, FIRST) \
-  (!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE))
-
-/* __throw will restore its own return address to be the same as the
-   return address of the function that the throw is being made to.
-   This is unfortunate, because we want to check the original
-   return address to see if we need to restore the TOC.
-   So we have to squirrel it away with this.  */
-#define SETUP_FRAME_ADDRESSES() \
-  do { if (TARGET_64BIT) rs6000_aix_emit_builtin_unwind_init (); } while (0)
-
-/* Override svr4.h  */
-#undef MD_EXEC_PREFIX
-#undef MD_STARTFILE_PREFIX
-
-/* Linux doesn't support saving and restoring 64-bit regs in a 32-bit
-   process.  */
-#define OS_MISSING_POWERPC64 !TARGET_64BIT
-
-/* glibc has float and long double forms of math functions.  */
-#undef  TARGET_C99_FUNCTIONS
-#define TARGET_C99_FUNCTIONS (OPTION_GLIBC)
-
-#undef  TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()			\
-  do							\
-    {							\
-      if (TARGET_64BIT)					\
-	{						\
-	  builtin_define ("__PPC__");			\
-	  builtin_define ("__PPC64__");			\
-	  builtin_define ("__powerpc__");		\
-	  builtin_define ("__powerpc64__");		\
-	  builtin_assert ("cpu=powerpc64");		\
-	  builtin_assert ("machine=powerpc64");		\
-	}						\
-      else						\
-	{						\
-	  builtin_define_std ("PPC");			\
-	  builtin_define_std ("powerpc");		\
-	  builtin_assert ("cpu=powerpc");		\
-	  builtin_assert ("machine=powerpc");		\
-	  TARGET_OS_SYSV_CPP_BUILTINS ();		\
-	}						\
-    }							\
-  while (0)
-
-#undef  CPP_OS_DEFAULT_SPEC
-#define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
-
-/* The GNU C++ standard library currently requires _GNU_SOURCE being
-   defined on glibc-based systems. This temporary hack accomplishes this,
-   it should go away as soon as libstdc++-v3 has a real fix.  */
-#undef  CPLUSPLUS_CPP_SPEC
-#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
-
-#undef  LINK_SHLIB_SPEC
-#define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}}"
-
-#undef  LIB_DEFAULT_SPEC
-#define LIB_DEFAULT_SPEC "%(lib_linux)"
-
-#undef  STARTFILE_DEFAULT_SPEC
-#define STARTFILE_DEFAULT_SPEC "%(startfile_linux)"
-
-#undef	ENDFILE_DEFAULT_SPEC
-#define ENDFILE_DEFAULT_SPEC "%(endfile_linux)"
-
-#undef	LINK_START_DEFAULT_SPEC
-#define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
-#undef	LINK_OS_DEFAULT_SPEC
-#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-
-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
-#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
-#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
-#if UCLIBC_DEFAULT
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
-#else
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
-#endif
-#define LINUX_DYNAMIC_LINKER32 \
-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32)
-#define LINUX_DYNAMIC_LINKER64 \
-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
-
-
-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
-  %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
-
-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
-  %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
-
-#undef  TOC_SECTION_ASM_OP
-#define TOC_SECTION_ASM_OP \
-  (TARGET_64BIT						\
-   ? "\t.section\t\".toc\",\"aw\""			\
-   : "\t.section\t\".got\",\"aw\"")
-
-#undef  MINIMAL_TOC_SECTION_ASM_OP
-#define MINIMAL_TOC_SECTION_ASM_OP \
-  (TARGET_64BIT						\
-   ? "\t.section\t\".toc1\",\"aw\""			\
-   : ((TARGET_RELOCATABLE || flag_pic)			\
-      ? "\t.section\t\".got2\",\"aw\""			\
-      : "\t.section\t\".got1\",\"aw\""))
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC64 GNU/Linux)");
-
-/* Must be at least as big as our pointer type.  */
-#undef	SIZE_TYPE
-#define	SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
-
-#undef	PTRDIFF_TYPE
-#define	PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
-
-#undef	WCHAR_TYPE
-#define	WCHAR_TYPE (TARGET_64BIT ? "int" : "long int")
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-/* Override rs6000.h definition.  */
-#undef  ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-/* Override rs6000.h definition.  */
-#undef  ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-/* PowerPC no-op instruction.  */
-#undef  RS6000_CALL_GLUE
-#define RS6000_CALL_GLUE (TARGET_64BIT ? "nop" : "cror 31,31,31")
-
-#undef  RS6000_MCOUNT
-#define RS6000_MCOUNT "_mcount"
-
-#ifdef __powerpc64__
-/* _init and _fini functions are built from bits spread across many
-   object files, each potentially with a different TOC pointer.  For
-   that reason, place a nop after the call so that the linker can
-   restore the TOC pointer if a TOC adjusting call stub is needed.  */
-#if DOT_SYMBOLS
-#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC)	\
-  asm (SECTION_OP "\n"					\
-"	bl ." #FUNC "\n"				\
-"	nop\n"						\
-"	.previous");
-#else
-#define CRT_CALL_STATIC_FUNCTION(SECTION_OP, FUNC)	\
-  asm (SECTION_OP "\n"					\
-"	bl " #FUNC "\n"					\
-"	nop\n"						\
-"	.previous");
-#endif
-#endif
-
-/* FP save and restore routines.  */
-#undef  SAVE_FP_PREFIX
-#define SAVE_FP_PREFIX (TARGET_64BIT ? "._savef" : "_savefpr_")
-#undef  SAVE_FP_SUFFIX
-#define SAVE_FP_SUFFIX (TARGET_64BIT ? "" : "_l")
-#undef  RESTORE_FP_PREFIX
-#define RESTORE_FP_PREFIX (TARGET_64BIT ? "._restf" : "_restfpr_")
-#undef  RESTORE_FP_SUFFIX
-#define RESTORE_FP_SUFFIX (TARGET_64BIT ? "" : "_l")
-
-/* Dwarf2 debugging.  */
-#undef  PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-
-/* This is how to declare the size of a function.  */
-#undef	ASM_DECLARE_FUNCTION_SIZE
-#define	ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL)			\
-  do									\
-    {									\
-      if (!flag_inhibit_size_directive)					\
-	{								\
-	  fputs ("\t.size\t", (FILE));					\
-	  if (TARGET_64BIT && DOT_SYMBOLS)				\
-	    putc ('.', (FILE));						\
-	  assemble_name ((FILE), (FNAME));				\
-	  fputs (",.-", (FILE));					\
-	  rs6000_output_function_entry (FILE, FNAME);			\
-	  putc ('\n', (FILE));						\
-	}								\
-    }									\
-  while (0)
-
-/* Return nonzero if this entry is to be written into the constant
-   pool in a special way.  We do so if this is a SYMBOL_REF, LABEL_REF
-   or a CONST containing one of them.  If -mfp-in-toc (the default),
-   we also do this for floating-point constants.  We actually can only
-   do this if the FP formats of the target and host machines are the
-   same, but we can't check that since not every file that uses
-   GO_IF_LEGITIMATE_ADDRESS_P includes real.h.  We also do this when
-   we can write the entry into the TOC and the entry is not larger
-   than a TOC entry.  */
-
-#undef  ASM_OUTPUT_SPECIAL_POOL_ENTRY_P
-#define ASM_OUTPUT_SPECIAL_POOL_ENTRY_P(X, MODE)			\
-  (TARGET_TOC								\
-   && (GET_CODE (X) == SYMBOL_REF					\
-       || (GET_CODE (X) == CONST && GET_CODE (XEXP (X, 0)) == PLUS	\
-	   && GET_CODE (XEXP (XEXP (X, 0), 0)) == SYMBOL_REF)		\
-       || GET_CODE (X) == LABEL_REF					\
-       || (GET_CODE (X) == CONST_INT 					\
-	   && GET_MODE_BITSIZE (MODE) <= GET_MODE_BITSIZE (Pmode))	\
-       || (GET_CODE (X) == CONST_DOUBLE					\
-	   && ((TARGET_64BIT						\
-		&& (TARGET_POWERPC64					\
-		    || TARGET_MINIMAL_TOC				\
-		    || (SCALAR_FLOAT_MODE_P (GET_MODE (X))		\
-			&& ! TARGET_NO_FP_IN_TOC)))			\
-	       || (!TARGET_64BIT					\
-		   && !TARGET_NO_FP_IN_TOC				\
-		   && !TARGET_RELOCATABLE				\
-		   && SCALAR_FLOAT_MODE_P (GET_MODE (X))		\
-		   && BITS_PER_WORD == HOST_BITS_PER_INT)))))
-
-/* Select a format to encode pointers in exception handling data.  CODE
-   is 0 for data, 1 for code labels, 2 for function pointers.  GLOBAL is
-   true if the symbol may be affected by dynamic relocations.  */
-#undef	ASM_PREFERRED_EH_DATA_FORMAT
-#define	ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
-  ((TARGET_64BIT || flag_pic || TARGET_RELOCATABLE)			\
-   ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel		\
-      | (TARGET_64BIT ? DW_EH_PE_udata8 : DW_EH_PE_sdata4))		\
-   : DW_EH_PE_absptr)
-
-/* For backward compatibility, we must continue to use the AIX
-   structure return convention.  */
-#undef DRAFT_V4_STRUCT_RET
-#define DRAFT_V4_STRUCT_RET (!TARGET_64BIT)
-
-#define TARGET_ASM_FILE_END rs6000_elf_end_indicate_exec_stack
-
-#define TARGET_POSIX_IO
-
-#define LINK_GCC_C_SEQUENCE_SPEC \
-  "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-
-/* Use --as-needed -lgcc_s for eh support.  */
-#ifdef HAVE_LD_AS_NEEDED
-#define USE_LD_AS_NEEDED 1
-#endif
-
-#define MD_UNWIND_SUPPORT "config/rs6000/linux-unwind.h"
-
-#ifdef TARGET_LIBC_PROVIDES_SSP
-/* ppc32 glibc provides __stack_chk_guard in -0x7008(2),
-   ppc64 glibc provides it at -0x7010(13).  */
-#define TARGET_THREAD_SSP_OFFSET	(TARGET_64BIT ? -0x7010 : -0x7008)
-#endif
-
-#define POWERPC_LINUX
-
-/* ppc{32,64} linux has 128-bit long double support in glibc 2.4 and later.  */
-#ifdef TARGET_DEFAULT_LONG_DOUBLE_128
-#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/linux64.opt Thu Aug  2 20:00:37 2007
@@ -1,25 +0,0 @@
-; Options for 64-bit PowerPC Linux.
-;
-; Copyright (C) 2005 Free Software Foundation, Inc.
-; Contributed by Aldy Hernandez <aldy at quesejoda.com>.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT
-; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-; License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-mprofile-kernel
-Target Report Mask(PROFILE_KERNEL)
-Call mcount for profiling before a function prologue

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxaltivec.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxaltivec.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxaltivec.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxaltivec.h Thu Aug  2 20:00:37 2007
@@ -1,31 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for AltiVec enhanced PowerPC machines running GNU/Linux.
-   Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-   Contributed by Aldy Hernandez (aldyh at redhat.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC AltiVec GNU/Linux)");
-
-/* Override rs6000.h and sysv4.h definition.  */
-#undef	TARGET_DEFAULT
-#define	TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_ALTIVEC)
-
-#undef  SUBSUBTARGET_OVERRIDE_OPTIONS
-#define SUBSUBTARGET_OVERRIDE_OPTIONS rs6000_altivec_abi = 1

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxspe.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxspe.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxspe.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/linuxspe.h Thu Aug  2 20:00:37 2007
@@ -1,76 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for PowerPC e500 machines running GNU/Linux.
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-   Contributed by Aldy Hernandez (aldy at quesejoda.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC E500 GNU/Linux)");
-
-/* Override rs6000.h and sysv4.h definition.  */
-#undef	TARGET_DEFAULT
-#define	TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
-
-#undef TARGET_SPE_ABI
-#undef TARGET_SPE
-#undef TARGET_E500
-#undef TARGET_ISEL
-#undef TARGET_FPRS
-#undef TARGET_E500_SINGLE
-#undef TARGET_E500_DOUBLE
-
-#define TARGET_SPE_ABI rs6000_spe_abi
-#define TARGET_SPE rs6000_spe
-#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
-#define TARGET_ISEL rs6000_isel
-#define TARGET_FPRS (rs6000_float_gprs == 0)
-#define TARGET_E500_SINGLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 1)
-#define TARGET_E500_DOUBLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 2)
-
-#undef  SUBSUBTARGET_OVERRIDE_OPTIONS
-#define SUBSUBTARGET_OVERRIDE_OPTIONS \
-  if (rs6000_select[1].string == NULL) \
-    rs6000_cpu = PROCESSOR_PPC8540; \
-  if (!rs6000_explicit_options.abi) \
-    rs6000_spe_abi = 1; \
-  if (!rs6000_explicit_options.float_gprs) \
-    rs6000_float_gprs = 1; \
-  /* See note below.  */ \
-  /*if (!rs6000_explicit_options.long_double)*/ \
-  /*  rs6000_long_double_type_size = 128;*/ \
-  if (!rs6000_explicit_options.spe) \
-    rs6000_spe = 1; \
-  if (!rs6000_explicit_options.isel) \
-    rs6000_isel = 1; \
-  if (target_flags & MASK_64BIT) \
-    error ("-m64 not supported in this configuration")
-
-/* The e500 ABI says that either long doubles are 128 bits, or if
-   implemented in any other size, the compiler/linker should error out.
-   We have no emulation libraries for 128 bit long doubles, and I hate
-   the dozens of failures on the regression suite.  So I'm breaking ABI
-   specifications, until I properly fix the emulation.
-
-   Enable these later.
-#undef CPP_LONGDOUBLE_DEFAULT_SPEC
-#define CPP_LONGDOUBLE_DEFAULT_SPEC "-D__LONG_DOUBLE_128__=1"
-*/
-
-#undef  ASM_DEFAULT_SPEC
-#define	ASM_DEFAULT_SPEC "-mppc -mspe -me500"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/lynx.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/lynx.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/lynx.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/lynx.h Thu Aug  2 20:00:37 2007
@@ -1,125 +0,0 @@
-/* Definitions for Rs6000 running LynxOS.
-   Copyright (C) 1995, 1996, 2000, 2002, 2003, 2004, 2005
-   Free Software Foundation, Inc.
-   Contributed by David Henkel-Wallace, Cygnus Support (gumby at cygnus.com)
-   Rewritten by Adam Nemet, LynuxWorks Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Override the definition in sysv4.h.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fputs (" (PowerPC/LynxOS)", stderr);
-
-/* Undefine the definition to enable the LynxOS default from the
-   top-level lynx.h.  */
-
-#undef SUBTARGET_EXTRA_SPECS
-
-/* Get rid off the spec definitions from rs6000/sysv4.h.  */
-
-#undef CPP_SPEC
-#define CPP_SPEC \
-"%{msoft-float: -D_SOFT_FLOAT} \
- %(cpp_cpu) \
- %(cpp_os_lynx)"
-
-/* LynxOS only supports big-endian on PPC so we override the
-   definition from sysv4.h.  Since the LynxOS 4.0 compiler was set to
-   return every structure in memory regardless of their size we have
-   to emulate the same behavior here with disabling the SVR4 structure
-   returning.  */
-
-#undef CC1_SPEC
-#define CC1_SPEC \
-"%{G*} %{mno-sdata:-msdata=none} \
- %{maltivec:-mabi=altivec} \
- -maix-struct-return"
-
-#undef ASM_SPEC
-#define ASM_SPEC \
-"%(asm_cpu) \
-"/* APPLE LOCAL mainline 2007-03-13 5040758 */" \
- %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}}"
-
-#undef STARTFILE_SPEC
-#undef ENDFILE_SPEC
-#undef LIB_SPEC
-#undef LINK_SPEC
-#define LINK_SPEC \
-"%{!msdata=none:%{G*}} %{msdata=none:-G0} \
- %(link_os_lynx)"
-
-/* Override the definition from sysv4.h.  */
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      builtin_define ("__BIG_ENDIAN__");	\
-      builtin_define ("__powerpc__");		\
-      builtin_assert ("cpu=powerpc");		\
-      builtin_assert ("machine=powerpc");	\
-      builtin_define ("__PPC__");		\
-    }						\
-  while (0)
-
-/* Override the rs6000.h definition.  */
-
-#undef ASM_APP_ON
-#define ASM_APP_ON "#APP\n"
-
-/* Override the rs6000.h definition.  */
-
-#undef ASM_APP_OFF
-#define ASM_APP_OFF "#NO_APP\n"
-
-/* LynxOS does not do anything with .fixup plus let's not create
-   writable section for linkonce.r and linkonce.t.  */
-
-#undef RELOCATABLE_NEEDS_FIXUP
-
-/* Override these from rs6000.h with the generic definition.  */
-
-#undef SIZE_TYPE
-#undef ASM_OUTPUT_ALIGN
-#undef PREFERRED_DEBUGGING_TYPE
-
-/* The file rs6000.c defines TARGET_HAVE_TLS unconditionally to the
-   value of HAVE_AS_TLS.  HAVE_AS_TLS is true as gas support for TLS
-   is detected by configure.  Override the definition to false.  */
-
-#undef HAVE_AS_TLS
-#define HAVE_AS_TLS 0
-
-#ifdef CRT_BEGIN
-/* This function is part of crtbegin*.o which is at the beginning of
-   the link and is called from .fini which is usually toward the end
-   of the executable.  Make it longcall so that we don't limit the
-   text size of the executables to 32M.  */
-
-static void __do_global_dtors_aux (void) __attribute__ ((longcall));
-#endif	/* CRT_BEGIN */
-
-#ifdef CRT_END
-/* Similarly here.  This function resides in crtend*.o which is toward
-   to end of the link and is called from .init which is at the
-   beginning.  */
-
-static void __do_global_ctors_aux (void) __attribute__ ((longcall));
-#endif	/* CRT_END */

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/milli.exp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/milli.exp?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/milli.exp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/milli.exp Thu Aug  2 20:00:37 2007
@@ -1,7 +0,0 @@
-#!
-__mulh          0x3100
-__mull          0x3180
-__divss         0x3200
-__divus         0x3280
-__quoss         0x3300
-__quous         0x3380

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/netbsd.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/netbsd.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/netbsd.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/netbsd.h Thu Aug  2 20:00:37 2007
@@ -1,93 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for PowerPC NetBSD systems.
-   Copyright 2002, 2003 Free Software Foundation, Inc.
-   Contributed by Wasabi Systems, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_OS_CPP_BUILTINS	/* FIXME: sysv4.h should not define this! */
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      NETBSD_OS_CPP_BUILTINS_ELF();		\
-      builtin_define ("__powerpc__");		\
-      builtin_assert ("cpu=powerpc");		\
-      builtin_assert ("machine=powerpc");	\
-    }						\
-  while (0)
-
-/* Override the default from rs6000.h to avoid conflicts with macros
-   defined in NetBSD header files.  */
-
-#undef  RS6000_CPU_CPP_ENDIAN_BUILTINS
-#define RS6000_CPU_CPP_ENDIAN_BUILTINS()	\
-  do						\
-    {						\
-      if (BYTES_BIG_ENDIAN)			\
-	{					\
-	  builtin_define ("__BIG_ENDIAN__");	\
-	  builtin_assert ("machine=bigendian");	\
-	}					\
-      else					\
-	{					\
-	  builtin_define ("__LITTLE_ENDIAN__");	\
-	  builtin_assert ("machine=littleendian"); \
-	}					\
-    }						\
-  while (0)
-
-/* Make GCC agree with <machine/ansi.h>.  */
-
-#undef  SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef  PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-/* Undo the spec mess from sysv4.h, and just define the specs
-   the way NetBSD systems actually expect.  */
-
-#undef  CPP_SPEC
-#define CPP_SPEC NETBSD_CPP_SPEC
-
-#undef  LINK_SPEC
-#define LINK_SPEC \
-  "%{!msdata=none:%{G*}} %{msdata=none:-G0} \
-   %(netbsd_link_spec)"
-
-#define NETBSD_ENTRY_POINT "_start"
-
-#undef  STARTFILE_SPEC
-#define STARTFILE_SPEC NETBSD_STARTFILE_SPEC
-
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC \
-  "crtsavres%O%s %(netbsd_endfile_spec)"
-
-#undef  LIB_SPEC
-#define LIB_SPEC NETBSD_LIB_SPEC
-
-#undef  SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS					\
-  { "netbsd_link_spec",		NETBSD_LINK_SPEC_ELF },		\
-  { "netbsd_entry_point",	NETBSD_ENTRY_POINT },		\
-  { "netbsd_endfile_spec",	NETBSD_ENDFILE_SPEC },
-
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (NetBSD/powerpc ELF)");

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/ppc-asm.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/ppc-asm.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/ppc-asm.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/ppc-asm.h Thu Aug  2 20:00:37 2007
@@ -1,164 +0,0 @@
-/* PowerPC asm definitions for GNU C.  */
-/* Under winnt, 1) gas supports the following as names and 2) in particular
-   defining "toc" breaks the FUNC_START macro as ".toc" becomes ".2" */
-
-#define r0	0
-#define sp	1
-#define toc	2
-#define r3	3
-#define r4	4
-#define r5	5
-#define r6	6
-#define r7	7
-#define r8	8
-#define r9	9
-#define r10	10
-#define r11	11
-#define r12	12
-#define r13	13
-#define r14	14
-#define r15	15
-#define r16	16
-#define r17	17
-#define r18	18
-#define r19     19
-#define r20	20
-#define r21	21
-#define r22	22
-#define r23	23
-#define r24	24
-#define r25	25
-#define r26	26
-#define r27	27
-#define r28	28
-#define r29	29
-#define r30	30
-#define r31	31
-
-#define cr0	0
-#define cr1	1
-#define cr2	2
-#define cr3	3
-#define cr4	4
-#define cr5	5
-#define cr6	6
-#define cr7	7
-
-#define f0	0
-#define f1	1
-#define f2	2
-#define f3	3
-#define f4	4
-#define f5	5
-#define f6	6
-#define f7	7
-#define f8	8
-#define f9	9
-#define f10	10
-#define f11	11
-#define f12	12
-#define f13	13
-#define f14	14
-#define f15	15
-#define f16	16
-#define f17	17
-#define f18	18
-#define f19     19
-#define f20	20
-#define f21	21
-#define f22	22
-#define f23	23
-#define f24	24
-#define f25	25
-#define f26	26
-#define f27	27
-#define f28	28
-#define f29	29
-#define f30	30
-#define f31	31
-
-/*
- * Macros to glue together two tokens.
- */
-
-#ifdef __STDC__
-#define XGLUE(a,b) a##b
-#else
-#define XGLUE(a,b) a/**/b
-#endif
-
-#define GLUE(a,b) XGLUE(a,b)
-
-/*
- * Macros to begin and end a function written in assembler.  If -mcall-aixdesc
- * or -mcall-nt, create a function descriptor with the given name, and create
- * the real function with one or two leading periods respectively.
- */
-
-#if defined (__powerpc64__)
-#define FUNC_NAME(name) GLUE(.,name)
-#define JUMP_TARGET(name) FUNC_NAME(name)
-#define FUNC_START(name) \
-	.section ".opd","aw"; \
-name: \
-	.quad GLUE(.,name); \
-	.quad .TOC. at tocbase; \
-	.quad 0; \
-	.previous; \
-	.type GLUE(.,name), at function; \
-	.globl name; \
-	.globl GLUE(.,name); \
-GLUE(.,name):
-
-#define FUNC_END(name) \
-GLUE(.L,name): \
-	.size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
-
-#elif defined(_CALL_AIXDESC)
-
-#ifdef _RELOCATABLE
-#define DESC_SECTION ".got2"
-#else
-#define DESC_SECTION ".got1"
-#endif
-
-#define FUNC_NAME(name) GLUE(.,name)
-#define JUMP_TARGET(name) FUNC_NAME(name)
-#define FUNC_START(name) \
-	.section DESC_SECTION,"aw"; \
-name: \
-	.long GLUE(.,name); \
-	.long _GLOBAL_OFFSET_TABLE_; \
-	.long 0; \
-	.previous; \
-	.type GLUE(.,name), at function; \
-	.globl name; \
-	.globl GLUE(.,name); \
-GLUE(.,name):
-
-#define FUNC_END(name) \
-GLUE(.L,name): \
-	.size GLUE(.,name),GLUE(.L,name)-GLUE(.,name)
-
-#else
-
-#define FUNC_NAME(name) GLUE(__USER_LABEL_PREFIX__,name)
-#if defined __PIC__ || defined __pic__
-#define JUMP_TARGET(name) FUNC_NAME(name at plt)
-#else
-#define JUMP_TARGET(name) FUNC_NAME(name)
-#endif
-#define FUNC_START(name) \
-	.type FUNC_NAME(name), at function; \
-	.globl FUNC_NAME(name); \
-FUNC_NAME(name):
-
-#define FUNC_END(name) \
-GLUE(.L,name): \
-	.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
-#endif
-
-#if defined __linux__ && !defined __powerpc64__
-	.section .note.GNU-stack
-	.previous
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/predicates.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/predicates.md?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/predicates.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/predicates.md Thu Aug  2 20:00:37 2007
@@ -704,7 +704,9 @@
 (define_predicate "current_file_function_operand"
   (and (match_code "symbol_ref")
        (match_test "(DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op))
-		    && (SYMBOL_REF_LOCAL_P (op)
+		    && ((SYMBOL_REF_LOCAL_P (op)
+			 && (DEFAULT_ABI != ABI_AIX
+			     || !SYMBOL_REF_EXTERNAL_P (op)))
 		        || (op == XEXP (DECL_RTL (current_function_decl),
 						  0)))")))
 

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/rs6000.c Thu Aug  2 20:00:37 2007
@@ -1263,7 +1263,7 @@
   size_t i, j;
   struct rs6000_cpu_select *ptr;
   int set_masks;
-  /* APPLE LOCAL -fast */
+  /* APPLE LOCAL -fast or -fastf or -fastcp */
   enum processor_type mcpu_cpu = PROCESSOR_POWER4;
 
   /* Simplifications for entries below.  */
@@ -1406,7 +1406,7 @@
   rs6000_cpu_target = TARGET_POWERPC64 ? "ppc64" : "ppc";
   /* LLVM LOCAL end */
 
-  /* APPLE LOCAL begin -fast */
+  /* APPLE LOCAL begin -fast or -fastf or -fastcp */
   if (flag_fast || flag_fastf || flag_fastcp)
   {
     if (rs6000_select[1].string == (char *)0 && rs6000_select[2].string == (char *)0)
@@ -1416,7 +1416,7 @@
       rs6000_select[2].string = "G5";
     }
   }
-  /* APPLE LOCAL end -fast */
+  /* APPLE LOCAL end -fast or -fastf or -fastcp */
 
   for (i = 0; i < ARRAY_SIZE (rs6000_select); i++)
     {
@@ -1475,7 +1475,7 @@
     }
   /* APPLE LOCAL end AltiVec */
 
-  /* APPLE LOCAL begin -fast */
+  /* APPLE LOCAL begin -fast or -fastf or -fastcp */
   if (flag_fast || flag_fastf || flag_fastcp)
     {
       flag_gcse_sm = 1;
@@ -1513,11 +1513,12 @@
       disable_typechecking_for_spec_flag = 1;
       flag_unit_at_a_time = 1;
     }
-  /* APPLE LOCAL end -fast */
 
-  /* APPLE LOCAL rs6000_init_hard_regno_mode_ok must come AFTER setting of -fast flags */
+  /* rs6000_init_hard_regno_mode_ok must come AFTER setting of -fast flags.  */
   rs6000_init_hard_regno_mode_ok ();
 
+  /* APPLE LOCAL end -fast or -fastf or -fastcp */
+
   if (TARGET_E500)
     rs6000_isel = 1;
 
@@ -15380,7 +15381,8 @@
 	    }
 	}
       if (DEFAULT_ABI == ABI_DARWIN
-	  || (*targetm.binds_local_p) (decl))
+	  || ((*targetm.binds_local_p) (decl)
+	      && (DEFAULT_ABI != ABI_AIX || !DECL_EXTERNAL (decl))))
 	{
 	  tree attr_list = TYPE_ATTRIBUTES (TREE_TYPE (decl));
 

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/rtems.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/rtems.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/rtems.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/rtems.h Thu Aug  2 20:00:37 2007
@@ -1,57 +0,0 @@
-/* Definitions for rtems targeting a PowerPC using elf.
-   Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005
-   Free Software Foundation, Inc.
-   Contributed by Joel Sherrill (joel at OARcorp.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Specify predefined symbols in preprocessor.  */
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()          \
-  do                                      \
-    {                                     \
-      builtin_define_std ("PPC");         \
-      builtin_define ("__rtems__");       \
-      builtin_define ("__USE_INIT_FINI__"); \
-      builtin_assert ("system=rtems");    \
-      builtin_assert ("cpu=powerpc");     \
-      builtin_assert ("machine=powerpc"); \
-      TARGET_OS_SYSV_CPP_BUILTINS ();     \
-    }                                     \
-  while (0)
-
-#undef CPP_OS_DEFAULT_SPEC
-#define CPP_OS_DEFAULT_SPEC "%(cpp_os_rtems)"
-
-#define CPP_OS_RTEMS_SPEC "\
-%{!mcpu*:  %{!Dppc*: %{!Dmpc*: -Dmpc750} } }\
-%{mcpu=403:  %{!Dppc*: %{!Dmpc*: -Dppc403}  } } \
-%{mcpu=505:  %{!Dppc*: %{!Dmpc*: -Dmpc505}  } } \
-%{mcpu=601:  %{!Dppc*: %{!Dmpc*: -Dppc601}  } } \
-%{mcpu=602:  %{!Dppc*: %{!Dmpc*: -Dppc602}  } } \
-%{mcpu=603:  %{!Dppc*: %{!Dmpc*: -Dppc603}  } } \
-%{mcpu=603e: %{!Dppc*: %{!Dmpc*: -Dppc603e} } } \
-%{mcpu=604:  %{!Dppc*: %{!Dmpc*: -Dmpc604}  } } \
-%{mcpu=750:  %{!Dppc*: %{!Dmpc*: -Dmpc750}  } } \
-%{mcpu=821:  %{!Dppc*: %{!Dmpc*: -Dmpc821}  } } \
-%{mcpu=860:  %{!Dppc*: %{!Dmpc*: -Dmpc860}  } }" 
-
-#undef  SUBSUBTARGET_EXTRA_SPECS
-#define SUBSUBTARGET_EXTRA_SPECS \
-  { "cpp_os_rtems",		CPP_OS_RTEMS_SPEC }

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/secureplt.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/secureplt.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/secureplt.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/secureplt.h Thu Aug  2 20:00:37 2007
@@ -1,21 +0,0 @@
-/* Default to -msecure-plt.
-   Copyright (C) 2005 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GCC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to
-the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
-
-#define CC1_SECURE_PLT_DEFAULT_SPEC "-msecure-plt"

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/sfp-machine.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/sfp-machine.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/sfp-machine.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/sfp-machine.h Thu Aug  2 20:00:37 2007
@@ -1,63 +0,0 @@
-#define _FP_W_TYPE_SIZE		32
-#define _FP_W_TYPE		unsigned long
-#define _FP_WS_TYPE		signed long
-#define _FP_I_TYPE		long
-
-#define _FP_MUL_MEAT_S(R,X,Y)				\
-  _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_D(R,X,Y)				\
-  _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y)				\
-  _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y)	_FP_DIV_MEAT_1_loop(S,R,X,Y)
-#define _FP_DIV_MEAT_D(R,X,Y)	_FP_DIV_MEAT_2_udiv(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y)	_FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S		((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D		((_FP_QNANBIT_D << 1) - 1), -1
-#define _FP_NANFRAC_Q		((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
-#define _FP_NANSIGN_S		0
-#define _FP_NANSIGN_D		0
-#define _FP_NANSIGN_Q		0
-
-#define _FP_KEEPNANFRACP 1
-
-/* Someone please check this.  */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP)			\
-  do {								\
-    if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)		\
-	&& !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs))	\
-      {								\
-	R##_s = Y##_s;						\
-	_FP_FRAC_COPY_##wc(R,Y);				\
-      }								\
-    else							\
-      {								\
-	R##_s = X##_s;						\
-	_FP_FRAC_COPY_##wc(R,X);				\
-      }								\
-    R##_c = FP_CLS_NAN;						\
-  } while (0)
-
-#define	__LITTLE_ENDIAN	1234
-#define	__BIG_ENDIAN	4321
-
-#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN
-# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
-#  error "Both BIG_ENDIAN and LITTLE_ENDIAN defined!"
-# endif
-# define __BYTE_ORDER __BIG_ENDIAN
-#else
-# if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN
-#  define __BYTE_ORDER __LITTLE_ENDIAN
-# else
-#  error "Cannot determine current byte order"
-# endif
-#endif
-
-
-/* Define ALIASNAME as a strong alias for NAME.  */
-# define strong_alias(name, aliasname) _strong_alias(name, aliasname)
-# define _strong_alias(name, aliasname) \
-  extern __typeof (name) aliasname __attribute__ ((alias (#name)));

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-ci.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-ci.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-ci.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-ci.asm Thu Aug  2 20:00:37 2007
@@ -1,106 +0,0 @@
-# crti.s for sysv4
-
-#   Copyright (C) 1996 Free Software Foundation, Inc.
-#   Written By Michael Meissner
-# 
-# This file 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.
-# 
-# In addition to the permissions in the GNU General Public License, the
-# Free Software Foundation gives you unlimited permission to link the
-# compiled version of this file with other programs, and to distribute
-# those programs without any restriction coming from the use of this
-# file.  (The General Public License restrictions do apply in other
-# respects; for example, they cover modification of the file, and
-# distribution when not linked into another program.)
-# 
-# This file 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; see the file COPYING.  If not, write to
-# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-# 
-#    As a special exception, if you link this library with files
-#    compiled with GCC 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.
-# 
-
-# This file just supplies labeled starting points for the .got* and other
-# special sections.  It is linked in first before other modules.
- 
-	.file	"scrti.s"
-	.ident	"GNU C scrti.s"
-
-#ifndef __powerpc64__
-# Start of .text
-	.section ".text"
-	.globl	_ex_text0
-_ex_text0:
-
-# Exception range
-	.section ".exception_ranges","aw"
-	.globl	_ex_range0
-_ex_range0:
-
-# List of C++ constructors
-	.section ".ctors","aw"
-	.globl	__CTOR_LIST__
-	.type	__CTOR_LIST__, at object
-__CTOR_LIST__:
-
-# List of C++ destructors
-	.section ".dtors","aw"
-	.globl	__DTOR_LIST__
-	.type	__DTOR_LIST__, at object
-__DTOR_LIST__:
-
-# Head of _init function used for static constructors
-	.section ".init","ax"
-	.align 2
-	.globl _init
-	.type _init, at function
-_init:	stwu	%r1,-16(%r1)
-	mflr	%r0
-	stw	%r31,12(%r1)
-	stw	%r0,16(%r1)
-
-	bl	_GLOBAL_OFFSET_TABLE_-4	# get the GOT address
-	mflr	%r31
-
-#	lwz	%r3,_ex_shared0 at got(%r31)
-#	lwz	%r4,-8(%r3)		# _ex_register or 0
-#	cmpi	%cr0,%r4,0
-#	beq	.Lno_reg
-#	mtlr	%r4
-#	blrl
-#.Lno_reg:
-
-# Head of _fini function used for static destructors
-	.section ".fini","ax"
-	.align 2
-	.globl _fini
-	.type _fini, at function
-_fini:	stwu	%r1,-16(%r1)
-	mflr	%r0
-	stw	%r31,12(%r1)
-	stw	%r0,16(%r1)
-
-	bl	_GLOBAL_OFFSET_TABLE_-4	# get the GOT address
-	mflr	%r31
-
-# _environ and its evil twin environ, pointing to the environment
-	.section ".sdata","aw"
-	.align 2
-	.globl _environ
-	.space 4
-	.weak	environ
-	.set	environ,_environ
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-cn.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-cn.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-cn.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/sol-cn.asm Thu Aug  2 20:00:37 2007
@@ -1,84 +0,0 @@
-# crtn.s for sysv4
-
-#   Copyright (C) 1996 Free Software Foundation, Inc.
-#   Written By Michael Meissner
-# 
-# This file 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.
-# 
-# In addition to the permissions in the GNU General Public License, the
-# Free Software Foundation gives you unlimited permission to link the
-# compiled version of this file with other programs, and to distribute
-# those programs without any restriction coming from the use of this
-# file.  (The General Public License restrictions do apply in other
-# respects; for example, they cover modification of the file, and
-# distribution when not linked into another program.)
-# 
-# This file 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; see the file COPYING.  If not, write to
-# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-# 
-#    As a special exception, if you link this library with files
-#    compiled with GCC 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.
-# 
-
-# This file just supplies labeled ending points for the .got* and other
-# special sections.  It is linked in last after other modules.
- 
-	.file	"scrtn.s"
-	.ident	"GNU C scrtn.s"
-
-#ifndef __powerpc64__
-# Default versions of exception handling register/deregister
-	.weak	_ex_register
-	.weak	_ex_deregister
-	.set	_ex_register,0
-	.set	_ex_deregister,0
-
-# End list of C++ constructors
-	.section ".ctors","aw"
-	.globl	__CTOR_END__
-	.type	__CTOR_END__, at object
-__CTOR_END__:
-
-# End list of C++ destructors
-	.section ".dtors","aw"
-	.globl	__DTOR_END__
-	.type	__DTOR_END__, at object
-__DTOR_END__:
-
-	.section ".text"
-	.globl	_ex_text1
-_ex_text1:
-
-	.section ".exception_ranges","aw"
-	.globl	_ex_range1
-_ex_range1:
-
-# Tail of _init used for static constructors
-	.section ".init","ax"
-	lwz	%r0,16(%r1)
-	lwz	%r31,12(%r1)
-	mtlr	%r0
-	addi	%r1,%r1,16
-	blr
-
-# Tail of _fini used for static destructors
-	.section ".fini","ax"
-	lwz	%r0,16(%r1)
-	lwz	%r31,12(%r1)
-	mtlr	%r0
-	addi	%r1,%r1,16
-	blr
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/spe.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/spe.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/spe.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/spe.h Thu Aug  2 20:00:37 2007
@@ -1,1110 +0,0 @@
-/* PowerPC E500 user include file.
-   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
-   Contributed by Aldy Hernandez (aldyh at redhat.com).
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* As a special exception, if you include this header file into source
-   files compiled by GCC, this header file does not by itself 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 _SPE_H
-#define _SPE_H
-
-#define __vector __attribute__((vector_size(8)))
-
-typedef int 	 		int32_t;
-typedef unsigned 		uint32_t;
-typedef short    		int16_t;
-typedef unsigned short  	uint16_t;
-typedef long long 		int64_t;
-typedef unsigned long long	uint64_t;
-
-typedef short 			__vector __ev64_s16__;
-typedef unsigned short  	__vector __ev64_u16__;
-typedef int 			__vector __ev64_s32__;
-typedef unsigned 		__vector __ev64_u32__;
-typedef long long 		__vector __ev64_s64__;
-typedef unsigned long long 	__vector __ev64_u64__;
-typedef float 			__vector __ev64_fs__;
-
-#define __v2si __ev64_opaque__
-#define __v2sf __ev64_fs__
-
-#define __ev_addw __builtin_spe_evaddw
-#define __ev_addiw __builtin_spe_evaddiw
-#define __ev_subfw(a,b) __builtin_spe_evsubfw ((b), (a))
-#define __ev_subw __builtin_spe_evsubfw
-#define __ev_subifw(a,b) __builtin_spe_evsubifw ((b), (a))
-#define __ev_subiw __builtin_spe_evsubifw
-#define __ev_abs __builtin_spe_evabs
-#define __ev_neg __builtin_spe_evneg
-#define __ev_extsb __builtin_spe_evextsb
-#define __ev_extsh __builtin_spe_evextsh
-#define __ev_and __builtin_spe_evand
-#define __ev_or __builtin_spe_evor
-#define __ev_xor __builtin_spe_evxor
-#define __ev_nand __builtin_spe_evnand
-#define __ev_nor __builtin_spe_evnor
-#define __ev_eqv __builtin_spe_eveqv
-#define __ev_andc __builtin_spe_evandc
-#define __ev_orc __builtin_spe_evorc
-#define __ev_rlw __builtin_spe_evrlw
-#define __ev_rlwi __builtin_spe_evrlwi
-#define __ev_slw __builtin_spe_evslw
-#define __ev_slwi __builtin_spe_evslwi
-#define __ev_srws __builtin_spe_evsrws
-#define __ev_srwu __builtin_spe_evsrwu
-#define __ev_srwis __builtin_spe_evsrwis
-#define __ev_srwiu __builtin_spe_evsrwiu
-#define __ev_cntlzw __builtin_spe_evcntlzw
-#define __ev_cntlsw __builtin_spe_evcntlsw
-#define __ev_rndw __builtin_spe_evrndw
-#define __ev_mergehi __builtin_spe_evmergehi
-#define __ev_mergelo __builtin_spe_evmergelo
-#define __ev_mergelohi __builtin_spe_evmergelohi
-#define __ev_mergehilo __builtin_spe_evmergehilo
-#define __ev_splati __builtin_spe_evsplati
-#define __ev_splatfi __builtin_spe_evsplatfi
-#define __ev_divws __builtin_spe_evdivws
-#define __ev_divwu __builtin_spe_evdivwu
-#define __ev_mra __builtin_spe_evmra
-
-#define __brinc __builtin_spe_brinc
-
-/* Loads.  */
-
-#define __ev_lddx __builtin_spe_evlddx
-#define __ev_ldwx __builtin_spe_evldwx
-#define __ev_ldhx __builtin_spe_evldhx
-#define __ev_lwhex __builtin_spe_evlwhex
-#define __ev_lwhoux __builtin_spe_evlwhoux
-#define __ev_lwhosx __builtin_spe_evlwhosx
-#define __ev_lwwsplatx __builtin_spe_evlwwsplatx
-#define __ev_lwhsplatx __builtin_spe_evlwhsplatx
-#define __ev_lhhesplatx __builtin_spe_evlhhesplatx
-#define __ev_lhhousplatx __builtin_spe_evlhhousplatx
-#define __ev_lhhossplatx __builtin_spe_evlhhossplatx
-#define __ev_ldd __builtin_spe_evldd
-#define __ev_ldw __builtin_spe_evldw
-#define __ev_ldh __builtin_spe_evldh
-#define __ev_lwhe __builtin_spe_evlwhe
-#define __ev_lwhou __builtin_spe_evlwhou
-#define __ev_lwhos __builtin_spe_evlwhos
-#define __ev_lwwsplat __builtin_spe_evlwwsplat
-#define __ev_lwhsplat __builtin_spe_evlwhsplat
-#define __ev_lhhesplat __builtin_spe_evlhhesplat
-#define __ev_lhhousplat __builtin_spe_evlhhousplat
-#define __ev_lhhossplat __builtin_spe_evlhhossplat
-
-/* Stores.  */
-
-#define __ev_stddx __builtin_spe_evstddx
-#define __ev_stdwx __builtin_spe_evstdwx
-#define __ev_stdhx __builtin_spe_evstdhx
-#define __ev_stwwex __builtin_spe_evstwwex
-#define __ev_stwwox __builtin_spe_evstwwox
-#define __ev_stwhex __builtin_spe_evstwhex
-#define __ev_stwhox __builtin_spe_evstwhox
-#define __ev_stdd __builtin_spe_evstdd
-#define __ev_stdw __builtin_spe_evstdw
-#define __ev_stdh __builtin_spe_evstdh
-#define __ev_stwwe __builtin_spe_evstwwe
-#define __ev_stwwo __builtin_spe_evstwwo
-#define __ev_stwhe __builtin_spe_evstwhe
-#define __ev_stwho __builtin_spe_evstwho
-
-/* Fixed point complex.  */
-
-#define __ev_mhossf __builtin_spe_evmhossf
-#define __ev_mhosmf __builtin_spe_evmhosmf
-#define __ev_mhosmi __builtin_spe_evmhosmi
-#define __ev_mhoumi __builtin_spe_evmhoumi
-#define __ev_mhessf __builtin_spe_evmhessf
-#define __ev_mhesmf __builtin_spe_evmhesmf
-#define __ev_mhesmi __builtin_spe_evmhesmi
-#define __ev_mheumi __builtin_spe_evmheumi
-#define __ev_mhossfa __builtin_spe_evmhossfa
-#define __ev_mhosmfa __builtin_spe_evmhosmfa
-#define __ev_mhosmia __builtin_spe_evmhosmia
-#define __ev_mhoumia __builtin_spe_evmhoumia
-#define __ev_mhessfa __builtin_spe_evmhessfa
-#define __ev_mhesmfa __builtin_spe_evmhesmfa
-#define __ev_mhesmia __builtin_spe_evmhesmia
-#define __ev_mheumia __builtin_spe_evmheumia
-
-#define __ev_mhoumf __ev_mhoumi
-#define __ev_mheumf __ev_mheumi
-#define __ev_mhoumfa __ev_mhoumia
-#define __ev_mheumfa __ev_mheumia
-
-#define __ev_mhossfaaw __builtin_spe_evmhossfaaw
-#define __ev_mhossiaaw __builtin_spe_evmhossiaaw
-#define __ev_mhosmfaaw __builtin_spe_evmhosmfaaw
-#define __ev_mhosmiaaw __builtin_spe_evmhosmiaaw
-#define __ev_mhousiaaw __builtin_spe_evmhousiaaw
-#define __ev_mhoumiaaw __builtin_spe_evmhoumiaaw
-#define __ev_mhessfaaw __builtin_spe_evmhessfaaw
-#define __ev_mhessiaaw __builtin_spe_evmhessiaaw
-#define __ev_mhesmfaaw __builtin_spe_evmhesmfaaw
-#define __ev_mhesmiaaw __builtin_spe_evmhesmiaaw
-#define __ev_mheusiaaw __builtin_spe_evmheusiaaw
-#define __ev_mheumiaaw __builtin_spe_evmheumiaaw
-
-#define __ev_mhousfaaw __ev_mhousiaaw
-#define __ev_mhoumfaaw __ev_mhoumiaaw
-#define __ev_mheusfaaw __ev_mheusiaaw
-#define __ev_mheumfaaw __ev_mheumiaaw
-
-#define __ev_mhossfanw __builtin_spe_evmhossfanw
-#define __ev_mhossianw __builtin_spe_evmhossianw
-#define __ev_mhosmfanw __builtin_spe_evmhosmfanw
-#define __ev_mhosmianw __builtin_spe_evmhosmianw
-#define __ev_mhousianw __builtin_spe_evmhousianw
-#define __ev_mhoumianw __builtin_spe_evmhoumianw
-#define __ev_mhessfanw __builtin_spe_evmhessfanw
-#define __ev_mhessianw __builtin_spe_evmhessianw
-#define __ev_mhesmfanw __builtin_spe_evmhesmfanw
-#define __ev_mhesmianw __builtin_spe_evmhesmianw
-#define __ev_mheusianw __builtin_spe_evmheusianw
-#define __ev_mheumianw __builtin_spe_evmheumianw
-
-#define __ev_mhousfanw __ev_mhousianw
-#define __ev_mhoumfanw __ev_mhoumianw
-#define __ev_mheusfanw __ev_mheusianw
-#define __ev_mheumfanw __ev_mheumianw
-
-#define __ev_mhogsmfaa __builtin_spe_evmhogsmfaa
-#define __ev_mhogsmiaa __builtin_spe_evmhogsmiaa
-#define __ev_mhogumiaa __builtin_spe_evmhogumiaa
-#define __ev_mhegsmfaa __builtin_spe_evmhegsmfaa
-#define __ev_mhegsmiaa __builtin_spe_evmhegsmiaa
-#define __ev_mhegumiaa __builtin_spe_evmhegumiaa
-
-#define __ev_mhogumfaa __ev_mhogumiaa
-#define __ev_mhegumfaa __ev_mhegumiaa
-
-#define __ev_mhogsmfan __builtin_spe_evmhogsmfan
-#define __ev_mhogsmian __builtin_spe_evmhogsmian
-#define __ev_mhogumian __builtin_spe_evmhogumian
-#define __ev_mhegsmfan __builtin_spe_evmhegsmfan
-#define __ev_mhegsmian __builtin_spe_evmhegsmian
-#define __ev_mhegumian __builtin_spe_evmhegumian
-
-#define __ev_mhogumfan __ev_mhogumian
-#define __ev_mhegumfan __ev_mhegumian
-
-#define __ev_mwhssf __builtin_spe_evmwhssf
-#define __ev_mwhsmf __builtin_spe_evmwhsmf
-#define __ev_mwhsmi __builtin_spe_evmwhsmi
-#define __ev_mwhumi __builtin_spe_evmwhumi
-#define __ev_mwhssfa __builtin_spe_evmwhssfa
-#define __ev_mwhsmfa __builtin_spe_evmwhsmfa
-#define __ev_mwhsmia __builtin_spe_evmwhsmia
-#define __ev_mwhumia __builtin_spe_evmwhumia
-
-#define __ev_mwhumf __ev_mwhumi
-#define __ev_mwhumfa __ev_mwhumia
-
-#define __ev_mwlumi __builtin_spe_evmwlumi
-#define __ev_mwlumia __builtin_spe_evmwlumia
-#define __ev_mwlumiaaw __builtin_spe_evmwlumiaaw
-
-#define __ev_mwlssiaaw __builtin_spe_evmwlssiaaw
-#define __ev_mwlsmiaaw __builtin_spe_evmwlsmiaaw
-#define __ev_mwlusiaaw __builtin_spe_evmwlusiaaw
-#define __ev_mwlusiaaw __builtin_spe_evmwlusiaaw
-
-#define __ev_mwlssianw __builtin_spe_evmwlssianw
-#define __ev_mwlsmianw __builtin_spe_evmwlsmianw
-#define __ev_mwlusianw __builtin_spe_evmwlusianw
-#define __ev_mwlumianw __builtin_spe_evmwlumianw
-
-#define __ev_mwssf __builtin_spe_evmwssf
-#define __ev_mwsmf __builtin_spe_evmwsmf
-#define __ev_mwsmi __builtin_spe_evmwsmi
-#define __ev_mwumi __builtin_spe_evmwumi
-#define __ev_mwssfa __builtin_spe_evmwssfa
-#define __ev_mwsmfa __builtin_spe_evmwsmfa
-#define __ev_mwsmia __builtin_spe_evmwsmia
-#define __ev_mwumia __builtin_spe_evmwumia
-
-#define __ev_mwumf __ev_mwumi
-#define __ev_mwumfa __ev_mwumia
-
-#define __ev_mwssfaa __builtin_spe_evmwssfaa
-#define __ev_mwsmfaa __builtin_spe_evmwsmfaa
-#define __ev_mwsmiaa __builtin_spe_evmwsmiaa
-#define __ev_mwumiaa __builtin_spe_evmwumiaa
-
-#define __ev_mwumfaa __ev_mwumiaa
-
-#define __ev_mwssfan __builtin_spe_evmwssfan
-#define __ev_mwsmfan __builtin_spe_evmwsmfan
-#define __ev_mwsmian __builtin_spe_evmwsmian
-#define __ev_mwumian __builtin_spe_evmwumian
-
-#define __ev_mwumfan __ev_mwumian
-
-#define __ev_addssiaaw __builtin_spe_evaddssiaaw
-#define __ev_addsmiaaw __builtin_spe_evaddsmiaaw
-#define __ev_addusiaaw __builtin_spe_evaddusiaaw
-#define __ev_addumiaaw __builtin_spe_evaddumiaaw
-
-#define __ev_addusfaaw __ev_addusiaaw
-#define __ev_addumfaaw __ev_addumiaaw
-#define __ev_addsmfaaw __ev_addsmiaaw
-#define __ev_addssfaaw __ev_addssiaaw
-
-#define __ev_subfssiaaw __builtin_spe_evsubfssiaaw
-#define __ev_subfsmiaaw __builtin_spe_evsubfsmiaaw
-#define __ev_subfusiaaw __builtin_spe_evsubfusiaaw
-#define __ev_subfumiaaw __builtin_spe_evsubfumiaaw
-
-#define __ev_subfusfaaw __ev_subfusiaaw
-#define __ev_subfumfaaw __ev_subfumiaaw
-#define __ev_subfsmfaaw __ev_subfsmiaaw
-#define __ev_subfssfaaw __ev_subfssiaaw
-
-/* Floating Point SIMD Instructions  */
-
-#define __ev_fsabs __builtin_spe_evfsabs
-#define __ev_fsnabs __builtin_spe_evfsnabs
-#define __ev_fsneg __builtin_spe_evfsneg
-#define __ev_fsadd __builtin_spe_evfsadd
-#define __ev_fssub __builtin_spe_evfssub
-#define __ev_fsmul __builtin_spe_evfsmul
-#define __ev_fsdiv __builtin_spe_evfsdiv
-#define __ev_fscfui __builtin_spe_evfscfui
-#define __ev_fscfsi __builtin_spe_evfscfsi
-#define __ev_fscfuf __builtin_spe_evfscfuf
-#define __ev_fscfsf __builtin_spe_evfscfsf
-#define __ev_fsctui __builtin_spe_evfsctui
-#define __ev_fsctsi __builtin_spe_evfsctsi
-#define __ev_fsctuf __builtin_spe_evfsctuf
-#define __ev_fsctsf __builtin_spe_evfsctsf
-#define __ev_fsctuiz __builtin_spe_evfsctuiz
-#define __ev_fsctsiz __builtin_spe_evfsctsiz
-
-/* NOT SUPPORTED IN FIRST e500, support via two instructions:  */
-
-#define __ev_mwhusfaaw  __ev_mwhusiaaw
-#define __ev_mwhumfaaw  __ev_mwhumiaaw
-#define __ev_mwhusfanw  __ev_mwhusianw
-#define __ev_mwhumfanw  __ev_mwhumianw
-#define __ev_mwhgumfaa  __ev_mwhgumiaa
-#define __ev_mwhgumfan  __ev_mwhgumian
-
-#define __ev_mwhgssfaa __internal_ev_mwhgssfaa
-#define __ev_mwhgsmfaa __internal_ev_mwhgsmfaa
-#define __ev_mwhgsmiaa __internal_ev_mwhgsmiaa
-#define __ev_mwhgumiaa __internal_ev_mwhgumiaa
-#define __ev_mwhgssfan __internal_ev_mwhgssfan
-#define __ev_mwhgsmfan __internal_ev_mwhgsmfan
-#define __ev_mwhgsmian __internal_ev_mwhgsmian
-#define __ev_mwhgumian __internal_ev_mwhgumian
-#define __ev_mwhssiaaw __internal_ev_mwhssiaaw
-#define __ev_mwhssfaaw __internal_ev_mwhssfaaw
-#define __ev_mwhsmfaaw __internal_ev_mwhsmfaaw
-#define __ev_mwhsmiaaw __internal_ev_mwhsmiaaw
-#define __ev_mwhusiaaw __internal_ev_mwhusiaaw
-#define __ev_mwhumiaaw __internal_ev_mwhumiaaw
-#define __ev_mwhssfanw __internal_ev_mwhssfanw
-#define __ev_mwhssianw __internal_ev_mwhssianw
-#define __ev_mwhsmfanw __internal_ev_mwhsmfanw
-#define __ev_mwhsmianw __internal_ev_mwhsmianw
-#define __ev_mwhusianw __internal_ev_mwhusianw
-#define __ev_mwhumianw __internal_ev_mwhumianw
-
-static inline __ev64_opaque__
-__internal_ev_mwhssfaaw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhssf (a, b);
-  return __ev_addssiaaw (t);
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhssiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-  
-  t = __ev_mwhsmi (a, b);
-  return __ev_addssiaaw (t);
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhsmfaaw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmf (a, b);
-  return __ev_addsmiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhsmiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmi (a, b);
-  return __ev_addsmiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhusiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhumi (a, b);
-  return __ev_addusiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhumiaaw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhumi (a, b);
-  return __ev_addumiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhssfanw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhssf (a, b);
-  return __ev_subfssiaaw (t);
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhssianw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmi (a, b);
-  return __ev_subfssiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhsmfanw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmf (a, b);
-  return __ev_subfsmiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhsmianw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmi (a, b);
-  return __ev_subfsmiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhusianw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhumi (a, b);
-  return __ev_subfusiaaw (t);
-}
- 
-static inline __ev64_opaque__
-__internal_ev_mwhumianw (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhumi (a, b);
-  return __ev_subfumiaaw (t);
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgssfaa (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhssf (a, b);
-  return __ev_mwsmiaa (t, ((__ev64_s32__){1, 1}));
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgsmfaa (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmf (a, b);
-  return __ev_mwsmiaa (t, ((__ev64_s32__){1, 1}));
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgsmiaa (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmi (a, b);
-  return __ev_mwsmiaa (t, ((__ev64_s32__){1, 1}));
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgumiaa (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhumi (a, b);
-  return __ev_mwumiaa (t, ((__ev64_s32__){1, 1}));
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgssfan (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhssf (a, b);
-  return __ev_mwsmian (t, ((__ev64_s32__){1, 1}));
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgsmfan (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmf (a, b);
-  return __ev_mwsmian (t, ((__ev64_s32__){1, 1}));
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgsmian (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhsmi (a, b);
-  return __ev_mwsmian (t, ((__ev64_s32__){1, 1}));
-}
-
-static inline __ev64_opaque__
-__internal_ev_mwhgumian (__ev64_opaque__ a, __ev64_opaque__ b)
-{
-  __ev64_opaque__ t;
-
-  t = __ev_mwhumi (a, b);
-  return __ev_mwumian (t, ((__ev64_s32__){1, 1}));
-}
-
-/* END OF NOT SUPPORTED */
-
-/* __ev_create* functions.  */
-
-#define __ev_create_ufix32_u32 __ev_create_u32
-#define __ev_create_sfix32_s32 __ev_create_s32
-
-static inline __ev64_opaque__
-__ev_create_s16 (int16_t a, int16_t b, int16_t c, int16_t d)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    int16_t i[4];
-  } u;
-
-  u.i[0] = a;
-  u.i[1] = b;
-  u.i[2] = c;
-  u.i[3] = d;
-
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_create_u16 (uint16_t a, uint16_t b, uint16_t c, uint16_t d)
-				  
-{
-  union
-  {
-    __ev64_opaque__ v;
-    uint16_t i[4];
-  } u;
-
-  u.i[0] = a;
-  u.i[1] = b;
-  u.i[2] = c;
-  u.i[3] = d;
-
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_create_s32 (int32_t a, int32_t b)
-{
-  union
-  {
-    __ev64_opaque__ v;
-   int32_t i[2];
-  } u;
-
-  u.i[0] = a;
-  u.i[1] = b;
-
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_create_u32 (uint32_t a, uint32_t b)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    uint32_t i[2];
-  } u;
-
-  u.i[0] = a;
-  u.i[1] = b;
-
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_create_fs (float a, float b)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    float f[2];
-  } u;
-
-  u.f[0] = a;
-  u.f[1] = b;
-  
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_create_sfix32_fs (float a, float b)
-{
-  __ev64_opaque__ ev;
-
-  ev = (__ev64_opaque__) __ev_create_fs (a, b);
-  return (__ev64_opaque__) __builtin_spe_evfsctsf ((__v2sf) ev);
-}
-
-static inline __ev64_opaque__
-__ev_create_ufix32_fs (float a, float b)
-{
-  __ev64_opaque__ ev;
-
-  ev = (__ev64_opaque__) __ev_create_fs (a, b);
-  return (__ev64_opaque__) __builtin_spe_evfsctuf ((__v2sf) ev);
-}
-
-static inline __ev64_opaque__
-__ev_create_s64 (int64_t a)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    int64_t i;
-  } u;
-
-  u.i = a;
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_create_u64 (uint64_t a)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    uint64_t i;
-  } u;
-
-  u.i = a;
-  return u.v;
-}
-
-static inline uint64_t
-__ev_convert_u64 (__ev64_opaque__ a)
-{
-  return (uint64_t) a;
-}
-
-static inline int64_t
-__ev_convert_s64 (__ev64_opaque__ a)
-{
-  return (int64_t) a;
-}
-
-/* __ev_get_* functions.  */
-
-#define __ev_get_upper_u32(a) __ev_get_u32_internal ((a), 0)
-#define __ev_get_lower_u32(a) __ev_get_u32_internal ((a), 1)
-#define __ev_get_upper_s32(a) __ev_get_s32_internal ((a), 0)
-#define __ev_get_lower_s32(a) __ev_get_s32_internal ((a), 1)
-#define __ev_get_upper_fs(a) __ev_get_fs_internal ((a), 0)
-#define __ev_get_lower_fs(a) __ev_get_fs_internal ((a), 1)
-#define __ev_get_upper_ufix32_u32 __ev_get_upper_u32
-#define __ev_get_lower_ufix32_u32 __ev_get_lower_u32
-#define __ev_get_upper_sfix32_s32 __ev_get_upper_s32
-#define __ev_get_lower_sfix32_s32 __ev_get_lower_s32
-#define __ev_get_upper_sfix32_fs(a)  __ev_get_sfix32_fs ((a), 0)
-#define __ev_get_lower_sfix32_fs(a)  __ev_get_sfix32_fs ((a), 1)
-#define __ev_get_upper_ufix32_fs(a)  __ev_get_ufix32_fs ((a), 0)
-#define __ev_get_lower_ufix32_fs(a)  __ev_get_ufix32_fs ((a), 1)
-
-#define __ev_get_u32 __ev_get_u32_internal
-#define __ev_get_s32 __ev_get_s32_internal
-#define __ev_get_fs __ev_get_fs_internal
-#define __ev_get_u16 __ev_get_u16_internal
-#define __ev_get_s16 __ev_get_s16_internal
-
-#define __ev_get_ufix32_u32 __ev_get_u32
-#define __ev_get_sfix32_s32 __ev_get_s32
-#define __ev_get_ufix32_fs     __ev_get_ufix32_fs_internal
-#define __ev_get_sfix32_fs     __ev_get_sfix32_fs_internal
-
-static inline uint32_t
-__ev_get_u32_internal (__ev64_opaque__ a, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    uint32_t i[2];
-  } u;
-
-  u.v = a;
-  return u.i[pos];
-}
-
-static inline int32_t
-__ev_get_s32_internal (__ev64_opaque__ a, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    int32_t i[2];
-  } u;
-
-  u.v = a;
-  return u.i[pos];
-}
-
-static inline float
-__ev_get_fs_internal (__ev64_opaque__ a, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    float f[2];
-  } u;
-
-  u.v = a;
-  return u.f[pos];
-}
-
-static inline float
-__ev_get_sfix32_fs_internal (__ev64_opaque__ a, uint32_t pos)
-{
-  __ev64_fs__ v;
-
-  v = __builtin_spe_evfscfsf ((__v2sf) a);
-  return __ev_get_fs_internal ((__ev64_opaque__) v, pos);
-}
-
-static inline float
-__ev_get_ufix32_fs_internal (__ev64_opaque__ a, uint32_t pos)
-{
-  __ev64_fs__ v;
-
-  v = __builtin_spe_evfscfuf ((__v2sf) a);
-  return __ev_get_fs_internal ((__ev64_opaque__) v, pos);
-}
-
-static inline uint16_t
-__ev_get_u16_internal (__ev64_opaque__ a, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    uint16_t i[4];
-  } u;
-
-  u.v = a;
-  return u.i[pos];
-}
-
-static inline int16_t
-__ev_get_s16_internal (__ev64_opaque__ a, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    int16_t i[4];
-  } u;
-
-  u.v = a;
-  return u.i[pos];
-}
-
-/* __ev_set_* functions.  */
-
-#define __ev_set_u32 __ev_set_u32_internal
-#define __ev_set_s32 __ev_set_s32_internal
-#define __ev_set_fs __ev_set_fs_internal
-#define __ev_set_u16 __ev_set_u16_internal
-#define __ev_set_s16 __ev_set_s16_internal
-
-#define __ev_set_ufix32_u32 __ev_set_u32
-#define __ev_set_sfix32_s32 __ev_set_s32
-
-#define __ev_set_sfix32_fs  __ev_set_sfix32_fs_internal
-#define __ev_set_ufix32_fs  __ev_set_ufix32_fs_internal
-
-#define __ev_set_upper_u32(a, b) __ev_set_u32 (a, b, 0)
-#define __ev_set_lower_u32(a, b) __ev_set_u32 (a, b, 1)
-#define __ev_set_upper_s32(a, b) __ev_set_s32 (a, b, 0)
-#define __ev_set_lower_s32(a, b) __ev_set_s32 (a, b, 1)
-#define __ev_set_upper_fs(a, b) __ev_set_fs (a, b, 0)
-#define __ev_set_lower_fs(a, b) __ev_set_fs (a, b, 1)
-#define __ev_set_upper_ufix32_u32 __ev_set_upper_u32
-#define __ev_set_lower_ufix32_u32 __ev_set_lower_u32
-#define __ev_set_upper_sfix32_s32 __ev_set_upper_s32
-#define __ev_set_lower_sfix32_s32 __ev_set_lower_s32
-#define __ev_set_upper_sfix32_fs(a, b)  __ev_set_sfix32_fs (a, b, 0)
-#define __ev_set_lower_sfix32_fs(a, b)  __ev_set_sfix32_fs (a, b, 1)
-#define __ev_set_upper_ufix32_fs(a, b)  __ev_set_ufix32_fs (a, b, 0)
-#define __ev_set_lower_ufix32_fs(a, b)  __ev_set_ufix32_fs (a, b, 1)
-
-#define __ev_set_acc_vec64 __builtin_spe_evmra
-
-static inline __ev64_opaque__
-__ev_set_acc_u64 (uint64_t a)
-{
-  __ev64_opaque__ ev32;
-  ev32 = __ev_create_u64 (a);
-  __ev_mra (ev32);
-  return ev32;
-}
-
-static inline __ev64_opaque__
-__ev_set_acc_s64 (int64_t a)
-{
-  __ev64_opaque__ ev32;
-  ev32 = __ev_create_s64 (a);
-  __ev_mra (ev32);
-  return ev32;
-}
-
-static inline __ev64_opaque__
-__ev_set_u32_internal (__ev64_opaque__ a, uint32_t b, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    uint32_t i[2];
-  } u;
-
-  u.v = a;
-  u.i[pos] = b;
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_set_s32_internal (__ev64_opaque__ a, int32_t b, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    int32_t i[2];
-  } u;
-
-  u.v = a;
-  u.i[pos] = b;
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_set_fs_internal (__ev64_opaque__ a, float b, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    float f[2];
-  } u;
-
-  u.v = a;
-  u.f[pos] = b;
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_set_sfix32_fs_internal (__ev64_opaque__ a, float b, uint32_t pos)
-{
-  __ev64_opaque__ v;
-  float other;
-
-  /* Get other half.  */
-  other = __ev_get_fs_internal (a, pos ^ 1);
-
-  /* Make an sfix32 with 'b'.  */
-  v = __ev_create_sfix32_fs (b, b);
-
-  /* Set other half to what it used to be.  */
-  return __ev_set_fs_internal (v, other, pos ^ 1);
-}
-
-static inline __ev64_opaque__
-__ev_set_ufix32_fs_internal (__ev64_opaque__ a, float b, uint32_t pos)
-{
-  __ev64_opaque__ v;
-  float other;
-
-  /* Get other half.  */
-  other = __ev_get_fs_internal (a, pos ^ 1);
-
-  /* Make an ufix32 with 'b'.  */
-  v = __ev_create_ufix32_fs (b, b);
-
-  /* Set other half to what it used to be.  */
-  return __ev_set_fs_internal (v, other, pos ^ 1);
-}
-
-static inline __ev64_opaque__
-__ev_set_u16_internal (__ev64_opaque__ a, uint16_t b, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    uint16_t i[4];
-  } u;
-
-  u.v = a;
-  u.i[pos] = b;
-  return u.v;
-}
-
-static inline __ev64_opaque__
-__ev_set_s16_internal (__ev64_opaque__ a, int16_t b, uint32_t pos)
-{
-  union
-  {
-    __ev64_opaque__ v;
-    int16_t i[4];
-  } u;
-
-  u.v = a;
-  u.i[pos] = b;
-  return u.v;
-}
-
-/* Predicates.  */
-
-#define __pred_all	0
-#define __pred_any	1
-#define __pred_upper	2
-#define __pred_lower	3
-
-#define __ev_any_gts(a, b)		__builtin_spe_evcmpgts (__pred_any, (a), (b))
-#define __ev_all_gts(a, b)		__builtin_spe_evcmpgts (__pred_all, (a), (b))
-#define __ev_upper_gts(a, b)		__builtin_spe_evcmpgts (__pred_upper, (a), (b))
-#define __ev_lower_gts(a, b)		__builtin_spe_evcmpgts (__pred_lower, (a), (b))
-#define __ev_select_gts			__builtin_spe_evsel_gts
-
-#define __ev_any_gtu(a, b)		__builtin_spe_evcmpgtu (__pred_any, (a), (b))
-#define __ev_all_gtu(a, b)		__builtin_spe_evcmpgtu (__pred_all, (a), (b))
-#define __ev_upper_gtu(a, b)		__builtin_spe_evcmpgtu (__pred_upper, (a), (b))
-#define __ev_lower_gtu(a, b)		__builtin_spe_evcmpgtu (__pred_lower, (a), (b))
-#define __ev_select_gtu			__builtin_spe_evsel_gtu
-
-#define __ev_any_lts(a, b)		__builtin_spe_evcmplts (__pred_any, (a), (b))
-#define __ev_all_lts(a, b)		__builtin_spe_evcmplts (__pred_all, (a), (b))
-#define __ev_upper_lts(a, b)		__builtin_spe_evcmplts (__pred_upper, (a), (b))
-#define __ev_lower_lts(a, b)		__builtin_spe_evcmplts (__pred_lower, (a), (b))
-#define __ev_select_lts(a, b, c, d) 	((__v2si) __builtin_spe_evsel_lts ((a), (b), (c), (d)))
-
-#define __ev_any_ltu(a, b)		__builtin_spe_evcmpltu (__pred_any, (a), (b))
-#define __ev_all_ltu(a, b)		__builtin_spe_evcmpltu (__pred_all, (a), (b))
-#define __ev_upper_ltu(a, b)		__builtin_spe_evcmpltu (__pred_upper, (a), (b))
-#define __ev_lower_ltu(a, b)		__builtin_spe_evcmpltu (__pred_lower, (a), (b))
-#define __ev_select_ltu 		__builtin_spe_evsel_ltu
-#define __ev_any_eq(a, b)		__builtin_spe_evcmpeq (__pred_any, (a), (b))
-#define __ev_all_eq(a, b)		__builtin_spe_evcmpeq (__pred_all, (a), (b))
-#define __ev_upper_eq(a, b)		__builtin_spe_evcmpeq (__pred_upper, (a), (b))
-#define __ev_lower_eq(a, b)		__builtin_spe_evcmpeq (__pred_lower, (a), (b))
-#define __ev_select_eq			__builtin_spe_evsel_eq
-
-#define __ev_any_fs_gt(a, b)		__builtin_spe_evfscmpgt (__pred_any, (a), (b))
-#define __ev_all_fs_gt(a, b)		__builtin_spe_evfscmpgt (__pred_all, (a), (b))
-#define __ev_upper_fs_gt(a, b)		__builtin_spe_evfscmpgt (__pred_upper, (a), (b))
-#define __ev_lower_fs_gt(a, b)		__builtin_spe_evfscmpgt (__pred_lower, (a), (b))
-#define __ev_select_fs_gt		__builtin_spe_evsel_fsgt
-
-#define __ev_any_fs_lt(a, b)		__builtin_spe_evfscmplt (__pred_any, (a), (b))
-#define __ev_all_fs_lt(a, b)		__builtin_spe_evfscmplt (__pred_all, (a), (b))
-#define __ev_upper_fs_lt(a, b)		__builtin_spe_evfscmplt (__pred_upper, (a), (b))
-#define __ev_lower_fs_lt(a, b)		__builtin_spe_evfscmplt (__pred_lower, (a), (b))
-#define __ev_select_fs_lt		__builtin_spe_evsel_fslt
-
-#define __ev_any_fs_eq(a, b)		__builtin_spe_evfscmpeq (__pred_any, (a), (b))
-#define __ev_all_fs_eq(a, b)		__builtin_spe_evfscmpeq (__pred_all, (a), (b))
-#define __ev_upper_fs_eq(a, b)		__builtin_spe_evfscmpeq (__pred_upper, (a), (b))
-#define __ev_lower_fs_eq(a, b)		__builtin_spe_evfscmpeq (__pred_lower, (a), (b))
-#define __ev_select_fs_eq		__builtin_spe_evsel_fseq
-
-#define __ev_any_fs_tst_gt(a, b)	__builtin_spe_evfststgt (__pred_any, (a), (b))
-#define __ev_all_fs_tst_gt(a, b)	__builtin_spe_evfststgt (__pred_all, (a), (b))
-#define __ev_upper_fs_tst_gt(a, b)	__builtin_spe_evfststgt (__pred_upper, (a), (b))
-#define __ev_lower_fs_tst_gt(a, b)	__builtin_spe_evfststgt (__pred_lower, (a), (b))
-#define __ev_select_fs_tst_gt           __builtin_spe_evsel_fststgt
-
-#define __ev_any_fs_tst_lt(a, b)	__builtin_spe_evfststlt (__pred_any, (a), (b))
-#define __ev_all_fs_tst_lt(a, b)	__builtin_spe_evfststlt (__pred_all, (a), (b))
-#define __ev_upper_fs_tst_lt(a, b)	__builtin_spe_evfststlt (__pred_upper, (a), (b))
-#define __ev_lower_fs_tst_lt(a, b)	__builtin_spe_evfststlt (__pred_lower, (a), (b))
-#define __ev_select_fs_tst_lt		__builtin_spe_evsel_fststlt
-
-#define __ev_any_fs_tst_eq(a, b)	__builtin_spe_evfststeq (__pred_any, (a), (b))
-#define __ev_all_fs_tst_eq(a, b)	__builtin_spe_evfststeq (__pred_all, (a), (b))
-#define __ev_upper_fs_tst_eq(a, b)	__builtin_spe_evfststeq (__pred_upper, (a), (b))
-#define __ev_lower_fs_tst_eq(a, b)	__builtin_spe_evfststeq (__pred_lower, (a), (b))
-#define __ev_select_fs_tst_eq		__builtin_spe_evsel_fststeq
-
-/* SPEFSCR accessor functions.  */
-
-#define __SPEFSCR_SOVH		0x80000000
-#define __SPEFSCR_OVH		0x40000000
-#define __SPEFSCR_FGH		0x20000000
-#define __SPEFSCR_FXH		0x10000000
-#define __SPEFSCR_FINVH		0x08000000
-#define __SPEFSCR_FDBZH		0x04000000
-#define __SPEFSCR_FUNFH		0x02000000
-#define __SPEFSCR_FOVFH		0x01000000
-/* 2 unused bits.  */
-#define __SPEFSCR_FINXS		0x00200000
-#define __SPEFSCR_FINVS		0x00100000
-#define __SPEFSCR_FDBZS		0x00080000
-#define __SPEFSCR_FUNFS		0x00040000
-#define __SPEFSCR_FOVFS		0x00020000
-#define __SPEFSCR_MODE		0x00010000
-#define __SPEFSCR_SOV		0x00008000
-#define __SPEFSCR_OV		0x00004000
-#define __SPEFSCR_FG		0x00002000
-#define __SPEFSCR_FX		0x00001000
-#define __SPEFSCR_FINV		0x00000800
-#define __SPEFSCR_FDBZ		0x00000400
-#define __SPEFSCR_FUNF		0x00000200
-#define __SPEFSCR_FOVF		0x00000100
-/* 1 unused bit.  */
-#define __SPEFSCR_FINXE		0x00000040
-#define __SPEFSCR_FINVE		0x00000020
-#define __SPEFSCR_FDBZE		0x00000010
-#define __SPEFSCR_FUNFE		0x00000008
-#define __SPEFSCR_FOVFE		0x00000004
-#define __SPEFSCR_FRMC		0x00000003
-
-#define __ev_get_spefscr_sovh() (__builtin_spe_mfspefscr () & __SPEFSCR_SOVH)
-#define __ev_get_spefscr_ovh() (__builtin_spe_mfspefscr () & __SPEFSCR_OVH)
-#define __ev_get_spefscr_fgh() (__builtin_spe_mfspefscr () & __SPEFSCR_FGH)
-#define __ev_get_spefscr_fxh() (__builtin_spe_mfspefscr () & __SPEFSCR_FXH)
-#define __ev_get_spefscr_finvh() (__builtin_spe_mfspefscr () & __SPEFSCR_FINVH)
-#define __ev_get_spefscr_fdbzh() (__builtin_spe_mfspefscr () & __SPEFSCR_FDBZH)
-#define __ev_get_spefscr_funfh() (__builtin_spe_mfspefscr () & __SPEFSCR_FUNFH)
-#define __ev_get_spefscr_fovfh() (__builtin_spe_mfspefscr () & __SPEFSCR_FOVFH)
-#define __ev_get_spefscr_finxs() (__builtin_spe_mfspefscr () & __SPEFSCR_FINXS)
-#define __ev_get_spefscr_finvs() (__builtin_spe_mfspefscr () & __SPEFSCR_FINVS)
-#define __ev_get_spefscr_fdbzs() (__builtin_spe_mfspefscr () & __SPEFSCR_FDBZS)
-#define __ev_get_spefscr_funfs() (__builtin_spe_mfspefscr () & __SPEFSCR_FUNFS)
-#define __ev_get_spefscr_fovfs() (__builtin_spe_mfspefscr () & __SPEFSCR_FOVFS)
-#define __ev_get_spefscr_mode() (__builtin_spe_mfspefscr () & __SPEFSCR_MODE)
-#define __ev_get_spefscr_sov() (__builtin_spe_mfspefscr () & __SPEFSCR_SOV)
-#define __ev_get_spefscr_ov() (__builtin_spe_mfspefscr () & __SPEFSCR_OV)
-#define __ev_get_spefscr_fg() (__builtin_spe_mfspefscr () & __SPEFSCR_FG)
-#define __ev_get_spefscr_fx() (__builtin_spe_mfspefscr () & __SPEFSCR_FX)
-#define __ev_get_spefscr_finv() (__builtin_spe_mfspefscr () & __SPEFSCR_FINV)
-#define __ev_get_spefscr_fdbz() (__builtin_spe_mfspefscr () & __SPEFSCR_FDBZ)
-#define __ev_get_spefscr_funf() (__builtin_spe_mfspefscr () & __SPEFSCR_FUNF)
-#define __ev_get_spefscr_fovf() (__builtin_spe_mfspefscr () & __SPEFSCR_FOVF)
-#define __ev_get_spefscr_finxe() (__builtin_spe_mfspefscr () & __SPEFSCR_FINXE)
-#define __ev_get_spefscr_finve() (__builtin_spe_mfspefscr () & __SPEFSCR_FINVE)
-#define __ev_get_spefscr_fdbze() (__builtin_spe_mfspefscr () & __SPEFSCR_FDBZE)
-#define __ev_get_spefscr_funfe() (__builtin_spe_mfspefscr () & __SPEFSCR_FUNFE)
-#define __ev_get_spefscr_fovfe() (__builtin_spe_mfspefscr () & __SPEFSCR_FOVFE)
-#define __ev_get_spefscr_frmc() (__builtin_spe_mfspefscr () & __SPEFSCR_FRMC)
-
-static inline void
-__ev_clr_spefscr_field (int mask)
-{
-  int i;
-
-  i = __builtin_spe_mfspefscr ();
-  i &= ~mask;
-  __builtin_spe_mtspefscr (i);
-}
-
-#define __ev_clr_spefscr_sovh() __ev_clr_spefscr_field (__SPEFSCR_SOVH)
-#define __ev_clr_spefscr_sov() __ev_clr_spefscr_field (__SPEFSCR_SOV)
-#define __ev_clr_spefscr_finxs() __ev_clr_spefscr_field (__SPEFSCR_FINXS)
-#define __ev_clr_spefscr_finvs() __ev_clr_spefscr_field (__SPEFSCR_FINVS)
-#define __ev_clr_spefscr_fdbzs() __ev_clr_spefscr_field (__SPEFSCR_FDBZS)
-#define __ev_clr_spefscr_funfs() __ev_clr_spefscr_field (__SPEFSCR_FUNFS)
-#define __ev_clr_spefscr_fovfs() __ev_clr_spefscr_field (__SPEFSCR_FOVFS)
-
-/* Set rounding mode:
-     rnd = 0 (nearest)
-     rnd = 1 (zero)
-     rnd = 2 (+inf)
-     rnd = 3 (-inf).  */
-
-static inline void
-__ev_set_spefscr_frmc (int rnd)
-{
-  int i;
-
-  i = __builtin_spe_mfspefscr ();
-  i &= ~__SPEFSCR_FRMC;
-  i |= rnd;
-  __builtin_spe_mtspefscr (i);
-}
-
-/* The SPE PIM says these are declared in <spe.h>, although they are
-   not provided by GCC: they must be taken from a separate
-   library.  */
-extern short int atosfix16 (const char *);
-extern int atosfix32 (const char *);
-extern long long atosfix64 (const char *);
-
-extern unsigned short atoufix16 (const char *);
-extern unsigned int atoufix32 (const char *);
-extern unsigned long long atoufix64 (const char *);
-
-extern short int strtosfix16 (const char *, char **);
-extern int strtosfix32 (const char *, char **);
-extern long long strtosfix64 (const char *, char **);
-
-extern unsigned short int strtoufix16 (const char *, char **);
-extern unsigned int strtoufix32 (const char *, char **);
-extern unsigned long long strtoufix64 (const char *, char **);
-
-#endif /* _SPE_H */

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.h Thu Aug  2 20:00:37 2007
@@ -1,1153 +0,0 @@
-/* Target definitions for GNU compiler for PowerPC running System V.4
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007 Free Software Foundation, Inc.
-   Contributed by Cygnus Support.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-/* Header files should be C++ aware in general.  */
-#undef  NO_IMPLICIT_EXTERN_C
-#define NO_IMPLICIT_EXTERN_C
-
-/* Yes!  We are ELF.  */
-#define	TARGET_OBJECT_FORMAT OBJECT_ELF
-
-/* Default ABI to compile code for.  */
-#define DEFAULT_ABI rs6000_current_abi
-
-/* Default ABI to use.  */
-#define RS6000_ABI_NAME "sysv"
-
-/* Override rs6000.h definition.  */
-#undef	ASM_DEFAULT_SPEC
-#define	ASM_DEFAULT_SPEC "-mppc"
-
-/* Small data support types.  */
-enum rs6000_sdata_type {
-  SDATA_NONE,			/* No small data support.  */
-  SDATA_DATA,			/* Just put data in .sbss/.sdata, don't use relocs.  */
-  SDATA_SYSV,			/* Use r13 to point to .sdata/.sbss.  */
-  SDATA_EABI			/* Use r13 like above, r2 points to .sdata2/.sbss2.  */
-};
-
-extern enum rs6000_sdata_type rs6000_sdata;
-
-#define	TARGET_TOC		((target_flags & MASK_64BIT)		\
-				 || ((target_flags & (MASK_RELOCATABLE	\
-						      | MASK_MINIMAL_TOC)) \
-				     && flag_pic > 1)			\
-				 || DEFAULT_ABI == ABI_AIX)
-
-#define	TARGET_BITFIELD_TYPE	(! TARGET_NO_BITFIELD_TYPE)
-#define	TARGET_BIG_ENDIAN	(! TARGET_LITTLE_ENDIAN)
-#define	TARGET_NO_PROTOTYPE	(! TARGET_PROTOTYPE)
-#define	TARGET_NO_TOC		(! TARGET_TOC)
-#define	TARGET_NO_EABI		(! TARGET_EABI)
-
-#ifdef HAVE_AS_REL16
-#undef TARGET_SECURE_PLT
-#define TARGET_SECURE_PLT	secure_plt
-#endif
-
-extern const char *rs6000_abi_name;
-extern const char *rs6000_sdata_name;
-extern const char *rs6000_tls_size_string; /* For -mtls-size= */
-
-#define SDATA_DEFAULT_SIZE 8
-
-/* Sometimes certain combinations of command options do not make sense
-   on a particular target machine.  You can define a macro
-   `OVERRIDE_OPTIONS' to take account of this.  This macro, if
-   defined, is executed once just after all the command options have
-   been parsed.
-
-   The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
-   get control.  */
-
-#define SUBTARGET_OVERRIDE_OPTIONS					\
-do {									\
-  if (!g_switch_set)							\
-    g_switch_value = SDATA_DEFAULT_SIZE;				\
-									\
-  if (rs6000_abi_name == NULL)						\
-    rs6000_abi_name = RS6000_ABI_NAME;					\
-									\
-  if (!strcmp (rs6000_abi_name, "sysv"))				\
-    rs6000_current_abi = ABI_V4;					\
-  else if (!strcmp (rs6000_abi_name, "sysv-noeabi"))			\
-    {									\
-      rs6000_current_abi = ABI_V4;					\
-      target_flags &= ~ MASK_EABI;					\
-    }									\
-  else if (!strcmp (rs6000_abi_name, "sysv-eabi")			\
-	   || !strcmp (rs6000_abi_name, "eabi"))			\
-    {									\
-      rs6000_current_abi = ABI_V4;					\
-      target_flags |= MASK_EABI;					\
-    }									\
-  else if (!strcmp (rs6000_abi_name, "aixdesc"))			\
-    rs6000_current_abi = ABI_AIX;					\
-  else if (!strcmp (rs6000_abi_name, "freebsd"))			\
-    rs6000_current_abi = ABI_V4;					\
-  else if (!strcmp (rs6000_abi_name, "linux"))				\
-    {									\
-      if (TARGET_64BIT)							\
-	rs6000_current_abi = ABI_AIX;					\
-      else								\
-	rs6000_current_abi = ABI_V4;					\
-    }									\
-  else if (!strcmp (rs6000_abi_name, "gnu"))				\
-    rs6000_current_abi = ABI_V4;					\
-  else if (!strcmp (rs6000_abi_name, "netbsd"))				\
-    rs6000_current_abi = ABI_V4;					\
-  else if (!strcmp (rs6000_abi_name, "openbsd"))			\
-    rs6000_current_abi = ABI_V4;					\
-  else if (!strcmp (rs6000_abi_name, "i960-old"))			\
-    {									\
-      rs6000_current_abi = ABI_V4;					\
-      target_flags |= (MASK_LITTLE_ENDIAN | MASK_EABI			\
-		       | MASK_NO_BITFIELD_WORD);			\
-      target_flags &= ~MASK_STRICT_ALIGN;				\
-    }									\
-  else									\
-    {									\
-      rs6000_current_abi = ABI_V4;					\
-      error ("bad value for -mcall-%s", rs6000_abi_name);		\
-    }									\
-									\
-  if (rs6000_sdata_name)						\
-    {									\
-      if (!strcmp (rs6000_sdata_name, "none"))				\
-	rs6000_sdata = SDATA_NONE;					\
-      else if (!strcmp (rs6000_sdata_name, "data"))			\
-	rs6000_sdata = SDATA_DATA;					\
-      else if (!strcmp (rs6000_sdata_name, "default"))			\
-	rs6000_sdata = (TARGET_EABI) ? SDATA_EABI : SDATA_SYSV;		\
-      else if (!strcmp (rs6000_sdata_name, "sysv"))			\
-	rs6000_sdata = SDATA_SYSV;					\
-      else if (!strcmp (rs6000_sdata_name, "eabi"))			\
-	rs6000_sdata = SDATA_EABI;					\
-      else								\
-	error ("bad value for -msdata=%s", rs6000_sdata_name);		\
-    }									\
-  else if (DEFAULT_ABI == ABI_V4)					\
-    {									\
-      rs6000_sdata = SDATA_DATA;					\
-      rs6000_sdata_name = "data";					\
-    }									\
-  else									\
-    {									\
-      rs6000_sdata = SDATA_NONE;					\
-      rs6000_sdata_name = "none";					\
-    }									\
-									\
-  if (TARGET_RELOCATABLE &&						\
-      (rs6000_sdata == SDATA_EABI || rs6000_sdata == SDATA_SYSV))	\
-    {									\
-      rs6000_sdata = SDATA_DATA;					\
-      error ("-mrelocatable and -msdata=%s are incompatible",		\
-	     rs6000_sdata_name);					\
-    }									\
-									\
-  else if (flag_pic && DEFAULT_ABI != ABI_AIX				\
-	   && (rs6000_sdata == SDATA_EABI				\
-	       || rs6000_sdata == SDATA_SYSV))				\
-    {									\
-      rs6000_sdata = SDATA_DATA;					\
-      error ("-f%s and -msdata=%s are incompatible",			\
-	     (flag_pic > 1) ? "PIC" : "pic",				\
-	     rs6000_sdata_name);					\
-    }									\
-									\
-  if ((rs6000_sdata != SDATA_NONE && DEFAULT_ABI != ABI_V4)		\
-      || (rs6000_sdata == SDATA_EABI && !TARGET_EABI))			\
-    {									\
-      rs6000_sdata = SDATA_NONE;					\
-      error ("-msdata=%s and -mcall-%s are incompatible",		\
-	     rs6000_sdata_name, rs6000_abi_name);			\
-    }									\
-									\
-  targetm.have_srodata_section = rs6000_sdata == SDATA_EABI;		\
-									\
-  if (TARGET_RELOCATABLE && !TARGET_MINIMAL_TOC)			\
-    {									\
-      target_flags |= MASK_MINIMAL_TOC;					\
-      error ("-mrelocatable and -mno-minimal-toc are incompatible");	\
-    }									\
-									\
-  if (TARGET_RELOCATABLE && rs6000_current_abi == ABI_AIX)		\
-    {									\
-      target_flags &= ~MASK_RELOCATABLE;				\
-      error ("-mrelocatable and -mcall-%s are incompatible",		\
-	     rs6000_abi_name);						\
-    }									\
-									\
-  if (!TARGET_64BIT && flag_pic > 1 && rs6000_current_abi == ABI_AIX)	\
-    {									\
-      flag_pic = 0;							\
-      error ("-fPIC and -mcall-%s are incompatible",			\
-	     rs6000_abi_name);						\
-    }									\
-									\
-  if (rs6000_current_abi == ABI_AIX && TARGET_LITTLE_ENDIAN)		\
-    {									\
-      target_flags &= ~MASK_LITTLE_ENDIAN;				\
-      error ("-mcall-aixdesc must be big endian");			\
-    }									\
-									\
-  if (TARGET_SECURE_PLT != secure_plt)					\
-    {									\
-      error ("-msecure-plt not supported by your assembler");		\
-    }									\
-									\
-  /* Treat -fPIC the same as -mrelocatable.  */				\
-  if (flag_pic > 1 && DEFAULT_ABI != ABI_AIX)				\
-    {									\
-      target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC;		\
-      TARGET_NO_FP_IN_TOC = 1;						\
-    }									\
-									\
-  else if (TARGET_RELOCATABLE)						\
-    flag_pic = 2;							\
-} while (0)
-
-#ifndef RS6000_BI_ARCH
-# define SUBSUBTARGET_OVERRIDE_OPTIONS					\
-do {									\
-  if ((TARGET_DEFAULT ^ target_flags) & MASK_64BIT)			\
-    error ("-m%s not supported in this configuration",			\
-	   (target_flags & MASK_64BIT) ? "64" : "32");			\
-} while (0)
-#endif
-
-/* Override rs6000.h definition.  */
-#undef	TARGET_DEFAULT
-#define	TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
-
-/* Override rs6000.h definition.  */
-#undef	PROCESSOR_DEFAULT
-#define	PROCESSOR_DEFAULT PROCESSOR_PPC750
-
-/* SVR4 only defined for PowerPC, so short-circuit POWER patterns.  */
-#undef  TARGET_POWER
-#define TARGET_POWER 0
-
-#define FIXED_R2 1
-/* System V.4 uses register 13 as a pointer to the small data area,
-   so it is not available to the normal user.  */
-#define FIXED_R13 1
-
-/* Override default big endianism definitions in rs6000.h.  */
-#undef	BYTES_BIG_ENDIAN
-#undef	WORDS_BIG_ENDIAN
-#define	BYTES_BIG_ENDIAN (TARGET_BIG_ENDIAN)
-#define	WORDS_BIG_ENDIAN (TARGET_BIG_ENDIAN)
-
-/* Define this to set the endianness to use in libgcc2.c, which can
-   not depend on target_flags.  */
-#if !defined(__LITTLE_ENDIAN__) && !defined(__sun__)
-#define LIBGCC2_WORDS_BIG_ENDIAN 1
-#else
-#define LIBGCC2_WORDS_BIG_ENDIAN 0
-#endif
-
-/* Define cutoff for using external functions to save floating point.
-   Currently on V.4, always use inline stores.  */
-#define FP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 64)
-
-/* Put jump tables in read-only memory, rather than in .text.  */
-#define JUMP_TABLES_IN_TEXT_SECTION 0
-
-/* Prefix and suffix to use to saving floating point.  */
-#define	SAVE_FP_PREFIX "_savefpr_"
-#define SAVE_FP_SUFFIX "_l"
-
-/* Prefix and suffix to use to restoring floating point.  */
-#define	RESTORE_FP_PREFIX "_restfpr_"
-#define RESTORE_FP_SUFFIX "_l"
-
-/* Type used for ptrdiff_t, as a string used in a declaration.  */
-#define PTRDIFF_TYPE "int"
-
-/* Type used for wchar_t, as a string used in a declaration.  */
-/* Override svr4.h definition.  */
-#undef	WCHAR_TYPE
-#define WCHAR_TYPE "long int"
-
-/* Width of wchar_t in bits.  */
-/* Override svr4.h definition.  */
-#undef	WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 32
-
-/* Make int foo : 8 not cause structures to be aligned to an int boundary.  */
-/* Override elfos.h definition.  */
-#undef	PCC_BITFIELD_TYPE_MATTERS
-#define	PCC_BITFIELD_TYPE_MATTERS (TARGET_BITFIELD_TYPE)
-
-#undef	BITFIELD_NBYTES_LIMITED
-#define	BITFIELD_NBYTES_LIMITED (TARGET_NO_BITFIELD_WORD)
-
-/* Define this macro to be the value 1 if instructions will fail to
-   work if given data not on the nominal alignment.  If instructions
-   will merely go slower in that case, define this macro as 0.  */
-#undef	STRICT_ALIGNMENT
-#define	STRICT_ALIGNMENT (TARGET_STRICT_ALIGN)
-
-/* Define this macro if you wish to preserve a certain alignment for
-   the stack pointer, greater than what the hardware enforces.  The
-   definition is a C expression for the desired alignment (measured
-   in bits).  This macro must evaluate to a value equal to or larger
-   than STACK_BOUNDARY.
-   For the SYSV ABI and variants the alignment of the stack pointer
-   is usually controlled manually in rs6000.c. However, to maintain
-   alignment across alloca () in all circumstances,
-   PREFERRED_STACK_BOUNDARY needs to be set as well.
-   This has the additional advantage of allowing a bigger maximum
-   alignment of user objects on the stack.  */
-
-#undef PREFERRED_STACK_BOUNDARY
-#define PREFERRED_STACK_BOUNDARY 128
-
-/* Real stack boundary as mandated by the appropriate ABI.  */
-#define ABI_STACK_BOUNDARY \
-  ((TARGET_EABI && !TARGET_ALTIVEC && !TARGET_ALTIVEC_ABI) ? 64 : 128)
-
-/* An expression for the alignment of a structure field FIELD if the
-   alignment computed in the usual way is COMPUTED.  */
-#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED)				      \
-	((TARGET_ALTIVEC && TREE_CODE (TREE_TYPE (FIELD)) == VECTOR_TYPE)     \
-	 ? 128 : COMPUTED)
-
-#undef  BIGGEST_FIELD_ALIGNMENT
-
-/* Use ELF style section commands.  */
-
-#define	TEXT_SECTION_ASM_OP	"\t.section\t\".text\""
-
-#define	DATA_SECTION_ASM_OP	"\t.section\t\".data\""
-
-#define	BSS_SECTION_ASM_OP	"\t.section\t\".bss\""
-
-/* APPLE LOCAL begin hot/cold partitioning  */
-#define HOT_TEXT_SECTION_NAME ".text"
-#define UNLIKELY_EXECUTED_TEXT_SECTION_NAME ".text.unlikely"
-/* APPLE LOCAL end hot/cold partitioning  */
-
-/* Override elfos.h definition.  */
-#undef	INIT_SECTION_ASM_OP
-#define	INIT_SECTION_ASM_OP "\t.section\t\".init\",\"ax\""
-
-/* Override elfos.h definition.  */
-#undef	FINI_SECTION_ASM_OP
-#define	FINI_SECTION_ASM_OP "\t.section\t\".fini\",\"ax\""
-
-#define	TOC_SECTION_ASM_OP "\t.section\t\".got\",\"aw\""
-
-/* Put PC relative got entries in .got2.  */
-#define	MINIMAL_TOC_SECTION_ASM_OP \
-  (TARGET_RELOCATABLE || (flag_pic && DEFAULT_ABI != ABI_AIX)		\
-   ? "\t.section\t\".got2\",\"aw\"" : "\t.section\t\".got1\",\"aw\"")
-
-#define	SDATA_SECTION_ASM_OP "\t.section\t\".sdata\",\"aw\""
-#define	SDATA2_SECTION_ASM_OP "\t.section\t\".sdata2\",\"a\""
-#define	SBSS_SECTION_ASM_OP "\t.section\t\".sbss\",\"aw\", at nobits"
-
-/* Override default elf definitions.  */
-#define TARGET_ASM_INIT_SECTIONS rs6000_elf_asm_init_sections
-#undef  TARGET_ASM_RELOC_RW_MASK
-#define TARGET_ASM_RELOC_RW_MASK rs6000_elf_reloc_rw_mask
-#undef	TARGET_ASM_SELECT_RTX_SECTION
-#define	TARGET_ASM_SELECT_RTX_SECTION rs6000_elf_select_rtx_section
-
-/* Return nonzero if this entry is to be written into the constant pool
-   in a special way.  We do so if this is a SYMBOL_REF, LABEL_REF or a CONST
-   containing one of them.  If -mfp-in-toc (the default), we also do
-   this for floating-point constants.  We actually can only do this
-   if the FP formats of the target and host machines are the same, but
-   we can't check that since not every file that uses
-   GO_IF_LEGITIMATE_ADDRESS_P includes real.h.
-
-   Unlike AIX, we don't key off of -mminimal-toc, but instead do not
-   allow floating point constants in the TOC if -mrelocatable.  */
-
-#undef	ASM_OUTPUT_SPECIAL_POOL_ENTRY_P
-#define	ASM_OUTPUT_SPECIAL_POOL_ENTRY_P(X, MODE)			\
-  (TARGET_TOC								\
-   && (GET_CODE (X) == SYMBOL_REF					\
-       || (GET_CODE (X) == CONST && GET_CODE (XEXP (X, 0)) == PLUS	\
-	   && GET_CODE (XEXP (XEXP (X, 0), 0)) == SYMBOL_REF)		\
-       || GET_CODE (X) == LABEL_REF					\
-       || (GET_CODE (X) == CONST_INT 					\
-	   && GET_MODE_BITSIZE (MODE) <= GET_MODE_BITSIZE (Pmode))	\
-       || (!TARGET_NO_FP_IN_TOC						\
-	   && !TARGET_RELOCATABLE					\
-	   && GET_CODE (X) == CONST_DOUBLE				\
-	   && SCALAR_FLOAT_MODE_P (GET_MODE (X))			\
-	   && BITS_PER_WORD == HOST_BITS_PER_INT)))
-
-/* These macros generate the special .type and .size directives which
-   are used to set the corresponding fields of the linker symbol table
-   entries in an ELF object file under SVR4.  These macros also output
-   the starting labels for the relevant functions/objects.  */
-
-/* Write the extra assembler code needed to declare a function properly.
-   Some svr4 assemblers need to also have something extra said about the
-   function's return value.  We allow for that here.  */
-
-extern int rs6000_pic_labelno;
-
-/* Override elfos.h definition.  */
-#undef	ASM_DECLARE_FUNCTION_NAME
-#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)			\
-  rs6000_elf_declare_function_name ((FILE), (NAME), (DECL))
-
-/* The USER_LABEL_PREFIX stuff is affected by the -fleading-underscore
-   flag.  The LOCAL_LABEL_PREFIX variable is used by dbxelf.h.  */
-
-#define	LOCAL_LABEL_PREFIX "."
-#define	USER_LABEL_PREFIX ""
-
-/* svr4.h overrides (*targetm.asm_out.internal_label).  */
-
-#define	ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)	\
-  asm_fprintf (FILE, "%L%s", PREFIX)
-
-/* Globalizing directive for a label.  */
-#define GLOBAL_ASM_OP "\t.globl "
-
-/* This says how to output assembler code to declare an
-   uninitialized internal linkage data object.  Under SVR4,
-   the linker seems to want the alignment of data objects
-   to depend on their types.  We do exactly that here.  */
-
-#define	LOCAL_ASM_OP	"\t.local\t"
-
-#define	LCOMM_ASM_OP	"\t.lcomm\t"
-
-/* Describe how to emit uninitialized local items.  */
-#define	ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN)	\
-do {									\
-  if ((DECL) && rs6000_elf_in_small_data_p (DECL))			\
-    {									\
-      switch_to_section (sbss_section);					\
-      ASM_OUTPUT_ALIGN (FILE, exact_log2 (ALIGN / BITS_PER_UNIT));	\
-      ASM_OUTPUT_LABEL (FILE, NAME);					\
-      ASM_OUTPUT_SKIP (FILE, SIZE);					\
-      if (!flag_inhibit_size_directive && (SIZE) > 0)			\
-	ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, SIZE);			\
-    }									\
-  else									\
-    {									\
-      fprintf (FILE, "%s", LCOMM_ASM_OP);				\
-      assemble_name ((FILE), (NAME));					\
-      fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",		\
-	       (SIZE), (ALIGN) / BITS_PER_UNIT);			\
-    }									\
-  ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object");			\
-} while (0)
-
-/* Describe how to emit uninitialized external linkage items.  */
-#define	ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN)		\
-do {									\
-  ASM_OUTPUT_ALIGNED_DECL_LOCAL (FILE, DECL, NAME, SIZE, ALIGN);	\
-} while (0)
-
-#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
-/* To support -falign-* switches we need to use .p2align so
-   that alignment directives in code sections will be padded
-   with no-op instructions, rather than zeroes.  */
-#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP)			\
-  if ((LOG) != 0)							\
-    {									\
-      if ((MAX_SKIP) == 0)						\
-	fprintf ((FILE), "\t.p2align %d\n", (LOG));			\
-      else								\
-	fprintf ((FILE), "\t.p2align %d,,%d\n",	(LOG), (MAX_SKIP));	\
-    }
-#endif
-
-/* This is how to output code to push a register on the stack.
-   It need not be very fast code.
-
-   On the rs6000, we must keep the backchain up to date.  In order
-   to simplify things, always allocate 16 bytes for a push (System V
-   wants to keep stack aligned to a 16 byte boundary).  */
-
-#define	ASM_OUTPUT_REG_PUSH(FILE, REGNO)				\
-do {									\
-  if (DEFAULT_ABI == ABI_V4)						\
-    asm_fprintf (FILE,							\
-		 "\t{stu|stwu} %s,-16(%s)\n\t{st|stw} %s,12(%s)\n",	\
-		 reg_names[1], reg_names[1], reg_names[REGNO],		\
-		 reg_names[1]);						\
-} while (0)
-
-/* This is how to output an insn to pop a register from the stack.
-   It need not be very fast code.  */
-
-#define	ASM_OUTPUT_REG_POP(FILE, REGNO)					\
-do {									\
-  if (DEFAULT_ABI == ABI_V4)						\
-    asm_fprintf (FILE,							\
-		 "\t{l|lwz} %s,12(%s)\n\t{ai|addic} %s,%s,16\n",	\
-		 reg_names[REGNO], reg_names[1], reg_names[1],		\
-		 reg_names[1]);						\
-} while (0)
-
-/* Switch  Recognition by gcc.c.  Add -G xx support.  */
-
-/* Override svr4.h definition.  */
-#undef	SWITCH_TAKES_ARG
-#define	SWITCH_TAKES_ARG(CHAR)						\
-  ((CHAR) == 'D' || (CHAR) == 'U' || (CHAR) == 'o'			\
-   || (CHAR) == 'e' || (CHAR) == 'T' || (CHAR) == 'u'			\
-   || (CHAR) == 'I' || (CHAR) == 'm' || (CHAR) == 'x'			\
-   || (CHAR) == 'L' || (CHAR) == 'A' || (CHAR) == 'V'			\
-   || (CHAR) == 'B' || (CHAR) == 'b' || (CHAR) == 'G')
-
-extern int fixuplabelno;
-
-/* Handle constructors specially for -mrelocatable.  */
-#define TARGET_ASM_CONSTRUCTOR  rs6000_elf_asm_out_constructor
-#define TARGET_ASM_DESTRUCTOR   rs6000_elf_asm_out_destructor
-
-/* This is the end of what might become sysv4.h.  */
-
-/* Use DWARF 2 debugging information by default.  */
-#undef  PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
-
-/* Historically we have also supported stabs debugging.  */
-#define DBX_DEBUGGING_INFO 1
-
-#define TARGET_ENCODE_SECTION_INFO  rs6000_elf_encode_section_info
-#define TARGET_IN_SMALL_DATA_P  rs6000_elf_in_small_data_p
-
-/* The ELF version doesn't encode [DS] or whatever at the end of symbols.  */
-
-#define	RS6000_OUTPUT_BASENAME(FILE, NAME)	\
-    assemble_name (FILE, NAME)
-
-/* We have to output the stabs for the function name *first*, before
-   outputting its label.  */
-
-#define	DBX_FUNCTION_FIRST
-
-/* This is the end of what might become sysv4dbx.h.  */
-
-#ifndef	TARGET_VERSION
-#define	TARGET_VERSION fprintf (stderr, " (PowerPC System V.4)");
-#endif
-
-#define TARGET_OS_SYSV_CPP_BUILTINS()		\
-  do						\
-    {						\
-      if (target_flags_explicit			\
-	  & MASK_RELOCATABLE)			\
-	builtin_define ("_RELOCATABLE");	\
-    }						\
-  while (0)
-
-#ifndef	TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      builtin_define_std ("PPC");		\
-      builtin_define_std ("unix");		\
-      builtin_define ("__svr4__");		\
-      builtin_assert ("system=unix");		\
-      builtin_assert ("system=svr4");		\
-      builtin_assert ("cpu=powerpc");		\
-      builtin_assert ("machine=powerpc");	\
-      TARGET_OS_SYSV_CPP_BUILTINS ();		\
-    }						\
-  while (0)
-#endif
-
-/* Pass various options to the assembler.  */
-/* Override svr4.h definition.  */
-#undef	ASM_SPEC
-#define	ASM_SPEC "%(asm_cpu) \
-"/* APPLE LOCAL mainline 2007-03-13 5040758 */" \
-%{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
-%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
-%{mrelocatable} %{mrelocatable-lib} %{fpic|fpie|fPIC|fPIE:-K PIC} \
-%{memb|msdata|msdata=eabi: -memb} \
-%{mlittle|mlittle-endian:-mlittle; \
-  mbig|mbig-endian      :-mbig;    \
-  mcall-aixdesc |		   \
-  mcall-freebsd |		   \
-  mcall-netbsd  |		   \
-  mcall-openbsd |		   \
-  mcall-linux   |		   \
-  mcall-gnu             :-mbig;    \
-  mcall-i960-old        :-mlittle}"
-
-#define	CC1_ENDIAN_BIG_SPEC ""
-
-#define	CC1_ENDIAN_LITTLE_SPEC "\
-%{!mstrict-align: %{!mno-strict-align: \
-    %{!mcall-i960-old: \
-	-mstrict-align \
-    } \
-}}"
-
-#define	CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_big)"
-
-#ifndef CC1_SECURE_PLT_DEFAULT_SPEC
-#define CC1_SECURE_PLT_DEFAULT_SPEC ""
-#endif
-
-/* Pass -G xxx to the compiler and set correct endian mode.  */
-#define	CC1_SPEC "%{G*} \
-%{mlittle|mlittle-endian: %(cc1_endian_little);           \
-  mbig   |mbig-endian   : %(cc1_endian_big);              \
-  mcall-aixdesc |					  \
-  mcall-freebsd |					  \
-  mcall-netbsd  |					  \
-  mcall-openbsd |					  \
-  mcall-linux   |					  \
-  mcall-gnu             : -mbig %(cc1_endian_big);        \
-  mcall-i960-old        : -mlittle %(cc1_endian_little);  \
-                        : %(cc1_endian_default)}          \
-%{meabi: %{!mcall-*: -mcall-sysv }} \
-%{!meabi: %{!mno-eabi: \
-    %{mrelocatable: -meabi } \
-    %{mcall-freebsd: -mno-eabi } \
-    %{mcall-i960-old: -meabi } \
-    %{mcall-linux: -mno-eabi } \
-    %{mcall-gnu: -mno-eabi } \
-    %{mcall-netbsd: -mno-eabi } \
-    %{mcall-openbsd: -mno-eabi }}} \
-%{msdata: -msdata=default} \
-%{mno-sdata: -msdata=none} \
-%{!mbss-plt: %{!msecure-plt: %(cc1_secure_plt_default)}} \
-%{profile: -p}"
-
-/* Don't put -Y P,<path> for cross compilers.  */
-/* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#ifndef CROSS_DIRECTORY_STRUCTURE
-/* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */
-#define LINK_PATH_SPEC "\
-%{!R*:%{L*:-R %*}} \
-%{!nostdlib: %{!YP,*: \
-    %{compat-bsd: \
-	%{p:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
-	%{!p:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}} \
-	%{!R*: %{!L*: -R /usr/ucblib}} \
-    %{!compat-bsd: \
-	%{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
-	%{!p:-Y P,/usr/ccs/lib:/usr/lib}}}}"
-
-#else
-#define LINK_PATH_SPEC ""
-#endif
-
-/* Default starting address if specified.  */
-#define LINK_START_SPEC "\
-%{mads         : %(link_start_ads)         ; \
-  myellowknife : %(link_start_yellowknife) ; \
-  mmvme        : %(link_start_mvme)        ; \
-  msim         : %(link_start_sim)         ; \
-  mwindiss     : %(link_start_windiss)     ; \
-  mcall-freebsd: %(link_start_freebsd)     ; \
-  mcall-linux  : %(link_start_linux)       ; \
-  mcall-gnu    : %(link_start_gnu)         ; \
-  mcall-netbsd : %(link_start_netbsd)      ; \
-  mcall-openbsd: %(link_start_openbsd)     ; \
-               : %(link_start_default)     }"
-
-#define LINK_START_DEFAULT_SPEC ""
-
-/* Override svr4.h definition.  */
-#undef	LINK_SPEC
-#define	LINK_SPEC "\
-%{h*} %{v:-V} %{!msdata=none:%{G*}} %{msdata=none:-G0} \
-%{YP,*} %{R*} \
-%{Qy:} %{!Qn:-Qy} \
-%(link_shlib) \
-%{!Wl,-T*: %{!T*: %(link_start) }} \
-%(link_target) \
-%(link_os)"
-
-/* For now, turn off shared libraries by default.  */
-#ifndef SHARED_LIB_SUPPORT
-#define NO_SHARED_LIB_SUPPORT
-#endif
-
-#ifndef NO_SHARED_LIB_SUPPORT
-/* Shared libraries are default.  */
-#define LINK_SHLIB_SPEC "\
-%{!static: %(link_path) %{!R*:%{L*:-R %*}}} \
-%{mshlib: } \
-%{static:-dn -Bstatic} \
-%{shared:-G -dy -z text} \
-%{symbolic:-Bsymbolic -G -dy -z text}"
-
-#else
-/* Shared libraries are not default.  */
-#define LINK_SHLIB_SPEC "\
-%{mshlib: %(link_path) } \
-%{!mshlib: %{!shared: %{!symbolic: -dn -Bstatic}}} \
-%{static: } \
-%{shared:-G -dy -z text %(link_path) } \
-%{symbolic:-Bsymbolic -G -dy -z text %(link_path) }"
-#endif
-
-/* Override the default target of the linker.  */
-#define	LINK_TARGET_SPEC "\
-%{mlittle: --oformat elf32-powerpcle } %{mlittle-endian: --oformat elf32-powerpcle } \
-%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
-    %{mcall-i960-old: --oformat elf32-powerpcle} \
-  }}}}"
-
-/* Any specific OS flags.  */
-#define LINK_OS_SPEC "\
-%{mads         : %(link_os_ads)         ; \
-  myellowknife : %(link_os_yellowknife) ; \
-  mmvme        : %(link_os_mvme)        ; \
-  msim         : %(link_os_sim)         ; \
-  mwindiss     : %(link_os_windiss)     ; \
-  mcall-freebsd: %(link_os_freebsd)     ; \
-  mcall-linux  : %(link_os_linux)       ; \
-  mcall-gnu    : %(link_os_gnu)         ; \
-  mcall-netbsd : %(link_os_netbsd)      ; \
-  mcall-openbsd: %(link_os_openbsd)     ; \
-               : %(link_os_default)     }"
-
-#define LINK_OS_DEFAULT_SPEC ""
-
-/* Override rs6000.h definition.  */
-#undef	CPP_SPEC
-#define	CPP_SPEC "%{posix: -D_POSIX_SOURCE} \
-%{mads         : %(cpp_os_ads)         ; \
-  myellowknife : %(cpp_os_yellowknife) ; \
-  mmvme        : %(cpp_os_mvme)        ; \
-  msim         : %(cpp_os_sim)         ; \
-  mwindiss     : %(cpp_os_windiss)     ; \
-  mcall-freebsd: %(cpp_os_freebsd)     ; \
-  mcall-linux  : %(cpp_os_linux)       ; \
-  mcall-gnu    : %(cpp_os_gnu)         ; \
-  mcall-netbsd : %(cpp_os_netbsd)      ; \
-  mcall-openbsd: %(cpp_os_openbsd)     ; \
-               : %(cpp_os_default)     }"
-
-#define	CPP_OS_DEFAULT_SPEC ""
-
-/* Override svr4.h definition.  */
-#undef	STARTFILE_SPEC
-#define	STARTFILE_SPEC "\
-%{mads         : %(startfile_ads)         ; \
-  myellowknife : %(startfile_yellowknife) ; \
-  mmvme        : %(startfile_mvme)        ; \
-  msim         : %(startfile_sim)         ; \
-  mwindiss     : %(startfile_windiss)     ; \
-  mcall-freebsd: %(startfile_freebsd)     ; \
-  mcall-linux  : %(startfile_linux)       ; \
-  mcall-gnu    : %(startfile_gnu)         ; \
-  mcall-netbsd : %(startfile_netbsd)      ; \
-  mcall-openbsd: %(startfile_openbsd)     ; \
-               : %(startfile_default)     }"
-
-#define	STARTFILE_DEFAULT_SPEC ""
-
-/* Override svr4.h definition.  */
-#undef	LIB_SPEC
-#define	LIB_SPEC "\
-%{mads         : %(lib_ads)         ; \
-  myellowknife : %(lib_yellowknife) ; \
-  mmvme        : %(lib_mvme)        ; \
-  msim         : %(lib_sim)         ; \
-  mwindiss     : %(lib_windiss)     ; \
-  mcall-freebsd: %(lib_freebsd)     ; \
-  mcall-linux  : %(lib_linux)       ; \
-  mcall-gnu    : %(lib_gnu)         ; \
-  mcall-netbsd : %(lib_netbsd)      ; \
-  mcall-openbsd: %(lib_openbsd)     ; \
-               : %(lib_default)     }"
-
-#define LIB_DEFAULT_SPEC ""
-
-/* Override svr4.h definition.  */
-#undef	ENDFILE_SPEC
-#define	ENDFILE_SPEC "\
-%{mads         : crtsavres.o%s        %(endfile_ads)         ; \
-  myellowknife : crtsavres.o%s        %(endfile_yellowknife) ; \
-  mmvme        : crtsavres.o%s        %(endfile_mvme)        ; \
-  msim         : crtsavres.o%s        %(endfile_sim)         ; \
-  mwindiss     :                      %(endfile_windiss)     ; \
-  mcall-freebsd: crtsavres.o%s        %(endfile_freebsd)     ; \
-  mcall-linux  : crtsavres.o%s        %(endfile_linux)       ; \
-  mcall-gnu    : crtsavres.o%s        %(endfile_gnu)         ; \
-  mcall-netbsd : crtsavres.o%s        %(endfile_netbsd)      ; \
-  mcall-openbsd: crtsavres.o%s        %(endfile_openbsd)     ; \
-               : %(crtsavres_default) %(endfile_default)     }"
-
-#define CRTSAVRES_DEFAULT_SPEC "crtsavres.o%s"
-
-#define	ENDFILE_DEFAULT_SPEC ""
-
-/* Motorola ADS support.  */
-#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
-
-#define	STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
-
-#define	ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s"
-
-#define LINK_START_ADS_SPEC "-T ads.ld%s"
-
-#define LINK_OS_ADS_SPEC ""
-
-#define CPP_OS_ADS_SPEC ""
-
-/* Motorola Yellowknife support.  */
-#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"
-
-#define	STARTFILE_YELLOWKNIFE_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
-
-#define	ENDFILE_YELLOWKNIFE_SPEC "crtend.o%s ecrtn.o%s"
-
-#define LINK_START_YELLOWKNIFE_SPEC "-T yellowknife.ld%s"
-
-#define LINK_OS_YELLOWKNIFE_SPEC ""
-
-#define CPP_OS_YELLOWKNIFE_SPEC ""
-
-/* Motorola MVME support.  */
-#define LIB_MVME_SPEC "--start-group -lmvme -lc --end-group"
-
-#define	STARTFILE_MVME_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
-
-#define	ENDFILE_MVME_SPEC "crtend.o%s ecrtn.o%s"
-
-#define LINK_START_MVME_SPEC "-Ttext 0x40000"
-
-#define LINK_OS_MVME_SPEC ""
-
-#define CPP_OS_MVME_SPEC ""
-
-/* PowerPC simulator based on netbsd system calls support.  */
-#define LIB_SIM_SPEC "--start-group -lsim -lc --end-group"
-
-#define	STARTFILE_SIM_SPEC "ecrti.o%s sim-crt0.o%s crtbegin.o%s"
-
-#define	ENDFILE_SIM_SPEC "crtend.o%s ecrtn.o%s"
-
-#define LINK_START_SIM_SPEC ""
-
-#define LINK_OS_SIM_SPEC "-m elf32ppcsim"
-
-#define CPP_OS_SIM_SPEC ""
-
-/* FreeBSD support.  */
-
-#define CPP_OS_FREEBSD_SPEC	"\
-  -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ \
-  -Acpu=powerpc -Amachine=powerpc"
-
-#define	STARTFILE_FREEBSD_SPEC	FBSD_STARTFILE_SPEC
-#define ENDFILE_FREEBSD_SPEC	FBSD_ENDFILE_SPEC
-#define LIB_FREEBSD_SPEC	FBSD_LIB_SPEC
-#define LINK_START_FREEBSD_SPEC	""
-
-#define LINK_OS_FREEBSD_SPEC "\
-  %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \
-  %{v:-V} \
-  %{assert*} %{R*} %{rpath*} %{defsym*} \
-  %{shared:-Bshareable %{h*} %{soname*}} \
-  %{!shared: \
-    %{!static: \
-      %{rdynamic: -export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
-    %{static:-Bstatic}} \
-  %{symbolic:-Bsymbolic}"
-
-/* GNU/Linux support.  */
-#define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \
-%{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \
-%{!shared: %{profile:-lc_p} %{!profile:-lc}}}"
-
-#ifdef HAVE_LD_PIE
-#define	STARTFILE_LINUX_SPEC "\
-%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \
-%{mnewlib:ecrti.o%s;:crti.o%s} \
-%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-#else
-#define	STARTFILE_LINUX_SPEC "\
-%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \
-%{mnewlib:ecrti.o%s;:crti.o%s} \
-%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-#endif
-
-#define	ENDFILE_LINUX_SPEC "\
-%{shared|pie:crtendS.o%s;:crtend.o%s} \
-%{mnewlib:ecrtn.o%s;:crtn.o%s}"
-
-#define LINK_START_LINUX_SPEC ""
-
-#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
-#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-#if UCLIBC_DEFAULT
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
-#else
-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
-#endif
-#define LINUX_DYNAMIC_LINKER \
-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
-
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-  %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
-
-#if defined(HAVE_LD_EH_FRAME_HDR)
-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-#endif
-
-#define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
-%{!undef:							  \
-  %{!ansi:							  \
-    %{!std=*:-Dunix -D__unix -Dlinux -D__linux}			  \
-    %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}}		  \
--Asystem=linux -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}"
-
-/* GNU/Hurd support.  */
-#define LIB_GNU_SPEC "%{mnewlib: --start-group -lgnu -lc --end-group } \
-%{!mnewlib: %{shared:-lc} %{!shared: %{pthread:-lpthread } \
-%{profile:-lc_p} %{!profile:-lc}}}"
-
-#define	STARTFILE_GNU_SPEC "\
-%{!shared: %{!static: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}}} \
-%{static: %{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}}} \
-%{mnewlib: ecrti.o%s} %{!mnewlib: crti.o%s} \
-%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
-
-#define	ENDFILE_GNU_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} \
-%{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}"
-
-#define LINK_START_GNU_SPEC ""
-
-#define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-  %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-#define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__	\
-%{!undef:					                \
-  %{!ansi: -Dunix -D__unix}}			                \
--Asystem=gnu -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}"
-
-/* NetBSD support.  */
-#define LIB_NETBSD_SPEC "\
-%{profile:-lgmon -lc_p} %{!profile:-lc}"
-
-#define	STARTFILE_NETBSD_SPEC "\
-ncrti.o%s crt0.o%s \
-%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
-
-#define ENDFILE_NETBSD_SPEC "\
-%{!shared:crtend.o%s} %{shared:crtendS.o%s} \
-ncrtn.o%s"
-
-#define LINK_START_NETBSD_SPEC "\
-"
-
-#define LINK_OS_NETBSD_SPEC "\
-%{!shared: %{!static: \
-  %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}}}"
-
-#define CPP_OS_NETBSD_SPEC "\
--D__powerpc__ -D__NetBSD__ -D__KPRINTF_ATTRIBUTE__"
-
-/* OpenBSD support.  */
-#ifndef	LIB_OPENBSD_SPEC
-#define LIB_OPENBSD_SPEC "%{!shared:%{pthread:-lpthread%{p:_p}%{!p:%{pg:_p}}}} %{!shared:-lc%{p:_p}%{!p:%{pg:_p}}}"
-#endif
-
-#ifndef	STARTFILE_OPENBSD_SPEC
-#define	STARTFILE_OPENBSD_SPEC "\
-%{!shared: %{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}}} \
-%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
-#endif
-
-#ifndef	ENDFILE_OPENBSD_SPEC
-#define	ENDFILE_OPENBSD_SPEC "\
-%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-#endif
-
-#ifndef LINK_START_OPENBSD_SPEC
-#define LINK_START_OPENBSD_SPEC "-Ttext 0x400074"
-#endif
-
-#ifndef LINK_OS_OPENBSD_SPEC
-#define LINK_OS_OPENBSD_SPEC ""
-#endif
-
-#ifndef CPP_OS_OPENBSD_SPEC
-#define CPP_OS_OPENBSD_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
-#endif
-
-/* WindISS support.  */
-
-#define LIB_WINDISS_SPEC "--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group"
-
-#define CPP_OS_WINDISS_SPEC "\
--D__rtasim \
--D__EABI__ \
--D__ppc \
-%{!msoft-float: -D__hardfp} \
-"
-
-#define STARTFILE_WINDISS_SPEC "crt0.o%s crtbegin.o%s"
-
-#define ENDFILE_WINDISS_SPEC "crtend.o%s"
-
-#define LINK_START_WINDISS_SPEC ""
-
-#define LINK_OS_WINDISS_SPEC ""
-
-/* Define any extra SPECS that the compiler needs to generate.  */
-/* Override rs6000.h definition.  */
-#undef	SUBTARGET_EXTRA_SPECS
-#define	SUBTARGET_EXTRA_SPECS						\
-  { "crtsavres_default",	CRTSAVRES_DEFAULT_SPEC },		\
-  { "lib_ads",			LIB_ADS_SPEC },				\
-  { "lib_yellowknife",		LIB_YELLOWKNIFE_SPEC },			\
-  { "lib_mvme",			LIB_MVME_SPEC },			\
-  { "lib_sim",			LIB_SIM_SPEC },				\
-  { "lib_freebsd",		LIB_FREEBSD_SPEC },			\
-  { "lib_gnu",			LIB_GNU_SPEC },				\
-  { "lib_linux",		LIB_LINUX_SPEC },			\
-  { "lib_netbsd",		LIB_NETBSD_SPEC },			\
-  { "lib_openbsd",		LIB_OPENBSD_SPEC },			\
-  { "lib_windiss",		LIB_WINDISS_SPEC },			\
-  { "lib_default",		LIB_DEFAULT_SPEC },			\
-  { "startfile_ads",		STARTFILE_ADS_SPEC },			\
-  { "startfile_yellowknife",	STARTFILE_YELLOWKNIFE_SPEC },		\
-  { "startfile_mvme",		STARTFILE_MVME_SPEC },			\
-  { "startfile_sim",		STARTFILE_SIM_SPEC },			\
-  { "startfile_freebsd",	STARTFILE_FREEBSD_SPEC },		\
-  { "startfile_gnu",		STARTFILE_GNU_SPEC },			\
-  { "startfile_linux",		STARTFILE_LINUX_SPEC },			\
-  { "startfile_netbsd",		STARTFILE_NETBSD_SPEC },		\
-  { "startfile_openbsd",	STARTFILE_OPENBSD_SPEC },		\
-  { "startfile_windiss",	STARTFILE_WINDISS_SPEC },		\
-  { "startfile_default",	STARTFILE_DEFAULT_SPEC },		\
-  { "endfile_ads",		ENDFILE_ADS_SPEC },			\
-  { "endfile_yellowknife",	ENDFILE_YELLOWKNIFE_SPEC },		\
-  { "endfile_mvme",		ENDFILE_MVME_SPEC },			\
-  { "endfile_sim",		ENDFILE_SIM_SPEC },			\
-  { "endfile_freebsd",		ENDFILE_FREEBSD_SPEC },			\
-  { "endfile_gnu",		ENDFILE_GNU_SPEC },			\
-  { "endfile_linux",		ENDFILE_LINUX_SPEC },			\
-  { "endfile_netbsd",		ENDFILE_NETBSD_SPEC },			\
-  { "endfile_openbsd",		ENDFILE_OPENBSD_SPEC },			\
-  { "endfile_windiss",		ENDFILE_WINDISS_SPEC },			\
-  { "endfile_default",		ENDFILE_DEFAULT_SPEC },			\
-  { "link_path",		LINK_PATH_SPEC },			\
-  { "link_shlib",		LINK_SHLIB_SPEC },			\
-  { "link_target",		LINK_TARGET_SPEC },			\
-  { "link_start",		LINK_START_SPEC },			\
-  { "link_start_ads",		LINK_START_ADS_SPEC },			\
-  { "link_start_yellowknife",	LINK_START_YELLOWKNIFE_SPEC },		\
-  { "link_start_mvme",		LINK_START_MVME_SPEC },			\
-  { "link_start_sim",		LINK_START_SIM_SPEC },			\
-  { "link_start_freebsd",	LINK_START_FREEBSD_SPEC },		\
-  { "link_start_gnu",		LINK_START_GNU_SPEC },			\
-  { "link_start_linux",		LINK_START_LINUX_SPEC },		\
-  { "link_start_netbsd",	LINK_START_NETBSD_SPEC },		\
-  { "link_start_openbsd",	LINK_START_OPENBSD_SPEC },		\
-  { "link_start_windiss",	LINK_START_WINDISS_SPEC },		\
-  { "link_start_default",	LINK_START_DEFAULT_SPEC },		\
-  { "link_os",			LINK_OS_SPEC },				\
-  { "link_os_ads",		LINK_OS_ADS_SPEC },			\
-  { "link_os_yellowknife",	LINK_OS_YELLOWKNIFE_SPEC },		\
-  { "link_os_mvme",		LINK_OS_MVME_SPEC },			\
-  { "link_os_sim",		LINK_OS_SIM_SPEC },			\
-  { "link_os_freebsd",		LINK_OS_FREEBSD_SPEC },			\
-  { "link_os_linux",		LINK_OS_LINUX_SPEC },			\
-  { "link_os_gnu",		LINK_OS_GNU_SPEC },			\
-  { "link_os_netbsd",		LINK_OS_NETBSD_SPEC },			\
-  { "link_os_openbsd",		LINK_OS_OPENBSD_SPEC },			\
-  { "link_os_windiss",		LINK_OS_WINDISS_SPEC },			\
-  { "link_os_default",		LINK_OS_DEFAULT_SPEC },			\
-  { "cc1_endian_big",		CC1_ENDIAN_BIG_SPEC },			\
-  { "cc1_endian_little",	CC1_ENDIAN_LITTLE_SPEC },		\
-  { "cc1_endian_default",	CC1_ENDIAN_DEFAULT_SPEC },		\
-  { "cc1_secure_plt_default",	CC1_SECURE_PLT_DEFAULT_SPEC },		\
-  { "cpp_os_ads",		CPP_OS_ADS_SPEC },			\
-  { "cpp_os_yellowknife",	CPP_OS_YELLOWKNIFE_SPEC },		\
-  { "cpp_os_mvme",		CPP_OS_MVME_SPEC },			\
-  { "cpp_os_sim",		CPP_OS_SIM_SPEC },			\
-  { "cpp_os_freebsd",		CPP_OS_FREEBSD_SPEC },			\
-  { "cpp_os_gnu",		CPP_OS_GNU_SPEC },			\
-  { "cpp_os_linux",		CPP_OS_LINUX_SPEC },			\
-  { "cpp_os_netbsd",		CPP_OS_NETBSD_SPEC },			\
-  { "cpp_os_openbsd",		CPP_OS_OPENBSD_SPEC },			\
-  { "cpp_os_windiss",		CPP_OS_WINDISS_SPEC },			\
-  { "cpp_os_default",		CPP_OS_DEFAULT_SPEC },			\
-  { "fbsd_dynamic_linker",	FBSD_DYNAMIC_LINKER },			\
-  SUBSUBTARGET_EXTRA_SPECS
-
-#define	SUBSUBTARGET_EXTRA_SPECS
-
-/* Define this macro as a C expression for the initializer of an
-   array of string to tell the driver program which options are
-   defaults for this target and thus do not need to be handled
-   specially when using `MULTILIB_OPTIONS'.
-
-   Do not define this macro if `MULTILIB_OPTIONS' is not defined in
-   the target makefile fragment or if none of the options listed in
-   `MULTILIB_OPTIONS' are set by default.  *Note Target Fragment::.  */
-
-#define	MULTILIB_DEFAULTS { "mbig", "mcall-sysv" }
-
-/* Define this macro if the code for function profiling should come
-   before the function prologue.  Normally, the profiling code comes
-   after.  */
-#define PROFILE_BEFORE_PROLOGUE 1
-
-/* Function name to call to do profiling.  */
-#define RS6000_MCOUNT "_mcount"
-
-/* Define this macro (to a value of 1) if you want to support the
-   Win32 style pragmas #pragma pack(push,<n>)' and #pragma
-   pack(pop)'.  The pack(push,<n>) pragma specifies the maximum
-   alignment (in bytes) of fields within a structure, in much the
-   same way as the __aligned__' and __packed__' __attribute__'s
-   do.  A pack value of zero resets the behavior to the default.
-   Successive invocations of this pragma cause the previous values to
-   be stacked, so that invocations of #pragma pack(pop)' will return
-   to the previous value.  */
-
-#define HANDLE_PRAGMA_PACK_PUSH_POP 1
-
-/* Select a format to encode pointers in exception handling data.  CODE
-   is 0 for data, 1 for code labels, 2 for function pointers.  GLOBAL is
-   true if the symbol may be affected by dynamic relocations.  */
-#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL)			     \
-  ((flag_pic || TARGET_RELOCATABLE)					     \
-   ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \
-   : DW_EH_PE_absptr)
-
-#define DOUBLE_INT_ASM_OP "\t.quad\t"
-
-/* Generate entries in .fixup for relocatable addresses.  */
-#define RELOCATABLE_NEEDS_FIXUP 1
-
-/* This target uses the sysv4.opt file.  */
-#define TARGET_USES_SYSV4_OPT 1

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.opt?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4.opt Thu Aug  2 20:00:37 2007
@@ -1,149 +0,0 @@
-; SYSV4 options for PPC port.
-;
-; Copyright (C) 2005 Free Software Foundation, Inc.
-; Contributed by Aldy Hernandez <aldy at quesejoda.com>.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 2, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT
-; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-; License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING.  If not, write to the Free
-; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-; 02110-1301, USA.
-
-mcall-
-Target RejectNegative Joined
-Select ABI calling convention
-
-msdata=
-Target RejectNegative Joined
-Select method for sdata handling
-
-mtls-size=
-Target RejectNegative Joined
-Specify bit size of immediate TLS offsets
-
-mbit-align
-Target Report Mask(NO_BITFIELD_TYPE)
-Align to the base type of the bit-field
-
-mstrict-align
-Target Report Mask(STRICT_ALIGN)
-Align to the base type of the bit-field
-Don't assume that unaligned accesses are handled by the system
-
-mrelocatable
-Target Report Mask(RELOCATABLE)
-Produce code relocatable at runtime
-
-mrelocatable-lib
-Target
-Produce code relocatable at runtime
-
-mlittle-endian
-Target Report RejectNegative Mask(LITTLE_ENDIAN)
-Produce little endian code
-
-mlittle
-Target Report RejectNegative Mask(LITTLE_ENDIAN) MaskExists
-Produce little endian code
-
-mbig-endian
-Target Report RejectNegative InverseMask(LITTLE_ENDIAN)
-Produce big endian code
-
-mbig
-Target Report RejectNegative InverseMask(LITTLE_ENDIAN)
-Produce big endian code
-
-;; FIXME: This does nothing.  What should be done?
-mno-toc
-Target RejectNegative
-no description yet
-
-mtoc
-Target RejectNegative
-no description yet
-
-mprototype
-Target Mask(PROTOTYPE)
-Assume all variable arg functions are prototyped
-
-;; FIXME: Does nothing.
-mno-traceback
-Target RejectNegative
-no description yet
-
-meabi
-Target Report Mask(EABI)
-Use EABI
-
-mbit-word
-Target Report Mask(NO_BITFIELD_WORD)
-Allow bit-fields to cross word boundaries
-
-mregnames
-Target Mask(REGNAMES)
-Use alternate register names
-
-;; FIXME: Does nothing.
-msdata
-Target
-no description yet
-
-msim
-Target RejectNegative
-Link with libsim.a, libc.a and sim-crt0.o
-
-mads
-Target RejectNegative
-Link with libads.a, libc.a and crt0.o
-
-myellowknife
-Target RejectNegative
-Link with libyk.a, libc.a and crt0.o
-
-mmvme
-Target RejectNegative
-Link with libmvme.a, libc.a and crt0.o
-
-memb
-Target RejectNegative
-Set the PPC_EMB bit in the ELF flags header
-
-mwindiss
-Target RejectNegative
-Use the WindISS simulator
-
-mshlib
-Target RejectNegative
-no description yet
-
-m64
-Target Report RejectNegative Mask(64BIT)
-Generate 64-bit code
-
-m32
-Target Report RejectNegative InverseMask(64BIT)
-Generate 32-bit code
-
-mnewlib
-Target RejectNegative
-no description yet
-
-msecure-plt
-Target Report RejectNegative Var(secure_plt, 1)
-Generate code to use a non-exec PLT and GOT
-
-mbss-plt
-Target Report RejectNegative Var(secure_plt, 0)
-Generate code for old exec BSS PLT

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4le.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4le.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4le.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/sysv4le.h Thu Aug  2 20:00:37 2007
@@ -1,37 +0,0 @@
-/* Target definitions for GCC for a little endian PowerPC
-   running System V.4
-   Copyright (C) 1995, 2000, 2003 Free Software Foundation, Inc.
-   Contributed by Cygnus Support.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_LITTLE_ENDIAN)
-
-#undef	CC1_ENDIAN_DEFAULT_SPEC
-#define	CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_little)"
-
-#undef	LINK_TARGET_SPEC
-#define	LINK_TARGET_SPEC "\
-%{mbig: --oformat elf32-powerpc } %{mbig-endian: --oformat elf32-powerpc } \
-%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \
-    %{mcall-linux: --oformat elf32-powerpc} \
-  }}}}"
-
-#undef	MULTILIB_DEFAULTS
-#define	MULTILIB_DEFAULTS { "mlittle", "mcall-sysv" }

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix43
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix43?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix43 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix43 Thu Aug  2 20:00:37 2007
@@ -1,76 +0,0 @@
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
-	cat $(srcdir)/config/fp-bit.c > dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define FLOAT' > fp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
-# Build the libraries for pthread and all of the 
-# different processor models
-
-MULTILIB_OPTIONS	= pthread \
-			  mcpu=common/mcpu=power/mcpu=powerpc/maix64
-
-MULTILIB_DIRNAMES	= pthread \
-			  common power powerpc ppc64
-
-MULTILIB_MATCHES	= mcpu?power=mcpu?power \
-			  mcpu?power=mcpu?power2 \
-			  mcpu?powerpc=mcpu?power3 \
-			  mcpu?powerpc=mcpu?power4 \
-			  mcpu?powerpc=mcpu?powerpc \
-			  mcpu?power=mcpu?rios1 \
-			  mcpu?power=mcpu?rios2 \
-			  mcpu?power=mcpu?rsc \
-			  mcpu?power=mcpu?rsc1 \
-			  mcpu?powerpc=mcpu?rs64a \
-			  mcpu?powerpc=mcpu?601 \
-			  mcpu?powerpc=mcpu?602 \
-			  mcpu?powerpc=mcpu?603 \
-			  mcpu?powerpc=mcpu?603e \
-			  mcpu?powerpc=mcpu?604 \
-			  mcpu?powerpc=mcpu?604e \
-			  mcpu?powerpc=mcpu?620 \
-			  mcpu?powerpc=mcpu?630
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-# Build a shared libgcc library.
-SHLIB_EXT = .a
-SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-	-Wl,-bE:@shlib_map_file@ -o @multilib_dir@/shr.o \
-	@multilib_flags@ @shlib_objs@ -lc \
-	`case @multilib_dir@ in \
-	*pthread*) echo -L/usr/lib/threads -lpthreads -lc_r /usr/lib/libc.a ;; \
-	*) echo -lc ;; esac` ; \
-	rm -f @multilib_dir@/tmp- at shlib_base_name@.a ; \
-	$(AR_CREATE_FOR_TARGET) @multilib_dir@/tmp- at shlib_base_name@.a \
-	@multilib_dir@/shr.o ; \
-	mv @multilib_dir@/tmp- at shlib_base_name@.a \
-	   @multilib_dir@/@shlib_base_name at .a ; \
-	rm -f @multilib_dir@/shr.o
-# $(slibdir) double quoted to protect it from expansion while building
-# libgcc.mk.  We want this delayed until actual install time.
-SHLIB_INSTALL = \
-	$$(mkinstalldirs) $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@; \
-	$(INSTALL_DATA) @multilib_dir@/@shlib_base_name at .a \
-		$$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/
-SHLIB_LIBS = -lc `case @multilib_dir@ in *pthread*) echo -lpthread ;; esac`
-SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
-SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-ppc64.ver
-SHLIB_NM_FLAGS = -Bpg -X32_64
-
-# GCC 128-bit long double support routines.
-LIB2FUNCS_EXTRA =  $(srcdir)/config/rs6000/ppc64-fp.c \
-	$(srcdir)/config/rs6000/darwin-ldouble.c
-TARGET_LIBGCC2_CFLAGS = -mlong-double-128
-
-# Either 32-bit and 64-bit objects in archives.
-AR_FLAGS_FOR_TARGET = -X32_64
-

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix52
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix52?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix52 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-aix52 Thu Aug  2 20:00:37 2007
@@ -1,57 +0,0 @@
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
-	cat $(srcdir)/config/fp-bit.c > dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define FLOAT' > fp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
-# Build the libraries for pthread and all of the 
-# different processor models
-
-MULTILIB_OPTIONS	= pthread maix64
-
-MULTILIB_DIRNAMES	= pthread ppc64
-
-MULTILIB_MATCHES	= 
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-# Build a shared libgcc library.
-SHLIB_EXT = .a
-SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-	-Wl,-bE:@shlib_map_file@ -o @multilib_dir@/shr.o \
-	@multilib_flags@ @shlib_objs@ -lc \
-	`case @multilib_dir@ in \
-	*pthread*) echo -L/usr/lib/threads -lpthreads -lc_r /usr/lib/libc.a ;; \
-	*) echo -lc ;; esac` ; \
-	rm -f @multilib_dir@/tmp- at shlib_base_name@.a ; \
-	$(AR_CREATE_FOR_TARGET) @multilib_dir@/tmp- at shlib_base_name@.a \
-	@multilib_dir@/shr.o ; \
-	mv @multilib_dir@/tmp- at shlib_base_name@.a \
-	   @multilib_dir@/@shlib_base_name at .a ; \
-	rm -f @multilib_dir@/shr.o
-# $(slibdir) double quoted to protect it from expansion while building
-# libgcc.mk.  We want this delayed until actual install time.
-SHLIB_INSTALL = \
-	$$(mkinstalldirs) $$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@; \
-	$(INSTALL_DATA) @multilib_dir@/@shlib_base_name at .a \
-		$$(DESTDIR)$$(slibdir)@shlib_slibdir_qual@/
-SHLIB_LIBS = -lc `case @multilib_dir@ in *pthread*) echo -lpthread ;; esac`
-SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
-SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/rs6000/libgcc-ppc64.ver
-SHLIB_NM_FLAGS = -Bpg -X32_64
-
-# GCC 128-bit long double support routines.
-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \
-	$(srcdir)/config/rs6000/darwin-ldouble.c
-TARGET_LIBGCC2_CFLAGS = -mlong-double-128
-
-# Either 32-bit and 64-bit objects in archives.
-AR_FLAGS_FOR_TARGET = -X32_64
-

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-beos
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-beos?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-beos (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-beos Thu Aug  2 20:00:37 2007
@@ -1,30 +0,0 @@
-# Build the libraries for both hard & soft floating point and ppc/common.
-
-MULTILIB_OPTIONS = msoft-float mcpu=common
-MULTILIB_DIRNAMES = soft-float common
-
-# This is probably the correct define, to override the Makefile
-# default, but using it causes more problems than it solves.
-#
-# Using it will cause fixincludes to try and fix some of the
-# mwcc header files, which it seems to do a poor job of.  On
-# the other hand, not using it will only cause the gcc version
-# of limits.h to lack the header and trailer parts that are
-# tacked on to it when there is a limits.h in the system header
-# dir.
-#
-# For now it is probably better to change the rule for
-# LIMITS_H_TEST to explicitly look for the BeOS limits.h.
-# If the gcc limits.h is not set up to #include_next the
-# BeOS limits.h, then some things will go undefined, like
-# PATH_MAX.
-
-#SYSTEM_HEADER_DIR=/boot/develop/headers/posix
-# Test to see whether <limits.h> exists in the system header files.
-LIMITS_H_TEST = [ -f /boot/develop/headers/posix/limits.h ]
-
-# Aix 3.2.x needs milli.exp for -mcpu=common
-EXTRA_PARTS = milli.exp
-milli.exp: $(srcdir)/config/rs6000/milli.exp
-	rm -f milli.exp
-	cp $(srcdir)/config/rs6000/milli.exp ./milli.exp

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules Thu Aug  2 20:00:37 2007
@@ -1,18 +0,0 @@
-MULTILIB_MATCHES_FLOAT	= msoft-float=mcpu?401 \
-			  msoft-float=mcpu?403 \
-			  msoft-float=mcpu?405 \
-			  msoft-float=mcpu?440 \
-			  msoft-float=mcpu?ec603e \
-			  msoft-float=mcpu?801 \
-			  msoft-float=mcpu?821 \
-			  msoft-float=mcpu?823 \
-			  msoft-float=mcpu?860
-
-# Build the libraries for both hard and soft floating point by default
-
-MULTILIB_OPTIONS = msoft-float
-MULTILIB_DIRNAMES = soft-float
-MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-fpbit
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-fpbit?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-fpbit (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-fpbit Thu Aug  2 20:00:37 2007
@@ -1,11 +0,0 @@
-# We want fine grained libraries, so use the new code to build the
-# floating point emulation libraries.
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
-	cat $(srcdir)/config/fp-bit.c > dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define FLOAT' > fp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> fp-bit.c

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-softfp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-softfp?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-softfp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-fprules-softfp Thu Aug  2 20:00:37 2007
@@ -1,6 +0,0 @@
-softfp_float_modes := sf df
-softfp_int_modes := si di
-softfp_extensions := sfdf
-softfp_truncations := dfsf
-softfp_machine_header := rs6000/sfp-machine.h
-softfp_exclude_libgcc2 := y

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-linux64
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-linux64?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-linux64 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-linux64 Thu Aug  2 20:00:37 2007
@@ -1,19 +0,0 @@
-
-#rs6000/t-linux64
-
-LIB2FUNCS_EXTRA += tramp.S $(srcdir)/config/rs6000/ppc64-fp.c \
-	$(srcdir)/config/rs6000/darwin-ldouble.c
-LIB2FUNCS_EXTRA := $(sort $(LIB2FUNCS_EXTRA))
-
-TARGET_LIBGCC2_CFLAGS += -mno-minimal-toc
-
-MULTILIB_OPTIONS        = m64/m32 msoft-float
-MULTILIB_DIRNAMES       = 64 32 nof
-MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
-MULTILIB_EXCEPTIONS     = m64/msoft-float
-MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
-MULTILIB_OSDIRNAMES	= ../lib64 ../lib nof
-MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
-
-softfp_wrap_start := '\#ifndef __powerpc64__'
-softfp_wrap_end := '\#endif'

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-lynx
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-lynx?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-lynx (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-lynx Thu Aug  2 20:00:37 2007
@@ -1,38 +0,0 @@
-LIB2FUNCS_EXTRA = tramp.S
-
-tramp.S: $(srcdir)/config/rs6000/tramp.asm
-	cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
-
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
-	cat $(srcdir)/config/fp-bit.c > dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define FLOAT' > fp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-MULTILIB_OPTIONS    += msoft-float
-MULTILIB_DIRNAMES   += soft-float
-
-MULTILIB_OPTIONS    += maltivec
-MULTILIB_DIRNAMES   += altivec
-
-MULTILIB_EXCEPTIONS = *msoft-float/*maltivec*
-
-EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o 
-
-# If .sdata is enabled __CTOR_{LIST,END}__ go into .sdata instead of
-# .ctors.
-CRTSTUFF_T_CFLAGS = -mno-sdata 
- 
-# Compile crtbeginS.o and crtendS.o with pic. 
-CRTSTUFF_T_CFLAGS_S = -fPIC -mno-sdata 
-
-Local Variables:
-mode: makefile
-End:

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-netbsd
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-netbsd?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-netbsd (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-netbsd Thu Aug  2 20:00:37 2007
@@ -1,42 +0,0 @@
-# Support for NetBSD PowerPC ELF targets (SVR4 ABI).
-
-LIB2FUNCS_EXTRA = tramp.S
-
-tramp.S: $(srcdir)/config/rs6000/tramp.asm
-	cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
-
-crtsavres.S: $(srcdir)/config/rs6000/crtsavres.asm
-	cat $(srcdir)/config/rs6000/crtsavres.asm >crtsavres.S
-
-EXTRA_PARTS += crtsavres$(objext)
-
-# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
-CRTSTUFF_T_CFLAGS += -msdata=none
-CRTSTUFF_T_CFLAGS_S += -msdata=none
-
-# Switch synonyms
-MULTILIB_MATCHES_FLOAT	= msoft-float=mcpu?401 \
-			  msoft-float=mcpu?403 \
-			  msoft-float=mcpu?405 \
-			  msoft-float=mcpu?ec603e \
-			  msoft-float=mcpu?801 \
-			  msoft-float=mcpu?821 \
-			  msoft-float=mcpu?823 \
-			  msoft-float=mcpu?860
-
-MULTILIB_OPTIONS	= msoft-float
-MULTILIB_DIRNAMES	= soft-float
-MULTILIB_EXTRA_OPTS	= fPIC mstrict-align
-MULTILIB_EXCEPTIONS	=
-
-MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
-  crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) \
-  crtsavres$(objext)
-
-$(T)crtsavres$(objext): crtsavres.S
-	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
-	  -c crtsavres.S -o $(T)crtsavres$(objext)

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-newas
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-newas?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-newas (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-newas Thu Aug  2 20:00:37 2007
@@ -1,37 +0,0 @@
-# Build the libraries for both hard and soft floating point and all of the 
-# different processor models
-
-MULTILIB_OPTIONS	= msoft-float \
-			  mcpu=common/mcpu=power/mcpu=powerpc
-
-MULTILIB_DIRNAMES	= soft-float \
-			  common power powerpc
-
-MULTILIB_MATCHES	= $(MULTILIB_MATCHES_FLOAT) \
-			  mcpu?power=mpower \
-			  mcpu?power=mrios1 \
-			  mcpu?power=mcpu?rios1 \
-			  mcpu?power=mcpu?rsc \
-			  mcpu?power=mcpu?rsc1 \
-			  mcpu?power=mpower2 \
-			  mcpu?power=mrios2 \
-			  mcpu?power=mcpu=rios2 \
-			  mcpu?powerpc=mcpu?601 \
-			  mcpu?powerpc=mcpu?602 \
-			  mcpu?powerpc=mcpu?603 \
-			  mcpu?powerpc=mcpu?603e \
-			  mcpu?powerpc=mcpu?604 \
-			  mcpu?powerpc=mcpu?620 \
-			  mcpu?powerpc=mcpu?403 \
-			  mcpu?powerpc=mpowerpc \
-			  mcpu?powerpc=mpowerpc-gpopt \
-			  mcpu?powerpc=mpowerpc-gfxopt
-
-# GCC 128-bit long double support routines.
-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c
-
-# Aix 3.2.x needs milli.exp for -mcpu=common
-EXTRA_PARTS = milli.exp
-milli.exp: $(srcdir)/config/rs6000/milli.exp
-	rm -f milli.exp
-	cp $(srcdir)/config/rs6000/milli.exp ./milli.exp

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppccomm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppccomm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppccomm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppccomm Thu Aug  2 20:00:37 2007
@@ -1,71 +0,0 @@
-# Common support for PowerPC ELF targets (both EABI and SVR4).
-
-LIB2FUNCS_EXTRA += tramp.S $(srcdir)/config/rs6000/darwin-ldouble.c
-
-# This one can't end up in shared libgcc
-LIB2FUNCS_STATIC_EXTRA = eabi.S
-
-eabi.S: $(srcdir)/config/rs6000/eabi.asm
-	cat $(srcdir)/config/rs6000/eabi.asm > eabi.S
-
-tramp.S: $(srcdir)/config/rs6000/tramp.asm
-	cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
-
-ifneq (,$(findstring gnu,$(target)))
-ifeq (,$(findstring spe,$(target)))
-TARGET_LIBGCC2_CFLAGS += -mlong-double-128
-
-SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc-glibc.ver
-endif
-endif
-
-# Switch synonyms
-MULTILIB_MATCHES_ENDIAN	= mlittle=mlittle-endian mbig=mbig-endian
-MULTILIB_MATCHES_SYSV	= mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd
-
-EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
-  crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) \
-  ecrti$(objext) ecrtn$(objext) \
-  ncrti$(objext) ncrtn$(objext) \
-  crtsavres$(objext)
-
-# We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
-# end labels to all of the special sections used when we link using gcc.
-
-# Assemble startup files.
-ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
-	cat $(srcdir)/config/rs6000/eabi-ci.asm >ecrti.S
-
-ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm
-	cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S
-
-ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm
-	cat $(srcdir)/config/rs6000/sol-ci.asm >ncrti.S
-
-ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
-	cat $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S
-
-crtsavres.S: $(srcdir)/config/rs6000/crtsavres.asm
-	cat $(srcdir)/config/rs6000/crtsavres.asm >crtsavres.S
-
-# Build multiple copies of ?crt{i,n}.o, one for each target switch.
-$(T)ecrti$(objext): ecrti.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrti.S -o $(T)ecrti$(objext)
-
-$(T)ecrtn$(objext): ecrtn.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ecrtn.S -o $(T)ecrtn$(objext)
-
-$(T)ncrti$(objext): ncrti.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrti.S -o $(T)ncrti$(objext)
-
-$(T)ncrtn$(objext): ncrtn.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext)
-
-$(T)crtsavres$(objext): crtsavres.S
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavres.S -o $(T)crtsavres$(objext)
-
-# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
-CRTSTUFF_T_CFLAGS = -msdata=none
-# Make sure crt*.o are built with -fPIC even if configured with 
-# --enable-shared --disable-multilib
-CRTSTUFF_T_CFLAGS_S = -fPIC -msdata=none

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcendian
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcendian?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcendian (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcendian Thu Aug  2 20:00:37 2007
@@ -1,12 +0,0 @@
-# Multilibs for powerpc embedded ELF targets with altivec.
-
-MULTILIB_OPTIONS	= msoft-float \
-			  mlittle/mbig
-
-MULTILIB_DIRNAMES	= nof \
-			  le be
-
-
-MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT} \
-			  ${MULTILIB_MATCHES_ENDIAN} \
-			  ${MULTILIB_MATCHES_SYSV}

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcgas
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcgas?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcgas (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcgas Thu Aug  2 20:00:37 2007
@@ -1,14 +0,0 @@
-# Multilibs for powerpc embedded ELF targets.
-
-MULTILIB_OPTIONS	= msoft-float \
-			  mlittle/mbig \
-			  fleading-underscore
-
-MULTILIB_DIRNAMES	= nof \
-			  le be \
-			  und
-
-MULTILIB_EXTRA_OPTS	= mrelocatable-lib mno-eabi mstrict-align
-
-MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT} \
-			  ${MULTILIB_MATCHES_ENDIAN}

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcos
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcos?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcos (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-ppcos Thu Aug  2 20:00:37 2007
@@ -1,8 +0,0 @@
-# Multilibs for a powerpc hosted ELF target (linux, SVR4)
-
-MULTILIB_OPTIONS	= msoft-float
-MULTILIB_DIRNAMES	= nof
-MULTILIB_EXTRA_OPTS	= fPIC mstrict-align
-MULTILIB_EXCEPTIONS	= 
-
-MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-rtems
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-rtems?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-rtems (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-rtems Thu Aug  2 20:00:37 2007
@@ -1,66 +0,0 @@
-# Multilibs for powerpc RTEMS targets.
-
-MULTILIB_OPTIONS	= \
-mcpu=403/mcpu=505/mcpu=601/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400 \
-Dmpc8260 \
-msoft-float
-
-MULTILIB_DIRNAMES	= \
-m403 m505 m601 m603e m604 m860 m7400 \
-mpc8260 \
-nof
-
-MULTILIB_EXTRA_OPTS	= mrelocatable-lib mno-eabi mstrict-align
-
-# MULTILIB_MATCHES	= ${MULTILIB_MATCHES_FLOAT}
-MULTILIB_MATCHES	=
-MULTILIB_MATCHES  	+= ${MULTILIB_MATCHES_ENDIAN}
-MULTILIB_MATCHES	+= ${MULTILIB_MATCHES_SYSV}
-# Map 405 to 403
-MULTILIB_MATCHES	+= mcpu?403=mcpu?405
-# Map 602, 603e, 603 to 603e
-MULTILIB_MATCHES	+= mcpu?603e=mcpu?602
-MULTILIB_MATCHES	+= mcpu?603e=mcpu?603
-# Map 801, 821, 823 to 860
-MULTILIB_MATCHES 	+= mcpu?860=mcpu?801
-MULTILIB_MATCHES 	+= mcpu?860=mcpu?821
-MULTILIB_MATCHES 	+= mcpu?860=mcpu?823
-# Map 7450 to 7400
-MULTILIB_MATCHES	+= mcpu?7400=mcpu?7450
-
-# Map 750 to .
-MULTILIB_MATCHES	+= mcpu?750=
-
-# Soft-float only, default implies msoft-float
-# NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES
-MULTILIB_SOFTFLOAT_ONLY = \
-*mcpu=401/*msoft-float* \
-*mcpu=403/*msoft-float* \
-*mcpu=405/*msoft-float* \
-*mcpu=801/*msoft-float* \
-*mcpu=821/*msoft-float* \
-*mcpu=823/*msoft-float* \
-*mcpu=860/*msoft-float*
-
-# Hard-float only, take out msoft-float
-MULTILIB_HARDFLOAT_ONLY = \
-*mcpu=505/*msoft-float*
-
-MULTILIB_EXCEPTIONS =
-
-# Disallow -Dppc and -Dmpc without other options
-MULTILIB_EXCEPTIONS 	+= Dppc* Dmpc*
-
-MULTILIB_EXCEPTIONS	+= \
-${MULTILIB_SOFTFLOAT_ONLY} \
-${MULTILIB_HARDFLOAT_ONLY}
-
-# Special rules
-# Take out all variants we don't want
-MULTILIB_EXCEPTIONS += *mcpu=403/Dmpc*
-MULTILIB_EXCEPTIONS += *mcpu=505/Dmpc*
-MULTILIB_EXCEPTIONS += *mcpu=601/Dmpc*
-MULTILIB_EXCEPTIONS += *mcpu=604/Dmpc*
-MULTILIB_EXCEPTIONS += *mcpu=750/Dmpc*
-MULTILIB_EXCEPTIONS += *mcpu=860/Dmpc*
-MULTILIB_EXCEPTIONS += *mcpu=7400/Dmpc*

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-spe
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-spe?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-spe (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-spe Thu Aug  2 20:00:37 2007
@@ -1,68 +0,0 @@
-# Multilibs for e500
-
-FPBIT = fp-bit.c
-DPBIT = dp-bit.c
-
-dp-bit.c: $(srcdir)/config/fp-bit.c
-	cat $(srcdir)/config/fp-bit.c > dp-bit.c
-
-fp-bit.c: $(srcdir)/config/fp-bit.c
-	echo '#define FLOAT' > fp-bit.c
-	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-# What we really want are these variants:
-#	-mcpu=7400
-#	-mcpu=7400 -maltivec -mabi=altivec
-#	-mcpu=7400 -msoft-float
-#	-msoft-float
-#	-mspe=no -mabi=no-spe -misel=no
-# so we'll need to create exceptions later below.
-
-MULTILIB_OPTIONS	= mcpu=7400 \
-			  maltivec \
-			  mabi=altivec \
-			  msoft-float \
-			  mspe=no \
-			  mabi=no-spe \
-			  misel=no \
-			  mlittle
-
-MULTILIB_DIRNAMES	= mpc7400 altivec abi-altivec \
-			  nof no-spe no-abi-spe no-isel le
-
-MULTILIB_EXCEPTIONS	= maltivec mabi=altivec mspe=no mabi=no-spe misel=no \
-			  maltivec/mabi=altivec \
-			  mcpu=7400/maltivec \
-			  mcpu=7400/mabi=altivec \
-			  *mcpu=7400/*mspe=no* \
-			  *mcpu=7400/*mabi=no-spe* \
-			  *mcpu=7400/*misel=no* \
-			  *maltivec/*msoft-float* \
-			  *maltivec/*mspe=no* \
-			  *maltivec/*mabi=no-spe* \
-			  *maltivec/*misel=no* \
-			  *mabi=altivec/*msoft-float* \
-			  *mabi=altivec/*mspe=no* \
-			  *mabi=altivec/*mabi=no-spe* \
-			  *mabi=altivec/*misel=no* \
-			  *msoft-float/*mspe=no* \
-			  *msoft-float/*mabi=no-spe* \
-			  *msoft-float/*misel=no* \
-			  mspe=no/mabi=no-spe \
-			  mspe=no/misel=no \
-			  mabi=no-spe/misel=no \
-			  misel=no/mlittle \
-			  mabi=no-spe/misel=no/mlittle \
-			  mspe=no/mlittle \
-			  mabi=spe/mlittle \
-			  mcpu=7400/mabi=altivec/mlittle \
-			  mcpu=7400/maltivec/mlittle \
-			  mabi=no-spe/mlittle \
-			  mspe=no/misel=no/mlittle \
-			  mspe=no/mabi=no-spe/mlittle \
-			  mabi=altivec/mlittle \
-			  maltivec/mlittle \
-			  maltivec/mabi=altivec/mlittle

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworks
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworks?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworks (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworks Thu Aug  2 20:00:37 2007
@@ -1,11 +0,0 @@
-# Multilibs for VxWorks.
-
-# The base multilib is -mhard-float.
-MULTILIB_OPTIONS = mrtp fPIC msoft-float
-MULTILIB_DIRNAMES =
-MULTILIB_MATCHES = fPIC=fpic
-MULTILIB_EXCEPTIONS = fPIC*
-
-# Restore some variables from t-vxworks clobbered by t-ppccomm.
-EXTRA_MULTILIB_PARTS = 
-LIB2FUNCS_EXTRA = $(srcdir)/config/vxlib.c

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworksae
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworksae?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworksae (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/t-vxworksae Thu Aug  2 20:00:37 2007
@@ -1,5 +0,0 @@
-# Multilibs for VxWorks AE.
-
-MULTILIB_OPTIONS = mvthreads msoft-float
-MULTILIB_MATCHES =
-MULTILIB_EXCEPTIONS = 

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/tramp.asm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/tramp.asm?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/tramp.asm (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/tramp.asm Thu Aug  2 20:00:37 2007
@@ -1,117 +0,0 @@
-/*  Special support for trampolines
- *
- *   Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
- *   Written By Michael Meissner
- * 
- * This file 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.
- * 
- * In addition to the permissions in the GNU General Public License, the
- * Free Software Foundation gives you unlimited permission to link the
- * compiled version of this file with other programs, and to distribute
- * those programs without any restriction coming from the use of this
- * file.  (The General Public License restrictions do apply in other
- * respects; for example, they cover modification of the file, and
- * distribution when not linked into another program.)
- * 
- * This file 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; see the file COPYING.  If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- * 
- *    As a special exception, if you link this library with files
- *    compiled with GCC 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.
- */ 
-
-/* Set up trampolines.  */
-
-	.file	"tramp.asm"
-	.section ".text"
-	#include "ppc-asm.h"
-
-#ifndef __powerpc64__
-	.type	trampoline_initial, at object
-	.align	2
-trampoline_initial:
-	mflr	r0
-	bcl	20,31,1f
-.Lfunc = .-trampoline_initial
-	.long	0			/* will be replaced with function address */
-.Lchain = .-trampoline_initial
-	.long	0			/* will be replaced with static chain */
-1:	mflr	r11
-	mtlr	r0
-	lwz	r0,0(r11)		/* function address */
-	lwz	r11,4(r11)		/* static chain */
-	mtctr	r0
-	bctr
-
-trampoline_size = .-trampoline_initial
-	.size	trampoline_initial,trampoline_size
-
-
-/* R3 = stack address to store trampoline */
-/* R4 = length of trampoline area */
-/* R5 = function address */
-/* R6 = static chain */
-
-FUNC_START(__trampoline_setup)
-	mflr	r0		/* save return address */
-        bcl	20,31,.LCF0	/* load up __trampoline_initial into r7 */
-.LCF0:
-        mflr	r11
-        addi	r7,r11,trampoline_initial-4-.LCF0 /* trampoline address -4 */
-
-	li	r8,trampoline_size	/* verify that the trampoline is big enough */
-	cmpw	cr1,r8,r4
-	srwi	r4,r4,2		/* # words to move */
-	addi	r9,r3,-4	/* adjust pointer for lwzu */
-	mtctr	r4
-	blt	cr1,.Labort
-
-	mtlr	r0
-
-	/* Copy the instructions to the stack */
-.Lmove:
-	lwzu	r10,4(r7)
-	stwu	r10,4(r9)
-	bdnz	.Lmove
-
-	/* Store correct function and static chain */
-	stw	r5,.Lfunc(r3)
-	stw	r6,.Lchain(r3)
-
-	/* Now flush both caches */
-	mtctr	r4
-.Lcache:
-	icbi	0,r3
-	dcbf	0,r3
-	addi	r3,r3,4
-	bdnz	.Lcache
-
-	/* Finally synchronize things & return */
-	sync
-	isync
-	blr
-
-.Labort:
-#if defined SHARED && defined HAVE_AS_REL16
-	bcl	20,31,1f
-1:	mflr	r30
-	addis	r30,r30,_GLOBAL_OFFSET_TABLE_-1b at ha
-	addi	r30,r30,_GLOBAL_OFFSET_TABLE_-1b at l
-#endif
-	bl	JUMP_TARGET(abort)
-FUNC_END(__trampoline_setup)
-
-#endif

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworks.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworks.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworks.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworks.h Thu Aug  2 20:00:37 2007
@@ -1,153 +0,0 @@
-/* Definitions of target machine for GNU compiler.  Vxworks PowerPC version.
-   Copyright (C) 1996, 2000, 2002, 2003, 2004, 2005
-   Free Software Foundation, Inc.
-   Contributed by CodeSourcery, LLC.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301, USA.  */
-
-/* Note to future editors: VxWorks is mostly an EABI target.  We do
-   not use rs6000/eabi.h because we would have to override most of
-   it anyway.  However, if you change that file, consider making
-   analogous changes here too.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC VxWorks)");
-
-/* CPP predefined macros.  */
-
-#undef TARGET_OS_CPP_BUILTINS
-#define TARGET_OS_CPP_BUILTINS()		\
-  do						\
-    {						\
-      builtin_define ("__ppc");			\
-      builtin_define ("__EABI__");		\
-      builtin_define ("__ELF__");		\
-      builtin_define ("__vxworks");		\
-      builtin_define ("__VXWORKS__");		\
-      if (!TARGET_SOFT_FLOAT)			\
-	builtin_define ("__hardfp");		\
-						\
-      /* C89 namespace violation! */		\
-      builtin_define ("CPU_FAMILY=PPC");	\
-    }						\
-  while (0)
-
-/* Only big endian PPC is supported by VxWorks.  */
-#undef BYTES_BIG_ENDIAN
-#define BYTES_BIG_ENDIAN 1
-
-/* We have to kill off the entire specs set created by rs6000/sysv4.h
-   and substitute our own set.  The top level vxworks.h has done some
-   of this for us.  */
-
-#undef SUBTARGET_EXTRA_SPECS
-#undef CPP_SPEC
-#undef CC1_SPEC
-#undef ASM_SPEC
-
-#define SUBTARGET_EXTRA_SPECS /* none needed */
-
-/* FIXME: The only reason we allow no -mcpu switch at all is because
-   config-ml.in insists on a "." multilib. */
-#define CPP_SPEC \
-"%{!DCPU=*:		  \
-   %{mcpu=403 : -DCPU=PPC403  ; \
-     mcpu=405 : -DCPU=PPC405  ; \
-     mcpu=440 : -DCPU=PPC440  ; \
-     mcpu=603 : -DCPU=PPC603  ; \
-     mcpu=604 : -DCPU=PPC604  ; \
-     mcpu=860 : -DCPU=PPC860  ; \
-     mcpu=8540: -DCPU=PPC85XX ; \
-              : -DCPU=PPC604  }}" \
-VXWORKS_ADDITIONAL_CPP_SPEC
-
-#define CC1_SPEC						\
-"%{G*} %{mno-sdata:-msdata=none} %{msdata:-msdata=default}	\
- %{mlittle|mlittle-endian:-mstrict-align}			\
- %{profile: -p}		\
- %{fvec:-maltivec} %{fvec-eabi:-maltivec -mabi=altivec}"
-
-#define ASM_SPEC \
-"%(asm_cpu) \
- %{.s: %{mregnames} %{mno-regnames}} %{.S: %{mregnames} %{mno-regnames}} \
- %{v:-v} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
- %{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} -mbig"
-
-#undef  LIB_SPEC
-#define LIB_SPEC VXWORKS_LIB_SPEC
-#undef  LINK_SPEC
-#define LINK_SPEC VXWORKS_LINK_SPEC
-#undef  STARTFILE_SPEC
-#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
-
-/* There is no default multilib.  */
-#undef MULTILIB_DEFAULTS
-
-#undef TARGET_DEFAULT
-#define TARGET_DEFAULT \
-  (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI | MASK_STRICT_ALIGN)
-
-#undef PROCESSOR_DEFAULT
-#define PROCESSOR_DEFAULT PROCESSOR_PPC604
-
-/* Nor sdata, for kernel mode.  We use this in
-   SUBSUBTARGET_INITIALIZE_OPTIONS, after rs6000_rtp has been initialized.  */
-#undef SDATA_DEFAULT_SIZE
-#define SDATA_DEFAULT_SIZE (TARGET_VXWORKS_RTP ? 8 : 0)
-
-#undef  STACK_BOUNDARY
-#define STACK_BOUNDARY (16*BITS_PER_UNIT)
-/* Override sysv4.h, reset to the default.  */
-#undef  PREFERRED_STACK_BOUNDARY
-
-/* Enable SPE */
-#undef TARGET_SPE_ABI
-#undef TARGET_SPE
-#undef TARGET_E500
-#undef TARGET_ISEL
-#undef TARGET_FPRS
-
-#define TARGET_SPE_ABI rs6000_spe_abi
-#define TARGET_SPE rs6000_spe
-#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
-#define TARGET_ISEL rs6000_isel
-#define TARGET_FPRS (!rs6000_float_gprs)
-
-/* Make -mcpu=8540 imply SPE.  ISEL is automatically enabled, the
-   others must be done by hand.  Handle -mrtp.  Disable -fPIC
-   for -mrtp - the VxWorks PIC model is not compatible with it.  */
-#undef SUBSUBTARGET_OVERRIDE_OPTIONS
-#define SUBSUBTARGET_OVERRIDE_OPTIONS		\
-  do {						\
-    if (TARGET_E500)				\
-      {						\
-	rs6000_spe = 1;				\
-	rs6000_spe_abi = 1;			\
-	rs6000_float_gprs = 1;			\
-      }						\
-						\
-  if (!g_switch_set)				\
-    g_switch_value = SDATA_DEFAULT_SIZE;	\
-  VXWORKS_OVERRIDE_OPTIONS;			\
-  } while (0)
-
-/* No _mcount profiling on VxWorks.  */
-#undef FUNCTION_PROFILER
-#define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO)

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworksae.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworksae.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworksae.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/vxworksae.h Thu Aug  2 20:00:37 2007
@@ -1,24 +0,0 @@
-/* PowerPC VxWorks AE target definitions for GNU compiler.
-   Copyright (C) 2005 Free Software Foundation, Inc.
-   Contributed by CodeSourcery, LLC.
-
-This file is part of GCC.
-
-GCC is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version.
-
-GCC is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with GCC; see the file COPYING.  If not, write to the Free
-Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301, USA.  */
-
-#undef TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC VxWorks AE)");
-

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/windiss.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/windiss.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/windiss.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/windiss.h Thu Aug  2 20:00:37 2007
@@ -1,47 +0,0 @@
-/* Support for GCC on PowerPC using WindISS simulator.
-   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-   Contributed by CodeSourcery, LLC. 
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#undef  TARGET_VERSION
-#define TARGET_VERSION fprintf (stderr, " (PowerPC WindISS)");
-
-#undef  LIB_DEFAULT_SPEC
-#define LIB_DEFAULT_SPEC "%(lib_windiss)"
-
-#undef  STARTFILE_DEFAULT_SPEC
-#define STARTFILE_DEFAULT_SPEC "%(startfile_windiss)"
-
-#undef  ENDFILE_DEFAULT_SPEC
-#define ENDFILE_DEFAULT_SPEC "%(endfile_windiss)"
-
-#undef	LINK_START_DEFAULT_SPEC
-#define LINK_START_DEFAULT_SPEC "%(link_start_windiss)"
-
-#undef	LINK_OS_DEFAULT_SPEC
-#define LINK_OS_DEFAULT_SPEC "%(link_os_windiss)"
-
-#undef  CRTSAVRES_DEFAULT_SPEC
-#define CRTSAVRES_DEFAULT_SPEC ""
-
-#undef  WCHAR_TYPE
-#define WCHAR_TYPE "short unsigned int"
-
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 16

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/x-linux64
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/x-linux64?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/x-linux64 (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/x-linux64 Thu Aug  2 20:00:37 2007
@@ -1,2 +0,0 @@
-# parts of gcc need more than a 64k TOC.
-X_CFLAGS = -mminimal-toc

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/xcoff.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/xcoff.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/xcoff.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/xcoff.h Thu Aug  2 20:00:37 2007
@@ -1,288 +0,0 @@
-/* Definitions of target machine for GNU compiler,
-   for some generic XCOFF file format
-   Copyright (C) 2001, 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
-
-   This file is part of GCC.
-
-   GCC is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 2, or (at your
-   option) any later version.
-
-   GCC is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with GCC; see the file COPYING.  If not, write to the
-   Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
-   MA 02110-1301, USA.  */
-
-#define TARGET_OBJECT_FORMAT OBJECT_XCOFF
-
-/* The RS/6000 uses the XCOFF format.  */
-#define XCOFF_DEBUGGING_INFO 1
-
-/* Define if the object format being used is COFF or a superset.  */
-#define OBJECT_FORMAT_COFF
-
-/* Define the magic numbers that we recognize as COFF.
- 
-    AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects and AIX V5 adds
-    U64_TOCMAGIC (0767), but collect2.c does not include files in the
-    correct order to conditionally define the symbolic name in this macro.
- 
-    The AIX linker accepts import/export files as object files,
-    so accept "#!" (0x2321) magic number.  */
-#define MY_ISCOFF(magic) \
-  ((magic) == U802WRMAGIC || (magic) == U802ROMAGIC \
-   || (magic) == U802TOCMAGIC || (magic) == 0757 || (magic) == 0767 \
-   || (magic) == 0x2321)
-
-/* We don't have GAS for the RS/6000 yet, so don't write out special
-    .stabs in cc1plus.  */
-
-#define FASCIST_ASSEMBLER
-
-/* We define this to prevent the name mangler from putting dollar signs into
-   function names.  */
-
-#define NO_DOLLAR_IN_LABEL
-
-/* We define this to 0 so that gcc will never accept a dollar sign in a
-   variable name.  This is needed because the AIX assembler will not accept
-   dollar signs.  */
-
-#define DOLLARS_IN_IDENTIFIERS 0
-
-/* AIX .align pseudo-op accept value from 0 to 12, corresponding to
-   log base 2 of the alignment in bytes; 12 = 4096 bytes = 32768 bits.  */
-
-#define MAX_OFILE_ALIGNMENT 32768
-
-/* Return nonzero if this entry is to be written into the constant
-   pool in a special way.  We do so if this is a SYMBOL_REF, LABEL_REF
-   or a CONST containing one of them.  If -mfp-in-toc (the default),
-   we also do this for floating-point constants.  We actually can only
-   do this if the FP formats of the target and host machines are the
-   same, but we can't check that since not every file that uses
-   GO_IF_LEGITIMATE_ADDRESS_P includes real.h.  We also do this when
-   we can write the entry into the TOC and the entry is not larger
-   than a TOC entry.  */
-
-#define ASM_OUTPUT_SPECIAL_POOL_ENTRY_P(X, MODE)			\
-  (TARGET_TOC								\
-   && (GET_CODE (X) == SYMBOL_REF					\
-       || (GET_CODE (X) == CONST && GET_CODE (XEXP (X, 0)) == PLUS	\
-	   && GET_CODE (XEXP (XEXP (X, 0), 0)) == SYMBOL_REF)		\
-       || GET_CODE (X) == LABEL_REF					\
-       || (GET_CODE (X) == CONST_INT 					\
-	   && GET_MODE_BITSIZE (MODE) <= GET_MODE_BITSIZE (Pmode))	\
-       || (GET_CODE (X) == CONST_DOUBLE					\
-	   && (TARGET_POWERPC64						\
-	       || TARGET_MINIMAL_TOC					\
-	       || (SCALAR_FLOAT_MODE_P (GET_MODE (X))			\
-		   && ! TARGET_NO_FP_IN_TOC)))))
-
-#define TARGET_ASM_OUTPUT_ANCHOR  rs6000_xcoff_asm_output_anchor
-#define TARGET_ASM_GLOBALIZE_LABEL  rs6000_xcoff_asm_globalize_label
-#define TARGET_ASM_INIT_SECTIONS  rs6000_xcoff_asm_init_sections
-#define TARGET_ASM_RELOC_RW_MASK  rs6000_xcoff_reloc_rw_mask
-#define TARGET_ASM_NAMED_SECTION  rs6000_xcoff_asm_named_section
-#define TARGET_ASM_SELECT_SECTION  rs6000_xcoff_select_section
-#define TARGET_ASM_SELECT_RTX_SECTION  rs6000_xcoff_select_rtx_section
-#define TARGET_ASM_UNIQUE_SECTION  rs6000_xcoff_unique_section
-#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
-#define TARGET_STRIP_NAME_ENCODING  rs6000_xcoff_strip_name_encoding
-#define TARGET_SECTION_TYPE_FLAGS  rs6000_xcoff_section_type_flags
-
-/* FP save and restore routines.  */
-#define	SAVE_FP_PREFIX "._savef"
-#define SAVE_FP_SUFFIX ""
-#define	RESTORE_FP_PREFIX "._restf"
-#define RESTORE_FP_SUFFIX ""
-
-/* Function name to call to do profiling.  */
-#undef  RS6000_MCOUNT
-#define RS6000_MCOUNT ".__mcount"
-
-/* This outputs NAME to FILE up to the first null or '['.  */
-
-#define RS6000_OUTPUT_BASENAME(FILE, NAME) \
-  assemble_name ((FILE), (*targetm.strip_name_encoding) (NAME))
-
-/* This is how to output the definition of a user-level label named NAME,
-   such as the label on a static function or variable NAME.  */
-
-#define ASM_OUTPUT_LABEL(FILE,NAME)	\
-  do { RS6000_OUTPUT_BASENAME (FILE, NAME); fputs (":\n", FILE); } while (0)
-
-/* This is how to output a command to make the user-level label named NAME
-   defined for reference from other files.  */
-
-/* Globalizing directive for a label.  */
-#define GLOBAL_ASM_OP "\t.globl "
-
-#undef TARGET_ASM_FILE_START
-#define TARGET_ASM_FILE_START rs6000_xcoff_file_start
-#define TARGET_ASM_FILE_END rs6000_xcoff_file_end
-#undef TARGET_ASM_FILE_START_FILE_DIRECTIVE
-#define TARGET_ASM_FILE_START_FILE_DIRECTIVE false
-
-/* This macro produces the initial definition of a function name.
-   On the RS/6000, we need to place an extra '.' in the function name and
-   output the function descriptor.
-
-   The csect for the function will have already been created when
-   text_section was selected.  We do have to go back to that csect, however.
-
-   The third and fourth parameters to the .function pseudo-op (16 and 044)
-   are placeholders which no longer have any use.  */
-
-#define ASM_DECLARE_FUNCTION_NAME(FILE,NAME,DECL)		\
-{ if (TREE_PUBLIC (DECL))					\
-    {								\
-      if (!RS6000_WEAK || !DECL_WEAK (decl))			\
-	{							\
-	  fputs ("\t.globl .", FILE);				\
-	  RS6000_OUTPUT_BASENAME (FILE, NAME);			\
-	  putc ('\n', FILE);					\
-	}							\
-    }								\
-  else								\
-    {								\
-      fputs ("\t.lglobl .", FILE);				\
-      RS6000_OUTPUT_BASENAME (FILE, NAME);			\
-      putc ('\n', FILE);					\
-    }								\
-  fputs ("\t.csect ", FILE);					\
-  RS6000_OUTPUT_BASENAME (FILE, NAME);				\
-  fputs (TARGET_32BIT ? "[DS]\n" : "[DS],3\n", FILE);		\
-  RS6000_OUTPUT_BASENAME (FILE, NAME);				\
-  fputs (":\n", FILE);						\
-  fputs (TARGET_32BIT ? "\t.long ." : "\t.llong .", FILE);	\
-  RS6000_OUTPUT_BASENAME (FILE, NAME);				\
-  fputs (", TOC[tc0], 0\n", FILE);				\
-  in_section = NULL;						\
-  switch_to_section (function_section (DECL));			\
-  putc ('.', FILE);						\
-  RS6000_OUTPUT_BASENAME (FILE, NAME);				\
-  fputs (":\n", FILE);						\
-  if (write_symbols != NO_DEBUG)				\
-    xcoffout_declare_function (FILE, DECL, NAME);		\
-}
-
-/* Output a reference to SYM on FILE.  */
-
-#define ASM_OUTPUT_SYMBOL_REF(FILE, SYM) \
-  rs6000_output_symbol_ref (FILE, SYM)
-
-/* This says how to output an external.  */
-
-#undef  ASM_OUTPUT_EXTERNAL
-#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME)				\
-{ rtx _symref = XEXP (DECL_RTL (DECL), 0);				\
-  if ((TREE_CODE (DECL) == VAR_DECL					\
-       || TREE_CODE (DECL) == FUNCTION_DECL)				\
-      && (NAME)[strlen (NAME) - 1] != ']')				\
-    {									\
-      XSTR (_symref, 0) = concat (XSTR (_symref, 0),			\
-				  (TREE_CODE (DECL) == FUNCTION_DECL	\
-				   ? "[DS]" : "[RW]"),			\
-				  NULL);				\
-    }									\
-}
-
-/* This is how to output an internal label prefix.  rs6000.c uses this
-   when generating traceback tables.  */
-
-#define ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)   \
-  fprintf (FILE, "%s..", PREFIX)
-
-/* This is how to output a label for a jump table.  Arguments are the same as
-   for (*targetm.asm_out.internal_label), except the insn for the jump table is
-   passed.  */
-
-#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN)	\
-{ ASM_OUTPUT_ALIGN (FILE, 2); (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); }
-
-/* This is how to store into the string LABEL
-   the symbol_ref name of an internal numbered label where
-   PREFIX is the class of label and NUM is the number within the class.
-   This is suitable for output with `assemble_name'.  */
-
-#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)	\
-  sprintf (LABEL, "*%s..%u", (PREFIX), (unsigned) (NUM))
-
-/* This is how to output an assembler line to define N characters starting
-   at P to FILE.  */
-
-#define ASM_OUTPUT_ASCII(FILE, P, N)  output_ascii ((FILE), (P), (N))
-
-/* This is how to advance the location counter by SIZE bytes.  */
-
-#define SKIP_ASM_OP "\t.space "
-
-#define ASM_OUTPUT_SKIP(FILE,SIZE)  \
-  fprintf (FILE, "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n", SKIP_ASM_OP, (SIZE))
-
-/* This says how to output an assembler line
-   to define a global common symbol.  */
-
-#define COMMON_ASM_OP "\t.comm "
-
-#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN)	\
-  do { fputs (COMMON_ASM_OP, (FILE));			\
-       RS6000_OUTPUT_BASENAME ((FILE), (NAME));		\
-       if ((ALIGN) > 32)				\
-	 fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", (SIZE), \
-		  exact_log2 ((ALIGN) / BITS_PER_UNIT)); \
-       else if ((SIZE) > 4)				\
-         fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",3\n", (SIZE)); \
-       else						\
-	 fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED"\n", (SIZE)); \
-  } while (0)
-
-/* This says how to output an assembler line
-   to define a local common symbol.
-   Alignment cannot be specified, but we can try to maintain
-   alignment after preceding TOC section if it was aligned
-   for 64-bit mode.  */
-
-#define LOCAL_COMMON_ASM_OP "\t.lcomm "
-
-#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED)	\
-  do { fputs (LOCAL_COMMON_ASM_OP, (FILE));		\
-       RS6000_OUTPUT_BASENAME ((FILE), (NAME));		\
-       fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%s\n", \
-		(TARGET_32BIT ? (SIZE) : (ROUNDED)),	\
-		xcoff_bss_section_name);		\
-     } while (0)
-
-/* This is how we tell the assembler that two symbols have the same value.  */
-#define SET_ASM_OP "\t.set "
-
-/* This is how we tell the assembler to equate two values.  */
-#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2)				\
- do {	fprintf ((FILE), "%s", SET_ASM_OP);				\
-	RS6000_OUTPUT_BASENAME (FILE, LABEL1);				\
-	fprintf (FILE, ",");						\
-	RS6000_OUTPUT_BASENAME (FILE, LABEL2);				\
-	fprintf (FILE, "\n");						\
-  } while (0)
-
-/* Used by rs6000_assemble_integer, among others.  */
-#define DOUBLE_INT_ASM_OP "\t.llong\t"
-
-/* Output before instructions.  */
-#define TEXT_SECTION_ASM_OP "\t.csect .text[PR]"
-
-/* Output before writable data.
-   Align entire section to BIGGEST_ALIGNMENT.  */
-#define DATA_SECTION_ASM_OP "\t.csect .data[RW],3"
-
-/* Define to prevent DWARF2 unwind info in the data section rather
-   than in the .eh_frame section.  We do this because the AIX linker
-   would otherwise garbage collect these sections.  */
-#define EH_FRAME_IN_DATA_SECTION 1

Modified: llvm-gcc-4.2/trunk/gcc/configure
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/configure?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/configure (original)
+++ llvm-gcc-4.2/trunk/gcc/configure Thu Aug  2 20:00:37 2007
@@ -6255,7 +6255,7 @@
 if test $ac_cv_prog_cc_w_no_long_long = yes \
    && test $ac_cv_prog_cc_w_no_variadic_macros = yes \
    && test $ac_cv_prog_cc_w_no_overlength_strings = yes ; then
-  strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings"
+  strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros"
 fi
 
 # Add -Wold-style-definition if it's accepted

Modified: llvm-gcc-4.2/trunk/gcc/configure.ac
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/configure.ac?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/configure.ac (original)
+++ llvm-gcc-4.2/trunk/gcc/configure.ac Thu Aug  2 20:00:37 2007
@@ -353,7 +353,7 @@
 if test $ac_cv_prog_cc_w_no_long_long = yes \
    && test $ac_cv_prog_cc_w_no_variadic_macros = yes \
    && test $ac_cv_prog_cc_w_no_overlength_strings = yes ; then
-  strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings"
+  strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros"
 fi
 
 # Add -Wold-style-definition if it's accepted

Modified: llvm-gcc-4.2/trunk/gcc/convert.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/convert.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/convert.c (original)
+++ llvm-gcc-4.2/trunk/gcc/convert.c Thu Aug  2 20:00:37 2007
@@ -212,7 +212,6 @@
 	  break;
 	}
     }
-  /* APPLE LOCAL begin 4221664 */
   if (optimize
       && (((fcode == BUILT_IN_FLOORL
 	   || fcode == BUILT_IN_CEILL
@@ -248,7 +247,6 @@
 					  fold (convert_to_real (type, arg))));
 	}
     }
-  /* APPLE LOCAL end 4221664 */
 
   /* Propagate the cast into the operation.  */
   if (itype != type && FLOAT_TYPE_P (type))

Modified: llvm-gcc-4.2/trunk/gcc/cp/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,8 @@
+2007-06-28  Geoffrey Keating  <geoffk at apple.com>
+
+	* decl2.c (start_objects): Mark constructor-runnning function
+	as artificial.
+
 2007-06-14  Geoff Keating  <geoffk at apple.com>
 
 	* decl2.c (determine_visibility): Ensure that functions with
@@ -48,6 +53,70 @@
 
 /* APPLE LOCAL merge marger */
 /* Stuff above is only in mainline, not the 4.2 branch */
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
+2007-07-07  Mark Mitchell  <mark at codesourcery.com>
+
+	PR c++/32232
+	* pt.c (resolve_overloaded_unification): Robustify.  Return a
+	bool, not an int.
+	(type_unification_real): Adjust accordingly.
+
+2007-07-06  Mark Mitchell  <mark at codesourcery.com>
+
+	PR c++/32245
+	* init.c (build_zero_init): Always build an initializer for
+	non-static storage.
+	* typeck2.c (build_functional_cast): Use build_zero_init.
+
+	PR c++/32251
+	* init.c (build_new_1): Always pass the allocation function to
+	build_op_delete_call.
+	* call.c (build_op_delete_call): Handle operator delete with a
+	variable-argument list.  Do not issue an error when no matching
+	deallocation function is available for a new operator.
+
+	PR c++/31992
+	* cp-tree.h (any_value_dependent_elements_p): Declare it.
+	* decl.c (value_dependent_init_p): New function.
+	(cp_finish_decl): Use it.
+	* pt.c (value_dependent_expression_p): Use
+	any_value_dependent_elements_p.
+	* parser.c (cp_parser_primary_expression): Add comment about
+	treating dependent qualified names as integral
+	constant-expressions.
+
+2007-07-03  Mark Mitchell  <mark at codesourcery.com>
+
+	PR c++/31338
+	* cp-tree.h (ARITHMETIC_TYPE): Include COMPLEX_TYPE.
+	* typeck.c (type_after_usual_arithmetic_conversions): Adjust, as
+	COMPLEX_TYPE is now an ARITHMETIC_TYPE.
+	* init.c (build_zero_init): Adjust, as
+	COMPLEX_TYPE is now a SCALAR_TYPE.
+	* typeck2.c (digest_init): Allow brace-enclosed initializers for
+	COMPLEX_TYPE, even though that is now a SCALAR_TYPE.
+
+2007-07-03  Richard Guenther  <rguenther at suse.de>
+
+	PR c++/32609
+	* class.c (fixed_type_or_null): Re-lookup the hashtable slot
+	after recursing.
+
+2007-07-02  Jakub Jelinek  <jakub at redhat.com>
+
+	PR c++/31748
+	* semantics.c (finish_omp_clauses): Use %qD instead of %qE for
+	DECL_P in not a variable and appears more than once error messages.
+
+2007-06-27  Simon Martin  <simartin at users.sourceforge.net>
+
+	PR c++/27492
+	* decl.c (duplicate_decls): Don't reset DECL_INVALID_OVERRIDER_P for
+	function decls.
+
 2007-06-15  Mark Mitchell  <mark at codesourcery.com>
 
 	* cp-tree.h (DECL_VAR_MARKED_P): Remove.

Modified: llvm-gcc-4.2/trunk/gcc/cp/ChangeLog.apple
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/ChangeLog.apple?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/ChangeLog.apple (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/ChangeLog.apple Thu Aug  2 20:00:37 2007
@@ -1,3 +1,47 @@
+2007-07-27  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 3742561
+	* typeck.c (build_modify_expr): Call to generate write barrier
+	for class assignment only when assignment is not overloaded.
+
+2007-07-24  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5355344
+	* cp-tree.h (cp_objc_protocol_id_list): New declaration
+	* cp-lang.c (cp_objc_protocol_id_list): New stub
+	* parser.c (cp_parser_type_name): Added code to disambiguate
+	conditional from a protocol type.
+	(cp_parser_objc_tentative_protocol_refs_opt): New
+
+2007-07-13  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5277239
+	* parser.c (cp_parser_objc_reference_expression): New routine to
+	build a property reference expression.
+	(cp_objc_property_reference_prefix): New routine to recognize a 
+	property dot syntax.
+	(cp_parser_primary_expression): Build a property reference expression
+	when a property dot-syntax is recognized.
+	(cp_parser_type_name): Exclude property dot-syntax from being recognized
+	as a type name.
+	(cp_parser_class_name): Exclude property dot-syntax from being recognized
+	as a class name.
+
+2007-07-10  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5285911
+	* typeck.c (finish_class_member_access_expr): Call
+	objc_build_property_reference_expr instead of objc_build_getter_call.
+
+2007-06-29  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5276085
+	* typeck.c (build_modify_expr): Call objc_weak_reference_expr
+        instead of objc_remove_weak_read.
+        * parser.c (cp_parser_cast_expression): Call
+        objc_build_weak_reference_tree instead of objc_generate_weak_read.
+        (cp_parser_cast_expression): Ditto.
+
 2007-06-20  Geoffrey Keating  <geoffk at apple.com>
 
 	Radar 5281849

Modified: llvm-gcc-4.2/trunk/gcc/cp/call.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/call.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/call.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/call.c Thu Aug  2 20:00:37 2007
@@ -4007,8 +4007,12 @@
    GLOBAL_P is true if the delete-expression should not consider
    class-specific delete operators.
    PLACEMENT is the corresponding placement new call, or NULL_TREE.
-   If PLACEMENT is non-NULL, then ALLOC_FN is the allocation function
-   called to perform the placement new.  */
+
+   If this call to "operator delete" is being generated as part to
+   deallocate memory allocated via a new-expression (as per [expr.new]
+   which requires that if the initialization throws an exception then
+   we call a deallocation function), then ALLOC_FN is the allocation
+   function.  */
 
 tree
 build_op_delete_call (enum tree_code code, tree addr, tree size,
@@ -4099,9 +4103,13 @@
 	      if (!a && !t)
 		break;
 	    }
-	  /* On the second pass, the second argument must be
-	     "size_t".  */
+	  /* On the second pass, look for a function with exactly two
+	     arguments: "void *" and "size_t".  */
 	  else if (pass == 1
+		   /* For "operator delete(void *, ...)" there will be
+		      no second argument, but we will not get an exact
+		      match above.  */
+		   && t
 		   && same_type_p (TREE_VALUE (t), sizetype)
 		   && TREE_CHAIN (t) == void_list_node)
 	    break;
@@ -4141,10 +4149,18 @@
 	return build_function_call (fn, args);
     }
 
-  /* If we are doing placement delete we do nothing if we don't find a
-     matching op delete.  */
-  if (placement)
-    return NULL_TREE;
+  /* [expr.new]
+
+     If no unambiguous matching deallocation function can be found,
+     propagating the exception does not cause the object's memory to
+     be freed.  */
+  if (alloc_fn)
+    {
+      if (!placement)
+	warning (0, "no corresponding deallocation function for `%D'", 
+		 alloc_fn);
+      return NULL_TREE;
+    }
 
   error ("no suitable %<operator %s%> for %qT",
 	 operator_name_info[(int)code].name, type);

Modified: llvm-gcc-4.2/trunk/gcc/cp/class.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/class.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/class.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/class.c Thu Aug  2 20:00:37 2007
@@ -5466,7 +5466,7 @@
 	      *slot = instance;
 	      type = fixed_type_or_null (DECL_INITIAL (instance),
 					 nonnull, cdtorp);
-	      htab_clear_slot (ht, slot);
+	      htab_remove_elt (ht, instance);
 
 	      return type;
 	    }

Modified: llvm-gcc-4.2/trunk/gcc/cp/cp-lang.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/cp-lang.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/cp-lang.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/cp-lang.c Thu Aug  2 20:00:37 2007
@@ -110,6 +110,13 @@
   return NULL_TREE;
 }
 
+/* APPLE LOCAL begin radar 5355344 */
+bool
+cp_objc_protocol_id_list (tree t ATTRIBUTE_UNUSED)
+{
+  return false;
+}
+/* APPLE LOCAL end radar 5355344 */
 
 static void
 cp_init_ts (void)

Modified: llvm-gcc-4.2/trunk/gcc/cp/cp-tree.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/cp-tree.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/cp-tree.h (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/cp-tree.h Thu Aug  2 20:00:37 2007
@@ -2432,14 +2432,21 @@
 /* [basic.fundamental]
 
    Integral and floating types are collectively called arithmetic
-   types.  Keep these checks in ascending code order.  */
+   types.  
+
+   As a GNU extension, we also accept complex types.
+
+   Keep these checks in ascending code order.  */
 #define ARITHMETIC_TYPE_P(TYPE) \
-  (CP_INTEGRAL_TYPE_P (TYPE) || TREE_CODE (TYPE) == REAL_TYPE)
+  (CP_INTEGRAL_TYPE_P (TYPE) \
+   || TREE_CODE (TYPE) == REAL_TYPE \
+   || TREE_CODE (TYPE) == COMPLEX_TYPE)
 
 /* [basic.types]
 
    Arithmetic types, enumeration types, pointer types, and
    pointer-to-member types, are collectively called scalar types.
+   
    Keep these checks in ascending code order.  */
 #define SCALAR_TYPE_P(TYPE)			\
   (TYPE_PTRMEM_P (TYPE)				\
@@ -3654,7 +3661,7 @@
   ds_typedef,
   ds_complex,
   ds_thread,
-  /* APPLE LOCAL CW asm blocks. */
+  /* APPLE LOCAL CW asm blocks */
   ds_iasm_asm,
   ds_last
 } cp_decl_spec;
@@ -4173,6 +4180,7 @@
 extern bool type_dependent_expression_p		(tree);
 extern bool any_type_dependent_arguments_p      (tree);
 extern bool value_dependent_expression_p	(tree);
+extern bool any_value_dependent_elements_p      (tree);
 extern tree resolve_typename_type		(tree, bool);
 extern tree template_for_substitution		(tree);
 extern tree build_non_dependent_expr		(tree);
@@ -4596,6 +4604,8 @@
 extern bool objc2_valid_objc_catch_type (tree);
 extern tree objcp_build_eh_type_type (tree);
 /* APPLE LOCAL end radar 2848255 */
+/* APPLE LOCAL radar 5355344 */
+extern bool cp_objc_protocol_id_list (tree);
 
 /* -- end of C++ */
 

Modified: llvm-gcc-4.2/trunk/gcc/cp/decl.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/decl.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/decl.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/decl.c Thu Aug  2 20:00:37 2007
@@ -1593,6 +1593,7 @@
       DECL_STATIC_DESTRUCTOR (newdecl) |= DECL_STATIC_DESTRUCTOR (olddecl);
       DECL_PURE_VIRTUAL_P (newdecl) |= DECL_PURE_VIRTUAL_P (olddecl);
       DECL_VIRTUAL_P (newdecl) |= DECL_VIRTUAL_P (olddecl);
+      DECL_INVALID_OVERRIDER_P (newdecl) |= DECL_INVALID_OVERRIDER_P (olddecl);
       DECL_THIS_STATIC (newdecl) |= DECL_THIS_STATIC (olddecl);
       if (DECL_OVERLOADED_OPERATOR_P (olddecl) != ERROR_MARK)
 	SET_OVERLOADED_OPERATOR_CODE
@@ -3230,10 +3231,10 @@
     }
   if (flag_inline_functions)
     flag_inline_trees = 2;
-  /* APPLE LOCAL begin ms tinfo compat 4230099 */
+  /* APPLE LOCAL begin mainline 2007-06-28 ms tinfo compat 4230099 */
   if (flag_visibility_ms_compat)
     default_visibility = VISIBILITY_HIDDEN;
-  /* APPLE LOCAL end ms tinfo compat 4230099 */
+  /* APPLE LOCAL end mainline 2007-06-28 ms tinfo compat 4230099 */
 
   /* Force minimum function alignment if using the least significant
      bit of function pointers to store the virtual bit.  */
@@ -5248,6 +5249,36 @@
   make_rtl_for_nonlocal_decl (decl, init, /*asmspec=*/NULL);
 }
 
+/* INIT is the initializer for a variable, as represented by the
+   parser.  Returns true iff INIT is value-dependent.  */
+
+static bool
+value_dependent_init_p (tree init)
+{
+  if (TREE_CODE (init) == TREE_LIST)
+    /* A parenthesized initializer, e.g.: int i (3, 2); ? */
+    return any_value_dependent_elements_p (init);
+  else if (TREE_CODE (init) == CONSTRUCTOR)
+  /* A brace-enclosed initializer, e.g.: int i = { 3 }; ? */
+    {
+      VEC(constructor_elt, gc) *elts;
+      size_t nelts;
+      size_t i;
+
+      elts = CONSTRUCTOR_ELTS (init);
+      nelts = VEC_length (constructor_elt, elts);
+      for (i = 0; i < nelts; ++i)
+	if (value_dependent_init_p (VEC_index (constructor_elt,
+					       elts, i)->value))
+	  return true;
+    }
+  else
+    /* It must be a simple expression, e.g., int i = 3;  */
+    return value_dependent_expression_p (init);
+  
+  return false;
+}
+
 /* Finish processing of a declaration;
    install its line number and initial value.
    If the length of an array type is not known before,
@@ -5320,18 +5351,16 @@
 	    TREE_CONSTANT (decl) = 1;
 	}
 
-      if (!init
-	  || !DECL_CLASS_SCOPE_P (decl)
-	  || !DECL_INTEGRAL_CONSTANT_VAR_P (decl)
-	  || type_dependent_p
-	  || value_dependent_expression_p (init)
-	     /* Check also if initializer is a value dependent
-		{ integral_constant_expression }.  */
-	  || (TREE_CODE (init) == CONSTRUCTOR
-	      && VEC_length (constructor_elt, CONSTRUCTOR_ELTS (init)) == 1
-	      && value_dependent_expression_p
-		   (VEC_index (constructor_elt,
-			       CONSTRUCTOR_ELTS (init), 0)->value)))
+      /* Generally, initializers in templates are expanded when the
+	 template is instantiated.  But, if DECL is an integral
+	 constant static data member, then it can be used in future
+	 integral constant expressions, and its value must be
+	 available. */
+      if (!(init
+	    && DECL_CLASS_SCOPE_P (decl)
+	    && DECL_INTEGRAL_CONSTANT_VAR_P (decl)
+	    && !type_dependent_p
+	    && !value_dependent_init_p (init)))
 	{
 	  if (init)
 	    DECL_INITIAL (decl) = init;

Modified: llvm-gcc-4.2/trunk/gcc/cp/decl2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/decl2.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/decl2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/decl2.c Thu Aug  2 20:00:37 2007
@@ -1729,19 +1729,19 @@
 	     but have no TEMPLATE_INFO, so don't try to check it.  */
 	  use_template = 0;
 	}
-      /* APPLE LOCAL begin ms tinfo compat 4230099 */
+      /* APPLE LOCAL begin mainline 2007-06-28 ms tinfo compat 4230099 */
       else if (TREE_CODE (decl) == VAR_DECL && DECL_TINFO_P (decl)
 	       && flag_visibility_ms_compat)
 	{
 	  tree underlying_type = TREE_TYPE (DECL_NAME (decl));
 	  int underlying_vis = type_visibility (underlying_type);
 	  if (underlying_vis == VISIBILITY_ANON
-	      || DECL_VISIBILITY_SPECIFIED (underlying_type))
+	      || CLASSTYPE_VISIBILITY_SPECIFIED (underlying_type))
 	    constrain_visibility (decl, underlying_vis);
 	  else
 	    DECL_VISIBILITY (decl) = VISIBILITY_DEFAULT;
 	}
-      /* APPLE LOCAL end ms tinfo compat 4230099 */
+      /* APPLE LOCAL end mainline 2007-06-28 ms tinfo compat 4230099 */
       else if (TREE_CODE (decl) == VAR_DECL && DECL_TINFO_P (decl))
 	{
 	  /* tinfo visibility is based on the type it's for.  */
@@ -2346,6 +2346,12 @@
      to scan the object file to find its ctor/dtor routine.  */
   TREE_PUBLIC (current_function_decl) = ! targetm.have_ctors_dtors;
 
+  /* APPLE LOCAL begin mainline 4.3 2007-06-28 4992129 */
+  /* Mark as artificial because it's not explicitly in the user's
+     source code.  */
+  DECL_ARTIFICIAL (current_function_decl) = 1;
+  /* APPLE LOCAL end mainline 4.3 2007-06-28 4992129 */
+
   /* Mark this declaration as used to avoid spurious warnings.  */
   TREE_USED (current_function_decl) = 1;
 

Modified: llvm-gcc-4.2/trunk/gcc/cp/init.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/init.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/init.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/init.c Thu Aug  2 20:00:37 2007
@@ -178,8 +178,7 @@
        items with static storage duration that are not otherwise
        initialized are initialized to zero.  */
     ;
-  else if (SCALAR_TYPE_P (type)
-	   || TREE_CODE (type) == COMPLEX_TYPE)
+  else if (SCALAR_TYPE_P (type))
     init = convert (type, integer_zero_node);
   else if (CLASS_TYPE_P (type))
     {
@@ -196,7 +195,7 @@
 	     corresponding to base classes as well.  Thus, iterating
 	     over TYPE_FIELDs will result in correct initialization of
 	     all of the subobjects.  */
-	  if (static_storage_p && !zero_init_p (TREE_TYPE (field)))
+	  if (!static_storage_p || !zero_init_p (TREE_TYPE (field)))
 	    {
 	      tree value = build_zero_init (TREE_TYPE (field),
 					    /*nelts=*/NULL_TREE,
@@ -1970,8 +1969,7 @@
 					  globally_qualified_p,
 					  (placement_allocation_fn_p
 					   ? alloc_call : NULL_TREE),
-					  (placement_allocation_fn_p
-					   ? alloc_fn : NULL_TREE));
+					  alloc_fn);
 
 	  if (!cleanup)
 	    /* We're done.  */;

Modified: llvm-gcc-4.2/trunk/gcc/cp/lang-specs.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/lang-specs.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/lang-specs.h (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/lang-specs.h Thu Aug  2 20:00:37 2007
@@ -48,8 +48,6 @@
      CPLUSPLUS_CPP_SPEC, 0, 0},
   {"@c++",
     "%{E|M|MM:cc1plus -E %(cpp_options) %2 %(cpp_debug_options)}\
-    "/* APPLE LOCAL prohibit -arch with -E and -S  */"\
-     %{E|S:%{@:%e-E and -S are not allowed with multiple -arch flags}}\
      %{!E:%{!M:%{!MM:\
        %{save-temps|no-integrated-cpp:cc1plus -E\
 		%(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\

Modified: llvm-gcc-4.2/trunk/gcc/cp/parser.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/parser.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/parser.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/parser.c Thu Aug  2 20:00:37 2007
@@ -1855,6 +1855,10 @@
   (cp_parser *);
 static tree cp_parser_objc_message_expression
   (cp_parser *);
+/* APPLE LOCAL begin radar 5277239 */
+static tree cp_parser_objc_reference_expression
+  (cp_parser *, tree);
+/* APPLE LOCAL end radar 5277239 */
 static tree cp_parser_objc_encode_expression
   (cp_parser *);
 static tree cp_parser_objc_defs_expression
@@ -1877,6 +1881,10 @@
 /* APPLE LOCAL end radar 3803157 - objc attribute */
 static tree cp_parser_objc_protocol_refs_opt
   (cp_parser *);
+/* APPLE LOCAL begin radar 5355344 */
+static bool cp_parser_objc_tentative_protocol_refs_opt
+  (cp_parser *, tree *);
+/* APPLE LOCAL end radar 5355344 */
 static void cp_parser_objc_declaration
   (cp_parser *);
 static tree cp_parser_objc_statement
@@ -2192,7 +2200,7 @@
 	    "typedef",
 	    "__complex",
 	    "__thread"
-	    /* APPLE LOCAL CW asm blocks. */
+	    /* APPLE LOCAL CW asm blocks */
 	    , "asm"
 	  };
 	  error ("duplicate %qs", decl_spec_names[(int)ds]);
@@ -2564,6 +2572,18 @@
     }
 }
 
+/* APPLE LOCAL begin radar 5277239 */
+/* This routine checks that type_decl is a class or class object followed by a '.'
+   which is an alternative syntax to class-method messaging [class-name class-method]
+*/
+
+static bool
+cp_objc_property_reference_prefix (cp_parser *parser, tree type)
+{
+  return c_dialect_objc () && cp_lexer_peek_token (parser->lexer)->type == CPP_DOT 
+	 && (objc_is_id (type) || objc_is_class_name (type));
+}
+/* APPLE LOCAL end radar 5277239 */
 /* APPLE LOCAL begin C* property (Radar 4436866, 4591909) */
 /* This routine parses the propery declarations. */
 
@@ -3549,6 +3569,11 @@
 	    if (ambiguous_decls)
 	      return error_mark_node;
 
+	    /* APPLE LOCAL begin radar 5277239 */
+	    if (TREE_CODE (decl) == TYPE_DECL 
+		&& cp_objc_property_reference_prefix (parser, TREE_TYPE (decl)))
+	      return cp_parser_objc_reference_expression (parser, decl);
+	    /* APPLE LOCAL end radar 5277239 */
 	    /* In Objective-C++, an instance variable (ivar) may be preferred
 	       to whatever cp_parser_lookup_name() found.  */
 	    decl = objc_lookup_ivar (decl, id_expression);
@@ -3556,7 +3581,19 @@
 	    /* If name lookup gives us a SCOPE_REF, then the
 	       qualifying scope was dependent.  */
 	    if (TREE_CODE (decl) == SCOPE_REF)
-	      return decl;
+	      {
+		/* At this point, we do not know if DECL is a valid
+		   integral constant expression.  We assume that it is
+		   in fact such an expression, so that code like:
+
+		      template <int N> struct A {
+			int a[B<N>::i];
+		      };
+		     
+		   is accepted.  At template-instantiation time, we
+		   will check that B<N>::i is actually a constant.  */
+		return decl;
+	      }
 	    /* Check to see if DECL is a local variable in a context
 	       where that is forbidden.  */
 	    if (parser->local_variables_forbidden_p
@@ -6077,7 +6114,8 @@
 	  expr = build_c_cast (type, expr);
           /* APPLE LOCAL begin radar 4426814 */
 	  return (c_dialect_objc() && flag_objc_gc) 
-		  ? objc_generate_weak_read (expr) : expr;
+		  /* APPLE LOCAL radar 5276085 */
+		  ? objc_build_weak_reference_tree (expr) : expr;
 	  /* APPLE LOCAL end radar 4426814 */
 	}
     }
@@ -6086,7 +6124,8 @@
      unary-expression.  */
   /* APPLE LOCAL begin radar 4426814 */
   if (c_dialect_objc() && flag_objc_gc)
-    return objc_generate_weak_read (
+    /* APPLE LOCAL radar 5276085 */
+    return objc_build_weak_reference_tree (
 	    cp_parser_unary_expression (parser, address_p, cast_p));
   else
     return cp_parser_unary_expression (parser, address_p, cast_p);
@@ -6972,10 +7011,8 @@
   tree compound_stmt;
 
   /* Consume the `{'.  */
-  /* APPLE LOCAL begin mainline 2007-04-11 4872022 */
   if (!cp_parser_require (parser, CPP_OPEN_BRACE, "`{'"))
     return error_mark_node;
-  /* APPLE LOCAL end mainline 2007-04-11 4872022 */
   /* Begin the compound-statement.  */
   compound_stmt = begin_compound_stmt (in_try ? BCS_TRY_BLOCK : 0);
   /* APPLE LOCAL begin CW asm blocks */
@@ -10843,14 +10880,22 @@
 	  && (objc_is_id (identifier) || objc_is_class_name (identifier)))
 	{
 	  /* See if this is an Objective-C type.  */
-	  tree protos = cp_parser_objc_protocol_refs_opt (parser);
-	  tree type = objc_get_protocol_qualified_type (identifier, protos);
-	  if (type)
-	    type_decl = TYPE_NAME (type);
+	  /* APPLE LOCAL begin radar 5355344 */
+	  tree protos;
+	  if (cp_parser_objc_tentative_protocol_refs_opt (parser, &protos))
+	    {
+	      tree type = objc_get_protocol_qualified_type (identifier, protos);
+	      if (type)
+	        type_decl = TYPE_NAME (type);
+	    }
+	  /* APPLE LOCAL end radar 5355344 */
 	}
 
       /* Issue an error if we did not find a type-name.  */
-      if (TREE_CODE (type_decl) != TYPE_DECL)
+      /* APPLE LOCAL begin radar 5277239 */
+      if (TREE_CODE (type_decl) != TYPE_DECL 
+	  || cp_objc_property_reference_prefix (parser, TREE_TYPE (type_decl)))
+      /* APPLE LOCAL end radar 5277239 */
 	{
 	  if (!cp_parser_simulate_error (parser))
 	    cp_parser_name_lookup_error (parser, identifier, type_decl,
@@ -13892,7 +13937,10 @@
     }
   else if (TREE_CODE (decl) != TYPE_DECL
 	   || TREE_TYPE (decl) == error_mark_node
-	   || !IS_AGGR_TYPE (TREE_TYPE (decl)))
+	   /* APPLE LOCAL begin radar 5277239 */
+	   || !IS_AGGR_TYPE (TREE_TYPE (decl))
+	   || cp_objc_property_reference_prefix (parser, TREE_TYPE (decl)))
+	   /* APPLE LOCAL end radar 5277239 */
     decl = error_mark_node;
 
   if (decl == error_mark_node)
@@ -18755,6 +18803,24 @@
   return objc_build_message_expr (build_tree_list (receiver, messageargs));
 }
 
+/* APPLE LOCAL begin radar 5277239 */
+/* Parse an Objective-C dot-syntax class expression.
+
+   objc-message-expression:
+     class-name '.' class-method-name
+
+  Returns an objc_property_reference expression. */
+
+static tree
+cp_parser_objc_reference_expression (cp_parser* parser, tree type_decl)
+{
+  tree receiver, component;
+  receiver = objc_get_class_reference (TREE_TYPE (type_decl));
+  cp_lexer_consume_token (parser->lexer);  /* Eact '.' */
+  component = cp_parser_objc_message_args (parser);
+  return objc_build_property_reference_expr (receiver, TREE_PURPOSE (component));
+}
+/* APPLE LOCAL end radar 5277239 */
 /* Parse an objc-message-receiver.
 
    objc-message-receiver:
@@ -19088,6 +19154,32 @@
   return protorefs;
 }
 
+/* APPLE LOCAL begin radar 5355344 */
+/* This routine also parses a list of Objective-C protocol references; except that
+   if list is not valid, it returns FALSE and back-tracks parsing. */
+
+static bool
+cp_parser_objc_tentative_protocol_refs_opt (cp_parser* parser, tree *protorefs)
+{
+  *protorefs = NULL_TREE;
+  if(cp_lexer_next_token_is (parser->lexer, CPP_LESS))
+    {
+      cp_parser_parse_tentatively (parser);
+      cp_lexer_consume_token (parser->lexer);  /* Eat '<'.  */
+      *protorefs = cp_parser_objc_identifier_list (parser);
+      if (!cp_objc_protocol_id_list (*protorefs))
+        {
+          cp_parser_abort_tentative_parse (parser);
+          return false;
+        }
+      if (cp_parser_parse_definitely (parser))
+        cp_parser_require (parser, CPP_GREATER, "`>'");
+    }
+
+  return true;
+}
+/* APPLE LOCAL end radar 5355344 */
+
 /* Parse a Objective-C visibility specification.  */
 
 static void

Modified: llvm-gcc-4.2/trunk/gcc/cp/pt.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/pt.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/pt.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/pt.c Thu Aug  2 20:00:37 2007
@@ -91,8 +91,8 @@
 
 static void push_access_scope (tree);
 static void pop_access_scope (tree);
-static int resolve_overloaded_unification (tree, tree, tree, tree,
-					   unification_kind_t, int);
+static bool resolve_overloaded_unification (tree, tree, tree, tree,
+					    unification_kind_t, int);
 static int try_one_overload (tree, tree, tree, tree, tree,
 			     unification_kind_t, int, bool);
 static int unify (tree, tree, tree, tree, int);
@@ -9992,17 +9992,18 @@
 	  gcc_assert (TREE_TYPE (arg) != NULL_TREE);
 	  if (type_unknown_p (arg))
 	    {
-	      /* [temp.deduct.type] A template-argument can be deduced from
-		 a pointer to function or pointer to member function
-		 argument if the set of overloaded functions does not
-		 contain function templates and at most one of a set of
-		 overloaded functions provides a unique match.  */
+	      /* [temp.deduct.type] 
 
+	         A template-argument can be deduced from a pointer to
+		 function or pointer to member function argument if
+		 the set of overloaded functions does not contain
+		 function templates and at most one of a set of
+		 overloaded functions provides a unique match.  */
 	      if (resolve_overloaded_unification
-		  (tparms, targs, parm, arg, strict, sub_strict)
-		  != 0)
-		return 1;
-	      continue;
+		  (tparms, targs, parm, arg, strict, sub_strict))
+		continue;
+
+	      return 1;
 	    }
 	  arg = unlowered_expr_type (arg);
 	  if (arg == error_mark_node)
@@ -10055,12 +10056,13 @@
   return 0;
 }
 
-/* Subroutine of type_unification_real.  Args are like the variables at the
-   call site.  ARG is an overloaded function (or template-id); we try
-   deducing template args from each of the overloads, and if only one
-   succeeds, we go with that.  Modifies TARGS and returns 0 on success.  */
+/* Subroutine of type_unification_real.  Args are like the variables
+   at the call site.  ARG is an overloaded function (or template-id);
+   we try deducing template args from each of the overloads, and if
+   only one succeeds, we go with that.  Modifies TARGS and returns
+   true on success.  */
 
-static int
+static bool
 resolve_overloaded_unification (tree tparms,
 				tree targs,
 				tree parm,
@@ -10119,16 +10121,17 @@
 	    }
 	}
     }
+  else if (TREE_CODE (arg) != OVERLOAD
+	   && TREE_CODE (arg) != FUNCTION_DECL)
+    /* If ARG is, for example, "(0, &f)" then its type will be unknown
+       -- but the deduction does not succeed because the expression is
+       not just the function on its own.  */
+    return false;
   else
-    {
-      gcc_assert (TREE_CODE (arg) == OVERLOAD
-		  || TREE_CODE (arg) == FUNCTION_DECL);
-
-      for (; arg; arg = OVL_NEXT (arg))
-	good += try_one_overload (tparms, targs, tempargs, parm,
-				  TREE_TYPE (OVL_CURRENT (arg)),
-				  strict, sub_strict, addr_p);
-    }
+    for (; arg; arg = OVL_NEXT (arg))
+      good += try_one_overload (tparms, targs, tempargs, parm,
+				TREE_TYPE (OVL_CURRENT (arg)),
+				strict, sub_strict, addr_p);
 
   /* [temp.deduct.type] A template-argument can be deduced from a pointer
      to function or pointer to member function argument if the set of
@@ -10146,9 +10149,9 @@
 	  TREE_VEC_ELT (targs, i) = TREE_VEC_ELT (tempargs, i);
     }
   if (good)
-    return 0;
+    return true;
 
-  return 1;
+  return false;
 }
 
 /* Subroutine of resolve_overloaded_unification; does deduction for a single
@@ -12950,12 +12953,7 @@
 	  }
 
 	if (TREE_CODE (expression) == TREE_LIST)
-	  {
-	    for (; expression; expression = TREE_CHAIN (expression))
-	      if (value_dependent_expression_p (TREE_VALUE (expression)))
-		return true;
-	    return false;
-	  }
+	  return any_value_dependent_elements_p (expression);
 
 	return value_dependent_expression_p (expression);
       }
@@ -13159,6 +13157,19 @@
   return false;
 }
 
+/* Returns TRUE if LIST (a TREE_LIST whose TREE_VALUEs are
+   expressions) contains any value-dependent expressions.  */
+
+bool
+any_value_dependent_elements_p (tree list)
+{
+  for (; list; list = TREE_CHAIN (list))
+    if (value_dependent_expression_p (TREE_VALUE (list)))
+      return true;
+
+  return false;
+}
+
 /* Returns TRUE if the ARG (a template argument) is dependent.  */
 
 static bool

Modified: llvm-gcc-4.2/trunk/gcc/cp/semantics.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/semantics.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/semantics.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/semantics.c Thu Aug  2 20:00:37 2007
@@ -1297,7 +1297,7 @@
 
   r = build_stmt (ASM_EXPR, string,
 		  output_operands, input_operands,
-  /* APPLE LOCAL CW asm blocks. */
+  /* APPLE LOCAL CW asm blocks */
 		  clobbers, uses);
   ASM_VOLATILE_P (r) = volatile_p || noutputs == 0;
   r = maybe_cleanup_point_expr_void (r);
@@ -3362,14 +3362,17 @@
 	    {
 	      if (processing_template_decl)
 		break;
-	      error ("%qE is not a variable in clause %qs", t, name);
+	      if (DECL_P (t))
+		error ("%qD is not a variable in clause %qs", t, name);
+	      else
+		error ("%qE is not a variable in clause %qs", t, name);
 	      remove = true;
 	    }
 	  else if (bitmap_bit_p (&generic_head, DECL_UID (t))
 		   || bitmap_bit_p (&firstprivate_head, DECL_UID (t))
 		   || bitmap_bit_p (&lastprivate_head, DECL_UID (t)))
 	    {
-	      error ("%qE appears more than once in data clauses", t);
+	      error ("%qD appears more than once in data clauses", t);
 	      remove = true;
 	    }
 	  else

Modified: llvm-gcc-4.2/trunk/gcc/cp/typeck.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/typeck.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/typeck.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/typeck.c Thu Aug  2 20:00:37 2007
@@ -256,11 +256,9 @@
 
   /* FIXME: Attributes.  */
   gcc_assert (ARITHMETIC_TYPE_P (t1)
-	      || TREE_CODE (t1) == COMPLEX_TYPE
 	      || TREE_CODE (t1) == VECTOR_TYPE
 	      || TREE_CODE (t1) == ENUMERAL_TYPE);
   gcc_assert (ARITHMETIC_TYPE_P (t2)
-	      || TREE_CODE (t2) == COMPLEX_TYPE
 	      || TREE_CODE (t2) == VECTOR_TYPE
 	      || TREE_CODE (t2) == ENUMERAL_TYPE);
 
@@ -763,9 +761,9 @@
   code2 = TREE_CODE (t2);
 
   if ((ARITHMETIC_TYPE_P (t1) || code1 == ENUMERAL_TYPE
-       || code1 == COMPLEX_TYPE || code1 == VECTOR_TYPE)
+       || code1 == VECTOR_TYPE)
       && (ARITHMETIC_TYPE_P (t2) || code2 == ENUMERAL_TYPE
-	  || code2 == COMPLEX_TYPE || code2 == VECTOR_TYPE))
+	  || code2 == VECTOR_TYPE))
     return type_after_usual_arithmetic_conversions (t1, t2);
 
   else if ((TYPE_PTR_P (t1) && TYPE_PTR_P (t2))
@@ -2112,7 +2110,8 @@
   if (!processing_template_decl)
     {
       if (TREE_CODE (name) == IDENTIFIER_NODE
-          && (expr = objc_build_getter_call (object, name)))
+	  /* APPLE LOCAL radar 5285911 */
+          && (expr = objc_build_property_reference_expr (object, name)))
         return expr;
     }
   /* APPLE LOCAL end C* property (Radar 4436866) */
@@ -5726,7 +5725,8 @@
   /* APPLE LOCAL begin radar 4426814 */
   if (c_dialect_objc () && flag_objc_gc)
     {
-      objc_remove_weak_read (&lhs);
+      /* APPLE LOCAL radar radar 5276085 */
+      objc_weak_reference_expr (&lhs);
       lhstype = TREE_TYPE (lhs);
       olhstype = lhstype;
     }
@@ -5876,6 +5876,17 @@
 	      result = build_new_op (MODIFY_EXPR, LOOKUP_NORMAL,
 				     lhs, rhs, make_node (NOP_EXPR),
 				     /*overloaded_p=*/NULL);
+	      /* APPLE LOCAL begin radar 3742561 */
+	      if (c_dialect_objc () && flag_objc_gc
+		  && result && TREE_CODE (result) == MODIFY_EXPR)
+		{
+		  /* Any thing other than MODIFY_EXPR indicates that 
+		     '=' is overloaded. Leave it alone. */
+		  tree t = objc_generate_write_barrier (lhs, MODIFY_EXPR, rhs);
+		  if (t)
+		    result = t;
+		}
+	      /* APPLE LOCAL end radar 3742561 */
 	      if (result == NULL_TREE)
 		return error_mark_node;
 	      return result;

Modified: llvm-gcc-4.2/trunk/gcc/cp/typeck2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/cp/typeck2.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/cp/typeck2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/cp/typeck2.c Thu Aug  2 20:00:37 2007
@@ -723,7 +723,8 @@
     }
 
   /* Handle scalar types (including conversions) and references.  */
-  if (SCALAR_TYPE_P (type) || code == REFERENCE_TYPE)
+  if (TREE_CODE (type) != COMPLEX_TYPE
+      && (SCALAR_TYPE_P (type) || code == REFERENCE_TYPE))
     return convert_for_initialization (0, type, init, LOOKUP_NORMAL,
 				       "initialization", NULL_TREE, 0);
 
@@ -1360,7 +1361,9 @@
       && !CLASSTYPE_NON_POD_P (type)
       && TYPE_HAS_DEFAULT_CONSTRUCTOR (type))
     {
-      exp = build_constructor (type, NULL);
+      exp = build_zero_init (type, 
+			     /*nelts=*/NULL_TREE,
+			     /*static_storage_p=*/false);
       return get_target_expr (exp);
     }
 

Modified: llvm-gcc-4.2/trunk/gcc/doc/c-tree.texi
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/doc/c-tree.texi?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/c-tree.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/c-tree.texi Thu Aug  2 20:00:37 2007
@@ -1595,11 +1595,11 @@
 statement was not an extended assembly statement, and is therefore
 implicitly volatile, then the predicate @code{ASM_VOLATILE_P} will hold
 of the @code{ASM_EXPR}.
- at c APPLE LOCAL begin CW asm blocks.
+ at c APPLE LOCAL begin CW asm blocks
 @code{ASM_USES} and @code{ASM_LABEL} are for CW assembly syntax only, 
 providing REG_USE and label declaration information inside @code{ASM_EXPR} 
 tree.
- at c APPLE LOCAL end CW asm blocks.
+ at c APPLE LOCAL end CW asm blocks
 
 @item BREAK_STMT
 

Modified: llvm-gcc-4.2/trunk/gcc/doc/cppopts.texi
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/doc/cppopts.texi?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/cppopts.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/cppopts.texi Thu Aug  2 20:00:37 2007
@@ -641,6 +641,12 @@
 @noindent
 will show all the predefined macros.
 
+ at c APPLE LOCAL begin mainline
+If you use @option{-dM} without the @option{-E} option, @option{-dM} is
+interpreted as a synonym for @option{-fdump-rtl-mach}.
+ at xref{Debugging Options, , ,gcc}.
+
+ at c APPLE LOCAL end mainline
 @item D
 @opindex dD
 Like @samp{M} except in two respects: it does @emph{not} include the

Modified: llvm-gcc-4.2/trunk/gcc/doc/invoke.texi
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/doc/invoke.texi?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/doc/invoke.texi (original)
+++ llvm-gcc-4.2/trunk/gcc/doc/invoke.texi Thu Aug  2 20:00:37 2007
@@ -234,7 +234,7 @@
 -frepo  -fno-rtti  -fstats  -ftemplate-depth- at var{n} @gol
 -fno-threadsafe-statics -fuse-cxa-atexit  -fno-weak  -nostdinc++ @gol
 -fno-default-inline  -fvisibility-inlines-hidden @gol
- at c APPLE LOCAL ms tinfo compat 4230099
+ at c APPLE LOCAL mainline 2007-06-28 ms tinfo compat 4230099
 -fvisibility-ms-compat
 -Wabi  -Wctor-dtor-privacy @gol
 -Wnon-virtual-dtor  -Wreorder @gol
@@ -1897,7 +1897,7 @@
 as their linkage might otherwise cross a shared library boundary.
 @xref{Template Instantiation}.
 
- at c APPLE LOCAL begin ms tinfo compat 4230099
+ at c APPLE LOCAL begin mainline 2007-06-28 ms tinfo compat 4230099
 @item -fvisibility-ms-compat
 @opindex fvisibility-ms-compat
 This flag attempts to use visibility settings to make GCC's C++
@@ -1925,7 +1925,7 @@
 and that pointers to function members defined in different shared
 objects will not compare equal.  When this flag is given, it is a
 violation of the ODR to define types with the same name differently.
- at c APPLE LOCAL end ms tinfo compat 4230099
+ at c APPLE LOCAL end mainline 2007-06-28 ms tinfo compat 4230099
 
 @item -fno-weak
 @opindex fno-weak
@@ -4253,6 +4253,7 @@
 generate test coverage data.  Coverage data will match the source files
 more closely, if you do not optimize.
 
+ at c APPLE LOCAL begin mainline
 @item -d at var{letters}
 @item -fdump-rtl- at var{pass}
 @opindex d
@@ -4261,7 +4262,10 @@
 compiler.  The file names for most of the dumps are made by appending a
 pass number and a word to the @var{dumpname}.  @var{dumpname} is generated
 from the name of the output file, if explicitly specified and it is not
-an executable, otherwise it is the basename of the source file.
+an executable, otherwise it is the basename of the source file. These
+switches may have different effects when @option{-E} is used for
+preprocessing.
+ at c APPLE LOCAL end mainline
 
 Most debug dumps can be enabled either passing a letter to the @option{-d}
 option, or with a long @option{-fdump-rtl} switch; here are the possible
@@ -4395,8 +4399,10 @@
 @itemx -fdump-rtl-mach
 @opindex dM
 @opindex fdump-rtl-mach
+ at c APPLE LOCAL begin mainline
 Dump after performing the machine dependent reorganization pass, to
- at file{@var{file}.155r.mach}.
+ at file{@var{file}.155r.mach} if that pass exists.
+ at c APPLE LOCAL end mainline
 
 @item -dn
 @itemx -fdump-rtl-rnreg
@@ -5084,7 +5090,7 @@
 @opindex O0
 Do not optimize.  This is the default.
 
- at c APPLE LOCAL begin -fast  
+ at c APPLE LOCAL begin -fast or -fastf or -fastcp
 @item -fast
 @opindex fast
 Optimize for maximum performance. @option{-fast} changes the overall optimization 
@@ -5137,7 +5143,7 @@
 
 All choices of flags enabled by @option{-fast} are subject to change without notice.
 
- at c APPLE LOCAL end -fast
+ at c APPLE LOCAL end -fast or -fastf or -fastcp
 
 @c APPLE LOCAL begin 4231761 -Oz
 @item -Os
@@ -10025,7 +10031,6 @@
 These @samp{-m} options are defined for the i386 and x86-64 family of
 computers:
 
- at c APPLE LOCAL begin mainline 2006-04-19 4434601
 @table @gcctabopt
 @item -mtune=@var{cpu-type}
 @opindex mtune
@@ -10070,7 +10075,6 @@
 @item i686
 Same as @code{generic}, but when used as @code{march} option, PentiumPro
 instruction set will be used, so the code will run on all i686 family chips.
- at c APPLE LOCAL end mainline 2006-04-19 4434601
 @item pentium2
 Intel Pentium2 CPU based on PentiumPro core with MMX instruction set support.
 @item pentium3, pentium3m

Modified: llvm-gcc-4.2/trunk/gcc/dwarf2out.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/dwarf2out.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/dwarf2out.c (original)
+++ llvm-gcc-4.2/trunk/gcc/dwarf2out.c Thu Aug  2 20:00:37 2007
@@ -14644,7 +14644,9 @@
 	      else if (TYPE_P (node->created_for))
 		context = TYPE_CONTEXT (node->created_for);
 
-	      gcc_assert (context && TREE_CODE (context) == FUNCTION_DECL);
+	      gcc_assert (context
+			  && (TREE_CODE (context) == FUNCTION_DECL
+			      || TREE_CODE (context) == NAMESPACE_DECL));
 
 	      origin = lookup_decl_die (context);
 	      if (origin)

Modified: llvm-gcc-4.2/trunk/gcc/function.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/function.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/function.c (original)
+++ llvm-gcc-4.2/trunk/gcc/function.c Thu Aug  2 20:00:37 2007
@@ -5160,6 +5160,14 @@
       /* Retain a map of the prologue insns.  */
       record_insns (seq, &prologue);
       prologue_end = emit_note (NOTE_INSN_PROLOGUE_END);
+ 
+#ifndef PROFILE_BEFORE_PROLOGUE
+      /* Ensure that instructions are not moved into the prologue when
+	 profiling is on.  The call to the profiling routine can be
+	 emitted within the live range of a call-clobbered register.  */
+      if (current_function_profile)
+	emit_insn (gen_rtx_ASM_INPUT (VOIDmode, ""));
+#endif
 
       seq = get_insns ();
       end_sequence ();

Modified: llvm-gcc-4.2/trunk/gcc/gcc.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/gcc.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/gcc.c (original)
+++ llvm-gcc-4.2/trunk/gcc/gcc.c Thu Aug  2 20:00:37 2007
@@ -836,11 +836,11 @@
 /* LLVM LOCAL end */
 /* NB: This is shared amongst all front-ends.  */
 static const char *cc1_options =
-/* APPLE LOCAL begin -fast */
+/* APPLE LOCAL begin -fast or -fastf or -fastcp */
 "%{fast:-O3}\
  %{fastf:-O3}\
  %{fastcp:-O3}"
-/* APPLE LOCAL end -fast */
+/* APPLE LOCAL end -fast or -fastf or -fastcp */
 "%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
 "/* LLVM LOCAL */"\
  %1 %{!Q:-quiet} -dumpbase %B %{d*} %{Zmllvm*: -mllvm %*} %{m*} %{a*}\
@@ -3207,14 +3207,14 @@
 
 static bool combine_inputs;
 
-/* APPLE LOCAL begin IMA variables */
+/* APPLE LOCAL begin IMA */
 
 /* True if "-traditional-cpp" appears on commandline.  */
 static int traditional_cpp_flag = 0;
 
 /* True if "-E" appears on commandline.  */
 static int capital_e_flag = 0;
-/* APPLE LOCAL end IMA variables */
+/* APPLE LOCAL end IMA */
 
 /* This counts the number of libraries added by lang_specific_driver, so that
    we can tell if there were any user supplied any files or libraries.  */

Modified: llvm-gcc-4.2/trunk/gcc/gimplify.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/gimplify.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/gimplify.c (original)
+++ llvm-gcc-4.2/trunk/gcc/gimplify.c Thu Aug  2 20:00:37 2007
@@ -836,25 +836,6 @@
   return NULL_TREE;
 }
 
-/* APPLE LOCAL begin PR 14498, etc --bowdidge */
-/* This routine was deleted from FSF mainline and lno-branch; however,
-   we're still using it in the next routine.  Keep a local copy until 
-   we can rewrite that other stuff.  The FIXME on this worries me. */
-
-/* Mark all the _DECL nodes under *TP as volatile.  FIXME: This must die
-   after VA_ARG_EXPRs are properly lowered.  */
-
-static tree
-mark_decls_volatile_r (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED,
-		       void *data ATTRIBUTE_UNUSED)
-{
-  if (SSA_VAR_P (*tp))
-    TREE_THIS_VOLATILE (*tp) = 1;
-
-  return NULL_TREE;
-}
-/* APPLE LOCAL end PR 14498, etc --bowdidge */
-
 /* Callback for walk_tree to unshare most of the shared trees rooted at
    *TP.  If *TP has been visited already (i.e., TREE_VISITED (*TP) == 1),
    then *TP is deep copied by calling copy_tree_r.
@@ -895,24 +876,7 @@
 
   /* Otherwise, mark the tree as visited and keep looking.  */
   else
-    /* APPLE LOCAL begin PR 14498, etc. --dbj */
-    /* History is complicated, this was in mainline prior to merge,
-       temporarily and erroneously removed at merge snapshot,
-       later put back, still later replaced by different mechanism. */
-    {
-      TREE_VISITED (t) = 1;
-      if (TREE_CODE (*tp) == VA_ARG_EXPR)
-	{
-	  /* Mark any _DECL inside the operand as volatile to avoid
-	     the optimizers messing around with it. We have to do this
-	     early, otherwise we might mark a variable as volatile
-	     after we gimplify other statements that use the variable
-	     assuming it's not volatile.  */
-	  walk_tree (&TREE_OPERAND (*tp, 0), mark_decls_volatile_r,
-		     NULL, NULL);
-	}
-    }
-    /* APPLE LOCAL end PR 14498, etc. */
+    TREE_VISITED (t) = 1;
 
   return NULL_TREE;
 }
@@ -4875,7 +4839,20 @@
   else if (flags & GOVD_SHARED)
     {
       if (is_global_var (decl))
-	return 0;
+	{
+	  struct gimplify_omp_ctx *ctx = gimplify_omp_ctxp->outer_context;
+	  while (ctx != NULL)
+	    {
+	      splay_tree_node on
+		= splay_tree_lookup (ctx->variables, (splay_tree_key) decl);
+	      if (on && (on->value & (GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE
+				      | GOVD_PRIVATE | GOVD_REDUCTION)) != 0)
+		break;
+	      ctx = ctx->outer_context;
+	    }
+	  if (ctx == NULL)
+	    return 0;
+	}
       code = OMP_CLAUSE_SHARED;
     }
   else if (flags & GOVD_PRIVATE)

Modified: llvm-gcc-4.2/trunk/gcc/ginclude/tgmath.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/ginclude/tgmath.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/ginclude/tgmath.h (original)
+++ llvm-gcc-4.2/trunk/gcc/ginclude/tgmath.h Thu Aug  2 20:00:37 2007
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 2872232 */
+/* APPLE LOCAL file mainline 2007-06-12 2872232 */
 /* Copyright (C) 2004
    Free Software Foundation, Inc.
 

Modified: llvm-gcc-4.2/trunk/gcc/gthr-posix.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/gthr-posix.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/gthr-posix.c (original)
+++ llvm-gcc-4.2/trunk/gcc/gthr-posix.c Thu Aug  2 20:00:37 2007
@@ -1,6 +1,6 @@
 /* POSIX threads dummy routines for systems without weak definitions.  */
 /* Compile this one with gcc.  */
-/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -28,6 +28,7 @@
 
 #include "tconfig.h"
 #include "tm.h"
+# define __gthrw_pragma(pragma) _Pragma (#pragma)
 /* Define so we provide weak definitions of functions used by libobjc only.  */
 #define _LIBOBJC_WEAK
 #include "gthr.h"
@@ -75,7 +76,7 @@
 }
 
 int
-pthread_cancel(pthread_t thread ATTRIBUTE_UNUSED)
+pthread_cancel (pthread_t thread ATTRIBUTE_UNUSED)
 {
   return 0;
 }

Modified: llvm-gcc-4.2/trunk/gcc/gthr-posix.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/gthr-posix.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/gthr-posix.h (original)
+++ llvm-gcc-4.2/trunk/gcc/gthr-posix.h Thu Aug  2 20:00:37 2007
@@ -1,6 +1,6 @@
 /* Threads compatibility routines for libgcc2 and libobjc.  */
 /* Compile this one with gcc.  */
-/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -59,8 +59,12 @@
 #endif
 
 #if SUPPORTS_WEAK && GTHREAD_USE_WEAK
+# ifndef __gthrw_pragma
+#  define __gthrw_pragma(pragma)
+# endif
 # define __gthrw2(name,name2,type) \
-  static __typeof(type) name __attribute__ ((__weakref__(#name2)));
+  static __typeof(type) name __attribute__ ((__weakref__(#name2))); \
+  __gthrw_pragma(weak type)
 # define __gthrw_(name) __gthrw_ ## name
 #else
 # define __gthrw2(name,name2,type)

Modified: llvm-gcc-4.2/trunk/gcc/hooks.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/hooks.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/hooks.c (original)
+++ llvm-gcc-4.2/trunk/gcc/hooks.c Thu Aug  2 20:00:37 2007
@@ -173,12 +173,10 @@
 {
 }
 
-/* APPLE LOCAL begin 3739318 FSF Candidate.  */
 void
 hook_void_constcharptr (const char *a ATTRIBUTE_UNUSED)
 {
 }
-/* APPLE LOCAL end 3739318 FSF Candidate.  */
 
 void
 hook_void_tree_treeptr (tree a ATTRIBUTE_UNUSED, tree *b ATTRIBUTE_UNUSED)

Modified: llvm-gcc-4.2/trunk/gcc/loop-doloop.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/loop-doloop.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/loop-doloop.c (original)
+++ llvm-gcc-4.2/trunk/gcc/loop-doloop.c Thu Aug  2 20:00:37 2007
@@ -174,7 +174,6 @@
 	 If the absolute increment is not 1, the loop can be infinite
 	 even with LTU/GTU, e.g. for (i = 3; i > 0; i -= 2)
 
-
 	 ??? We could compute these conditions at run-time and have a
 	 additional jump around the loop to ensure an infinite loop.
 	 However, it is very unlikely that this is the intended

Modified: llvm-gcc-4.2/trunk/gcc/loop-iv.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/loop-iv.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/loop-iv.c (original)
+++ llvm-gcc-4.2/trunk/gcc/loop-iv.c Thu Aug  2 20:00:37 2007
@@ -1490,7 +1490,7 @@
 	    mode = VOIDmode;
 	}
 
-      if (mode != VOIDmode
+      if (SCALAR_INT_MODE_P (mode)
 	  && rtx_equal_p (op1, opb1)
 	  && simplify_gen_binary (MINUS, mode, opb0, op0) == const1_rtx)
 	return true;

Modified: llvm-gcc-4.2/trunk/gcc/objc/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,7 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
 2007-05-13  Release Manager
 
 	* GCC 4.2.0 released.

Modified: llvm-gcc-4.2/trunk/gcc/objc/ChangeLog.apple
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/ChangeLog.apple?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/ChangeLog.apple (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/ChangeLog.apple Thu Aug  2 20:00:37 2007
@@ -1,3 +1,115 @@
+2007-07-31  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5259868
+	* objc-act.c (objc_build_ivar_layout): Compress ivar layout nibbles
+	if can.
+
+2007-07-27  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 3742561
+	* objc-act.h (objc_memmove_collectable_decl): New declaration
+	* objc-act.c (objc_build_memmove_collectable): New
+	(objc_aggr_type_strong): New
+	(objc_generate_write_barrier): Generate write barrier call for
+	structs holding object pointers (or __strong pointers).
+	(build_next_objc_exception_stuff): Generate the write barrier function
+	declaration.
+
+2007-07-24  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 5355344
+	* objc-act.c (cp_objc_protocol_id_list): New
+
+2007-07-17  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5338634
+	* objc-act.c (finish_class): Fix check for name conflict between
+	property name and its setter name.
+
+2007-07-16  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5333233
+	* objc-act.c (generate_v2_shared_structures): If class has no
+	'ivar', set 'field' to class's hiden field (for its super class).
+
+2007-07-13  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5277239
+	* objc-act.c (lookup_method_static): Takes a new argument.
+	(objc_property_access_info): Now recognizes 'receiver' when 
+	it is a class object.
+	(objc_build_property_reference_expr): Can now build property
+	reference expression for class-name.class-method syntax as well.
+	(objc_build_getter_call): Can now build method-call expression from
+	property reference expression.
+	(objc_resolve_build_property_setter_name): Can now build a setter name
+	(which should be a class method) for a property dot-syntax used on a
+	class object.
+	(objc_finish_message_expr): Add argument in call to lookup_method_static.
+	(really_start_method): Ditto.
+	(lookup_method_static): Has a new argument which when true only finds class
+	methods.
+	
+2007-07-10  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5285911
+	* objc-tree.def (OBJC_PROPERTY_REFERENCE_EXPR): New code tree.
+	* objc-act.c (objc_property_access_info): New
+	(objc_build_property_reference_expr): New
+	(objc_property_reference_expr): New
+	(objc_property_call): Removed
+	(objc_v2_build_setter_call): Removed
+	(objc_v2_build_incr_decl_setter_call): Removed
+	(objc_build_getter_call): Revised and greatly simplified.
+	(objc_build_setter_call): Revised and greatly simplified.
+	(objc_build_incr_decr_setter_call): Revised and greatly simplified.
+	(objc_gimplify_expr): Build getter for OBJC_PROPERTY_REFERENCE_EXPR
+	tree before gimplification.
+
+2007-06-29  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5082000
+        * lang-specs.h (print-objc-ivar-layout): Add
+        * objc-act.c (total_type_elements): New
+        (OUTPUT_LAYOUT_BYTE): New macro
+        (adjust_max_layout_buf_size): New
+        (objc_build_aggregate_ivar_layout): Add support to handle
+        layout for ivar of array type.
+        (objc_build_ivar_layout): Modified to support dynamic
+        buffer allocation and printing of gc ivar layout on demand.
+
+2007-06-29  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5251019
+        * objc-act.c (objc_build_ivar_layout): ivar layout nibble string
+        must include count of words to skip at the end.
+
+
+2007-06-29  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 5276085
+
+        * objc-tree.def (OBJC_WEAK_REFERENCE_EXPR): New tree code.
+        (objc_tree_is_weak_expr): New routine to decide if expression
+        is 'weak' reference.
+        (objc_build_weak_reference_tree): New routine to build a
+        'weak' reference tree.
+        (objc_weak_reference_expr): New routine to return the 'weak'
+        reference expression tree.
+	(objc_synthesize_getter, objc_synthesize_new_getter): Call
+	objc_build_weak_reference_tree.
+        (objc_generate_weak_read): Removed.
+        (objc_remove_weak_read): Removed.
+        (objc_gimplify_expr): Take a OBJC_WEAK_REFERENCE_EXPR
+        tree and covert it into a 'weak' reference API before
+        gimplification.
+
+2007-06-29  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 5279122
+	* objc-act.c (objc_build_compound_setter_call): Decay rhs before using it in
+	a setter call generation.
+
 2007-06-18  Fariborz Jahanian <fjahanian at apple.com>
 
         Radar 5265737

Modified: llvm-gcc-4.2/trunk/gcc/objc/config-lang.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/config-lang.in?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/config-lang.in (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/config-lang.in Thu Aug  2 20:00:37 2007
@@ -32,10 +32,7 @@
 
 stagestuff="cc1obj\$(exeext)"
 
-# LLVM LOCAL begin
-# Do not comment target_libs setting
 target_libs=target-libobjc
-# LLVM LOCAL end
 
 # Most of the object files for cc1obj actually come from C.
 lang_requires="c"

Modified: llvm-gcc-4.2/trunk/gcc/objc/lang-specs.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/lang-specs.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/lang-specs.h (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/lang-specs.h Thu Aug  2 20:00:37 2007
@@ -22,6 +22,7 @@
 /* This is the contribution to the `default_compilers' array in gcc.c for
    objc.  */
 
+  /* APPLE LOCAL begin radar 5082000 */
   {".m", "@objective-c", 0, 0, 0},
   {"@objective-c",
      "%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\
@@ -31,15 +32,15 @@
 %eGNU Objective C no longer supports traditional compilation}\
 	%{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
         "/* LLVM LOCAL */" \
-	    cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(llvm_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\
+	    cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(llvm_options) %(cc1_options) %{print-objc-ivar-layout}  %{print-objc-runtime-info} %{gen-decls}}\
 	%{!save-temps:%{!no-integrated-cpp:\
         "/* LLVM LOCAL */" \
-	    cc1obj %(cpp_unique_options) %(llvm_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\
+	    cc1obj %(cpp_unique_options) %(llvm_options) %(cc1_options) %{print-objc-ivar-layout} %{print-objc-runtime-info} %{gen-decls}}}\
         %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
   {".mi", "@objc-cpp-output", 0, 0, 0},
   {"@objc-cpp-output",
       /* LLVM LOCAL */
-     "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(llvm_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
+     "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(llvm_options) %(cc1_options) %{print-objc-ivar-layout} %{print-objc-runtime-info} %{gen-decls}\
 			     %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
   {"@objective-c-header",
      "%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\
@@ -48,12 +49,13 @@
 	%{traditional|ftraditional|traditional-cpp:\
 %eGNU Objective C no longer supports traditional compilation}\
 	%{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
-	    cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
+	    cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-ivar-layout} %{print-objc-runtime-info} %{gen-decls}\
                         -o %g.s %{!o*:--output-pch=%i.gch}\
                         "/* APPLE LOCAL ss2 */" \
                         %W{o*:--output-pch=%*} %{fsave-repository=*: \n as %a -o %w%* %g.s %A}%V}\
 	%{!save-temps:%{!no-integrated-cpp:\
-	    cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
+	    cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-ivar-layout} %{print-objc-runtime-info} %{gen-decls}\
                         -o %g.s %{!o*:--output-pch=%i.gch}\
                         "/* APPLE LOCAL ss2 */ " \
                         %W{o*:--output-pch=%*} %{fsave-repository=*: \n as %a -o %w%* %g.s %A}%V}}}}}", 0, 0, 0},
+/* APPLE LOCAL end radar 5082000 */

Modified: llvm-gcc-4.2/trunk/gcc/objc/objc-act.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/objc-act.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/objc-act.c (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/objc-act.c Thu Aug  2 20:00:37 2007
@@ -203,12 +203,15 @@
 /* APPLE LOCAL begin objc new property */
 static bool objc_lookup_protocol (tree, tree, tree, bool);
 static int objc_is_gcable_type (tree);
-static tree lookup_method_static (tree, tree, int, bool);
+/* APPLE LOCAL radar 5277239 */
+static tree lookup_method_static (tree, tree, int, bool, bool);
 /* APPLE LOCAL radar 4817072 */
 static void objc_lookup_property_ivar (tree, tree);
 /* APPLE LOCAL end objc new property */
 static void build_objc_exception_stuff (void);
 static void build_next_objc_exception_stuff (void);
+/* APPLE LOCAL radar 5285911 */
+static tree nested_ivar_lookup (tree, tree);
 
 /* APPLE LOCAL radar 4431864 */
 static void objc_set_global_decl_fields (tree);
@@ -292,6 +295,8 @@
 static tree objc2_eh_runtime_type (tree);
 /* APPLE LOCAL radar 4982951 */
 static tree objc_v2_ivar_reference (tree);
+/* APPLE LOCAL radar 5277239 */
+static tree receiver_is_class_object (tree, int, int);
 
 /* APPLE LOCAL radar 5040740 */
 static tree lookup_nested_method (tree, tree);
@@ -506,6 +511,8 @@
 #define TAG_ASSIGN_WEAK			"objc_assign_weak"
 #define TAG_READ_WEAK			"objc_read_weak"
 /* APPLE LOCAL end radar 4426814 */
+/* APPLE LOCAL radar 3742561 */
+#define TAG_MEMMOVE_COLLECTABLE		"objc_memmove_collectable"
 
 #define TAG_ASSIGNIVAR			"objc_assign_ivar"
 #define TAG_ASSIGNGLOBAL		"objc_assign_global"
@@ -1434,91 +1441,190 @@
   return t;
 }
 
-/* This routine recognizes a dot-notation for a propery reference and generates a call to
-   the getter function for this property. In all other cases, it returns a NULL_TREE.  */
-
-tree
-objc_build_getter_call (tree receiver, tree component)
-{
-  tree interface_type = NULL_TREE;
-  tree x;
-  tree basetype;
-  tree getter;
-  tree rtype;
-
-  if (component == error_mark_node || component == NULL_TREE
-      || TREE_CODE (component) != IDENTIFIER_NODE)
-    return NULL_TREE;
-  if (receiver == error_mark_node || receiver == NULL_TREE
-      || (rtype = TREE_TYPE (receiver)) == NULL_TREE)
-    return NULL_TREE;
-  x = NULL_TREE;
+/* APPLE LOCAL begin radar 5285911 */
+/* This routine, given RECEIVER.COMPONENT, RTYPE for type of the class for the
+   receiver, returns in PROP the property declaration and in INTERFACE_TYPE class
+   declaration. Furthermore, if CHECK_PROP_COND is true, it checks for correctness of
+   property use in dot syntax and issues diagnostic. If CHECK_PROP_COND is false, it assumes
+   that tree is a correct property access. On sucessess it returns RECEIVER.
+   Finally, if RECEIVER is a class object, true is returned in RECEIVER_IS_CLASS.
+*/
+static tree
+objc_property_access_info (tree receiver, tree component, tree rtype, 
+			   bool check_prop_cond, 
+			   tree *interface_type, tree *prop, bool *receiver_is_class)
+{
+  *prop = NULL_TREE;
+  *interface_type = NULL_TREE;
+  *receiver_is_class = false;
   if (objc_is_id (rtype))
     {
       tree rprotos = (TYPE_HAS_OBJC_INFO (TREE_TYPE (rtype))
-		      ? TYPE_OBJC_PROTOCOL_LIST (TREE_TYPE (rtype))
-		      : NULL_TREE);
+                      ? TYPE_OBJC_PROTOCOL_LIST (TREE_TYPE (rtype))
+                      : NULL_TREE);
       if (rprotos)
-	x = lookup_property_in_protocol_list (rprotos, component);
+        *prop = lookup_property_in_protocol_list (rprotos, component);
+      else
       /* Could be super.property */
-      else {
-        tree t = objc_get_inner_exp (receiver);
-  	if (t == UOBJC_SUPER_decl)
-	  {
-	    /* super.property */
-	    if (implementation_template
-		&& CLASS_SUPER_NAME (implementation_template))
+	{
+      	  tree t = objc_get_inner_exp (receiver);
+	  /* APPLE LOCAL begin radar 5277239 */
+	  int super = (t == UOBJC_SUPER_decl);
+	  tree class_tree = receiver_is_class_object (receiver, (t == self_decl), super);
+	  /* CLASSNAME.class_method ? */
+	  if (class_tree)
+	    {
+	      tree class_type = lookup_interface (class_tree);
+	      if (class_type)
 	      {
-		interface_type = lookup_interface (CLASS_SUPER_NAME (implementation_template));
-		if (interface_type)
-		  x = lookup_property (interface_type, component);
+	        *interface_type = class_type;
+	        *receiver_is_class = true;
 	      }
-	  }
-      }
+	    }
+	  else if (super)
+	  /* APPLE LOCAL end radar 5277239 */
+            {
+              /* super.property */
+              if (implementation_template && CLASS_SUPER_NAME (implementation_template))
+		{
+                  *interface_type = lookup_interface (CLASS_SUPER_NAME (implementation_template));
+		  if (*interface_type)
+		    *prop = lookup_property (*interface_type, component);
+		}
+            }
+	}
     }
   else
     {
-      basetype = TYPE_MAIN_VARIANT (rtype);
+      tree basetype = TYPE_MAIN_VARIANT (rtype);
       if (basetype != NULL_TREE && TREE_CODE (basetype) == POINTER_TYPE)
         basetype = TREE_TYPE (basetype);
-      else return NULL_TREE;
+      else if (check_prop_cond)
+	return NULL_TREE;
 
       while (basetype != NULL_TREE
-	     && TREE_CODE (basetype) == RECORD_TYPE && OBJC_TYPE_NAME (basetype)
+             && TREE_CODE (basetype) == RECORD_TYPE && OBJC_TYPE_NAME (basetype)
              && TREE_CODE (OBJC_TYPE_NAME (basetype)) == TYPE_DECL
              && DECL_ORIGINAL_TYPE (OBJC_TYPE_NAME (basetype)))
       basetype = DECL_ORIGINAL_TYPE (OBJC_TYPE_NAME (basetype));
       if (basetype != NULL_TREE && TYPED_OBJECT (basetype))
         {
-          interface_type = TYPE_OBJC_INTERFACE (basetype);
-	  /* Handle more user error conditions */
-	  if (!interface_type ||
-              (TREE_CODE (interface_type) != CLASS_INTERFACE_TYPE
-               &&  TREE_CODE (interface_type) != PROTOCOL_INTERFACE_TYPE
-               && TREE_CODE (interface_type) != CATEGORY_INTERFACE_TYPE))
+          *interface_type = TYPE_OBJC_INTERFACE (basetype);
+          /* Handle more user error conditions */
+          if (check_prop_cond && 
+	      (!*interface_type ||
+              (TREE_CODE (*interface_type) != CLASS_INTERFACE_TYPE
+               &&  TREE_CODE (*interface_type) != PROTOCOL_INTERFACE_TYPE
+               && TREE_CODE (*interface_type) != CATEGORY_INTERFACE_TYPE)))
 	    {
 	      /* Better error recovery */
-	      if (TREE_CODE (receiver) == CALL_EXPR
-		  && CALL_EXPR_OBJC_PROPERTY_GETTER (receiver))
-	        {
+	      if (TREE_CODE (receiver) == OBJC_PROPERTY_REFERENCE_EXPR)
+		{
 		  error ("accessing unknown %qs component of a property",
-			 IDENTIFIER_POINTER (component)); 
-		  return error_mark_node;
-	        }
-	      else
-	        return NULL_TREE;
+                         IDENTIFIER_POINTER (component));
+                  return error_mark_node;
+                }
+	      return NULL_TREE;
 	    }
-          x = lookup_property (interface_type, component);
-	  /* APPLE LOCAL begin radar 4959107 */
-	  if (!x && TYPE_OBJC_PROTOCOL_LIST (basetype))
-	    x = lookup_property_in_protocol_list (TYPE_OBJC_PROTOCOL_LIST (basetype), component);
-	  /* APPLE LOCAL end radar 4959107 */
+          *prop = lookup_property (*interface_type, component);
+          /* APPLE LOCAL begin radar 4959107 */
+          if (!*prop && TYPE_OBJC_PROTOCOL_LIST (basetype))
+            *prop = lookup_property_in_protocol_list (TYPE_OBJC_PROTOCOL_LIST (basetype), 
+						      component);
+          /* APPLE LOCAL end radar 4959107 */
         }
     }
+  return receiver;
+}
+
+/*
+  This routine builds the OBJC_PROPERTY_REFERENCE_EXPR for 
+  RECEIVER.COMPONENT which later on gets transformed into a 'getter' or 
+  'setter' call depending on its use.
+*/
+
+tree
+objc_build_property_reference_expr (tree receiver, tree component)
+{
+  tree interface_type;
+  tree rtype;
+  tree prop, prop_type, res;
+  bool receiver_is_class;
+
+  if (component == error_mark_node || component == NULL_TREE
+      || TREE_CODE (component) != IDENTIFIER_NODE)
+    return NULL_TREE;
+  if (receiver == error_mark_node || receiver == NULL_TREE
+      || (rtype = TREE_TYPE (receiver)) == NULL_TREE)
+    return NULL_TREE;
+  res = objc_property_access_info (receiver, component, rtype, true, 
+				   &interface_type, &prop, &receiver_is_class);
+  /* These are conditions for errornous property access or not a property
+     access syntax. */
+  if (res == NULL_TREE || res == error_mark_node)
+    return res;
+
+  prop_type = NULL_TREE;
+  if (prop)
+    {
+      prop_type = TREE_TYPE (prop);
+      if (PROPERTY_GETTER_NAME (prop))
+        /* If 'getter=getter_name' attribute is specified, must use the user provided
+           getter name in generating messaging call. */
+        component = PROPERTY_GETTER_NAME (prop);
+    }
+  else if (interface_type && !receiver_is_class)
+    {
+      /* type of the expression is either the property type or, if no property declared,
+	 then ivar type used in receiver.ivar expression. */
+      tree ivar = nested_ivar_lookup (interface_type, component);
+      if (ivar)
+	prop_type = TREE_TYPE (ivar);
+      else
+        {
+	  /* Try to get the type for the 'getter' declaration. */
+          tree getter = lookup_method_static (interface_type, component, 0, false, false);
+	  if (getter)
+	    prop_type = TREE_VALUE (TREE_TYPE (getter));
+        }
+    }
+  /* APPLE LOCAL begin radar 5277239 */
+  else if (interface_type)
+    {
+      /* CLASS_NAME.getter expression. Try finding a class method and, if one not found, 
+	 attach a dummy 'int' type to the expression tree (presumably because we end up 
+	 using it on the LHS of assignment only. */
+      tree getter = lookup_method_static (interface_type, component, 1, false, true);
+      prop_type = getter ? TREE_VALUE (TREE_TYPE (getter)) : integer_type_node;
+    }
+  /* APPLE LOCAL end radar 5277239 */
+
+  if (prop_type)
+    {
+      tree prop_expr = build2 (OBJC_PROPERTY_REFERENCE_EXPR, prop_type, receiver, component);
+      TREE_SIDE_EFFECTS (prop_expr) = 1;
+      return prop_expr;
+    }
+  else
+    return NULL_TREE;
+}
+
+/* This routine generates a 'getter' call tree, using the input parameters. It returns 
+   the CALL_EXPR tree or error_mark_node */
+
+static tree
+objc_build_getter_call (tree receiver, tree component)
+{
+  tree interface_type;
+  tree x;
+  bool receiver_is_class;
+  tree getter = error_mark_node;
+  tree rtype = TREE_TYPE (receiver);
+  (void)objc_property_access_info (receiver, component, rtype, false, 
+				   &interface_type, &x, &receiver_is_class);
 
   if (x)
     {
-      tree call_exp;
       /* Get the getter name. */
       gcc_assert (PROPERTY_NAME (x));
       if (PROPERTY_GETTER_NAME (x))
@@ -1527,50 +1633,31 @@
         getter = objc_finish_message_expr (receiver, PROPERTY_GETTER_NAME (x), NULL_TREE);
       else
         getter = objc_finish_message_expr (receiver, PROPERTY_NAME (x), NULL_TREE);
-      call_exp = getter;
-#ifdef OBJCPLUS
-      /* In C++, a getter which returns an aggregate value results in a target_expr
-	 which initializes a temporary to the call expression. Must accomodate
-	 for this senarion. */
-      if (TREE_CODE (getter) == TARGET_EXPR)
-	{
-	  gcc_assert (IS_AGGR_TYPE (TREE_TYPE (getter)));
-	  gcc_assert (TREE_CODE (TREE_OPERAND (getter,0)) == VAR_DECL);
-	  call_exp = TREE_OPERAND (getter,1);
-	}
-#endif
-      gcc_assert (TREE_CODE (call_exp) == CALL_EXPR);
-      TREE_VALUE (TREE_OPERAND (call_exp, 1)) = receiver;
-      CALL_EXPR_OBJC_PROPERTY_GETTER (call_exp) = 1;
-      return getter;
     }
   else if (interface_type)
     {
-      getter = lookup_method_static (interface_type, component, 0, false);
+      /* APPLE LOCAL begin radar 5277239 */
+      getter = lookup_method_static (interface_type, component, receiver_is_class, 
+				     false, receiver_is_class);
+      /* APPLE LOCAL end radar 5277239 */
       if (getter)
-	{
-	  tree call_exp;
-	  getter = objc_finish_message_expr (receiver, component, NULL_TREE);
-	  call_exp = getter;
-#ifdef OBJCPLUS
-          /* In C++, a getter which returns an aggregate value results in a target_expr
-             which initializes a temporary to the call expression. Must accomodate
-             for this senarion. */
-          if (TREE_CODE (getter) == TARGET_EXPR)
-            {
-              gcc_assert (IS_AGGR_TYPE (TREE_TYPE (getter)));
-              gcc_assert (TREE_CODE (TREE_OPERAND (getter,0)) == VAR_DECL);
-              call_exp = TREE_OPERAND (getter,1);
-            }
+#ifdef OBJCPLUS
+	getter = objc_build_message_expr (
+		   build_tree_list (receiver, 
+				    build_tree_list (component, NULL_TREE)));
+#else
+	getter = objc_build_message_expr (build_tree_list (receiver, component));
 #endif
-          gcc_assert (TREE_CODE (call_exp) == CALL_EXPR);
-          TREE_VALUE (TREE_OPERAND (call_exp, 1)) = receiver;
-          CALL_EXPR_OBJC_PROPERTY_GETTER (call_exp) = 1;
-          return getter;
+      else
+	{
+	  error ("accessing unknown %qs %s method",
+		  IDENTIFIER_POINTER (component), receiver_is_class ? "class" : "getter");
+	  getter = receiver;	/* recover */
 	}
     }
-  return NULL_TREE;
+  return getter;
 }
+/* APPLE LOCAL end radar 5285911 */
 
 /* This routine is called with PROPERTY_IDENT being the name of the getter method,
    ; user attribute specified or the default. From the getter name, it first finds 
@@ -1582,12 +1669,23 @@
 {
   tree rtype, basetype,x,class=NULL_TREE;
   tree getter_decl;
+  bool receiver_is_class = false;
   gcc_assert (receiver && TREE_TYPE (receiver));
   rtype = TREE_TYPE (receiver);
   if (objc_is_id (rtype))
     {
       tree t = objc_get_inner_exp (receiver);
-      if (t == UOBJC_SUPER_decl)
+      /* APPLE LOCAL begin radar 5277239 */
+      int super = (t == UOBJC_SUPER_decl);
+      tree class_tree = receiver_is_class_object (receiver, (t == self_decl), super);
+      /* CLASSNAME.class_method = rhs ? */
+      if (class_tree)
+        {
+          class = lookup_interface (class_tree);
+          receiver_is_class = true;
+        }
+      else if (super)
+      /* APPLE LOCAL end radar 5277239 */
 	{
 	  /* super.property */
 	  if (implementation_template
@@ -1609,7 +1707,19 @@
       class = TYPE_OBJC_INTERFACE (basetype);
     }
   gcc_assert (class);
-  getter_decl = lookup_method_static (class, property_ident, 0, true);
+  /* APPLE LOCAL begin radar 5277239 */
+  if (receiver_is_class)
+    {
+      /* Direct access of a class method using the dot syntax. 
+         Make up a 'setter' method name. */
+      char *setter_name = objc_build_property_setter_name (property_ident, true);
+      /* A class method of the given name must exist or it is error. */
+      if (!lookup_method_static (class, get_identifier (setter_name), 1, false, true))
+        error ("accessing unknown %qs class method", setter_name);
+      return setter_name; 
+    }
+  /* APPLE LOCAL end radar 5277239 */
+  getter_decl = lookup_method_static (class, property_ident, 0, true, false);
   if (getter_decl)
     {
       x = METHOD_PROPERTY_CONTEXT (getter_decl);
@@ -1696,51 +1806,12 @@
   return comma_exp;
 }
 
-/* APPLE LOCAL begin objc new property */
+/* APPLE LOCAL begin radar 5285911 */
 bool
-objc_property_call (tree expr)
+objc_property_reference_expr (tree expr)
 {
-  return (expr && TREE_CODE (expr) == CALL_EXPR 
-	  && CALL_EXPR_OBJC_PROPERTY_GETTER (expr));
-}
-/* APPLE LOCAL end objc new property */
-
-/* This routine is the new abi version of objc_build_setter_call described below.  */
-
-static tree 
-objc_v2_build_setter_call (tree lhs, tree rhs)
-{
-  tree expr = lhs;
-
-  /* APPLE LOCAL begin radar 5265737 */
-#ifdef OBJCPLUS
-  /* See comment in objc_build_getter_call for this */
-  if (TREE_CODE (expr) == TARGET_EXPR)
-    expr = TREE_OPERAND (expr, 1);
-#endif
-  /* APPLE LOCAL end radar 5265737 */
-  if (expr && TREE_CODE (expr) == CALL_EXPR
-      && CALL_EXPR_OBJC_PROPERTY_GETTER (expr))
-    {
-      tree chain;
-      tree arg = TREE_OPERAND (expr, 1);
-      tree selector_reference = TREE_VALUE (TREE_CHAIN (arg));
-      /* May have gone through type conversion of (_message_ref_t *) to
-	 (_super_message_ref_t *) for super.property = rhs statement. */
-      if (TREE_CODE (selector_reference) == NOP_EXPR)
-	selector_reference = TREE_OPERAND (selector_reference, 0);
-      gcc_assert (TREE_CODE (selector_reference) == ADDR_EXPR);
-      selector_reference = TREE_OPERAND (selector_reference, 0);
-      gcc_assert (TREE_CODE (selector_reference) == VAR_DECL);
-      for (chain = message_ref_chain; chain; chain = TREE_CHAIN (chain))
-	{
-	  if (TREE_PURPOSE (chain) == selector_reference)
-	    return objc_build_compound_setter_call (TREE_VALUE (arg),
-					  	    TREE_VALUE (TREE_CHAIN (chain)),
-						    rhs);
-	}
-    }
-  return NULL_TREE;
+  return (expr 
+	  && TREE_CODE (expr) == OBJC_PROPERTY_REFERENCE_EXPR);
 }
 
 /* This routine converts a previously synthesized 'getter' function call for
@@ -1750,35 +1821,12 @@
 tree
 objc_build_setter_call (tree lhs, tree rhs)
 {
-  tree expr;
-
-  if (flag_objc_abi == 2)
-    return objc_v2_build_setter_call (lhs, rhs);
-
-  expr = lhs;
-  /* APPLE LOCAL begin radar 5265737 */
-#ifdef OBJCPLUS
-  /* See comment in objc_build_getter_call for this */
-  if (TREE_CODE (expr) == TARGET_EXPR)
-    expr = TREE_OPERAND (expr, 1);
-#endif
-  /* APPLE LOCAL end radar 5265737 */
-  if (expr && TREE_CODE (expr) == CALL_EXPR
-      && CALL_EXPR_OBJC_PROPERTY_GETTER (expr))
-    {
-      tree chain;
-      tree arg = TREE_OPERAND (expr, 1);
-      tree selector_reference = TREE_VALUE (TREE_CHAIN (arg));
-      gcc_assert (selector_reference);
-      for (chain = sel_ref_chain; chain; chain = TREE_CHAIN (chain))
-        {
-	  if (TREE_PURPOSE (chain) == selector_reference)
-	    return objc_build_compound_setter_call (TREE_VALUE (arg),
-						    TREE_VALUE (chain), rhs);
-        }
-    }
+  if (objc_property_reference_expr (lhs))
+    return objc_build_compound_setter_call (TREE_OPERAND (lhs, 0), 
+					    TREE_OPERAND (lhs, 1), rhs);
   return NULL_TREE;
 }
+/* APPLE LOCAL end radar 5285911 */
 
 /* This routine builds the following type:
    struct _prop_t {
@@ -1976,13 +2024,61 @@
   return decl;
 }
 
-#define GC_IVAR_BUFSIZE	256
+/* APPLE LOCAL begin radar 5082000 */
+#define OUTPUT_LAYOUT_BYTE(BYTE)		  \
+	do {					  \
+	    obstack_1grow (&util_obstack, BYTE);  \
+	    if (print_objc_ivar_layout)		  \
+	      {					  \
+		if (first_nibble)		  \
+		  {		  		  \
+		    first_nibble = false;	  \
+		    printf ("\n%s for class \'%s\': ", \
+			    strong_ivar_layout ?  \
+			    "strong ivar layout" :\
+			    "weak ivar layout",   \
+			    IDENTIFIER_POINTER (CLASS_NAME (implementation_template)));  \
+		  }				  \
+		if (!(BYTE & 0xf0))		  \
+	          printf ("0x0%x%s", BYTE, BYTE != 0 ? ", " : ""); \
+		else				  \
+	          printf ("0x%x%s", BYTE, BYTE != 0 ? ", " : ""); \
+		if (++num_nibbles > 20 		  \
+		    || BYTE == 0)		  \
+		  { printf("\n"); num_nibbles=1; }\
+	      }					  \
+	} while (0);				
+
+#define GC_IVAR_BUFSIZE_INCR	256
 
 struct GC_IVAR {
   unsigned int ivar_bytepos;
   unsigned int ivar_size;
 };
 
+static struct GC_IVAR *ivar;
+static struct GC_IVAR *sk_ivar;
+struct skip_scan
+  {
+    unsigned int skip;
+    unsigned int scan;
+  };
+static struct skip_scan *skip_scan;
+static int max_layout_buf_size = 0;
+
+static void
+/* Routine for dynamic allocation of various byffers used by GC layout mapper. */
+adjust_max_layout_buf_size (int index)
+{
+  if (index < max_layout_buf_size-1)
+    return;
+  max_layout_buf_size += GC_IVAR_BUFSIZE_INCR;
+  ivar = (struct GC_IVAR*)xrealloc (ivar, sizeof(struct GC_IVAR) * max_layout_buf_size); 
+  sk_ivar = (struct GC_IVAR*)xrealloc  (sk_ivar, sizeof(struct GC_IVAR) * max_layout_buf_size); 
+  skip_scan = (struct skip_scan*)xrealloc (skip_scan, sizeof(struct GC_IVAR) * max_layout_buf_size); 
+  return;
+}
+
 static int
 ivar_bytepos_cmp (const void *a, const void *b)
 {
@@ -1996,13 +2092,34 @@
   return 0;
 }
 
+/* This routine returns total count of array elements. Returns 0 if
+   there was an error. */
+static HOST_WIDE_INT
+total_type_elements (tree type)
+{
+  HOST_WIDE_INT el_count = 1;
+  do {
+    tree telts = array_type_nelts (type);
+    if (telts && host_integerp (telts, 1))
+      el_count *= (tree_low_cst (telts, 1) + 1);
+    else
+      {
+        /* error case, reported elsewhere. */
+        el_count = 0;
+        break;
+      }
+    type = TREE_TYPE (type);
+  } while (TREE_CODE (type) == ARRAY_TYPE);
+  return el_count;
+}
+/* APPLE LOCAL end radar 5082000 */
+
 static void
 objc_build_aggregate_ivar_layout (tree aggr_type, tree field_decl,
 				  unsigned int base_byte_pos,
 				  bool strong_ivar_layout,
-				  struct GC_IVAR *ivar,
 				  int *index,
-				  struct GC_IVAR *sk_ivar, int *sk_index,
+				  int *sk_index,
 				  bool *hasUnion)
 {
   int iIndex = *index;
@@ -2046,14 +2163,62 @@
 	objc_build_aggregate_ivar_layout (type, TYPE_FIELDS (type), 
 					  base_byte_pos + int_byte_position (field_decl),
 					  strong_ivar_layout,
-					  ivar, &iIndex, 
-					  sk_ivar, &iSkIndex, 
+					  &iIndex, 
+					  &iSkIndex, 
 					  hasUnion);
 	do
 	  field_decl = TREE_CHAIN (field_decl);
 	while (field_decl && TREE_CODE (field_decl) != FIELD_DECL);
 	continue;
       }
+    /* APPLE LOCAL begin radar 5082000 */
+    else if (TREE_CODE (type) == ARRAY_TYPE)
+      {
+        tree inner = TREE_TYPE (type);
+	while (TREE_CODE (inner) == ARRAY_TYPE)
+	  inner = TREE_TYPE (inner);
+        if (TREE_CODE (inner) == UNION_TYPE)
+	  error ("Layout for array of unions not supported");
+        else if (TREE_CODE (inner) == RECORD_TYPE)
+	  {
+	    HOST_WIDE_INT el_count = total_type_elements (type);
+	    HOST_WIDE_INT el_ix;
+	    int old_iIndex = iIndex, old_iSkIndex = iSkIndex;
+	    int first_iIndex, first_iSkIndex;
+	    objc_build_aggregate_ivar_layout (inner, TYPE_FIELDS (inner), 
+					      base_byte_pos + int_byte_position (field_decl),
+					      strong_ivar_layout,
+					      &iIndex, 
+					      &iSkIndex, 
+					      hasUnion);
+	    /* Replicate layout information for each array element. Note that
+	       one element is already done. */
+	    first_iIndex = iIndex;
+	    first_iSkIndex = iSkIndex;
+	    for (el_ix = 1; el_ix < el_count; el_ix++)
+	      {
+		int i;
+		int size = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (inner));
+		for (i = old_iIndex+1; i <= first_iIndex; ++i)
+		  {
+		    adjust_max_layout_buf_size (iIndex);
+		    ivar[++iIndex].ivar_bytepos = ivar[i].ivar_bytepos + size*el_ix;
+		    ivar[iIndex].ivar_size = ivar[i].ivar_size;
+		  }
+		for (i = old_iSkIndex+1; i <= first_iSkIndex; ++i)
+		  {
+		    adjust_max_layout_buf_size (iSkIndex);
+		    sk_ivar[++iSkIndex].ivar_bytepos = sk_ivar[i].ivar_bytepos + size*el_ix;
+		    sk_ivar[iSkIndex].ivar_size = sk_ivar[i].ivar_size;
+		  }
+	      }
+	    do
+	      field_decl = TREE_CHAIN (field_decl);
+	    while (field_decl && TREE_CODE (field_decl) != FIELD_DECL);
+	    continue;
+	  }	
+      }
+    /* APPLE LOCAL end radar 5082000 */
 
     strong = 0;
     do
@@ -2085,7 +2250,7 @@
 	  }
 	else
 	  {  
-            gcc_assert (iIndex < GC_IVAR_BUFSIZE-1);
+	    adjust_max_layout_buf_size (iIndex);
             ivar[++iIndex].ivar_bytepos = base_byte_pos + int_byte_position (field_decl);
             ivar[iIndex].ivar_size = TREE_INT_CST_LOW (DECL_SIZE_UNIT (field_decl))
                                      / GET_MODE_SIZE (Pmode);
@@ -2105,7 +2270,7 @@
 	  }
 	else
 	  {  
-            gcc_assert (iSkIndex < GC_IVAR_BUFSIZE-1);
+	    adjust_max_layout_buf_size (iSkIndex);
             sk_ivar[++iSkIndex].ivar_bytepos = base_byte_pos + int_byte_position (field_decl);
             sk_ivar[iSkIndex].ivar_size = TREE_INT_CST_LOW (DECL_SIZE_UNIT (field_decl));
 	  }
@@ -2118,13 +2283,13 @@
   while (field_decl);
   if (max_field_decl)
     {
-      gcc_assert (iIndex < GC_IVAR_BUFSIZE-1);
+      adjust_max_layout_buf_size (iIndex);
       ivar[++iIndex].ivar_bytepos = base_byte_pos + int_byte_position (max_field_decl);
       ivar[iIndex].ivar_size = max_gc_union_ivar_size;
     }
   if (max_sk_field_decl)
     {
-      gcc_assert (iSkIndex < GC_IVAR_BUFSIZE-1);
+      adjust_max_layout_buf_size (iSkIndex);
       sk_ivar[++iSkIndex].ivar_bytepos = base_byte_pos + int_byte_position (max_sk_field_decl);
       sk_ivar[iSkIndex].ivar_size = max_sk_union_ivar_size;
     }
@@ -2154,21 +2319,16 @@
 objc_build_ivar_layout (bool strong_ivar_layout)
 {
   tree field_decl;
-  struct GC_IVAR ivar [GC_IVAR_BUFSIZE];
-  struct GC_IVAR sk_ivar [GC_IVAR_BUFSIZE];
   unsigned int words_to_skip, words_to_scan;
   int i;
   int iIndex = -1;
   int iSkIndex = -1;
-  struct skip_scan
-    {
-      unsigned int skip;
-      unsigned int scan;
-    } skip_scan [GC_IVAR_BUFSIZE];
   int iSkip_scan;
   unsigned char byte;
   const char *string;
   bool hasUnion, bytesSkipped;
+  int num_nibbles = 0;
+  bool first_nibble = true;
 
   if (!flag_objc_gc || !implementation_template)
     return NULL_TREE;
@@ -2190,8 +2350,13 @@
     return NULL_TREE;
 
   hasUnion = false;
+  if (max_layout_buf_size == 0)
+    {
+      gcc_assert (ivar == NULL && sk_ivar == NULL && skip_scan == NULL);
+      adjust_max_layout_buf_size (GC_IVAR_BUFSIZE_INCR);
+    }
   objc_build_aggregate_ivar_layout (NULL_TREE, field_decl, 0, strong_ivar_layout, 
-				    ivar, &iIndex, sk_ivar, &iSkIndex, &hasUnion);
+				    &iIndex, &iSkIndex, &hasUnion);
 
   if (iIndex == -1)
     {
@@ -2210,11 +2375,6 @@
   /* Now build the string of skip/scan nibbles */
   /* Initialization */
   iSkip_scan = -1;
-  bytesSkipped = false;
-  if (iSkIndex >= 0)
-    bytesSkipped = ((sk_ivar[iSkIndex].ivar_bytepos + 
-		     sk_ivar[iSkIndex].ivar_size) > 
-		    (ivar[iIndex].ivar_bytepos + ivar[iIndex].ivar_size * GET_MODE_SIZE (Pmode)));
 
   if (ivar[0].ivar_bytepos == 0)
     {
@@ -2243,7 +2403,7 @@
 	    continue;
 	  /* Must skip over 1 or more words. We save current skip/scan values
 	     and start a new pair. */
-	  gcc_assert (iSkip_scan < GC_IVAR_BUFSIZE-1);
+	  adjust_max_layout_buf_size (iSkip_scan);
 	  skip_scan[++iSkip_scan].skip = words_to_skip;
 	  skip_scan[iSkip_scan].scan = words_to_scan;
 	  /* APPLE LOCAL begin radar 5109807 */
@@ -2258,11 +2418,49 @@
     }
   if (words_to_scan > 0)
     {
-      gcc_assert (iSkip_scan < GC_IVAR_BUFSIZE-1);
+      adjust_max_layout_buf_size (iSkip_scan);
       skip_scan[++iSkip_scan].skip = words_to_skip;
       skip_scan[iSkip_scan].scan = words_to_scan;
     }
+  /* APPLE LOCAL begin radar 5251019 */
+  bytesSkipped = false;
+  if (iSkIndex >= 0)
+    {
+      int lastByteSkipped = sk_ivar[iSkIndex].ivar_bytepos + sk_ivar[iSkIndex].ivar_size;
+      int lastByteScanned = ivar[iIndex].ivar_bytepos + ivar[iIndex].ivar_size * GET_MODE_SIZE (Pmode);
+      bytesSkipped = (lastByteSkipped > lastByteScanned);
+      /* Compute number of bytes to skip at the tail end of the last ivar scanned. */
+      if (bytesSkipped)
+        {
+          unsigned int totalWord = (lastByteSkipped + (GET_MODE_SIZE (Pmode) -1))
+                                   / GET_MODE_SIZE (Pmode);
+          adjust_max_layout_buf_size (iSkip_scan);
+          skip_scan[++iSkip_scan].skip = totalWord - (lastByteScanned / GET_MODE_SIZE (Pmode));
+          skip_scan[iSkip_scan].scan = 0;
+        }
+    }
+  /* APPLE LOCAL end radar 5251019 */
  
+  /* APPLE LOCAL begin radar 5259868 */
+  /* Mini optimization of nibbles such that an 0xM0 followed by 0x0N is produced
+     as 0xMN. */
+  for (i = 0; i <= iSkip_scan; i++)
+    {
+      if (i < iSkip_scan)
+	{
+	  if (skip_scan[i].skip && skip_scan[i].scan == 0
+	      && skip_scan[i+1].skip == 0 && skip_scan[i+1].scan)
+	    {
+	      /* 0xM0 followed by 0x0N detected. */
+	      int j;
+	      skip_scan[i].scan = skip_scan[i+1].scan;
+	      for (j = i+1; j < iSkip_scan; j++)
+		skip_scan[j] = skip_scan[j+1];
+	      --iSkip_scan;
+	    }
+	} 
+    }
+  /* APPLE LOCAL end radar 5259868 */
   /* Now generate the string */
   for (i = 0; i <= iSkip_scan; i++)
     {
@@ -2276,7 +2474,7 @@
       /* APPLE LOCAL begin radar 5217964 */
       /* first skip big. */
       for (ix = 0; ix < skip_big; ix++)
-	obstack_1grow (&util_obstack, 0xf0);
+        OUTPUT_LAYOUT_BYTE (0xf0);
 
       /* next (skip small, scan) */
       if (skip_small)
@@ -2292,20 +2490,20 @@
 	      byte |= scan_small;
 	      scan_small = 0;
 	    }
-          obstack_1grow (&util_obstack, byte);
+	  OUTPUT_LAYOUT_BYTE (byte);
 	}
       /* next scan big */
       for (ix = 0; ix < scan_big; ix++)
-	obstack_1grow (&util_obstack, 0x0f);
+	OUTPUT_LAYOUT_BYTE (0x0f);
       /* last scan small */
       if (scan_small)
 	{
 	  byte = scan_small; 
-          obstack_1grow (&util_obstack, byte);
+	  OUTPUT_LAYOUT_BYTE (byte);
 	}
        /* APPLE LOCAL end radar 5217964 */
     }
-  obstack_1grow (&util_obstack, 0);    /* null terminate string */
+  OUTPUT_LAYOUT_BYTE (0);  /* null terminate string */
   string = obstack_finish (&util_obstack);
   obstack_free (&util_obstack, util_firstobj);
   /* if ivar_layout bitmap is all 1 bits (nothing skipped) then use NULL as
@@ -6117,9 +6315,8 @@
   while (type);
 
   return 0;
-  /* APPLE LOCAL end ObjC GC */
 }
-
+/* APPLE LOCAL end ObjC GC */
 /* APPLE LOCAL begin radar 4982951 */
 /* This routine retrievs the outervar of the objc2 tree EXPR representing address of an ivar.
    Tree EXPR is in the form of ((*typeof ivar)(OUTERVAR + OBJC2_IVAR_OFFSET_VAR)).
@@ -6153,7 +6350,7 @@
   /* Finally: *(ftype*)((char*)newoutervar + offset) */
   expr = build_indirect_ref (expr, "unary *");
   return expr;
-}
+}	/* This comment appeases the checklocal daemon.  */
 /* APPLE LOCAL end radar 4982951 */
 
 static tree
@@ -6260,86 +6457,44 @@
   expr = convert (build_pointer_type (objc_object_type), expr);
   func_params = tree_cons (NULL_TREE, expr, NULL_TREE);
 
-/* APPLE LOCAL end radar 4591756 */
   assemble_external (objc_read_weak_decl);
   return build_function_call (objc_read_weak_decl, func_params);
 }
+/* APPLE LOCAL end radar 4591756 */
 
-/* Main routine to decide if a call to objc_read_weak must be generated.
-   If so, it generates call to id objc_read_weak (id) for such __weak objects.  */
-
-tree
-objc_generate_weak_read (tree expr)
+/* APPLE LOCAL begin radar 5276085 */
+/* Return TRUE if EXPR is a 'weak' expression */
+static bool
+objc_tree_is_weak_expr (tree expr)
 {
-  tree t;
-  int strong;
-
-/* APPLE LOCAL begin radar 4486614 */
 #ifdef OBJCPLUS
   if (processing_template_decl)
-    return expr;
+    return false;
 #endif
-/* APPLE LOCAL end radar 4486614 */
-  if (skip_evaluation || TREE_TYPE (expr) == NULL_TREE)
-    return expr;
-
-  strong = objc_is_gcable_p (expr);
-  if (strong != -1)
-    return expr;
-  /* Don't generate the call if it is already done once. */
-  t = expr;
-  STRIP_NOPS(t);
-  while (t && TREE_CODE (t) == NOP_EXPR)
-    t = TREE_OPERAND (t,0);
-  if (t && TREE_CODE (t) == CALL_EXPR)
-    {
-      tree addr = TREE_OPERAND (t, 0);
-      STRIP_NOPS (addr);
-      if (TREE_CODE (addr) == ADDR_EXPR
-          && TREE_OPERAND (addr, 0) == objc_read_weak_decl)
-	return expr;
-    } 
-  /* Also, never generate the call for an assignment used in an expression. */
-  if (t && TREE_CODE (t) == MODIFY_EXPR)
-    return expr;
-
-  t = TREE_TYPE (expr);
-  expr = objc_build_weak_read (expr);
-  expr = convert (t, expr);
-  return expr;
+  if (skip_evaluation || TREE_CODE (expr) == OBJC_WEAK_REFERENCE_EXPR
+      || TREE_TYPE (expr) == NULL_TREE)
+    return false;
+
+  return (objc_is_gcable_p (expr) == -1);
 }
 
-/* Routine to remove call to objc_read_weak and replacing it with its 
-   only argument.  */
+/* This routine builds a tree referencing the 'weak' object pointer expression */
+tree
+objc_build_weak_reference_tree (tree expr)
+{
+  return objc_tree_is_weak_expr (expr) ?
+         build1 (OBJC_WEAK_REFERENCE_EXPR, TREE_TYPE (expr), expr) : expr;
+}
 
-void 
-objc_remove_weak_read (tree *ref)
+/* Return 'weak' reference object pointer expression */
+void
+objc_weak_reference_expr (tree *ref)
 {
   tree expr = *ref;
-  tree t = TREE_TYPE (expr);
-  
-  while (expr && TREE_CODE (expr) == NOP_EXPR)
-    expr = TREE_OPERAND (expr, 0);
-  if (expr && TREE_CODE (expr) == CALL_EXPR)
-    {
-      tree addr = TREE_OPERAND (expr, 0);
-      STRIP_NOPS (addr);
-      if (TREE_CODE (addr) == ADDR_EXPR
-	  && TREE_OPERAND (addr, 0) == objc_read_weak_decl)
-	{
-	  tree arg = TREE_OPERAND (expr, 1);
-	  expr = TREE_VALUE (arg);
-	  /* APPLE LOCAL radar 4591756 */
-	  expr = build_indirect_ref (expr, "unary *");
-	  /* When call to 'id objc_read_weak(id)' was initially generated,
-	     argument to call was typecast to objc_object_type. Here we need 
-	     to typecast the argument back to its original type to preserve 
-	     its type. */
-          *ref = expr;
-          TREE_TYPE (*ref) = t;
-	}
-    }
+  if (expr && TREE_CODE (expr) == OBJC_WEAK_REFERENCE_EXPR)
+    *ref = TREE_OPERAND (expr, 0);
 }
+/* APPLE LOCAL end radar 5276085 */
 /* APPLE LOCAL end radar 4426814 */
 
 
@@ -6384,6 +6539,75 @@
 
 /* APPLE LOCAL end radar 4592503 */
 
+/* APPLE LOCAL begin radar 3742561 */
+/* This routine build a call to void *objc_memmove_collectable (&LHS, &RHS, sizeof(TYPE))
+*/
+static tree
+objc_build_memmove_collectable (tree lhs, tree rhs, tree type)
+{
+  tree arg1 = convert (ptr_type_node, build_unary_op (ADDR_EXPR, lhs, 1));
+  tree arg2 = convert (ptr_type_node, build_unary_op (ADDR_EXPR, rhs, 1));
+  int size = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (type));
+  tree arg3 = build_int_cst (NULL_TREE, size);
+  tree func_params = tree_cons (NULL_TREE, arg1,
+		       tree_cons (NULL_TREE, arg2,
+		         tree_cons (NULL_TREE, arg3, NULL_TREE)));
+  assemble_external (objc_memmove_collectable_decl);
+  return build_function_call (objc_memmove_collectable_decl, func_params);  
+}
+
+/* Check aggregate type and return 1 if it contains a field of object pointer type or one
+   whose pointer type is '__strong'. */
+
+static int
+objc_aggr_type_strong (tree aggr_type)
+{
+  tree  fieldlist, field_decl;
+
+  if (!flag_objc_gc && !flag_objc_gc_only)
+    return 0;
+
+  gcc_assert (TREE_CODE (aggr_type) == RECORD_TYPE 
+	      || TREE_CODE (aggr_type) == UNION_TYPE);
+
+  fieldlist = TYPE_FIELDS (aggr_type);
+
+  for (field_decl = fieldlist; field_decl; field_decl = TREE_CHAIN (field_decl))
+  {
+    if (TREE_TYPE (field_decl) == error_mark_node)
+      continue;
+
+    if (field_decl && TREE_CODE (field_decl) == FIELD_DECL
+        && DECL_NAME (field_decl) && !DECL_BIT_FIELD_TYPE (field_decl)
+#ifdef OBJCPLUS
+        && !TREE_STATIC (field_decl)
+#endif
+       )
+    {
+      tree field_type = TREE_TYPE (field_decl);
+      if (TREE_CODE (field_type) == ARRAY_TYPE)
+        {
+	  /* Get element type of the array. */
+	  field_type = TREE_TYPE (field_type);
+	  while (TREE_CODE (field_type) == ARRAY_TYPE)
+	    field_type = TREE_TYPE (field_type);
+        }
+      if (TREE_CODE (field_type) == RECORD_TYPE || TREE_CODE (field_type) == UNION_TYPE)
+	{
+	  if (objc_aggr_type_strong (field_type))
+	    return 1;
+	  else
+	    continue;
+	}
+      if (objc_is_gcable_type (field_type) == 1)
+	return 1;
+      continue;
+    }
+  }
+  return 0;
+}
+/* APPLE LOCAL end radar 3742561 */
+
 /* APPLE LOCAL begin ObjC GC */
 /* Return 1 if EXPR is marked with the __strong attribute, -1 if it is marked
    with the __weak attribute, and 0 if it is marked with neither (regardless
@@ -6516,6 +6740,15 @@
   /* APPLE LOCAL radar 4426814 */
   int strong;
   bool objc2_ivar_ref;
+  /* APPLE LOCAL begin radar 3742561 */
+  tree lhs_type = TREE_TYPE (lhs);
+  if (TREE_CODE (lhs_type) == RECORD_TYPE || TREE_CODE (lhs_type) == UNION_TYPE)
+    {
+      strong = objc_aggr_type_strong (lhs_type);
+      return strong ? objc_build_memmove_collectable (lhs, rhs, lhs_type) 
+		    : NULL_TREE;
+    }
+  /* APPLE LOCAL end radar 3742561 */
 
   /* the lhs must be of a suitable type, regardless of its underlying
      structure.  Furthermore, __weak must not have been used.  */
@@ -6527,13 +6760,11 @@
      unless the user is attempting to perform pointer arithmetic.  */
   /* APPLE LOCAL radar 4291099 */
   if (modifycode != NOP_EXPR && modifycode != INIT_EXPR)
-  /* APPLE LOCAL end ObjC GC */
     {
-      /* APPLE LOCAL begin ObjC GC */
       warning (0, "pointer arithmetic for garbage-collected objects not allowed");
       return NULL_TREE;
-      /* APPLE LOCAL end ObjC GC */
     }
+  /* APPLE LOCAL end ObjC GC */
   /* APPLE LOCAL radar 4291099 */
   gcc_assert (modifycode != INIT_EXPR || c_dialect_cxx ());
 
@@ -7314,10 +7545,8 @@
 	  && strverscmp (darwin_macosx_version_min, "10.3") < 0)
 	warning (0, "Mac OS X version 10.3 or later is needed instead of %s for objc/obj-c++ exceptions",
 	         darwin_macosx_version_min);
-  /* APPLE LOCAL end radar 4590191 */
-      /* APPLE LOCAL radar 4512786. */
-      /* code removed */
     }
+  /* APPLE LOCAL end radar 4590191 */
  /* APPLE LOCAL begin radar 2848255 */
   else if (flag_objc_zerocost_exceptions)
     {
@@ -8061,6 +8290,17 @@
   objc_read_weak_decl
 	= builtin_function (TAG_READ_WEAK, temp_type, 0, NOT_BUILT_IN, NULL, NULL_TREE);
   /* APPLE LOCAL end radar 4426814 */
+  /* APPLE LOCAL begin radar 3742561 */
+  /* void *objc_memmove_collectable(void *dst, const void *src, size_t size) */
+  temp_type = build_function_type (ptr_type_node,
+				     tree_cons (NULL_TREE, ptr_type_node,
+				       tree_cons (NULL_TREE, ptr_type_node,
+				         tree_cons (NULL_TREE, long_unsigned_type_node, 
+						    OBJC_VOID_AT_END))));
+  objc_memmove_collectable_decl
+	= builtin_function (TAG_MEMMOVE_COLLECTABLE, temp_type, 0, 
+			    NOT_BUILT_IN, NULL, NULL_TREE);
+  /* APPLE LOCAL end radar 3742561 */
 }
 
 static void
@@ -11560,7 +11800,11 @@
   /* Compute instanceStart */
   gcc_assert (CLASS_TYPE (implementation_template));
   field = TYPE_FIELDS (CLASS_TYPE (implementation_template));
-  if (my_super_id && field && TREE_CHAIN (field))
+  /* APPLE LOCAL begin radar 5333233 */
+  /* If class has no ivar, 'field' remains the super class hidden field. */
+  if (UOBJC_V2_INSTANCE_VARIABLES_decl 
+      && my_super_id && field && TREE_CHAIN (field))
+  /* APPLE LOCAL end radar 5333233 */
     field = TREE_CHAIN (field);
 
   firstIvar = field;
@@ -12426,7 +12670,7 @@
 	     superclasses). */
 	  method_prototype
 	    /* APPLE LOCAL objc new property */
-	    = lookup_method_static (rtype, sel_name, class_tree != NULL_TREE, false);
+	    = lookup_method_static (rtype, sel_name, class_tree != NULL_TREE, false, false);
 
 	  /* If the method was not found in the @interface, it may still
 	     exist locally as part of the @implementation.  */
@@ -13427,7 +13671,9 @@
 
 static tree
 /* APPLE LOCAL objc new property */
-lookup_method_static (tree interface, tree ident, int flags, bool property_lookup)
+lookup_method_static (tree interface, tree ident, int flags, bool property_lookup,
+/* APPLE LOCAL radar 5277239 */
+		      bool class_method_only)
 {
   tree meth = NULL_TREE, root_inter = NULL_TREE;
   tree inter = interface;
@@ -13495,8 +13741,11 @@
      method of the same name exists in the root class.  This is what
      the Objective-C runtime will do.  If an instance method was not
      found, return 0.  */
+  /* APPLE LOCAL begin radar 5277239 */
   /* APPLE LOCAL objc new property */
-  return is_class ? lookup_method_static (root_inter, ident, 0, property_lookup): NULL_TREE;
+  return (is_class && !class_method_only) 
+	   ? lookup_method_static (root_inter, ident, 0, property_lookup, false): NULL_TREE;
+  /* APPLE LOCAL end radar 5277239 */
 }
 
 /* Add the method to the hash list if it doesn't contain an identical
@@ -14860,7 +15109,8 @@
 
   if (ret_val)
     {
-      ret_val = objc_generate_weak_read (ret_val);
+      /* APPLE LOCAL radar 5276085 */
+      ret_val = objc_build_weak_reference_tree (ret_val);
 #ifdef OBJCPLUS
       finish_return_stmt (ret_val);
 #else
@@ -15070,7 +15320,8 @@
 
   if (ret_val)
     {
-      ret_val = objc_generate_weak_read (ret_val);
+      /* APPLE LOCAL radar 5276085 */
+      ret_val = objc_build_weak_reference_tree (ret_val);
 #ifdef OBJCPLUS
       finish_return_stmt (ret_val);
 #else
@@ -15629,14 +15880,17 @@
 		      /* Issue error if setter name matches a property name. */
 		      for (prop = CLASS_PROPERTY_DECL (class); prop; prop = TREE_CHAIN (prop))
 			{
-			  const char *string = IDENTIFIER_POINTER (PROPERTY_NAME (prop));
-			  if (!strncmp (IDENTIFIER_POINTER (PROPERTY_SETTER_NAME (x)), string,
-			      strlen (IDENTIFIER_POINTER (PROPERTY_SETTER_NAME (x))) -1 ))
+			  /* APPLE LOCAL begin radar 5338634 */
+			  const char *property_name = IDENTIFIER_POINTER (PROPERTY_NAME (prop));
+			  const char *setter_name = IDENTIFIER_POINTER (PROPERTY_SETTER_NAME (x));
+			  size_t len = strlen (setter_name) - 1;
+			  if (strlen (property_name) == len  && !strncmp (setter_name, property_name, len))
 			    {
 			      error ("setter name %qs matches property %qs name", 
-				     IDENTIFIER_POINTER (PROPERTY_SETTER_NAME (x)), string);
+				     setter_name, property_name);
 			      break;
 			    }
+			  /* APPLE LOCAL end radar 5338634 */
 			}
 		    }
 		  else
@@ -16768,7 +17022,7 @@
 				METHOD_SEL_NAME (method),
 				((TREE_CODE (method) == CLASS_METHOD_DECL)
 				 /* APPLE LOCAL objc new property */
-				 | OBJC_LOOKUP_NO_SUPER), false);
+				 | OBJC_LOOKUP_NO_SUPER), false, false);
 
       if (proto)
 	{
@@ -17868,6 +18122,21 @@
 
       return MIN (r0, r1);
     }
+  /* APPLE LOCAL begin radar 5276085 */
+  else if (TREE_CODE (*expr_p) == OBJC_WEAK_REFERENCE_EXPR)
+    {
+      tree expr = TREE_OPERAND (*expr_p, 0);
+      tree t = TREE_TYPE (expr);
+      expr = objc_build_weak_read (expr);
+      expr = convert (t, expr);
+      *expr_p = expr;
+    }
+  /* APPLE LOCAL end radar 5276085 */
+  /* APPLE LOCAL begin radar 5285911 */
+  else if (objc_property_reference_expr (*expr_p))
+    *expr_p = objc_build_getter_call (TREE_OPERAND (*expr_p, 0), 
+				      TREE_OPERAND (*expr_p, 1));
+  /* APPLE LOCAL end radar 5285911 */
 
 #ifdef OBJCPLUS
   return cp_gimplify_expr (expr_p, pre_p, post_p);
@@ -18319,70 +18588,30 @@
   return build_compound_expr (comma_exp, temp);
 }
 
-/* This is objc2 version of objc_build_incr_decr_setter_call. */
-
-static tree
-objc_v2_build_incr_decl_setter_call (enum tree_code code, tree lhs, tree inc)
-{
-  tree expr = lhs;
-
-  if (expr && TREE_CODE (expr) == CALL_EXPR
-      && CALL_EXPR_OBJC_PROPERTY_GETTER (expr))
-    {
-      tree chain;
-      tree arg = TREE_OPERAND (expr, 1);
-      tree selector_reference = TREE_VALUE (TREE_CHAIN (arg));
-      gcc_assert (TREE_CODE (selector_reference) == ADDR_EXPR);
-      selector_reference = TREE_OPERAND (selector_reference, 0);
-      gcc_assert (TREE_CODE (selector_reference) == VAR_DECL);
-      for (chain = message_ref_chain; chain; chain = TREE_CHAIN (chain))
-        {
-          if (TREE_PURPOSE (chain) == selector_reference)
-            return objc_build_compound_incr_decr_setter_call (
-		     TREE_VALUE (arg), TREE_VALUE (TREE_CHAIN (chain)),
-		     code, lhs, inc);
-        }
-    } 
-  return NULL_TREE; 
-}
-
-
+/* APPLE LOCAL begin radar 5285911 */
 /*
    global main routine to build property's version of pre/post incr/decr
    expression tree.
 
    CODE is one of POSTINCREMENT_EXPR (prop++), POSTDECREMENT_EXPR (prop--),
    PREINCREMENT_EXPR (++prop), PREDECREMENT_EXPR (--prop).
-   LHS is the property in the form of a property getter call.
+   LHS is the property in the form of OBJC_PROPERTY_REFERENCE_EXPR tree.
    INC is the amount property is incrmented or decremented by.
 */
 
 tree
 objc_build_incr_decr_setter_call (enum tree_code code, tree lhs, tree inc)
 {
-  tree expr;
-
-  if (flag_objc_abi == 2)
-    return objc_v2_build_incr_decl_setter_call (code, lhs, inc);
-  
-  expr = lhs;
-  if (expr && TREE_CODE (expr) == CALL_EXPR
-      && CALL_EXPR_OBJC_PROPERTY_GETTER (expr))
-    {
-      tree chain;
-      tree arg = TREE_OPERAND (expr, 1);
-      tree selector_reference = TREE_VALUE (TREE_CHAIN (arg));
-      gcc_assert (selector_reference);
-      for (chain = sel_ref_chain; chain; chain = TREE_CHAIN (chain))
-        {
-          if (TREE_PURPOSE (chain) == selector_reference)
-            return objc_build_compound_incr_decr_setter_call 
-		     (TREE_VALUE (arg), TREE_VALUE (chain), code, lhs, inc);
-        }
+  if (objc_property_reference_expr (lhs))
+    {
+      tree expr = objc_build_getter_call (TREE_OPERAND (lhs, 0), TREE_OPERAND (lhs, 1));
+      return objc_build_compound_incr_decr_setter_call 
+	       (TREE_OPERAND (lhs, 0), TREE_OPERAND (lhs, 1), code, expr, inc);
     }
   return NULL_TREE;
 
 }
+/* APPLE LOCAL end radar 5285911 */
 
 /* APPLE LOCAL begin radar 5040740 */
 /* This routine looks up the PROPERTY in the INTERFACE_TYPE class or one of its
@@ -18635,4 +18864,25 @@
   return p && !strncmp (p, "_OBJC_", 6);
 }
 /* APPLE LOCAL end radar 5202926 */
+
+/* APPLE LOCAL begin radar 5355344 */
+/* Checks that list has nothing but protocols; returns TRUE or FALSE accordingly.
+*/
+
+bool
+cp_objc_protocol_id_list (tree protocols)
+{
+  tree proto;
+  if (!protocols)
+    return false;
+  for (proto = protocols; proto; proto = TREE_CHAIN (proto))
+    {
+      tree ident = TREE_VALUE (proto);
+      tree p = lookup_protocol (ident);
+      if (!p)
+        return false;
+    }
+  return true;
+}
+/* APPLE LOCAL end radar 5355344 */
 #include "gt-objc-objc-act.h"

Modified: llvm-gcc-4.2/trunk/gcc/objc/objc-act.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/objc-act.h?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/objc-act.h (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/objc-act.h Thu Aug  2 20:00:37 2007
@@ -37,6 +37,8 @@
 extern void emit_instantiate_pending_templates (location_t *);
 /* APPLE LOCAL radar 4291785 */
 void objc_detect_field_duplicates (tree);
+/* APPLE LOCAL radar 5355344 */
+bool cp_objc_protocol_id_list (tree);
 
 /* NB: The remaining public functions are prototyped in c-common.h, for the
    benefit of stub-objc.c and objc-act.c.  */
@@ -370,6 +372,8 @@
      /* removed OCTI_ASSIGN_IVAR_FAST_DECL */
     OCTI_ASSIGN_GLOBAL_DECL,
     OCTI_ASSIGN_STRONGCAST_DECL,
+    /* APPLE LOCAL radar 3742561 */
+    OCTI_MEMMOVE_DECL,
     /* APPLE LOCAL begin radar 4426814 */
     OCTI_ASSIGN_WEAK_DECL,
     OCTI_READ_WEAK_DECL,
@@ -598,6 +602,8 @@
 #define objc_assign_global_decl	objc_global_trees[OCTI_ASSIGN_GLOBAL_DECL]
 #define objc_assign_strong_cast_decl		\
 				objc_global_trees[OCTI_ASSIGN_STRONGCAST_DECL]
+/* APPLE LOCAL radar 3742561 */
+#define objc_memmove_collectable_decl objc_global_trees[OCTI_MEMMOVE_DECL]
 
 /* APPLE LOCAL begin radar 4426814 */
 #define objc_assign_weak_decl	objc_global_trees[OCTI_ASSIGN_WEAK_DECL]

Modified: llvm-gcc-4.2/trunk/gcc/objc/objc-tree.def
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objc/objc-tree.def?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objc/objc-tree.def (original)
+++ llvm-gcc-4.2/trunk/gcc/objc/objc-tree.def Thu Aug  2 20:00:37 2007
@@ -43,6 +43,10 @@
 /* Objective-C expressions.  */
 DEFTREECODE (MESSAGE_SEND_EXPR, "message_send_expr", tcc_expression, 3)
 DEFTREECODE (CLASS_REFERENCE_EXPR, "class_reference_expr", tcc_expression, 1)
+/* APPLE LOCAL radar 5276085 */
+DEFTREECODE (OBJC_WEAK_REFERENCE_EXPR, "weak_object_reference_expr", tcc_expression, 1)
+/* APPLE LOCAL radar 5285911 */
+DEFTREECODE (OBJC_PROPERTY_REFERENCE_EXPR, "property_reference_expr", tcc_expression, 2)
 
 /*
 Local variables:

Modified: llvm-gcc-4.2/trunk/gcc/objcp/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/objcp/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/objcp/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/gcc/objcp/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,7 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
 2007-05-13  Release Manager
 
 	* GCC 4.2.0 released.

Modified: llvm-gcc-4.2/trunk/gcc/omp-low.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/omp-low.c?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/omp-low.c (original)
+++ llvm-gcc-4.2/trunk/gcc/omp-low.c Thu Aug  2 20:00:37 2007
@@ -384,9 +384,12 @@
 
   if (single_succ (par_entry_bb) == ws_entry_bb
       && single_succ (ws_exit_bb) == par_exit_bb
-      && workshare_safe_to_combine_p (par_entry_bb, ws_entry_bb))
+      && workshare_safe_to_combine_p (par_entry_bb, ws_entry_bb)
+      && (OMP_PARALLEL_COMBINED (last_stmt (par_entry_bb))
+	  || (last_and_only_stmt (ws_entry_bb)
+	      && last_and_only_stmt (par_exit_bb))))
     {
-      tree ws_stmt = last_stmt (region->inner->entry);
+      tree ws_stmt = last_stmt (ws_entry_bb);
 
       if (region->inner->type == OMP_FOR)
 	{
@@ -1505,9 +1508,9 @@
   for (up = ctx->outer, t = NULL; up && t == NULL; up = up->outer)
     t = maybe_lookup_decl (decl, up);
 
-  gcc_assert (t);
+  gcc_assert (t || is_global_var (decl));
 
-  return t;
+  return t ? t : decl;
 }
 
 
@@ -4119,6 +4122,28 @@
   *stmt_p = new_stmt;
 }
 
+/* Callback for walk_stmts.  Check if *TP only contains OMP_FOR
+   or OMP_PARALLEL.  */
+
+static tree
+check_combined_parallel (tree *tp, int *walk_subtrees, void *data)
+{
+  struct walk_stmt_info *wi = data;
+  int *info = wi->info;
+
+  *walk_subtrees = 0;
+  switch (TREE_CODE (*tp))
+    {
+    case OMP_FOR:
+    case OMP_SECTIONS:
+      *info = *info == 0 ? 1 : -1;
+      break;
+    default:
+      *info = -1;
+      break;
+    }
+  return NULL;
+}
 
 /* Lower the OpenMP parallel directive in *STMT_P.  CTX holds context
    information for the directive.  */
@@ -4136,6 +4161,19 @@
   par_bind = OMP_PARALLEL_BODY (stmt);
   par_body = BIND_EXPR_BODY (par_bind);
   child_fn = ctx->cb.dst_fn;
+  if (!OMP_PARALLEL_COMBINED (stmt))
+    {
+      struct walk_stmt_info wi;
+      int ws_num = 0;
+
+      memset (&wi, 0, sizeof (wi));
+      wi.callback = check_combined_parallel;
+      wi.info = &ws_num;
+      wi.val_only = true;
+      walk_stmts (&wi, &par_bind);
+      if (ws_num == 1)
+	OMP_PARALLEL_COMBINED (stmt) = 1;
+    }
 
   push_gimplify_context ();
 

Modified: llvm-gcc-4.2/trunk/gcc/po/ChangeLog
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/po/ChangeLog?rev=40773&r1=40772&r2=40773&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/po/ChangeLog (original)
+++ llvm-gcc-4.2/trunk/gcc/po/ChangeLog Thu Aug  2 20:00:37 2007
@@ -1,3 +1,20 @@
+2007-07-19  Release Manager
+
+	* GCC 4.2.1 released.
+
+2007-07-18  Mark Mitchell  <mark at codesourcery.com>
+
+	* gcc.pot: Regenerate.
+
+2007-07-07  Joseph S. Myers  <joseph at codesourcery.com>
+
+	* zh_CN.po: Update.
+
+2007-06-26  Joseph S. Myers  <joseph at codesourcery.com>
+
+	* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
+	ru.po, rw.po, sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
+
 2007-05-13  Release Manager
 
 	* GCC 4.2.0 released.





More information about the llvm-commits mailing list