------- Comment #4 from burnus at gcc dot gnu dot org 2007-06-02 12:45 ------- > Wow. Nothing is happening. You are right that unfortunately not much happened regarding this feature request during the last two and a half months, however, in total quite a lot happened: http://gcc.gnu.org/viewcvs/trunk/gcc/fortran/ChangeLog?view=log
The current focus is on fixing those bugs which reject valid Fortran 95 code. (Note that most gfortran work is done in the spare time, which inevitable slows down the development.) Regarding this feature request: The problem is that the input is quite early converted to lower case, namely in gfc_next_char(). The task is now to preserve the case for all symbols, but keep the case-insensitivity for keywords. Actually, it is not clear where to preserve the case and where not: - IF, ELSE, CALL - .true., .false. (vs. .userDefinedOp.) - .eq. - OPEN, CLOSE, INQUIRE, integer, Real - Intrinsic procedures: int(), cmplx(), cos(), sizeof(), get_command_argument() - open(UNIT=, int(..., KiNd=, ...) (The Fortran 77/90/95/2003/2008draft standard requires case insensitivity throughout.) I try to find some time to work on this feature request, but I don't want to make any promises time wise. > Glad I bothered raising the bug. > Now I know not to waste time documenting the other ten or so bugs I've found. Especially internal compiler errors or rejection of valid Fortran 95 code have a high priority and might well be fixed in <=48h (or take a month); trivial other problems might be also fixed relatively quickly. Thus please report the your bugs - we depend on bugreports; at least the goal is to fix all reported bugs and feature requests, even if it takes sometimes over a year :-( [Currently, there are 283 open bugs/feature requests.] Not that is helps with big legacy code, but for new program one can use Fortran 2003's ISO C Bindings, which allow to give procedures and global variable a case sensitive name; gfortran support this in the Fortran-Experimental branch and it will soon be merged into 4.3: function Foo() bind(c,name="_My_Case_Sensitive_Name") -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31310