diff --git a/src/clstepcore/STEPattribute.cc b/src/clstepcore/STEPattribute.cc index a495f0818..73a7d77fc 100644 --- a/src/clstepcore/STEPattribute.cc +++ b/src/clstepcore/STEPattribute.cc @@ -1052,6 +1052,14 @@ bool operator == ( const STEPattribute & a1, const STEPattribute & a2 ) { return false; } +/** evaluate the equality of two attributes + * ignores _error and refCount, since those are ancillary + * \return true if not equal + */ +bool operator != ( const STEPattribute & a1, const STEPattribute & a2 ) { + return !( a1 == a2 ); +} + /// return true if the attr descriptor is identical bool sameADesc( const STEPattribute & a1, const STEPattribute & a2 ) { return a1.aDesc == a2.aDesc; diff --git a/src/clstepcore/STEPattribute.h b/src/clstepcore/STEPattribute.h index 211524341..be7ea20fa 100644 --- a/src/clstepcore/STEPattribute.h +++ b/src/clstepcore/STEPattribute.h @@ -262,13 +262,11 @@ class SC_CORE_EXPORT STEPattribute { STEPattribute( const class AttrDescriptor & d, SCLundefined * p ); /// return true if attr types and values match - friend bool operator == ( const STEPattribute & a1, const STEPattribute & a2 ); - friend bool operator != ( const STEPattribute & a1, const STEPattribute & a2 ) { - return !( a1 == a2 ); - } + SC_CORE_EXPORT friend bool operator == ( const STEPattribute & a1, const STEPattribute & a2 ); + SC_CORE_EXPORT friend bool operator != ( const STEPattribute & a1, const STEPattribute & a2 ); /// return true if aDesc's match (behavior of old operator==) - friend bool sameADesc ( const STEPattribute & a1, const STEPattribute & a2 ); + SC_CORE_EXPORT friend bool sameADesc ( const STEPattribute & a1, const STEPattribute & a2 ); }; #endif diff --git a/src/clstepcore/sdaiSelect.h b/src/clstepcore/sdaiSelect.h index bb4dde0c5..9235b1b8c 100644 --- a/src/clstepcore/sdaiSelect.h +++ b/src/clstepcore/sdaiSelect.h @@ -90,8 +90,6 @@ class SC_CORE_EXPORT SDAI_Select { int addFileId = 0, const char * currSch = 0 ) = 0; - virtual SDAI_Select & operator =( const SDAI_Select & ) = 0; - int set_null(); int is_null(); diff --git a/src/exp2cxx/classes.c b/src/exp2cxx/classes.c index af6a56085..9654e6c05 100644 --- a/src/exp2cxx/classes.c +++ b/src/exp2cxx/classes.c @@ -1071,7 +1071,7 @@ void ENTITYhead_print( Entity entity, FILE * file ) { strncpy( entnm, ENTITYget_classname( entity ), BUFSIZ ); entnm[BUFSIZ-1] = '\0'; - fprintf( file, "\nclass %s : ", entnm ); + fprintf( file, "\nclass SC_SCHEMA_EXPORT %s : ", entnm ); /* inherit from either supertype entity class or root class of all - i.e. SDAI_Application_instance */ diff --git a/test/cpp/schema_specific/CMakeLists.txt b/test/cpp/schema_specific/CMakeLists.txt index e7fb21f5c..9a0274b17 100644 --- a/test/cpp/schema_specific/CMakeLists.txt +++ b/test/cpp/schema_specific/CMakeLists.txt @@ -16,6 +16,9 @@ FUNCTION( add_schema_dependent_test name sdai_lib exe_args ) add_executable( tst_${name} "${name}.cc" ) set_target_properties( tst_${name} PROPERTIES COMPILE_FLAGS "-I${sdai_src_path} ${ARGV3}" EXCLUDE_FROM_ALL ON ) + if(NOT "${ARGV4}" MATCHES "NONE") + DEFINE_DLL_IMPORTS( "tst_${name}" "${ARGV4}" ) + endif(NOT "${ARGV4}" MATCHES "NONE") target_link_libraries( tst_${name} sdai_${sdai_lib} ${ARGV4} ) add_test( NAME build_cpp_${name} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} @@ -39,7 +42,8 @@ SET(SC_ENABLE_TESTING OFF) SET(SC_ENABLE_TESTING ON) add_schema_dependent_test( "aggregate_bound_runtime" "array_bounds_expr" - "${SC_SOURCE_DIR}/test/p21/test_array_bounds.p21" ) + "${SC_SOURCE_DIR}/test/p21/test_array_bounds.p21" + "" "stepcore") #can't use the macro for this one because it depends on the test above and needs WILL_FAIL add_test( NAME test_aggregate_bound_runtime_FAIL1