Recently we observed some strange behaviour when creating a C program for DSK6713.
The C program itself is about 700 lines of code and is meant to generate music. From some point on in the development process it would not run anymore in the DSK6713 though compiler and linker did not report any errors. I tried a series of changes, always starting with a code that still worked and finally could boil it down to a situation where the line (case 1)
argA = argB = argC = argD = 0.0;
somewhere within the code leads to a working version, while replacing this single line by the two lines (case 2)
argA = 0.0;
argB = argC = argD = 0.0;
at the same location in the code leads to a version that hangs. The same happens if I split the command into four separate lines, one for each of the variables. There should be no functional difference between these approaches, though the compiler will likely translate them differently.
The map file itself shows plenty of available memory. In case 2 it uses 0x20 bytes more than in case 1.
We use CCS5.5.0 as floating license with license information "full license" - I also tried it on a separate machine with the free license and also with a node-locked full license. All cases showed the same behavior.
Has anybody observed some similar behavior and found a reason for that?