On Fri, Oct 17, 2014 at 11:29:14AM -0400, Joe Taylor wrote:
> I have spent 1.5 days trying to understand why kvasd[.exe], the 
> Koetter-Vardy algebraic soft-decision decoder, compiled correctly with 
> versions 4.6.1 and 4.6.3 of gcc and gfortran, but fails with versions 
> 4.8.1 and 4.8.2.
> 
> With the code as it has been for some years, the build appears 
> successful but the program fails to execute correctly.
> 
> After scratching my head with long gcc/gdb debugging sessions, I 
> discovered that the combination clang (v3.5) + gfortran 4.8.2 worked 
> perfectly.  More importantly, clang identified the problem.
> 
> Ralf Koetter's code used a number of constructions like the following:
> 
>    for (y = m2-1-x; y; ) d[y--] = p[y];
> 
> The clang compiler flagged these with warnings like this:
> 
>    warning: unsequenced modification and access to 'y'


'sequence point' in C

> 
>  From context it's clear that the intended ordering is to decrement y 
> after the copy operation.  An unambiguous way to write the statement is thus
> 
>    for (y = m2-1-x; y; y--) d[y] = p[y];
> Somewhere between gcc 4.6.3 and gcc 4.8.1, the GNU folks did something 
> that changed the ordering of copy and decrement in the original statement.
> 
> Anyway, the good news is that I fixed all the ambiguous "unsequenced 
> modifications", and the code now executes correctly with all the 
> compilers I've been testing.
> 
> Three cheers for clang!!!

Ohhhh!! Perhaps we can get a version compiled up for FreeBSD now? This
is exactly what we saw the last time you compiled up kvasd for FreeBSD.
No output except 0's.

Speaking of clang, I catch a lot of errors using clang as it is now
the native compiler on FreeBSD.

> 
>       -- Joe, K1JT


- 73 Diane VA3DB
-- 
- d...@freebsd.org d...@db.net http://www.db.net/~db

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to