Index: src/Parser/lex.ll
===================================================================
--- src/Parser/lex.ll	(revision 40404257da8f22441f6123bdbff37bdb54e0e5f3)
+++ src/Parser/lex.ll	(revision 385c1309bdc9ace6d6de8377cf50fe8b65bccccb)
@@ -10,6 +10,6 @@
  * Created On       : Sat Sep 22 08:58:10 2001
  * Last Modified By : Peter A. Buhr
- * Last Modified On : Wed Mar  2 18:07:20 2016
- * Update Count     : 434
+ * Last Modified On : Mon Mar 21 23:33:46 2016
+ * Update Count     : 450
  */
 
@@ -27,6 +27,7 @@
 
 #include "lex.h"
+#include "parser.h"										// YACC generated definitions based on C++ grammar
 #include "ParseNode.h"
-#include "parser.h"										// YACC generated definitions based on C++ grammar
+#include "TypedefTable.h"
 
 char *yyfilename;
@@ -44,5 +45,5 @@
 #define NUMERIC_RETURN(x)	rm_underscore(); RETURN_VAL( x ) // numeric constant
 #define KEYWORD_RETURN(x)	RETURN_CHAR( x )			// keyword
-#define IDENTIFIER_RETURN()	RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) )
+#define IDENTIFIER_RETURN()	RETURN_VAL( typedefTable.isKind( yytext ) )
 #define ATTRIBUTE_RETURN()	RETURN_VAL( ATTR_IDENTIFIER )
 
@@ -95,6 +96,7 @@
 fractional_constant ({decimal_digits}?"."{decimal_digits})|({decimal_digits}".")
 exponent "_"?[eE]"_"?[+-]?{decimal_digits}
-				// GCC: D (double), LD (long double) and iI (imaginary) suffixes
-floating_suffix "_"?([fFdD]?|([lL]?)|([iI][lLfFdD]?)|([lLfFdD][iI]))
+				// GCC: D (double), DL (long double) and iI (imaginary) suffixes
+floating_suffix "_"?([fFdDlL][iI]?|"DL"|[iI][lLfFdD]?)
+				//floating_suffix "_"?([fFdD]|[lL]|[D][L])|([iI][lLfFdD])|([lLfFdD][iI]))
 floating_constant (({fractional_constant}{exponent}?)|({decimal_digits}{exponent})){floating_suffix}?
 
