1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

0022815: Missing delete operator for placement new

This commit is contained in:
dbv
2012-03-06 12:32:06 +04:00
committed by bugmaster
parent 59f45b7cef
commit 1c35b92f5f
115 changed files with 280 additions and 868 deletions

View File

@@ -14,7 +14,7 @@ struct _degeneration
{
int mode;
float skipRatio;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef _degeneration DEGENERATION;
typedef _degeneration* PDEGENERATION;
@@ -28,7 +28,7 @@ struct _ds_internal
int model;
float skipRatio;
unsigned char* bDraw;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef _ds_internal DS_INTERNAL;
typedef _ds_internal* PDS_INTERNAL;

View File

@@ -14,45 +14,14 @@ for InterfaceGraphic_Parray.hxx definitions
#define INTERFACEGRAPHIC_TELEM_H
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <InterfaceGraphic_tgl_all.hxx>
#include <stdlib.h>
//if SUN compiler
#if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530) && ! defined(typename)
#define IMPLEMENT_MEMORY_OPERATORS \
void* operator new (size_t size) {\
void* p = malloc( size );\
memset(p, 0, size);\
return p;\
}\
void operator delete(void* p) {\
free( p );\
}
#else
//if other
#define IMPLEMENT_MEMORY_OPERATORS \
void* operator new (size_t size) {\
void* p = malloc( size );\
memset(p, 0, size);\
return p;\
}\
void* operator new[] (size_t size) {\
void* p = malloc( size );\
memset(p, 0, size);\
return p;\
}\
void operator delete(void* p) { \
free( p );\
}\
void operator delete[](void* p) {\
free( p );\
}
#endif
struct TEL_TEXTURE_COORD
{
float xy[2];
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_TEXTURE_COORD* tel_texture_coord;
@@ -60,23 +29,7 @@ typedef TEL_TEXTURE_COORD* tel_texture_coord;
struct TEL_POINT
{
float xyz[3];
IMPLEMENT_MEMORY_OPERATORS
/*void* operator new (size_t size) {
void* p = malloc( size );
memset(p, 0, size);
return p;
}
void* operator new[] (size_t size) {
void* p = malloc( size );
memset(p, 0, size);
return p;
}
void operator delete(void* p) {
free( p );
}
void operator delete[](void* p) {
free( p );
}*/
DEFINE_STANDARD_ALLOC
};
typedef TEL_POINT* tel_point;
@@ -84,7 +37,7 @@ struct TEL_COLOUR
{
/* OCC8854: san -- number of color components increased to include alpha value */
float rgb[4];
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_COLOUR* tel_colour;
@@ -92,7 +45,7 @@ struct TEL_POINT_DATA
{
int num;
TEL_POINT* data;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_POINT_DATA* tel_point_data;
@@ -100,7 +53,7 @@ struct TEL_TINT_DATA
{
int num;
int* data;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_TINT_DATA* tel_tint_data;
@@ -108,7 +61,7 @@ struct TEL_MATRIX3_DATA
{
TComposeType mode;
Tmatrix3 mat;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_MATRIX3_DATA* tel_matrix3_data;
@@ -116,7 +69,7 @@ struct TEL_ALIGN_DATA
{
Tint Hmode;
Tint Vmode;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_ALIGN_DATA* tel_align_data;
@@ -149,7 +102,7 @@ struct TEL_SURF_PROP
int isamb, isdiff, isspec, isemsv;
int isphysic;
TEL_COLOUR speccol, difcol, ambcol, emscol, matcol;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_SURF_PROP* tel_surf_prop;
@@ -304,7 +257,7 @@ struct TEL_POFFSET_PARAM
int mode;
float factor;
float units;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_POFFSET_PARAM* tel_poffset_param;
/* OCC4895 SAN 22/03/04 High-level interface for controlling polygon offsets */
@@ -316,7 +269,7 @@ struct TEL_TRANSFORM_PERSISTENCE
float pointX;
float pointY;
float pointZ;
IMPLEMENT_MEMORY_OPERATORS
DEFINE_STANDARD_ALLOC
};
typedef TEL_TRANSFORM_PERSISTENCE* tel_transform_persistence;
/* ABD 29/10/04 Transform Persistence of Presentation( pan, zoom, rotate ) */