From: Chong Yidong <cyd@stupidchicken.com>
To: Eric Ludlam <zappo@gnu.org>
Cc: Jonathan Marchand <jonathlela@gmail.com>, 6342@debbugs.gnu.org
Subject: bug#6342: 23.2; error writing table of symbols with semantic in cedet
Date: Thu, 03 Jun 2010 13:20:14 -0400 [thread overview]
Message-ID: <87ocfsvxrl.fsf@stupidchicken.com> (raw)
In-Reply-To: <20100603153729.GD2763@loria.fr> (Jonathan Marchand's message of "Thu, 3 Jun 2010 17:37:29 +0200")
Hi Eric,
Could you take a look at this report about a symbol that Semantic can't
handle? I just applied your semantic-lex-spp-table-write-slot-value
change that saves a nil instead of erroring on invalid values.
Jonathan Marchand <jonathlela@gmail.com> writes:
> Hi,
>
> I'm reporting a second bug in cedet in emacs23 (and 24). When editing a
> C file, semantic saves the symbol tables from the include files required
> by the C file in a cache file in order not to process again these files
> when a new instance emacs runs. Sometimes, it happens that semantic is
> not able to get the value of a symbol from a file, and report the error
> to the echo area. As the save process is a task done automaticly on
> iddle, every minutes semantic reports an error on the echo area (which
> is just annoying). In the CVS version of cedet, the problematic symbols
> are still not proceeded, but it doesn't report an error (actually, the
> symbol is just marked as bogus). This is done in the 1.53 revision of
> the semantic-lex-spp.el file of the cvs version
> (http://cedet.cvs.sourceforge.net/viewvc/cedet/cedet/semantic/semantic-lex-spp.el?view=log).
> I provide a patch that follows this fix (without adding the other stuff
> that just do nothing for the moment).
>
> Moreover, I have a backtrace with an example of a symbol that semantic
> can't handle well in file ctype.h (the one in /usr/include/), here is the output :
>
> Error Writing Table: #<semanticdb-table ctype.h>
> Save Error: "\"Error in macro \\\"name\\\"\"": /home/jonathlela/.emacs.d/semanticdb/!usr!include!semantic.cache
>
> Precisely, the error occurs when calling
> semantic-lex-spp-table-write-slot-value with value =
>
> (("__exctype" (spp-arg-list (#1="name") 3728 . 3734) (EXTERN "extern" 3735 . 3741) (INT "int" 3742 . 3745) (symbol "name" 3746 . 3750) (semantic-list "(int)" 3751 . 3756) (symbol "__THROW" 3757 . 3764)) ("isalnum" (spp-arg-list ("c") 5853 . 5856) (symbol "__isctype" 5857 . 5866) (semantic-list "((c), _ISalnum)" 5866 . 5881)) ("isprint" (spp-arg-list ("c") 6123 . 6126) (symbol "__isctype" 6127 . 6136) (semantic-list "((c), _ISprint)" 6136 . 6151)) ("ispunct" (spp-arg-list ("c") 6168 . 6171) (symbol "__isctype" 6172 . 6181) (semantic-list "((c), _ISpunct)" 6181 . 6196)) ("isxdigit" (spp-arg-list ("c") 6304 . 6307) (symbol "__isctype" 6308 . 6317) (semantic-list "((c), _ISxdigit)" 6317 . 6333)) ("_tolower" (spp-arg-list ("c") 7099 . 7102) (semantic-list "((int) (*__ctype_tolower_loc ())[(int) (c)])" 7103 . 7147)) ("toupper" (spp-arg-list ("c") 6855 . 6858) (symbol "__tobody" 6859 . 6867) (semantic-list "(c, toupper, *__ctype_toupper_loc (), (c))" 6868 . 6910)) ("isspace" (spp-arg-list ("c") 6213 . 6216) (symbol "__isctype" 6217 . 6226) (semantic-list "((c), _ISspace)" 6226 . 6241)) ("isgraph" (spp-arg-list ("c") 6078 . 6081) (symbol "__isctype" 6082 . 6091) (semantic-list "((c), _ISgraph)" 6091 . 6106)) ("_CTYPE_H" (number "1" 1003 . 1004)) ("_ISbit" (spp-arg-list ("bit") 1504 . 1509) (semantic-list "(1 << (bit))" 1510 . 1522)) ("__toascii" (spp-arg-list ("c") 3665 . 3668) (semantic-list "((c) & 0x7f)" 3669 . 3681)) ("__tobody" (spp-arg-list ("c" "f" "a" "args") 5305 . 5320) (semantic-list "(__extension__ \\\n ({ int __res; \\\n if (sizeof (c) > 1) \\\n { \\\n if (__builtin_constant_p (c)) \\\n { \\\n int __c = (c); \\\n __res = __c < -128 || __c > 255 ? __c : (a)[__c]; \\\n } \\\n else \\\n __res = f args; \\\n } \\\n else \\\n __res = (a)[(int) (c)]; \\\n __res; }))" 5325 . 5787)) ("isupper" (spp-arg-list ("c") 6258 . 6261) (symbol "__isctype" 6262 . 6271) (semantic-list "((c), _ISupper)" 6271 . 6286)) ("iscntrl" (spp-arg-list ("c") 5943 . 5946) (symbol "__isctype" 5947 . 5956) (semantic-list "((c), _IScntrl)" 5956 . 5971)) ("tolower" (spp-arg-list ("c") 6782 . 6785) (symbol "__tobody" 6786 . 6794) (semantic-list "(c, tolower, *__ctype_tolower_loc (), (c))" 6795 . 6837)) ("toascii" (spp-arg-list ("c") 7062 . 7065) (symbol "__toascii" 7066 . 7075) (semantic-list "(c)" 7076 . 7079)) ("__isctype" (spp-arg-list ("c" "type") 3500 . 3509) (semantic-list "((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)" 3514 . 3574)) ("_toupper" (spp-arg-list ("c") 7166 . 7169) (semantic-list "((int) (*__ctype_toupper_loc ())[(int) (c)])" 7170 . 7214)) (#1# symbol "_tolower" 5177 . 5185) ("__isascii" (spp-arg-list ("c") 3593 . 3596) (semantic-list "(((c) & ~0x7f) == 0)" 3597 . 3617)) ("isdigit" (spp-arg-list ("c") 5988 . 5991) (symbol "__isctype" 5992 . 6001) (semantic-list "((c), _ISdigit)" 6001 . 6016)) ("islower" (spp-arg-list ("c") 6033 . 6036) (symbol "__isctype" 6037 . 6046) (semantic-list "((c), _ISlower)" 6046 . 6061)) ("isascii" (spp-arg-list ("c") 7027 . 7030) (symbol "__isascii" 7031 . 7040) (semantic-list "(c)" 7041 . 7044)) ("isalpha" (spp-arg-list ("c") 5898 . 5901) (symbol "__isctype" 5902 . 5911) (semantic-list "((c), _ISalpha)" 5911 . 5926)))
>
> The error is raised when sym =
>
> ("name" symbol "_tolower" 5177 . 5185)
>
> I don't know if someone can do something with these informations, but
> still it may be a good starting point to fix the problem.
>
> Regards,
>
> Jonathan Marchand
next prev parent reply other threads:[~2010-06-03 17:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-03 15:37 bug#6342: 23.2; error writing table of symbols with semantic in cedet Jonathan Marchand
2010-06-03 17:20 ` Chong Yidong [this message]
2012-03-15 22:03 ` David Engster
2012-10-08 15:46 ` David Engster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ocfsvxrl.fsf@stupidchicken.com \
--to=cyd@stupidchicken.com \
--cc=6342@debbugs.gnu.org \
--cc=jonathlela@gmail.com \
--cc=zappo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).