Re: [CEDET-devel] ede-linux doesn't work with master emacs repo
Brought to you by:
zappo
|
From: Eric M. L. <er...@si...> - 2010-09-26 02:58:28
|
That looks like a problem with the C/C++ parser. It knows that t is a
struct, but claims it is a prototype. I think you are missing a change
from a short series of checkins ending on 2010-03-14 that deal with the
way compound tags (where you have a named struct, AND a declaration of a
variable t) are dealt with.
I'll take a wild guess that semantic-c.el was not imported right.
Eric
On 09/25/2010 07:28 PM, Chong Yidong wrote:
> "Eric M. Ludlam"<er...@si...> writes:
>
>> You example works with the CEDET from the CEDET repository. There
>> have been no changes in that area since CEDET 1.0.
>>
>> A good place to start is with M-x semantic-analyze-debug-assist RET
>> which will point at the problem area. Perhaps something has been
>> translated into Emacs incorrectly.
>
> I probably goofed up somewhere during the merge. Here's the output of
> semantic-analyze-debug-assist from the built-in CEDET, followed by the
> output from stand-alone CEDET.
>
> ========= built-in CEDET =======================
>
> Unable to find datatype for: "struct a t".
> Declared type is: "struct a {}"
> Raw data type is: ("a" type (:prototype t :type "struct") nil nil)
>
> Semantic could not find this data type in any of its global tables.
>
> Semantic locates datatypes through either the local scope, or the global
> typecache.
>
> Local Scope Information:
> * Tag Class Constraint against SCOPE: (type)
> * No known parents in current scope.
> * No known symbols currently in scope.
> * No known symbols declared locally.
> Semantic creates and maintains a type cache for each buffer.
> If the type is a global type, then it should appear in they typecache.
> To examine the typecache, type:
>
> M-x semanticdb-typecache-dump RET [ Do It ]
>
> Current typecache Statistics:
> 1 types global in this file
> 0 types from includes.
>
> If the datatype is not in the typecache, then your include
> path may be incorrect.
>
> Include Path Summary:
>
> The system include path is:
> /usr/include
> /usr/local/include/
> /usr/lib/gcc/i486-linux-gnu/4.4.3/include/
> /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/
> /usr/include/
>
>
> Include Summary: /home/cyd/tmp/foo.c
>
> foo.c contains 0 includes.
>
> No unknown includes.
>
> ========= stand-along CEDET =======================
>
> Cannot find symbol "" in datatype:
> struct a {}
>
> Semantic has found the datatype struct a {}
> and its list of members. Semantic knows of some
> possible completions for "".
>
> Possible completions are:
> int k
>
>
> Known members of a:
> int k
> char b
>
> When there are known members that would make good completion
> candidates that are not in the completion list, then the most likely
> cause is a type constraint. Semantic has determined that there is a
> type constraint looking for the type "int {}".
>
>
|