> On May 19, 2014, at 12:30, Aaron Ballman <aa...@aaronballman.com> wrote:
> 
> 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.

If the current behavior is correct, the right way to declare the diagnostic in 
the .td file is "Warning<...>, DefaultError".

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

Reply via email to