Hi Rainer,
Am 24.01.2011 11:36, schrieb Rainer Blickle:
Hi Lars,
from my point of view this is not a problem and no fault of gcc 4.4.3.
Why ?: When selecting a device for receiving (cDevice::GetDevice as
far i know) there are 3 bits for the count of modulation systems. Is
is the impact variable.
The method isn't used anywhere else.
I know that there's no real problem with selecting the device. But vdr 1.7.16 uses 4 bits for this piece of the impact
computation.
cDevice::GetDevice:
imp <<= 4; imp |= GetClippedNumProvidedSystems(4, device[i]) - 1;
GetClippedNumProvidedSystems:
int MaxNumProvidedSystems = (1 << AvailableBits) - 1;
int NumProvidedSystems = Device->NumProvidedSystems();
if (NumProvidedSystems > MaxNumProvidedSystems) {
AvailableBits == 4
=> 1 << 4 == 10000b
=> 10000b - 1 == 1111b == 15d
Device->NumProvidedSystems() returns 7
7 < 15
=> there should be no error message
If I place a isyslog right before the comparison like
isyslog("AvailableBits = %d, MaxNumProvidedSystems = %d, NumProvidedSystems = %d",
AvailableBits, MaxNumProvidedSystems, NumProvidedSystems);
The expected values are printed at the syslog and there's no error message.
If I remove the syslog call, the error message comes again.
That's why I think, that the compiler is "optimizing" something, which leads to an error.
And if the compiler is doing something wrong here - how can I be sure that there are no errors in other parts?
What am I missing? I would like to be wrong - but I would like to understand... :-)
Lars.
The impact is smaller (numberic value) if a device has less modulation
systems. Perhaps (and only perhaps) in some situations another device
would be taken to receive a specific channel.
Regards Rainer
2011/1/19 L. Hanisch<dvb@xxxxxxxxxxxxxx>:
Hi,
I get log messages like:
ERROR: device 1 supports 7 modulation systems but cDevice::GetDevice()
currently only supports 4 delivery systems which should be fixed
It's a Satelco EasyWatch (DVB-C):
frontend 0/0 provides DVB-C with QPSK,QAM16,QAM32,QAM64,QAM128,QAM256
("Philips TDA10023 DVB-C")
But AvailableBits is 4, MaxNumProvidedSystems computes to 15 and
NumProvidedSystems is 7 if I write them with isyslog to the log.
Is it a fault of gcc 4.4.3?
Has anyone any idea? I just don't know what to do with this...
Regards,
Lars.
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr