Singular defines macros generating conflicts in Sagemath
Guest · Mon Dec 06, 2021 4:50 pm
Hi,
In SageMath, Singular generates the file factory.h which defines the macro #define IntegerDomain 1.
This conflict with Givaro's code using a class IntegerDomain with the Givaro namespace.
See the discussion here on sage-devel (sorry I can't post a link)
Would it be possible to avoid leaving C macros defined in the precompiler namespace, this is likely to generate such conflicts, especially with natural names in camel case like in this case.
- a first option could be to undefine the macro after it has been used
- or to rename the macro with a Singular specific prefix, like __SINGULAR
Thanks for your help.
Best.
Clément
In SageMath, Singular generates the file factory.h which defines the macro #define IntegerDomain 1.
This conflict with Givaro's code using a class IntegerDomain with the Givaro namespace.
See the discussion here on sage-devel (sorry I can't post a link)
Would it be possible to avoid leaving C macros defined in the precompiler namespace, this is likely to generate such conflicts, especially with natural names in camel case like in this case.
- a first option could be to undefine the macro after it has been used
- or to rename the macro with a Singular specific prefix, like __SINGULAR
Thanks for your help.
Best.
Clément