Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

MoSync-gcc 3.4.6: initial commit.

git-svn-id: svn://localhost/public/gcc/trunk@12 6ad7a17e-d552-4a1e-ace4-f958fe14b117
  • Loading branch information...
commit 3c8eaff6d65f486574723866055602c5dd54309d 1 parent f8b2092
fredrik authored
Showing with 95,436 additions and 0 deletions.
  1. +33 −0 How to build the mapip compilers.txt
  2. +4 −0 build.txt
  3. +54 −0 configure-linux.sh
  4. +52 −0 configure.sh
  5. +32 −0 gcc-3.4.6/.cvsignore
  6. +625 −0 gcc-3.4.6/ABOUT-NLS
  7. +812 −0 gcc-3.4.6/BUGS
  8. +340 −0 gcc-3.4.6/COPYING
  9. +504 −0 gcc-3.4.6/COPYING.LIB
  10. +10,521 −0 gcc-3.4.6/ChangeLog
  11. +585 −0 gcc-3.4.6/FAQ
  12. +6 −0 gcc-3.4.6/INSTALL/README
  13. +117 −0 gcc-3.4.6/INSTALL/binaries.html
  14. +300 −0 gcc-3.4.6/INSTALL/build.html
  15. +784 −0 gcc-3.4.6/INSTALL/configure.html
  16. +90 −0 gcc-3.4.6/INSTALL/download.html
  17. +159 −0 gcc-3.4.6/INSTALL/finalinstall.html
  18. +462 −0 gcc-3.4.6/INSTALL/gfdl.html
  19. +123 −0 gcc-3.4.6/INSTALL/index.html
  20. +212 −0 gcc-3.4.6/INSTALL/old.html
  21. +210 −0 gcc-3.4.6/INSTALL/prerequisites.html
  22. +1,592 −0 gcc-3.4.6/INSTALL/specific.html
  23. +234 −0 gcc-3.4.6/INSTALL/test.html
  24. +1 −0  gcc-3.4.6/LAST_UPDATED
  25. +291 −0 gcc-3.4.6/MAINTAINERS
  26. +20,558 −0 gcc-3.4.6/MD5SUMS
  27. +209 −0 gcc-3.4.6/Makefile.def
  28. +23,685 −0 gcc-3.4.6/Makefile.in
  29. +1,438 −0 gcc-3.4.6/Makefile.tpl
  30. +7,415 −0 gcc-3.4.6/NEWS
  31. +17 −0 gcc-3.4.6/README
  32. +9 −0 gcc-3.4.6/README.SCO
  33. +908 −0 gcc-3.4.6/bugs.html
  34. +882 −0 gcc-3.4.6/config-ml.in
  35. +1,450 −0 gcc-3.4.6/config.guess
  36. +37 −0 gcc-3.4.6/config.if
  37. +548 −0 gcc-3.4.6/config.rpath
  38. +1,593 −0 gcc-3.4.6/config.sub
  39. +1,585 −0 gcc-3.4.6/config.sub.orig
  40. +825 −0 gcc-3.4.6/config/ChangeLog
  41. +98 −0 gcc-3.4.6/config/accross.m4
  42. +2,023 −0 gcc-3.4.6/config/acinclude.m4
  43. +157 −0 gcc-3.4.6/config/acx.m4
  44. +15 −0 gcc-3.4.6/config/gcc-lib-path.m4
  45. +66 −0 gcc-3.4.6/config/gettext.m4
  46. +1 −0  gcc-3.4.6/config/mh-armpic
  47. +5 −0 gcc-3.4.6/config/mh-cxux
  48. +6 −0 gcc-3.4.6/config/mh-cygwin
  49. +3 −0  gcc-3.4.6/config/mh-decstation
  50. +5 −0 gcc-3.4.6/config/mh-dgux386
  51. +14 −0 gcc-3.4.6/config/mh-djgpp
  52. +1 −0  gcc-3.4.6/config/mh-elfalphapic
  53. +1 −0  gcc-3.4.6/config/mh-i370pic
  54. +1 −0  gcc-3.4.6/config/mh-ia64pic
  55. +7 −0 gcc-3.4.6/config/mh-interix
  56. +2 −0  gcc-3.4.6/config/mh-lynxrs6k
  57. +1 −0  gcc-3.4.6/config/mh-m68kpic
  58. +7 −0 gcc-3.4.6/config/mh-mingw32
  59. +4 −0 gcc-3.4.6/config/mh-ncr3000
  60. +4 −0 gcc-3.4.6/config/mh-necv4
  61. +1 −0  gcc-3.4.6/config/mh-papic
  62. +1 −0  gcc-3.4.6/config/mh-ppcpic
  63. +1 −0  gcc-3.4.6/config/mh-s390pic
  64. +4 −0 gcc-3.4.6/config/mh-sco
  65. +2 −0  gcc-3.4.6/config/mh-solaris
  66. +1 −0  gcc-3.4.6/config/mh-sparcpic
  67. +4 −0 gcc-3.4.6/config/mh-sysv4
  68. +4 −0 gcc-3.4.6/config/mh-sysv5
  69. +1 −0  gcc-3.4.6/config/mh-x86pic
  70. +2 −0  gcc-3.4.6/config/mt-alphaieee
  71. +4 −0 gcc-3.4.6/config/mt-d30v
  72. +1 −0  gcc-3.4.6/config/mt-linux
  73. +1 −0  gcc-3.4.6/config/mt-netware
  74. +3 −0  gcc-3.4.6/config/mt-ospace
  75. +3 −0  gcc-3.4.6/config/mt-v810
  76. +10 −0 gcc-3.4.6/config/mt-wince
  77. +61 −0 gcc-3.4.6/config/no-executables.m4
  78. +91 −0 gcc-3.4.6/config/progtest.m4
  79. +4,461 −0 gcc-3.4.6/configure
  80. +2,190 −0 gcc-3.4.6/configure.in
  81. +972 −0 gcc-3.4.6/contrib/ChangeLog
  82. +146 −0 gcc-3.4.6/contrib/analyze_brprob
  83. +105 −0 gcc-3.4.6/contrib/compare_tests
  84. +48 −0 gcc-3.4.6/contrib/convert_to_f2c
  85. +48 −0 gcc-3.4.6/contrib/convert_to_g2c
  86. +77 −0 gcc-3.4.6/contrib/download_f2c
  87. +322 −0 gcc-3.4.6/contrib/gcc_build
  88. +237 −0 gcc-3.4.6/contrib/gcc_update
  89. +84 −0 gcc-3.4.6/contrib/gccbug.el
  90. +57 −0 gcc-3.4.6/contrib/gennews
  91. +92 −0 gcc-3.4.6/contrib/gthr_supp_vxw_5x.c
  92. +26 −0 gcc-3.4.6/contrib/index-prop
  93. +34 −0 gcc-3.4.6/contrib/newcvsroot
  94. +2,716 −0 gcc-3.4.6/contrib/paranoia.cc
  95. +40 −0 gcc-3.4.6/contrib/reghunt/ChangeLog
  96. +16 −0 gcc-3.4.6/contrib/reghunt/README
  97. +171 −0 gcc-3.4.6/contrib/reghunt/reg_periodic
  98. +300 −0 gcc-3.4.6/contrib/reghunt/reg_search
  99. +40 −0 gcc-3.4.6/contrib/reghunt/reg_test_template
  100. +65 −0 gcc-3.4.6/contrib/regression/ChangeLog
  101. +18 −0 gcc-3.4.6/contrib/regression/README
  102. +185 −0 gcc-3.4.6/contrib/regression/btest-gcc.sh
  103. +127 −0 gcc-3.4.6/contrib/regression/objs-gcc.sh
  104. +18 −0 gcc-3.4.6/contrib/regression/site.exp
  105. +121 −0 gcc-3.4.6/contrib/test_installed
  106. +154 −0 gcc-3.4.6/contrib/test_summary
  107. +438 −0 gcc-3.4.6/contrib/texi2pod.pl
  108. +210 −0 gcc-3.4.6/contrib/warn_summary
