This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java 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: [PATCH]: Change CONST_CAST macro to accept a TYPE argument


> > +  memcpy (CONST_CAST (char *, TREE_STRING_POINTER (s)), str, len);
> > +  ((char *) CONST_CAST (char *, TREE_STRING_POINTER (s)))[len] = '\0';
> 
> I'm sure the cast to (char *) in the last line is not needed.

I'm sure I'm missing something here, but why do we need all that complexity
on *either* of those lines?  It's *so much* harder to see at a glance
what's going on. 

If I take a quick look at that line, CONST_CAST seems to be almost as
important as TREE_STRING_POINTER to the eye, but of course it isn't.

If we can no longer write:

	TREE_STRING_POINTER (s)[len] = '\0';

I, for one, would *really* like to understand why.  The above is the logical
thing to write, is the easiest to read, and it's obvious at a glance what's
going on.  If we can't write that, perhaps we're doing something wrong.

The memcpy example seems even worse to me: you have to look much too
closely to be able to rapidly pick out which the args are here.


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