[cfe-commits] r148887 - in /cfe/trunk: include/clang/Driver/CC1Options.td include/clang/Frontend/CompilerInvocation.h include/clang/Frontend/MigratorOptions.h lib/ARCMigrate/ARCMT.cpp lib/ARCMigrate/Internals.h lib/ARCMigrate/TransGCCalls.cpp lib/ARCMigrate/TransformActions.cpp lib/Frontend/CompilerInvocation.cpp test/ARCMT/GC-check-warn-nsalloc.m

Richard Smith richard at metafoo.co.uk
Mon May 19 13:31:52 PDT 2014


On Mon, May 19, 2014 at 1:11 PM, Jordan Rose <jordan_rose at apple.com> wrote:

>
>
> > On May 19, 2014, at 12:30, Aaron Ballman <aaron at 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".


... and in that case, its name should not begin err_.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140519/eab3ab7c/attachment.html>


More information about the cfe-commits mailing list