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

0028355: Stating wrong parent class in DEFINE_STANDARD_RTTIEXT is not recognized during compilation

Added compile-time checks (static_assert) in DEFINE_STANDARD_RTTI*(A,B) macros to check that A is actually the class being defined, and B is its base class.
For GCC compiler version 4.7 and later on, check ensures that B is direct base class of A.

Fixed dubious RTTI definitions.
This commit is contained in:
Benjamin Bihler
2017-01-19 16:48:08 +03:00
committed by apn
parent f63101c984
commit 0e9fe060f3
11 changed files with 66 additions and 15 deletions

View File

@@ -32,7 +32,7 @@ public:
Standard_EXPORT StepVisual_CharacterizedObjectAndCharacterizedRepresentationAndDraughtingModelAndRepresentation();
DEFINE_STANDARD_RTTIEXT(CharacterizedObjectAndCharacterizedRepresentationAndDraughtingModelAndRepresentation, StepVisual_DraughtingModel)
DEFINE_STANDARD_RTTIEXT(StepVisual_CharacterizedObjectAndCharacterizedRepresentationAndDraughtingModelAndRepresentation, StepVisual_DraughtingModel)
};
#endif // _StepVisual_CharacterizedObjectAndCharacterizedRepresentationAndDraughtingModelAndRepresentation_HeaderFile