From: SourceForge.net <no...@so...> - 2003-04-30 19:09:26
|
Bugs item #730366, was opened at 2003-04-30 21:09 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=730366&group_id=599 Category: C-Front End Group: None Status: Open Resolution: None Priority: 2 Submitted By: Bernhard Held (bernhardheld) Assigned to: Nobody/Anonymous (nobody) Summary: Constants exeeding 32 bits Initial Comment: float.c from the regression tests contained a constant float f = 0x100000000; // 33 bits! constVal() in SDCCval.c uses sscanf("%lx", ) to convert the value. On 32 bit platforms 0xffffffff is returned by sscanf() without any error indication. On 64 bit alpha however the constant fits in "long sval", sscanf() returns the correct value. Later 0 is assigned to v_ulong, which is perfectly correct. How can we fix this problem? Do we need to rewrite sscanf(), which throws an error, if the value exeeds 32 bits? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=730366&group_id=599 |