You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See my answer here, under the section "Why not just use the atomic_* types offered by C11 and C++11 or later?". See my comments under that answer and under this answer too.
Will the 8-bit AVRs ever support this?
Currently my work-around is the decades-old one described in my "Full example usage: how to efficiently, atomically, read shared volatile variables" here.
Note: arduino-1.8.13/hardware/tools/avr/bin/avr-g++ --version shows avr-g++ (GCC) 7.3.0. I just installed the latest Arduino 2.1.0 and got the same error too. Checking its g++ version, I see it is the same: ~/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ --version --> output: avr-g++ (GCC) 7.3.0
The text was updated successfully, but these errors were encountered:
ElectricRCAircraftGuy
changed the title
C11 _Atomic and C++11 std::atomic<> types not supported--will they ever be? (update avr-gcc?)
C11 _Atomic and C++11 std::atomic<> types not supported--will they ever be? (Arduino needs to update their version of avr-gcc?)
May 10, 2023
For that, I think avr-gcc should be compiled with libstdc++, see #89 for that. I'm not sure if libstdc++ on AVR already has support for atomic, though, since AFAIK nobody (at least not Arduino and I think also not atmel) builds libstdc++ for AVR, so it probably has some bitrot and lack of testing / demand, but I've seen some reports of people compiling it succesfully (see #89 for links).
I guess the latest gcc can just be compiled for avr, but the arduino version applies patches from atmel, which were often very much behind (I haven't checked current status, though).
See my answer here, under the section "Why not just use the
atomic_*
types offered by C11 and C++11 or later?". See my comments under that answer and under this answer too.Will the 8-bit AVRs ever support this?
Currently my work-around is the decades-old one described in my "Full example usage: how to efficiently, atomically, read shared volatile variables" here.
See also my comment:
Godbolt seems to think the latest AVR gcc version is 13.1.0: https://godbolt.org/z/z1a386vc1
The text was updated successfully, but these errors were encountered: