Author Topic: stl container members not tagging correctly...  (Read 9100 times)

Phil Barila

  • Senior Community Member
  • Posts: 745
  • Hero Points: 61
stl container members not tagging correctly...
« on: October 10, 2006, 09:18:50 PM »
I've seen this before, but never complained.  Now I'm going to point it out to see if there is a known solution.
Code: [Select]
typedef union _Foo {
   int bar;
} Foo;
typedef std::queue<Foo> FooQ;
FooQ foo;
foo.
When I hit the '.' following the FooQ, no members show up.

Phil Barila

  • Senior Community Member
  • Posts: 745
  • Hero Points: 61
Re: stl container members not tagging correctly...
« Reply #1 on: October 19, 2006, 09:11:35 PM »
OK, this is something in my local config.  I renamed my 11.0.2 config directory, let it rebuild the auto tag files, and it worked.  So now I can try to figure out what is broken in my config.  I'm confident that Ashley will be able to steer me in the right direction on that.

hs2

  • Senior Community Member
  • Posts: 2761
  • Hero Points: 292
Re: stl container members not tagging correctly...
« Reply #2 on: October 20, 2006, 08:49:22 AM »
Hello Phil,

please tell me what you found out. I've got the same problem :(

HS2

Phil Barila

  • Senior Community Member
  • Posts: 745
  • Hero Points: 61
Re: stl container members not tagging correctly...
« Reply #3 on: October 20, 2006, 04:02:12 PM »
HS2,
I'll post what magic setting I've got goofed up in my config.  I don't really want to try to recreate 4+ years of customization.  I suspect it's something I've defined in the C Preprocessing, but I haven't gotten any guidance from SE as to how to zero in on that.

Phil Barila

  • Senior Community Member
  • Posts: 745
  • Hero Points: 61
Re: stl container members not tagging correctly...
« Reply #4 on: October 20, 2006, 05:07:31 PM »
Well, I can safely say it's not a preprocessor define.  I renamed my usercpp.h, removed all the tagfiles, then put them back one at a time.  It's caused by having the most recent Microsoft PSDK or DDK tagged as an additional "C" Tag File.
Repro steps:
Get and install the latest PSDK:
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
Add a new "C" Tag File for the PSDK Include directory.
Just for demo purposes, verify that the failure doesn't reproduce at this point.
Add Tree, navigate to the PSDK Include directory, click OK.
Verify the failure occurs.
In the short term, I'll remove those tagfiles, but in the long term, I need them back, so this is something I need to get solved.

hs2

  • Senior Community Member
  • Posts: 2761
  • Hero Points: 292
Re: stl container members not tagging correctly...
« Reply #5 on: October 21, 2006, 12:25:10 PM »
Hello Phil,

tried some add. investigation on that. Finally it's working for me.
My problem was related to DDK 3790.1830 + KMDF 1.1.
I did 2 things (unsuccessfully tried a lot of C pre-processing magic due to the strange #defines in stl.h):

1. set-var def_cpp_include_path_re inc|include|c\+\+|g\+\+-2|g\+\+-3
but I'm not really sure if this really matters. (since v11.02 you can do this in the file ext. setup -> options dialog)
However, 'inc' is the std. include dir of DDK/WDK and the common default is 'include'.

2. in 'Tag files' dialog -> 'Auto tag' I checked the setup for 'DDK 3790.1830' and did a rebuild of it.
After that all necessary ext.less stl-includes were tagged (unfortunately I didn't check the prev. state)

Well, since that time I've got full symbol support for the std:: stuff :)

I hope this helps you out of your troubles.

HS2

PS: I run a backup script for my Slick config on regular basis.
Loosing my customization/config stuff would be a DISASTER for me...

SlickEdit Support

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 384
  • Hero Points: 29
Re: stl container members not tagging correctly...
« Reply #6 on: October 23, 2006, 02:36:38 PM »
Thanks guys for all the hard work.  It's because of users like you two that SlickEdit is such a great product!  The macro variable def_cpp_include_path_re has been changed to include inc for v12. 

Running a backup script to routinely backup your config directory is the best idea since sliced bread!

Phil Barila

  • Senior Community Member
  • Posts: 745
  • Hero Points: 61
Re: stl container members not tagging correctly...
« Reply #7 on: October 23, 2006, 06:31:41 PM »
I back up my entire "My Documents" directory, including SlickEdit.   :D

Did you have to manually add the extensionless headers to your DDK tag file?  I added the inc| to the regexp, and it didn't (apparently) fix anything.  I did an add tree on the DDK\inc directory with the default type spec, which didn't change the files in the DDK tagfile.  Then I did add tree again, but made the filespec *.*, since I don't know any other way to get the extensionless files, since I was hoping the regexp would handle it, but it apparently did not.  Since this step added the STL headers, the STL works for me now.

I'm satisfied that I have a working setup, but I'd like to know if there is a better way to add the STL headers to the tag file than manually selecting them or using a file spec of *.*?

hs2

  • Senior Community Member
  • Posts: 2761
  • Hero Points: 292
Re: stl container members not tagging correctly...
« Reply #8 on: October 23, 2006, 07:06:57 PM »
Sorry Phil - I've simply forgotten that I finally used '*' file spec when I (re-)added the whole 'inc' tree as you did.
But I agree, that the handling of these ext.less headers is a bit too mystic...
It would be great if someone could give a short explantion of the interworking of
compilers.xml / def_cpp_include_path_re / def_user_langext_files / tagging.

Thanks in advance,

HS2

PS: That's another good thing working for Seagate - no problems w/ backup capacity at all ;)