New version of the Freestanding implementation for #GCC 15.1.0 available

The code has been branched off and a docker container for #AVR is released.

Want to try out some of the proposals for #Freestanding C++?
Want to mess around with modules?
For the AVR processor (probably the one in your #Arduino board)?

#CPP #Embedded #CppModules

Docker image at https://hub.docker.com/repository/docker/paulbendixen/avr-libstdcxx

Source code based on official GCC 15.1.0 with further Freestanding proposals baked in:

https://gitlab.com/avr-libstdcxx/gcc/-/tree/freestanding-15-release?ref_type=heads

Get onboard the exciting journey of learning about C++ modules.

Download and setup GCC on your Linux system.

cd /tmp
wget https://sourceforge.net/projects/softwarefreedom/files/gcc/gcc.tar.xz/download
sudo tar -C /opt -Jxvf ./download
source /opt/gcc/freedom/source_gcc_env_vars.sh
g++ --version | head -n 1

#isocpp
#cplusplus
#cppmodules
#programming
#gnu
#linux
#gcc
#freedom
#softwarefreedom
#softwarefreedomproject

Struggled all morning to build the #CMake 3.30 `import std;` #cppmodules demo on #NixOS. I might try again after a break, but it seems very difficult to get working.

Why are private module fragments `module : private;` only allowed in the primary module interface unit? Why can't they exist in the module partition units?

I was going to use a partition unit to hold a complex internal subsystem that the main unit needs. Everything with internal or module linkage, no exports/external linkage.
But I can't `import :subsystem;` after `module : private;` in the main unit.
And I can't `module : private;` at all in the partition unit.

#cplusplus #cpp20 #cppmodules

C++20 hat Module eingeführt. "`import`" statt "`#include`" verspricht 100x schnelle Compilierung.

C++20 ist auf allen großen Compilern ziemlich gut supported. Sogar C++23 ist schon ganz gut angekommen. https://en.cppreference.com/w/cpp/compiler_support

Vor allem die Zeilen
"Modules" und "Standard Library Modules" stechen besonders rot hervor.

Da ist es schwierig, vie Verwendung zu propagieren oder auch nur zu erkären.

Wenn jemand also eine Spielwiese für einen Beitrag zur Weltverbesserung sucht, hier wäre Platz!

#cpp #cpp23 #cpp20 #cppmodules #opensource

C++ compiler support - cppreference.com

So, You Want to Use C++ Modules … Cross-Platform? – by @DanielaKEngert – C++ on Sea 2023
https://www.youtube.com/watch?v=DJTEUFRslbI
#clang #cpp #cppmodules #gcc #MSBuild #programming
So, You Want to Use C++ Modules … Cross-Platform? - Daniela Engert - C++ on Sea 2023

YouTube

C++: Modules removed the last reason to use the preprocessor!
Me: Cool! How?
C++: By using a preprocessor!
Me: 🤦

#Cpp #CppModules #Modules
sources: https://www.youtube.com/watch?v=_LGR0U5Opdg

The Challenges of Implementing C++ Header Units: C++ Modules - Daniel Ruoso - CppNow 2023

YouTube