Index: fortranscanner.l
===================================================================
RCS file: /cygdrive/d/cvs_doxygen/doxygen/doxygen/src/fortranscanner.l,v
retrieving revision 1.1
diff -u -r1.1 fortranscanner.l
--- fortranscanner.l	22 May 2012 19:36:41 -0000	1.1
+++ fortranscanner.l	28 May 2012 17:07:40 -0000
@@ -1028,6 +1028,20 @@
 					   startCommentBlock(TRUE);
                                            yy_push_state(DocBackLine);
                                           }
+                                          else
+                                          {
+                                            /* handle out of place !< comment as a normal comment */
+                                            if (YY_START == String) { yyColNr -= yyleng; REJECT; } // "!" is ignored in strings
+                                            // skip comment line (without docu comments "!>" "!<" ) 
+                                            /* ignore further "!" and ignore comments in Strings */
+                                            if ((YY_START != StrIgnore) && (YY_START != String)) 
+					    {
+                                              yy_push_state(YY_START);
+                                              BEGIN(StrIgnore); 
+                                              debugStr="*!";
+                                              //fprintf(stderr,"start comment %d\n",yyLineNr);
+                                            }      
+                                          }
   					 }
 <DocBackLine>.*    			 { // contents of current comment line
                                           docBlock+=yytext;

