Mercurial > hg > octave-lyh
comparison src/dynamic-ld.cc @ 7996:6a7db240b3a3
configure.in: eliminate CXX_ABI and OCTAVE_CXX_PREPEND_UNDERSCORE
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 30 Jul 2008 14:13:45 -0400 |
parents | 1b63f8da772d |
children | 9dddbad47122 |
comparison
equal
deleted
inserted
replaced
7995:89dd4531b26a | 7996:6a7db240b3a3 |
---|---|
355 | 355 |
356 if (! error_state) | 356 if (! error_state) |
357 { | 357 { |
358 if (oct_file) | 358 if (oct_file) |
359 { | 359 { |
360 void *function = oct_file.search (fcn_name, xmangle_name); | 360 void *function = oct_file.search (fcn_name, name_mangler); |
361 | |
362 if (! function) | |
363 { | |
364 // FIXME -- can we determine this C mangling scheme | |
365 // automatically at run time or configure time? | |
366 | |
367 function = oct_file.search (fcn_name, name_uscore_mangler); | |
368 } | |
361 | 369 |
362 if (function) | 370 if (function) |
363 { | 371 { |
364 octave_dld_fcn_getter f | 372 octave_dld_fcn_getter f |
365 = FCN_PTR_CAST (octave_dld_fcn_getter, function); | 373 = FCN_PTR_CAST (octave_dld_fcn_getter, function); |
525 { | 533 { |
526 return (instance_ok ()) ? instance->do_remove_mex (fcn_name, shl) : false; | 534 return (instance_ok ()) ? instance->do_remove_mex (fcn_name, shl) : false; |
527 } | 535 } |
528 | 536 |
529 std::string | 537 std::string |
530 octave_dynamic_loader::mangle_name (const std::string& name) | 538 octave_dynamic_loader::name_mangler (const std::string& name) |
531 { | 539 { |
532 #if defined (CXX_PREPENDS_UNDERSCORE) | 540 return "G" + name; |
533 std::string retval ("_FS"); | |
534 #else | |
535 std::string retval ("FS"); | |
536 #endif | |
537 retval.append (name); | |
538 retval.append ("_"); | |
539 retval.append (STRINGIFY (CXX_ABI)); | |
540 return retval; | |
541 } | 541 } |
542 | 542 |
543 std::string | 543 std::string |
544 octave_dynamic_loader::xmangle_name (const std::string& name) | 544 octave_dynamic_loader::name_uscore_mangler (const std::string& name) |
545 { | 545 { |
546 #if defined (CXX_PREPENDS_UNDERSCORE) | 546 return "_G" + name; |
547 std::string retval ("_G"); | |
548 #else | |
549 std::string retval ("G"); | |
550 #endif | |
551 retval.append (name); | |
552 retval.append ("_"); | |
553 retval.append (STRINGIFY (CXX_ABI)); | |
554 return retval; | |
555 } | 547 } |
556 | 548 |
557 std::string | 549 std::string |
558 octave_dynamic_loader::mex_mangler (const std::string&) | 550 octave_dynamic_loader::mex_mangler (const std::string&) |
559 { | 551 { |