Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Imported Debian patch 4.6.2-1~naesten1

  • Loading branch information...
commit 729913ae29060ae9e7dee781430508b87ae1379f 2 parents 2538a37 + 14d2ec1
@SamB authored
Showing with 19,991 additions and 14,778 deletions.
  1. +7 −2 contrib/texi2pod.pl
  2. +2 −2 debian/Makefile
  3. +7 −1 debian/changelog
  4. +7 −7 debian/control
  5. +1 −0  debian/convert-debian-gcc-diff_cmdline-4.6.2
  6. +0 −2  debian/cpp-4.5-doc.info
  7. +0 −1  debian/cpp-4.5-doc.manpages
  8. +6 −6 debian/{cpp-4.5-doc.doc-base.cpp → cpp-4.6-doc.doc-base.cpp}
  9. +6 −6 debian/{cpp-4.5-doc.doc-base.cppint → cpp-4.6-doc.doc-base.cppint}
  10. 0  debian/{cpp-4.5-doc.docs → cpp-4.6-doc.docs}
  11. +2 −0  debian/cpp-4.6-doc.info
  12. +1 −0  debian/cpp-4.6-doc.manpages
  13. +0 −14 debian/gcc-4.5-doc.doc-base.gcc
  14. +0 −17 debian/gcc-4.5-doc.doc-base.gccint
  15. +0 −3  debian/gcc-4.5-doc.info
  16. +0 −1  debian/gcc-4.5-doc.links
  17. +0 −2  debian/gcc-4.5-doc.manpages
  18. +14 −0 debian/gcc-4.6-doc.doc-base.gcc
  19. +17 −0 debian/gcc-4.6-doc.doc-base.gccint
  20. 0  debian/{gcc-4.5-doc.docs → gcc-4.6-doc.docs}
  21. +3 −0  debian/gcc-4.6-doc.info
  22. +1 −0  debian/gcc-4.6-doc.links
  23. +2 −0  debian/gcc-4.6-doc.manpages
  24. +0 −1  debian/gcj-4.5-doc.info
  25. +0 −7 debian/gcj-4.5-doc.manpages
  26. +6 −6 debian/{gcj-4.5-doc.doc-base → gcj-4.6-doc.doc-base}
  27. 0  debian/{gcj-4.5-doc.docs → gcj-4.6-doc.docs}
  28. +1 −0  debian/gcj-4.6-doc.info
  29. +7 −0 debian/gcj-4.6-doc.manpages
  30. +0 −14 debian/gfortran-4.5-doc.doc-base
  31. +0 −1  debian/gfortran-4.5-doc.info
  32. +0 −1  debian/gfortran-4.5-doc.manpages
  33. +14 −0 debian/gfortran-4.6-doc.doc-base
  34. 0  debian/{gfortran-4.5-doc.docs → gfortran-4.6-doc.docs}
  35. +1 −0  debian/gfortran-4.6-doc.info
  36. +1 −0  debian/gfortran-4.6-doc.manpages
  37. +0 −15 debian/gnat-4.5-doc.doc-base.style
  38. +0 −3  debian/gnat-4.5-doc.info
  39. +6 −6 debian/{gnat-4.5-doc.doc-base.rm → gnat-4.6-doc.doc-base.rm}
  40. +15 −0 debian/gnat-4.6-doc.doc-base.style
  41. +6 −6 debian/{gnat-4.5-doc.doc-base.ugn → gnat-4.6-doc.doc-base.ugn}
  42. 0  debian/{gnat-4.5-doc.docs → gnat-4.6-doc.docs}
  43. +3 −0  debian/gnat-4.6-doc.info
  44. +19 −0 debian/patches/from-debian-gcc-gcc-multiarch-doc.diff
  45. +0 −57 debian/patches/from-debian-gcc-gcc-plugindir-doc.diff
  46. +0 −34 debian/patches/from-debian-gcc-pr40521-sequel-doc.diff
  47. +178 −178 debian/patches/from-debian-gcc-rename-info-files.diff
  48. +1 −2  debian/patches/series
  49. +1 −1  gcc/ada/gnat-style.texi
  50. +1,990 −1,160 gcc/ada/gnat_rm.texi
  51. +4,856 −10,594 gcc/ada/gnat_ugn.texi
  52. +3,969 −0 gcc/ada/projects.texi
  53. +13 −41 gcc/doc/arm-neon-intrinsics.texi
  54. +0 −3  gcc/doc/configfiles.texi
  55. +9 −3 gcc/doc/contrib.texi
  56. +42 −3 gcc/doc/cpp.texi
  57. +2 −0  gcc/doc/cppinternals.texi
  58. +16 −7 gcc/doc/cppopts.texi
  59. +764 −151 gcc/doc/extend.texi
  60. +3 −2 gcc/doc/frontends.texi
  61. +4 −12 gcc/doc/fsf-funding.7
  62. +4 −4 gcc/doc/gcc.texi
  63. +3 −1 gcc/doc/gccint.texi
  64. +14 −9 gcc/doc/gcov.texi
  65. +9 −9 gcc/doc/generic.texi
  66. +83 −37 gcc/doc/gfdl.7
  67. +159 −142 gcc/doc/gimple.texi
  68. +9 −17 gcc/doc/gpl.7
  69. +74 −13 gcc/doc/gty.texi
  70. +4 −2 gcc/doc/hostconfig.texi
  71. +15 −1 gcc/doc/implement-cxx.texi
  72. +71 −14 gcc/doc/include/fdl.texi
  73. +325 −297 gcc/doc/install.texi
  74. +1,430 −548 gcc/doc/invoke.texi
  75. +42 −1 gcc/doc/libgcc.texi
  76. +568 −0 gcc/doc/lto.texi
  77. +6 −5 gcc/doc/makefile.texi
  78. +366 −61 gcc/doc/md.texi
  79. +794 −45 gcc/doc/objc.texi
  80. +220 −14 gcc/doc/options.texi
  81. +9 −12 gcc/doc/passes.texi
  82. +15 −5 gcc/doc/plugins.texi
  83. +9 −2 gcc/doc/rtl.texi
  84. +31 −17 gcc/doc/sourcebuild.texi
  85. +80 −16 gcc/doc/standards.texi
  86. +675 −471 gcc/doc/tm.texi
  87. +1 −1  gcc/doc/trouble.texi
  88. +29 −2 gcc/fortran/gfc-internals.texi
  89. +501 −200 gcc/fortran/gfortran.texi
  90. +1,968 −393 gcc/fortran/intrinsic.texi
  91. +125 −65 gcc/fortran/invoke.texi
  92. +347 −0 gcc/go/gccgo.texi
  93. +2 −2 gcc/java/gcj.texi
