Index: src/fortranscanner.l
===================================================================
--- src/fortranscanner.l	(revision 745)
+++ src/fortranscanner.l	(working copy)
@@ -221,6 +221,7 @@
 INTENT_SPEC intent{BS}"("{BS}(in|out|in{BS}out){BS}")"
 ATTR_SPEC (ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PRIVATE|PUBLIC|SAVE|TARGET)
 ACCESS_SPEC (PRIVATE|PUBLIC)
+LANGUAGE_BIND_SPEC BIND{BS}"("{BS}C{BS}(,{BS}NAME{BS}"="{BS}"\""(.*)"\""{BS})?")"
 /* Assume that attribute statements are almost the same as attributes. */
 ATTR_STMT {ATTR_SPEC}|DIMENSION|{ACCESS_SPEC}
 
@@ -479,7 +480,7 @@
 
  /*------- type definition  -------------------------------------------------------------------------------*/
 
-<Start,ModuleBody>"type"({BS_}|({COMMA}{ACCESS_SPEC})) { /* type definition found : TYPE , access-spec::type-name |*/
+<Start,ModuleBody>"type"({BS_}|({COMMA}{ACCESS_SPEC}|{COMMA}{LANGUAGE_BIND_SPEC})) {
                                           if(YY_START == Start)
                                           {
                                             addModule(NULL); 
@@ -492,6 +493,9 @@
 <Typedef>{ACCESS_SPEC}          	{ 	
                                             QCString type= yytext;				    
                                         }
+<Typedef>{LANGUAGE_BIND_SPEC}           {
+                                            /* ignored for now */
+                                        }
 <Typedef>{ID}                        	{ /* type name found */
                                             //cout << "=========> got typedef " << yytext << ": " << yyLineNr << endl; 
                                             current->section = Entry::CLASS_SEC; // was Entry::STRUCT_SEC;
