Ticket #9917 (closed defect: fixed)
ECL has too few arguments and two many on file dpp.c
|Reported by:||drkirkby||Owned by:||GeorgSWeber|
|Report Upstream:||Fixed upstream, in a later stable release.||Reviewers:||John Palmieri|
|Authors:||David Kirkby, Leif Leonhardy||Merged in:||sage-4.6.alpha2|
Description (last modified by drkirkby) (diff)
When I'm building ecl-10.2.1 as part of Sage I get too warning messages from gcc.
/export/home/drkirkby/sage-4.6.alpha0/spkg/build/ecl-10.2.1.p2/src/src/c/dpp.c: In function 'put_declaration': /export/home/drkirkby/sage-4.6.alpha0/spkg/build/ecl-10.2.1.p2/src/src/c/dpp.c:678:5: warning: too few arguments for format /export/home/drkirkby/sage-4.6.alpha0/spkg/build/ecl-10.2.1.p2/src/src/c/dpp.c:680:13: warning: too many arguments for format
Looking at line 678 of dpp.c, I see:
fprintf(out, "\tif (ecl_unlikely(narg!=%d))");
So there's a %d, but what is associate with the %d? There should be an integer, but there is not one. So it seems to me gcc is right to complain there are too few arguments for format.
Likewise, on line 680, I see:
fprintf(out, "\t FEwrong_num_arguments(MAKE_FIXNUM(%d));\n", nreq, function_code);
There we observe two arguments supplied, but only one %d is there. That does not make any sense to me. Both "nreq" and "function_code" are declared as integers, so should there not two %d's and not one.
Again, it seems gcc is right to complain that.
There are thousands of warning messages in Sage, but I'm a bit concerned about resolving those in ecl, as the ecl library being built has text relocation problems - see #9840
- Status changed from new to needs_info
- Authors set to David Kirkby, Leif Leonhardy
- Cc jhpalmieri added
- Status changed from needs_info to needs_review
- Report Upstream changed from N/A to Fixed upstream, but not in a stable release.
comment:12 Changed 3 years ago by jhpalmieri
- Status changed from needs_review to positive_review
- Reviewers set to John Palmieri
comment:13 Changed 3 years ago by leif
- Report Upstream changed from Fixed upstream, but not in a stable release. to Fixed upstream, in a later stable release.