semantic-lex-spp-project-macro-symbol-obarray in ede-cpp-root-project

Martin Stein <[email protected]> Mon, 23 Mar 2015 23:30:46 +0100
Newsgroups gmane.emacs.cedet
Message-ID <[email protected]>
Hi,

I have copied and adjusted ede-cpp-root-project for my f90 project and 
found a bug in my f90 code, which should also be present in the cpp code.

I a preprocessor macro is expaneded the expansion is placed in a 
temporary buffer and the parser is called recursively. In order to get 
the parser working properly, the mode and other stuff has to be setup 
properly. However, the variable
semantic-lex-spp-project-macro-symbol-obarray
is not set, nor is the temporary buffer likely to be recognised to 
belong to the cpp-root project.
I resolved this problem by also copying the obarray (along with 
semantic-lex-spp-dynamic-macro-symbol-obarray). From all I have seen, 
this should also be necessary for the C++ parser?

An example to demonstrate this bug could be

_macro_with_param_(_param_is_a_macro_)

where _param_is_a_macro is defined by the ede-cpp-root project (either 
map or file).

Martin

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/