boostorg / boostorg/function_types

"..." ellipsis operator is generating warnings in C++ >= 26: -Wdeprecated-variadic-comma-omission

Đang mở
#16 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
9
Fork
42
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

In C++26, it's now deprecated to use constructions like:

```
void f(int...)
```

we should explicitly add a comma between the previous arguments and the ellipsis:

```
void f(int, ...)
```

In practice, Boost function_types generate quite some warnings in C++26 mode, here is one of them:

```
/data/mwrep/res/osp/Boost/25-0-0-0/include/boost/function_types/detail/pp_variate_loop/preprocessed.hpp:135:23: error: omission of ',' before varargs '...' is deprecated in C++26 [-Werror=deprecated-variadic-comma-omission]
135 | # define BOOST_FT_ell ...
```

Since BOOST_FT_ell is sometimes used as the only argument, it's not as easy as just adding a comma at the beginning of BOOST_FT_ell, as there should be a special case for when there is no argument before.

I don't know much about Boost.wave, so I am not sure how to propose a fix here.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Start with preprocessed.hpp and the BOOST_FT_ell macro, then trace how it is generated and used in cases with and without preceding arguments. Verify the result in C++26 mode and confirm that the deprecated-variadic-comma-omission warning is no longer produced.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp
Lĩnh vực
compilers
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.