Author Topic: References does not show function definition...  (Read 6437 times)

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
References does not show function definition...
« on: August 15, 2018, 04:38:10 PM »
See attached screenshot...

function definition qla27xx_skip_entry() is missing from the references list

( other functions seem to be ok when I show references on those; for example qla27xx_next_entry() )

Also, sometimes I see this popup when I try to show references (notice the symbol is truncated...):
Quote
Symbol 'qla27xx_ski' not found.
 Do you want to search for word matches?

Source files are attached (Linux Kernel GPL license applies).

I'm running hotfix_se2202_11_cumulative.


« Last Edit: August 15, 2018, 04:46:46 PM by joecar »

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6826
  • Hero Points: 526
Re: References does not show function definition...
« Reply #1 on: August 15, 2018, 06:13:23 PM »
I couldn't reproduce this by just creating a workspace and adding these files.

Something definitely looks wrong though. References didn't find the function definition.

Do you ever see all the references for this? If not, try creating a stand-alone workspace with just the two files. I'm curious if that works for you.

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #2 on: August 16, 2018, 05:05:35 PM »
...
Do you ever see all the references for this? If not, try creating a stand-alone workspace with just the two files. I'm curious if that works for you.

I created a standalone workspace with only these two files, and same thing happens

Quote
Symbol 'qla27xx_ski' not found.
 Do you want to search for word matches?
« Last Edit: August 16, 2018, 05:07:21 PM by joecar »

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #3 on: August 16, 2018, 05:06:49 PM »
( BTW: the Find Symbol gui finds this symbol ok )

rowbearto

  • Senior Community Member
  • Posts: 2335
  • Hero Points: 132
Re: References does not show function definition...
« Reply #4 on: August 16, 2018, 06:40:38 PM »
joecar: Try giving Slick team your configuration file - user.cfg.xml in your config directory - that may be needed to reproduce the issue. Also provide them with your workspace/project of your standalone workspace. Upload to support.slickedit.com.

Dennis

  • Senior Community Member
  • Posts: 3955
  • Hero Points: 515
Re: References does not show function definition...
« Reply #5 on: August 20, 2018, 04:55:30 PM »
I can not reproduce this with just those two files.  Perhaps you have a C/C++ tag file with another definition of this same symbol?

When you initiate the references search, are you prompted to select from multiple symbol definitions/declarations? (Select a Symbol dialog)

If so, you need to be sure to select the one in your file.  Otherwise, it's going to be looking for another version of the symbol, and the static inline symbol definition will be filtered out, because it can be easily proven to be itself, and not another version of the symbol (unlike the function calls where we tend to be a bit more flexible when there are multiple definitions of a symbol).

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #6 on: August 20, 2018, 06:01:35 PM »
joecar: Try giving Slick team your configuration file - user.cfg.xml in your config directory - that may be needed to reproduce the issue. Also provide them with your workspace/project of your standalone workspace. Upload to support.slickedit.com.
Ok, I can do this... it has a space for a case number...
« Last Edit: August 20, 2018, 06:08:45 PM by joecar »

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #7 on: August 20, 2018, 06:07:43 PM »
I can not reproduce this with just those two files.  Perhaps you have a C/C++ tag file with another definition of this same symbol?
I searched (text search) for qla27xx_skip_entry and it shows up here only:

