Sorry for the delayed reply. It's catapult building season here.
You are right. I've been working toward making CEDET better for quite
a while, and generally focusing on C++. My goal is fully automated
"build the databases" instead of what other systems do which is
update first, then run.
At the moment, handling preprocessor symbols often messes up several
versions of the stl header files. I haven't focused on that much
since I'm still working on the basics of C++'s complex naming and
referencing scheme, and finding ways to build the speed up.
I will investigate the cmath example you provided, though my cmath is
a bit old. I had tested with things like "abs" and whatnot in the
past and it seemed to work fine.
You can look at the tags provided by using:
M-x semantic-adebug-searchdb RET sqrt RET
and see what info is available in the symbol it found, or if several
are found, and CEDET happens to pick the wrong one.
>>> Ming-Wei Chang <mchang21@...> seems to think that:
> Recently, I am trying to use semantic on some simple c language. The
>package is very nice but I got some problems of using some system
>include header files. I use emacs 22 with cedet from cvs.
>If I import <cmath>, after entering "sq" and then call
>semantic-complete-analyze-inline, I can get "sqrt(". However, I cannot
>see any information (argument type, return type,...) related to sqrt
>in my mini-buffer. Is this a problem of my configuration? Or because it is a inline
>Another problems is that it seems that semantic cannot find some macros and stl
>classes right now. For example, if I only import <math.h>, I cannot find
>sqrt anymore. I also failed to try to get std::string working. But I guess
>these two cases are difficult to get.
>It would be extremely cool that if cedet can really work well on one
>big language such as C/C++. If CEDET works well on one language, there
>would be more people want to join the develop group.
> [ ... ]