Thread: [cedet-semantic] Semantic tags for typedef declarations in C++ cause typecaching errors
Brought to you by:
zappo
From: Hendrik K. <hk...@gm...> - 2010-06-19 18:58:28
|
Hello, Sometimes Semantic generates a Typecaching error after parsing a usual C++ typedef declaration. The tag for the code typedef char sbyte; will be stored as ((((0) "sbyte")) type (:superclasses ("char") :type "typedef") nil [1872 1906]) in the Semantic cache. During further processing the construct '(((0) "sbyte"))' violates a string predicate test causing the following error message: Idle Work Typecaching Error: "#<buffer some file name here> - Wrong type argument: stringp, (((0) \"sbyte\"))" Any idea what's the reason for this behaviour is and how it can be avoided ? Regards, Hendrik -- GMX DSL: Internet-, Telefon- und Handy-Flat ab 19,99 EUR/mtl. Bis zu 150 EUR Startguthaben inklusive! http://portal.gmx.net/de/go/dsl |
From: Eric M. L. <er...@si...> - 2010-06-25 22:08:32
|
Hi, Sorry for the late reply. Your My guess is that your typedef is getting munched by some macro, as my simple test case seems to work ok. If you use M-x semantic-lex-spp-describe RET in that buffer, perhaps it will show you an sbyte macro? What header is that in? Eric On 06/19/2010 02:58 PM, "Hendrik Kühne" wrote: > Hello, > > Sometimes Semantic generates a Typecaching error after parsing a usual C++ typedef declaration. > The tag for the code > > typedef char sbyte; > > will be stored as > > ((((0) "sbyte")) type (:superclasses ("char") :type "typedef") nil [1872 1906]) > > in the Semantic cache. During further processing the construct '(((0) "sbyte"))' > violates a string predicate test causing the following error message: > > Idle Work Typecaching Error: "#<buffer some file name here> - Wrong type argument: stringp, (((0) \"sbyte\"))" > > Any idea what's the reason for this behaviour is and how it can be avoided ? > > > Regards, > Hendrik |