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.

CCSTUDIO-C2000: unnamed/anonymous struct/union

Part Number: CCSTUDIO-C2000

Hi,

we are using unnamed/anonymous structs/unions in some cases, especially to match PWMModule 16-bit Period and 32-bit HiResPeriod access:

union TPWMHiResPeriod_Union
{
  UINT32_exact AsLongWord;
  struct
  {
    UINT16_exact TBPRDHR;       // 15:0   TBPRDHR, Extension register for HRPWM Period (8 upper bits)
    UINT16_exact Period;        // 31:16  TBPRD, Timebase Period Register
  }Items;

};   
typedef union TPWMHiResPeriod_Union TPWMHiResPeriod;

  union                                                                     // FB: anonyme Struktur laesst alle Zugriffe syntaktisch parallel zu.
  {                                                                         // Die Elemente werden vom Modulyzer nicht mehr gelistet
    TPWMHiResPeriod                       HiResPeriod;                      // struct of TBPRD:TBPRDHR in one union also for 32 bit HRPWM access 
    struct
    {
      UINT16_exact                        TBPRDHR;                          // Time Base Period High Res Register
      UINT16_exact                        Period;                           // Time Base Period Register
    };
  };   

Access in code works without problems.

Now we observe that CCS does not show them "as is", but with some compiler-generated identifiers $P$T1 and $P$T0:

So "PWMModule1.Period" from C-Code is displayed as "PWMModule1._$P$T1._$P$T0._Period" in CCS.

These identifiers are hard to guess when looking for "PWMModule1.Period".

Can we avoid these identifiers somehow so that CCS shows them as "PWMModule1.Period" (same as in the C-Code)?