MantisBT - Community
View Issue Details
0022815Community[OCCT] OCCT:Foundation Classespublic2011-11-28 15:482012-04-03 19:26
szy 
bugmaster 
normalmajor 
closedfixed 
ALL
[OCCT] 6.5.2 
[OCCT] 6.5.3[OCCT] 6.5.3 
Test case is not required
0022815: Missing delete operator for placement new
Post from the Forum - http://www.opencascade.org/org/forum/thread_22252/. [^]
RLN contribution.

"OCC classes generated by WOK redefine a placement new operator:
void* operator new(size_t,void* anAddress)
{
return anAddress;
}
However there is no pair delete operator, which must be empty and as follows:
void operator delete (void*, void*)
{
}

Lack of this leads to numerous warnings that memory will not be freed if the constructor raises an exception.

Reproducer:

class MyPnt : public gp_Pnt
{
public:
#if 0
//compilation warning unless defined
void operator delete (void*, void*)
{
cerr << "Exception is called in the constructor" << endl;
}
#endif

MyPnt()
{
#if 0
//you may want to throw an exception here
throw int (0);
#endif
}
};


char b[sizeof (MyPnt)];
new (b) MyPnt();
reinterpret_cast<MyPnt*> (b)->~MyPnt();


The fix should be made in WOK generator, for all hierarchies (gp_Storable, Standard_Transient, Standard_Persistent, classes manipulated by value).

By the way, using this opportunity you may want to revisit WOK generator to avoid generation of redundant redefinitions of new/delete operators in subclasses of Standard_Transient and Standard_Persistent, as definition in a base class is sufficient."
No tags attached.
related to 0022816closed Roman Lygin Community Enhancement request: new[]/delete[] operators should be redefined to use OCC allocation 
related to 0022734closed dbv Community Memory allocation error in OpenGl 
related to 0023002closed bugmaster Open CASCADE empty delete operator in TDF_LabelNode 
Issue History
2011-11-28 15:48szyNew Issue
2011-11-28 15:48szyAssigned To => abv
2011-11-28 16:58szyNote Added: 0018647
2011-11-30 19:14abvNote Added: 0018677
2011-11-30 19:14abvAssigned Toabv => dbv
2011-11-30 19:14abvStatusnew => assigned
2012-01-16 13:47dbvNote Added: 0019137
2012-01-16 13:47dbvAssigned Todbv => abv
2012-01-16 13:47dbvStatusassigned => resolved
2012-01-18 19:57abvNote Added: 0019174
2012-01-18 19:57abvAssigned Toabv => dbv
2012-01-18 19:57abvStatusresolved => assigned
2012-01-18 20:00abvRelationship addedrelated to 0022816
2012-01-20 11:56dbvNote Added: 0019191
2012-01-20 11:56dbvAssigned Todbv => abv
2012-01-20 11:56dbvStatusassigned => resolved
2012-01-23 09:29abvNote Added: 0019220
2012-01-23 09:29abvAssigned Toabv => dbv
2012-01-23 09:29abvStatusresolved => reviewed
2012-01-23 17:58apnNote Added: 0019243
2012-01-23 18:00apnStatusreviewed => assigned
2012-01-30 15:20dbvNote Added: 0019309
2012-01-30 15:20dbvAssigned Todbv => abv
2012-01-30 15:20dbvStatusassigned => resolved
2012-01-30 19:00abvNote Added: 0019315
2012-01-30 19:00abvAssigned Toabv => dbv
2012-01-30 19:00abvStatusresolved => reviewed
2012-01-31 14:26apnNote Added: 0019321
2012-01-31 14:27apnNote Edited: 0019321bug_revision_view_page.php?bugnote_id=19321#r3346
2012-01-31 14:28apnStatusreviewed => assigned
2012-02-02 09:49dbvStatusassigned => resolved
2012-02-02 10:02dbvNote Added: 0019342
2012-02-02 10:02dbvStatusresolved => reviewed
2012-02-08 12:12dbvStatusreviewed => assigned
2012-02-08 12:15dbvNote Added: 0019456
2012-02-08 12:15dbvAssigned Todbv => abv
2012-02-08 12:15dbvStatusassigned => resolved
2012-02-08 14:53abvNote Added: 0019461
2012-02-08 14:53abvAssigned Toabv => dbv
2012-02-08 14:53abvStatusresolved => reviewed
2012-02-14 12:33apnStatusreviewed => assigned
2012-02-16 09:28dbvStatusassigned => resolved
2012-02-16 10:05dbvStatusresolved => assigned
2012-02-21 11:53kgvRelationship addedrelated to 0022734
2012-02-22 14:14dbvNote Added: 0019725
2012-02-22 14:14dbvAssigned Todbv => abv
2012-02-22 14:14dbvStatusassigned => resolved
2012-02-22 14:31abvNote Added: 0019728
2012-02-22 14:31abvAssigned Toabv => dbv
2012-02-22 14:31abvStatusresolved => reviewed
2012-02-22 14:36dbvRelationship addedrelated to 0023002
2012-02-22 16:28apnAssigned Todbv => aan
2012-02-23 15:14aanNote Added: 0019755
2012-02-23 15:15aanNote Edited: 0019755bug_revision_view_page.php?bugnote_id=19755#r3540
2012-02-23 15:35aanStatusreviewed => tested
2012-02-24 10:22apnTest case number => Test case is not required
2012-02-24 10:22apnAssigned Toaan => bugmaster
2012-03-04 18:32bugmasterNote Added: 0019858
2012-03-10 13:28bugmasterNote Added: 0019909
2012-03-10 13:28bugmasterStatustested => verified
2012-03-10 13:28bugmasterResolutionopen => fixed
2012-03-10 13:28bugmasterAssigned Tobugmaster => dbv
2012-03-29 17:26bugmasterChangeset attached => occt master 65c62757
2012-03-29 17:26bugmasterChangeset attached => occt master 1c35b92f
2012-04-03 19:26abvAssigned Todbv => Roman Lygin

