C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

For subsequent lines in that file, the #line directive has the form:
#line edit-line-number
The timestamp given the first time a file is referenced represents the modification timestamp for the
C++ source input file. This information is used by the symbolic debuggers to identify possible
source code version inconsistencies.
Cprep Run Command Syntax
To notify Cprep that it is processing a C++ program, you must specify #define __cplusplus
in the source file or define __cplusplus on the Cprep run command line. Note that two underscore
characters are required before the word cplusplus.
Cprep creates an intermediate file to be used by Cfront. Cfront creates an intermediate file to be
used by the C compiler. Be sure to purge any existing intermediate files before running Cprep. If
you forget to delete an existing intermediate file, the output will be appended to the end of that
file.
You use this syntax to run Cprep:
CPREP /IN source, OUT intermediate-file1 / define __cplusplus
[ , compile-option [ , compile-option ]...]
compile-option:
{ SSV-pragma }
{ pragma }
{ define identifier [ integer-constant ] }
IN source
specifies the name of the file that contains your original C++ source code.
OUT intermediate-file1
specifies the file to which Cprep writes its C++ source file. If you omit the OUT option, the
output goes to your current default output file, usually the terminal.
define __cplusplus
specifies to Cprep that it is processing a C++ program.
compile-option
modifies compiler operation by specifying a compiler pragma or defining a preprocessor
symbol.
SSV-pragma
is a C compiler pragma that specifies a subvolume in which a header file is located. For
more details, see SSV (page 244).
pragma
is a C compiler pragma.
These TNS C compiler pragmas are intended for Cprep and can appear only in this Cprep
run command syntax or in the TNS C++ source code:
RUNNABLE[NO]CHECK
SECTION (source code only)COLUMNS
SSV (command line only)ERRORS
[NO]WARN[NO]NEST
[NO]WIDE[NO]OLDCALLS
Pragmas NOXMEM and SQL are invalid for C++. If either of these pragmas appears, Cfront
issues a warning and ignores the pragma.
Working in the Guardian Environment 275