diff --git a/reactos/tools/spec2def/spec2def.c b/reactos/tools/spec2def/spec2def.c index 8c2d78591b8..4ebaf85df13 100644 --- a/reactos/tools/spec2def/spec2def.c +++ b/reactos/tools/spec2def/spec2def.c @@ -338,10 +338,18 @@ OutputLine_def(FILE *fileDest, EXPORT *pexp) } else if (pexp->pcRedirection) { - int fDeco = ((giArch == ARCH_X86) && !ScanToken(pexp->pcRedirection, '.')); + if (gbMSComp && (pexp->pcName[0] == '?')) + { + /* ignore c++ redirection, since link doesn't like that! */ + } + else + { + int fDeco; - fprintf(fileDest, "="); - PrintName(fileDest, pexp, "", 1, fDeco && !gbMSComp); + fDeco = ((giArch == ARCH_X86) && !ScanToken(pexp->pcRedirection, '.')); + fprintf(fileDest, "="); + PrintName(fileDest, pexp, "", 1, fDeco && !gbMSComp); + } } else if (((pexp->uFlags & FL_STUB) || (pexp->nCallingConvention == CC_STUB)) && (pexp->pcName[0] == '?'))