Notes
(0018647)
szy   
2011-11-28 16:58   
Note from the Forum.
"Dear Forum Supervisor

Please note in your internal tracker that 'placement delete' should be protected by macros for compilers that support it.In my case borland c does not support it.I am not sure if there are any other compilers that do not support it.

ps : borland compilers define __BORLANDC__ macro"
(0018677)
abv   
2011-11-30 19:14   
It seems that declaration of placement new operator is not necessary nowadays since all modern compilers should have it defined by default, according to C++ standard. In the past, it was likely necessary for old SUNPRO compiler.

 I suggest to remove declaration of placement new in all places (see CPPExt/CPPExt_Template.edl, Standard/Handle_Standard_Transient.hxx, and multiple other places across existing code where CDL-generated headers are kept in sources). Also pragma instructions switching relevant warning off should be removed; see e.g. LDOM_BasicAttribute.cxx, line 13:

      #pragma warning (disable:4291)

Note that suggestion to avoid redefinition of new/delete in all derived classes is not easy to implement, since the same template is used for both classes having ancestors and base classes.
(0019137)
dbv   
2012-01-16 13:47   
Fixes for bug 0022815:
1. Macro OVERRIDE_MEMORY_OPERATORS added to the src/Standard/Standard_Macro.hxx
2. Memory operators overriding was replaced to macro OVERRIDE_MEMORY_OPERATORS.
3. Added corresponding delete operator:
src/NCollection/NCollection_Array1.hxx
src/NCollection/NCollection_Array2.hxx
src/NCollection/NCollection_DataMap.hxx
src/NCollection/NCollection_DoubleMap.hxx
src/NCollection/NCollection_IndexedDataMap.hxx
src/NCollection/NCollection_IndexedMap.hxx
src/NCollection/NCollection_Map.hxx
src/NCollection/NCollection_Sequence.hxx
src/NCollection/NCollection_SList.hxx
src/NCollection/NCollection_TListIterator.hxx
src/NCollection/NCollection_TListNode.hxx
src/NCollection/NCollection_UBTree.hxx
src/NCollection/NCollection_Vector.hxx
src/NIS/NIS_Triangulated.hxx
src/Poly/Poly_CoherentTriPtr.hxx
4. Added missing memory operators to src/Standard/Standard_Persistent_proto.hxx
5. Removed workaround for old sun compiler from src/Standard/Standard_TypeDef.hxx
6. Removed pragma instructions switching off relevant warnings (4291).

