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.

CCS/TM4C1294NCPDT: __va_parmadr could not be resolved

Part Number: TM4C1294NCPDT

Tool/software: Code Composer Studio

Hello all,

Working on a PC recently updated to Windows 10 64, using CCS 10.0.0.00010. Previous version was the most recent CCS 9, in a Win 7 64 machine.

Now, when compiling a project for TM4C, I'm getting all sorts of errors. This project is no-OS, highly "Tivaware based".

First, a lot of errors of invalid arguments which made no sense came up. For example, a simple memcpy((void*)destarray, (const void*)sourcearray, 4); gives invalid arguments and I couldn't figure it out. But let's skip this for a second... Went to a different project, got "weird" errors again (sorry about the lack of clarity at this point).

So going in circles, some reasonable attempts. Rebuilt the static libraries used; rebuilt the indexes on the project. Went back and forth between last Tivaware 2.14.178 and current 2.20.295. Installed the last known to work compiler (TI 18.12.5), rebuilt everything again... Errors seem to be diminishing to the current stage. Back to current LTS compiler 20.2.1.

Project uses lwip. Both on locator.c and ustdlib.c, I now get errors of "Function '__va_parmadr' could not be resolved. The external lwip-1.4.1 is clearly coming from Tivaware's 2.20.295 third_party directory, and I don't know where to go from here.

Thanks for the help.

Bruno

  • Bruno Saraiva said:
    I now get errors of "Function '__va_parmadr' could not be resolved.

    I think the <symbol> could not be resolved errors are coming from the Eclipse CODAN static code analyser, rather than errors from the compiler.

    By default CODAN is disabled in CCS, but maybe CODAN has been enabled in your workspace / project. See Code Analysis in the Code Composer Studio User’s Guide for more information.

    Also, I think '__va_parmadr' is a TI compiler built-in, and so it is likely that the Eclipse indexer on which CODAN relies upon isn't able to resolve the symbol. See also Where is definition of _va_argref and _va_parmadr ?

  • Hi Chester,

    Thanks. I had seen that link you suggested also, but I was debating with the error instead of just ignoring it...

    Maybe just a couple of tiring days, and we don't like to have code go with mysterious error messages, but I'll take the chance and ignore it: I've added this @ comment to the code which at least shuts CODAN up:

    va_start(arg, format); // @suppress("Function cannot be resolved")

    In the end, do you know if the actuall address of __va_parmadr is properly used during compilation, or is there a chance it just became null leaving a "time bomb" ticking somewhere in the code?

    Cheers

    Bruno

  • I confirm that the reply by Chester Gillon is correct.

    Bruno Saraiva said:
    I now get errors of "Function '__va_parmadr' could not be resolved.

    That is a special operator used only in stdarg.h.  It is not documented.  Therefore this diagnostic does not come from the compiler.  It must come from elsewhere.  The code analysis feature in CCS is the most likely guess.

    Thanks and regards,

    -George