This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Don't coerce arrays if they're vectors.
Elena Zannoni wrote:
>
> Michael Snyder writes:
>
> Which problem does this fix? i.e. which call(s) of value_cast?
>
> Elena
It gets called when I do "print foo(vec_arg)".
>
> >
> > This seem reasonable to you vector-savvy folk?
> >
> > Michael
> >
> > 2002-05-16 Michael Snyder <msnyder@redhat.com>
> >
> > * valops.c (value_cast): Don't coerce arrays if they're vectors.
> >
> > Index: valops.c
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/valops.c,v
> > retrieving revision 1.59
> > diff -p -r1.59 valops.c
> > *** valops.c 13 May 2002 14:00:36 -0000 1.59
> > --- valops.c 16 May 2002 22:32:40 -0000
> > *************** value_cast (struct type *type, struct va
> > *** 210,217 ****
> > }
> > }
> >
> > if (current_language->c_style_arrays
> > ! && TYPE_CODE (type2) == TYPE_CODE_ARRAY)
> > arg2 = value_coerce_array (arg2);
> >
> > if (TYPE_CODE (type2) == TYPE_CODE_FUNC)
> > --- 210,221 ----
> > }
> > }
> >
> > + /* Arrays are coerced to pointers to their first element, unless
> > + they are vectors, in which case we want to leave them alone,
> > + because they are passed by value. */
> > if (current_language->c_style_arrays
> > ! && TYPE_CODE (type2) == TYPE_CODE_ARRAY
> > ! && !TYPE_VECTOR (type2))
> > arg2 = value_coerce_array (arg2);
> >
> > if (TYPE_CODE (type2) == TYPE_CODE_FUNC)