pete wrote:
> Chris H wrote:
>> In message <lnk5hzmrw2.fsf@[EMAIL PROTECTED]
>, Keith Thompson
>> <kst-u@[EMAIL PROTECTED]
> writes
>>> Chris H <chris@[EMAIL PROTECTED]
> writes:
>>>
>>>> In message <8763tkptqi.fsf@[EMAIL PROTECTED]
>, Keith Thompson
>>>> <kst-u@[EMAIL PROTECTED]
> writes
>>>>> Chris H <chris@[EMAIL PROTECTED]
> writes:
>>>>>> In message <op7hf5-cmk.ln1@[EMAIL PROTECTED]
>,
>>>>>> lawrence.jones@[EMAIL PROTECTED]
writes
>>>>>>> Chris H <chris@[EMAIL PROTECTED]
> wrote [re "char unsigned":
>>>>>>>>
>>>>>>>> ISO C90 has been superseded several times. Is it still legal?
>>>>>>>
>>>>>>> C90 has only been superseded once, although it has also been
amended
>>>>>>> (once) and corrected (twice). The superseding do***ent (C99) has
>>>>>>> also
>>>>>>> been corrected (thrice), but not amended.
>>>>>>>
>>>>>>> Yes, it's still valid (it was never "illegal"); 6.7.2p2 still
>>>>>>> contains
>>>>>>> the same text as C90 did.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> I have only eve seen one compiler that did it that way and they
>>>>>> changed to the unsigned char over a decade ago. I did scan through
>>>>>> the standard but missed the clause.
>>>>>
>>>>> What do you mean when you say that the compiler "did it that way"?
>>>>
>>>> The compiler's normal mode was char unsigned. Then they changed it to
>>>> accept unsigned char. (and char unsigned)
>>>
>>> You mean there was actually a C compiler that would accept
>>> "char unsigned" but reject "unsigned char"? Remarkable.
>>> (Actually, I'd hesitate to call such a beast a "C compiler".
>>
>> Actually thinking about it: it was not char unsigned to unsigned char
>> but a memory specifier that had it's order changed.
>>
>> So I Don't actually know a compiler that used char unsigned rather
>> than unsigned char.
>
> In 1978, unsigned, long, and short,
> were all specifiers,
were all qualifiers,
> any one of which could be applied to type int.
>
> The example in the 1978 K&R, section 2.2, page 34, is:
>
> The declarations for the qualifiers look like
> short int x;
> long int y;
> unsigned int z;
>
--
pete


|