pygccxml icon indicating copy to clipboard operation
pygccxml copied to clipboard

Restrict qualifier applied wrongly.

Open dermont123 opened this issue 7 years ago • 2 comments

Hi, The "__restrict__" qualifier is for linux only and applied to the start of the decl_string, rather than the end. ` #if defined( _MSC_VER ) #define RESTRICT_ALIAS __restrict
#define RESTRICT_ALIAS_RETURN __restrict #else #define RESTRICT_ALIAS __restrict__ #define RESTRICT_ALIAS_RETURN #endif

class Rest { protected: float* RESTRICT_ALIAS restVar; ----- (1) ... }; ` (1) The return_type.decl_string output produces the following ie. ::ns::Rest::restVar __restrict__ float *

From class restrict_t def build_decl_string(self, with_defaults=True): return '__restrict__ ' + self.base.build_decl_string(with_defaults) Code using the decl_string does not compile, the restrict qualifier should be applied to the pointer/ref/function not the variable, e.g. def build_decl_string(self, with_defaults=True): if os.name == 'nt': return self.base.build_decl_string(with_defaults) + ' __restrict' else: return self.base.build_decl_string(with_defaults) + ' __restrict__'

dermont123 avatar Apr 22 '18 09:04 dermont123

Any news on this?

dermont123 avatar Aug 08 '20 20:08 dermont123

Any news on this?

Starting work on this now. Can I use your above example in a test case?

tom-osika avatar Mar 11 '21 22:03 tom-osika