This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ Plugins


<response at end>
Benjamin Smedberg wrote:
On 10/11/09 12:13 PM, Terrence Miller wrote:
(Version 4.5.0)

There are plugin callbacks which trigger at the end of processing types
and C++ functions,
but I can not find a clean way for plugin code to notice a top-level
variable declaration.

I'm hoping that the answer does not require the plugin shared library to
bind to global symbols of the compiler (i.e. global_namespace).
Why not? That's what dehydra does: it enumerates through the items in
global_namespace in PLUGIN_FINISH_UNIT.

--BDS
Because it makes the name "global_namespace" and the list order(TREE_CHAIN (t) points to a declaration
located earlier in the file than t) be part of the plugin interface and these two items are not documented. Also
you end up with one way of handling top-level types (PLUGIN_FINISH_TYPE) and functions
(PLUGIN_CXX_CP_PRE_GENERICIZE) and a different way of handling variables. A better scheme (IMO)
would be to have a plugin triggered when the declaration of a variable is complete and another pair of plugins
for scope entry/exit.



Terrence




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]