_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.