View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000114 | ascend | compiler | public | 2005-10-29 02:39 | 2009-05-01 17:44 |
Reporter | john | ||||
Assigned To | jds | ||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | |||||
Target Version | Fixed in Version | 0.9.5.114 | |||
Summary | 0000114: AscendBug1: typedefs in conoptdll.h | ||||
Description | Preliminary scanning with Splint revealed the following possible problem. The following appears in solver/conoptdll.h line 206: 206 #define REGISTER_CONOPT_FUNCTION_ARGS (enum conopt_func_names name, \ 207 void *func) 208 typedef REGISTER_CONOPT_FUNCTION_FUNC REGISTER_CONOPT_FUNCTION_ARGS; 209 #define UNREGISTER_CONOPT_FUNCTION_ARGS (enum conopt_func_names name, \ 210 void *func) 211 typedef UNREGISTER_CONOPT_FUNCTION_FUNC UNREGISTER_CONOPT_FUNCTION_ARGS; The only place these names are used is in solver/conopt.c lines 422, 423, 556, 559. For example, lines 422-423 declare global function pointers: 421 #if defined(DYNAMIC_CONOPT) 422 REGISTER_CONOPT_FUNCTION_FUNC *register_conopt_function; 723 UNREGISTER_CONOPT_FUNCTION_FUNC *unregister_conopt_function; There's something wrong with the typedefs in lines 208 and 211. The purpose appears to typedef a function type, but there's no return value. A more conventional declaration of a function type might be: solver/conoptdll.h: 206 #ifdef DYNAMIC_CONOPT 207 typedef void (*REGISTER_CONOPT_FUNCTION_FUNC)(enum conopt_func_names name, void *func); 208 typedef void (*UNREGISTER_CONOPT_FUNCTION_FUNC)(enum conopt_func_names name, void *func); 209 #endif solver/conopt.c: 422 REGISTER_CONOPT_FUNCTION_FUNC register_conopt_function; 423 UNREGISTER_CONOPT_FUNCTION_FUNC unregister_conopt_function; ... 556 (REGISTER_CONOPT_FUNCTION_FUNC)Asc_DynamicSymbol("dllcnsub.dll", ... 559 (UNREGISTER_CONOPT_FUNCTION_FUNC)Asc_DynamicSymbol("dllcnsub.dll", https://pse.cheme.cmu.edu/wiki/view/Project/AscendBugOne | ||||
Additional Information | Added void return value. Fixed in svn revision 89. I'd like someone with CONOPT to verify everything still works before closing bug. | ||||
Tags | No tags attached. | ||||
|
jds: Added void return value. Fixed in svn revision 89. I'd like someone with CONOPT to verify everything still works before closing bug. |
|
Reminder sent to: art, ben Hi all, Just wondering who is our expert on CONOPT? JP |
|
Ben writes: Hi, We don't have one. In particular because we have no redistribution-of-source agreement and because there's a binary fortran dependency, conopt isn't well maintained within the ascend environment. We need to get a conopt source update from Drud and I think the interface has changed . Ben |
|
Reminder sent to: art I wonder if you might have a chance to check this, Art? JP |
|
CONOPT linking works fine at the moment. |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-10-29 02:39 | john | New Issue | |
2005-10-29 02:49 | john | Status | new => assigned |
2005-10-29 02:49 | john | Assigned To | => jds |
2005-10-31 05:09 | jds | Status | assigned => resolved |
2005-10-31 05:09 | jds | Resolution | open => fixed |
2005-10-31 05:09 | jds | Description Updated | |
2005-10-31 05:09 | jds | Additional Information Updated | |
2005-10-31 05:16 | jds | Additional Information Updated | |
2005-11-01 08:35 | john | Status | resolved => feedback |
2005-11-01 08:35 | john | Resolution | fixed => reopened |
2005-11-01 08:35 | john | Note Added: 0000018 | |
2005-12-20 02:42 | john | Note Added: 0000102 | |
2005-12-20 05:18 | john | Note Added: 0000106 | |
2006-01-18 17:19 | john | Note Added: 0000239 | |
2006-02-07 13:17 | john | Target release | => 1.0 |
2006-02-07 13:22 | john | Target release | 1.0 => 0.9.6 |
2006-05-10 02:39 | john | Target release | 0.9.6 => 1.0 |
2009-05-01 17:44 | john | Note Added: 0000503 | |
2009-05-01 17:44 | john | Status | feedback => resolved |
2009-05-01 17:44 | john | Fixed in Version | => 0.9.5.114 |
2009-05-01 17:44 | john | Resolution | reopened => fixed |