Re: CEDET & QT issues
Eric Ludlam <ericludlam <at> gmail.com>
2012-01-28 01:32:55 GMT
On 01/26/2012 12:34 PM, Camden Narzt wrote:
> Ok I got a trace, and it's huge so I attached it. ( I had to redact any
Debugger entered--Lisp error: (wrong-type-argument stringp (((0) "qint8")))
string=("functionName" (((0) "qint8")))
(and (string= name (semantic-tag-name ...)) (setq result (cons ... result)))
(while tags (and (string= name ...) (setq result ...)) (setq tags (cdr tags)))
(let ((tags ...) (result nil)) (while tags (and ... ...) (setq tags ...)) (nreverse result))
(semantic--find-tags-by-macro (string= name (semantic-tag-name ...)) (or tags
(semanticdb-get-tags table)))
(let ((case-fold-search semantic-case-fold)) (semantic--find-tags-by-macro (string= name ...) (or
tags ...)))
(semantic-find-tags-by-name name (or tags (semanticdb-get-tags table)))
semanticdb-abstract-table([object semanticdb-table "qglobal.h" [object
semanticdb-project-database-file "Qt/"
"/home/cnarzt/workspaces/project/sw/3rdparty/qt-4.7.2/linux/include/Qt/" semanticdb-table
nil (#0 [object semanticdb-table "qconfig-large.h" #1 c++-mode ... unbound nil "qconfig-large.h" nil
nil nil 4290 4289 ... nil ...] [object semanticdb-table "qconfig.h" #1 c++-mode ... unbound nil
"qconfig.h" nil nil nil 4520 4519 ... nil ...] [object semanticdb-table "qmath.h" #1 c++-mode ...
[object semanticdb-find-search-index "#<semanticdb-table qmath.h> index" #3 nil [object
semanticdb-typecache
"/home/cnarzt/workspaces/project/sw/3rdparty/qt-4.7.2/linux/include/Qt/qmath.h" nil nil nil
nil]] nil "qmath.h" nil nil nil 7154 7153 ... ... ...] [object semanticdb-table "QtTest" #1 c++-mode
... [object semanticdb-find-search-index "#<semanticdb-table QtTest> index" #3 nil [object
semanticdb-typecache
"/home/cnarzt/workspaces/project/sw/3rdparty/qt-4.7.2/linux/include/Qt/QtTest" nil nil nil
nil]] nil "QtTest" nil nil ... 584 583 ... nil ...] [object
Howdy,
I looked up my copy of Qt/qglobal.h and looked for qint8 (defined
therein) and everything looks correct to me, in terms of the placement
of the string "quint8". It looks like you have Qt 4.7.2 and I have 4.7.4.
The bit with ((0) "quint8") looks similar to c preprocessor macro
expansion. While there are plenty of interesting macros in qglobal.h, I
didn't see any in relation to a quint8.
If you look into qglobal.h, and then use 'bovinate', can you find the
tag with the (0) in it, and see where it is in the file, and find a
short bit of code that will reproduce the odd condition?
For example, I go into qglobal.h, and type:
M-x bovinate RET
and it dumps out this big thing. I searched for (0) but saw nothing. I
did see this though:
("qint8" type
(:typedef
("signed char")
:superclasses "signed char" :type "typedef")
(unlink-copy-hook
(semantic--tag-unlink-copy-secondary-overlays)
link-hook
(semantic--tag-link-secondary-overlays)
secondary-overlays
(#<overlay from 25949 to 26003 in qglobal.h>)
unlink-hook
(semantic--tag-unlink-secondary-overlays))
#<overlay from 25949 to 25975 in qglobal.h>)
("quint8" type
(:typedef
("unsigned char")
:superclasses "unsigned char" :type "typedef")
so pretend the first tag found had the (0). You can see the overlay has
25949 as a start location. Got there with:
M-x goto-char RET 25949 RET
and find the offending tag.
Eric
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2