Re: [cedet-semantic] Typedefs in C++
Brought to you by:
zappo
From: Eric M. L. <eri...@gm...> - 2012-06-22 03:49:26
|
On 06/21/2012 08:43 AM, Troy Daniels wrote: > > > On Wed, Jun 20, 2012 at 9:52 PM, Eric M. Ludlam <eri...@gm... > <mailto:eri...@gm...>> wrote: > > Hi Troy, > > Semantic does support typedefs, and we have several tests that > exercise some rather complex typedefs. > > One of the steps after the type (Paths) in your case is identified > is to look it up, and using the found type, resolve any indirection. > I think the debug data probably failed to resolve the typedef, > and gave an erroneous response about the starting type (Paths) > instead of whatever Paths resolves to which would probably be more > useful. > > Do you know what Paths is typedef'd to, and if that type is in the > list of identified types produced from the debug output? > > > typedef std::vector< Path > Paths; > > class Path appears in the list of known types, but std::vector is > missing from the list of known symbols in the current scope, as is the > std namespace. There is an explicit #include <vector> at the top of the > file, and it does not claim that there are any unknown header files. > Troy > I'll guess your vector header either doesn't have the right pre-processor macros enabled, or it isn't showing up in the std namespace due to some strange std namespace macro. You would need to visit the vector file, and compare the code to the output of: M-x bovinate RET which shows the parsed output. It can be a bit tricky to figure out. The macro issue is usually resolved via a gcc query which you can examine via semantic-c-describe-environment which shows what was automatically configured. Eric |