man mcpp_std (Commandes) - Matsui CPP, an alternative C preprocessor
NAME
mcpp - Matsui CPP, an alternative C preprocessor
SYNOPSIS
mcpp [options] [<infile> [<outfile>]]
DESCRIPTION
Mcpp is a C/C++ preprocessor with the highest conformance which implements C90, C99 and C++98. Mcpp has plentiful diagnostics and many #pragmas. It is useful to check portability of your program, and also useful to debug complicated macro. This is a man-page for mcpp ported to GCC.
OPTIONS
mcpp expects two file names as arguments, <infile> and <outfile>. If not specified, <infile> defaults to standard input and <outfile> defaults to standard output.
It takes the following options.
- -+
- Process C++ source.
- -2
- Enable digraphs.
- -3
- Enable trigraphs. (Cannot use with -@post option).
- -@poststd, -@post
- 'post-Standard' mode of preprocessing.
- -@compat
- Expand recursive macro more than Standard. (Cannot use with -@post option).
- -b
- Output #line lines in C source style.
- -C
- Output also comments.
- -D <macro>[=<value>]
- Define <macro> as <value> (default:1).
- -D <macro(args)>[=<replace>]
- Define <macro(args)> as <replace>.
- -digraphs
- Enable digraphs.
- -e <encoding>
- Change the default multi-byte character encoding to one of: euc_jp, gb2312, ksc5601, big5, sjis, iso2022_jp, utf8.
- -finput-charset=<encoding>
- Same as -e <encoding>. (Do not insert spaces around '=').
- -h <n>
- Re-define the pre-defined macro __STDC_HOSTED__ as <n>.
- -I <directory>
- Add <directory> to the #include search list.
- -I-
- Unset system or site specific include directories.
- -include <file>
- Include the <file> prior to the main input file.
- -j
- Do not output the source line in diagnostics.
- -lang-asm
- Same as -x assembler-with-cpp.
- -lang-c89
- Same as -S1.
- -lang-c++
- Same as -+.
- -M, -MM, -MD, -MMD, -MP, -MQ target, -MT target, -MF file Output source file dependency line for makefile.
- -N Don't predefine any non-standard macros.
- -nostdinc Unset system or site specific include directories.
- -o <file> Output to <file>.
- -P Don't output #line lines.
- -pedantic, -pedantic-errors Same as -W7.
- -Q Output diagnostics to "mcpp.err" (default:stderr).
- -S <n> Redefine __STDC__ to <n>, undefine old style macros.
- -std=<STANDARD>
Specify the standard to which the code should conform.
<STANDARD> may be one of: c90, c99, iso9899:1990, iso14882, etc.
iso9899:<n>, iso14882:<n> : Same as -V <n> (long in decimals). - -trigraphs Enable trigraphs.
- -U <macro> Undefine <macro>.
- -undef Same as -N.
- -V <n>
Redefine __STDC_VERSION__ or __cplusplus to <n>.
C with -V199901L specifies C99 mode.
C++ with -V199901L specifies C99 compatible mode. - -v Show version of mcpp.
- -W <level> Set warning level to <level> (OR of {0,1,2,4,8,16}, default:1).
- -w Same as -W0.
- -x assembler-with-cpp Process "assembler" source.
- -x c++ Same as -+.
- -z Don't output the included file, only defining macros.
PRAGMA
Mcpp has the following #pragma directives.
#pragma once
#pragma __setlocale
#pragma MCPP put_defines
#pragma MCPP debug <args> <args> should be one or more of: token expand path if expression memory getc
#pragma MCPP end_debug <args> <args> are the same with 'debug'. No argument specifies all arguments.
#pragma MCPP push_macro
#pragma MCPP pop_macro
#pragma MCPP preprocess
#pragma MCPP preprocessed
#pragma MCPP warning
VERSION
MCPP V.2.5 (2005/03) STANDARD mode for GNU C
SEE ALSO
The full documentation for mcpp are maintained as text files. Please see /usr/share/doc/mcpp/*.