Index: gtkdoc-common.pl.in
===================================================================
--- gtkdoc-common.pl.in	(revision 441)
+++ gtkdoc-common.pl.in	(working copy)
@@ -245,6 +245,11 @@
 sub ParseEnumDeclaration {
     my ($declaration, $is_object) = @_;
 
+    # For forward enum declarations just return an empty array.
+    if ($declaration =~ m/enum\s+\S+\s*;/msg) {
+	return ();
+    }
+
     # Remove comments;
     $declaration =~ s@/\*([^*]+|\*(?!/))*\*/@ @g;
 
@@ -267,7 +272,7 @@
     $declaration =~ s/,(\s*})/$1/g;
 
     # Prime match after "typedef enum {" declaration
-    if (!scalar($declaration =~ m/typedef\s+enum\s*(\S+\s*)?\{/msg)) {
+    if (!scalar($declaration =~ m/(typedef\s+)?enum\s*(\S+\s*)?\{/msg)) {
 	die "Enum declaration '$declaration' does not begin with typedef enum {\n";
     }
 
