This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6000 compiler release notes



Hi,

I've been searching for a while, but couldn't find any release notes or changelog information about the various C6000 compiler versions. In particular I need to find out, in which compiler version the type "__int40_t" was introduced. It appears to be available in v7.3, but not in v6.1. What about the versions in between?

Best regards,

Georg

  • The keyword __int40_t is introduced in version 7.2.0.  Prior to that, the built-in type names int40_t and uint40_t are available, and continue to be available.  The best place for information on __int40_t is the C6000 compiler manual.  Though there is not a section of the manual dedicated to that one keyword, a search on __int40_t brings the information together.

    Thanks and regards,

    -George

  • Thank you George. I did check the compiler manuals for versions 6.1, 7.0 and 7.3. In the latter, __int40_t is mentioned, in the former two not. However, none of them mentiones "int40_t". Instead the 40 bit integers are simply "long". So I will use the following code to define a generally valid type "int_least40_t":

    #ifdef _TMS320C6X
    #if __TI_COMPILER_VERSION__ >= 7002000
    typedef __int40_t int_least40_t;
    typedef unsigned __int40_t uint_least40_t;
    #else
    typedef long int_least40_t;
    typedef unsigned long uint_least40_t;
    #endif
    #else
    typedef int64_t  int_least40_t;
    typedef uint64_t uint_least40_t;
    #endif
    #endif
    

    BR, Georg

  • As far back as 6.1.0, the C6000 compiler supported stdint.h, which defines these types. Perhaps you could use that instead?
  • Georg Piewald said:
    I will use the following code to define a generally valid type "int_least40_t":

    Don't define your own.  Use the one supplied by the compiler in the standard header file stdint.h.

    Thanks and regards,

    -George

  • I agree of course, using stdint.h would be the better solution. Unfortunately I'm dealing with legacy code here, and I have to get it to work with the least possible amount of changes. Introducing a new header file would conflict with several things in this hairy beast of code. I'd like to avoid that.

    Nevertheless, thanks all for help!