[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

Alp Toker alp at nuanti.com
Mon May 19 15:59:25 PDT 2014


On 19/05/2014 23:31, Richard Smith wrote:
> On Mon, May 19, 2014 at 1:11 PM, Jordan Rose <jordan_rose at apple.com 
> <mailto:jordan_rose at apple.com>> wrote:
>
>
>
>     > On May 19, 2014, at 12:30, Aaron Ballman <aaron at aaronballman.com
>     <mailto: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_.

Turns out the test was always disabled because multiple SourceManager 
instances were crashing VerifyDiagnosticConsumer.

So I've added a TODO to look into that, grepified the test and provided 
useful behaviour for both -no-ns-alloc-error and 
-Wno-error=arcmt-ns-alloc to resolve the issue.

r209172.

Alp.

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

-- 
http://www.nuanti.com
the browser experts




More information about the cfe-commits mailing list