is there any word processing software for the pdp11?

Jon Elson elson at pico-systems.com
Tue Dec 2 21:25:34 CST 2014


On 12/02/2014 01:03 PM, Roe Peterson wrote:
>> On Dec 2, 2014, at 11:08 AM, Jon Elson <elson at pico-systems.com> wrote:
>>   still discovering new ways that
>> C code that looks perfectly correct can screw up horribly.  Last one was
>> yesterday.
>>
>> Boiling it down, we had :
>>
>> long long int A;
>> int B;
>> A = B << 32;
>>
>> This means that some field of B gets shifted to the right by 32 bits, and
>> fit into the upper 32-bits of A.
>>
>> Now, any decent compiler should either extend B to the length of A, or
>> as the C rules specify, NOT extend B, and therefor ought to warn you
>> that it is losing significant bits.  No warning, no extending the variable
>> before shifting the bits off the end of the word.  So, A always gets
>> a zero!  UGH!  Stupid!  I could almost write a book of these sorts
>> of gotchas.
> Hmm.  What C compiler did this, on what distro?  I'm pretty sure that this throws a compiler warning in gcc with -Wall...
>
>
Should have been gcc on a 64-bit Ubuntu 12.04 build, I 
THINK.  (Not absolutely sure what
machine they were running this on at work.)  I have NO IDEA 
what compiler flags were used,
however.  It was buried deep in a several page Make file, 
with those 5 line long compile
lines filled with switches and includes.  It definitely did 
NOT produce any warning at
all.

Jon


More information about the cctalk mailing list