[Top][All Lists]
[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
>