This option is useful for determining the changes made by the preprocessor. For example, the following program, foo.cc, generates the output shown in A.2.13.1 Examples
| #if __cplusplus < 199711L
int power(int, int);
#else
template <> int power(int, int);
#endif
int main () {
  int x;
  x=power(2, 10);
}
. | 
| example% CC -E foo.cc
#4 "foo.cc"
template < > int power (int, int);
int main () {
int x;
x = power (2, 10);
} | 
Output from this option is not supported as input to the C++ compiler when templates are used.
–P