branches
http://svn/svn/occt/branches/OCC22815 [^]
http://svn/svn/occt-products/branches/OCC22815 [^]
are ready to be reviewed.

Dear Andrey,
Please review.
(0019174)
abv   
2012-01-18 19:57   
Here are review remarks:

- Was removal of old SUN code in Standard_TypeDef.hxx necessary? If not, I suggest to return it back..

- In Standard_Macro.hxx, lines 22 and 49 contain some non-Ascii symbol in letter 'C' after 'BORLAND'; most likely it is Russian character

- Please separate new macros to their own header file instead of adding them to Standard_Macro.hxx. Let's call it, say, Standard_DefineAlloc.hxx (as operators new and delete are called allocation and deallocation functions in C++ standard).

- Following suggestion of Roman Lygin, I propose you to rename the macro to follow pattern used in other places: DEFINE_STANDARD_ALLOC

- Please revise implementation of the macro to avoid duplication in branch related to Borland compiler (put Borland-specific code to auxiliary macro)

- Add another macro to define new and delete with NCollection_Allocator, which is found multiple times across the code, and use it where such special new and delete are introduced. I suggest this macro is put in NCollection package and follow the same pattern (file name NCollection_DefineAlloc.hxx, macro name DEFINE_NCOLLECTION_ALLOC)

- Remove if() before call to Standard::Free() in delete operator: this check is made anyway inside Free() function

- Eliminate StandardCSFDB* functions (and relevant files in Standard package)
(0019191)
dbv   
2012-01-20 11:56   
Changes in accordance to the abv note:
1. Returned workaround for old sun compiler
2. Macro OVERRIDE_MEMORY_OPERATORS has been renamed to DEFINE_STANDARD_ALLOC and moved to separate file src/Standard/Standard_DefineAlloc.hxx
3. Added macro DEFINE_NCOLLECTION_ALLOC to define new and delete with NCollection_Allocator (src/NCollection/NCollection_DefineAlloc.hxx)
4. StandardCSFDB functions has been eliminated

branches
http://svn/svn/occt/branches/OCC22815 [^] [^]
http://svn/svn/occt-products/branches/OCC22815 [^] [^]
are ready to be reviewed.

