Skip to content
Browse files

Imported Debian patch 4.5.3-1~naesten1

  • Loading branch information...
2 parents d648976 + 994d251 commit efae923141af1df1fa1c2570790e057044b40be6 @SamB committed
Showing with 13,903 additions and 7,024 deletions.
  1. 0 { → contrib}/texi2pod.pl
  2. +3 −3 debian/Makefile
  3. +52 −27 debian/README.source
  4. +10 −0 debian/changelog
  5. +7 −7 debian/control
  6. +0 −1 debian/convert-debian-gcc-diff_cmdline-4.4.4.nf1-1
  7. +1 −0 debian/convert-debian-gcc-diff_cmdline-4.5.3
  8. +2 −1 debian/copyright
  9. +0 −2 debian/cpp-4.4-doc.info
  10. +0 −1 debian/cpp-4.4-doc.manpages
  11. +6 −6 debian/{cpp-4.4-doc.doc-base.cpp → cpp-4.5-doc.doc-base.cpp}
  12. +6 −6 debian/{cpp-4.4-doc.doc-base.cppint → cpp-4.5-doc.doc-base.cppint}
  13. 0 debian/{cpp-4.4-doc.docs → cpp-4.5-doc.docs}
  14. +2 −0 debian/cpp-4.5-doc.info
  15. +1 −0 debian/cpp-4.5-doc.manpages
  16. +61 −0 debian/extract-doc-tarball-from-upstream
  17. +0 −14 debian/gcc-4.4-doc.doc-base.gcc
  18. +0 −17 debian/gcc-4.4-doc.doc-base.gccint
  19. +0 −3 debian/gcc-4.4-doc.info
  20. +0 −1 debian/gcc-4.4-doc.links
  21. +0 −2 debian/gcc-4.4-doc.manpages
  22. +14 −0 debian/gcc-4.5-doc.doc-base.gcc
  23. +17 −0 debian/gcc-4.5-doc.doc-base.gccint
  24. 0 debian/{gcc-4.4-doc.docs → gcc-4.5-doc.docs}
  25. +3 −0 debian/gcc-4.5-doc.info
  26. +1 −0 debian/gcc-4.5-doc.links
  27. +2 −0 debian/gcc-4.5-doc.manpages
  28. +0 −1 debian/gcj-4.4-doc.info
  29. +0 −7 debian/gcj-4.4-doc.manpages
  30. +6 −6 debian/{gcj-4.4-doc.doc-base → gcj-4.5-doc.doc-base}
  31. 0 debian/{gcj-4.4-doc.docs → gcj-4.5-doc.docs}
  32. +1 −0 debian/gcj-4.5-doc.info
  33. +7 −0 debian/gcj-4.5-doc.manpages
  34. +0 −14 debian/gfortran-4.4-doc.doc-base
  35. +0 −1 debian/gfortran-4.4-doc.info
  36. +0 −1 debian/gfortran-4.4-doc.manpages
  37. +14 −0 debian/gfortran-4.5-doc.doc-base
  38. 0 debian/{gfortran-4.4-doc.docs → gfortran-4.5-doc.docs}
  39. +1 −0 debian/gfortran-4.5-doc.info
  40. +1 −0 debian/gfortran-4.5-doc.manpages
  41. +0 −15 debian/gnat-4.4-doc.doc-base.style
  42. +0 −3 debian/gnat-4.4-doc.info
  43. +6 −6 debian/{gnat-4.4-doc.doc-base.rm → gnat-4.5-doc.doc-base.rm}
  44. +15 −0 debian/gnat-4.5-doc.doc-base.style
  45. +6 −6 debian/{gnat-4.4-doc.doc-base.ugn → gnat-4.5-doc.doc-base.ugn}
  46. 0 debian/{gnat-4.4-doc.docs → gnat-4.5-doc.docs}
  47. +3 −0 debian/gnat-4.5-doc.info
  48. +2 −4 debian/patches/00list
  49. 0 debian/patches/from-debian-gcc-alpha-ieee-doc.diff
  50. +0 −271 debian/patches/from-debian-gcc-cell-branch-doc.diff
  51. +0 −53 debian/patches/from-debian-gcc-gcc-atom-doc.diff
  52. +80 −0 debian/patches/from-debian-gcc-gcc-plugindir-doc.diff
  53. +0 −44 debian/patches/from-debian-gcc-gcj-use-atomic-builtins-doc.diff
  54. +0 −53 debian/patches/from-debian-gcc-pr25509-doc.diff
  55. +57 −0 debian/patches/from-debian-gcc-pr40521-sequel-doc.diff
  56. +123 −123 debian/patches/from-debian-gcc-rename-info-files.diff
  57. +492 −186 gcc/ada/gnat_rm.texi
  58. +1,674 −300 gcc/ada/gnat_ugn.texi
  59. +6 −6 gcc/doc/arm-neon-intrinsics.texi
  60. +0 −2,965 gcc/doc/c-tree.texi
  61. +3 −4 gcc/doc/cfg.texi
  62. +4 −0 gcc/doc/collect2.texi
  63. +1 −5 gcc/doc/configfiles.texi
  64. +18 −7 gcc/doc/contrib.texi
  65. +124 −22 gcc/doc/cpp.texi
  66. +8 −6 gcc/doc/cppopts.texi
  67. +1,053 −279 gcc/doc/extend.texi
  68. +12 −4 gcc/doc/fsf-funding.7
  69. +2 −0 gcc/doc/gcc.texi
  70. +4 −3 gcc/doc/gccint.texi
  71. +3,270 −104 gcc/doc/generic.texi
  72. +14 −6 gcc/doc/gfdl.7
  73. +106 −48 gcc/doc/gimple.texi
  74. +17 −9 gcc/doc/gpl.7
  75. +11 −4 gcc/doc/gty.texi
  76. +10 −1 gcc/doc/hostconfig.texi
  77. +47 −0 gcc/doc/implement-cxx.texi
  78. +551 −258 gcc/doc/install.texi
  79. +1,787 −596 gcc/doc/invoke.texi
  80. +2 −2 gcc/doc/languages.texi
  81. +1 −1 gcc/doc/loop.texi
  82. +8 −9 gcc/doc/makefile.texi
  83. +313 −274 gcc/doc/md.texi
  84. +11 −2 gcc/doc/options.texi
  85. +26 −6 gcc/doc/passes.texi
  86. +430 −0 gcc/doc/plugins.texi
  87. +111 −9 gcc/doc/rtl.texi
  88. +1,184 −222 gcc/doc/sourcebuild.texi
  89. +9 −9 gcc/doc/standards.texi
  90. +832 −406 gcc/doc/tm.texi
  91. +94 −195 gcc/doc/tree-ssa.texi
  92. +3 −97 gcc/doc/trouble.texi
  93. +57 −7 gcc/fortran/gfc-internals.texi
  94. +715 −27 gcc/fortran/gfortran.texi
  95. +269 −220 gcc/fortran/intrinsic.texi
  96. +107 −26 gcc/fortran/invoke.texi
  97. +7 −0 gcc/java/gcj.texi
