@@ -238,12 +238,9 @@ and their directly relevant code sequences have been removed.
238238Simple mechanisms such as those found in ` <cassert> ` 
239239and ` <cerrno> ` , however, remain mostly available.
240240
241- -  ** ` <atomic> ` :**  Even though the intended compilers are built with no threading,
242- the ` <atomic> `  library and its use as a dependency has
243- been removed. This means that atomic functions and
244- atomic store/load functions are not available. So if you are sharing
245- data in an operating system or mixed program/interrupt mode,
246- self-written atomic primitives are needed.
241+ -  ** ` <atomic> ` :**  The ` <atomic> `  library is being handled
242+ specifically in the draft of
243+ [ avr-libstdcpp/pull/36] ( https://github.com/modm-io/avr-libstdcpp/pull/36 ) .
247244
248245-  ** ` <random> ` :**  There is no source of entropy whatsoever on these platforms
249246in their standard configuration. So ` std::random_device ` 
@@ -280,12 +277,6 @@ The widths depend on the compiler command line options `-mdouble=32`
280277` std::exp() `  and the like will, therefore, have input and output
281278widths according to these command line options.
282279
283- -  ** ` <cmath> ` :**  In compiler versions of ` avr-gcc `  11 and higher,
284- slight discrepancies in the signatures of functions like
285- ` isnan() ` , ` isinf() ` , etc. seem to be in the process of being corrected.
286- Future patches of math function signatures in ` <cmath> ` 
287- may be needed as the ` <math.h> `  header continues to evolve.
288- 
289280## C++20 ` constexpr `  support  
290281
291282The following is a rather advanced, highly useful topic.
@@ -337,18 +328,24 @@ int main()
337328``` 
338329
339330See also the [numeric.cpp](./examples/numeric/numeric.cpp) file 
340- in the [. /examples/numeric](./examples/numeric) directory. 
331+ in the [/examples/numeric](./examples/numeric) directory. 
341332
342333## Additional details 
343334
344335`avr-libstdcpp` is intended for a modern `avr-gcc` 
345- such as the 11.2 port available in the [modm-io project](https://github.com/modm-io/avr-gcc) 
346- repository. Tests show usability also for `avr-gcc` 10 through 13 (and beyond). 
336+ such as the port available in the [modm-io project](https://github.com/modm-io/avr-gcc) 
337+ repository. Tests show usability for `avr-gcc` 7 through 15. 
338+ 
339+ This library has been checked for compatibility on `avr-gcc` 
340+ with language standards C++11,14,17,20,23 and 2c. 
347341
348- Using the port way back to `avr-gcc` 5, however,  does not work 
342+ Using the port way back to `avr-gcc` 5 does not work 
349343at the moment with today's form of the checked-in library, 
350- as the older compiler's lexical parser is not capable of 
351- properly handling some of the library's template code. 
344+ and `avr-gcc` 7 or higher is required. 
345+ This is because the very old compiler lexical parsers are not capable 
346+ of properly handling some of the library's template code. 
347+ See also [avr-libstdcpp/issues/15](https://github.com/modm-io/avr-libstdcpp/issues/15) 
348+ which is closed and includes justification for its closure. 
352349
353350## Licensing 
354351
@@ -357,6 +354,6 @@ and the library include files in [`include/` and its subfolders](./include/)
357354(with two exceptions for the sources, as mentioned below) 
358355are licensed under [GNU General Public License Version 3](./COPYING3) or higher. 
359356
360- The  [example codes](./examples/) and two library source files
357+ All of the  [example codes](./examples/) and also  two library source files
361358(namely `functexcept.cc` and `math.cc` in [`src/`](./src/)) 
362359are subject to the terms of the [Mozilla Public License Version 2.0](./COPYING.MPLv2). 
0 commit comments