mattreecebentley / plf_list

A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average. 20-24% speed increase in use-case testing.
https://plflib.org/list.htm
zlib License
151 stars 21 forks source link

missing std::sort on clang 12 #29

Closed malytomas closed 1 year ago

malytomas commented 1 year ago
 /home/runner/work/cage/cage/externals/plf/plf_list/plf_list.h:2790:4: error: no member named 'sort' in namespace 'std'; did you mean simply 'sort'?
                        PLF_SORT_FUNCTION(node_pointers, node_pointer, sort_dereferencer<comparison_function>(compare));
                        ^~~~~~~~~~~~~~~~~
                        sort
/home/runner/work/cage/cage/externals/plf/plf_list/plf_list.h:231:28: note: expanded from macro 'PLF_SORT_FUNCTION'
        #define PLF_SORT_FUNCTION std::sort
                                  ^~~~~

Error appears when compiling with clang 12 or clang 13. Otherwise clang 14 and clang 15 are passing.

I assume it is missing the include algorithm. The preprocesor if looks suspicious to me. https://github.com/mattreecebentley/plf_list/blob/e50f3c5bfd0489eb380ff7ad550da5479698cb1b/plf_list.h#L235

The PLF_SORT_FUNCTION is defined few lines above, and the PLF_CPP20_SUPPORT is not defined.

mattreecebentley commented 1 year ago

Should be fixed now, thanks-