Developer forums (C::B DEVELOPMENT STRICTLY!) > Development

Symbol browser shows duplicate entries when sorted, except when sorted by access

<< < (2/2)

ollydbg:
I can't open the project, because C::B always ask for variables definition like "qt4" and others. But I didn't have qt installed in my computer. :(

Jenna:

--- Quote from: ollydbg on December 28, 2009, 08:32:04 am ---I can't open the project, because C::B always ask for variables definition like "qt4" and others. But I didn't have qt installed in my computer. :(

--- End quote ---

I use a dummy here ( /tmp )and it works, you can not compile it anyway, so it doesn't matter what you have there.

ollydbg:
Ok, using dummy folder works.

I guess this is caused by a patch to fix the function argument. There is a patch supplied by visualfc, he add some code to get the "real function argument", so, these function prototypes give the same entry.

int fun( int a = 0 );
int fun( int b = 0 );


Edit:
Ok, this is a problem by add Tokens. For example, in the sample code there is something like this:

In header:

--- Code: ---        gfxScene(spsysDiagram * diagram);
--- End code ---
In CPP:


--- Code: ---gfxScene::gfxScene(spsysDiagram * diagram)
{
    setSceneRect(QRectF(0,0,1600,1200) ); //
    rightBorder = 10;
    topBorder = 20;
    offsetShadow = 8;
    dragging = false;
    linkedDiagram = diagram;

}
--- End code ---

When the parser meet the first function prototype, it add a Token(declaration), but the argument is striped.
When the parser meet the second function implementation, it checks a Token is already exist, but it can't find one, so, he just add another Token(has both declaration and implementation in the same place)

Micool121:
Ok I understand, one thing let me perplexed is that some functions are corectly parsed , and some others are not.

At the begining I thought it was becase of caracter encoding issues but it's seem not to be related to that... (some file are UTF-8 encoded, some others are windows-1252). I tryed to use UTF-8 everywhere: it gave the same behaviour.

An other thing :adding a single space chr after the semicolon of "  gfxScene(spsysDiagram * diagram); " in the header modifies the way the parser recognises the functions, adding comments does the same... give it a try.

I hope this helps ;)

ollydbg:

--- Quote from: Micool121 on December 28, 2009, 11:39:36 am ---An other thing :adding a single space chr after the semicolon of "  gfxScene(spsysDiagram * diagram); " in the header modifies the way the parser recognises the functions, adding comments does the same... give it a try.

--- End quote ---

I can confirm this, I will look into it.

Edit

As a reminder, see this SVN log message:

rev 5873


--- Quote ---* do not remove doubles in the symbols-browser; they reflect a parser issue, that can not be handled correctly by the symbols browser, and removed doubles most likely contain information that gets lost otherwise
--- End quote ---

Navigation

[0] Message Index

[*] Previous page

Go to full version