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.

Compiler: TDA2xx DSP C6xxx built in types

Tool/software: TI C/C++ Compiler

Hello,

Working on the DSP in The TDA2xx.

I am using compiler version TI v.8.1.0.

I keep getting semantic errors on the __int40_t type (it can still build but annoying)

The c6x.h is included but i did not see on that file any typedef for this type so i am assuming it is a compiler built in type.

Whats strange is that for the __x128_t type i dont get any errors from CCS / indexer.

Can you help resolve this?

in the meanwhile i had placed a "typedef long long _int40_t" under a CDT_PARSER #if 

Thanks

Guy

  • Guy Mardiks said:
    I keep getting semantic errors on the __int40_t type (it can still build but annoying)

    I need more context. It is ideal if you send in a test case for the source file that sees this error, as described in the article How to Submit a Compiler Test Case.  Short of that, I may be able to understand what happened if I see the full text of this error.  Either by copy-n-paste of the text, or by attaching a screen shot.

    Thanks and regards,

    -George

  • Hi,
    I have a simple function that defines a __int40_t variables:

    void ttt()
    {
    __int40_t test;

    ....
    }

    I keep getting semantic error : Type '__int40_t' could not be resolved (no such error for the x128_t type)
    (probably more a CCS issue than a compiler issue as the file compiles ok ...)
    Guy
  • Guy Mardiks said:
    I keep getting semantic error : Type '__int40_t' could not be resolved

    That error is coming from the Eclipse static analysis parser, because the Eclipse indexer doesn't know about the C6000 compiler built-in type __int40_t.

    I noticed that the C6000 stdint.h contains the following exact-width integer types:

        typedef          __int40_t  int40_t;
        typedef unsigned __int40_t uint40_t;

    In a test with CCS 8.1.0 changing a program from using __int40_t to int40_t prevented the semantic error from the Eclipse static analysis, since with int40_t the Eclipse indexer can see a typedef for the type.

    However, since the TMS320C6000 C/C++ Compiler Intrinsics are documented as taking parameters of type __int40_t, not sure if changing the type in the code to int40_t just to suppress the Eclipse static analysis semantic error is a robust "solution" to the problem,

  • Hi, Thank you.
    I have changed all usage of __int40_t to int40_t to avoid having these annoying errors (and avoid having to place #ifdef CDT_PARSER per source since it seems it does NOT work when placing the CDT_PARSER #if in a common header file - not sure why)

    Thanks
    Guy