View Issue Details

IDProjectCategoryView StatusLast Update
0000114ascendcompilerpublic2009-05-01 17:44
Reporterjohn 
Assigned Tojds 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version 
Target VersionFixed in Version0.9.5.114 
Summary0000114: AscendBug1: typedefs in conoptdll.h
DescriptionPreliminary 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 InformationAdded void return value. Fixed in svn revision 89.

I'd like someone with CONOPT to verify everything still works before closing bug.
TagsNo tags attached.

Relationships

Activities

john

2005-11-01 08:35

administrator   ~0000018

jds:

Added void return value. Fixed in svn revision 89.

I'd like someone with CONOPT to verify everything still works before closing bug.

john

2005-12-20 02:42

administrator   ~0000102

Reminder sent to: art, ben

Hi all,

Just wondering who is our expert on CONOPT?

JP

john

2005-12-20 05:18

administrator   ~0000106

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

john

2006-01-18 17:19

administrator   ~0000239

Reminder sent to: art

I wonder if you might have a chance to check this, Art?

JP

john

2009-05-01 17:44

administrator   ~0000503

CONOPT linking works fine at the moment.

Issue History

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