[PATCH] fortran: Print logical values as either .FALSE. or .TRUE.

Weinmann, Christoph T christoph.t.weinmann@intel.com
Wed Jul 13 13:32:00 GMT 2016


> -----Original Message-----
> From: Jan Kratochvil [mailto:jan.kratochvil@redhat.com]
> Sent: Wednesday, July 13, 2016 10:03 AM
> To: Weinmann, Christoph T <christoph.t.weinmann@intel.com>
> Cc: qiyaoltc@gmail.com; gdb-patches@sourceware.org
> Subject: Re: [PATCH] fortran: Print logical values as either .FALSE. or .TRUE.
> 
> On Wed, 13 Jul 2016 09:56:36 +0200, Christoph Weinmann wrote:
> > A Logical value in Fortran may be either .FALSE. or .TRUE.
> > When converting from integer, a subset of compilers evaluate the whole
> > value, while others only check if the least significant bit is set.
> > This patch unifies the printing output by evaluating only the lsb.
> [...]
> > +	if ((val & 1) == 0)
> > +	  fputs_filtered (f_decorations.false_name, stream);
> > +	else
> > +	  fputs_filtered (f_decorations.true_name, stream);
> 
> Doesn't it need to check DW_AT_producer then?  GDB already does that in
> some cases.
>
Thanks for the hint Jan, I will take a look.

> If the compiler evaluates the whole value, val==16, then GDB will print
> something different than what the compiler evaluates.
>
I will investigate here too, as I confess I was focused on gfortran and ifort here.
 
> 
> Jan

Thanks,
Cchristoph
Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928



More information about the Gdb-patches mailing list