commit | c6b7ba5d993d6f7240793c2fa9b55a99f6ee7d36 | [log] [tgz] |
---|---|---|
author | Tomáš Pecka <tomas.pecka@cesnet.cz> | Fri Apr 07 10:01:29 2023 +0200 |
committer | Jan Kundrát <jan.kundrat@cesnet.cz> | Tue Apr 11 11:13:08 2023 +0200 |
tree | 16e5d77ffc2368ae5f5fa29963363025f4da43f4 | |
parent | f7ba1e8ada1edea5857af79b041c2efb8d7e4148 [diff] |
workaround gcc compiler bug There is a regression in gcc since version 12.0 to at least 12.2.1 that causes gcc to emit incorrect machine code. Code like std::optional<int> o1; try { o1 = foo(); // foo can throw } catch(...) { process(o1); } std::optional<double> o2{o1}; bar(o2); may trigger -Wmaybe-uninitialized with -O2 optimization and the call process(o1) results in the store for variable o1 removed which makes the valgrind report uninitialized values (see [1]). Interestingly, we can work around the bug by setting both std::optional to contain the same type. I prefer altering our code a bit so our code is compiled correctly by even by gcc versions that contain this unfortunate regression. Thanks Petr Gotthard for discovering the possible crash in our code. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109434 Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109434 Change-Id: I29d73533b8a8550aeb7f6f0b92b5287021a4f193 Signed-off-by: Jan Kundrát <jan.kundrat@cesnet.cz>
This program provides an interactive console for working with YANG data. It can connect to NETCONF servers, work as a standalone YANG data editor, or talk to sysrepo locally.
For building, one needs:
1.75
)The build process uses CMake. A quick-and-dirty build with no fancy options can be as simple as mkdir build && cd build && cmake .. && make && make install
.
Issue reporting and feature requests are welcome via Taiga.io.
We are using Gerrit for patch submission, code review and Continuous Integration (CI). A quick introduction is recommended for first-time Gerrit users. Choose CESNET - Sign in with GitHub for login. Development roadmap and planning happens over Taiga.io.
Copyright © CESNET, https://www.cesnet.cz/ . Portions copyright © Faculty of Information Technology, Czech Technical University in Prague, https://fit.cvut.cz/ . Most of the code was written by Václav Kubernát (CESNET, formerly FIT ČVUT) and Jan Kundrát (CESNET). The project is distributed under the terms of the Apache 2.0 license.