View Issue Details

IDProjectCategoryView StatusLast Update
0028439Open CASCADEOCCT:Configurationpublic2017-09-29 16:28
Reporterkgv Assigned Toapn  
PrioritynormalSeveritymajor 
Status closedResolutionfixed 
PlatformMacOSOS 
Product Version7.2.0 
Target Version7.2.0Fixed in Version7.2.0 
Summary0028439: Configuration - compilation error when using thread_local within XCode 7 or earlier
DescriptionThe following compilation error occurs while using XCode 6.4:
/occt/src/Standard/Standard_Failure.cxx:75:8: error: thread-local storage is not supported for the current target
static Standard_THREADLOCAL Handle(Standard_Failure) RaisedError;
       ^
/occt/src/Standard/Standard_Failure.cxx:67:32: note: expanded from macro 'Standard_THREADLOCAL'
  #define Standard_THREADLOCAL thread_local
                               ^
1 error generated.
make[2]: *** [src/TKernel/CMakeFiles/TKernel.dir/__/Standard/Standard_Failure.cxx.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [src/TKernel/CMakeFiles/TKernel.dir/all] Error 2
make: *** [all] Error 2


thread_local has a long story on OS X - while official CLang supported this C++ feature for a long time, it was disabled within CLang builds coming with XCode, because Apple wanted to make better implementation of this feature (e.g. with less overhead / better performance utilizing system linker features).

It was finally introduced within XCode 8, however not for all targets - e.g. 32-bit ARM is out of the board (while 64-bit ARM and x86_64 are supported).

Therefore, the check in OCCT code should be corrected to support more platforms.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed

Relationships

parent of 0028502 closedbugmaster Open CASCADE Compilation error on Arch Linux (clang compiler) 
child of 0028217 closedapn Community Error handling is not thread safe and causing memory corruption and sporadic crashes 

Activities

git

2017-02-03 19:58

administrator   ~0063428

Branch CR28439 has been created by kgv.

SHA-1: 0c97269b4a5377737aab67933ae077bf5e626f68


Detailed log of new commits:

Author: kgv
Date: Fri Feb 3 19:56:04 2017 +0300

    0028439: Configuration - compilation error when using thread_local within XCode 7 or earlier
    
    __has_feature(cxx_thread_local) check has been added
    for using thread_local keyword within CLang.

kgv

2017-02-03 19:58

developer   ~0063429

Patch is ready for review.

abv

2017-02-03 22:36

manager   ~0063433

No remarks, please test

apv

2017-02-07 12:52

tester   ~0063483

Dear BugMaster,

During building of branch CR28439 (SHA-1: 0c97269b4a5377737aab67933ae077bf5e626f68) from occt git-repository (and master from products git-repository) compilation errors have been detected.
On Linux:
http://jenkins-test-05.nnov.opencascade.com/view/CR28439-master/job/CR28439-master-OCCT-Debian70-64-opt-compile/1/parsed_console/
On Windows:
http://jenkins-test-05.nnov.opencascade.com/view/CR28439-master/job/CR28439-master-OCCT-Windows-64-VC10-opt-compile/1/parsed_console/

apv

2017-02-07 12:53

tester   ~0063484

Dear Kirill,

Branch CR28439 has been rejected due to:
- compilation errors

git

2017-02-07 14:16

administrator   ~0063488

Branch CR28439 has been updated by abv.

SHA-1: 377577a28d5e1a5167385236f49e609f06d31c78


Detailed log of new commits:

Author: abv
Date: Tue Feb 7 14:16:17 2017 +0300

    // correction of preprocessor condition

abv

2017-02-07 14:17

manager   ~0063489

Corrected, please test

git

2017-02-07 14:19

administrator   ~0063491

Branch CR28439 has been updated forcibly by abv.

SHA-1: 1bcd0916e106c20cf6a98fc189e4288925298fe0

kgv

2017-02-07 14:19

developer   ~0063492

Please check updated patch.

apv

2017-02-09 11:16

tester   ~0063722

Dear BugMaster,

Branch CR28439 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 1bcd0916e106c20cf6a98fc189e4288925298fe0

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1192

Regressions/Differences:
Not detected

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 91934916 / 91294630 [+0.70%]
Total CPU difference: 19813.360000000397 / 19662.570000000327 [+0.77%]

Testing on Windows:
Total MEMORY difference: 57124532 / 57124391 [+0.00%]
Total CPU difference: 18295.28247669851 / 18512.045866198645 [-1.17%]

git

2017-03-20 14:35

administrator   ~0064496

Branch CR28439 has been deleted by inv.

SHA-1: 1bcd0916e106c20cf6a98fc189e4288925298fe0

Related Changesets

occt: master dace4784

2017-02-09 12:52:59

kgv


Committer: apn Details Diff
0028439: Configuration - compilation error when using thread_local within XCode 7 or earlier

__has_feature(cxx_thread_local) check has been added
for using thread_local keyword within CLang.
Affected Issues
0028439
mod - adm/cmake/occt_defs_flags.cmake Diff File
mod - src/Standard/Standard_Failure.cxx Diff File

Issue History

Date Modified Username Field Change
2017-02-03 19:54 kgv New Issue
2017-02-03 19:54 kgv Assigned To => kgv
2017-02-03 19:58 git Note Added: 0063428
2017-02-03 19:58 kgv Note Added: 0063429
2017-02-03 19:58 kgv Assigned To kgv => abv
2017-02-03 19:58 kgv Status new => resolved
2017-02-03 19:59 kgv Relationship added child of 0028217
2017-02-03 22:36 abv Note Added: 0063433
2017-02-03 22:36 abv Assigned To abv => bugmaster
2017-02-03 22:36 abv Status resolved => reviewed
2017-02-06 16:59 apv Assigned To bugmaster => apv
2017-02-07 12:52 apv Note Added: 0063483
2017-02-07 12:52 apv Assigned To apv => kgv
2017-02-07 12:52 apv Status reviewed => assigned
2017-02-07 12:53 apv Note Added: 0063484
2017-02-07 14:16 git Note Added: 0063488
2017-02-07 14:17 abv Note Added: 0063489
2017-02-07 14:17 abv Assigned To kgv => bugmaster
2017-02-07 14:17 abv Status assigned => resolved
2017-02-07 14:19 git Note Added: 0063491
2017-02-07 14:19 kgv Note Added: 0063492
2017-02-07 14:19 kgv Status resolved => reviewed
2017-02-07 14:56 apv Assigned To bugmaster => apv
2017-02-09 10:39 apv Test case number => Not needed
2017-02-09 11:16 apv Note Added: 0063722
2017-02-09 11:16 apv Assigned To apv => bugmaster
2017-02-09 11:16 apv Status reviewed => tested
2017-02-10 14:33 apn Changeset attached => occt master dace4784
2017-02-10 14:33 apn Assigned To bugmaster => apn
2017-02-10 14:33 apn Status tested => verified
2017-02-10 14:33 apn Resolution open => fixed
2017-03-20 14:35 git Note Added: 0064496
2017-07-29 11:57 kgv Relationship added parent of 0028502
2017-09-29 16:17 aiv Fixed in Version => 7.2.0
2017-09-29 16:28 aiv Status verified => closed