View Issue Details

IDProjectCategoryView StatusLast Update
0032352Open CASCADEOCCT:Codingpublic2022-10-19 15:56
Reporterkgv Assigned Tovpozdyayev 
PrioritylowSeveritytrivial 
Status verifiedResolutionfixed 
Product Version7.6.0 
Target Version7.7.0 
Summary0032352: Coding Rules - clean up code from compatibility hacks with pre-C++11 compilers
DescriptionOCCT defines several hacks for supporting obsolete C++ compilers like VS2008 not supporting C++11 features like:
- Using std::auto_ptr instead of std::unique_ptr;
- Using opencascade::std::shared_ptr instead of std::shared_ptr (hack for std::tr1);
- Using opencascade::std::mt19937 instead of std::mt19937;
- Using opencascade::std::enable_if/is_base_of/is_same instead of std::enable_if/is_base_of/is_same;
- Using OCCT_NO_RVALUE_REFERENCE to disable move-semantic methods;
- Typedefs to fixed-size types instead of including "stdint.h";

These workarounds are no more necessary with dropped support of VS2008.

See code like this:
#if (defined(_MSC_VER) && (_MSC_VER < 1600))
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberN/A

Relationships

parent of 0032714 closedsmoskvin Documentation - drop VS2010 from minimal requirements 
parent of 0032792 newvpozdyayev Documentation - reflect C++11 best practices in Coding Rules 
child of 0032270 closedbugmaster Configuration - Removing VS 2008 from maintenance 
child of 0028824 closedbugmaster Possibility to build OCCT 7.1.0 and above using Visual Studio 2008 
child of 0032707 newvpozdyayev Configuration - Removing VS2010/VS2012 from maintenance 
Not all the children of this issue are yet resolved or closed.

Activities

git

2021-12-02 16:10

administrator   ~0105608

Branch CR32352 has been created by kgv.

SHA-1: 24f0821d064acad577aca5f09b2cb181d11a7670


Detailed log of new commits:

Author: kgv
Date: Thu Dec 2 15:51:11 2021 +0300

    0032352: Coding Rules - clean up code from compatibility hacks with pre-C++11 compilers
    
    Removed usage of std::auto_ptr.
    opencascade::std workarounds for VS2008 have been dropped, when possible.
    OCCT_NO_RVALUE_REFERENCE workaround for VS2008 has been removed.

kgv

2021-12-02 17:06

developer   ~0105616

Please raise the patch
- OCCT: branch CR32352;
- OCC Products: branch CR32352.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR32352-CR32352-KGV/

smoskvin

2021-12-04 12:00

administrator   ~0105646