View
9 contrib/texi2pod.pl
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2003, 2010 Free Software Foundation, Inc.
# This file is part of GCC.
@@ -213,10 +213,12 @@
# Now the ones that have to be replaced by special escapes
# (which will be turned back into text by unmunge())
+ # Replace @@ before @{ and @} in order to parse @samp{@@} correctly.
s/&/&/g;
+ s/\@\@/&at;/g;
s/\@\{/{/g;
s/\@\}/}/g;
- s/\@\@/&at;/g;
+ s/\@`\{(.)\}/&$1grave;/g;
# Inside a verbatim block, handle @var, @samp and @url specially.
if ($shift ne "") {
@@ -391,9 +393,11 @@ sub postprocess
s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g;
s/\@(?:samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g;
s/\@sc\{([^\}]*)\}/\U$1/g;
+ s/\@acronym\{([^\}]*)\}/\U$1/g;
s/\@file\{([^\}]*)\}/F<$1>/g;
s/\@w\{([^\}]*)\}/S<$1>/g;
s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
+ s/\@\///g;
# keep references of the form @ref{...}, print them bold
s/\@(?:ref)\{([^\}]*)\}/B<$1>/g;
@@ -462,6 +466,7 @@ sub unmunge
# Replace escaped symbols with their equivalents.
local $_ = $_[0];
+ s/&(.)grave;/E<$1grave>/g;
s/&lt;/E<lt>/g;
s/&gt;/E<gt>/g;
s/&lbrace;/\{/g;
View
4 debian/Makefile
@@ -12,8 +12,8 @@ M = $(M1)
MANS = $(M:%=%-$(VER).1)
PODS = $(M:%=%.pod)
-VER = 4.5
-FULLVER = 4.5.3
+VER = 4.6
+FULLVER = 4.6.2
GCCVERS = gcc/doc/gcc-vers.texi
View
8 debian/changelog
@@ -1,8 +1,14 @@
+gcc-4.6-doc-non-dfsg (4.6.2-1~naesten1) unstable; urgency=low
+
+ * Packaged documentation files for gcc, gnat and gcj version 4.6.2.
+ Closes: #656044 (RFP for gcc-4.6-doc).
+
+ -- Samuel Bronson <naesten@gmail.com> Sat, 21 Jan 2012 18:16:21 -0500
+
gcc-4.5-doc-non-dfsg (4.5.3-1) unstable; urgency=low
* Bump version to a normal Debian version number, on the theory that the
package is ready for upload.
- * Closes: #656043 (my ITP for this package).
-- Samuel Bronson <naesten@gmail.com> Sat, 21 Jan 2012 00:25:13 -0500
View
14 debian/control
@@ -1,4 +1,4 @@
-Source: gcc-4.5-doc-non-dfsg
+Source: gcc-4.6-doc-non-dfsg
Section: non-free/doc
Priority: optional
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
@@ -20,7 +20,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.5-doc
+Package: gcc-4.6-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -34,7 +34,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.5-doc
+Package: cpp-4.6-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -46,7 +46,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.5-doc
+Package: gfortran-4.6-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -58,7 +58,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.5-doc
+Package: gnat-4.6-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
@@ -70,11 +70,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.5-doc
+Package: gcj-4.6-doc
Architecture: all
Depends: gcc-doc-base (>= 4.1.1.nf3-1), ${misc:Depends}
Suggests: doc-base
-Provides: gij-4.5-doc
+Provides: gij-4.6-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.6.2
@@ -0,0 +1 @@
+perl debian/convert-debian-gcc-diff ~/hacking/debian/gcc-4.6-4.6.2/debian/patches rename-info-files.diff alpha-ieee-doc.diff gcc-multiarch-doc.diff
View
2  debian/cpp-4.5-doc.info
@@ -1,2 +0,0 @@
-cpp-4.5.info
-cppinternals-4.5.info
View
1  debian/cpp-4.5-doc.manpages
@@ -1 +0,0 @@
-cpp-4.5.1
View
12 debian/cpp-4.5-doc.doc-base.cpp → debian/cpp-4.6-doc.doc-base.cpp
@@ -1,5 +1,5 @@
-Document: cpp-4.5
-Title: The GNU C preprocessor, version 4.5
+Document: cpp-4.6
+Title: The GNU C preprocessor, version 4.6
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.5-doc/cpp.html
-Files: /usr/share/doc/cpp-4.5-doc/cpp.html
+Index: /usr/share/doc/cpp-4.6-doc/cpp.html
+Files: /usr/share/doc/cpp-4.6-doc/cpp.html
Format: info
-Index: /usr/share/info/cpp-4.5.info.gz
-Files: /usr/share/info/cpp-4.5*
+Index: /usr/share/info/cpp-4.6.info.gz
+Files: /usr/share/info/cpp-4.6*
View
12 debian/cpp-4.5-doc.doc-base.cppint → debian/cpp-4.6-doc.doc-base.cppint
@@ -1,5 +1,5 @@
-Document: cppinternals-4.5
-Title: Internals of the GNU C preprocessor, version 4.5
+Document: cppinternals-4.6
+Title: Internals of the GNU C preprocessor, version 4.6
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.5-doc/cppinternals.html
-Files: /usr/share/doc/cpp-4.5-doc/cppinternals.html
+Index: /usr/share/doc/cpp-4.6-doc/cppinternals.html
+Files: /usr/share/doc/cpp-4.6-doc/cppinternals.html
Format: info
-Index: /usr/share/info/cppinternals-4.5.info.gz
-Files: /usr/share/info/cppinternals-4.5*
+Index: /usr/share/info/cppinternals-4.6.info.gz
+Files: /usr/share/info/cppinternals-4.6*
View
0  debian/cpp-4.5-doc.docs → debian/cpp-4.6-doc.docs
File renamed without changes
View
2  debian/cpp-4.6-doc.info
@@ -0,0 +1,2 @@
+cpp-4.6.info
+cppinternals-4.6.info
View
1  debian/cpp-4.6-doc.manpages
@@ -0,0 +1 @@
+cpp-4.6.1
View
14 debian/gcc-4.5-doc.doc-base.gcc
@@ -1,14 +0,0 @@
-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
@@ -1,17 +0,0 @@
-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
3  debian/gcc-4.5-doc.info
@@ -1,3 +0,0 @@
-gcc-4.5.info
-gccint-4.5.info
-gccinstall-4.5.info
View
1  debian/gcc-4.5-doc.links
@@ -1 +0,0 @@
-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
@@ -1,2 +0,0 @@
-gcc-4.5.1
-gcov-4.5.1
View
14 debian/gcc-4.6-doc.doc-base.gcc
@@ -0,0 +1,14 @@
+Document: gcc-4.6
+Title: The GNU C and C++ compiler, version 4.6
+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.6-doc/gcc.html
+Files: /usr/share/doc/gcc-4.6-doc/gcc.html
+
+Format: info
+Index: /usr/share/info/gcc-4.6.info.gz
+Files: /usr/share/info/gcc-4.6*
View
17 debian/gcc-4.6-doc.doc-base.gccint
@@ -0,0 +1,17 @@
+Document: gccint-4.6
+Title: Internals of the GNU C compiler, version 4.6
+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.6.x. The use of the GNU compilers is documented in a
+ separate manual.
+Section: Programming
+
+Format: html
+Index: /usr/share/doc/gcc-4.6-doc/gccint.html
+Files: /usr/share/doc/gcc-4.6-doc/gccint.html
+
+Format: info
+Index: /usr/share/info/gccint-4.6.info.gz
+Files: /usr/share/info/gccint-4.6*
View
0  debian/gcc-4.5-doc.docs → debian/gcc-4.6-doc.docs
File renamed without changes
View
3  debian/gcc-4.6-doc.info
@@ -0,0 +1,3 @@
+gcc-4.6.info
+gccint-4.6.info
+gccinstall-4.6.info
View
1  debian/gcc-4.6-doc.links
@@ -0,0 +1 @@
+usr/share/man/man1/gcc-4.6.1.gz usr/share/man/man1/g++-4.6.1.gz
View
2  debian/gcc-4.6-doc.manpages
@@ -0,0 +1,2 @@
+gcc-4.6.1
+gcov-4.6.1
View
1  debian/gcj-4.5-doc.info
@@ -1 +0,0 @@
-gcj-4.5.info
View
7 debian/gcj-4.5-doc.manpages
@@ -1,7 +0,0 @@
-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
12 debian/gcj-4.5-doc.doc-base → debian/gcj-4.6-doc.doc-base
@@ -1,5 +1,5 @@
-Document: gcj-4.5
-Title: Guide to GNU gcj, version 4.5
+Document: gcj-4.6
+Title: Guide to GNU gcj, version 4.6
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.5-doc/gcj.html
-Files: /usr/share/doc/gcj-4.5-doc/gcj.html
+Index: /usr/share/doc/gcj-4.6-doc/gcj.html
+Files: /usr/share/doc/gcj-4.6-doc/gcj.html
Format: info
-Index: /usr/share/info/gcj-4.5.info.gz
-Files: /usr/share/info/gcj-4.5*
+Index: /usr/share/info/gcj-4.6.info.gz
+Files: /usr/share/info/gcj-4.6*
View
0  debian/gcj-4.5-doc.docs → debian/gcj-4.6-doc.docs
File renamed without changes
View
1  debian/gcj-4.6-doc.info
@@ -0,0 +1 @@
+gcj-4.6.info
View
7 debian/gcj-4.6-doc.manpages
@@ -0,0 +1,7 @@
+gcj-4.6.1
+gij-4.6.1
+jcf-dump-4.6.1
+jv-convert-4.6.1
+grmic-4.6.1
+gcj-dbtool-4.6.1
+gc-analyse-4.6.1
View
14 debian/gfortran-4.5-doc.doc-base
@@ -1,14 +0,0 @@
-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
1  debian/gfortran-4.5-doc.info
@@ -1 +0,0 @@
-gfortran-4.5.info
View
1  debian/gfortran-4.5-doc.manpages
@@ -1 +0,0 @@
-gfortran-4.5.1
View
14 debian/gfortran-4.6-doc.doc-base
@@ -0,0 +1,14 @@
+Document: gfortran-4.6
+Title: The GNU Fortran Compiler, version 4.6
+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.6-doc/gfortran.html
+Files: /usr/share/doc/gfortran-4.6-doc/gfortran.html
+
+Format: info
+Index: /usr/share/info/gfortran-4.6.info.gz
+Files: /usr/share/info/gfortran-4.6*
View
0  debian/gfortran-4.5-doc.docs → debian/gfortran-4.6-doc.docs
File renamed without changes
View
1  debian/gfortran-4.6-doc.info
@@ -0,0 +1 @@
+gfortran-4.6.info
View
1  debian/gfortran-4.6-doc.manpages
@@ -0,0 +1 @@
+gfortran-4.6.1
View
15 debian/gnat-4.5-doc.doc-base.style
@@ -1,15 +0,0 @@
-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
3  debian/gnat-4.5-doc.info
@@ -1,3 +0,0 @@
-gnat_rm-4.5.info
-gnat-style-4.5.info
-gnat_ugn-4.5.info
View
12 debian/gnat-4.5-doc.doc-base.rm → debian/gnat-4.6-doc.doc-base.rm
@@ -1,5 +1,5 @@
-Document: gnat-rm-4.5
-Title: GNAT Reference Manual, version 4.5
+Document: gnat-rm-4.6
+Title: GNAT Reference Manual, version 4.6
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.5-doc/gnat_rm.html
-Files: /usr/share/doc/gnat-4.5-doc/gnat_rm.html
+Index: /usr/share/doc/gnat-4.6-doc/gnat_rm.html
+Files: /usr/share/doc/gnat-4.6-doc/gnat_rm.html
Format: info
-Index: /usr/share/info/gnat_rm-4.5.info.gz
-Files: /usr/share/info/gnat_rm-4.5.info.gz
+Index: /usr/share/info/gnat_rm-4.6.info.gz
+Files: /usr/share/info/gnat_rm-4.6.info.gz
View
15 debian/gnat-4.6-doc.doc-base.style
@@ -0,0 +1,15 @@
+Document: gnat-style-4.6
+Title: GNAT Coding Style, version 4.6
+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.6-doc/gnat-style.html
+Files: /usr/share/doc/gnat-4.6-doc/gnat-style.html
+
+Format: info
+Index: /usr/share/info/gnat-style-4.6.info.gz
+Files: /usr/share/info/gnat-style-4.6.info.gz
View
12 debian/gnat-4.5-doc.doc-base.ugn → debian/gnat-4.6-doc.doc-base.ugn
@@ -1,5 +1,5 @@
-Document: gnat-ugn-4.5
-Title: GNAT User's Guide, version 4.5
+Document: gnat-ugn-4.6
+Title: GNAT User's Guide, version 4.6
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.5-doc/gnat_ugn.html
-Files: /usr/share/doc/gnat-4.5-doc/gnat_ugn.html
+Index: /usr/share/doc/gnat-4.6-doc/gnat_ugn.html
+Files: /usr/share/doc/gnat-4.6-doc/gnat_ugn.html
Format: info
-Index: /usr/share/info/gnat_ugn-4.5.info.gz
-Files: /usr/share/info/gnat_ugn-4.5.info.gz
+Index: /usr/share/info/gnat_ugn-4.6.info.gz
+Files: /usr/share/info/gnat_ugn-4.6.info.gz
View
0  debian/gnat-4.5-doc.docs → debian/gnat-4.6-doc.docs
File renamed without changes
View
3  debian/gnat-4.6-doc.info
@@ -0,0 +1,3 @@
+gnat_rm-4.6.info
+gnat-style-4.6.info
+gnat_ugn-4.6.info
View
19 debian/patches/from-debian-gcc-gcc-multiarch-doc.diff
@@ -0,0 +1,19 @@
+# DP: This patch was converted from gcc-multiarch-doc.diff
+# DP: Original comment:
+# DP:
+# DP: Document -print-multiarch option
+
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -5937,6 +5937,11 @@
+ @file{../lib32}, or if OS libraries are present in @file{lib/@var{subdir}}
+ subdirectories it prints e.g.@: @file{amd64}, @file{sparcv9} or @file{ev6}.
+
++@item -print-multiarch
++@opindex print-multiarch
++Print the path to OS libraries for the selected multiarch,
++relative to some @file{lib} subdirectory.
++
+ @item -print-prog-name=@var{program}
+ @opindex print-prog-name
+ Like @option{-print-file-name}, but searches for a program such as @samp{cpp}.
View
57 debian/patches/from-debian-gcc-gcc-plugindir-doc.diff
@@ -1,57 +0,0 @@
-# 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).
-
---- a/gcc/doc/plugins.texi 2010-04-02 21:54:46.000000000 +0200
-+++ b/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
---- a/gcc/doc/invoke.texi 2010-05-01 17:43:03.372338550 +0200
-+++ b/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
34 debian/patches/from-debian-gcc-pr40521-sequel-doc.diff
@@ -1,34 +0,0 @@
-# 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)
-
---- a/gcc/doc/tm.texi 2010-03-27 11:27:39.000000000 +0100
-+++ b/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
356 debian/patches/from-debian-gcc-rename-info-files.diff
@@ -4,130 +4,88 @@
# DP: Allow transformations on info file names. Reference the
# DP: transformed info file names in the texinfo files.
---- a/gcc/doc/gcc.texi 2009-07-18
-+++ b/gcc/doc/gcc.texi 2009-12-20
-@@ -65,8 +65,8 @@
- @ifnottex
- @dircategory Software development
- @direntry
--* gcc: (gcc). The GNU Compiler Collection.
--* g++: (gcc). The GNU C++ compiler.
-+* @value{fngcc}: (@value{fngcc}). The GNU Compiler Collection.
-+* @value{fngxx}: (@value{fngcc}). The GNU C++ compiler.
- @end direntry
- This file documents the use of the GNU compilers.
- @sp 1
-@@ -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,,
--Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
-+Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}.
-
- @menu
- * G++ and GCC:: You can compile C or C++ programs.
---- a/gcc/doc/install.texi 2009-12-16
-+++ b/gcc/doc/install.texi 2009-12-20
-@@ -97,7 +97,7 @@
- @end ifinfo
+--- a/gcc/fortran/gfortran.texi
++++ b/gcc/fortran/gfortran.texi
+@@ -101,7 +101,7 @@
+ @ifinfo
@dircategory Software development
@direntry
--* gccinstall: (gccinstall). Installing the GNU Compiler Collection.
-+* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection.
+-* gfortran: (gfortran). The GNU Fortran Compiler.
++* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler.
@end direntry
-
- @c Part 3 Titlepage and Copyright
---- a/gcc/doc/gccint.texi 2009-05-23
-+++ b/gcc/doc/gccint.texi 2009-12-20
-@@ -51,7 +51,7 @@
- @ifnottex
+ This file documents the use and the internals of
+ the GNU Fortran compiler, (@command{gfortran}).
+--- a/gcc/java/gcj.texi
++++ b/gcc/java/gcj.texi
+@@ -55,25 +55,25 @@
+ @format
@dircategory Software development
@direntry
--* gccint: (gccint). Internals of the GNU Compiler Collection.
-+* @value{fngccint}: (@value{fngccint}). Internals of the GNU Compiler Collection.
+-* Gcj: (gcj). Ahead-of-time compiler for the Java language
++* @value{fngcj}: (@value{fngcj}). Ahead-of-time compiler for the Java language
@end direntry
- This file documents the internals of the GNU compilers.
- @sp 1
-@@ -83,7 +83,7 @@
- @value{VERSION_PACKAGE}
- @end ifset
- version @value{version-GCC}. The use of the GNU compilers is documented in a
--separate manual. @xref{Top,, Introduction, gcc, Using the GNU
-+separate manual. @xref{Top,, Introduction, @value{fngcc}, Using the GNU
- Compiler Collection (GCC)}.
- This manual is mainly a reference manual rather than a tutorial. It
---- a/gcc/doc/cpp.texi 2009-11-16
-+++ b/gcc/doc/cpp.texi 2009-12-20
-@@ -53,7 +53,7 @@
- @ifinfo
- @dircategory Software development
+ @dircategory Individual utilities
@direntry
--* Cpp: (cpp). The GNU C preprocessor.
-+* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor.
+-* jcf-dump: (gcj)Invoking jcf-dump.
++* jcf-dump: (@value{fngcj}) Invoking jcf-dump.
+ Print information about Java class files
+-* gij: (gcj)Invoking gij. GNU interpreter for Java bytecode
+-* gcj-dbtool: (gcj)Invoking gcj-dbtool.
++* gij: (@value{fngcj}) Invoking gij. GNU interpreter for Java bytecode
++* gcj-dbtool: (@value{fngcj}) Invoking gcj-dbtool.
+ Tool for manipulating class file databases.
+-* jv-convert: (gcj)Invoking jv-convert.
++* jv-convert: (@value{fngcj}) Invoking jv-convert.
+ Convert file from one encoding to another
+-* grmic: (gcj)Invoking grmic.
++* grmic: (@value{fngcj}) Invoking grmic.
+ Generate stubs for Remote Method Invocation.
+-* gc-analyze: (gcj)Invoking gc-analyze.
++* gc-analyze: (@value{fngcj}) Invoking gc-analyze.
+ Analyze Garbage Collector (GC) memory dumps.
+-* aot-compile: (gcj)Invoking aot-compile.
++* aot-compile: (@value{fngcj})Invoking aot-compile.
+ Compile bytecode to native and generate databases.
+-* rebuild-gcj-db: (gcj)Invoking rebuild-gcj-db.
++* rebuild-gcj-db: (@value{fngcj})Invoking rebuild-gcj-db.
+ Merge the per-solib databases made by aot-compile
+ into one system-wide database.
@end direntry
- @end ifinfo
-
---- a/gcc/doc/extend.texi 2009-12-16
-+++ b/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}).
+@@ -159,7 +159,7 @@
- @menu
- * Volatiles:: What constitutes an access to a volatile object.
---- a/gcc/doc/standards.texi 2009-09-22
-+++ b/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.
+ 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,
+-gcc, Using the GNU Compiler Collection (GCC)}. This manual only documents the
++@value{fngcc}, Using the GNU Compiler Collection (GCC)}. This manual only documents the
+ options specific to @command{gcj}.
--@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.
+ @c man end
+--- a/gcc/ada/gnat-style.texi
++++ b/gcc/ada/gnat-style.texi
+@@ -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.
---- a/gcc/doc/cppinternals.texi 2008-07-21
-+++ b/gcc/doc/cppinternals.texi 2009-12-20
-@@ -7,7 +7,7 @@
- @ifinfo
@dircategory Software development
@direntry
--* Cpplib: (cppinternals). Cpplib internals.
-+* @value{fncppint}: (@value{fncppint}). Cpplib internals.
+-* gnat-style: (gnat-style). GNAT Coding Style
++* gnat-style: (gnat-style-4.6). GNAT Coding Style
@end direntry
- @end ifinfo
---- a/gcc/doc/makefile.texi 2009-02-21
-+++ b/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}.
+ @macro syntax{element}
+--- a/gcc/ada/gnat_rm.texi
++++ b/gcc/ada/gnat_rm.texi
+@@ -38,7 +38,7 @@
- @item restrap
- Restart a bootstrap, so that everything that was not built with
---- a/gcc/doc/libgcc.texi 2008-07-21
-+++ b/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)}.
+ @dircategory GNU Ada tools
+ @direntry
+-* GNAT Reference Manual: (gnat_rm). Reference Manual for GNU Ada tools.
++* GNAT Reference Manual: (gnat_rm-4.6). Reference Manual for GNU Ada tools.
+ @end direntry
- These routines take arguments and return values of a specific machine
- mode, not a specific C type. @xref{Machine Modes}, for an explanation
---- a/gcc/doc/invoke.texi 2009-12-17
-+++ b/gcc/doc/invoke.texi 2009-12-20
-@@ -8644,7 +8644,7 @@
+ @titlepage
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -9061,7 +9061,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.
@@ -136,7 +94,7 @@
Collection (GCC) Internals},
for more discussion of @file{libgcc.a}.)
In most cases, you need @file{libgcc.a} even when you want to avoid
-@@ -8652,7 +8652,7 @@
+@@ -9069,7 +9069,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++
@@ -145,7 +103,7 @@
GNU Compiler Collection (GCC) Internals}.)
@item -pie
-@@ -17524,7 +17524,7 @@
+@@ -18314,7 +18314,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@.
@@ -154,7 +112,7 @@
GNU Compiler Collection (GCC) Internals}.
@table @env
-@@ -17679,7 +17679,7 @@
+@@ -18469,7 +18469,7 @@
A precompiled header file will be searched for when @code{#include} is
seen in the compilation. As it searches for the included file
@@ -163,8 +121,74 @@
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
---- a/gcc/doc/passes.texi 2009-11-30
-+++ b/gcc/doc/passes.texi 2009-12-20
+--- a/gcc/doc/extend.texi
++++ b/gcc/doc/extend.texi
+@@ -13684,7 +13684,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
+ * C++ Volatiles:: What constitutes an access to a volatile object.
+--- a/gcc/doc/standards.texi
++++ b/gcc/doc/standards.texi
+@@ -287,8 +287,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.
+--- a/gcc/doc/libgcc.texi
++++ b/gcc/doc/libgcc.texi
+@@ -25,7 +25,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
+--- a/gcc/doc/gccint.texi
++++ b/gcc/doc/gccint.texi
+@@ -51,7 +51,7 @@
+ @ifnottex
+ @dircategory Software development
+ @direntry
+-* gccint: (gccint). Internals of the GNU Compiler Collection.
++* @value{fngccint}: (@value{fngccint}). Internals of the GNU Compiler Collection.
+ @end direntry
+ This file documents the internals of the GNU compilers.
+ @sp 1
+@@ -83,7 +83,7 @@
+ @value{VERSION_PACKAGE}
+ @end ifset
+ version @value{version-GCC}. The use of the GNU compilers is documented in a
+-separate manual. @xref{Top,, Introduction, gcc, Using the GNU
++separate manual. @xref{Top,, Introduction, @value{fngcc}, Using the GNU
+ Compiler Collection (GCC)}.
+
+ This manual is mainly a reference manual rather than a tutorial. It
+--- a/gcc/doc/cpp.texi
++++ b/gcc/doc/cpp.texi
+@@ -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
+
+--- a/gcc/doc/passes.texi
++++ b/gcc/doc/passes.texi
@@ -201,7 +201,7 @@
@item Mudflap declaration registration
@@ -174,82 +198,58 @@
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
---- a/gcc/ada/gnat_rm.texi 2009-11-30
-+++ b/gcc/ada/gnat_rm.texi 2009-12-20
-@@ -38,7 +38,7 @@
-
- @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
---- a/gcc/ada/gnat-style.texi 2009-02-21
-+++ b/gcc/ada/gnat-style.texi 2009-12-20
-@@ -31,7 +31,7 @@
-
+--- a/gcc/doc/gcc.texi
++++ b/gcc/doc/gcc.texi
+@@ -65,8 +65,8 @@
+ @ifnottex
@dircategory Software development
@direntry
--* gnat-style: (gnat-style). GNAT Coding Style
-+* gnat-style: (gnat-style-4.5). GNAT Coding Style
+-* gcc: (gcc). The GNU Compiler Collection.
+-* g++: (gcc). The GNU C++ compiler.
++* @value{fngcc}: (@value{fngcc}). The GNU Compiler Collection.
++* @value{fngxx}: (@value{fngcc}). The GNU C++ compiler.
@end direntry
+ This file documents the use of the GNU compilers.
+ @sp 1
+@@ -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,,
+-Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
++Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}.
- @macro syntax{element}
---- a/gcc/java/gcj.texi 2009-08-13
-+++ b/gcc/java/gcj.texi 2009-12-20
-@@ -55,25 +55,25 @@
- @format
- @dircategory Software development
- @direntry
--* Gcj: (gcj). Ahead-of-time compiler for the Java language
-+* @value{fngcj}: (@value{fngcj}). Ahead-of-time compiler for the Java language
- @end direntry
+ @menu
+ * G++ and GCC:: You can compile C or C++ programs.
+--- a/gcc/doc/makefile.texi
++++ b/gcc/doc/makefile.texi
+@@ -140,7 +140,7 @@
+ Builds a compiler with profiling feedback information. In this case,
+ the second and third stages are named @samp{profile} and @samp{feedback},
+ respectively. For more information, see
+-@ref{Building,,Building with profile feedback,gccinstall,Installing GCC}.
++@ref{Building,,Building with profile feedback,@value{fngccinstall},Installing GCC}.
- @dircategory Individual utilities
+ @item restrap
+ Restart a bootstrap, so that everything that was not built with
+--- a/gcc/doc/install.texi
++++ b/gcc/doc/install.texi
+@@ -98,7 +98,7 @@
+ @end ifinfo
+ @dircategory Software development
@direntry
--* jcf-dump: (gcj)Invoking jcf-dump.
-+* jcf-dump: (@value{fngcj}) Invoking jcf-dump.
- Print information about Java class files
--* gij: (gcj)Invoking gij. GNU interpreter for Java bytecode
--* gcj-dbtool: (gcj)Invoking gcj-dbtool.
-+* gij: (@value{fngcj}) Invoking gij. GNU interpreter for Java bytecode
-+* gcj-dbtool: (@value{fngcj}) Invoking gcj-dbtool.
- Tool for manipulating class file databases.
--* jv-convert: (gcj)Invoking jv-convert.
-+* jv-convert: (@value{fngcj}) Invoking jv-convert.
- Convert file from one encoding to another
--* grmic: (gcj)Invoking grmic.
-+* grmic: (@value{fngcj}) Invoking grmic.
- Generate stubs for Remote Method Invocation.
--* gc-analyze: (gcj)Invoking gc-analyze.
-+* gc-analyze: (@value{fngcj}) Invoking gc-analyze.
- Analyze Garbage Collector (GC) memory dumps.
--* aot-compile: (gcj)Invoking aot-compile.
-+* aot-compile: (@value{fngcj})Invoking aot-compile.
- Compile bytecode to native and generate databases.
--* rebuild-gcj-db: (gcj)Invoking rebuild-gcj-db.
-+* rebuild-gcj-db: (@value{fngcj})Invoking rebuild-gcj-db.
- Merge the per-solib databases made by aot-compile
- into one system-wide database.
+-* gccinstall: (gccinstall). Installing the GNU Compiler Collection.
++* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection.
@end direntry
-@@ -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,
--gcc, Using the GNU Compiler Collection (GCC)}. This manual only documents the
-+@value{fngcc}, Using the GNU Compiler Collection (GCC)}. This manual only documents the
- options specific to @command{gcj}.
-
- @c man end
---- a/gcc/fortran/gfortran.texi 2009-12-17
-+++ b/gcc/fortran/gfortran.texi 2009-12-20
-@@ -101,7 +101,7 @@
+ @c Part 3 Titlepage and Copyright
+--- a/gcc/doc/cppinternals.texi
++++ b/gcc/doc/cppinternals.texi
+@@ -7,7 +7,7 @@
@ifinfo
@dircategory Software development
@direntry
--* gfortran: (gfortran). The GNU Fortran Compiler.
-+* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler.
+-* Cpplib: (cppinternals). Cpplib internals.
++* @value{fncppint}: (@value{fncppint}). Cpplib internals.
@end direntry
- This file documents the use and the internals of
- the GNU Fortran compiler, (@command{gfortran}).
+ @end ifinfo
+
View
3  debian/patches/series
@@ -1,4 +1,3 @@
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-gcc-multiarch-doc.diff
View
2  gcc/ada/gnat-style.texi
@@ -17,7 +17,7 @@
Copyright @copyright{} 1992-2008, Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts and with no Back-Cover
Texts. A copy of the license is included in the section entitled
View
3,150 gcc/ada/gnat_rm.texi
1,990 additions, 1,160 deletions not shown
View
15,450 gcc/ada/gnat_ugn.texi
4,856 additions, 10,594 deletions not shown
View
3,969 gcc/ada/projects.texi
3,969 additions, 0 deletions not shown
View
54 gcc/doc/arm-neon-intrinsics.texi
@@ -43,20 +43,18 @@
@itemize @bullet
-@item uint64x1_t vadd_u64 (uint64x1_t, uint64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vadd.i64 @var{d0}, @var{d0}, @var{d0}}
+@item float32x2_t vadd_f32 (float32x2_t, float32x2_t)
+@*@emph{Form of expected instruction(s):} @code{vadd.f32 @var{d0}, @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
-@item int64x1_t vadd_s64 (int64x1_t, int64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vadd.i64 @var{d0}, @var{d0}, @var{d0}}
+@item uint64x1_t vadd_u64 (uint64x1_t, uint64x1_t)
@end itemize
@itemize @bullet
-@item float32x2_t vadd_f32 (float32x2_t, float32x2_t)
-@*@emph{Form of expected instruction(s):} @code{vadd.f32 @var{d0}, @var{d0}, @var{d0}}
+@item int64x1_t vadd_s64 (int64x1_t, int64x1_t)
@end itemize
@@ -1013,20 +1011,18 @@
@itemize @bullet
-@item uint64x1_t vsub_u64 (uint64x1_t, uint64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vsub.i64 @var{d0}, @var{d0}, @var{d0}}
+@item float32x2_t vsub_f32 (float32x2_t, float32x2_t)
+@*@emph{Form of expected instruction(s):} @code{vsub.f32 @var{d0}, @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
-@item int64x1_t vsub_s64 (int64x1_t, int64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vsub.i64 @var{d0}, @var{d0}, @var{d0}}
+@item uint64x1_t vsub_u64 (uint64x1_t, uint64x1_t)
@end itemize
@itemize @bullet
-@item float32x2_t vsub_f32 (float32x2_t, float32x2_t)
-@*@emph{Form of expected instruction(s):} @code{vsub.f32 @var{d0}, @var{d0}, @var{d0}}
+@item int64x1_t vsub_s64 (int64x1_t, int64x1_t)
@end itemize
@@ -4750,13 +4746,11 @@
@itemize @bullet
@item uint64_t vget_lane_u64 (uint64x1_t, const int)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{r0}, @var{r0}, @var{d0}}
@end itemize
@itemize @bullet
@item int64_t vget_lane_s64 (int64x1_t, const int)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{r0}, @var{r0}, @var{d0}}
@end itemize
@@ -4886,13 +4880,11 @@
@itemize @bullet
@item uint64x1_t vset_lane_u64 (uint64_t, uint64x1_t, const int)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@itemize @bullet
@item int64x1_t vset_lane_s64 (int64_t, int64x1_t, const int)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@@ -5081,13 +5073,11 @@
@itemize @bullet
@item uint64x1_t vdup_n_u64 (uint64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@itemize @bullet
@item int64x1_t vdup_n_s64 (int64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@@ -5147,13 +5137,11 @@
@itemize @bullet
@item uint64x2_t vdupq_n_u64 (uint64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@itemize @bullet
@item int64x2_t vdupq_n_s64 (int64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@@ -5213,13 +5201,11 @@
@itemize @bullet
@item uint64x1_t vmov_n_u64 (uint64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@itemize @bullet
@item int64x1_t vmov_n_s64 (int64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@@ -5279,13 +5265,11 @@
@itemize @bullet
@item uint64x2_t vmovq_n_u64 (uint64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@itemize @bullet
@item int64x2_t vmovq_n_s64 (int64_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{r0}, @var{r0}}
@end itemize
@@ -5572,32 +5556,30 @@
@itemize @bullet
-@item uint64x1_t vget_low_u64 (uint64x2_t)
+@item float32x2_t vget_low_f32 (float32x4_t)
@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
-@item int64x1_t vget_low_s64 (int64x2_t)
+@item poly16x4_t vget_low_p16 (poly16x8_t)
@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
-@item float32x2_t vget_low_f32 (float32x4_t)
+@item poly8x8_t vget_low_p8 (poly8x16_t)
@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
-@item poly16x4_t vget_low_p16 (poly16x8_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
+@item uint64x1_t vget_low_u64 (uint64x2_t)
@end itemize
@itemize @bullet
-@item poly8x8_t vget_low_p8 (poly8x16_t)
-@*@emph{Form of expected instruction(s):} @code{vmov @var{d0}, @var{d0}}
+@item int64x1_t vget_low_s64 (int64x2_t)
@end itemize
@@ -9727,13 +9709,11 @@
@itemize @bullet
@item uint64x1_t vand_u64 (uint64x1_t, uint64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vand @var{d0}, @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
@item int64x1_t vand_s64 (int64x1_t, int64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vand @var{d0}, @var{d0}, @var{d0}}
@end itemize
@@ -9827,13 +9807,11 @@
@itemize @bullet
@item uint64x1_t vorr_u64 (uint64x1_t, uint64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vorr @var{d0}, @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
@item int64x1_t vorr_s64 (int64x1_t, int64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vorr @var{d0}, @var{d0}, @var{d0}}
@end itemize
@@ -9927,13 +9905,11 @@
@itemize @bullet
@item uint64x1_t veor_u64 (uint64x1_t, uint64x1_t)
-@*@emph{Form of expected instruction(s):} @code{veor @var{d0}, @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
@item int64x1_t veor_s64 (int64x1_t, int64x1_t)
-@*@emph{Form of expected instruction(s):} @code{veor @var{d0}, @var{d0}, @var{d0}}
@end itemize
@@ -10027,13 +10003,11 @@
@itemize @bullet
@item uint64x1_t vbic_u64 (uint64x1_t, uint64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vbic @var{d0}, @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
@item int64x1_t vbic_s64 (int64x1_t, int64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vbic @var{d0}, @var{d0}, @var{d0}}
@end itemize
@@ -10127,13 +10101,11 @@
@itemize @bullet
@item uint64x1_t vorn_u64 (uint64x1_t, uint64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vorn @var{d0}, @var{d0}, @var{d0}}
@end itemize
@itemize @bullet
@item int64x1_t vorn_s64 (int64x1_t, int64x1_t)
-@*@emph{Form of expected instruction(s):} @code{vorn @var{d0}, @var{d0}, @var{d0}}
@end itemize
View
3  gcc/doc/configfiles.texi
@@ -33,9 +33,6 @@ used.
@item
@file{cstamp-h} is used as a timestamp.
@item
-@file{gccbug}, a script for reporting bugs in GCC, is constructed from
-@file{gccbug.in}.
-@item
If a language @file{config-lang.in} file (@pxref{Front End Config, ,
The Front End @file{config-lang.in} File}) sets @code{outputs}, then
the files listed in @code{outputs} there are also generated.
View
12 gcc/doc/contrib.texi
@@ -80,7 +80,7 @@ Janne Blomqvist for contributions to GNU Fortran.
Segher Boessenkool for various fixes.
@item
-Hans-J. Boehm for his @uref{http://www.hpl.hp.com/personal/Hans_Boehm/gc/,,
+Hans-J. Boehm for his @uref{http://www.hpl.hp.com/@/personal/@/Hans_Boehm/@/gc/,,
garbage collector}, IA-64 libffi port, and other Java work.
@item
@@ -239,6 +239,9 @@ architecture, libio maintenance, and early math work.
Zdenek Dvorak for a new loop unroller and various fixes.
@item
+Michael Eager for his work on the Xilinx MicroBlaze port.
+
+@item
Richard Earnshaw for his ongoing work with the ARM@.
@item
@@ -821,6 +824,9 @@ Andreas Schwab for his work on the m68k port.
Lars Segerlund for work on GNU Fortran.
@item
+Dodji Seketeli for numerous C++ bug fixes and debug info improvements.
+
+@item
Joel Sherrill for his direction via the steering committee, RTEMS
contributions and RTEMS testing.
@@ -894,8 +900,8 @@ Jeff Sturm for Java porting help, bug fixes, and encouragement.
Shigeya Suzuki for this fixes for the bsdi platforms.
@item
-Ian Lance Taylor for his mips16 work, general configury hacking,
-fixincludes, etc.
+Ian Lance Taylor for the Go frontend, the initial mips16 and mips64
+support, general configury hacking, fixincludes, etc.
@item
Holger Teutsch provided the support for the Clipper CPU@.
View
45 gcc/doc/cpp.texi
@@ -16,7 +16,7 @@ Copyright @copyright{} 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation. A copy of
the license is included in the
@c man end
@@ -215,7 +215,8 @@ Standard C@. In its default mode, the GNU C preprocessor does not do a
few things required by the standard. These are features which are
rarely, if ever, used, and may cause surprising changes to the meaning
of a program which does not expect them. To get strict ISO Standard C,
-you should use the @option{-std=c90} or @option{-std=c99} options, depending
+you should use the @option{-std=c90}, @option{-std=c99} or
+@option{-std=c1x} options, depending
on which version of the standard you want. To get all the mandatory
diagnostics, you must also use @option{-pedantic}. @xref{Invocation}.
@@ -2264,6 +2265,35 @@ Defined to the number of bytes of the C standard data types: @code{int},
@code{double}, @code{long double}, @code{size_t}, @code{wchar_t}, @code{wint_t}
and @code{ptrdiff_t}.
+@item __BYTE_ORDER__
+@itemx __ORDER_LITTLE_ENDIAN__
+@itemx __ORDER_BIG_ENDIAN__
+@itemx __ORDER_PDP_ENDIAN__
+@code{__BYTE_ORDER__} is defined to one of the values
+@code{__ORDER_LITTLE_ENDIAN__}, @code{__ORDER_BIG_ENDIAN__}, or
+@code{__ORDER_PDP_ENDIAN__} to reflect the layout of multi-byte and
+multi-word quantities in memory. If @code{__BYTE_ORDER__} is equal to
+@code{__ORDER_LITTLE_ENDIAN__} or @code{__ORDER_BIG_ENDIAN__}, then
+multi-byte and multi-word quantities are laid out identically: the
+byte (word) at the lowest address is the least significant or most
+significant byte (word) of the quantity, respectively. If
+@code{__BYTE_ORDER__} is equal to @code{__ORDER_PDP_ENDIAN__}, then
+bytes in 16-bit words are laid out in a little-endian fashion, whereas
+the 16-bit subwords of a 32-bit quantity are laid out in big-endian
+fashion.
+
+You should use these macros for testing like this:
+
+@smallexample
+/* @r{Test for a little-endian machine} */
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+@end smallexample
+
+@item __FLOAT_WORD_ORDER__
+@code{__FLOAT_WORD_ORDER__} is defined to one of the values
+@code{__ORDER_LITTLE_ENDIAN__} or @code{__ORDER_BIG_ENDIAN__} to reflect
+the layout of the words of multi-word floating-point quantities.
+
@item __DEPRECATED
This macro is defined, with value 1, when compiling a C++ source file
with warnings about deprecated constructs enabled. These warnings are
@@ -2344,6 +2374,15 @@ and swap operations on operands 1, 2, 4, 8 or 16 bytes in length, respectively.
This macro is defined when the compiler is emitting Dwarf2 CFI directives
to the assembler. When this is defined, it is possible to emit those same
directives in inline assembly.
+
+@item __FP_FAST_FMA
+@itemx __FP_FAST_FMAF
+@itemx __FP_FAST_FMAL
+These macros are defined with value 1 if the backend supports the
+@code{fma}, @code{fmaf}, and @code{fmal} builtin functions, so that
+the include file @file{math.h} can define the macros
+@code{FP_FAST_FMA}, @code{FP_FAST_FMAF}, and @code{FP_FAST_FMAL}
+for compatibility with the 1999 C standard.
@end table
@node System-specific Predefined Macros
@@ -2390,7 +2429,7 @@ check specifically for features you need, using a tool such as
@subsection C++ Named Operators
@cindex named operators
@cindex C++ named operators
-@cindex iso646.h
+@cindex @file{iso646.h}
In C++, there are eleven keywords which are simply alternate spellings
of operators normally written with punctuation. These keywords are
View
2  gcc/doc/cppinternals.texi
@@ -67,6 +67,7 @@ into another language, under the above conditions for modified versions.
@contents
@page
+@ifnottex
@node Top
@top
@chapter Cpplib---the GNU C Preprocessor
@@ -101,6 +102,7 @@ the way they have.
* Files:: File handling.
* Concept Index:: Index.
@end menu
+@end ifnottex
@node Conventions
@unnumbered Conventions
View
23 gcc/doc/cppopts.texi
@@ -188,8 +188,8 @@ without @samp{-pedantic} but treats as warnings.
@item -M
@opindex M
-@cindex make
-@cindex dependencies, make
+@cindex @command{make}
+@cindex dependencies, @command{make}
Instead of outputting the result of preprocessing, output a rule
suitable for @command{make} describing the dependencies of the main
source file. The preprocessor outputs one @command{make} rule containing
@@ -330,10 +330,10 @@ header is used.
@opindex fpch-preprocess
This option allows use of a precompiled header (@pxref{Precompiled
Headers}) together with @option{-E}. It inserts a special @code{#pragma},
-@code{#pragma GCC pch_preprocess "<filename>"} in the output to mark
-the place where the precompiled header was found, and its filename. When
-@option{-fpreprocessed} is in use, GCC recognizes this @code{#pragma} and
-loads the PCH@.
+@code{#pragma GCC pch_preprocess "@var{filename}"} in the output to mark
+the place where the precompiled header was found, and its @var{filename}.
+When @option{-fpreprocessed} is in use, GCC recognizes this @code{#pragma}
+and loads the PCH@.
This option is off by default, because the resulting preprocessed output
is only really suitable as input to GCC@. It is switched on by
@@ -392,6 +392,9 @@ The 1990 C standard, as amended in 1994.
The revised ISO C standard, published in December 1999. Before
publication, this was known as C9X@.
+@item c1x
+The next version of the ISO C standard, still under development.
+
@item gnu90
@itemx gnu89
The 1990 C standard plus GNU extensions. This is the default.
@@ -400,6 +403,10 @@ The 1990 C standard plus GNU extensions. This is the default.
@itemx gnu9x
The 1999 C standard plus GNU extensions.
+@item gnu1x
+The next version of the ISO C standard, still under development, plus
+GNU extensions.
+
@item c++98
The 1998 ISO C++ standard plus amendments.
@@ -485,7 +492,9 @@ would; @option{-iwithprefix} puts it where @option{-idirafter} would.
@item -isysroot @var{dir}
@opindex isysroot
This option is like the @option{--sysroot} option, but applies only to
-header files. See the @option{--sysroot} option for more information.
+header files (except for Darwin targets, where it applies to both header
+files and libraries). See the @option{--sysroot} option for more
+information.
@item -imultilib @var{dir}
@opindex imultilib
View
915 gcc/doc/extend.texi
@@ -1,5 +1,5 @@
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1996, 1998, 1999, 2000, 2001,
-@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@@ -33,6 +33,7 @@ extensions, accepted by GCC in C90 mode and in C++.
* Typeof:: @code{typeof}: referring to the type of an expression.
* Conditionals:: Omitting the middle operand of a @samp{?:} expression.
* Long Long:: Double-word integers---@code{long long int}.
+* __int128:: 128-bit integers---@code{__int128}.
* Complex:: Data types for complex numbers.
* Floating Types:: Additional Floating Types.
* Half-Precision:: Half-Precision Floating Point.
@@ -65,6 +66,7 @@ extensions, accepted by GCC in C90 mode and in C++.
* Type Attributes:: Specifying attributes of types.
* Alignment:: Inquiring about the alignment of a type or variable.
* Inline:: Defining inline functions (as fast as macros).
+* Volatiles:: What constitutes an access to a volatile object.
* Extended Asm:: Assembler instructions with C expressions as operands.
(With them you can define ``built-in'' functions.)
* Constraints:: Constraints for asm operands
@@ -566,7 +568,7 @@ the containing function. You should specify, for @var{result}, a value
returned by @code{__builtin_apply}.
@end deftypefn
-@deftypefn {Built-in Function} __builtin_va_arg_pack ()
+@deftypefn {Built-in Function} {} __builtin_va_arg_pack ()
This built-in function represents all anonymous arguments of an inline
function. It can be used only in inline functions which will be always
inlined, never compiled as a separate function, such as those using
@@ -592,7 +594,7 @@ myprintf (FILE *f, const char *format, ...)
@end smallexample
@end deftypefn
-@deftypefn {Built-in Function} __builtin_va_arg_pack_len ()
+@deftypefn {Built-in Function} {size_t} __builtin_va_arg_pack_len ()
This built-in function returns the number of anonymous arguments of
an inline function. It can be used only in inline functions which
will be always inlined, never compiled as a separate function, such
@@ -794,8 +796,8 @@ This example is perfectly equivalent to
x ? x : y
@end smallexample
-@cindex side effect in ?:
-@cindex ?: side effect
+@cindex side effect in @code{?:}
+@cindex @code{?:} side effect
@noindent
In this simple case, the ability to omit the middle operand is not
especially useful. When it becomes useful is when the first operand does,
@@ -804,6 +806,17 @@ the operand in the middle would perform the side effect twice. Omitting
the middle operand uses the value already computed without the undesirable
effects of recomputing it.
+@node __int128
+@section 128-bits integers
+@cindex @code{__int128} data types
+
+As an extension the integer scalar type @code{__int128} is supported for
+targets having an integer mode wide enough to hold 128-bit.
+Simply write @code{__int128} for a signed 128-bit integer, or
+@code{unsigned __int128} for an unsigned 128-bit integer. There is no
+support in GCC to express an integer constant of type @code{__int128}
+for targets having @code{long long} integer with less then 128 bit width.
+
@node Long Long
@section Double-Word Integers
@cindex @code{long long} data types
@@ -921,6 +934,7 @@ typedef _Complex float __attribute__((mode(XC))) _Complex80;
Not all targets support additional floating point types. @code{__float80}
and @code{__float128} types are supported on i386, x86_64 and ia64 targets.
+The @code{__float128} type is supported on hppa HP-UX targets.
@node Half-Precision
@section Half-Precision Floating Point
@@ -1207,7 +1221,7 @@ 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
+the SPU and M32C targets support 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:
@@ -1224,6 +1238,11 @@ 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.
+On the M32C target, with the R8C and M16C cpu variants, variables
+qualified with @code{__far} are accessed using 32-bit addresses in
+order to access memory beyond the first 64k bytes. If @code{__far} is
+used with the M32CM or M32C cpu variants, it has no effect.
+
@node Zero Length
@section Arrays of Length Zero
@cindex arrays of length zero
@@ -1897,6 +1916,7 @@ the enclosing block.
@cindex functions that do not pop the argument stack on the 386
@cindex functions that have different compilation options on the 386
@cindex functions that have different optimization options
+@cindex functions that are dynamically resolved
In GNU C, you declare certain things about functions called in your program
which help the compiler optimize function calls and check your code more
@@ -1910,15 +1930,16 @@ attributes are currently defined for functions on all targets:
@code{returns_twice}, @code{noinline}, @code{noclone},
@code{always_inline}, @code{flatten}, @code{pure}, @code{const},
@code{nothrow}, @code{sentinel}, @code{format}, @code{format_arg},
-@code{no_instrument_function}, @code{section}, @code{constructor},
+@code{no_instrument_function}, @code{no_split_stack},
+@code{section}, @code{constructor},
@code{destructor}, @code{used}, @code{unused}, @code{deprecated},
-@code{weak}, @code{malloc}, @code{alias}, @code{warn_unused_result},
-@code{nonnull}, @code{gnu_inline}, @code{externally_visible},
-@code{hot}, @code{cold}, @code{artificial}, @code{error} and
-@code{warning}. Several other attributes are defined for functions on
-particular target systems. Other attributes, including @code{section}
-are supported for variables declarations (@pxref{Variable Attributes})
-and for types (@pxref{Type Attributes}).
+@code{weak}, @code{malloc}, @code{alias}, @code{ifunc},
+@code{warn_unused_result}, @code{nonnull}, @code{gnu_inline},
+@code{externally_visible}, @code{hot}, @code{cold}, @code{artificial},
+@code{error} and @code{warning}. Several other attributes are defined
+for functions on particular target systems. Other attributes,
+including @code{section} are supported for variables declarations
+(@pxref{Variable Attributes}) and for types (@pxref{Type Attributes}).
GCC plugins may provide their own attributes.
@@ -2192,9 +2213,14 @@ On systems that support the @code{visibility} attribute, this
attribute also implies ``default'' visibility. It is an error to
explicitly specify any other visibility.
-Currently, the @code{dllexport} attribute is ignored for inlined
-functions, unless the @option{-fkeep-inline-functions} flag has been
-used. The attribute is also ignored for undefined symbols.
+In previous versions of GCC, the @code{dllexport} attribute was ignored
+for inlined functions, unless the @option{-fkeep-inline-functions} flag
+had been used. The default behaviour now is to emit all dllexported
+inline functions; however, this can cause object file-size bloat, in
+which case the old behaviour can be restored by using
+@option{-fno-keep-inline-dllexport}.
+
+The attribute is also ignored for undefined symbols.
When applied to C++ classes, the attribute marks defined non-inlined
member functions and static data members as exports. Static consts
@@ -2282,7 +2308,7 @@ attribute is present.
@cindex @code{externally_visible} attribute.
This attribute, attached to a global variable or function, nullifies
the effect of the @option{-fwhole-program} command-line option, so the
-object remains visible outside the current compilation unit.
+object remains visible outside the current compilation unit. If @option{-fwhole-program} is used together with @option{-flto} and @command{gold} is used as the linker plugin, @code{externally_visible} attributes are automatically added to functions (not variable yet due to a current @command{gold} issue) that are accessed outside of LTO objects according to resolution file produced by @command{gold}. For other linkers that cannot generate resolution file, explicit @code{externally_visible} attributes are still necessary.
@item far
@cindex functions which handle memory bank switching
@@ -2321,6 +2347,18 @@ and other typed arguments are passed on the stack. The called function will
pop the arguments off the stack. If the number of arguments is variable all
arguments are pushed on the stack.
+@item thiscall
+@cindex functions that pop the argument stack on the 386
+On the Intel 386, the @code{thiscall} attribute causes the compiler to
+pass the first argument (if of integral type) in the register ECX.
+Subsequent and other typed arguments are passed on the stack. The called
+function will pop the arguments off the stack.
+If the number of arguments is variable all arguments are pushed on the
+stack.
+The @code{thiscall} attribute is intended for C++ non-static member functions.
+As gcc extension this calling convention can be used for C-functions
+and for static member methods.
+
@item format (@var{archetype}, @var{string-index}, @var{first-to-check})
@cindex @code{format} function attribute
@opindex Wformat
@@ -2386,7 +2424,13 @@ standard modes, the X/Open function @code{strfmon} is also checked as
are @code{printf_unlocked} and @code{fprintf_unlocked}.
@xref{C Dialect Options,,Options Controlling C Dialect}.
-The target may provide additional types of format checks.
+For Objective-C dialects, @code{NSString} (or @code{__NSString__}) is
+recognized in the same context. Declarations including these format attributes
+will be parsed for correct syntax, however the result of checking of such format
+strings is not yet defined, and will not be carried out by this version of the
+compiler.
+
+The target may also provide additional types of format checks.
@xref{Target Format Checks,,Format Checks Specific to Particular
Target Machines}.
@@ -2435,6 +2479,14 @@ requested by @option{-ansi} or an appropriate @option{-std} option, or
is used. @xref{C Dialect Options,,Options
Controlling C Dialect}.
+For Objective-C dialects, the @code{format-arg} attribute may refer to an
+@code{NSString} reference for compatibility with the @code{format} attribute
+above.
+
+The target may also allow additional types in @code{format-arg} attributes.
+@xref{Target Format Checks,,Format Checks Specific to Particular
+Target Machines}.
+
@item function_vector
@cindex calling functions through the function vector on H8/300, M16C, M32C and SH2A processors
Use this attribute on the H8/300, H8/300H, and H8S to indicate that the specified
@@ -2505,8 +2557,8 @@ interrupt handler. The compiler will generate function entry and exit
sequences suitable for use in an interrupt handler when this attribute
is present.
-Note, interrupt handlers for the Blackfin, H8/300, H8/300H, H8S, and
-SH processors can be specified via the @code{interrupt_handler} attribute.
+Note, interrupt handlers for the Blackfin, H8/300, H8/300H, H8S, MicroBlaze,
+and SH processors can be specified via the @code{interrupt_handler} attribute.
Note, on the AVR, interrupts will be enabled inside the function.
@@ -2558,6 +2610,51 @@ void __attribute__ ((interrupt, use_shadow_register_set,
use_debug_exception_return)) v7 ();
@end smallexample
+@item ifunc ("@var{resolver}")
+@cindex @code{ifunc} attribute
+The @code{ifunc} attribute is used to mark a function as an indirect
+function using the STT_GNU_IFUNC symbol type extension to the ELF
+standard. This allows the resolution of the symbol value to be
+determined dynamically at load time, and an optimized version of the
+routine can be selected for the particular processor or other system
+characteristics determined then. To use this attribute, first define
+the implementation functions available, and a resolver function that
+returns a pointer to the selected implementation function. The
+implementation functions' declarations must match the API of the
+function being implemented, the resolver's declaration is be a
+function returning pointer to void function returning void:
+
+@smallexample
+void *my_memcpy (void *dst, const void *src, size_t len)
+@{
+ @dots{}
+@}
+
+static void (*resolve_memcpy (void)) (void)
+@{
+ return my_memcpy; // we'll just always select this routine
+@}
+@end smallexample
+
+The exported header file declaring the function the user calls would
+contain:
+
+@smallexample
+extern void *memcpy (void *, const void *, size_t);
+@end smallexample
+
+allowing the user to call this as a regular function, unaware of the
+implementation. Finally, the indirect function needs to be defined in
+the same translation unit as the resolver function:
+
+@smallexample
+void *memcpy (void *, const void *, size_t)
+ __attribute__ ((ifunc ("resolve_memcpy")));
+@end smallexample
+
+Indirect functions cannot be weak, and require a recent binutils (at
+least version 2.20.1), and GNU C library (at least version 2.11.1).
+
@item interrupt_handler
@cindex interrupt handler functions on the Blackfin, m68k, H8/300 and SH processors
Use this attribute on the Blackfin, m68k, H8/300, H8/300H, H8S, and SH to
@@ -2598,11 +2695,36 @@ SRAM. The function will be put into a specific section named
@code{.l1.text}. With @option{-mfdpic}, callers of such functions will use
an inlined PLT.
+@item leaf
+@cindex @code{leaf} function attribute
+Calls to external functions with this attribute must return to the current
+compilation unit only by return or by exception handling. In particular, leaf
+functions are not allowed to call callback function passed to it from the current
+compilation unit or directly call functions exported by the unit or longjmp
+into the unit. Leaf function might still call functions from other compilation
+units and thus they are not necessarily leaf in the sense that they contain no
+function calls at all.
+
+The attribute is intended for library functions to improve dataflow analysis.
+The compiler takes the hint that any data not escaping the current compilation unit can
+not be used or modified by the leaf function. For example, the @code{sin} function
+is a leaf function, but @code{qsort} is not.
+
+Note that leaf functions might invoke signals and signal handlers might be
+defined in the current compilation unit and use static variables. The only
+compliant way to write such a signal handler is to declare such variables
+@code{volatile}.
+
+The attribute has no effect on functions defined within the current compilation
+unit. This is to allow easy merging of multiple compilation units into one,
+for example, by using the link time optimization. For this reason the
+attribute is not allowed on types to annotate indirect calls.
+
@item long_call/short_call
@cindex indirect calls on ARM
This attribute specifies how a particular function is called on
ARM@. Both attributes override the @option{-mlong-calls} (@pxref{ARM Options})
-command line switch and @code{#pragma long_calls} settings. The
+command-line switch and @code{#pragma long_calls} settings. The
@code{long_call} attribute indicates that the function might be far
away from the call site and require a different (more expensive)
calling sequence. The @code{short_call} attribute always places
@@ -2707,17 +2829,30 @@ when targeting Windows. On all other systems, the default is the AMD ABI.
Note, the @code{ms_abi} attribute for Windows targets currently requires
the @option{-maccumulate-outgoing-args} option.
+@item callee_pop_aggregate_return (@var{number})
+@cindex @code{callee_pop_aggregate_return} attribute
+
+On 32-bit i?86-*-* targets, you can control by those attribute for
+aggregate return in memory, if the caller is responsible to pop the hidden
+pointer together with the rest of the arguments - @var{number} equal to
+zero -, or if the callee is responsible to pop hidden pointer - @var{number}
+equal to one.
+
+For i?86-netware, the caller pops the stack for the hidden arguments pointing
+to aggregate return value. This differs from the default i386 ABI which assumes
+that the callee pops the stack for hidden pointer.
+
@item ms_hook_prologue
@cindex @code{ms_hook_prologue} attribute
-On 32 bit i[34567]86-*-* targets, you can use this function attribute to make
-gcc generate the "hot-patching" function prologue used in Win32 API
-functions in Microsoft Windows XP Service Pack 2 and newer. This requires
-support for the swap suffix in the assembler. (GNU Binutils 2.19.51 or later)
+On 32 bit i[34567]86-*-* targets and 64 bit x86_64-*-* targets, you can use
+this function attribute to make gcc generate the "hot-patching" function
+prologue used in Win32 API functions in Microsoft Windows XP Service Pack 2
+and newer.
@item naked
@cindex function without a prologue/epilogue code
-Use this attribute on the ARM, AVR, IP2K, RX and SPU ports to indicate that
+Use this attribute on the ARM, AVR, MCORE, RX and SPU ports to indicate that
the specified function does not need prologue/epilogue sequences generated by
the compiler. It is up to the programmer to provide these sequences. The
only statements that can be safely included in naked functions are
@@ -2758,6 +2893,14 @@ If @option{-finstrument-functions} is given, profiling function calls will
be generated at entry and exit of most user-compiled functions.
Functions with this attribute will not be so instrumented.
+@item no_split_stack
+@cindex @code{no_split_stack} function attribute
+@opindex fsplit-stack
+If @option{-fsplit-stack} is given, functions will have a small
+prologue which decides whether to split the stack. Functions with the
+@code{no_split_stack} attribute will not have that prologue, and thus
+may run with only a small amount of stack space available.
+
@item noinline
@cindex @code{noinline} function attribute
This function attribute prevents a function from being considered for
@@ -2886,6 +3029,33 @@ compiled with more aggressive optimization options that produce faster
and larger code, while other functions can be called with less
aggressive options.
+@item OS_main/OS_task
+@cindex @code{OS_main} AVR function attribute
+@cindex @code{OS_task} AVR function attribute
+On AVR, functions with the @code{OS_main} or @code{OS_task} attribute
+do not save/restore any call-saved register in their prologue/epilogue.
+
+The @code{OS_main} attribute can be used when there @emph{is
+guarantee} that interrupts are disabled at the time when the function
+is entered. This will save resources when the stack pointer has to be
+changed to set up a frame for local variables.
+
+The @code{OS_task} attribute can be used when there is @emph{no
+guarantee} that interrupts are disabled at that time when the function
+is entered like for, e@.g@. task functions in a multi-threading operating
+system. In that case, changing the stack pointer register will be
+guarded by save/clear/restore of the global interrupt enable flag.
+
+The differences to the @code{naked} function attrubute are:
+@itemize @bullet
+@item @code{naked} functions do not have a return instruction whereas
+@code{OS_main} and @code{OS_task} functions will have a @code{RET} or
+@code{RETI} return instruction.
+@item @code{naked} functions do not set up a frame for local variables
+or a frame pointer whereas @code{OS_main} and @code{OS_task} do this
+as needed.
+@end itemize
+
@item pcs
@cindex @code{pcs} function attribute
@@ -3027,6 +3197,14 @@ Use this attribute on the Blackfin, H8/300, H8/300H, and H8S to indicate that
all registers except the stack pointer should be saved in the prologue
regardless of whether they are used or not.
+@item save_volatiles
+@cindex save volatile registers on the MicroBlaze
+Use this attribute on the MicroBlaze to indicate that the function is
+an interrupt handler. All volatile registers (in addition to non-volatile
+registers) will be saved in the function prologue. If the function is a leaf
+function, only volatiles used by the function are saved. A normal function
+return is generated instead of a return from interrupt.
+
@item section ("@var{section-name}")
@cindex @code{section} function attribute
Normally, the compiler places the code it generates in the @code{text} section.
@@ -3284,17 +3462,191 @@ Specify which floating point unit to use. The
different options.
@end table
-On the 386, you can use either multiple strings to specify multiple
-options, or you can separate the option with a comma (@code{,}).
+On the PowerPC, the following options are allowed:
-On the 386, the inliner will not inline a function that has different
-target options than the caller, unless the callee has a subset of the
-target options of the caller. For example a function declared with
-@code{target("sse3")} can inline a function with
-@code{target("sse2")}, since @code{-msse3} implies @code{-msse2}.
+@table @samp
+@item altivec
+@itemx no-altivec
+@cindex @code{target("altivec")} attribute
+Generate code that uses (does not use) AltiVec instructions. In
+32-bit code, you cannot enable Altivec instructions unless
+@option{-mabi=altivec} was used on the command line.
+
+@item cmpb
+@itemx no-cmpb
+@cindex @code{target("cmpb")} attribute
+Generate code that uses (does not use) the compare bytes instruction
+implemented on the POWER6 processor and other processors that support
+the PowerPC V2.05 architecture.
+
+@item dlmzb
+@itemx no-dlmzb
+@cindex @code{target("dlmzb")} attribute
+Generate code that uses (does not use) the string-search @samp{dlmzb}
+instruction on the IBM 405, 440, 464 and 476 processors. This instruction is
+generated by default when targetting those processors.
+
+@item fprnd
+@itemx no-fprnd
+@cindex @code{target("fprnd")} attribute
+Generate code that uses (does not use) the FP round to integer
+instructions implemented on the POWER5+ processor and other processors
+that support the PowerPC V2.03 architecture.
+
+@item hard-dfp
+@itemx no-hard-dfp
+@cindex @code{target("hard-dfp")} attribute
+Generate code that uses (does not use) the decimal floating point
+instructions implemented on some POWER processors.
+
+@item isel
+@itemx no-isel
+@cindex @code{target("isel")} attribute
+Generate code that uses (does not use) ISEL instruction.
+
+@item mfcrf
+@itemx no-mfcrf
+@cindex @code{target("mfcrf")} attribute
+Generate code that uses (does not use) the move from condition
+register field instruction implemented on the POWER4 processor and
+other processors that support the PowerPC V2.01 architecture.
+
+@item mfpgpr
+@itemx no-mfpgpr
+@cindex @code{target("mfpgpr")} attribute
+Generate code that uses (does not use) the FP move to/from general
+purpose register instructions implemented on the POWER6X processor and
+other processors that support the extended PowerPC V2.05 architecture.
+
+@item mulhw
+@itemx no-mulhw
+@cindex @code{target("mulhw")} attribute
+Generate code that uses (does not use) the half-word multiply and
+multiply-accumulate instructions on the IBM 405, 440, 464 and 476 processors.
+These instructions are generated by default when targetting those
+processors.
+
+@item multiple
+@itemx no-multiple
+@cindex @code{target("multiple")} attribute
+Generate code that uses (does not use) the load multiple word
+instructions and the store multiple word instructions.
+
+@item update
+@itemx no-update
+@cindex @code{target("update")} attribute
+Generate code that uses (does not use) the load or store instructions
+that update the base register to the address of the calculated memory
+location.
+
+@item popcntb
+@itemx no-popcntb
+@cindex @code{target("popcntb")} attribute
+Generate code that uses (does not use) the popcount and double
+precision FP reciprocal estimate instruction implemented on the POWER5
+processor and other processors that support the PowerPC V2.02
+architecture.
+
+@item popcntd
+@itemx no-popcntd
+@cindex @code{target("popcntd")} attribute
+Generate code that uses (does not use) the popcount instruction
+implemented on the POWER7 processor and other processors that support
+the PowerPC V2.06 architecture.
+
+@item powerpc-gfxopt
+@itemx no-powerpc-gfxopt
+@cindex @code{target("powerpc-gfxopt")} attribute
+Generate code that uses (does not use) the optional PowerPC
+architecture instructions in the Graphics group, including
+floating-point select.
+
+@item powerpc-gpopt
+@itemx no-powerpc-gpopt
+@cindex @code{target("powerpc-gpopt")} attribute
+Generate code that uses (does not use) the optional PowerPC
+architecture instructions in the General Purpose group, including
+floating-point square root.
+
+@item recip-precision
+@itemx no-recip-precision
+@cindex @code{target("recip-precision")} attribute
+Assume (do not assume) that the reciprocal estimate instructions
+provide higher precision estimates than is mandated by the powerpc
+ABI.
+
+@item string
+@itemx no-string
+@cindex @code{target("string")} attribute
+Generate code that uses (does not use) the load string instructions
+and the store string word instructions to save multiple registers and
+do small block moves.
+
+@item vsx
+@itemx no-vsx
+@cindex @code{target("vsx")} attribute
+Generate code that uses (does not use) vector/scalar (VSX)
+instructions, and also enable the use of built-in functions that allow
+more direct access to the VSX instruction set. In 32-bit code, you
+cannot enable VSX or Altivec instructions unless
+@option{-mabi=altivec} was used on the command line.
+
+@item friz
+@itemx no-friz
+@cindex @code{target("friz")} attribute
+Generate (do not generate) the @code{friz} instruction when the
+@option{-funsafe-math-optimizations} option is used to optimize
+rounding a floating point value to 64-bit integer and back to floating
+point. The @code{friz} instruction does not return the same value if
+the floating point number is too large to fit in an integer.
+
+@item avoid-indexed-addresses
+@itemx no-avoid-indexed-addresses
+@cindex @code{target("avoid-indexed-addresses")} attribute
+Generate code that tries to avoid (not avoid) the use of indexed load
+or store instructions.
+
+@item paired
+@itemx no-paired
+@cindex @code{target("paired")} attribute
+Generate code that uses (does not use) the generation of PAIRED simd
+instructions.
+
+@item longcall
+@itemx no-longcall
+@cindex @code{target("longcall")} attribute
+Generate code that assumes (does not assume) that all calls are far
+away so that a longer more expensive calling sequence is required.
+
+@item cpu=@var{CPU}
+@cindex @code{target("cpu=@var{CPU}")} attribute
+Specify the architecture to generate code for when compiling the
+function. If you select the @code{"target("cpu=power7)"} attribute when
+generating 32-bit code, VSX and Altivec instructions are not generated
+unless you use the @option{-mabi=altivec} option on the command line.
+
+@item tune=@var{TUNE}
+@cindex @code{target("tune=@var{TUNE}")} attribute
+Specify the architecture to tune for when compiling the function. If
+you do not specify the @code{target("tune=@var{TUNE}")} attribute and
+you do specify the @code{target("cpu=@var{CPU}")} attribute,
+compilation will tune for the @var{CPU} architecture, and not the
+default tuning specified on the command line.
+@end table
+
+On the 386/x86_64 and PowerPC backends, you can use either multiple
+strings to specify multiple options, or you can separate the option
+with a comma (@code{,}).
+
+On the 386/x86_64 and PowerPC backends, the inliner will not inline a
+function that has different target options than the caller, unless the
+callee has a subset of the target options of the caller. For example
+a function declared with @code{target("sse3")} can inline a function
+with @code{target("sse2")}, since @code{-msse3} implies @code{-msse2}.
The @code{target} attribute is not implemented in GCC versions earlier
-than 4.4, and at present only the 386 uses it.
+than 4.4 for the i386/x86_64 and 4.6 for the PowerPC backends. It is
+not currently implemented for other backends.
@item tiny_data
@cindex tiny data section on the H8/300H and H8S
@@ -3489,7 +3841,7 @@ static int x() __attribute__ ((alias ("y")));
A weak reference is an alias that does not by itself require a
definition to be given for the target symbol. If the target symbol is
-only referenced through weak references, then the becomes a @code{weak}
+only referenced through weak references, then it becomes a @code{weak}
undefined symbol. If it is directly referenced, however, then such
strong references prevail, and a definition will be required for the
symbol, not necessarily in the same translation unit.