c-macro-expansion is a compiled Lisp function in `cmacexp.el'.

(c-macro-expansion START END CPPCOMMAND &optional DISPLAY)

Run a preprocessor on region and return the output as a string.
Expand the region between START and END in the current buffer using
the shell command CPPCOMMAND (e.g. "/lib/cpp -C -DDEBUG").
Be sure to use a -C (don't strip comments) or equivalent option.
Optional arg DISPLAY non-nil means show messages in the echo area.