[cfe-dev] [PATCH] enable dynamic loading components for static analyzer

Zhongxing Xu xuzhongxing at gmail.com
Wed Nov 26 17:14:33 PST 2008


>
> +/// ManagerRegister - This class records manager creators registered at
> +/// runtime. The information is communicated to AnalysisManager through
> static
> +/// members. Better design is expected.
> +
> +class ManagerRegister {
> +public:
> +  typedef ConstraintManager* (*ConstraintManagerCreator)(GRStateManager&);
> +  typedef StoreManager* (*StoreManagerCreator)(GRStateManager&);
>
> Aren't these typedefs the same as in the ones in GRStateManager?  Maybe we
> should just move those typedefs into the clang namespace and have them used
> by both GRStateManager and ManagerRegister (if not, let's just keep the ones
> in GRStateManager).  It seems silly to have the same typedefs defined twice,
> which can lead to weird warnings if we don't keep them in sync.


Done. But this introduced two #includes, commented in code. And I noticed
there are other #includes only for including typedefs, for example
LiveSymbolsTy/DeadSymbolsTy.

I named the class ManagerRegistry instead of ManagerRegistrar.

Other comments were adopted. Thanks.

New patch attached.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20081127/0ea72624/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: load2.patch
Type: application/octet-stream
Size: 7909 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20081127/0ea72624/attachment.obj>


More information about the cfe-dev mailing list