Incorrect behavior of the CrossCore IDE editor when '#ifdef__cplusplus' is used.

Incorrect behavior of the CrossCore IDE editor when '#ifdef__cplusplus' is used:

CrossCore Embedded Studio

Product Version v2.3.0.0

IDE Version v 2.3.51.201606071201

I see the behavior described in this link (I know CrossCore is derived from the Ecplise IDE, so could be related) https://bugs.eclipse.org/bugs/show_bug.cgi?id=351549

Is this a known issue in CrossCore  and is it fixed in a newer version?

Specifically the CrossCore IDE editor, when a c file that uses the enum shows variables defined in enum as not found (highlighted as errors), while the compiler does and compiles fine. The enum is wrapped in this #ifdef code. We compile the DSP code as C and the code is in a shared header file with a C++ application which as the  #ifdef states, adds the namespace:

#ifdef __cplusplus

namespace SolventManagement

{

#endif  /* __cplusplus */

typedef enum

{

    Stopped =   0,

    Moving =    1

} MotionState;

 

#ifdef __cplusplus

} /* namespace SolventManagement */

#endif  /* __cplusplus */

 

  • 0
    •  Analog Employees 
    on Sep 14, 2021 2:51 PM

    Hi,

    We understand that you have already contacted our private support. To avoid duplication of efforts, please continue the discussion there.

    However, we are posting response here for others to benefit.

    Regarding the error mentioned in the editor window, we understood that you are facing semantic errors.

    This errors are falsely reported in the problems view and in editor. However, you can build the project successfully and executable file will be generated in debug folder. So, we hope it doesn't affect your execution.

    We have logged this issue in our bug tracking database which will be addressed in a future release of CCES.

    You can workaround this by Close and reopen the project in IDDE Project Explorer to make the errors go away.
    or
    Unchecking "Field cannot be resolved" checkbox in "Syntax and Semantic Errors" of "Code Analysis", in Preferences -> C/C++

    Also, we hope the real errors will be reported even if you have unchecked "Symbol cannot be resolved" checkbox and "Field cannot be resolved" checkbox.

    Regards,
    Santhakumari.K