Dear Andrey,
Please review.
(0019220)
abv   
2012-01-23 09:29   
Code reviewed; some additional corrections are integrated to the same branch (macros are improved to include support of old SUN compilers -- copy from other place; a few remaining new/delete operators are replaced by new macros in OpenGl, Poly, NCollection; some #includes are added to allow compilation with unmodified WOK)

Please test

Dmitry, please have a look at my last changes
(0019243)
apn   
2012-01-23 17:58   
Dear BugMaster,
Workbench KAS:dev:apn-22815-occt was created from SVN branch http://svn/svn/occt/branches/OCC22815 [^]
(and apn-22815-products from branch http://svn/svn/occt-products/branches/OCC22815 [^]) and compiled on Linux platform.

There are compilation errors in apn-22815-products:

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx: In destructor 'virtual NCollection_Map<int>::Iterator::~Iterator()':

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx:70: instantiated from 'NCollection_Map<TheKeyType>& NCollection_Map<TheKeyType>::operator=(const NCollection_Map<TheKeyType>&) [with TheKeyType = int]'

/dn47/KAS/dev/apn-22815-occt/inc/BRepMesh_FastDiscret.lxx:46: instantiated from here

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx:70: error: no suitable 'operator delete' for 'NCollection_Map<int>::Iterator'

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx: In member function 'NCollection_Map<TheKeyType>& NCollection_Map<TheKeyType>::operator=(const NCollection_Map<TheKeyType>&) [with TheKeyType = int]':

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx:148: note: synthesized method 'virtual NCollection_Map<int>::Iterator::~Iterator()' first required here

Info : Failed : :KAS:dev:apn-22815-products:DxfData:source:DxfData_MakePolyline.cxx

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx: In destructor 'virtual NCollection_Map<int>::Iterator::~Iterator()':

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx:70: instantiated from 'NCollection_Map<TheKeyType>& NCollection_Map<TheKeyType>::operator=(const NCollection_Map<TheKeyType>&) [with TheKeyType = int]'

/dn47/KAS/dev/apn-22815-occt/inc/BRepMesh_FastDiscret.lxx:46: instantiated from here

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx:70: error: no suitable 'operator delete' for 'NCollection_Map<int>::Iterator'

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx: In member function 'NCollection_Map<TheKeyType>& NCollection_Map<TheKeyType>::operator=(const NCollection_Map<TheKeyType>&) [with TheKeyType = int]':

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx:148: note: synthesized method 'virtual NCollection_Map<int>::Iterator::~Iterator()' first required here

Info : Failed : :KAS:dev:apn-22815-products:Dxf2d:source:Dxf2d_MakePolyline.cxx

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Sequence.hxx: In destructor 'virtual NCollection_Sequence<BRepExtrema_SolutionElem>::Iterator::~Iterator()':

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Sequence.hxx:51: error: no suitable 'operator delete' for 'NCollection_Sequence<BRepExtrema_SolutionElem>::Iterator'

/dn47/KAS/dev/apn-22815-products/src/ColDetectionAlgo/ColDetectionAlgo_Intersector.cxx: At global scope:

/dn47/KAS/dev/apn-22815-products/src/ColDetectionAlgo/ColDetectionAlgo_Intersector.cxx:555: note: synthesized method 'virtual NCollection_Sequence<BRepExtrema_SolutionElem>::Iterator::~Iterator()' first required here

Info : Failed : :KAS:dev:apn-22815-products:ColDetectionAlgo:source:ColDetectionAlgo_Intersector.cxx

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_DataMap.hxx: In destructor 'virtual NCollection_DataMap<int, int>::Iterator::~Iterator()':

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_DataMap.hxx:70: error: no suitable 'operator delete' for 'NCollection_DataMap<int, int>::Iterator'

/dn47/KAS/dev/apn-22815-products/src/OMFTools/OMFTools_NASBaseReader.cxx: At global scope:

/dn47/KAS/dev/apn-22815-products/src/OMFTools/OMFTools_NASBaseReader.cxx:548: note: synthesized method 'virtual NCollection_DataMap<int, int>::Iterator::~Iterator()' first required here

Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools_NASBaseReader.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools_NASMeshReader.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools_OBJFile.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools_NASReader.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools_PointsWriter.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools_STLWriter.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTools:source:OMFTools_NASWriter.cxx

/dn47/KAS/dev/apn-22815-products/inc/OMFDS_MeshElementsIterator.hxx: In destructor 'virtual OMFDS_MeshElementsIterator::~OMFDS_MeshElementsIterator()':

/dn47/KAS/dev/apn-22815-products/inc/OMFDS_MeshElementsIterator.hxx:73: note: synthesized method 'virtual NCollection_Vector<Handle_OMFDS_MeshElement>::Iterator::~Iterator()' first required here
/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Vector.hxx: In destructor 'NCollection_Vector<TheItemType>::MemBlock::~MemBlock() [with TheItemType = Handle_OMFDS_MeshElement]':

/dn47/KAS/dev/apn-22815-products/src/OMFDS/OMFDS_MeshIDFactory.cxx:118: instantiated from here

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Vector.hxx:108: error: no suitable 'operator delete' for 'NCollection_Vector<Handle_OMFDS_MeshElement>::MemBlock'

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFDS:source:OMFDS_Mesh.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFDS:source:OMFDS_MeshIDFactory.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFDS:source:OMFDS_MeshElementsIterator.cxx

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Vector.hxx:128: error: no suitable 'operator delete' for 'NCollection_Vector<NCollection_UBTreeFiller<Handle_OMFDS_MeshElement, Bnd_B3d>::ObjBnd>::Iterator'

/dn47/KAS/dev/apn-22815-products/src/OMFAlgo/OMFAlgo_IntEF.cxx: At global scope:

/dn47/KAS/dev/apn-22815-products/src/OMFAlgo/OMFAlgo_IntEF.cxx:967: note: synthesized method 'virtual NCollection_Vector<NCollection_UBTreeFiller<Handle_OMFDS_MeshElement, Bnd_B3d>::ObjBnd>::Iterator::~Iterator()' first required here

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx: In destructor 'virtual NCollection_Map<ElemPair>::Iterator::~Iterator()':

/dn47/KAS/dev/apn-22815-occt/inc/NCollection_Map.hxx:70: error: no suitable 'operator delete' for 'NCollection_Map<ElemPair>::Iterator'

/dn47/KAS/dev/apn-22815-products/src/OMFAlgo/OMFAlgo_MeshIntersect.cxx: At global scope:

/dn47/KAS/dev/apn-22815-products/src/OMFAlgo/OMFAlgo_MeshIntersect.cxx:573: note: synthesized method 'virtual NCollection_Map<ElemPair>::Iterator::~Iterator()' first required here
Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:source:OMFAlgo_IntEF.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:source:OMFAlgo.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:source:OMFAlgo_MeshIntersect.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:source:OMFAlgo_IntersectOnTree.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:source:OMFAlgo_LineIntersect.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:source:OMFAlgo_PlaneIntersect.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:derivated:OMFAlgo_DataMapOfTwoNodesMapOfInteger_0.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:derivated:OMFAlgo_DataMapOfIntegerMapOfInteger_0.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:derivated:OMFAlgo_DataMapIteratorOfDataMapOfTwoNodesMapOfInteger_0.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFAlgo:derivated:OMFAlgo_DataMapIteratorOfDataMapOfIntegerMapOfInteger_0.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFBool:source:OMFBool_BooleanOperation.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFBool:source:OMFBool_SplitElement.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFBool:source:OMFBool_DivideContour.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFBool:source:OMFBool_ClassifyPoint.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFCAF:source:OMFCAF.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFCAF:source:OMFCAF_TMesh.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFCAF:source:OMFCAF_MeshBinDriver.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFCAF:source:OMFCAF_BinStorageDriver.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFCAF:source:OMFCAF_BinRetrievalDriver.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFControl:source:OMFControl_BoundaryEdges.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFControl:source:OMFControl_BoundaryFaces.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFEdit:source:OMFEdit_Transform.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFEdit:source:OMFEdit_PlaneMesher.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFEdit:source:OMFEdit_LinearGraph.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFEdit:source:OMFEdit_LinearGraphContour.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFVS:source:OMFVS_DirectionsBuffer.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFVS:source:OMFVS_Mesh.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFVS:source:OMFVS_DataSource.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFVS:source:OMFVS_MeshOwner.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFVS:source:OMFVS_VisibleFilter.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFVS:source:OMFVS_MeshElementsIterator.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:OMFTest:source:OMFTest_ModelCommands.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTest:source:OMFTest_FileCommands.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTest:source:OMFTest_EditCommands.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTest:source:OMFTest_DisplayCommands.cxx
Info : Failed : :KAS:dev:apn-22815-products:OMFTest:source:OMFTest_DrawableMesh.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:EMeshTest:source:EMeshTest.cxx
Info : Failed : :KAS:dev:apn-22815-products:EMeshTest:source:EMeshTest_Face2d.cxx
Info : Failed : :KAS:dev:apn-22815-products:EMeshTest:source:EMeshTest_DrawableModel.cxx
Info : Failed : :KAS:dev:apn-22815-products:EMeshTest:source:EMeshTest_Verifier.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:QMBgr:source:QMBgr_QuadNode.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMBgr:source:QMBgr_QuadTree.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMBgr:source:QMBgr_Triangulator.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMBgr:source:QMBgr_Interpolator.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMBgr:source:QMBgr.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMBgr:source:QMBgr_FacetBuilder.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:QMData:source:QMData_BgrMesh.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMData:source:QMData_Edge.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMData:source:QMData_Face.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMData:source:QMData_Model.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMData:source:QMData_PolyEdgeSeg2d.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMData:source:QMData_Wire.cxx
Info : -----------------------------------------------------------------
Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:QMShape:source:QMShape_Tessellator.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMShape:source:QMShape_DiscrCurve.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMShape:source:QMShape_CurveAdaptor.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMShape:source:QMShape_EnrichDiscrCurves.cxx
Info : -----------------------------------------------------------------
Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_EdgeCorrector.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_WireCorrector.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_FaceCorrector.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_IntPolySeg2d.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_WireAdaptor.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_Classifier2d.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_CircleBndTree.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_BndSeg2dTree.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_WireIterator.cxx
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_Polygon2dTool.cxx
Info : -----------------------------------------------------------------
Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:BestFitBnd:source:BestFitBnd_Sphere.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitBnd:source:BestFitBnd_SphereOfSegment.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitBnd:source:BestFitBnd_SphereOfTriangle.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitBnd:source:BestFitBnd_HUBTreeOfSphere.cxx
Info : -----------------------------------------------------------------
Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:BestFitAlgo:source:BestFitAlgo_Solution.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitAlgo:source:BestFitAlgo_ShapeData.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitAlgo:source:BestFitAlgo_EdgeData.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitAlgo:source:BestFitAlgo_FaceData.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitAlgo:source:BestFitAlgo_Function.cxx
Info : Failed : :KAS:dev:apn-22815-products:BestFitAlgo:source:BestFitAlgo_Projector.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:BestFitAPI:source:BestFitAPI_Algo.cxx
Info : -----------------------------------------------------------------

Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:BestFitTest:source:BestFitTest.cxx
Info : -----------------------------------------------------------------
(0019309)
dbv   
2012-01-30 15:20   
Macros DEFINE_STANDARD_ALLOC and DEFINE_NCOLLECTION_ALLOC have been added to the nested class NCollection_BaseCollection::Iterator and have been removed from all derived classes. Added #includes to allow compilation with unmodified WOK.

Branch http://svn/svn/occt/branches/OCC22815 [^] is ready to be reviewed.

Dear Andrey,
Please review.
(0019315)
abv   
2012-01-30 19:00   
No remarks; please test
(0019321)
apn   
2012-01-31 14:26   
(edited on: 2012-01-31 14:27)
Dear BugMaster,
Workbench KAS:dev:apn-22815-occt was updated from SVN branch http://svn/svn/occt/branches/OCC22815 [^] [^]
(and apn-22815-products from branch http://svn/svn/occt-products/branches/OCC22815 [^] [^]) and compiled on Linux platform.
Compilation on Windows platform is in process now.

There is compilation error:
Error : Failed : QMTools_IntPolySeg2d.cxx
Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22815-products:QMTools:source:QMTools_IntPolySeg2d.cxx
Info : -----------------------------------------------------------------

In file included from /dn47/KAS/dev/apn-22815-products/src/QMTools/QMTools_IntPolySeg2d.cxx:32:

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In constructor 'QMTools_InterferencePolygon2d::QMTools_InterferencePolygon2d()':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:29: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'oClos'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:30: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'tClos'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:31: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'iObje1'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:32: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'iObje2'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:33: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'nbso'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:34: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'BeginOfNotClosedObje1'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:35: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'BeginOfNotClosedObje2'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In constructor 'QMTools_InterferencePolygon2d::QMTools_InterferencePolygon2d(const QMData_PolySeg2d&, const QMData_PolySeg2d&)':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:46: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'oClos'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:47: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'tClos'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:48: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'iObje1'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:49: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'iObje2'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:50: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'nbso'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:51: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'BeginOfNotClosedObje1'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:52: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'BeginOfNotClosedObje2'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:60: error: 'nbso' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:61: error: 'oClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:62: error: 'tClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In constructor 'QMTools_InterferencePolygon2d::QMTools_InterferencePolygon2d(const QMData_PolySeg2d&)':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:77: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'oClos'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:78: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'tClos'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:79: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'iObje1'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:80: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'iObje2'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:81: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'nbso'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:82: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'BeginOfNotClosedObje1'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:83: error: class 'QMTools_InterferencePolygon2d' does not have any field named 'BeginOfNotClosedObje2'

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:88: error: 'oClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:89: error: 'tClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In member function 'void QMTools_InterferencePolygon2d::Perform(const QMData_PolySeg2d&, const QMData_PolySeg2d&)':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:108: error: 'nbso' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:109: error: 'oClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:110: error: 'tClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In member function 'void QMTools_InterferencePolygon2d::Perform(const QMData_PolySeg2d&)':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:128: error: 'oClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:129: error: 'tClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In member function 'void QMTools_InterferencePolygon2d::Interference(const QMData_PolySeg2d&, const QMData_PolySeg2d&)':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:159: error: 'BeginOfNotClosedObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:159: error: 'oClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:160: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:166: error: 'BeginOfNotClosedObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:166: error: 'tClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:167: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In member function 'void QMTools_InterferencePolygon2d::Interference(const QMData_PolySeg2d&)':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:195: error: 'BeginOfNotClosedObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:195: error: 'oClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:196: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:202: error: 'BeginOfNotClosedObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:202: error: 'tClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:203: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx: In member function 'void QMTools_InterferencePolygon2d::Intersect(const gp_Pnt2d&, const gp_Pnt2d&, const gp_Pnt2d&, const gp_Pnt2d&)':

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:313: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:313: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:348: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:349: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:354: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:355: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:361: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:362: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:374: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:375: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:380: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:381: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:387: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:388: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:399: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:400: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:411: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:412: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:434: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:435: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:457: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:458: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:483: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:484: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:546: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:547: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:560: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:561: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:598: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:599: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:618: error: 'iObje2' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:618: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:619: error: 'oClos' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:619: error: 'nbso' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:654: error: 'iObje1' was not declared in this scope

/dn47/KAS/dev/apn-22815-occt/inc/Intf_InterferencePolygon2d.gxx:655: error: 'iObje2' was not declared in this scope

(0019342)
dbv   
2012-02-02 10:02   
to apn:
update workbenches KAS:dev:apn-22815-occt and KAS:dev:apn-22815-products
looks like you have outdated version of products workbench.
e.g. class QMTools_InterferencePolygon2d missing some fields in file /dn47/KAS/dev/apn-22815-products/src/QMTools/QMTools_IntPolySeg2d.hxx

please update workbenches and test.
(0019456)
dbv   
2012-02-08 12:15   
Recent changes in OpenGL package has been merged.

Branch http://svn/svn/occt/branches/OCC22815 [^] is ready to be reviewed.

Dear Andrey,
Please review.
(0019461)
abv   
2012-02-08 14:53   
No remarks, please test
(0019725)
dbv   
2012-02-22 14:14   
File src/TDF/TDF_LabelNode.hxx has been reverted to revision 10051 with added protection for SUNPRO compiler

Branch http://svn/svn/occt/branches/OCC22815 [^] is ready to be reviewed.

Dear Andrey,
Please review.
(0019728)
abv   
2012-02-22 14:31   
No remarks, please test.

I still suggest to register separate issue on the way how new and delete operators are defined and used for TDF_LabelNode class (new with allocator is used while delete is normal one; the right way would be to use delete with allocator as well).
(0019755)
aan   
2012-02-23 15:14   
(edited on: 2012-02-23 15:15)
Dear BugMaster,
Workbench KAS:dev:apn-OCC22815-occt from SVN branch http://svn/svn/occt/branches/OCC22815 [^]
(and apn-OCC22815-products from trunk) was successfully compiled and tested on Linux.

There are not regressions in apn-OCC22815-products regarding to KAS:dev:products-20120217-opt


See results in /QADisk/occttests/results/KAS/dev/apn-OCC22815-products_22022012/lin
See reference results in /QADisk/occttests/results/KAS/dev/products-20120217-opt_17022012/lin
See test cases in /QADisk/occttests/tests/ED
N.B. In order to launch testing case you can make use the following instructions
http://doc/doku.php?id=occt:certification [^]

(0019858)
bugmaster   
2012-03-04 18:32   
Integrated into trunk of oct-products reposirory

Date: 2012-03-04 18:25:56 +0400 (Sun, 04 Mar 2012)
New Revision: 18560

Modified:
   trunk/src/CPPExt/CPPExt_Template.edl
   trunk/src/EMeshTest/EMeshTest_DrawableModel.hxx
   trunk/src/EMeshTest/EMeshTest_Face2d.hxx
   trunk/src/OMFCAF/OMFCAF_MeshCommand.hxx
   trunk/src/QMTools/QMTools_IntPolySeg2d.hxx
   trunk/src/WOKTools/WOKTools_DataMap.gxx
   trunk/src/WOKTools/WOKTools_DoubleMap.gxx
   trunk/src/WOKTools/WOKTools_IndexedDataMap.gxx
   trunk/src/WOKTools/WOKTools_IndexedMap.gxx
   trunk/src/WOKTools/WOKTools_Map.gxx
(0019909)
bugmaster   
2012-03-10 13:28   
Integrated into master