-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
| F´ Version | fprime-devel branch cloned 3/11/2025 |
| Affected Component |
Problem Description
The "-pedantic" option has been added to the options passed to c++ which causes the auto-generated Topology.cpp (e.g. MyDeployment/Top/MyDeploymentTopology.cpp) file to fail to compile with the below warnings ( fprime-util build -v was used to provide additional info)
cd /home/USER/dev/fprime/build-fprime-automatic-native/MyDeployment/Top && /usr/bin/c++ -DFW_BAREMETAL_SCHEDULER=0 -DTGT_OS_TYPE_LINUX -I/home/USER/dev/fprime -I/home/USER/dev/fprime/config -I/home/USER/dev/fprime/build-fprime-automatic-native -I/home/USER/dev/fprime/build-fprime-automatic-native/F-Prime -I/home/USER/dev/fprime/build-fprime-automatic-native/config -isystem /home/USER/dev/fprime/cmake/platform/types -std=c++11 -Wall -Wextra -Werror -Wold-style-cast -Wno-unused-parameter -Wshadow -pedantic -Wconversion -Wno-format-truncation -DASSERT_FILE_ID=0xa9eade69 -DASSERT_RELATIVE_PATH='"MyDeployment/Top/MyDeploymentTopology.cpp"' -MD -MT MyDeployment/Top/CMakeFiles/MyDeployment_Top.dir/MyDeploymentTopology.cpp.o -MF CMakeFiles/MyDeployment_Top.dir/MyDeploymentTopology.cpp.o.d -o CMakeFiles/MyDeployment_Top.dir/MyDeploymentTopology.cpp.o -c /home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp
/home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp: In function ‘void configureTopology(const MyDeployment::TopologyState&)’:
/home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp:125:38: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
125 | configurationTable.entries[0] = {.depth = 100, .priority = 0};
| ^
/home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp:125:52: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
125 | configurationTable.entries[0] = {.depth = 100, .priority = 0};
| ^
/home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp:127:38: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
127 | configurationTable.entries[1] = {.depth = 500, .priority = 2};
| ^
/home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp:127:52: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
127 | configurationTable.entries[1] = {.depth = 500, .priority = 2};
| ^
/home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp:129:38: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
129 | configurationTable.entries[2] = {.depth = 100, .priority = 1};
| ^
/home/USER/dev/fprime/MyDeployment/Top/MyDeploymentTopology.cpp:129:52: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
129 | configurationTable.entries[2] = {.depth = 100, .priority = 1};
Context / Environment
Execute fprime-util version-check and share the output.
:~/dev/fprime$ fprime-util version-check
Operating System: Linux
CPU Architecture: x86_64
Platform: Linux-5.15.167.4-microsoft-standard-WSL2-x86_64-with-glibc2.39
Python version: 3.12.3
CMake version: 3.28.3
Pip version: 25.0.1
Pip packages:
fprime-tools==3.6.1
fprime-gds==3.6.1
fprime-fpp-*==2.3.0
Project submodules:
How to Reproduce
- Checkout a clone of the devel branch from the fprime repo ("fprime-bootstrap clone --rename issue-repro https://github.com/nasa/fprime.git")
- activate the venv (
. fprime-venv/bin/activate) - generate & build the project (
fprime-util generate && fprime-util build) - add a deployment (
fprime-util new --deployment, hit to accept defaults for all prompts) - build the project (
fprime-util build -v) FAILS
/home/USER/dev/issue-repro/MyDeployment/Top/MyDeploymentTopology.cpp: In function ‘void configureTopology(const MyDeployment::TopologyState&)’:
/home/USER/dev/issue-repro/MyDeployment/Top/MyDeploymentTopology.cpp:125:38: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
125 | configurationTable.entries[0] = {.depth = 100, .priority = 0};
| ^
/home/USER/dev/issue-repro/MyDeployment/Top/MyDeploymentTopology.cpp:125:52: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
125 | configurationTable.entries[0] = {.depth = 100, .priority = 0};
| ^
/home/USER/dev/issue-repro/MyDeployment/Top/MyDeploymentTopology.cpp:127:38: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
127 | configurationTable.entries[1] = {.depth = 500, .priority = 2};
| ^
/home/USER/dev/issue-repro/MyDeployment/Top/MyDeploymentTopology.cpp:127:52: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
127 | configurationTable.entries[1] = {.depth = 500, .priority = 2};
| ^
/home/USER/dev/issue-repro/MyDeployment/Top/MyDeploymentTopology.cpp:129:38: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
129 | configurationTable.entries[2] = {.depth = 100, .priority = 1};
| ^
/home/USER/dev/issue-repro/MyDeployment/Top/MyDeploymentTopology.cpp:129:52: error: C++ designated initializers only available with ‘-std=c++20’ or ‘-std=gnu++20’ [-Werror=c++20-extensions]
129 | configurationTable.entries[2] = {.depth = 100, .priority = 1};
Expected Behavior
The auto-generated code should compile without any failures
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done