I did a little bit more digging into the issue, and the problem is in
ARCMT.cpp:318, whic has the code:

  Diags->setDiagnosticMapping(diag::err_arcmt_nsalloc_realloc,
                              NoNSAllocReallocError ? diag::MAP_WARNING
                                                    : diag::MAP_ERROR,
                              SourceLocation());

You cannot map an error diagnostic to be a warning.
DiagnosticsEngine::setDiagnosticMapping has this assert, which is
triggered by that code:

  assert((Diags->isBuiltinWarningOrExtension(Diag) ||
          (Map == diag::MAP_FATAL || Map == diag::MAP_ERROR)) &&
         "Cannot map errors into warnings!");

I'm not familiar enough with ARCMT to understand what is required for
the correct fix.

~Aaron
_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to