diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 52be1847a041cd898a8a7a2787ab6957fbea279a..ddfa56b14408052b795a72008bb2c9dd20350c63 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+	PR c/12802
+	* doc/extend.texi (Unnamed Fields): Remove "." from end of long
+	title.  Document interaction with -fms-extensions.
+	* doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
+	section.
+
 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
 
 	PR c/12713
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index f7f52f186b0f4d022c84961cc60012c606529704..ded154fd3188791be63a23c61317485cd9b7f98d 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -8308,7 +8308,7 @@ multiple @code{#pragma pack(@var{n})} instances and finalized by a single
 @end enumerate
 
 @node Unnamed Fields
-@section Unnamed struct/union fields within structs/unions.
+@section Unnamed struct/union fields within structs/unions
 @cindex struct
 @cindex union
 
@@ -8348,6 +8348,15 @@ It is ambiguous which @code{a} is being referred to with @samp{foo.a}.
 Such constructs are not supported and must be avoided.  In the future,
 such constructs may be detected and treated as compilation errors.
 
+@opindex fms-extensions
+Unless @option{-fms-extensions} is used, the unnamed field must be a
+structure or union definition without a tag (for example, @samp{struct
+@{ int a; @};}).  If @option{-fms-extensions} is used, the field may
+also be a definition with a tag such as @samp{struct foo @{ int a;
+@};}, a reference to a previously defined structure or union such as
+@samp{struct foo;}, or a reference to a @code{typedef} name for a
+previously defined structure or union type.
+
 @node Thread-Local
 @section Thread-Local Storage
 @cindex Thread-Local Storage
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e86677d3ecc745ca09942940aa7ab039141d9b64..33d7b983400210da64cf47a5ecdd4416b5bb27e4 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1223,6 +1223,10 @@ freestanding and hosted environments.
 @opindex fms-extensions
 Accept some non-standard constructs used in Microsoft header files.
 
+Some cases of unnamed fields in structures and unions are only
+accepted with this option.  @xref{Unnamed Fields,,Unnamed struct/union
+fields within structs/unions}, for details.
+
 @item -trigraphs
 @opindex trigraphs
 Support ISO C trigraphs.  The @option{-ansi} option (and @option{-std}