Sorry, we could not display the entire diff because too many files (4,019) changed.
View
33 How to build the mapip compilers.txt
@@ -0,0 +1,33 @@
+1. Create a directory inside gcc3
+2. Move into that directory.
+3. type:
+
+../configure --prefix=/usr/mapip --target=mapip --with-system-zlib
+
+4. Build the compilers with:
+make -k
+
+5. Once finished the compilers will be in ggc3/<YourBuildDir>/gcc/
+
+Notes
+-----
+
+To remake the compiler from scratch type:
+
+make clean
+make
+
+When modifying the compiler, remember to delete, all mapip*.o objects,
+then just use make agian, its worth noting that gcc can be built inside
+gcc3/<YourBuildDir>/gcc/ or in gcc3/<YourBuildDir>.
+
+Reconfiguring
+-------------
+
+If you need to reconfigure the compiler you must always:
+
+make distclean
+
+before invoking the new configure.
+
+
View
4 build.txt
@@ -0,0 +1,4 @@
+configure.sh
+
+make all-gcc | tee make-gcc.log 2>&1
+make -k install-gcc | tee install-gcc.log 2>&1
View
54 configure-linux.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+#---------------------------------------------------------------------------------
+# Source and Install directories
+#---------------------------------------------------------------------------------
+
+SRCDIR=$PWD/gcc-3.4.6 # the sourcecode dir for gcc
+ # This must be specified in the format shown here
+ # as one of the tools built during the process will fail
+ # if absolute paths are specified
+ # the example here assumes that the gcc source directory
+ # is at the same level as the script
+
+prefix=/usr/mosync # installation directory
+ # This must be specified in the format shown here
+ # or gcc won't be able to find it's libraries and includes
+ # if you move the installation
+
+builddir=./build/gcc
+
+#---------------------------------------------------------------------------------
+# set the path for the installed binutils
+#---------------------------------------------------------------------------------
+
+#export PATH=${PATH}:/c/cross-gcc/mosync/bin
+
+#---------------------------------------------------------------------------------
+# set the target and compiler flags
+#---------------------------------------------------------------------------------
+
+target=mapip
+progpref=mapip-
+
+export CFLAGS='-O2 -pipe'
+export CXXFLAGS='-O2 -pipe'
+export LDFLAGS='-s'
+export DEBUG_FLAGS=''
+
+#---------------------------------------------------------------------------------
+# build and install just the c compiler
+#---------------------------------------------------------------------------------
+
+mkdir -p $builddir
+cd $builddir
+
+$SRCDIR/configure \
+ --enable-languages=c,c++ \
+ --with-gcc --with-stabs \
+ --disable-shared --disable-threads --disable-win32-registry --disable-nls \
+ --prefix=$prefix \
+ --target=$target \
+ --without-headers \
+ --program-prefix=$progpref -v \
+ 2>&1 | tee gcc_configure.log
View
52 configure.sh
@@ -0,0 +1,52 @@
+#---------------------------------------------------------------------------------
+# Source and Install directories
+#---------------------------------------------------------------------------------
+
+SRCDIR=../../gcc-3.4.6 # the sourcecode dir for gcc
+ # This must be specified in the format shown here
+ # as one of the tools built during the process will fail
+ # if absolute paths are specified
+ # the example here assumes that the gcc source directory
+ # is at the same level as the script
+
+prefix=/src/mapip/gcc # installation directory
+ # This must be specified in the format shown here
+ # or gcc won't be able to find it's libraries and includes
+ # if you move the installation
+
+
+#---------------------------------------------------------------------------------
+# set the path for the installed binutils
+#---------------------------------------------------------------------------------
+
+#export PATH=${PATH}:/c/cross-gcc/mosync/bin
+
+#---------------------------------------------------------------------------------
+# set the target and compiler flags
+#---------------------------------------------------------------------------------
+
+target=mapip
+host=mingw32
+progpref=mapip-
+
+export CFLAGS='-O2 -pipe'
+export CXXFLAGS='-O2 -pipe'
+export LDFLAGS='-s'
+export DEBUG_FLAGS=''
+
+#---------------------------------------------------------------------------------
+# build and install just the c compiler
+#---------------------------------------------------------------------------------
+
+mkdir -p $prefix
+cd $prefix
+
+$SRCDIR/configure \
+ --enable-languages=c,c++ \
+ --with-gcc --with-stabs \
+ --disable-shared --disable-threads --disable-win32-registry --disable-nls\
+ --target=$target \
+ --host=$host \
+ --without-headers \
+ --program-prefix=$progpref -v\
+ 2>&1 | tee gcc_configure.log
View
32 gcc-3.4.6/.cvsignore
@@ -0,0 +1,32 @@
+*-all
+*-co
+*-dirs
+*-done
+*-install-info
+*-src
+*-stamp-*
+*-tagged
+blockit
+cfg-paper.info
+config.status
+configure.aux
+configure.cp
+configure.cps
+configure.dvi
+configure.fn
+configure.fns
+configure.ky
+configure.kys
+configure.log
+configure.pg
+configure.pgs
+configure.toc
+configure.tp
+configure.tps
+configure.vr
+configure.vrs
+dir.info
+Makefile
+lost+found
+update.out
+LAST_UPDATED
View
625 gcc-3.4.6/ABOUT-NLS
@@ -0,0 +1,625 @@
+Notes on the Free Translation Project
+*************************************
+
+ Free software is going international! The Free Translation Project
+is a way to get maintainers of free software, translators, and users all
+together, so that will gradually become able to speak many languages.
+A few packages already provide translations for their messages.
+
+ If you found this `ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU `gettext' internally,
+itself available at your nearest GNU archive site. But you do _not_
+need to install GNU `gettext' prior to configuring, installing or using
+this package with messages translated.
+
+ Installers will find here some useful hints. These notes also
+explain how users should proceed for getting the programs to use the
+available translations. They tell how people wanting to contribute and
+work at translations should contact the appropriate team.
+
+ When reporting bugs in the `intl/' directory or bugs which may be
+related to internationalization, you should tell about the version of
+`gettext' which is used. The information can be found in the
+`intl/VERSION' file, in internationalized packages.
+
+Quick configuration advice
+==========================
+
+ If you want to exploit the full power of internationalization, you
+should configure it using
+
+ ./configure --with-included-gettext
+
+to force usage of internationalizing routines provided within this
+package, despite the existence of internationalizing capabilities in the
+operating system where this package is being installed. So far, only
+the `gettext' implementation in the GNU C library version 2 provides as
+many features (such as locale alias, message inheritance, automatic
+charset conversion or plural form handling) as the implementation here.
+It is also not possible to offer this additional functionality on top
+of a `catgets' implementation. Future versions of GNU `gettext' will
+very likely convey even more functionality. So it might be a good idea
+to change to GNU `gettext' as soon as possible.
+
+ So you need _not_ provide this option if you are using GNU libc 2 or
+you have installed a recent copy of the GNU gettext package with the
+included `libintl'.
+
+INSTALL Matters
+===============
+
+ Some packages are "localizable" when properly installed; the
+programs they contain can be made to speak your own native language.
+Most such packages use GNU `gettext'. Other packages have their own
+ways to internationalization, predating GNU `gettext'.
+
+ By default, this package will be installed to allow translation of
+messages. It will automatically detect whether the system already
+provides the GNU `gettext' functions. If not, the GNU `gettext' own
+library will be used. This library is wholly contained within this
+package, usually in the `intl/' subdirectory, so prior installation of
+the GNU `gettext' package is _not_ required. Installers may use
+special options at configuration time for changing the default
+behaviour. The commands:
+
+ ./configure --with-included-gettext
+ ./configure --disable-nls
+
+will respectively bypass any pre-existing `gettext' to use the
+internationalizing routines provided within this package, or else,
+_totally_ disable translation of messages.
+
+ When you already have GNU `gettext' installed on your system and run
+configure without an option for your new package, `configure' will
+probably detect the previously built and installed `libintl.a' file and
+will decide to use this. This might be not what is desirable. You
+should use the more recent version of the GNU `gettext' library. I.e.
+if the file `intl/VERSION' shows that the library which comes with this
+package is more recent, you should use
+
+ ./configure --with-included-gettext
+
+to prevent auto-detection.
+
+ The configuration process will not test for the `catgets' function
+and therefore it will not be used. The reason is that even an
+emulation of `gettext' on top of `catgets' could not provide all the
+extensions of the GNU `gettext' library.
+
+ Internationalized packages have usually many `po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language. Unless
+translations have been forbidden at `configure' time by using the
+`--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable `LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+`LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+Using This Package
+==================
+
+ As a user, if your language has been installed for this package, you
+only have to set the `LANG' environment variable to the appropriate
+`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
+and `CC' is an ISO 3166 two-letter country code. For example, let's
+suppose that you speak German and live in Germany. At the shell
+prompt, merely execute `setenv LANG de_DE' (in `csh'),
+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
+This can be done from your `.login' or `.profile' file, once and for
+all.
+
+ You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries. For
+example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
+country code serves to distinguish the dialects.
+
+ The locale naming convention of `LL_CC', with `LL' denoting the
+language and `CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are
+used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
+locales supported by your system for your country by running the command
+`locale -a | grep '^LL''.
+
+ Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
+for the purpose of message handling, but you still need to have `LANG'
+set to the primary language; this is required by other parts of the
+system libraries. For example, some Swedish users who would rather
+read translations in German than English for when Swedish is not
+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
+
+ In the `LANGUAGE' environment variable, but not in the `LANG'
+environment variable, `LL_CC' combinations can be abbreviated as `LL'
+to denote the language's main dialect. For example, `de' is equivalent
+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
+(Portuguese as spoken in Portugal) in this context.
+
+Translating Teams
+=================
+
+ For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list. The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
+area.
+
+ If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+`-request' appended. For example, speakers of Swedish can send a
+message to `sv-request@li.org', having this message body:
+
+ subscribe
+
+ Keep in mind that team members are expected to participate
+_actively_ in translations, or at solving translational difficulties,
+rather than merely lurking around. If your team does not exist yet and
+you want to start one, or if you are unsure about what to do or how to
+get started, please write to `translation@iro.umontreal.ca' to reach the
+coordinator for all translator teams.
+
+ The English team is special. It works at improving and uniformizing
+the terminology in use. Proven linguistic skill are praised more than
+programming skill, here.
+
+Available Packages
+==================
+
+ Languages are not equally supported in all packages. The following
+matrix shows the current state of internationalization, as of May 2003.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+ Ready PO files am az be bg ca cs da de el en en_GB eo es
+ +-------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | () |
+ anubis | |
+ ap-utils | |
+ bash | [] [] [] |
+ batchelor | |
+ bfd | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bluez-pin | [] [] |
+ clisp | |
+ clisp | [] [] [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ darkstat | () [] |
+ diffutils | [] [] [] [] [] [] [] |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] [] |
+ error | [] [] [] [] [] |
+ fetchmail | [] () [] [] [] [] |
+ fileutils | [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] [] |
+ gas | [] |
+ gawk | [] [] [] [] |
+ gcal | [] |
+ gcc | [] [] |
+ gettext | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] |
+ gimp-print | [] [] [] [] [] |
+ gliv | |
+ glunarclock | [] [] [] |
+ gnucash | () [] |
+ gnucash-glossary | [] () [] |
+ gnupg | [] () [] [] [] [] |
+ gpe-calendar | [] |
+ gpe-conf | [] |
+ gpe-contacts | [] |
+ gpe-edit | |
+ gpe-login | [] |
+ gpe-ownerinfo | [] |
+ gpe-sketchbook | [] |
+ gpe-timesheet | |
+ gpe-today | [] |
+ gpe-todo | [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] |
+ gpsdrive | () () () |
+ grep | [] [] [] [] [] |
+ gretl | [] |
+ hello | [] [] [] [] [] [] |
+ id-utils | [] [] |
+ indent | [] [] [] [] |
+ jpilot | [] [] [] [] |
+ jwhois | [] |
+ kbd | [] [] [] [] [] |
+ ld | [] [] |
+ libc | [] [] [] [] [] [] |
+ libgpewidget | [] |
+ libiconv | [] [] [] [] [] |
+ lifelines | [] () |
+ lilypond | [] |
+ lingoteach | |
+ lingoteach_lessons | () () |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailutils | [] [] |
+ make | [] [] [] |
+ man-db | [] () [] [] () |
+ mysecretdiary | [] [] [] |
+ nano | [] () [] [] [] |
+ nano_1_0 | [] () [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] [] [] [] |
+ ptx | [] [] [] [] [] |
+ python | |
+ radius | |
+ recode | [] [] [] [] [] [] |
+ screem | |
+ sed | [] [] [] [] [] |
+ sh-utils | [] [] [] |
+ sharutils | [] [] [] [] [] [] |
+ sketch | [] () [] |
+ soundtracker | [] [] [] |
+ sp | [] |
+ tar | [] [] [] [] |
+ texinfo | [] [] [] [] |
+ textutils | [] [] [] [] |
+ tin | () () |
+ util-linux | [] [] [] [] [] |
+ vorbis-tools | [] [] [] |
+ wastesedge | () |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] [] [] [] [] |
+ xchat | [] [] [] |
+ xpad | |
+ +-------------------------------------------+
+ am az be bg ca cs da de el en en_GB eo es
+ 0 1 4 2 31 17 54 60 14 1 4 12 56
+
+ et fa fi fr ga gl he hr hu id it ja ko
+ +----------------------------------------+
+ a2ps | [] [] [] () () |
+ aegis | |
+ anubis | [] |
+ ap-utils | [] |
+ bash | [] [] |
+ batchelor | [] |
+ bfd | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] [] |
+ bluez-pin | [] [] [] [] |
+ clisp | |
+ clisp | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] [] |
+ darkstat | () [] [] [] |
+ diffutils | [] [] [] [] [] [] [] |
+ e2fsprogs | |
+ enscript | [] [] |
+ error | [] [] [] [] |
+ fetchmail | [] |
+ fileutils | [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] [] [] [] [] [] |
+ flex | [] [] |
+ gas | [] |
+ gawk | [] [] |
+ gcal | [] |
+ gcc | [] |
+ gettext | [] [] [] |
+ gettext-runtime | [] [] [] [] |
+ gettext-tools | [] |
+ gimp-print | [] [] |
+ gliv | () |
+ glunarclock | [] [] [] [] |
+ gnucash | [] |
+ gnucash-glossary | [] |
+ gnupg | [] [] [] [] [] [] [] |
+ gpe-calendar | [] |
+ gpe-conf | |
+ gpe-contacts | [] |
+ gpe-edit | [] [] |
+ gpe-login | [] |
+ gpe-ownerinfo | [] [] [] |
+ gpe-sketchbook | [] |
+ gpe-timesheet | [] [] [] |
+ gpe-today | [] [] |
+ gpe-todo | [] [] |
+ gphoto2 | [] [] [] |
+ gprof | [] [] |
+ gpsdrive | () [] () () |
+ grep | [] [] [] [] [] [] [] [] [] [] [] |
+ gretl | [] |
+ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ id-utils | [] [] [] |
+ indent | [] [] [] [] [] [] [] [] |
+ jpilot | [] () |
+ jwhois | [] [] [] [] |
+ kbd | [] |
+ ld | [] |
+ libc | [] [] [] [] [] [] |
+ libgpewidget | [] [] [] |
+ libiconv | [] [] [] [] [] [] [] [] |
+ lifelines | () |
+ lilypond | [] |
+ lingoteach | [] [] |
+ lingoteach_lessons | |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] |
+ mailutils | |
+ make | [] [] [] [] [] [] |
+ man-db | [] () () |
+ mysecretdiary | [] [] |
+ nano | [] [] [] [] |
+ nano_1_0 | [] [] [] [] |
+ opcodes | [] [] |
+ parted | [] [] [] |
+ ptx | [] [] [] [] [] [] [] |
+ python | |
+ radius | |
+ recode | [] [] [] [] [] [] |
+ screem | |
+ sed | [] [] [] [] [] [] [] [] |
+ sh-utils | [] [] [] [] [] [] |
+ sharutils | [] [] [] [] [] |
+ sketch | [] |
+ soundtracker | [] [] [] |
+ sp | [] () |
+ tar | [] [] [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] |
+ textutils | [] [] [] [] [] |
+ tin | [] () |
+ util-linux | [] [] [] [] () [] |
+ vorbis-tools | [] |
+ wastesedge | () |
+ wdiff | [] [] [] [] [] |
+ wget | [] [] [] [] [] [] [] [] |
+ xchat | [] [] [] |
+ xpad | |
+ +----------------------------------------+
+ et fa fi fr ga gl he hr hu id it ja ko
+ 20 1 15 73 14 24 8 10 30 31 19 31 9
+
+ lg lt lv ms nb nl nn no pl pt pt_BR ro
+ +----------------------------------------+
+ a2ps | [] [] () () () [] [] |
+ aegis | () |
+ anubis | [] [] |
+ ap-utils | () |
+ bash | [] |
+ batchelor | |
+ bfd | |
+ binutils | |
+ bison | [] [] [] [] |
+ bluez-pin | [] |
+ clisp | |
+ clisp | [] |
+ coreutils | [] |
+ cpio | [] [] [] |
+ darkstat | [] [] [] [] |
+ diffutils | [] [] [] |
+ e2fsprogs | |
+ enscript | [] [] |
+ error | [] [] |
+ fetchmail | () () |
+ fileutils | [] |
+ findutils | [] [] [] [] |
+ flex | [] |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gettext | [] |
+ gettext-runtime | [] |
+ gettext-tools | |
+ gimp-print | [] |
+ gliv | [] |
+ glunarclock | [] |
+ gnucash | |
+ gnucash-glossary | [] [] |
+ gnupg | |
+ gpe-calendar | [] [] |
+ gpe-conf | [] [] |
+ gpe-contacts | [] |
+ gpe-edit | [] [] |
+ gpe-login | [] [] |
+ gpe-ownerinfo | [] [] |
+ gpe-sketchbook | [] [] |
+ gpe-timesheet | [] [] |
+ gpe-today | [] [] |
+ gpe-todo | [] [] |
+ gphoto2 | |
+ gprof | [] |
+ gpsdrive | () () () |
+ grep | [] [] [] [] |
+ gretl | |
+ hello | [] [] [] [] [] [] [] [] [] |
+ id-utils | [] [] [] |
+ indent | [] [] [] |
+ jpilot | () () |
+ jwhois | [] [] [] |
+ kbd | |
+ ld | |
+ libc | [] [] [] [] |
+ libgpewidget | [] [] |
+ libiconv | [] [] |
+ lifelines | |
+ lilypond | [] |
+ lingoteach | |
+ lingoteach_lessons | |
+ lynx | [] [] |
+ m4 | [] [] [] [] |
+ mailutils | |
+ make | [] [] |
+ man-db | [] |
+ mysecretdiary | [] |
+ nano | [] [] [] [] |
+ nano_1_0 | [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] |
+ ptx | [] [] [] [] [] [] [] |
+ python | |
+ radius | |
+ recode | [] [] [] |
+ screem | |
+ sed | [] [] |
+ sh-utils | [] |
+ sharutils | [] |
+ sketch | [] |
+ soundtracker | |
+ sp | |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] |
+ textutils | [] |
+ tin | |
+ util-linux | [] [] |
+ vorbis-tools | [] [] |
+ wastesedge | |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] |
+ xchat | [] [] |
+ xpad | [] |
+ +----------------------------------------+
+ lg lt lv ms nb nl nn no pl pt pt_BR ro
+ 0 0 2 11 7 26 3 4 18 15 34 34
+
+ ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
+ +-------------------------------------------+
+ a2ps | [] [] [] [] [] | 16
+ aegis | () | 0
+ anubis | [] [] | 5
+ ap-utils | () | 1
+ bash | [] | 7
+ batchelor | | 1
+ bfd | [] [] [] | 7
+ binutils | [] [] [] | 7
+ bison | [] [] | 13
+ bluez-pin | | 7
+ clisp | | 0
+ clisp | | 5
+ coreutils | [] [] [] [] [] | 14
+ cpio | [] [] [] | 13
+ darkstat | [] () () | 9
+ diffutils | [] [] [] [] | 21
+ e2fsprogs | [] | 3
+ enscript | [] [] [] | 11
+ error | [] [] [] | 14
+ fetchmail | [] | 7
+ fileutils | [] [] [] [] [] [] | 15
+ findutils | [] [] [] [] [] [] | 27
+ flex | [] [] [] | 10
+ gas | [] | 3
+ gawk | [] [] | 9
+ gcal | [] [] | 4
+ gcc | [] | 4
+ gettext | [] [] [] [] [] [] | 15
+ gettext-runtime | [] [] [] [] [] [] | 16
+ gettext-tools | [] [] | 5
+ gimp-print | [] [] | 10
+ gliv | | 1
+ glunarclock | [] [] [] | 11
+ gnucash | [] [] | 4
+ gnucash-glossary | [] [] [] | 8
+ gnupg | [] [] [] [] | 16
+ gpe-calendar | [] | 5
+ gpe-conf | | 3
+ gpe-contacts | [] | 4
+ gpe-edit | [] | 5
+ gpe-login | [] | 5
+ gpe-ownerinfo | [] | 7
+ gpe-sketchbook | [] | 5
+ gpe-timesheet | [] | 6
+ gpe-today | [] | 6
+ gpe-todo | [] | 6
+ gphoto2 | [] [] | 9
+ gprof | [] [] | 7
+ gpsdrive | [] [] | 3
+ grep | [] [] [] [] | 24
+ gretl | | 2
+ hello | [] [] [] [] [] | 33
+ id-utils | [] [] [] | 11
+ indent | [] [] [] [] | 19
+ jpilot | [] [] [] [] [] | 10
+ jwhois | () () [] [] | 10
+ kbd | [] [] | 8
+ ld | [] [] | 5
+ libc | [] [] [] [] | 20
+ libgpewidget | | 6
+ libiconv | [] [] [] [] [] [] | 21
+ lifelines | [] | 2
+ lilypond | [] | 4
+ lingoteach | | 2
+ lingoteach_lessons | () | 0
+ lynx | [] [] [] [] | 14
+ m4 | [] [] [] | 15
+ mailutils | | 2
+ make | [] [] [] [] | 15
+ man-db | [] | 6
+ mysecretdiary | [] [] | 8
+ nano | [] [] [] | 15
+ nano_1_0 | [] [] [] | 15
+ opcodes | [] [] | 9
+ parted | [] [] | 13
+ ptx | [] [] [] | 22
+ python | | 0
+ radius | | 0
+ recode | [] [] [] [] | 19
+ screem | [] | 1
+ sed | [] [] [] [] [] | 20
+ sh-utils | [] [] [] | 13
+ sharutils | [] [] [] [] | 16
+ sketch | [] | 5
+ soundtracker | [] | 7
+ sp | [] | 3
+ tar | [] [] [] [] [] | 24
+ texinfo | [] [] [] [] | 13
+ textutils | [] [] [] [] [] | 15
+ tin | | 1
+ util-linux | [] [] | 14
+ vorbis-tools | [] | 7
+ wastesedge | | 0
+ wdiff | [] [] [] [] | 17
+ wget | [] [] [] [] [] [] [] | 25
+ xchat | [] [] [] | 11
+ xpad | | 1
+ +-------------------------------------------+
+ 50 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
+ 97 domains 32 19 16 0 56 0 48 10 1 1 12 23 913
+
+ Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect. This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+ For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and
+distributed as such by its maintainer. There might be an observable
+lag between the mere existence a PO file and its wide availability in a
+distribution.
+
+ If May 2003 seems to be old, you may fetch a more recent copy of
+this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
+matrix with full percentage details can be found at
+`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+
+Using `gettext' in new packages
+===============================
+
+ If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU `gettext' in your
+package. Of course you have to respect the GNU Library General Public
+License which covers the use of the GNU `gettext' library. This means
+in particular that even non-free programs can use `libintl' as a shared
+library, whereas only free software can use `libintl' as a static
+library or use modified versions of `libintl'.
+
+ Once the sources are changed appropriately and the setup can handle
+the use of `gettext' the only thing missing are the translations. The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project. Therefore the information given above
+applies also for every other Free Software Project. Contact
+`translation@iro.umontreal.ca' to make the `.pot' files available to
+the translation teams.
+
View
812 gcc-3.4.6/BUGS
@@ -0,0 +1,812 @@
+
+ GCC Bugs
+
+ The latest version of this document is always available at
+ [1]http://gcc.gnu.org/bugs.html.
+ _________________________________________________________________
+
+Table of Contents
+
+ * [2]Reporting Bugs
+ + [3]What we need
+ + [4]What we DON'T want
+ + [5]Where to post it
+ + [6]Detailed bug reporting instructions
+ + [7]Detailed bug reporting instructions for GNAT
+ + [8]Detailed bug reporting instructions when using a
+ precompiled header
+ * [9]Frequently Reported Bugs in GCC
+ + [10]C++
+ o [11]Missing features
+ o [12]Bugs fixed in the 3.4 series
+ + [13]Fortran
+ * [14]Non-bugs
+ + [15]General
+ + [16]C
+ + [17]C++
+ o [18]Common problems when upgrading the compiler
+ _________________________________________________________________
+
+ Reporting Bugs
+
+ The main purpose of a bug report is to enable us to fix the bug. The
+ most important prerequisite for this is that the report must be
+ complete and self-contained.
+
+ Before you report a bug, please check the [19]list of well-known bugs
+ and, if possible, try a current development snapshot. If you want to
+ report a bug with versions of GCC before 3.4 we strongly recommend
+ upgrading to the current release first.
+
+ Before reporting that GCC compiles your code incorrectly, please
+ compile it with gcc -Wall and see whether this shows anything wrong
+ with your code that could be the cause instead of a bug in GCC.
+
+Summarized bug reporting instructions
+
+ After this summary, you'll find detailed bug reporting instructions,
+ that explain how to obtain some of the information requested in this
+ summary.
+
+ What we need
+
+ Please include in your bug report all of the following items, the
+ first three of which can be obtained from the output of gcc -v:
+ * the exact version of GCC;
+ * the system type;
+ * the options given when GCC was configured/built;
+ * the complete command line that triggers the bug;
+ * the compiler output (error messages, warnings, etc.); and
+ * the preprocessed file (*.i*) that triggers the bug, generated by
+ adding -save-temps to the complete compilation command, or, in the
+ case of a bug report for the GNAT front end, a complete set of
+ source files (see below).
+
+ What we do not want
+
+ * A source file that #includes header files that are left out of the
+ bug report (see above)
+ * That source file and a collection of header files.
+ * An attached archive (tar, zip, shar, whatever) containing all (or
+ some :-) of the above.
+ * A code snippet that won't cause the compiler to produce the exact
+ output mentioned in the bug report (e.g., a snippet with just a
+ few lines around the one that apparently triggers the bug, with
+ some pieces replaced with ellipses or comments for extra
+ obfuscation :-)
+ * The location (URL) of the package that failed to build (we won't
+ download it, anyway, since you've already given us what we need to
+ duplicate the bug, haven't you? :-)
+ * An error that occurs only some of the times a certain file is
+ compiled, such that retrying a sufficient number of times results
+ in a successful compilation; this is a symptom of a hardware
+ problem, not of a compiler bug (sorry)
+ * Assembly files (*.s) produced by the compiler, or any binary
+ files, such as object files, executables, core files, or
+ precompiled header files
+ * Duplicate bug reports, or reports of bugs already fixed in the
+ development tree, especially those that have already been reported
+ as fixed last week :-)
+ * Bugs in the assembler, the linker or the C library. These are
+ separate projects, with separate mailing lists and different bug
+ reporting procedures
+ * Bugs in releases or snapshots of GCC not issued by the GNU
+ Project. Report them to whoever provided you with the release
+ * Questions about the correctness or the expected behavior of
+ certain constructs that are not GCC extensions. Ask them in forums
+ dedicated to the discussion of the programming language
+
+ Where to post it
+
+ Please submit your bug report directly to the [20]GCC bug database.
+ Alternatively, you can use the gccbug script that mails your bug
+ report to the bug database.
+ Only if all this is absolutely impossible, mail all information to
+ [21]gcc-bugs@gcc.gnu.org.
+
+Detailed bug reporting instructions
+
+ Please refer to the [22]next section when reporting bugs in GNAT, the
+ Ada compiler, or to the [23]one after that when reporting bugs that
+ appear when using a precompiled header.
+
+ In general, all the information we need can be obtained by collecting
+ the command line below, as well as its output and the preprocessed
+ file it generates.
+
+ gcc -v -save-temps all-your-options source-file
+
+ The only excuses to not send us the preprocessed sources are (i) if
+ you've found a bug in the preprocessor, (ii) if you've reduced the
+ testcase to a small file that doesn't include any other file or (iii)
+ if the bug appears only when using precompiled headers. If you can't
+ post the preprocessed sources because they're proprietary code, then
+ try to create a small file that triggers the same problem.
+
+ Since we're supposed to be able to re-create the assembly output
+ (extension .s), you usually should not include it in the bug report,
+ although you may want to post parts of it to point out assembly code
+ you consider to be wrong.
+
+ Please avoid posting an archive (.tar, .shar or .zip); we generally
+ need just a single file to reproduce the bug (the .i/.ii/.f
+ preprocessed file), and, by storing it in an archive, you're just
+ making our volunteers' jobs harder. Only when your bug report requires
+ multiple source files to be reproduced should you use an archive. This
+ is, for example, the case if you are using INCLUDE directives in
+ Fortran code, which are not processed by the preprocessor, but the
+ compiler. In that case, we need the main file and all INCLUDEd files.
+ In any case, make sure the compiler version, error message, etc, are
+ included in the body of your bug report as plain text, even if
+ needlessly duplicated as part of an archive.
+
+Detailed bug reporting instructions for GNAT
+
+ See the [24]previous section for bug reporting instructions for GCC
+ language implementations other than Ada.
+
+ Bug reports have to contain at least the following information in
+ order to be useful:
+ * the exact version of GCC, as shown by "gcc -v";
+ * the system type;
+ * the options when GCC was configured/built;
+ * the exact command line passed to the gcc program triggering the
+ bug (not just the flags passed to gnatmake, but gnatmake prints
+ the parameters it passed to gcc)
+ * a collection of source files for reproducing the bug, preferably a
+ minimal set (see below);
+ * a description of the expected behavior;
+ * a description of actual behavior.
+
+ If your code depends on additional source files (usually package
+ specifications), submit the source code for these compilation units in
+ a single file that is acceptable input to gnatchop, i.e. contains no
+ non-Ada text. If the compilation terminated normally, you can usually
+ obtain a list of dependencies using the "gnatls -d main_unit" command,
+ where main_unit is the file name of the main compilation unit (which
+ is also passed to gcc).
+
+ If you report a bug which causes the compiler to print a bug box,
+ include that bug box in your report, and do not forget to send all the
+ source files listed after the bug box along with your report.
+
+ If you use gnatprep, be sure to send in preprocessed sources (unless
+ you have to report a bug in gnatprep).
+
+ When you have checked that your report meets these criteria, please
+ submit it according to our [25]generic instructions. (If you use a
+ mailing list for reporting, please include an "[Ada]" tag in the
+ subject.)
+
+Detailed bug reporting instructions when using a precompiled header
+
+ If you're encountering a bug when using a precompiled header, the
+ first thing to do is to delete the precompiled header, and try running
+ the same GCC command again. If the bug happens again, the bug doesn't
+ really involve precompiled headers, please report it without using
+ them by following the instructions [26]above.
+
+ If you've found a bug while building a precompiled header (for
+ instance, the compiler crashes), follow the usual instructions
+ [27]above.
+
+ If you've found a real precompiled header bug, what we'll need to
+ reproduce it is the sources to build the precompiled header (as a
+ single .i file), the source file that uses the precompiled header, any
+ other headers that source file includes, and the command lines that
+ you used to build the precompiled header and to use it.
+
+ Please don't send us the actual precompiled header. It is likely to be
+ very large and we can't use it to reproduce the problem.
+ _________________________________________________________________
+
+ Frequently Reported Bugs in GCC
+
+ This is a list of bugs in GCC that are reported very often, but not
+ yet fixed. While it is certainly better to fix bugs instead of
+ documenting them, this document might save people the effort of
+ writing a bug report when the bug is already well-known.
+
+ There are many reasons why a reported bug doesn't get fixed. It might
+ be difficult to fix, or fixing it might break compatibility. Often,
+ reports get a low priority when there is a simple work-around. In
+ particular, bugs caused by invalid code have a simple work-around: fix
+ the code.
+ _________________________________________________________________
+
+C++
+
+ Missing features
+
+ The export keyword is not implemented.
+ Most C++ compilers (G++ included) do not yet implement export,
+ which is necessary for separate compilation of template
+ declarations and definitions. Without export, a template
+ definition must be in scope to be used. The obvious workaround
+ is simply to place all definitions in the header itself.
+ Alternatively, the compilation unit containing template
+ definitions may be included from the header.
+
+ Bugs fixed in the 3.4 series
+
+ The following bugs are present up to (and including) GCC 3.3.x. They
+ have been fixed in 3.4.0.
+
+ Two-stage name-lookup.
+ GCC did not implement two-stage name-lookup (also see
+ [28]below).
+
+ Covariant return types.
+ GCC did not implement non-trivial covariant returns.
+
+ Parse errors for "simple" code.
+ GCC gave parse errors for seemingly simple code, such as
+
+struct A
+{
+ A();
+ A(int);
+};
+
+struct B
+{
+ B(A);
+ B(A,A);
+ void foo();
+};
+
+A bar()
+{
+ B b(A(),A(1)); // Variable b, initialized with two temporaries
+ B(A(2)).foo(); // B temporary, initialized with A temporary
+ return (A()); // return A temporary
+}
+
+ Although being valid code, each of the three lines with a
+ comment was rejected by GCC. The work-arounds for older
+ compiler versions proposed below do not change the semantics of
+ the programs at all.
+
+ The problem in the first case was that GCC started to parse the
+ declaration of b as a function called b returning B, taking a
+ function returning A as an argument. When it encountered the 1,
+ it was too late. To show the compiler that this should be
+ really an expression, a comma operator with a dummy argument
+ could be used:
+
+B b((0,A()),A(1));
+
+ The work-around for simpler cases like the second one was to
+ add additional parentheses around the expressions that were
+ mistaken as declarations:
+
+(B(A(2))).foo();
+
+ In the third case, however, additional parentheses were causing
+ the problems: The compiler interpreted A() as a function
+ (taking no arguments, returning A), and (A()) as a cast lacking
+ an expression to be casted, hence the parse error. The
+ work-around was to omit the parentheses:
+
+return A();
+
+ This problem occurred in a number of variants; in throw
+ statements, people also frequently put the object in
+ parentheses.
+ _________________________________________________________________
+
+Fortran
+
+ Fortran bugs are documented in the G77 manual rather than explicitly
+ listed here. Please see [29]Known Causes of Trouble with GNU Fortran
+ in the G77 manual.
+ _________________________________________________________________
+
+ Non-bugs
+
+ The following are not actually bugs, but are reported often enough to
+ warrant a mention here.
+
+ It is not always a bug in the compiler, if code which "worked" in a
+ previous version, is now rejected. Earlier versions of GCC sometimes
+ were less picky about standard conformance and accepted invalid source
+ code. In addition, programming languages themselves change, rendering
+ code invalid that used to be conforming (this holds especially for
+ C++). In either case, you should update your code to match recent
+ language standards.
+ _________________________________________________________________
+
+General
+
+ Problems with floating point numbers - the [30]most often reported
+ non-bug.
+ In a number of cases, GCC appears to perform floating point
+ computations incorrectly. For example, the C++ program
+
+#include <iostream>
+
+int main()
+{
+ double a = 0.5;
+ double b = 0.01;
+ std::cout << (int)(a / b) << std::endl;
+ return 0;
+}
+
+ might print 50 on some systems and optimization levels, and 49
+ on others.
+
+ This is the result of rounding: The computer cannot represent
+ all real numbers exactly, so it has to use approximations. When
+ computing with approximation, the computer needs to round to
+ the nearest representable number.
+
+ This is not a bug in the compiler, but an inherent limitation
+ of the floating point types. Please study [31]this paper for
+ more information.
+ _________________________________________________________________
+
+C
+
+ Increment/decrement operator (++/--) not working as expected - a
+ [32]problem with many variations.
+ The following expressions have unpredictable results:
+
+x[i]=++i
+foo(i,++i)
+i*(++i) /* special case with foo=="operator*" */
+std::cout << i << ++i /* foo(foo(std::cout,i),++i) */
+
+ since the i without increment can be evaluated before or after
+ ++i.
+
+ The C and C++ standards have the notion of "sequence points".
+ Everything that happens between two sequence points happens in
+ an unspecified order, but it has to happen after the first and
+ before the second sequence point. The end of a statement and a
+ function call are examples for sequence points, whereas
+ assignments and the comma between function arguments are not.
+
+ Modifying a value twice between two sequence points as shown in
+ the following examples is even worse:
+
+i=++i
+foo(++i,++i)
+(++i)*(++i) /* special case with foo=="operator*" */
+std::cout << ++i << ++i /* foo(foo(std::cout,++i),++i) */
+
+ This leads to undefined behavior (i.e. the compiler can do
+ anything).
+
+ Casting does not work as expected when optimization is turned on.
+ This is often caused by a violation of aliasing rules, which
+ are part of the ISO C standard. These rules say that a program
+ is invalid if you try to access a variable through a pointer of
+ an incompatible type. This is happening in the following
+ example where a short is accessed through a pointer to integer
+ (the code assumes 16-bit shorts and 32-bit ints):
+
+#include <stdio.h>
+
+int main()
+{
+ short a[2];
+
+ a[0]=0x1111;
+ a[1]=0x1111;
+
+ *(int *)a = 0x22222222; /* violation of aliasing rules */
+
+ printf("%x %x\n", a[0], a[1]);
+ return 0;
+}
+
+ The aliasing rules were designed to allow compilers more
+ aggressive optimization. Basically, a compiler can assume that
+ all changes to variables happen through pointers or references
+ to variables of a type compatible to the accessed variable.
+ Dereferencing a pointer that violates the aliasing rules
+ results in undefined behavior.
+
+ In the case above, the compiler may assume that no access
+ through an integer pointer can change the array a, consisting
+ of shorts. Thus, printf may be called with the original values
+ of a[0] and a[1]. What really happens is up to the compiler and
+ may change with architecture and optimization level.
+
+ Recent versions of GCC turn on the option -fstrict-aliasing
+ (which allows alias-based optimizations) by default with -O2.
+ And some architectures then really print "1111 1111" as result.
+ Without optimization the executable will generate the
+ "expected" output "2222 2222".
+
+ To disable optimizations based on alias-analysis for faulty
+ legacy code, the option -fno-strict-aliasing can be used as a
+ work-around.
+
+ The option -Wstrict-aliasing (which is included in -Wall) warns
+ about some - but not all - cases of violation of aliasing rules
+ when -fstrict-aliasing is active.
+
+ To fix the code above, you can use a union instead of a cast
+ (note that this is a GCC extension which might not work with
+ other compilers):
+
+#include <stdio.h>
+
+int main()
+{
+ union
+ {
+ short a[2];
+ int i;
+ } u;
+
+ u.a[0]=0x1111;
+ u.a[1]=0x1111;
+
+ u.i = 0x22222222;
+
+ printf("%x %x\n", u.a[0], u.a[1]);
+ return 0;
+}
+
+ Now the result will always be "2222 2222".
+
+ For some more insight into the subject, please have a look at
+ [33]this article.
+
+ Cannot use preprocessor directive in macro arguments.
+ Let me guess... you used an older version of GCC to compile
+ code that looks something like this:
+
+ memcpy(dest, src,
+#ifdef PLATFORM1
+ 12
+#else
+ 24
+#endif
+ );
+
+ and you got a whole pile of error messages:
+
+test.c:11: warning: preprocessing directive not recognized within macro arg
+test.c:11: warning: preprocessing directive not recognized within macro arg
+test.c:11: warning: preprocessing directive not recognized within macro arg
+test.c: In function `foo':
+test.c:6: undefined or invalid # directive
+test.c:8: undefined or invalid # directive
+test.c:9: parse error before `24'
+test.c:10: undefined or invalid # directive
+
+ This is because your C library's <string.h> happens to define
+ memcpy as a macro - which is perfectly legitimate. In recent
+ versions of glibc, for example, printf is among those functions
+ which are implemented as macros.
+
+ Versions of GCC prior to 3.3 did not allow you to put #ifdef
+ (or any other preprocessor directive) inside the arguments of a
+ macro. The code therefore would not compile.
+
+ As of GCC 3.3 this kind of construct is always accepted and the
+ preprocessor will probably do what you expect, but see the
+ manual for detailed semantics.
+
+ However, this kind of code is not portable. It is "undefined
+ behavior" according to the C standard; that means different
+ compilers may do different things with it. It is always
+ possible to rewrite code which uses conditionals inside macros
+ so that it doesn't. You could write the above example
+
+#ifdef PLATFORM1
+ memcpy(dest, src, 12);
+#else
+ memcpy(dest, src, 24);
+#endif
+
+ This is a bit more typing, but I personally think it's better
+ style in addition to being more portable.
+
+ Cannot initialize a static variable with stdin.
+ This has nothing to do with GCC, but people ask us about it a
+ lot. Code like this:
+
+#include <stdio.h>
+
+FILE *yyin = stdin;
+
+ will not compile with GNU libc, because stdin is not a
+ constant. This was done deliberately, to make it easier to
+ maintain binary compatibility when the type FILE needs to be
+ changed. It is surprising for people used to traditional Unix C
+ libraries, but it is permitted by the C standard.
+
+ This construct commonly occurs in code generated by old
+ versions of lex or yacc. We suggest you try regenerating the
+ parser with a current version of flex or bison, respectively.
+ In your own code, the appropriate fix is to move the
+ initialization to the beginning of main.
+
+ There is a common misconception that the GCC developers are
+ responsible for GNU libc. These are in fact two entirely
+ separate projects; please check the [34]GNU libc web pages for
+ details.
+ _________________________________________________________________
+
+C++
+
+ Nested classes can access private members and types of the containing
+ class.
+ Defect report 45 clarifies that nested classes are members of
+ the class they are nested in, and so are granted access to
+ private members of that class.
+
+ G++ emits two copies of constructors and destructors.
+ In general there are three types of constructors (and
+ destructors).
+
+ 1. The complete object constructor/destructor.
+ 2. The base object constructor/destructor.
+ 3. The allocating constructor/deallocating destructor.
+
+ The first two are different, when virtual base classes are
+ involved.
+
+ Global destructors are not run in the correct order.
+ Global destructors should be run in the reverse order of their
+ constructors completing. In most cases this is the same as the
+ reverse order of constructors starting, but sometimes it is
+ different, and that is important. You need to compile and link
+ your programs with --use-cxa-atexit. We have not turned this
+ switch on by default, as it requires a cxa aware runtime
+ library (libc, glibc, or equivalent).
+
+ Classes in exception specifiers must be complete types.
+ [15.4]/1 tells you that you cannot have an incomplete type, or
+ pointer to incomplete (other than cv void *) in an exception
+ specification.
+
+ Exceptions don't work in multithreaded applications.
+ You need to rebuild g++ and libstdc++ with --enable-threads.
+ Remember, C++ exceptions are not like hardware interrupts. You
+ cannot throw an exception in one thread and catch it in
+ another. You cannot throw an exception from a signal handler
+ and catch it in the main thread.
+
+ Templates, scoping, and digraphs.
+ If you have a class in the global namespace, say named X, and
+ want to give it as a template argument to some other class, say
+ std::vector, then std::vector<::X> fails with a parser error.
+
+ The reason is that the standard mandates that the sequence <:
+ is treated as if it were the token [. (There are several such
+ combinations of characters - they are called digraphs.)
+ Depending on the version, the compiler then reports a parse
+ error before the character : (the colon before X) or a missing
+ closing bracket ].
+
+ The simplest way to avoid this is to write std::vector< ::X>,
+ i.e. place a space between the opening angle bracket and the
+ scope operator.
+
+ Copy constructor access check while initializing a reference.
+ Consider this code:
+
+class A
+{
+public:
+ A();
+
+private:
+ A(const A&); // private copy ctor
+};
+
+A makeA(void);
+void foo(const A&);
+
+void bar(void)
+{
+ foo(A()); // error, copy ctor is not accessible
+ foo(makeA()); // error, copy ctor is not accessible
+
+ A a1;
+ foo(a1); // OK, a1 is a lvalue
+}
+
+ Starting with GCC 3.4.0, binding an rvalue to a const reference
+ requires an accessible copy constructor. This might be
+ surprising at first sight, especially since most popular
+ compilers do not correctly implement this rule.
+
+ The C++ Standard says that a temporary object should be created
+ in this context and its contents filled with a copy of the
+ object we are trying to bind to the reference; it also says
+ that the temporary copy can be elided, but the semantic
+ constraints (eg. accessibility) of the copy constructor still
+ have to be checked.
+
+ For further information, you can consult the following
+ paragraphs of the C++ standard: [dcl.init.ref]/5, bullet 2,
+ sub-bullet 1, and [class.temporary]/2.
+
+ Common problems when upgrading the compiler
+
+ ABI changes
+
+ The C++ application binary interface (ABI) consists of two components:
+ the first defines how the elements of classes are laid out, how
+ functions are called, how function names are mangled, etc; the second
+ part deals with the internals of the objects in libstdc++. Although we
+ strive for a non-changing ABI, so far we have had to modify it with
+ each major release. If you change your compiler to a different major
+ release you must recompile all libraries that contain C++ code. If you
+ fail to do so you risk getting linker errors or malfunctioning
+ programs. Some of our Java support libraries also contain C++ code, so
+ you might want to recompile all libraries to be safe. It should not be
+ necessary to recompile if you have changed to a bug-fix release of the
+ same version of the compiler; bug-fix releases are careful to avoid
+ ABI changes. See also the [35]compatibility section of the GCC manual.
+
+ Remark: A major release is designated by a change to the first or
+ second component of the two- or three-part version number. A minor
+ (bug-fix) release is designated by a change to the third component
+ only. Thus GCC 3.2 and 3.3 are major releases, while 3.3.1 and 3.3.2
+ are bug-fix releases for GCC 3.3. With the 3.4 series we are
+ introducing a new naming scheme; the first release of this series is
+ 3.4.0 instead of just 3.4.
+
+ Standard conformance
+
+ With each release, we try to make G++ conform closer to the ISO C++
+ standard (available at [36]http://www.ncits.org/cplusplus.htm). We
+ have also implemented some of the core and library defect reports
+ (available at
+ [37]http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html &
+ [38]http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html
+ respectively).
+
+ Non-conforming legacy code that worked with older versions of GCC may
+ be rejected by more recent compilers. There is no command-line switch
+ to ensure compatibility in general, because trying to parse
+ standard-conforming and old-style code at the same time would render
+ the C++ frontend unmaintainable. However, some non-conforming
+ constructs are allowed when the command-line option -fpermissive is
+ used.
+
+ Two milestones in standard conformance are GCC 3.0 (including a major
+ overhaul of the standard library) and the 3.4.0 version (with its new
+ C++ parser).
+
+ New in GCC 3.0
+
+ * The standard library is much more conformant, and uses the std::
+ namespace (which is now a real namespace, not an alias for ::).
+ * The standard header files for the c library don't end with .h, but
+ begin with c (i.e. <cstdlib> rather than <stdlib.h>). The .h names
+ are still available, but are deprecated.
+ * <strstream> is deprecated, use <sstream> instead.
+ * streambuf::seekoff & streambuf::seekpos are private, instead use
+ streambuf::pubseekoff & streambuf::pubseekpos respectively.
+ * If std::operator << (std::ostream &, long long) doesn't exist, you
+ need to recompile libstdc++ with --enable-long-long.
+
+ If you get lots of errors about things like cout not being found,
+ you've most likely forgotten to tell the compiler to look in the std::
+ namespace. There are several ways to do this:
+ * Say std::cout at the call. This is the most explicit way of saying
+ what you mean.
+ * Say using std::cout; somewhere before the call. You will need to
+ do this for each function or type you wish to use from the
+ standard library.
+ * Say using namespace std; somewhere before the call. This is the
+ quick-but-dirty fix. This brings the whole of the std:: namespace
+ into scope. Never do this in a header file, as every user of your
+ header file will be affected by this decision.
+
+ New in GCC 3.4.0
+
+ The new parser brings a lot of improvements, especially concerning
+ name-lookup.
+ * The "implicit typename" extension got removed (it was already
+ deprecated since GCC 3.1), so that the following code is now
+ rejected, see [14.6]:
+
+template <typename> struct A
+{
+ typedef int X;
+};
+
+template <typename T> struct B
+{
+ A<T>::X x; // error
+ typename A<T>::X y; // OK
+};
+
+B<void> b;
+
+ * For similar reasons, the following code now requires the template
+ keyword, see [14.2]:
+
+template <typename> struct A
+{
+ template <int> struct X {};
+};
+
+template <typename T> struct B
+{
+ typename A<T>::X<0> x; // error
+ typename A<T>::template X<0> y; // OK
+};
+
+B<void> b;
+
+ * We now have two-stage name-lookup, so that the following code is
+ rejected, see [14.6]/9:
+
+template <typename T> int foo()
+{
+ return i; // error
+}
+
+ * This also affects members of base classes, see [14.6.2]:
+
+template <typename> struct A
+{
+ int i, j;
+};
+
+template <typename T> struct B : A<T>
+{
+ int foo1() { return i; } // error
+ int foo2() { return this->i; } // OK
+ int foo3() { return B<T>::i; } // OK
+ int foo4() { return A<T>::i; } // OK
+
+ using A<T>::j;
+ int foo5() { return j; } // OK
+};
+
+ In addition to the problems listed above, the manual contains a
+ section on [39]Common Misunderstandings with GNU C++.
+
+References
+
+ 1. http://gcc.gnu.org/bugs.html
+ 2. http://gcc.gnu.org/bugs.html#report
+ 3. http://gcc.gnu.org/bugs.html#need
+ 4. http://gcc.gnu.org/bugs.html#dontwant
+ 5. http://gcc.gnu.org/bugs.html#where
+ 6. http://gcc.gnu.org/bugs.html#detailed
+ 7. http://gcc.gnu.org/bugs.html#gnat
+ 8. http://gcc.gnu.org/bugs.html#pch
+ 9. http://gcc.gnu.org/bugs.html#known
+ 10. http://gcc.gnu.org/bugs.html#cxx
+ 11. http://gcc.gnu.org/bugs.html#missing
+ 12. http://gcc.gnu.org/bugs.html#fixed34
+ 13. http://gcc.gnu.org/bugs.html#fortran
+ 14. http://gcc.gnu.org/bugs.html#nonbugs
+ 15. http://gcc.gnu.org/bugs.html#nonbugs_general
+ 16. http://gcc.gnu.org/bugs.html#nonbugs_c
+ 17. http://gcc.gnu.org/bugs.html#nonbugs_cxx
+ 18. http://gcc.gnu.org/bugs.html#upgrading
+ 19. http://gcc.gnu.org/bugs.html#known
+ 20. http://gcc.gnu.org/bugzilla/
+ 21. mailto:gcc-bugs@gcc.gnu.org
+ 22. http://gcc.gnu.org/bugs.html#gnat
+ 23. http://gcc.gnu.org/bugs.html#pch
+ 24. http://gcc.gnu.org/bugs.html#detailed
+ 25. http://gcc.gnu.org/bugs.html#where
+ 26. http://gcc.gnu.org/bugs.html#detailed
+ 27. http://gcc.gnu.org/bugs.html#detailed
+ 28. http://gcc.gnu.org/bugs.html#new34
+ 29. http://gcc.gnu.org/onlinedocs/g77/Trouble.html
+ 30. http://gcc.gnu.org/PR323
+ 31. http://www.validlab.com/goldberg/paper.ps
+ 32. http://gcc.gnu.org/PR11751
+ 33. http://mail-index.NetBSD.org/tech-kern/2003/08/11/0001.html
+ 34. http://www.gnu.org/software/libc/
+ 35. http://gcc.gnu.org/onlinedocs/gcc/Compatibility.html
+ 36. http://www.ncits.org/cplusplus.htm
+ 37. http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html
+ 38. http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html
+ 39. http://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Misunderstandings.html
View
340 gcc-3.4.6/COPYING
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
View
504 gcc-3.4.6/COPYING.LIB
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
View
10,521 gcc-3.4.6/ChangeLog
10,521 additions, 0 deletions not shown