guile-devel
[Top][All Lists]
Advanced

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

Re: Portability problem with SCM_DEBUG_TYPING_STRICTNESS=1


From: Matthias Koeppe
Subject: Re: Portability problem with SCM_DEBUG_TYPING_STRICTNESS=1
Date: 07 Jun 2001 16:32:15 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.6

Dirk Herrmann <address@hidden> writes:

> On 7 Jun 2001, Matthias Koeppe wrote:
> 
> > The setting SCM_DEBUG_TYPING_STRICTNESS=1, which has been made the
> > default recently, reveals portability problems in the Guile sources:
> > The Sun Forte compilers report "a cast does not yield an lvalue" in a
> > few places in the Guile sources, for instance in goops.c where
> > assignments to an application of the SCM_SLOT macro are done like
> > this:
> > 
> >         SCM_SLOT(z, scm_si_name) = name;
> > 
> > (where SCM_SLOT reduces to SCM_PACK)
> > 
> > I'd suggest that constructions like this be avoided.  Macros like
> > SCM_SET_SLOT should be introduced and used instead. 
> > 
> > Other places are weaks.c (scm_make_weak_key_hash_table,
> > scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table) and the
> > SCM_BITVEC_SET, SCM_BITVEC_CLR macros used in ramap.c and unif.c. 
> 
> Thanks for the bug report.  However, since I don't have access to the
> compiler you mention and since on my machine no errors are reported, it
> would be nice if you could send us the full set of error
> messages.

You asked for it, you got it. Here are the relevant error messages
(using current CVS sources). (But I believe the description above was
at least as useful as the messages are.)

