This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: Duplicate constraint characters in mn10300.h


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."


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