boost intellisense issue?

Sysprogs forums Forums VisualGDB boost intellisense issue?

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #10922
    thedixon
    Participant

    My project uses boost. For some reason, clang intellisense finds a couple of problems there, here’s one example:

    Severity Code Description Project File Line Suppression State
    Error [Clang IntelliSense] Error: ‘days_’ is a protected member of ‘boost::date_time::date<boost::gregorian::date, boost::gregorian::gregorian_calendar, boost::gregorian::date_duration>’ silverstreet c:\users\xxx\appdata\local\visualgdb\remotesourcecache\xxx\0008\include\boost\date_time\date.hpp 146

    Severity Code Description Project File Line Suppression State
    Message [Clang IntelliSense] declared protected here silverstreet c:\users\xxx\appdata\local\visualgdb\remotesourcecache\xxx\0008\include\boost\date_time\date.hpp 196

    boost is 1.59. Nothing obvious comes to mind as to why would it not like it?

    Unless some

    #10928
    thedixon
    Participant

    Update. This is not just boost. This particular type of template code produces the same complaint about protected member. Compiles just fine with gcc 5.4. Is that due to c++14 changes? If yes – any workaround short of waiting for the updated visual gdb with (hopefully) new clang?

     

    enum BookEnum
    {
     f = 1,
     s = 2
    };
    
    template <typename Derived>
     class CreatorHelper 
     {
     public:
    
     protected:
     template <BookEnum BOOK_TYPE>
     void* test();
     };
    
    template <typename Derived>
     class FCreatorHelper
     :
     public CreatorHelper<Derived>
     {
    
     protected:
     Derived* derived() { return static_cast<Derived*>(this); }
     virtual void* foo();
    
     };
    
    template <typename Derived>
    void* FCreatorHelper<Derived>::foo()
    {
     return derived()->template test<f>();
    }
    
    template <typename PipelineTraits>
     class RealCreator
     :
     public FCreatorHelper<RealCreator<PipelineTraits> >
     {
     };
    
    class Traits
    {
     
    };
    void foo1() {
     RealCreator<Traits> h;
     
    }

    Severity Code Description Project File Line Suppression State
    Error [Clang IntelliSense] Error: ‘test’ is a protected member of ‘CreatorHelper<RealCreator<Traits> >’ Miscellaneous Files Header1.h 32
    Message [Clang IntelliSense] declared protected here Miscellaneous Files Header1.h 14
    Message [Clang IntelliSense] in instantiation of member function ‘FCreatorHelper<RealCreator<Traits> >::foo’ requested here Miscellaneous Files Header1.h 36

    • This reply was modified 7 years ago by thedixon.
    #10930
    thedixon
    Participant

    Actually clang 3.4 also compiles it just fine. Are you having an even older version?

    #10937
    support
    Keymaster

    Hi,

    Thanks, this actually looks like a side effect of one of our fixes on top of the original Clang. Please try this build: http://sysprogs.com/files/tmp/VisualGDB-5.2.16.1462.msi

    #10949
    thedixon
    Participant

    Confirmed fixed. Incidentally it seemed to fix all the crashes/slowness I was having with intellisense, it’s much faster and haven’t crashed yet. Very impressive work guys, especially considering it was Friday night.

    #10950
    thedixon
    Participant

    Take it back on crashes – they are still happening. For some reason I’m having much faster responses here than in the email support, where I sent a couple of crash dumps to…

    #10954
    support
    Keymaster

    Hi,

    We usually respond faster to issues that do not require thorough investigation (like crash dumps). We will follow up on the crash dumps once we have more information about the cause.

Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.