Combination -
OCCT branch : IR-2021-12-03
master SHA - 03eb96038e853c37a2229e59d0acb72f5dd0478d
49e51745631c52b6c452c65adae4d6dfa21a1b1e
Products branch : IR-2021-12-03 SHA - 52ed38cc2ddefb01913e1984cdae84175a8fb8ed
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18166.60000000042 / 18390.6500000004 [-1.22%]
Products
Total CPU difference: 11658.820000000103 / 11648.280000000103 [+0.09%]
Windows-64-VC14:
OCCT
Total CPU difference: 19937.84375 / 19928.171875 [+0.05%]
Products
Total CPU difference: 13069.28125 / 13059.03125 [+0.08%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2021-12-04 12:30

administrator   ~0105651

Branch CR32352 has been deleted by mnt.

SHA-1: 24f0821d064acad577aca5f09b2cb181d11a7670

Related Changesets

occt: master 65acdce5

2021-12-02 12:51:11

kgv


Committer: smoskvin Details Diff
0032352: Coding Rules - clean up code from compatibility hacks with pre-C++11 compilers

Removed usage of std::auto_ptr.
opencascade::std workarounds for VS2008 have been dropped, when possible.
OCCT_NO_RVALUE_REFERENCE workaround for VS2008 has been removed.
Affected Issues
0032352
mod - src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.cxx Diff File
mod - src/BinLDrivers/BinLDrivers_DocumentStorageDriver.cxx Diff File
mod - src/BinTools/BinTools.cxx Diff File
mod - src/BRepFill/BRepFill_Filling.hxx Diff File
mod - src/BRepTools/BRepTools.cxx Diff File
mod - src/BVH/BVH_BinaryTree.hxx Diff File
mod - src/BVH/BVH_Types.hxx Diff File
mod - src/ChFi3d/ChFi3d_ChBuilder.cxx Diff File
mod - src/DBRep/DBRep.cxx Diff File
mod - src/DDocStd/DDocStd_ApplicationCommands.cxx Diff File
mod - src/Draw/Draw_VariableCommands.cxx Diff File
mod - src/IGESControl/IGESControl_Writer.cxx Diff File
mod - src/IGESSelect/IGESSelect_WorkLibrary.cxx Diff File
mod - src/Image/Image_DDSParser.cxx Diff File
mod - src/Image/Image_Texture.cxx Diff File
mod - src/IntStart/IntStart_SearchOnBoundaries.gxx Diff File
mod - src/IntTools/IntTools_FClass2d.cxx Diff File
mod - src/IntTools/IntTools_FClass2d.hxx Diff File
mod - src/LDOM/LDOMParser.cxx Diff File
mod - src/NCollection/NCollection_AliasedArray.hxx Diff File
mod - src/NCollection/NCollection_Array1.hxx Diff File
mod - src/NCollection/NCollection_Array2.hxx Diff File
mod - src/NCollection/NCollection_StlIterator.hxx Diff File
mod - src/NCollection/NCollection_UBTreeFiller.hxx Diff File
mod - src/NCollection/NCollection_UtfIterator.hxx Diff File
mod - src/NCollection/NCollection_UtfString.hxx Diff File
mod - src/NCollection/NCollection_UtfString.lxx Diff File
mod - src/OSD/OSD_CachedFileSystem.cxx Diff File
mod - src/OSD/OSD_CachedFileSystem.hxx Diff File
mod - src/OSD/OSD_FileSystem.cxx Diff File
mod - src/OSD/OSD_FileSystem.hxx Diff File
mod - src/OSD/OSD_FileSystemSelector.cxx Diff File
mod - src/OSD/OSD_FileSystemSelector.hxx Diff File
mod - src/OSD/OSD_LocalFileSystem.cxx Diff File
mod - src/OSD/OSD_LocalFileSystem.hxx Diff File
mod - src/OSD/OSD_Parallel.hxx Diff File
mod - src/OSD/OSD_StreamBuffer.hxx Diff File
mod - src/Poly/Poly_ArrayOfNodes.hxx Diff File
mod - src/Poly/Poly_ArrayOfUVNodes.hxx Diff File
mod - src/QABugs/QABugs_1.cxx Diff File
mod - src/QABugs/QABugs_19.cxx Diff File
mod - src/QABugs/QABugs_20.cxx Diff File
mod - src/QANCollection/QANCollection_Handle.cxx Diff File
mod - src/RWGltf/RWGltf_CafReader.cxx Diff File
mod - src/RWGltf/RWGltf_CafWriter.cxx Diff File
mod - src/RWGltf/RWGltf_CafWriter.hxx Diff File
mod - src/RWGltf/RWGltf_TriangulationReader.cxx Diff File
mod - src/RWStl/RWStl.cxx Diff File
mod - src/RWStl/RWStl_Reader.cxx Diff File
mod - src/Standard/Standard_Handle.hxx Diff File
mod - src/Standard/Standard_Macro.hxx Diff File
mod - src/Standard/Standard_Std.hxx Diff File
mod - src/Standard/Standard_Type.hxx Diff File
mod - src/Standard/Standard_TypeDef.hxx Diff File
mod - src/StepSelect/StepSelect_WorkLibrary.cxx Diff File
mod - src/TCollection/TCollection_AsciiString.hxx Diff File
mod - src/TCollection/TCollection_ExtendedString.hxx Diff File
mod - src/TObjDRAW/TObjDRAW.cxx Diff File
mod - src/TopLoc/TopLoc_SListOfItemLocation.hxx Diff File
mod - src/TopoDS/TopoDS_Shape.hxx Diff File
mod - src/ViewerTest/ViewerTest_OpenGlCommands.cxx Diff File
mod - src/VrmlAPI/VrmlAPI_Writer.cxx Diff File
mod - src/XmlLDrivers/XmlLDrivers_DocumentRetrievalDriver.cxx Diff File
mod - src/XmlLDrivers/XmlLDrivers_DocumentStorageDriver.cxx Diff File

occt-products: master 2d0e1d03

2021-12-02 16:15:00

kgv


Committer: smoskvin Details Diff
0032352: Coding Rules - clean up code from compatibility hacks with pre-C++11 compilers Affected Issues
0032352
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - diff Diff File
mod - src/AcisData/AcisData_AcisModel.cxx Diff File
mod - src/JtData/JtData_Model.cxx Diff File
mod - src/PointCloudTest/PointCloudTest_Test.cxx Diff File
mod - src/RVMCAFControl/RVMCAFControl_TagProvider.cxx Diff File
mod - src/VolumeRender/VolumeRender_MetaReader.cxx Diff File
mod - src/VolumeRenderTest/VolumeRenderTest.cxx Diff File
mod - src/XSDRAWSAT/XSDRAWSAT.cxx Diff File
mod - src/XtControl/XtControl_Reader.cxx Diff File
mod - src/XtSelect/XtSelect_WorkLibrary.cxx Diff File

Issue History

Date Modified Username Field Change
2021-05-10 15:30 kgv New Issue
2021-05-10 15:30 kgv Assigned To => kgv
2021-05-10 15:31 kgv Relationship added child of 0032270
2021-05-10 15:31 kgv Relationship added child of 0028824
2021-05-10 15:31 kgv Priority normal => low
2021-08-24 14:59 kgv Target Version 7.6.0 => 7.7.0
2021-12-02 16:10 git Note Added: 0105608
2021-12-02 17:06 kgv Test case number => N/A
2021-12-02 17:06 kgv Note Added: 0105616
2021-12-02 17:06 kgv Assigned To kgv => bugmaster
2021-12-02 17:06 kgv Severity minor => trivial
2021-12-02 17:06 kgv Status new => resolved
2021-12-02 17:06 kgv Steps to Reproduce Updated
2021-12-02 17:06 kgv Status resolved => reviewed
2021-12-04 12:00 smoskvin Note Added: 0105646
2021-12-04 12:00 smoskvin Status reviewed => tested
2021-12-04 12:14 smoskvin Changeset attached => occt master 65acdce5
2021-12-04 12:14 smoskvin Assigned To bugmaster => smoskvin
2021-12-04 12:14 smoskvin Status tested => verified
2021-12-04 12:14 smoskvin Resolution open => fixed
2021-12-04 12:30 git Note Added: 0105651
2021-12-17 18:41 smoskvin Changeset attached => occt-products master 2d0e1d03
2021-12-17 18:41 kgv Assigned To smoskvin => kgv
2022-01-21 14:00 kgv Relationship added parent of 0032714
2022-01-21 14:01 kgv Relationship added child of 0032707
2022-01-21 14:01 kgv Relationship added parent of 0032792
2022-10-19 15:56 smoskvin Assigned To kgv => vpozdyayev