[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
Aaron Ballman
aaron at aaronballman.com
Mon May 19 12:30:04 PDT 2014
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
More information about the cfe-commits
mailing list