This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Duplicate constraint characters in mn10300.h
- From: Andreas Schwab <schwab at suse dot de>
- To: Kazu Hirata <kazu at cs dot umass dot edu>
- Cc: aoliva at redhat dot com, gcc at gcc dot gnu dot org
- Date: Thu, 04 Sep 2003 16:45:54 +0200
- Subject: Re: Duplicate constraint characters in mn10300.h
- References: <20030904.082732.28806195.kazu@cs.umass.edu>
Kazu Hirata <kazu@cs.umass.edu> writes:
> Hi Alexandre,
>
> It looks like EXTRA_CONSTRAINT in mn10300.h has two 'S' there. I am
> afraid this is an oversight!?
>
> #define EXTRA_CONSTRAINT(OP, C) \
> ((C) == 'R' ? OK_FOR_R (OP) \
> : (C) == 'Q' ? OK_FOR_Q (OP) \
> : (C) == 'S' && flag_pic \
^^^^^^^^
> ? GET_CODE (OP) == UNSPEC && (XINT (OP, 1) == UNSPEC_PLT \
> || XINT (OP, 1) == UNSPEC_PIC) \
> : (C) == 'S' ? GET_CODE (OP) == SYMBOL_REF \
> : (C) == 'T' ? OK_FOR_T (OP) \
> : 0)
The fist one is for PIC, the other one is for non-PIC. In the PIC case
only UNSPEC is allowed (with a [SYMBOL_REF] as the first operand), the
other case accepts unadorned SYMBOL_REFs.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."