I am developing a neutron transport code using a mixture of C/C++/CUDA/Python package built using setuptools/distutils. I am trying to build a Python module specifically for the Intel MIC (Xeon Phi), and this requires me to make use of a number of keywords such as "_Cilk_shared", "_Cilk_offload", etc which SWIG does not like. For example, I want to make some of the class attributes and methods shared between CPU and the MIC - a header file for a simple example that break with SWIG is as follows:

class swigMicTest 
    _Cilk_shared int A;
    swigMicTest() { setA(1); }
    _Cilk_shared setA(int a) { A = a; }

I want to tell SWIG to ignore the "_Cilk_shared" keyword when it wraps this class but haven't figured out how to successfully do that using the rename, ignore, etc directives. 

Thanks for your help,

Will Boyd
Nuclear Science & Engineering
Massachusetts Institute of Technology
Email: wboyd@mit.edu
Cell: 423.413.8469