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

Ben Laurie benl at google.com
Tue Feb 17 04:36:54 PST 2009


On Tue, Feb 17, 2009 at 12:41 AM, Zhongxing Xu <xuzhongxing at gmail.com> wrote:
>
>
> 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.

I know :-)

>
> 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
>
>



More information about the cfe-commits mailing list