View Issue Details

IDProjectCategoryView StatusLast Update
0023365CommunityOCCT:Visualizationpublic2012-11-16 13:17
ReporterRoman Lygin Assigned ToRoman Lygin  
PrioritynormalSeveritymajor 
Status closedResolutionfixed 
PlatformLinuxOSRHEL/CentOS 
Product Version6.5.3 
Target Version6.5.4Fixed in Version6.5.4 
Summary0023365: Name collision of global IsEqual() leads to overriding user's definition
DescriptionAIS_ConnectedShape.cxx defines a global IsEqual() function, which in run-time overrides user's definition of IsEqual() in completely different module.

This is Linux-specific behavior caused by global resolution. It is unclear why static symbol gets exported and redefines another symbol though.

See details on the forum - http://www.opencascade.org/org/forum/thread_23553/?forum=3.
Additional information
and documentation updates
Recommendation to use NCollection containers is to use a hasher parameter (introduced in 6.5.3) instead of global definition of IsEqual()/HashCode(), and also use of explicit namespaces' to avoid name collision.
TagsNo tags attached.
Test case numberNot needed

Activities

Roman Lygin

2012-08-02 00:15

developer   ~0021196

Fix pushed as CR23365

san

2012-08-03 16:04

developer   ~0021200

Branch CR23365 reviewed without remarks, ready for testing.

mkv

2012-08-07 13:12

tester   ~0021207

Dear BugMaster,

Branch CR23365 (and products from GIT master) was compiled on Linux and Windows platforms and tested.

Regression:
Not detected

Improvements:
Not detected

Testing case:
Not needed

Related Changesets

occt: master f3fa1d35

2012-08-01 20:14:05

Roman Lygin

Details Diff
0023365: Name collision of global IsEqual() leads to overriding user's definition

Prevent name collision of global IsEqual()
Affected Issues
0023365
mod - src/AIS/AIS_ConnectedShape.cxx Diff File

Issue History

Date Modified Username Field Change
2012-08-02 00:10 Roman Lygin New Issue
2012-08-02 00:10 Roman Lygin Assigned To => san
2012-08-02 00:15 Roman Lygin Note Added: 0021196
2012-08-02 00:15 Roman Lygin Status new => resolved
2012-08-03 16:04 san Note Added: 0021200
2012-08-03 16:04 san Assigned To san => bugmaster
2012-08-03 16:04 san Status resolved => reviewed
2012-08-07 13:12 mkv Note Added: 0021207
2012-08-07 13:13 mkv Test case number => Not needed
2012-08-07 13:13 mkv Status reviewed => tested
2012-08-10 10:32 bugmaster Target Version => 6.5.4
2012-08-13 15:38 rln Changeset attached => occt master f3fa1d35
2012-08-13 15:38 rln Assigned To bugmaster => rln
2012-08-13 15:38 rln Status tested => verified
2012-08-13 15:38 rln Resolution open => fixed
2012-08-31 11:58 aiv Assigned To rln => Roman Lygin
2012-11-16 13:14 bugmaster Fixed in Version => 6.5.4
2012-11-16 13:17 bugmaster Status verified => closed