Keil C does not support

Keil C does not support this line:

typedef const UINT32 volatile xdata *PCVX32;
it just support this way
typedef const volatile UINT32 xdata *PCVX32;
but other ANSI C compilers support both.
Is it a bug or something else?

Parents
  • "but other ANSI C compilers support..."

    What other compilers?
    Do they have a "Strict ANSI" switch? Have you tried using it?
    Maybe this is a common error in other compilers, and just Keil have got it right...?

    Before quibbling about different compilers' implementations, have you checked what the ANSI spec actually says?

    Also, note that Keil have extended the language by adding support for storage-class specifiers (code, xdata, etc) - maybe it's a side-effect of this?

    Again, you need to refer to the ANSI spec for the definitive answer...

Reply
  • "but other ANSI C compilers support..."

    What other compilers?
    Do they have a "Strict ANSI" switch? Have you tried using it?
    Maybe this is a common error in other compilers, and just Keil have got it right...?

    Before quibbling about different compilers' implementations, have you checked what the ANSI spec actually says?

    Also, note that Keil have extended the language by adding support for storage-class specifiers (code, xdata, etc) - maybe it's a side-effect of this?

    Again, you need to refer to the ANSI spec for the definitive answer...

Children
More questions in this forum