Commit 0e7750a0 by Jason Merrill Committed by Jason Merrill

* doc/invoke.texi: Improve -Wabi and -fabi-version docs.

From-SVN: r157053
parent b66093b0
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.
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment