At 11:48 AM 8/15/2006, [EMAIL PROTECTED] wrote: >---- Brad King <[EMAIL PROTECTED]> wrote: >> >> FYI, there is a bug report for this problem: >> >> http://www.cmake.org/Bug/bug.php?op=show&bugid=3109 >> >> I briefly looked at fixing it but got stuck on the free-format versus >> fixed-format parsing. Unfortunately I have no time for this bug now. >> >> Please add any conclusion for this discussion to that bug report. >> > >Brad, > >I played around with it a bit this weekend. > >Something like this could be done in cmDependsFortranLexer.in.l > >... > >%option reentrant >%option noyywrap >%pointer > >%s free_fmt fixed_fmt >%x str_sq str_dq > >%% > >%{ > bool fixed = cmDependsFortranParser_isFixedFormat(yyextra); > if (fixed) > BEGIN(fixed_fmt); >%} > >\" { > cmDependsFortranParser_StringStart(yyextra); > BEGIN(str_dq); >} > >... > >!.*\n { return EOSTMT; } /* Treat comments like */ ><fixed_fmt>^[cC*dD].*\n { return EOSTMT; } /* empty lines */ > >cmDependsFortranParser_isFixedFormat would be a function that we could add to >cmDependsFortran.cxx which returnss true if a given file is fixed format. >The question really becomes: How does cmDependsFortranParser_isFixedFormat >determine whether the file is fixed or free format? I believe I could add a >check for the file extension fairly easily. Adding a check for command line >flags or to see whether SET_SOURCE_FILE_PROPERTIES(FORTRAN_FIXED_FORMAT) (as >Alan suggested) looks to be more involved, as cmDependsFortran or the parser >does not appear to be plumbed to access that type of information. > >If I submiited a patch with the changes to the parser and a >cmDependsFortranParser_isFixedFormat function that is based on file extension, >could we get it incoporated? We could then worry about more robust ways about >determining if a file is free or fixed format later.
Will the change I just checked into CVS work for you? -Bill _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
