Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Re: Looking to buy compiler

2005-11-08 by Александр Борисов

>> > You are very very confused...  You have absolutely no idea what
>> >"__REG32
>> > MR0I :1" means, do you???  It is obvious that you are 
>> operating under  
>> >some other understanding of just what it is that you wrote.
>> > 
>> > Go have someone explain it to you, it would take too long 
>> to do here.
>> 
>> #define __REG32 unsigned long
>> 
>> I only declare bit field. I can use uchar, or uint, it does't 
>> important for bit field declaration Any questions?
> 
> Yes, it *does* matter.  The only *correct* usage when defining a
> bitfield is to use int or unsigned int -- if you use unsigned long 
>or
> unsigned char when defining a bitfield, all bets are off because ISO 
>C
> does not *define* what happens.

Thank you for my education

> Some compilers *do* define what happens when you use these types but
> that is an extension of the existing standard.  A useful extension 
>to be
> sure, and something that might, one day, even make it into the 
>standard
> (though I really do dobt that it will).
> 
> There is a technical report (TR) which does not hold as much weight 
>as a
> full standard that does define how to access I/O using C-language
> constructs.  You're bending the language and your interpretation to 
>fit
> the hardware.

Is this open or closed report?
  
> That's all I'll say.  GCC doesn't do what you want it to do, you 
>found a
> compiler that does, be happy.  :-)

I only draw attention on some peculiar properties of Crossworks port 
of gcc.
I reconsider one's views about good style of coding 8=)

> 
> --
> Paul Curtis, Rowley Associates Ltd  http://www.rowley.co.uk
> CrossWorks for MSP430, ARM, AVR and now MAXQ processors
> 
> 
> 
> ------------------------ Yahoo! Groups Sponsor 
> 
> 
> Yahoo! Groups Links
> 
> 
> 
> 
> 
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.