Closed mihovilkolaric closed 3 weeks ago
I'm sorry, but sadly gcc 4.7 version line is not fully C++11 compatible, the official wording is experimental support for the 2011 ISO C++ standard, and from my own experience in other projects there is quite some to be desired for it to be a fully C++11 conforming compiler. As I don't have any means of testing it and do not want to go below actual C++11 I don't plan on adding support for early attempts on C++11, as then I would have to have it as CI pipeline to ensure it stays compatible. So TLDR: I'm not supporting anything below GCC 5 from my side and I didn't even try any GCC below 5.5, but would think other 5.x should work.
I'm not saying I am totally against someone putting in the work but my willingness to accept any PR supporting any 4.x variant of gcc really depends on the amount of code changed and the ease of it being automatically checked in a workflow, so if it changes code and/or style too much for my taste one might end up having to support that in a fork.
To add to this, as I had a bit of time to look into it, it seems a part of this is related to a bug in GCC 4.7, that it doesn't conform to the C++11 rule of implicit noexcept(true)
on destructors.
Hi, thanks for the fast analysis and response - I already expected that 4.7.2 is way to old to be supported.
Describe the bug I am trying to use this project to compile a project using C++20 on an embedded hardware that uses an old GCC version. (
g++ -v
identifies it identifies asgcc version 4.7.2 (Ingenic r2.3.3 2016.12)
)The compiler/toolchain is from: https://github.com/Dafang-Hacks/mips-gcc472-glibc216-64bit
The project I am trying to "backport" for my camera is: https://github.com/gtxaspec/prudynt-t/
To Reproduce I downloaded gulrak/filesystem and copied it in the src-folder of
prudynt-t
, and included it as described in https://github.com/gulrak/filesystem?tab=readme-ov-file#using-it-as-single-file-headermake
fails with following errors:Note: In order to omit other compiler-errors of prudynt-t, I added following compiler-options:
-std=c++11
as well as-D_GLIBCXX_USE_NANOSLEEP -D_GLIBCXX_USE_SCHED_YIELD
Is it supposed to work with that compiler? As the compiler claims to support C++11 I expected it to work.
Expected behavior It compiles ;-)