in version 2.1, the output you get from doing a %locations I don't know if it is supposed to do only C++ output or not, but under C output it produces the following uncompilable C code, which appears to be a direct M4 macro.
b4_pure_if(, extern YYSTYPE b4_prefix[]lval;) b4_location_if( #if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED) typedef struct YYLTYPE { int first_line; int first_column; int last_line; int last_column; } YYLTYPE; # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ # define YYLTYPE_IS_DECLARED 1 # define YYLTYPE_IS_TRIVIAL 1 #endif m4_if(b4_pure, [0], [extern YYLTYPE b4_prefix[]lloc;]) ) Jim Michaels [EMAIL PROTECTED] http://JesusnJim.com