HP C B.11.11.16 Release Notes
HP C/ANSI C Release Notes
New Features in Version B.11.11.08
Chapter 1 17
+Olit=const places all string literals appearing in a context where const char * is legal,
and all const-qualified variables that do not require load-time or run-time initialization in
the read-only data section.
If +Olit=none is specified, no constants are placed in the read-only data section.
+O[no]memory[=malloc] Option
This option enables[disables] memory optimizations. Specifying malloc in the list
enables[disables] optimizations which consolidate memory allocation procedure calls. This
option is disabled by default. It is incompatible with +OopenMP and +Oparallel, and is
ignored when these options are in effect.
Assigned goto Feature
Assigned goto is a gcc compatibility feature, to use labels as values. The address of a label
defined in the current function can be got using the unary operator &&. The value has type
void *.
For example:
void *ptr;
/* ... */
ptr = && label_foo;
To use these values, the user must be able to jump to one. This is done with the computed
goto statement(1), goto *EXP;. For example,
goto *ptr;
Any expression of type void * is allowed.
__label__ Feature to Locally Declare Labels
A local label is simply an identifier. You can jump to it with an ordinary goto statement, but
only from within the compound statement it belongs to.
The syntax for a local label is given below:
__label__ LABEL;
or
__label__ LABEL1, LABEL2, ...;