[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [CEDET-devel] ede-linux doesn't work with master emacs repo

From: Eric M. Ludlam
Subject: Re: [CEDET-devel] ede-linux doesn't work with master emacs repo
Date: Sat, 25 Sep 2010 22:58:20 -0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre

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.


On 09/25/2010 07:28 PM, Chong Yidong wrote:
"Eric M. Ludlam"<address@hidden>  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

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:

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 {}".

reply via email to

[Prev in Thread] Current Thread [Next in Thread]