Index: lld/MachO/Driver.cpp =================================================================== --- lld/MachO/Driver.cpp +++ lld/MachO/Driver.cpp @@ -1608,6 +1608,8 @@ : NamespaceKind::flat; config->undefinedSymbolTreatment = getUndefinedSymbolTreatment(args); + if (errorCount()) + return false; if (config->outputType == MH_EXECUTE) config->entry = symtab->addUndefined(args.getLastArgValue(OPT_e, "_main"), Index: lld/test/MachO/treat-undef-sym.s =================================================================== --- lld/test/MachO/treat-undef-sym.s +++ lld/test/MachO/treat-undef-sym.s @@ -43,17 +43,16 @@ # ERROR-NEXT: >>> referenced by # INVAL-WARNING: error: '-undefined warning' only valid with '-flat_namespace' -# INVAL-WARNING-NEXT: error: undefined symbol: _bar +# INVAL-WARNING-NOT: error: undefined symbol: _bar # INVAL-SUPPRESS: error: '-undefined suppress' only valid with '-flat_namespace' -# INVAL-SUPPRESS-NEXT: error: undefined symbol: _bar +# INVAL-SUPPRESS-NOT: error: undefined symbol: _bar # WARNING: warning: undefined symbol: _bar # WARNING-NEXT: >>> referenced by # UNKNOWN: unknown -undefined TREATMENT 'bogus' -# UNKNOWN-NEXT: error: undefined symbol: _bar -# UNKNOWN-NEXT: >>> referenced by +# UNKNOWN-NOT: error: undefined symbol: _bar # BIND: Lazy bind table: # BIND: __DATA __la_symbol_ptr 0x{{[0-9a-f]*}} flat-namespace _bar