qicosmos / cinatra

modern c++(c++20), cross-platform, header-only, easy to use http framework
MIT License
1.9k stars 375 forks source link

llvm16-libcxx: warns example build #325

Open kassane opened 1 year ago

kassane commented 1 year ago

Final binary, works:

$> ./http_server_test 
200 
302 
client quit
301 
301 
client quit
200 
200 
302 
client quit
client quit

Building...

$> zig c++ example/main.cpp -I../asio/asio/include -o http_server_test -Ithirdparty/async_simple/ -std=c++20 -Wextra
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:8:
In file included from example/../include/cinatra/coro_http_client.hpp:16:
example/../include/cinatra/asio_util/asio_coro_util.hpp:53:58: warning: unused parameter 'ec' [-Wunused-parameter]
    timer->async_wait([fn = std::move(func), timer](auto ec) {
                                                         ^
example/../include/cinatra/asio_util/asio_coro_util.hpp:72:42: warning: unused parameter 'executor' [-Wunused-parameter]
    auto coAwait(async_simple::Executor *executor) const noexcept {
                                         ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:8:
In file included from example/../include/cinatra/coro_http_client.hpp:18:
thirdparty/async_simple/async_simple/coro/FutureAwaiter.h:35:37: warning: unused parameter 't' [-Wunused-parameter]
            [continuation](Try<T>&& t) mutable { continuation.resume(); });
                                    ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:8:
In file included from example/../include/cinatra/coro_http_client.hpp:22:
In file included from example/../include/cinatra/uri.hpp:5:
example/../include/cinatra/utils.hpp:445:17: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare]
  for (i = 0; i < src.length(); i++) {
              ~ ^ ~~~~~~~~~~~~
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:8:
In file included from example/../include/cinatra/coro_http_client.hpp:24:
example/../include/cinatra/websocket.hpp:191:23: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < data.size(); ++i) {
                    ~ ^ ~~~~~~~~~~~
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:8:
example/../include/cinatra/coro_http_client.hpp:429:70: warning: missing field 'stream' initializer [-Wmissing-field-initializers]
    req_context<std::string> ctx{content_type, "", std::move(content)};
                                                                     ^
example/../include/cinatra/coro_http_client.hpp:435:70: warning: missing field 'stream' initializer [-Wmissing-field-initializers]
    req_context<std::string> ctx{content_type, "", std::move(content)};
                                                                     ^
example/../include/cinatra/coro_http_client.hpp:442:70: warning: missing field 'stream' initializer [-Wmissing-field-initializers]
    req_context<std::string> ctx{content_type, "", std::move(content)};
                                                                     ^
example/../include/cinatra/coro_http_client.hpp:513:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
      co_return resp_data{{}, 404};
                                 ^
example/../include/cinatra/coro_http_client.hpp:516:69: warning: missing field 'stream' initializer [-Wmissing-field-initializers]
    req_context<std::string> ctx{req_content_type::multipart, "", ""};
                                                                    ^
example/../include/cinatra/coro_http_client.hpp:520:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
      co_return resp_data{{}, 404};
                                 ^
example/../include/cinatra/coro_http_client.hpp:550:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
      co_return resp_data{ec, 404};
                                 ^
example/../include/cinatra/coro_http_client.hpp:565:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
      co_return resp_data{ec, 404};
                                 ^
example/../include/cinatra/coro_http_client.hpp:584:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
      co_return resp_data{{}, 404};
                                 ^
example/../include/cinatra/coro_http_client.hpp:1106:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
        co_return resp_data{ec, 404};
                                   ^
example/../include/cinatra/coro_http_client.hpp:1111:38: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
          co_return resp_data{ec, 404};
                                     ^
example/../include/cinatra/coro_http_client.hpp:1162:76: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
            std::make_error_code(std::errc::no_such_file_or_directory), 404};
                                                                           ^
example/../include/cinatra/coro_http_client.hpp:1168:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
      co_return resp_data{ec, 404};
                                 ^
example/../include/cinatra/coro_http_client.hpp:1184:38: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
          co_return resp_data{ec, 404};
                                     ^
example/../include/cinatra/coro_http_client.hpp:1191:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
        co_return resp_data{ec, 404};
                                   ^
example/../include/cinatra/coro_http_client.hpp:1196:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
      co_return resp_data{ec, 404};
                                 ^
example/../include/cinatra/coro_http_client.hpp:1199:32: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers]
    co_return resp_data{{}, 200};
                               ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:8:
example/../include/cinatra/http_cache.hpp:22:46: warning: comparison of integers of different signs: 'typename iterator_traits<__hash_map_iterator<__hash_iterator<__hash_node<__hash_value_type<string, vector<string>>, void *> *>>>::difference_type' (aka 'long') and 'const size_t' (aka 'const unsigned long') [-Wsign-compare]
    if (std::distance(cur_it_, cache_.end()) > MAX_CACHE_SIZE) {
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:9:
In file included from example/../include/cinatra/request.hpp:13:
In file included from example/../include/cinatra/response.hpp:11:
In file included from example/../include/cinatra/session_manager.hpp:8:
example/../include/cinatra/session.hpp:23:22: warning: comparison of integers of different signs: 'std::size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
    expire_ = expire == -1 ? 86400 : expire;
              ~~~~~~ ^  ~~
example/../include/cinatra/session.hpp:31:32: warning: comparison of integers of different signs: 'std::size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
    cookie_.set_max_age(expire == -1 ? -1 : time_stamp_);
                        ~~~~~~ ^  ~~
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:9:
In file included from example/../include/cinatra/request.hpp:13:
example/../include/cinatra/response.hpp:39:43: warning: unused parameter 'encoding' [-Wunused-parameter]
                         content_encoding encoding = content_encoding::none) {
                                          ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:9:
In file included from example/../include/cinatra/request.hpp:17:
example/../include/cinatra/url_encode_decode.hpp:55:29: warning: 'codecvt_utf8<wchar_t>' is deprecated [-Wdeprecated-declarations]
  std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
                            ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/codecvt:187:28: note: 'codecvt_utf8<wchar_t>' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8
                           ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:808:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
#    define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
                                        ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED'
#      define _LIBCPP_DEPRECATED __attribute__((deprecated))
                                                ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:9:
In file included from example/../include/cinatra/request.hpp:17:
example/../include/cinatra/url_encode_decode.hpp:55:8: warning: 'wstring_convert<std::codecvt_utf8<wchar_t>>' is deprecated [-Wdeprecated-declarations]
  std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
       ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/locale:3603:28: note: 'wstring_convert<std::codecvt_utf8<wchar_t>>' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert
                           ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:808:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
#    define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
                                        ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED'
#      define _LIBCPP_DEPRECATED __attribute__((deprecated))
                                                ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:9:
In file included from example/../include/cinatra/request.hpp:17:
example/../include/cinatra/url_encode_decode.hpp:60:29: warning: 'codecvt_utf8<wchar_t>' is deprecated [-Wdeprecated-declarations]
  std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
                            ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/codecvt:187:28: note: 'codecvt_utf8<wchar_t>' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8
                           ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:808:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
#    define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
                                        ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED'
#      define _LIBCPP_DEPRECATED __attribute__((deprecated))
                                                ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:9:
In file included from example/../include/cinatra/request.hpp:17:
example/../include/cinatra/url_encode_decode.hpp:60:8: warning: 'wstring_convert<std::codecvt_utf8<wchar_t>>' is deprecated [-Wdeprecated-declarations]
  std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
       ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/locale:3603:28: note: 'wstring_convert<std::codecvt_utf8<wchar_t>>' has been explicitly marked deprecated here
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert
                           ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:808:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17'
#    define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED
                                        ^
/home/kassane/zig/0.11.0-dev.3301+230ea411f/files/lib/libcxx/include/__config:781:49: note: expanded from macro '_LIBCPP_DEPRECATED'
#      define _LIBCPP_DEPRECATED __attribute__((deprecated))
                                                ^
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
In file included from example/../include/cinatra/connection.hpp:9:
example/../include/cinatra/request.hpp:224:3: warning: 'const' type qualifier on return type has no effect [-Wignored-qualifiers]
  const size_t last_len() const { return last_len_; }
  ^~~~~~
In file included from example/main.cpp:3:
In file included from example/../include/cinatra.hpp:9:
In file included from example/../include/cinatra/http_server.hpp:6:
example/../include/cinatra/connection.hpp:55:39: warning: unused parameter 'ssl_conf' [-Wunused-parameter]
  void init_ssl_context(ssl_configure ssl_conf) {
                                      ^
example/../include/cinatra/connection.hpp:715:21: warning: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (part_size == -1) {
          ~~~~~~~~~ ^  ~~
example/../include/cinatra/connection.hpp:447:11: note: in instantiation of member function 'cinatra::connection<cinatra::NonSSL>::handle_string_body' requested here
          handle_string_body(bytes_transferred);
          ^
example/../include/cinatra/connection.hpp:435:7: note: in instantiation of member function 'cinatra::connection<cinatra::NonSSL>::handle_request' requested here
      handle_request(bytes_transferred);
      ^
example/../include/cinatra/connection.hpp:389:11: note: in instantiation of member function 'cinatra::connection<cinatra::NonSSL>::handle_read' requested here
          handle_read(e, bytes_transferred);
          ^
example/../include/cinatra/connection.hpp:339:7: note: in instantiation of member function 'cinatra::connection<cinatra::NonSSL>::async_read_some' requested here
      async_read_some();
      ^
example/../include/cinatra/connection.hpp:277:27: note: in instantiation of member function 'cinatra::connection<cinatra::NonSSL>::do_read' requested here
                          do_read();
                          ^
example/../include/cinatra/http_server.hpp:490:33: note: in instantiation of member function 'cinatra::connection<cinatra::NonSSL>::write_chunked_data' requested here
    req.get_conn<ScoketType>()->write_chunked_data(std::move(str), eof);
                                ^
example/../include/cinatra/http_server.hpp:400:17: note: in instantiation of member function 'cinatra::http_server_<cinatra::NonSSL>::write_chunked_body' requested here
                write_chunked_body(req);
                ^
example/../include/cinatra/http_server.hpp:530:5: note: in instantiation of member function 'cinatra::http_server_<cinatra::NonSSL>::set_static_res_handler' requested here
    set_static_res_handler();
    ^
example/../include/cinatra/http_server.hpp:34:5: note: in instantiation of member function 'cinatra::http_server_<cinatra::NonSSL>::init_conn_callback' requested here
    init_conn_callback();
    ^
example/main.cpp:242:15: note: in instantiation of function template specialization 'cinatra::http_server_<cinatra::NonSSL>::http_server_<unsigned int>' requested here
  http_server server(std::thread::hardware_concurrency());
              ^
33 warnings generated.

Reference .: #297 cc: @qicosmos

qicosmos commented 1 year ago

will clean it later.

qicosmos commented 10 months ago

could you build with latest code?

kassane commented 10 months ago

could you build with latest code?

using: zig c++ == clang++ -stdlib=libc++ -fuse-ld=lld

Cmd:

Using the same setting in both tools results the same output.

Output ```bash In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:22: include/async_simple/coro/FutureAwaiter.h:32:41: warning: unused parameter 't' [-Wunused-parameter] 32 | [continuation](Try&& t) mutable { continuation.resume(); }); | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:25: In file included from example/../include/cinatra/http_parser.hpp:12: example/../include/cinatra/url_encode_decode.hpp:103:29: warning: 'codecvt_utf8' is deprecated [-Wdeprecated-declarations] 103 | std::wstring_convert> conv; | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/codecvt:187:28: note: 'codecvt_utf8' has been explicitly marked deprecated here 187 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8 | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:955:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' 955 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:928:49: note: expanded from macro '_LIBCPP_DEPRECATED' 928 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:25: In file included from example/../include/cinatra/http_parser.hpp:12: example/../include/cinatra/url_encode_decode.hpp:103:8: warning: 'wstring_convert>' is deprecated [-Wdeprecated-declarations] 103 | std::wstring_convert> conv; | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/locale:3598:28: note: 'wstring_convert>' has been explicitly marked deprecated here 3598 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:955:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' 955 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:928:49: note: expanded from macro '_LIBCPP_DEPRECATED' 928 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:25: In file included from example/../include/cinatra/http_parser.hpp:12: example/../include/cinatra/url_encode_decode.hpp:108:29: warning: 'codecvt_utf8' is deprecated [-Wdeprecated-declarations] 108 | std::wstring_convert> conv; | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/codecvt:187:28: note: 'codecvt_utf8' has been explicitly marked deprecated here 187 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 codecvt_utf8 | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:955:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' 955 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:928:49: note: expanded from macro '_LIBCPP_DEPRECATED' 928 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:25: In file included from example/../include/cinatra/http_parser.hpp:12: example/../include/cinatra/url_encode_decode.hpp:108:8: warning: 'wstring_convert>' is deprecated [-Wdeprecated-declarations] 108 | std::wstring_convert> conv; | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/locale:3598:28: note: 'wstring_convert>' has been explicitly marked deprecated here 3598 | class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 wstring_convert | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:955:41: note: expanded from macro '_LIBCPP_DEPRECATED_IN_CXX17' 955 | # define _LIBCPP_DEPRECATED_IN_CXX17 _LIBCPP_DEPRECATED | ^ /home/kassane/zig/0.12.0-dev.2158+4f2009de1/files/lib/libcxx/include/__config:928:49: note: expanded from macro '_LIBCPP_DEPRECATED' 928 | # define _LIBCPP_DEPRECATED __attribute__((__deprecated__)) | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:31: example/../include/cinatra/websocket.hpp:233:23: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 233 | for (int i = 0; i < data.size(); ++i) { | ~ ^ ~~~~~~~~~~~ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:32: In file included from example/../include/cinatra/ylt/coro_io/coro_file.hpp:26: example/../include/cinatra/ylt/coro_io/io_context_pool.hpp:93:74: warning: unused parameter 'ec' [-Wunused-parameter] 93 | tm->async_wait([fn = std::move(func), timer = std::move(timer)](auto ec) { | ^ example/../include/cinatra/ylt/coro_io/io_context_pool.hpp:212:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare] 212 | for (int i = 0; i < thd_num_; i++) { | ~ ^ ~~~~~~~~ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: In file included from example/../include/cinatra/coro_http_client.hpp:32: In file included from example/../include/cinatra/ylt/coro_io/coro_file.hpp:44: example/../include/cinatra/ylt/coro_io/coro_io.hpp:40:42: warning: unused parameter 'executor' [-Wunused-parameter] 40 | auto coAwait(async_simple::Executor *executor) const noexcept { | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: example/../include/cinatra/coro_http_client.hpp:285:79: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 285 | co_return resp_data{std::make_error_code(std::errc::protocol_error), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:292:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 292 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:665:30: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 665 | 404}; | ^ example/../include/cinatra/coro_http_client.hpp:672:79: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 672 | co_return resp_data{std::make_error_code(std::errc::protocol_error), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:689:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 689 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:708:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 708 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:726:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 726 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:745:30: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 745 | 404}; | ^ example/../include/cinatra/coro_http_client.hpp:840:35: warning: missing field 'req_str' initializer [-Wmissing-field-initializers] 840 | req_context<> ctx{content_type}; | ^ example/../include/cinatra/coro_http_client.hpp:844:79: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 844 | co_return resp_data{std::make_error_code(std::errc::protocol_error), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:851:76: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 851 | std::make_error_code(std::errc::no_such_file_or_directory), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:858:76: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 858 | std::make_error_code(std::errc::no_such_file_or_directory), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:880:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 880 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:890:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 890 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:914:70: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 914 | std::make_error_code(std::errc::bad_file_descriptor), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:944:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 944 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1653:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1653 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1660:38: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1660 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1666:38: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1666 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1722:76: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1722 | std::make_error_code(std::errc::no_such_file_or_directory), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1731:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1731 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1746:38: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1746 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1750:40: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1750 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1760:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1760 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:1764:32: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 1764 | co_return resp_data{{}, 200}; | ^ example/../include/cinatra/coro_http_client.hpp:1868:12: warning: unused parameter 'has_init_ssl' [-Wunused-parameter] 1868 | bool has_init_ssl = false) noexcept { | ^ example/../include/cinatra/coro_http_client.hpp:1883:44: warning: unused parameter 'has_init_ssl' [-Wunused-parameter] 1883 | auto sock, AsioBuffer &&buffer, bool has_init_ssl = false) { | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:9: In file included from example/../include/cinatra/coro_http_server.hpp:11: In file included from include/cinatra/coro_http_response.hpp:15: include/cinatra/time_util.hpp:289:21: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 289 | for (int i = 0; i < format.size(); ++i) { | ~ ^ ~~~~~~~~~~~~~ include/cinatra/time_util.hpp:291:22: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 291 | char c = i + 2 < format.size() ? format[i + 2] : '0'; | ~~~~~ ^ ~~~~~~~~~~~~~ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:9: In file included from example/../include/cinatra/coro_http_server.hpp:12: In file included from include/cinatra/coro_http_router.hpp:12: include/cinatra/coro_http_request.hpp:72:29: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare] 72 | if (start > 0 && (start >= file_size || start == end)) { | ~~~~~ ^ ~~~~~~~~~ include/cinatra/coro_http_request.hpp:78:24: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare] 78 | if (end > 0 && end >= file_size) { | ~~~ ^ ~~~~~~~~~ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:9: In file included from example/../include/cinatra/coro_http_server.hpp:12: In file included from include/cinatra/coro_http_router.hpp:13: include/cinatra/coro_radix_tree.hpp:404:14: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare] 404 | return i == -1 ? str.size() : i; | ~ ^ ~~ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:9: In file included from example/../include/cinatra/coro_http_server.hpp:12: include/cinatra/coro_http_router.hpp:32:42: warning: unused parameter 'req' [-Wunused-parameter] 32 | virtual bool before(coro_http_request& req, coro_http_response& resp) { | ^ include/cinatra/coro_http_router.hpp:32:67: warning: unused parameter 'resp' [-Wunused-parameter] 32 | virtual bool before(coro_http_request& req, coro_http_response& resp) { | ^ include/cinatra/coro_http_router.hpp:36:41: warning: unused parameter 'req' [-Wunused-parameter] 36 | virtual bool after(coro_http_request& req, coro_http_response& resp) { | ^ include/cinatra/coro_http_router.hpp:36:66: warning: unused parameter 'resp' [-Wunused-parameter] 36 | virtual bool after(coro_http_request& req, coro_http_response& resp) { | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:9: In file included from example/../include/cinatra/coro_http_server.hpp:15: example/../include/cinatra/coro_http_connection.hpp:471:31: warning: missing field 'type' initializer [-Wmissing-field-initializers] 471 | websocket_result result{ec}; | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:9: example/../include/cinatra/coro_http_server.hpp:366:37: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 366 | for (int i = 0; i < ranges.size(); i++) { | ~ ^ ~~~~~~~~~~~~~ example/../include/cinatra/coro_http_server.hpp:378:27: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 378 | if (i == ranges.size() - 1) { | ~ ^ ~~~~~~~~~~~~~~~~~ example/main.cpp:248:59: warning: unused parameter 'res' [-Wunused-parameter] 248 | bool before(coro_http_request &req, coro_http_response &res) { | ^ example/main.cpp:286:37: warning: unused parameter 'req' [-Wunused-parameter] 286 | "/get", [](coro_http_request &req, coro_http_response &resp) { | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:9: In file included from example/../include/cinatra/coro_http_server.hpp:11: In file included from include/cinatra/coro_http_response.hpp:15: include/cinatra/time_util.hpp:266:21: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare] 266 | for (int i = 0; i < N; i++) { | ~ ^ ~ include/cinatra/time_util.hpp:274:52: note: in instantiation of function template specialization 'cinatra::to_int<4UL>' requested here 274 | inline void to_year(char *buf, int year, char c) { to_int<4>(year, c, buf); } | ^ include/cinatra/time_util.hpp:266:21: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare] 266 | for (int i = 0; i < N; i++) { | ~ ^ ~ include/cinatra/time_util.hpp:275:54: note: in instantiation of function template specialization 'cinatra::to_int<2UL>' requested here 275 | inline void to_month(char *buf, int month, char c) { to_int<2>(month, c, buf); } | ^ include/cinatra/time_util.hpp:289:21: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 289 | for (int i = 0; i < format.size(); ++i) { | ~ ^ ~~~~~~~~~~~~~ include/cinatra/time_util.hpp:358:14: note: in instantiation of function template specialization 'cinatra::get_local_time_str<8UL, 32UL>' requested here 358 | auto str = get_local_time_str(buf, tm, "%Y-%m-%d %H:%M:%S"); | ^ include/cinatra/time_util.hpp:291:22: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 291 | char c = i + 2 < format.size() ? format[i + 2] : '0'; | ~~~~~ ^ ~~~~~~~~~~~~~ include/cinatra/time_util.hpp:289:21: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 289 | for (int i = 0; i < format.size(); ++i) { | ~ ^ ~~~~~~~~~~~~~ include/cinatra/time_util.hpp:380:12: note: in instantiation of function template specialization 'cinatra::get_local_time_str<0UL, 32UL>' requested here 380 | auto s = get_local_time_str<0>(buf, t, "%a, %d %b %Y %H:%M:%S"); | ^ include/cinatra/time_util.hpp:401:14: note: in instantiation of function template specialization 'cinatra::get_gmt_time_str<32UL>' requested here 401 | auto str = get_gmt_time_str(buf, tm); | ^ include/cinatra/time_util.hpp:291:22: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare] 291 | char c = i + 2 < format.size() ? format[i + 2] : '0'; | ~~~~~ ^ ~~~~~~~~~~~~~ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: example/../include/cinatra/coro_http_client.hpp:840:35: warning: missing field 'req_str' initializer [-Wmissing-field-initializers] 840 | req_context<> ctx{content_type}; | ^ example/main.cpp:79:33: note: in instantiation of function template specialization 'cinatra::coro_http_client::async_upload_chunked' requested here 79 | auto result = co_await client.async_upload_chunked( | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: example/../include/cinatra/coro_http_client.hpp:844:79: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 844 | co_return resp_data{std::make_error_code(std::errc::protocol_error), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:880:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 880 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:890:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 890 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:944:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 944 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:840:35: warning: missing field 'req_str' initializer [-Wmissing-field-initializers] 840 | req_context<> ctx{content_type}; | ^ example/main.cpp:143:33: note: in instantiation of function template specialization 'cinatra::coro_http_client::async_upload_chunked>' requested here 143 | auto result = co_await client.async_upload_chunked( | ^ In file included from example/main.cpp:9: In file included from example/../include/cinatra.hpp:8: example/../include/cinatra/coro_http_client.hpp:844:79: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 844 | co_return resp_data{std::make_error_code(std::errc::protocol_error), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:851:76: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 851 | std::make_error_code(std::errc::no_such_file_or_directory), 404}; | ^ example/../include/cinatra/coro_http_client.hpp:880:36: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 880 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:890:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 890 | co_return resp_data{ec, 404}; | ^ example/../include/cinatra/coro_http_client.hpp:944:34: warning: missing field 'resp_body' initializer [-Wmissing-field-initializers] 944 | co_return resp_data{ec, 404}; | ^ 67 warnings generated. ```

clang_output.log zigcpp_output.log