Code: [Select]
Find all "qla27xx_skip_entry", Regular expression (Perl), "<Workspace>", "*.*"
File C:\Users\jcarnuccio\Working\Linux\qla2xxx\qla2xxx-v2632-devel\qla2xxx\qla_tmpl.c
 Function qla27xx_skip_entry(struct qla27xx_fwdt_entry *ent, void *buf) : 124
  125 1:qla27xx_skip_entry(struct qla27xx_fwdt_entry *ent, void *buf)
 Function qla27xx_fwdt_entry_t0(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 138
  144 2:        qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t255(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 149
  155 2:        qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t262(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 259
  300 3:                qla27xx_skip_entry(ent, buf);
  308 3:                qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t263(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 322
  362 3:                qla27xx_skip_entry(ent, buf);
  368 4:                        qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t264(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 375
  397 3:                qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t268(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 443
  461 4:                        qla27xx_skip_entry(ent, buf);
  466 3:                qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t274(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 570
  605 3:                qla27xx_skip_entry(ent, buf);
  611 4:                        qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t275(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 618
  632 3:                qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t276(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 647
  664 4:                        qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t279(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 705
  724 4:                        qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_t280(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 731
  749 4:                        qla27xx_skip_entry(ent, buf);
 Function qla27xx_fwdt_entry_other(struct scsi_qla_host *vha, struct qla27xx_fwdt_entry *ent, void *buf, ulong *len) : 756
  764 2:        qla27xx_skip_entry(ent, buf);
Total found: 17     Matching files: 1     Total files searched: 29

Quote
When you initiate the references search, are you prompted to select from multiple symbol definitions/declarations? (Select a Symbol dialog)
No, I am not.



The Find Symbol gui finds the definition of this symbol.

Can I send you a tarball of the whole project...?
« Last Edit: August 20, 2018, 06:09:19 PM by joecar »

rowbearto

  • Senior Community Member
  • Posts: 2335
  • Hero Points: 132
Re: References does not show function definition...
« Reply #8 on: August 20, 2018, 06:31:01 PM »
Upload your tarball with workspace,project,source and user.cfg.xml file to support.slickedit.com.

For case number, I usually put the name of my tarball file. Then I reply to the forum asking slick team to look for the tarball file name on support, they will be able to find it.

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #9 on: August 21, 2018, 05:20:05 PM »
Ok, uploaded file qla2xxx-v2632-devel.zip which contains the following:
a. qla2xxx-v2632-devel workspace/project/source directory tree.
b. kernel 2.6.32 include subtree and tag file (referenced by a.).
c. user.cfg.xml.

Case # is qla2xxx-v2632-devel.zip

Thanks.

Dennis

  • Senior Community Member
  • Posts: 3955
  • Hero Points: 515
Re: References does not show function definition...
« Reply #10 on: August 21, 2018, 05:56:04 PM »
Still no repro, even with our user.cfg.xml and your workspace.

Try this.  Place your cursor on one of the instances of qla27xx_skip_entry(), and then go to the SlickEdit command line and type "codehelp-trace-push-refs"  Then go to the SlickEdit debug output window and hit Ctrl+X to copy the contents to the clipboard, paste it into an empty text file, and attach it to this list.  That will help me debug what is different in your specific case.

Also, verify that you do not have any filters enabled in the References tool window by right-clicking, navigating to the Quick Filters submenu, and verifying that "Show all tags" is checked.

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #11 on: August 21, 2018, 06:21:16 PM »
Where is the SlickEdit debug window (I saw it flash by)...?

References quick filters has Show All Tags checked.

joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #12 on: August 21, 2018, 06:24:05 PM »
I found it, see attached.


In the debug text, line 7 shows 'qla27xx_ski' which is a truncation of 'qla27xx_skip_entry'.



« Last Edit: August 21, 2018, 06:34:02 PM by joecar »

Dennis

  • Senior Community Member
  • Posts: 3955
  • Hero Points: 515
Re: References does not show function definition...
« Reply #13 on: August 21, 2018, 08:07:56 PM »
What C/C++ prepreprocessing defines do you have set up ?

Document > C/C++ Options... > C/C++ Preprocessing...
Project > Workspace Properties... > C/C++ Preprocessing...


joecar

  • Senior Community Member
  • Posts: 420
  • Hero Points: 9
  • engineer/gearhead
Re: References does not show function definition...
« Reply #14 on: August 21, 2018, 10:35:20 PM »
See attached.