From: SourceForge.net <no...@so...> - 2011-02-16 14:58:35
|
Bugs item #3183823, was opened at 2011-02-16 15:58 Message generated for change (Tracker Item Submitted) made by spth You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Philipp Klaus Krause (spth) Assigned to: Nobody/Anonymous (nobody) Summary: floating point comparison broken Initial Comment: Comparison for equality does not work: The C standard (see e.g. verse 337 of the C99 standard) mandates that 0.0 compares equal to -0.0. In sdcc they do not always compare equal. In the attached sample they don't. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 |
From: SourceForge.net <no...@so...> - 2011-02-16 18:50:07
|
Bugs item #3183823, was opened at 2011-02-16 15:58 Message generated for change (Comment added) made by frief You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Philipp Klaus Krause (spth) Assigned to: Nobody/Anonymous (nobody) Summary: floating point comparison broken Initial Comment: Comparison for equality does not work: The C standard (see e.g. verse 337 of the C99 standard) mandates that 0.0 compares equal to -0.0. In sdcc they do not always compare equal. In the attached sample they don't. ---------------------------------------------------------------------- >Comment By: Frieder Ferlemann (frief) Date: 2011-02-16 19:50 Message: There is a disabled test in support/regression/tests/float_single.c line 184 which also produces this. (Somehow that test got forgotten) gen/mcs51-small/float_single/float_single_func_FLOORF.rst shows that 0.0 and -0.0 are represented differently: .. 0A05 00 00 00 00 464 .byte #0x00,#0x00,#0x00,#0x00 ; 0.000000e+00 .. 0A13 00 00 00 80 468 .byte #0x00,#0x00,#0x00,#0x80 ; -0.000000e+00 .. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 |
From: SourceForge.net <no...@so...> - 2011-02-16 22:15:53
|
Bugs item #3183823, was opened at 2011-02-16 15:58 Message generated for change (Comment added) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Philipp Klaus Krause (spth) Assigned to: Nobody/Anonymous (nobody) Summary: floating point comparison broken Initial Comment: Comparison for equality does not work: The C standard (see e.g. verse 337 of the C99 standard) mandates that 0.0 compares equal to -0.0. In sdcc they do not always compare equal. In the attached sample they don't. ---------------------------------------------------------------------- >Comment By: Maarten Brock (maartenbrock) Date: 2011-02-16 23:15 Message: See also Support Request 2994795: https://sourceforge.net/tracker/?func=detail&aid=2994795&group_id=599&atid=200599 ---------------------------------------------------------------------- Comment By: Frieder Ferlemann (frief) Date: 2011-02-16 19:50 Message: There is a disabled test in support/regression/tests/float_single.c line 184 which also produces this. (Somehow that test got forgotten) gen/mcs51-small/float_single/float_single_func_FLOORF.rst shows that 0.0 and -0.0 are represented differently: .. 0A05 00 00 00 00 464 .byte #0x00,#0x00,#0x00,#0x00 ; 0.000000e+00 .. 0A13 00 00 00 80 468 .byte #0x00,#0x00,#0x00,#0x80 ; -0.000000e+00 .. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 |
From: SourceForge.net <no...@so...> - 2011-09-02 09:56:53
|
Bugs item #3183823, was opened at 2011-02-16 15:58 Message generated for change (Comment added) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: Run Time Library >Group: fixed >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Philipp Klaus Krause (spth) >Assigned to: Maarten Brock (maartenbrock) Summary: floating point comparison broken Initial Comment: Comparison for equality does not work: The C standard (see e.g. verse 337 of the C99 standard) mandates that 0.0 compares equal to -0.0. In sdcc they do not always compare equal. In the attached sample they don't. ---------------------------------------------------------------------- >Comment By: Maarten Brock (maartenbrock) Date: 2011-09-02 11:56 Message: Fixed in SDCC 3.0.4 #6805. ---------------------------------------------------------------------- Comment By: Maarten Brock (maartenbrock) Date: 2011-02-16 23:15 Message: See also Support Request 2994795: https://sourceforge.net/tracker/?func=detail&aid=2994795&group_id=599&atid=200599 ---------------------------------------------------------------------- Comment By: Frieder Ferlemann (frief) Date: 2011-02-16 19:50 Message: There is a disabled test in support/regression/tests/float_single.c line 184 which also produces this. (Somehow that test got forgotten) gen/mcs51-small/float_single/float_single_func_FLOORF.rst shows that 0.0 and -0.0 are represented differently: .. 0A05 00 00 00 00 464 .byte #0x00,#0x00,#0x00,#0x00 ; 0.000000e+00 .. 0A13 00 00 00 80 468 .byte #0x00,#0x00,#0x00,#0x80 ; -0.000000e+00 .. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3183823&group_id=599 |