HP aC++/HP C A.06.25 Programmer's Guide

with respect to the source code that is input to the preprocessor rather than the C++
source code that is output.
HP aC++ defines two macros that you can use for error diagnostics. The first is
__LINE__, an integer constant equal to the value of the current line number. The
second is __FILE__, a quoted string literal equal to the name of the input source file.
You can change __FILE__ and __LINE__ using #include or #line directives.
Example
#line 5 "myfile"
IOSTREAM Performance Improvement Pragma
The -AA -D_HP_NONSTD_FAST_IOSTREAM Performance Improvement macro can
be used to improve the -AA iostream performance.
Syntax:
#define _HP_NONSTD_FAST_IOSTREAM 1 (or)
aCC options -D_HP_NONSTD_FAST_IOSTREAM
This macro enables the following non-standard features:
Sets std::ios_base::sync_with_stdio(false), which disables the default
synchronization with stdio
Sets std::cin.tie(0). which unties the cin from other streams.
Replaces all occurrences of “std::endl” with “\n”.
Enabling this macro can provide noticeable performance improvement if the application
uses iostreams often.
NOTE: Note: Do not enable the HP_NONSTD_FAST_IOSTREAM macro in any of
the following cases:.
If the application assumes a C++ stream to be in sync with a C stream.
If the application depends on stream flushing behavior with endl.
If the user uses "std::cout.unsetf(ios::unitbuf)" to unit buffer the output
stream.
Pragma Directive (#pragma) and _Pragma Operator
A #pragma directive is an instruction to the compiler. Use a pragma to control the
actions of the compiler in a particular portion of a program without affecting the
program as a whole.
Syntax
pragma-directive ::=
170 Preprocessing Directives