-
Notifications
You must be signed in to change notification settings - Fork 169
Open
Description
gcc-16 (will be released soon) fails to compile tgcalls with the following errors:
In file included from /var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/Instance.h:11,
from /var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/Instance.cpp:1:
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:14:25: error: ‘uint8_t’ was not declared in this scope
14 | virtual std::vector<uint8_t> addOnIncomingPacket(std::function<void(std::shared_ptr<std::vector<uint8_t>>)> &&) = 0;
| ^~~~~~~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:1:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
+++ |+#include <cstdint>
1 | #ifndef TGCALLS_DIRECT_CONNECTION_CHANNEL_H
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:14:32: error: template argument 1 is invalid
14 | virtual std::vector<uint8_t> addOnIncomingPacket(std::function<void(std::shared_ptr<std::vector<uint8_t>>)> &&) = 0;
| ^
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:14:32: error: template argument 2 is invalid
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:14:18: error: ‘<expression error>’ in namespace ‘std’ does not name a type
14 | virtual std::vector<uint8_t> addOnIncomingPacket(std::function<void(std::shared_ptr<std::vector<uint8_t>>)> &&) = 0;
| ^~~~~~~~~~~~~~~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:15:53: error: ‘uint8_t’ was not declared in this scope
15 | virtual void removeOnIncomingPacket(std::vector<uint8_t> &token) = 0;
| ^~~~~~~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:15:53: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:15:60: error: template argument 1 is invalid
15 | virtual void removeOnIncomingPacket(std::vector<uint8_t> &token) = 0;
| ^
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:15:60: error: template argument 2 is invalid
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:15:62: error: expected identifier before ‘&’ token
15 | virtual void removeOnIncomingPacket(std::vector<uint8_t> &token) = 0;
| ^
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:16:57: error: ‘uint8_t’ was not declared in this scope
16 | virtual void sendPacket(std::unique_ptr<std::vector<uint8_t>> &&packet) = 0;
| ^~~~~~~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:16:57: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:16:57: error: template argument 1 is invalid
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:16:57: error: template argument 2 is invalid
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:16:64: error: template argument 1 is invalid
16 | virtual void sendPacket(std::unique_ptr<std::vector<uint8_t>> &&packet) = 0;
| ^~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:16:64: error: template argument 2 is invalid
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/DirectConnectionChannel.h:16:67: error: expected identifier before ‘&&’ token
16 | virtual void sendPacket(std::unique_ptr<std::vector<uint8_t>> &&packet) = 0;
| ^~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/Instance.h:41:9: error: ‘uint16_t’ does not name a type
41 | uint16_t port = 0;
| ^~~~~~~~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/Instance.h:12:1: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
11 | #include "DirectConnectionChannel.h"
+++ |+#include <cstdint>
... repetitions skipped ...
var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/third-party/json11.cpp:104:35: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/third-party/json11.cpp: In function ‘std::string json11::esc(char)’:
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/third-party/json11.cpp:330:21: error: ‘uint8_t’ does not name a type
330 | if (static_cast<uint8_t>(c) >= 0x20 && static_cast<uint8_t>(c) <= 0x7f) {
| ^~~~~~~
/var/tmp/portage/net-im/telegram-desktop-6.2.3/work/tdesktop-6.2.3-full/Telegram/ThirdParty/tgcalls/tgcalls/third-party/json11.cpp:330:21: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
All these errors are valid and will persist in libstdc++-16.
As there are multiple files affected (including json11.cpp third-party, which is not developed anymore), I'll attach the PR, which fixes compilation.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels