MATLAB: Polyspace: Defines-Handling not correct

definesPolyspace Client for C/C++

Hi, i hv sepecified somme defines in the optionsfile: -D CPU=2; -D CPU_SLAVE=2; -D CPU_MASTER=1; -D PLATFORM=2
Also i hv a function with some code:
void base_mt_register(void)
{
#if (CPU == CPU_SLAVE)
RegisterMeasGroup("M_IN_SL", meas_in_table, MEAS_GRP_IN, base_meas_in_t);
RegisterMeasGroup("M_CORE_SL", meas_core_table, MEAS_GRP_CORE, meas_core_t);
RegisterMeasGroup("M_OUT_SL", meas_out_table, MEAS_GRP_OUT, meas_out_t);
#endif
#if (CPU == CPU_MASTER)
RegisterMeasGroup("M_CORE_MA", meas_core_table, MEAS_GRP_CORE_MA, meas_core_t);
RegisterMeasGroup("M_OUT_MA", meas_out_table, MEAS_GRP_OUT_MA, meas_out_t);
#endif
return;
}
RegisterMeasGroup(…) is also a define: RegisterMeasGroupBlabla(…)
PS told me now that M_CORE_MA is undefined!? But this code should never be verified? In the corresponding ci file the function looks like this (which is wrong!?):
void base_mt_register(void)
{
...many blank lines....
RegisterMeasGroupBlabla( "M_CORE_MA", meas_core_table, MEAS_GRP_CORE_MA, sizeof(meas_core_t), sizeof(meas_core_table) / sizeof(struct symbol_info), "test.c", __func__, 130);
RegisterMeasGroupBlabla( "M_OUT_MA", meas_out_table, MEAS_GRP_OUT_MA, sizeof(meas_out_t), sizeof(meas_out_table) / sizeof(struct symbol_info), "test.c", __func__, 131);
return;
}
Why PS execute this code? I think PS hv a problem with defines/macros!
Maybe you can please help me? Best regards Thomas

Best Answer

Dear Thomas, with current version of Polyspace Code Prover (for instance R2014b) and default options, it works as expected.