On Apr 4, 2011, at 1:56 PM, Ted Kremenek wrote:
> Author: kremenek
> Date: Mon Apr 4 15:56:00 2011
> New Revision: 128843
>
> URL: http://llvm.org/viewvc/llvm-project?rev=128843&view=rev
> Log:
> -Wuninitialized: use "self-init" warning when issue uninitialized values
> warnings from the dataflow analysis that include within the initializer of a
> variable.
Ok, but:
> const bool isAlwaysUninit = vi->second;
> if (const DeclRefExpr *dr = dyn_cast<DeclRefExpr>(vi->first)) {
> S.Diag(dr->getLocStart(),
> + isAlwaysUninit ?
> + (isSelfInit(S.Context, vd, dr)
> + ? diag::warn_uninit_self_reference_in_init
> + : diag::warn_uninit_var)
> + : diag::warn_maybe_uninit_var)
> << vd->getDeclName() << dr->getSourceRange();
This is really ugly. Please do something like:
unsigned DiagID = diag::warn_uninit_var;
// comment here.
if (...)
DiagID = diag::warn_uninit_self_reference_in_init;
S.Diag(.. , DiagID, ...)
Thanks,
-Chris
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits