From: SourceForge.net <no...@so...> - 2009-04-09 07:31:19
|
Bugs item #2746858, was opened at 2009-04-09 12:31 Message generated for change (Tracker Item Submitted) made by n_shawkat You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2746858&group_id=1645 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: python Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nizamov Shawkat (n_shawkat) Assigned to: Nobody/Anonymous (nobody) Summary: incorrect #define wrapping Initial Comment: I found a bug, which is reproducible in SWIG 1.3.36 and 1.3.38. Test case is very small and easy. -------------------- %module(directors="1") swig_bug #define BOLTZMANN (1.380658e-23) #define AVOGADRO (6.0221367e23) #define RGAS (BOLTZMANN*AVOGADRO) -------------------- This results in the following code snippet in the generated wrapper for python ---------------------------- SWIG_Python_SetConstant(d, "BOLTZMANN",SWIG_From_double((double)((1.380658e-23)))); SWIG_Python_SetConstant(d, "AVOGADRO",SWIG_From_double((double)((6.0221367e23)))); SWIG_Python_SetConstant(d, "RGAS",SWIG_From_double((double)(((380658e-23 1.) *(6.0221367e23))))); --------------------------- Bug is in the last line. As one can see, the BOLTZMANN constant was transformed from "1.380658e-23" to "380658e-23 1.". This leads to the "swig_bug_wrap.c:3272: error: expected ‘)’ before numeric constant" compiler error. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2746858&group_id=1645 |
From: SourceForge.net <no...@so...> - 2010-08-29 22:53:04
|
Bugs item #2746858, was opened at 2009-04-09 07:31 Message generated for change (Comment added) made by wsfulton You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2746858&group_id=1645 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: python Group: None >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: Nizamov Shawkat (n_shawkat) >Assigned to: William Fulton (wsfulton) Summary: incorrect #define wrapping Initial Comment: I found a bug, which is reproducible in SWIG 1.3.36 and 1.3.38. Test case is very small and easy. -------------------- %module(directors="1") swig_bug #define BOLTZMANN (1.380658e-23) #define AVOGADRO (6.0221367e23) #define RGAS (BOLTZMANN*AVOGADRO) -------------------- This results in the following code snippet in the generated wrapper for python ---------------------------- SWIG_Python_SetConstant(d, "BOLTZMANN",SWIG_From_double((double)((1.380658e-23)))); SWIG_Python_SetConstant(d, "AVOGADRO",SWIG_From_double((double)((6.0221367e23)))); SWIG_Python_SetConstant(d, "RGAS",SWIG_From_double((double)(((380658e-23 1.) *(6.0221367e23))))); --------------------------- Bug is in the last line. As one can see, the BOLTZMANN constant was transformed from "1.380658e-23" to "380658e-23 1.". This leads to the "swig_bug_wrap.c:3272: error: expected ‘)’ before numeric constant" compiler error. ---------------------------------------------------------------------- >Comment By: William Fulton (wsfulton) Date: 2010-08-29 22:53 Message: This was fixed in swig-1.3.40. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=2746858&group_id=1645 |