diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 390a344e459a7642a1c64fb564b6e97d902f3743..0c3045a6005fba72c5262fc7c6c574ccf3eb31b7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-05-22  Richard Biener  <rguenther@suse.de>
+
+	PR lto/95190
+	* doc/invoke.texi (flto): Document behavior of diagnostic
+	options.
+
 2020-05-22  Richard Biener  <rguenther@suse.de>
 
 	* tree-vectorizer.h (vect_is_simple_use): New overload.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 7217e27151d65135259bb49adf2ecc02d6ed67c3..8b9935dfe6523d53af39248d24f4fc577f1c9c40 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -11205,6 +11205,14 @@ conflicting translation units.  Specifically
 precedence; and for example @option{-ffp-contract=off} takes precedence
 over @option{-ffp-contract=fast}.  You can override them at link time.
 
+Diagnostic options such as @option{-Wstringop-overflow} are passed
+through to the link stage and their setting matches that of the
+compile-step at function granularity.  Note that this matters only
+for diagnostics emitted during optimization.  Note that code
+transforms such as inlining can lead to warnings being enabled
+or disabled for regions if code not consistent with the setting
+at compile time.
+
 When you need to pass options to the assembler via @option{-Wa} or
 @option{-Xassembler} make sure to either compile such translation
 units with @option{-fno-lto} or consistently use the same assembler