continue;
if (esym)
- if (!(esym->sattr & DEFINED))
+ if (!(esym->sattr & DEFINED) && eval==0)
{
// If our expression still has an undefined symbol at this stage, it's bad news.
// The linker is never going to resolve the expression, so that's an error.