cc -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -I../libltdl -fast -xtarget=ultra2 
-fast -xtarget=ultra2 -c goops.c                                       -KPIC 
-DPIC -o goops.o
"goops.c", line 531: a cast does not yield an lvalue
"goops.c", line 596: a cast does not yield an lvalue
"goops.c", line 613: a cast does not yield an lvalue
"goops.c", line 619: a cast does not yield an lvalue
"goops.c", line 620: a cast does not yield an lvalue
"goops.c", line 621: a cast does not yield an lvalue
"goops.c", line 622: a cast does not yield an lvalue
"goops.c", line 623: a cast does not yield an lvalue
"goops.c", line 624: a cast does not yield an lvalue
"goops.c", line 625: a cast does not yield an lvalue
"goops.c", line 626: a cast does not yield an lvalue
"goops.c", line 627: a cast does not yield an lvalue
"goops.c", line 629: a cast does not yield an lvalue
"goops.c", line 636: a cast does not yield an lvalue
"goops.c", line 736: a cast does not yield an lvalue
"goops.c", line 737: a cast does not yield an lvalue
"goops.c", line 739: a cast does not yield an lvalue
"goops.c", line 740: a cast does not yield an lvalue
"goops.c", line 741: a cast does not yield an lvalue
"goops.c", line 743: a cast does not yield an lvalue
"goops.c", line 746: a cast does not yield an lvalue
"goops.c", line 748: a cast does not yield an lvalue
"goops.c", line 773: a cast does not yield an lvalue
"goops.c", line 775: a cast does not yield an lvalue
"goops.c", line 776: a cast does not yield an lvalue
"goops.c", line 1024: a cast does not yield an lvalue
"goops.c", line 1095: a cast does not yield an lvalue
"goops.c", line 1352: a cast does not yield an lvalue
"goops.c", line 1354: a cast does not yield an lvalue
"goops.c", line 1567: a cast does not yield an lvalue
"goops.c", line 1585: a cast does not yield an lvalue
"goops.c", line 2040: a cast does not yield an lvalue
"goops.c", line 2046: a cast does not yield an lvalue
"goops.c", line 2052: a cast does not yield an lvalue
"goops.c", line 2053: a cast does not yield an lvalue
"goops.c", line 2063: a cast does not yield an lvalue
"goops.c", line 2069: a cast does not yield an lvalue
"goops.c", line 2075: a cast does not yield an lvalue
"goops.c", line 2213: a cast does not yield an lvalue
"goops.c", line 2214: a cast does not yield an lvalue
"goops.c", line 2216: a cast does not yield an lvalue
"goops.c", line 2399: a cast does not yield an lvalue
"goops.c", line 2480: a cast does not yield an lvalue
"goops.c", line 2489: a cast does not yield an lvalue
"goops.c", line 2490: a cast does not yield an lvalue
"goops.c", line 2547: a cast does not yield an lvalue
"goops.c", line 2550: a cast does not yield an lvalue
"goops.c", line 2558: a cast does not yield an lvalue
cc: acomp failed for goops.c
cc -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -I../libltdl -fast -xtarget=ultra2 
-fast -xtarget=ultra2 -c weaks.c                                       -KPIC 
-DPIC -o weaks.o
"weaks.c", line 73: a cast does not yield an lvalue
"weaks.c", line 145: a cast does not yield an lvalue
"weaks.c", line 162: a cast does not yield an lvalue
"weaks.c", line 180: a cast does not yield an lvalue
cc -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -I../libltdl -fast -xtarget=ultra2 
-fast -xtarget=ultra2 -c ramap.c                                       -KPIC 
-DPIC -o ramap.o
"ramap.c", line 700: a cast does not yield an lvalue
"ramap.c", line 702: a cast does not yield an lvalue
"ramap.c", line 872: a cast does not yield an lvalue
"ramap.c", line 879: a cast does not yield an lvalue
"ramap.c", line 885: a cast does not yield an lvalue
"ramap.c", line 891: a cast does not yield an lvalue
"ramap.c", line 897: a cast does not yield an lvalue
"ramap.c", line 904: a cast does not yield an lvalue
"ramap.c", line 933: a cast does not yield an lvalue
"ramap.c", line 943: a cast does not yield an lvalue
"ramap.c", line 953: a cast does not yield an lvalue
"ramap.c", line 962: a cast does not yield an lvalue
"ramap.c", line 970: a cast does not yield an lvalue
"ramap.c", line 1031: warning: end-of-loop code not reached
"ramap.c", line 1033: warning: end-of-loop code not reached
"ramap.c", line 1035: warning: end-of-loop code not reached
"ramap.c", line 1037: warning: end-of-loop code not reached
"ramap.c", line 1066: warning: end-of-loop code not reached
"ramap.c", line 1068: warning: end-of-loop code not reached
"ramap.c", line 1070: warning: end-of-loop code not reached
"ramap.c", line 1089: warning: end-of-loop code not reached
"ramap.c", line 1091: warning: end-of-loop code not reached
"ramap.c", line 1093: warning: end-of-loop code not reached
"ramap.c", line 1126: warning: end-of-loop code not reached
"ramap.c", line 1128: warning: end-of-loop code not reached
"ramap.c", line 1130: warning: end-of-loop code not reached
"ramap.c", line 1171: warning: end-of-loop code not reached
"ramap.c", line 1173: warning: end-of-loop code not reached
"ramap.c", line 1204: warning: end-of-loop code not reached
"ramap.c", line 1206: warning: end-of-loop code not reached
"ramap.c", line 1356: a cast does not yield an lvalue
"ramap.c", line 1370: a cast does not yield an lvalue
"ramap.c", line 1382: a cast does not yield an lvalue
"ramap.c", line 1396: a cast does not yield an lvalue
"ramap.c", line 1412: a cast does not yield an lvalue
"ramap.c", line 1782: cannot recover from previous errors
cc -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -I../libltdl -fast -xtarget=ultra2 
-fast -xtarget=ultra2 -c unif.c                                       -KPIC 
-DPIC -o unif.o
"unif.c", line 1307: a cast does not yield an lvalue
"unif.c", line 1309: a cast does not yield an lvalue
"unif.c", line 1646: cannot recover from previous errors
cc: acomp failed for unif.c

-- 
Matthias Köppe -- http://www.math.uni-magdeburg.de/~mkoeppe



reply via email to

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