mcpp is a C/C++ preprocessor with the following features. * Implements all of C90, C99 and C++98 specifications. * Provides a validation suite to test C/C++ preprocessor's conformance and quality comprehensively. When this validation suite is applied, mcpp distinguishes itself among many existing preprocessors. * Has plentiful and on-target diagnostics to check all the preprocessing problems such as latent bug or lack of portability in source code. * Has #pragma directives to output debugging information. * Is portable and has been ported to many compiler-systems, including GCC and Visual C++, on UNIX-like systems and Windows. * Has various behavior modes. * Can be built either as a compiler-specific preprocessor to replace the resident preprocessor of a particular compiler system, or as a compiler-independent command, or even as a subroutine called from some other main program. * Provides comprehensive documents both in Japanese and in English. * Is an open source software released under BSD-style-license.