[cfe-commits] r149662 - in /cfe/trunk: lib/Basic/Diagnostic.cpp test/Analysis/null-deref-ps.c test/CodeGen/statements.c test/Sema/return.c test/SemaCXX/vararg-non-pod.cpp test/SemaObjCXX/vararg-non-pod.mm
Chad Rosier
mcrosier at apple.com
Sun Feb 5 13:32:32 PST 2012
On Feb 5, 2012, at 1:19 PM, Enea Zaffanella <zaffanella at cs.unipr.it> wrote:
> On 02/05/2012 09:17 PM, Chad Rosier wrote:
>> Hi Enea,
>
> [...]
>
>>> Why this change?
>>
>> This change makes clang more consistent with how gcc handles warning options. Previously, something such as "-Werror=foo -Wall" would result in foo only being a warning, not an error. This is not consistent with gcc. Conversely, "-Wall -Werror=foo" would result in a error.
>>
>>> There are warnings that are mapped by default to errors.
>>> After this change, clients no longer have the option of mapping them back to warnings, which is obviously wrong.
>>
>> Not true; to downgrade an error to a warning use '-Wno-error=foo', where foo is the specific warning.
>>
>> Chad
>
> We are interested in changing the diagnostic mapping when using clang as a library (i.e., without using command line options). We were previously using the method setDiagnosticMapping(), but this no longer works. The doxygen documentation for the method says:
>
> void setDiagnosticMapping (diag::kind Diag,
> diag::Mapping Map,
> SourceLocation Loc)
> This allows the client to specify that certain warnings are ignored.
> Notes can never be mapped, errors can only be mapped to fatal, and
> WARNINGs and EXTENSIONs can be mapped arbitrarily.
>
>
> Looks like the specification above no longer matches the implemented behavior (some of our calls to the method for remapping warnings are now _silently_ ignored). Anyway, this would still be OK, provided we know an alternative function/method we should call. So, what code should we write in order to change the default mapping of a warning that is mapped by default to error (e.g., warn_return_missing_expr)?
Thank you for the clarification. Feel free to revert this commit if you need this fixed immediately. Otherwise, I will look into reworking this tomorrow morning.
Chad
> Enea.
More information about the cfe-commits
mailing list