aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/invoke.texi
diff options
context:
space:
mode:
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>2010-04-05 20:20:12 +0000
committerRalf Wildenhues <rwild@gcc.gnu.org>2010-04-05 20:20:12 +0000
commit53b7942513f504cb78d1f190836fc9b980da0ead (patch)
tree05c9fabe08319bb7c7b43df806f58e1b0e8d2f95 /gcc/doc/invoke.texi
parent7e0ec110d5f378316e04251072777b89a5e4ed74 (diff)
downloadgcc-53b7942513f504cb78d1f190836fc9b980da0ead.zip
gcc-53b7942513f504cb78d1f190836fc9b980da0ead.tar.gz
gcc-53b7942513f504cb78d1f190836fc9b980da0ead.tar.bz2
Document LTO behavior with incompatible declarations.
gcc/: * doc/invoke.texi (Optimize Options): Document that LTO won't remove object access purely due to incompatible declarations. From-SVN: r157970
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r--gcc/doc/invoke.texi5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 23a0f4a..341d1b7 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -7294,6 +7294,11 @@ regular (non-LTO) compilation. This means that if your build process
was mixing languages before, all you need to add is @option{-flto} to
all the compile and link commands.
+If LTO encounters objects with C linkage declared with incompatible
+types in separate translation units to be linked together (undefined
+behavior according to ISO C99 6.2.7), a non-fatal diagnostic may be
+issued. The behavior is still undefined at runtime.
+
If object files containing GIMPLE bytecode are stored in a library
archive, say @file{libfoo.a}, it is possible to extract and use them
in an LTO link if you are using @command{gold} as the linker (which,