OSDN Git Service

* doc/invoke.texi: Improve -Wabi and -fabi-version docs.
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Feb 2010 19:26:45 +0000 (19:26 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 24 Feb 2010 19:26:45 +0000 (19:26 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157053 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/doc/invoke.texi

index 5aee0a1..6eb392c 100644 (file)
@@ -1,3 +1,7 @@
+2010-02-24  Jason Merrill  <jason@redhat.com>
+
+       * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
+
 2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * cfg.c (alloc_aux_for_block): Remove inline.
index f661001..36b3568 100644 (file)
@@ -1780,6 +1780,13 @@ are fixed.
 
 The default is version 2.
 
+Version 3 corrects an error in mangling a constant address as a
+template argument.
+
+Version 4 implements a standard mangling for vector types.
+
+See also @option{-Wabi}.
+
 @item -fno-access-control
 @opindex fno-access-control
 Turn off all access checking.  This switch is mainly useful for working
@@ -2096,7 +2103,30 @@ You should rewrite your code to avoid these warnings if you are
 concerned about the fact that code generated by G++ may not be binary
 compatible with code generated by other compilers.
 
-The known incompatibilities at this point include:
+The known incompatibilities in @option{-fabi-version=2} (the default) include:
+
+@itemize @bullet
+
+@item
+A template with a non-type template parameter of reference type is
+mangled incorrectly:
+@smallexample
+extern int N;
+template <int &> struct S @{@};
+void n (S<N>) @{2@}
+@end smallexample
+
+This is fixed in @option{-fabi-version=3}.
+
+@item
+SIMD vector types declared using @code{__attribute ((vector_size))} are
+mangled in a non-standard way that does not allow for overloading of
+functions taking vectors of different sizes.
+
+The mangling is changed in @option{-fabi-version=4}.
+@end itemize
+
+The known incompatibilities in @option{-fabi-version=1} include:
 
 @itemize @bullet