Since doing this would make the vector types' True() and False() methods unusable, I think that what I will do for now is just the initial #undef, and leave it in "simd.h mode" so to speak. If this comes up as an issue for somebody later, we can re-evaluate whether to do something at the end of simd.h to put things back.
> On Jun 27, 2019, at 4:04 AM, Colin Doncaster <co...@peregrinelabs.com> wrote: > > Looks good to me. > > You had also mentioned in the comments about re-defining the macros at the > end of the header. Although it’s non-standard C++ it seems like most > compilers would allow the use of the push_macro/pop_macro pragma. > > ie. > > #pragma push_macro(“True”) > #undef True > > and then at the end of the header > #pragma pop_marco(“True”) > > which maintains the correct values just in case there were differing opinions > on True/False in the 1980’s. :) > >> On Jun 26, 2019, at 10:40 PM, Larry Gritz <l...@larrygritz.com >> <mailto:l...@larrygritz.com>> wrote: >> >> How does this look? >> >> https://github.com/OpenImageIO/oiio/pull/2272 >> <https://github.com/OpenImageIO/oiio/pull/2272> >> >> >> >>> On Jun 26, 2019, at 7:28 PM, Larry Gritz <l...@larrygritz.com >>> <mailto:l...@larrygritz.com>> wrote: >>> >>> Ouch! >>> >>> The 1980's called, and they want their `#define True` back. >>> >>> I think I can rig up simd.h fix to make this work. Stay tuned, I will >>> propose a PR shortly.. >>> >>> >>> >>>> On Jun 26, 2019, at 2:33 PM, Colin Doncaster <co...@peregrinelabs.com >>>> <mailto:co...@peregrinelabs.com>> wrote: >>>> >>>> We came up against a (potentially very isolated) issue when using >>>> OpenImageIO on Linux within a Maya plugin, at some point one of Maya’s >>>> headers indirectly includes Xlib.h which does >>>> >>>> #define True 1 >>>> #define False 0 >>>> >>>> and thus causes a lot of "expected unqualified-id before numeric constant" >>>> errors in OIIO’s simd.h >>>> >>>> Although we could bury/hide some of the OIIO usage we decided to undef the >>>> two macros as it doesn’t seem to break anything. >>>> >>>> Have others come across this and if so was there a more elegant solution? >>>> >>>> Colin >>>> >>>> >>>> _______________________________________________ >>>> Oiio-dev mailing list >>>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> >>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >>> >>> -- >>> Larry Gritz >>> l...@larrygritz.com <mailto:l...@larrygritz.com> >>> >>> >>> >>> >>> _______________________________________________ >>> Oiio-dev mailing list >>> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> <http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org> >> >> -- >> Larry Gritz >> l...@larrygritz.com <mailto:l...@larrygritz.com> >> >> >> >> >> _______________________________________________ >> Oiio-dev mailing list >> Oiio-dev@lists.openimageio.org <mailto:Oiio-dev@lists.openimageio.org> >> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > > _______________________________________________ > Oiio-dev mailing list > Oiio-dev@lists.openimageio.org > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org -- Larry Gritz l...@larrygritz.com
_______________________________________________ Oiio-dev mailing list Oiio-dev@lists.openimageio.org http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org