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

Reply via email to