View
0 texi2pod.pl → contrib/texi2pod.pl
File renamed without changes.
View
6 debian/Makefile
@@ -12,8 +12,8 @@ M = $(M1)
MANS = $(M:%=%-$(VER).1)
PODS = $(M:%=%.pod)
-VER = 4.4
-FULLVER = 4.4.4
+VER = 4.5
+FULLVER = 4.5.3
GCCVERS = gcc/doc/gcc-vers.texi
@@ -34,7 +34,7 @@ MKINFO_FLAGS := --no-split -Igcc/doc -Igcc/doc/include
MKINFO = makeinfo $(MKINFO_DEFINES) $(MKINFO_FLAGS)
TEXI2POD_DEFINES := -Dfngccint=gccint-$(VER) -DBUGURL=http://bugs.debian.org/
-TEXI2POD = perl ../../texi2pod.pl $(TEXI2POD_DEFINES)
+TEXI2POD = perl ../../contrib/texi2pod.pl $(TEXI2POD_DEFINES)
all : $(TARGETS)
View
79 debian/README.source
@@ -1,29 +1,29 @@
-This package provides documentation for debian GNU Compiler Collenction
+This package provides documentation for Debian's GNU Compiler Collection
packages.
Problem is the documentation is GFDL-licensed, and does contain invariant
sections. This makes the documentation files undistributable by Debian.
-These files have beed extracted from gcc upstream tarball by hand, and packed
-together into gcc-X.Y-doc-non-dfsg .orig.tar.gz file. This work has to be
-redone for every new upstream release.
-
Policy is to have only unmodified upstream files in .orig.tar.gz file.
Everything else is added in the debian source package files.
+The .orig.tar.gz file is generated by a Python script which basically
+greps through the upstream tarball for the documentation sources. This
+has to be redone for *every* new upstream release.
+
The debian gcc-X.Y-doc-non-dfsg debian package adds a Makefile and debian
packaging files to that 'upstream' archive. Also, it applies several patches
-on the 'upstream' files, for two reasons:
-- since debian gcc differs from upstream gcc, some changes into documentation
- are needed as well,
-- sometimes additional patching is required to make documentation build from
+on the 'upstream' files, for several reasons:
+- Since Debian routinely carries multiple versions of GCC simultaneously,
+ we rename the .info files so that they can coexist as well, which requires
+ that cross-references be adjusted accordingly.
+- Since Debian GCC differs from upstream GCC, some changes to documentation
+ are needed as well.
+- Sometimes additional patching is required to make documentation build from
source.
-When moving to new 'upstream' version, don't forget to update VER and FULLVER
-Makefile variables.
-
Patches are managed by 'dpatch' system.
-See /usr/share/doc/dpatch/README.source.gz (provided by dpatchpackage since
+See /usr/share/doc/dpatch/README.source.gz (provided by dpatch package since
version 2.0.30) for more information on how to work with dpatch-using debian
source packages.
@@ -39,16 +39,38 @@ be applied before from-debian-gcc-* patches), or zNN (if it should be applied
after from-debian-gcc-* patches). Also better not to touch from-debian-gcc-*
patches by hand and use debian/convert-debian-gcc-diff script instead.
-Updating .orig.tar.gz to new upstream release includes the following steps:
-- update existing .texi files from gcc/doc/, gcc/ada/, gcc/fortran/,
- gcc/java/, and libiberty/,
-- update *.7 manual pages from gcc/doc (those go unmodified to gcc-doc-base
- package to match licensing requirements),
-- update contrib/texi2pod.pl script (it is used by documentation build)
-- try to build and add any possible new referenced .texi files.
+Updating to a new upstream release includes the following steps:
+- Generate the new .orig.tar.gz from the upstream tarball using the
+ debian/extract-doc-tarball-from-upstream script, which takes care of
+ the following:
+ - update existing .texi files from gcc/doc/, gcc/ada/, gcc/fortran/,
+ gcc/java/, and libiberty/,
+ - update *.7 manual pages from gcc/doc (those go unmodified to gcc-doc-base
+ package to match licensing requirements),
+ - update contrib/texi2pod.pl script (it is used by documentation build).
+ (In fact, the script just grabs all .texi and .7 files in the gcc/
+ subtree, along with the one .texi from libibirty/ and contrib/texi2pod.pl.)
+- Unpack the new .orig.tar.gz.
+- Copy the (cleaned) debian/ tree over from the previous package, or
+ apply the previous .diff.gz to the new tree.
+- Update debian/Makefile to build any newly-referenced documents,
+ and the various <package>.{docs,doc-base.*,info,links,manpages}
+ files to install and register them appropriately.
+- Update VER and FULLVER in debian/Makefile.
+- Also follow the instructions below for syncing with a new Debian package release.
-Syncing against new debian package release includes the following steps:
-- check what texi files are modified by patches from debian gcc source
+If updating to a new X.Y release, you must also:
+- rename all packages in debian/control whose names should contain X.Y,
+- rename the <package>.<FOO> files to match,
+- edit the <package>.<FOO> files to use the new version number, keeping
+ in mind that:
+ - the .manpages line for GCC's manpage should be gcc-X.Y.1, not
+ X.Y.Z; the last number is the section number for the manpage,
+- add a new entry to debian/changelog with the new source package name
+ before even *thinking* about building!
+
+Syncing against a new Debian package release includes the following steps:
+- check what .texi files are modified by patches from debian gcc source
package; don't forget that:
- if .texi modification is in the same patch file as other modifications,
it will be commented out (because .texi files are not there in debian
@@ -56,10 +78,13 @@ Syncing against new debian package release includes the following steps:
debian/convert-debian-gcc-diff script
- not all patches from debian/patches/ are applied to debian packages,
have to check build scripts to find out what is applied and what is not
- (also this information is included in
- /usr/share/doc/gcc-X.Y-base/README.Debian.gz file provided by gcc-X.Y-base
- package),
-- construct new debian/convert-debian-gcc-diff command line and execute it,
-- replace saved debian/convert-debian-gcc-diff command line with a new one,
+ (some of this information is included in
+ /usr/share/doc/gcc-X.Y-base/README.Debian.<arch>.gz file provided by the
+ gcc-X.Y-base package, but this will miss architecture-specific patches that
+ don't apply to the <arch> architecture),
+- construct a new debian/convert-debian-gcc-diff command line and execute it,
+- replace saved debian/convert-debian-gcc-diff command line with the new one,
- check that package builds without any warnings! if not, find out what's
wrong and fix it.
+
+ -- Samuel Bronson <naesten@gmail.com>, Tue, 17 Jan 2012 15:27:17 -0500
View
10 debian/changelog
@@ -1,3 +1,13 @@
+gcc-4.5-doc-non-dfsg (4.5.3-1~naesten1) unstable; urgency=low
+
+ * Packaged documentation for gcc, gnat, and gcj version 4.5.3.
+ * Use new script debian/extract-doc-tarball-from-upstream to generate
+ .orig.tar.gz file.
+ + Move texi2pod.pl to contrib/texi2pod.pl, where it appears upstream,
+ to avoid having to special-case it.
+
+ -- Samuel Bronson <naesten@gmail.com> Mon, 16 Jan 2012 16:54:25 -0500
+
gcc-4.4-doc-non-dfsg (4.4.4.nf1-1) unstable; urgency=low
* Packaged documentation files for gcc, gnat and gcj version 4.4.4.
View
14 debian/control
@@ -1,4 +1,4 @@
-Source: gcc-4.4-doc-non-dfsg
+Source: gcc-4.5-doc-non-dfsg
Section: non-free/doc
Priority: optional
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
@@ -18,7 +18,7 @@ Description: several GNU manual pages
which should be available together with gcc man pages to fit
GNU Free Documentation License requirements.
-Package: gcc-4.4-doc
+Package: gcc-4.5-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -32,7 +32,7 @@ Description: documentation for the GNU compilers (gcc, gobjc, g++)
Documentation License, and contains invariant sections, so it can't be
part of Debian main.
-Package: cpp-4.4-doc
+Package: cpp-4.5-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -44,7 +44,7 @@ Description: documentation for the GNU C preprocessor (cpp)
Documentation License, and contains invariant sections, so it can't be
part of Debian main.
-Package: gfortran-4.4-doc
+Package: gfortran-4.5-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -56,7 +56,7 @@ Description: documentation for the GNU Fortran Compiler (gfortran)
Documentation License, and contains invariant sections, so it can't be
part of Debian main.
-Package: gnat-4.4-doc
+Package: gnat-4.5-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -68,11 +68,11 @@ Description: documentation for the GNU Ada 95 Compiler (gnat)
Documentation License, and contains invariant sections, so it can't be
part of Debian main.
-Package: gcj-4.4-doc
+Package: gcj-4.5-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
-Provides: gij-4.4-doc
+Provides: gij-4.5-doc
Description: documentation for the GNU Java tools (gcj, gij)
This package contains manual pages and documentation in info and
html format, for the GNU Java Compiler, the GNU interpreter for Java
View
1 debian/convert-debian-gcc-diff_cmdline-4.4.4.nf1-1
@@ -1 +0,0 @@
-perl debian/convert-debian-gcc-diff /home/nikita/debian/gcc-doc/gcc-4.4-4.4.4-1/debian/patches rename-info-files.diff alpha-ieee-doc.diff cell-branch-doc.diff gcc-atom-doc.diff pr25509-doc.diff gcj-use-atomic-builtins-doc.diff
View
1 debian/convert-debian-gcc-diff_cmdline-4.5.3
@@ -0,0 +1 @@
+perl debian/convert-debian-gcc-diff ~/hacking/debian/gcc-4.5-4.5.3/debian/patches rename-info-files.diff gcc-plugindir-doc.diff pr40521-sequel-doc.diff alpha-ieee-doc.diff
View
3 debian/copyright
@@ -1,4 +1,5 @@
-This package was put together by Nikita V. Youshchenko <yoush@debian.org>.
+This package was thrown together by Samuel J. J. Bronson <naesten@gmail.com>,
+based on gcc-4.4-doc-non-dfsg by Nikita V. Youshchenko <yoush@debian.org>.
Package contains documentation files from gcc upstream distribution,
that was downloaded from ftp://ftp.gnu.org/gnu/gcc/.
View
2 debian/cpp-4.4-doc.info
@@ -1,2 +0,0 @@
-cpp-4.4.info
-cppinternals-4.4.info
View
1 debian/cpp-4.4-doc.manpages
@@ -1 +0,0 @@
-cpp-4.4.1
View
12 debian/cpp-4.4-doc.doc-base.cpp → debian/cpp-4.5-doc.doc-base.cpp
@@ -1,5 +1,5 @@
-Document: cpp-4.4
-Title: The GNU C preprocessor, version 4.4
+Document: cpp-4.5
+Title: The GNU C preprocessor, version 4.5
Author: Various
Abstract: The C preprocessor is a "macro processor" that is used automatically
by the C compiler to transform your program before actual compilation.
@@ -8,9 +8,9 @@ Abstract: The C preprocessor is a "macro processor" that is used automatically
Section: Programming
Format: html
-Index: /usr/share/doc/cpp-4.4-doc/cpp.html
-Files: /usr/share/doc/cpp-4.4-doc/cpp.html
+Index: /usr/share/doc/cpp-4.5-doc/cpp.html
+Files: /usr/share/doc/cpp-4.5-doc/cpp.html
Format: info
-Index: /usr/share/info/cpp-4.4.info.gz
-Files: /usr/share/info/cpp-4.4*
+Index: /usr/share/info/cpp-4.5.info.gz
+Files: /usr/share/info/cpp-4.5*
View
12 debian/cpp-4.4-doc.doc-base.cppint → debian/cpp-4.5-doc.doc-base.cppint
@@ -1,5 +1,5 @@
-Document: cppinternals-4.4
-Title: Internals of the GNU C preprocessor, version 4.4
+Document: cppinternals-4.5
+Title: Internals of the GNU C preprocessor, version 4.5
Author: Various
Abstract: This brief manual documents the internals of cpplib, and
explains some of the tricky issues. It is intended that, along with
@@ -9,9 +9,9 @@ Abstract: This brief manual documents the internals of cpplib, and
Section: Programming
Format: html
-Index: /usr/share/doc/cpp-4.4-doc/cppinternals.html
-Files: /usr/share/doc/cpp-4.4-doc/cppinternals.html
+Index: /usr/share/doc/cpp-4.5-doc/cppinternals.html
+Files: /usr/share/doc/cpp-4.5-doc/cppinternals.html
Format: info
-Index: /usr/share/info/cppinternals-4.4.info.gz
-Files: /usr/share/info/cppinternals-4.4*
+Index: /usr/share/info/cppinternals-4.5.info.gz
+Files: /usr/share/info/cppinternals-4.5*
View
0 debian/cpp-4.4-doc.docs → debian/cpp-4.5-doc.docs
File renamed without changes.
View
2 debian/cpp-4.5-doc.info
@@ -0,0 +1,2 @@
+cpp-4.5.info
+cppinternals-4.5.info
View
1 debian/cpp-4.5-doc.manpages
@@ -0,0 +1 @@
+cpp-4.5.1
View
61 debian/extract-doc-tarball-from-upstream
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2012 Samuel Bronson
+#
+# Made available under the "expat" license, which follows:
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+import sys, tarfile, re, posixpath
+from pprint import pprint
+
+try:
+ infn, pkg, ver = sys.argv[1:]
+except ValueError:
+ print "usage: %s gcc-X.Y.Z.tar.(gz|bz2) gcc-X.Y-doc-non-dfsg X.Y.Z[.mumble]" % sys.argv[0]
+ exit(1)
+
+outfn = '%s_%s.orig.tar.gz' % (pkg, ver)
+
+# directory that output tarball would extract to
+outdir = '%s-%s' % (pkg, ver)
+
+intar = tarfile.open(infn, 'r|*', format=tarfile.PAX_FORMAT)
+outtar = tarfile.open(outfn, 'w:gz')
+
+pat = re.compile(r"^gcc/.*\.(7|texi)$ | ^libiberty/at-file.texi$ | ^contrib/texi2pod\.pl$",
+ re.VERBOSE)
+
+for member in intar:
+ if not member.isreg():
+ continue
+
+ _, path = member.name.split('/', 1)
+
+ mo = pat.search(path)
+ if not mo:
+ continue
+
+ outpath = posixpath.join(outdir, path)
+ print outpath
+
+ mf = intar.extractfile(member)
+ member.name = outpath
+ outtar.addfile(member, mf)
View
14 debian/gcc-4.4-doc.doc-base.gcc
@@ -1,14 +0,0 @@
-Document: gcc-4.4
-Title: The GNU C and C++ compiler, version 4.4
-Author: Various
-Abstract: This manual documents how to run, install and port the GNU compiler,
- as well as its new features and incompatibilities, and how to report bugs.
-Section: Programming
-
-Format: html
-Index: /usr/share/doc/gcc-4.4-doc/gcc.html
-Files: /usr/share/doc/gcc-4.4-doc/gcc.html
-
-Format: info
-Index: /usr/share/info/gcc-4.4.info.gz
-Files: /usr/share/info/gcc-4.4*
View
17 debian/gcc-4.4-doc.doc-base.gccint
@@ -1,17 +0,0 @@
-Document: gccint-4.4
-Title: Internals of the GNU C compiler, version 4.4
-Author: Various
-Abstract: This manual documents the internals of the GNU compilers,
- including how to port them to new targets and some information about
- how to write front ends for new languages. It corresponds to GCC
- version 4.4.x. The use of the GNU compilers is documented in a
- separate manual.
-Section: Programming
-
-Format: html
-Index: /usr/share/doc/gcc-4.4-doc/gccint.html
-Files: /usr/share/doc/gcc-4.4-doc/gccint.html
-
-Format: info
-Index: /usr/share/info/gccint-4.4.info.gz
-Files: /usr/share/info/gccint-4.4*
View
3 debian/gcc-4.4-doc.info
@@ -1,3 +0,0 @@
-gcc-4.4.info
-gccint-4.4.info
-gccinstall-4.4.info
View
1 debian/gcc-4.4-doc.links
@@ -1 +0,0 @@
-usr/share/man/man1/gcc-4.4.1.gz usr/share/man/man1/g++-4.4.1.gz
View
2 debian/gcc-4.4-doc.manpages
@@ -1,2 +0,0 @@
-gcc-4.4.1
-gcov-4.4.1
View
14 debian/gcc-4.5-doc.doc-base.gcc
@@ -0,0 +1,14 @@
+Document: gcc-4.5
+Title: The GNU C and C++ compiler, version 4.5
+Author: Various
+Abstract: This manual documents how to run, install and port the GNU compiler,
+ as well as its new features and incompatibilities, and how to report bugs.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-4.5-doc/gcc.html
+Files: /usr/share/doc/gcc-4.5-doc/gcc.html
+
+Format: info
+Index: /usr/share/info/gcc-4.5.info.gz
+Files: /usr/share/info/gcc-4.5*
View
17 debian/gcc-4.5-doc.doc-base.gccint
@@ -0,0 +1,17 @@
+Document: gccint-4.5
+Title: Internals of the GNU C compiler, version 4.5
+Author: Various
+Abstract: This manual documents the internals of the GNU compilers,
+ including how to port them to new targets and some information about
+ how to write front ends for new languages. It corresponds to GCC
+ version 4.5.x. The use of the GNU compilers is documented in a
+ separate manual.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-4.5-doc/gccint.html
+Files: /usr/share/doc/gcc-4.5-doc/gccint.html
+
+Format: info
+Index: /usr/share/info/gccint-4.5.info.gz
+Files: /usr/share/info/gccint-4.5*
View
0 debian/gcc-4.4-doc.docs → debian/gcc-4.5-doc.docs
File renamed without changes.
View
3 debian/gcc-4.5-doc.info
@@ -0,0 +1,3 @@
+gcc-4.5.info
+gccint-4.5.info
+gccinstall-4.5.info
View
1 debian/gcc-4.5-doc.links
@@ -0,0 +1 @@
+usr/share/man/man1/gcc-4.5.1.gz usr/share/man/man1/g++-4.5.1.gz
View
2 debian/gcc-4.5-doc.manpages
@@ -0,0 +1,2 @@
+gcc-4.5.1
+gcov-4.5.1
View
1 debian/gcj-4.4-doc.info
@@ -1 +0,0 @@
-gcj-4.4.info
View
7 debian/gcj-4.4-doc.manpages
@@ -1,7 +0,0 @@
-gcj-4.4.1
-gij-4.4.1
-jcf-dump-4.4.1
-jv-convert-4.4.1
-grmic-4.4.1
-gcj-dbtool-4.4.1
-gc-analyse-4.4.1
View
12 debian/gcj-4.4-doc.doc-base → debian/gcj-4.5-doc.doc-base
@@ -1,5 +1,5 @@
-Document: gcj-4.4
-Title: Guide to GNU gcj, version 4.4
+Document: gcj-4.5
+Title: Guide to GNU gcj, version 4.5
Author: Various
Abstract: This manual describes how to use gcj, the GNU compiler for the Java
programming language. gcj can generate both .class files and object files,
@@ -7,9 +7,9 @@ Abstract: This manual describes how to use gcj, the GNU compiler for the Java
Section: Programming
Format: html
-Index: /usr/share/doc/gcj-4.4-doc/gcj.html
-Files: /usr/share/doc/gcj-4.4-doc/gcj.html
+Index: /usr/share/doc/gcj-4.5-doc/gcj.html
+Files: /usr/share/doc/gcj-4.5-doc/gcj.html
Format: info
-Index: /usr/share/info/gcj-4.4.info.gz
-Files: /usr/share/info/gcj-4.4*
+Index: /usr/share/info/gcj-4.5.info.gz
+Files: /usr/share/info/gcj-4.5*
View
0 debian/gcj-4.4-doc.docs → debian/gcj-4.5-doc.docs
File renamed without changes.
View
1 debian/gcj-4.5-doc.info
@@ -0,0 +1 @@
+gcj-4.5.info
View
7 debian/gcj-4.5-doc.manpages
@@ -0,0 +1,7 @@
+gcj-4.5.1
+gij-4.5.1
+jcf-dump-4.5.1
+jv-convert-4.5.1
+grmic-4.5.1
+gcj-dbtool-4.5.1
+gc-analyse-4.5.1
View
14 debian/gfortran-4.4-doc.doc-base
@@ -1,14 +0,0 @@
-Document: gfortran-4.4
-Title: The GNU Fortran Compiler, version 4.4
-Author: Various
-Abstract: This manual documents how to run, install and port `gfortran',
- as well as its new features and incompatibilities, and how to report bugs.
-Section: Programming
-
-Format: html
-Index: /usr/share/doc/gfortran-4.4-doc/gfortran.html
-Files: /usr/share/doc/gfortran-4.4-doc/gfortran.html
-
-Format: info
-Index: /usr/share/info/gfortran-4.4.info.gz
-Files: /usr/share/info/gfortran-4.4*
View
1 debian/gfortran-4.4-doc.info
@@ -1 +0,0 @@
-gfortran-4.4.info
View
1 debian/gfortran-4.4-doc.manpages
@@ -1 +0,0 @@
-gfortran-4.4.1
View
14 debian/gfortran-4.5-doc.doc-base
@@ -0,0 +1,14 @@
+Document: gfortran-4.5
+Title: The GNU Fortran Compiler, version 4.5
+Author: Various
+Abstract: This manual documents how to run, install and port `gfortran',
+ as well as its new features and incompatibilities, and how to report bugs.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gfortran-4.5-doc/gfortran.html
+Files: /usr/share/doc/gfortran-4.5-doc/gfortran.html
+
+Format: info
+Index: /usr/share/info/gfortran-4.5.info.gz
+Files: /usr/share/info/gfortran-4.5*
View
0 debian/gfortran-4.4-doc.docs → debian/gfortran-4.5-doc.docs
File renamed without changes.
View
1 debian/gfortran-4.5-doc.info
@@ -0,0 +1 @@
+gfortran-4.5.info
View
1 debian/gfortran-4.5-doc.manpages
@@ -0,0 +1 @@
+gfortran-4.5.1
View
15 debian/gnat-4.4-doc.doc-base.style
@@ -1,15 +0,0 @@
-Document: gnat-style-4.4
-Title: GNAT Coding Style, version 4.4
-Author: Various
-Abstract: Most of GNAT is written in Ada using a consistent style
- to ensure readability of the code. This document has been written
- to help maintain this consistent style.
-Section: Programming
-
-Format: html
-Index: /usr/share/doc/gnat-4.4-doc/gnat-style.html
-Files: /usr/share/doc/gnat-4.4-doc/gnat-style.html
-
-Format: info
-Index: /usr/share/info/gnat-style-4.4.info.gz
-Files: /usr/share/info/gnat-style-4.4.info.gz
View
3 debian/gnat-4.4-doc.info
@@ -1,3 +0,0 @@
-gnat_rm-4.4.info
-gnat-style-4.4.info
-gnat_ugn-4.4.info
View
12 debian/gnat-4.4-doc.doc-base.rm → debian/gnat-4.5-doc.doc-base.rm
@@ -1,5 +1,5 @@
-Document: gnat-rm-4.4
-Title: GNAT Reference Manual, version 4.4
+Document: gnat-rm-4.5
+Title: GNAT Reference Manual, version 4.5
Author: Various
Abstract: This manual contains useful information in writing programs using
the GNAT compiler. It includes information on implementation dependent
@@ -8,9 +8,9 @@ Abstract: This manual contains useful information in writing programs using
Section: Programming
Format: html
-Index: /usr/share/doc/gnat-4.4-doc/gnat_rm.html
-Files: /usr/share/doc/gnat-4.4-doc/gnat_rm.html
+Index: /usr/share/doc/gnat-4.5-doc/gnat_rm.html
+Files: /usr/share/doc/gnat-4.5-doc/gnat_rm.html
Format: info
-Index: /usr/share/info/gnat_rm-4.4.info.gz
-Files: /usr/share/info/gnat_rm-4.4.info.gz
+Index: /usr/share/info/gnat_rm-4.5.info.gz
+Files: /usr/share/info/gnat_rm-4.5.info.gz
View
15 debian/gnat-4.5-doc.doc-base.style
@@ -0,0 +1,15 @@
+Document: gnat-style-4.5
+Title: GNAT Coding Style, version 4.5
+Author: Various
+Abstract: Most of GNAT is written in Ada using a consistent style
+ to ensure readability of the code. This document has been written
+ to help maintain this consistent style.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gnat-4.5-doc/gnat-style.html
+Files: /usr/share/doc/gnat-4.5-doc/gnat-style.html
+
+Format: info
+Index: /usr/share/info/gnat-style-4.5.info.gz
+Files: /usr/share/info/gnat-style-4.5.info.gz
View
12 debian/gnat-4.4-doc.doc-base.ugn → debian/gnat-4.5-doc.doc-base.ugn
@@ -1,5 +1,5 @@
-Document: gnat-ugn-4.4
-Title: GNAT User's Guide, version 4.4
+Document: gnat-ugn-4.5
+Title: GNAT User's Guide, version 4.5
Author: Various
Abstract: This guide describes the use of GNAT, a compiler and
software development toolset for the full Ada 95 programming
@@ -8,9 +8,9 @@ Abstract: This guide describes the use of GNAT, a compiler and
Section: Programming
Format: html
-Index: /usr/share/doc/gnat-4.4-doc/gnat_ugn.html
-Files: /usr/share/doc/gnat-4.4-doc/gnat_ugn.html
+Index: /usr/share/doc/gnat-4.5-doc/gnat_ugn.html
+Files: /usr/share/doc/gnat-4.5-doc/gnat_ugn.html
Format: info
-Index: /usr/share/info/gnat_ugn-4.4.info.gz
-Files: /usr/share/info/gnat_ugn-4.4.info.gz
+Index: /usr/share/info/gnat_ugn-4.5.info.gz
+Files: /usr/share/info/gnat_ugn-4.5.info.gz
View
0 debian/gnat-4.4-doc.docs → debian/gnat-4.5-doc.docs
File renamed without changes.
View
3 debian/gnat-4.5-doc.info
@@ -0,0 +1,3 @@
+gnat_rm-4.5.info
+gnat-style-4.5.info
+gnat_ugn-4.5.info
View
6 debian/patches/00list
@@ -1,6 +1,4 @@
from-debian-gcc-rename-info-files.diff
+from-debian-gcc-gcc-plugindir-doc.diff
+from-debian-gcc-pr40521-sequel-doc.diff
from-debian-gcc-alpha-ieee-doc.diff
-from-debian-gcc-cell-branch-doc.diff
-from-debian-gcc-gcc-atom-doc.diff
-from-debian-gcc-pr25509-doc.diff
-from-debian-gcc-gcj-use-atomic-builtins-doc.diff
View
0 debian/patches/from-debian-gcc-alpha-ieee-doc.diff 100755 → 100644
File mode changed.
View
271 debian/patches/from-debian-gcc-cell-branch-doc.diff
@@ -1,271 +0,0 @@
-#!/bin/sh -e
-
-# DP: This patch was converted from cell-branch-doc.diff
-# DP: Original comment:
-# DP:
-# DP: Updates from the cell-4_4-branch (documentation) up to 20091209
-
-dir=
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
- dir="$3/"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch)
- patch $pdir -f --no-backup-if-mismatch -p0 < $0
- ;;
- -unpatch)
- patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
- ;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
---- gcc/doc/extend.texi (.../gcc-4_4-branch)
-+++ gcc/doc/extend.texi (.../cell-4_4-branch)
-@@ -38,6 +38,7 @@
- * Decimal Float:: Decimal Floating Types.
- * Hex Floats:: Hexadecimal floating-point constants.
- * Fixed-Point:: Fixed-Point Types.
-+* Named Address Spaces::Named address spaces.
- * Zero Length:: Zero-length arrays.
- * Variable Length:: Arrays whose length is computed at run time.
- * Empty Structures:: Structures with no members.
-@@ -1147,6 +1148,31 @@
-
- Fixed-point types are supported by the DWARF2 debug information format.
-
-+@node Named Address Spaces
-+@section Named address spaces
-+@cindex named address spaces
-+
-+As an extension, the GNU C compiler supports named address spaces as
-+defined in the N1275 draft of ISO/IEC DTR 18037. Support for named
-+address spaces in GCC will evolve as the draft technical report changes.
-+Calling conventions for any target might also change. At present, only
-+the SPU target supports other address spaces. On the SPU target, for
-+example, variables may be declared as belonging to another address space
-+by qualifying the type with the @code{__ea} address space identifier:
-+
-+@smallexample
-+extern int __ea i;
-+@end smallexample
-+
-+When the variable @code{i} is accessed, the compiler will generate
-+special code to access this variable. It may use runtime library
-+support, or generate special machine instructions to access that address
-+space.
-+
-+The @code{__ea} identifier may be used exactly like any other C type
-+qualifier (e.g., @code{const} or @code{volatile}). See the N1275
-+document for more details.
-+
- @node Zero Length
- @section Arrays of Length Zero
- @cindex arrays of length zero
-@@ -5700,7 +5726,7 @@
-
- The types defined in this manner can be used with a subset of normal C
- operations. Currently, GCC will allow using the following operators
--on these types: @code{+, -, *, /, unary minus, ^, |, &, ~}@.
-+on these types: @code{+, -, *, /, unary minus, ^, |, &, ~, %}@.
-
- The operations behave like C++ @code{valarrays}. Addition is defined as
- the addition of the corresponding elements of the operands. For
---- gcc/doc/tm.texi (.../gcc-4_4-branch)
-+++ gcc/doc/tm.texi (.../cell-4_4-branch)
-@@ -55,6 +55,7 @@
- * MIPS Coprocessors:: MIPS coprocessor support and how to customize it.
- * PCH Target:: Validity checking for precompiled headers.
- * C++ ABI:: Controlling C++ ABI changes.
-+* Named Address Spaces:: Adding support for named address spaces
- * Misc:: Everything else.
- @end menu
-
-@@ -9622,6 +9623,105 @@
- visibility or perform any other required target modifications).
- @end deftypefn
-
-+@node Named Address Spaces
-+@section Adding support for named address spaces
-+@cindex named address spaces
-+
-+The draft technical report of the ISO/IEC JTC1 S22 WG14 N1275
-+standards committee, @cite{Programming Languages - C - Extensions to
-+support embedded processors}, specifies a syntax for embedded
-+processors to specify alternate address spaces. You can configure a
-+GCC port to support section 5.1 of the draft report to add support for
-+address spaces other than the default address space. These address
-+spaces are new keywords that are similar to the @code{volatile} and
-+@code{const} type attributes.
-+
-+Pointers to named address spaces can a a different size than
-+pointers to the generic address space.
-+
-+For example, the SPU port uses the @code{__ea} address space to refer
-+to memory in the host processor, rather than memory local to the SPU
-+processor. Access to memory in the @code{__ea} address space involves
-+issuing DMA operations to move data between the host processor and the
-+local processor memory address space. Pointers in the @code{__ea}
-+address space are either 32 bits or 64 bits based on the
-+@option{-mea32} or @option{-mea64} switches (native SPU pointers are
-+always 32 bits).
-+
-+Internally, address spaces are represented as a small integer in the
-+range 0 to 15 with address space 0 being reserved for the generic
-+address space.
-+
-+@defmac TARGET_ADDR_SPACE_KEYWORDS
-+A list of @code{ADDR_SPACE_KEYWORD} macros to define each named
-+address keyword. The @code{ADDR_SPACE_KEYWORD} macro takes two
-+arguments, the keyword string and the number of the named address
-+space. For example, the SPU port uses the following to declare
-+@code{__ea} as the keyword for named address space #1:
-+@smallexample
-+#define ADDR_SPACE_EA 1
-+#define TARGET_ADDR_SPACE_KEYWORDS ADDR_SPACE_KEYWORD ("__ea", ADDR_SPACE_EA)
-+@end smallexample
-+@end defmac
-+
-+@deftypefn {Target Hook} {enum machine_mode} TARGET_ADDR_SPACE_POINTER_MODE (addr_space_t @var{address_space})
-+Define this to return the machine mode to use for pointers to
-+@var{address_space} if the target supports named address spaces.
-+The default version of this hook returns @code{ptr_mode} for the
-+generic address space only.
-+@end deftypefn
-+
-+@deftypefn {Target Hook} {enum machine_mode} TARGET_ADDR_SPACE_ADDRESS_MODE (addr_space_t @var{address_space})
-+Define this to return the machine mode to use for addresses in
-+@var{address_space} if the target supports named address spaces.
-+The default version of this hook returns @code{Pmode} for the
-+generic address space only.
-+@end deftypefn
-+
-+@deftypefn {Target Hook} bool TARGET_ADDR_SPACE_VALID_POINTER_MODE (enum machine_mode @var{mode}, addr_space_t @var{as})
-+Define this to return nonzero if the port can handle pointers
-+with machine mode @var{mode} to address space @var{as}. This target
-+hook is the same as the @code{TARGET_VALID_POINTER_MODE} target hook,
-+except that it includes explicit named address space support. The default
-+version of this hook returns true for the modes returned by either the
-+@code{TARGET_ADDR_SPACE_POINTER_MODE} or @code{TARGET_ADDR_SPACE_ADDRESS_MODE}
-+target hooks for the given address space.
-+@end deftypefn
-+
-+@deftypefn {Target Hook} {bool} TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P (enum machine_mode @var{mode}, rtx @var{exp}, bool @var{strict}, addr_space_t @var{as})
-+Define this to return true if @var{exp} is a valid address for mode
-+@var{mode} in the named address space @var{as}. The @var{strict}
-+parameter says whether strict addressing is in effect after reload has
-+finished. This target hook is the same as the
-+@code{TARGET_LEGITIMATE_ADDRESS_P} target hook, except that it includes
-+explicit named address space support.
-+@end deftypefn
-+
-+@deftypefn {Target Hook} {rtx} TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS (rtx @var{x}, rtx @var{oldx}, enum machine_mode @var{mode}, addr_space_t @var{as})
-+Define this to modify an invalid address @var{x} to be a valid address
-+with mode @var{mode} in the named address space @var{as}. This target
-+hook is the same as the @code{TARGET_LEGITIMIZE_ADDRESS} target hook,
-+except that it includes explicit named address space support.
-+@end deftypefn
-+
-+@deftypefn {Target Hook} {bool} TARGET_ADDR_SPACE_SUBSET_P (addr_space_t @var{superset}, addr_space_t @var{subset})
-+Define this to return whether the @var{subset} named address space is
-+contained within the @var{superset} named address space. Pointers to
-+a named address space that is a subset of another named address space
-+will be converted automatically without a cast if used together in
-+arithmetic operations. Pointers to a superset address space can be
-+converted to pointers to a subset address space via explict casts.
-+@end deftypefn
-+
-+@deftypefn {Target Hook} {rtx} TARGET_ADDR_SPACE_CONVERT (rtx @var{op}, tree @var{from_type}, tree @var{to_type})
-+Define this to convert the pointer expression represented by the RTL
-+@var{op} with type @var{from_type} that points to a named address
-+space to a new pointer expression with type @var{to_type} that points
-+to a different named address space. When this hook it called, it is
-+guaranteed that one of the two address spaces is a subset of the other,
-+as determined by the @code{TARGET_ADDR_SPACE_SUBSET_P} target hook.
-+@end deftypefn
-+
- @node Misc
- @section Miscellaneous Parameters
- @cindex parameters, miscellaneous
---- gcc/doc/invoke.texi (.../gcc-4_4-branch)
-+++ gcc/doc/invoke.texi (.../cell-4_4-branch)
-@@ -800,7 +800,11 @@
- -msafe-dma -munsafe-dma @gol
- -mbranch-hints @gol
- -msmall-mem -mlarge-mem -mstdmain @gol
---mfixed-range=@var{register-range}}
-+-mfixed-range=@var{register-range} @gol
-+-mea32 -mea64 @gol
-+-maddress-space-conversion -mno-address-space-conversion @gol
-+-mcache-size=@var{cache-size} @gol
-+-matomic-updates -mno-atomic-updates}
-
- @emph{System V Options}
- @gccoptlist{-Qy -Qn -YP,@var{paths} -Ym,@var{dir}}
-@@ -15255,6 +15259,46 @@
- two registers separated by a dash. Multiple register ranges can be
- specified separated by a comma.
-
-+@item -mea32
-+@itemx -mea64
-+@opindex mea32
-+@opindex mea64
-+Compile code assuming that pointers to the PPU address space accessed
-+via the @code{__ea} named address space qualifier are either 32 or 64
-+bits wide. The default is 32 bits. As this is an ABI changing option,
-+all object code in an executable must be compiled with the same setting.
-+
-+@item -maddress-space-conversion
-+@itemx -mno-address-space-conversion
-+@opindex maddress-space-conversion
-+@opindex mno-address-space-conversion
-+Allow/disallow treating the @code{__ea} address space as superset
-+of the generic address space. This enables explicit type casts
-+between @code{__ea} and generic pointer as well as implicit
-+conversions of generic pointers to @code{__ea} pointers. The
-+default is to allow address space pointer conversions.
-+
-+@item -mcache-size=@var{cache-size}
-+@opindex mcache-size
-+This option controls the version of libgcc that the compiler links to an
-+executable and selects a software-managed cache for accessing variables
-+in the @code{__ea} address space with a particular cache size. Possible
-+options for @var{cache-size} are @samp{8}, @samp{16}, @samp{32}, @samp{64}
-+and @samp{128}. The default cache size is 64KB.
-+
-+@item -matomic-updates
-+@itemx -mno-atomic-updates
-+@opindex matomic-updates
-+@opindex mno-atomic-updates
-+This option controls the version of libgcc that the compiler links to an
-+executable and selects whether atomic updates to the software-managed
-+cache of PPU-side variables are used. If you use atomic updates, changes
-+to a PPU variable from SPU code using the @code{__ea} named address space
-+qualifier will not interfere with changes to other PPU variables residing
-+in the same cache line from PPU code. If you do not use atomic updates,
-+such interference may occur; however, writing back cache lines will be
-+more efficient. The default behavior is to use atomic updates.
-+
- @item -mdual-nops
- @itemx -mdual-nops=@var{n}
- @opindex mdual-nops
---- gcc/doc/rtl.texi (.../gcc-4_4-branch)
-+++ gcc/doc/rtl.texi (.../cell-4_4-branch)
-@@ -420,6 +420,11 @@
- @findex MEM_ALIGN
- @item MEM_ALIGN (@var{x})
- The known alignment in bits of the memory reference.
-+
-+@findex MEM_ADDR_SPACE
-+@item MEM_ADDR_SPACE (@var{x})
-+The address space of the memory reference. This will commonly be zero
-+for the generic address space.
- @end table
-
- @item REG
View
53 debian/patches/from-debian-gcc-gcc-atom-doc.diff
@@ -1,53 +0,0 @@
-#!/bin/sh -e
-
-# DP: This patch was converted from gcc-atom-doc.diff
-# DP: Original comment:
-# DP:
-
-dir=
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
- dir="$3/"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch)
- patch $pdir -f --no-backup-if-mismatch -p0 < $0
- ;;
- -unpatch)
- patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
- ;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
---- gcc/doc/invoke.texi (revision 146514)
-+++ gcc/doc/invoke.texi (working copy)
-@@ -10959,6 +10959,9 @@
- @item core2
- Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
- instruction set support.
-+@item atom
-+Intel Atom CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3
-+instruction set support.
- @item k6
- AMD K6 CPU with MMX instruction set support.
- @item k6-2, k6-3
---- gcc/doc/md.texi (revision 146514)
-+++ gcc/doc/md.texi (working copy)
-@@ -7506,6 +7506,11 @@
- recognize complicated bypasses, e.g.@: when the consumer is only an address
- of insn @samp{store} (not a stored value).
-
-+If there are more one bypass with the same output and input insns, the
-+chosen bypass is the first bypass with a guard in description whose
-+guard function returns nonzero. If there is no such bypass, then
-+bypass without the guard function is chosen.
-+
- @findex exclusion_set
- @findex presence_set
- @findex final_presence_set
View
80 debian/patches/from-debian-gcc-gcc-plugindir-doc.diff
@@ -0,0 +1,80 @@
+#!/bin/sh -e
+
+# DP: This patch was converted from gcc-plugindir-doc.diff
+# DP: Original comment:
+# DP:
+# DP: Search for plugins in a default plugin dir, backport from the trunk (docs).
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/doc/plugins.texi 2010-04-02 21:54:46.000000000 +0200
++++ gcc/doc/plugins.texi 2010-05-01 17:46:54.101086672 +0200
+@@ -22,6 +22,11 @@
+ plugins as key-value pairs. Multiple plugins can be invoked by
+ specifying multiple @option{-fplugin} arguments.
+
++A plugin can be simply given by its short name (no dots or
++slashes). When simply passing @option{-fplugin=NAME}, the plugin is
++loaded from the @file{plugin} directory, so @option{-fplugin=NAME} is
++the same as @option{-fplugin=`gcc -print-file-name=plugin`/NAME.so},
++using backquote shell syntax to query the @file{plugin} directory.
+
+ @section Plugin API
+
+@@ -407,6 +412,9 @@
+ invoking @command{gcc -print-file-name=plugin} (replace if needed
+ @command{gcc} with the appropriate program path).
+
++Inside plugins, this @code{plugin} directory name can be queried by
++calling @code{default_plugin_dir_name ()}.
++
+ The following GNU Makefile excerpt shows how to build a simple plugin:
+
+ @smallexample
+--- gcc/doc/invoke.texi 2010-05-01 17:43:03.372338550 +0200
++++ gcc/doc/invoke.texi 2010-05-01 17:46:05.673586259 +0200
+@@ -425,7 +425,8 @@
+
+ @item Directory Options
+ @xref{Directory Options,,Options for Directory Search}.
+-@gccoptlist{-B@var{prefix} -I@var{dir} -iquote@var{dir} -L@var{dir}
++@gccoptlist{-B@var{prefix} -I@var{dir} -iplugindir=@var{dir}
++-iquote@var{dir} -L@var{dir}
+ -specs=@var{file} -I- --sysroot=@var{dir}}
+
+ @item Target Options
+@@ -8872,6 +8873,15 @@
+ "@var{file}"}; they are not searched for @samp{#include <@var{file}>},
+ otherwise just like @option{-I}.
+
++@item -iplugindir=@var{dir}
++Set the directory to search for plugins which are passed
++by @option{-fplugin=@var{name}} instead of
++@option{-fplugin=@var{path}/@var{name}.so}. This option is not meant
++to be used by the user, but only passed by the driver.
++
++NOTE: This is a backport for Debian/Ubuntu. Upstream versions of
++GCC 4.5 don't have this option.
++
+ @item -L@var{dir}
+ @opindex L
+ Add directory @var{dir} to the list of directories to be searched
View
44 debian/patches/from-debian-gcc-gcj-use-atomic-builtins-doc.diff
@@ -1,44 +0,0 @@
-#!/bin/sh -e
-
-# DP: This patch was converted from gcj-use-atomic-builtins-doc.diff
-# DP: Original comment:
-# DP:
-# DP: gcj: add option -fuse-atomic-builtins (documentation)
-
-dir=
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
- dir="$3/"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch)
- patch $pdir -f --no-backup-if-mismatch -p0 < $0
- ;;
- -unpatch)
- patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
- ;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
---- gcc/java/gcj.texi (revision 155104)
-+++ gcc/java/gcj.texi (working copy)
-@@ -607,6 +607,13 @@
- accessing an object via a reference. On other systems you won't need
- this because null pointer accesses are caught automatically by the
- processor.
-+
-+@item -fuse-atomic-builtins
-+On some systems, gcc can generate code for built-in atomic operations.
-+Use this option to force gcj to use these builtins when compiling Java
-+code. Where this capability is present it should be automatically
-+detected, so you won't usually need to use this option.
-+
- @end table
-
- @c man end
View
53 debian/patches/from-debian-gcc-pr25509-doc.diff
@@ -1,53 +0,0 @@
-#!/bin/sh -e
-
-# DP: This patch was converted from pr25509-doc.diff
-# DP: Original comment:
-# DP:
-# DP: Backport of PR c/25509, new option -Wno-unused-result (documentation)
-
-dir=
-if [ $# -eq 3 -a "$2" = '-d' ]; then
- pdir="-d $3"
- dir="$3/"
-elif [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-case "$1" in
- -patch)
- patch $pdir -f --no-backup-if-mismatch -p0 < $0
- ;;
- -unpatch)
- patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
- ;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-esac
-exit 0
-
---- gcc/doc/invoke.texi (revision 149591)
-+++ gcc/doc/invoke.texi (working copy)
-@@ -260,7 +260,7 @@
- -Wsystem-headers -Wtrigraphs -Wtype-limits -Wundef -Wuninitialized @gol
- -Wunknown-pragmas -Wno-pragmas -Wunreachable-code @gol
- -Wunused -Wunused-function -Wunused-label -Wunused-parameter @gol
---Wunused-value -Wunused-variable @gol
-+-Wno-unused-result -Wunused-value -Wunused-variable @gol
- -Wvariadic-macros -Wvla @gol
- -Wvolatile-register-var -Wwrite-strings}
-
-@@ -3193,6 +3193,13 @@
- To suppress this warning use the @samp{unused} attribute
- (@pxref{Variable Attributes}).
-
-+@item -Wno-unused-result
-+@opindex Wunused-result
-+@opindex Wno-unused-result
-+Do not warn if a caller of a function marked with attribute
-+@code{warn_unused_result} (@pxref{Variable Attributes}) does not use
-+its return value. The default is @option{-Wunused-result}.
-+
- @item -Wunused-variable
- @opindex Wunused-variable
- @opindex Wno-unused-variable
View
57 debian/patches/from-debian-gcc-pr40521-sequel-doc.diff
@@ -0,0 +1,57 @@
+#!/bin/sh -e
+
+# DP: This patch was converted from pr40521-sequel-doc.diff
+# DP: Original comment:
+# DP:
+# DP: Sequel to PR40521 -- -g causes GCC to generate .eh_frame (documentation)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/doc/tm.texi 2010-03-27 11:27:39.000000000 +0100
++++ gcc/doc/tm.texi 2010-04-18 15:25:47.471085014 +0200
+@@ -8663,12 +8663,11 @@
+ Define this macro to 0 if your target supports DWARF 2 frame unwind
+ information, but it does not yet work with exception handling.
+ Otherwise, if your target supports this information (if it defines
+-@samp{INCOMING_RETURN_ADDR_RTX} and either @samp{UNALIGNED_INT_ASM_OP}
+-or @samp{OBJECT_FORMAT_ELF}), GCC will provide a default definition of 1.
++@samp{INCOMING_RETURN_ADDR_RTX}) and @code{TARGET_UNWIND_INFO} is not defined,
++GCC will provide a default definition of 1.
+
+-If @code{TARGET_UNWIND_INFO} is defined, the target specific unwinder
+-will be used in all cases. Defining this macro will enable the generation
+-of DWARF 2 frame debugging information.
++If @code{TARGET_UNWIND_INFO} is defined, it doesn't make sense to define this
++macro to 1.
+
+ If @code{TARGET_UNWIND_INFO} is not defined, and this macro is defined to 1,
+ the DWARF 2 unwinder will be the default exception handling mechanism;
+@@ -8679,6 +8678,9 @@
+ @defmac TARGET_UNWIND_INFO
+ Define this macro if your target has ABI specified unwind tables. Usually
+ these will be output by @code{TARGET_UNWIND_EMIT}.
++
++Defining this macro will affect the default value that is chosen for
++@code{DWARF2_UNWIND_INFO}.
+ @end defmac
+
+ @deftypevr {Target Hook} bool TARGET_UNWIND_TABLES_DEFAULT
View
246 debian/patches/from-debian-gcc-rename-info-files.diff 100755 → 100644
@@ -27,64 +27,9 @@ case "$1" in
esac
exit 0
---- gcc/ada/gnat-style.texi
-+++ gcc/ada/gnat-style.texi
-@@ -31,7 +31,7 @@ Texts. A copy of the license is included in the section entitled
-
- @dircategory Software development
- @direntry
--* gnat-style: (gnat-style). GNAT Coding Style
-+* gnat-style: (gnat-style-4.3). GNAT Coding Style
- @end direntry
-
- @macro syntax{element}
---- gcc/ada/gnat_rm.texi
-+++ gcc/ada/gnat_rm.texi
-@@ -38,7 +38,7 @@ included in the section entitled ``GNU Free Documentation License''.
-
- @dircategory GNU Ada tools
- @direntry
--* GNAT Reference Manual: (gnat_rm). Reference Manual for GNU Ada tools.
-+* GNAT Reference Manual: (gnat_rm-4.3). Reference Manual for GNU Ada tools.
- @end direntry
-
- @titlepage
---- gcc/doc/cpp.texi
-+++ gcc/doc/cpp.texi
-@@ -52,7 +52,7 @@ This manual contains no Invariant Sections. The Front-Cover Texts are
- @ifinfo
- @dircategory Software development
- @direntry
--* Cpp: (cpp). The GNU C preprocessor.
-+* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor.
- @end direntry
- @end ifinfo
-
---- gcc/doc/cppinternals.texi
-+++ gcc/doc/cppinternals.texi
-@@ -7,7 +7,7 @@
- @ifinfo
- @dircategory Software development
- @direntry
--* Cpplib: (cppinternals). Cpplib internals.
-+* @value{fncppint}: (@value{fncppint}). Cpplib internals.
- @end direntry
- @end ifinfo
-
---- gcc/doc/extend.texi
-+++ gcc/doc/extend.texi
-@@ -12339,7 +12339,7 @@ want to write code that checks whether these features are available, you can
- test for the GNU compiler the same way as for C programs: check for a
- predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to
- test specifically for GNU C++ (@pxref{Common Predefined Macros,,
--Predefined Macros,cpp,The GNU C Preprocessor}).
-+Predefined Macros,@value{fncpp},The GNU C Preprocessor}).
-
- @menu
- * Volatiles:: What constitutes an access to a volatile object.
---- gcc/doc/gcc.texi
-+++ gcc/doc/gcc.texi
-@@ -65,8 +65,8 @@ Texts being (a) (see below), and with the Back-Cover Texts being (b)
+--- gcc/doc/gcc.texi 2009-07-18
++++ gcc/doc/gcc.texi 2009-12-20
+@@ -65,8 +65,8 @@
@ifnottex
@dircategory Software development
@direntry
@@ -95,7 +40,7 @@ exit 0
@end direntry
This file documents the use of the GNU compilers.
@sp 1
-@@ -126,7 +126,7 @@ version @value{version-GCC}.
+@@ -126,7 +126,7 @@
The internals of the GNU compilers, including how to port them to new
targets and some information about how to write front ends for new
languages, are documented in a separate manual. @xref{Top,,
@@ -104,9 +49,20 @@ exit 0
@menu
* G++ and GCC:: You can compile C or C++ programs.
---- gcc/doc/gccint.texi
-+++ gcc/doc/gccint.texi
-@@ -51,7 +51,7 @@ Texts being (a) (see below), and with the Back-Cover Texts being (b)
+--- gcc/doc/install.texi 2009-12-16
++++ gcc/doc/install.texi 2009-12-20
+@@ -97,7 +97,7 @@
+ @end ifinfo
+ @dircategory Software development
+ @direntry
+-* gccinstall: (gccinstall). Installing the GNU Compiler Collection.
++* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection.
+ @end direntry
+
+ @c Part 3 Titlepage and Copyright
+--- gcc/doc/gccint.texi 2009-05-23
++++ gcc/doc/gccint.texi 2009-12-20
+@@ -51,7 +51,7 @@
@ifnottex
@dircategory Software development
@direntry
@@ -115,7 +71,7 @@ exit 0
@end direntry
This file documents the internals of the GNU compilers.
@sp 1
-@@ -83,7 +83,7 @@ write front ends for new languages. It corresponds to the compilers
+@@ -83,7 +83,7 @@
@value{VERSION_PACKAGE}
@end ifset
version @value{version-GCC}. The use of the GNU compilers is documented in a
@@ -124,20 +80,77 @@ exit 0
Compiler Collection (GCC)}.
This manual is mainly a reference manual rather than a tutorial. It
---- gcc/doc/install.texi
-+++ gcc/doc/install.texi
-@@ -97,7 +97,7 @@ Free Documentation License}''.
+--- gcc/doc/cpp.texi 2009-11-16
++++ gcc/doc/cpp.texi 2009-12-20
+@@ -53,7 +53,7 @@
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* Cpp: (cpp). The GNU C preprocessor.
++* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor.
+ @end direntry
@end ifinfo
+
+--- gcc/doc/extend.texi 2009-12-16
++++ gcc/doc/extend.texi 2009-12-20
+@@ -13048,7 +13048,7 @@
+ test for the GNU compiler the same way as for C programs: check for a
+ predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to
+ test specifically for GNU C++ (@pxref{Common Predefined Macros,,
+-Predefined Macros,cpp,The GNU C Preprocessor}).
++Predefined Macros,@value{fncpp},The GNU C Preprocessor}).
+
+ @menu
+ * Volatiles:: What constitutes an access to a volatile object.
+--- gcc/doc/standards.texi 2009-09-22
++++ gcc/doc/standards.texi 2009-12-20
+@@ -223,8 +223,8 @@
+ GNAT Reference Manual}, for information on standard
+ conformance and compatibility of the Ada compiler.
+
+-@xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details
++@xref{Standards,,Standards, @value{fngfortran}, The GNU Fortran Compiler}, for details
+ of standards supported by GNU Fortran.
+
+-@xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj},
++@xref{Compatibility,,Compatibility with the Java Platform, @value{fngcj}, GNU gcj},
+ for details of compatibility between @command{gcj} and the Java Platform.
+--- gcc/doc/cppinternals.texi 2008-07-21
++++ gcc/doc/cppinternals.texi 2009-12-20
+@@ -7,7 +7,7 @@
+ @ifinfo
@dircategory Software development
@direntry
--* gccinstall: (gccinstall). Installing the GNU Compiler Collection.
-+* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection.
+-* Cpplib: (cppinternals). Cpplib internals.
++* @value{fncppint}: (@value{fncppint}). Cpplib internals.
@end direntry
+ @end ifinfo
- @c Part 3 Titlepage and Copyright
---- gcc/doc/invoke.texi
-+++ gcc/doc/invoke.texi
-@@ -7939,7 +7939,7 @@ One of the standard libraries bypassed by @option{-nostdlib} and
+--- gcc/doc/makefile.texi 2009-02-21
++++ gcc/doc/makefile.texi 2009-12-20
+@@ -140,7 +140,7 @@
+ @item profiledbootstrap
+ Builds a compiler with profiling feedback information. For more
+ information, see
+-@ref{Building,,Building with profile feedback,gccinstall,Installing GCC}.
++@ref{Building,,Building with profile feedback,@value{fngccinstall},Installing GCC}.
+
+ @item restrap
+ Restart a bootstrap, so that everything that was not built with
+--- gcc/doc/libgcc.texi 2008-07-21
++++ gcc/doc/libgcc.texi 2009-12-20
+@@ -24,7 +24,7 @@
+ GCC will also generate calls to C library routines, such as
+ @code{memcpy} and @code{memset}, in some cases. The set of routines
+ that GCC may possibly use is documented in @ref{Other
+-Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}.
++Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}.
+
+ These routines take arguments and return values of a specific machine
+ mode, not a specific C type. @xref{Machine Modes}, for an explanation
+--- gcc/doc/invoke.texi 2009-12-17
++++ gcc/doc/invoke.texi 2009-12-20
+@@ -8644,7 +8644,7 @@
@option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or special
needs for some languages.
@@ -146,7 +159,7 @@ exit 0
Collection (GCC) Internals},
for more discussion of @file{libgcc.a}.)
In most cases, you need @file{libgcc.a} even when you want to avoid
-@@ -7947,7 +7947,7 @@ other standard libraries. In other words, when you specify @option{-nostdlib}
+@@ -8652,7 +8652,7 @@
or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
This ensures that you have no unresolved references to internal GCC
library subroutines. (For example, @samp{__main}, used to ensure C++
@@ -155,7 +168,7 @@ exit 0
GNU Compiler Collection (GCC) Internals}.)
@item -pie
-@@ -16121,7 +16121,7 @@ Note that you can also specify places to search using options such as
+@@ -17524,7 +17524,7 @@
@option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These
take precedence over places specified using environment variables, which
in turn take precedence over those specified by the configuration of GCC@.
@@ -164,7 +177,7 @@ exit 0
GNU Compiler Collection (GCC) Internals}.
@table @env
-@@ -16276,7 +16276,7 @@ the headers it contains change.
+@@ -17679,7 +17679,7 @@
A precompiled header file will be searched for when @code{#include} is
seen in the compilation. As it searches for the included file
@@ -173,31 +186,9 @@ exit 0
compiler looks for a precompiled header in each directory just before it
looks for the include file in that directory. The name searched for is
the name specified in the @code{#include} with @samp{.gch} appended. If
---- gcc/doc/libgcc.texi
-+++ gcc/doc/libgcc.texi
-@@ -24,7 +24,7 @@ that needs them.
- GCC will also generate calls to C library routines, such as
- @code{memcpy} and @code{memset}, in some cases. The set of routines
- that GCC may possibly use is documented in @ref{Other
--Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}.
-+Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}.
-
- These routines take arguments and return values of a specific machine
- mode, not a specific C type. @xref{Machine Modes}, for an explanation
---- gcc/doc/makefile.texi
-+++ gcc/doc/makefile.texi
-@@ -140,7 +140,7 @@ regardless of how it itself was compiled.
- @item profiledbootstrap
- Builds a compiler with profiling feedback information. For more
- information, see
--@ref{Building,,Building with profile feedback,gccinstall,Installing GCC}.
-+@ref{Building,,Building with profile feedback,@value{fngccinstall},Installing GCC}.
-
- @item restrap
- Restart a bootstrap, so that everything that was not built with
---- gcc/doc/passes.texi
-+++ gcc/doc/passes.texi
-@@ -196,7 +196,7 @@ rid of it. This pass is located in @file{tree-cfg.c} and described by
+--- gcc/doc/passes.texi 2009-11-30
++++ gcc/doc/passes.texi 2009-12-20
+@@ -201,7 +201,7 @@
@item Mudflap declaration registration
If mudflap (@pxref{Optimize Options,,-fmudflap -fmudflapth
@@ -206,33 +197,31 @@ exit 0
enabled, we generate code to register some variable declarations with
the mudflap runtime. Specifically, the runtime tracks the lifetimes of
those variable declarations that have their addresses taken, or whose
---- gcc/doc/standards.texi
-+++ gcc/doc/standards.texi
-@@ -223,8 +223,8 @@ have additional useful information.
- GNAT Reference Manual}, for information on standard
- conformance and compatibility of the Ada compiler.
+--- gcc/ada/gnat_rm.texi 2009-11-30
++++ gcc/ada/gnat_rm.texi 2009-12-20
+@@ -38,7 +38,7 @@
--@xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details
-+@xref{Standards,,Standards, @value{fngfortran}, The GNU Fortran Compiler}, for details
- of standards supported by GNU Fortran.
+ @dircategory GNU Ada tools
+ @direntry
+-* GNAT Reference Manual: (gnat_rm). Reference Manual for GNU Ada tools.
++* GNAT Reference Manual: (gnat_rm-4.5). Reference Manual for GNU Ada tools.
+ @end direntry
+
+ @titlepage
+--- gcc/ada/gnat-style.texi 2009-02-21
++++ gcc/ada/gnat-style.texi 2009-12-20
+@@ -31,7 +31,7 @@
--@xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj},
-+@xref{Compatibility,,Compatibility with the Java Platform, @value{fngcj}, GNU gcj},
- for details of compatibility between @command{gcj} and the Java Platform.
---- gcc/fortran/gfortran.texi
-+++ gcc/fortran/gfortran.texi
-@@ -101,7 +101,7 @@ Texts being (a) (see below), and with the Back-Cover Texts being (b)
- @ifinfo
@dircategory Software development
@direntry
--* gfortran: (gfortran). The GNU Fortran Compiler.
-+* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler.
+-* gnat-style: (gnat-style). GNAT Coding Style
++* gnat-style: (gnat-style-4.5). GNAT Coding Style
@end direntry
- This file documents the use and the internals of
- the GNU Fortran compiler, (@command{gfortran}).
---- gcc/java/gcj.texi
-+++ gcc/java/gcj.texi
-@@ -55,25 +55,25 @@ man page gfdl(7).
+
+ @macro syntax{element}
+--- gcc/java/gcj.texi 2009-08-13
++++ gcc/java/gcj.texi 2009-12-20
+@@ -55,25 +55,25 @@
@format
@dircategory Software development
@direntry
@@ -267,7 +256,7 @@ exit 0
Merge the per-solib databases made by aot-compile
into one system-wide database.
@end direntry
-@@ -159,7 +159,7 @@ and the Info entries for @file{gcj} and @file{gcc}.
+@@ -159,7 +159,7 @@
As @command{gcj} is just another front end to @command{gcc}, it supports many
of the same options as gcc. @xref{Option Summary, , Option Summary,
@@ -276,3 +265,14 @@ exit 0
options specific to @command{gcj}.
@c man end
+--- gcc/fortran/gfortran.texi 2009-12-17
++++ gcc/fortran/gfortran.texi 2009-12-20
+@@ -101,7 +101,7 @@
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* gfortran: (gfortran). The GNU Fortran Compiler.
++* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler.
+ @end direntry
+ This file documents the use and the internals of
+ the GNU Fortran compiler, (@command{gfortran}).
View
678 gcc/ada/gnat_rm.texi
@@ -102,6 +102,7 @@ Implementation Defined Pragmas
* Pragma Ada_2005::
* Pragma Annotate::
* Pragma Assert::
+* Pragma Assume_No_Invalid_Values::
* Pragma Ast_Entry::
* Pragma C_Pass_By_Copy::
* Pragma Check::
@@ -111,6 +112,7 @@ Implementation Defined Pragmas
* Pragma Common_Object::
* Pragma Compile_Time_Error::
* Pragma Compile_Time_Warning::
+* Pragma Compiler_Unit::
* Pragma Complete_Representation::
* Pragma Complex_Representation::
* Pragma Component_Alignment::
@@ -180,6 +182,7 @@ Implementation Defined Pragmas
* Pragma Pure_Function::
* Pragma Restriction_Warnings::
* Pragma Shared::
+* Pragma Short_Circuit_And_Or::
* Pragma Source_File_Name::
* Pragma Source_File_Name_Project::
* Pragma Source_Reference::
@@ -193,6 +196,7 @@ Implementation Defined Pragmas
* Pragma Task_Info::
* Pragma Task_Name::
* Pragma Task_Storage::
+* Pragma Thread_Local_Storage::
* Pragma Time_Slice::
* Pragma Title::
* Pragma Unchecked_Union::
@@ -220,6 +224,7 @@ Implementation Defined Attributes
* AST_Entry::
* Bit::
* Bit_Position::
+* Compiler_Version::
* Code_Address::
* Default_Bit_Order::
* Elaborated::
@@ -249,6 +254,7 @@ Implementation Defined Attributes
* Passed_By_Reference::
* Pool_Address::
* Range_Length::
+* Result::
* Safe_Emax::
* Safe_Large::
* Small::
@@ -277,6 +283,7 @@ The Implementation of Standard I/O
* Wide_Text_IO::
* Wide_Wide_Text_IO::
* Stream_IO::
+* Text Translation::
* Shared Files::
* Filenames encoding::
* Open Modes::
@@ -303,10 +310,13 @@ The GNAT Library
* Ada.Strings.Wide_Unbounded.Wide_Text_IO (a-swuwti.ads)::
* Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO (a-szuzti.ads)::
* Ada.Text_IO.C_Streams (a-tiocst.ads)::
+* Ada.Text_IO.Reset_Standard_Files (a-tirsfi.ads)::
* Ada.Wide_Characters.Unicode (a-wichun.ads)::
* Ada.Wide_Text_IO.C_Streams (a-wtcstr.ads)::
+* Ada.Wide_Text_IO.Reset_Standard_Files (a-wrstfi.ads)::
* Ada.Wide_Wide_Characters.Unicode (a-zchuni.ads)::
* Ada.Wide_Wide_Text_IO.C_Streams (a-ztcstr.ads)::
+* Ada.Wide_Wide_Text_IO.Reset_Standard_Files (a-zrstfi.ads)::
* GNAT.Altivec (g-altive.ads)::
* GNAT.Altivec.Conversions (g-altcon.ads)::
* GNAT.Altivec.Vector_Operations (g-alveop.ads)::
@@ -367,6 +377,10 @@ The GNAT Library
* GNAT.Semaphores (g-semaph.ads)::
* GNAT.Serial_Communications (g-sercom.ads)::
* GNAT.SHA1 (g-sha1.ads)::
+* GNAT.SHA224 (g-sha224.ads)::
+* GNAT.SHA256 (g-sha256.ads)::
+* GNAT.SHA384 (g-sha384.ads)::
+* GNAT.SHA512 (g-sha512.ads)::
* GNAT.Signals (g-signal.ads)::
* GNAT.Sockets (g-socket.ads)::
* GNAT.Source_Info (g-souinf.ads)::
@@ -377,6 +391,8 @@ The GNAT Library
* GNAT.Spitbol.Table_Boolean (g-sptabo.ads)::
* GNAT.Spitbol.Table_Integer (g-sptain.ads)::
* GNAT.Spitbol.Table_VString (g-sptavs.ads)::
+* GNAT.SSE (g-sse.ads)::
+* GNAT.SSE.Vector_Types (g-ssvety.ads)::
* GNAT.Strings (g-string.ads)::
* GNAT.String_Split (g-strspl.ads)::
* GNAT.Table (g-table.ads)::
@@ -405,6 +421,7 @@ The GNAT Library
* System.Pool_Local (s-pooloc.ads)::
* System.Restrictions (s-restri.ads)::
* System.Rident (s-rident.ads)::
+* System.Strings.Stream_Ops (s-ststop.ads)::
* System.Task_Info (s-tasinf.ads)::
* System.Wch_Cnv (s-wchcnv.ads)::
* System.Wch_Con (s-wchcon.ads)::
@@ -681,8 +698,7 @@ compiler system.
@noindent
Ada defines a set of pragmas that can be used to supply additional
information to the compiler. These language defined pragmas are
-implemented in GNAT and work as described in the Ada Reference
-Manual.
+implemented in GNAT and work as described in the Ada Reference Manual.
In addition, Ada allows implementations to define additional pragmas
whose meaning is defined by the implementation. GNAT provides a number
@@ -703,6 +719,7 @@ consideration, the use of these pragmas should be minimized.
* Pragma Ada_2005::
* Pragma Annotate::
* Pragma Assert::
+* Pragma Assume_No_Invalid_Values::
* Pragma Ast_Entry::
* Pragma C_Pass_By_Copy::
* Pragma Check::
@@ -712,6 +729,7 @@ consideration, the use of these pragmas should be minimized.
* Pragma Common_Object::
* Pragma Compile_Time_Error::
* Pragma Compile_Time_Warning::
+* Pragma Compiler_Unit::
* Pragma Complete_Representation::
* Pragma Complex_Representation::
* Pragma Component_Alignment::
@@ -781,6 +799,7 @@ consideration, the use of these pragmas should be minimized.
* Pragma Pure_Function::
* Pragma Restriction_Warnings::
* Pragma Shared::
+* Pragma Short_Circuit_And_Or::
* Pragma Source_File_Name::
* Pragma Source_File_Name_Project::
* Pragma Source_Reference::
@@ -794,6 +813,7 @@ consideration, the use of these pragmas should be minimized.
* Pragma Task_Info::
* Pragma Task_Name::
* Pragma Task_Storage::
+* Pragma Thread_Local_Storage::
* Pragma Time_Slice::
* Pragma Title::
* Pragma Unchecked_Union::
@@ -913,7 +933,7 @@ same syntax and effect.
@noindent
Syntax:
@smallexample @c ada
-pragma Annotate (IDENTIFIER @{, ARG@});
+pragma Annotate (IDENTIFIER [,IDENTIFIER] @{, ARG@});
ARG ::= NAME | EXPRESSION
@end smallexample
@@ -921,11 +941,14 @@ ARG ::= NAME | EXPRESSION
@noindent
This pragma is used to annotate programs. @var{identifier} identifies
the type of annotation. GNAT verifies that it is an identifier, but does
-not otherwise analyze it. The @var{arg} argument
-can be either a string literal or an
-expression. String literals are assumed to be of type
-@code{Standard.String}. Names of entities are simply analyzed as entity
-names. All other expressions are analyzed as expressions, and must be
+not otherwise analyze it. The second optional identifier is also left
+unanalyzed, and by convention is used to control the action of the tool to
+which the annotation is addressed. The remaining @var{arg} arguments
+can be either string literals or more generally expressions.
+String literals are assumed to be either of type
+@code{Standard.String} or else @code{Wide_String} or @code{Wide_Wide_String}
+depending on the character literals they contain.
+All other kinds of arguments are analyzed as expressions, and must be
unambiguous.
The analyzed pragma is retained in the tree, but not otherwise processed
@@ -996,6 +1019,57 @@ effect on the program. However, the expressions are analyzed for
semantic correctness whether or not assertions are enabled, so turning
assertions on and off cannot affect the legality of a program.
+@node Pragma Assume_No_Invalid_Values
+@unnumberedsec Pragma Assume_No_Invalid_Values
+@findex Assume_No_Invalid_Values
+@cindex Invalid representations
+@cindex Invalid values
+@noindent
+Syntax:
+@smallexample @c ada
+pragma Assume_No_Invalid_Values (On | Off);
+@end smallexample
+
+@noindent
+This is a configuration pragma that controls the assumptions made by the
+compiler about the occurrence of invalid representations (invalid values)
+in the code.
+
+The default behavior (corresponding to an Off argument for this pragma), is
+to assume that values may in general be invalid unless the compiler can
+prove they are valid. Consider the following example:
+
+@smallexample @c ada
+V1 : Integer range 1 .. 10;
+V2 : Integer range 11 .. 20;
+...
+for J in V2 .. V1 loop
+ ...
+end loop;
+@end smallexample
+
+@noindent
+if V1 and V2 have valid values, then the loop is known at compile
+time not to execute since the lower bound must be greater than the
+upper bound. However in default mode, no such assumption is made,
+and the loop may execute. If @code{Assume_No_Invalid_Values (On)}
+is given, the compiler will assume that any occurrence of a variable
+other than in an explicit @code{'Valid} test always has a valid
+value, and the loop above will be optimized away.
+
+The use of @code{Assume_No_Invalid_Values (On)} is appropriate if
+you know your code is free of uninitialized variables and other
+possible sources of invalid representations, and may result in
+more efficient code. A program that accesses an invalid representation
+with this pragma in effect is erroneous, so no guarantees can be made
+about its behavior.
+
+It is peculiar though permissible to use this pragma in conjunction
+with validity checking (-gnatVa). In such cases, accessing invalid
+values will generally give an exception, though formally the program
+is erroneous so there are no guarantees that this will always be the
+case, and it is recommended that these two options not be used together.
+
@node Pragma Ast_Entry
@unnumberedsec Pragma Ast_Entry
@cindex OpenVMS
@@ -1124,7 +1198,9 @@ are mentioned in @code{with} clauses).
@noindent
Syntax:
@smallexample @c ada
-pragma Check_Policy ([Name =>] Identifier, POLICY_IDENTIFIER);
+pragma Check_Policy
+ ([Name =>] Identifier,
+ [Policy =>] POLICY_IDENTIFIER);
POLICY_IDENTIFIER ::= On | Off | Check | Ignore
@end smallexample
@@ -1269,6 +1345,24 @@ of formal parameters are tested, and warnings given appropriately. Another use
with a first parameter of True is to warn a client about use of a package,
for example that it is not fully implemented.
+@node Pragma Compiler_Unit
+@unnumberedsec Pragma Compiler_Unit
+@findex Compiler_Unit
+@noindent
+Syntax:
+
+@smallexample @c ada
+pragma Compiler_Unit;
+@end smallexample
+
+@noindent
+This pragma is intended only for internal use in the GNAT run-time library.
+It indicates that the unit is used as part of the compiler build. The effect
+is to disallow constructs (raise with message, conditional expressions etc)
+that would cause trouble when bootstrapping using an older version of GNAT.
+For the exact list of restrictions, see the compiler sources and references
+to Is_Compiler_Unit.
+
@node Pragma Complete_Representation
@unnumberedsec Pragma Complete_Representation
@findex Complete_Representation
@@ -1436,16 +1530,17 @@ pragma CPP_Class ([Entity =>] LOCAL_NAME);
@noindent
The argument denotes an entity in the current declarative region that is
-declared as a tagged record type. It indicates that the type corresponds
-to an externally declared C++ class type, and is to be laid out the same
-way that C++ would lay out the type.
+declared as a record type. It indicates that the type corresponds to an
+externally declared C++ class type, and is to be laid out the same way
+that C++ would lay out the type. If the C++ class has virtual primitives
+then the record must be declared as a tagged record type.
Types for which @code{CPP_Class} is specified do not have assignment or
equality operators defined (such operations can be imported or declared
as subprograms as required). Initialization is allowed only by constructor
functions (see pragma @code{CPP_Constructor}). Such types are implicitly
limited if not explicitly declared as limited or derived from a limited
-type, and a warning is issued in that case.
+type, and an error is issued in that case.
Pragma @code{CPP_Class} is intended primarily for automatic generation
using an automatic binding generator tool.
@@ -1478,59 +1573,42 @@ must be of one of the following forms:
@itemize @bullet
@item
+@code{function @var{Fname} return @var{T}}
+
+@itemize @bullet
+@item
@code{function @var{Fname} return @var{T}'Class}
@item
-@code{function @var{Fname} (@dots{}) return @var{T}'Class}
+@code{function @var{Fname} (@dots{}) return @var{T}}
@end itemize
-@noindent
-where @var{T} is a tagged type to which the pragma @code{CPP_Class} applies.
-
-The first form is the default constructor, used when an object of type
-@var{T} is created on the Ada side with no explicit constructor. Other
-constructors (including the copy constructor, which is simply a special
-case of the second form in which the one and only argument is of type
-@var{T}), can only appear in two contexts:
-
-@itemize @bullet
@item
-On the right side of an initialization of an object of type @var{T}.
-@item
-In an extension aggregate for an object of a type derived from @var{T}.
+@code{function @var{Fname} (@dots{}) return @var{T}'Class}
@end itemize
@noindent
-Although the constructor is described as a function that returns a value
-on the Ada side, it is typically a procedure with an extra implicit
-argument (the object being initialized) at the implementation
-level. GNAT issues the appropriate call, whatever it is, to get the
-object properly initialized.
+where @var{T} is a limited record type imported from C++ with pragma
+@code{Import} and @code{Convention} = @code{CPP}.
-In the case of derived objects, you may use one of two possible forms
-for declaring and creating an object:
-
-@itemize @bullet
-@item @code{New_Object : Derived_T}
-@item @code{New_Object : Derived_T := (@var{constructor-call with} @dots{})}
-@end itemize
-
-@noindent
-In the first case the default constructor is called and extension fields
-if any are initialized according to the default initialization
-expressions in the Ada declaration. In the second case, the given
-constructor is called and the extension aggregate indicates the explicit
-values of the extension fields.
+The first two forms import the default constructor, used when an object
+of type @var{T} is created on the Ada side with no explicit constructor.
+The latter two forms cover all the non-default constructors of the type.
+See the GNAT users guide for details.
If no constructors are imported, it is impossible to create any objects
-on the Ada side. If no default constructor is imported, only the
-initialization forms using an explicit call to a constructor are
-permitted.
+on the Ada side and the type is implicitly declared abstract.
Pragma @code{CPP_Constructor} is intended primarily for automatic generation
using an automatic binding generator tool.
See @ref{Interfacing to C++} for more related information.
+Note: The use of functions returning class-wide types for constructors is
+currently obsolete. They are supported for backward compatibility. The
+use of functions returning the type T leave the Ada sources more clear
+because the imported C++ constructors always return an object of type T;
+that is, they never return an object whose type is a descendant of type T.
+
@node Pragma CPP_Virtual
@unnumberedsec Pragma CPP_Virtual
@cindex Interfacing to C++
@@ -2383,7 +2461,8 @@ pragma Implicit_Packing;
@noindent
This is a configuration pragma that requests implicit packing for packed
arrays for which a size clause is given but no explicit pragma Pack or
-specification of Component_Size is present. Consider this example:
+specification of Component_Size is present. It also applies to records
+where no record representation clause is present. Consider this example:
@smallexample @c ada
type R is array (0 .. 7) of Boolean;
@@ -2405,6 +2484,21 @@ specify the exact size that corresponds to the length of the array multiplied
by the size in bits of the component type.
@cindex Array packing
+Similarly, the following example shows the use in the record case
+
+@smallexample @c ada
+type r is record
+ a, b, c, d, e, f, g, h : boolean;
+ chr : character;
+end record;
+for r'size use 16;
+@end smallexample
+
+@noindent
+Without a pragma Pack, each Boolean field requires 8 bits, so the
+minimum size is 72 bits, but with a pragma Pack, 16 bits would be
+sufficient. The use of pragma Implciit_Packing allows this record
+declaration to compile without an explicit pragma Pack.
@node Pragma Import_Exception
@unnumberedsec Pragma Import_Exception
@cindex OpenVMS
@@ -2810,7 +2904,9 @@ maskable interrupts, in place of the normal return instruction.
Syntax:
@smallexample @c ada
-pragma Interrupt_State (Name => value, State => SYSTEM | RUNTIME | USER);
+pragma Interrupt_State
+ ([Name =>] value,
+ [State =>] SYSTEM | RUNTIME | USER);
@end smallexample
@noindent
@@ -3198,7 +3294,7 @@ Syntax:
pragma Machine_Attribute (
[Entity =>] LOCAL_NAME,
[Attribute_Name =>] static_string_EXPRESSION
- [, [Info =>] static_string_EXPRESSION] );
+ [, [Info =>] static_EXPRESSION] );
@end smallexample
@noindent
@@ -3207,15 +3303,12 @@ declarations. This pragma is semantically equivalent to
@code{__attribute__((@var{attribute_name}))} (if @var{info} is not
specified) or @code{__attribute__((@var{attribute_name}(@var{info})))}
in GNU C, where @code{@var{attribute_name}} is recognized by the
-target macro @code{TARGET_ATTRIBUTE_TABLE} which is defined for each
-machine. The optional parameter @var{info} is transformed into an
-identifier, which may make this pragma unusable for some attributes
-(parameter of some attributes must be a number or a string).
-@xref{Target Attributes,, Defining target-specific uses of
-@code{__attribute__}, gccint, GNU Compiler Colletion (GCC) Internals},
-further information. It is not possible to specify
-attributes defined by other languages, only attributes defined by the
-machine the code is intended to run on.
+compiler middle-end or the @code{TARGET_ATTRIBUTE_TABLE} machine
+specific macro. A string literal for the optional parameter @var{info}
+is transformed into an identifier, which may make this pragma unusable
+for some attributes. @xref{Target Attributes,, Defining target-specific
+uses of @code{__attribute__}, gccint, GNU Compiler Collection (GCC)
+Internals}, further information.
@node Pragma Main
@unnumberedsec Pragma Main
@@ -3229,9 +3322,9 @@ pragma Main
(MAIN_OPTION [, MAIN_OPTION]);
MAIN_OPTION ::=
- [STACK_SIZE =>] static_integer_EXPRESSION
-| [TASK_STACK_SIZE_DEFAULT =>] static_integer_EXPRESSION
-| [TIME_SLICING_ENABLED =>] static_boolean_EXPRESSION
+ [Stack_Size =>] static_integer_EXPRESSION
+| [Task_Stack_Size_Default =>] static_integer_EXPRESSION
+| [Time_Slicing_Enabled =>] static_boolean_EXPRESSION
@end smallexample
@noindent
@@ -3412,17 +3505,26 @@ will always generate an invalid value if one exists.
Syntax:
@smallexample @c ada
-pragma Obsolescent
- [(Entity => NAME [, static_string_EXPRESSION [,Ada_05]])];
+pragma Obsolescent;
+
+pragma Obsolescent (
+ [Message =>] static_string_EXPRESSION
+[,[Version =>] Ada_05]]);
+
+pragma Obsolescent (
+ [Entity =>] NAME
+[,[Message =>] static_string_EXPRESSION
+[,[Version =>] Ada_05]] );
@end smallexample
@noindent
This pragma can occur immediately following a declaration of an entity,
-including the case of a record component, and usually the Entity name
-must match the name of the entity declared by this declaration.
-Alternatively, the pragma can immediately follow an
-enumeration type declaration, where the entity argument names one of the
-enumeration literals.
+including the case of a record component. If no Entity argument is present,
+then this declaration is the one to which the pragma applies. If an Entity
+parameter is present, it must either match the name of the entity in this
+declaration, or alternatively, the pragma can immediately follow an enumeration
+type declaration, where the Entity argument names one of the enumeration
+literals.
This pragma is used to indicate that the named entity
is considered obsolescent and should not be used. Typically this is
@@ -3431,13 +3533,12 @@ existing subprograms or other entities. The pragma can be used at an
intermediate stage when the entity is still present, but will be
removed later.
-The effect of this pragma is to output a warning message on
-a call to a program thus marked that the
-subprogram is obsolescent if the appropriate warning option in the
-compiler is activated. If the string parameter is present, then a second
-warning message is given containing this text.
-In addition, a call to such a program is considered a violation of
-pragma Restrictions (No_Obsolescent_Features).
+The effect of this pragma is to output a warning message on a reference to
+an entity thus marked that the subprogram is obsolescent if the appropriate
+warning option in the compiler is activated. If the Message parameter is
+present, then a second warning message is given containing this text. In
+addition, a reference to the eneity is considered to be a violation of pragma
+Restrictions (No_Obsolescent_Features).
This pragma can also be used as a program unit pragma for a package,
in which case the entity name is the name of the package, and the
@@ -3446,7 +3547,7 @@ obsolescent. In this case a client @code{with}'ing such a package
violates the restriction, and the @code{with} statement is
flagged with warnings if the warning option is set.