On 09/07/2015 06:54 AM, Jose Fonseca wrote: > On 07/09/15 10:17, Jean-Sébastien Pédron wrote: >> On 04.09.2015 01:37, Matt Turner wrote: >>> You need to test for this support in configure.ac. It's as simple as >>> adding a call to AX_GCC_FUNC_ATTRIBUTE in the existing alphabetized >>> list and then a little bit of preprocessor in src/util/macros.h. >> >> Should the code fallbacks on atexit(3) if the attribute is not >> supported? > > At least on Windows, with MSVC, atexit should be the right thing to do, > since we statically link MSVC RunTime, > > >> Can I use the HAVE_FUNC_ATTRIBUTE_DESTRUCTOR macro in >> ralloc.c for this purpose? > > For the record, another alternative (way more portable), is you have a > simple .cpp file with a static destructior:
Arg. :( We used to have code that used this in several places, but that idiom has gradually been removed. See c61bc6ed (although that was using a constructor to initialize instead of a destructor to free). I don't care too much what idiom we pick, but I think we should pick one and stick with it. > class AtExit > { > public: > ~AtExit() { > // do what must be done > } > }; > > AtExit atExit(); > > > After all, it seems wrong to use non-standard C to replicate what > standard C++ can do. > > > Jose > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev