mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-18 14:27:39 +03:00
0023935: Compiler warnings on returning Handle from C functions in OCAF schemas
The warning 4190 is disabled because a C++ object calling from C section is manipulating only in C++ (outside of C section). Second attempt to remove the warning: extern "C" is removed - everything works fine. But I tested it only on Windows. Removed "Create##schema" method at all: without "extern "C"" it is useless. Checked that in OCCT and Samples this method is unused. "new ##Schema" is used instead (like in StdDrivers.cxx, for an example). Also this approach is advised in Storage_Schema.cdl: -- For example, if ShapeSchema is the class -- inheriting from Storage_Schema and containing -- the description of your application data schema, -- you create a storage/retrieval algorithm as follows: -- Handle(ShapeSchema) s = new -- ShapeSchema;
This commit is contained in:
@@ -29,9 +29,6 @@ Standard_EXPORT Handle(Storage_CallBack) CallBackSelection(const TCollection_As
|
|||||||
// Read_TypeSelection
|
// Read_TypeSelection
|
||||||
//
|
//
|
||||||
#define Storage_BEGIN_READ_SELECTION(schema) \
|
#define Storage_BEGIN_READ_SELECTION(schema) \
|
||||||
extern "C" { \
|
|
||||||
Standard_EXPORT Handle(Storage_Schema) Create##schema() { return new schema; } \
|
|
||||||
} \
|
|
||||||
Handle(Storage_CallBack) schema::CallBackSelection(const TCollection_AsciiString& rt) const \
|
Handle(Storage_CallBack) schema::CallBackSelection(const TCollection_AsciiString& rt) const \
|
||||||
{ \
|
{ \
|
||||||
Handle(Standard_Persistent) p; \
|
Handle(Standard_Persistent) p; \
|
||||||
|
Reference in New Issue
Block a user