On 15/07/2024 22:44, Mark Liam Brown via Cygwin wrote:
On Mon, Jul 15, 2024 at 9:35 PM Csaba Ráduly via Cygwin
<cygwin@cygwin.com> wrote:
On 09/07/2024 08:17, Cedric Blancher via Cygwin wrote:
I'd agree that newer gcc 13.x to compile Cygwin and as /usr/bin/gcc
would be a very good idea, not only for performance+STL fixes, but
also since by default the Cygwin distro lacks C++17 support,
Huh? GCC supports C++17 since GCC 7
https://en.cppreference.com/w/cpp/17
No, it does not. *Some* features work, but gcc 13.1 was the first
release where everything mandated by C++17 is working, or at least
compiling.
So far g++ in Cygwin 3.5.3 cannot compile anything in std::pmr:*, e.g.
std::pmr::monotonic_buffer_resource, std::pmr::polymorphic_allocator,
std::pmr::string, ruling out any realistic C++17 apps (of course,
HelloWorld will work).
Mark
A few examples of non-realistic, HelloWorld class projects:
LLVM:
~/wk/llvm-project $ ag -s --cpp -w pmr bolt/ clang* compiler-rt/
cross-project-tests/ flang/ libclc libunwind/ ll* mlir/ offload/ openmp/
polly/ pstl/ runtimes/ third-party/ utils/
clang/test/SemaCXX/overloaded-builtin-operators.cpp
116: pmf &pmr = (pmf_ref = &X::f); // expected-error{{no viable
overloaded '='}}
~/wk/llvm-project $
Abseil:
~/wk/abseil-cpp$ ag -s --cpp -w pmr absl/
absl/container/internal/raw_hash_set_allocator_test.cc
450:// This allocator is similar to std::pmr::polymorphic_allocator.
~/wk/abseil-cpp$
GCC:
~/wk/gcc-project$ ag -l -c -s --cpp -w --ignore libstdc++-v3 pmr
gcc/cp/std-name-hint.h:10
gcc/testsuite/g++.dg/rtti/typeid7.C:2
~/wk/gcc-project$
Electron
~/wk/electron$ ag -l -c -s --cpp -w pmr
~/wk/electron$
LibreOffice
~/wk/libreoffice$ ag -l -c -s --cpp -w pmr
~/wk/libreoffice$
TensorFlow
~/wk/tensorflow$ ag -l -c -s --cpp -w pmr
~/wk/tensorflow$
Polymorphic memory resources were supported by GCC 9, according to
https://en.cppreference.com/w/cpp/compiler_support/17
Anyway, nobody cares about std::pmr::anything , except maybe John Lakos
and the Intel TBB project. /hyperbole
Search results on github (thousands)
pmr:: 8
set_symmetric_difference 8.4
lexicographical_compare 32
nth_element 25
std::rotate 17.5
vector 27000
std::vector 12100
std::string 16300
Csaba
--
Life is complex, with real and imaginary parts.
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple