This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gfortran - gdb problem


On Sat, Jul 23, 2005 at 03:43:58AM +0800, Wu Zhou wrote:
> My question here is: is it desirable to transfer the name to lower-case if 
> the language is case insensitive.  My point is that the compiler could handle 
> this and GDB needs only to handle what we get from the compiler.  

Generally it's the other way round: GDB must cope with whatever strange
things the compiler produces.

> As for this case, I don't know how other case-insensitive languages behave. 
> But it might helps to change the conditional expression to:
> 
>   case_sensitivity == case_sensitive_off && current_language->la_language != language_fortran
> 
> What do you think?  If there is any error, please correct me.  Thanks.

No; adding checks specific to the language is almost always wrong.  The
only case insensitive languages in the GDB source tree are Scheme (and
I don't think the Scheme support has worked in many years) and Fortran. 
So disabling it for Fortran is about the same as deleting the code
entirely.

Here's the original patch:
  http://sourceware.org/ml/gdb-patches/2000-08/msg00025.html

Presumably, whatever HP Fortran compiler Jimmy Guo was trying to add
support for always generated symbols in lowercase, so this was
sufficient.  gfortran doesn't.  It appears to use case somewhat
inconsistently.

The fact is, our symbol table does not support case insensitive lookup.
I suppose one cheap solution to this would be to lower case based on CU
language when reading in the symbol table, but that's not a very pretty
solution.  Perhaps Elena (the symbol table maintainer) has another idea.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]