[cfe-commits] r64627 - /cfe/trunk/lib/Analysis/RangeConstraintManager.cpp

Zhongxing Xu xuzhongxing at gmail.com
Mon Feb 16 16:41:51 PST 2009


On Tue, Feb 17, 2009 at 12:48 AM, Ben Laurie <benl at google.com> wrote:

> On Mon, Feb 16, 2009 at 4:26 PM, Ted Kremenek <kremenek at apple.com> wrote:
> > On Feb 16, 2009, at 1:19 AM, Ben Laurie <benl at google.com> wrote:
> >
> >> On Mon, Feb 16, 2009 at 4:54 AM, Ted Kremenek <kremenek at apple.com>
> wrote:
> >>>
> >>> Author: kremenek
> >>> Date: Sun Feb 15 22:54:20 2009
> >>> New Revision: 64627
> >>>
> >>> URL: http://llvm.org/viewvc/llvm-project?rev=64627&view=rev
> >>> Log:
> >>> Do not register 'RangeConstraintManager' as the default
> >>> ConstraintManager.
> >>
> >> I should note that this didn't work, by the way.
> >
> > Hi Ben,
> >
> > I'm more than happy to fix my mistakes, but your comment doesn't contain
> any
> > actionable information.  Can you clarify what you mean by "this didn't
> > work"?. That could mean a variety of issues.  Are you seeing that
> > RangeConstraintManager is not being used at all now (despite whatever
> > options you pass to the command line)?  If that is the case,  I suspect
> the
> > analagous line in BasicConstraintManager.c needs to be removed as well (I
> > can't tell right now if there is one since I'm not near an editor).
>
> What i meant was that adding
>
> RegisterConstraintManager X(CreateRangeConstraintManager);
>
> did not cause the RangeConstraintManager to be used when there was no
> command-line option to enable it.


This should not be the case. RegisterConstraintManager was added to enable
plugin constraint manager to work by utilizing the automatically run of
global objects' constructors when .so files are loaded.

In RegisterConstraintManager's ctor, ManagerRegistry is filled. Then in
AnalysisManager, we first check if ManagerRegistry is filled. Registered
managers should be used first.

Of course the current manager registering way is coarse.




>
>
> >
> >>
> >>
> >>>
> >>> Modified:
> >>>  cfe/trunk/lib/Analysis/RangeConstraintManager.cpp
> >>>
> >>> Modified: cfe/trunk/lib/Analysis/RangeConstraintManager.cpp
> >>> URL:
> >>>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/RangeConstraintManager.cpp?rev=64627&r1=64626&r2=64627&view=diff
> >>>
> >>>
> >>>
> ==============================================================================
> >>> --- cfe/trunk/lib/Analysis/RangeConstraintManager.cpp (original)
> >>> +++ cfe/trunk/lib/Analysis/RangeConstraintManager.cpp Sun Feb 15
> 22:54:20
> >>> 2009
> >>> @@ -461,8 +461,6 @@
> >>>  return new RangeConstraintManager(StateMgr);
> >>> }
> >>>
> >>> -RegisterConstraintManager X(CreateRangeConstraintManager);
> >>> -
> >>> const GRState*
> >>> RangeConstraintManager::AssumeSymNE(const GRState* St, SymbolRef sym,
> >>>                                   const llvm::APSInt& V, bool&
> >>> isFeasible) {
> >>>
> >>>
> >>> _______________________________________________
> >>> cfe-commits mailing list
> >>> cfe-commits at cs.uiuc.edu
> >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >>>
> >
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20090217/86d7c975/attachment.html>


More information about the cfe-commits mailing list