version(DigitalMars)
{
    const string COMPILER_ID = "DigitalMars";
}
else version(GNU)
{
    const string COMPILER_ID = "GNU";
}
else version(LDC)
{
    const string COMPILER_ID = "LDC";
}
else version(SDC)
{
    const string COMPILER_ID = "SDC";
}
else
{
    const string COMPILER_ID = "";
}

/* Construct the string literal in pieces to prevent the source from
   getting matched.  Store it in a pointer rather than an array
   because some compilers will just produce instructions to fill the
   array rather than assigning a pointer to a static array.  */
string info_compiler = "INFO" ~ ":" ~ "compiler[" ~ COMPILER_ID ~ "]";

@CMAKE_D_COMPILER_ID_PLATFORM_CONTENT@

/*--------------------------------------------------------------------------*/

int main(string[] args)
{
    int require = 0;
    require += info_compiler[args.length];
    require += info_platform[args.length];
    require += info_arch[args.length];
    return require;
}