|
| Chapter: 1 |
Page: 54 |
| Reference Number: 29603 |
| Change |
Change the following text from:
-path {-asm | -compiler | -lib | -link | -mem} filename
The -path -{asm|compiler|lib|link|mem} switch directs the compiler to use
the specified component in place of the default-installed version of the compilation tool.
The component comprises a relative or absolute path to its location. Respectively, the tools
are the assembler, compiler, librarian, linker or memory initializer. Use this switch
when overriding the normal version of one or more of the tools. The -path-{asm|compiler|lib|link|mem}
switch also overrides the directory specified by the -path-install switch
to
-path {-asm | -compiler | -lib | -link } filename
The -path -{asm|compiler|lib|link} switch directs the compiler to use
the specified component in place of the default-installed version of the compilation tool.
The component comprises a relative or absolute path to its location. Respectively, the tools
are the assembler, compiler, librarian, linker or memory initializer. Use this switch
when overriding the normal version of one or more of the tools. The -path-{asm|compiler|lib|link}
switch also overrides the directory specified by the -path-install switch
|
back to top |
|
| Chapter: 1 |
Page: 54 |
| Reference Number: 30058 |
| Change |
Delete the following text:
progress-rep-gen-opt
The -progress-rep-gen-opt switch provides feedback on the compiler’s progress that
may be useful when compiling and optimizing a very large, complex function. It issues a “warning”
message each time the compiler starts a new generic optimization pass on the current function. T
he “warning” message is a remark that is disabled by default, and this switch enables the remark as a warning.
The switch is equivalent to -Wwarn=cc1473.
-progress-rep-mc-opt
The -progress-rep-mc-opt switch provides feedback on the compiler’s progress
that may be useful when compiling and optimizing a very large, complex function.
It issues a “warning” message each time the compiler starts a new machine-specific
optimization pass on the current function. The “warning” message is a remark that
is disabled by default, and this switch enables the remark as a warning. The switch is
equivalent to -Wwarn=cc1474.
and replace it with
-progress-rep-opt
The -progress-rep-opt switch provides feedback on the compiler’s
progress that may be useful when compiling and optimizing a very large,
complex function. It issues a warning message each time the compiler starts a
new optimization pass on the current function. The warning message is a remark that is
disabled by default, and this switch enables the remark as a warning.
The switch is equivalent to -Wwarn=cc1473. |
back to top |
|
| Chapter: 1 |
Page: 54 |
| Reference Number: 30063 |
| Change |
Insert the following text:
-progress-rep-timeout
The -progress-rep-timeout switch issues a diagnostic message if the compiler exceeds a time limit during compilation. This indicates the compiler is still operating, just taking a long time.
-progress-rep-timeout-secs
The -progress-rep-timeout-secs switch specifies how many seconds must elapse during a compilation before the compiler issues a diagnostic message about the length of time the compilation has used so far. |
back to top |
|
| Chapter: 1 |
Page: 140 |
| Reference Number: 29181 |
| Change |
Change the following text from
struct foo make-foo(int x, char *s)
to
struct foo make_foo(int x, char *s)
|
back to top |
|
| Chapter: 1 |
Page: 222 |
| Reference Number: 28958 |
| Change |
Change the following text from
As an example, a compiler with version 7.1.0.0 defines __VERSIONNUM__ as 0x07000100 and 7.1.1.10 would define __VERSIONNUM__ to be 0x0701010A.
to
As an example, a compiler with version 7.1.0.0 defines __VERSIONNUM__ as 0x07010000 and 7.1.1.10 would define __VERSIONNUM__ to be 0x0701010A. |
back to top |
|
| Chapter: 1 |
Page: 264 |
| Reference Number: 30085 |
| Change |
Change the following line from:
seg_pmda{TYPE(DM RAM) START(0x28000) END(0x28fff) WIDTH(32)}
to
seg_pmda{TYPE(PM RAM) START(0x28000) END(0x28fff) WIDTH(32)}
|
back to top |
|
| Chapter: 1 |
Page: 271 |
| Reference Number: 30624 |
| Change |
In the information bullet at the bottom of the page, delete the following text:
When you reserve a register, you are asking the compiler to avoid using the register. If the compiler requires a register you have reserved, the compiler ignores your reservation request. |
back to top |
|
| Chapter: 1 |
Page: 297 |
| Reference Number: 30068 |
| Change |
Correct this typo from
When generating dependencies, the compiler will only parse each implicitly included
.cpp file once. This parsing avoids excessive compilation times in situations where a
header file that implicity includes a source file is included several times.
to
When generating dependencies, the compiler will only parse each implicitly included
.cpp file once. This parsing avoids excessive compilation times in situations where a
header file that implicitly includes a source file is included several times.
|
back to top |
|
| Chapter: 3 |
Page: 31 |
| Reference Number: 29519 |
| Change |
Insert this following section after the section Calling Library Functions on ISR:
Using the Libraries in a Multi-Threaded Environment
It is sometimes desirable for there to be several instances of a given library function to be active at any one time. Two examples of such a requirement are:
an interrupt or other external event invokes a function, while the application is also executing that function,
an application that runs in a multi-threaded environment, such as VDK, and more than one thread executes the function concurrently.
The majority of the functions in the C and C++ run-time libraries are safe in this regard and may be called in either of the above
schemes; this is because the functions operate on parameters passed in by the caller and they do not maintain private static storage,
and they do not access non-constant global data.
A subset of the library functions however either make use of private storage or they operate on shared resources (such as FILE pointers). This can lead to undefined behavior if two instances of a function simultaneously access the same data. The issues associated with calling such library functions via an interrupt or other external event is discussed in the section "Calling Library Functions from ISR" on page 1-30.
A VisualDSP++ installation contains versions of the C and C++ libraries that may be used in a multi-threaded environment. These libraries have recursive locking mechanisms so that shared resources, such as stdio FILE tables and buffers, are only updated by a single function instance at any given time. The libraries also make use of local-storage routines for thread-local private copies of data, and for the variable errno (each thread therefore has its own copy of errno).
The multi-threaded libraries have “mt” in their filename and will be used automatically by the default VDK .ldf file to build a multi-threaded application.
Note that the DSP run-time library (which is described in Chapter 2 and Chapter 3 ) is thread-safe and may be
used in any multi-threaded environment.
|
back to top |
|
| Chapter: 3 |
Page: 131 |
| Reference Number: 29773 |
| Change |
The fread function requires the following additional paragraphs:
Normally binary streams are a bit-exact mirror image of the processor's memory such that data that is written out to a binary stream can be later read back in unmodified. The size of a binary file on TigerSHARC is therefore normally a multiple of 32-bit words when word-addressing mode is enabled.
When word addressing mode is enabled and the size of a file is not a multiple of four then fread will behave as if the file was padded out by a sufficient number of trailing null characters to bring the size of the file up to the next multiple of 32-bit words."
|
back to top |
|
| Chapter: 3 |
Page: 204 |
| Reference Number: 29999 |
| Change |
The example for the longjmp function has a coding error (it uses "==" instead of "="). The effect is that res does not get set to the return value of setjmp and the if condition evaluates to true when it is expected to be false.
Change the example from:
#include
#include
#include
#include
jmp_buf env;
int res;
if ((res == setjmp(env)) != 0) {
printf ("Problem %d reported by func ()", res);
exit (EXIT_FAILURE);
}
func ();
void func (void)
{
if (errno != 0) {
longjmp (env, errno);
}
}
To:
#include
#include
#include
#include
jmp_buf env;
int res;
void func (void);
main() {
if ((res = setjmp(env)) != 0) {
printf ("Problem %d reported by func ()\n", res);
exit (EXIT_FAILURE);
}
func();
}
void func (void) {
if (errno != 0) {
longjmp (env, errno);
}
}
|
back to top |
|
| Chapter: I |
Page: 1 |
| Reference Number: 30061 |
| Change |
Insert the following text:
alternative tokens
disabling, 1-45
enabling, 1-27
|
back to top |
|