Keil Logo

What's New in C251 Version 5.50a

  • [C251 Compiler]
  • Removed multiple register loads with constant zero by using SUB/XRL. Example:
    unsigned short us,us1;
    signed short ss;
    
    void foo(void){
      us  = 0;     // The selected register will be loaded only once with constant zero for all three statements.
      us1 = 0;
      ss  = 0;
    }
    
  • Added a new warning message which occurs when a case label value exceeds the value range of the switch expression. Example:
    void foo(void){
      signed char g;
    
      switch (g) {
       case 255:   // "Warning case label value exceeds maximum" will be generated.
         break;
       case -1:
         break;}
    
    }
    
  • Removed multiple warning C209 for same line. Example:
    unsigned char uc;
    
    uc = -257;     // The warning C209 appeared twice in previous versions.
    
    
  • Corrected issue in C251 which ignored REENTRANT pragma. Example:
    #pragma CODE SYMBOLS XSMALL MODECC7 INTR2 FUNCTIONS (REENTRANT) NOCASE ROM(HUGE)
    
    typedef int (foo)(void *p1, void *p2, void *p3, void *p4, int i);
    foo foo_function; /* prototype the function */
    
    /* Is non-reentrant due to typedef'd prototype: */
    int foo_function(void *p1, void *p2, void *p3, void *p4, int i)  {
      return i;
    }
    
    #define NULL  (void *) 0
    void main(void){
      volatile int ret=0;
    
      ret=foo_function(NULL, NULL, NULL, NULL, 2);
      if (ret != 2)
        while(1);
      while(1);
    }
    
  • [µVision4]
  • This C51 release comes with µVision V4.53.0.6 which includes the new Scintilla based editor.
  • The new editor includes the following enhancements:
    Encoding for UTF-8 Unicode, DBCS Korean, DBCS Japanese, and DBCS Chinese languages. Unicode and Asian ANSI encoding is recognized automatically when a file is opened.
    Monospaced fonts and proportional fonts are supported.
    Syntax coloring has been extended.
    Unprintable characters, such as End-Of-Line, can be visualized in the editor.
    The Outlining menu has been simplified. Outlining information is saved and restored for each file.
    Search and replace utilities (Incremental Find, Find-in-Files, and Replace) have been reworked.
    Text can be zoomed with Ctrl+mouse wheel. The information is saved and restored for each file.
    In case device-specific books are not found in the local installation, then www.keil.com is scanned for a matching document.
  • and corrections: Scrolling quickly through large files with Page Up or Page Down works smoothly.
    The editor's context menu can be closed by pressing ESC.
    Breakpoints can be set now with a simple click into the editor margin.
    Under some circumstances the Debugger showed wrong values of arrays or structures in the Watch window.
  • Refer to Revision History for a complete list.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.