Documentation Errata for VisualDSP++® 5.0 C/C++ Compiler and Library Manual for TigerSHARC Processors

Chapter:1 / Page 64

Doc ID: DOC-762

Change

The following text is added at the end of the "-W{error|remark|suppress|warn} number[, number...]" section.

As shown in the Output window and in Help, error codes sometimes begin with a leading zero (for example, cc0025). If you try to suppress error codes with -W{error|remark|suppress|warn} or #pragma diag() and supply the code with a leading zero, it will not work. This is because the compiler reads the number as an octal value, and will suppress a different warning or error.

Chapter:1 / Page 165

Doc ID: DOC-909

Change

The prototype of "__builtin_compose_64" in the section "Composition and Decomposition" is incorrect. Change from:

long long int __builtin_compose_64(int hi, int lo);
Change to:
long long int __builtin_compose_64(int lo, int hi);

Chapter:1 / Page 277

Doc ID: DOC-752

Change

Change:

const char __argv_string[] = "-in x.gif -out y.jpeg";

To:
extern const char __argv_string[] = "-in x.gif -out y.jpeg";

Chapter:1 / Page 277

Doc ID: DOC-728

Change

The example for argv and argc should change from:

const char __argv_string[] = "-in x.gif –out y.jpeg";

Change to:
const char __argv_string[] = "prog_name -in x.gif –out y.jpeg";

This change is needed because, typically, argv[0] is the command that has just been executed.

Chapter:1 / Page 280

Doc ID: DOC-729

Change

A series of heap related changes are needed.

On page 1-280, change from:

The default heap, seg_heap, is always 0 and the primary heap IDs of user-defined heaps are 1 with any additional user-defined heaps being 2, 3, and so on, with each heap index being an increment of one from the previous heap index.

Change to:
The default heap, seg_heap, is always 0 and the alternate heap is always 1 with any additional user-defined heaps being 2, 3, and so on, with each heap index being an increment of one from the previous heap index.

On page 1-286, in the code comments, correct the spelling from Initailiase to Initialize.

On page 3-215, add the following note at the end of the description:
You should not initialize a heap at runtime with the same id as a statically defined heap, including the default heap and alternate heap (with ids 0 and 1, respectively) if they are present.

Chapter:3 / Page 162

Doc ID: DOC-765

Change

Replace the following sentence in the fir_interp section:

Each filter should have its own delay line which is a vector of type float and whose length is equal to the number of coefficients.
with
Each filter should have its own delay line which is a vector of type float and whose length is equal to the number of coefficients per polyphase filter.
In the Example section for fir_interp replace the following line:
float delay[NCOEFFS];
with:
float delay[NCOEFFS/NPOLY];
In addition, change the code in this section from
/* Initialize the delay line */
for (i = 0; i < NCOEFFS; i++)
      delay[i] = 0;
to:
/* Initialize the delay line */
for (i = 0; i < NCOEFFS/NPOLY; i++)
      delay[i] = 0;

Chapter:3 / Page 185

Doc ID: DOC-731

Change

The reference page for fscanf does not describe all the length modifiers that are supported by the function. Under the heading "Description", do the following to correct the problem:

  • In the 5th paragraph (The length modifier can be used to specify ...), remove the character sequence e, f, g, from the 2nd sentence (The length modifiers should only precede ...).
  • Following the 5th paragraph (The length modifier can be used to specify the size of the ...) Table 3-29. (Length Modifier for fscanf) documents the length modifiers h and l and ll and L. Replace this table with the corresponding table in the Blackfin manual (on page 3-163).
  • Insert the following paragraph immediately after the above-mentioned table:
    Note that the hh, j, t, and z size specifiers are defined in the C99 (ISO/IEC 9899:1999) standard.
  • The following symbols in the new paragraph should be in Letter Gothic font: hh, j, t, z

Chapter:3 / Page 223

Doc ID: DOC-727

Change

Change the description of the heap_switch() from:

If the heap_index is the current heap then heap_index is returned, otherwise a value of -1 is returned.

Change to:
If the current heap was previously set then the index of the previous heap is returned, otherwise -1 is returned.

Chapter:3 / Page 223

Doc ID: DOC-805

Change

The example for heap_switch is not correct. Change from:

int heap1[256]; /* memory for heap 1*/
int main()
{
  char *buf;
  heap_install(heap1, sizeof(heap1), 1);
  heap_switch(1); /* make heap 1 the default heap */
Change to:
int heap2[256]; /* memory for heap 2*/
int main()
{
  char *buf;
  heap_install(heap2, sizeof(heap2), 2);
  heap_switch(2); /* make heap 2 the default heap */

Chapter:3 / Page 259

Doc ID: DOC-712

Change

Change the first parameter in the reference page for qsort from void base to void *base (insert the asterisk).

Last Update Date: Apr 27 2011