From 53b7942513f504cb78d1f190836fc9b980da0ead Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Mon, 5 Apr 2010 20:20:12 +0000 Subject: 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 --- gcc/doc/invoke.texi | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/doc/invoke.texi') 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, -- cgit v1.1