[patch/rfc] Moving constraint definitions to the machine description

Richard Sandiford richard@codesourcery.com
Thu Jan 12 21:40:00 GMT 2006


Zack Weinberg <zackw@panix.com> writes:
> On Mon, Jan 09, 2006 at 06:40:25PM +0000, Joern RENNECKE wrote:
>> Zack Weinberg wrote:
>> > +  for (p = name + 1; *p; p++)
>> > +    if (!ISALNUM (*p))
>> > +      {
>> > +     message_with_line (lineno, "constraint name '%s' must be only "
>> > +                        "numbers and letters", name);
>> 
>> That is too restrictive.  h8300.h uses '<' and '>' .  '_' might also
>> make a lot of sense at times.  The basic idea was to allow all printable
>> ASCII characters, but I excluded ',' , '#' and '*' to avoid slowing down
>> scans to get to the end of an alternative.
>
> < and > are generic.  I see real value in restricting machine-specific
> constraint names to identifier characters.

I think Joern meant that h8300 uses '<' and '>' in multi-character
'P' constraints.  I'm not defending that decision though ("it seemed
like a good idea at the time").  I doubt that any inline asm uses
the constraints because (a) tey only added relatively recently,
for the h8sx subport, and (b) they were (deliberately) not documented
as user-level constraints.  I think we could change them fairly safely.

Richard



More information about the Gcc-patches mailing list