_X(SCANLINE_UNKNOWN), \
_X(SCANLINE_PNGREADER), \
_X(SCANLINE_PNGREADERRAW), \
_X(SCANLINE_GIFREADER), \
_X(SCANLINE_GIFREADERRAW), \
_X(SCANLINE_JPEGREADER), \
_X(SCANLINE_WEBPREADER), \
_X(SCANLINE_RESIZER), \
_X(SCANLINE_PNGWRITER), \
_X(SCANLINE_JPEGWRITER), \
_X(SCANLINE_WEBPWRITER), \
_X(SCANLINE_UTIL), \
_X(SCANLINE_PIXEL_FORMAT_OPTIMIZER), \
_X(FRAME_TO_SCANLINE_READER_ADAPTER), \
_X(FRAME_TO_SCANLINE_WRITER_ADAPTER), \
_X(SCANLINE_TO_FRAME_READER_ADAPTER), \
_X(SCANLINE_TO_FRAME_WRITER_ADAPTER), \
_X(FRAME_GIFREADER), \
_X(FRAME_WEBPWRITER), \
_X(FRAME_PADDING_READER), \
\
_X(NUM_SCANLINE_SOURCE)
Note the source of the error message by means of an enum rather than a string.