|
Technical Support
Support Resources
Product Information
|
What's New in C166 Version 7.56
-
[C166 C Compiler]
-
Corrected: error
C67 'a': 'undefined identifier' was issued on an
enumeration passed as parameter to a function. For example:
void foo( enum enA { a, b, i_a = a } );
*** ERROR C67 'a': undefined identifier
-
Corrected: an erroneously issued warning C118
in case of an enum definition with negative values. Exmaple:
test.c
......
enum { m4 = -4, m3 = -3, m2 = -2, m1 = -1, z };
test.c(2): warning C118: enum constant: signed value out of range
-
Corrected: under some circumstances a wrong relocation of
register variables will be generated in case of the following
expression and
optimize level 8 Register Variable Lifetime
Analysis. Example:
int gl_a;
int gl_b;
int foo(void) {
int a;
int b;
int error;
a = gl_a; /* Source line #12 */
b = gl_b; /* Source line #13 */
error = abs(a/10-b/10); /* Source line #15 */
if (error > 100)
return 1;
else
return 0;
}
+-----------------------------
Wrong code generation
+-----------------------------
.........
; SOURCE LINE # 13
0004 F2F40000 R MOV R4,gl_b -------------\
;---- Variable 'b' assigned to Register 'R4' ---- \ The compiler optimization erroneously relocates the register variable b
; SOURCE LINE # 15 / to the register R4 which is used by the next instruction.
0008 E0A4 MOV R4,#0AH -------------/
000A F6F40EFE MOV MDL,R4 |
000E 4B44 DIV R4 |
......... |
|
|
+----------------------------- |
Corrected code generation |
+----------------------------- |
......... |
; SOURCE LINE # 13 |
0004 F2F60000 R MOV R6,gl_b -------------\
;---- Variable 'b' assigned to Register 'R6' ---- \ The corrected code optimization is using now the register R6
; SOURCE LINE # 15 / for the relocation of register variable b.
0008 E0A4 MOV R4,#0AH -------------/
000A F6F60EFE MOV MDL,R6
000E 4B44 DIV R4
-
[L166 Linker]
-
Increase: the max number of externals/publics to
32766.
-
[µVision]
-
This C166 release comes with µVision
V5.21.1.
-
µVision now offers Japanese localization on Windows
PCs with the 'primary language' Japanese.
To select the language use the uVision menu item Edit - Configuration - Other - Startup -
Language.
-
A
Japanese Getting Started user's guide is available in
the uVision Books Window.
-
Added: new option to limit the
Find in Files utility to the "Current
Document".
-
Enhanced: editor now supports Arabic, Baltic, Eastern
European, Greek, Hebrew, Russian, Thai, Turkish, and Vietnamese
character sets.
-
Corrected:
Bookmark navigation is now working only on the
"Current Document".
-
Corrected: opening struct elements in the
Watch Window did not always show up-to-date
values.
-
[Supported Operating
Systems]
-
µVision and it's dynamically loaded libraries (DLL)
have been ported to MSVC 2015. MSVC 2015 does not
officially support Windows XP any longer.
-
Refer to System
Requirements Overview for hardware and operating system
requirements.
|
|