occt: master bc379358

Author Committer Branch Timestamp Parent
kgv bugmaster master 2018-05-30 15:59:12 master 4e73d75b
Affected Issues  0029825: Foundation Classes, NCollection_Vec4 - workaround gcc optimizer issues with xyz() method
Changeset 0029825: Foundation Classes, NCollection_Vec4 - workaround gcc optimizer issues with xyz() method

Methods of NCollection_Vec3 and NCollection_Vec3 that returned reference to internal buffer as vector of lower dimension (non-const xy(), xyz() etc.) are eliminated.
Use of these methods could led to generation of incorrect binary code by GCC.
Instead added new method SetValues() accepting vector of lower dimension and additional value.

DRAW test command QANColTestVec4 reproducing one situation where the bug occurs is added, along with a test case.
mod - src/NCollection/NCollection_Vec3.hxx Diff File
mod - src/NCollection/NCollection_Vec4.hxx Diff File
mod - src/OpenGl/OpenGl_BackgroundArray.cxx Diff File
mod - src/OpenGl/OpenGl_Context.cxx Diff File
mod - src/OpenGl/OpenGl_Material.hxx Diff File
mod - src/OpenGl/OpenGl_Text.cxx Diff File
mod - src/QANCollection/QANCollection_Test.cxx Diff File
mod - src/Select3D/Select3D_SensitivePrimitiveArray.cxx Diff File
add - tests/collections/n/vec4 Diff File