diff options
author | Jason Merrill <jason@redhat.com> | 2010-02-24 14:26:45 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-02-24 14:26:45 -0500 |
commit | 0e7750a0105041cf8dda86be2e9309530df2212f (patch) | |
tree | 211bd6da3eea420dc89433a314b865c741e6a72d /gcc | |
parent | b66093b0c21ce1818e61d082738198126f47674e (diff) | |
download | gcc-0e7750a0105041cf8dda86be2e9309530df2212f.zip gcc-0e7750a0105041cf8dda86be2e9309530df2212f.tar.gz gcc-0e7750a0105041cf8dda86be2e9309530df2212f.tar.bz2 |
* doc/invoke.texi: Improve -Wabi and -fabi-version docs.
From-SVN: r157053
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 32 |
2 files changed, 35 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5aee0a1..6eb392c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index f661001..36b3568 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -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 |