ccrtp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ccrtp-devel] undefined type in cctrp-1.8.0


From: Guido Trentalancia
Subject: Re: [Ccrtp-devel] undefined type in cctrp-1.8.0
Date: Wed, 06 Apr 2011 20:02:03 +0200

Yes, it's a general issue with how C++ compilers are implemented. It
shouldn't break backward compatibility with older gcc, but I have not
tested it. In principle, it adds more information and is more accurate,
therefore it should just be better without any side-effects.

Thanks.

Regards,

Guido

On Wed, 2011-04-06 at 18:56 +0200, Werner Dittmann wrote:
> It's a known problem with gcc 4.6.0. If the patch does not break
> older gcc compilation we shall include it.
> 
> David, if it's ok with you I can implement it.
> 
> Regards,
> Werner
> 
> Am 05.04.2011 18:33, schrieb Guido Trentalancia:
> > Hi,
> > 
> > I have tried to compile ccrtp version 1.8.0 but apparently it fails to
> > build with gcc 4.6.0 due to an undefined type. I found a possible fix:
> > 
> > diff -pruN ccrtp-1.8.0/src//ccrtp/iqueue.h 
> > ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/iqueue.h
> > --- ccrtp-1.8.0/src//ccrtp/iqueue.h     2010-04-18 20:51:49.000000000 +0200
> > +++ ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/iqueue.h       2011-04-05 
> > 18:18:18.674151885 +0200
> > @@ -894,7 +894,7 @@ public:
> >         public:
> >                 typedef std::forward_iterator_tag iterator_category;
> >                 typedef SyncSource value_type;
> > -               typedef ptrdiff_t difference_type;
> > +               typedef std::ptrdiff_t difference_type;
> >                 typedef const SyncSource* pointer;
> >                 typedef const SyncSource& reference;
> >  
> > diff -pruN ccrtp-1.8.0/src//ccrtp/sources.h 
> > ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/sources.h
> > --- ccrtp-1.8.0/src//ccrtp/sources.h    2010-04-18 20:51:49.000000000 +0200
> > +++ ccrtp-1.8.0-std-ptrdiff_t/src//ccrtp/sources.h      2011-04-05 
> > 18:17:57.074212702 +0200
> > @@ -406,7 +406,7 @@ public:
> >         public:
> >                 typedef std::forward_iterator_tag iterator_category;
> >                 typedef Participant value_type;
> > -               typedef ptrdiff_t difference_type;
> > +               typedef std::ptrdiff_t difference_type;
> >                 typedef const Participant* pointer;
> >                 typedef const Participant& reference;
> >  
> > diff -pruN ccrtp-1.8.0/src//control.cpp 
> > ccrtp-1.8.0-std-ptrdiff_t/src//control.cpp
> > --- ccrtp-1.8.0/src//control.cpp        2011-01-12 15:46:17.000000000 +0100
> > +++ ccrtp-1.8.0-std-ptrdiff_t/src//control.cpp  2011-04-05 
> > 18:18:47.248086392 +0200
> > @@ -575,7 +575,7 @@ bool QueueRTCPManager::onGotSDES(SyncSou
> >      // 8-bit long, so no ntoh[s|l] is required
> >      bool cname_found = false;
> >  
> > -    ptrdiff_t pointer = reinterpret_cast<unsigned char*>(&pkt) - 
> > rtcpRecvBuffer;
> > +    std::ptrdiff_t pointer = reinterpret_cast<unsigned char*>(&pkt) - 
> > rtcpRecvBuffer;
> >      uint16 i = 0;
> >      do {
> >          size_t len = pkt.getLength();
> > @@ -649,7 +649,7 @@ bool QueueRTCPManager::onGotSDESChunk(Sy
> >              pointer++;
> >              pointer += (pointer & 0x03); // padding
> >          } else if ( item->type == SDESItemTypePRIV ) {
> > -            ptrdiff_t prevpointer = pointer;
> > +            std::ptrdiff_t prevpointer = pointer;
> >              uint8 plength = *( &(item->len) + 1 );
> >              pointer += sizeof(item->type) + sizeof(item->len)  + 1;
> >  
> > 
> > 
> > _______________________________________________
> > Ccrtp-devel mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/ccrtp-devel
> > 
> 
> 
> _______________________________________________
> Ccrtp-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/ccrtp-devel
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]