- [c251 compiler]
-
- added: optimization for handling of 32 bit numbers.
- added: optimization for for functions that do never return. this functions need to use .
- corrected: assembler instructions used as label name erroneously thrown an syntax-error in src mode.
-
corrected: a potential inline-assembler macro problem with '#' when meant for the #imm operand. example:
#pragma src #define aop \ __asm { nop } \ __asm { mov a,#1 } // incorrect generated error c302: misused # operator void main (void) { aop }
-
corrected: incorrect error c143 "initializer is not a constant" generation at cast of a constant pointer which is part of a struct. example:
struct glstruct { char a; char carr[1]; }; long offset = (long) (*(struct glstruct*)0x0d000000).carr; // incorrect generated error: c143 "initializer is not a constant"
-
corrected: incorrect error c83 "incompatible types" generation when used floating point types togehter with & operator. example:
volatile unsigned long ul2; volatile signed char sc1; volatile signed char sc2; void main(void) { ul2 = 2147483647l; sc1 = -1; sc2 = 1; (ul2 ^= (((( ! ( (double) (char)127))) > ((( -- sc2)))) & sc1)); // incorrect generated error c83: '&': incompatible types }
-
corrected: huge at function definition is not allowed. erroneously has been taken as near. example:
void huge hg_fnc() { } // the warning c65: 'hg_fnc': illegal use of near/far/huge will be generated.
- [l251 linker]
-
-
corrected: a potential incorrect overlap of data segments when this features are used in combination:
- overlapping segments by command line directives.
- linker code packing optimization with rom (huge) model.
- code segments placed in the same 64kb region as the data segments.
-
corrected: a potential incorrect overlap of data segments when this features are used in combination:
- [a251 assembler]
-
- added: support for forward slash (/) as path seperator.
- [c run-time library]
-
- corrected: the function free failed when the complete memory pool was allocated.
- corrected: the hptr variant of the function float log does not work.
- [μvision]
-
- this c251 release is delivered with μvision v4.60.6.9 ide.